From b882b4c581261ab7c24bfb0d0c16c46416ad6b46 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Wed, 9 Apr 2025 11:23:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81BIP=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=EF=BC=8C=E6=9C=89=E8=BF=94=E5=9B=9Ebip?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E6=97=B6=E5=80=99=EF=BC=8C=E5=B0=86=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E7=8A=B6=E6=80=81=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=BE=85?= =?UTF-8?q?=E6=94=AF=E4=BB=98=EF=BC=8C=E6=8E=A8=E9=80=81=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=EF=BC=8C=E5=B0=86=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0=E5=9B=9E?= =?UTF-8?q?=E5=86=99=E6=94=AF=E4=BB=98=E7=8A=B6=E6=80=81=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...erviceDataDistributePluginInitializer.java | 60 ++++++++++++++++--- .../serviceData/entity/ServiceDataEntity.xml | 2 +- .../service/impl/ServiceDataServiceImpl.java | 10 +--- 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ServiceDataDistributePluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ServiceDataDistributePluginInitializer.java index 10e424c3..e6f0dbdc 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ServiceDataDistributePluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ServiceDataDistributePluginInitializer.java @@ -1155,6 +1155,15 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{ //组装数据发送 logger.info("=========开始执行正常业务数据下发脚本,第二次=============="); JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); + //根据OA单据编号更新BIP付款申请单号 + JSONObject jsonObjectBody = JSONObject.parseObject(bodys); + String parent = jsonObjectBody.getString("parent"); + JSONObject jsonObjectParent = JSONObject.parseObject(parent); + ServiceDataEntity serviceDataEntity=new ServiceDataEntity(); + serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1")); + serviceDataEntity.setDataSourceCode("SW-OA"); + logger.info("========正常业务数据下发开始根据单据编号:{}查询数据==========",jsonObjectParent.getString("vdef1")); + List query = serviceDataDao.query(serviceDataEntity); logger.info("=====业务数据下发调用BIP付款申请返回结果为:{}",JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString()); if(jsonResultEntity.isFlag()){ if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { @@ -1187,15 +1196,7 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{ mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("vbillno")); mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity); - //根据OA单据编号更新BIP付款申请单号 - JSONObject jsonObjectBody = JSONObject.parseObject(bodys); - String parent = jsonObjectBody.getString("parent"); - JSONObject jsonObjectParent = JSONObject.parseObject(parent); - ServiceDataEntity serviceDataEntity=new ServiceDataEntity(); - serviceDataEntity.setBillCode(jsonObjectParent.getString("vdef1")); - serviceDataEntity.setDataSourceCode("SW-OA"); - logger.info("========正常业务数据下发开始根据单据编号:{}查询数据==========",jsonObjectParent.getString("vdef1")); - List query = serviceDataDao.query(serviceDataEntity); + if(CollectionUtils.isNotEmpty(query)){ logger.info("===正常下发时候,开始根据OA单据编号:{}更新BIP付款申请单号:{}",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); serviceDataEntity.setTabName(query.get(0).getTabName()); @@ -1203,6 +1204,14 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{ serviceDataEntity.setBipPaymentNumber(backJsonResultEntity.getString("vbillno")); serviceDataEntity.setId(query.get(0).getId()); serviceDataDao.updateBipPaymentNumber(serviceDataEntity); + //更新支付结果为待支付 + serviceDataEntity.setPayResult("待支付"); + serviceDataEntity.setPayResultFiled(query.get(0).getPayResultFiled()); + serviceDataEntity.setDataSourceCode("SW-OA"); + logger.info("====开始根据单据号:{},表名称:{},表单id:{}更新支付状态为待支付======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + serviceDataDao.updatePayResult(serviceDataEntity); + logger.info("====根据单据号:{},表名称:{},表单id:{}更新支付状态为待支付完成======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + //修改下发状态 logger.info("===正常下发时候,根据OA单据编号:{}更新BIP付款申请单号:{}完毕",jsonObjectParent.getString("vdef1"),backJsonResultEntity.getString("vbillno")); Map updateMap = new HashMap<>(); updateMap.put("tableName",mainDb); @@ -1213,6 +1222,21 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{ }else{ logger.info("======正常下发时候根据单据编号:{}未能在三维OA查询到数据,Bip付款申请单号不回写",jsonObjectParent.getString("vdef1")); } + }else { + if (CollectionUtils.isNotEmpty(query)) { + //保存推送BIP返回的错误信息 + //将BIP返回的失败信息保存到支付结果中 + serviceDataEntity.setPayResult(backJsonResultEntity.getString("message")); + serviceDataEntity.setDataSourceCode("SW-OA"); + serviceDataEntity.setPayResultFiled(query.get(0).getPayResultFiled()); + serviceDataEntity.setId(query.get(0).getId()); + serviceDataEntity.setTabName(query.get(0).getTabName()); + logger.info("====开始根据单据号:{},表名称:{},表单id:{}更新支付状态为BIP返回的失败信息======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + serviceDataDao.updatePayResult(serviceDataEntity); + logger.info("====根据单据号:{},表名称:{},表单id:{}更新支付状态为BIP返回的失败信息======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + }else{ + logger.info("======正常下发时候根据单据编号:{}未能在三维OA查询到数据,不将BIP返回的失败信息体现在支付结果中",jsonObjectParent.getString("vdef1")); + } } } } catch (Exception e) { @@ -1231,6 +1255,24 @@ public class ServiceDataDistributePluginInitializer extends PluginBaseEntity{ saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败:"+jsonResultEntity.getAttribute(),mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); objects.get(i).put("sendsanfzt123",false); logger.info("========业务数据下发完成,日志保存为失败============"); + if (CollectionUtils.isNotEmpty(query)) { + //保存推送BIP返回的错误信息 + //将BIP返回的失败信息保存到支付结果中 + String str = JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString(); + JSONObject jsonObject = JSONObject.parseObject(str); + String attribute = jsonObject.getString("attribute"); + JSONObject jsonAttribute = JSONObject.parseObject(attribute); + serviceDataEntity.setPayResult(jsonAttribute.getString("message")); + serviceDataEntity.setDataSourceCode("SW-OA"); + serviceDataEntity.setPayResultFiled(query.get(0).getPayResultFiled()); + serviceDataEntity.setId(query.get(0).getId()); + serviceDataEntity.setTabName(query.get(0).getTabName()); + logger.info("====开始根据单据号:{},表名称:{},表单id:{}更新支付状态为BIP返回的失败信息======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + serviceDataDao.updatePayResult(serviceDataEntity); + logger.info("====根据单据号:{},表名称:{},表单id:{}更新支付状态为BIP返回的失败信息======", serviceDataEntity.getBillCode(), serviceDataEntity.getTabName(), serviceDataEntity.getId()); + }else{ + logger.info("======正常下发时候根据单据编号:{}未能在三维OA查询到数据,不将BIP返回的失败信息体现在支付结果中",jsonObjectParent.getString("vdef1")); + } continue; } } diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/entity/ServiceDataEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/entity/ServiceDataEntity.xml index fd6ee872..cace69b6 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/entity/ServiceDataEntity.xml +++ b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/entity/ServiceDataEntity.xml @@ -14,7 +14,7 @@ - oa_id as id + data_id as id ,tab_name as tabName ,pay_result_field as payResultFiled ,pay_result as payResult diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java index 08ee168c..7fce0e60 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java @@ -300,11 +300,7 @@ public class ServiceDataServiceImpl extends BaseService List list = new ArrayList<>(); try { StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append("select oa_id as data_id,tab_name,title,pay_company,bill_name,pay_result_field,pay_date_field,receipt_filed,\n" + - "push_status_field,summary_id,bip_payment_number_field,bip_amount_field,\n" + - "vdef1,pk_acceptorg,creator,pk_group,pk_org,applydate,pk_trantypecode,pk_busitype,vdef2,pk_currtype,\n" + - "pk_supplier,pk_bankacc_r,pk_bankacc_p,pk_decidedept,vdef10,vdef12,vdef3,vdef4,vdef5,vdef6,applysum,\n" + - "vdef7,vdef8,vdef9,vdef21,vdef11,vdef17,vdef20 from v_cmp_apply where 1=1 and vdef1 is not null and push_status is null and applysum >0"); + stringBuffer.append("select * from v_cmp_apply where 1=1 and vdef1 is not null and push_status is null and applysum >0"); mdmModuleSourceEntity.setDataSourceCode(dbCode); List> hashMaps = serviceDataDao.queryListBySWSource(stringBuffer.toString(), mdmModuleSourceEntity); int i = 0; @@ -319,9 +315,7 @@ public class ServiceDataServiceImpl extends BaseService formmainId = cmp_apply.getString("data_id"); vdef1=cmp_apply.getString("vdef1"); StringBuffer stringBufferDetails = new StringBuffer(); - stringBufferDetails.append("select d_id as data_id,tab_name,pk_balatype,pk_acceptorg,pk_org,pk_group,pk_busitype,rowno,\n" + - "pk_supplier,pk_bankacc_r,customer,pk_currtype,pk_decidedept,gllcrate,applysum,applymny,vdef1,pk_project,vdef2,vdef3,\n" + - "vdef4,vdef10,vdef14 from v_cmp_apply_b where formmain_id= '"+formmainId+"' " ); + stringBufferDetails.append("select * from v_cmp_apply_b where f_id= '"+formmainId+"' " ); List> hashMapsDetails = serviceDataDao.queryListBySWSource(stringBufferDetails.toString(),mdmModuleSourceEntity); JSONArray cmp_apply_b = new JSONArray(); if(CollectionUtils.isNotEmpty(hashMapsDetails)){