From 728546f4621e893019dea545f14b6e617301b15b Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 11 七月 2023 09:09:21 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java           |    4 +-
 Source/UBCS-WEB/src/views/code/code.vue                                                                                  |   40 +++++++++++++++----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java        |    6 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java                    |    4 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java                         |   11 ++++-
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java            |    2 -
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |    6 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java                |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java                 |   29 ++++++++++++--
 9 files changed, 78 insertions(+), 26 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 807ace5..4bd195e 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1394,6 +1394,11 @@
             });
           }else {
             this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid;
+            // 鍒嗙被鐮佹锛屽瓙鍒嗙被鍜岀埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰鏇存敼
+            if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){
+              return;
+            }
+            this.$delete(this.codeClassifyForm,"parentClassifyValueOid");
             editCodeClassifyValue(this.codeClassifyForm).then(() => {
                 this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid})
                 this.$message({
@@ -1430,6 +1435,9 @@
               });
             });
           }else{
+            if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){
+              return;
+            } 
             //鍒嗙被鐮佹鐮佸�煎垹闄�
             this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
               confirmButtonText: "纭畾",
@@ -1450,7 +1458,6 @@
               });
             });
           }
-
         },
         //瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
         codeFixedValueOpetion(condition,row){
@@ -1490,10 +1497,13 @@
         },
         //瀵瑰垎绫荤爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
         codeClassifyValueOpetion(condition){
+          if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){
+            return;
+          } 
           //姝ゅ娑夊強鍒版繁娴呮嫹璐濋棶棰橈紝浣嗘槸鎵ц涓婁笅绉讳繚瀛樻搷浣滀箣鍚庝細閲嶆柊鍔犺浇treedata锛屾墍浠ュ奖鍝嶄笉澶�
           let currentTreeList = this.getCodeClassifyValueTreeData();
           let saveData = [];
-          console.log(currentTreeList.treeList);
+          // console.log(currentTreeList.treeList);
           if(condition == 'up'){
             if(currentTreeList.index-1>=0){
               // 璋冩暣椤哄簭
@@ -1513,8 +1523,6 @@
               this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData);
             }
           }
-          console.log(saveData);
-          console.log(this.classifyValueTreeData);
         },
         //閫変腑琚皟鏁撮『搴忕殑涓や釜鏍戠殑鑺傜偣
         getCodeClassifyValueTreeData(){
@@ -1553,7 +1561,7 @@
           }
         },
         //涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨
-        saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){
+        async saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){
           //淇濆瓨瀵瑰浐瀹氱爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
           if(condition == "fixedValue"){
             let data = {
@@ -1572,7 +1580,7 @@
             });
           }else {
             //淇濆瓨瀵瑰垎绫荤爜鍊肩爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
-            saveCodeClassifyValueOrder({
+            await saveCodeClassifyValueOrder({
               "codeClassifySecOid": this.codefixedsecOrCodeclassifysecOid,
               "dtoList": JSON.stringify(editOrderNumdata),
             }).then(() => {
@@ -1611,7 +1619,21 @@
           this.codeClassifyForm.id = node.attributes.id;
           this.codeClassifyForm.name = node.attributes.name;
           this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid;
-          //console.log(this.codeClassifyForm);
+          // console.log(this.codeClassifyForm);
+        },
+        /**
+         * 鍒嗙被鐮佹鐮佸�硷紝淇敼銆佸垹闄ゃ�佷笂涓嬬Щ涔嬪墠锛屾鏌ユ槸鍚︿负瀛愬垎绫诲拰鐖跺垎绫讳箣闂寸浉浜掓洿鏀�
+         * @currentRowClassOid 褰撳墠閫変腑琛宱id
+         * @updateClassOid 瑕佷慨鏀圭殑鍒嗙被鐮佸�紀id
+         */
+         checkClassUpdate(currentRowClassOid,updateClassOid){
+          if(currentRowClassOid!=updateClassOid){
+            this.$message({
+              type: "error",
+              message: "鎿嶄綔澶辫触銆愬瓙鍒嗙被涓庣埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰淇敼鐮佸�笺��!"
+            });
+          }
+          return currentRowClassOid!=updateClassOid;
         },
 
 
@@ -1982,7 +2004,7 @@
           this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false);
         },
         // 涓婄Щ涓嬬Щ鍩虹鐮佹
-        upOrderNum(row){
+        async upOrderNum(row){
           if(!this.tipsMessage(this.selectionList)){
             return;
           }
@@ -1994,7 +2016,7 @@
             this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
             return;
           }
-          upOrderNum(row.oid).then(() => {
+          await upOrderNum(row.oid).then(() => {
             this.loadBasic(this.selectionList[0]);
             this.$message({
               type: "success",
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
index 3fc3b22..c78da18 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -82,8 +82,6 @@
 		return (T)baseModel;
 	}
 
-
-
 	/**
 	 * 鏂板鏃跺~鍏呴粯璁ゅ��
 	 * @param object 缁ф壙浜咮aseModel鐨勫疄浣撳璞�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
index f5bbfcb..70092de 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
@@ -131,12 +131,12 @@
             CodeClassifyValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeClassifyValueDTO.class);
             dtoList.add(codeFixedValueDTO);
         }
-        String codeclassifysecoid = (String) param.get("codeclassifysecoid");
+        String codeClassifySecOid = (String) param.get("codeClassifySecOid");
         VciBaseUtil.alertNotNull(dtoList,"鐮佸�奸泦鍚�");
         if (CollectionUtils.isEmpty(dtoList)){
             return R.success("");
         }
-        return codeClassifyValueService.batchSave4Order(dtoList,codeclassifysecoid);
+        return codeClassifyValueService.batchSave4Order(dtoList,codeClassifySecOid);
     }
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
index cf25268..c0225e1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
@@ -95,7 +95,7 @@
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "鏂板", notes = "浼犲叆CodeRule")
 	public R save(@Valid @RequestBody CodeRuleDTO codeRuleDTO) {
-		return R.status(codeRuleService.addSave(codeRuleDTO));
+		return codeRuleService.addSave(codeRuleDTO);
 	}
 
 	/**
@@ -107,7 +107,7 @@
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "淇敼", notes = "浼犲叆CodeRule")
 	public R update(@Valid @RequestBody CodeRuleDTO codeRuleDTO) {
-		return R.status(codeRuleService.editSave(codeRuleDTO));
+		return codeRuleService.editSave(codeRuleDTO);
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java
index b3fb879..6597a5d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java
@@ -112,7 +112,7 @@
 	 * @param codeclassifysecoid 鍒嗙被鐮佹鐨勪富閿�
 	 * @return 鎵ц缁撴灉
 	 */
-	R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid);
+	R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid)throws VciBaseException;
 
 	/**
 	 * 浣跨敤鐮佹鐨勪富閿幏鍙栧垎绫荤殑鐮佸�煎唴瀹�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java
index 229d537..9cd21d5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java
@@ -49,6 +49,13 @@
 	IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> condtionMap) throws VciBaseException;
 
 	/**
+	 * 妫�鏌d缂栧彿鏄惁閲嶅
+	 * @param id 褰撳墠缂栧彿
+	 * @return 杩斿洖false琛ㄧず鏈噸澶�
+	 */
+	boolean checkCodeRuleRepeat(String id);
+
+	/**
 	 * 鏍¢獙缂栫爜瑙勫垯鐨勭姸鎬佹槸鍚﹀彲浠ョ紪杈戞垨鍒犻櫎
 	 * @param lcStatus 缂栫爜瑙勫垯
 	 * @return true琛ㄧず鍙互缂栬緫鎴栧垹闄わ紝false琛ㄧず涓嶅彲浠�
@@ -60,14 +67,14 @@
 	 * @param codeRuleDTO 涓绘暟鎹紪鐮佽鍒欐暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
+	R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
 
 	/**
 	 * 淇敼涓绘暟鎹紪鐮佽鍒�
 	 * @param codeRuleDTO 涓绘暟鎹紪鐮佽鍒欐暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	boolean editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
+	R editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException;
 
 	/**
 	 * 鍒犻櫎涓绘暟鎹紪鐮佽鍒�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index 1f1a0bc..719087b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -724,16 +724,16 @@
 		condition.put("CLASSIFYTEMPLATEOID",templateAttrOid);
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition);
 
-		List<String> btmOids = new ArrayList<String>();
+		List<String> btmIds = new ArrayList<String>();
 		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){
-			btmOids.add(codeClassifyTemplateAttrDO.getId());
+			btmIds.add(codeClassifyTemplateAttrDO.getId());
 		}
 
 		//杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴��
 		List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>();
 
 		for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){
-			if(!btmOids.contains(osBtmTypeAttributeVO.getId())){
+			if(!btmIds.contains(osBtmTypeAttributeVO.getId())){
 				//鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ
 				boolean inSearch = true;
 				if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
index 3508401..46ce3a2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -27,6 +27,7 @@
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -284,7 +285,7 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) {
+	public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) throws VciBaseException{
 		VciBaseUtil.alertNotNull(codeclassifysecoid,"鍒嗙被鐮佹涓婚敭");
 		List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
 			.lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeclassifysecoid)
@@ -304,6 +305,9 @@
 				});
 			}
 		});
+		if(updateList.isEmpty()){
+			return R.fail("璇ユ搷浣滄湁璇�愬緟鎿嶄綔闆嗗悎涓虹┖銆戙��");
+		}
 		boolean resBoolean = this.updateBatchById(updateList);
 		return R.status(resBoolean);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index 4d6d88b..86eb60d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -60,6 +60,7 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -130,15 +131,32 @@
 	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
 	 */
 	@Override
-	public boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException {
+	public R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException {
 		VciBaseUtil.alertNotNull(codeRuleDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+		if(checkCodeRuleRepeat(codeRuleDTO.getId())){
+			return R.fail("瑙勫垯缂栧彿宸插瓨鍦紒");
+		}
 		// 灏咲TO杞崲涓篋O
 		CodeRule codeRule = Objects.requireNonNull(BeanUtil.copy(codeRuleDTO, CodeRule.class));
 		// 濉厖榛樿鍊�
 		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRule, MdmBtmTypeConstant.CODE_RULE);
 		codeRule.setLctid(CODE_RULE_LC);
 		codeRule.setLcStatus(FRAMEWORK_RELEASE_EDITING);
-		return codeRuleMapper.insert(codeRule)>0;
+		return R.status(codeRuleMapper.insert(codeRule)>0);
+	}
+
+	/**
+	 * 妫�鏌d缂栧彿鏄惁閲嶅
+	 * @param id 褰撳墠缂栧彿
+	 * @return 杩斿洖false琛ㄧず鏈噸澶�
+	 */
+	@Override
+	public boolean checkCodeRuleRepeat(String id){
+		Long count = this.codeRuleMapper.selectCount(Wrappers.<CodeRule>query().lambda().eq(CodeRule::getId, id));
+		if(count>0){
+			return true;
+		}
+		return false;
 	}
 
 	/**
@@ -163,8 +181,11 @@
 	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
 	 */
 	@Override
-	public boolean editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException{
+	public R editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException{
 		VciBaseUtil.alertNotNull(codeRuleDTO, "鏁版嵁瀵硅薄", codeRuleDTO.getOid(), "涓绘暟鎹紪鐮佽鍒欎富閿�");
+		if(checkCodeRuleRepeat(codeRuleDTO.getId())){
+			return R.fail("瑙勫垯缂栧彿宸插瓨鍦紒");
+		}
 		if (!checkEditDelStatus(codeRuleDTO.getLcStatus())) {
 			throw new VciBaseException("缂栫爜瑙勫垯宸插彂甯冿紝涓嶅厑璁哥紪杈戞垨鍒犻櫎");
 		}
@@ -172,7 +193,7 @@
 		CodeRule codeRule = selectByOid(codeRuleDTO.getOid());
 		revisionModelUtil.copyFromDTOIgnore(codeRuleDTO, codeRule);
 		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule);
-		return codeRuleMapper.updateById(codeRule)>0;
+		return R.status(codeRuleMapper.updateById(codeRule)>0);
 	}
 
 	/**

--
Gitblit v1.9.3