From 437010f5f6806d6e0627a7b2aa99f618f323cb4b Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Tue, 10 Jun 2025 12:35:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/6/6=2012?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E8=87=AA=E5=8A=A8=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/task/redeemTaskPlugin.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/redeemTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/redeemTaskPlugin.java index 7bf2c6b..43581d4 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/redeemTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/redeemTaskPlugin.java @@ -16,6 +16,7 @@ import kd.bos.orm.query.QFilter; import kd.bos.schedule.executor.AbstractTask; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; +import kd.bos.servicehelper.botp.BFTrackerServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.tmc.cdm.common.constant.CdmEntityConst; import kd.tmc.cdm.common.enums.BillStatusEnum; @@ -107,6 +108,27 @@ public class redeemTaskPlugin extends AbstractTask { } }else { logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功"); + //根据源单id查询源单下游单据 + Map> tarBills = BFTrackerServiceHelper.findTargetBills("cdm_payablebill", new Long[]{cdm_payablebill.getLong("id")}); + //返回的Map对象 如果有数据 String 对应的是 目标单据标识 ,value 对应的目标单ids + Set bill = new HashSet(); + if (tarBills.containsKey("cdm_drafttradebill")) { + HashSet billId = tarBills.get("cdm_drafttradebill"); + for (Long aLong : billId) { + QFilter billfilter = new QFilter("tradetype", QCP.equals, "redeem"); + billfilter.and(new QFilter("billstatus", QCP.equals, "C")); + billfilter.and(new QFilter("id", QCP.equals, aLong)); + DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle("cdm_drafttradebill", "id,billno", billfilter.toArray()); + if (cdm_drafttradebill != null) { + OperationResult operation = OperationServiceHelper.executeOperate("drawbillsave", "cdm_drafttradebill", new Object[]{aLong}, OperateOption.create()); + if (operation.isSuccess()) { + logger.info("单据编号:" + cdm_drafttradebill.getString("billno") + "确认交易成功"); + } else { + logger.info("单据编号:" + cdm_drafttradebill.getString("billno") + "确认交易失败,请检查交易状态或者手动操作"); + } + } + } + } } } catch (NumberFormatException e) { logger.error("单据编号:"+cdm_payablebill.getString("billno")+"后台生单錯誤原因:"+e.getMessage());