From 0358e37457463fbfbf4951f94e53ef89604b13f8 Mon Sep 17 00:00:00 2001 From: Tao Date: Tue, 9 Dec 2025 18:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=82=B9?= =?UTF-8?q?=E6=B1=9F=E6=B6=9B=20=E6=97=B6=E9=97=B4=EF=BC=9A2025-11-24=2016?= =?UTF-8?q?=EF=BC=9A52=20=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E6=89=93=E5=9B=9E=E6=97=A5=E5=BF=97=E6=8F=90=E7=A4=BA=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../list/PaymentProcessingListPlugin.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/PaymentProcessingListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/PaymentProcessingListPlugin.java index 5b36fb1..4ff5681 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/PaymentProcessingListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/PaymentProcessingListPlugin.java @@ -45,7 +45,6 @@ public class PaymentProcessingListPlugin extends AbstractListPlugin implements P ListSelectedRowCollection selectedRows = list.getSelectedRows(); if ("hitback".equals(operateKey)) { - logger.info("进入打回操作 → hitback"); if (selectedRows.isEmpty()) { this.getView().showTipNotification("请选择一条数据"); return; @@ -57,6 +56,8 @@ public class PaymentProcessingListPlugin extends AbstractListPlugin implements P Object primaryKeyValue = listSelectedRow.getPrimaryKeyValue(); DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(primaryKeyValue, "cas_paybill"); DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle(dynamicObject.getDynamicObjectType().getName(), "id,billno,name,billstatus,shkd_businessname", new QFilter("id", QCP.equals, dynamicObject.getPkValue()).toArray()); + String billno = loadSingle.getString("billno"); + logger.info("进入打回操作 → hitback\nbillno:{}", billno); Object businessname = loadSingle.get("shkd_businessname"); String billstatus = loadSingle.getString("billstatus"); if (businessname != null) { @@ -79,7 +80,12 @@ public class PaymentProcessingListPlugin extends AbstractListPlugin implements P if (pushResult.contains("成功")) { SaveServiceHelper.save(dynamicObjects.toArray(new DynamicObject[0])); } else { - this.getView().showTipNotification("打回失败,失败原因:调用BIP打回接口失败"); + String returnResults = extractMessageFromResult(pushResult); + if (!returnResults.isEmpty()) { + this.getView().showTipNotification("打回失败,失败原因:BIP单据" + returnResults); + } else { + this.getView().showTipNotification("打回失败,请找业务老师处理"); + } return; } } @@ -90,24 +96,41 @@ public class PaymentProcessingListPlugin extends AbstractListPlugin implements P operation = OperationServiceHelper.executeOperate("unaudit", "cas_paybill", new DynamicObject[]{dynamicObject}, OperateOption.create()); } else { this.getView().showTipNotification("单据不为已提交或已审核状态,无法打回"); + logger.info("单据:{}打回失败,失败原因:单据不为已提交或已审核状态", billno); return; } List allErrorOrValidateInfo = operation.getAllErrorOrValidateInfo(); if (!allErrorOrValidateInfo.isEmpty()) { this.getView().showTipNotification("打回失败,失败原因:撤销(反审核)操作失败 → " + allErrorOrValidateInfo.get(0).getMessage()); + logger.info("单据:{}打回失败,失败原因:撤销(反审核)操作失败 → " + allErrorOrValidateInfo.get(0).getMessage()); return; } else { this.getView().showSuccessNotification("打回成功"); + logger.info("单据:{}打回成功", billno); list.refresh(); } } else { this.getView().showTipNotification("来源系统为(BIP或星空)且单据状态为(提交或审核)才允许打回"); + logger.info("单据:{}打回失败,失败原因:来源系统为(BIP或星空)且单据状态为(提交或审核)才允许打回", billno); return; } } else { this.getView().showTipNotification("来源系统为(BIP或星空)且单据状态为(提交或审核)才允许打回"); + logger.info("单据:{}打回失败,失败原因:来源系统为(BIP或星空)且单据状态为(提交或审核)才允许打回", billno); } } } } + + private String extractMessageFromResult(String result) { + // 查找 "返回信息:" 后面的部分 + String keyword = "返回信息:"; + int startIndex = result.indexOf(keyword); + + if (startIndex != -1) { + // 提取 "返回信息:" 后面的消息部分 + return result.substring(startIndex + keyword.length()); + } + return ""; // 如果没有找到,则返回空字符串 + } } \ No newline at end of file