| | |
| | | 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; |
| | |
| | | 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("生命周期的编号不能重复"); |
| | | } |
| | |
| | | * @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() + "]连接线上中使用的状态没有找到"); |
| | |
| | | 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 |