xiejun
2024-11-01 0496aed6e04c5084f05ce1035ba9ec38e3d4e9c7
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -69,10 +69,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -86,7 +85,7 @@
@Service
@Slf4j
@VciWebservice(path = "/universalInterface")
public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI {
public class UniversalInterfaceImpl implements UniversalInterfaceI {
   /***
    * 操作类型
@@ -114,11 +113,13 @@
    */
   @Value("${bzApply.seriesFlow:seriesFlow}")
   private String seriesFlow;
   /***
    * 是否变更系列
    */
   @Value("${bzApply.isEditSeries:isEditSeries}")
   private String isEditSeries;
   /***
    * 控制是否写入值的码段名称
    */
@@ -130,7 +131,6 @@
    */
   @Value("${bzApply.yearSecName:年代号}")
   private String yearSecName;
   @Value("${code.universalinterface.checkSystemConfig:true}")
   public boolean CODE_CHECKCONFIG;
@@ -203,8 +203,14 @@
    */
   @Resource
   private IDockingLogeService dockingLogeService;
   @Resource
   private IPasswordFreeLoginService passwordFreeLoginService;
   /**
    * 自定义并发ForkJoinPool
    */
   private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors() - 1);
   private  static String separator="##VCI##";
   private  String errorid="0";
@@ -287,20 +293,20 @@
            passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(Locale.ROOT), this.getRequest());
         }catch (Throwable e){
            errorid[0] ="1";
            throw new Throwable("用户鉴权失败.");
            throw new Throwable("用户鉴权失败,原因:"+e.getMessage());
         }
         List<ClassfyVO> classVOList = classfysVO.getClassify();
         InterParameterVO finalInterParameterVO = interParameterVO;
         //InterParameterVO finalInterParameterVO = interParameterVO;
         //这是账号信息
         SessionInfo sessionInfo = new SessionInfo();
         sessionInfo.setUserId(userVo.getUserName());
         sessionInfo.setUserName(userVo.getTrueName());
         sessionInfo.setIp(userVo.getIp());
         VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
//         List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
         //List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
         String finalSystemId = systemId;
         classVOList.stream().forEach(classVO -> {
            log.info("参数:分类COde:" + classVO.getClassCode());
            log.info("参数:分类Code:" + classVO.getClassCode());
            boolean isCodeOrGroupCode=false;
            LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
            String libray ="";
@@ -451,7 +457,6 @@
    */
   @Override
   public ResultOrgData syncDataForPerson(PersonData personData) {
      boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
      ResultOrgData resultOrgData=new ResultOrgData();
@@ -462,7 +467,7 @@
      if(isUsedFlag){
         AtomicBoolean success= new AtomicBoolean(true);
         List<PersonMasterData> masterDataList=new ArrayList<>();
         List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields());
         List<String> fields = Func.toStrList(personAndDeptConfig.getPersonFields());
         try {
            if(personData==null){
               throw new Throwable("传入参数为null");
@@ -483,7 +488,7 @@
            ClassfyVO classfyVO = new ClassfyVO();
            classfyVO.setLibrary(personLibrary);
            classfyVO.setClassCode(personClassCode);
            CodeClassifyVO  codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
            CodeClassifyVO codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
            log.info("end:分类查询完毕");
            //获取分类模板信息
            if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
@@ -501,8 +506,7 @@
            ).collect(Collectors.toList());
            List<PersonMasterData> personMasterDataList= personData.getMasterData();
            List<Map> dataList=new ArrayList<>();
            //List<Map> dataList=new ArrayList<>();
            List<String> codeList=new ArrayList<>();
            List<ApplyDataVO> applyDataVOList=new ArrayList<>();
@@ -521,7 +525,7 @@
                */
               fields.stream().forEach(field->{
                  if(dataMap.containsKey(field)){
                     String enumFiled= dataMap.get(field);
                     String enumFiled = dataMap.get(field);
                     EnumerableData enumerableData=JSONObject.toJavaObject(JSONObject.parseObject(enumFiled),EnumerableData.class);
                     String enumCode=enumerableData.getCode();
                     //String enumCodeValue=enumerableData.getName();
@@ -541,11 +545,11 @@
               object.setProp(proppertyVOList);
               if(personMasterData.getDr()==1){
                  object.setOperate("delete");//操作类型
                  //操作类型
                  object.setOperate("delete");
                  deleteDataVOList.add(object);
               }else{
                  String worker_category=personMasterData.getWorker_category();
                  //String worker_category=personMasterData.getWorker_category();
                  object.setOperate("create");
                  applyDataVOList.add(object);
               }
@@ -573,12 +577,12 @@
            sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
            sb.append(")");
            List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
            DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true);
            List<ClientBusinessObject> cboList=   ChangeMapTOClientBusinessObjects(dataMapList);
            ApplyDatasVO applyDatasVO=new ApplyDatasVO();
            ApplyDatasVO editDatasVO=new ApplyDatasVO();
            if(!CollectionUtils.isEmpty(cboList)){
            Map<String,ClientBusinessObject> oldpplyDataVOMap=   cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
            Map<String,ClientBusinessObject> oldpplyDataVOMap =   cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
               //数据库不存在的
               List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
                  String code =cbo.getCode();
@@ -618,7 +622,8 @@
                  throw  new Throwable("编码规则");
               }
               List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>();
               dataObjectVO.getRowData().parallelStream().forEach(rowData->{
               final List<RowDatas> rowDatas = dataObjectVO.getRowData();
               rowDatas.parallelStream().forEach(rowData->{
                  String mesg="";
                  try {
                     CodeOrderDTO orderDTO = new CodeOrderDTO();
@@ -668,6 +673,7 @@
                  } catch (Exception e) {
                     mesg=e.getMessage();
                     e.printStackTrace();
                     throw new ServiceException(e.getMessage());
                  }finally {
                     XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
                     x.setId(rowData.getOid());
@@ -680,21 +686,25 @@
               resultDataObjectDetailDOs.addAll(xDOs);
               boolean finalSuccess1 = success.get();
               String finalMessage1 = message;
               resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
                  ResultMdMapping resultMdMapping=new ResultMdMapping();
                  resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId());
                  resultMdMapping.setSuccess(finalSuccess1);
                  resultMdMapping.setEntityCode(" ");
                  resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode());
                  resultMdMapping.setMessage(finalMessage1);
                  resultMdMapping.setSubMdMappings(null);
                  resultMdMappingList.add(resultMdMapping);
               });
               // 限制线程并行数量
               customForkJoinPool.submit(()->{
                  resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
                     ResultMdMapping resultMdMapping=new ResultMdMapping();
                     resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId());
                     resultMdMapping.setSuccess(finalSuccess1);
                     resultMdMapping.setEntityCode(" ");
                     resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode());
                     resultMdMapping.setMessage(finalMessage1);
                     resultMdMapping.setSubMdMappings(null);
                     resultMdMappingList.add(resultMdMapping);
                  });
               }).join();
               log.info("end:申请获取完毕");
            }
         }catch (Throwable e){
            success.set(false);
            message="人员数据接受失败:"+e.getMessage();
            message = "人员数据接收失败:"+e.getMessage();
            msg = "人员数据接收失败:"+e.getMessage();
            //组织返回结果
            boolean finalSuccess = success.get();
            String finalMessage = message;
@@ -711,7 +721,7 @@
            resultOrgData.setMessage(message);
            resultOrgData.setSuccess(success.get());
            resultOrgData.setMdMappings(resultMdMappingList);
            Object object = JSONObject.toJSON(resultOrgData);
            //Object object = JSONObject.toJSON(resultOrgData);
         }
         String resultStr = JSONObject.toJSONString(resultOrgData);
         String data = JSONObject.toJSONString(personData);
@@ -736,14 +746,14 @@
   public ResultOrgData syncDataForOrg(OrgData orgData) {
      boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
      ResultOrgData resultOrgData=new ResultOrgData();
      boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode();
      // boolean isPersonApplyGroupCode= personAndDeptConfig.isDeptApplyGroupCode();
      List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
      AtomicBoolean success= new AtomicBoolean(true);
      String message="";
      String systemCode="";
      if(isUsedFlag){
         List<OrgMasterData> orgMasterDataList=new ArrayList<>();
         List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields());
         List<OrgMasterData> orgMasterDataList = new ArrayList<>();
         List<String> fields = Func.toStrList(personAndDeptConfig.getDeptFields());
         try {
            if(orgData==null){
               throw new Throwable("传入参数为null");
@@ -755,17 +765,17 @@
               throw new Throwable("用户鉴权失败");
            }
            orgMasterDataList = orgData.getMasterData();
            String personLibrary = personAndDeptConfig.getPersonLibrary();
            if (StringUtils.isBlank(personLibrary)) {
            String deptLibrary = personAndDeptConfig.getDeptLibrary();
            if (StringUtils.isBlank(deptLibrary)) {
               success.set(false);
               log.info("集成配置缺少人员库节点信息,personLibrary->" + personLibrary);
               throw  new Throwable("集成配置缺少人员库节点信息,personLibrary->" + personLibrary);
               log.info("集成配置缺少部门库节点信息,deptLibrary->" + deptLibrary);
               throw  new Throwable("集成配置缺少部门库节点信息,deptLibrary->" + deptLibrary);
            }
            String personClassCode = personAndDeptConfig.getPersonClassCode();
            String deptClassCode = personAndDeptConfig.getDeptClassCode();
            ClassfyVO classfyVO = new ClassfyVO();
            classfyVO.setLibrary(personLibrary);
            classfyVO.setClassCode(personClassCode);
            CodeClassifyVO  codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
            classfyVO.setLibrary(deptLibrary);
            classfyVO.setClassCode(deptClassCode);
            CodeClassifyVO codeClassifyVO = this.getClassfy(classfyVO,deptLibrary);
            log.info("end:分类查询完毕");
            //获取分类模板信息
            if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
@@ -775,13 +785,12 @@
            CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
            if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
               success.set(false);
               throw  new  Throwable ("根据传输的分类,未获取MDM系统中对应模板");
               throw new Throwable ("根据传输的分类,未获取MDM系统中对应模板");
            }
            List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
               ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
            ).collect(Collectors.toList());
            List<Map> dataList=new ArrayList<>();
            List<String> codeList=new ArrayList<>();
            List<ApplyDataVO> applyDataVOList=new ArrayList<>();
            List<ApplyDataVO> deleteDataVOList=new ArrayList<>();
@@ -790,10 +799,10 @@
               object.setCode(orgMasterData.getMdm_code());//编码
               object.setCreator(orgMasterData.getCreator());//创建者
               object.setEditor(orgMasterData.getModifier());//修改者
               object.setId(orgMasterData.getPk_mdm());//主键
               object.setId(orgMasterData.getDepartment_code());//主键
               object.setStatus(CodeDefaultLC.RELEASED.getValue());//状态则需要判断
               Map<String,String> dataMap= VciBaseUtil.objectToMapString(orgMasterData);
               List<ProppertyVO> proppertyVOList=new ArrayList<>();
               List<ProppertyVO> proppertyVOList = new ArrayList<>();
               /***
                * 根据配置文件获取枚举值
                */
@@ -822,7 +831,6 @@
                  object.setOperate("delete");//操作类型
                  deleteDataVOList.add(object);
               }else{
                  object.setOperate("create");
                  applyDataVOList.add(object);
               }
@@ -838,10 +846,10 @@
               throw new Throwable("根据业务类型未查询到业务类型对象!");
            }
            String tableName = btmTypeVO.getTableName();
            if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) {
            if (StringUtils.isBlank(tableName)) {
               throw new Throwable("根据业务类型未查询到业务类型相关联的表");
            }
            StringBuffer sb=new StringBuffer();
            StringBuffer sb = new StringBuffer();
            sb.append(" select * from ");
            sb.append(tableName);
            sb.append(" where 1=1 ");
@@ -849,15 +857,16 @@
            sb.append(" and id in (");
            sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
            sb.append(")");
            List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
            List<ClientBusinessObject> cboList=   ChangeMapTOClientBusinessObjects(dataMapList);
            List<Map<String,String>> dataMapList = commonsMapper.queryByOnlySqlForMap(sb.toString());
            DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true);
            List<ClientBusinessObject> cboList = ChangeMapTOClientBusinessObjects(dataMapList);
            ApplyDatasVO applyDatasVO=new ApplyDatasVO();
            ApplyDatasVO editDatasVO=new ApplyDatasVO();
            if(!CollectionUtils.isEmpty(cboList)){
               Map<String,ClientBusinessObject> oldpplyDataVOMap=   cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
               Map<String,ClientBusinessObject> oldpplyDataVOMap =   cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
               //数据库不存在的
               List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
                  String code =cbo.getCode();
                  String code = cbo.getCode();
                  return !oldpplyDataVOMap.containsKey(code);
               }).collect(Collectors.toList());
               applyDatasVO.setObject(applyApplyDataVOList);
@@ -878,15 +887,15 @@
            LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs=new LinkedList<>();
            if(editDatasVO.getObject()!=null&&editDatasVO.getObject().size()>0){
               DataObjectVO dataObjectVO = new DataObjectVO();
               this.getConfigDatas(systemCode, personLibrary, editDatasVO, attrVOS, dataObjectVO);
               this.getConfigDatas(systemCode, deptLibrary, editDatasVO, attrVOS, dataObjectVO);
               log.info("start:修改数据执行完毕");
               boolean  personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode();
               boolean personApplyGroupCode = personAndDeptConfig.isPersonApplyGroupCode();
               mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode);
               log.info("end:修改数据执行完毕");
            }
            if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) {
               DataObjectVO dataObjectVO = new DataObjectVO();
               this.getConfigDatas(systemCode, personLibrary, applyDatasVO, attrVOS, dataObjectVO);
               this.getConfigDatas(systemCode, deptLibrary, applyDatasVO, attrVOS, dataObjectVO);
               CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
               CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
@@ -894,32 +903,34 @@
                  throw  new Throwable("编码规则");
               }
               List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>();
               dataObjectVO.getRowData().parallelStream().forEach(rowData->{
                  String mesg="";
                  try {
                     CodeOrderDTO orderDTO = new CodeOrderDTO();
                     List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
                     orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//分类主键
                     orderDTO.setTemplateOid(templateVO.getOid());
                     orderDTO.setCreator(rowData.getCreator());
                     orderDTO.setLastModifier(rowData.getEditor());
                     orderDTO.setLcStatus(rowData.getStatus());
                     if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {
                        ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> {
                           if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//规则之定义为可变码段存储主数据传递过来的数据
                              CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO();
                              CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
                              CodeOrderSecDTO.setSecValue(rowData.getCode());
                              codeOrderSecDTOList.add(CodeOrderSecDTO);
                           }
                        });
                     }
                     orderDTO.setCodeRuleOid(ruleVO.getOid());
                     orderDTO.setSecDTOList(codeOrderSecDTOList);//存储编码
                     orderDTO.setData(rowData.getFiledValue());
                     String code=engineService.addSaveCodeNotauthUser(orderDTO,false);
                     if(StringUtils.isNotBlank(code)) {
               //限制线程并行数量
               customForkJoinPool.submit(()->{
                  dataObjectVO.getRowData().parallelStream().forEach(rowData->{
                     String mesg="";
                     try {
                        CodeOrderDTO orderDTO = new CodeOrderDTO();
                        List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
                        orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//分类主键
                        orderDTO.setTemplateOid(templateVO.getOid());
                        orderDTO.setCreator(rowData.getCreator());
                        orderDTO.setLastModifier(rowData.getEditor());
                        orderDTO.setLcStatus(rowData.getStatus());
                        if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {
                           ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> {
                              if (codeBasicSecVO.getSecType().equals("codevariablesec")) {
                                 //规则之定义为可变码段存储主数据传递过来的数据
                                 CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO();
                                 CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
                                 CodeOrderSecDTO.setSecValue(rowData.getOid());
                                 codeOrderSecDTOList.add(CodeOrderSecDTO);
                              }
                           });
                        }
                        orderDTO.setCodeRuleOid(ruleVO.getOid());
                        orderDTO.setSecDTOList(codeOrderSecDTOList);//存储编码
                        orderDTO.setData(rowData.getFiledValue());
                        String code = engineService.addSaveCodeNotauthUser(orderDTO,false);
                     /*if(StringUtils.isNotBlank(code)) {
                        //rowData.setCode(code);
                        StringBuffer sqlsb = new StringBuffer();
                        sqlsb.append(" select * from ");
@@ -941,20 +952,21 @@
                              mesg = "数据保存成功,等待申请集团码";
                           }
                        }
                     }*/
                     } catch (Exception e) {
                        mesg=e.getMessage();
                        e.printStackTrace();
                        throw new ServiceException(e.getMessage());
                     }finally {
                        XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
                        x.setId(rowData.getOid());
                        x.setCode(rowData.getCode());
                        x.setMsg(mesg);
                        x.setErrorid("1");
                        xDOs.add(x);
                     }
                  } catch (Exception e) {
                     mesg=e.getMessage();
                     e.getMessage();
                     e.printStackTrace();
                  }finally {
                     XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
                     x.setId(rowData.getOid());
                     x.setCode(rowData.getCode());
                     x.setMsg(mesg);
                     x.setErrorid("1");
                     xDOs.add(x);
                  }
               });
                  });
               }).join();
               resultDataObjectDetailDOs.addAll(xDOs);
               boolean finalSuccess1 = success.get();
               String finalMessage1 = message;
@@ -972,7 +984,8 @@
            }
         }catch (Throwable e){
            success.set(false);
            message="人员数据接受失败:"+e.getMessage();
            message = "部门数据接收失败:"+e.getMessage();
            msg = "部门数据接收失败:"+e.getMessage();
            //组织返回结果
            boolean finalSuccess = success.get();
            String finalMessage = message;
@@ -1056,7 +1069,7 @@
            throw new Throwable("用户鉴权失败");
         }
         List<ClassfyVO> classVOList = classfysVO.getClassify();
         InterParameterVO finalInterParameterVO = interParameterVO;
         //InterParameterVO finalInterParameterVO = interParameterVO;
         //这是账号信息
         SessionInfo sessionInfo = new SessionInfo();
         sessionInfo.setUserId(userVo.getUserName());
@@ -1201,7 +1214,7 @@
      log.info("查询分类的数据类型:->"+dataType);
      ResultClassifyVO resultClassifyVO =new ResultClassifyVO();
      List<ClassifyVO> classifyVOList=new ArrayList<>();
      com.vci.ubcs.code.vo.webserviceModel.classify.ResultData resultData=new com.vci.ubcs.code.vo.webserviceModel.classify.ResultData();
      ResultData resultData=new ResultData();
      try {
         if (StringUtils.isBlank(data)) {
            errorid = "101";
@@ -1498,7 +1511,8 @@
               sb.append(" and lastr=1 and lastv=1" );
               sb.append(" and codeclsfid in (" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) +")");
               sb.append(" and Lcstatus in (" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) +")");
               List<Map<String,String>>  newDataList= commonsMapper.queryByOnlySqlForMap(sb.toString());
               List<Map<String,String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString());
               DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true);
               List<ClientBusinessObject> clientBusinessObjects=   ChangeMapTOClientBusinessObjects(newDataList);
               List<com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO> dataObjectVOS=new ArrayList<>();
               if(!CollectionUtils.isEmpty(clientBusinessObjects)){
@@ -2247,6 +2261,7 @@
      //调用集团申请接口申请集团码
      return resultStr;
   }
   private void setPropertyValue(String key,String value,List<ProppertyVO> proppertyVOList){
      ProppertyVO proppertyVO=new ProppertyVO();
      proppertyVO.setKey(key);
@@ -2254,6 +2269,7 @@
      proppertyVOList.add(proppertyVO);
   }
   /***
    * 查询校验分类信息
    * @param classfyVO
@@ -2296,6 +2312,7 @@
      }
      return classifyVO;
   }
   /***
    * 查询校验分类信息
    * @param classfyVO
@@ -2355,7 +2372,6 @@
      return clientBusinessObjectList;
   }
   private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOsBZ(CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo){
      List<CodeBasicSecVO>  codeBasicSecVOS= ruleVO.getSecVOList();
      List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
@@ -2367,7 +2383,6 @@
      }
      return codeOrderSecDTOList;
   }
   /***
    * 根据传入的参数信息校验码段规则
@@ -2443,7 +2458,7 @@
    */
   public void getConfigDatas(String systemId,String libray, ApplyBZDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable {
      LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>();
      // LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>();
      //如果将数据转换成所需要的数据对象
      Map<String, String> attrMapConfigMap=new HashMap<>();
      Map<String, String> propMaps=new HashMap<>();
@@ -2462,7 +2477,9 @@
            e.printStackTrace();
            throw new Throwable("集成系统标识为:【" + systemId + "】,分类库为:【" + libray + "】的集成属性配置文件读取失败");
         }
         String path = stringStringMap.get(systemId);
         // String path = stringStringMap.get(systemId);
         // 忽略key大小写,获取配置的映射文件路径
         String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId);
         if (!CollectionUtils.isEmpty(libraryClsfDOList)) {
            Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
            log.info("根据参数:libray:-》" + libray + "从配置文件中找对应属性映射配置");
@@ -2575,7 +2592,6 @@
      log.info("开始读取系统配置文件 start");
      Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap();
      log.info("集成系统属性映射配置文件条目数-》"+stringStringMap.size());
      //stringStringMap.put("RLM","D:\\RLM.xml");
      if(!CollectionUtils.isEmpty(stringStringMap)) {
         List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>();
         try {
@@ -2587,7 +2603,9 @@
            e.printStackTrace();
            throw new Throwable("集成系统标识为:【" + systemId + "】,分类库为:【" + libray + "】的集成属性配置文件读取失败");
         }
         String path = stringStringMap.get(systemId);
         // String path = stringStringMap.get(systemId);
         // 忽略key大小写,获取配置的映射文件路径
         String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId);
         if (!CollectionUtils.isEmpty(libraryClsfDOList)) {
            Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
            log.info("根据参数:libray:-》" + libray + "从配置文件中找对应属性映射配置");
@@ -2686,6 +2704,7 @@
         throw new   Throwable("组织数据映射值失败");
      }
   }
   /***
    * 记录日志信息
    * @param systemId
@@ -2717,7 +2736,7 @@
         dockingLoge.setInterfaceStatus("false");//接口集成状态
      }
      dockingLogeService.save(dockingLoge);
      log.info("集成推送数据成功,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData);
      log.info("集成推送数据,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData);
   }
   /***