From 1c7f65318ebb688e5cfc72b4806ace7f489e85be Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 10 十月 2023 18:14:22 +0800
Subject: [PATCH] 生命周期执行更改报错问题解决

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java    |    9 ----
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java            |   13 ++++++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LifeCycleRuleMapper.xml                     |   42 +++++++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java |   12 ++++--
 4 files changed, 63 insertions(+), 13 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 847c2c7..9e7f298 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
@@ -1,29 +1,20 @@
 package com.vci.ubcs.omd.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.omd.dto.LifeCycleDTO;
-import com.vci.ubcs.omd.entity.LifeCycleEvent;
-import com.vci.ubcs.omd.entity.LifeCycleRule;
 import com.vci.ubcs.omd.service.ILifeCycleService;
 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.wrapper.LifeCycleRuleWrapper;
-import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 
 /**
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java
index 88ff512..b1d2002 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/LifeCycleMapper.java
@@ -1,6 +1,7 @@
 package com.vci.ubcs.omd.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.Attribute;
 import com.vci.ubcs.omd.entity.LifeCycleRule;
 import com.vci.ubcs.omd.entity.Status;
 
@@ -15,4 +16,16 @@
  */
 public interface LifeCycleMapper extends BaseMapper<LifeCycleRule> {
 
+	/**
+	 * 鏌ヨ鍏ㄩ儴
+	 * @return 鏌ヨ缁撴灉
+	 */
+	List<Attribute> selectAll();
+	/**
+	 * 妫�楠屽睘鎬х紪鍙锋槸鍚﹀凡缁忓瓨鍦�
+	 * @param id 灞炴�х紪鍙�
+	 * @param oid 鏁版嵁涓婚敭
+	 * @return 鏉℃暟
+	 */
+	Long checkIdExist(String id, String oid);
 }
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 ace2a89..7d61250 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
@@ -4,14 +4,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vci.ubcs.omd.constant.BtmTypeConstant;
+import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
 import com.vci.ubcs.omd.dto.LifeCycleDTO;
 import com.vci.ubcs.omd.dto.LifeCycleEdgeDTO;
 import com.vci.ubcs.omd.dto.LifeCycleLineEventDTO;
 import com.vci.ubcs.omd.dto.LifeCycleNodeDTO;
 import com.vci.ubcs.omd.entity.*;
 import com.vci.ubcs.omd.mapper.*;
-import com.vci.ubcs.omd.repeater.DomainRepeater;
 import com.vci.ubcs.omd.service.IBtmTypeService;
 import com.vci.ubcs.omd.service.ILifeCycleService;
 import com.vci.ubcs.omd.service.IStatusService;
@@ -81,7 +80,8 @@
 	@Resource
 	private LifeCycleEventMapper eventMapper;
 
-
+	@Resource
+	private LifeCycleMapper lifeCycleMapper;
 	/**
 	 * 鑾峰彇鐢熷懡鍛ㄦ湡鍒楄〃
 	 *
@@ -328,12 +328,16 @@
 			lifeCycleDTO.getOid(),"涓婚敭");
 		LifeCycleRule rule = selectByOid(lifeCycleDTO.getOid());
 		//鏌ヨ閲嶅
-		QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class);
 
+		String sql="select * from  pl_omd_life_cycle_rule where lower(id)=? and oid != ?";
+		/*QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class);
 		wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT));
 		wrapper.ne("oid",lifeCycleDTO.getOid());
 		if(baseMapper.selectCount(wrapper)>0){
 			throw new VciBaseException("鐢熷懡鍛ㄦ湡鐨勭紪鍙蜂笉鑳介噸澶�");
+		}*/
+		if(lifeCycleMapper.checkIdExist(lifeCycleDTO.getId().toLowerCase(Locale.ROOT),lifeCycleDTO.getOid())>0){
+			throw new VciBaseException("鐢熷懡鍛ㄦ湡鐨勭紪鍙蜂笉鑳介噸澶�");
 		}
 		editLifeCycle(lifeCycleDTO,rule);
 		return LifeCycleRuleWrapper.build().entityVO(getById(rule.getOid()));
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LifeCycleRuleMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LifeCycleRuleMapper.xml
new file mode 100644
index 0000000..f735184
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LifeCycleRuleMapper.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.omd.mapper.LifeCycleMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="baseResultMap" type="com.vci.ubcs.omd.entity.LifeCycleRule">
+        <id column="OID" jdbcType="VARCHAR" property="oid"/>
+        <result column="ID" jdbcType="VARCHAR" property="id"/>
+        <result column="NAME" jdbcType="VARCHAR" property="name"/>
+        <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
+        <result column="CREATOR" jdbcType="VARCHAR" property="creator" />
+        <result column="LAST_MODIFIER" jdbcType="VARCHAR" property="lastModifier" />
+        <result column="LAST_MODIFY_TIME" jdbcType="TIMESTAMP" property="lastModifyTime" />
+        <result column="TS"  jdbcType="TIMESTAMP" property="ts"/>
+        <result column="START_STATUS" jdbcType="VARCHAR" property="startStatus" />
+        <result column="START_STATUS_NAME" jdbcType="VARCHAR" property="startStatusName" />
+        <result column="DESCRIPTION" jdbcType="VARCHAR" property="description" />
+
+    </resultMap>
+    <sql id="tableName">
+        pl_omd_life_cycle_rule
+    </sql>
+    <sql id="base_query_column">
+        OID, ID, NAME, CREATOR, CREATE_TIME, LAST_MODIFIER,  LAST_MODIFY_TIME, TS, START_STATUS, START_STATUS_NAME,DESCRIPTION
+    </sql>
+    <!--鏌ヨ鎬绘暟-->
+    <select id="selectAll" resultMap="baseResultMap">
+        select
+        <include refid="base_query_column"/>
+        from
+        <include refid="tableName"/>
+    </select>
+    <!--鏌ヨ鎬绘暟-->
+    <select id="checkIdExist" resultType="java.lang.Long">
+        select COUNT(*) FROM
+        <include refid="tableName"/>
+        where LOWER(ID) = #{id}
+        <if test="oid != null">
+            and OID != #{oid}
+        </if>
+    </select>
+</mapper>

--
Gitblit v1.9.3