From 62654cb7d3e23074278c7c061bef8f6cbee90d73 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 10 十一月 2023 09:48:21 +0800
Subject: [PATCH] 修改历史数据导入时限制单次导入通过配置做限制,开启多线程分批并行执行insert,注解开启事务回滚失效,对象方式开启事务实现手动提交事务,异常回滚事务

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 50de8a3..5cdc488 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -528,14 +528,14 @@
 			lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
 		}
 		if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
-			String tableName = this.getTableName(treeQueryObject.getParentOid(),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
+			//String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
 			doList = codeClassifyMapper
 				.selectCodeClassifyDOByTree(
 					treeQueryObject.getConditionMap().get("id"),
 					treeQueryObject.getConditionMap().get("lcStatus"),
 					treeQueryObject.getParentOid(),
-					VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId(),
-					tableName
+					VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId()
+					/*tableName*/
 				);
 		}else{
 			// 鍙鍓嶇浼氫紶鍙傛暟杩囨潵灏变笉浼氬嚭鐜拌蛋杩欏彞鐨勬儏鍐碉紝鎵�浠ユ煡璇㈡�绘暟娌″湪杩欏効娣诲姞
@@ -570,22 +570,22 @@
 	 * 鍒嗙被鍔犺浇鏃惰幏鍙栦笟鍔$被鍨媔d锛屾嫾鎺ヤ笟鍔$被鍨嬭〃鍚�
 	 * @return
 	 */
-	private String getTableName(String parentCodeClassifyOid,String id,String lcStatus){
+	private String getTableName(String btmTypeId,String id,String lcStatus){
+		if(Func.isNotEmpty(btmTypeId)){
+			return VciBaseUtil.getTableName(btmTypeId,true);
+		}
 		LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query()
 			.lambda().select(CodeClassify::getBtmTypeId)
 			.eq(CodeClassify::getLcStatus, lcStatus)
 			.isNotNull(CodeClassify::getBtmTypeId)
-			.last("limit 1");
-		if(Func.isNotBlank(id)){
-			wrapper.eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
-		}else{
-			wrapper.eq(CodeClassify::getParentCodeClassifyOid,parentCodeClassifyOid);
-		}
+			.last("limit 1")
+			.eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
+
 		CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
 		if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
-			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栦笟鍔$被鍨婭D锛�");
+			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栧埌涓氬姟绫诲瀷ID锛�");
 		}
-		return VciBaseUtil.getTableName(codeClassify.getBtmTypeId().toLowerCase(Locale.ROOT),true);
+		return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
 	}
 
 	/**
@@ -1264,7 +1264,7 @@
 			return null;
 		}
 		List<Tree> treeList = trees.stream().filter(tree -> !CollectionUtils.isEmpty(btmTypeVOS.stream().filter(btmType -> {
-					if(Objects.equals(tree.getAttributes().get("id"), btmType.getId())){
+					if(Objects.equals(tree.getAttributes().get("btmTypeId"), btmType.getId())){
 						tree.getAttributes().put("btmTypeOid",btmType.getOid());
 						return true;
 					}

--
Gitblit v1.9.3