From 9703dd782af4d87af8a944a054aa133a699030a4 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 22 二月 2025 20:23:34 +0800
Subject: [PATCH] 优化、bug

---
 business/src/main/resources/mapper/ProjectInfoMapper.xml                   |    7 +++----
 business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java    |    5 ++---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   15 +++++++++++----
 flowable/src/main/resources/mapper/ProcessCodingMapper.xml                 |    5 +++++
 4 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
index 47ece3d..7f9ff2e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -117,7 +117,7 @@
             entity.setUsedStatus(ProjectConstant.PASS);
         }
         if(!checkProjectNameAndIdIsUnique(entity,null)){
-            return Result.error("椤圭洰鍚嶆垨椤圭洰鐮佸凡瀛樺湪");
+            return Result.error("椤圭洰閲嶅锛岄」鐩悕绉般�侀」鐩爜宸插瓨鍦�");
         }
         baseMapper.insert(entity);
         addPlan(entity.getId()); //娣诲姞璁″垝琛�
@@ -148,7 +148,6 @@
             queryWrapper.eq("project_name", entity.getProjectName());
 
             if (StringUtils.isNotEmpty(entity.getProjectCode())) {
-                queryWrapper.or();
                 queryWrapper.eq("project_code", entity.getProjectCode());
             }
 
@@ -195,7 +194,7 @@
             entity.setUsedStatus(ProjectConstant.PASS);
         }
         if(!checkProjectNameAndIdIsUnique(entity,form.getId())){
-            return Result.error("椤圭洰鍚嶆垨椤圭洰鐮佸凡瀛樺湪");
+            return Result.error("椤圭洰閲嶅锛岄」鐩悕绉般�侀」鐩爜宸插瓨鍦�");
         }
         //鏇存柊椤圭洰淇℃伅
         baseMapper.updateById(entity);
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index 6ce896f..4f5582e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -413,10 +413,17 @@
             if (processCoding != null) {
                 if (StringUtils.isNotBlank(processCoding.getOvertime())) {
                     Long overtime = getTime(processCoding.getOvertime());
-
-                    long durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
-
-                    taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
+                    long durationTime = 0l;
+                    if (Objects.nonNull(processCoding.getStartTaskTime())) {
+                        durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
+                    } else {
+                        taskVO.setRemainingTime("鏈缃姙鐞嗘椂闂�");
+                    }
+                    if (overtime > durationTime) {
+                        taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
+                    } else {
+                        taskVO.setRemainingTime("宸茶秴鏃�");
+                    }
                 } else {
                     taskVO.setRemainingTime("-");
                 }
diff --git a/business/src/main/resources/mapper/ProjectInfoMapper.xml b/business/src/main/resources/mapper/ProjectInfoMapper.xml
index 5875ad5..2400833 100644
--- a/business/src/main/resources/mapper/ProjectInfoMapper.xml
+++ b/business/src/main/resources/mapper/ProjectInfoMapper.xml
@@ -187,7 +187,7 @@
         LEFT JOIN t_project_process TPP ON TPI.id = TPP.project_id and TPP.deleted = 0
         LEFT JOIN sys_dept d ON TPI.project_owner_unit = d.dept_id
         <where>
-            TPI.deleted = 0
+            TPI.deleted = 0 AND TPI.used_status = 2
             ${params.dataScope}
         </where>
 
@@ -239,11 +239,10 @@
         <id column="id" property="id"/>
     </resultMap>
     <select id="checkProjectNameAndIdIsUnique" resultMap="pInfo">
-        select p.id from t_project_info p where  p.project_name =#{name}
+        select p.id from t_project_info p where  p.project_name =#{name} and p.id != #{id}
         <if test="code !=null and code !=''">
-            or p.project_code =#{code}
+            and p.project_code =#{code}
         </if>
-        having p.id != #{id}
 
     </select>
 
diff --git a/flowable/src/main/resources/mapper/ProcessCodingMapper.xml b/flowable/src/main/resources/mapper/ProcessCodingMapper.xml
index 4febc7a..ce66ff6 100644
--- a/flowable/src/main/resources/mapper/ProcessCodingMapper.xml
+++ b/flowable/src/main/resources/mapper/ProcessCodingMapper.xml
@@ -77,6 +77,11 @@
                     when id=#{item.id} then #{item.overtimeStatus}
                 </foreach>
             </trim>
+            <trim prefix="start_task_time =case" suffix="end,"><!-- 鏋勯�燾ase璇硶 鏈熬鍔犱笂end锛屽鏋滈渶瑕佹洿鏂板涓瓧娈靛鍒惰繖涓猼rim -->
+                <foreach collection="list" item="item">
+                    when id=#{item.id} then #{item.startTaskTime}
+                </foreach>
+            </trim>
         </trim>
         where id in
         <foreach collection="list" index="index" item="item" separator="," open="(" close=")">

--
Gitblit v1.8.0