Browse Source

更改

master
ligaode 2 months ago
parent
commit
037525b058
  1. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordFeign.java
  2. 493
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordFeign.java

@ -33,21 +33,6 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-riskcenter(逾期催收记录) <br/>
* File: LoanBeCollectionRecordFeign.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordFeign <br/>
* Description: 逾期催收记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-12-11 13:45:40 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "逾期催收记录") @Api(tags = "逾期催收记录")
@FeignClient( @FeignClient(
contextId = "anrui-riskcenter-LoanBeCollectionRecord", contextId = "anrui-riskcenter-LoanBeCollectionRecord",

493
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml

@ -16,67 +16,26 @@
a1.bankName, a1.bankName,
a1.bankContractNo, a1.bankContractNo,
a1.dueMoney AS bankMonthRep, a1.dueMoney AS bankMonthRep,
a1.dueDate AS firstBeDate, MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
( SUM(a1.yq_total) +
SUM(a1.yq_total) + IFNULL( COALESCE(lbpv_sum.bankBeInter_sum, 0) +
(SELECT COALESCE(lfd_sum.fund_sum, 0) AS beOverdueMoney,
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()
AND lrpd.busVinSid = a1.busVinSid)),
0
)
) AS beOverdueMoney,
ROUND( ROUND(
( (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) /
SUM(a1.yq_total) + IFNULL( MAX(a1.qjyh), -- 保证聚合正确性
(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()
AND lrpd.busVinSid = a1.busVinSid)),
0
)
) / a1.qjyh,
1 1
) AS beOverdueMoneyAndPeriod, ) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney,
a1.riskStaffUserSid, MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性
a1.riskStaffUserName, MAX(a1.riskStaffUserName) AS riskStaffUserName,
a1.reaRepaymentName AS repaymentName, MAX(a1.reaRepaymentName) AS repaymentName,
a1.createTime, MAX(a1.createTime) AS createTime,
a1.orgSidPath, a1.orgSidPath,
a1.lockCarState MAX(a1.lockCarState) AS lockCarState -- 保证聚合正确性
FROM FROM (
(SELECT SELECT
lrpd.sid, lrpd.sid,
lrpd.busVinSid, lrpd.busVinSid,
lrpd.useOrgName, lrpd.useOrgName,
@ -89,63 +48,67 @@
lrpd.bankContractNo, lrpd.bankContractNo,
lrpd.dueMoney, lrpd.dueMoney,
lrpd.dueDate, lrpd.dueDate,
( COALESCE(lrs.mainMidRepay, 0) + COALESCE(lrs.otherMidRepay, 0) AS qjyh,
IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0) lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0) AS yq_total,
) AS qjyh,
(
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
(
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))
) / lrpd.dueMoney AS yq_hsqs,
lrpd.paymentMoney AS yd_dkje, lrpd.paymentMoney AS yd_dkje,
lrpd.fund AS yd_zjzyf, lrpd.fund AS yd_zjzyf,
lrpd.orgSidPath, lrpd.orgSidPath,
lrpd.createBySid,
bv.riskStaffUserSid, bv.riskStaffUserSid,
bv.riskStaffUserName, bv.riskStaffUserName,
bv.reaRepaymentName, bv.reaRepaymentName,
lr.createTime, lbcr.createTime,
(SELECT CASE lbcv.lockCarState
CASE WHEN 0 THEN '未控制'
lbcv.lockCarState WHEN 1 THEN '控制成功'
WHEN 0 WHEN 2 THEN '控制失败'
THEN '未控制' WHEN 3 THEN '已解控'
WHEN 1
THEN '控制成功'
WHEN 2
THEN '控制失败'
WHEN 3
THEN '已解控'
END AS lockCarState END AS lockCarState
FROM FROM loan_repayment_plan_details lrpd
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.saleVehSid = lrpd.busVinSid
ORDER BY lbca.createTime DESC
LIMIT 1) AS lockCarState
FROM
loan_repayment_plan_details lrpd
LEFT JOIN loan_repayment_history lrh LEFT JOIN loan_repayment_history lrh
ON lrh.planDetailSid = lrpd.sid ON lrh.planDetailSid = lrpd.sid
INNER JOIN loan_repayment_schedule lrs
ON lrpd.scheduleSid = lrs.sid
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bv LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bv
ON lrpd.busVinSid = bv.sid ON lrpd.busVinSid = bv.sid
LEFT JOIN loan_repayment_schedule lrs LEFT JOIN (
ON lrpd.scheduleSid = lrs.sid SELECT
LEFT JOIN
(SELECT
saleVehSid, saleVehSid,
createTime MAX(createTime) AS createTime -- 取最新记录
FROM FROM loan_be_collection_record
loan_be_collection_record GROUP BY saleVehSid
ORDER BY createTime DESC) lr ) lbcr ON lrpd.busVinSid = lbcr.saleVehSid
ON lrpd.busVinSid = lr.saleVehSid LEFT JOIN (
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE() SELECT
lbcv.saleVehSid,
lbcv.lockCarState,
ROW_NUMBER() OVER (PARTITION BY lbcv.saleVehSid ORDER BY lbca.createTime DESC) AS rn
FROM loan_be_collection_veh lbcv
JOIN loan_be_collection_apply lbca
ON lbca.sid = lbcv.mainSid
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
) lbcv ON lbcv.saleVehSid = lrpd.busVinSid AND lbcv.rn = 1
WHERE lrpd.dueDate &lt; CURDATE() -- 移除DATE_FORMAT函数
GROUP BY lrpd.sid GROUP BY lrpd.sid
HAVING (yq_total > 0)) a1 HAVING (lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)) > 0
) a1
LEFT JOIN (
SELECT
saleVehSid,
SUM(bankBeInter) AS bankBeInter_sum
FROM loan_be_padsincere_veh
GROUP BY saleVehSid
) lbpv_sum ON lbpv_sum.saleVehSid = a1.busVinSid
LEFT JOIN (
SELECT
lrpd.busVinSid,
SUM(lfd.fund) AS fund_sum
FROM loan_fund_day lfd
JOIN loan_repayment_plan_details lrpd
ON lrpd.sid = lfd.busSid
WHERE lrpd.dueDate &lt; CURDATE()
GROUP BY lrpd.busVinSid
) lfd_sum ON lfd_sum.busVinSid = a1.busVinSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -163,64 +126,25 @@
resultType="com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit"> resultType="com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit">
SELECT SELECT
RIGHT(a1.vinNo, 8) AS vinNo, RIGHT(a1.vinNo, 8) AS vinNo,
a1.customer AS custName, MAX(a1.customer) AS custName, -- 使用聚合函数确保分组正确
a1.mobile AS custPhone, MAX(a1.mobile) AS custPhone,
a1.loanContractNo, a1.loanContractNo,
a1.bankContractNo, MAX(a1.bankContractNo) AS bankContractNo,
a1.bankName, MAX(a1.bankName) AS bankName,
a1.borrowerName AS loanName, MAX(a1.borrowerName) AS loanName,
a1.vehMark AS carNum, MAX(a1.vehMark) AS carNum,
a1.dueDate AS firstBeDate, MIN(a1.dueDate) AS firstBeDate, -- 根据业务需求确定合适的聚合函数
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
( CAST(SUM(a1.yq_total) AS DECIMAL(10,2)) + CAST(IFNULL(MAX(a1.bankBeInter_sum), 0) AS DECIMAL(10,2)) + CAST(IFNULL(MAX(a1.fund_sum), 0) AS DECIMAL(10,2)) AS beOverdueMoney,
SUM(a1.yq_total) + IFNULL( ROUND(
(SELECT (SUM(a1.yq_total) + IFNULL(MAX(a1.bankBeInter_sum), 0) + IFNULL(MAX(a1.fund_sum), 0)) / MAX(a1.qjyh),
SUM(lbpv.bankBeInter) 1
FROM ) AS beOverdueMoneyAndPeriod,
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.qjyh, 1) AS beOverdueMoneyAndPeriod,
a1.busVinSid AS saleVehSid, a1.busVinSid AS saleVehSid,
a1.salesOrderSid, MAX(a1.salesOrderSid) AS salesOrderSid,
a1.lockCarState MAX(a1.lockCarState) AS lockCarState
FROM FROM (
(SELECT SELECT
lrpd.sid, lrpd.sid,
lrpd.busVinSid, lrpd.busVinSid,
lrpd.loanContractNo, lrpd.loanContractNo,
@ -232,62 +156,80 @@
lrpd.vehMark, lrpd.vehMark,
lrpd.dueMoney, lrpd.dueMoney,
(IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0)) AS qjyh, (IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0)) AS qjyh,
( (lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))) AS yq_total,
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0)) lbpv_agg.bankBeInter_sum,
) AS yq_total, lfd_agg.fund_sum,
(
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))
) / lrpd.dueMoney AS yq_hsqs,
lrpd.customer, lrpd.customer,
ct.mobile, ct.mobile,
lr.createTime,
lrpd.borrowerSid, lrpd.borrowerSid,
lrpd.salesOrderSid, lrpd.salesOrderSid,
(SELECT lbcv_agg.lockCarState
CASE
lbcv.lockCarState
WHEN 0
THEN '未控制'
WHEN 1
THEN '控制成功'
WHEN 2
THEN '控制失败'
WHEN 3
THEN '已解控'
END AS lockCarState
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.saleVehSid = lrpd.busVinSid
ORDER BY lbca.createTime DESC
LIMIT 1) AS lockCarState
FROM FROM
loan_repayment_plan_details lrpd loan_repayment_plan_details lrpd
LEFT JOIN loan_repayment_history lrh LEFT JOIN loan_repayment_history lrh
ON lrh.planDetailSid = lrpd.sid ON lrh.planDetailSid = lrpd.sid
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bv
ON lrpd.busVinSid = bv.sid
LEFT JOIN loan_repayment_schedule lrs LEFT JOIN loan_repayment_schedule lrs
ON lrpd.scheduleSid = lrs.sid ON lrpd.scheduleSid = lrs.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 LEFT JOIN anrui_crm.crm_customer_temp ct
ON lrpd.customerSid = ct.sid ON lrpd.customerSid = ct.sid
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE() LEFT JOIN (
GROUP BY lrpd.sid SELECT
HAVING (yq_total > 0)) a1 saleVehSid,
WHERE a1.borrowerSid = #{borrowerSid} CASE lockCarState
GROUP BY a1.loanContractNo, WHEN 0 THEN '未控制'
WHEN 1 THEN '控制成功'
WHEN 2 THEN '控制失败'
WHEN 3 THEN '已解控'
END AS lockCarState
FROM (
SELECT
lbcv.saleVehSid,
lbcv.lockCarState,
ROW_NUMBER() OVER (
PARTITION BY lbcv.saleVehSid
ORDER BY lbca.createTime DESC
) AS rn
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 = '已办结'
) t WHERE rn = 1
) lbcv_agg
ON lbcv_agg.saleVehSid = lrpd.busVinSid
LEFT JOIN (
SELECT
saleVehSid,
SUM(bankBeInter) AS bankBeInter_sum
FROM loan_be_padsincere_veh
GROUP BY saleVehSid
) lbpv_agg
ON lbpv_agg.saleVehSid = lrpd.busVinSid
LEFT JOIN (
SELECT
lrpd_sub.busVinSid,
SUM(lfd.fund) AS fund_sum
FROM loan_fund_day lfd
JOIN loan_repayment_plan_details lrpd_sub
ON lfd.busSid = lrpd_sub.sid
WHERE
lrpd_sub.dueDate &lt; CURDATE()
GROUP BY
lrpd_sub.busVinSid
) lfd_agg
ON lfd_agg.busVinSid = lrpd.busVinSid
WHERE
lrpd.dueDate &lt; CURDATE()
GROUP BY
lrpd.sid
HAVING
(lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))) > 0
) a1
WHERE
a1.borrowerSid = #{borrowerSid}
GROUP BY
a1.loanContractNo,
a1.vinNo, a1.vinNo,
a1.busVinSid a1.busVinSid
</select> </select>
@ -319,65 +261,26 @@
a1.bankName, a1.bankName,
a1.bankContractNo, a1.bankContractNo,
a1.dueMoney AS bankMonthRep, a1.dueMoney AS bankMonthRep,
a1.dueDate AS firstBeDate, MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
( SUM(a1.yq_total) +
SUM(a1.yq_total) + IFNULL( COALESCE(lbpv_sum.bankBeInter_sum, 0) +
(SELECT COALESCE(lfd_sum.fund_sum, 0) AS beOverdueMoney,
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( ROUND(
( (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) /
SUM(a1.yq_total) + IFNULL( MAX(a1.qjyh), -- 保证聚合正确性
(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.qjyh,
1 1
) AS beOverdueMoneyAndPeriod, ) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney,
a1.riskStaffUserSid, MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性
a1.riskStaffUserName, MAX(a1.riskStaffUserName) AS riskStaffUserName,
a1.reaRepaymentName AS repaymentName, MAX(a1.reaRepaymentName) AS repaymentName,
a1.createTime, MAX(a1.createTime) AS createTime,
a1.orgSidPath, a1.orgSidPath,
a1.lockCarState MAX(a1.lockCarState) AS lockCarState -- 保证聚合正确性
FROM FROM (
(SELECT SELECT
lrpd.sid, lrpd.sid,
lrpd.busVinSid, lrpd.busVinSid,
lrpd.useOrgName, lrpd.useOrgName,
@ -390,63 +293,67 @@
lrpd.bankContractNo, lrpd.bankContractNo,
lrpd.dueMoney, lrpd.dueMoney,
lrpd.dueDate, lrpd.dueDate,
( COALESCE(lrs.mainMidRepay, 0) + COALESCE(lrs.otherMidRepay, 0) AS qjyh,
IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0) lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0) AS yq_total,
) AS qjyh,
(
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
(
lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))
) / lrpd.dueMoney AS yq_hsqs,
lrpd.paymentMoney AS yd_dkje, lrpd.paymentMoney AS yd_dkje,
lrpd.fund AS yd_zjzyf, lrpd.fund AS yd_zjzyf,
lrpd.orgSidPath, lrpd.orgSidPath,
lrpd.createBySid,
bv.riskStaffUserSid, bv.riskStaffUserSid,
bv.riskStaffUserName, bv.riskStaffUserName,
bv.reaRepaymentName, bv.reaRepaymentName,
lr.createTime, lbcr.createTime,
(SELECT CASE lbcv.lockCarState
CASE WHEN 0 THEN '未控制'
lbcv.lockCarState WHEN 1 THEN '控制成功'
WHEN 0 WHEN 2 THEN '控制失败'
THEN '未控制' WHEN 3 THEN '已解控'
WHEN 1
THEN '控制成功'
WHEN 2
THEN '控制失败'
WHEN 3
THEN '已解控'
END AS lockCarState END AS lockCarState
FROM FROM loan_repayment_plan_details lrpd
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.saleVehSid = lrpd.busVinSid
ORDER BY lbca.createTime DESC
LIMIT 1) AS lockCarState
FROM
loan_repayment_plan_details lrpd
LEFT JOIN loan_repayment_history lrh LEFT JOIN loan_repayment_history lrh
ON lrh.planDetailSid = lrpd.sid ON lrh.planDetailSid = lrpd.sid
INNER JOIN loan_repayment_schedule lrs
ON lrpd.scheduleSid = lrs.sid
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bv LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bv
ON lrpd.busVinSid = bv.sid ON lrpd.busVinSid = bv.sid
LEFT JOIN loan_repayment_schedule lrs LEFT JOIN (
ON lrpd.scheduleSid = lrs.sid SELECT
LEFT JOIN
(SELECT
saleVehSid, saleVehSid,
createTime MAX(createTime) AS createTime -- 取最新记录
FROM FROM loan_be_collection_record
loan_be_collection_record GROUP BY saleVehSid
ORDER BY createTime DESC) lr ) lbcr ON lrpd.busVinSid = lbcr.saleVehSid
ON lrpd.busVinSid = lr.saleVehSid LEFT JOIN (
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE() SELECT
lbcv.saleVehSid,
lbcv.lockCarState,
ROW_NUMBER() OVER (PARTITION BY lbcv.saleVehSid ORDER BY lbca.createTime DESC) AS rn
FROM loan_be_collection_veh lbcv
JOIN loan_be_collection_apply lbca
ON lbca.sid = lbcv.mainSid
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
) lbcv ON lbcv.saleVehSid = lrpd.busVinSid AND lbcv.rn = 1
WHERE lrpd.dueDate &lt; CURDATE() -- 移除DATE_FORMAT函数
GROUP BY lrpd.sid GROUP BY lrpd.sid
HAVING (yq_total > 0)) a1,( HAVING (lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)) > 0
) a1
LEFT JOIN (
SELECT
saleVehSid,
SUM(bankBeInter) AS bankBeInter_sum
FROM loan_be_padsincere_veh
GROUP BY saleVehSid
) lbpv_sum ON lbpv_sum.saleVehSid = a1.busVinSid
LEFT JOIN (
SELECT
lrpd.busVinSid,
SUM(lfd.fund) AS fund_sum
FROM loan_fund_day lfd
JOIN loan_repayment_plan_details lrpd
ON lrpd.sid = lfd.busSid
WHERE lrpd.dueDate &lt; CURDATE()
GROUP BY lrpd.busVinSid
) lfd_sum ON lfd_sum.busVinSid = a1.busVinSid,(
SELECT SELECT
@row_number := 0 @row_number := 0
) AS t ) AS t

Loading…
Cancel
Save