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/VisitServiceDaoImplMapper.xml |  235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 221 insertions(+), 14 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml
index 6084e25..f79ecec 100755
--- a/java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml
@@ -6,9 +6,12 @@
     <!-- 淇濆瓨璁垮淇℃伅淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessVisitInfo" parameterType="Map">
         insert into business_visit_info(departure_time, v_name, visit_gender, owner_id, user_id, v_id, phone_number,
-                                        operate, visit_case, community_id, b_id, visit_time)
+                                        operate, visit_case, community_id, b_id, visit_time, car_num, entourage,
+                                        reason_type, state, state_remark, ps_id, free_time, record_state, car_state,
+                                        car_remark, room_id)
         values (#{departureTime}, #{vName}, #{visitGender}, #{ownerId}, #{userId}, #{vId}, #{phoneNumber}, #{operate},
-                #{visitCase}, #{communityId}, #{bId}, #{visitTime})
+                #{visitCase}, #{communityId}, #{bId}, #{visitTime}, #{carNum}, #{entourage}, #{reasonType}, #{state},
+                #{stateRemark}, #{psId}, #{freeTime}, #{recordState}, #{carState}, #{carStateRemark}, #{roomId})
     </insert>
 
     <!-- 鏌ヨ璁垮淇℃伅淇℃伅锛圔usiness锛� add by wuxw 2018-07-03 -->
@@ -16,7 +19,12 @@
         select t.departure_time,t.departure_time departureTime,t.v_name,t.v_name vName,t.visit_gender,t.visit_gender
         visitGender,t.owner_id,t.owner_id ownerId,t.user_id,t.user_id userId,t.v_id,t.v_id vId,t.visit_time,t.visit_time
         visitTime,t.phone_number,t.phone_number phoneNumber,t.operate,t.visit_case,t.visit_case
-        visitCase,t.community_id,t.community_id communityId,t.b_id,t.b_id bId
+        visitCase,t.community_id,t.community_id communityId,t.b_id,t.b_id ,t.car_num,t.car_num carNum,t.entourage,
+        t.reason_type,t.reason_type reasonType,t.state,t.state_remark,t.state_remark
+        stateRemark,t.create_time,t.create_time createTime,t.ps_id,t.ps_id psId,t.free_time,t.free_time freeTime,
+        t.record_state,t.record_state recordState,t.car_state,t.car_state carState,t.car_remark,t.car_remark,
+        t.room_id,t.room_id roomId
+        carStateRemark
         from business_visit_info t
         where 1 =1
         <if test="departureTime !=null ">
@@ -40,6 +48,9 @@
         <if test="visitTime !=null ">
             and t.visit_time= #{visitTime}
         </if>
+        <if test="freeTime !=null ">
+            and t.free_time= #{freeTime}
+        </if>
         <if test="phoneNumber !=null and phoneNumber != ''">
             and t.phone_number= #{phoneNumber}
         </if>
@@ -48,6 +59,36 @@
         </if>
         <if test="visitCase !=null and visitCase != ''">
             and t.visit_case= #{visitCase}
+        </if>
+        <if test="carNum !=null and carNum != ''">
+            and t.car_num= #{carNum}
+        </if>
+        <if test="entourage !=null and entourage != ''">
+            and t.entourage= #{entourage}
+        </if>
+        <if test="reasonType !=null and reasonType != ''">
+            and t.reason_type= #{reasonType}
+        </if>
+        <if test="recordState !=null and recordState != ''">
+            and t.record_state= #{recordState}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="stateRemark !=null and stateRemark != ''">
+            and t.state_remark= #{stateRemark}
+        </if>
+        <if test="carState !=null and carState != ''">
+            and t.car_state= #{carState}
+        </if>
+        <if test="carStateRemark !=null and carStateRemark != ''">
+            and t.car_remark= #{carStateRemark}
+        </if>
+        <if test="roomId !=null and roomId != ''">
+            and t.room_id= #{roomId}
+        </if>
+        <if test="psId !=null and psId != ''">
+            and t.ps_id= #{psId}
         </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
@@ -60,9 +101,11 @@
     <!-- 淇濆瓨璁垮淇℃伅淇℃伅鑷� instance琛ㄤ腑 add by wuxw 2018-07-03 -->
     <insert id="saveVisitInfoInstance" parameterType="Map">
         insert into s_visit_info(
-        departure_time,v_name,status_cd,visit_gender,owner_id,user_id,v_id,visit_time,phone_number,visit_case,community_id,b_id
+        departure_time,v_name,status_cd,visit_gender,owner_id,user_id,v_id,visit_time,phone_number,visit_case,community_id,b_id,car_num,
+        entourage,reason_type,state,state_remark,ps_id,free_time,record_state,car_state,car_remark,room_id
         ) select
-        t.departure_time,t.v_name,'0',t.visit_gender,t.owner_id,t.user_id,t.v_id,t.visit_time,t.phone_number,t.visit_case,t.community_id,t.b_id
+        t.departure_time,t.v_name,'0',t.visit_gender,t.owner_id,t.user_id,t.v_id,t.visit_time,t.phone_number,t.visit_case,t.community_id,t.b_id,
+        t.car_num,t.entourage,t.reason_type,t.state,t.state_remark,t.ps_id,t.free_time,t.record_state,t.car_state,t.car_remark,t.room_id
         from business_visit_info t where 1=1
         <if test="departureTime !=null ">
             and t.departure_time= #{departureTime}
@@ -85,8 +128,41 @@
         <if test="visitTime !=null ">
             and t.visit_time= #{visitTime}
         </if>
+        <if test="freeTime !=null ">
+            and t.free_time= #{freeTime}
+        </if>
         <if test="phoneNumber !=null and phoneNumber != ''">
             and t.phone_number= #{phoneNumber}
+        </if>
+        <if test="carNum !=null and carNum != ''">
+            and t.car_num= #{carNum}
+        </if>
+        <if test="entourage !=null and entourage != ''">
+            and t.entourage= #{entourage}
+        </if>
+        <if test="reasonType !=null and reasonType != ''">
+            and t.reason_type= #{reasonType}
+        </if>
+        <if test="recordState !=null and recordState != ''">
+            and t.record_state= #{recordState}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="stateRemark !=null and stateRemark != ''">
+            and t.state_remark= #{stateRemark}
+        </if>
+        <if test="carState !=null and carState != ''">
+            and t.car_state= #{carState}
+        </if>
+        <if test="carStateRemark !=null and carStateRemark != ''">
+            and t.car_remark= #{carStateRemark}
+        </if>
+        <if test="roomId !=null and roomId != ''">
+            and t.room_id= #{roomId}
+        </if>
+        <if test="psId !=null and psId != ''">
+            and t.ps_id= #{psId}
         </if>
         and t.operate= 'ADD'
         <if test="visitCase !=null and visitCase != ''">
@@ -105,9 +181,21 @@
         select t.departure_time,t.departure_time departureTime,t.v_name,t.v_name vName,t.status_cd,t.status_cd
         statusCd,t.visit_gender,t.visit_gender visitGender,t.owner_id,t.owner_id ownerId,t.user_id,t.user_id
         userId,t.v_id,t.v_id vId,t.visit_time,t.visit_time visitTime,t.phone_number,t.phone_number
-        phoneNumber,t.visit_case,t.visit_case visitCase,t.community_id,t.community_id communityId,t.b_id,t.b_id bId
+        phoneNumber,t.visit_case,t.visit_case visitCase,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,
+        t.car_num,t.car_num carNum,t.entourage,t.reason_type,t.reason_type
+        reasonType,t.state,t.state_remark,t.state_remark stateRemark,td.name stateName,t.create_time,
+        t.create_time createTime,t.ps_id,t.ps_id psId,t.free_time,t.free_time freeTime,
+        t.record_state,t.record_state recordState,ps.num parkingSpaceNum,pa.num parkingAreaName,bo.name ownerName,
+        t.car_state,t.car_state carState,t.car_remark,t.car_remark carStateRemark,td2.name carStateName,
+        t.room_id,t.room_id roomId
         from s_visit_info t
-        where 1 =1
+        left join t_dict td on t.state = td.status_cd and td.table_name = 's_visit_info' and td.table_columns = 'state'
+        left join t_dict td2 on t.car_state = td2.status_cd and td2.table_name = 's_visit_info' and td2.table_columns =
+        'car_state'
+        left join parking_space ps on t.ps_id = ps.ps_id and ps.status_cd = '0'
+        left join parking_area pa on ps.pa_id = pa.pa_id and pa.status_cd = '0'
+        left join building_owner bo on t.owner_id = bo.owner_id and bo.owner_type_cd = '1001' and bo.status_cd = '0'
+        where 1 = 1
         <if test="departureTime !=null ">
             and t.departure_time= #{departureTime}
         </if>
@@ -123,14 +211,20 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
-        <if test="userId !=null and userId != ''">
-            and t.user_id= #{userId}
-        </if>
         <if test="vId !=null and vId != ''">
             and t.v_id= #{vId}
         </if>
+        <if test="vIds !=null">
+            and t.v_id in
+            <foreach collection="vIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="visitTime !=null ">
             and t.visit_time= #{visitTime}
+        </if>
+        <if test="freeTime !=null ">
+            and t.free_time= #{freeTime}
         </if>
         <if test="phoneNumber !=null and phoneNumber != ''">
             and t.phone_number= #{phoneNumber}
@@ -149,6 +243,51 @@
         </if>
         <if test="visitEndTime !=null and visitEndTime !='' ">
             and t.visit_time &lt;= #{visitEndTime}
+        </if>
+        <if test="departureEndTime != null and departureEndTime != ''">
+            and t.departure_time &lt;= #{departureEndTime}
+        </if>
+        <if test="carNum !=null and carNum != ''">
+            and t.car_num= #{carNum}
+        </if>
+        <if test="entourage !=null and entourage != ''">
+            and t.entourage= #{entourage}
+        </if>
+        <if test="reasonType !=null and reasonType != ''">
+            and t.reason_type= #{reasonType}
+        </if>
+        <if test="recordState !=null and recordState != ''">
+            and t.record_state= #{recordState}
+        </if>
+        <if test="psId !=null and psId != ''">
+            and t.ps_id= #{psId}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="stateRemark !=null and stateRemark != ''">
+            and t.state_remark= #{stateRemark}
+        </if>
+        <if test="carState !=null and carState != ''">
+            and t.car_state= #{carState}
+        </if>
+        <if test="carStateRemark !=null and carStateRemark != ''">
+            and t.car_remark= #{carStateRemark}
+        </if>
+        <if test="roomId !=null and roomId != ''">
+            and t.room_id= #{roomId}
+        </if>
+        <if test="carNumNoEmpty !=null and carNumNoEmpty != ''">
+            and t.car_num != ""
+        </if>
+        <if test="sameDay !=null and sameDay != ''">
+            and TO_DAYS(t.create_time) = TO_DAYS(NOW())
+        </if>
+        <if test="flag != null and flag == '1'">
+            and t.ps_id != '' and t.ps_id != '-1' and t.ps_id is not null
+        </if>
+        <if test="sign != null and sign != ''">
+            and t.v_id != #{sign}
         </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
@@ -180,6 +319,9 @@
         <if test="visitTime !=null ">
             , t.visit_time= #{visitTime}
         </if>
+        <if test="freeTime !=null ">
+            , t.free_time= #{freeTime}
+        </if>
         <if test="phoneNumber !=null and phoneNumber != ''">
             , t.phone_number= #{phoneNumber}
         </if>
@@ -188,6 +330,36 @@
         </if>
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
+        </if>
+        <if test="carNum !=null and carNum != ''">
+            , t.car_num= #{carNum}
+        </if>
+        <if test="entourage !=null and entourage != ''">
+            , t.entourage= #{entourage}
+        </if>
+        <if test="reasonType !=null and reasonType != ''">
+            , t.reason_type= #{reasonType}
+        </if>
+        <if test="recordState !=null and recordState != ''">
+            , t.record_state= #{recordState}
+        </if>
+        <if test="state !=null and state != ''">
+            , t.state= #{state}
+        </if>
+        <if test="stateRemark !=null and stateRemark != ''">
+            , t.state_remark= #{stateRemark}
+        </if>
+        <if test="carState !=null and carState != ''">
+            , t.car_state= #{carState}
+        </if>
+        <if test="carStateRemark !=null and carStateRemark != ''">
+            , t.car_remark= #{carStateRemark}
+        </if>
+        <if test="roomId !=null and roomId != ''">
+            , t.room_id= #{roomId}
+        </if>
+        <if test="psId !=null and psId != ''">
+            , t.ps_id= #{psId}
         </if>
         where 1=1
         <if test="vId !=null and vId != ''">
@@ -202,7 +374,12 @@
     <select id="queryVisitsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from s_visit_info t
-        where 1 =1
+        left join t_dict td on t.state = td.status_cd and td.table_name = 's_visit_info' and td.table_columns = 'state'
+        left join parking_space ps on t.ps_id = ps.ps_id and ps.status_cd = '0'
+        left join parking_area pa on ps.pa_id = pa.pa_id and pa.status_cd = '0'
+        left join building_owner bo on t.owner_id = bo.owner_id and bo.owner_type_cd = '1001' and bo.status_cd = '0'
+        left join file_rel fr on fr.obj_id = t.v_id and fr.status_cd = '0'
+        where 1 = 1
         <if test="departureTime !=null ">
             and t.departure_time= #{departureTime}
         </if>
@@ -218,14 +395,14 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
-        <if test="userId !=null and userId != ''">
-            and t.user_id= #{userId}
-        </if>
         <if test="vId !=null and vId != ''">
             and t.v_id= #{vId}
         </if>
         <if test="visitTime !=null ">
             and t.visit_time= #{visitTime}
+        </if>
+        <if test="freeTime !=null ">
+            and t.free_time= #{freeTime}
         </if>
         <if test="phoneNumber !=null and phoneNumber != ''">
             and t.phone_number= #{phoneNumber}
@@ -245,6 +422,36 @@
         <if test="visitEndTime !=null and visitEndTime !='' ">
             and t.visit_time &lt;= #{visitEndTime}
         </if>
+        <if test="carNum !=null and carNum != ''">
+            and t.car_num= #{carNum}
+        </if>
+        <if test="entourage !=null and entourage != ''">
+            and t.entourage= #{entourage}
+        </if>
+        <if test="reasonType !=null and reasonType != ''">
+            and t.reason_type= #{reasonType}
+        </if>
+        <if test="recordState !=null and recordState != ''">
+            and t.record_state= #{recordState}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
+        <if test="stateRemark !=null and stateRemark != ''">
+            and t.state_remark= #{stateRemark}
+        </if>
+        <if test="carState !=null and carState != ''">
+            and t.car_state= #{carState}
+        </if>
+        <if test="carStateRemark !=null and carStateRemark != ''">
+            and t.car_remark= #{carStateRemark}
+        </if>
+        <if test="roomId !=null and roomId != ''">
+            and t.room_id= #{roomId}
+        </if>
+        <if test="psId !=null and psId != ''">
+            and t.ps_id= #{psId}
+        </if>
     </select>
 
 </mapper>

--
Gitblit v1.8.0