diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java index 3141830257..baad08c562 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java @@ -296,6 +296,6 @@ public interface SysUserFeign { @ApiOperation(value = "根据部门sid和角色名查询用户") @PostMapping(value = "/selectByDeptSidAndRoleName") ResultBean> selectByDeptSidAndRoleName(@RequestParam("deptSid") String deptSid, - @RequestParam("roleNames") List roleNames); + @RequestParam("roleNames") List roleNames); } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordFeign.java index 614a11933b..4a03e4d1a5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordFeign.java +++ b/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.web.bind.annotation.*; -import java.util.List; - -/** - * Project: anrui-riskcenter(逾期催收记录)
- * File: LoanBeCollectionRecordFeign.java
- * Class: com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordFeign
- * Description: 逾期催收记录.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2023-12-11 13:45:40
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "逾期催收记录") @FeignClient( contextId = "anrui-riskcenter-LoanBeCollectionRecord", @@ -65,12 +50,12 @@ public interface LoanBeCollectionRecordFeign { @PostMapping("/save") @ResponseBody public ResultBean save(@RequestBody LoanBeCollectionRecordDto dto); - + @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySids") @ResponseBody public ResultBean delBySids(@RequestBody String[] sids); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody 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 c71747041d..498a9d036b 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 @@ -16,67 +16,26 @@ a1.bankName, a1.bankContractNo, a1.dueMoney AS bankMonthRep, - a1.dueDate AS firstBeDate, + MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 COUNT(a1.sid) AS beOverduePeriod, - ( - 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() - AND lrpd.busVinSid = a1.busVinSid)), - 0 - ) - ) AS beOverdueMoney, + SUM(a1.yq_total) + + COALESCE(lbpv_sum.bankBeInter_sum, 0) + + COALESCE(lfd_sum.fund_sum, 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() - AND lrpd.busVinSid = a1.busVinSid)), - 0 - ) - ) / a1.qjyh, + (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) / + MAX(a1.qjyh), -- 保证聚合正确性 1 ) AS beOverdueMoneyAndPeriod, SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney, - a1.riskStaffUserSid, - a1.riskStaffUserName, - a1.reaRepaymentName AS repaymentName, - a1.createTime, + MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性 + MAX(a1.riskStaffUserName) AS riskStaffUserName, + MAX(a1.reaRepaymentName) AS repaymentName, + MAX(a1.createTime) AS createTime, a1.orgSidPath, - a1.lockCarState - FROM - (SELECT + MAX(a1.lockCarState) AS lockCarState -- 保证聚合正确性 + FROM ( + SELECT lrpd.sid, lrpd.busVinSid, lrpd.useOrgName, @@ -89,63 +48,67 @@ lrpd.bankContractNo, lrpd.dueMoney, lrpd.dueDate, - ( - 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)) - ) / lrpd.dueMoney AS yq_hsqs, + COALESCE(lrs.mainMidRepay, 0) + COALESCE(lrs.otherMidRepay, 0) AS qjyh, + lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0) AS yq_total, lrpd.paymentMoney AS yd_dkje, lrpd.fund AS yd_zjzyf, lrpd.orgSidPath, - lrpd.createBySid, bv.riskStaffUserSid, bv.riskStaffUserName, bv.reaRepaymentName, - lr.createTime, - (SELECT - CASE - lbcv.lockCarState - WHEN 0 - THEN '未控制' - WHEN 1 - THEN '控制成功' - WHEN 2 - THEN '控制失败' - WHEN 3 - THEN '已解控' + lbcr.createTime, + 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 - loan_repayment_plan_details lrpd + FROM loan_repayment_plan_details lrpd LEFT JOIN loan_repayment_history lrh 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 ON lrpd.busVinSid = bv.sid - LEFT JOIN loan_repayment_schedule lrs - ON lrpd.scheduleSid = lrs.sid - LEFT JOIN - (SELECT + LEFT JOIN ( + SELECT saleVehSid, - createTime - FROM - loan_be_collection_record - ORDER BY createTime DESC) lr - ON lrpd.busVinSid = lr.saleVehSid - WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < CURDATE() + MAX(createTime) AS createTime -- 取最新记录 + FROM loan_be_collection_record + GROUP BY saleVehSid + ) lbcr ON lrpd.busVinSid = lbcr.saleVehSid + LEFT JOIN ( + 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 - 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 ${ew.sqlSegment} @@ -162,134 +125,113 @@ - +