From 7b7ef3f75ba83e5c3a37556aa9f79ec113783238 Mon Sep 17 00:00:00 2001 From: 25655 <2565550274@qq.com> Date: Thu, 27 Mar 2025 15:34:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=201.=E8=B4=B7=E8=AE=B0=E5=8D=95?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=A7=E5=93=81=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E6=9C=BA=E5=9E=8BWJJ?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../debcrednotenew/op/DebCredNewSubmitOp.java | 70 ++++++------------- 1 file changed, 23 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/yem/wm/im/debcrednotenew/op/DebCredNewSubmitOp.java b/src/main/java/com/yem/wm/im/debcrednotenew/op/DebCredNewSubmitOp.java index 909cdbb6..334d77a7 100644 --- a/src/main/java/com/yem/wm/im/debcrednotenew/op/DebCredNewSubmitOp.java +++ b/src/main/java/com/yem/wm/im/debcrednotenew/op/DebCredNewSubmitOp.java @@ -9,7 +9,6 @@ import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.AddValidatorsEventArgs; import kd.bos.entity.plugin.PreparePropertysEventArgs; import kd.bos.entity.plugin.args.BeforeOperationArgs; -import kd.bos.entity.plugin.args.EndOperationTransactionArgs; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; @@ -22,9 +21,9 @@ import java.util.Map; /** * @author zhouc - * @date 2024/3/30 20:12 - * @className DebCredNewSubmitOp - * @description 贷记单提交服务插件 + * @date 2024/3/30 20:12 + * @className DebCredNewSubmitOp + * @description 贷记单提交服务插件 */ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { @Override @@ -39,43 +38,22 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { e.addValidator(new DebCredNewAuditValidatorOp()); } - @Override - public void endOperationTransaction(EndOperationTransactionArgs e) { - DynamicObject[] dataEnties = e.getDataEntities(); - for (DynamicObject temp : dataEnties) { - //2024-10-08 zhouc 修改至提交前计算 -// getlast(temp); - } - } @Override public void beforeExecuteOperationTransaction(BeforeOperationArgs e) { super.beforeExecuteOperationTransaction(e); for (ExtendedDataEntity dataEntity : e.getSelectedRows()) { DynamicObject dynamicObject = dataEntity.getDataEntity(); - DynamicObject billObj = BusinessDataServiceHelper.loadSingle(dynamicObject.getPkValue(), dynamicObject.getDynamicObjectType().getName()); - DynamicObject yemCurrency = billObj.getDynamicObject("yem_currency"); getlast(dynamicObject); - if (yemCurrency != null) { - /* - (1)如果结算币别=美元: - ① 扣减后金额(美元)=上次美元金额(实际)+ 配件资金池增加金额-配件资金池扣减金额; - ② 扣减后金额(人民币)= 上次人民币金额(实际); - (2)如果结算币别=人民币: - ① 扣减后金额(美元)=上次美元金额(实际); - ② 扣减后金额(人民币)= 上次人民币金额(实际)+ 配件资金池增加金额-配件资金池扣减金额; - */ - - } SaveServiceHelper.update(dynamicObject); } } /** * 计算上次美元金额(实际) 上次人民币金额(实际) - * - * @param temp + * @param temp 单据数据 */ + public void getlast(DynamicObject temp) { temp = BusinessDataServiceHelper.loadSingle(temp.getPkValue(), temp.getDynamicObjectType().getName()); DynamicObject yemCurrency = temp.getDynamicObject("yem_currency"); @@ -98,24 +76,24 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { String selectfielddebcrednote = DynamicObjectUtil.getSelectfields("yem_debcrednote", false); DynamicObjectCollection debcrednote = QueryServiceHelper.query("yem_debcrednote", selectfielddebcrednote, new QFilter[]{qFilter1}, "billno desc"); - if (debcrednote.size() > 0) { + if (!debcrednote.isEmpty()) { String billno = debcrednote.get(0).getString("billno"); temp.set("yem_lastbillno", billno); } //组织 DynamicObject org = temp.getDynamicObject("org"); String products = ""; - if (yem_bd_products != null) { - String number = yem_bd_products.getString("number"); - if (number.contains("ZZJ")) { - products = "ZZJ"; - } else if (number.contains("CC")) { - products = "CC"; - } else if (number.contains("TLJ")) { - products = "TLJ"; - } + String yem_bd_productsumber = yem_bd_products.getString("number"); + if (yem_bd_productsumber.contains("ZZJ")) { + products = "ZZJ"; + } else if (yem_bd_productsumber.contains("CC")) { + products = "CC"; + } else if (yem_bd_productsumber.contains("TLJ")) { + products = "TLJ"; + } else if (yem_bd_productsumber.contains("WJJ")) { + products = "WJJ"; } - if (org != null && yem_customer != null && yem_credittype != null && products != null) { + if (org != null) { QFilter qFilter = new QFilter("billstatus", QCP.equals, "C");// qFilter.and(new QFilter("org.id", QCP.equals, org.getLong("id"))); qFilter.and(new QFilter("yem_customer.id", QCP.equals, yem_customer.getLong("id"))); @@ -127,24 +105,21 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { DynamicObjectCollection data = QueryServiceHelper.query("yem_spcapitalpool", selectfields, new QFilter[]{qFilter}, "billno"); Map map = new HashMap<>(); Map map1 = new HashMap<>(); - if (data.size() > 0) { - for (int i = 0; i < data.size(); i++) { - DynamicObject dynamicObject = data.get(i); + if (!data.isEmpty()) { + for (DynamicObject dynamicObject : data) { long yem_curr = dynamicObject.getLong("yem_spcapitalpool_a.yem_curr"); BigDecimal yem_noamo = dynamicObject.getBigDecimal("yem_spcapitalpool_a.yem_actremaamount");//实际剩余金额 BigDecimal yem_estamount = dynamicObject.getBigDecimal("yem_spcapitalpool_a.yem_estamount");//预计剩余金额 if (map.containsKey(yem_curr)) { - BigDecimal bigDecimal = map.get(yem_curr); - map.put(yem_curr, bigDecimal.add(yem_noamo)); - BigDecimal bigDecimal1 = map1.get(yem_curr); - map1.put(yem_curr, bigDecimal1.add(yem_estamount)); + map.computeIfPresent(yem_curr, (k, bigDecimal) -> bigDecimal.add(yem_noamo)); + map1.computeIfPresent(yem_curr, (k, bigDecimal1) -> bigDecimal1.add(yem_estamount)); } else { map.put(yem_curr, yem_noamo); map1.put(yem_curr, yem_estamount); } } } - if (map.size() > 0) { + if (!map.isEmpty()) { for (Long mapkey : map.keySet()) { BigDecimal bigDecimal = map.get(mapkey); DynamicObject yem_em_replace = BusinessDataServiceHelper.loadSingle(mapkey, "bd_currency"); @@ -180,7 +155,7 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { } } } - if (map1.size() > 0) { + if (!map1.isEmpty()) { for (Long mapkey : map1.keySet()) { BigDecimal bigDecimal = map1.get(mapkey); DynamicObject yem_em_replace = BusinessDataServiceHelper.loadSingle(mapkey, "bd_currency"); @@ -198,6 +173,7 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn { } +// throw new RuntimeException("返回"); SaveServiceHelper.update(temp); } }