From 27cddefb0cb28da699954ba1a1756d6bcabafbbe Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 05 三月 2025 17:41:29 +0800
Subject: [PATCH] 集成申码接口调整:当码值按照约定传表名为空的业务场景下传null校验问题和码值组装问题。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 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 cb8321f..cf3caef 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
@@ -230,7 +230,7 @@
 	 * @return 鎵ц缁撴灉
 	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
 	 */
-	@Override
+	 @Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean addSave(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
 		VciBaseUtil.alertNotNull(codeBasicSecDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeBasicSecDTO.getPkCodeRule(),"缂栫爜瑙勫垯鐨勪富閿�");
@@ -272,7 +272,7 @@
 		//寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸垽鏂弬鐓х殑淇℃伅鏄惁姝g‘
 		if(CodeSecTypeEnum.CODE_REFER_SEC.getValue().equalsIgnoreCase(codeBasicSecDO.getSecType())){
 			if(StringUtils.isBlank(codeBasicSecDO.getReferConfig())){
-				throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸~鍐� 鍙傜収閰嶇疆鐨勫唴瀹�");
+				throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸~鍐欏弬鐓ч厤缃殑鍐呭");
 			}
 			try{
 				//JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
@@ -361,10 +361,10 @@
 	 */
 	@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
@@ -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();
@@ -596,7 +605,7 @@
 			.last("limit 1");
 		CodeBasicSec lastCodeBasicSec = codeBasicSecMapper.selectOne(lastBasicWrapper);
 		// 鎺掑簭鍙蜂粠杩欏効寮�濮嬫帓
-		int orderNum = Func.isEmpty(lastCodeBasicSec.getOrderNum()) ? 0:lastCodeBasicSec.getOrderNum();
+		int orderNum = Func.isEmpty(lastCodeBasicSec) || Func.isEmpty(lastCodeBasicSec.getOrderNum()) ? -1 : lastCodeBasicSec.getOrderNum();
 		if(basicSecDOS.isEmpty()){
 			return R.fail("鍏嬮殕鐨勭爜娈典俊鎭笉瀛樺湪锛�");
 		}
@@ -1015,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);
@@ -1059,7 +1069,8 @@
 			.eq(CodeBasicSec::getPkCodeRule,codeRuleOid)
 			.in(CodeBasicSec::getOid,codeBasicSecOidList)
 			.eq(CodeBasicSec::getSerialDependFlag,"true")
-			.orderByAsc(CodeBasicSec::getSerialDependOrder);
+			//TODO: SerialDependOrder鏈潵鏄敤鏉ユ祦姘存帓搴忕殑锛屼絾鏄幇鍦ㄧ殑閫昏緫鏄寜鐓rderuNum鎺掑簭鐨�
+			.orderByAsc(CodeBasicSec::getOrderNum); //.orderByAsc(CodeBasicSec::getSerialDependOrder);
 		List<CodeBasicSec> codeBasicSecList = this.list(wrapper);
 
 		//鎸夋祦姘翠緷璧栭『搴忥紝澶勭悊娴佹按渚濊禆鐮佹鐨勫��
@@ -1139,7 +1150,8 @@
 			.eq(CodeBasicSec::getPkCodeRule,codeRuleOid)
 			.in(CodeBasicSec::getOid,codeBasicSecOidList)
 			.eq(CodeBasicSec::getSerialDependFlag,"true")
-			.orderByAsc(CodeBasicSec::getSerialDependOrder);
+			.orderByAsc(CodeBasicSec::getOrderNum); //.orderByAsc(CodeBasicSec::getSerialDependOrder);
+
 		List<CodeBasicSec> codeBasicSecList = this.list(wrapper);
 		//鎸夋祦姘翠緷璧栭『搴忥紝澶勭悊娴佹按渚濊禆鐮佹鐨勫��
 		List<String> serialDependValueList = new ArrayList<>();

--
Gitblit v1.9.3