From 1fe29da4b102e3a7fcd259d662b10c529ee0081c Mon Sep 17 00:00:00 2001 From: csx <1981897232@qq.com> Date: Tue, 18 Nov 2025 17:16:32 +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/11/18=2017?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E5=A4=87=E6=A1=88=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=8D=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SubmitOccupyFilingApplication.java | 92 ++++++++++++++++++- 1 file changed, 87 insertions(+), 5 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/SubmitOccupyFilingApplication.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/SubmitOccupyFilingApplication.java index 56a7181..5f67217 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/SubmitOccupyFilingApplication.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/SubmitOccupyFilingApplication.java @@ -7,6 +7,8 @@ import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.PreparePropertysEventArgs; import kd.bos.entity.plugin.args.AfterOperationArgs; import kd.bos.entity.plugin.args.BeforeOperationArgs; +import kd.bos.entity.plugin.args.BeginOperationTransactionArgs; +import kd.bos.entity.plugin.args.EndOperationTransactionArgs; import kd.bos.entity.validate.ErrorLevel; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; @@ -33,20 +35,23 @@ public class SubmitOccupyFilingApplication extends AbstractOperationServicePlugI public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); e.getFieldKeys().add("billno"); + e.getFieldKeys().add("org"); e.getFieldKeys().add("shkd_baed"); e.getFieldKeys().add("drawamount"); + e.getFieldKeys().add("amount"); e.getFieldKeys().add("billstatus"); } + @Override public void beforeExecuteOperationTransaction(BeforeOperationArgs e) { super.beforeExecuteOperationTransaction(e); + // 限制只能选择一条数据进行提交 + if (e.getDataEntities().length > 1) { + e.setCancelMessage("请选择一条数据审核!"); + e.setCancel(true); + } - } - - @Override - public void afterExecuteOperationTransaction(AfterOperationArgs e) { - super.afterExecuteOperationTransaction(e); logger.info("同步开始"); //用于接收成功的数据 ArrayList arrayList = new ArrayList(); @@ -55,6 +60,7 @@ public class SubmitOccupyFilingApplication extends AbstractOperationServicePlugI try { DynamicObject shkd_baed = dataEntity.getDynamicObject("shkd_baed"); if (shkd_baed!=null){ + //提交前同步备案申请 boolean res = UpdateFilingApplicationData(shkd_baed, dataEntity); if (res){ arrayList.add(dataEntity); @@ -67,6 +73,17 @@ public class SubmitOccupyFilingApplication extends AbstractOperationServicePlugI DynamicObject[] results = (DynamicObject[]) arrayList.toArray(new DynamicObject[arrayList.size()]); e.setDataEntities(results); } + + @Override + public void beginOperationTransaction(BeginOperationTransactionArgs e) { + super.beginOperationTransaction(e); + } + + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + + } public boolean UpdateFilingApplicationData(DynamicObject shkd_baed,DynamicObject dataEntity){ boolean res=true; QFilter qFilter = new QFilter("billstatus", QCP.in, Arrays.asList("B", "C"));//提交,审核状态 @@ -119,6 +136,11 @@ public class SubmitOccupyFilingApplication extends AbstractOperationServicePlugI //合并 List> hebinList=hebinLists(zqfxlist,rzzllist,kzcllist); + String name = dataEntity.getDataEntityType().getName(); + Map getdatamap=getdatamap(name,dataEntity); + hebinList.add(getdatamap); + + // 使用Stream计算shkd_zyje的合计 BigDecimal hebintotal = hebinList.stream() // 将zqfxlist转为Stream .map(map -> (BigDecimal) map.get("shkd_zyje")) // 提取shkd_zyje的值 @@ -168,6 +190,66 @@ public class SubmitOccupyFilingApplication extends AbstractOperationServicePlugI return res; } + private Map getdatamap(String name, DynamicObject dataEntity) { + String billno = dataEntity.getString("billno"); + BigDecimal drawamount =BigDecimal.ZERO; + String shkd_djlx="提款处理"; + switch (name){ + case "cfm_loanbill"://提款处理 + drawamount = dataEntity.getBigDecimal("drawamount"); + if (billno.contains("JQFX")) { + shkd_djlx="债券发行"; + } else if (billno.contains("JKHT")) { + shkd_djlx="借款合同"; + } else if (billno.contains("RC")){ + shkd_djlx="售后租回回款"; + }else { + shkd_djlx="提款处理"; + } + break; + case "fl_leasecontractbill": + drawamount = dataEntity.getBigDecimal("amount"); + shkd_djlx="融资租赁"; + break; + case "cfm_loanbill_bond": + drawamount = dataEntity.getBigDecimal("drawamount"); + if (billno.contains("JQFX")) { + shkd_djlx="债券发行"; + } else if (billno.contains("JKHT")) { + shkd_djlx="借款合同"; + } else if (billno.contains("RC")){ + shkd_djlx="售后租回回款"; + }else { + shkd_djlx="提款处理"; + } + break; + case "fl_receiptbill": + drawamount = dataEntity.getBigDecimal("drawamount"); + if (billno.contains("JQFX")) { + shkd_djlx="债券发行"; + } else if (billno.contains("JKHT")) { + shkd_djlx="借款合同"; + } else if (billno.contains("RC")){ + shkd_djlx="售后租回回款"; + }else { + shkd_djlx="提款处理"; + } + break; + case "lc_lettercredit": + drawamount = dataEntity.getBigDecimal("amount"); + shkd_djlx="开证处理"; + break; + default: + break; + } + Map zqfxmap=new HashMap<>(); + zqfxmap.put("shkd_djbh",dataEntity.getString("billno")); + zqfxmap.put("shkd_djlx",shkd_djlx); + zqfxmap.put("shkd_zyje",drawamount); + zqfxmap.put("shkd_org",dataEntity.getLong("org.id")); + return zqfxmap; + } + /* * 合并集合方法