diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
index 6c4f08cf6d..a5d60ab813 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
@@ -18,6 +18,14 @@
a1.dueMoney AS bankMonthRep,
MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期
COUNT(a1.sid) AS beOverduePeriod,
+ ROUND(SUM(a1.yq_total) +
+ COALESCE(lbpv_sum.bankBeInter_sum, 0) +
+ CAST(COALESCE(lfd_sum.fund_sum, 0) AS DECIMAL(10,2)),2) AS beOverdueMoney,
+ ROUND(
+ (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) /
+ MAX(a1.qjyh), -- 保证聚合正确性
+ 2
+ ) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney,
MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性
@@ -82,9 +90,41 @@
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
) lbcv ON lbcv.saleVehSid = lrpd.busVinSid AND lbcv.rn = 1
- WHERE lrpd.dueDate <= lrpd.updateTime
+ WHERE lrpd.dueDate <= lrpd.updateTime -- 移除DATE_FORMAT函数
GROUP BY lrpd.sid
) 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
+ lp.busVinSid,
+ SUM(fjj.reveivableMoney - fjj.m) AS fund_sum
+ FROM (
+ SELECT
+ IFNULL((
+ SELECT SUM(subscriptionMoney)
+ FROM anrui_fin.fin_selected_receivables_detailed s
+ WHERE s.auditState = '3'
+ AND s.receivablesSid = fj.sid
+ ), 0) AS m,
+ fj.*
+ FROM (
+ SELECT j.busSid, j.sid, j.reveivableMoney
+ FROM anrui_fin.fin_uncollected_receivables_detailed_jr j
+ WHERE j.payCostTitleKey = '006'
+ ) fj
+ ) fjj
+ LEFT JOIN loan_repayment_plan_details lp
+ ON lp.sid = fjj.busSid
+ WHERE lp.dueDate <= lp.updateTime
+ AND lp.busVinSid IS NOT NULL
+ GROUP BY lp.busVinSid
+ ) lfd_sum ON lfd_sum.busVinSid = a1.busVinSid
${ew.sqlSegment}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java
index 4baad41b19..2127840d12 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java
@@ -8,8 +8,6 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.*;
-import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
-import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@@ -28,8 +26,6 @@ public class LoanBeOverdueVehService {
private SysUserFeign sysUserFeign;
@Autowired
private LoanBeOverdueVehMapper loanBeOverdueVehMapper;
- @Autowired
- private LoanRestoreReportApplyService loanRestoreReportApplyService;
public PagerVo listPageVo(PagerQuery pq) {
LoanBeOverdueVehQuery query = pq.getParams();
@@ -131,11 +127,6 @@ public class LoanBeOverdueVehService {
qw.having("beOverdueMoney > {0}", 0);
IPage page = PagerUtil.queryToPage(pq);
IPage pagging = loanBeOverdueVehMapper.selectPageVo(page, qw);
- for (LoanBeOverdueVehVo record : pagging.getRecords()) {
- AlrepaidAndArrVo alrepaidAndArr2 = loanRestoreReportApplyService.getAlrepaidAndArr2(record.getSaleVehSid());
- record.setBeOverdueMoney(alrepaidAndArr2.getCurrentBeMoney());
- record.setBeOverdueMoneyAndPeriod(alrepaidAndArr2.getBeOverdueMoneyAndPeriod());
- }
PagerVo p = PagerUtil.pageToVo(pagging, null);
return p;
}