From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计

---
 java110-db/src/main/resources/mapper/store/ComplaintServiceDaoImplMapper.xml |   94 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 69 insertions(+), 25 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/store/ComplaintServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/store/ComplaintServiceDaoImplMapper.xml
old mode 100644
new mode 100755
index e6688c0..d4d059b
--- a/java110-db/src/main/resources/mapper/store/ComplaintServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/store/ComplaintServiceDaoImplMapper.xml
@@ -1,24 +1,23 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="complaintServiceDaoImpl">
 
     <!-- 淇濆瓨鎶曡瘔寤鸿淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessComplaintInfo" parameterType="Map">
-           insert into business_complaint(
-operate,complaint_id,type_cd,context,complaint_name,tel,state,store_id,b_id,room_id
-) values (
-#{operate},#{complaintId},#{typeCd},#{context},#{complaintName},#{tel},#{state},#{storeId},#{bId},#{roomId}
-)
-       </insert>
-
+        insert into business_complaint(operate, complaint_id, type_cd, context, complaint_name, tel, state, store_id,
+                                       b_id, room_id, community_id, start_user_id)
+        values (#{operate}, #{complaintId}, #{typeCd}, #{context}, #{complaintName}, #{tel}, #{state}, #{storeId},
+                #{bId}, #{roomId}, #{communityId},
+                #{startUserId})
+    </insert>
 
     <!-- 鏌ヨ鎶曡瘔寤鸿淇℃伅锛圔usiness锛� add by wuxw 2018-07-03 -->
     <select id="getBusinessComplaintInfo" parameterType="Map" resultType="Map">
         select t.operate,t.complaint_id,t.complaint_id complaintId,t.type_cd,t.type_cd
         typeCd,t.context,t.complaint_name,t.complaint_name complaintName,t.tel,t.state,t.store_id,t.store_id
-        storeId,t.b_id,t.b_id bId,t.room_id,t.room_id roomId
+        storeId,t.b_id,t.b_id bId,t.room_id,t.room_id roomId,t.community_id,t.community_id communityId,
+        t.start_user_id,t.start_user_id startUserId
         from business_complaint t
         where 1 =1
         <if test="operate !=null and operate != ''">
@@ -51,15 +50,19 @@
         <if test="roomId !=null and roomId != ''">
             and t.room_id= #{roomId}
         </if>
-
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
     </select>
-
 
     <!-- 淇濆瓨鎶曡瘔寤鸿淇℃伅鑷� instance琛ㄤ腑 add by wuxw 2018-07-03 -->
     <insert id="saveComplaintInfoInstance" parameterType="Map">
         insert into complaint(
-        complaint_id,type_cd,context,complaint_name,tel,status_cd,state,store_id,b_id,room_id
-        ) select t.complaint_id,t.type_cd,t.context,t.complaint_name,t.tel,'0',t.state,t.store_id,t.b_id,t.room_id from
+        complaint_id,type_cd,context,complaint_name,tel,status_cd,state,store_id,b_id,room_id,community_id,
+        start_user_id
+        ) select t.complaint_id,t.type_cd,t.context,t.complaint_name,t.tel,'0',t.state,t.store_id,t.b_id,t.room_id,
+        t.community_id,t.start_user_id
+        from
         business_complaint t where 1=1
         and t.operate= 'ADD'
         <if test="complaintId !=null and complaintId != ''">
@@ -89,15 +92,16 @@
         <if test="roomId !=null and roomId != ''">
             and t.room_id= #{roomId}
         </if>
-
     </insert>
-
 
     <!-- 鏌ヨ鎶曡瘔寤鸿淇℃伅 add by wuxw 2018-07-03 -->
     <select id="getComplaintInfo" parameterType="Map" resultType="Map">
         select t.complaint_id,t.complaint_id complaintId,t.type_cd,t.type_cd
-        typeCd,td2.name typeCdName,t.context,t.complaint_name,t.complaint_name complaintName,t.tel,t.status_cd,t.status_cd
-        statusCd,t.state,td.name stateName,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.room_id,t.room_id roomId
+        typeCd,td2.name typeCdName,t.context,t.complaint_name,t.complaint_name
+        complaintName,t.tel,t.status_cd,t.status_cd
+        statusCd,t.state,td.name stateName,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.room_id,t.room_id
+        roomId,t.create_time createTime,t.community_id,t.community_id communityId,
+        t.start_user_id,t.start_user_id startUserId
         from complaint t,t_dict td,t_dict td2
         where 1 =1
         and t.state = td.status_cd
@@ -142,12 +146,29 @@
         <if test="roomId !=null and roomId != ''">
             and t.room_id= #{roomId}
         </if>
+        <if test="roomIds != null ">
+            and t.room_id in
+            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="startUserId !=null and startUserId != ''">
+            and t.start_user_id= #{startUserId}
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            and t.create_time &gt;= #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and t.create_time &lt;= #{endTime}
+        </if>
+        order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
-
     </select>
-
 
     <!-- 淇敼鎶曡瘔寤鸿淇℃伅 add by wuxw 2018-07-03 -->
     <update id="updateComplaintInfoInstance" parameterType="Map">
@@ -180,17 +201,25 @@
         <if test="complaintId !=null and complaintId != ''">
             and t.complaint_id= #{complaintId}
         </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-
     </update>
 
     <!-- 鏌ヨ鎶曡瘔寤鸿鏁伴噺 add by wuxw 2018-07-03 -->
     <select id="queryComplaintsCount" parameterType="Map" resultType="Map">
         select count(1) count
-        from complaint t
+        from complaint t,t_dict td,t_dict td2
         where 1 =1
+        and t.state = td.status_cd
+        and td.table_name = 'complaint'
+        and td.table_columns = 'state'
+        and t.type_cd = td2.status_cd
+        and td2.table_name = 'complaint'
+        and td2.table_columns = 'type_cd'
         <if test="complaintId !=null and complaintId != ''">
             and t.complaint_id= #{complaintId}
         </if>
@@ -227,8 +256,23 @@
         <if test="roomId !=null and roomId != ''">
             and t.room_id= #{roomId}
         </if>
-
-
+        <if test="roomIds != null ">
+            and t.room_id in
+            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="startUserId !=null and startUserId != ''">
+            and t.start_user_id= #{startUserId}
+        </if>
+        <if test="startTime !=null and startTime != ''">
+            and t.create_time &gt;= #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and t.create_time &lt;= #{endTime}
+        </if>
     </select>
-
 </mapper>

--
Gitblit v1.8.0