Browse Source

逾期客户列表交回报备初始化sql优化

zhanglei
God 1 year ago
parent
commit
17a1ebfaf4
  1. 224
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.xml

224
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.xml

@ -68,117 +68,123 @@
<select id="initVehListBySaleVehSidYCJK" <select id="initVehListBySaleVehSidYCJK"
resultType="com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehInit"> resultType="com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehInit">
SELECT SELECT
a1.`loanContractNo`, a1.`loanContractNo`,
RIGHT (a1.vinNo, 8) AS vinNo, RIGHT (a1.vinNo, 8) AS vinNo,
a1.vehMark AS carNum, a1.vehMark AS carNum,
a1.`bankName`, a1.`bankName`,
a1.bankContractNo, a1.bankContractNo,
a1.customer AS custName, a1.customer AS custName,
a1.borrowerName AS loanName, a1.borrowerName AS loanName,
a1.dueDate AS firstBeDate, a1.dueDate AS firstBeDate,
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
( (
SUM(a1.yq_total) + IFNULL( SUM(a1.yq_total) + IFNULL(
(SELECT (SELECT
SUM(lbpv.`bankBeInter`) SUM(lbpv.`bankBeInter`)
FROM
loan_be_padsincere_veh lbpv
WHERE lbpv.saleVehSid = a1.busVinSid),
0
) + IFNULL(
(SELECT
SUM(fund)
FROM
loan_fund_day
WHERE busSid IN
(SELECT
lrpd.sid
FROM
loan_repayment_plan_details lrpd
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
0
)
) AS beOverdueMoney,
ROUND((
SUM(a1.yq_total) + IFNULL(
(SELECT
SUM(lbpv.`bankBeInter`)
FROM
loan_be_padsincere_veh lbpv
WHERE lbpv.saleVehSid = a1.busVinSid),
0
) + IFNULL(
(SELECT
SUM(fund)
FROM
loan_fund_day
WHERE busSid IN
(SELECT
lrpd.sid
FROM
loan_repayment_plan_details lrpd
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
0
)
) / a1.dueMoney, 1) AS beOverdueMoneyAndPeriod,
a1.busVinSid AS saleVehSid,
a1.salesOrderSid,
a1.lockCarMoney
FROM FROM
(SELECT loan_be_padsincere_veh lbpv
lrpd.sid, WHERE lbpv.saleVehSid = a1.busVinSid),
lrpd.busVinSid, 0
lrpd.`loanContractNo`, ) + IFNULL(
lrpd.bankContractNo, (SELECT
lrpd.`vinNo`, SUM(fund)
lrpd.`bankName`, FROM
lrpd.borrowerName, loan_fund_day
lrpd.dueDate, WHERE busSid IN
lrpd.vehMark, (SELECT
lrpd.dueMoney, lrpd.sid
( FROM
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0)) loan_repayment_plan_details lrpd
) AS yq_total, WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
( 0
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0)) )
) / lrpd.`dueMoney` AS yq_hsqs, ) AS beOverdueMoney,
lrpd.customer, ROUND(
ct.mobile, (
lr.createTime, SUM(a1.yq_total) + IFNULL(
lrpd.borrowerSid, (SELECT
lrpd.salesOrderSid, SUM(lbpv.`bankBeInter`)
lv.lockCarMoney, FROM
lv.lockCarState loan_be_padsincere_veh lbpv
FROM WHERE lbpv.saleVehSid = a1.busVinSid),
`loan_repayment_plan_details` lrpd 0
LEFT JOIN `loan_repayment_history` lrh ) + IFNULL(
ON lrh.planDetailSid = lrpd.`sid` (SELECT
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv SUM(fund)
ON lrpd.busVinSid = bv.sid FROM
LEFT JOIN loan_fund_day
(SELECT WHERE busSid IN
saleVehSid, (SELECT
createTime lrpd.sid
FROM FROM
loan_be_collection_record loan_repayment_plan_details lrpd
ORDER BY createTime DESC WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
LIMIT 1) lr 0
ON lrpd.busVinSid = lr.saleVehSid )
LEFT JOIN anrui_crm.`crm_customer_temp` ct ) / a1.dueMoney,
ON lrpd.customerSid = ct.sid 1
LEFT JOIN (SELECT ) AS beOverdueMoneyAndPeriod,
* a1.busVinSid AS saleVehSid,
FROM a1.salesOrderSid,
loan_be_collection_veh a1.lockCarMoney
WHERE lockCarState = '1') lv FROM
ON lrpd.busVinSid = lv.saleVehSid (SELECT
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE() lrpd.sid,
GROUP BY lrpd.`sid` lrpd.busVinSid,
HAVING (yq_total > 0)) a1 lrpd.`loanContractNo`,
lrpd.bankContractNo,
lrpd.`vinNo`,
lrpd.`bankName`,
lrpd.borrowerName,
lrpd.dueDate,
lrpd.vehMark,
lrpd.dueMoney,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) / lrpd.`dueMoney` AS yq_hsqs,
lrpd.customer,
ct.mobile,
lr.createTime,
lrpd.borrowerSid,
lrpd.salesOrderSid,
(SELECT
lbcv.lockCarMoney
FROM
loan_be_collection_veh lbcv
LEFT JOIN loan_be_collection_apply lbca
ON lbca.sid = lbcv.mainSid
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
AND lbcv.lockCarState = '1'
AND lbcv.saleVehSid = lrpd.busVinSid
ORDER BY lbcv.createTime DESC
LIMIT 1) AS lockCarMoney
FROM
`loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON lrpd.busVinSid = bv.sid
LEFT JOIN
(SELECT
saleVehSid,
createTime
FROM
loan_be_collection_record
ORDER BY createTime DESC
LIMIT 1) lr
ON lrpd.busVinSid = lr.saleVehSid
LEFT JOIN anrui_crm.`crm_customer_temp` ct
ON lrpd.customerSid = ct.sid
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE()
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
WHERE a1.busVinSid = #{saleVehSid} WHERE a1.busVinSid = #{saleVehSid}
AND a1.lockCarState = '1'
GROUP BY a1.loanContractNo, GROUP BY a1.loanContractNo,
a1.vinNo, a1.vinNo,
a1.busVinSid a1.busVinSid
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save