From ded6e8d2312e139e8ce770c7f1d5830bf2db4af6 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 19 七月 2023 11:39:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java index 984f76a..519f132 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java @@ -3,15 +3,18 @@ import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.BeanUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.entity.CodeAllCode; +import com.vci.ubcs.code.entity.CodeClassifyValue; import com.vci.ubcs.code.entity.CodeSerialValue; import com.vci.ubcs.code.enumpack.CodeCutTypeEnum; import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; +import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; import com.vci.ubcs.code.mapper.CodeSerialValueMapper; import com.vci.ubcs.code.service.ICodeWupinService; import com.vci.ubcs.code.service.MdmEngineService; @@ -49,6 +52,12 @@ */ @Resource private CodeSerialValueMapper serialValueMapper; + + /** + * 娴佹按鍙风殑鐩稿叧鐨勪俊鎭� + */ + @Resource + private CodeClassifyValueMapper codeClassifyValueMapper; /** * 鎵�鏈夌殑缂栫爜鐨勫唴瀹� @@ -104,6 +113,7 @@ String[] secLengths = cbo.getData().get(CODE_SEC_LENGTH_FIELD).split("#"); cbo.getData().remove(CODE_SEC_LENGTH_FIELD);//灏嗘key闄ゅ幓 cbo.getData().remove(IMPORT_ROW_INDEX);//灏嗘key闄ゅ幓 + cbo.getData().remove("codeclassifyid");//灏嗘key闄ゅ幓 List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList()); Map<String/**鐮佹鐨勪富閿�**/,String/**鐮佹鐨勫��**/> serialValueMap = new HashMap<>(); Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); @@ -290,6 +300,9 @@ for (int i = 0; i < dataCBOList.size(); i++) { BaseModel cbo = dataCBOList.get(i); + cbo.getData().remove(CODE_SEC_LENGTH_FIELD);//灏嗘key闄ゅ幓 + cbo.getData().remove(IMPORT_ROW_INDEX);//灏嗘key闄ゅ幓 + cbo.getData().remove("codeclassifyid");//灏嗘key闄ゅ幓 List<String> thisSecValueList = new LinkedList<>(); for (int j = 0; j < secValueList.size(); j++) { thisSecValueList.add(secValueList.get(j)); @@ -323,15 +336,17 @@ } saveSerialValue( ruleVO, lastMaxSerialValueMap, maxSerialValueMap); + allCodeDOList.stream().forEach( + allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");} + ); + + Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { s.setLcStatus(statusMap.get(s.getOid())); }); - allCodeDOList.stream().forEach( - allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");} - ); codeAllCodeService.saveBatch(allCodeDOList); // iCodeWupinService.saveBatch(dataCBOList); @@ -500,6 +515,10 @@ break; case CODE_CLASSIFY_SEC: //鍒嗙被鐮佹鐨勶紝涔熸槸浠庡墠绔�夋嫨浜嗙爜鍊煎嵆鍙紝涓嶈鐮佸�肩殑闀垮害鏄灏� + CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue); + if(codeClassifyValueDO!=null) { + secValue = codeClassifyValueDO.getId(); + } break; case CODE_LEVEL_SEC: //灞傜骇鐮佹锛岄渶瑕佷粠鍒嗙被涓婅幏鍙栫浉搴旂殑淇℃伅 @@ -780,8 +799,13 @@ * @param rule 瑙勫垯鐨勫唴瀹� * @return 杞崲鍚庣殑 */ - private String getValueByFormulaForCBO(BaseModel cbo,String rule){ - Map<String, Object> dataMap = BeanUtils.beanToMap(cbo); + private String getValueByFormulaForCBO(BaseModel cbo,String rule) { + Map<String, Object> dataMap = null; + try{ + dataMap = VciBaseUtil.convertBean2Map(cbo,null); + }catch(Exception e){ + throw new VciBaseException("mapToBeanError:"+e); + } Map<String, String> map = new HashMap<String, String>(); for (String i : dataMap.keySet()) { map.put(i, String.valueOf(dataMap.get(i))); -- Gitblit v1.9.3