From 91560799c8088421983a6168c95b84a5d617df05 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 17 十一月 2023 02:00:44 +0800 Subject: [PATCH] 历史数据导入、批量申请、申请编码接口代码逻辑中关键属性校验增加过滤条件 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java | 81 ++++++++++++++++++++++------------------ 1 files changed, 45 insertions(+), 36 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 10740cd..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,34 +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.web.pagemodel.PageHelper; -import com.vci.ubcs.starter.web.util.BeanUtil; 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 com.vci.ubcs.core.log.exception.ServiceException; +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.springframework.beans.BeanUtils; +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; @@ -74,6 +76,9 @@ @Resource CodeClassifyTemplateMapper codeClassifyTemplateMapper; + + @Resource + private ICodeReferConfigService codeReferConfigService; @Resource @Lazy @@ -299,12 +304,12 @@ 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. - selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class)); + selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class).orderByAsc("ordernum")); if (!CollectionUtils.isEmpty(doList.getRecords())) { dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords())); dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class))))); @@ -356,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<>(); @@ -368,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())){ @@ -420,14 +433,14 @@ 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); @@ -437,11 +450,9 @@ for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){ oids.add(codeClassifyTemplateAttrDO.getOid()); } -// BatchCBO batchCBOTemplateDelete = new BatchCBO(); if(!CollectionUtils.isEmpty(oids)){ this.removeBatchByIds(oids); } - //鍐嶆柊澧� if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ this.saveBatch(codeClassifyTemplateAttrDOInsert); @@ -453,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); } @@ -713,8 +716,8 @@ } //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId()); - if(btmTypeVOR.getCode() != 200){ - throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤澶辫触锛�"); + if(!btmTypeVOR.isSuccess()){ + throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤閿欒锛�"); } //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� @@ -722,18 +725,18 @@ // 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("*",""))){ @@ -743,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; -- Gitblit v1.9.3