From 9ecadc415be36ed0aeb9893f31e5a600771f530f Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Thu, 29 May 2025 17:46:17 +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/5/29=2012?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E5=BC=80=E7=A5=A8=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=E8=BD=AC=E6=8D=A2=E8=A7=84=E5=88=99=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/task/redeemTaskPlugin.java | 66 ++++++++++--------- 1 file changed, 35 insertions(+), 31 deletions(-) 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 542bce1..7bf2c6b 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 @@ -74,38 +74,42 @@ public class redeemTaskPlugin extends AbstractTask { for (int i = 0; i < CDM_PAYABLEBILLs.length; i++) { DynamicObject cdm_payablebill = CDM_PAYABLEBILLs[i]; - Long draftId = cdm_payablebill.getLong("id"); - BigDecimal sumBillAmt = (BigDecimal)amountMap.getOrDefault(draftId, BigDecimal.ZERO); - BigDecimal amount = cdm_payablebill.getBigDecimal("amount"); - boolean isNoAmount = sumBillAmt.compareTo(BigDecimal.ZERO) != 0 && amount.compareTo(sumBillAmt) == 0; - String billStatus = cdm_payablebill.getString("billstatus"); - String draftbillTranstatus = cdm_payablebill.getString("draftbilltranstatus"); - if (!BillStatusEnum.AUDIT.getValue().equals(billStatus) || !DraftTranStatusEnum.SUCCESS.getValue().equals(draftbillTranstatus) || isNoAmount) { - logger.info("单据编号:"+cdm_payablebill.getString("billno")+"单据状态为“已审核”且票据交易状态为“交易成功”的未兑付票据才能操作票据兑付。"); - continue; - } - - List dataEntitys = new ArrayList<>(); - dataEntitys.add(Long.parseLong(cdm_payablebill.getString("id"))); - OperateOption option = OperateOption.create(); - option.setVariableValue("tradeType", "redeem"); - option.setVariableValue("remarks", "后台下推"); - //调用方法执行数据 - 自动兑付下推 - OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsaveredeem", - CdmEntityConst.CDM_PAYABLEBILL, - dataEntitys.toArray(new Object[]{}), option); - if (operationResult.getAllErrorInfo().size()!=0) { - logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单失败,原因:"+operationResult.getAllErrorInfo().get(0).getMessage()); - String targetpkvalue = operationResult.getAllErrorInfo().get(0).getErrorCustInfos().get("targetpkvalue"); - DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill"); - OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create()); - if (delete.isSuccess()==true){ - logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功"); - }else { - logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage()); + try { + Long draftId = cdm_payablebill.getLong("id"); + BigDecimal sumBillAmt = (BigDecimal)amountMap.getOrDefault(draftId, BigDecimal.ZERO); + BigDecimal amount = cdm_payablebill.getBigDecimal("amount"); + boolean isNoAmount = sumBillAmt.compareTo(BigDecimal.ZERO) != 0 && amount.compareTo(sumBillAmt) == 0; + String billStatus = cdm_payablebill.getString("billstatus"); + String draftbillTranstatus = cdm_payablebill.getString("draftbilltranstatus"); + if (!BillStatusEnum.AUDIT.getValue().equals(billStatus) || !DraftTranStatusEnum.SUCCESS.getValue().equals(draftbillTranstatus) || isNoAmount) { + logger.info("单据编号:"+cdm_payablebill.getString("billno")+"单据状态为“已审核”且票据交易状态为“交易成功”的未兑付票据才能操作票据兑付。"); + continue; } - }else { - logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功"); + + List dataEntitys = new ArrayList<>(); + dataEntitys.add(Long.parseLong(cdm_payablebill.getString("id"))); + OperateOption option = OperateOption.create(); + option.setVariableValue("tradeType", "redeem"); + option.setVariableValue("remarks", "后台下推"); + //调用方法执行数据 - 自动兑付下推 + OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsaveredeem", + CdmEntityConst.CDM_PAYABLEBILL, + dataEntitys.toArray(new Object[]{}), option); + if (operationResult.getAllErrorInfo().size()!=0) { + logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单失败,原因:"+operationResult.getAllErrorInfo().get(0).getMessage()); + String targetpkvalue = operationResult.getAllErrorInfo().get(0).getErrorCustInfos().get("targetpkvalue"); + DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill"); + OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create()); + if (delete.isSuccess()==true){ + logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功"); + }else { + logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage()); + } + }else { + logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功"); + } + } catch (NumberFormatException e) { + logger.error("单据编号:"+cdm_payablebill.getString("billno")+"后台生单錯誤原因:"+e.getMessage()); } } }