|
@@ -28,11 +28,93 @@
|
|
order_fund_id, production_fund_id, fine_amount, real_fine_amount, explain, remark, status, leader_id, confirm_date
|
|
order_fund_id, production_fund_id, fine_amount, real_fine_amount, explain, remark, status, leader_id, confirm_date
|
|
</sql>
|
|
</sql>
|
|
|
|
|
|
|
|
+ <!--分页查询超期罚款-->
|
|
|
|
+ <select id="selectPage" resultType="com.dayou.vo.FinanceFineVO">
|
|
|
|
+ SELECT fine.id AS id,
|
|
|
|
+ oFund.business_type AS businessType,
|
|
|
|
+ oFund.order_id AS orderId,
|
|
|
|
+ oFund.order_name AS orderName,
|
|
|
|
+ (SELECT GROUP_CONCAT(ticket_no SEPARATOR ',')
|
|
|
|
+ FROM finance_invoice
|
|
|
|
+ WHERE finance_invoice.deleted = 0
|
|
|
|
+ AND finance_invoice.order_fund_id = fine.order_fund_id
|
|
|
|
+ AND IF(fine.production_fund_id IS NOT NULL, finance_invoice.production_fund_id = fine.production_fund_id, TRUE)
|
|
|
|
+ ) AS invoiceNo,
|
|
|
|
+ <if test="dto != null and dto.businessType == 'ASSET_BUSINESS' or dto.businessType == 'MAJOR_BUSINESS'">
|
|
|
|
+ pFund.production_no AS productionNo,
|
|
|
|
+ pFund.production_type AS productionType,
|
|
|
|
+ pFund.production_should_amount AS shouldAmount,
|
|
|
|
+ pFund.standard_amount AS standardAmount,
|
|
|
|
+ `order`.bailor AS bailor,
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.businessType == 'PERSONAL_BUSINESS'">
|
|
|
|
+ oFund.should_amount AS shouldAmount,
|
|
|
|
+ CONCAT(`order`.bailorA, IF(`order`.bailorB IS NOT NULL AND `order`.bailorB != '', ',', ''), `order`.bailorB) AS bailor,
|
|
|
|
+ </if>
|
|
|
|
+ user.name AS clientManagerName,
|
|
|
|
+ DATEDIFF(CURDATE(), DATE( pro.repertory_out_time )) AS overdueDay,
|
|
|
|
+ customer.name AS customerName,
|
|
|
|
+ subCustomer.name AS customerSubName,
|
|
|
|
+ fine.fine_amount AS fineAmount,
|
|
|
|
+ fine.real_fine_amount AS realFineAmount,
|
|
|
|
+ fine.status AS status,
|
|
|
|
+ fine.created AS punishDate,
|
|
|
|
+ fine.`explain` AS `explain`
|
|
|
|
+ FROM finance_fine AS fine
|
|
|
|
+ LEFT JOIN order_fund AS oFund ON oFund.deleted = 0 AND fine.order_fund_id = oFund.id
|
|
|
|
+ <if test="dto != null and dto.businessType == 'ASSET_BUSINESS'">
|
|
|
|
+ LEFT JOIN production_fund AS pFund ON pFund.deleted = 0 AND fine.production_fund_id = pFund.id
|
|
|
|
+ LEFT JOIN ( SELECT business_id, production_no, repertory_out_time FROM assets_production WHERE deleted = 0 AND repertory_out_time IS NOT NULL AND production_type != 'STATEMENT') AS pro
|
|
|
|
+ ON pFund.business_id = pro.business_id AND pFund.production_no = pro.production_no
|
|
|
|
+ LEFT JOIN assets AS `order` ON `order`.deleted = 0 AND `order`.id = pFund.business_id
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.businessType == 'MAJOR_BUSINESS'">
|
|
|
|
+ LEFT JOIN production_fund AS pFund ON pFund.deleted = 0 AND fine.production_fund_id = pFund.id
|
|
|
|
+ LEFT JOIN ( SELECT major_id AS business_id, report_no AS production_no, repertory_out_time, production FROM major_production WHERE deleted = 0 AND repertory_out_time IS NOT NULL) AS pro
|
|
|
|
+ ON pFund.business_id = pro.business_id AND pFund.production_no = pro.production_no AND production = pFund.production_type
|
|
|
|
+ LEFT JOIN major AS `order` ON `order`.deleted = 0 AND `order`.id = pFund.business_id
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.businessType == 'PERSONAL_BUSINESS'">
|
|
|
|
+ LEFT JOIN personal_target pt ON pt.personal_id = oFund.business_id
|
|
|
|
+ LEFT JOIN ( SELECT target_id,repertory_out_time, production FROM personal_production WHERE repertory_out_time IS NOT NULL GROUP BY target_id ) AS pro ON pro.target_id = pt.id
|
|
|
|
+ LEFT JOIN personal AS `order` ON `order`.deleted = 0 AND `order`.id = oFund.business_id
|
|
|
|
+ </if>
|
|
|
|
+ LEFT JOIN customer_company AS customer ON customer.id = `order`.clientele_id
|
|
|
|
+ LEFT JOIN customer_company AS subCustomer ON subCustomer.id = `order`.clientele_sub_id
|
|
|
|
+ LEFT JOIN user ON `order`.client_manager_id = user.id AND user.deleted = 0
|
|
|
|
+ WHERE oFund.business_type = #{dto.businessType}
|
|
|
|
+ <if test="dto != null and dto.keyWord != null and dto.keyWord != ''">
|
|
|
|
+ AND (`order`.order_id LIKE CONCAT('%', #{dto.keyWord},'%')
|
|
|
|
+ <if test="dto != null and dto.businessType == 'ASSET_BUSINESS' or dto.businessType == 'MAJOR_BUSINESS'">
|
|
|
|
+ OR pFund.production_no LIKE CONCAT('%', #{dto.keyWord},'%')
|
|
|
|
+ </if>
|
|
|
|
+ )
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.invoiceNo != null and dto.invoiceNo != ''">
|
|
|
|
+ AND (SELECT GROUP_CONCAT(ticket_no SEPARATOR ',')
|
|
|
|
+ FROM finance_invoice
|
|
|
|
+ WHERE finance_invoice.deleted = 0
|
|
|
|
+ AND finance_invoice.order_fund_id = fine.order_fund_id
|
|
|
|
+ AND ticket_no LIKE CONCAT('%', #{dto.invoiceNo} ,'%')
|
|
|
|
+ AND IF(fine.production_fund_id IS NOT NULL, finance_invoice.production_fund_id = fine.production_fund_id, TRUE)
|
|
|
|
+ ) IS NOT NULL
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.clientManagerName != null and dto.clientManagerName != ''">
|
|
|
|
+ AND user.name = #{dto.clientManagerName}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.status != null">
|
|
|
|
+ AND fine.status = #{dto.status}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="dto != null and dto.startPunishDate != null and dto.endPunishDate!= null">
|
|
|
|
+ AND fine.created BETWEEN #{dto.startPunishDate} AND #{dto.endPunishDate}
|
|
|
|
+ </if>
|
|
|
|
+ </select>
|
|
|
|
+
|
|
<!--获取逾期资产产品款项信息-->
|
|
<!--获取逾期资产产品款项信息-->
|
|
<select id="getAssetsOrder" resultType="com.dayou.vo.CompileFineAssetsOrder">
|
|
<select id="getAssetsOrder" resultType="com.dayou.vo.CompileFineAssetsOrder">
|
|
SELECT
|
|
SELECT
|
|
- `of`.id,
|
|
|
|
- pf.id,
|
|
|
|
|
|
+ `of`.id AS orderFundId,
|
|
|
|
+ pf.id AS productionFundId,
|
|
pf.production_should_amount,
|
|
pf.production_should_amount,
|
|
pf.standard_amount
|
|
pf.standard_amount
|
|
FROM
|
|
FROM
|
|
@@ -79,8 +161,8 @@
|
|
<!--获取逾期大中型产品款项信息-->
|
|
<!--获取逾期大中型产品款项信息-->
|
|
<select id="getMajorOrder" resultType="com.dayou.vo.CompileFineMajorOrder">
|
|
<select id="getMajorOrder" resultType="com.dayou.vo.CompileFineMajorOrder">
|
|
SELECT
|
|
SELECT
|
|
- pf.id,
|
|
|
|
- pf.order_fund_id,
|
|
|
|
|
|
+ pf.id AS productionFundId,
|
|
|
|
+ pf.order_fund_id AS orderFundId,
|
|
pf.production_should_amount AS shouldAmount,
|
|
pf.production_should_amount AS shouldAmount,
|
|
pf.standard_amount
|
|
pf.standard_amount
|
|
FROM
|
|
FROM
|
|
@@ -127,6 +209,7 @@
|
|
SELECT SUM(real_amount) * 0.05
|
|
SELECT SUM(real_amount) * 0.05
|
|
FROM finance_invoice
|
|
FROM finance_invoice
|
|
WHERE deleted = 0
|
|
WHERE deleted = 0
|
|
|
|
+ AND state = '已开票'
|
|
AND order_fund_id = #{orderFundId}
|
|
AND order_fund_id = #{orderFundId}
|
|
<if test="productionFundId != null">
|
|
<if test="productionFundId != null">
|
|
AND production_fund_id = #{productionFundId}
|
|
AND production_fund_id = #{productionFundId}
|