科目余额表推送有度
This commit is contained in:
parent
cb82bed10c
commit
9df31890d4
|
@ -32,5 +32,7 @@ public interface IIncomeInvoiceDao extends IBaseDao<IncomeInvoiceEntity, String>
|
|||
List<IncomeInvoiceEntity> queryZtzz(IncomeInvoiceEntity entity);
|
||||
|
||||
List<JSONObject> queryByAloneId(IncomeInvoiceEntity jnquerydata);
|
||||
|
||||
List<JSONObject> queryAccount(IncomeInvoiceEntity jnentity);
|
||||
}
|
||||
|
||||
|
|
|
@ -66,5 +66,11 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao<IncomeInvoiceEntity,
|
|||
List<JSONObject> o = (List<JSONObject>) super.selectList(getSqlIdPrifx() + "queryByAloneId", entity);
|
||||
return o;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JSONObject> queryAccount(IncomeInvoiceEntity jnentity) {
|
||||
List<JSONObject> o = (List<JSONObject>) super.selectList(getSqlIdPrifx() + "queryAccountByZq", jnentity);
|
||||
return o;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -534,5 +534,183 @@
|
|||
<if test="aloneId != null and aloneId != ''"> and a.ALONE_ID = #{aloneId} </if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="queryAccountByZq" resultType="com.alibaba.fastjson.JSONObject" parameterType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity">
|
||||
-- CREATE or replace VIEW V_LPHB_KMFZYE1 AS
|
||||
select * from (
|
||||
SELECT
|
||||
year,
|
||||
adjustperiod as period,
|
||||
year || '-' || adjustperiod as yearperiod,
|
||||
nt.code AS subjectCode,
|
||||
oa.name AS subjectName,
|
||||
oa.dispname as subjectFullName,
|
||||
( SELECT code FROM bd_account WHERE pk_account = nt.pid ) as superCode,
|
||||
case
|
||||
when balanorient = '1' then '-1'
|
||||
when balanorient = '0' then '1'
|
||||
end as subjectDir,
|
||||
case
|
||||
when pk_acctype = '0001Z01000000000019S' then 1
|
||||
when pk_acctype = '0001Z01000000000019T' then 2
|
||||
when pk_acctype = '0001Z01000000000019V' then 3
|
||||
when pk_acctype = '0001Z01000000000019U' then 4
|
||||
when pk_acctype = '0001Z01000000000019W' then 5
|
||||
when pk_acctype = '0001Z01000000000019X' then 6
|
||||
end as subjectType,
|
||||
nt.sumprint_level as subjectLevel,
|
||||
case
|
||||
when nt.sumprint_level = '0' then 1
|
||||
when nt.sumprint_level != '0' then 0
|
||||
end as endLevel,
|
||||
sum( debitamount ) AS debitValue,-- 本期借方發生額
|
||||
sum( localcreditamount ) AS creditValue,-- 本期貸方發生額
|
||||
CASE
|
||||
WHEN sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) > 0 THEN'1'
|
||||
WHEN sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) = 0 THEN'0' ELSE '-1' END AS initialSubjectDir,
|
||||
case
|
||||
when sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )>0 then sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )
|
||||
else 0 end AS initialDebitBalanceValue, -- 期初余额借方金额
|
||||
case when sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) < 0 then sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )
|
||||
else 0 end AS initialCreditBalanceValue, -- 期初余额贷方金额
|
||||
|
||||
CASE
|
||||
WHEN sum( qmamount ) > 0 THEN'1'
|
||||
WHEN sum( qmamount ) = 0 THEN'0' ELSE '-1' END AS balanceSubjectDir,
|
||||
case when sum( qmlocalamount )>0 then sum( qmlocalamount )
|
||||
else 0 end as balanceDeditValue, -- 期末余额借方金额
|
||||
|
||||
case when sum( qmlocalamount )>0 then sum( qmlocalamount )
|
||||
else 0 end as balanceCreditValue, -- 期末余额贷方金额
|
||||
sum( ljlocaldebitamount ) AS totalDebitValue,
|
||||
sum( ljlocalcreditamount ) AS totalCreditValue,
|
||||
org.code GSBM,
|
||||
org.name GSMC
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
accperiodmonth.periodyear YEAR,
|
||||
accperiodmonth.PERIOD ADJUSTPERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid assid,
|
||||
0 AS localdebitamount,
|
||||
0 AS localcreditamount,
|
||||
0 AS debitamount,
|
||||
0 AS creditamount,
|
||||
sum( localdebitamount ) AS ljlocaldebitamount,
|
||||
sum( localcreditamount ) AS ljlocalcreditamount,
|
||||
sum( debitamount ) AS ljdebitamount,
|
||||
sum( creditamount ) AS ljcreditamount,
|
||||
0 AS qmlocalamount,
|
||||
0 AS qmamount
|
||||
FROM
|
||||
( SELECT substr( yearmth, 0, 4 ) periodyear, substr( yearmth, 6, 7 ) period FROM bd_accperiodmonth WHERE yearmth < TO_CHAR( SYSDATE, 'YYYY-MM' ) ) accperiodmonth
|
||||
LEFT JOIN gl_balance dezz ON dezz.YEAR = accperiodmonth.periodyear
|
||||
AND dezz.adjustperiod < = accperiodmonth.period
|
||||
WHERE
|
||||
voucherkind != 5
|
||||
AND voucherkind != 4
|
||||
AND dezz.adjustperiod > '00'
|
||||
GROUP BY
|
||||
accperiodmonth.periodyear,
|
||||
accperiodmonth.PERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid UNION ALL
|
||||
SELECT DISTINCT
|
||||
dezz.YEAR,
|
||||
dezz.ADJUSTPERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid,
|
||||
sum( localdebitamount ) AS localdebitamount,
|
||||
sum( localcreditamount ) AS localcreditamount,
|
||||
sum( debitamount ) AS debitamount,
|
||||
sum( creditamount ) AS creditamount,
|
||||
0 AS ljlocaldebitamount,
|
||||
0 AS ljlocalcreditamount,
|
||||
0 AS ljdebitamount,
|
||||
0 AS ljcreditamount,
|
||||
0 AS qmlocalamount,
|
||||
0 AS qmamount
|
||||
FROM
|
||||
gl_balance dezz
|
||||
WHERE
|
||||
voucherkind != 5
|
||||
AND voucherkind != 4
|
||||
GROUP BY
|
||||
dezz.YEAR,
|
||||
dezz.ADJUSTPERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid UNION ALL
|
||||
SELECT DISTINCT
|
||||
accperiodmonth.periodyear YEAR,
|
||||
accperiodmonth.PERIOD ADJUSTPERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid assid,
|
||||
0 AS localdebitamount,
|
||||
0 AS localcreditamount,
|
||||
0 AS debitamount,
|
||||
0 AS creditamount,
|
||||
0 AS ljlocaldebitamount,
|
||||
0 AS ljlocalcreditamount,
|
||||
0 AS ljdebitamount,
|
||||
0 AS ljcreditamount,
|
||||
sum( localdebitamount ) - sum( localcreditamount ) AS qmlocalamount,
|
||||
sum( debitamount ) - sum( creditamount ) AS qmamount
|
||||
FROM
|
||||
( SELECT substr( yearmth, 0, 4 ) periodyear, substr( yearmth, 6, 7 ) period FROM bd_accperiodmonth WHERE yearmth < TO_CHAR( SYSDATE, 'YYYY-MM' ) ) accperiodmonth
|
||||
LEFT JOIN gl_balance dezz ON dezz.YEAR = accperiodmonth.periodyear
|
||||
AND dezz.adjustperiod < = accperiodmonth.period
|
||||
WHERE
|
||||
voucherkind != 5
|
||||
AND voucherkind != 4
|
||||
AND dezz.adjustperiod >= '00'
|
||||
AND dezz.adjustperiod != '12A'
|
||||
GROUP BY
|
||||
accperiodmonth.periodyear,
|
||||
accperiodmonth.PERIOD,
|
||||
dezz.pk_org,
|
||||
dezz.pk_accasoa,
|
||||
dezz.pk_currtype,
|
||||
dezz.assid
|
||||
) a
|
||||
LEFT JOIN org_orgs org ON org.pk_org = a.pk_org
|
||||
LEFT JOIN bd_accasoa oa ON oa.pk_accasoa = a.pk_accasoa
|
||||
LEFT JOIN bd_account nt ON nt.pk_account = oa.pk_account
|
||||
LEFT JOIN bd_currtype currtype ON a.pk_currtype = currtype.pk_currtype
|
||||
LEFT JOIN gl_docfree1 fr1 ON fr1.assid = a.assid
|
||||
where adjustperiod != '12A'
|
||||
and adjustperiod >= '00'
|
||||
and adjustperiod != '00'
|
||||
GROUP BY
|
||||
year,
|
||||
adjustperiod,
|
||||
nt.code ,
|
||||
oa.name ,
|
||||
oa.dispname,
|
||||
nt.pid,
|
||||
balanorient,
|
||||
pk_acctype,
|
||||
org.code,
|
||||
org.name,
|
||||
nt.sumprint_level
|
||||
)m1
|
||||
<trim prefix="where" prefixOverrides="and">
|
||||
<if test="orgCode != null and orgCode !='' "> and gsbm = #{orgCode} </if>
|
||||
<if test="sysData != null and sysData !='' "> and yearperiod = {sysData} </if>
|
||||
</trim>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
}
|
||||
String cbUrl = "http://oapi.nanofintax.com/api/collect/uploadFinancialReport?accessToken=";
|
||||
String dataUrl = "http://oapi.nanofintax.com/api/invoice_receive/fp/v1/query?accessToken=";
|
||||
String uploadBalanceTableUrl = "http://oapi.nanofintax.com/api/collect/uploadBalanceTable?accessToken";
|
||||
String tokenUrl = "http://oapi.nanofintax.com/api/getToken";
|
||||
String accessKey = "6X3B526P5HqE6ums";
|
||||
String accessSecret = "34e5fc32ac894a2ba2ade8c3852c7a0a";
|
||||
|
@ -697,18 +698,20 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
||||
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
|
||||
String eventType = jsonStr.getString("eventType");
|
||||
String ztbm = businessDataStr.getString("ztCode");//账套编码
|
||||
String cjzq = businessDataStr.getString("period");//采集账期
|
||||
String rwbm = businessDataStr.getString("taskNo");//任务编码
|
||||
switch (eventType) {
|
||||
case "onProcessFinished"://流程结束事件,同步物料到U8C
|
||||
if(businessDataStr.getString("dataType") == null){//数据类型
|
||||
return BaseResult.getFailureMessageEntity("数据类型为空");
|
||||
}
|
||||
if(businessDataStr.getString("dataType").equals("1")){//科目余额
|
||||
|
||||
taskExecutor.execute(() -> sendAccountCodeReport(ztbm,cjzq,rwbm));//科目余额
|
||||
return BaseResult.getSuccessMessageEntity("数据获取成功");
|
||||
}
|
||||
if(businessDataStr.getString("dataType").equals("2")){//财报
|
||||
String ztbm = businessDataStr.getString("ztCode");//账套编码
|
||||
String cjzq = businessDataStr.getString("period");//采集账期
|
||||
String rwbm = businessDataStr.getString("taskNo");//任务编码
|
||||
|
||||
if(ztbm == null || "".equals(ztbm)){
|
||||
return BaseResult.getFailureMessageEntity("账套编码为空");
|
||||
}
|
||||
|
@ -736,6 +739,54 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
|
||||
}
|
||||
|
||||
private JsonResultEntity sendAccountCodeReport(String ztbm, String cjzq, String rwbm) {
|
||||
String access_token = getToken();
|
||||
if (access_token == null) {
|
||||
return BaseResult.getFailureMessageEntity("token获取失败");
|
||||
}
|
||||
String url = uploadBalanceTableUrl+access_token;
|
||||
//通过公司编码、账期查询该单位的科目余额信息下发有度
|
||||
//查询当月帐套组织
|
||||
IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity();
|
||||
jnentity.setDataSourceCode("htBip");
|
||||
jnentity.setSysData(cjzq);
|
||||
jnentity.setOrgCode(ztbm);
|
||||
//查询该账期下的科目余额
|
||||
List<JSONObject> jnlist = incomeInvoiceDao.queryAccount(jnentity);
|
||||
//正常来说数组不存在空的情况 如果为空就直接下发空数组给他们
|
||||
JSONObject sendData = new JSONObject();
|
||||
sendData.put("accessKey",accessKey);
|
||||
long timestamp = System.currentTimeMillis();
|
||||
sendData.put("timestamp",timestamp);
|
||||
sendData.put("taskNo",rwbm);
|
||||
sendData.put("period",cjzq);
|
||||
String a = YzfSignUtil.signRequest(sendData,accessSecret);
|
||||
sendData.put("sign",a);
|
||||
sendData.put("balanceTableList",jnlist);
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("Content-Type", "application/json; charset=utf-8");
|
||||
String returndata = sendPost(url, headers, sendData.toJSONString());
|
||||
if (returndata != null && JSONObject.isValidObject(returndata)) {
|
||||
JSONObject dataJson = JSONObject.parseObject(returndata);
|
||||
if(dataJson != null && dataJson.getString("code") != null && "0".equals( dataJson.getString("code"))){
|
||||
JSONObject data = dataJson.getJSONObject("result");
|
||||
if(data != null ){
|
||||
if(data != null && data.getString("resultCode") != null && "0".equals( data.getString("resultCode"))){
|
||||
return BaseResult.getSuccessMessageEntity("执行成功");
|
||||
}else {
|
||||
return BaseResult.getFailureMessageEntity("发送失败:"+data.getString("message"));
|
||||
}
|
||||
}else {
|
||||
return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
|
||||
}
|
||||
}else {
|
||||
return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
|
||||
}
|
||||
}else {
|
||||
return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Author lvleigang
|
||||
|
|
Loading…
Reference in New Issue