From a13573d5ef8d16f4bc2535a3c89c2891e6f5b56c Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 15:33:30 +0800
Subject: [PATCH] optimize

---
 java110-db/src/main/resources/mapper/report/ReportOrderStatisticsServiceDaoImplMapper.xml |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/report/ReportOrderStatisticsServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportOrderStatisticsServiceDaoImplMapper.xml
index 1272a8f..3a6af34 100644
--- a/java110-db/src/main/resources/mapper/report/ReportOrderStatisticsServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportOrderStatisticsServiceDaoImplMapper.xml
@@ -182,9 +182,11 @@
     <select id="getOwnerReserveGoodsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from (
-            select t.owner_id,t.name,t.link,count(1) from building_owner t
+            select t.owner_id,t.name, t.link,rg.goods_name goodName,count(1) frequency
+            from building_owner t
             left join building_owner bom on t.owner_id = bom.owner_id and bom.status_cd = '0'
             left join reserve_goods_order rgo on (bom.link = rgo.person_tel or t.link = rgo.person_tel) and rgo.status_cd = '0'
+            left join reserve_goods rg on rgo.goods_id = rg.goods_id and rg.status_cd = '0'
             where t.owner_type_cd = '1001'
             and t.community_id = #{communityId}
             and t.create_time &gt; #{startDate}
@@ -196,15 +198,16 @@
                 and t.link= #{link}
             </if>
             and t.status_cd = '0'
-            group by t.owner_id,t.name,t.link
+            group by t.owner_id,t.name,t.link,rg.goods_name
             HAVING count(1) > 0
-        )
+        ) a
     </select>
     <select id="getOwnerReserveGoods" parameterType="Map" resultType="Map">
-        select t.owner_id,t.name,t.link,count(1) frequency
+        select t.owner_id,t.name, t.link,rg.goods_name goodName,count(1) frequency
         from building_owner t
         left join building_owner bom on t.owner_id = bom.owner_id and bom.status_cd = '0'
         left join reserve_goods_order rgo on (bom.link = rgo.person_tel or t.link = rgo.person_tel) and rgo.status_cd = '0'
+        left join reserve_goods rg on rgo.goods_id = rg.goods_id and rg.status_cd = '0'
         where t.owner_type_cd = '1001'
         and t.community_id = #{communityId}
         and t.create_time &gt; #{startDate}
@@ -216,11 +219,60 @@
             and t.link= #{link}
         </if>
         and t.status_cd = '0'
-        group by t.owner_id,t.name,t.link
+        group by t.owner_id,t.name,t.link,rg.goods_name
         HAVING count(1) > 0
+        order by t.owner_id
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
     </select>
 
+    <select id="getOwnerDiningCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from reserve_goods_confirm_order t
+        left join reserve_goods_order rgo on t.order_id = rgo.order_id and t.goods_id = rgo.goods_id and rgo.status_cd = '0'
+        left join reserve_goods_order_time rgco on t.time_id = rgco.time_id and rgco.order_id = rgo.order_id and rgco.status_cd = '0'
+        left join reserve_goods rg on t.goods_id = rg.goods_id and rg.status_cd = '0'
+        left join building_owner bo on rgo.person_tel = bo.link and bo.status_cd = '0'
+        left join building_owner bo1 on bo.owner_id = bo1.owner_id and bo1.owner_type_cd = '1001' and bo1.status_cd = '0'
+        where 1 =1
+        and t.community_id = #{communityId}
+        <if test="startDate !=null and startDate != ''">
+            and t.create_time &gt; #{startDate}
+            and t.create_time &lt; #{endDate}
+        </if>
+        <if test="ownerName !=null and ownerName != ''">
+            and bol.name like concat('%',#{ownerName},'%')
+        </if>
+        <if test="personName !=null and personName != ''">
+            and rgo.person_name like concat('%',#{personName},'%')
+        </if>
+    </select>
+    <select id="getOwnerDinings" parameterType="Map" resultType="Map">
+        select t.time_id,t.time_id timeId,t.order_id,t.order_id orderId,t.goods_id,t.goods_id goodsId,t.co_id,t.co_id
+        coId,t.remark,t.status_cd,t.status_cd statusCd,t.type,t.community_id,t.community_id communityId,
+        rgo.person_name personName,rgo.person_tel personTel,rgo.appointment_time appointmentTime,rgco.hours,rgco.quantity,
+        rg.goods_name goodsName,rg.img_url imgUrl,t.create_time createTime,bo1.name ownerName
+        from reserve_goods_confirm_order t
+        left join reserve_goods_order rgo on t.order_id = rgo.order_id and t.goods_id = rgo.goods_id and rgo.status_cd = '0'
+        left join reserve_goods_order_time rgco on t.time_id = rgco.time_id and rgco.order_id = rgo.order_id and rgco.status_cd = '0'
+        left join reserve_goods rg on t.goods_id = rg.goods_id and rg.status_cd = '0'
+        left join building_owner bo on rgo.person_tel = bo.link and bo.status_cd = '0'
+        left join building_owner bo1 on bo.owner_id = bo1.owner_id and bo1.owner_type_cd = '1001' and bo1.status_cd = '0'
+        where 1 =1
+        and t.community_id = #{communityId}
+        <if test="startDate !=null and startDate != ''">
+            and t.create_time &gt; #{startDate}
+            and t.create_time &lt; #{endDate}
+        </if>
+        <if test="ownerName !=null and ownerName != ''">
+            and bol.name like concat('%',#{ownerName},'%')
+        </if>
+        <if test="personName !=null and personName != ''">
+            and rgo.person_name like concat('%',#{personName},'%')
+        </if>
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.8.0