Ludc
6 小时以前 9bb1ee8d456d1a6c1149963eeb9c8285844466ef
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;
@@ -247,7 +250,7 @@
      return request;
   }
   /***
   /**
    * 申请编码接口
    * @param data 传递的数据参数
    * @param dataType 标识data是xml格式还是json格式,接口返回数据也是按照这个格式,以下接口类同
@@ -1491,7 +1494,7 @@
                     errorid ="101";
                     throw new Throwable("系统标识为【"+ systemId +"】,集成分类为【"+currentCodeClassify[0].getName()+"】以上分类,"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
                  }
                  isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false;
                  isCodeOrGroupCode = "true".equals(dockingSystemConfig.getIsGroupCodeFlag());
               }
               List<CodeClassifyVO> dataCodeClassifyVOList =new ArrayList<>();
               String oid= currentCodeClassify[0].getOid();
@@ -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();
@@ -2450,24 +2461,26 @@
               CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
               String sectypeValue = sectionVOMap.get(name);
               log.info("码段值:"+sectypeValue);
            // CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(sectype);
                // CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(sectype);
               if(CODE_CLASSIFY_SEC.getValue().equals(sectype)) {//如果是分类的话,则需要匹配传过来的分类代号与
                  //先简称是否有关联模板,有模板要先删除
                  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);
                        CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue);
                        sectypeValue=codeClassifyValue.getOid();
                     }else {
                        //throw new Throwable("传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号");
                     }else if (nullSymbol.equals(sectypeValue)) {
                        CodeClassifyValue codeClassifyValue = (CodeClassifyValue)codeClassifyValueDOMap
                                    .getOrDefault((Object)null, codeClassifyValueDOMap.get(""));
                        sectypeValue = codeClassifyValue.getOid();
                     } else {
                        message="传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号";
                        errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
                     }
                  }
               }else if(CODE_REFER_SEC.getValue().equals(sectype)){
                  String referBtmId=codeBasicSecVO.getReferBtmId();
                  String btmName=codeBasicSecVO.getReferBtmName();
                  String referConfig= codeBasicSecVO.getReferConfig();
                  CoderefersecSearchVO coderefersecSearchVO=new CoderefersecSearchVO();
                  if(StringUtils.isNotBlank(referConfig)){