From 03ab24af158dba0d506569d7e7cf22929ae67296 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 31 一月 2024 16:35:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java                        |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java         |   48 ++++++++++++----
 Source/UBCS-WEB/src/components/Theme/DataAuthDialog.vue                                                          |    5 +
 Source/UBCS-WEB/src/views/modeling/BusinessEdit.vue                                                              |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                              |   22 ++-----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java     |    2 
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java                |   25 +++++---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java                   |    3 
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java |    2 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java             |   14 ++--
 Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue                                                               |    3 
 Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue                                                      |    4 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSynonymController.java         |    4 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java            |    2 
 14 files changed, 85 insertions(+), 55 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue b/Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue
index 9ee7e77..073e047 100644
--- a/Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue
@@ -118,7 +118,7 @@
     return {
       // 瀵硅瘽妗嗘樉绀烘帶鍒�
       isShowDialog: this.visible,
-      isLoading: false,
+      isLoading: true,
       tableHeight: "calc(100vh - 550px)",
       classifyAuthData: [],
       //鍒楀ご
@@ -374,6 +374,7 @@
     // 鍔犺浇鎺堟潈鍒楄〃
     loadAuthPage() {
       return new Promise((resolve, reject) => {
+        this.isLoading = true;
         getButtonByParentCode({ code: "classifyTree" })
           .then((res) => {
             // 璁板綍鎸夐挳鏁版嵁
@@ -441,6 +442,7 @@
             });
           }
         });
+        this.isLoading = false;
       });
     },
   },
diff --git a/Source/UBCS-WEB/src/components/Theme/DataAuthDialog.vue b/Source/UBCS-WEB/src/components/Theme/DataAuthDialog.vue
index 937cd36..d352de3 100644
--- a/Source/UBCS-WEB/src/components/Theme/DataAuthDialog.vue
+++ b/Source/UBCS-WEB/src/components/Theme/DataAuthDialog.vue
@@ -104,7 +104,7 @@
     return {
       // 瀵硅瘽妗嗘樉绀烘帶鍒�
       isShowDialog: this.visible,
-      isLoading: false,
+      isLoading: true,
       tableHeight: 'calc(100vh - 550px)',
       classifyAuthData: [],
       //鍒楀ご
@@ -369,7 +369,7 @@
     },
     loadAuthPage() {
       return new Promise((resolve, reject) => {
-        // console.log(this.classifyData);
+        this.isLoading = true;
         getButtonByParentCode({code: this.classifyData.attributes.id}).then(res => {
           // 璁板綍鎸夐挳鏁版嵁
           this.classifyAuthButton = res.data.data;
@@ -431,6 +431,7 @@
             })
           }
         });
+        this.isLoading = false;
       });
     },
   },
diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
index 45f1e48..3289b7c 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -646,8 +646,9 @@
       }
       this.btmType.attributes = this.btmType.attributes.filter(item => !item.isDefaultAttr);
       add(this.btmType, true).then(res => {
+        // console.log(res)
         // 娣诲姞瀹屾垚锛屽洖璋冪埗缁勪欢鐨勫埛鏂�
-        this.$message.success('淇濆瓨鎴愬姛');
+        this.$message.success(res.data.msg);
         this.cancleSubmitBtmType();
         this.$emit('refreshTable');
       })
diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessEdit.vue b/Source/UBCS-WEB/src/views/modeling/BusinessEdit.vue
index 6153267..1abbe6e 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessEdit.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessEdit.vue
@@ -682,8 +682,9 @@
       }
       this.btmType.attributes = this.btmType.attributes.filter(item => !item.isDefaultAttr);
       add(this.btmType,true).then(res => {
+        // console.log(res)
         // 娣诲姞瀹屾垚锛屽洖璋冪埗缁勪欢鐨勫埛鏂�
-        this.$message.success('淇濆瓨鎴愬姛');
+        this.$message.success(res.data.msg);
         this.cancleSubmitBtmType();
         this.$emit('refreshTable');
       })
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
index be21eb0..da68a2d 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
@@ -213,7 +213,7 @@
 					String field = UBCSSqlKeyword.getColumn(key, "_notin");
 					sql = VciBaseUtil.toInSql(field,value);
 				}else{
-					sql = VciBaseUtil.toInSql(key,value);
+					sql = key + "='" + value + "'";
 				}
 				if(!sql.isEmpty()){
 					whereSqlList.add(sql);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSynonymController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSynonymController.java
index 7494187..389d332 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSynonymController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSynonymController.java
@@ -17,13 +17,13 @@
 package com.vci.ubcs.code.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.code.service.ICodeSynonymService;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO;
 import com.vci.ubcs.code.wrapper.CodeSynonymWrapper;
+import com.vci.ubcs.starter.util.UBCSCondition;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -80,7 +80,7 @@
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "", notes = "浼犲叆codeSynonym")
 	public R<IPage<CodeSynonymVO>> list(@ApiIgnore @RequestParam Map<String, Object> condition,Query query) {
-		IPage<CodeSynonym> page = codeSynonymService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, CodeSynonym.class).lambda().orderByAsc(CodeSynonym::getCreateTime));
+		IPage<CodeSynonym> page = codeSynonymService.page(Condition.getPage(query), UBCSCondition.getQueryWrapper(condition, CodeSynonym.class).lambda().orderByAsc(CodeSynonym::getCreateTime));
 		return R.data(CodeSynonymWrapper.build().pageVO(page));
 	}
 
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 906046e..c7f69cf 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
@@ -563,7 +563,7 @@
 		}
 		if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
 			//String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
-			// TODO: 2024-1-24 23:25鎴戝幓鎺変簡鎳掑姞杞斤紝鍥犱负浼氬奖鍝嶆暟鎹巿鏉冭繃婊わ紝鑰屼笖杩欏効鎰熻娌″繀瑕佸仛鎳掑姞杞�
+			// TODO: 2024-1-24 23:25鎴戝幓鎺変簡鎳掑姞杞斤紝鍥犱负浼氬奖鍝嶆暟鎹巿鏉冭繃婊ゅ拰鍒嗙被鎼滅储鍔熻兘锛岃�屼笖杩欏効鎰熻娌″繀瑕佸仛鎳掑姞杞�
 			doList = codeClassifyMapper
 				.selectCodeClassifyDOByTree(
 					treeQueryObject.getConditionMap().get("id"),
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
index 9fbee7b..133d250 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
@@ -7,6 +7,7 @@
 import com.vci.ubcs.code.mapper.CommonsMapper;
 import com.vci.ubcs.code.service.ICodeClassifyService;
 import com.vci.ubcs.code.service.IMdmCountService;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.system.entity.MdmCountConfig;
 import com.vci.ubcs.system.entity.Menu;
 import com.vci.ubcs.system.feign.ISysClient;
@@ -18,10 +19,9 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.starter.web.util.VciBaseUtil.getTableName;
@@ -58,18 +58,24 @@
 		if(Func.isBlank(userId) && Func.isBlank(AuthUtil.getUserId().toString())){
 			throw new ServiceException("蹇呬紶鍙傛暟鐢ㄦ埛id涓嶈兘涓虹┖");
 		}
-		/** 1銆佸厛鏌ヨ鍑哄悇鍒嗙被椤跺眰鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О锛岀浉褰撲簬鎷垮埌涓绘暟鎹〃鍚�
-			椤跺眰鑺傜偣鐨刡tmtypeid杩橀渶瑕佺敤浣滄煡璇㈡潯浠跺搴旂殑鑿滃崟琛ㄧ殑code瀛楁
-			浣嗘槸涓轰簡鍑忓皯鏌ヨ娆℃暟锛屽氨闇�鍦ㄦ煡璇㈡槸浣跨敤btmtypeid瀛楁杩涜鎺掑簭
+		/** 1銆佸厛鏌ヨ鍑哄悇鍒嗙被椤跺眰鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌缁戝畾鐨勪笟鍔$被鍨嬪悕绉帮紝鐩稿綋浜庢嬁鍒颁富鏁版嵁琛ㄥ悕
+			椤跺眰鑺傜偣鐨刡tmtypeid锛�2024骞�1鏈�31鏃ョ殑鏃跺�欐敼鎴愪簡鐢ㄥ垎绫荤殑id锛夊幓鏌ヨ瀵瑰簲鐨勮彍鍗曡〃鐨刢ode瀛楁
+		 	锛屾煡璇㈠嚭涓绘暟鎹鐞嗕笅闈㈡湁鍝簺涓绘暟鎹殑
+			浣嗘槸涓轰簡鍑忓皯鏌ヨ娆℃暟锛屽氨闇�鍦ㄦ煡璇㈡槸浣跨敤id瀛楁杩涜鎺掑簭
 		 */
 		LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query()
 			.lambda()
-			.isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId)
-			.orderByAsc(CodeClassify::getBtmTypeId);
+			.isNull(CodeClassify::getParentCodeClassifyOid)/*椤跺眰鑺傜偣*/
+			.orderByAsc(CodeClassify::getId);
+		// 鍔犱笂绉熸埛鏌ヨ鏉′欢
+		if(!VciBaseUtil.checkAdminTenant()){
+			wrapper.eq(CodeClassify::getTenantId,AuthUtil.getTenantId());
+		}
 		List<CodeClassify> codeClassifies = codeClassifyService.list(wrapper);
-		List<String> btmTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList());
+		// List<String> btmTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList());
+		List<String> classifyIds = codeClassifies.stream().map(CodeClassify::getId).collect(Collectors.toList());
 		// 2銆佺劧鍚巉eign璋冪敤闇�瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍�
-		R<List<Menu>> menuList = sysClient.getMenuByCodes(btmTypeIds,Func.toLong(userId));
+		R<List<Menu>> menuList = sysClient.getMenuByCodes(classifyIds,Func.toLong(userId));
 		if(!menuList.isSuccess()){
 			throw new ServiceException("鑾峰彇涓绘暟鎹粺璁℃椂锛屼富鏁版嵁鑿滃崟鏌ヨ澶辫触锛屽師鍥狅細"+menuList.getMsg());
 		}
@@ -80,6 +86,7 @@
 			throw new ServiceException("鑾峰彇涓绘暟鎹粺璁¢」閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+mdmCountConfig.getMsg());
 		}
 		List<String> mdmNames = null;
+		//棣栭〉閰嶇疆鏄剧ず灏戜簬5涓氨榛樿鏄剧ず鍓嶄簲涓�
 		if(Func.isBlank(mdmCountConfig.getData().getMdmName())){
 			AtomicInteger count = new AtomicInteger();
 			mdmNames = menuList.getData().stream().map(item->{
@@ -92,12 +99,29 @@
 			mdmNames = Arrays.stream(mdmCountConfig.getData().getMdmName().split(",")).collect(Collectors.toList());
 		}
 		final List<String> mdmNamesFinal = mdmNames;
-		// 4銆佺劧鍚巗et杩涘璞′腑
+		/* 4銆佽幏鍙栬〃鍚嶏紝褰撳墠鏈幏鍙栧埌琛ㄥ悕锛岃彍鍗曠殑code鍊煎搴斾簡鍒嗙被鐨刬d锛�
+			鏈搴斾笟鍔$被鍨嬬殑id锛屾墍浠ラ渶瑕侀�氳繃鑿滃崟鐨刬d绛涢�夊嚭閰嶇疆骞朵笖鍦ㄤ娇鐢ㄧ殑涓绘暟鎹垎绫�,
+			鐒跺悗閫氳繃鍒嗙被淇℃伅鏌ヨ鍒颁笟鍔$被鍨媔d锛屽湪閫氳繃涓氬姟绫诲瀷鎺ュ彛鏌ヨ鍑鸿〃鍚�(杩欎竴姝ュ彲浠ュ厛鐪佺暐鍥犱负鍒嗙被涓婂叧鑱旂殑涓氬姟绫诲瀷id涔熷彲浠ユ嫾鎺ュ嚭琛ㄥ悕)
+		*/
+		// 鑾峰彇鍒嗙被涓婄殑涓氬姟绫诲瀷鐨刬d
+		Map<String, String> btmTypeIdMaps = menuList.getData().stream()
+		.filter(menu -> codeClassifies.stream()
+			.anyMatch(codeClassify -> codeClassify.getId().equals(menu.getCode()))
+		).collect(Collectors.toMap(
+			Menu::getCode,
+			menu -> codeClassifies.stream()
+				.filter(codeClassify -> codeClassify.getId().equals(menu.getCode()))
+				.findFirst()
+				.map(CodeClassify::getBtmTypeId)
+				.orElse(null)
+		));
+
+		// 5銆佺劧鍚巗et杩涘璞′腑
 		menuList.getData().stream().forEach(item->{
 			Integer isDefault = mdmNamesFinal.contains(item.getCode()) ? 1:0;
 			MdmCount mdmCount = new MdmCount(
 				item.getName(),
-				getCountByTableName(item.getCode()), /*鏌ヨ涓绘暟鎹�绘暟*/
+				getCountByTableName(btmTypeIdMaps.get(item.getCode())), /*鏌ヨ涓绘暟鎹�绘暟*/
 				item.getPath(),
 				item.getSource(),
 				item.getCode(),
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index a423df3..2305909 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -108,7 +108,7 @@
         <where>
              1=1
             <if test="oid != null and oid != ''">
-               and  codeclassify0.parentcodeclassifyoid = ${oid}
+               and codeclassify0.parentcodeclassifyoid = ${oid}
             </if>
             <if test="oid = null">
                and codeclassify0.parentcodeclassifyoid is null
@@ -117,7 +117,7 @@
                and  codeclassify0.tenant_id = #{tenantId}
             </if>
         </where>
-        order by lastmodifytime asc
+        order by id asc
     </select>
 
     <select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap">
@@ -320,20 +320,13 @@
         left join pl_code_resemblerule coderesembleruleoid
         on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
         where codeclassify0.lcstatus = #{lcstatus}
-        and codeclassify0.parentcodeclassifyoid in (
-            SELECT
-                OID
-            FROM
-                PL_CODE_CLASSIFY
-            WHERE
-                parentcodeclassifyoid IS NULL
-                AND id = #{id}
-        )
-        or codeclassify0.parentcodeclassifyoid IS NULL
-        and codeclassify0.id = #{id}
         <if test="tenantId != null and tenantId != ''">
-            and codeclassify0.tenant_id = #{tenantId}
+            AND codeclassify0.tenant_id = #{tenantId}
         </if>
+        START WITH
+            codeclassify0.ID = #{id}
+        CONNECT BY
+        PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
         order by id asc
     </select>
 
@@ -611,6 +604,5 @@
         and isparticipatecheck = 0
         and oid != #{currentOid}
     </select>
-
 
 </mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
index 6423ad9..e8c4118 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
@@ -43,7 +43,7 @@
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "涓氬姟绫诲瀷閾炬帴绫诲瀷浼犺緭瀵硅薄")
-	public R submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) {
+	public R<List<ModifyAttributeInfo>> submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) {
 		try {
 			return ddlService.submit(ddlDTO);
 		} catch (Throwable e) {
@@ -112,4 +112,5 @@
 		Func.requireNotNull(addColumnDTO,"娣诲姞鐨勫璞�");
 		return R.status(ddlService.addColumnForTable(addColumnDTO));
 	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
index c7610fa..e59096f 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
@@ -10,6 +10,7 @@
 import com.vci.ubcs.starter.exception.VciBaseException;
 import org.springblade.core.tool.api.R;
 
+import java.rmi.ServerException;
 import java.util.Collection;
 import java.util.List;
 
@@ -195,7 +196,7 @@
 	 * @param ddlDTO 涓氬姟绫诲瀷浼犺緭瀵硅薄
 	 * @return 鎵ц缁撴灉
 	 */
-	R submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable;
+	R submit(BtmAndLinkTypeDdlDTO ddlDTO) throws ServerException;
 
 	/**
 	 * 鎸夎〃鍚嶈幏鍙栬〃淇℃伅
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
index b7b9fa7..fe24a1a 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -1,6 +1,5 @@
 package com.vci.ubcs.ddl.service.impl;
 
-
 import com.alibaba.cloud.commons.lang.StringUtils;
 import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
 import com.vci.ubcs.ddl.bo.DdlTableBO;
@@ -33,8 +32,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import javax.annotation.Resource;
 import javax.validation.constraints.NotNull;
+import java.rmi.ServerException;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
@@ -81,25 +80,25 @@
 
 	private final Map<String, LinkTypeVO> idLinkMap = new ConcurrentHashMap<>();
 
-	private void putBtm(@NotNull BtmTypeVO... voList) throws Throwable {
+	private void putBtm(@NotNull BtmTypeVO... voList) throws ServiceException {
 		String collect = Arrays.stream(voList).map(BtmTypeVO::getId).filter(idBtmMap::containsKey).collect(Collectors.joining(","));
 		if (StringUtils.isBlank(collect)) {
 			Arrays.stream(voList).forEach(vo -> {
 				idBtmMap.put(vo.getId(), vo);
 			});
 		} else {
-			throw new Throwable("涓氬姟绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
+			throw new ServiceException("涓氬姟绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
 		}
 	}
 
-	private void putLink(@NotNull LinkTypeVO... voList) throws Throwable {
+	private void putLink(@NotNull LinkTypeVO... voList) throws ServiceException {
 		String collect = Arrays.stream(voList).map(LinkTypeVO::getId).filter(idLinkMap::containsKey).collect(Collectors.joining(","));
 		if (StringUtils.isBlank(collect)) {
 			Arrays.stream(voList).forEach(vo -> {
 				idLinkMap.put(vo.getId(), vo);
 			});
 		} else {
-			throw new Throwable("閾炬帴绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
+			throw new ServiceException("閾炬帴绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
 		}
 	}
 
@@ -765,9 +764,9 @@
 				if (StringUtils.isNotBlank(s.getModifyAttributes()) || StringUtils.isNotBlank(s.getDeleteAttributes())) {
 					//闇�瑕佸幓鍒ゆ柇鏄惁鍙互鏇存敼
 					if (checkTableHasDataByTableName(s.getTableName())) {
-						//鏈夋暟鎹殑璇濓紝寰楅渶瑕佸垽鏂睘鎬ф槸鍚﹀彲浠ヤ慨鏀�
+						//鏈夋暟鎹殑璇濓紝寰楅渶瑕佸垽鏂睘鎬ф槸鍚﹀彲浠ュ垹闄�
 						if (StringUtils.isNotBlank(s.getDeleteAttributes())) {
-							s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛屼笉鍏佽鍒犻櫎瀛楁");
+							s.setHandleResult("琛ㄦ牸瀛樺湪鏁版嵁锛屼笉鍏佽鍒犻櫎"+ s.getDeleteAttributes() +"瀛楁");
 							return;
 						}
 						List<DdlTableInDataBaseBO> columnInDbList = selectTableColumnInfo(s.getTableName());
@@ -976,7 +975,7 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable {
+	public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) throws ServerException {
 		try {
 			List<ModifyAttributeInfo> changedList = new ArrayList<>();
 			if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
@@ -991,7 +990,13 @@
 				changedList.addAll(checkDifferent(null,linkTypeList));
 				removeLink(linkTypeList.toArray(new LinkTypeVO[0]));
 			}
-			R<List<ModifyAttributeInfo>> result = R.success("鏁版嵁搴撴搷浣滄垚鍔�");
+			String msg = "鏁版嵁搴撴搷浣滄垚鍔�";
+			R<List<ModifyAttributeInfo>> result = new R<>();
+			if((!changedList.isEmpty())&&Func.isEmpty(changedList.get(0).getHandleResult())){
+				result = R.success(msg);
+			}else {
+				result = R.fail(changedList.get(0).getHandleResult());
+			}
 			result.setData(changedList);
 			return result;
 		} catch (Exception e) {
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
index 90674ee..a5e422a 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
@@ -87,7 +87,7 @@
 	@ApiOperation(value = "鏌ヨ鍒楄〃", notes = "浼犲叆鏌ヨ")
 	public R<IPage<AttributeVO>> pageList(@ApiIgnore @RequestParam Map<String, Object> condition, Query query) {
 		IPage<AttributeVO> pageVO = new Page<>();
-		IPage<Attribute> page = attributeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, Attribute.class).lambda().orderByAsc(Attribute::getId));
+		IPage<Attribute> page = attributeService.page(Condition.getPage(query), Condition.getQueryWrapper(condition, Attribute.class).lambda().orderByDesc(Attribute::getCreateTime));
 		BeanUtil.copy(page,pageVO);
 		pageVO.setRecords( AttributeWrapper.build().listEntityVO(page.getRecords()));
 		return R.data(pageVO);
@@ -118,12 +118,11 @@
 		return R.data(pageVO);
 	}
 
-
-		/**
-		 * 鏂板鎴栦慨鏀�
-		 * @param dto 鍏冩暟鎹〉闈紶杈撳璞�
-		 * @return 鎵ц缁撴灉
-		 */
+	/**
+	 * 鏂板鎴栦慨鏀�
+	 * @param dto 鍏冩暟鎹〉闈紶杈撳璞�
+	 * @return 鎵ц缁撴灉
+	 */
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆鍏冩暟鎹璞�")
@@ -156,4 +155,5 @@
 	public R applyRange(String oid){
 		return R.data(attributeService.applyRange(oid));
 	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
index 89b8362..d26b2a6 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -165,8 +165,10 @@
 				classifyAuths = this.classifyAuthMapper.selectList(
 					Wrappers.<ClassifyAuth>query()
 						.lambda().eq(ClassifyAuth::getClassifyId, classifyOidList.get(i))
+						.eq(ClassifyAuth::getAuthType,authType)
 						.in(ClassifyAuth::getRoleId, roleIds)
 				);
+				//鍙褰撳墠鑺傜偣鐨勪笂灞傝妭鐐逛腑鎵惧埌浜嗗垎绫绘巿鏉冧俊鎭氨涓嶅啀缁х画缃戜笂鎵句簡
 				if(!classifyAuths.isEmpty()){
 					break;
 				}

--
Gitblit v1.9.3