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