From aa6be631961866afbee6b866b1fbb84a50da3910 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 02 八月 2023 12:20:01 +0800
Subject: [PATCH] 1、通用查询数据类型报错问题。 2、通用更新列重复问题。

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

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index fca8f5d..25d7234 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -15,7 +15,9 @@
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper;
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
 import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
+import com.vci.ubcs.code.service.ICodeReferConfigService;
 import com.vci.ubcs.code.service.ICodeTempphaseService;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
 import com.vci.ubcs.omd.feign.IAttributeClient;
@@ -39,7 +41,9 @@
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cglib.beans.BeanMap;
@@ -69,16 +73,14 @@
 	@Resource
 	private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper;
 
-	//	@Resource
-	//	CodeClstempattrMapper codeClstempattrMapper;
-		//	@Resource
-	//	ICodeTempphaseService codeTempphaseService;
-
 	@Resource
 	IDictBizClient iDictBizClient;
 
 	@Resource
 	CodeClassifyTemplateMapper codeClassifyTemplateMapper;
+
+	@Resource
+	private ICodeReferConfigService codeReferConfigService;
 
 	@Resource
 	@Lazy
@@ -304,8 +306,8 @@
 		pageHelper.addDefaultAsc("ordernum");
 		Query query = new Query();
 		query.setAscs("ordernum");
+		query.setSize(pageHelper.getLimit());
 		if(pageHelper.getLimit() != -1){
-			query.setSize(pageHelper.getLimit());
 			query.setCurrent(pageHelper.getPage());
 		}
 		IPage<CodeClassifyTemplateAttr> doList = baseMapper.
@@ -361,8 +363,10 @@
 			throw new VciBaseException("妯℃澘灞炴�ц嫳鏂囧悕绉般�恵0}銆戦噸澶�",new String[]{ repeatIdList.stream().collect(Collectors.joining(","))});
 		}
 
-		//妯℃澘oid
+		// 妯℃澘oid
 		String CLASSIFYTEMPLATEOID = null;
+		//
+		CodeReferConfigVO codeReferConfigVO = null;
 		//杞崲
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClassifyTemplateAttr>();
 		List<String> prefix = new ArrayList<>();
@@ -403,7 +407,7 @@
 				throw new VciBaseException("{0}{1}灞炴�х殑鏃堕棿鏍煎紡涓嶇鍚堣姹�",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
 			}
 			//濡傛灉鏄粍鍚堣鍒欙紝閲岄潰浣跨敤鐨勫睘鎬т笉鑳界己澶憋紝涔熼兘寰楁樉绀�
-			String componentrule = codeClassifyTemplateAttrDTO.getComponentrule();
+			String componentrule = codeClassifyTemplateAttrDTO.getComponentRule();
 			boolean isContainsDynamicParameter = PatternUtil.isContainsDynamicParameter(componentrule);
 			if(isContainsDynamicParameter){
 				List<String> userdAttrList =  PatternUtil.getKeyListByContent(componentrule);//鍖呭惈鐨勬墍鏈�${xxx}涓殑xxx
@@ -414,7 +418,7 @@
 					}
 					//瑕佺湅鐪嬭〃鍗曟槸鍚︽樉绀�
 					String unFormDisplayAttr = userdAttrList.stream().filter(s -> !VciBaseUtil.getBoolean(attrDTOMap.getOrDefault(s.toLowerCase(Locale.ROOT),
-						new CodeClassifyTemplateAttrDTO()).getFormdisplayflag())).collect(Collectors.joining(","));
+						new CodeClassifyTemplateAttrDTO()).getFormDisplayFlag())).collect(Collectors.joining(","));
 					if(StringUtils.isNotBlank(unFormDisplayAttr)){
 						throw new VciBaseException("{0}灞炴�ф槸缁勫悎瑙勫垯锛屼絾鏄鍒欓噷鍖呭惈鐨勫睘鎬{1}]鍦ㄥ綋鍓嶆ā鏉夸腑娌℃湁璁剧疆 琛ㄥ崟鏄剧ず ",new String[]{codeClassifyTemplateAttrDO.getName(),unFormDisplayAttr});
 					}
@@ -422,7 +426,13 @@
 			}
 
 			if(CLASSIFYTEMPLATEOID==null){
-				CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifytemplateoid();
+				CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifyTemplateOid();
+			}
+
+			// 鍙傜収閰嶇疆鏄惁闇�瑕佹寔涔呭寲
+			codeReferConfigVO = JSONObject.parseObject(codeClassifyTemplateAttrDTO.getReferConfig(), CodeReferConfigVO.class);
+			if(Func.isNotEmpty(codeReferConfigVO) && codeReferConfigVO.getIsPersistence()=="true"){
+				codeReferConfigService.insert(codeReferConfigVO);
 			}
 
 		}
@@ -444,9 +454,12 @@
 		}
 //		BatchCBO batchCBOTemplateDelete = new BatchCBO();
 		if(!CollectionUtils.isEmpty(oids)){
-			baseMapper.deleteBatchIds(oids);
+			this.removeBatchByIds(oids);
 		}
-
+		String tenantId = AuthUtil.getTenantId().toString();
+		codeClassifyTemplateAttrDOInsert.parallelStream().forEach(item->{
+			item.setTenantId(tenantId);
+		});
 		//鍐嶆柊澧�
 		if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){
 			this.saveBatch(codeClassifyTemplateAttrDOInsert);
@@ -465,8 +478,8 @@
 			for (String s : prefix) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("prefix");
+				dictBiz.setDictKey("prefix");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //				.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo);
@@ -475,8 +488,8 @@
 			for (String s : suffix) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("suffix");
+				dictBiz.setDictKey("suffix");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo);
@@ -485,8 +498,8 @@
 			for (String s : dateFormates) {
 				DictBiz dictBiz = new DictBiz();
 				dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
-				dictBiz.setDictKey(s);
-				dictBiz.setDictValue("dateFormates");
+				dictBiz.setDictKey("dateFormates");
+				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
 //			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo);
@@ -547,7 +560,7 @@
 		}
 
 		//鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡
-		if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){
+		if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferBtmId())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferBtmId())){
 			throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!");
 		}
 
@@ -718,27 +731,27 @@
 		}
 		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
 		R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
-		if(btmTypeVOR.getCode() != 200){
-			throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤澶辫触锛�");
+		if(!btmTypeVOR.isSuccess()){
+			throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤閿欒锛�");
 		}
 
 		//杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
-//		VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
-//		queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid);
+		// VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
+		// queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid);
 		Map<String,Object> condition = new HashMap<>(1);
 		condition.put("CLASSIFYTEMPLATEOID",templateAttrOid);
+
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition);
 
-		List<String> btmOids = new ArrayList<String>();
+		List<String> btmIds = new ArrayList<String>();
 		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){
-			btmOids.add(codeClassifyTemplateAttrDO.getId());
+			btmIds.add(codeClassifyTemplateAttrDO.getId());
 		}
 
 		//杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴��
 		List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>();
-
 		for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){
-			if(!btmOids.contains(osBtmTypeAttributeVO.getId())){
+			if(!btmIds.contains(osBtmTypeAttributeVO.getId())){
 				//鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ
 				boolean inSearch = true;
 				if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){
@@ -752,6 +765,8 @@
 				}
 			}
 		}
+		// 鎸夌収id鍗囧簭鎺掑簭
+		boAttrss = boAttrss.stream().sorted(Comparator.comparing(BtmTypeAttributeVO::getId)).collect(Collectors.toList());
 		dataGrid.setData(boAttrss);
 		dataGrid.setTotal(boAttrss.size());
 		return dataGrid;
@@ -779,21 +794,13 @@
 		CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid);
 
 		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
-		// 寰呭畬鍠�
-		List<BtmTypeAttributeVO> boAttrs =  null; // (List<BtmTypeAttributeVO>) attributeClient.selectById(codeClassifyTemplateDO.getBtmTypeId());//this.btmService.listAttributeByBtmIdHasDefault(codeClassifyTemplateDO.getBtmTypeId());
-//		codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());
-//		BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs);
+		// TODO 宸插畬鍠�
+		List<BtmTypeAttributeVO> boAttrs =  (List<BtmTypeAttributeVO>) btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
 		//杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
 		//鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs
 		if(boAttrs == null){
 			boAttrs = new ArrayList<>();
 		}
-//		VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
-//		queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid);
-
-//		Map<String,Object> condition = new HashMap<>(1);
-//		condition.put("CLASSIFYTEMPLATEOID",templateAttrOid);
-
 		QueryWrapper<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>();
 		wrapper.eq("CLASSIFYTEMPLATEOID",templateAttrOid);
 

--
Gitblit v1.9.3