@ -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') < 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') < 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') < 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 < 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 < 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') < 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') < 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') < 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 < CURDATE()
GROUP BY
lrpd_sub.busVinSid
) lfd_agg
ON lfd_agg.busVinSid = lrpd.busVinSid
WHERE
lrpd.dueDate < 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') < 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') < 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') < 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 < 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 < 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