From 7f0570d20aac189f1b170942bd7100b281a1c824 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 26 四月 2023 00:07:37 +0800
Subject: [PATCH] 代码整合,新增codefixedcontroller

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java |  126 +++++++++++++++++++++++++++++------------
 1 files changed, 89 insertions(+), 37 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
index cd84de8..6237099 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -8,9 +8,10 @@
 import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
 import com.vci.ubcs.code.dto.CodeBasicSecDTO;
 import com.vci.ubcs.code.entity.CodeBasicSec;
+import com.vci.ubcs.code.entity.CodeClassify;
 import com.vci.ubcs.code.entity.CodeClassifyValue;
 import com.vci.ubcs.code.entity.CodeFixedValue;
-import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
+import com.vci.ubcs.code.enumpack.*;
 import com.vci.ubcs.code.lifecycle.CodeRuleLC;
 import com.vci.ubcs.code.mapper.CodeBasicSecMapper;
 import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
@@ -21,16 +22,17 @@
 import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
 import com.vci.ubcs.code.wrapper.CodeBasicSecWrapper;
-import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
-import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil;
-import com.vci.ubcs.com.vci.starter.web.enumpck.OsCodeFillTypeEnum;
-import com.vci.ubcs.com.vci.starter.web.pagemodel.KeyValue;
-import com.vci.ubcs.com.vci.starter.web.pagemodel.UIFormReferVO;
-import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
-import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
-import com.vci.ubcs.com.vci.starter.web.util.WebUtil;
-import com.vci.ubcs.omd.entity.DictBizM;
-import com.vci.ubcs.omd.feign.IDictBizClient;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.starter.web.util.WebUtil;
+import com.vci.ubcs.system.entity.DictBiz;
+import com.vci.ubcs.system.feign.IDictBizClient;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.context.annotation.Lazy;
@@ -42,7 +44,7 @@
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
 
 /**
  * 鐮佹鍩虹淇℃伅鏈嶅姟鎺ュ彛
@@ -159,8 +161,8 @@
 	 */
 	@Override
 	public KeyValue checkAttrNullableBySecType(CodeBasicSecDTO codeBasicSecDTO) {
-		VciBaseUtil.alertNotNull(codeBasicSecDTO.getSectype(), "鐮佹鍒嗙被");
-		String secType = codeBasicSecDTO.getSectype();
+		VciBaseUtil.alertNotNull(codeBasicSecDTO.getSecType(), "鐮佹鍒嗙被");
+		String secType = codeBasicSecDTO.getSecType();
 		HashMap<String, String> attrMap = JSONObject.parseObject(JSONObject.toJSONString(codeBasicSecDTO), HashMap.class);
 		Map<String, String> notNullableAttr = getNotNullableAttr(secType);
 		if (notNullableAttr == null) {
@@ -203,6 +205,22 @@
 		//灏咲TO杞崲涓篋O
 		CodeBasicSec codeBasicSecDO = new CodeBasicSec();
 		BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDTO, codeBasicSecDO);
+		//text杞崲
+		codeBasicSecDO.setSecTypeText(CodeSecTypeEnum.getTextByValue(codeBasicSecDTO.getSecType()));
+		codeBasicSecDO.setCodeLevelTypeText(CodeLevelTypeEnum.getTextByValue(codeBasicSecDTO.getCodeLevelType()));
+		codeBasicSecDO.setCodeSecLengthTypeText(CodeSecLengthTypeEnum.getTextByValue(codeBasicSecDTO.getCodeSecLengthType()));
+		codeBasicSecDO.setValueCutTypeText(CodeCutTypeEnum.getValueByText(codeBasicSecDTO.getValueCutType()));
+		codeBasicSecDO.setCodeGetValueTypeText(CodeGetValueTypeEnum.getValueByText(codeBasicSecDTO.getCodeGetValueType()));
+		//濉厖涓�浜涢粯璁ゅ��
+		codeBasicSecDO.setOid(VciBaseUtil.getPk());
+		codeBasicSecDO.setRevisionOid(VciBaseUtil.getPk());
+		codeBasicSecDO.setNameOid(VciBaseUtil.getPk());
+		codeBasicSecDO.setBtmname(MdmBtmTypeConstant.CODE_BASIC_SEC);
+		codeBasicSecDO.setTs(new Date());
+		codeBasicSecDO.setCreateTime(new Date());
+		codeBasicSecDO.setCreator(AuthUtil.getUserId().toString());
+		codeBasicSecDO.setLastModifier(AuthUtil.getUserId().toString());
+		codeBasicSecDO.setLastModifyTime(new Date());
 		//鎺掑簭鍙凤紝榛樿绛変簬褰撳墠宸叉湁鐨勬暟閲忓姞1
 		Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
 			.lambda()
@@ -232,7 +250,7 @@
 		boolean resBoolean = codeBasicSecMapper.insert(codeBasicSecDO) > 0;
 		//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 		if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
-			DictBizM dictBiz = new DictBizM();
+			DictBiz dictBiz = new DictBiz();
 			dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC);
 			dictBiz.setDictKey("codefileseparator");
 			dictBiz.setDictValue(codeBasicSecDO.getCodeFillSeparator());
@@ -287,7 +305,8 @@
 			resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0;
 			//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 			if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
-				DictBizM dictBiz = new DictBizM();
+				//杩欏効鐩墠闇�瑕佹敼 2023/4/24
+				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC);
 				dictBiz.setDictKey("codefileseparator");
 				dictBiz.setDictValue(codeBasicSecDO.getCodeFillSeparator());
@@ -350,9 +369,46 @@
 	 * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
 	 */
 	@Override
-	public boolean deleteCodeBasicSec(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
+	public R deleteCodeBasicSec(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
 		VciBaseUtil.alertNotNull(codeBasicSecDTO, "鐮佹鍩虹淇℃伅鏁版嵁瀵硅薄", codeBasicSecDTO.getOid(), "鐮佹鍩虹淇℃伅鐨勪富閿�");
-		return this.codeBasicSecMapper.deleteById(codeBasicSecDTO.getOid())>0;
+		return this.deleteCodeBasicSecByPrimaryKey(codeBasicSecDTO.getOid());
+	}
+
+	/**
+	 * 涓婚敭鍒犻櫎鐮佹鍩虹淇℃伅
+	 *
+	 * @param oid 鐮佹鍩虹淇℃伅涓婚敭
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R deleteCodeBasicSecByPrimaryKey(String oid) throws VciBaseException {
+		CodeBasicSec codeBasicSecDO = selectByOid(oid);
+		boolean isLinked = checkIsLinked(codeBasicSecDO.getPkCodeRule(), oid);
+		if (isLinked) {
+			return R.fail("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫鎴栧垹闄�");
+		}
+		//鎵ц鍒犻櫎鎿嶄綔
+		boolean eftDeleteBasic = codeBasicSecMapper.deleteById(oid) > 0;
+		if (CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equals(codeBasicSecDO.getSecType())){
+			List<CodeFixedValue> fixedValueDOS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query()
+				.lambda().eq(CodeFixedValue::getCodeFixedSecOid,codeBasicSecDO.getOid())
+			);
+			if(!CollectionUtils.isEmpty(fixedValueDOS)){
+				fixedValueMapper.deleteBatchIds(fixedValueDOS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()));
+			}
+		}
+		if (CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue().equals(codeBasicSecDO.getSecType())){
+			List<CodeClassifyValue> classifyValueDOS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
+				.lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeBasicSecDO.getOid())
+			);
+			if(!CollectionUtils.isEmpty(classifyValueDOS)) {
+				codeClassifyValueMapper.deleteBatchIds(classifyValueDOS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()));
+			}
+		}
+
+		return eftDeleteBasic ? R.success(DELETE_SUCCESS) : R.fail(DELETE_FAIL);
 	}
 
 	/**
@@ -405,7 +461,7 @@
 		if(Func.isEmpty(codeBasicSecVO.getPkCodeRule()) || Func.isBlank(codeBasicSecVO.getPkCodeRule())){
 			return null;
 		}
-		codeBasicSecVO.setSectype(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue());
+		codeBasicSecVO.setSecType(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue());
 		return refDataGridCodeBasicSec(page,codeBasicSecVO);
 	}
 
@@ -484,9 +540,7 @@
 	@Transactional(rollbackFor = Exception.class)
 	public boolean upOrderNum(String oid) {
 		CodeBasicSec secDO = selectByOid(oid);
-		boolean resUpBoolean = false;
-		boolean	resDownBoolean = false;
-		if(secDO.getOrderNum() >1){
+		if(secDO.getOrderNum() > 1){
 			//绛変簬1鐨勬椂鍊欎笉鑳戒笂绉讳簡
 			//鎵炬瘮鑷繁灏忕殑
 			List<CodeBasicSec> lastSecDOs = codeBasicSecMapper.selectList(Wrappers.<CodeBasicSec>query()
@@ -495,18 +549,17 @@
 			);
 			if(!CollectionUtils.isEmpty(lastSecDOs)){
 				CodeBasicSec lastSec = lastSecDOs.get(0);
-				resDownBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+				codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
 					.lambda().set(CodeBasicSec::getOrderNum, lastSec.getOrderNum() + 1)
 					.eq(CodeBasicSec::getOid, lastSec.getOid())
-				) > 0;
+				);
 			}
-			secDO.setOrderNum(secDO.getOrderNum()-1);
-			resUpBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+			codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
 				.lambda().set(CodeBasicSec::getOrderNum, secDO.getOrderNum() - 1)
 				.eq(CodeBasicSec::getOid, secDO.getOid())
-			) > 0;
+			);
 		}
-		return resDownBoolean && resUpBoolean;
+		return true;
 	}
 
 	/**
@@ -518,29 +571,28 @@
 	@Transactional(rollbackFor = Exception.class)
 	public boolean downOrderNum(String oid) {
 		CodeBasicSec secDO = selectByOid(oid);
-		boolean resUpBoolean = false;
-		boolean	resDownBoolean = false;
 		Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
 			.lambda().eq(CodeBasicSec::getPkCodeRule,secDO.getPkCodeRule())
 		);
-		if(secDO.getOrderNum()  < total){
+		if(secDO.getOrderNum() < total){
 			//灏忎簬鎬绘暟鐨勬椂鍊欐墠涓嬬Щ
 			List<CodeBasicSec> lastSecDOs = codeBasicSecMapper.selectList(Wrappers.<CodeBasicSec>query()
-				.lambda().eq(CodeBasicSec::getOrderNum,String.valueOf(secDO.getOrderNum()+1))
+				.lambda().eq(CodeBasicSec::getOrderNum,secDO.getOrderNum()+1)
+				.eq(CodeBasicSec::getPkCodeRule,secDO.getPkCodeRule())
 			);
 			if(!CollectionUtils.isEmpty(lastSecDOs)){
 				CodeBasicSec lastSec = lastSecDOs.get(0);
-				resUpBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+				codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
 					.lambda().set(CodeBasicSec::getOrderNum, lastSec.getOrderNum() - 1)
 					.eq(CodeBasicSec::getOid, lastSec.getOid())
-				) > 0;
+				);
 			}
-			resDownBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+			codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
 				.lambda().set(CodeBasicSec::getOrderNum, secDO.getOrderNum() + 1)
 				.eq(CodeBasicSec::getOid, secDO.getOid())
-			) > 0;
+			);
 		}
-		return resDownBoolean && resUpBoolean;
+		return true;
 	}
 
 	/**

--
Gitblit v1.9.3