diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java index 8b3b4a4a8d..6cb1db16ff 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java @@ -39,6 +39,8 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService; import com.yxt.anrui.buscenter.biz.bussalesordermodel.BusSalesOrderModelService; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; import com.yxt.common.base.service.MybatisBaseService; @@ -75,6 +77,9 @@ public class BusSalesOrderPriceService extends MybatisBaseService getPriceInfo(String sid) { @@ -146,16 +151,16 @@ public class BusSalesOrderPriceService extends MybatisBaseService selectNotPush(); } 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 386a98d388..fc76497fd9 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 @@ -531,4 +531,8 @@ WHERE furd.contractSid = #{wxdSid} + + diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java index bccd57d356..762bbebe7d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java @@ -47,6 +47,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import java.util.Map; /** * Project: anrui-fin(销售相关)
@@ -112,8 +113,8 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF } @Override - public ResultBean recallConfirm(String sid,String userSid) { - return finCollectionConfirmationService.recallConfirm(sid,userSid); + public ResultBean recallConfirm(String sid, String userSid) { + return finCollectionConfirmationService.recallConfirm(sid, userSid); } @Override @@ -128,7 +129,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF @Override public ResultBean createPdfRsk(String skdSid, String printerType) { - return finCollectionConfirmationService.createPdfRsk(skdSid,printerType); + return finCollectionConfirmationService.createPdfRsk(skdSid, printerType); } @Override @@ -161,12 +162,12 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF @Override public ResultBean asCashierConfirm(String sid, String userSid) { - return finCollectionConfirmationService.asCashierConfirm(sid,userSid); + return finCollectionConfirmationService.asCashierConfirm(sid, userSid); } @Override public ResultBean asCreatePdf(String skdSid, String printerType) { - return finCollectionConfirmationService.asCreatePdf(skdSid,printerType); + return finCollectionConfirmationService.asCreatePdf(skdSid, printerType); } //------------------------金融认款申请----------------------------------- @@ -182,7 +183,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF @Override public ResultBean rskRecallConfirm(String sid, String userSid) { - return finCollectionConfirmationService.rskRecallConfirm(sid,userSid); + return finCollectionConfirmationService.rskRecallConfirm(sid, userSid); } @Override @@ -192,7 +193,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF @Override public ResultBean rskCashierConfirm(String sid, String userSid) { - return finCollectionConfirmationService.rskCashierConfirm(sid,userSid); + return finCollectionConfirmationService.rskCashierConfirm(sid, userSid); } /** @@ -322,7 +323,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF @Override public ResultBean selectCollectionMoneys(String contractId, List busVinSidList) { - return finCollectionConfirmationService.selectCollectionMoneys(contractId,busVinSidList); + return finCollectionConfirmationService.selectCollectionMoneys(contractId, busVinSidList); } @Override @@ -377,4 +378,10 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF public ResultBean getRskCollectionConfirmDetail(AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery) { return finCollectionConfirmationService.getRskCollectionConfirmDetail(appFinCollectionConfirmationOrgPathQuery); } + + @ApiOperation("未推送单车返利的数据") + @GetMapping("/getNotPushScmVehRebate") + ResultBean>> getNotPushScmVehRebate() { + return finCollectionConfirmationService.getNotPushScmVehRebate(); + } } 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 6bcc0226d6..2f6cbf7f05 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 @@ -2208,13 +2208,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0){ + if (all.compareTo(BigDecimal.ZERO) > 0) { //推送单车返利管理 ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); List scmVehRebateVehDtos = new ArrayList<>(); @@ -2238,10 +2238,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService0){ + if (all.compareTo(BigDecimal.ZERO) > 0) { //推送单车返利管理 ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); List scmVehRebateVehDtos = new ArrayList<>(); @@ -2414,10 +2414,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService>> getNotPushScmVehRebate() { + ResultBean>> rb = ResultBean.fireFail(); + List> lllist = new ArrayList<>(); + List list = baseMapper.selectNotPush(); + for (int a = 0; a < list.size(); a++) { + FinCollectionConfirmation confirmation = list.get(a); + String sid = confirmation.getSid(); + List finLi = finSelectedReceivablesDetailedService.selectLiBy(sid); + finLi.removeAll(Collections.singleton(null)); + if (!finLi.isEmpty()) { + //根据车辆sid查询金融方案 + for (int i = 0; i < finLi.size(); i++) { + Map map = new HashMap<>(); + FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finLi.get(i); + FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid()); + BaseVehicle baseVehicle = baseMapper.selectByVSid(finUncollectedReceivablesDetailed.getBusVinSid()); + BigDecimal bigAdd = BigDecimal.ZERO; + BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); + LoanSolutions loanSolutions = baseMapper.selectLoanBySid(finUncollectedReceivablesDetailed.getBusVinSid()); + LoanSolutionsDetail loanSolutionsDetail = null; + LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = null; + LoanFinPolicy loanFinPolicy = null; + LoanFinOtherPolicy loanFinOtherPolicy = null; + boolean isTue = false; + if (loanSolutions != null) { + loanSolutionsDetail = baseMapper.selectByLoanSid(loanSolutions.getSid()); + loanSolutionsOtherpolicy = baseMapper.selectBySoluSid(loanSolutions.getSid()); + if (loanSolutionsDetail.getBondAmounts() != null) { + bigAdd = bigAdd.add(loanSolutionsDetail.getBondAmounts()); + } + if (loanSolutions.getActualDiscount() != null) { + bigAdd = bigAdd.add(loanSolutions.getActualDiscount()); + } + + if (loanSolutionsOtherpolicy != null) { + if (loanSolutionsOtherpolicy.getOtherActualDiscount() != null) { + bigAdd = bigAdd.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); + } + } + + if (loanSolutionsDetail != null) { + if (loanSolutionsDetail.getProxyAccidentPremium() != null) { + bigAdd = bigAdd.add(loanSolutionsDetail.getProxyAccidentPremium()); + } + } + //查询主方案的资方和其他融的资方是否一致 + loanFinPolicy = baseMapper.selectBySoll(loanSolutions.getPolicySid()); + + loanFinOtherPolicy = baseMapper.selectByOtherSid(loanSolutionsOtherpolicy.getOtherPolicySid()); + if (loanFinOtherPolicy != null) { + if (!loanFinPolicy.getBankSid().equals(loanFinOtherPolicy.getBankSid())) { + isTue = true; + } + } + + } + + BigDecimal decimalAll = new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney()).subtract(finSelectedReceivablesDetailed.getSubscriptionMoney()); + if (finSelectedReceivablesDetailed.getSubscriptionMoney().compareTo(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney())) != 0) { + //有差额 + if (isTue) {//不一致 + //根据busVinSid查询融资放款的是否已认完款,若已认完,则推送,若未认完则不推送 + List voList = finSelectedReceivablesDetailedService.selectListByVin2(finUncollectedReceivablesDetailed.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); + BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid2(finUncollectedReceivablesDetailed.getBusVinSid()); + BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + if (bigDecimalVinAll.compareTo(unDecimalVinAll) == 0) {//认完 + if (bigAdd.compareTo(decimalAll) != 0) {//不相等,推送放款差额确认待办 + + } else { + BigDecimal all = BigDecimal.ZERO; + if (loanSolutions.getActualDiscount() != null) { + all = all.add(loanSolutions.getActualDiscount()); + } + if (loanSolutionsOtherpolicy != null && loanSolutionsOtherpolicy.getOtherActualDiscount() != null) { + all = all.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); + } + if (all.compareTo(BigDecimal.ZERO) > 0) { + //推送单车返利管理 + map.put("billNo", confirmation.getBillNo()); + map.put("vinNo", baseVehicle.getVinNo()); + map.put("vinSid", baseVehicle.getSid()); + map.put("contractNo", finSelectedReceivablesDetailed.getContractNo()); + } + } + } + } else { + if (bigAdd.compareTo(decimalAll) != 0) {//不相等,推送放款差额确认待办 + + } else { + BigDecimal all = BigDecimal.ZERO; + if (loanSolutions.getActualDiscount() != null) { + all = all.add(loanSolutions.getActualDiscount()); + } + if (loanSolutionsOtherpolicy != null && loanSolutionsOtherpolicy.getOtherActualDiscount() != null) { + all = all.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); + } + if (all.compareTo(BigDecimal.ZERO) > 0) { + //推送单车返利管理 + map.put("billNo", confirmation.getBillNo()); + map.put("vinNo", baseVehicle.getVinNo()); + map.put("vinSid", baseVehicle.getSid()); + map.put("contractNo", finSelectedReceivablesDetailed.getContractNo()); + } + + } + } + } else { + //无差额 + + } + lllist.add(map); + } + } + } + + return rb.success().setData(lllist); + } } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java index 495a69a6e2..9eb5df918d 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java @@ -87,19 +87,19 @@ public class ScmVehRebate extends BaseEntity { @ApiModelProperty("上传日期") private String uploadDate; // 上传日期 @ApiModelProperty("上传金额") - private String uploadMoney; // 上传金额 + private BigDecimal uploadMoney; // 上传金额 @ApiModelProperty("二次上传日期") private String secondaryUploadDate; // 二次上传日期 @ApiModelProperty("二次上传金额") - private String secondaryUploadMoney; // 二次上传金额 + private BigDecimal secondaryUploadMoney; // 二次上传金额 @ApiModelProperty("待确定金额(动态)") - private String stayDetermineMoney; + private BigDecimal stayDetermineMoney; @ApiModelProperty("待确定金额(常量)") - private String stayDetermineMoneyNew; + private BigDecimal stayDetermineMoneyNew; @ApiModelProperty("是否调整") private String isAdjustment; // 是否调整 @ApiModelProperty("调整金额") - private String adjustmentMoney; // 调整金额 + private BigDecimal adjustmentMoney; // 调整金额 @ApiModelProperty("调整说明") private String adjustmentRemarks; // 调整说明 @ApiModelProperty("计算方式key") diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index 2107c3c1bd..41557420b7 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -1033,7 +1033,7 @@ public class ScmVehRebateService extends MybatisBaseService