From fb4762049abdca953db1ed4528d128dd8d887710 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 08 十一月 2023 18:53:45 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java                 |    2 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml                               |    4 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   30 +++++++++++++++++++++++++++++-
 3 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
index 03b4688..3c18978 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -24,6 +24,8 @@
 
 	String queryCountStringBySql(@Param("inSql") String inSql);
 
+	String selectCountByTableName(@Param("tableName") String tableName);
+
 	List<Map> selectBySql(@Param("inSql") String inSql);
 
 	List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql);
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 c87d39e..2878287 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,7 +528,7 @@
 			lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
 		}
 		if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
-			String tableName = VciBaseUtil.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),true);
+			String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
 			doList = codeClassifyMapper
 				.selectCodeClassifyDOByTree(
 					treeQueryObject.getConditionMap().get("id"),
@@ -537,6 +537,12 @@
 					VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId(),
 					tableName
 				);
+			// 璇佹槑鏄煡椤跺眰鑺傜偣
+			if(StringUtils.isNotBlank(id)){
+				// 鏈夋椂鍊欐煡璇otal杩囨參浼氬鑷存棤娉曞姞杞斤紝鐜板湪淇敼鏌ヨ鎬绘暟涓鸿繛琛ㄦ煡璇絾鏄氨瀵艰嚧椤跺眰鑺傜偣鏃犳硶鏌ヨ鍑烘�绘暟
+				String total = commonsMapper.selectCountByTableName(tableName);
+				doList.get(0).setTotal(total);
+			}
 		}else{
 			// 鍙鍓嶇浼氫紶鍙傛暟杩囨潵灏变笉浼氬嚭鐜拌蛋杩欏彞鐨勬儏鍐碉紝鎵�浠ユ煡璇㈡�绘暟娌″湪杩欏効娣诲姞
 			doList =codeClassifyMapper.selectCodeClassifyVOByTree(
@@ -567,6 +573,28 @@
 	}
 
 	/**
+	 * 鍒嗙被鍔犺浇鏃惰幏鍙栦笟鍔$被鍨媔d锛屾嫾鎺ヤ笟鍔$被鍨嬭〃鍚�
+	 * @return
+	 */
+	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")
+			.eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
+
+		CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
+		if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
+			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栧埌涓氬姟绫诲瀷ID锛�");
+		}
+		return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
+	}
+
+	/**
 	 * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞�
 	 *
 	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
index f557aba..de66f02 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -17,6 +17,10 @@
         ${inSql}
     </select>
 
+    <select id="selectCountByTableName" resultType="java.lang.String">
+        select COUNT(*) FROM ${tableName}
+    </select>
+
     <select id="selectBySql" resultType="java.util.Map">
         ${inSql}
     </select>

--
Gitblit v1.9.3