java110
2021-08-12 4dbf61c9189796ec46d39ac4b839cfc064e70411
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml
@@ -843,7 +843,8 @@
        from (
        select pfc.fee_name feeName,f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,oc.car_num carNum,
        pf.payer_obj_type payerObjType,t.start_time startTime,t.end_time endTime,t.create_time createTime,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,d.name
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,d.name,d2.name feeTypeCdName,
        pfc.fee_type_cd feeTypeCd,t.state,d3.name stateName
        from pay_fee_detail t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
@@ -857,7 +858,11 @@
        left join fee_discount_rule fdr on fd.rule_id = fdr.rule_id and fdr.status_cd = '0'
        left join t_dict d on t.prime_rate = d.status_cd and d.table_name="pay_fee_detail" and
        d.table_columns="prime_rate"
        where t.status_cd = '0' and t.state not in ('1100','1300')
        left join t_dict d2 on pfc.fee_type_cd = d2.status_cd and d2.table_name = "pay_fee_config" and d2.table_columns
        = "fee_type_cd"
        left join t_dict d3 on t.state = d3.status_cd and d3.table_name = "pay_fee_detail" and d3.table_columns =
        "state"
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
@@ -893,6 +898,12 @@
        </if>
        <if test="primeRate != null and primeRate != ''">
            and t.prime_rate = #{primeRate}
        </if>
        <if test="state != null and state != ''">
            and t.state = #{state}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="startTime !=null">
            and t.create_time &gt;= #{startTime}
@@ -909,7 +920,8 @@
        pf.payer_obj_type payerObjType,t.start_time startTime,t.end_time endTime,t.create_time createTime,
        t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfa.`value`
        importFeeName,t.prime_rate,d.name primeRate,fdr.discount_small_type discountSmallType,fdr.rule_name
        ruleName,pfdd.discount_price discountPrice,co.contract_code contractCode,pfo.`value` ownerName,cb.o_id oId
        ruleName,pfdd.discount_price discountPrice,co.contract_code contractCode,pfo.`value` ownerName,cb.o_id oId,
        d2.name feeTypeCdName,pfc.fee_type_cd feeTypeCd,t.state,d3.name stateName
        from pay_fee_detail t
        INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
@@ -924,9 +936,13 @@
        left join fee_discount_rule fdr on fd.rule_id = fdr.rule_id and fdr.status_cd = '0'
        left join t_dict d on t.prime_rate = d.status_cd and d.table_name="pay_fee_detail" and
        d.table_columns="prime_rate"
        left join t_dict d2 on pfc.fee_type_cd = d2.status_cd and d2.table_name = "pay_fee_config" and d2.table_columns
        = "fee_type_cd"
        left join t_dict d3 on t.state = d3.status_cd and d3.table_name = "pay_fee_detail" and d3.table_columns =
        "state"
        LEFT JOIN contract co on pf.payer_obj_id = co.contract_id and co.status_cd = '0' and pf.payer_obj_type='7777'
        LEFT JOIN c_business cb on t.b_id = cb.b_id
        where t.status_cd = '0' and t.state not in ('1100','1300')
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
@@ -962,6 +978,12 @@
        </if>
        <if test="primeRate != null and primeRate != ''">
            and t.prime_rate = #{primeRate}
        </if>
        <if test="state != null and state != ''">
            and t.state = #{state}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="startTime !=null">
            and t.create_time &gt;= #{startTime}
@@ -1599,4 +1621,260 @@
        </if>
    </select>
    <!-- 查询押金 -->
    <select id="queryPayFeeDeposit" parameterType="Map" resultType="Map">
        select t.amount,t.income_obj_id,t.income_obj_id incomeObjId,t.fee_type_cd,t.fee_type_cd
        feeTypeCd,t.start_time,t.start_time startTime,t.status_cd,t.status_cd statusCd,t.end_time,t.end_time
        endTime,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.fee_id,t.fee_id feeId,t.user_id,t.user_id
        userId,t.payer_obj_id,t.payer_obj_id payerObjId,pfc.square_price squarePrice,pfc.additional_amount
        additionalAmount,t.fee_flag,t.fee_flag feeFlag,t.state,t.config_id,t.config_id configId,
        pfc.fee_name feeName,td1.name feeTypeCdName,td2.name stateName,td3.name feeFlagName,pfc.computing_formula
        computingFormula,pfc.computing_formula_text computingFormulaText,
        pfc.bill_type billType,t.payer_obj_type,t.payer_obj_type payerObjType,pfc.is_default isDefault,pfc.start_time
        configStartTime,pfc.end_time configEndTime,pfc.payment_cd paymentCd,pfc.payment_cycle paymentCycle,td4.name
        billTypeName,t.create_time createTime,td5.name payerObjTypeName,pfd.state detailState,td6.name
        detailStateName,pfa1.`value` deadlineTime
        ,pfo.`value` ownerName,f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,oc.car_num carNum
        from pay_fee t
        INNER join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0' and pfc.fee_type_cd =
        '888800010006'
        left join pay_fee_detail pfd on t.fee_id = pfd.fee_id and pfd.status_cd = '0' and pfd.state != '1300'
        left join t_dict td1 on pfc.fee_type_cd = td1.status_cd and td1.table_name = 'pay_fee_config' and
        td1.table_columns = 'fee_type_cd'
        left join t_dict td2 on t.state = td2.status_cd and td2.table_name = 'pay_fee' and td2.table_columns = 'state'
        left join t_dict td3 on t.fee_flag = td3.status_cd and td3.table_name = 'pay_fee' and td3.table_columns =
        'fee_flag'
        left join t_dict td4 on pfc.bill_type = td4.status_cd and td4.table_name = 'pay_fee_config' and
        td4.table_columns = 'bill_type'
        left join t_dict td5 on t.payer_obj_type = td5.status_cd and td5.table_name = 'pay_fee' and
        td5.table_columns = 'payer_obj_type'
        left join t_dict td6 on pfd.state = td6.status_cd and td6.table_name = 'pay_fee_detail' and
        td6.table_columns = 'state'
        left join pay_fee_attrs pfo on t.fee_id = pfo.fee_id and pfo.spec_cd = '390008'
        LEFT JOIN pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.spec_cd = '390010' and pfa1.status_cd = '0'
        left join building_room br on t.payer_obj_id = br.room_id and t.payer_obj_type = '3333' and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join owner_car oc on t.payer_obj_id = oc.car_id and oc.status_cd = '0' and oc.car_type_cd='1001'
        where 1 = 1
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="amount != null and amount != ''">
            and t.amount = #{amount}
        </if>
        <if test="incomeObjId != null and incomeObjId != ''">
            and t.income_obj_id = #{incomeObjId}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.start_time = #{startTime}
        </if>
        <if test="endTime != null and endTime != ''">
            and t.end_time = #{endTime}
        </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="feeId != null and feeId != ''">
            and t.fee_id = #{feeId}
        </if>
        <if test="userId != null and userId != ''">
            and t.user_id = #{userId}
        </if>
        <if test="payerObjId != null and payerObjId != ''">
            and t.payer_obj_id = #{payerObjId}
        </if>
        <if test="squarePrice != null and squarePrice != ''">
            and pfc.square_price = #{squarePrice}
        </if>
        <if test="additionalAmount != null and additionalAmount != ''">
            and pfc.additional_amount = #{additionalAmount}
        </if>
        <if test="feeFlag != null and feeFlag != ''">
            and t.fee_flag = #{feeFlag}
        </if>
        <if test="state != null and state != ''">
            and t.state = #{state}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="feeName != null and feeName != ''">
            and pfc.fee_name = #{feeName}
        </if>
        <if test="computingFormula != null and computingFormula != ''">
            and pfc.computing_formula = #{computingFormula}
        </if>
        <if test="computingFormulaText != null and computingFormulaText != ''">
            and pfc.computing_formula_text = #{computingFormulaText}
        </if>
        <if test="billType != null and billType != ''">
            and pfc.bill_type = #{billType}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and t.payer_obj_type = #{payerObjType}
        </if>
        <if test="isDefault != null and isDefault != ''">
            and pfc.is_default = #{isDefault}
        </if>
        <if test="configStartTime != null and configStartTime != ''">
            and pfc.start_time = #{configStartTime}
        </if>
        <if test="configEndTime != null and configEndTime != ''">
            and pfc.end_time = #{configEndTime}
        </if>
        <if test="paymentCd != null and paymentCd != ''">
            and pfc.payment_cd = #{paymentCd}
        </if>
        <if test="paymentCycle != null and paymentCycle != ''">
            and pfc.payment_cycle = #{paymentCycle}
        </if>
        <if test="feeStartTime != null and feeStartTime != ''">
            and t.create_time &gt;= #{feeStartTime}
        </if>
        <if test="feeEndTime != null and feeEndTime != ''">
            and t.create_time &lt;= #{feeEndTime}
        </if>
        <if test="detailState != null and detailState != ''">
            and pfd.state = #{detailState}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询押金退费总金额 -->
    <select id="queryFeeDepositAmount" parameterType="Map" resultType="Map">
        select SUM(pfc.additional_amount) allAmount,pfd.state detailState
        from pay_fee t
        INNER join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0' and pfc.fee_type_cd =
        '888800010006'
        left join pay_fee_detail pfd on t.fee_id = pfd.fee_id and pfd.status_cd = '0' and pfd.state != '1300'
        left join t_dict td1 on pfc.fee_type_cd = td1.status_cd and td1.table_name = 'pay_fee_config' and
        td1.table_columns = 'fee_type_cd'
        left join t_dict td2 on t.state = td2.status_cd and td2.table_name = 'pay_fee' and td2.table_columns = 'state'
        left join t_dict td3 on t.fee_flag = td3.status_cd and td3.table_name = 'pay_fee' and td3.table_columns =
        'fee_flag'
        left join t_dict td4 on pfc.bill_type = td4.status_cd and td4.table_name = 'pay_fee_config' and
        td4.table_columns = 'bill_type'
        left join t_dict td5 on t.payer_obj_type = td5.status_cd and td5.table_name = 'pay_fee' and
        td5.table_columns = 'payer_obj_type'
        left join t_dict td6 on pfd.state = td6.status_cd and td6.table_name = 'pay_fee_detail' and
        td6.table_columns = 'state'
        left join pay_fee_attrs pfo on t.fee_id = pfo.fee_id and pfo.spec_cd = '390008'
        LEFT JOIN pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.spec_cd = '390010' and pfa1.status_cd = '0'
        left join building_room br on t.payer_obj_id = br.room_id and t.payer_obj_type = '3333' and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join owner_car oc on t.payer_obj_id = oc.car_id and oc.status_cd = '0' and oc.car_type_cd='1001'
        where 1 = 1
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="amount != null and amount != ''">
            and t.amount = #{amount}
        </if>
        <if test="incomeObjId != null and incomeObjId != ''">
            and t.income_obj_id = #{incomeObjId}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="startTime != null and startTime != ''">
            and t.start_time = #{startTime}
        </if>
        <if test="endTime != null and endTime != ''">
            and t.end_time = #{endTime}
        </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="feeId != null and feeId != ''">
            and t.fee_id = #{feeId}
        </if>
        <if test="userId != null and userId != ''">
            and t.user_id = #{userId}
        </if>
        <if test="payerObjId != null and payerObjId != ''">
            and t.payer_obj_id = #{payerObjId}
        </if>
        <if test="squarePrice != null and squarePrice != ''">
            and pfc.square_price = #{squarePrice}
        </if>
        <if test="additionalAmount != null and additionalAmount != ''">
            and pfc.additional_amount = #{additionalAmount}
        </if>
        <if test="feeFlag != null and feeFlag != ''">
            and t.fee_flag = #{feeFlag}
        </if>
        <if test="state != null and state != ''">
            and t.state = #{state}
        </if>
        <if test="configId != null and configId != ''">
            and t.config_id = #{configId}
        </if>
        <if test="feeName != null and feeName != ''">
            and pfc.fee_name = #{feeName}
        </if>
        <if test="computingFormula != null and computingFormula != ''">
            and pfc.computing_formula = #{computingFormula}
        </if>
        <if test="computingFormulaText != null and computingFormulaText != ''">
            and pfc.computing_formula_text = #{computingFormulaText}
        </if>
        <if test="billType != null and billType != ''">
            and pfc.bill_type = #{billType}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and t.payer_obj_type = #{payerObjType}
        </if>
        <if test="isDefault != null and isDefault != ''">
            and pfc.is_default = #{isDefault}
        </if>
        <if test="configStartTime != null and configStartTime != ''">
            and pfc.start_time = #{configStartTime}
        </if>
        <if test="configEndTime != null and configEndTime != ''">
            and pfc.end_time = #{configEndTime}
        </if>
        <if test="paymentCd != null and paymentCd != ''">
            and pfc.payment_cd = #{paymentCd}
        </if>
        <if test="paymentCycle != null and paymentCycle != ''">
            and pfc.payment_cycle = #{paymentCycle}
        </if>
        <if test="feeStartTime != null and feeStartTime != ''">
            and t.create_time &gt;= #{feeStartTime}
        </if>
        <if test="feeEndTime != null and feeEndTime != ''">
            and t.create_time &lt;= #{feeEndTime}
        </if>
        <if test="detailState != null and detailState != ''">
            and pfd.state = #{detailState}
        </if>
        group by pfd.state
    </select>
</mapper>