From 9d81ed549ec1f075fc7c31d5a89b0f8051f4c485 Mon Sep 17 00:00:00 2001
From: zoujiangtao <z17779007624@163.com>
Date: Fri, 25 Apr 2025 23:23:49 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?=
 =?UTF-8?q?=E6=89=93=E5=9B=9E=E5=8A=9F=E8=83=BD=E3=80=81=E6=97=A5=E5=BF=97?=
 =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=B3=A8=E9=87=8A=20=E6=97=B6=E9=97=B4?=
 =?UTF-8?q?=EF=BC=9A2025-04-25=2023=EF=BC=9A23=20=E6=8F=90=E4=BA=A4?=
 =?UTF-8?q?=E4=BA=BA=EF=BC=9A=E9=82=B9=E6=B1=9F=E6=B6=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../shkd/sys/sys/mservice/ApiService.java     | 20 ++---
 .../sys/plugin/form/ApiTestBillPlugin.java    |  2 +-
 .../form/PaymentProcessingBillPlugin.java     | 77 ++++++++-----------
 3 files changed, 42 insertions(+), 57 deletions(-)

diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java
index 7945a85..b6b8b3a 100644
--- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java
+++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/mservice/ApiService.java
@@ -251,7 +251,7 @@ public class ApiService {
                 jsonObject = JSON.parseObject(saveResponseBody);
                 code = jsonObject.getString("code");
                 if ("200".equals(code)) {
-                    LogService.newLog("INFO", "付款单", dynamic.getString("billno"), "付款处理 → BIP保存接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("INFO", "付款单", dynamic.getString("billno"), "付款处理 → BIP保存接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
                     logger.info("付款处理 → BIP保存接口 → 成功\n失败单据编号:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveResponseBody);
                     data = jsonObject.getJSONObject("data");
                     dynamic.set("shkd_businessnumber", data.getString("code"));
@@ -268,7 +268,7 @@ public class ApiService {
                     logger.info("付款处理 → BIP提交接口 → 返回结果:{}", submitResponseBody);
                     result = "推送 → 付款处理单 → 成功";
                 } else {
-                    LogService.newLog("ERROR", "付款单", dynamic.getString("billno"), "付款处理 → BIP保存接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("ERROR", "付款单", dynamic.getString("billno"), "付款处理 → BIP保存接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
                     logger.info("付款处理 → BIP保存接口 → 失败\n失败单据编号:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveResponseBody);
                     result = "推送 → 付款处理单 → 失败";
                 }
@@ -281,7 +281,7 @@ public class ApiService {
                 jsonObject = JSON.parseObject(saveResponseBody);
                 code = jsonObject.getString("code");
                 if ("200".equals(code)) {
-                    LogService.newLog("INFO", "收款单", dynamic.getString("billno"), "收款处理 → BIP保存接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("INFO", "收款单", dynamic.getString("billno"), "收款处理 → BIP保存接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
 
                     logger.info("收款处理 → BIP保存接口 → 成功\n失败单据编号:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveResponseBody);
                     data = jsonObject.getJSONObject("data");
@@ -298,7 +298,7 @@ public class ApiService {
                     logger.info("收款处理 → BIP提交接口 → 返回结果:{}", submitResponseBody);
                     result = "推送 → 收款处理 → 成功";
                 } else {
-                    LogService.newLog("ERROR", "收款单", dynamic.getString("billno"), "收款处理 → BIP保存接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("ERROR", "收款单", dynamic.getString("billno"), "收款处理 → BIP保存接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
 
                     logger.info("收款处理 → BIP保存接口 → 失败\n失败单据编号:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveResponseBody);
                     result = "推送 → 收款处理 → 失败";
@@ -314,12 +314,12 @@ public class ApiService {
                     dynamic.set("shkd_pushstatus", "已推送");
                     dynamic.set("shkd_businessname", "共享系统");
                     dynamicObjects.add(dynamic);
-                    LogService.newLog("INFO", "银行收付处理", dynamic.getString("billno"), "银行收付处理 → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("INFO", "银行收付处理", dynamic.getString("billno"), "银行收付处理 → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
 
                     logger.info("银行收付处理 → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
                     result = "推送 → 银行收付处理 → 成功";
                 } else {
-                    LogService.newLog("ERROR", "银行收付处理", dynamic.getString("billno"), "银行收付处理 → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("ERROR", "银行收付处理", dynamic.getString("billno"), "银行收付处理 → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
 
                     logger.info("银行收付处理 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
                     result = "推送 → 银行收付处理 → 失败";
@@ -342,13 +342,13 @@ public class ApiService {
                     }
 
                     dynamicObjects.add(dynamic);
-                    LogService.newLog("INFO", "付款单(结算结果)", dynamic.getString("billno"), "付款处理(支付结果) → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("INFO", "付款单(结算结果)", dynamic.getString("billno"), "付款处理(支付结果) → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody);
 
                     logger.info("付款处理(支付结果) → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}",
                             dynamic.getString("billno"), saveRequestBody, saveResponseBody);
                     result = "推送 → 付款处理(支付结果) → 成功,返回信息:";
                 } else {
-                    LogService.newLog("ERROR", "付款单(结算结果)", dynamic.getString("billno"), "付款处理(支付结果) → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("ERROR", "付款单(结算结果)", dynamic.getString("billno"), "付款处理(支付结果) → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
 
                     logger.info("付款处理(支付结果) → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}",
                             dynamic.getString("billno"), saveRequestBody, saveResponseBody);
@@ -390,11 +390,11 @@ public class ApiService {
                     String attachmentRequestBody = getAttachmentRequestBody(hashMap);
                     String pushResult = pushBill(token, "https://10.1.9.43/iuap-api-auth//yonbip/ctm/bank/tran/update", attachmentRequestBody);
                     logger.info("电子回单查询 → BIP推送附件接口 → 请求返回结果:\n{}", pushResult);
-                    LogService.newLog("INFO", "电子回单", dynamic.getString("billno"), "电子回单查询 → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody + "\n推送附件URL:" + pdfUrl + "\n推送附件接口返回数据:" + pushResult);
+//                    LogService.newLog("INFO", "电子回单", dynamic.getString("billno"), "电子回单查询 → BIP推送接口 → 成功", "请求数据:" + saveRequestBody + "\n推送成功接口返回数据:" + saveResponseBody + "\n推送附件URL:" + pdfUrl + "\n推送附件接口返回数据:" + pushResult);
 
                     result = "推送 → 电子回单和附件 → 成功";
                 } else {
-                    LogService.newLog("ERROR", "电子回单", dynamic.getString("billno"), "电子回单查询 → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
+//                    LogService.newLog("ERROR", "电子回单", dynamic.getString("billno"), "电子回单查询 → BIP推送接口 → 失败", "请求数据:" + saveRequestBody + "\n推送失败接口返回数据:" + saveResponseBody);
 
                     logger.info("电子回单查询 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}",
                             dynamic.getString("billno"), saveRequestBody, saveResponseBody);
diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiTestBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiTestBillPlugin.java
index 243a330..54d3263 100644
--- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiTestBillPlugin.java
+++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiTestBillPlugin.java
@@ -106,7 +106,7 @@ public class ApiTestBillPlugin extends AbstractBillPlugIn implements Plugin {
                 this.getView().invokeOperation("unsubmit");
             }
 
-            if ("B".equals(this.getModel().getDataEntity(true).getString("billstatus"))) {
+            if ("C".equals(this.getModel().getDataEntity(true).getString("billstatus"))) {
                 this.getView().invokeOperation("unaudit");
             }
         }
diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java
index 1b3f963..35826db 100644
--- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java
+++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentProcessingBillPlugin.java
@@ -83,55 +83,40 @@ public class PaymentProcessingBillPlugin extends AbstractBillPlugIn implements P
                 return;
             }
 
-            abandonByBusienssKey(dataEntity.getPkValue().toString());
-            List<DynamicObject> dynamicObjects = new ArrayList<>();
-            if ("B".equals(dataEntity.getString("billstatus"))) {
-                OperationResult result = this.getView().invokeOperation("unsubmit");
-                if (result.isSuccess()) {
-                    DynamicObject[] objects = BusinessDataServiceHelper.load("cas_paybill",
-                            "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,acttradedate," +
-                                    "payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype," +
-                                    "org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname," +
-                                    "billstatus,bankpaystatus", new QFilter("billno", QCP.equals, dataEntity.getString("billno")).toArray());
-                    String pushResult = ApiService.paymentSlipsJson(objects[0], "BIPRE", dynamicObjects, null);
-                    logger.info("result信息:{}", pushResult);
-                    if (pushResult.contains("成功")) {
-                        SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
-                        this.getView().showSuccessNotification("打回成功");
-                    } else {
-                        this.getView().showTipNotification("打回失败,调用BIP接口失败");
-                    }
-                }
+            try {
+                abandonByBusienssKey(this.getModel().getDataEntity(true).getPkValue().toString());
+            } catch (Exception e) {
+                this.getView().showTipNotification("打回失败,流程不存在或流程中断失败");
+            }
+            OperationResult operation;
+            if ("B".equals(this.getModel().getDataEntity(true).getString("billstatus"))) {
+                operation = this.getView().invokeOperation("unsubmit");
+                operation.setShowMessage(false);
+            } else if ("C".equals(this.getModel().getDataEntity(true).getString("billstatus"))) {
+                operation = this.getView().invokeOperation("unaudit");
+                operation.setShowMessage(false);
+            } else {
+                operation = null;
             }
 
-            if ("C".equals(dataEntity.getString("billstatus"))) {
-                OperationResult result = this.getView().invokeOperation("unaudit");
-                if (result.isSuccess()) {
-                    DynamicObject[] objects = BusinessDataServiceHelper.load("cas_paybill",
-                            "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,acttradedate," +
-                                    "payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype," +
-                                    "org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname," +
-                                    "billstatus,bankpaystatus", new QFilter("billno", QCP.equals, dataEntity.getString("billno")).toArray());
-                    String pushResult = ApiService.paymentSlipsJson(objects[0], "BIPRE", dynamicObjects, null);
-                    logger.info("result信息:{}", pushResult);
-                    if (pushResult.contains("成功")) {
-                        SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
-                        this.getView().showSuccessNotification("打回成功");
-                    } else {
-                        this.getView().showTipNotification("打回失败,调用BIP接口失败");
-                    }
+            if (operation != null && operation.isSuccess()) {
+                this.getView().invokeOperation("refresh");
+                DynamicObject[] objects = BusinessDataServiceHelper.load("cas_paybill",
+                        "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,acttradedate," +
+                                "payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype," +
+                                "org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname," +
+                                "billstatus,bankpaystatus", new QFilter("billno", QCP.equals, dataEntity.getString("billno")).toArray());
+                List<DynamicObject> dynamicObjects = new ArrayList<>();
+                String pushResult = ApiService.paymentSlipsJson(objects[0], "BIPRE", dynamicObjects, null);
+                logger.info("result信息:{}", pushResult);
+                if (pushResult.contains("成功")) {
+                    SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0]));
+                    this.getView().showSuccessNotification("打回成功");
+                } else {
+                    this.getView().showTipNotification("打回失败,调用BIP接口失败");
                 }
-            }
-        }
-    }
-
-    @Override
-    public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
-        if (("unsubmit".equals(afterDoOperationEventArgs.getOperateKey()) || "unaudit".equals(afterDoOperationEventArgs.getOperateKey())) && afterDoOperationEventArgs.getOperationResult().isSuccess()) {
-            DynamicObject dataEntity = this.getModel().getDataEntity(true);
-            Object businessname = dataEntity.get("shkd_businessname");
-            if (businessname != null && "共享系统".equals(businessname.toString())) {
-                afterDoOperationEventArgs.getOperationResult().setShowMessage(false);
+            } else {
+                this.getView().showTipNotification("打回失败,请联系相关业务老师查看");
             }
         }
     }