From f3c411d4ddc5d1ebf7414103b1bc0d09b929c413 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 20 四月 2023 10:37:58 +0800
Subject: [PATCH] 联调修改codebasic,以及代码合并

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java |   78 ++++++++++++++++++++++++++++-----------
 1 files changed, 56 insertions(+), 22 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..6b303fe 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,6 +8,7 @@
 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;
@@ -42,7 +43,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.*;
 
 /**
  * 鐮佹鍩虹淇℃伅鏈嶅姟鎺ュ彛
@@ -350,9 +351,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 +443,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 +522,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 +531,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 +553,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