From 052ec50f9493026b72854512b81df8a99b3edf42 Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Fri, 9 May 2025 13:17:13 +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/4/23=2016?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E9=94=80=E6=88=B7=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=B7=A5=E4=BD=9C=E6=B5=81=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operation/NewBankAcctCloseSubmitOp.java | 25 +++ .../NewBankAcctSaveOrSubmitDetailFeeOp.java | 19 +++ .../NewBankAcctCloseSubmitValidator.java | 158 ++++++++++++++++++ 3 files changed, 202 insertions(+) create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctCloseSubmitOp.java create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctSaveOrSubmitDetailFeeOp.java create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewBankAcctCloseSubmitValidator.java diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctCloseSubmitOp.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctCloseSubmitOp.java new file mode 100644 index 0000000..0e5f55e --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctCloseSubmitOp.java @@ -0,0 +1,25 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.operation; + +import kd.tmc.am.business.opservice.closeacct.BankAcctCloseSubmitService; +import kd.tmc.fbp.business.opservice.ITmcBizOppService; +import kd.tmc.fbp.business.validate.AbstractTmcBizOppValidator; +import kd.tmc.fbp.opplugin.TmcOperationServicePlugIn; +import shkd.sys.sys.plugin.operation.domain.NewBankAcctCloseSubmitValidator; + +public class NewBankAcctCloseSubmitOp extends TmcOperationServicePlugIn { + public NewBankAcctCloseSubmitOp() { + } + + public ITmcBizOppService getBizOppService() { + return new BankAcctCloseSubmitService(); + } + + public AbstractTmcBizOppValidator getBizOppValidator() { + return new NewBankAcctCloseSubmitValidator(); + } +} diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctSaveOrSubmitDetailFeeOp.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctSaveOrSubmitDetailFeeOp.java new file mode 100644 index 0000000..d609c0c --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/NewBankAcctSaveOrSubmitDetailFeeOp.java @@ -0,0 +1,19 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.operation; + +import kd.tmc.am.business.opservice.goods.GoodsSaveOrSubmitDetailFeeOpService; +import kd.tmc.fbp.business.opservice.ITmcBizOppService; +import kd.tmc.fbp.opplugin.TmcOperationServicePlugIn; + +public class NewBankAcctSaveOrSubmitDetailFeeOp extends TmcOperationServicePlugIn { + public NewBankAcctSaveOrSubmitDetailFeeOp() { + } + + public ITmcBizOppService getBizOppService() { + return new GoodsSaveOrSubmitDetailFeeOpService(); + } +} diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewBankAcctCloseSubmitValidator.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewBankAcctCloseSubmitValidator.java new file mode 100644 index 0000000..7f81612 --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewBankAcctCloseSubmitValidator.java @@ -0,0 +1,158 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.operation.domain; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.ExtendedDataEntity; +import kd.bos.exception.KDBizException; +import kd.bos.orm.query.QFilter; +import kd.bos.orm.util.CollectionUtils; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.tmc.am.common.helper.AmParameterHelper; +import kd.tmc.am.common.helper.BankAcctHelper; +import kd.tmc.am.common.resource.AmBizResource; +import kd.tmc.fbp.business.validate.AbstractTmcBizOppValidator; +import kd.tmc.fbp.common.helper.CasBusinessHelper; +import kd.tmc.fbp.common.util.EmptyUtil; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +public class NewBankAcctCloseSubmitValidator extends AbstractTmcBizOppValidator { + public NewBankAcctCloseSubmitValidator() { + } + + public List getSelector() { + super.getSelector(); + List sic = new ArrayList(); + sic.add("accountbank"); + return sic; + } + + public void validate(ExtendedDataEntity[] dataEntity) throws KDBizException { + new AmBizResource(); + ExtendedDataEntity[] var3 = dataEntity; + int var4 = dataEntity.length; + + for(int var5 = 0; var5 < var4; ++var5) { + ExtendedDataEntity data = var3[var5]; + DynamicObject obj = data.getDataEntity(); + DynamicObject bankAcct = obj.getDynamicObject("accountbank"); + if (bankAcct != null) { + List errorMsgList = bankAcctCloseCheck(bankAcct); + if (errorMsgList != null && errorMsgList.size() > 0) { + Iterator var10 = errorMsgList.iterator(); + + while(var10.hasNext()) { + String errorMsg = (String)var10.next(); + this.addErrorMessage(data, errorMsg); + } + } + } + } + + } + + public static List bankAcctCloseCheck(DynamicObject bankAcct) { + DynamicObject company = bankAcct.getDynamicObject("company"); + List errorMsgList = new ArrayList(5); + if (company != null) { + boolean isNeedCheck = AmParameterHelper.getAppBoolParameter(company.getLong("id"), "bankacctclosectrl"); + if (true) { + String checkBillList = AmParameterHelper.getAppStringParameter(company.getLong("id"), "bankacctclosectrlitem"); + long bankAcctId = bankAcct.getLong("id"); + AmBizResource amBizResource = new AmBizResource(); + if (!EmptyUtil.isEmpty(checkBillList)) { + Map agentPayBills; + StringBuilder billNumStr; + Iterator var10; + Map.Entry bill; + String billNums; + if (checkBillList.indexOf(",pay,") > -1) { + agentPayBills = BankAcctHelper.loadRelBill("cas_paybill", bankAcctId); + if (!CollectionUtils.isEmpty(agentPayBills)) { + billNumStr = new StringBuilder(); + var10 = agentPayBills.entrySet().iterator(); + + while(var10.hasNext()) { + bill = (Map.Entry)var10.next(); + billNumStr.append(((DynamicObject)bill.getValue()).get("billno")).append(','); + } + + billNums = billNumStr.substring(0, billNumStr.length() - 1); + errorMsgList.add(String.format(amBizResource.getCloseacctExistpbill() + "%s" + amBizResource.getCloseacctOpperror(), billNums)); + } + } + + if (checkBillList.indexOf(",rec,") > -1) { + agentPayBills = BankAcctHelper.loadRelBill("cas_recbill", bankAcctId); + if (!CollectionUtils.isEmpty(agentPayBills)) { + billNumStr = new StringBuilder(); + var10 = agentPayBills.entrySet().iterator(); + + while(var10.hasNext()) { + bill = (Map.Entry)var10.next(); + billNumStr.append(((DynamicObject)bill.getValue()).get("billno")).append(','); + } + + billNums = billNumStr.substring(0, billNumStr.length() - 1); + errorMsgList.add(amBizResource.getCloseacctExistrbill() + billNums + amBizResource.getCloseacctOprerror()); + } + } + + if (checkBillList.indexOf(",agent,") > -1) { + agentPayBills = BankAcctHelper.loadRelBill("cas_agentpaybill", bankAcctId); + if (!CollectionUtils.isEmpty(agentPayBills)) { + billNumStr = new StringBuilder(); + var10 = agentPayBills.entrySet().iterator(); + + while(var10.hasNext()) { + bill = (Map.Entry)var10.next(); + billNumStr.append(((DynamicObject)bill.getValue()).get("billno")).append(','); + } + + billNums = billNumStr.substring(0, billNumStr.length() - 1); + errorMsgList.add(String.format(amBizResource.getCloseacctExistagentpbill() + "%s" + amBizResource.getCloseacctOpperror(), billNums)); + } + } + + if (checkBillList.indexOf(",cashmgtinit,") > -1) { + QFilter[] filters = new QFilter[]{new QFilter("org", "=", bankAcct.getDynamicObject("company").getLong("id"))}; + DynamicObject cashMgtInit = BusinessDataServiceHelper.loadSingleFromCache("cas_cashmgtinit", "id,startperiod,standardcurrency.id", filters); + if (cashMgtInit != null && cashMgtInit.getDynamicObject("standardcurrency") != null) { + DynamicObjectCollection currencys = bankAcct.getDynamicObjectCollection("currency"); + if (null != currencys) { + Iterator var19 = currencys.iterator(); + + while(var19.hasNext()) { + DynamicObject currency = (DynamicObject)var19.next(); + BigDecimal balance = CasBusinessHelper.getBalanceFormCas(bankAcct.getDynamicObject("company").getLong("id"), bankAcctId, currency.getDynamicObject("fbasedataid").getLong("id")); + if (balance.compareTo(BigDecimal.ZERO) != 0) { + errorMsgList.add(amBizResource.getTipCasamt()); + break; + } + } + } + } + } + + if (checkBillList.indexOf(",journalcheck,") > -1) { + boolean journalIsCheck = CasBusinessHelper.journalIsCheck(bankAcct); + if (!journalIsCheck) { + errorMsgList.add(amBizResource.getTipCascheck()); + } + } + } + } + } + + return errorMsgList; + } +}