田源
2024-04-16 e1feed4fb9f3a7722eb0cd646e73e6573bdfb6e1
Merge remote-tracking branch 'origin/master'
已修改9个文件
171 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/entity/DockingPreMetaAttr.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MdmBtmTypeConstant.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/wrapper/GroupAttrPoolMappingWrapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/entity/DockingPreMetaAttr.java
@@ -39,7 +39,7 @@
     * 取值范围
     */
    @ApiModelProperty(value = "取值范围")
    private  String range;
    private String range;
    /***
     * 父属性
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/MdmBtmTypeConstant.java
@@ -106,6 +106,12 @@
     * 同义词配置
     */
    public static final String CODE_SYNONYM = "codesynonym";
    /**
     * 集团属性池配置
     */
    public static final String GROUP_ATTR_POOL = "groupAttrPool";
    /**
     * 全部的码值
     */
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java
@@ -1,19 +1,20 @@
package com.vci.ubcs.code.applyjtcodeservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.service.IGroupAttrPoolMappingService;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.sql.rowset.serial.SerialException;
import java.util.List;
import java.util.Map;
/**
 * 集团属性池映射Controller
@@ -30,12 +31,12 @@
    /**
     * 查询集团属性池映射的属性
     * @param groupAttrPoolMappingVO
     * @param bladeQueryObject
     * @return
     */
    @PostMapping("/getGroupAttrPoolALlList")
    public R<List<GroupAttrPoolMappingVO>> getGroupAttrPoolALlList(@RequestBody GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws SerialException {
        return R.data(groupAttrPoolMappingService.getGroupAttrPoolALlList(groupAttrPoolMappingVO));
    @GetMapping("/getGroupAttrPoolALlList")
    public R<IPage<GroupAttrPoolMappingVO>> getGroupAttrPoolALlList(BladeQueryObject bladeQueryObject) throws ServiceException {
        return R.data(groupAttrPoolMappingService.getGroupAttrPoolALlList(bladeQueryObject));
    }
    /**
@@ -44,7 +45,7 @@
     * @return
     */
    @PostMapping("/getByGroupAttrKeyList")
    public R<List<GroupAttrPoolMappingVO>> getByGroupAttrKeyList(@RequestBody GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws SerialException {
    public R<List<GroupAttrPoolMappingVO>> getByGroupAttrKeyList(@RequestBody GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws ServiceException {
        return R.data(groupAttrPoolMappingService.getByGroupAttrKeyList(groupAttrPoolMappingVO));
    }
@@ -54,18 +55,18 @@
     * @return
     */
    @PostMapping("/editGroupAttr")
    public R editGroupAttr(@RequestBody List<GroupAttrPoolMappingVO>groupAttrPoolMappingVO) throws SerialException {
    public R editGroupAttr(@RequestBody List<GroupAttrPoolMappingVO> groupAttrPoolMappingVO) throws ServiceException {
        return R.status(groupAttrPoolMappingService.editGroupAttr(groupAttrPoolMappingVO));
    }
    /**
     * 根据集团属性编号查询集团属性池映射,慎用因为会更新所有用到这个集团属性的记录
     * 根据集团属性编号查询集团属性池映射并同步,慎用因为会更新所有用到这个集团属性的记录
     * @param groupAttrPoolMappingVOS
     * @return
     */
    @PostMapping("/syncGroupAttrMapping")
    public R syncGroupAttrMapping(@RequestBody List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws SerialException {
        return R.status(groupAttrPoolMappingService.syncGroupAttrMapping(groupAttrPoolMappingVOS));
    public R syncGroupAttrMapping(@RequestBody List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws ServiceException {
        return groupAttrPoolMappingService.syncGroupAttrMapping(groupAttrPoolMappingVOS);
    }
    /**
@@ -75,7 +76,7 @@
     * @throws SerialException
     */
    @PostMapping("/saveDistinctGroupAttr")
    public R saveDistinctGroupAttr(@RequestBody List<DockingPreMetaAttr> dockingPreMetaAttrList) throws SerialException {
    public R saveDistinctGroupAttr(@RequestBody List<DockingPreMetaAttr> dockingPreMetaAttrList) throws ServiceException {
        return R.status(groupAttrPoolMappingService.saveDistinctGroupAttr(dockingPreMetaAttrList));
    }
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.applyjtcodeservice.vo.DokingAttributeSerchVO;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
@@ -64,9 +65,9 @@
    /**
     * 集团属性池映射数据同步导集团属性映射界面
     * @param groupAttrPoolMappingVOS
     * @param groupAttrPoolMappings
     * @return
     */
    boolean syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS);
    R syncGroupAttrMapping(List<GroupAttrPoolMapping> groupAttrPoolMappings);
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java
@@ -1,14 +1,16 @@
package com.vci.ubcs.code.applyjtcodeservice.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import javax.sql.rowset.serial.SerialException;
import java.util.List;
import java.util.Map;
/**
 * 集团属性池映射服务层
@@ -19,11 +21,11 @@
    /**
     * 查询全部集团属性池映射的属性
     * @param GroupAttrPoolMappingVO
     * @param bladeQueryObject
     * @return
     * @throws SerialException
     */
    List<GroupAttrPoolMappingVO> getGroupAttrPoolALlList(GroupAttrPoolMappingVO GroupAttrPoolMappingVO) throws SerialException;
    IPage<GroupAttrPoolMappingVO> getGroupAttrPoolALlList(BladeQueryObject bladeQueryObject) throws ServiceException;
    /**
     * 根据集团属性编号查询集团属性池映射
@@ -31,7 +33,7 @@
     * @return
     * @throws SerialException
     */
    List<GroupAttrPoolMappingVO> getByGroupAttrKeyList(GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws SerialException;
    List<GroupAttrPoolMappingVO> getByGroupAttrKeyList(GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws ServiceException;
    /**
     * 点击同步详细模型时调用该方法,
@@ -39,7 +41,7 @@
     * @return
     * @throws SerialException
     */
    boolean saveDistinctGroupAttr(List<DockingPreMetaAttr> dockingPreMetaAttrList) throws SerialException;
    boolean saveDistinctGroupAttr(List<DockingPreMetaAttr> dockingPreMetaAttrList) throws ServiceException;
    /**
     * 集团属性映射界面修改的映射配置保存
@@ -47,7 +49,7 @@
     * @return
     * @throws SerialException
     */
    boolean editGroupAttr(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVO) throws SerialException;
    boolean editGroupAttr(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVO) throws ServiceException;
    /**
     * 同步集团属性池中的映射配置到,所有应用了该集团属性的具体某个分类上去
@@ -55,6 +57,6 @@
     * @return
     * @throws SerialException
     */
    boolean syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws SerialException;
    R syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws ServiceException;
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -1,5 +1,6 @@
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;
@@ -21,15 +22,14 @@
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;
/***
@@ -259,15 +259,43 @@
            return dockingPreAttrMappingVOList;
        }
    /**
     * 集团属性池映射数据同步导集团属性映射界面
     * @param groupAttrPoolMappings
     * @return
     */
    @Override
    public boolean syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) {
    public R syncGroupAttrMapping(List<GroupAttrPoolMapping> groupAttrPoolMappings) {
        log.info("开始集团属性池同步到集团属性映射配置表");
        //groupAttrPoolMappingVOS.stream().map(GroupAttrPoolMapping::getGroupAttrKey);
        dockingPreAttrMappingMapper.selectList(
            Wrappers.<DockingPreAttrMapping>query().lambda().in(DockingPreAttrMapping::getSourceClassifyId)
        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 false;
        return resBoolean ? R.success("集团属性池同步到集团属性映射配置表成功!"):R.fail("同步过程中,修改集团属性映射表时失败!");
    }
}
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);
    }
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/wrapper/GroupAttrPoolMappingWrapper.java
@@ -1,11 +1,7 @@
package com.vci.ubcs.code.applyjtcodeservice.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreViewModel;
import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreMetaAttrVO;
import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreViewModelVO;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
@@ -47,7 +43,7 @@
        return vos;
    }
    private GroupAttrPoolMapping VOEntity(GroupAttrPoolMappingVO groupAttrPoolMappingVO){
    public GroupAttrPoolMapping VOEntity(GroupAttrPoolMappingVO groupAttrPoolMappingVO){
        GroupAttrPoolMapping groupAttrPoolMapping = Objects.requireNonNull(BeanUtil.copy(groupAttrPoolMappingVO, GroupAttrPoolMapping.class));
        return groupAttrPoolMapping;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -5204,7 +5204,7 @@
        Map<String, CodeClassifyTemplateAttrVO> attrVOMap = templateVO.getAttributes().stream().filter(s-> finalFieldList.contains(s.getId().toLowerCase(Locale.ROOT))).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
        List<WriteExcelData> excelDataList = new ArrayList<>();
        Workbook workbook = new HSSFWorkbook();
        List<CodeAndGroupCodeAttrMappingDTO>  codeAndGroupCodeAttrMappingDTOList=    execGroupCodePortDataDTO.getCodeAttrMapGroupAttrDTOS();
        List<CodeAndGroupCodeAttrMappingDTO> codeAndGroupCodeAttrMappingDTOList = execGroupCodePortDataDTO.getCodeAttrMapGroupAttrDTOS();
        Map<String, CodeAndGroupCodeAttrMappingDTO> jAttrVOMap = codeAndGroupCodeAttrMappingDTOList.stream().filter(s-> finalFieldList.contains(s.getTargetAttrKey().toLowerCase(Locale.ROOT))).collect(Collectors.toMap(s -> s.getTargetAttrKey().toLowerCase(Locale.ROOT), t -> t));
        WriteExcelData codeExcelData = new WriteExcelData(0, 0, "企业编码");
        WriteExcelData groupExcelData = new WriteExcelData(0, 1, "集团码");
@@ -5576,7 +5576,8 @@
            LinkedList<String> colNameList=new LinkedList<>();
            dockingPreAttrMappingVOList.stream().forEach(dockingPreAttrMappingVO -> {
                CodeAndGroupCodeAttrMappingDTO codeAndGroupCodeAttrMappingDTO=new CodeAndGroupCodeAttrMappingDTO();
                if(StringUtils.isNotBlank(dockingPreAttrMappingVO.getTargetAttrId())){
                // TODO:2024/4/16改成用key值判断
                if(StringUtils.isNotBlank(dockingPreAttrMappingVO.getTargetAttrKey())){
                    codeAndGroupCodeAttrMappingDTO.setDefaultValue(dockingPreAttrMappingVO.getDefaultValue());
                    codeAndGroupCodeAttrMappingDTO.setMetaListId(dockingPreAttrMappingVO.getMetaListId());
                    codeAndGroupCodeAttrMappingDTO.setSourceAttrKey(dockingPreAttrMappingVO.getSourceAttrKey());