cgf
2025-08-23 9ec0a61f90ac2464eebc643bfe2d93ac9ba6e569
java110-db/src/main/resources/mapper/fee/FeeDetailServiceDaoImplMapper.xml
@@ -8,13 +8,13 @@
        business_pay_fee_detail(
        operate,prime_rate,detail_id,
        receivable_amount,cycles,remark,
        received_amount,community_id,b_id,fee_id,state,start_time,end_time,payable_amount
        received_amount,community_id,b_id,fee_id,state,start_time,end_time,payable_amount,open_invoice
        <if test="createTime != null">
            ,create_time
        </if>
        ) values (
        #{operate},#{primeRate},#{detailId},#{receivableAmount},
        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime},#{payableAmount}
        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime},#{payableAmount},#{openInvoice}
        <if test="createTime != null">
            ,#{createTime}
        </if>
@@ -121,8 +121,11 @@
        t.state,d.name stateName,t.start_time,t.end_time,t.start_time startTime,t.end_time endTime,pfa.`value`
        importFeeName,pfc.fee_name feeName,t.payable_amount,t.payable_amount payableAmount,
        mw.cur_degrees curDegrees,mw.pre_degrees preDegrees, mw.pre_reading_time preReadingTime,mw.cur_reading_time
        curReadingTime,t.pay_order_id payOrderId,pfc.config_id configId,td.`name` primeRateName,pfao1.`value` payerObjName,
        t.cashier_id cashierId,t.cashier_name cashierName
        curReadingTime,t.pay_order_id payOrderId,pfc.config_id configId,td.`name` primeRateName,pfao1.`value`
        payerObjName,pf.contract_fee,pf.contract_fee contractFee,
        t.cashier_id cashierId,t.cashier_name cashierName,pfc.fee_flag feeFlag,fr.receipt_code
        receiptCode,t.open_invoice openInvoice,t.acct_amount acctAmount,t.discount_amount discountAmount,t.deduction_amount deductionAmount,
        t.late_amount lateAmount,t.gift_amount giftAmount,t.invoice_no invoiceNo,t.receipt_no receiptNo,t.transferor_name transferorName
        from pay_fee_detail t
        left join pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002'
        left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
@@ -133,20 +136,37 @@
            left join pay_fee_attrs pfao on pfao.fee_id = t.fee_id and pfao.spec_cd = '390007' and pfao.status_cd = '0'
        </if>
        left join t_dict d on t.state = d.status_cd and d.table_name = 'pay_fee_detail' and d.table_columns = 'state'
        left join t_dict td on t.prime_rate = td.status_cd and td.table_name = 'pay_fee_detail' and td.table_columns = 'prime_rate'
        left join t_dict td on t.prime_rate = td.status_cd and td.table_name = 'pay_fee_detail' and td.table_columns =
        'prime_rate'
        left join fee_receipt_detail frd on t.detail_id = frd.detail_id and frd.status_cd = '0'
        left join fee_receipt fr on frd.receipt_id = fr.receipt_id and fr.status_cd = '0'
        where 1 =1
        <if test="configId != null and configId != ''">
            and pf.config_id = #{configId}
        </if>
        <if test="payerObjId != null and payerObjId != ''">
            and pf.payer_obj_id = #{payerObjId}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and pf.payer_obj_type = #{payerObjType}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and pfao.value = #{ownerId}
        </if>
        <if test="contractFee !=null and contractFee != ''">
            and pf.contract_fee= #{contractFee}
        </if>
        <if test="primeRate !=null and primeRate != ''">
            and t.prime_rate= #{primeRate}
        </if>
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
        </if>
        <if test="detailIds !=null ">
            and t.detail_id in
            <foreach collection="detailIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            and t.receivable_amount= #{receivableAmount}
@@ -199,7 +219,10 @@
        <if test="cashierName !=null and cashierName != ''">
            and t.cashier_name= #{cashierName}
        </if>
        order by t.create_time desc
        <if test="openInvoice !=null and openInvoice != ''">
            and t.open_invoice= #{openInvoice}
        </if>
        order by t.create_time desc,pf.payer_obj_id desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -238,6 +261,9 @@
        <if test="feeId !=null and feeId != ''">
            , t.fee_id= #{feeId}
        </if>
        <if test="openInvoice !=null and openInvoice != ''">
            , t.open_invoice= #{openInvoice}
        </if>
        where 1=1
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
@@ -251,16 +277,19 @@
    <select id="queryFeeDetailsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from pay_fee_detail t
        <if test="configId != null and configId != ''">
            inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        </if>
        left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="ownerId != null and ownerId != ''">
            left join pay_fee_attrs pfa on pfa.fee_id = t.fee_id and pfa.spec_cd = '390007' and pfa.status_cd = '0'
        </if>
        where 1 =1
        <if test="configId != null and configId != ''">
            and pf.config_id = #{configId}
        </if>
        <if test="payerObjId != null and payerObjId != ''">
            and pf.payer_obj_id = #{payerObjId}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and pf.payer_obj_type = #{payerObjType}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and pfa.value = #{ownerId}
@@ -270,6 +299,15 @@
        </if>
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
        </if>
        <if test="contractFee !=null and contractFee != ''">
            and t.contract_fee= #{contractFee}
        </if>
        <if test="detailIds !=null ">
            and t.detail_id in
            <foreach collection="detailIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            and t.receivable_amount= #{receivableAmount}
@@ -313,22 +351,122 @@
        <if test="cashierName !=null and cashierName != ''">
            and t.cashier_name= #{cashierName}
        </if>
        <if test="openInvoice !=null and openInvoice != ''">
            and t.open_invoice= #{openInvoice}
        </if>
        <if test="curYear != null and curYear != ''">
            and DATE_FORMAT(DATE_SUB(t.end_time,INTERVAL 1 DAY),'%Y') = #{curYear}
        </if>
    </select>
    <!-- 查询费用明细数量 add by wuxw 2018-07-03 -->
    <select id="queryFeeDetailsCountByVo" parameterType="Map" resultType="Map">
        select count(1) count
        from pay_fee_detail t
        left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        <if test="ownerId != null and ownerId != ''">
            left join pay_fee_attrs pfa on pfa.fee_id = t.fee_id and pfa.spec_cd = '390007' and pfa.status_cd = '0'
        </if>
        where 1 =1
        <if test="configId != null and configId != ''">
            and pf.config_id = #{configId}
        </if>
        <if test="payerObjId != null and payerObjId != ''">
            and pf.payer_obj_id = #{payerObjId}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and pf.payer_obj_type = #{payerObjType}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and pfa.value = #{ownerId}
        </if>
        <if test="primeRate !=null and primeRate != ''">
            and t.prime_rate= #{primeRate}
        </if>
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
        </if>
        <if test="detailIds !=null ">
            and t.detail_id in
            <foreach collection="detailIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            and t.receivable_amount= #{receivableAmount}
        </if>
        <if test="cycles !=null and cycles != ''">
            and t.cycles= #{cycles}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            and t.received_amount= #{receivedAmount}
        </if>
        <if test="payableAmount !=null and payableAmount != ''">
            and t.payable_amount= #{payableAmount}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="startTime !=null ">
            and t.start_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null ">
            and t.end_time &lt;= #{endTime}
        </if>
        <if test="startTime !=null and b != null">
            and t.start_time = #{startTime}
        </if>
        <if test="cashierId !=null and cashierId != ''">
            and t.cashier_id= #{cashierId}
        </if>
        <if test="cashierName !=null and cashierName != ''">
            and t.cashier_name= #{cashierName}
        </if>
        <if test="openInvoice !=null and openInvoice != ''">
            and t.open_invoice= #{openInvoice}
        </if>
        <if test="curYear != null and curYear != ''">
            and DATE_FORMAT(DATE_SUB(t.end_time,INTERVAL 1 DAY),'%Y') = #{curYear}
        </if>
        <if test="createTime != null and createTime != ''">
            and #{createTime} = t.create_time
        </if>
        <if test="payOrderId != null and payOrderId != ''">
            and #{payOrderId} = t.pay_order_id
        </if>
    </select>
    <!-- 保存费用明细信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveFeeDetail" parameterType="Map">
        insert into
        pay_fee_detail(
        prime_rate,detail_id,receivable_amount,cycles,remark,received_amount,community_id,fee_id,state,start_time,end_time,payable_amount
        pay_fee_detail(b_id,pay_order_id,
        prime_rate,detail_id,receivable_amount,cycles,remark,received_amount,community_id,
        fee_id,state,start_time,end_time,payable_amount,cashier_name,cashier_id,open_invoice,
        acct_amount,discount_amount,deduction_amount,late_amount,gift_amount,invoice_no,transferor_name
        <if test="createTime != null and createTime != ''">
            ,create_time
        </if>
        )
        values(#{primeRate},#{detailId},#{receivableAmount},#{cycles},#{remark},#{receivedAmount},#{communityId},#{feeId},#{state},
        #{startTime},#{endTime},#{payableAmount}
        values(#{bId},#{payOrderId},#{primeRate},#{detailId},#{receivableAmount},#{cycles},#{remark},#{receivedAmount},#{communityId},#{feeId},#{state},
        #{startTime},#{endTime},#{payableAmount},#{cashierName},#{cashierId},#{openInvoice},
        #{acctAmount},#{discountAmount},#{deductionAmount},#{lateAmount},#{giftAmount},#{invoiceNo},#{transferorName}
        <if test="createTime != null and createTime != ''">
            ,#{createTime}
        </if>