Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -38,6 +38,7 @@ import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.code.webService.config.AttributeMapConfig; import com.vci.ubcs.omd.cache.EnumCache; import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.exception.VciBaseException; @@ -543,9 +544,10 @@ SectionVOList.stream().forEach(SectionVO -> { sectionVOMap.put(SectionVO.getName(), SectionVO.getValue()); }); //Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2)); List<CodeOrderSecDTO> codeOrderSecDTOList = new ArrayList<>(); Map<String, String> errorMap = new HashMap<>(); String nullSymbol = EnumCache.getValue("nullSymbol", "NULL"); nullSymbol = Func.isBlank(nullSymbol) ? "#NaN?":nullSymbol; for (CodeBasicSecVO codeBasicSecVO : codeBasicSecVOS) { String sectype = codeBasicSecVO.getSecType(); String newSecName = codeBasicSecVO.getName(); @@ -568,7 +570,7 @@ if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) { Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2)); if (codeClassifyValueDOMap.containsKey(sectypeValue)) { if (codeClassifyValueDOMap.containsKey(sectypeValue) || nullSymbol.equals(sectypeValue)) { CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue); sectypeValue = codeClassifyValue.getOid(); } else { @@ -578,7 +580,7 @@ } } } if (StringUtils.isBlank(sectypeValue)) { if (StringUtils.isBlank(sectypeValue)&&!name.equals(secName)) { message = "传入的分类码段:【" + name + " 】的值不允许为空"; errorMap.put("error", errorMap.getOrDefault("error", "") + ";" + message); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -822,7 +822,8 @@ case CODE_CLASSIFY_SEC: //分类码段的,也是从前端选择了码值即可,不论码值的长度是多少 CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue); if(Func.isBlank(codeClassifyValueDO.getId())){ //当码值为空或#NaN?时即表示作为空字符串进行拼接 if(Func.isBlank(codeClassifyValueDO.getId()) || codeClassifyValueDO.getId().equals("#NaN?")){ codeClassifyValueDO.setId(""); } if(codeClassifyValueDO!=null) { @@ -1329,7 +1330,7 @@ case CODE_CLASSIFY_SEC: //分类码段的,也是从前端选择了码值即可,不论码值的长度是多少 CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue); if(Func.isBlank(codeClassifyValueDO.getId())){ if(Func.isBlank(codeClassifyValueDO.getId()) || codeClassifyValueDO.getId().equals("#NaN?")){ codeClassifyValueDO.setId(""); } if(codeClassifyValueDO!=null) { Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -38,7 +38,10 @@ import com.vci.ubcs.code.webService.annotation.VciWebservice; import com.vci.ubcs.code.webService.config.AttributeMapConfig; import com.vci.ubcs.code.webService.config.PersonAndDeptConfig; import com.vci.ubcs.omd.cache.EnumCache; import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.feign.IDictClient; import com.vci.ubcs.omd.feign.IEnumClient; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.TreeQueryObject; @@ -2423,8 +2426,13 @@ return codeOrderSecDTOList; } /*** /** * 根据传入的参数信息校验码段规则 * @param SectionVOList * @param ruleVO * @param classifyFullInfo * @return * @throws Throwable */ private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo) throws Throwable{ List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList(); @@ -2440,6 +2448,9 @@ // String newSecName=codeBasicSecVO.getName(); String classifySecOid= codeBasicSecVO.getOid(); String message=""; //#NaN?表示码值为空的场景 String nullSymbol = EnumCache.getValue("nullSymbol", "NULL"); nullSymbol = Func.isBlank(nullSymbol) ? "#NaN?":nullSymbol; if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) { String name = codeBasicSecVO.getName(); String sectypeText = codeBasicSecVO.getSecTypeText(); @@ -2456,8 +2467,8 @@ List<CodeClassifyValue> codeClassifyValueDOList = codeClassifyValueService.list(Wrappers.<CodeClassifyValue>query().lambda().eq(CodeClassifyValue::getCodeClassifySecOid,classifySecOid)); if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) { Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2)); if(codeClassifyValueDOMap.containsKey(sectypeValue)){ CodeClassifyValue codeClassifyValue= codeClassifyValueDOMap.get(sectypeValue); if(codeClassifyValueDOMap.containsKey(sectypeValue) || nullSymbol.equals(sectypeValue)){ CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue); sectypeValue=codeClassifyValue.getOid(); }else { //throw new Throwable("传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号");