From f9ca72d2c14bc64fce54aa2e8742d7b7f6ff3a35 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 18 四月 2024 00:46:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java | 61 +++++++++++++++++++++++++----- 1 files changed, 51 insertions(+), 10 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java index 0711970..7e47dc2 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java @@ -1,9 +1,11 @@ package com.vci.ubcs.code.applyjtcodeservice.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.feign.ICodeClassifyClient; import com.vci.ubcs.code.applyjtcodeservice.entity.*; @@ -18,16 +20,16 @@ import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrRangeVO; +import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /*** @@ -36,6 +38,7 @@ * @date 2023-05-22 */ @Service +@Slf4j public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService { /*** @@ -43,6 +46,7 @@ */ @Autowired(required = false) private DockingPreAttrMappingMapper dockingPreAttrMappingMapper; + /*** * 涓绘暟鎹垎绫绘湇鍔� */ @@ -60,18 +64,17 @@ */ @Autowired(required = false) private IDockingPreMetaAttrService dockingPreMetaAttrService; + /*** * 灞炴�у彇鍊艰寖鍥存湇鍔� */ @Autowired(required = false) private IDockingPreAttrRangeService dockingPreAttrRangeService; - /*** * 闆嗗洟鍒嗙被瑙嗗浘妯″瀷鏈嶅姟 */ @Autowired(required = false) - private IDockingPreViewModelService dockingPreViewModelService; /*** @@ -92,7 +95,7 @@ VciBaseUtil.alertNotNull(sourceClassifyId,"闆嗗洟鍒嗙被涓婚敭"); //棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘 DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(sourceClassifyId); - List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId)); + List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId)); List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, sourceClassifyId).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId)); Map<String/**灞炴�т富閿�**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t)); List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,sourceClassifyId)); @@ -103,7 +106,7 @@ String attrOid=dockingPreMetaAttr.getOid(); DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping(); if(dockingPreAttrMappingMap.containsKey(attrOid)){ - dockingPreAttrMapping= dockingPreAttrMappingMap.get(attrOid); + dockingPreAttrMapping = dockingPreAttrMappingMap.get(attrOid); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping); }else{ DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); @@ -153,7 +156,7 @@ * 1.浼犻�掕繃鏉ョ殑鏈夊彲鑳戒富鏁版嵁妯℃澘鏂板灞炴�э紝杩欐牱鐨勯渶瑕佹坊鍔狅紝涔熸湁鍙兘鍒犻櫎鐨勫睘鎬э紝杩欐牱鐨勬槧灏勯渶瑕佸垹闄� * 涔熸湁鏇存柊鐨勮繖鏍峰垯鏇存柊 */ - List<DockingPreAttrMapping> newDockingPreAttrMapping=new ArrayList<>(); + List<DockingPreAttrMapping> newDockingPreAttrMapping = new ArrayList<>(); List<String>appingConfigOidList=new ArrayList<>(); List<String>attrIdList=new ArrayList<>(); List<String> attributeOidList=new ArrayList<>(); @@ -236,7 +239,6 @@ return null; } - /*** * 瀵硅薄杞崲 * @param dockingPreAttrMappings @@ -257,4 +259,43 @@ return dockingPreAttrMappingVOList; } + /** + * 闆嗗洟灞炴�ф睜鏄犲皠鏁版嵁鍚屾瀵奸泦鍥㈠睘鎬ф槧灏勭晫闈� + * @param groupAttrPoolMappings + * @return + */ + @Override + public R syncGroupAttrMapping(List<GroupAttrPoolMapping> groupAttrPoolMappings) { + log.info("寮�濮嬮泦鍥㈠睘鎬ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃"); + List<String> groupAttrKeys = groupAttrPoolMappings.stream().map(GroupAttrPoolMapping::getGroupAttrKey).collect(Collectors.toList()); + List<DockingPreAttrMapping> dockingPreAttrMappings = dockingPreAttrMappingMapper.selectList( + Wrappers.<DockingPreAttrMapping>query() + .lambda().in(DockingPreAttrMapping::getSourceAttrKey,groupAttrKeys) + ); + // 灞炴�ф槧灏勯厤缃〃涓笉瀛樺湪瑕佸悓姝ョ殑闆嗗洟灞炴�� + if(Func.isEmpty(dockingPreAttrMappings)){ + return R.fail(String.format("瑕佸悓姝ョ殑%s灞炴�э紝鍦ㄩ泦鍥㈠睘鎬ф槧灏勮〃涓笉瀛樺湪锛�", JSON.toJSONString(groupAttrKeys))); + } + log.info(String.format("杩欎簺%s闆嗗洟灞炴�ф鍦ㄥ線闆嗗洟灞炴�ф槧灏勮〃涓悓姝ャ��",JSON.toJSONString(groupAttrPoolMappings))); + Map<String, GroupAttrPoolMapping> syncTargetMap = new HashMap<>(); + // 鍑嗗瑕佷慨鏀圭殑姣斿鍙傛暟 + groupAttrPoolMappings.stream().forEach(item->{ + syncTargetMap.put((item.getGroupAttrKey()+item.getGroupAttrName()).toLowerCase(Locale.ROOT),item); + }); + List<DockingPreAttrMapping> newGroupAttrPoolMappings = new ArrayList<>(); + //鏌ユ壘鍒版洿鏀瑰氨鏀瑰彉鏌ヨ鍑烘潵鐨勬暟鎹繘琛屼慨鏀广�� + dockingPreAttrMappings.stream().forEach(item->{ + GroupAttrPoolMapping groupAttrPoolMapping = syncTargetMap.get((item.getSourceAttrKey()+item.getSourceAttrName()).toLowerCase(Locale.ROOT)); + if(Func.isNotEmpty(groupAttrPoolMapping)){ + DockingPreAttrMapping dockingPreAttrMapping = BeanUtil.copy(item, DockingPreAttrMapping.class); + dockingPreAttrMapping.setTargetAttrKey(groupAttrPoolMapping.getCodeMetaAttrKey()); + dockingPreAttrMapping.setTargetAttrName(groupAttrPoolMapping.getCodeMetaAttrName()); + newGroupAttrPoolMappings.add(dockingPreAttrMapping); + } + }); + boolean resBoolean = this.saveOrUpdateBatch(newGroupAttrPoolMappings); + log.info("闆嗗洟灞炴�ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃瀹屾垚锛�"); + return resBoolean ? R.success("闆嗗洟灞炴�ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃鎴愬姛锛�"):R.fail("鍚屾杩囩▼涓紝淇敼闆嗗洟灞炴�ф槧灏勮〃鏃跺け璐ワ紒"); + } + } -- Gitblit v1.9.3