From 25b0f8a39885fafc7021162034632e01f9dd1b8d Mon Sep 17 00:00:00 2001
From: wang1 <844966816@qq.com>
Date: 星期二, 11 七月 2023 19:22:40 +0800
Subject: [PATCH] 修复生命周期新增异常,修改详情接口

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java    |    4 ++--
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java |   41 ++++++++++++++++++++++++++++++++++-------
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java    |    7 ++++++-
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java         |    7 +++++++
 4 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
index 0d942ba..bde6368 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
+++ b/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);
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
index 9fed8ea..14dbdc4 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
+++ b/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
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
index f2f24e2..7fc3448 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
+++ b/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
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
index 0999276..c297a3c 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
+++ b/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);
 				}

--
Gitblit v1.9.3