<?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="com.ruoyi.system.mapper.TBillMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.ruoyi.system.model.TBill">
|
<id column="id" property="id" />
|
<result column="contract_id" property="contractId" />
|
<result column="contract_number" property="contractNumber" />
|
<result column="payable_fees_money" property="payableFeesMoney" />
|
<result column="payable_fees_time" property="payableFeesTime" />
|
<result column="pay_fees_status" property="payFeesStatus" />
|
<result column="pay_fees_money" property="payFeesMoney" />
|
<result column="pay_fees_time" property="payFeesTime" />
|
<result column="pay_fees_type" property="payFeesType" />
|
<result column="bill_type" property="billType" />
|
<result column="over_days" property="overDays" />
|
<result column="payable_fees_penalty" property="payableFeesPenalty" />
|
<result column="start_time" property="startTime" />
|
<result column="end_time" property="endTime" />
|
<result column="bank_serial_number" property="bankSerialNumber" />
|
<result column="outstanding_money" property="outstandingMoney" />
|
<result column="voucher" property="voucher" />
|
<result column="create_time" property="createTime" />
|
<result column="update_time" property="updateTime" />
|
<result column="create_by" property="createBy" />
|
<result column="update_by" property="updateBy" />
|
<result column="disabled" property="disabled" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, contract_id,contract_number, payable_fees_money, payable_fees_time, pay_fees_status, pay_fees_money, pay_fees_time, pay_fees_type, bill_type, over_days, payable_fees_penalty, start_time, end_time, bank_serial_number, outstanding_money, voucher, create_time, update_time, create_by, update_by, disabled
|
</sql>
|
|
<select id="page" resultType="com.ruoyi.system.dto.TBillDto">
|
SELECT
|
b.*,
|
t.resident_name as residentName,
|
t.phone,
|
t.account,
|
h.house_name as houseName
|
FROM
|
t_bill b
|
LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
|
LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
|
LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
|
<where>
|
b.disabled=0
|
<if test="query.payFeesStatus != null">
|
and b.pay_fees_status = #{query.payFeesStatus}
|
</if>
|
<if test="query.phone != null and query.phone !=''">
|
and t.phone = #{query.phone}
|
</if>
|
<if test="query.residentName != null and query.residentName !=''">
|
and t.resident_name like concat('%',#{query.residentName},'%')
|
</if>
|
<if test="query.contractNumber != null and query.contractNumber !=''">
|
and b.contract_number = #{query.contractNumber}
|
</if>
|
<if test="query.userId != null and query.userId !=''">
|
and t.id = #{query.userId}
|
</if>
|
</where>
|
order by b.payable_fees_time desc,b.create_time desc
|
</select>
|
<select id="getBillList" resultType="com.ruoyi.system.dto.TBillDto">
|
SELECT
|
b.*,
|
t.resident_name as residentName,
|
t.phone,
|
t.account,
|
h.house_name as houseName
|
FROM
|
t_bill b
|
LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
|
LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
|
LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
|
<where>
|
<if test="query.payFeesStatus != null">
|
and b.pay_fees_status = #{query.payFeesStatus}
|
</if>
|
<if test="query.phone != null and query.phone !=''">
|
and t.phone = #{query.phone}
|
</if>
|
<if test="query.residentName != null and query.residentName !=''">
|
and t.resident_name like concat('%',#{query.residentName},'%')
|
</if>
|
<if test="query.contractNumber != null and query.contractNumber !=''">
|
and b.contract_number = #{query.contractNumber}
|
</if>
|
<if test="query.userId != null and query.userId !=''">
|
and t.id = #{query.userId}
|
</if>
|
<if test="query.billType != null">
|
and b.bill_type = #{query.billType}
|
</if>
|
and b.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
order by b.bill_type,b.payable_fees_time
|
</select>
|
<select id="invoiceList" resultType="com.ruoyi.system.dto.TBillDto">
|
SELECT
|
b.*,
|
t.resident_name as residentName,
|
t.phone,
|
t.account,
|
h.house_name as houseName
|
FROM
|
t_bill b
|
LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
|
LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
|
LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
|
LEFT JOIN t_invoice_to_bill tb ON b.id = tb.bill_id
|
<where>
|
<if test="query.phone != null and query.phone !=''">
|
and t.phone = #{query.phone}
|
</if>
|
<if test="query.residentName != null and query.residentName !=''">
|
and t.resident_name like concat('%',#{query.residentName},'%')
|
</if>
|
<if test="query.contractNumber != null and query.contractNumber !=''">
|
and b.contract_number = #{query.contractNumber}
|
</if>
|
<if test="query.userId != null and query.userId !=''">
|
and t.id = #{query.userId}
|
</if>
|
and b.pay_fees_status = 3
|
and tb.invoice_id IS NULL
|
and b.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
order by b.pay_fees_time
|
</select>
|
|
<select id="selectDetailByBillId" resultType="com.ruoyi.system.dto.TBillDto">
|
SELECT
|
b.*,
|
t.resident_name as residentName,
|
t.email,
|
t.phone,
|
t.account,
|
h.house_name as houseName,
|
c.contract_name,c.pay_type,c.party_two_name,c.total_year,c.deposit
|
FROM
|
t_bill b
|
LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
|
LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
|
LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
|
where b.id = #{billId}
|
</select>
|
|
<select id="statisticsAllRent" resultType="java.math.BigDecimal">
|
SELECT ifnull(sum(payable_fees_money),0) as amount FROM t_bill
|
</select>
|
|
<select id="statisticsNoPay" resultType="java.math.BigDecimal">
|
SELECT ifnull(sum(outstanding_money),0) as amount FROM t_bill where pay_fees_status!=3
|
</select>
|
|
<select id="statisticsPayed" resultType="java.math.BigDecimal">
|
SELECT ifnull(sum(pay_fees_money),0) as amount FROM t_bill
|
</select>
|
|
<select id="statisticsOverdue" resultType="java.math.BigDecimal">
|
SELECT ifnull(sum(outstanding_money),0) as amount FROM t_bill where pay_fees_status=4
|
</select>
|
<select id="batchBillCount" resultType="java.lang.Integer">
|
SELECT
|
count(b.id)
|
FROM
|
t_bill b
|
LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
|
LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
|
LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
|
<where>
|
<if test="userId != null and userId !=''">
|
AND t.id = #{userId}
|
</if>
|
<if test="billIds != null and billIds.size() > 0">
|
AND b.id NOT IN
|
<foreach collection="billIds" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
AND b.bill_type = 3
|
</where>
|
</select>
|
</mapper>
|