From 7cb9b432a275eb0dfc884313fcd34ceff7f614a4 Mon Sep 17 00:00:00 2001 From: yuxueliang0813 <407010292@qq.com> Date: Sun, 15 Jun 2025 11:20:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E8=AE=A1=E7=A7=91=E7=9B=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BC=98=E5=8C=96=E7=BB=84=E7=BB=87=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shjh/jhzj7/fi/fi/webapi/AspAccountControler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java b/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java index 75fa71f..7c06171 100644 --- a/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java +++ b/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java @@ -13,7 +13,6 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.db.DB; import kd.bos.db.DBRoute; -import kd.bos.entity.operate.result.OperationResult; import kd.bos.id.ID; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; @@ -49,6 +48,7 @@ public class AspAccountControler { DynamicObject tableinfo = EsbUtils.getTable();//获取默认科目表 private static final String insertSql = "insert into T_BD_Account_U (fdataid,fuseorgid) values (?,?);"; + private static final String deleteOrgSql = "delete T_BD_Account_U where fdataid in(select fdataid from T_BD_Account_U where fuseorgid=100000) and fuseorgid<>100000;"; /** * @param bizParam 入参json格式数据 @@ -91,9 +91,10 @@ public class AspAccountControler { JSONObject json_body; // OperateOption oop = OperateOption.create(); // oop.setVariableValue(OperateOptionConst.IGNOREWARN, String.valueOf(false)); // 不执行警告级别校验器 - OperationResult operResult; +// OperationResult operResult; Map acctids = new HashMap<>();//科目编号和ID对应关系 Map accountMaps = new HashMap<>();//将科目编号与对象关联 + boolean isIncludNew = false;//本次请求是否有新增科目的标记 //先根据基础信息在集团层面生成科目,不考虑核算维度,使用逐级分配 //再根据公司信息进行科目分配 @@ -206,6 +207,7 @@ public class AspAccountControler { // } //处理科目使用范围 DB.update(DBRoute.of("fi"), insertSql, new Object[]{kmId,JhzjUtils.GROUPID}); + isIncludNew = true; } acctids.put(number,acctInfo.getLong("id")); accountMaps.put(number,acctInfo); @@ -285,6 +287,10 @@ public class AspAccountControler { } //最后处理科目的反分配 EsbUtils.handleUnAssignNew(companysJson, acctids, entityName); + //本次包含新增科目的话,需要处理一下组织范围,集团科目会在下级公司也生成一个范围,需要去掉 + if(isIncludNew){ + DB.update(DBRoute.of("fi"), deleteOrgSql, null); + } if(itemsJson.isEmpty()){ EsbUtils.saveLog(apimenthod,"ESB",json_obj.toString(),null,true,"API");