diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java index 5bcbbaca14..9c4b9ac5ad 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java @@ -77,5 +77,5 @@ public interface LoanBePadsincereVehMapper extends BaseMapper selByBankCont(@Param("applySid") String applySid, @Param("busSid") String busSid); - BigDecimal selByBusVinSid(String busVinSid); + List selByBusVinSid(String busVinSid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml index c32bf98669..96e0757733 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml @@ -20,11 +20,14 @@ and paySid = #{paySid} - SELECT - IF(SUM(padMoney), SUM(padMoney), 0) + IF(SUM(padMoney), SUM(padMoney), 0) AS padMoney, + period FROM loan_be_padsincere_veh WHERE saleVehSid = #{busVinSid} + GROUP BY period \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java index 06f305f901..f9e3e89e03 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java @@ -116,7 +116,7 @@ public class LoanBePadsincereVehService extends MybatisBaseService selByBusVinSid(String busVinSid) { return baseMapper.selByBusVinSid(busVinSid); } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java index ca2de25866..aefa0d0b68 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java @@ -89,4 +89,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper repaymentStatistics2(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); List repaymentStatisticsList(@Param(Constants.WRAPPER)QueryWrapper qw); + + List selHistoryByPlanSids(@Param("jhmxSids") List jhmxSids); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml index 8f21499082..95bc583020 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml @@ -1121,4 +1121,18 @@ ${ew.sqlSegment} + + diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java index 0fb5140195..7f8d77ba48 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java @@ -2422,4 +2422,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService selHistoryByPlanSids(List jhmxSids) { + return baseMapper.selHistoryByPlanSids(jhmxSids); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java index f44a412637..9fa71bd441 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java @@ -65,8 +65,10 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApply; import com.yxt.anrui.riskcenter.api.loanrepurchasecost.LoanRepurchaseCost; @@ -81,6 +83,7 @@ import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesN import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepurchaseapply.LoanRepurchaseApplyService; import com.yxt.anrui.riskcenter.biz.loanrepurchasecost.LoanRepurchaseCostService; @@ -173,6 +176,8 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanSecondarySalesNotApplyQuery query = pq.getParams(); @@ -600,8 +605,8 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService busVinSidList = loanSecondarySalesNotVehService.selectByMainSid(businessSid); busVinSidList.removeAll(Collections.singleton(null)); - if(!busVinSidList.isEmpty()){ - pushRiskToFin2(finalLoanSecondarySalesNotApply,busVinSidList); + if (!busVinSidList.isEmpty()) { + pushRiskToFin2(finalLoanSecondarySalesNotApply, busVinSidList); } }); } catch (Exception e) { @@ -638,16 +643,16 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.selectByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid()); //查询车辆是否有垫款金额 - BigDecimal dkje = loanBePadsincereVehService.selByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid()); + List loanBePadsincereVehDetailsVos = loanBePadsincereVehService.selByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid()); //获取明细sid集合 List jhmxSids = loanRepaymentPlanDetails.stream().map(c -> c.getSid()). collect(Collectors.toList()); //查询金融应收所有应收款 List data = finUncollectedReceivablesDetailedJRFeign.selByBusSid(jhmxSids).getData(); - if (!data.isEmpty()){ + if (!data.isEmpty()) { for (FinUncollectedReceivablesDetailedJR datum : data) { List finSelectedReceivablesDetaileds = finSelectedReceivablesDetailedFeign.fetchByReceivablesSid(datum.getSid()).getData(); - if (finSelectedReceivablesDetaileds.isEmpty()){ + if (finSelectedReceivablesDetaileds.isEmpty()) { List selectList = new ArrayList<>(); FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); @@ -668,9 +673,9 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService selectList = new ArrayList<>(); FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); @@ -695,6 +700,111 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService loanRepaymentHistories = loanRepaymentHistoryService.selHistoryByPlanSids(jhmxSids); + if (loanRepaymentHistories.isEmpty()) { + for (LoanRepaymentPlanDetails plan : loanRepaymentPlanDetails) { + List histories = new ArrayList<>(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(plan.getDueDate()); + history.setActualMoney(plan.getDueMoney()); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey(""); + history.setReturnWay(""); + history.setPayState(0); + history.setIsEnable(3); + history.setPlanDetailSid(plan.getSid()); + history.setScheduleSid(""); + history.setRemarks("认损"); + histories.add(history); + loanRepaymentHistoryService.saveList(histories); + } + } else { + for (LoanRepaymentPlanDetails plan : loanRepaymentPlanDetails) { + List loanRepaymentHistories1 = loanRepaymentHistoryService.selHistoryByPlanSid(plan.getSid()); + BigDecimal sh = loanRepaymentHistories1.stream().map(LoanRepaymentHistory::getActualMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + if (!loanBePadsincereVehDetailsVos.isEmpty()) { + List periods = loanBePadsincereVehDetailsVos.stream().map(v -> v.getPeriod()).collect(Collectors.toList()); + if (periods.contains(plan.getPeriod())) { + for (LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo : loanBePadsincereVehDetailsVos) { + if (plan.getPeriod().equals(loanBePadsincereVehDetailsVo.getPeriod())) { + sh = sh.subtract(new BigDecimal(loanBePadsincereVehDetailsVo.getPadMoney())); + if (sh.compareTo(plan.getDueMoney()) == -1) { + List histories = new ArrayList<>(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(plan.getDueDate()); + history.setActualMoney(plan.getDueMoney().subtract(sh)); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey(""); + history.setReturnWay(""); + history.setPayState(0); + history.setIsEnable(3); + history.setPlanDetailSid(plan.getSid()); + history.setScheduleSid(""); + history.setRemarks("认损"); + histories.add(history); + loanRepaymentHistoryService.saveList(histories); + } + } + } + } else { + if (sh.compareTo(plan.getDueMoney()) == -1) { + List histories = new ArrayList<>(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(plan.getDueDate()); + history.setActualMoney(plan.getDueMoney().subtract(sh)); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey(""); + history.setReturnWay(""); + history.setPayState(0); + history.setIsEnable(3); + history.setPlanDetailSid(plan.getSid()); + history.setScheduleSid(""); + history.setRemarks("认损"); + histories.add(history); + loanRepaymentHistoryService.saveList(histories); + } + } + }else { + if (sh.compareTo(plan.getDueMoney()) == -1) { + List histories = new ArrayList<>(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(plan.getDueDate()); + history.setActualMoney(plan.getDueMoney().subtract(sh)); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey(""); + history.setReturnWay(""); + history.setPayState(0); + history.setIsEnable(3); + history.setPlanDetailSid(plan.getSid()); + history.setScheduleSid(""); + history.setRemarks("认损"); + histories.add(history); + loanRepaymentHistoryService.saveList(histories); + } + } + } + } } } @@ -708,7 +818,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService voucherResultDetailDtos = new ArrayList<>(); SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanSecondarySalesNotApply.getCreateDeptSid()).getData(); - for (int i = 0; i < busVinSidList.size(); i++){ + for (int i = 0; i < busVinSidList.size(); i++) { String busVinSid = busVinSidList.get(i); //ToDo: BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); @@ -766,25 +876,25 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService0){ + if (loanSecondarySalesCost.getBankSettleCost().compareTo(BigDecimal.ZERO) > 0) { all = all.add(loanSecondarySalesCost.getBankSettleCost()).subtract(new BigDecimal(subAll)); } @@ -807,11 +917,11 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService0){//贷方 + if (cssMoney.compareTo(BigDecimal.ZERO) > 0) {//贷方 Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); - voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理"); + voucherResultDetailDtoDf.setSummary(customerNumber + "扣回车辆再次销售-不追偿处理"); voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01"); //核算部门 voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); @@ -820,7 +930,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService0){ + if (zjzyfMoney.compareTo(BigDecimal.ZERO) > 0) { Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); - voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费"); + voucherResultDetailDtoDf.setSummary(customerNumber + "扣回车辆再次销售-不追偿减免资金占用费"); voucherResultDetailDtoDf.setSubjectNo("2191.05.00"); //核算部门 voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); @@ -840,7 +950,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService