田源
2024-04-18 3aae81075a18a11d6b605c7583eb03b75366b466
Merge remote-tracking branch 'origin/master'
已修改7个文件
98 ■■■■ 文件已修改
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml
@@ -45,6 +45,12 @@
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.vci.ubcs</groupId>
            <artifactId>ubcs-omd-api</artifactId>
            <version>3.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java
@@ -1,11 +1,11 @@
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.omd.entity.Enum;
import com.vci.ubcs.omd.vo.EnumVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
@@ -80,4 +80,14 @@
        return R.status(groupAttrPoolMappingService.saveDistinctGroupAttr(dockingPreMetaAttrList));
    }
    /**
     * 根据分类OID获取到模板再根据属性id获取到模板下的属性id的enum值,然后查询出枚举
     * @param groupAttrPoolMappingVO
     * @return
     */
    @PostMapping("/getEnumAttrByClsOIdAndAttrId")
    public R<List<EnumVO>> getEnumAttrByClsOIdAndAttrId(@RequestBody GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws ServiceException {
        return R.data(groupAttrPoolMappingService.getEnumAttrByClsOIdAndAttrId(groupAttrPoolMappingVO));
    }
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java
@@ -5,6 +5,7 @@
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.omd.vo.EnumVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
@@ -59,4 +60,11 @@
     */
    R syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws ServiceException;
    /**
     * 根据分类OID获取到模板再根据属性id获取到模板下的属性id的enum值,然后查询出枚举
     * @param groupAttrPoolMappingVOS
     * @return
     */
    List<EnumVO> getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS);
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.applyjtcodeservice.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -14,11 +15,14 @@
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.omd.feign.IEnumClient;
import com.vci.ubcs.omd.vo.EnumVO;
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.Value;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
@@ -28,7 +32,9 @@
import javax.sql.rowset.serial.SerialException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -48,6 +54,8 @@
    private final IDockingPreAttrMappingService dockingPreAttrMappingService;
    private final IEnumClient enumClient;
    /**
     * 查询全部集团属性池映射的属性
     * @param bladeQueryObject
@@ -57,7 +65,7 @@
    @Override
    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);
        IPage<GroupAttrPoolMapping> groupAttrPoolMappingIPage = this.groupAttrPoolMappingMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery().setDescs("groupAttrKey")), queryWrapper);
        return GroupAttrPoolMappingWrapper.build().pageVO(groupAttrPoolMappingIPage);
    }
@@ -110,8 +118,7 @@
            return true;
        }
        List<GroupAttrPoolMapping> groupAttrPoolMappings = new ArrayList<>();
        List<String> distinctListEnglishName = new ArrayList<>();
        List<String> distinctListChineseName = new ArrayList<>();
        Map<String,String> distinctMap = new HashMap<>();
        log.info("开始将集团属性同步到集团属性池中");
        // 将dockingPreMetaAttrList集合转换为集团属性池属性对象
        dockingPreMetaAttrList.stream().forEach(item->{
@@ -120,16 +127,15 @@
            groupAttrPoolMapping.setGroupAttrName(item.getChineseName());
            groupAttrPoolMappings.add(groupAttrPoolMapping);
            // 去重查询条件集团属性英文名称
            distinctListEnglishName.add(item.getEnglishName());
            // 去重查询条件集团属性中文名称
            distinctListChineseName.add(item.getName());
            distinctMap.put(item.getEnglishName(),item.getChineseName());
        });
        // 构造查重sql(根据集团属性中文和英文作为一组查询条件)
        LambdaQueryWrapper<GroupAttrPoolMapping> lambdaQueryWrapper = Wrappers.<GroupAttrPoolMapping>query().lambda();
        distinctMap.forEach((key, value)->{
            lambdaQueryWrapper.eq(GroupAttrPoolMapping::getGroupAttrKey,key).and(wrapper->wrapper.eq(GroupAttrPoolMapping::getGroupAttrName,value)).or(true);
        });
        // 去重查询结果
        List<GroupAttrPoolMapping> dbGroupAttrPoolMappings = groupAttrPoolMappingMapper.selectList(
            Wrappers.<GroupAttrPoolMapping>query()
                .lambda().in(GroupAttrPoolMapping::getGroupAttrKey, distinctListEnglishName)
                .in(GroupAttrPoolMapping::getGroupAttrName, distinctListChineseName)
        );
        List<GroupAttrPoolMapping> dbGroupAttrPoolMappings = groupAttrPoolMappingMapper.selectList(lambdaQueryWrapper);
        List<GroupAttrPoolMapping> newGroupAttrPoolMappings = null;
        // 将已存在的集团属性从groupAttrPoolMappings中移除
        if(Func.isNotEmpty(dbGroupAttrPoolMappings)){
@@ -147,9 +153,14 @@
            return item;
        }).collect(Collectors.toList());
        log.info("本次同步的数据为:"+ JSON.toJSONString(finalGroupAttrPoolMappings));
        boolean resBoolean = this.saveBatch(finalGroupAttrPoolMappings);
        try {
            this.saveBatch(finalGroupAttrPoolMappings);
        log.info("集团属性同步到集团属性池,同步完毕");
        return resBoolean;
            return true;
        }catch (Exception e){
            log.info("集团属性同步到集团属性池,同步失败!,原因:"+e.getMessage());
            throw new ServiceException("集团属性同步到集团属性池,同步失败!,原因:"+e.getMessage());
        }
    }
    /**
@@ -189,4 +200,33 @@
        return dockingPreAttrMappingService.syncGroupAttrMapping(groupAttrPoolMappings);
    }
    /**
     * 根据分类OID获取到模板再根据属性id获取到模板下的属性id的enum值,然后查询出枚举
     * @param groupAttrPoolMappingVOS
     * @return
     */
    @Override
    public List<EnumVO> getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS) {
        if(Func.isEmpty(groupAttrPoolMappingVOS.getClassifyId())){
            throw new ServiceException("必传参数分类oid不能为空!");
        }
        if(Func.isEmpty(groupAttrPoolMappingVOS.getCodeMetaAttrKey())){
            throw new ServiceException("必传参数,模板属性id不能为空");
        }
        // 根据分类oid查询所使用的模板和模板属性
        List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyClient.listCodeAttributeByClassId(groupAttrPoolMappingVOS.getClassifyId());
        // 筛选出模板属性中id等于codeMetaAttrKey的,并取出enumId
        if(attrVOS.isEmpty()){
            return new ArrayList<>();
        }
        List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOS = attrVOS.stream().filter(item -> item.getId().equalsIgnoreCase(groupAttrPoolMappingVOS.getCodeMetaAttrKey())).collect(Collectors.toList());
        // 根据上一步取出的enumId调用枚举服务查询出枚举并返回
        String enumId = codeClassifyTemplateAttrVOS.get(0).getEnumId();
        if(Func.isBlank(enumId)){
            return new ArrayList<>();
        }
        R<List<EnumVO>> list = enumClient.getList(enumId);
        return list.getData();
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1561,7 +1561,6 @@
        return uiInfoVO;
    }
    /**
     * 模板属性转换为表单定义的信息
     *
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
@@ -105,7 +105,6 @@
        return R.data(pageVO);
    }
    /**
     * 新增或修改
     *
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java
@@ -68,6 +68,8 @@
        entity.setLastModifier(creator);
        entity.setLastModifyTime(now);
        entity.setTs(now);
        entity.setPrecisionLength(0);
        entity.setScaleLength(0);
        entity.setPkBtmType(btmTypeOid);
        // 在这进行通用字段处理
        return entity;