Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -101,7 +101,7 @@ R deleteDatas(String redisOid, String codeClassifyOid, String dataOids); void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs); void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode); /** * 集成批量申请数据 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; import com.vci.ubcs.code.bo.AttributeValue; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; @@ -11,6 +12,7 @@ import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; @@ -154,7 +156,11 @@ */ @Autowired private IBtmTypeClient btmTypeClient; /*** * 申请集团编码服务 */ @Resource private IMdmInterJtClient mdmInterJtClient; /*** * 密级服务 */ @@ -2131,11 +2137,13 @@ allNeedSaveCboList.add(baseModel.getOid()); }); try { List<String>applyGroupCodeIdList=new ArrayList<>(); productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面 engineService.batchSaveSelectChar(templateVO, dataCBOList); // if(!isProcess){ dataCBOList.stream().forEach(needSaveCbo->{ XMLResultDataObjectDetailDO resultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); String code=StringUtils.isBlank(needSaveCbo.getId())?" ":needSaveCbo.getId(); String groupCode=needSaveCbo.getData().getOrDefault("GROUPCODE"," "); @@ -2143,6 +2151,7 @@ String msg="申请编码成功"; String oid=needSaveCbo.getOid(); String sourceOid=oid; applyGroupCodeIdList.add(oid); if(codeOidToSystemOidMap.containsKey(oid)){ sourceOid=codeOidToSystemOidMap.get(oid); } @@ -2178,6 +2187,13 @@ }); }*/ //是否调用集团接口申请接口 if(isCodeOrGroupCode){ if(!CollectionUtils.isEmpty(applyGroupCodeIdList)) { this.sendApplyGroupcode(applyGroupCodeIdList, classifyFullInfo.getTopClassifyVO().getId(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); } } }catch (Throwable e){ e.printStackTrace(); needSaveCboList.stream().forEach(needSaveCbo->{ @@ -2248,10 +2264,11 @@ * @param codeClassifyVO; * @param dataObjectVO 数据信息 * @param resultDataObjectDetailDOs 错误信息 * @param isCodeOrGroupCode 是否更集团系统数据 */ @Transactional(rollbackFor = VciBaseException.class) @Override public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) { public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode) { String errorid=""; String msg=""; //查询分类和模板 @@ -2276,8 +2293,8 @@ List<String> titleRowData = dataObjectVO.getColName(); Map<String/**中文名称**/, String/**英文名称**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT), (o1, o2) -> o2)); getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap); Map<String, String> cboOidMap = new HashMap<>(); cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); //Map<String, String> cboOidMap = new HashMap<>(); //cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); String tableName =""; try { R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); @@ -2459,6 +2476,13 @@ codeAllCodeService.saveBatch(codeAllCodeList); if(deleteList.size()>0) { commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{}))); } //是否调用集团接口申请接口 if(isCodeOrGroupCode){ List<String> IdList=resultDataObjectDetailDOs.stream().filter(xMLResultDataObjectDetailDO-> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(xMLResultDataObjectDetailDO.getId())).map(XMLResultDataObjectDetailDO::getId).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(IdList)) { this.sendApplyGroupcode(IdList, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); } } errorid="0"; msg="更新/状态更改/删除成功!"; @@ -4405,4 +4429,17 @@ } } /*** * 申请集团编码 * @param idList * @param btmName */ private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ String oids=VciBaseUtil.array2String(idList.toArray(new String[]{})); if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) { mdmInterJtClient.applyGroupCode(oids,btmName); }else if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_EDITCODE)){ mdmInterJtClient.receiveEditApply(oids,btmName); } } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.CodeOrderDTO; @@ -131,8 +130,6 @@ @Autowired private ICodeClassifyValueService codeClassifyValueService; @Resource private IMdmInterJtClient mdmInterJtClient; /*** * 集成接口日志服务的配置 */ @@ -285,13 +282,6 @@ resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } //是否调用集团接口申请接口 if(isCodeOrGroupCode){ List<String> IdList=resultDataObjectDetailDOs.stream().filter(xMLResultDataObjectDetailDO->StringUtils.isNotBlank(xMLResultDataObjectDetailDO.getId())).map(XMLResultDataObjectDetailDO::getId).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(IdList)) { this.sendApplyGroupcode(IdList, libray,sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); } } }); XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); @@ -344,19 +334,7 @@ return resultStr; } /*** * 申请集团编码 * @param idList * @param btmName */ private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ String oids=VciBaseUtil.array2String(idList.toArray(new String[]{})); if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) { mdmInterJtClient.applyGroupCode(oids,btmName); }else if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_EDITCODE)){ mdmInterJtClient.receiveEditApply(oids,btmName); } } /*** * 统一更新接口(更改状态,更改属性信息)接口 * @param data @@ -400,13 +378,6 @@ } 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; @@ -419,16 +390,30 @@ String finalSystemId = systemId; classVOList.stream().forEach(classVO->{ log.info("参数:分类COde:" + classVO.getClassCode()); boolean isCodeOrGroupCode=false; LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); String libray =""; //获取分类信息 try { String libray = classVO.getLibrary(); libray = classVO.getLibrary(); CodeClassifyVO codeClassifyVO = getClassfy(classVO,libray); if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ objerrorCode="100"; throw new Throwable ("根据传输的分类,未获取到分类信息"); } log.info("end:分类查询完毕"); String operation=""; if(CODE_CHECKCONFIG) { //校验是否配置 DockingSystemConfig dockingSystemConfig= checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue(),codeClassifyVO.getOid()); if(dockingSystemConfig==null){ objerrorCode ="101"; throw new Throwable("系统标识为【"+ finalSystemId +"】,集成分类为【"+codeClassifyVO.getName()+"】以上分类,"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!"); } isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false; } //获取分类模板信息 CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ @@ -444,7 +429,7 @@ this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO); log.info("end:数据构建完毕"); log.info("start:修改数据执行完毕"); mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs); mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode); log.info("end:修改数据执行完毕"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); @@ -462,7 +447,6 @@ resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } }); }catch (Throwable e){ e.printStackTrace();;