From b69ca5e06f8f5c56f8b1270370a81bcecf57bfe7 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期四, 30 十一月 2023 14:07:24 +0800
Subject: [PATCH] Merge branch 'master' of http://111.30.93.211:10101/r/supipe

---
 hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml                                                    |   53 ++++++++++++++++++--------
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java       |   10 +++--
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java |    1 
 3 files changed, 43 insertions(+), 21 deletions(-)

diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
index efaa3fc..7484f6e 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
@@ -44,6 +44,7 @@
 	public BasicResult insertAndUpdate(RegionInspectionRecordEntity regionInspectionEntity) {
 		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
 		String userId = sysUserInfo.getUserId();
+		String platUserId = regionInspectionRecordMapper.selectPlatUserId(userId);
 		//修改逻辑
 		if (StringUtils.isNotBlank(regionInspectionEntity.getId())){
 			regionInspectionEntity.setUpdateUser(userId);
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
index 9cd46f2..78c8956 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
@@ -79,10 +79,11 @@
 				regionInspectionMapper.insertInspectionHazardInform(region);
 			}
 
-			//添加任务的时候添加打卡记录 新增的是待打卡状态
-			if (StringUtils.isBlank(regionInspectionEntity.getId())){
-				for (String addUserId : userIds) {
-					for (String regionId : regionIds) {
+			//添加或修改任务的时候添加打卡记录 是待打卡状态
+			for (String addUserId : userIds) {
+				for (String regionId : regionIds) {
+					RegionInspectionRecordEntity checkIsNull = regionInspectionRecordMapper.regionInfo(regionInspectionEntity.getId(), addUserId, regionId);
+					if (checkIsNull==null){
 						RegionInspectionRecordEntity regionInspectionRecordEntity =
 								RegionInspectionRecordEntity
 										.builder()
@@ -97,6 +98,7 @@
 				}
 			}
 
+
 			//添加/修改区域巡检
 			regionInspectionEntity.setId(regionInspectId);
 			regionInspectionEntity.setCreateUser(userId);
diff --git a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
index 47cc911..741dde0 100644
--- a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
@@ -199,9 +199,13 @@
                         <if test="regionInspectionId !=null and regionInspectionId !=''">
                             and t.regionInspectionId = #{regionInspectionId}
                         </if>
+                        <if test="userId !=null and userId !=''">
+                            and t.userId = #{userId}
+                        </if>
                         <if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
                             and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s")
                         </if>
+
         GROUP BY t.regionInspectionId,t.userId
                      )a
         WHERE 1=1
@@ -296,27 +300,42 @@
     </select>
 
     <select id="selectAppList" resultType="java.util.Map">
+        select * from (
         SELECT
-                a.id,
-                MIN( b.inspectionTime ) inspectionTime,
-                a.`status`,
-                a.task,
-                GROUP_CONCAT(DISTINCT d.region) region
-        FROM
-                t_region_inspection a
-                        LEFT JOIN t_region_inspection_record b ON b.regionInspectionId = a.id
-                        LEFT JOIN t_region_inspection_hazard_inform c ON c.regionInspectionId = a.id
-                        LEFT JOIN t_region_hazard_inform d ON c.regionHazardInformId = d.id
-                        LEFT JOIN t_region_inspection_user e on e.regionInspectionId = a.id
-        WHERE a.companyId = #{companyId} and  e.userId = #{userId}
-        <if test="status != null and status != ''">
-            and a.status = #{status}
+        tri.id,
+        t.userId ,
+        t.regionInspectionId,
+        MIN(t.inspectionTime) inspectionTime,
+        tri.task task,
+        GROUP_CONCAT(DISTINCT trhi.region) region,
+        spu.real_name realName,
+        if(
+        SUM(t.`status`)/(SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE
+        regionInspectionId = t.regionInspectionId)
+        =
+        (SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId =
+        t.regionInspectionId)
+        ,1,0) status
+        from
+        t_region_inspection_record t
+        LEFT JOIN t_region_inspection tri on tri.id = t.regionInspectionId
+        LEFT JOIN t_region_inspection_hazard_inform trihi on trihi.regionInspectionId = t.regionInspectionId
+        LEFT JOIN t_region_hazard_inform trhi on trhi.id = trihi.regionHazardInformId
+        LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+        WHERE 1=1
+        <if test="userId != null and userId != ''">
+            and t.userId = #{userId}
         </if>
         <if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
-            and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s")
+            and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime},
+            "%Y-%m-%d %H:%i:%s")
         </if>
-        GROUP BY
-                a.id
+        GROUP BY t.regionInspectionId,t.userId
+    ) entity where 1=1
+        <if test="status != null and status != ''">
+            and entity.status = #{status}
+        </if>
+
     </select>
 
     <select id="selectPlatUserId" resultType="java.lang.String">

--
Gitblit v1.9.3