diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordHistoryVehVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordHistoryVehVo.java index dbea1ea23f..9f5f68fe0e 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordHistoryVehVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordHistoryVehVo.java @@ -10,6 +10,8 @@ import java.util.List; @Data public class LoanBeCollectionRecordHistoryVehVo { + @ApiModelProperty("销售订单车辆sid") + private String busVinSid; @ApiModelProperty("车架号") private String vinNo; @ApiModelProperty("车牌号") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehQuery.java index c328c75c34..c096386171 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehQuery.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehQuery.java @@ -13,18 +13,14 @@ public class LoanBeOverdueVehQuery implements Query { private String dept; @ApiModelProperty("贷款合同编号") private String loanContractNo; - @ApiModelProperty("贷款人名称") - private String borrowerName; - @ApiModelProperty("还款操作人") - private String repaymentName; @ApiModelProperty("车架号") private String vinNo; @ApiModelProperty("车牌号") private String carNum; - @ApiModelProperty("资方") - private String bankName; - @ApiModelProperty("资方合同编号") - private String bankContractNo; + @ApiModelProperty("贷款人名称") + private String borrowerName; + @ApiModelProperty("还款操作人") + private String repaymentName; @ApiModelProperty("逾期期数") private String beOverduePeriod; @ApiModelProperty("逾期金额") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehVo.java index 316dcf4fd0..685bfb1e3b 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehVo.java @@ -18,37 +18,25 @@ public class LoanBeOverdueVehVo implements Vo { private String dept; @ApiModelProperty("贷款合同编号") private String loanContractNo; - @ApiModelProperty("贷款人名称") - private String borrowerName; - @ApiModelProperty("还款操作人") - private String repaymentName; @ApiModelProperty("车架号") private String vinNo; @ApiModelProperty("车牌号") private String carNum; - @ApiModelProperty("资方") - private String bankName; - @ApiModelProperty("资方合同编号") - private String bankContractNo; - @ApiModelProperty("资方月还") - private String dueMoney; - @ApiModelProperty("首次逾期日期") - private String firstBeDate; + @ApiModelProperty("贷款人名称") + private String borrowerName; + @ApiModelProperty("还款操作人") + private String repaymentName; @ApiModelProperty("逾期期数") private String beOverduePeriod; @ApiModelProperty("逾期金额") private String beOverdueMoney; @ApiModelProperty("逾期金额换算期数") private String beOverdueMoneyAndPeriod; - @ApiModelProperty("垫款金额") - private String advMoney; - @ApiModelProperty("资金占用费") - private String fundPossCostMoney; + @ApiModelProperty("最近催收日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; @ApiModelProperty("风控专员") private String riskStaffUserName; @ApiModelProperty("远程控制状态") private String lockCarState; - @ApiModelProperty("最近催收日期") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date createTime; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordMapper.xml index 0bf4b705a0..20b85c3908 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordMapper.xml @@ -39,102 +39,32 @@ a1.borrowerName, a1.mobile AS borrowerMobile, a1.customer AS custName, - a1.`bankName`, - 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())), - 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.dueMoney, 1) AS beOverdueMoneyAndPeriod + a1.bankName, + MIN(a1.dueDate) AS firstBeDate, + a1.busVinSid FROM (SELECT lrpd.sid, lrpd.busVinSid, - lrpd.`useOrgName`, - lrpd.`dept`, - lrpd.`loanContractNo`, lrpd.borrowerName, bb.mobile, lrpd.customer, - lrpd.`vinNo`, + lrpd.vinNo, lrpd.vehMark, - lrpd.`bankName`, - lrpd.`bankContractNo`, - lrpd.dueMoney, + lrpd.bankName, lrpd.dueDate, ( - 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.fund AS yd_zjzyf, - lrpd.orgSidPath, - lrpd.createBySid, - bv.riskStaffUserSid, - bv.riskStaffUserName, - lr.createTime + lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0)) + ) AS yq_total FROM - `loan_repayment_plan_details` lrpd - LEFT JOIN `loan_repayment_history` lrh - ON lrh.planDetailSid = lrpd.`sid` - LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv - ON lrpd.busVinSid = bv.sid - LEFT JOIN anrui_buscenter.`bus_sales_order_borrower` bb + loan_repayment_plan_details lrpd + LEFT JOIN loan_repayment_history lrh + ON lrh.planDetailSid = lrpd.sid + LEFT JOIN anrui_buscenter.bus_sales_order_borrower bb ON lrpd.borrowerSid = bb.sid - LEFT JOIN - (SELECT - saleVehSid, - createTime - FROM - loan_be_collection_record - ORDER BY createTime DESC - LIMIT 1) lr - ON lrpd.busVinSid = lr.saleVehSid WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < CURDATE() AND lrpd.busVinSid = #{saleVehSid} - GROUP BY lrpd.`sid` + GROUP BY lrpd.sid HAVING (yq_total > 0)) a1 \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordRest.java index 22c277f272..d0d813afb6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordRest.java @@ -41,56 +41,56 @@ import java.util.List; @RequestMapping("v1/loanbecollectionrecord") public class LoanBeCollectionRecordRest implements LoanBeCollectionRecordFeign { - @Autowired - private LoanBeCollectionRecordService loanBeCollectionRecordService; + @Autowired + private LoanBeCollectionRecordService loanBeCollectionRecordService; - @Override - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = loanBeCollectionRecordService.listPageVo(pq); - return rb.success().setData(pv); - } + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = loanBeCollectionRecordService.listPageVo(pq); + return rb.success().setData(pv); + } - @Override - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody LoanBeCollectionRecordDto dto){ - ResultBean rb = ResultBean.fireFail(); - loanBeCollectionRecordService.saveOrUpdateDto(dto); - return rb.success(); - } + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody LoanBeCollectionRecordDto dto) { + ResultBean rb = ResultBean.fireFail(); + loanBeCollectionRecordService.saveOrUpdateDto(dto); + return rb.success(); + } - @Override - @ApiOperation("根据sid批量删除") + @Override + @ApiOperation("根据sid批量删除") @PostMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - loanBeCollectionRecordService.delBySids(sids); - return rb.success(); - } + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + loanBeCollectionRecordService.delBySids(sids); + return rb.success(); + } - @Override - @ApiOperation("根据SID获取一条记录") + @Override + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - LoanBeCollectionRecordDetailsVo vo = loanBeCollectionRecordService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanBeCollectionRecordDetailsVo vo = loanBeCollectionRecordService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } - @Override - public ResultBean init(String saleVehSid) { - ResultBean rb = ResultBean.fireFail(); - LoanBeCollectionRecordInit loanBeCollectionRecordInit = loanBeCollectionRecordService.init(saleVehSid); - return rb.success().setData(loanBeCollectionRecordInit); - } + @Override + public ResultBean init(String saleVehSid) { + ResultBean rb = ResultBean.fireFail(); + LoanBeCollectionRecordInit loanBeCollectionRecordInit = loanBeCollectionRecordService.init(saleVehSid); + return rb.success().setData(loanBeCollectionRecordInit); + } - @Override - public ResultBean viewHistory(String saleVehSid) { - ResultBean rb = ResultBean.fireFail(); - LoanBeCollectionRecordHistoryVehVo loanBeCollectionRecordHistoryVehVo = loanBeCollectionRecordService.viewHistory(saleVehSid); - return rb.success().setData(loanBeCollectionRecordHistoryVehVo); - } + @Override + public ResultBean viewHistory(String saleVehSid) { + ResultBean rb = ResultBean.fireFail(); + LoanBeCollectionRecordHistoryVehVo loanBeCollectionRecordHistoryVehVo = loanBeCollectionRecordService.viewHistory(saleVehSid); + return rb.success().setData(loanBeCollectionRecordHistoryVehVo); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java index 6e6371d085..8ec1e35eee 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java @@ -47,6 +47,7 @@ import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomer; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.biz.loanbeoverdueveh.LoanBeOverdueVehService; @@ -54,6 +55,7 @@ import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigate.LoanHomevisitInvestigateService; import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; +import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService; import com.yxt.common.base.config.component.FileUploadComponent; import org.apache.commons.lang3.StringUtils; @@ -96,6 +98,8 @@ public class LoanBeCollectionRecordService extends MybatisBaseService createQueryWrapper(LoanBeCollectionRecordQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -249,6 +253,9 @@ public class LoanBeCollectionRecordService extends MybatisBaseService loanBeCollectionRecordDetailsVoList = baseMapper.viewHistory(saleVehSid); loanBeCollectionRecordHistoryVehVo.setLoanBeCollectionRecordHistoryVoList(loanBeCollectionRecordDetailsVoList); return loanBeCollectionRecordHistoryVehVo; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java index 47579ddde5..e86da58bc9 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java @@ -18,6 +18,8 @@ public interface LoanBeOverdueVehMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + IPage riskListPage(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + void allocationRiskStaff(@Param("saleVehSid") String saleVehSid, @Param("userSid") String userSid, @Param("userName") String userName); List initVehListByBorrSid(String borrowerSid); 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 bc3499cd44..8033f273e7 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 @@ -13,27 +13,137 @@ a1.borrowerName, RIGHT(a1.vinNo, 8) AS vinNo, a1.vehMark AS carNum, - a1.bankName, - a1.bankContractNo, - a1.dueMoney AS bankMonthRep, - MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 - COUNT(a1.nowOverdue) AS beOverduePeriod, + SUM(CASE WHEN (a1.yq_total + + COALESCE(lbpv_sum.bankBeInter_sum, 0) + + COALESCE(lfd_sum.fund_sum, 0)) > 0 THEN 1 ELSE 0 END) 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), -- 保证聚合正确性 + MAX(a1.qjyh), -- 保证聚合正确性 2 ) AS beOverdueMoneyAndPeriod, - SUM(a1.yd_dkje) AS advMoney, - SUM(a1.yd_zjzyf) AS fundPossCostMoney, - MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性 MAX(a1.riskStaffUserName) AS riskStaffUserName, MAX(a1.reaRepaymentName) AS repaymentName, MAX(a1.createTime) AS createTime, a1.orgSidPath, - MAX(a1.lockCarState) AS lockCarState, -- 保证聚合正确性 + MAX(a1.lockCarState) AS lockCarState, -- 保证聚合正确性 + a1.nowOverdue + FROM ( + SELECT + lrpd.sid, + lrpd.busVinSid, + lrpd.useOrgName, + lrpd.dept, + lrpd.loanContractNo, + lrpd.borrowerName, + lrpd.vinNo, + lrpd.vehMark, + COALESCE(lrs.mainMidRepay, 0) + COALESCE(lrs.otherMidRepay, 0) AS qjyh, + lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0) AS yq_total, + lrpd.orgSidPath, + bv.riskStaffUserName, + bv.reaRepaymentName, + lbcr.createTime, + CASE lbcv.lockCarState + WHEN 0 THEN '未控制' + WHEN 1 THEN '控制成功' + WHEN 2 THEN '控制失败' + WHEN 3 THEN '已解控' + END AS lockCarState, + if(lrpd.dueDate <= lrpd.updateTime,0,1) as nowOverdue + 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 ( + SELECT + saleVehSid, + 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 <= 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} + + + + @@ -282,24 +372,26 @@ a1.bankName, a1.bankContractNo, a1.dueMoney AS bankMonthRep, - MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 - COUNT(a1.sid) AS beOverduePeriod, + MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 + SUM(CASE WHEN (a1.yq_total + + COALESCE(lbpv_sum.bankBeInter_sum, 0) + + COALESCE(lfd_sum.fund_sum, 0)) > 0 THEN 1 ELSE 0 END) 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), -- 保证聚合正确性 + MAX(a1.qjyh), -- 保证聚合正确性 2 ) AS beOverdueMoneyAndPeriod, SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney, - MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性 + MAX(a1.riskStaffUserSid) AS riskStaffUserSid, -- 保证聚合正确性 MAX(a1.riskStaffUserName) AS riskStaffUserName, MAX(a1.reaRepaymentName) AS repaymentName, MAX(a1.createTime) AS createTime, a1.orgSidPath, - MAX(a1.lockCarState) AS lockCarState, -- 保证聚合正确性 + MAX(a1.lockCarState) AS lockCarState, -- 保证聚合正确性 a1.nowOverdue FROM ( SELECT @@ -341,7 +433,7 @@ LEFT JOIN ( SELECT saleVehSid, - MAX(createTime) AS createTime -- 取最新记录 + MAX(createTime) AS createTime -- 取最新记录 FROM loan_be_collection_record GROUP BY saleVehSid ) lbcr ON lrpd.busVinSid = lbcr.saleVehSid @@ -356,7 +448,7 @@ WHERE lbca.collMeasure LIKE '%远程控制%' AND lbca.nodeState = '已办结' ) lbcv ON lbcv.saleVehSid = lrpd.busVinSid AND lbcv.rn = 1 - WHERE lrpd.dueDate < CURDATE() -- 移除DATE_FORMAT函数 + WHERE lrpd.dueDate < CURDATE() -- 移除DATE_FORMAT函数 GROUP BY lrpd.sid ) a1 LEFT JOIN ( 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 2127840d12..5ae93feb63 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 @@ -91,12 +91,6 @@ public class LoanBeOverdueVehService { if (StringUtils.isNotBlank(query.getCarNum())) { qw.like("a1.vehMark", query.getCarNum()); } - if (StringUtils.isNotBlank(query.getBankName())) { - qw.like("a1.bankName", query.getBankName()); - } - if (StringUtils.isNotBlank(query.getBankContractNo())) { - qw.like("a1.bankContractNo", query.getBankContractNo()); - } if (StringUtils.isNotBlank(query.getRiskStaffName())) { qw.like("a1.riskStaffUserName", query.getRiskStaffName()); } @@ -153,12 +147,6 @@ public class LoanBeOverdueVehService { if (StringUtils.isNotBlank(query.getCarNum())) { qw.like("a1.vehMark", query.getCarNum()); } - if (StringUtils.isNotBlank(query.getBankName())) { - qw.like("a1.bankName", query.getBankName()); - } - if (StringUtils.isNotBlank(query.getBankContractNo())) { - qw.like("a1.bankContractNo", query.getBankContractNo()); - } if (StringUtils.isNotBlank(query.getVinNo())) { qw.like("a1.vinNo", query.getVinNo()); } @@ -185,7 +173,7 @@ public class LoanBeOverdueVehService { } qw.having("beOverdueMoney > {0}", 0); IPage page = PagerUtil.queryToPage(pq); - IPage pagging = loanBeOverdueVehMapper.selectPageVo(page, qw); + IPage pagging = loanBeOverdueVehMapper.riskListPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -271,12 +259,6 @@ public class LoanBeOverdueVehService { if (StringUtils.isNotBlank(query.getCarNum())) { qw.like("a1.vehMark", query.getCarNum()); } - if (StringUtils.isNotBlank(query.getBankName())) { - qw.like("a1.bankName", query.getBankName()); - } - if (StringUtils.isNotBlank(query.getBankContractNo())) { - qw.like("a1.bankContractNo", query.getBankContractNo()); - } if (StringUtils.isNotBlank(query.getRiskStaffName())) { qw.like("a1.riskStaffUserName", query.getRiskStaffName()); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java index a16bc9c2bc..3e9aea7fac 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java @@ -45,6 +45,7 @@ import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*; import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh; import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger; +import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVeh; import com.yxt.anrui.riskcenter.api.loansubletapply.VehDisposal; import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; @@ -53,6 +54,7 @@ import com.yxt.anrui.riskcenter.biz.loanredemptionveh.LoanRedemptionVehService; import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; +import com.yxt.anrui.riskcenter.biz.loanreturnvehledger.LoanReturnVehLedgerService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -114,6 +116,8 @@ public class LoanRedemptionApplyService extends MybatisBaseService listPage(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); @@ -798,6 +802,16 @@ public class LoanRedemptionApplyService extends MybatisBaseService listPage(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); @@ -682,6 +685,17 @@ public class LoanSubletApplyService extends MybatisBaseService subletVinLists = loanSubletVehService.selByMainSid(businessSid); + subletVinLists.removeAll(Collections.singleton(null)); + if (!subletVinLists.isEmpty()) { + for (int j = 0; j < subletVinLists.size(); j++) { + SubletVinList subletVinList = subletVinLists.get(j); + LoanReturnVehLedger loanReturnVehLedger = loanReturnVehLedgerService.fetchBySid(subletVinList.getLedgerSid()); + loanReturnVehLedger.setDisposal("二次转租"); + loanReturnVehLedger.setDisposalKey("04"); + loanReturnVehLedgerService.updateById(loanReturnVehLedger); + } + } try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() .setNameFormat("demo-pool-%d").build(); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml index 4b4df9f44c..cc64cd9af9 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml @@ -47,7 +47,7 @@ WHEN n.alreadyMoney = 0 THEN'未调整' WHEN n.alreadyMoney != 0 AND n.nowDiffAmount != 0 THEN '部分调整' WHEN n.nowDiffAmount = 0 THEN'已调整' - END AS `state` + END AS state FROM (SELECT a.sid as checkApplySid, @@ -73,7 +73,7 @@ scm_vehrebate_checkapplydetail AS d LEFT JOIN scm_vehrebate_checkapply as a ON d.mainSid = a.sid LEFT JOIN scm_veh_rebate as r ON d.vehRebateSid = r.sid - WHERE r.adjustmentMoney < 0 AND a.nodeState = '已办结' AND d.rebateTypeValue = '金融贴息') as n + WHERE r.adjustmentMoney < 0 AND a.nodeState = '已办结' AND d.rebateTypeValue = '金融贴息' AND d.isAdjustment = '是') as n LEFT JOIN anrui_buscenter.bus_sales_order as bo ON n.orderSid = bo.sid ${ew.sqlSegment} @@ -85,7 +85,7 @@ WHEN n.alreadyMoney = 0 THEN'未调整' WHEN n.alreadyMoney != 0 AND n.nowDiffAmount != 0 THEN '部分调整' WHEN n.nowDiffAmount = 0 THEN'已调整' - END AS `state` + END AS state FROM (SELECT a.sid as checkApplySid, diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java index 8a0dda1f3e..6168efe76a 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java @@ -833,7 +833,7 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService