Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
@@ -61,13 +61,14 @@ */ @PostMapping(INSERT_BATCH_BY_TYPE) R<Integer> insertBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels); /** * 传入业务类型以及相关数据进行批量更新操作 * 更新业务数据同时对码值表数据操作接口 * * @param btmType 业务类型 * @param baseModels 处理数据 * @return 处理状态 */ @PostMapping(UPDATE_BATCH_BY_TYPE) R<Integer> updateBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels); R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels); } Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -106,7 +106,7 @@ public R getApplyGroupCode(DockingReturnStoreVO dockingReturnStoreVO) { log.info("获取集团集团码,赋值到主数据 start"); try { List<BaseModel> editObjectList = new ArrayList(); Map<String,List<BaseModel>> editObjectMap = new HashMap<>(); List<DockingPreApplyForm> dockingPreApplyFormList = new ArrayList(); //String classId = javaObject.getClassId(); @@ -167,18 +167,24 @@ if (res) { //此处需要查询业务数据,去更改 BaseModel baseModel = new BaseModel(); baseModel.setId("10" + customCoding); String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); } String btmeName=baseModel.getBtmname(); baseModel.getData().put("groupcode",customCoding); log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId()); editObjectList.add(baseModel); editObjectMap.getOrDefault(btmeName,new ArrayList<>()).add(baseModel); } List<String> dataOidList=new ArrayList<>(); dataOidList.add(jdataid); } if(!CollectionUtils.isEmpty(editObjectMap)) { //调用主数据服务批量保存接口 mdmEngineClient.updateBatchByType(jdatabtmname,editObjectList); editObjectMap.forEach((btmName, modeList) -> { mdmEngineClient.updateBatchBtypeDatas(btmName, modeList); }); } dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); }catch (Throwable e){ e.printStackTrace(); return R.fail("集团码集成赋值失败"+e); Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -9,6 +9,8 @@ import com.vci.ubcs.code.applyjtcodeservice.entity.*; import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService; import com.vci.ubcs.code.applyjtcodeservice.vo.*; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; import com.vci.ubcs.code.applyjtcodeservice.mapper.DockingPreAttrMappingMapper; @@ -168,11 +170,14 @@ if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { BaseModel baseModel = baseModelMap.get(applyId); baseModel.getData().getOrDefault("codeclassid",""); String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); } BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); //baseModel.setId(customCoding); baseModel.getData().getOrDefault("groupCode", customCoding); updateCbos.add(baseModel);//更新数据集团code } @@ -202,7 +207,7 @@ } //保存表单数据 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); mdmEngineClient.updateBatchByType(btmName, updateCbos);//保存数据 mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据 } return R.success("申请接口调用成功"); } catch (VciBaseException e) { @@ -212,7 +217,6 @@ return R.fail("申请接口开关已关闭,不申请集团码"); } } /*** * 主数据像集团更改编码 * @param oids 需要修改的数据主键数组 @@ -292,6 +296,10 @@ if (baseModelMap.containsKey(applyId)) { BaseModel baseModel = baseModelMap.get(applyId); //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); // baseModel.setId(customCoding); baseModel.getData().put("groupCode", customCoding); @@ -323,7 +331,7 @@ } //保存表单数据 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); mdmEngineClient.updateBatchByType(btmName, updateCbos);//保存数据 mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据 } return R.success("更新接口调用成功"); } catch (VciBaseException e) { Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
@@ -79,7 +79,7 @@ } } /** * 传入业务类型以及相关数据进行批量插入操作 * 更新业务数据同时对码值表数据操作接口 * * @param btmType 业务类型 * @param baseModels 处理数据 @@ -87,9 +87,9 @@ */ @Override @PostMapping(UPDATE_BATCH_BY_TYPE) public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) { public R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels){ try { return mdmEngineService.updateBatchByBaseModel(btmType,baseModels); return mdmEngineService.updateBatchBtypeDatas(btmType,baseModels); } catch (Exception e) { throw new RuntimeException(e); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -413,6 +413,15 @@ R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels); /** * 更新业务数据同时对码值表数据操作接口 * * @param btmType 业务类型 * @param baseModels 处理数据 * @return 处理状态 */ public R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels); /** * 默认列表 * @param referConfigVO * @return Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -16,6 +16,7 @@ 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.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.vo.CodeReferConfigVO; import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; @@ -56,6 +57,7 @@ import com.vci.ubcs.system.user.feign.IUserClient; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import oracle.sql.TIMESTAMP; import org.aspectj.apache.bcel.classfile.Code; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.cache.utils.CacheUtil; @@ -3684,8 +3686,67 @@ return R.success("更新成功!"); } /** * 更新业务数据同时对码值表数据操作接口 * * @param btmType 业务类型 * @param baseModels 处理数据 * @return 处理状态 */ @Transactional(rollbackFor = VciBaseException.class) @Override public R<Integer> updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels) { /** //使用传入的业务类型查询表 R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); if (!listR.isSuccess() || listR.getData().size() == 0) { throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); } //获取当前业务类型所有字段用来做对比 R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(btmType); if (!allAttributeByBtmId.isSuccess() || allAttributeByBtmId.getData().getAttributes().size() == 0) { throw new VciBaseException("传入业务类型未查询到相应字段信息,请检查!"); } Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> { return btmTypeAttributeVO.getId(); }).collect(Collectors.toSet()); if(!CollectionUtils.isEmpty(baseModels)){ List<String> oidList=baseModels.stream().filter(data-> com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(data.getOid())).map(BaseModel::getOid).distinct().collect(Collectors.toList()); LambdaQueryWrapper<CodeAllCode> lqw = new LambdaQueryWrapper<>(); lqw.in(CodeAllCode::getCreateCodeOid,oidList); List<CodeAllCode> codeAllCodeList= codeAllCodeService.selectByWrapper(lqw); Map<String, CodeAllCode> cboMap = codeAllCodeList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getCreateCodeOid(), t -> t)); List<CodeAllCode> newCodeAllCodeList=new ArrayList<>(); //将bean转为map,mybatis统一处理 List<Map<String, String>> maps = new ArrayList<>(); try { baseModels.stream().forEach(baseModel->{ String oid=baseModel.getOid(); try { maps.add(VciBaseUtil.convertBean2Map(baseModel,existFild)); } catch (Exception e) { throw new VciBaseException("类型转换错误:" + e.getMessage()); } if(cboMap.containsKey(oid)){ CodeAllCode codeAllCode= cboMap.get(oid); codeAllCode.setId(baseModel.getId()); codeAllCode.setLastModifier(AuthUtil.getUser().getUserName()); codeAllCode.setLastModifyTime(new Date()); codeAllCode.setLcStatus(baseModel.getLcStatus()); newCodeAllCodeList.add(codeAllCode); } }); commonsMapper.updateBatchByBaseModel(listR.getData().get(0).getTableName(), maps); codeAllCodeService.saveOrUpdateBatch(newCodeAllCodeList); } catch (Exception e) { throw new VciBaseException("类型转换错误:" + e.getMessage()); } } return R.success("更新成功!"); } /** * 获取参照的信息 * * @param referConfigVO 参照的配置 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2494,6 +2494,9 @@ //是否调用集团接口申请接口 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()); }