From 6e8c95d31d85b53857e4e3ce12ea303eb0ea42eb Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 19 八月 2021 00:47:48 +0800
Subject: [PATCH] 优化代码

---
 java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml
index 143a5ae..6b00896 100644
--- a/java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml
@@ -27,12 +27,13 @@
         left join t_dict d on rrp.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
         left join r_repair_setting rs on rs.repair_type = rrp.repair_type and rs.status_cd = '0'
         where 1 = 1
-        and rrp.state = '1800'
         and rs.return_visit_flag in ('002','003')
         <if test="state == 'waiting'">
+            and rrp.state = '1800'
             and t.repair_id is null
         </if>
         <if test="state == 'finish'">
+            and rrp.state = '1900'
             and t.repair_id is not null
         </if>
         <if test="visitId !=null and visitId != ''">
@@ -45,10 +46,10 @@
             and rrp.repair_id= #{repairId}
         </if>
         <if test="statusCd !=null and statusCd != ''">
-            and t.status_cd= #{statusCd}
+            and rrp.status_cd= #{statusCd}
         </if>
         <if test="communityId !=null and communityId != ''">
-            and t.community_id= #{communityId}
+            and rrp.community_id= #{communityId}
         </if>
         <if test="visitPersonName !=null and visitPersonName != ''">
             and t.visit_person_name= #{visitPersonName}
@@ -59,7 +60,16 @@
         <if test="visitType !=null and visitType != ''">
             and t.visit_type= #{visitType}
         </if>
-        order by t.create_time desc
+        <if test="repairType !=null and repairType != ''">
+            and rrp.repair_type= #{repairType}
+        </if>
+        <if test="repairName !=null and repairName != ''">
+            and rrp.repair_name like '%${repairName}%'
+        </if>
+        <if test="tel !=null and tel != ''">
+            and rrp.tel= #{tel}
+        </if>
+        order by rrp.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
@@ -101,8 +111,20 @@
     <!-- 鏌ヨ鎶ヤ慨鍥炶鏁伴噺 add by wuxw 2018-07-03 -->
     <select id="queryRepairReturnVisitsCount" parameterType="Map" resultType="Map">
         select count(1) count
-        from r_repair_return_visit t
-        where 1 =1
+        from r_repair_pool rrp
+        LEFT JOIN r_repair_return_visit t on t.repair_id = rrp.repair_id and t.community_id = rrp.community_id and t.status_cd = '0'
+        left join t_dict d on rrp.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
+        left join r_repair_setting rs on rs.repair_type = rrp.repair_type and rs.status_cd = '0'
+        where 1 = 1
+        and rs.return_visit_flag in ('002','003')
+        <if test="state == 'waiting'">
+            and rrp.state = '1800'
+            and t.repair_id is null
+        </if>
+        <if test="state == 'finish'">
+            and rrp.state = '1900'
+            and t.repair_id is not null
+        </if>
         <if test="visitId !=null and visitId != ''">
             and t.visit_id= #{visitId}
         </if>
@@ -110,13 +132,13 @@
             and t.context= #{context}
         </if>
         <if test="repairId !=null and repairId != ''">
-            and t.repair_id= #{repairId}
+            and rrp.repair_id= #{repairId}
         </if>
         <if test="statusCd !=null and statusCd != ''">
-            and t.status_cd= #{statusCd}
+            and rrp.status_cd= #{statusCd}
         </if>
         <if test="communityId !=null and communityId != ''">
-            and t.community_id= #{communityId}
+            and rrp.community_id= #{communityId}
         </if>
         <if test="visitPersonName !=null and visitPersonName != ''">
             and t.visit_person_name= #{visitPersonName}
@@ -127,6 +149,15 @@
         <if test="visitType !=null and visitType != ''">
             and t.visit_type= #{visitType}
         </if>
+        <if test="repairType !=null and repairType != ''">
+            and rrp.repair_type= #{repairType}
+        </if>
+        <if test="repairName !=null and repairName != ''">
+            and rrp.repair_name like '%${repairName}%'
+        </if>
+        <if test="tel !=null and tel != ''">
+            and rrp.tel= #{tel}
+        </if>
 
 
     </select>

--
Gitblit v1.8.0