From b6f3fc5aec6af3ea4c8a46038f226239181d76aa Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 30 Jan 2024 15:30:40 +0800
Subject: [PATCH] 九小场所优化

---
 src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java    |    4 
 src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java |   18 ++++-
 src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml             |   85 ++++++++++++++++++----------
 src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java         |    2 
 src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java            |    2 
 src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java                    |   17 +++++
 src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml           |    2 
 7 files changed, 90 insertions(+), 40 deletions(-)

diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml
index 85450d6..540cda8 100644
--- a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml
@@ -53,6 +53,7 @@
                 group_id = spg.id and is_deleted = 0
         ) AS "has_children"
         FROM jczz_patrol_group spg where spg.is_deleted = 0
+        order by spg.create_time desc
     </select>
 
     <!--查询巡查项树数据-->
@@ -63,6 +64,7 @@
             spgi.group_id as parentId,
             false AS hasChildren
         FROM jczz_patrol_group_item spgi where spgi.is_deleted = 0
+        order by spgi.create_time desc
     </select>
     <select id="getPatrolGroupByItemId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
         SELECT distinct b.ID,b.NAME FROM
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
index d37c63f..bc4201f 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
@@ -57,8 +57,8 @@
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入placeCheck")
-	public R<PlaceCheckDTO> detail(PlaceCheckEntity placeCheck) {
-		PlaceCheckDTO detail = placeCheckService.selectPlaceCheckById(placeCheck.getId());
+	public R<PlaceCheckVO> detail(PlaceCheckEntity placeCheck) {
+		PlaceCheckVO detail = placeCheckService.selectPlaceCheckById(placeCheck.getId());
 		return R.data(detail);
 	}
 	/**
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
index 9604b98..be134a4 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
@@ -48,7 +48,7 @@
 	 * @param id 场所检查表ID
 	 * @return 场所检查表
 	 */
-	public PlaceCheckDTO selectPlaceCheckById(Long id);
+	public PlaceCheckVO selectPlaceCheckById(Long id);
 
 	/**
 	 * 查询场所检查表列表
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
index 6e7b128..eb34a83 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -20,12 +20,47 @@
         <result column="town_name" property="streetName"/>
         <result column="village_name" property="communityName"/>
 
-        <collection property="patrolRecordVOList" column="id"
+        <collection property="placePoiLabelVOList" column="id" javaType="java.util.List" select="selectPlacePoiLabelList"
+                    ofType="org.springblade.modules.place.entity.PlacePoiLabel"
+                    autoMapping="true">
+        </collection>
+
+        <collection property="patrolRecordVOList" column="id" select="selectPatrolRecordList"
                     javaType="java.util.List" ofType="org.springblade.modules.patrol.entity.PatrolRecord"
                     autoMapping="true">
-            <id property="placeCheckId" column="id"/>
         </collection>
     </resultMap>
+
+    <select id="selectPlacePoiLabelList" parameterType="Long"
+            resultType="org.springblade.modules.place.entity.PlacePoiLabel">
+            select
+	        id,
+	        place_id,
+	        poi_code,
+	        type,
+	        color,
+	        remark
+		    from
+        	jczz_place_poi_label where place_id = #{id}
+        </select>
+
+
+    <select id="selectPatrolRecordList" parameterType="Long"
+            resultType="org.springblade.modules.patrol.entity.PatrolRecord">
+            select
+            id,
+            item_id,
+            place_check_id,
+            state,
+            remark,
+            image_urls,
+            create_user,
+            create_time,
+            is_deleted
+            from
+            jczz_patrol_record where place_check_id = #{id}
+        </select>
+
 
     <!--自定义分页查询-->
     <select id="selectPlaceCheckPage" resultMap="placeCheckResultMap">
@@ -36,13 +71,18 @@
         jg.grid_name,
         jp.principal,
         jp.principal_phone,
-        br.town_name ,
-        br.village_name
+        br.town_name,
+        br.village_name,
+        bu.`name`,
+        jpe.legal_tel,
+        jpe.legal_person
         FROM
         jczz_place_check jpc
         LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code
         LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
         LEFT JOIN blade_region br ON br.`code` = jg.community_code
+        LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id
+        LEFT JOIN blade_user bu ON bu.id = jpc.create_user
         where jpc.is_deleted = 0
         <if test="placeCheck.houseCode!=null and placeCheck.houseCode!=''">
             and jpc.house_code = #{placeCheck.houseCode}
@@ -78,31 +118,9 @@
         <if test="placeCheck.endTime!=null and placeCheck.endTime!=''">
             and date_format(jpc.create_time,'%Y-%m-%d') &lt;= #{placeCheck.endTime}
         </if>
+        order by jpc.create_time desc
     </select>
 
-
-    <resultMap type="org.springblade.modules.place.dto.PlaceCheckDTO" id="PlaceCheckDTOResult">
-        <result property="id" column="id"/>
-        <result property="houseCode" column="house_code"/>
-        <result property="remark" column="remark"/>
-        <result property="signaturePath" column="signature_path"/>
-        <result property="createUser" column="create_user"/>
-        <result property="createTime" column="create_time"/>
-        <result property="isDeleted" column="is_deleted"/>
-        <result column="place_name" property="placeName"/>
-        <result column="location" property="location"/>
-        <result column="grid_name" property="gridName"/>
-        <result column="principal" property="principal"/>
-        <result column="principal_phone" property="principalPhone"/>
-        <result column="town_name" property="streetName"/>
-        <result column="village_name" property="communityName"/>
-
-        <collection property="patrolRecordVOList" column="id"
-                    javaType="java.util.List" ofType="org.springblade.modules.patrol.entity.PatrolRecord"
-                    autoMapping="true">
-            <id property="placeCheckId" column="id"/>
-        </collection>
-    </resultMap>
 
     <sql id="selectPlaceCheck">
     	select
@@ -117,7 +135,7 @@
         	jczz_place_check
     </sql>
 
-    <select id="selectPlaceCheckById" parameterType="long" resultMap="PlaceCheckDTOResult">
+    <select id="selectPlaceCheckById" parameterType="long" resultMap="placeCheckResultMap">
         SELECT
         jpc.*,
         jp.place_name,
@@ -125,20 +143,25 @@
         jg.grid_name,
         jp.principal,
         jp.principal_phone,
-        br.town_name ,
-        br.village_name
+        br.town_name,
+        br.village_name,
+        bu.`name`,
+        jpe.legal_tel,
+        jpe.legal_person
         FROM
         jczz_place_check jpc
         LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code
         LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
         LEFT JOIN blade_region br ON br.`code` = jg.community_code
+        LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id
+        LEFT JOIN blade_user bu ON bu.id = jpc.create_user
         where
             jpc.is_deleted = 0
             and  jpc.id = #{id}
         </select>
 
     <select id="selectPlaceCheckList" parameterType="org.springblade.modules.place.dto.PlaceCheckDTO"
-            resultMap="PlaceCheckDTOResult">
+            resultMap="placeCheckResultMap">
         <include refid="selectPlaceCheck"/>
         <where>
             <if test="id != null ">and id = #{id}</if>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
index efcf98b..2da3e26 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
@@ -51,7 +51,7 @@
 	 * @param id 场所检查表ID
 	 * @return 场所检查表
 	 */
-	public PlaceCheckDTO selectPlaceCheckById(Long id);
+	public PlaceCheckVO selectPlaceCheckById(Long id);
 
 	/**
 	 * 查询场所检查表列表
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
index 1dca768..3479ba4 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -45,7 +45,17 @@
 
 	@Override
 	public IPage<PlaceCheckVO> selectPlaceCheckPage(IPage<PlaceCheckVO> page, PlaceCheckVO placeCheck) {
-		return page.setRecords(baseMapper.selectPlaceCheckPage(page, placeCheck));
+		List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck);
+		for (PlaceCheckVO placeCheckVO : placeCheckVOS) {
+			int number = 0;
+			for (PatrolRecord patrolRecord : placeCheckVO.getPatrolRecordVOList()) {
+				if (patrolRecord.getState().equals(0)) {
+					number++;
+				}
+			}
+			placeCheckVO.setNumber(number);
+		}
+		return page.setRecords(placeCheckVOS);
 	}
 
 	@Override
@@ -76,8 +86,7 @@
 	 * @return 场所检查表
 	 */
 	@Override
-	public PlaceCheckDTO selectPlaceCheckById(Long id)
-	{
+	public PlaceCheckVO selectPlaceCheckById(Long id) {
 		return this.baseMapper.selectPlaceCheckById(id);
 	}
 
@@ -88,8 +97,7 @@
 	 * @return 场所检查表集合
 	 */
 	@Override
-	public List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO)
-	{
+	public List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO) {
 		return this.baseMapper.selectPlaceCheckList(placeCheckDTO);
 	}
 }
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
index 7bfed87..615288f 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
@@ -18,6 +18,7 @@
 
 import io.swagger.annotations.ApiModelProperty;
 import liquibase.pro.packaged.P;
+import liquibase.pro.packaged.S;
 import org.springblade.modules.grid.entity.GridPatrolRecordEntity;
 import org.springblade.modules.patrol.entity.PatrolRecord;
 import org.springblade.modules.patrol.vo.PatrolRecordVO;
@@ -25,7 +26,9 @@
 import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springblade.modules.place.entity.PlacePoiLabel;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -52,6 +55,8 @@
 
 	private List<PatrolRecord> patrolRecordVOList;
 
+	private List<PlacePoiLabel> placePoiLabelVOList ;
+
 	@ApiModelProperty(value = "场所名称", example = "")
 	private String placeName;
 
@@ -73,4 +78,16 @@
 	@ApiModelProperty(value = "社区名称", example = "")
 	private String communityName;
 
+	@ApiModelProperty(value = "法人", example = "")
+	private String legalPerson;
+
+	@ApiModelProperty(value = "法人电话", example = "")
+	private String legalTel;
+
+	@ApiModelProperty(value = "检查人名称", example = "")
+	private String name;
+
+	@ApiModelProperty(value = "隐患数量", example = "")
+	private Integer number;
+
 }

--
Gitblit v1.9.3