提交人:陈绍鑫

日期:2025/4/23 16:30
内容:销户申请工作流校验
This commit is contained in:
陈绍鑫 2025-05-09 13:17:13 +08:00
parent 282c8f64a1
commit 052ec50f94
3 changed files with 202 additions and 0 deletions

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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<String> getSelector() {
super.getSelector();
List<String> 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<String> 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<String> bankAcctCloseCheck(DynamicObject bankAcct) {
DynamicObject company = bankAcct.getDynamicObject("company");
List<String> 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;
}
}