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/report/ReportCommunityServiceDaoImplMapper.xml | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 253 insertions(+), 1 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/report/ReportCommunityServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportCommunityServiceDaoImplMapper.xml
index fa17753..33804a5 100755
--- a/java110-db/src/main/resources/mapper/report/ReportCommunityServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportCommunityServiceDaoImplMapper.xml
@@ -23,7 +23,8 @@
select t.apartment,t.built_up_area builtUpArea,t.community_id communityId,t.create_time createTime,
t.fee_coefficient feeCoefficient,t.layer,t.room_id roomId,t.room_num roomNum,t.section,
t.state,bu.unit_id unitId,bu.unit_num unitNum,ff.floor_id floorId,ff.floor_num floorNum,
- bo.age,bo.id_card idCard,bo.link,bo.member_id memberId,bo.`name`,bo.`name` ownerName,bo.owner_id ownerId,t.room_type roomType
+ bo.age,bo.id_card idCard,bo.link,bo.member_id memberId,bo.`name`,bo.`name` ownerName,bo.owner_id ownerId,t.room_type roomType,
+ t.room_sub_type roomSubType,t.room_rent roomRent,t.room_area roomArea
from building_room t
INNER JOIN building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
inner join f_floor ff on bu.floor_id = ff.floor_id and ff.status_cd = '0'
@@ -41,6 +42,51 @@
</if>
</select>
+ <select id="queryRoomStructures" parameterType="Map" resultType="Map">
+ select t.apartment,t.built_up_area builtUpArea,t.community_id communityId,t.create_time createTime,
+ t.fee_coefficient feeCoefficient,t.layer,t.room_id roomId,t.room_num roomNum,t.section,
+ t.state,bu.unit_id unitId,bu.unit_num unitNum,ff.floor_id floorId,ff.floor_num floorNum,
+ bo.age,bo.id_card idCard,bo.link,bo.member_id memberId,bo.`name`,bo.`name` ownerName,bo.owner_id ownerId,t.room_type roomType,
+ t.room_sub_type roomSubType,t.room_rent roomRent,t.room_area roomArea,td.name stateName,
+ (
+ select if (SUM(rof.amount_owed)!='',SUM(rof.amount_owed),0) from report_owe_fee rof where rof.payer_obj_id = t.room_id and rof.payer_obj_type = '3333'
+ ) oweAmount
+ from building_room t
+ INNER JOIN building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
+ inner join f_floor ff on bu.floor_id = ff.floor_id and ff.status_cd = '0'
+ LEFT JOIN building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
+ left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
+ left join t_dict td on t.state = td.status_cd and td.table_name = 'building_room' and td.table_columns = 'state'
+ where t.status_cd = '0'
+ and t.community_id = #{communityId}
+ and bu.unit_id = #{unitId}
+ order by CONVERT(t.layer,SIGNED),CONVERT(t.room_num,SIGNED) asc
+ </select>
+
+ <select id="queryCarStructures" parameterType="Map" resultType="Map">
+ select pa.num areaNum,ps.num,t.car_num carNum,br.room_id roomId,br.room_num roomNum,br.section,
+ br.state,bu.unit_id unitId,bu.unit_num unitNum,ff.floor_id floorId,ff.floor_num floorNum,
+ bo.age,bo.id_card idCard,bo.link,bo.member_id memberId,bo.`name`,bo.`name` ownerName,bo.owner_id ownerId,
+ (
+ select if (SUM(rof.amount_owed)!='',SUM(rof.amount_owed),0) from report_owe_fee rof where rof.payer_obj_id = t.car_id and rof.payer_obj_type = '6666'
+ ) oweAmount
+ from owner_car t
+ INNER join building_owner bo on t.owner_id = bo.member_id and bo.status_cd = '0'
+ INNER JOIN building_owner_room_rel borr on bo.owner_id = borr.owner_id and borr.status_cd = '0'
+ INNER join building_room br on borr.room_id = br.room_id and br.status_cd = '0'
+ INNER JOIN building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+ inner join f_floor ff on bu.floor_id = ff.floor_id and ff.status_cd = '0'
+ 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'
+ where t.status_cd = '0'
+ and t.community_id = #{communityId}
+ and bu.unit_id = #{unitId}
+ order by t.car_num
+ </select>
+
+
+
+
<!-- 鏌ヨ鎴垮眿涓暟 add by wuxw 2018-07-03 -->
<select id="getCarCount" parameterType="com.java110.dto.report.ReportCarDto" resultType="Map">
@@ -49,6 +95,12 @@
where t.status_cd = '0'
<if test="state !=null and state != ''">
and t.state= #{state}
+ </if>
+ <if test="leaseTypes !=null ">
+ and t.lease_type in
+ <foreach collection="leaseTypes" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
</if>
<if test="communityId !=null and communityId != ''">
and t.community_id= #{communityId}
@@ -70,6 +122,12 @@
<if test="state !=null and state != ''">
and t.state= #{state}
</if>
+ <if test="leaseTypes !=null ">
+ and t.lease_type in
+ <foreach collection="leaseTypes" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
<if test="communityId !=null and communityId != ''">
and t.community_id= #{communityId}
</if>
@@ -78,5 +136,199 @@
</if>
</select>
+ <!-- 鏌ヨ灏忓尯淇℃伅 add by wuxw 2018-07-03 -->
+ <select id="getCommunitys" parameterType="Map" resultType="Map">
+ select t.address,t.nearby_landmarks,t.nearby_landmarks nearbyLandmarks,
+ t.city_code,t.city_code cityCode,t.name,t.status_cd,t.status_cd statusCd,t.tel,
+ t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.map_y,t.map_y mapY,
+ t.map_x,t.map_x mapX,t.state,ca.area_code areaCode,ca.area_name areaName,
+ ca.parent_area_code parentAreaCode,ca.parent_area_name parentAreaName,
+ t.community_area communityArea
+ from s_community t,city_area ca
+ where t.status_cd = '0'
+ and t.city_code = ca.area_code
+ and ca.status_cd = '0'
+ <if test="address !=null and address != ''">
+ and t.address= #{address}
+ </if>
+ <if test="nearbyLandmarks !=null and nearbyLandmarks != ''">
+ and t.nearby_landmarks= #{nearbyLandmarks}
+ </if>
+ <if test="cityCode !=null and cityCode != ''">
+ and t.city_code= #{cityCode}
+ </if>
+ <if test="name !=null and name != ''">
+ and t.name like concat('%',#{name},'%')
+ </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="communityIds !=null">
+ and t.community_id in
+ <foreach collection="communityIds" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="bId !=null and bId != ''">
+ and t.b_id= #{bId}
+ </if>
+ <if test="mapY !=null and mapY != ''">
+ and t.map_y= #{mapY}
+ </if>
+ <if test="mapX !=null and mapX != ''">
+ and t.map_x= #{mapX}
+ </if>
+ <if test="state !=null and state != ''">
+ and t.state= #{state}
+ </if>
+ order by t.create_time ASC
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+
+ </select>
+
+ <!-- 鏌ヨ鏃犳晥璐圭敤 add by wuxw 2018-07-03 -->
+ <select id="queryInvalidFeeMonthStatistics" parameterType="Map" resultType="Map">
+ select t.fee_id feeId from pay_fee t
+ inner join pay_fee_config pfc on t.config_id = pfc.config_id
+ inner join report_fee_year_collection rfyc on t.fee_id = rfyc.fee_id and rfyc.status_cd = '0'
+ where (t.status_cd = '1' or pfc.status_cd = '1')
+ and t.community_id= #{communityId}
+ </select>
+
+ <!--娓呯悊鎶ヨ〃 鏃犳晥鏁版嵁-->
+ <update id="deleteInvalidFee" parameterType="Map">
+ delete from report_fee_year_collection where fee_id in
+ <foreach collection="feeIds" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ and community_id = #{communityId}
+ </update>
+
+
+
+ <!-- 鏌ヨ鏃犳晥璐圭敤 add by wuxw 2018-07-03 -->
+ <select id="queryRoomsTree" parameterType="Map" resultType="Map">
+ SELECT t.room_id,t.room_id roomId,t.layer,t.room_num,
+ t.room_num roomNum,t.unit_id,u.`unit_num` unitNum,
+ u.unit_id unitId,f.floor_id floorId,f.floor_num floorNum,t.`community_id` communityId,bo.owner_id ownerId ,bo.`name` ownerName ,bo.link link
+ FROM building_room t
+ inner join building_unit u on t.`unit_id` = u.`unit_id` and u.`status_cd` = '0'
+ inner JOIN f_floor f on u.`floor_id` = f.`floor_id` AND f.`community_id` = t.`community_id` AND f.`status_cd` =
+ '0'
+ left join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
+ left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
+ WHERE 1 =1
+ and t.status_cd = '0'
+ and u.unit_id = #{unitId}
+ and t.community_id= #{communityId}
+ order by CONVERT(t.layer,SIGNED),CONVERT(t.room_num,SIGNED)
+ </select>
+
+ <select id="queryHisOwnerCarCount" parameterType="Map" resultType="Map">
+ select count(1) count
+ from business_owner_car t
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ left join t_dict t1 on t.car_type=t1.status_cd and t1.table_name='owner_car' and t1.table_columns = 'car_type'
+ left join t_dict t2 on t.state=t2.status_cd and t2.table_name='owner_car' and t2.table_columns = 'state'
+ left join t_dict t3 on t.lease_type = t3.status_cd and t3.table_name = 'owner_car' and t3.table_columns = 'lease_type'
+ left join t_dict t4 on t.car_type_cd=t4.status_cd and t4.table_name='owner_car' and t4.table_columns = 'car_type_cd'
+ left join building_owner bo on t.owner_id = bo.member_id and bo.status_cd = '0'
+ where 1=1
+ and t.car_num = #{carNum}
+ and t.community_id= #{communityId}
+ </select>
+
+ <select id="queryHisOwnerCars" parameterType="Map" resultType="Map">
+ select t.car_color carColor,t.car_brand carBrand,t.car_type carType,t1.name
+ carTypeName,
+ t.car_num carNum,t.ps_id psId,t.remark,
+ t.owner_id ownerId,t.b_id bId,t.user_id userId,t.car_id carId ,t.create_time
+ createTime,t.community_id communityId,t2.name stateName,
+ t.start_time startTime,t.end_time endTime,t.state,
+ t.car_type_cd carTypeCd,t.member_id memberId,t.lease_type leaseType,
+ t3.name leaseTypeName,t4.name carTypeCdName,t.operate,uu.`name` userName,bo.`name` ownerName,bo.link
+ from business_owner_car t
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ left join t_dict t1 on t.car_type=t1.status_cd and t1.table_name='owner_car' and t1.table_columns = 'car_type'
+ left join t_dict t2 on t.state=t2.status_cd and t2.table_name='owner_car' and t2.table_columns = 'state'
+ left join t_dict t3 on t.lease_type = t3.status_cd and t3.table_name = 'owner_car' and t3.table_columns = 'lease_type'
+ left join t_dict t4 on t.car_type_cd=t4.status_cd and t4.table_name='owner_car' and t4.table_columns = 'car_type_cd'
+ left join building_owner bo on t.owner_id = bo.member_id and bo.status_cd = '0'
+ where 1=1
+ and t.car_num = #{carNum}
+ and t.community_id= #{communityId}
+ order by t.create_time desc,t.operate
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
+
+ <select id="queryHisOwnerCount" parameterType="Map" resultType="Map">
+ select count(1) count
+ from business_building_owner t
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ where 1=1
+ and t.member_id = #{memberId}
+ and t.community_id = #{communityId}
+ </select>
+
+ <select id="queryHisOwners" parameterType="Map" resultType="Map">
+ select t.operate,t.sex,t.name,t.link,t.remark,t.owner_id ownerId,t.b_id bId,
+ t.age,t.member_id memberId,
+ t.owner_type_cd ownerTypeCd,t.community_id communityId,t.owner_flag ownerFlag,
+ t.id_card idCard,t.state,t.address,t.create_time createTime,uu.`name` userName,t.operate
+ from business_building_owner t
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ where 1=1
+ and t.member_id = #{memberId}
+ and t.community_id = #{communityId}
+ order by t.create_time desc,t.operate
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
+
+ <select id="queryHisFeeCount" parameterType="Map" resultType="Map">
+ select count(1) count
+ from business_pay_fee t
+ left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ where 1=1
+ and t.fee_id = #{feeId}
+ and t.community_id = #{communityId}
+ </select>
+
+ <select id="queryHisFees" parameterType="Map" resultType="Map">
+ select t.operate,t.start_time startTime,t.end_time endTime,t.create_time createTime,pfc.fee_name feeName,
+ t.amount,
+ uu.`name` userName
+ from business_pay_fee t
+ left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
+ left join c_business cb on t.b_id = cb.b_id
+ left join c_orders co on cb.o_id = co.o_id
+ left join u_user uu on co.user_id = uu.user_id
+ where 1=1
+ and t.fee_id = #{feeId}
+ and t.community_id = #{communityId}
+ order by t.create_time desc,t.operate
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.8.0