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/CodeClassifyTemplateAttrServiceImpl.java | 248 ++++++++++++++++++++++++------------------------- 1 files changed, 122 insertions(+), 126 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 6410775..1874a0c 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 @@ -2,41 +2,56 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.entity.CodeClassifyTemplate; +import com.vci.ubcs.code.entity.CodeSynonym; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; -import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; +import com.vci.ubcs.code.service.ICodeReferConfigService; +import com.vci.ubcs.code.service.ICodeSynonymService; import com.vci.ubcs.code.service.ICodeTempphaseService; -import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; +import com.vci.ubcs.code.vo.CodeReferConfigVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO; +import com.vci.ubcs.code.vo.pagemodel.UIFormReferVO; import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; +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; @@ -63,25 +78,34 @@ @Resource private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper; - // @Resource - // CodeClstempattrMapper codeClstempattrMapper; - // @Resource - // ICodeTempphaseService codeTempphaseService; - @Resource IDictBizClient iDictBizClient; + @Resource CodeClassifyTemplateMapper codeClassifyTemplateMapper; + @Resource - CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; + private ICodeReferConfigService codeReferConfigService; + @Resource @Lazy ICodeTempphaseService codeTempphaseService; + /** * 瀵硅薄鐨勬搷浣� */ @Autowired(required = false) private RevisionModelUtil revisionModelUtil; + + /** + * 灞炴�ф湇鍔″璞� + */ + @Resource + private IBtmTypeClient btmTypeClient; + + @Resource + @Lazy + private ICodeSynonymService codeSynonymService; /** * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� @@ -127,7 +151,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 @@ -152,7 +176,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); @@ -188,12 +216,20 @@ * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{ + public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{ CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO(); if(codeClassifyTemplateAttrDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType())); + if(Func.isNotBlank(codeClassifyTemplateAttrDO.getSysonymRuleOids())){ + vo.setSysonymRuleOidsText( + codeSynonymService.selectNameByWrapper( + Wrappers.<CodeSynonym>query() + .lambda().in(CodeSynonym::getOid, Func.toStrList(",", codeClassifyTemplateAttrDO.getSysonymRuleOids())) + ) + ); + } } return vo; } @@ -285,34 +321,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; } @@ -328,6 +347,7 @@ //灏咲TO杞崲涓篋O CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateAttrDO,"codeclstempattr"); baseMapper.insert(codeClassifyTemplateAttrDO); return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); } @@ -360,8 +380,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<>(); @@ -372,6 +394,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())){ @@ -402,7 +430,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 @@ -413,7 +441,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}); } @@ -421,17 +449,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); @@ -441,11 +469,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); @@ -457,42 +483,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); } @@ -505,6 +523,7 @@ } return isKV; } + public boolean checkKVObj(String kvString){ boolean isKV = true; try { @@ -545,7 +564,7 @@ } //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){ + if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferBtmId())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferBtmId())){ throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!"); } @@ -635,6 +654,7 @@ public CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{ return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); } + /** * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 * @param oid 涓婚敭 @@ -683,31 +703,16 @@ } /** - * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� - * @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 */ @Override - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ + public DataGrid<BtmTypeAttributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ if(baseQueryObject.getConditionMap() == null){ baseQueryObject.setConditionMap(new HashMap<>()); } - DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); + DataGrid<BtmTypeAttributeVO> dataGrid=new DataGrid<BtmTypeAttributeVO>(); //妯℃澘oid String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); String name = baseQueryObject.getConditionMap().getOrDefault("name",""); @@ -722,53 +727,35 @@ //鏌ヨ妯℃澘瀵硅薄 CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid); - - //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.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<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); - - for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ - if(!btmOids.contains(osBtmTypeAttributeVO.getId())){ + List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>(); + for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){ + if(!btmIds.contains(osBtmTypeAttributeVO.getId())){ //鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ boolean inSearch = true; if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){ @@ -778,10 +765,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; @@ -793,8 +786,8 @@ * @return */ @Override - public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ - DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); + public DataGrid<BtmTypeAttributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ + DataGrid<BtmTypeAttributeVO> dataGrid=new DataGrid<BtmTypeAttributeVO>(); //妯℃澘oid String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); @@ -809,20 +802,13 @@ CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid); //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.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); @@ -833,9 +819,9 @@ } //杩囨护鎺夐櫎浜嗚嚜韬殑鍒殑灞炴�� - List<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); + List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>(); - for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ + for (BtmTypeAttributeVO osBtmTypeAttributeVO:boAttrs){ if(btmOids.contains(osBtmTypeAttributeVO.getId())){ boAttrss.add(osBtmTypeAttributeVO); } @@ -903,4 +889,14 @@ return R.success("鎿嶄綔鎴愬姛锛�"); } + /** + * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ + * @param wrapper 鏌ヨ灏佽鍣� + * @return 鏁版嵁瀵硅薄 + */ + @Override + public List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper) { + return codeClassifyTemplateAttrMapper.selectList(wrapper); + } + } -- Gitblit v1.9.3