From 942fd08345fe0f3b04b4a0e919516257213ad2e5 Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期一, 20 十一月 2023 15:59:51 +0800
Subject: [PATCH] 20231120_qiuyh_区域巡检打卡、防患举报、物料web端

---
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/controller/SuMaterialWarehouseController.java    |    2 
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java                      |   38 ++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordImgEntity.java                     |   22 +
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java                   |   47 ++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/impl/SuMaterialWarehouseServiceImpl.java |    3 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/mapper/SuMaterialWarehouseMapper.java            |    2 
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java                           |   11 
 hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml                                                          |   21 +
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java                                      |    1 
 hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml                                                                          |   30 ++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/SuMaterialWarehouseService.java          |    3 
 hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml                                                                |  272 ++++++++++++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java                |  101 ++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java                  |    6 
 hd/pipe/secure/src/main/resources/mapping/RegionInspectionMapper.xml                                                                      |   10 
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java             |  189 ++++++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java                              |    1 
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java                        |   49 +++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java                        |   46 +++
 19 files changed, 836 insertions(+), 18 deletions(-)

diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/controller/SuMaterialWarehouseController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/controller/SuMaterialWarehouseController.java
index 2430b0a..5851d1f 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/controller/SuMaterialWarehouseController.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/controller/SuMaterialWarehouseController.java
@@ -56,7 +56,7 @@
 	 * @return
 	 */
 	@GetMapping("selectInfo")
-	BasicResult selectInfo(@RequestParam Integer id){
+	BasicResult selectInfo(@RequestParam String id){
 		return this.service.selectInfo(id);
 	}
 
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/mapper/SuMaterialWarehouseMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/mapper/SuMaterialWarehouseMapper.java
index aa8e472..8d16961 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/mapper/SuMaterialWarehouseMapper.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/mapper/SuMaterialWarehouseMapper.java
@@ -20,7 +20,7 @@
 
 	List<SuMaterialWarehouseEntity> selectPageList(Map map);
 
-	SuMaterialWarehouseEntity selectInfo(Integer id);
+	SuMaterialWarehouseEntity selectInfo(String id);
 
 	/**
 	 * 通过屏幕号查询最新一条
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/SuMaterialWarehouseService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/SuMaterialWarehouseService.java
index 3130857..a243f15 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/SuMaterialWarehouseService.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/SuMaterialWarehouseService.java
@@ -3,7 +3,6 @@
 import com.thhy.general.common.BasicResult;
 import com.thhy.materials.modules.biz.suMaterialWarehouse.entity.SuMaterialWarehouseEntity;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -19,7 +18,7 @@
 
 	BasicResult selectPageList(Map map);
 
-	BasicResult selectInfo(Integer id);
+	BasicResult selectInfo(String id);
 
 	BasicResult selectNewOneByTableNum(Integer tableNum);
 }
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/impl/SuMaterialWarehouseServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/impl/SuMaterialWarehouseServiceImpl.java
index c57870e..adb1634 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/impl/SuMaterialWarehouseServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/service/impl/SuMaterialWarehouseServiceImpl.java
@@ -33,6 +33,7 @@
 		String companyId = sysUserInfo.getCompanyId();
 		String userId = sysUserInfo.getUserId();
 		String id = suMaterialWarehouseEntity.getId();
+		suMaterialWarehouseEntity.setType(1);//1手动
 		if(StringUtils.isNotBlank(id)){
 			suMaterialWarehouseEntity.setUpdateTime(new Date());
 			suMaterialWarehouseEntity.setUpdateUser(userId);
@@ -65,7 +66,7 @@
 	}
 
 	@Override
-	public BasicResult selectInfo(Integer id) {
+	public BasicResult selectInfo(String id) {
 		return BasicResult.success(suMaterialWarehouseMapper.selectInfo(id));
 	}
 
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
index 2cf6e2c..c85c199 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
@@ -102,7 +102,7 @@
     on duplicate key update
     <trim suffixOverrides=",">
       <if test="nameOfOrigin != null">
-            name_of_origin = #{nameOfOrigin,jdbcType=VARCHAR},
+        name_of_origin = #{nameOfOrigin,jdbcType=VARCHAR},
       </if>
       <if test="tableNum != null">
         table_num = #{tableNum,jdbcType=INTEGER},
@@ -132,7 +132,7 @@
         update_user= #{updateUser,jdbcType=VARCHAR},
       </if>
       <if test="updateTime != null">
-        update_time #{updateTime,jdbcType=TIMESTAMP},
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
       </if>
       <if test="companyId != null">
         company_id = #{companyId,jdbcType=VARCHAR},
@@ -147,7 +147,7 @@
   </insert>
 
   <delete id="delete">
-    update t_su_material_warehouse set isUse = 0 where id = #{id,jdbcType=VARCHAR}
+    update t_su_material_warehouse_record set is_use = 0 where id = #{id,jdbcType=VARCHAR}
   </delete>
 
   <select id="selectPageList" resultType="com.thhy.materials.modules.biz.suMaterialWarehouse.entity.SuMaterialWarehouseEntity">
@@ -155,7 +155,7 @@
             t.id                AS id,
             t.name_of_origin    AS nameOfOrigin,
             t.table_num         AS tableNum,
-            sd.dict_name        AS materialName,
+            t.material_name        AS materialName,
             t.incoming_quantity AS incomingQuantity,
             t.create_time       AS createTime,
             t.status            AS status,
@@ -171,6 +171,15 @@
     LEFT JOIN sys_users su1 on su1.user_id = t.update_user
     LEFT JOIN sys_dict sd on sd.dict_id = t.material_name
     where t.is_use = 1 and t.company_id = #{companyId}
+      <if test="tableNum != null and tableNum !=''">
+          and t.table_num = #{tableNum}
+      </if>
+      <if test="type != null and type !=''">
+          and t.type = #{type}
+      </if>
+      <if test="startTime != null and endTime != null">
+          and t.create_time between #{startTime} and  #{endTime}
+      </if>
     order by t.create_time desc
   </select>
 
@@ -180,7 +189,7 @@
             t.id                AS id,
             t.name_of_origin    AS nameOfOrigin,
             t.table_num         AS tableNum,
-            sd.dict_name        AS materialName,
+            t.material_name        AS materialName,
             t.incoming_quantity AS incomingQuantity,
             t.create_time       AS createTime,
             t.status            AS status,
@@ -204,7 +213,7 @@
             t.id                AS id,
             t.table_num         AS tableNum,
             t.name_of_origin    AS nameOfOrigin,
-            sd.dict_name        AS materialName,
+            t.material_name        AS materialName,
             t.incoming_quantity AS incomingQuantity,
             t.create_time       AS createTime,
             t.status            AS status,
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java
index ea497c1..93b629a 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java
@@ -23,6 +23,7 @@
 	void delete(String id);
 
 	List<HiddenDangerEntity> selectPageList(Map<String,Object> map);
+	List<HiddenDangerEntity> selectAppList(Map<String,Object> map);
 
 	HiddenDangerEntity selectInfo(String id);
 
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
index 3a995b4..4792e49 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
@@ -15,6 +15,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -88,8 +89,16 @@
 		map.put("companyId",sysUserInfo.getCompanyId());
 		int pageNum = (int) map.get("pageNum");
 		int pageSize = (int) map.get("pageSize");
+		int type = (int) map.get("type");//type =1 小程序来的
 		PageHelper.startPage(pageNum,pageSize);
-		List<HiddenDangerEntity> hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		List<HiddenDangerEntity> hiddenDangerEntities = new ArrayList<>();
+		if(type == 1){
+			//小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
+			hiddenDangerEntities = hiddenDangerMapper.selectAppList(map);
+		}else {
+			//web 按时间倒序
+			hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		}
 		hiddenDangerEntities.forEach(obj ->{
 			String id = obj.getId();
 			obj.setImgEntities(hiddenDangerMapper.selectImgList(id));
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java
new file mode 100644
index 0000000..5e9f923
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java
@@ -0,0 +1,101 @@
+package com.thhy.secure.modules.biz.regionInspection.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity;
+import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionRecordService;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-20 13:21:02
+ * 区域打卡记录控制层
+ */
+@RestController
+@RequestMapping("regionInspectionRecord")
+public class RegionInspectionRecordController {
+
+	@Autowired
+	private RegionInspectionRecordService regionInspectionRecordService;
+	/**
+	 * app提交打卡
+	 * @param regionInspectionEntity
+	 * @return
+	 */
+	@PostMapping("clockInSubmission")
+	BasicResult clockInSubmission(@RequestBody RegionInspectionRecordEntity regionInspectionEntity){
+		return regionInspectionRecordService.insertAndUpdate(regionInspectionEntity);
+	}
+
+	/**
+	 * 删除
+	 * @param id
+	 * @return
+	 */
+	@GetMapping("delete")
+	BasicResult delete(@RequestParam String id){
+		return regionInspectionRecordService.delete(id);
+	}
+
+	/**
+	 * 查询分页列表
+	 * @param map
+	 * @return
+	 */
+	@PostMapping("selectPageList")
+	BasicResult selectPageList(@RequestBody Map map){
+		return regionInspectionRecordService.selectPageList(map);
+	}
+
+	/**
+	 * web端列表详情
+	 * @param map
+	 * @return
+	 */
+	@PostMapping("selectInfo")
+	BasicResult selectInfo(@RequestBody Map map){
+		String regionInspectionId = map.get("regionInspectionId").toString();
+		String userId = map.get("userId").toString();
+		return regionInspectionRecordService.selectInfo(regionInspectionId,userId);
+	}
+
+	/**
+	 * web端列表详情的区域详情
+	 * @param map
+	 * @return
+	 */
+	@PostMapping("regionInfo")
+	BasicResult regionInfo(@RequestBody Map map) {
+		String regionInspectionId = map.get("regionInspectionId").toString();
+		String userId = map.get("userId").toString();
+		String regionHazardInformId = map.get("regionHazardInformId").toString();
+		return regionInspectionRecordService.regionInfo(regionInspectionId,userId,regionHazardInformId);
+	}
+
+	/**
+	 * 小程序列表详情
+	 * @param map
+	 * @return
+	 */
+	@PostMapping("selectAppInfo")
+	BasicResult selectAppInfo(@RequestBody Map map){
+		String regionInspectionId = map.get("regionInspectionId").toString();
+		String userId = map.get("userId").toString();
+		return regionInspectionRecordService.selectAppInfo(regionInspectionId,userId);
+	}
+
+	/**
+	 * 小程序列表
+	 * @param map
+	 * @return
+	 */
+	@PostMapping("selectAppList")
+	BasicResult selectAppList(@RequestBody Map map){
+		return regionInspectionRecordService.selectAppList(map);
+	}
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java
index 5eae12a..30f4492 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionEntity.java
@@ -45,6 +45,7 @@
 
 	private String companyId;
 
+	private Integer status; //针对任务的完成状态 0未完成 1完成
 	/**
 	 * 巡检路线
 	 */
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
index c16b005..0d40b10 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
@@ -6,6 +6,7 @@
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @Author QiuYuHao
@@ -36,4 +37,9 @@
 	private Integer sort;
 
 	private String region;
+
+	/**
+	 * 一个区域对应一个结果记录
+	 */
+	RegionInspectionRecordEntity recordEntity;
 }
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java
new file mode 100644
index 0000000..c604fda
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java
@@ -0,0 +1,49 @@
+package com.thhy.secure.modules.biz.regionInspection.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-17 12:56:05
+ * 区域巡检打卡记录表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RegionInspectionRecordEntity implements Serializable {
+	private String id;
+	private String regionInspectionId;//巡检任务id
+	private String userId;//用户id
+
+	private Integer status;//0未完成 1完成
+	private String statusName;//状态名称 0未完成 1完成
+
+	private String regionHazardInformId;//区域id
+	private String region;//区域
+
+	private String location;//当前位置
+	private Date inspectionTime;//巡检时间
+	private String createUser;
+	private Date createTime;
+	private String updateUser;
+	private Date updateTime;
+	private String result;//巡检结果
+	//下面这些不是本表字段
+	private String realName;
+	private String task;//任务
+	private String standard;//巡检标准
+	private String regions;
+	private String regionIds;
+
+	private String[] imgPaths;
+
+	List<RegionInspectionRecordImgEntity> imgList;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordImgEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordImgEntity.java
new file mode 100644
index 0000000..ed19517
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordImgEntity.java
@@ -0,0 +1,22 @@
+package com.thhy.secure.modules.biz.regionInspection.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-17 13:25:12
+ * 打卡记录图片表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RegionInspectionRecordImgEntity {
+	private String id;
+	private String regionInspectionRecordId;//打卡记录表id
+	private String imgName;
+	private String imgPath;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java
new file mode 100644
index 0000000..681d6b9
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java
@@ -0,0 +1,46 @@
+package com.thhy.secure.modules.biz.regionInspection.mapper;
+
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordImgEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-17 13:00:08
+ * 打卡记录mapper
+ */
+@Mapper
+public interface RegionInspectionRecordMapper {
+
+	//app提交打卡
+	void insert(RegionInspectionRecordEntity regionInspectionEntity);
+
+	//删除打卡记录
+	void delete(String id);
+	//根据任务id删除记录
+	void deleteByRegionInspectionId(String regionInspectionId);
+	//任务打卡web端查询列表 或者 判断主任务完成未完成的标准
+	List<RegionInspectionRecordEntity> selectPageList(Map map);
+
+	//通过任务id查询打卡详情#{regionInspectionId} and b.user_id = #{userId}
+	RegionInspectionEntity selectInfo(
+			@Param("regionInspectionId") String regionInspectionId,
+			@Param("userId") String userId);
+
+
+	//获取web端任务打卡列表查询详情的区域详情
+	RegionInspectionRecordEntity regionInfo(
+			@Param("regionInspectionId") String regionInspectionId,
+			@Param("userId") String userId,
+			@Param("regionHazardInformId")String regionHazardInformId);
+
+	void insertIMG(RegionInspectionRecordImgEntity regionInspectionRecordImgEntity);
+
+	//小程序巡检打卡列表
+	List<Map> selectAppList(Map map);
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java
new file mode 100644
index 0000000..0fe4abe
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java
@@ -0,0 +1,38 @@
+package com.thhy.secure.modules.biz.regionInspection.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-17 15:51:06
+ * 区域巡检打卡记录表接口
+ */
+public interface RegionInspectionRecordService {
+
+	//新增打卡记录
+	BasicResult insertAndUpdate(RegionInspectionRecordEntity regionInspectionEntity);
+
+	//删除打卡记录
+	BasicResult delete(String id);
+
+	//任务打卡web端查询列表
+	BasicResult selectPageList(Map map);
+
+	//通过任务id查询打卡详情
+	BasicResult selectInfo(String regionInspectionId,String userId);
+
+	//通过任务id查询打卡详情
+	BasicResult selectAppInfo(String regionInspectionId,String userId);
+
+	BasicResult regionInfo(
+			String regionInspectionId,
+			String userId,
+			String regionHazardInformId);
+
+	//小程序打卡列表
+	BasicResult selectAppList(Map map);
+}
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
new file mode 100644
index 0000000..dec4ea5
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
@@ -0,0 +1,189 @@
+package com.thhy.secure.modules.biz.regionInspection.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.secure.modules.biz.regionInspection.entity.*;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionMapper;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper;
+import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionRecordService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-17 15:51:37
+ * 区域巡检打卡记录表实现
+ */
+@Service
+public class RegionInspectionRecordServiceImpl implements RegionInspectionRecordService {
+
+	@Autowired
+	private RegionInspectionRecordMapper regionInspectionRecordMapper;
+
+	@Autowired
+	private RegionInspectionMapper regionInspectionMapper;
+
+	/**
+	 * 小程序提交打卡
+	 * @param regionInspectionEntity
+	 * @return
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public BasicResult insertAndUpdate(RegionInspectionRecordEntity regionInspectionEntity) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String userId = sysUserInfo.getUserId();
+		//修改逻辑
+		if (StringUtils.isNotBlank(regionInspectionEntity.getId())){
+			regionInspectionEntity.setUpdateUser(userId);
+			regionInspectionEntity.setInspectionTime(new Date());
+			regionInspectionEntity.setUpdateTime(new Date());
+		}
+		synchronized (this){
+			//修改打卡记录
+			regionInspectionEntity.setCreateUser(userId);
+			regionInspectionRecordMapper.insert(regionInspectionEntity);
+
+			//添加记录相对应的图片
+			if (!regionInspectionEntity.getImgList().isEmpty()){
+				regionInspectionEntity.getImgList().forEach(obj->{
+					RegionInspectionRecordImgEntity recordImgEntity = RegionInspectionRecordImgEntity
+							.builder()
+							.id(UUIDUtils.create())
+							.regionInspectionRecordId(regionInspectionEntity.getId())
+							.imgName(obj.getImgName())
+							.imgPath(obj.getImgPath())
+							.build();
+					regionInspectionRecordMapper.insertIMG(recordImgEntity);
+				});
+			}
+			//判断每个人提交打卡的时候 判断一次这个任务是否完全被所有人打过卡了
+			Map map = new HashMap();
+			map.put("companyId",sysUserInfo.getCompanyId());
+			map.put("regionInspectionId",regionInspectionEntity.getRegionInspectionId());
+			//此任务每个人对任务打卡是否完成 不精确到此人去哪个区域打卡 只精确到这个人是否完成任务 任务分多个区域
+			List<RegionInspectionRecordEntity> recordEntities = regionInspectionRecordMapper.selectPageList(map);
+			int peopleDKCount = recordEntities.size();//若干人对应的若干任务
+			AtomicInteger atomicInteger = new AtomicInteger();//记录完成打卡次数
+			if (!recordEntities.isEmpty()){
+				recordEntities.forEach(obj->{
+					String statusName = obj.getStatusName();
+					if("完成".equals(statusName)){
+						atomicInteger.incrementAndGet();
+					}
+				});
+			}
+			//如果若干人对应若干任务数量和 完成打卡次数相等 那么此任务 已经完结 修改任务状态
+			if (peopleDKCount == atomicInteger.get()){
+				RegionInspectionEntity r = RegionInspectionEntity
+						.builder()
+						.id(regionInspectionEntity.getRegionInspectionId())
+						.status(1)
+						.build();
+				//修改任务状态
+				regionInspectionMapper.insert(r);
+			}
+
+		}
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult delete(String id) {
+		regionInspectionRecordMapper.delete(id);
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult selectPageList(Map map) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String companyId = sysUserInfo.getCompanyId();
+		int pageNum = (int) map.get("pageNum");
+		int pageSize = (int) map.get("pageSize");
+		PageHelper.startPage(pageNum,pageSize);
+		map.put("companyId",companyId);
+		return BasicResult.success(new PageInfo<>(
+				regionInspectionRecordMapper.selectPageList(map)
+		));
+	}
+
+	@Override
+	public BasicResult selectInfo(String regionInspectionId, String userId) {
+		RegionInspectionEntity obj = regionInspectionRecordMapper.selectInfo(regionInspectionId, userId);
+		List<RegionInspectionHazardInformEntity> regionList = new ArrayList<>();
+		if (obj.getRegionIds()!=null){
+			String[] regionIds = obj.getRegionIds().intern().split(",");
+			String[] regions = obj.getRegions().intern().split(",");
+			//区域对象数组
+			for (int i = 0; i < regionIds.length; i++) {
+				RegionInspectionHazardInformEntity regionEntity = RegionInspectionHazardInformEntity
+						.builder()
+						.regionInspectionId(obj.getId())
+						.regionHazardInformId(regionIds[i])
+						.region(regions[i]).build();
+				regionList.add(regionEntity);
+			}
+		}
+		obj.setRegionList(regionList);
+		return BasicResult.success(obj);
+	}
+
+	@Override
+	public BasicResult selectAppInfo(String regionInspectionId, String userId) {
+		RegionInspectionEntity obj = regionInspectionRecordMapper.selectInfo(regionInspectionId, userId);
+		List<RegionInspectionHazardInformEntity> regionList = new ArrayList<>();
+		if (obj.getRegionIds()!=null){
+			String[] regionIds = obj.getRegionIds().intern().split(",");
+			String[] regions = obj.getRegions().intern().split(",");
+			//区域对象数组
+			for (int i = 0; i < regionIds.length; i++) {
+				RegionInspectionRecordEntity recordEntity = regionInspectionRecordMapper.regionInfo(
+						regionInspectionId,
+						userId,
+						regionIds[i]);
+				RegionInspectionHazardInformEntity regionEntity = RegionInspectionHazardInformEntity
+						.builder()
+						.regionInspectionId(obj.getId())
+						.regionHazardInformId(regionIds[i])
+						.region(regions[i])
+						.recordEntity(recordEntity).build();
+				regionList.add(regionEntity);
+			}
+		}
+		obj.setRegionList(regionList);
+		return BasicResult.success(obj);
+	}
+
+	@Override
+	public BasicResult regionInfo(String regionInspectionId, String userId, String regionHazardInformId) {
+		return BasicResult.success(
+				regionInspectionRecordMapper.regionInfo(
+				regionInspectionId,
+				userId,
+				regionHazardInformId));
+	}
+
+	@Override
+	public BasicResult selectAppList(Map map) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String companyId = sysUserInfo.getCompanyId();
+		String userId = sysUserInfo.getUserId();
+		map.put("userId",userId);
+		map.put("companyId",companyId);
+		int pageNum = (int) map.get("pageNum");
+		int pageSize = (int) map.get("pageSize");
+		PageHelper.startPage(pageNum,pageSize);
+		return BasicResult.success(new PageInfo<>(regionInspectionRecordMapper.selectAppList(map)));
+	}
+
+
+}
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 8c97aa0..9cd46f2 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
@@ -9,8 +9,11 @@
 import com.thhy.general.utils.UserInfoUtils;
 import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity;
 import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionHazardInformEntity;
+import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity;
 import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionUserEntity;
 import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionMapper;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper;
+import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionRecordService;
 import com.thhy.secure.modules.biz.regionInspection.service.RegionInspectionService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +37,9 @@
 	@Autowired
 	private RegionInspectionMapper regionInspectionMapper;
 
+	@Autowired
+	private RegionInspectionRecordMapper regionInspectionRecordMapper;
+
 	private static final Object lock = new Object();
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -53,32 +59,61 @@
 			regionInspectionMapper.deleteUser(regionInspectId);
 			regionInspectionMapper.deleteInspectionHazardInform(regionInspectId);
 		}
-		//添加/修改区域巡检
+		List<String> userIds = new ArrayList<>();
+		List<String> regionIds = new ArrayList<>();
 		synchronized (lock) {
-			regionInspectionEntity.setId(regionInspectId);
-			regionInspectionEntity.setCreateUser(userId);
-			regionInspectionMapper.insert(regionInspectionEntity);
 			//添加巡检人
 			for (RegionInspectionUserEntity userEntity : regionInspectionEntity.getRegionUsersList()) {
-				userEntity.setId(UUIDUtils.create());
+				String id = UUIDUtils.create();
+				userIds.add(userEntity.getUserId());
+				userEntity.setId(id);
 				userEntity.setRegionInspectionId(regionInspectId);
 				regionInspectionMapper.insertUser(userEntity);
 			}
 			//添加巡检的区域
 			for (RegionInspectionHazardInformEntity region : regionInspectionEntity.getRegionList()) {
-				region.setId(UUIDUtils.create());
+				String id = UUIDUtils.create();
+				regionIds.add(region.getRegionHazardInformId());
+				region.setId(id);
 				region.setRegionInspectionId(regionInspectId);
 				regionInspectionMapper.insertInspectionHazardInform(region);
 			}
+
+			//添加任务的时候添加打卡记录 新增的是待打卡状态
+			if (StringUtils.isBlank(regionInspectionEntity.getId())){
+				for (String addUserId : userIds) {
+					for (String regionId : regionIds) {
+						RegionInspectionRecordEntity regionInspectionRecordEntity =
+								RegionInspectionRecordEntity
+										.builder()
+										.id(UUIDUtils.create())
+										.userId(addUserId)
+										.regionHazardInformId(regionId)
+										.regionInspectionId(regionInspectId)
+										.createUser(userId)
+										.build();
+						regionInspectionRecordMapper.insert(regionInspectionRecordEntity);
+					}
+				}
+			}
+
+			//添加/修改区域巡检
+			regionInspectionEntity.setId(regionInspectId);
+			regionInspectionEntity.setCreateUser(userId);
+			regionInspectionMapper.insert(regionInspectionEntity);
+
 		}
+
 		return BasicResult.success();
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public BasicResult delete(String id) {
 		regionInspectionMapper.delete(id);
 		regionInspectionMapper.deleteUser(id);
 		regionInspectionMapper.deleteInspectionHazardInform(id);
+		regionInspectionRecordMapper.deleteByRegionInspectionId(id);
 		return BasicResult.success();
 	}
 
diff --git a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
index bfe90fd..07cd957 100644
--- a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
@@ -183,6 +183,36 @@
         order by t.createTime desc
     </select>
 
+    <!--查询列表-->
+    <select id="selectAppList" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
+        SELECT
+            t.id,
+            t.dangerLocation,
+            t.title,
+            t.createTime,
+            t.auditStatus,
+            t.isUse,
+            t.createUser,
+            t.updateUser,
+            t.updateTime,
+            t.companyId,
+            t.level,
+            t.integral,
+            su.real_name reporter
+        from t_hidden_danger t
+        LEFT JOIN sys_users su ON su.user_id = t.createUser
+        LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
+        WHERE
+        t.isUse = 1
+        and t.companyId = #{companyId}
+        <if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
+            and t.createTime BETWEEN #{startTime} and #{endTime}
+        </if>
+        ORDER BY
+        t.auditStatus,
+        case when t.auditStatus = 0 then t.createTime END,
+        case when t.auditStatus = 1 then t.createTime END desc
+    </select>
     <!--根据ID删除-->
     <delete id="deleteImg">
         delete from t_hidden_danger_img
diff --git a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionMapper.xml b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionMapper.xml
index fc2846f..76be0eb 100644
--- a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionMapper.xml
@@ -29,6 +29,9 @@
       <if test="companyId != null">
         companyId,
       </if>
+      <if test="status != null">
+        `status`,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -55,6 +58,9 @@
       <if test="companyId != null">
         #{companyId,jdbcType=VARCHAR},
       </if>
+      <if test="status != null">
+        #{status,jdbcType=INTEGER},
+      </if>
     </trim>
     on duplicate key update
     <trim suffixOverrides=",">
@@ -79,6 +85,9 @@
       <if test="companyId != null">
         companyId = #{companyId,jdbcType=VARCHAR},
       </if>
+      <if test="status != null">
+        `status` = #{status,jdbcType=INTEGER},
+      </if>
     </trim>
 
   </insert>
@@ -99,6 +108,7 @@
                                 t.updateTime,
                                 t.isUse,
                                 t.companyId,
+                                t.`status`,
                                 GROUP_CONCAT(DISTINCT b.real_name ORDER BY b.job_num SEPARATOR '、') realNames,
                                 GROUP_CONCAT(DISTINCT b.user_id ORDER BY b.job_num SEPARATOR '、') userIds,
                                 GROUP_CONCAT(DISTINCT d.region ORDER BY c.sort SEPARATOR ',') regions,
diff --git a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
new file mode 100644
index 0000000..988783d
--- /dev/null
+++ b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
@@ -0,0 +1,272 @@
+<?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.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper">
+
+    <insert id="insertIMG">
+        insert into t_region_inspection_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                id,
+            </if>
+            <if test="regionInspectionRecordId != null">
+                regionInspectionRecordId,
+            </if>
+            <if test="imgName != null">
+                imgName,
+            </if>
+            <if test="imgPath != null">
+                imgPath,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=VARCHAR},
+            </if>
+            <if test="regionInspectionRecordId != null">
+                #{regionInspectionRecordId,jdbcType=VARCHAR},
+            </if>
+            <if test="imgName != null">
+                #{imgName,jdbcType=VARCHAR},
+            </if>
+            <if test="imgPath != null">
+                #{imgPath,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <insert id="insert">
+        insert into t_region_inspection_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                id,
+            </if>
+            <if test="regionInspectionId != null">
+                regionInspectionId,
+            </if>
+            <if test="userId != null">
+                userId,
+            </if>
+            <if test="regionHazardInformId != null">
+                regionHazardInformId,
+            </if>
+            <if test="status != null">
+                `status`,
+            </if>
+            <if test="location != null">
+                location,
+            </if>
+            <if test="inspectionTime != null">
+                inspectionTime,
+            </if>
+            <if test="createUser != null">
+                createUser,
+            </if>
+            <if test="createTime != null">
+                createTime,
+            </if>
+            <if test="updateUser != null">
+                updateUser,
+            </if>
+            <if test="updateTime != null">
+                updateTime,
+            </if>
+            <if test="result != null">
+                result,
+            </if>
+
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=VARCHAR},
+            </if>
+            <if test="regionInspectionId != null">
+                #{regionInspectionId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="regionHazardInformId != null">
+                #{regionHazardInformId,jdbcType=VARCHAR},
+            </if>
+            <if test="status != null">
+                #{status,jdbcType=INTEGER},
+            </if>
+            <if test="location != null">
+                #{location,jdbcType=VARCHAR},
+            </if>
+            <if test="inspectionTime != null">
+                #{inspectionTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="result != null">
+                #{result,jdbcType=VARCHAR},
+            </if>
+        </trim>
+        on duplicate key update
+        <trim suffixOverrides=",">
+            <if test="regionInspectionId != null">
+                regionInspectionId = #{regionInspectionId,jdbcType=VARCHAR},
+            </if>
+            <if test="userId != null">
+                userId = #{userId,jdbcType=VARCHAR},
+            </if>
+            <if test="regionHazardInformId != null">
+                regionHazardInformId = #{regionHazardInformId,jdbcType=VARCHAR},
+            </if>
+            <if test="status != null">
+                `status` = #{status,jdbcType=INTEGER},
+            </if>
+            <if test="location != null">
+                location = #{location,jdbcType=VARCHAR},
+            </if>
+            <if test="inspectionTime != null">
+                inspectionTime = #{inspectionTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="createUser != null">
+                createUser = #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                createTime = #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUser != null">
+                updateUser = #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                updateTime = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="result != null">
+                result = #{result,jdbcType=VARCHAR},
+            </if>
+        </trim>
+  </insert>
+
+    <delete id="delete">
+        delete from t_region_inspection_record where  id=#{id,jdbcType=VARCHAR}
+    </delete>
+
+    <delete id="deleteByRegionInspectionId">
+        delete from t_region_inspection_record where  regionInspectionId=#{regionInspectionId,jdbcType=VARCHAR}
+    </delete>
+
+    <select id="selectPageList" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity">
+        SELECT  a.userId,
+                a.regionInspectionId,
+                a.inspectionTime,
+                a.task,
+                a.region,
+                a.realName,
+                IF(a.completeRegionNum = a.needRegionNum,"完成","未完成") statusName,
+                IF(a.completeRegionNum = a.needRegionNum,1,0) status
+        FROM (
+                     SELECT
+                             t.userId ,
+                             t.regionInspectionId,
+                             MIN(t.inspectionTime) inspectionTime,
+                             tri.task task,
+                             GROUP_CONCAT(DISTINCT trhi.region) region,
+                             spu.real_name realName,
+                             SUM(t.`status`)/(SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId =  t.regionInspectionId) completeRegionNum,
+                             (SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId =  t.regionInspectionId) needRegionNum
+                     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="realName !=null and realName !=''">
+                            and spu.real_name REGEXP #{realName}
+                        </if>
+                        <if test="companyId !=null and companyId !=''">
+                            and tri.companyId = #{companyId}
+                        </if>
+                        <if test="regionInspectionId !=null and regionInspectionId !=''">
+                            and t.regionInspectionId = #{regionInspectionId}
+                        </if>
+        GROUP BY t.regionInspectionId,t.userId
+                     )a
+
+        WHERE 1=1
+        <if test="status !=null and status !='' and status ==0">
+            and a.completeRegionNum != a.needRegionNum
+        </if>
+        <if test="status !=null and status !='' and status ==1">
+            and a.completeRegionNum = a.needRegionNum
+        </if>
+        <if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
+            and a.inspectionTime BETWEEN #{startTime} and #{endTime}
+        </if>
+    </select>
+
+    <select id="selectInfo" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity">
+        SELECT
+                t.id regionInspectionId,
+                b.user_id userId,
+                t.task,
+                t.standard,
+                b.real_name realName,
+                GROUP_CONCAT(DISTINCT d.region ORDER BY c.sort SEPARATOR ',') regions,
+                GROUP_CONCAT(DISTINCT d.id ORDER BY c.sort SEPARATOR ',') regionIds
+        FROM t_region_inspection t
+                     LEFT JOIN t_region_inspection_user a ON a.regionInspectionId = t.id
+                     LEFT JOIN sys_plat_user b ON b.user_id = a.userId
+                     LEFT JOIN t_region_inspection_hazard_inform c ON c.regionInspectionId = t.id
+                     LEFT JOIN t_region_hazard_inform d ON d.id = c.regionHazardInformId
+        WHERE t.id = #{regionInspectionId} and b.user_id = #{userId}
+        GROUP BY t.id
+    </select>
+
+    <select id="regionInfo" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity">
+        SELECT
+                t.userId,
+                t.regionInspectionId,
+                t.regionHazardInformId,
+                t.inspectionTime inspectionTime,
+                rhi.region region,
+                t.result result,
+                GROUP_CONCAT(timg.imgPath) imgPaths,
+                t.location,
+                spu.real_name realName
+        FROM t_region_inspection_record t
+                     LEFT JOIN t_region_inspection_record_img timg on t.id = timg.regionInspectionRecordId
+                     LEFT JOIN t_region_hazard_inform rhi on rhi.id = t.regionHazardInformId
+                     LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+        WHERE t.userId = #{userId} and t.regionInspectionId = #{regionInspectionId} and t.regionHazardInformId = #{regionHazardInformId}
+        GROUP BY t.id
+    </select>
+
+    <select id="selectAppList" resultType="java.util.Map">
+        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}
+        </if>
+        <if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
+            and b.inspectionTime BETWEEN #{startTime} and #{endTime}
+        </if>
+        GROUP BY
+                a.id
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3