| | |
| | | |
| | | 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.*; |
| | | 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.wrapper.CodeClassifyWrapper; |
| | | import com.vci.ubcs.omd.feign.IBtmTypeClient; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.TreeQueryObject; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.ubcs.starter.util.UBCSSqlKeyword; |
| | | import com.vci.ubcs.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | import java.util.stream.Collectors; |
| | | |
| | | 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; |
| | | |
| | | /*** |
| | |
| | | @Slf4j |
| | | @VciWebservice(path = "/universalInterface") |
| | | public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI { |
| | | |
| | | @Value("${code.checkConfig:true}") |
| | | public boolean CODE_CHECKCONFIG; |
| | | @Autowired(required = false) |
| | | private AttributeMapConfig attributeMapConfig; |
| | | /** |
| | |
| | | |
| | | @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) { |
| | |
| | | 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); |
| | | }); |
| | |
| | | errorid = "101"; |
| | | 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() + "接口配置已停用或者未配置,请联系编码管理员!"); |
| | | } |
| | | |
| | | //先简称是否有关联模板,有模板要先删除 |
| | |
| | | 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) { |
| | |
| | | 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(); |
| | | String referBtmId=codeBasicSecVO.getReferBtmId(); |
| | | String btmName=codeBasicSecVO.getReferBtmName(); |
| | | String referConfig= codeBasicSecVO.getReferConfig(); |
| | | CoderefersecSearchVO coderefersecSearchVO=new CoderefersecSearchVO(); |
| | | if(StringUtils.isNotBlank(referConfig)){ |
| | | coderefersecSearchVO = JSONObject.toJavaObject(JSONObject.parseObject(referConfig), CoderefersecSearchVO.class); |
| | | } |
| | | String buildSqlwhere=""; |
| | | if(coderefersecSearchVO!=null){ |
| | | Map<String,Object> condtionMap=new HashMap<>(); |
| | | List<CodeSrchCondConfigVO> codeSrchCondConfigVOList=coderefersecSearchVO.getCodeSrchCondConfigVOS(); |
| | | |
| | | if(!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) { |
| | | codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> { |
| | | condtionMap.put(codeSrchCondConfigVO.getFilterField()+codeSrchCondConfigVO.getFilterType(),codeSrchCondConfigVO.getFilterValue()); |
| | | }); |
| | | buildSqlwhere= UBCSSqlKeyword.buildSqlwhere(condtionMap); |
| | | } |
| | | } |
| | | //使用传入的业务类型查询表 |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | String referTable = listR.getData().get(0).getTableName(); |
| | | StringBuffer sb=new StringBuffer(); |
| | | sb.append(" select * from "); |
| | | sb.append(referTable); |
| | | sb.append(" where 1=1 "); |
| | | if(StringUtils.isNotBlank(buildSqlwhere)){ |
| | | sb.append( buildSqlwhere ); |
| | | } |
| | | List<Map> ListMap= commonsMapper.selectBySql(sb.toString()); |
| | | String valueField=coderefersecSearchVO.getValueField(); |
| | | String textField=coderefersecSearchVO.getTextField(); |
| | | final int[] num = {0}; |
| | | if(!CollectionUtils.isEmpty(ListMap)){ |
| | | ListMap.stream().forEach(map->{ |
| | | num[0]++; |
| | | String id= map.getOrDefault("OID".toUpperCase(Locale.ROOT),"").toString(); |
| | | String value= map.getOrDefault(valueField.toUpperCase(Locale.ROOT),"").toString(); |
| | | String text=map.getOrDefault(textField.toUpperCase(Locale.ROOT),"").toString(); |
| | | String description=map.getOrDefault("description".toUpperCase(Locale.ROOT),"").toString(); |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id, num[0]+"",value,text,"",description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | log.info(libId); |
| | | }else if(secType.equals("codelevelsec")) {//层级码段 |
| | | int level = codeBasicSecVO.getCodeLevelValue(); |
| | | CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO(); |
| | |
| | | }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); |
| | | }); |
| | |
| | | * 根据属性映射转换编码所需字段 |
| | | */ |
| | | 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){ |
| | | if(!CODE_CHECKCONFIG) { |
| | | return true; |
| | | } |
| | | //根据类型去查询需要集成的分类或者数据 |
| | | 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; |
| | | } |
| | | } |