Browse Source

支付状态同步:支付失败需要再同步状态,资金系统在支付失败后可能做驳回操作。

wanghaiwu 4 ngày trước cách đây
mục cha
commit
d508da7a92

+ 16 - 2
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/opplugin/AgentPaySynPayStatusOpPlugin.java

@@ -69,10 +69,24 @@ public class AgentPaySynPayStatusOpPlugin extends AbstractOperationServicePlugIn
                 String payStatus = dataEntity.getString("nckd_paystatus");
                 int fkcs = dataEntity.getInt("nckd_fkcs");
 
-                if(!"C".equals(billStatus) || !"2".equals(payStatus) || fkcs <= 0){
+                if(!"C".equals(billStatus)){
                     logger.info("代发单同步失败,未提交资金付款。实体:{}", dataEntity);
 
-                    errMsg.append("代发单(" + billNum + ")未提交资金付款,请提交资金付款后再操作同步付款状态").append("\r\n");
+                    errMsg.append("代发单(" + billNum + ")不是已审核状态,不需要同步付款状态").append("\r\n");
+                    continue;
+                }
+
+                if(!payStatus.matches("2|6")){
+                    logger.info("代发单同步失败,未提交资金付款。实体:{}", dataEntity);
+
+                    errMsg.append("代发单(" + billNum + ")不是【支付中】【支付失败】状态,不需要同步付款状态").append("\r\n");
+                    continue;
+                }
+
+                if(fkcs <= 0){
+                    logger.info("代发单同步失败,未提交资金付款。实体:{}", dataEntity);
+
+                    errMsg.append("代发单(" + billNum + ")未提交资金付款,不需要同步付款状态").append("\r\n");
                     continue;
                 }
 

+ 15 - 1
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/opplugin/PaymentSynPayStatusOpPlugin.java

@@ -71,7 +71,21 @@ public class PaymentSynPayStatusOpPlugin extends AbstractOperationServicePlugIn
                     billName = "资金调度单";
                 }
 
-                if(!"C".equals(billStatus) || !"2".equals(payStatus) || fkcs <= 0){
+                if(!"C".equals(billStatus)){
+                    logger.info(billName + "同步失败,未提交资金付款。实体:{}", dataEntity);
+
+                    errMsg.append(billName + "(" + billNum + ")不是已审核状态,不需要同步付款状态").append("\r\n");
+                    continue;
+                }
+
+                if(!payStatus.matches("2|6")){
+                    logger.info(billName + "同步失败,未提交资金付款。实体:{}", dataEntity);
+
+                    errMsg.append(billName + "(" + billNum + ")不是【支付中】【支付失败】状态,不需要同步付款状态").append("\r\n");
+                    continue;
+                }
+
+                if(fkcs <= 0){
                     logger.info(billName + "同步失败,未提交资金付款。实体:{}", dataEntity);
 
                     errMsg.append(billName + "(" + billNum + ")未提交资金付款,请提交资金付款后再操作同步付款状态").append("\r\n");

+ 5 - 2
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/AgentpaybillQueryStatusTast.java

@@ -27,12 +27,15 @@ public class AgentpaybillQueryStatusTast extends AbstractTask {
     @Override
     public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
         //获取要查询的数据。状态为已审批,支付状态为支付中,或支付失败。理论上只需要查支付中
-        QFilter filter = new QFilter("billstatus", QCP.equals, "C");
+        //支付失败用的要查查询,因为支付失败的可能驳回重新支付。
         Set<String> paystatusSet = new HashSet<>();
         paystatusSet.add("2");
         paystatusSet.add("6");
-        filter.and("nckd_paystatus", QCP.in, "2");
+
+        QFilter filter = new QFilter("billstatus", QCP.equals, "C");
+        filter.and("nckd_paystatus", QCP.in, paystatusSet);
         filter.and("nckd_fkcs", QCP.large_than, 0);
+
         Map<Object, DynamicObject> payinfos  = BusinessDataServiceHelper.loadFromCache("cas_agentpaybill", new QFilter[] {filter});
         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx",new QFilter[]{new QFilter("number","=","paytoJHX")});
         String url =  jkpzxx.getString("nckd_servername");

+ 5 - 2
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/PayQueryStatusTast.java

@@ -23,12 +23,15 @@ public class PayQueryStatusTast extends AbstractTask {
     @Override
     public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
         //获取要查询的数据。状态为已审批,支付状态为支付中,或支付失败。理论上只需要查支付中
-        QFilter filter = new QFilter("billstatus", QCP.equals, "C");
+        //支付失败用的要查查询,因为支付失败的可能驳回重新支付。
         Set<String> paystatusSet = new HashSet<>();
         paystatusSet.add("2");
         paystatusSet.add("6");
-        filter.and("nckd_paystatus", QCP.in, "2");
+
+        QFilter filter = new QFilter("billstatus", QCP.equals, "C");
+        filter.and("nckd_paystatus", QCP.in, paystatusSet);
         filter.and("nckd_fkcs", QCP.large_than, 0);
+
         DynamicObject[] payinfos = BusinessDataServiceHelper.load("cas_paybill","billno,billstatus,nckd_paystatus,nckd_sbyy,nckd_fqqdrq,nckd_fkcs,nckd_bbh", new QFilter[] {filter});
         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx",new QFilter[]{new QFilter("number","=","paytoJHX")});
         String url =  jkpzxx.getString("nckd_servername");