| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.thoughtworks.xstream.XStream; |
| | | import com.thoughtworks.xstream.io.xml.DomDriver; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.constant.MdmDuckingConstant; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.enumpack.CodeDefaultLC; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; |
| | | import com.vci.ubcs.code.mapper.CommonsMapper; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.util.ClientBusinessObject; |
| | |
| | | import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryClassifyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryData; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.QueryLibraryVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.classify.ResultClassifyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.coderule.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.data.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.result.json.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO; |
| | |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.ubcs.code.constant.MdmDuckingConstant.DOCKING_DEFAULT_CLASSIFY; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX; |
| | | import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; |
| | | |
| | | /*** |
| | |
| | | |
| | | @Resource |
| | | private MdmIOService mdmIOService; |
| | | |
| | | @Resource |
| | | private IDockingSystemConfigService dockingSystemConfigService; |
| | | |
| | | @Autowired |
| | | private ICodeClassifyValueService codeClassifyValueService; |
| | |
| | | } |
| | | ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); |
| | | systemId = interParameterVO.getData().getSystemId(); |
| | | //校验是否配置 |
| | | boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); |
| | | if(!checkPass){ |
| | | errorid="101"; |
| | | throw new Throwable("系统标识为【"+systemId+"】,"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | UserVO userVo = interParameterVO.getData().getUser(); |
| | | List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | InterParameterVO finalInterParameterVO = interParameterVO; |
| | |
| | | } |
| | | ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); |
| | | systemId = interParameterVO.getData().getSystemId(); |
| | | |
| | | |
| | | //校验是否配置 |
| | | boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); |
| | | if(!checkPass){ |
| | | errorid="101"; |
| | | throw new Throwable("系统标识为【"+systemId+"】,"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | |
| | | UserVO userVo = interParameterVO.getData().getUser(); |
| | | List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | InterParameterVO finalInterParameterVO = interParameterVO; |
| | |
| | | String libId= libraryVO.getId(); |
| | | List<String> classifyIdList= libraryVO.getClassifyid(); |
| | | List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); |
| | | |
| | | //校验是否配置 |
| | | boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getValue()); |
| | | if(!checkPass){ |
| | | errorid="101"; |
| | | throw new Throwable("系统标识为【"+systemId+"】,"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | |
| | | //这是账号信息 |
| | | //这是账号信息 |
| | | if(userVo!=null) { |
| | |
| | | errorid = "101"; |
| | | throw new Throwable("接口参数:账号信息获取失败"); |
| | | } |
| | | if(!CollectionUtils.isEmpty(classifyIdList)){ |
| | | //先简称是否有关联模板,有模板要先删除 |
| | | List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); |
| | | codeClassifyVOS=classifyService.codeClassifyDO2VOs(libIdDos); |
| | | }else { |
| | | List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, libId)); |
| | | String oid= libIdDos.get(0).getOid(); |
| | | TreeQueryObject treeQueryObject=new TreeQueryObject(); |
| | | treeQueryObject.setParentOid(oid); |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, libId)); |
| | | if(CollectionUtils.isEmpty(libIdDos)) { |
| | | CodeClassify libCodeClassify =libIdDos.get(0); |
| | | String oid=libCodeClassify.getOid(); |
| | | if (!CollectionUtils.isEmpty(classifyIdList)) { |
| | | //先简称是否有关联模板,有模板要先删除 |
| | | List<CodeClassify> childCodeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); |
| | | List<CodeClassify>newchildCodeClassifyList=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(childCodeClassifyList)) { |
| | | Map<String,String> errorMap=new HashMap<>(); |
| | | childCodeClassifyList.stream().forEach(codeClassify -> { |
| | | CodeClassifyVO toClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid()); |
| | | if(toClassifyVO.getOid().equals(libCodeClassify.getOid())){ |
| | | newchildCodeClassifyList.add(codeClassify); |
| | | } |
| | | }); |
| | | Map<String/**分类编号**/, CodeClassify/**分类对象**/> classifyfCodeMap = newchildCodeClassifyList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); |
| | | classifyIdList.stream().forEach(classifyfCode -> { |
| | | if(!classifyfCodeMap.containsKey(classifyfCode)) { |
| | | errorMap.put("error", errorMap.getOrDefault("error", "") + ";根据classCode:【" + classifyfCode + "】在library:【" + libCodeClassify.getId() + "】下未查询到"); |
| | | } |
| | | }); |
| | | if(errorMap.size()>0){ |
| | | errorid = "101"; |
| | | msg = errorMap.getOrDefault("error",""); |
| | | throw new Throwable(msg); |
| | | } |
| | | codeClassifyVOS = classifyService.codeClassifyDO2VOs(newchildCodeClassifyList); |
| | | }else{ |
| | | errorid = "101"; |
| | | msg = "接口参数:classCode 未查询到对应的分类信息"; |
| | | throw new Throwable(msg); |
| | | } |
| | | } else { |
| | | TreeQueryObject treeQueryObject = new TreeQueryObject(); |
| | | treeQueryObject.setParentOid(oid); |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS = classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | } |
| | | }else{ |
| | | errorid = "101"; |
| | | throw new Throwable("接口参数:账号信息获取失败"); |
| | | } |
| | | LibraryVO libraryVo=new LibraryVO(); |
| | | libraryVo.setId(libId); |
| | |
| | | classifyVO.setClassCode(codeClassifyDO.getId()); |
| | | classifyVO.setDescription(codeClassifyDO.getDescription()); |
| | | classifyVO.setName(codeClassifyDO.getName()); |
| | | classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid()); |
| | | classifyVO.setPid(codeClassifyDO.getParentCodeClassifyOid()); |
| | | classifyVO.setFullPathName(codeClassifyDO.getPath()); |
| | | classifyVOList.add(classifyVO); |
| | | }); |
| | |
| | | msg = "接口参数:library 为null"; |
| | | throw new Throwable(msg); |
| | | } |
| | | |
| | | //校验是否配置 |
| | | boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue()); |
| | | if(!checkPass){ |
| | | errorid="101"; |
| | | throw new Throwable("系统标识为【"+systemId+"】,"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | //先简称是否有关联模板,有模板要先删除 |
| | | |
| | | List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library)); |
| | |
| | | propertyVOS.stream().forEach(propertyVO -> { |
| | | sb.append( " and "+propertyVO.getFiledName()+"='"+propertyVO.getFiledValue()+"'"); |
| | | }); |
| | | sb.append(" and islastr=1 and islastv=1" ); |
| | | 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()); |
| | |
| | | String systemId=""; |
| | | log.info("查询分类的数据参数:->"+data); |
| | | log.info("查询分类的数据类型:->"+dataType); |
| | | ResultClassifyVO resultClassifyVO =new ResultClassifyVO(); |
| | | List<ClassifyVO> classifyVOList=new ArrayList<>(); |
| | | ResultClassifyRuleVO resultClassifyRuleVO =new ResultClassifyRuleVO(); |
| | | List<com.vci.ubcs.code.vo.webserviceModel.coderule.ResultClassifyVO> classifyVOList=new ArrayList<>(); |
| | | ResultClassifyRuleData resultClassifyRuleData=new ResultClassifyRuleData(); |
| | | try { |
| | | if (StringUtils.isBlank(data)) { |
| | | errorid = "101"; |
| | |
| | | String libId= libraryVO.getId(); |
| | | List<String> classifyIdList= libraryVO.getClassifyid(); |
| | | List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); |
| | | |
| | | //校验是否配置 |
| | | boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getValue()); |
| | | if(!checkPass){ |
| | | errorid="101"; |
| | | throw new Throwable("系统标识为【"+systemId+"】,"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | //这是账号信息 |
| | | //这是账号信息 |
| | | if(userVo!=null) { |
| | |
| | | treeQueryObject.setQueryAllLevel(true); |
| | | codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); |
| | | } |
| | | ResultLibraryVO resultLibraryVO=new ResultLibraryVO(); |
| | | resultLibraryVO.setId(libId); |
| | | resultLibraryVO.setName(""); |
| | | if(!CollectionUtils.isEmpty(codeClassifyVOS)){ |
| | | errorid = "0"; |
| | | msg="成功!"; |
| | | codeClassifyVOS.stream().forEach(codeClassifyDO -> { |
| | | //后去包含码段的编码规则 |
| | | CodeRuleVO codeRuleVO= this.engineService.getCodeRuleByClassifyOid(codeClassifyDO.getOid()); |
| | | ResultCodeRuleVO resultCodeRuleVO=new ResultCodeRuleVO(); |
| | | if(codeRuleVO!=null){ |
| | | 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")){//可变码段 |
| | | //空着,前端传 |
| | | }else if(secType.equals("codefixedsec")){//固定码段 |
| | | List<CodeFixedValueVO> fixedValueVOList=codeBasicSecVO.getFixedValueVOList(); |
| | | fixedValueVOList.stream().forEach(codeFixedValueVO -> { |
| | | 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(); |
| | | 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 -> { |
| | | 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(); |
| | | CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO(); |
| | | CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid()); |
| | | if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//指定层级 |
| | | List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); |
| | | if (classifyVOS.size() >= level && level > 0) { |
| | | levelCodeClassifyVO = classifyVOS.get(level - 1); |
| | | } |
| | | }else{//最小层 |
| | | levelCodeClassifyVO=codeClassifyDO; |
| | | } |
| | | 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(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(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(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); |
| | | }); |
| | | resultLibraryVO.setClassify(classifyVOList); |
| | | }else{ |
| | | errorid = "100"; |
| | | msg="未查询到相关的分类信息"; |
| | | } |
| | | issucess=true; |
| | | resultClassifyRuleData.setLibrary(resultLibraryVO); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace();; |
| | | msg="查询分类失败:"+e.getMessage(); |
| | | }finally { |
| | | // resultData.setErrorid(errorid); |
| | | // resultData.setMsg(msg); |
| | | // resultClassifyVO.setResultData(resultData); |
| | | resultClassifyRuleData.setErrorid(errorid); |
| | | resultClassifyRuleData.setMsg(msg); |
| | | resultClassifyRuleVO.setData(resultClassifyRuleData); |
| | | } |
| | | if(dataType.equals("xml")){ |
| | | //组织返回接口信息 |
| | | XStream xStream = new XStream(new DomDriver()); |
| | | xStream.processAnnotations(XMLResultSystemVO.class); |
| | | xStream.autodetectAnnotations(true); |
| | | //resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultData); |
| | | resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultClassifyRuleData); |
| | | |
| | | }else{ |
| | | Object object = JSONObject.toJSON(resultClassifyVO); |
| | | Object object = JSONObject.toJSON(resultClassifyRuleVO); |
| | | resultStr = object.toString(); |
| | | } |
| | | try { |
| | |
| | | * 根据属性映射转换编码所需字段 |
| | | */ |
| | | public void getConfigDatas(String systemId,String libray, ApplyDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { |
| | | List<ApplyDataVO> applyDataVOList=applyDatasVO.getObject(); |
| | | |
| | | LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); |
| | | //如果将数据转换成所需要的数据对象 |
| | | Map<String, String> attrMapConfigMap=new HashMap<>(); |
| | |
| | | Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); |
| | | log.info("集成系统属性映射配置文件条目数-》"+stringStringMap.size()); |
| | | //stringStringMap.put("RLM","D:\\RLM.xml"); |
| | | LibraryDO libraryDO=gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId,stringStringMap); |
| | | List<LibraryClsfDO> libraryClsfDOList=libraryDO.getClsf(); |
| | | Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); |
| | | log.info("根据参数:libray:-》"+libray+"从配置文件中找对应属性映射配置"); |
| | | if(libPropMaps.containsKey(libray)){ |
| | | log.info("根据参数:libray:-》"+libray+"匹配到相应的属性映射信息"); |
| | | List<ClsfAttrMappingDO> clsfAttrMappingDOList=libPropMaps.get(libray); |
| | | propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); |
| | | log.info("根据参数:libray:-》"+libray+"匹配到相应的属性映射信息,属性映射条目数+"+clsfAttrMappingDOList.size()); |
| | | if(!CollectionUtils.isEmpty(stringStringMap)) { |
| | | log.info("info:需要读取配置文件"); |
| | | LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); |
| | | List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf(); |
| | | 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 + "从配置文件中找对应属性映射配置"); |
| | | String path=stringStringMap.get(systemId); |
| | | if (libPropMaps.containsKey(libray)) { |
| | | log.info("根据参数:libray:-》" + libray + "匹配到相应的属性映射信息"); |
| | | List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray); |
| | | propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); |
| | | log.info("根据参数:libray:-》" + libray + "匹配到相应的属性映射信息,属性映射条目数+" + clsfAttrMappingDOList.size()); |
| | | }else{ |
| | | throw new Throwable("根据系统标识【"+systemId+"】找到对应的配置文件:【"+path+"】,但未获取到对应的库【"+libray+"】属性映射信息配置"); |
| | | } |
| | | } |
| | | } |
| | | log.info("根据参数:libray:-》"+libray+"从配置文件中找对应属性映射配置 end "); |
| | | }catch (Throwable e){ |
| | |
| | | dataObjectVO.setColName(rowNameList);//放入属性 |
| | | attrMapConfigMap.putAll(propMaps); |
| | | LinkedList<RowDatas> rowDataList = new LinkedList<>(); |
| | | List<ApplyDataVO> applyDataVOList=new ArrayList<>(); |
| | | |
| | | if(!CollectionUtils.isEmpty(applyDatasVO.getObject())){ |
| | | applyDataVOList=applyDatasVO.getObject(); |
| | | } |
| | | //Map<String, List<ProppertyVO>> dataPropMap = applyDataVOList.stream().collect(Collectors.toMap(ApplyDataVO::getId, ApplyDataVO::getProp, (key1, key2) -> key2)); |
| | | final int[] rowIndex = {0}; |
| | | applyDataVOList.stream().forEach(applyDataVO -> { |
| | |
| | | return resultStr; |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * 校验是否做了配置 |
| | | * @param systemId,系统标识 |
| | | * @param type:接口类型 |
| | | * @param operationType:接口操作类型 |
| | | * @return |
| | | */ |
| | | private boolean checkIspass(String systemId,String type,String operationType){ |
| | | //根据类型去查询需要集成的分类或者数据 |
| | | LambdaQueryWrapper<DockingSystemConfig> queryWrapper = Wrappers.<DockingSystemConfig>lambdaQuery(); |
| | | queryWrapper.eq(DockingSystemConfig::getUsedFlag, MdmDuckingConstant.SEND_FLAG_TRUE); |
| | | queryWrapper.eq(DockingSystemConfig::getSysBaseId,systemId); |
| | | queryWrapper.eq(DockingSystemConfig::getDataFlowType,type); |
| | | queryWrapper.eq(DockingSystemConfig::getPushType,operationType); |
| | | return dockingSystemConfigService.count(queryWrapper)>0?true:false; |
| | | } |
| | | } |