From a2fa411f10fefa7d7186e5d20ffe928d4689c373 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 18 九月 2023 10:32:55 +0800 Subject: [PATCH] 申请集团码相关接口加上特殊取集团码的情况处理 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 63 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 1 deletions(-) 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 鍙傜収鐨勯厤缃� -- Gitblit v1.9.3