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/community/CommunitySpacePersonTimeV1ServiceDaoImplMapper.xml |  186 +++++++++++++++++++++++++++-------------------
 1 files changed, 109 insertions(+), 77 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/community/CommunitySpacePersonTimeV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/CommunitySpacePersonTimeV1ServiceDaoImplMapper.xml
index d49b444..172fd6a 100644
--- a/java110-db/src/main/resources/mapper/community/CommunitySpacePersonTimeV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/CommunitySpacePersonTimeV1ServiceDaoImplMapper.xml
@@ -5,102 +5,134 @@
 <mapper namespace="communitySpacePersonTimeV1ServiceDaoImpl">
 
 
-
-
-
     <!-- 淇濆瓨鍦哄湴棰勭害鏃堕棿淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveCommunitySpacePersonTimeInfo" parameterType="Map">
         insert into community_space_person_time(
-space_id,csp_id,hours,time_id,community_id
-) values (
-#{spaceId},#{cspId},#{hours},#{timeId},#{communityId}
-)
+        space_id,csp_id,hours,time_id,community_id,state
+        ) values (
+        #{spaceId},#{cspId},#{hours},#{timeId},#{communityId},#{state}
+        )
     </insert>
-
 
 
     <!-- 鏌ヨ鍦哄湴棰勭害鏃堕棿淇℃伅 add by wuxw 2018-07-03 -->
     <select id="getCommunitySpacePersonTimeInfo" parameterType="Map" resultType="Map">
-        select  t.space_id,t.space_id spaceId,t.csp_id,t.csp_id cspId,t.hours,t.time_id,t.time_id timeId,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId 
-from community_space_person_time t 
-where 1 =1 
-<if test="spaceId !=null and spaceId != ''">
-   and t.space_id= #{spaceId}
-</if> 
-<if test="cspId !=null and cspId != ''">
-   and t.csp_id= #{cspId}
-</if> 
-<if test="hours !=null and hours != ''">
-   and t.hours= #{hours}
-</if> 
-<if test="timeId !=null and timeId != ''">
-   and t.time_id= #{timeId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.space_id,t.space_id spaceId,t.csp_id,t.csp_id cspId,t.hours,t.time_id,t.time_id
+        timeId,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId,t.state
+        from community_space_person_time t
+        left join community_space_person csp on t.csp_id = csp.csp_id and csp.status_cd = '0'
+        where 1 =1
+        <if test="appointmentTime !=null and appointmentTime != ''">
+            and csp.appointment_time = #{appointmentTime}
+        </if>
+        <if test="spaceId !=null and spaceId != ''">
+            and t.space_id= #{spaceId}
+        </if>
+        <if test="cspId !=null and cspId != ''">
+            and t.csp_id= #{cspId}
+        </if>
+        <if test="cspIds !=null ">
+            and t.csp_id in
+            <foreach collection="cspIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="states !=null ">
+            and t.state in
+            <foreach collection="states" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="hours !=null and hours != ''">
+            and t.hours= #{hours}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        order by t.hours
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 淇敼鍦哄湴棰勭害鏃堕棿淇℃伅 add by wuxw 2018-07-03 -->
     <update id="updateCommunitySpacePersonTimeInfo" parameterType="Map">
-        update  community_space_person_time t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="spaceId !=null and spaceId != ''">
-, t.space_id= #{spaceId}
-</if> 
-<if test="cspId !=null and cspId != ''">
-, t.csp_id= #{cspId}
-</if> 
-<if test="hours !=null and hours != ''">
-, t.hours= #{hours}
-</if> 
-<if test="communityId !=null and communityId != ''">
-, t.community_id= #{communityId}
-</if> 
- where 1=1 <if test="timeId !=null and timeId != ''">
-and t.time_id= #{timeId}
-</if> 
+        update community_space_person_time t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="spaceId !=null and spaceId != ''">
+            , t.space_id= #{spaceId}
+        </if>
+
+        <if test="state !=null and state != ''">
+            , t.state = #{state}
+        </if>
+        <if test="hours !=null and hours != ''">
+            , t.hours= #{hours}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            , t.community_id= #{communityId}
+        </if>
+        where 1=1
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+        <if test="cspId !=null and cspId != ''">
+            and t.csp_id= #{cspId}
+        </if>
 
     </update>
 
     <!-- 鏌ヨ鍦哄湴棰勭害鏃堕棿鏁伴噺 add by wuxw 2018-07-03 -->
-     <select id="queryCommunitySpacePersonTimesCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from community_space_person_time t 
-where 1 =1 
-<if test="spaceId !=null and spaceId != ''">
-   and t.space_id= #{spaceId}
-</if> 
-<if test="cspId !=null and cspId != ''">
-   and t.csp_id= #{cspId}
-</if> 
-<if test="hours !=null and hours != ''">
-   and t.hours= #{hours}
-</if> 
-<if test="timeId !=null and timeId != ''">
-   and t.time_id= #{timeId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
+    <select id="queryCommunitySpacePersonTimesCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from community_space_person_time t
+        left join community_space_person csp on t.csp_id = csp.csp_id and csp.status_cd = '0'
+        where 1 =1
+        <if test="appointmentTime !=null and appointmentTime != ''">
+            and csp.appointment_time= #{appointmentTime}
+        </if>
+        <if test="spaceId !=null and spaceId != ''">
+            and t.space_id= #{spaceId}
+        </if>
+        <if test="cspId !=null and cspId != ''">
+            and t.csp_id= #{cspId}
+        </if>
+        <if test="cspIds !=null ">
+            and t.csp_id in
+            <foreach collection="cspIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="hours !=null and hours != ''">
+            and t.hours= #{hours}
+        </if>
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
 
 
-     </select>
+    </select>
 
 </mapper>

--
Gitblit v1.8.0