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; }