From 0e184cd1852b70a62720b40722dd3d20b957ba1c Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 16 Nov 2023 11:36:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E8=B4=B7=E6=AC=BE?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loanhomevisitprep/LoanHomevisitPrepService.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java index 1e4d0dfaac..11a7b32897 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java @@ -360,10 +360,10 @@ public class LoanHomevisitPrepService extends MybatisBaseService filesList = new ArrayList<>(); //贷款人生成车辆买卖合同 - List xcmmContractUrls = commonContractFeign.xcmmContract(printConfirmDto).getData(); + /* List xcmmContractUrls = commonContractFeign.xcmmContract(printConfirmDto).getData(); for (File xcmmContractUrl : xcmmContractUrls) { filesList.add(xcmmContractUrl); - } + }*/ if (conSetUpKey.equals("001")) {//一车一合同 for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { List salesOrderVehicles = new ArrayList<>(); @@ -390,7 +390,7 @@ public class LoanHomevisitPrepService extends MybatisBaseService salesOrderVehicles = new ArrayList<>(); @@ -450,7 +450,7 @@ public class LoanHomevisitPrepService extends MybatisBaseService 0) { From 3c34d961eefc4d9d277779f726c67d404cb0c524 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 16 Nov 2023 15:59:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=9E=8D=E8=B5=84=E6=94=BE=E6=AC=BE?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=B4=A2=E5=8A=A1=E6=94=B6=E6=AC=BE=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationMapper.java | 5 + .../FinCollectionConfirmationMapper.xml | 13 ++ .../FinCollectionConfirmationService.java | 169 +++++++++++++++++- .../FinSelectedReceivablesDetailedMapper.java | 1 + .../FinSelectedReceivablesDetailedMapper.xml | 21 +++ ...FinSelectedReceivablesDetailedService.java | 4 + ...nUncollectedReceivablesDetailedMapper.java | 1 + ...inUncollectedReceivablesDetailedMapper.xml | 7 +- ...UncollectedReceivablesDetailedService.java | 4 + .../biz/loandiff/LoanDiffMapper.java | 6 + .../biz/loandiff/LoanDiffMapper.xml | 8 + .../biz/loandiff/LoanDiffService.java | 113 +++++++++++- .../LoanDiffDetailsMapper.java | 2 + .../loandiffdetails/LoanDiffDetailsMapper.xml | 4 + .../LoanDiffDetailsService.java | 4 + 15 files changed, 355 insertions(+), 7 deletions(-) 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 ddc81ba42e..dfbfda4030 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 @@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.fin.api.fincollectionconfirmation.*; +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.loansolutions.LoanSolutions; @@ -146,4 +147,8 @@ public interface FinCollectionConfirmationMapper extends BaseMapper select * from anrui_buscenter.bus_sales_order_vehicle where sid = #{busVinSid} + + + + \ 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 53f243498c..f78a1dc0e8 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 @@ -88,6 +88,8 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; +import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT; import com.yxt.anrui.fin.biz.finbillapplication.FinBillApplicationService; import com.yxt.anrui.fin.biz.finbilltrailer.FinBillTrailerService; import com.yxt.anrui.fin.biz.finbillvehicle.FinBillVehicleService; @@ -99,6 +101,7 @@ import com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService; import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService; import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService; +import com.yxt.anrui.fin.biz.kingdee.capitalcreditresult.OtherReceivableBillCreditResultService; import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; @@ -110,6 +113,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffFeign; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffsDto; import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssDto; +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.loansolutions.LoanSolutions; @@ -192,6 +196,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService createQueryWrapper(FinCollectionConfirmationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -1746,8 +1752,31 @@ public class FinCollectionConfirmationService extends MybatisBaseService 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){//不相等,推送放款差额确认待办 + LoanDiffDetailssDto loanDiffDetailssDto = new LoanDiffDetailssDto(); + loanDiffDetailssDto.setBankSid(loanFinPolicy.getBankSid()); + loanDiffDetailssDto.setBankName(loanFinPolicy.getBankShortName()); + loanDiffDetailssDto.setBorrowName(busSalesOrderVehicle.getBorrowName()); + loanDiffDetailssDto.setBorrowSid(busSalesOrderVehicle.getBorrowerSid()); + loanDiffDetailssDto.setMakeLoan(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney())); + loanDiffDetailssDto.setRealityLoan(finSelectedReceivablesDetailed.getSubscriptionMoney()); + loanDiffDetailssDto.setDiffLoan(decimalAll); + loanDiffDetailssDto.setMakeDiscount(loanSolutions.getFactoryDiscount()); + loanDiffDetailssDto.setMakeLoanMargin(loanSolutions.getBondAmount()); + loanDiffDetailssDto.setMakeOtherDiscount(loanSolutionsOtherpolicy.getOtherDiscount()); + loanDiffDetailssDto.setReceivedPremium(loanSolutionsDetail.getProxyAccidentPremium()); + loanDiffDetailssDto.setVinNo(busSalesOrderVehicle.getLinkNo()); + loanDiffDetailssDto.setVinSid(busSalesOrderVehicle.getLinkSid()); + loanDiffDetailssDto.setBusVinSid(busSalesOrderVehicle.getSid()); + loanDiffDetailssDtos.add(loanDiffDetailssDto); + } + } }else{ if(bigAdd.compareTo(decimalAll) != 0){//不相等,推送放款差额确认待办 LoanDiffDetailssDto loanDiffDetailssDto = new LoanDiffDetailssDto(); @@ -1766,6 +1795,75 @@ public class FinCollectionConfirmationService extends MybatisBaseService 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + bdCustomer.setFName(busSalesOrderVehicle.getBorrowName() + linkNo); + } else { + bdCustomer.setFName(busSalesOrderVehicle.getBorrowName() + busSalesOrderVehicle.getTemporaryNo()); + } + ResultBean resultBean = bdCustomerService.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + creditResult.setCommUnit(customerNumber); + SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(busSalesOrder.getUseOrgSid()).getData(); + creditResult.setCollectionOrg(sysOrganizationVo1.getOrgCode()); + creditResult.setBussDate(DateUtil.formatDate(new Date())); + List collectionDetailDtoListOne = new ArrayList<>(); + SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(busSalesOrder.getOrgSid()).getData(); + if (loanSolutions.getBondAmount() != null) {//贷款保证金 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getBondAmount().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanSolutions.getFactoryDiscount() != null) {//主产品厂家贴息 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getFactoryDiscount().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanSolutionsOtherpolicy.getOtherDiscount() != null) {//实扣其他融厂家贴息 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanSolutionsOtherpolicy.getOtherDiscount().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanSolutionsDetail.getProxyAccidentPremium() != null) {//已收意外险 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanSolutionsDetail.getProxyAccidentPremium().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + creditResult.setResultDetails(collectionDetailDtoListOne); + creditResultService.pushOtherReceivableBill(creditResult); + } } @@ -1856,6 +1954,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos3_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "加装配置手续费", "2"); finSelectedReceivablesDetailedVos3_2.removeAll(Collections.singleton(null)); + List finSelectedReceivablesDetailedVos4_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "融资放款", "2"); + finSelectedReceivablesDetailedVos4_1.removeAll(Collections.singleton(null)); int carSize = 0; //全款推送车款 if (finSelectedReceivablesDetailedVos1.size() > 0) { @@ -1980,6 +2080,23 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + boolean one = false; + if (finSelectedReceivablesDetailedVos1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_1.size() == 0 && + finSelectedReceivablesDetailedVos2.size() == 0 && + finSelectedReceivablesDetailedVos1_1.size() == 0 && + finSelectedReceivablesDetailedVos2_1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_2.size() == 0 && + finSelectedReceivablesDetailedVos3_1.size() == 0 && + finSelectedReceivablesDetailedVos3_2.size() == 0 && + finSelectedReceivablesDetailedVos4_1.size() == 1) { + one = true; + } + carSize = loanDiff(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos4_1, freceivebillentry, one, orgCode); + } + //简易订单-订金收取 if (finSelectedReceivablesDetailedVos1.isEmpty() && finSelectedReceivablesDetailedVos2.isEmpty() && @@ -2026,6 +2143,54 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos4_1, ARReceivebill.FRECEIVEBILLENTRY freceivebillentry, boolean one, String orgCode) { + String sid = confirmation.getSid(); + List fEntityList = new ArrayList<>(); + for (int i = 0; i < finSelectedReceivablesDetailedVos4_1.size(); i++) { + FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos4_1.get(i); + //推送客户 + String customerNo = createCustomerQuery(2, vvvv, orgCode); + //往来单位 + arReceivebill.setFCONTACTUNIT(customerNo); + fEntityList = new ArrayList<>(); + String uncollSid = ""; + freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); + //结算方式 + freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); + freceivebillentry.setFSETTLETYPEIDType("customerPayType"); + //收款金额 + freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney()); + //登记日期 + freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); + if (vvvv.getVIN().length() >= 8) { + freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8)); + } + //收款用途 + freceivebillentry.setFPURPOSEIDKey("001"); + freceivebillentry.setFPURPOSEIDType("cw_skyt"); + freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); + LoanFinBank loanFinBank = baseMapper.selectFinBnk(vvvv.getContractNo()); + if(loanFinBank != null){ + freceivebillentry.setF_PAEZ_Base(loanFinBank.getBankNo());//资方编码 + } + fEntityList.add(freceivebillentry); + uncollSid = vvvv.getReceivablesSid(); + //项目类别key、value + arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); + arReceivebill.setF_PAEZ_AssistantKey("062"); + arReceivebill.setFRECEIVEBILLENTRY(fEntityList); + if (one) { + arReceivebill.setFBillNo(confirmation.getBillNo()); + } else { + //单据编号 + carSize = carSize + 1; + arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); + } + ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); + } + return carSize; + } + //组装客户推送 private BdCustomer createBdCustomer(String useOrgSid, String name, String mobile, String customerSid, String collSid) { BdCustomer bdCustomer = new BdCustomer(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java index 0507c8fce8..c84621f71b 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java @@ -98,6 +98,7 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List selectListByVin1(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); + List selectListByVin2(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List getList(@Param("list") List sidsList); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml index 5bf8db855b..d19a97a741 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml @@ -209,6 +209,27 @@ GROUP BY d.`sid`) d + + @@ -338,6 +338,11 @@ select * from fin_uncollected_receivables_detailed where busVinSid = #{busVinSid} and receivablesName = '首付款及费用' + + update fin_uncollected_receivables_detailed set kxState = #{kxState} where busVinSid in diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java index a070507816..bc8d3e601d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java @@ -1021,6 +1021,10 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService return baseMapper.selectListByBusVinSid1(busVinSid); } + public List selectListByBusVinSid2(String busVinSid) { + return baseMapper.selectListByBusVinSid2(busVinSid); + } + public ResultBean updateKxState(StateQuery stateQuery) { ResultBean rb = ResultBean.fireFail(); List busVinSid = stateQuery.getBusVinSid(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.java index 49ef8359fd..c3827afde6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.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.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiff; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffVo; import org.apache.ibatis.annotations.Mapper; @@ -21,4 +23,8 @@ public interface LoanDiffMapper extends BaseMapper { int updateFlowFiled(Map map); IPage listPageVo(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + BusSalesOrderVehicle selectByBusVinSid(String busVinSid); + + BusSalesOrder selectByOrderSid(String salesOrderSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.xml index 0156969b1c..b8522cd2a7 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffMapper.xml @@ -36,4 +36,12 @@ order by ld.id desc + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java index f4a9ab61a4..eef32154a0 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java @@ -6,7 +6,15 @@ 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.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyVo; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; +import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; @@ -16,11 +24,15 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.riskcenter.api.loandiff.*; import com.yxt.anrui.riskcenter.api.loandiff.flowable.*; import com.yxt.anrui.riskcenter.api.loandiffdetails.*; +import com.yxt.anrui.riskcenter.api.loansolutions.PushVo; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplate; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateQuery; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateVo; @@ -42,6 +54,7 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; @@ -70,6 +83,12 @@ public class LoanDiffService extends MybatisBaseService list = loanDiffDetailsService.selectDetailsByMainSid(sid); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + CapitalCreditResult creditResult = new CapitalCreditResult(); + LoanDiffDetails loanDiffDetails = list.get(i); + String busVinSid = loanDiffDetails.getBusVinSid(); + BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBusVinSid(busVinSid); + BusSalesOrder busSalesOrder = baseMapper.selectByOrderSid(busSalesOrderVehicle.getSalesOrderSid()); + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + if (!aBoolean) { + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(busSalesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(busSalesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + bdCustomer.setFName(busSalesOrderVehicle.getBorrowName() + linkNo); + } else { + bdCustomer.setFName(busSalesOrderVehicle.getBorrowName() + busSalesOrderVehicle.getTemporaryNo()); + } + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + creditResult.setCommUnit(customerNumber); + SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(busSalesOrder.getUseOrgSid()).getData(); + creditResult.setCollectionOrg(sysOrganizationVo1.getOrgCode()); + creditResult.setBussDate(DateUtil.formatDate(new Date())); + List collectionDetailDtoListOne = new ArrayList<>(); + SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(busSalesOrder.getOrgSid()).getData(); + if (loanDiffDetails.getRealityLoan() != null) {//实扣贷款保证金 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanDiffDetails.getRealityLoanMargin().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanDiffDetails.getRealityDiscount() != null) {//实扣主产品厂家贴息 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanDiffDetails.getRealityDiscount().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanDiffDetails.getRealityOtherDiscount() != null) {//实扣其他融厂家贴息 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanDiffDetails.getRealityOtherDiscount().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanDiffDetails.getReceivedPremium() != null) {//已收意外险 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney("-" + loanDiffDetails.getReceivedPremium().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + if (loanDiffDetails.getDiffPremium() != null) {//意外险差额 + CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); + creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); + creditResultDetailDto.setExTaxMoney(loanDiffDetails.getDiffPremium().toString()); + creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType()); + collectionDetailDtoListOne.add(creditResultDetailDto); + } + creditResult.setResultDetails(collectionDetailDtoListOne); + finKingDeeFeign.pushOtherReceivableBill(creditResult); + } + } + } + public ResultBean> getPreviousNodesForReject(DiffApplyNodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); @@ -478,7 +583,7 @@ public class LoanDiffService extends MybatisBaseService loanDiffDetailsList = dto.getLoanDiffDetails(); loanDiffDetailsList.removeAll(Collections.singleton(null)); if (!loanDiffDetailsList.isEmpty()) { @@ -493,9 +598,9 @@ public class LoanDiffService extends MybatisBaseService fileLists = dto.getFilesList(); fileLists.removeAll(Collections.singleton(null)); if (!fileLists.isEmpty()) { - List files = fileLists.stream().map(v->v.getUrl()).collect(Collectors.toList()); + List files = fileLists.stream().map(v -> v.getUrl()).collect(Collectors.toList()); files.removeAll(Collections.singleton(null)); - if(!files.isEmpty()){ + if (!files.isEmpty()) { String filss = String.join(",", files).replaceAll(fileUploadComponent.getUrlPrefix(), ""); loanDiff.setFiles(filss); baseMapper.updateById(loanDiff); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.java index 1dd759ee16..e514c33e9f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.java @@ -18,4 +18,6 @@ public interface LoanDiffDetailsMapper extends BaseMapper { List selectByMainSid(String sid); List selectByMainSid2(String sid); + + List selectDetailsByMainSid(String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.xml index 2799e41daf..89eb11406a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsMapper.xml @@ -29,4 +29,8 @@ from anrui_riskcenter.loan_diff_details where mainSid = #{sid} + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsService.java index df06b47866..02c2dc8c2a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiffdetails/LoanDiffDetailsService.java @@ -24,4 +24,8 @@ public class LoanDiffDetailsService extends MybatisBaseService selectByMainSid2(String sid) { return baseMapper.selectByMainSid2(sid); } + + public List selectDetailsByMainSid(String sid) { + return baseMapper.selectDetailsByMainSid(sid); + } } From b24f03c6b7aad783ecd9f4bdc5975272783846c6 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Thu, 16 Nov 2023 18:11:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E5=AE=B6?= =?UTF-8?q?=E8=AE=BF=E5=AE=B6=E8=AE=BF=E5=A2=9E=E5=8A=A0=E6=8C=82=E9=9D=A0?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E4=BF=A1=E6=81=AF=EF=BC=88=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E3=80=81=E4=BF=9D=E5=AD=98=E3=80=81=E8=AF=A6=E6=83=85?= =?UTF-8?q?=EF=BC=89=20=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=B1=BB=E5=9E=8Bkey=E6=B2=A1=E5=80=BC=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseManufacturerBankMapper.xml | 1 - .../app/AppSelectObject.java | 1 + ...HomeVisitInvestigateInitReportStateVo.java | 2 + .../LoanHomevisitInvestigateService.java | 59 ++++++++++++++++++ .../ScmVehicleEnterlibraryService.java | 2 + .../risk/loancustomerrecord/SelectObject.java | 2 +- .../AppLoanHomeVisitInvestigateDetailsVo.java | 2 + ...ppLoanHomeVisitInvestigateInitOtherVo.java | 29 +++++++++ ...HomeVisitInvestigateInitReportStateVo.java | 2 + ...pLoanHomeVisitInvestigateSaveOtherDto.java | 30 +++++++++ .../LoanHomeVisitInvestigateFeign.java | 10 +++ .../LoanHomeVisitInvestigateRest.java | 10 +++ .../LoanHomeVisitInvestigateService.java | 61 +++++++++++++++++++ 13 files changed, 209 insertions(+), 2 deletions(-) create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loanhomevisitinvestigate/AppLoanHomeVisitInvestigateInitOtherVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loanhomevisitinvestigate/AppLoanHomeVisitInvestigateSaveOtherDto.java diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml index e6a4ca8925..f68b27e71a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml @@ -147,7 +147,6 @@ bmb.paymentAccessNoValue FROM base_manufacturer_bank bmb WHERE bmb.sid = #{sid} - AND bmb.isDelete = 0