From 00f8c708c8fe7ed727a506becf996eca1b755bc0 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 4 Mar 2024 08:59:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E6=B8=85=E6=8E=A8=E9=80=81=E5=BA=94?= =?UTF-8?q?=E6=94=B6=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinSelectedReceivablesDetailedFeign.java | 5 + ...ectedReceivablesDetailedFeignFallback.java | 5 + ...UncollectedReceivablesDetailedJRFeign.java | 4 + ...tedReceivablesDetailedJRFeignFallback.java | 5 + .../FinCollectionConfirmationMapper.java | 25 + .../FinCollectionConfirmationMapper.xml | 53 ++ .../FinCollectionConfirmationService.java | 88 +++ .../FinSelectedReceivablesDetailedRest.java | 5 + ...FinSelectedReceivablesDetailedService.java | 12 + ...nUncollectedReceivablesDetailedJRRest.java | 5 + ...collectedReceivablesDetailedJRService.java | 13 + .../LoanSettleApplyDetailsVo.java | 2 + .../loansettleapply/LoanSettleApplyFeign.java | 4 + .../LoanSettleApplyMapper.java | 8 + .../loansettleapply/LoanSettleApplyMapper.xml | 14 + .../loansettleapply/LoanSettleApplyRest.java | 5 + .../LoanSettleApplyService.java | 547 ++++++++++++++++++ 17 files changed, 800 insertions(+) diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java index 528c98fd91..58c0ce0def 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java @@ -87,4 +87,9 @@ public interface FinSelectedReceivablesDetailedFeign { @ApiOperation("未出库车辆已认款项列表") @PostMapping("/noOutVehRecPageList") ResultBean> noOutVehRecPageList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("保存推送的实收") + @PostMapping("/saveAll") + ResultBean saveAll(List list); + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java index 5c86240fba..0277180ab2 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java @@ -88,4 +88,9 @@ public class FinSelectedReceivablesDetailedFeignFallback implements FinSelectedR return null; } + @Override + public ResultBean saveAll(List list) { + return null; + } + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java index 3f8acfc284..fd5ac2b3d5 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java @@ -72,4 +72,8 @@ public interface FinUncollectedReceivablesDetailedJRFeign { @PostMapping("/save") ResultBean save(@RequestBody FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR); + @ApiOperation("应收添加") + @PostMapping("/saveAll") + public ResultBean saveAll(List list); + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java index 43d325eb5d..d4d35c21cb 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java @@ -65,4 +65,9 @@ public class FinUncollectedReceivablesDetailedJRFeignFallback implements FinUnco public ResultBean save(FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR) { return null; } + + @Override + public ResultBean saveAll(List list) { + return null; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java index d2be1b30fc..1ded817047 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java @@ -38,6 +38,9 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.AppFinCollectionConfi import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; +import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply; +import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; @@ -164,4 +167,26 @@ public interface FinCollectionConfirmationMapper extends BaseMapper selectBys(String busVinSid); + + BigDecimal selectA3(@Param("list") List stringList); + + List selectUnA(String busVinSid); + + BigDecimal selectA4(@Param("list") List unList); + + BigDecimal selectA5(@Param("list") List stringList); + + LoanSettleApply selectApply(String busVinSid); + + LoanSettleBankCost selectMainSid(String sid); + + LoanFinBank selectByBanks(String saleOrderSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml index 48bb76f5c3..952d855989 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml @@ -416,4 +416,57 @@ FROM fin_collection_confirmation WHERE sid = #{collectionBillSid} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 17d1e4cb0b..281f753dc7 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -57,6 +57,7 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.*; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*; +import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; @@ -68,6 +69,7 @@ import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT; import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher; import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; import com.yxt.anrui.fin.api.kingdee.voucher.SceneCodeEnum; +import com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordService; import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService; import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRService; @@ -99,6 +101,8 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryFei import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsForOverDue; +import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply; +import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; @@ -198,6 +202,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService createQueryWrapper(FinCollectionConfirmationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -3908,6 +3914,88 @@ public class FinCollectionConfirmationService extends MybatisBaseService stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid()); + BigDecimal a3 = baseMapper.selectA3(stringList); + unall = unall.add(a1).add(a3); + List unList = baseMapper.selectUnA(busVinSid); + //已收 + BigDecimal a4 = baseMapper.selectA4(unList); + BigDecimal a5 = baseMapper.selectA5(stringList); + yAll = yAll.add(a4).add(a5); + } + + }else{ + LoanRepaymentPlanDetails loanRepaymentPlanDetails = baseMapper.selectByBss(finUncollectedReceivablesDetailedJR.getBusSid()); + if(loanRepaymentPlanDetails != null){ + busVinSid = loanRepaymentPlanDetails.getBusVinSid(); + List stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid()); + BigDecimal a3 = baseMapper.selectA3(stringList); + BigDecimal a1 = baseMapper.selectA1(busVinSid); + unall = unall.add(a1).add(a3); + List unList = baseMapper.selectUnA(busVinSid); + //已收 + BigDecimal a4 = baseMapper.selectA4(unList); + BigDecimal a5 = baseMapper.selectA5(stringList); + yAll = yAll.add(a4).add(a5); + } + } + if(yAll.compareTo(unall)>=0){ + LoanSettleApply loanSettleApply = baseMapper.selectApply(busVinSid); + LoanSettleBankCost loanSettleBankCost = baseMapper.selectMainSid(loanSettleApply.getSid()); + LoanFinBank loanFinBank = baseMapper.selectByBanks(loanSettleApply.getSaleOrderSid()); + //推送出纳付款 + FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); + finPaymentrecordDto.setApplySid(""); + finPaymentrecordDto.setPayCompanySid(""); + finPaymentrecordDto.setPayType(1); + finPaymentrecordDto.setCreateOrgSid(loanSettleApply.getUseOrgSid()); + finPaymentrecordDto.setUseOrgSid(loanSettleApply.getUseOrgSid()); + /*finPaymentrecordDto.setCostTypeKey("007"); + finPaymentrecordDto.setCostTypeValue("垫款"); + finPaymentrecordDto.setCostTitleKey("008");*/ + finPaymentrecordDto.setCostTitleValue("资方结清款"); + /* if(loanFinBank != null){ + finPaymentrecordDto.setReceiveBank(loanFinBank.getBankCollectionAcc()); + finPaymentrecordDto.setReceiveBankAccount(loanFinBank.getBankCollectionNum()); + }*/ + + finPaymentrecordDto.setReceiveCompany(""); + finPaymentrecordDto.setCost(loanSettleBankCost.getBankSettlePrice().toString()); + finPaymentrecordDto.setAccountsReceive(loanSettleBankCost.getBankSettlePrice().toString()); + finPaymentrecordDto.setBusSid(loanSettleApply.getSid()); + finPaymentrecordDto.setPayCode(""); + finPaymentrecordDto.setCreateBySid(loanSettleApply.getCreateBySid()); + finPaymentrecordDto.setUpdateBySid(loanSettleApply.getCreateBySid()); + finPaymentrecordDto.setRemarks(loanSettleApply.getRemarks()); + finPaymentrecordDto.setPurchaseSystemSid(""); + finPaymentrecordDto.setPurchaseSystemName(""); + finPaymentrecordService.saveDto(finPaymentrecordDto).getData(); + + } + + + + } }); //查询该申请已认款金额总数 diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java index cca723042b..de61ff0909 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java @@ -113,4 +113,9 @@ public class FinSelectedReceivablesDetailedRest implements FinSelectedReceivable return rb.success().setData(pv); } + @Override + public ResultBean saveAll(List list) { + return finSelectedReceivablesDetailedService.saveAll(list); + } + } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java index 5bdab5575e..d3fa0c0317 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java @@ -884,4 +884,16 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService selectLiBy(String sid) { return baseMapper.selectLiBy(sid); } + + public ResultBean saveAll(List list) { + ResultBean rb = ResultBean.fireFail(); + list.removeAll(Collections.singleton(null)); + if(!list.isEmpty()){ + for (int i = 0; i < list.size(); i++) { + FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = list.get(i); + baseMapper.insert(finSelectedReceivablesDetailed); + } + } + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java index ea075a9eee..6d4a5b8333 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java @@ -78,4 +78,9 @@ public class FinUncollectedReceivablesDetailedJRRest implements FinUncollectedRe finUncollectedReceivablesDetailedJRService.insert(finUncollectedReceivablesDetailedJR); return rb.success(); } + + @Override + public ResultBean saveAll(List list) { + return finUncollectedReceivablesDetailedJRService.saveAll(list); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java index 32801bd936..9915762386 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java @@ -45,6 +45,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Arrays; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.stream.IntStream; @@ -159,4 +160,16 @@ public class FinUncollectedReceivablesDetailedJRService extends MybatisBaseServi return rb.success(); } + + public ResultBean saveAll(List list){ + ResultBean rb = ResultBean.fireFail(); + list.removeAll(Collections.singleton(null)); + if(!list.isEmpty()){ + for (int i = 0; i < list.size(); i++) { + FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = list.get(i); + baseMapper.insert(finUncollectedReceivablesDetailedJR); + } + } + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java index d7a2288b6b..2d581c6fcc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java @@ -86,4 +86,6 @@ public class LoanSettleApplyDetailsVo { private boolean showHg; @ApiModelProperty("回购后还款金额") private String buyBackMoney; + @ApiModelProperty("是否有结清确认按钮") + private boolean confirmAtn; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java index b08f8d22b8..6a6e2314ce 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java @@ -79,4 +79,8 @@ public interface LoanSettleApplyFeign { @ApiOperation(value = "移动端详情") @PostMapping(value = "/getAppDetails") ResultBean getAppDetails(@RequestParam("sid") String sid); + + @ApiOperation(value = "结清确认") + @PostMapping(value = "/confirmAtn") + ResultBean confirmAtn(@RequestParam("sid")String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java index d16247896d..1d83e4a818 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply; import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyVo; @@ -45,4 +47,10 @@ public interface LoanSettleApplyMapper extends BaseMapper { String selectDk(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate); int updateBus(String busVinSid); + + LoanRepaymentPlanDetails selectByBusVinSidAndDesc(String busVinSid); + + BusSalesOrder selectByOrderSid(String saleOrderSid); + + FinUncollectedReceivablesDetailedJR selectByType(@Param("busSid") String sid, @Param("type") String type); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml index e2de074403..46bfaa660b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml @@ -165,4 +165,18 @@ set settleState = 1 where sid = #{busVinSid} + + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java index ddeb825017..ba41a17ecc 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java @@ -103,4 +103,9 @@ public class LoanSettleApplyRest implements LoanSettleApplyFeign { public ResultBean getAppDetails(String sid) { return loanSettleApplyService.getAppDetails(sid); } + + @Override + public ResultBean confirmAtn(String sid) { + return loanSettleApplyService.confirmAtn(sid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java index 886bc9ebc8..efd1a5957b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java @@ -6,6 +6,11 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; @@ -111,6 +116,10 @@ public class LoanSettleApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { @@ -385,6 +394,9 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { + loanSettleApplyDetailsVo.setConfirmAtn(true); + } } if (StringUtils.isNotBlank(loanSettleApply.getBusSid())) { loanSettleApplyDetailsVo.setShowHg(true); @@ -682,6 +694,8 @@ public class LoanSettleApplyService extends MybatisBaseService list = new ArrayList<>(); + List selectList = new ArrayList<>(); + if (loanSettleApply.getTrueReduction() == 0) {//不勾选减免 + //生成应收、结转贷款保证金 + list = getLists(list, loanSettleApply); + selectList = saveList(selectList, loanSettleApply); + } else { + //勾选减免 + //减免后结清合计是否大于0 + LoanSettleCompanyReduction loanSettleCompanyReduction = loanSettleCompanyReductionService.selectByMainSid(businessSid); + if (loanSettleCompanyReduction != null) { + if (loanSettleCompanyReduction.getAmountTo().compareTo(BigDecimal.ZERO) > 0) { + + + } else { + //生成应收、结转贷款保证金 + list = getLists(list, loanSettleApply); + selectList = saveList(selectList, loanSettleApply); + } + } + } + //生成应收 + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + ResultBean resultBean = finUncollectedReceivablesDetailedJRFeign.saveAll(list); + } + selectList.removeAll(Collections.singleton(null)); + if (!selectList.isEmpty()) { + ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList); + } + + } + + public void pushConfirm(String sid) { + LoanSettleApply loanSettleApply = fetchBySid(sid); + List list = new ArrayList<>(); + List selectList = new ArrayList<>(); + //需要点击按钮再生成应收、减免资金占用费、以及结转贷款保证金 + list = getLists(list, loanSettleApply); + selectList = saveList(selectList, loanSettleApply); + selectList = saveLists(selectList, loanSettleApply); + //生成应收 + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + ResultBean resultBean = finUncollectedReceivablesDetailedJRFeign.saveAll(list); + } + selectList.removeAll(Collections.singleton(null)); + if (!selectList.isEmpty()) { + ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList); + } + + } + + public List saveLists(List selectList, LoanSettleApply loanSettleApply) { + LoanSettleCompanyReduction loanSettleCompanyReduction = loanSettleCompanyReductionService.selectByMainSid(loanSettleApply.getSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + BusSalesOrder busSalesOrder = baseMapper.selectByOrderSid(loanSettleApply.getSaleOrderSid()); + FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资金占用费"); + if (loanSettleCompanyReduction != null) { + if (loanSettleCompanyReduction.getFundPenalty() != null && loanSettleCompanyReduction.getFundPenalty().compareTo(BigDecimal.ZERO) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资金占用费"); + fin.setSubscriptionMoney(loanSettleCompanyReduction.getFundPenalty()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setKxState("01"); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + } + return selectList; + } + + public List saveList(List selectList, LoanSettleApply loanSettleApply) { + //结转贷款保证金 + //查询贷款保证金是否大于0,若不大于0,则直接返回list + LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + BusSalesOrder busSalesOrder = baseMapper.selectByOrderSid(loanSettleApply.getSaleOrderSid()); + if (loanSettleCompanyCost != null) { + if (loanSettleCompanyCost.getLoanDeposit().compareTo(BigDecimal.ZERO) > 0) { + //则按顺序结转 + //1月还 2垫资方逾期利息 3资金占用费 4资方逾期利息5名义价 6合同违约金7其他费用 + BigDecimal all = BigDecimal.ZERO; + if (loanSettleCompanyCost.getLoanDeposit().compareTo(loanSettleCompanyCost.getDeductionAmount()) > 0) { + all = loanSettleCompanyCost.getLoanDeposit().subtract(loanSettleCompanyCost.getDeductionAmount()); + } + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(planDetails.getDueMoney()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("月还"); + fin.setSubscriptionMoney(planDetails.getDueMoney()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setReceivablesSid(planDetails.getSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("月还"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setReceivablesSid(planDetails.getSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //结转垫资方逾期利息 + FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资方逾期利息"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(planDetails.getPaymentInterest()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资方逾期利息"); + fin.setSubscriptionMoney(planDetails.getPaymentInterest()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资方逾期利息"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //资金占用费 + finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资金占用费"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(loanSettleCompanyCost.getFunfCost()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资金占用费"); + fin.setSubscriptionMoney(loanSettleCompanyCost.getFunfCost()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资金占用费"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //资方逾期利息 + finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "结清时资方逾期利息"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(loanSettleCompanyCost.getBankOverInterest()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("结清时资方逾期利息"); + fin.setSubscriptionMoney(loanSettleCompanyCost.getBankOverInterest()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("结清时资方逾期利息"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //名义价 + finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "名义价"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(loanSettleCompanyCost.getCompanyNominalPrice()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("名义价"); + fin.setSubscriptionMoney(loanSettleCompanyCost.getCompanyNominalPrice()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("名义价"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //合同违约金 + finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "合同违约金"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(loanSettleCompanyCost.getContractLiquidated()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("合同违约金"); + fin.setSubscriptionMoney(loanSettleCompanyCost.getContractLiquidated()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("合同违约金"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + //其他费用 + finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "其他费用"); + if (all.compareTo(BigDecimal.ZERO) > 0) { + if (all.compareTo(loanSettleCompanyCost.getCompanyOtherPrice()) > 0) { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("其他费用"); + fin.setSubscriptionMoney(loanSettleCompanyCost.getCompanyOtherPrice()); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = all.subtract(planDetails.getDueMoney()); + } else { + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("其他费用"); + fin.setSubscriptionMoney(all); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + if (finUncollectedReceivablesDetailedJR != null) { + fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid()); + } else { + fin.setReceivablesSid(""); + } + fin.setKxState("01"); + fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + fin.setStaffUserSid(planDetails.getSalesUserSid()); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + all = BigDecimal.ZERO; + } + } + } + } + return selectList; + } + + public List getLists(List list, LoanSettleApply loanSettleApply) { + //资方逾期利息应收、名义价应收、合同违约金应收、其他费用应收 + LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + if (loanSettleCompanyCost.getBankOverInterest().compareTo(BigDecimal.ZERO) > 0) { + //资方逾期利息应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getBankOverInterest()); + jr.setPayCostTitleKey("012"); + jr.setPayCostTitleValue("结清时资方逾期利息"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + + } + if (loanSettleCompanyCost.getCompanyNominalPrice().compareTo(BigDecimal.ZERO) > 0) { + //名义价应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getCompanyNominalPrice()); + jr.setPayCostTitleKey("009"); + jr.setPayCostTitleValue("名义价"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + + } + if (loanSettleCompanyCost.getContractLiquidated().compareTo(BigDecimal.ZERO) > 0) { + //合同违约金应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getContractLiquidated()); + jr.setPayCostTitleKey("010"); + jr.setPayCostTitleValue("合同违约金"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + } + if (loanSettleCompanyCost.getCompanyOtherPrice().compareTo(BigDecimal.ZERO) > 0) { + //公司其他费用应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getCompanyOtherPrice()); + jr.setPayCostTitleKey("011"); + jr.setPayCostTitleValue("其他费用"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + + } + return list; + } + private void pushSettlevehicle(String businessSid) { LoanSettleVehicleDto loanSettleVehicleDto = new LoanSettleVehicleDto(); LoanSettleApply loanSettleApply = fetchBySid(businessSid); @@ -1028,4 +1570,9 @@ public class LoanSettleApplyService extends MybatisBaseService