xiejun
2023-07-06 353bc1b8b4650f144a65b9125457253051e68492
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -858,31 +858,57 @@
                  CodeRuleVO resultClassifyRuleVO1=new CodeRuleVO();
                  List<CodeBasicSecVO>  codeBasicSecVOS=   codeRuleVO.getSecVOList();
                  List<CodeSectionVO> codeSectionVOList=new CopyOnWriteArrayList<>();
                  Map<String,List<String>> secIdTOListValueOidMap=new HashMap<>();
                  if(!CollectionUtils.isEmpty(codeBasicSecVOS)){
                     codeBasicSecVOS.stream().forEach(codeBasicSecVO -> {
                        List<CodeSectionValueVO> codeSectionValueVOList=new ArrayList<>();
                        String secType=   codeBasicSecVO.getSecType();
                        if(secType.equals("codevariablesec")){//可变码段
                           CodeSectionValueVO sectionValueVO=new CodeSectionValueVO("","","","","");
                           codeSectionValueVOList.add(sectionValueVO);
                           //空着,前端传
                        }else if(secType.equals("codefixedsec")){//固定码段
                           List<CodeFixedValueVO> fixedValueVOList=codeBasicSecVO.getFixedValueVOList();
                           fixedValueVOList.stream().forEach(codeFixedValueVO -> {
                           CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeFixedValueVO.getOid(),codeFixedValueVO.getOrderNum()+"",codeFixedValueVO.getId(),codeFixedValueVO.getName(),codeFixedValueVO.getDescription());
                              String id=StringUtils.isBlank(codeFixedValueVO.getOid())?"":codeFixedValueVO.getOid();
                              String value=StringUtils.isBlank(codeFixedValueVO.getId())?"":codeFixedValueVO.getId();
                              String num=StringUtils.isBlank(codeFixedValueVO.getOrderNum()+"")?"":codeFixedValueVO.getOrderNum()+"";
                              String name=StringUtils.isBlank(codeFixedValueVO.getName())?"":codeFixedValueVO.getName();
                              String description=StringUtils.isBlank(codeFixedValueVO.getDescription())?"":codeFixedValueVO.getDescription();
                           CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,"",description);
                           codeSectionValueVOList.add(sectionValueVO);
                           });
                        }else if(secType.equals("codeclassifysec")){//分类码段
                           String  secOid=codeBasicSecVO.getOid();
                           String parentClassifySecOid= codeBasicSecVO.getParentClassifySecOid();
                           List<CodeClassifyValueVO> codeClassifyValueVOS=   this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifySecOid);
                           if(CollectionUtils.isEmpty(codeClassifyValueVOS)){
                           String parentClassifyValueOid="";
                           if(secIdTOListValueOidMap.containsKey(parentClassifySecOid)){
                              List<String> parentClassifyValueList= secIdTOListValueOidMap.get(parentClassifySecOid);
                              parentClassifyValueOid=VciBaseUtil.array2String(parentClassifyValueList.toArray(new String[]{}));
                           }
                           List<CodeClassifyValueVO> codeClassifyValueVOS=   this.codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifyValueOid);
                           if(!CollectionUtils.isEmpty(codeClassifyValueVOS)){
                              List<String>valueOidList=new ArrayList<>();
                              codeClassifyValueVOS.stream().forEach(codeClassifyValueVO -> {
                                 CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(codeClassifyValueVO.getOid(),codeClassifyValueVO.getOrderNum()+"",codeClassifyValueVO.getId(),codeClassifyValueVO.getName(),codeClassifyValueVO.getDescription());
                                 String id=StringUtils.isBlank(codeClassifyValueVO.getOid())?"":codeClassifyValueVO.getOid();
                                 String value=StringUtils.isBlank(codeClassifyValueVO.getId())?"":codeClassifyValueVO.getId();
                                 String num=StringUtils.isBlank(codeClassifyValueVO.getOrderNum()+"")?"":codeClassifyValueVO.getOrderNum()+"";
                                 String name=StringUtils.isBlank(codeClassifyValueVO.getName())?"":codeClassifyValueVO.getName();
                                 String pid=StringUtils.isBlank(codeClassifyValueVO.getParentClassifyValueOid())?"":codeClassifyValueVO.getParentClassifyValueOid();
                                 String description=StringUtils.isBlank(codeClassifyValueVO.getDescription())?"":codeClassifyValueVO.getDescription();
                                 CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,pid,description);
                                 codeSectionValueVOList.add(sectionValueVO);
                                 valueOidList.add(id);
                              });
                              secIdTOListValueOidMap.put(secOid,valueOidList);
                           }
                        }else if(secType.equals("codedatesec")){//日期码段
                           //空着,前端传
                        }else if(secType.equals("coderefersec")){//引用码段
                           codeBasicSecVO.getReferAttributeId();
                           codeBasicSecVO.getReferCodeClassifyOid();
                           codeBasicSecVO.getReferBtmId();
                           codeBasicSecVO.getReferBtmName();
                           //codeBasicSecVO.getReferValueInfo();
                        }else if(secType.equals("codelevelsec")) {//层级码段
                           int level = codeBasicSecVO.getCodeLevelValue();
@@ -896,44 +922,58 @@
                           }else{//最小层
                              levelCodeClassifyVO=codeClassifyDO;
                           }
                           CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(levelCodeClassifyVO.getOid(),"0",levelCodeClassifyVO.getId(),codeBasicSecVO.getName(),codeBasicSecVO.getDescription());
                           String id=StringUtils.isBlank(levelCodeClassifyVO.getOid())?"":levelCodeClassifyVO.getOid();
                           String num="";
                           String value=StringUtils.isBlank(levelCodeClassifyVO.getId())?"":levelCodeClassifyVO.getId();
                           String name=StringUtils.isBlank(levelCodeClassifyVO.getName())?"":levelCodeClassifyVO.getName();
                           String description=StringUtils.isBlank(levelCodeClassifyVO.getDescription())?"":levelCodeClassifyVO.getDescription();
                           CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id,num,value,name,"",description);
                           codeSectionValueVOList.add(sectionValueVO);
                        }else if(secType.equals("codeattrsec")){//属性码段
                           codeBasicSecVO.getReferAttributeId();
                           codeBasicSecVO.getReferCodeClassifyOid();
                           codeBasicSecVO.getReferBtmId();
                           codeBasicSecVO.getReferBtmName();
                        }else if(secType.equals("codeserialsec")){//流水码段
                        }
                        //构建规则码段
                        CodeSectionVO codeSectionVO=new CodeSectionVO();
                        codeSectionVO.setId(codeBasicSecVO.getOid());//主键
                        codeSectionVO.setName(codeBasicSecVO.getName());//码段名称
                        codeSectionVO.setCodeSecLength(codeBasicSecVO.getCodeSecLength());//码段长度
                        codeSectionVO.setNum(codeBasicSecVO.getId());//码段编号
                        codeSectionVO.setCodeDateFormatStr(codeBasicSecVO.getCodeDateFormatStr());//日期类型
                        codeSectionVO.setCodeSecLengthType(codeBasicSecVO.getCodeSecLengthType());//码段长度类型
                        codeSectionVO.setPkCodeRule(codeRuleVO.getOid());
                        codeSectionVO.setSecType(codeBasicSecVO.getSecType());//码段类型
                        codeSectionVO.setDescription(codeBasicSecVO.getDescription());
                        codeSectionVO.setParentClassifySecOid(codeBasicSecVO.getParentClassifySecOid());
                        codeSectionVO.setSectionValue(codeSectionValueVOList);
                        codeSectionVO.setId(StringUtils.isBlank(codeBasicSecVO.getOid())?"":codeBasicSecVO.getOid());//主键
                        codeSectionVO.setName(StringUtils.isBlank(codeBasicSecVO.getName())?"":codeBasicSecVO.getName());//码段名称
                        codeSectionVO.setCodeSecLength(StringUtils.isBlank(codeBasicSecVO.getCodeSecLength())?"":codeBasicSecVO.getCodeSecLength());//码段长度
                        codeSectionVO.setNum(StringUtils.isBlank(codeBasicSecVO.getOrderNum()+"")?"":codeBasicSecVO.getOrderNum()+"");//码段序号
                        codeSectionVO.setCodeDateFormatStr(StringUtils.isBlank(codeBasicSecVO.getCodeDateFormatStr())?"":codeBasicSecVO.getCodeDateFormatStr());//日期类型
                        codeSectionVO.setCodeSecLengthType(StringUtils.isBlank(codeBasicSecVO.getCodeSecLengthType())?"":codeBasicSecVO.getCodeSecLengthType());//码段长度类型
                        codeSectionVO.setPkCodeRule(StringUtils.isBlank(codeRuleVO.getOid())?"":codeRuleVO.getOid());//规则主键
                        codeSectionVO.setSecType(StringUtils.isBlank(codeBasicSecVO.getSecType())?"":codeBasicSecVO.getSecType());//码段类型
                        codeSectionVO.setDescription(StringUtils.isBlank(codeBasicSecVO.getDescription())?"":codeBasicSecVO.getDescription());//描述
                        codeSectionVO.setParentClassifySecOid(StringUtils.isBlank(codeBasicSecVO.getParentClassifySecOid())?"":codeBasicSecVO.getParentClassifySecOid());//分类码段上级
                        codeSectionVO.setSecTypeText(StringUtils.isBlank(codeBasicSecVO.getSecTypeText())?"":codeBasicSecVO.getSecTypeText());
                        //if(!CollectionUtils.isEmpty(codeSectionValueVOList)) {
                           codeSectionVO.setSectionValue(codeSectionValueVOList);
                        //}
                        codeSectionVO.setSectionCode(codeBasicSecVO.getId());//码段编号
                        codeSectionVOList.add(codeSectionVO);
                     });
                  }
                  //构建规则信息
                  resultCodeRuleVO.setId(codeRuleVO.getOid());
                  resultCodeRuleVO.setNum(codeRuleVO.getId());
                  resultCodeRuleVO.setDescription(codeRuleVO.getDescription());
                  resultCodeRuleVO.setId(StringUtils.isBlank(codeRuleVO.getOid())?"":codeRuleVO.getOid());//主键
                  resultCodeRuleVO.setNum("");//序号
                  resultCodeRuleVO.setName(StringUtils.isBlank(codeRuleVO.getName())?"":codeRuleVO.getName());//名称设置
                  resultCodeRuleVO.setRuleCode(StringUtils.isBlank(codeRuleVO.getId())?"":codeRuleVO.getId());//规则编号
                  resultCodeRuleVO.setDescription(StringUtils.isBlank(codeRuleVO.getDescription())?"":codeRuleVO.getDescription());//描述
                  resultCodeRuleVO.setCodeSection(codeSectionVOList);
               }
               //构建分类信息
               com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO classifyVO=new com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO();
               classifyVO.setId(codeClassifyDO.getOid());
               classifyVO.setLcStatus(codeClassifyDO.getLcStatus());
               classifyVO.setClassCode(codeClassifyDO.getId());
               classifyVO.setDescription(codeClassifyDO.getDescription());
               classifyVO.setName(codeClassifyDO.getName());
               classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid());
               classifyVO.setFullPathName(codeClassifyDO.getPath());
               classifyVO.setId(StringUtils.isBlank(codeClassifyDO.getOid())?"":codeClassifyDO.getOid());
               classifyVO.setLcStatus(StringUtils.isBlank(codeClassifyDO.getLcStatus())?"":codeClassifyDO.getLcStatus());
               classifyVO.setClassCode(StringUtils.isBlank(codeClassifyDO.getId())?"":codeClassifyDO.getId());
               classifyVO.setDescription(StringUtils.isBlank(codeClassifyDO.getDescription())?"":codeClassifyDO.getDescription());
               classifyVO.setName(StringUtils.isBlank(codeClassifyDO.getName())?"":codeClassifyDO.getName());
               classifyVO.setPid(StringUtils.isBlank(codeClassifyDO.getParentcodeclassifyoid())?"":codeClassifyDO.getParentcodeclassifyoid());
               classifyVO.setFullPathName(StringUtils.isBlank(codeClassifyDO.getPath())?"":codeClassifyDO.getPath());
               classifyVO.setCodeRule(resultCodeRuleVO);
               classifyVOList.add(classifyVO);
            });