<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="reportFeeStatisticsServiceDaoImpl">
|
|
<!-- 查询历史欠费 -->
|
<select id="getHisMonthOweFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.receivable_amount),0.0) hisOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.detail_id = '-1'
|
and t.community_id= #{communityId}
|
and t.cur_month_time < #{startDate}
|
</select>
|
|
<!-- 查询单月欠费 -->
|
<select id="getCurMonthOweFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.receivable_amount),0.0) curOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.detail_id = '-1'
|
and t.community_id= #{communityId}
|
and t.cur_month_time >= #{startDate}
|
and t.cur_month_time < #{endDate}
|
</select>
|
|
|
<!-- 查询当月应收 -->
|
<select id="getCurReceivableFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.cur_month_time >= #{startDate}
|
and t.cur_month_time < #{endDate}
|
</select>
|
|
<!-- 查询欠费追回 -->
|
<select id="getHisReceivedFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.received_amount),0.0) hisReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time < #{startDate}
|
</select>
|
|
<!-- 查询 预交费用 -->
|
<select id="getPreReceivedFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.received_amount),0.0) preReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time > #{endDate}
|
</select>
|
|
<!-- 查询实收费用 -->
|
<select id="getReceivedFee" parameterType="Map" resultType="Map">
|
select ifnull(sum(t.received_amount),0.0) receivedFee
|
from pay_fee_detail t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
left join pay_fee_attrs pfa on pf.fee_id = pfa.fee_id and pfa.status_cd = '0' and pfa.spec_cd = '390008'
|
left join pay_fee_attrs pfa1 on pf.fee_id = pfa1.fee_id and pfa1.status_cd = '0' and pfa1.spec_cd = '390009'
|
left join pay_fee_attrs pfa2 on pf.fee_id = pfa2.fee_id and pfa2.status_cd = '0' and pfa2.spec_cd = '390012'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and pfa2.value like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and pfa.value like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and pfa1.value = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and pf.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.create_time > #{startDate}
|
and t.create_time < #{endDate}
|
</select>
|
|
<!-- 查询欠费户数 -->
|
<select id="getOweRoomCount" parameterType="Map" resultType="Map">
|
|
select count(1) oweRoomCount
|
from (
|
select a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where 1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= #{communityId}
|
and t.cur_month_time < #{endDate}
|
and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
|
group by a.room_id
|
) a
|
</select>
|
|
<!-- 查询收费户数 -->
|
<select id="getFeeRoomCount" parameterType="Map" resultType="Map">
|
select count(1) feeRoomCount
|
from (
|
select a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where 1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = #{floorId}
|
</if>
|
<if test="configId != null and configId != ''">
|
and t.config_id = #{configId}
|
</if>
|
<if test="objName != null and objName != ''">
|
and t.obj_name like concat('%',#{objName},'%')
|
</if>
|
<if test="ownerName != null and ownerName != ''">
|
and t.owner_name like concat('%',#{ownerName},'%')
|
</if>
|
<if test="link != null and link != ''">
|
and t.link = #{link}
|
</if>
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= #{communityId}
|
and t.cur_month_time < #{endDate}
|
group by a.room_id
|
) a
|
</select>
|
|
|
<select id="getFloorFeeSummary" parameterType="Map" resultType="Map">
|
|
select a.floor_id floorId,a.floor_num floorNum,a.name floorName,
|
(
|
select count(1) from (
|
select bu.floor_id,a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= a.community_id
|
and t.cur_month_time < #{endDate}
|
and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
group by bu.floor_id,t.obj_id
|
) b
|
where b.floor_id = a.floor_id
|
) oweRoomCount,
|
(
|
select count(1) from (
|
select bu.floor_id,a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= a.community_id
|
and t.cur_month_time < #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
group by bu.floor_id,t.obj_id
|
) b
|
where b.floor_id = a.floor_id
|
) feeRoomCount,
|
(
|
select ifnull(sum(t.received_amount),0.0) receivedFee
|
from pay_fee_detail t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and bu.floor_id = a.floor_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.create_time > #{startDate}
|
and t.create_time < #{endDate}
|
<if test="configIds !=null ">
|
and pf.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
) receivedFee,
|
(
|
select ifnull(sum(t.received_amount),0.0) preReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and bu.floor_id = a.floor_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time > #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
) preReceivedFee,
|
(
|
select ifnull(sum(t.receivable_amount),0.0) hisOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and bu.floor_id = a.floor_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.detail_id = '-1'
|
and t.cur_month_time < #{startDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
) hisOweFee,
|
(
|
select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and bu.floor_id = a.floor_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.cur_month_time > #{startDate}
|
and t.cur_month_time < #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
) curReceivableFee
|
from f_floor a
|
where 1=1
|
and a.status_cd = '0'
|
and a.community_id = #{communityId}
|
order by a.seq
|
</select>
|
|
<select id="getConfigFeeSummary" parameterType="Map" resultType="Map">
|
select a.name,
|
(
|
select count(1) from (
|
select pf.fee_type_cd,a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= a.community_id
|
and t.cur_month_time < #{endDate}
|
and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
group by pf.fee_type_cd,t.obj_id
|
) b
|
where b.fee_type_cd = a.status_cd
|
) oweRoomCount,
|
(
|
select count(1) from (
|
select pf.fee_type_cd,a.room_id
|
from building_room a
|
left join pay_fee_detail_month t on t.obj_id = a.room_id
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
|
where
|
1=1
|
and a.status_cd = '0'
|
and pf.payer_obj_type = '3333'
|
and t.community_id= #{communityId}
|
and t.cur_month_time < #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="feeTypeCd != null and feeTypeCd != ''">
|
and pf.fee_type_cd = #{feeTypeCd}
|
</if>
|
group by pf.fee_type_cd,t.obj_id
|
) b
|
where b.fee_type_cd = a.status_cd
|
) feeRoomCount,
|
(
|
select ifnull(sum(t.received_amount),0.0) receivedFee
|
from pay_fee_detail t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = a.floor_id
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.create_time > #{startDate}
|
and t.create_time < #{endDate}
|
<if test="configIds !=null ">
|
and pf.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
and pf.fee_type_cd = a.status_cd
|
) receivedFee,
|
(
|
select ifnull(sum(t.received_amount),0.0) preReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = a.floor_id
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time > #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
and pf.fee_type_cd = a.status_cd
|
) preReceivedFee,
|
(
|
select ifnull(sum(t.receivable_amount),0.0) hisOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = a.floor_id
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.detail_id = '-1'
|
and t.cur_month_time < #{startDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
and pf.fee_type_cd = a.status_cd
|
) hisOweFee,
|
(
|
select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
<if test="floorId != null and floorId != ''">
|
LEFT JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
|
left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
|
</if>
|
where
|
1=1
|
<if test="floorId != null and floorId != ''">
|
and bu.floor_id = a.floor_id
|
</if>
|
and t.status_cd = '0'
|
and t.community_id= #{communityId}
|
and t.cur_month_time > #{startDate}
|
and t.cur_month_time < #{endDate}
|
<if test="configIds !=null ">
|
and t.config_id in
|
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
and pf.fee_type_cd = a.status_cd
|
) curReceivableFee
|
from t_dict a
|
where 1=1
|
and a.table_name = 'pay_fee_config'
|
and a.table_columns = 'fee_type_cd'
|
</select>
|
|
<select id="getObjFeeSummaryCount" parameterType="Map" resultType="Map">
|
select count(1) feeRoomCount
|
from
|
(
|
select a.obj_name objName,a.obj_id objId,a.owner_name ownerName,a.link
|
from pay_fee_detail_month a
|
where a.status_cd = '0'
|
and a.community_id = '2023013154290059'
|
group by a.obj_name,a.obj_id,a.owner_name,a.link
|
) b
|
</select>
|
|
<select id="getObjFeeSummary" parameterType="Map" resultType="Map">
|
select a.obj_name objName,a.obj_id objId,a.owner_name ownerName,a.link,
|
(
|
select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_amount),0.0) hisOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.cur_month_time < #{startDate}
|
) hisOweFee,
|
(
|
select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_amount),0.0) curOweFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.cur_month_time >= #{startDate}
|
and t.cur_month_time < #{endDate}
|
) curOweFee,
|
(
|
select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.cur_month_time > #{startDate}
|
and t.cur_month_time < #{endDate}
|
) curReceivableFee,
|
(
|
select ifnull(sum(t.received_amount),0.0) hisReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time < #{startDate}
|
) hisReceivedFee,
|
(
|
select ifnull(sum(t.received_amount),0.0) preReceivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
and t.cur_month_time > #{endDate}
|
) preReceivedFee,
|
(
|
select ifnull(sum(t.received_amount),0.0) receivedFee
|
from pay_fee_detail_month t
|
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
|
where t.obj_id = a.obj_id
|
and t.status_cd = '0'
|
and t.community_id= a.community_id
|
and t.pay_fee_time > #{startDate}
|
and t.pay_fee_time < #{endDate}
|
) receivedFee
|
from pay_fee_detail_month a
|
where a.status_cd = '0'
|
and a.community_id = #{communityId}
|
group by a.obj_name,a.obj_id,a.owner_name,a.link
|
order by a.obj_name
|
<if test="page != -1 and page != null ">
|
limit #{page}, #{row}
|
</if>
|
</select>
|
|
|
</mapper>
|