From de9b95a2f14d42bcde076aeb32f1e1c4396b67f4 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 18 九月 2023 10:35:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java | 9 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java | 5 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java | 6 +- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 3 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 63 ++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java | 18 ++++- Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java | 20 ++++-- 7 files changed, 106 insertions(+), 18 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java index 529a4ef..729a3ba 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java +++ b/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); } diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java index 1f85f08..0452c25 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java +++ b/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); diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java index ae69cc9..b0535f1 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java +++ b/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) { diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java index 5cc9423..761211d 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java +++ b/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); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java index 3174c1e..6dd6af6 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java +++ b/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 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index 389adc9..aa73ec6 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/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<>(); + //灏哹ean杞负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 鍙傜収鐨勯厤缃� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index 16ee22f..25953b9 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/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()); } -- Gitblit v1.9.3