From e1feed4fb9f3a7722eb0cd646e73e6573bdfb6e1 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 16 四月 2024 20:56:05 +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/GroupAttrPoolMappingServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 39 insertions(+), 15 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java index 6593e75..db69aa6 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java @@ -1,21 +1,27 @@ package com.vci.ubcs.code.applyjtcodeservice.service.impl; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreAttrRange; import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr; import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping; import com.vci.ubcs.code.applyjtcodeservice.mapper.GroupAttrPoolMappingMapper; import com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreAttrMappingService; import com.vci.ubcs.code.applyjtcodeservice.service.IGroupAttrPoolMappingService; -import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService; import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO; import com.vci.ubcs.code.applyjtcodeservice.wrapper.GroupAttrPoolMappingWrapper; import com.vci.ubcs.code.feign.ICodeClassifyClient; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; +import com.vci.ubcs.starter.util.UBCSCondition; +import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; @@ -23,7 +29,6 @@ import javax.sql.rowset.serial.SerialException; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -45,14 +50,15 @@ /** * 鏌ヨ鍏ㄩ儴闆嗗洟灞炴�ф睜鏄犲皠鐨勫睘鎬� - * - * @param GroupAttrPoolMappingVO + * @param bladeQueryObject * @return + * @throws SerialException */ @Override - public List<GroupAttrPoolMappingVO> getGroupAttrPoolALlList(GroupAttrPoolMappingVO GroupAttrPoolMappingVO) throws SerialException { - List<GroupAttrPoolMapping> groupAttrPoolMappings = groupAttrPoolMappingMapper.selectList(null); - return GroupAttrPoolMappingWrapper.build().entityVOs(groupAttrPoolMappings); + public IPage<GroupAttrPoolMappingVO> getGroupAttrPoolALlList(BladeQueryObject bladeQueryObject) throws ServiceException { + QueryWrapper<GroupAttrPoolMapping> queryWrapper = UBCSCondition.getQueryWrapper(bladeQueryObject.getConditionMap(), GroupAttrPoolMapping.class); + IPage<GroupAttrPoolMapping> groupAttrPoolMappingIPage = this.groupAttrPoolMappingMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery()), queryWrapper); + return GroupAttrPoolMappingWrapper.build().pageVO(groupAttrPoolMappingIPage); } /** @@ -98,7 +104,7 @@ * @throws SerialException */ @Override - public boolean saveDistinctGroupAttr(List<DockingPreMetaAttr> dockingPreMetaAttrList) throws SerialException { + public boolean saveDistinctGroupAttr(List<DockingPreMetaAttr> dockingPreMetaAttrList) throws ServiceException { // 涓虹┖鐩存帴杩斿洖 if(Func.isEmpty(dockingPreMetaAttrList)){ return true; @@ -124,16 +130,23 @@ .lambda().in(GroupAttrPoolMapping::getGroupAttrKey, distinctListEnglishName) .in(GroupAttrPoolMapping::getGroupAttrName, distinctListChineseName) ); - List<GroupAttrPoolMapping> finalGroupAttrPoolMappings = null; + List<GroupAttrPoolMapping> newGroupAttrPoolMappings = null; // 灏嗗凡瀛樺湪鐨勯泦鍥㈠睘鎬т粠groupAttrPoolMappings涓Щ闄� if(Func.isNotEmpty(dbGroupAttrPoolMappings)){ - finalGroupAttrPoolMappings = groupAttrPoolMappings.stream() + newGroupAttrPoolMappings = groupAttrPoolMappings.stream() .filter(mapping -> !dbGroupAttrPoolMappings.stream() .map(GroupAttrPoolMapping::getGroupAttrKey) .collect(Collectors.toList()) .contains(mapping.getGroupAttrKey())) .collect(Collectors.toList()); + }else{ + newGroupAttrPoolMappings = groupAttrPoolMappings; } + List<GroupAttrPoolMapping> finalGroupAttrPoolMappings = newGroupAttrPoolMappings.stream().map(item -> { + DefaultAttrAssimtUtil.addDefaultAttrAssimt(item, MdmBtmTypeConstant.GROUP_ATTR_POOL); + return item; + }).collect(Collectors.toList()); + log.info("鏈鍚屾鐨勬暟鎹负锛�"+ JSON.toJSONString(finalGroupAttrPoolMappings)); boolean resBoolean = this.saveBatch(finalGroupAttrPoolMappings); log.info("闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜,鍚屾瀹屾瘯"); return resBoolean; @@ -146,12 +159,16 @@ * @throws SerialException */ @Override - public boolean editGroupAttr(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVO) throws SerialException { + public boolean editGroupAttr(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVO) throws ServiceException { if(Func.isEmpty(groupAttrPoolMappingVO)){ return true; } List<GroupAttrPoolMapping> groupAttrPoolMappings = GroupAttrPoolMappingWrapper.build().VOsEntity(groupAttrPoolMappingVO); - return this.updateBatchById(groupAttrPoolMappings); + List<GroupAttrPoolMapping> finalGroupAttrPoolMappings = groupAttrPoolMappings.stream().map(item -> { + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item); + return item; + }).collect(Collectors.toList()); + return this.updateBatchById(finalGroupAttrPoolMappings); } /** @@ -161,8 +178,15 @@ * @throws SerialException */ @Override - public boolean syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws SerialException { - return dockingPreAttrMappingService.syncGroupAttrMapping(groupAttrPoolMappingVOS); + public R syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws ServiceException { + List<String> groupKeyList = groupAttrPoolMappingVOS.stream().map(GroupAttrPoolMappingVO::getGroupAttrKey).collect(Collectors.toList()); + List<GroupAttrPoolMapping> groupAttrPoolMappings = this.groupAttrPoolMappingMapper.selectList( + Wrappers.<GroupAttrPoolMapping>query().lambda().in(GroupAttrPoolMapping::getGroupAttrKey, groupKeyList) + ); + if(Func.isEmpty(groupAttrPoolMappings) && groupKeyList.size() == groupAttrPoolMappings.size()){ + return R.fail("鍕鹃�夌殑瑕佸悓姝ョ殑闆嗗洟灞炴�т腑鏈夊湪搴撲腑涓嶅瓨鍦ㄧ殑鏁版嵁锛岃鍒锋柊鍚庨噸璇曪紒"); + } + return dockingPreAttrMappingService.syncGroupAttrMapping(groupAttrPoolMappings); } } -- Gitblit v1.9.3