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/service/impl/CodeRuleServiceImpl.java |   81 +++++++++++++---------------------------
 1 files changed, 27 insertions(+), 54 deletions(-)

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 439fd53..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,14 +131,32 @@
 	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
 	 */
 	@Override
-	public boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException {
+	public R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException {
 		VciBaseUtil.alertNotNull(codeRuleDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
-		//灏咲TO杞崲涓篋O
+		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;
 	}
 
 	/**
@@ -162,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("缂栫爜瑙勫垯宸插彂甯冿紝涓嶅厑璁哥紪杈戞垨鍒犻櫎");
 		}
@@ -171,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);
 	}
 
 	/**
@@ -492,60 +514,11 @@
 			vo.setLcStatusText(CodeRuleLC.getTextByValue(vo.getLcStatus()));
 			if (hasSec) {
 				List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid());
-				// 鍒ゆ柇鏄惁涓哄紩鐢ㄧ爜娈碉紝濡傛灉鏄簲鐢ㄧ爜娈电殑璇濓紝涓轰簡閫傞厤鍓嶇缁勪欢锛岃繖閲岃瀵硅〃杩涜澶勭悊涓�涓嬶紝鎸夌収浠ュ墠鐨勫弬鐓ф牸寮忚繘琛岃浆鎹�
-				codeBasicSecVOS.stream().peek(item->{
-					//寮曠敤鐮佹
-					if(item.getSecType().equals(CodeSecTypeEnum.CODE_REFER_SEC) && StringUtils.isNotEmpty(item.getReferConfig())){
-						item.setReferConfig(referConfigTOUIUiTable(item));
-					}
-				});
 				//鏌ヨ鐮佹
 				vo.setSecVOList(codeBasicSecVOS);
 			}
 		}
 		return vo;
 	}
-
-	/**
-	 * 灏唕eferconfig杞崲涓篔SON鏍煎紡鐨刄IFormReferVO
-	 * @param item
-	 * @return
-	 */
-	private String referConfigTOUIUiTable(CodeBasicSecVO item){
-		// JSON鏍煎紡鐨勫弬鐓ч厤缃浆鎹负瀵硅薄
-		CodeReferConfig codeReferConfig = JSONObject.parseObject(item.getReferConfig(), CodeReferConfig.class);
-		// 鎷疯礉涓轰互鍓嶇殑鑰佸璞�
-		UIFormReferVO uiFormReferVO = new UIFormReferVO();
-		BeanUtil.copy(codeReferConfig,uiFormReferVO);
-
-		// 琛ㄦ牸鐨勮嚜瀹氫箟瀹氫箟
-		UITableCustomDefineVO uiTableCustomDefineVO = new UITableCustomDefineVO();
-		uiTableCustomDefineVO.setPage(new UITablePageVO(codeReferConfig.getLimit(),1));
-		// 鍒楄〃鐨勫垪鐨勪俊鎭浆鎹�
-		List<UITableFieldVO> uiTableFieldVOs = new ArrayList<>();
-		// 蹇�熸煡璇㈠垪
-		List<UITableFieldVO> queryColumns = new ArrayList<>();
-		codeReferConfig.getCodeShowFieldConfigs().stream().forEach(showField ->{
-			UITableFieldVO uiTableFieldVO = new UITableFieldVO();
-			BeanUtil.copy(showField,uiTableFieldVO);
-			uiTableFieldVOs.add(uiTableFieldVO);
-			if(showField.getIsQuery().equals("true")){
-				queryColumns.add(uiTableFieldVO);
-			}
-		});
-		// 鏄剧ず鐨勫垪
-		uiTableCustomDefineVO.setCols(uiTableFieldVOs);
-		// 蹇�熸煡璇㈠垪
-		uiTableCustomDefineVO.setQueryColumns(queryColumns);
-		// 绛涢�夋潯浠�
-		HashMap<String, String> whereMap = new HashMap<>();
-		codeReferConfig.getCodeSrchCondConfigs().stream().forEach(srch->{
-			whereMap.put(srch.getFilterValue()+"_"+srch.getFilterType(),srch.getFilterValue());
-		});
-		uiFormReferVO.setWhere(whereMap);
-		return JSONObject.toJSONString(uiFormReferVO);
-	}
-
-
 
 }

--
Gitblit v1.9.3