From 0c85d50d1b926ede730d0bbcb09d702bc190d227 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 04 十二月 2023 07:58:56 +0800
Subject: [PATCH] 集团码导出模板异常信息添加

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |  193 ++++++++++++++++++-----------------------------
 1 files changed, 74 insertions(+), 119 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 64c3a30..f9bfc98 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
@@ -7,7 +7,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+
 import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO;
 import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.entity.CodeClassifyTemplate;
@@ -15,29 +15,36 @@
 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.vo.pagemodel.UIFormReferVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
-import com.vci.ubcs.omd.feign.IAttributeClient;
+import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.starter.util.PatternUtil;
+import com.vci.ubcs.starter.util.UBCSCondition;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.pagemodel.*;
-import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.VciDateUtil;
 import com.vci.ubcs.system.entity.DictBiz;
 import com.vci.ubcs.system.feign.IDictBizClient;
+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.factory.annotation.Autowired;
-import org.springframework.cglib.beans.BeanMap;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -64,16 +71,14 @@
 	@Resource
 	private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper;
 
-	//	@Resource
-	//	CodeClstempattrMapper codeClstempattrMapper;
-		//	@Resource
-	//	ICodeTempphaseService codeTempphaseService;
-
 	@Resource
 	IDictBizClient iDictBizClient;
 
 	@Resource
 	CodeClassifyTemplateMapper codeClassifyTemplateMapper;
+
+	@Resource
+	private ICodeReferConfigService codeReferConfigService;
 
 	@Resource
 	@Lazy
@@ -89,7 +94,7 @@
 	 * 灞炴�ф湇鍔″璞�
 	 */
 	@Resource
-	private IAttributeClient attributeClient;
+	private IBtmTypeClient btmTypeClient;
 
 	/**
 	 * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴��
@@ -135,7 +140,7 @@
 		if(conditionMap == null){
 			conditionMap = new HashMap<String, String>();
 		}
-		return gridCodeClassifyTemplateAttr(Map2MPJLambdaUtil.getMPJLambdaWrapperByMapString(conditionMap, CodeClassifyTemplateAttr.class),pageHelper);
+		return gridCodeClassifyTemplateAttr(UBCSCondition.getMPJLambdaWrapperByMapString(conditionMap, CodeClassifyTemplateAttr.class),pageHelper);
 	}
 
 	@Override
@@ -160,7 +165,11 @@
 //			conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
 //			PageHelper pageHelper = new PageHelper(-1);
 //			pageHelper.addDefaultAsc("orderNum");
-			List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
+//			QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>();
+//			wrapper.in("classifytemplateoid",templateOids);
+//			wrapper.orderByAsc("orderNum");
+			List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoidRel(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
+//				baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
 
 			if(!CollectionUtils.isEmpty(attrDOS)){
 				attrDOList.addAll(attrDOS);
@@ -293,34 +302,17 @@
 			pageHelper = new PageHelper(-1);
 		}
 		pageHelper.addDefaultAsc("ordernum");
-//		IPage iPage = new IPage();
 		Query query = new Query();
 		query.setAscs("ordernum");
-//		query.setSize(100);
+		query.setSize(pageHelper.getLimit());
 		if(pageHelper.getLimit() != -1){
-			query.setSize(pageHelper.getLimit());
 			query.setCurrent(pageHelper.getPage());
 		}
-//		Condition.getPage(query)
-		CodeClassifyTemplateAttr codeClstempattrVO = new CodeClassifyTemplateAttr();
-//		BeanUtil.toBean(map,codeClstempattrVO);
-//		BeanUtil
-		BeanMap beanMap = BeanMap.create(codeClstempattrVO);
-
-		beanMap.putAll(conditionMap);
-//		Condition.getQueryWrapper(
 		IPage<CodeClassifyTemplateAttr> doList = baseMapper.
-			selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClstempattrVO));
-
-
+			selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class).orderByAsc("ordernum"));
 		if (!CollectionUtils.isEmpty(doList.getRecords())) {
-//			CodeClstempattrEntity codeClstempattrEntity = new CodeClstempattrEntity();
-//			BeanUtils.copyProperties(conditionMap, codeClstempattrEntity);
-//			List<CodeClstempattrEntity> codeClstempattrEntities = new ArrayList<>();
-//			BeanUtils.copyProperties(doList,codeClstempattrEntities);
-//			codeClstempattrEntities.addAll(doList);
 			dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords()));
-			dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(Condition.getQueryWrapper(codeClstempattrVO)))));
+			dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class)))));
 		}
 		return dataGrid;
 	}
@@ -369,8 +361,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<>();
@@ -381,6 +375,12 @@
 			//灏咲TO杞崲涓篋O
 			CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr();
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
+			codeClassifyTemplateAttrDO.setCreateTime(codeClassifyTemplateAttrDO.getCreateTime()!=null?codeClassifyTemplateAttrDO.getCreateTime():new Date());
+			// codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+			codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
+			codeClassifyTemplateAttrDO.setLastModifyTime(new Date());
+			// codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+			codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
 			codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO);
 
 			if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixValue())){
@@ -411,7 +411,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
@@ -422,7 +422,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});
 					}
@@ -430,17 +430,17 @@
 			}
 
 			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);
+			}
 		}
 
-		//鎵ц鏁版嵁淇濆瓨鎿嶄綔
-//		WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛�
-
 		//鍏堥兘鍒犱簡
-//		VciQueryWrapperForDO deleteAttrWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
-//		deleteAttrWrapper.addQueryMap("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID);
 		Map<String,Object> condition = new HashMap<>();
 		condition.put("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID);
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition);
@@ -450,11 +450,9 @@
 		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){
 			oids.add(codeClassifyTemplateAttrDO.getOid());
 		}
-//		BatchCBO batchCBOTemplateDelete = new BatchCBO();
 		if(!CollectionUtils.isEmpty(oids)){
-			baseMapper.deleteBatchIds(oids);
+			this.removeBatchByIds(oids);
 		}
-
 		//鍐嶆柊澧�
 		if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){
 			this.saveBatch(codeClassifyTemplateAttrDOInsert);
@@ -466,42 +464,34 @@
 
 		}
 
-
-//		SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 		//澶勭悊鍙緭鍙�夌殑瀛楃
 		if(!CollectionUtils.isEmpty(prefix)){
 			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);
 		}
 		if(!CollectionUtils.isEmpty(suffix)){
 			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);
 		}
 		if(!CollectionUtils.isEmpty(dateFormates)){
 			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);
 		}
-
-//		WebUtil.setPersistence(true);//鎵ц淇濆瓨
-//		boService.persistenceBatch(batchCBOTemplateDelete);//涓�璧锋墽琛屼繚瀛�
 		return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert);
 	}
 
@@ -555,7 +545,7 @@
 		}
 
 		//鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡
-		if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){
+		if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferBtmId())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferBtmId())){
 			throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!");
 		}
 
@@ -645,6 +635,7 @@
 	public  CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{
 		return codeClassifyTemplateAttrDO2VO(selectByOid(oid));
 	}
+
 	/**
 	 * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
 	 * @param oid 涓婚敭
@@ -693,21 +684,6 @@
 	}
 
 	/**
-	 * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛�
-	 * @param conditionMap 鏌ヨ鏉′欢
-	 * @param pageHelper 鍒嗛〉鍜屾帓搴�
-	 * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
-	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-	 */
-//	@Override
-//	public DataGrid<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-//		if(conditionMap == null){
-//			conditionMap = new HashMap<String, String>();
-//		}
-//		return gridCodeClassifyTemplateAttr(conditionMap,pageHelper);
-//	}
-
-	/**
 	 * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅鐨勬墍鏈夋湭閫夋嫨鐨勫睘鎬�
 	 * @param baseQueryObject
 	 * @return
@@ -732,54 +708,35 @@
 
 		//鏌ヨ妯℃澘瀵硅薄
 		CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid);
-
-		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
-		// 寰呭畬鍠�
-		List<BtmTypeAttributeVO> boAttrs = null;  //(List<BtmTypeAttributeVO>)attributeClient.selectById(codeClassifyTemplateDO.getBtmTypeId());// this.btmService.listAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
-		// codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());
-		// BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs);
-		//鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs
-		if(boAttrs == null){
-			boAttrs = new ArrayList<>();
+		// 娌℃湁妯℃澘瀵硅薄涓嶆墽琛岄�昏緫
+		if(Objects.isNull(codeClassifyTemplateDO)){
+			dataGrid.setData(new ArrayList<>());
+			dataGrid.setTotal(0);
+			return dataGrid;
 		}
-		if(!false){
-//			List<CodeOsbtmtypeattributeVO> finalBoAttrs = boAttrs;
-//			attributeService.getDefaultAttributeVOs().stream().forEach(attr-> {
-//				CodeOsbtmtypeattributeVO attributeVO = new CodeOsbtmtypeattributeVO();
-//				BeanUtil.convert(attr, attributeVO);
-//				if ("id".equalsIgnoreCase(attributeVO.getId())) {
-//					attributeVO.setName("浼佷笟缂栫爜");
-//				}
-//				if ("name".equalsIgnoreCase(attributeVO.getId())) {
-//					attributeVO.setName("闆嗗洟鐮�");
-//				}
-//				attributeVO.setAttrDataType(attr.getAttributeDataType());
-//				attributeVO.setAttributeLength(attr.getAttrLength());
-//				attributeVO.setReferBtmTypeId(attr.getBtmTypeId());
-//				attributeVO.setReferBtmTypeName(attr.getBtmTypeName());
-//				finalBoAttrs.add(attributeVO);
-//			});
-//			boAttrs = finalBoAttrs;
-			Object o = null;
+		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
+		R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
+		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:boAttrs){
-			if(!btmOids.contains(osBtmTypeAttributeVO.getId())){
+		for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){
+			if(!btmIds.contains(osBtmTypeAttributeVO.getId())){
 				//鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ
 				boolean inSearch = true;
 				if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){
@@ -789,10 +746,16 @@
 					inSearch = false;
 				}
 				if(inSearch) {
+					if(!VciFieldTypeEnum.VTDouble.equals(osBtmTypeAttributeVO.getAttrDataType())){
+						osBtmTypeAttributeVO.setPrecisionLength(null);
+						osBtmTypeAttributeVO.setScaleLength(null);
+					}
 					boAttrss.add(osBtmTypeAttributeVO);
 				}
 			}
 		}
+		// 鎸夌収id鍗囧簭鎺掑簭
+		boAttrss = boAttrss.stream().sorted(Comparator.comparing(BtmTypeAttributeVO::getId)).collect(Collectors.toList());
 		dataGrid.setData(boAttrss);
 		dataGrid.setTotal(boAttrss.size());
 		return dataGrid;
@@ -820,21 +783,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