From 41aacf110288329a6beb494ccccaeabd217a08b9 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 05 十二月 2023 18:05:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 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 975cd6a..baaf90a 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
@@ -252,7 +252,7 @@
 		codeBasicSecDO.setValueCutTypeText(EnumCache.getValue(EnumEnum.CODE_CUT_TYPE,codeBasicSecDTO.getValueCutType()));
 		codeBasicSecDO.setCodeGetValueTypeText(EnumCache.getValue(EnumEnum.CODE_GET_VALUE_TYPE,codeBasicSecDTO.getCodeGetValueType()));
 		//濉厖涓�浜涢粯璁ゅ��
-		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO, MdmBtmTypeConstant.CODE_BASIC_SEC);
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO, MdmBtmTypeConstant.CODE_BASIC_SEC,null);
 		//鎺掑簭鍙凤紝榛樿绛変簬褰撳墠宸叉湁鐨勬暟閲忓姞1
 		Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
 			.lambda()
@@ -361,15 +361,15 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean editSave(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
+	public boolean editSave(CodeBasicSecDTO codeBasicSecDTO) throws ServerException {
 		VciBaseUtil.alertNotNull(codeBasicSecDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
 		KeyValue attrKv = checkAttrNullableBySecType(codeBasicSecDTO);
-		if (! "success".equals(attrKv.getKey())){
+		if (!"success".equals(attrKv.getKey())){
 			throw new VciBaseException(attrKv.getValue() + "涓嶈兘涓虹┖");
 		}
 		//灏咲TO杞崲涓篋O
 		CodeBasicSec codeBasicSecDO = selectByOid(codeBasicSecDTO.getOid());
-		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeBasicSecDO);
+		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeBasicSecDO,null);
 		boolean status = codeRuleService.checkEditDelStatus(codeRuleService.getObjectByOid(codeBasicSecDO.getPkCodeRule()).getLcStatus());
 		boolean resBoolean;
 		CodeReferConfigVO codeReferConfigVO = null;
@@ -400,8 +400,7 @@
 					codeReferConfigService.insert(codeReferConfigVO);
 				}
 			}
-
-//			revisionModelUtil.copyFromDTOIgnore(codeBasicSecDTO, codeBasicSecDO);//姝ゅ鐨勬嫹璐濅細鎶妑eferValueInfo鐨勫�肩粰瑕嗙洊鎺夛紝闇�瑕侀噸鏂拌祴鍊�
+			// revisionModelUtil.copyFromDTOIgnore(codeBasicSecDTO, codeBasicSecDO);//姝ゅ鐨勬嫹璐濅細鎶妑eferValueInfo鐨勫�肩粰瑕嗙洊鎺夛紝闇�瑕侀噸鏂拌祴鍊�
 			BaseModel tempModel = new BaseModel();
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDO, tempModel);
 			BeanUtil.copyProperties(codeBasicSecDTO, codeBasicSecDO,"referValueInfo");
@@ -411,6 +410,16 @@
 			codeBasicSecDO.setDescription(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getValueFromField("description", codeBasicSecDTO)));
 
 			resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0;
+			// 浠庡垎绫荤爜娈垫垨鍥哄畾鐮佹鏀逛负鍏朵粬鐮佹鏃讹紝鍒ゆ柇鐢ㄦ埛鏄惁閫夋嫨浜嗘竻绌虹爜鍊�
+			if(codeBasicSecDTO.getIsClearValue()){
+				// 鍒嗙被鐮佸�兼竻绌�
+				if(codeBasicSecDTO.getSecType().equals(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue())){
+					codeClassifyValueService.deleteClassifyValueBySecOid(codeBasicSecDTO.getOid());
+				}else {
+					//鍥哄畾鐮佸�兼竻绌�
+					fixedValueService.deleteFixedValueBySecOid(codeBasicSecDTO.getOid());
+				}
+			}
 			//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 			if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
 				DictBiz dictBiz = new DictBiz();
@@ -588,6 +597,15 @@
 		}
 		List<CodeBasicSec> createList = new ArrayList<>();
 		List<CodeBasicSec> basicSecDOS = codeBasicSecMapper.selectBatchIds(oidList);
+		/* 闇�瑕佹敞鎰忕殑鏄厠闅嗚繃鏉ョ殑鐮佹闇�瑕佸orderNum杩涜鎺掑簭锛屽惁鍒欎細鍑虹幇鎺掑簭涔辫烦鐨勬儏鍐�
+		瀹炵幇鏂瑰紡鏄煡璇㈠嚭璇ヨ鍒欎笅鏍规嵁orderNum鎺掑簭鍚庣殑鏈�鍚庝竴涓爜娈�	*/
+		LambdaQueryWrapper<CodeBasicSec> lastBasicWrapper = Wrappers.<CodeBasicSec>query()
+			.lambda().orderByDesc(CodeBasicSec::getOrderNum)
+			.eq(CodeBasicSec::getPkCodeRule,pkCodeRule)
+			.last("limit 1");
+		CodeBasicSec lastCodeBasicSec = codeBasicSecMapper.selectOne(lastBasicWrapper);
+		// 鎺掑簭鍙蜂粠杩欏効寮�濮嬫帓
+		int orderNum = Func.isEmpty(lastCodeBasicSec) || Func.isEmpty(lastCodeBasicSec.getOrderNum()) ? -1 : lastCodeBasicSec.getOrderNum();
 		if(basicSecDOS.isEmpty()){
 			return R.fail("鍏嬮殕鐨勭爜娈典俊鎭笉瀛樺湪锛�");
 		}
@@ -599,6 +617,8 @@
 			String oldBasicOid = newSecDO.getOid();
 			newSecDO.setId(newSecDO.getId());
 			newSecDO.setName(newSecDO.getName());
+			orderNum++;
+			newSecDO.setOrderNum(orderNum);
 			newSecDO.setPkCodeRule(pkCodeRule);
 			// 鍒ゆ柇鏄惁鏄垎绫荤爜娈�,涓氬姟閫昏緫绋嶅井澶嶆潅涓�鐐规墍浠ラ渶瑕佸厛鎻愬嚭鏉ュ崟鐙鐞�
 			if(newSecDO.getSecType().equals(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue())){
@@ -607,7 +627,7 @@
 				continue;
 			}
 			// 鏇存敼鍒涘缓鏃堕棿锛屼慨鏀规椂闂寸瓑榛樿鍊�
-			DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC);
+			DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC,null);
 			//鍥哄畾鐮佹
 			if(newSecDO.getSecType().equals(CodeSecTypeEnum.CODE_FIXED_SEC.getValue())){
 				// 鍥哄畾鐮佹瀛樺偍濂給id鍜岀爜鍊肩殑鍏宠仈鍏崇郴
@@ -632,7 +652,7 @@
 			value.stream().forEach(item -> {
 				item.setOid("");
 				item.setCodeFixedSecOid(key);
-				DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item);
+				DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item,null);
 				codeFixedDOValues.add(item);
 			});
 		});
@@ -677,7 +697,7 @@
 			}
 			codeClassValues.forEach((key, value) -> {
 				value.stream().forEach(item -> {
-					DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item);
+					DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item,null);
 					item.setCodeClassifySecOid(key);
 					codeClassifyDOValues.add(item);
 				});
@@ -1004,7 +1024,8 @@
 				wrapper = Wrappers.<CodeBasicSec>query().lambda()
 					.eq(CodeBasicSec::getPkCodeRule,codeRuleVO.getOid())
 					.eq(CodeBasicSec::getSerialDependFlag,"true")
-					.orderByAsc(CodeBasicSec::getSerialDependOrder);
+					.orderByAsc(CodeBasicSec::getOrderNum);
+					//.orderByAsc(CodeBasicSec::getSerialDependOrder);
 				List<CodeBasicSec> codeBasicSecList = this.list(wrapper);
 				if(!CollectionUtils.isEmpty(codeBasicSecList)){
 					List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecDO2VOs(codeBasicSecList);
@@ -1097,7 +1118,7 @@
 		}else{
 			//濡傛灉鏈�澶ф祦姘村彿涓嶄负绌猴紝璇存槑鏃犳渶濂芥祦姘村彿锛屾柊澧炴渶澶ф祦姘村彿
 			CodeSerialValue codeSerialValue = new CodeSerialValue();
-			DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSerialValue, MdmBtmTypeConstant.CODE_SERIAL_VALUE);
+			DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSerialValue, MdmBtmTypeConstant.CODE_SERIAL_VALUE,null);
 			codeSerialValue.setCodeRuleOid(codeRuleOid);
 			codeSerialValue.setSerialUnit(serialUnitString);
 			codeSerialValue.setCodeSecOid(codeBasicSec.getOid());

--
Gitblit v1.9.3