wang1
2023-07-11 25b0f8a39885fafc7021162034632e01f9dd1b8d
修复生命周期新增异常,修改详情接口
已修改4个文件
59 ■■■■ 文件已修改
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
@@ -62,8 +62,8 @@
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "查看详情", notes = "生命周期")
    public R<LifeCycleVO> detail(LifeCycleDTO lifeCycleDTO){
        LifeCycleRule lifeCycleRule = lifeCycleService.getOne(Condition.getQueryWrapper(BeanUtil.copy(lifeCycleDTO, LifeCycleRule.class)));
        return R.data(LifeCycleRuleWrapper.build().entityVO(lifeCycleRule));
        LifeCycleVO vo = lifeCycleService.detail(lifeCycleDTO);
        return R.data(vo);
    }
    /**
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
@@ -53,6 +53,13 @@
    List<LifeCycleVO> batchAddSave(Collection<LifeCycleDTO> lifeCycleDTOs);
    /**
     * 详情
     * @param lifeCycleDTO
     * @return
     */
    LifeCycleVO detail(LifeCycleDTO lifeCycleDTO);
    /**
     * 修改保存
     * @param lifeCycleDTO 数据传输对象
     * @return
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
@@ -15,10 +15,7 @@
import com.vci.ubcs.omd.service.IBtmTypeService;
import com.vci.ubcs.omd.service.ILifeCycleService;
import com.vci.ubcs.omd.service.IStatusService;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.LifeCycleEventVO;
import com.vci.ubcs.omd.vo.LifeCycleVO;
import com.vci.ubcs.omd.vo.StatusVO;
import com.vci.ubcs.omd.vo.*;
import com.vci.ubcs.omd.wrapper.LifeCycleEventWrapper;
import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper;
import com.vci.ubcs.starter.enumpack.NewAppConstantEnum;
@@ -120,8 +117,8 @@
    public LifeCycleVO addSave(LifeCycleDTO lifeCycleDTO) {
        VciBaseUtil.alertNotNull(lifeCycleDTO,"生命周期信息",lifeCycleDTO.getId(),"生命周期的编号",lifeCycleDTO.getName(),"生命周期名称",lifeCycleDTO.getNodes(),"生命周期的节点",lifeCycleDTO.getStartStatus(),"起始状态");
        //先查询是否存在
        QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class);
        wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT));
        QueryWrapper<LifeCycleRule> wrapper = new QueryWrapper<>();
        wrapper.eq("id",lifeCycleDTO.getId().toLowerCase(Locale.ROOT));
        if(baseMapper.selectCount(wrapper)>0){
            throw new VciBaseException("生命周期的编号不能重复");
        }
@@ -244,7 +241,7 @@
     * @return 连接线的主键
     */
    private String addLifeCycleEdge(LifeCycleEdgeDTO edgeDTO,List<String> statusList,String lifeOid,String creator,Date now){
        VciBaseUtil.alertNotNull(edgeDTO.getSource(),"来源状态",edgeDTO.getTarget(),"目标状态",edgeDTO.getName(),"连接线名称");
        VciBaseUtil.alertNotNull(edgeDTO.getSource(),"来源状态",edgeDTO.getTarget(),"目标状态");
        if(!statusList.contains(edgeDTO.getSource())
            ||!statusList.contains(edgeDTO.getTarget())){
            throw new VciBaseException("数据错误,[" + edgeDTO.getName() + "]连接线上中使用的状态没有找到");
@@ -332,6 +329,36 @@
        return LifeCycleRuleWrapper.build().entityVO(getById(rule.getOid()));
    }
    public LifeCycleVO detail(LifeCycleDTO lifeCycleDTO){
        QueryWrapper wrapper = Condition.getQueryWrapper(org.springblade.core.tool.utils.BeanUtil.copy(lifeCycleDTO, LifeCycleRule.class));
        LifeCycleRule lifeCycleRule = baseMapper.selectOne(wrapper);
        LifeCycleVO vo = LifeCycleRuleWrapper.build().entityVO(lifeCycleRule);
        String lifeOid = lifeCycleRule.getOid();
        QueryWrapper<LifeCycleNode> nodeWrapper = new QueryWrapper<>();
        nodeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT));
        List<LifeCycleNode> nodes = nodeMapper.selectList(nodeWrapper);
        List<LifeCycleNodeVO> nodeVos = new ArrayList<>();
        nodes.stream().forEach(doo->{
            LifeCycleNodeVO vo1 = new LifeCycleNodeVO();
            BeanUtil.convert(doo,vo1);
            nodeVos.add(vo1);
        });
        vo.setNodes(nodeVos);
        QueryWrapper<LifeCycleEdge> edgeWrapper = new QueryWrapper<>();
        edgeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT));
        List<LifeCycleEdge> edges = edgeMapper.selectList(edgeWrapper);
        List<LifeCycleEdgeVO> edgeVos = new ArrayList<>();
        edges.stream().forEach(doo->{
            LifeCycleEdgeVO vo2 = new LifeCycleEdgeVO();
            BeanUtil.convert(doo,vo2);
            edgeVos.add(vo2);
        });
        vo.setEdges(edgeVos);
        return vo;
    }
    /**
     * 修改生命周期
     * @param lifeCycleDTO
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
@@ -1,10 +1,12 @@
package com.vci.ubcs.omd.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
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.omd.constant.BtmTypeConstant;
import com.vci.ubcs.omd.entity.LifeCycleRule;
import com.vci.ubcs.omd.entity.Status;
import com.vci.ubcs.omd.mapper.StatusMapper;
import com.vci.ubcs.omd.service.IStatusService;
@@ -196,7 +198,10 @@
        Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(idCollection);
        if(!CollectionUtils.isEmpty(idCollections)) {
            idCollections.forEach(s -> {
                List<Status> queryResult = baseMapper.selectByIdIgnoreCase(s);
                QueryWrapper<Status> wrapper = new QueryWrapper<>();
                wrapper.in("id",s);
                List<Status> queryResult = baseMapper.selectList(wrapper);
                if(!CollectionUtils.isEmpty(queryResult)){
                    statusDOList.addAll(queryResult);
                }