From 76d53f0371e30d0ae4da6f52ef3f44e0f55a62e8 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Tue, 7 Nov 2023 09:46:48 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E8=B4=A7=E7=AE=B1?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/base/api/basemodelconfig/AppModelConfigDetailsVo.java | 2 ++ .../anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml | 1 + .../com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java | 1 + 3 files changed, 4 insertions(+) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppModelConfigDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppModelConfigDetailsVo.java index e460d29ed2..721bad5399 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppModelConfigDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppModelConfigDetailsVo.java @@ -75,6 +75,8 @@ public class AppModelConfigDetailsVo implements Vo { @ApiModelProperty("蓄电池value") private String storagBatteryValue; + @ApiModelProperty("货箱") + private String packingCase; @ApiModelProperty(value = "配置包") private String configuringBao; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml index 3870677f1d..46c4887817 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml @@ -356,6 +356,7 @@ bmc.independentSources, bmc.fuelTank, bmc.multimedia, + bmc.packingCase, bmc.otherConfig FROM base_vehmodel_config bvc LEFT JOIN base_model_config bmc ON bmc.sid = bvc.configurationItemsSid diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 555fad18d5..33c1717454 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -1138,6 +1138,7 @@ public class BaseVehicleService extends MybatisBaseService Date: Tue, 7 Nov 2023 13:43:24 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=85=A8=E6=AC=BE=E8=B4=B7=E6=AC=BE=E7=9A=84?= =?UTF-8?q?=E5=8C=BA=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commoncontract/CommonContractService.java | 162 +++++++----------- 1 file changed, 65 insertions(+), 97 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index 0cf2ca30c4..d2337d36cb 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -1950,115 +1950,83 @@ public class CommonContractService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - if ("1".equals(appOrderDetailsVo.getPayTypeKey())) {//全款 - Future future1 = pool.submit(() -> { - return genCarSaleContract(dto, map, appOrderDetailsVo); - }); - Future future1_2 = pool.submit(() -> { - return genCarSaleContract2(dto, map, appOrderDetailsVo); - }); - Future future2 = pool.submit(() -> { - return genCarSaleContractBlank(dto, map, appOrderDetailsVo); - }); - Future future2_2 = pool.submit(() -> { - return genCarSaleContractBlank2(dto, map, appOrderDetailsVo); - }); - //接收车辆委托书 - Future future4 = pool.submit(() -> { - return getReceiveCar(map, appOrderDetailsVo); + + Future future1 = pool.submit(() -> { + return genCarSaleContract(dto, map, appOrderDetailsVo); + }); + Future future1_2 = pool.submit(() -> { + return genCarSaleContract2(dto, map, appOrderDetailsVo); + }); + Future future2 = pool.submit(() -> { + return genCarSaleContractBlank(dto, map, appOrderDetailsVo); + }); + Future future2_2 = pool.submit(() -> { + return genCarSaleContractBlank2(dto, map, appOrderDetailsVo); + }); + //接收车辆委托书 + Future future4 = pool.submit(() -> { + return getReceiveCar(map, appOrderDetailsVo); + }); + String singleFinalPriceOne = priceInfo.getSingleFinalPrice(); + String depositOne = depositInfo.getDeposit(); + Future future8 = null; + if (!"02".equals(appOrderDetailsVo.getInvoiceType())) { + future8 = pool.submit(() -> { + return getCarContract(map, appOrderDetailsVo); }); - /* Future future5 = pool.submit(() -> { - return getInvoicMessage(map, appOrderDetailsVo); - });*/ - String singleFinalPriceOne = priceInfo.getSingleFinalPrice(); - String depositOne = depositInfo.getDeposit(); - //单台成交价与单台订金相等 - /* Future future6 = null; - if (new BigDecimal(singleFinalPriceOne).compareTo(new BigDecimal(depositOne)) != 0) { - future6 = pool.submit(() -> { - return getCarFin(map, appOrderDetailsVo); - }); - } - Future future7 = pool.submit(() -> { - return getMoneyFin(map, appOrderDetailsVo); - });*/ - Future future8 = null; - if (!"02".equals(appOrderDetailsVo.getInvoiceType())) { - future8 = pool.submit(() -> { - return getCarContract(map, appOrderDetailsVo); - }); - } - List filesList = new ArrayList<>(); - if (future1 != null) { - if (StringUtils.isNotBlank(future1.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future1.get()); - filesList.add(file); - } - } - if (future1_2 != null) { - if (StringUtils.isNotBlank(future1_2.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future1_2.get()); - filesList.add(file); - } - } - if (future2 != null) { - if (StringUtils.isNotBlank(future2.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future2.get()); - filesList.add(file); - } - } - if (future2_2 != null) { - if (StringUtils.isNotBlank(future2_2.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future2_2.get()); - filesList.add(file); - } - } - //合并pdf文件 - if (future8 != null) { - if (StringUtils.isNotBlank(future8.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get()); - filesList.add(file); - } + } + List filesList = new ArrayList<>(); + if (future1 != null) { + if (StringUtils.isNotBlank(future1.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future1.get()); + filesList.add(file); } - if (StringUtils.isNotBlank(future4.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future4.get()); + } + if (future1_2 != null) { + if (StringUtils.isNotBlank(future1_2.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future1_2.get()); filesList.add(file); } - /*if (StringUtils.isNotBlank(future5.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future5.get()); + } + if (future2 != null) { + if (StringUtils.isNotBlank(future2.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future2.get()); filesList.add(file); - }*/ - /* if (future6 != null) { - if (StringUtils.isNotBlank(future6.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future6.get()); - filesList.add(file); - } } - - if (StringUtils.isNotBlank(future7.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future7.get()); + } + if (future2_2 != null) { + if (StringUtils.isNotBlank(future2_2.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future2_2.get()); filesList.add(file); - }*/ - - if (filesList.size() > 0) { -// String typeName = ContractTemplateEnum.CONTRACTALL.getName() + "_" + DateUtil.format(new Date(), "yyyMMdd") + System.currentTimeMillis() + ".pdf"; - String typeName = appOrderDetailsVo.getPayType() + contractNo + ".pdf"; - File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName); - System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName); - urlAll = typeName; } - if (StringUtils.isNotBlank(urlAll)) { - printConfirmVo = new PrintConfirmVo(); -// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CONTRACTALL.getName())); - printConfirmVo.setName(MessageFormat.format("《{0}》", appOrderDetailsVo.getPayType() + contractNo)); - printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + urlAll); - list.add(printConfirmVo); + } + //合并pdf文件 + if (future8 != null) { + if (StringUtils.isNotBlank(future8.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get()); + filesList.add(file); } - } else { + } + if (StringUtils.isNotBlank(future4.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future4.get()); + filesList.add(file); + } + if (filesList.size() > 0) { + String typeName = appOrderDetailsVo.getPayType() + contractNo + ".pdf"; + File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName); + System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName); + urlAll = typeName; + } + if (StringUtils.isNotBlank(urlAll)) { + printConfirmVo = new PrintConfirmVo(); + printConfirmVo.setName(MessageFormat.format("《{0}》", appOrderDetailsVo.getPayType() + contractNo)); + printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + urlAll); + list.add(printConfirmVo); + } + if ("2".equals(appOrderDetailsVo.getPayTypeKey())) { Future future10 = pool.submit(() -> { return getRisk(appOrderDetailsVo, dto); }); - List filesList = new ArrayList<>(); if (StringUtils.isNotBlank(future10.get())) { File file = new File(docPdfComponent.getUploadTemplateUrl() + future10.get()); filesList.add(file); From 94c614eb177fa5bb37fd24d51324e77b66a50ead Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 7 Nov 2023 13:46:11 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=85=A8=E6=AC=BE=E8=B4=B7=E6=AC=BE=E7=9A=84?= =?UTF-8?q?=E5=8C=BA=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commoncontract/CommonContractService.java | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index d2337d36cb..444e97c2b4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -2011,6 +2011,16 @@ public class CommonContractService extends MybatisBaseService future10 = pool.submit(() -> { + return getRisk(appOrderDetailsVo, dto); + }); + if (StringUtils.isNotBlank(future10.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future10.get()); + filesList.add(file); + } + } if (filesList.size() > 0) { String typeName = appOrderDetailsVo.getPayType() + contractNo + ".pdf"; File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName); @@ -2023,27 +2033,6 @@ public class CommonContractService extends MybatisBaseService future10 = pool.submit(() -> { - return getRisk(appOrderDetailsVo, dto); - }); - if (StringUtils.isNotBlank(future10.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future10.get()); - filesList.add(file); - } - if (filesList.size() > 0) { - String typeName = appOrderDetailsVo.getPayType() + contractNo + ".pdf"; - File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName); - System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName); - urlAll = typeName; - } - if (StringUtils.isNotBlank(urlAll)) { - printConfirmVo = new PrintConfirmVo(); - printConfirmVo.setName(MessageFormat.format("《{0}》", appOrderDetailsVo.getPayType() + contractNo)); - printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + urlAll); - list.add(printConfirmVo); - } - } //生成合同数据 //根据销售订单sid查询合同表中是否存在 commonContractBuscenterVo = baseMapper.selectByBusSid(dto.getBusSid()); From b0f6a35b37eb97a53963daccdc49037f8a19a183 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 7 Nov 2023 17:40:33 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/sysstafforg/SysStaffOrgFeign.java | 1 + .../api/dailyreport/DailyParameterVo.java | 19 +++ .../api/dailyreport/DailyReportFeign.java | 23 ++- .../api/dailyreport/DailyReportListVo.java | 34 +++++ .../api/dailyreport/DailyReportQuery.java | 4 +- .../api/dailyreport/DailyReportVo.java | 100 +++++++++++++ .../reportcenter/ReportcenterApplication.java | 2 +- .../biz/dailyreport/DailyReportMapper.java | 14 ++ .../biz/dailyreport/DailyReportMapper.xml | 45 +++++- .../biz/dailyreport/DailyReportRest.java | 32 ++++- .../biz/dailyreport/DailyReportService.java | 132 ++++++++++++++++-- 11 files changed, 386 insertions(+), 20 deletions(-) create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyParameterVo.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java index bae02bd293..8501fb834a 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java @@ -120,4 +120,5 @@ public interface SysStaffOrgFeign { @ResponseBody @ApiOperation("根据分公司全路径和角色sid模糊查询本公司本角色下的所有员工userSid") ResultBean> selAllByOrgPath(@RequestParam("orgSidPath") String orgSidPath,@RequestParam("roleSid") String roleSid); + } \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyParameterVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyParameterVo.java new file mode 100644 index 0000000000..72c6431dab --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyParameterVo.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.reportcenter.api.dailyreport; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/7 + **/ +@Data +public class DailyParameterVo { + + private String colName; + + private String colText; + @JsonIgnore + private String tableNameKey; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java index 84d071537b..ce9a21b7b1 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java @@ -4,10 +4,9 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * @description: @@ -31,6 +30,10 @@ public interface DailyReportFeign { @ResponseBody ResultBean> listPage(@RequestBody PagerQuery pagerQuery); + @GetMapping("selectListByUseOrgSid") + @ResponseBody + ResultBean> selectListByUseOrgSid(@RequestParam("useOrgSid")String useOrgSid); + /** * 按照生成日期、 * 事业部sid查询,并按分公司sid,品牌sid,车型sid,配置sid排序 @@ -51,4 +54,16 @@ public interface DailyReportFeign { @PostMapping("listPage3") @ResponseBody ResultBean> listPage3(@RequestBody PagerQuery pagerQuery); + + @PostMapping("listPage3_1") + @ResponseBody + ResultBean> listPage3_1(@RequestBody PagerQuery pagerQuery); + + @PostMapping("listPage2_1") + @ResponseBody + ResultBean> listPage2_1(@RequestBody PagerQuery pagerQuery); + + @PostMapping("listPage_1") + @ResponseBody + ResultBean> listPage_1(@RequestBody PagerQuery pagerQuery); } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java new file mode 100644 index 0000000000..1fc96a4472 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.reportcenter.api.dailyreport; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/7 + **/ +@Data +public class DailyReportListVo { + @ApiModelProperty("日期") + private String date; + + //存销比 + private String saleOfStockRatio; + //库存小计 + private String stock_subtotal; + //排产小计 + private String pcOrder_subtotal; + //本日销售订单 + private String saleOrder_subtotal_day; + //本日销售 + private String sale_subtotal_day; + //欠款出库金额 + private String arrears_carry_veh_amount; + //金融未放款金额 + private String loan_not_amount; + @ApiModelProperty("本日买断") + private String buyout_day; + + private String useOrgSid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportQuery.java index d16f85f4bd..1d072ad4ff 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportQuery.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportQuery.java @@ -17,6 +17,8 @@ public class DailyReportQuery implements Query { private String startTime; @ApiModelProperty("生成日期结束") private String endTime; - + @ApiModelProperty("分公司报表时传:分公司的sid") + private String useOrgSid; + @ApiModelProperty("事业部报表时传:组织sid全路径") private String orgPath; } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java index 836f2929fd..a370b57067 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java @@ -4,6 +4,9 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -110,4 +113,101 @@ public class DailyReportVo implements Vo { private String loan_not_amount; @ApiModelProperty("备注") private String remarks; + //=========================================================车型配置相关参数 + @ApiModelProperty("车身颜色") + private String carColor; + @ApiModelProperty("驾驶室规格") + private String specification; + @ApiModelProperty("燃料箱") + private String fuelTank; + @ApiModelProperty("导流罩") + private String baffleModel; + @ApiModelProperty("独立热源") + private String independentSources; + @ApiModelProperty("护轮罩") + private String tireCover; + @ApiModelProperty("鞍座") + private String saddle; + @ApiModelProperty("空调") + private String airConditioner; + @ApiModelProperty("更多配置") + private String otherConfig; + @ApiModelProperty("速比") + private String rearAxleRatio; + @ApiModelProperty("后桥") + private String rearAxleValue; + @ApiModelProperty("轮胎规格") + private String tireSize; + @ApiModelProperty("缓速器") + private String slowMachine; + @ApiModelProperty("后视镜") + private String rearViewMirror; + @ApiModelProperty("轴距") + private String wheelbase; + @ApiModelProperty("悬架(重汽、欧曼)") + private String suspension; + @ApiModelProperty("货箱(重汽、欧曼)") + private String packingCase; + @ApiModelProperty("座椅(陕汽、欧曼)") + private String seat; + @ApiModelProperty("轮毂材质(重汽)") + private String hubMaterial; + @ApiModelProperty("配置包(陕汽)") + private String configuringBao; + @ApiModelProperty("多媒体(陕汽)") + private String multimedia; + @ApiModelProperty("保险杠(欧曼)") + private String bumper; + @ApiModelProperty("离合器") + private String clutchValue; + @ApiModelProperty("方向机") + private String dirMachineValue; + @ApiModelProperty("前桥") + private String proponsValue; + @ApiModelProperty("门窗") + private String doorAndWindowValue; + @ApiModelProperty("门锁") + private String doorLockValue; + @ApiModelProperty("大灯") + private String headlightValue; + @ApiModelProperty("上车踏板") + private String boardPedalValue; + @ApiModelProperty("方向盘") + private String steerWheelValue; + @ApiModelProperty("蓄电池") + private String storagBatteryValue; + @ApiModelProperty("舒适包") + private String comfortPackValue; + @ApiModelProperty("危化品基础包") + private String cheBasePackValue; + @ApiModelProperty("节油包") + private String savingPackValue; + @ApiModelProperty("便捷包") + private String conPackValue; + + + //车型================================== + @ApiModelProperty("车辆功能") + private String vehicleTypeValue; + @ApiModelProperty("排放标准") + private String emissionStandardValue; + @ApiModelProperty("产品线") + private String productLineValue; + @ApiModelProperty("驱动") + private String driveFormValue; + @ApiModelProperty("马力") + private String powerValue; + @ApiModelProperty("变速箱类型") + private String tranCaseTypeValue; + @ApiModelProperty("变速箱") + private String gearboxTypeValue; + @ApiModelProperty("燃料种类") + private String fuelTypeValue; + @ApiModelProperty("车辆版本") + private String vehicleVersionValue; + @ApiModelProperty("发动机型号") + private String engineTypeValue; + @ApiModelProperty("规格型号") + private String specifications; + } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java index 32fc480298..d3db6b6027 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java @@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.reportcenter" }) @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.base"}) public class ReportcenterApplication { public static void main(String[] args) { diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java index 53a7d6cd93..397e527bbd 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java @@ -4,11 +4,17 @@ 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.base.api.basemodelconfig.BaseModelConfig; +import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyParameterVo; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReport; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -19,4 +25,12 @@ public interface DailyReportMapper extends BaseMapper { IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage listPage3(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + List selectByParameters(String useOrgSid); + + BaseVehicleModel selectModel(String modelSid); + + BaseModelConfig selectConfig(String configSid); + + IPage listPage3_1(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index fc8b9b85b0..71e55f567e 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -2,12 +2,14 @@ + + + + + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java index fc6f0a6632..842521e04e 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java @@ -1,8 +1,6 @@ package com.yxt.anrui.reportcenter.biz.dailyreport; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportFeign; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportQuery; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo; +import com.yxt.anrui.reportcenter.api.dailyreport.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -11,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -31,6 +31,11 @@ public class DailyReportRest implements DailyReportFeign { return rb.success().setData(pv); } + @Override + public ResultBean> selectListByUseOrgSid(String useOrgSid) { + return dailyReportService.selectListByUseOrgSid(useOrgSid); + } + @Override public ResultBean> listPage2(PagerQuery pagerQuery) { ResultBean rb = ResultBean.fireFail(); @@ -44,4 +49,25 @@ public class DailyReportRest implements DailyReportFeign { PagerVo pv = dailyReportService.listPage3(pagerQuery); return rb.success().setData(pv); } + + @Override + public ResultBean> listPage3_1(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dailyReportService.listPage3_1(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listPage2_1(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dailyReportService.listPage2_1(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listPage_1(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dailyReportService.listPage_1(pagerQuery); + return rb.success().setData(pv); + } } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index 10fd580623..756e33e4c7 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -1,11 +1,12 @@ package com.yxt.anrui.reportcenter.biz.dailyreport; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig; +import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReport; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportQuery; -import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo; +import com.yxt.anrui.reportcenter.api.dailyreport.*; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -15,6 +16,9 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.lang.reflect.Field; +import java.util.*; + /** * @description: * @author: dimengzhe @@ -37,13 +41,56 @@ public class DailyReportService extends MybatisBaseService= date_format('" + createTimeStart + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')" ); - if (StringUtils.isNotBlank(query.getOrgPath())) { - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); - qw.eq("useOrgSid", useOrgSid); + String useOrgSid = query.getUseOrgSid(); + qw.eq("useOrgSid", useOrgSid); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + for (int i = 0; i < parameterVoList.size(); i++) { + DailyParameterVo dailyParameterVo = parameterVoList.get(i); + String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1); + if ("base_model_config".equals(tableName)) { + qw.groupBy("bmc." + dailyParameterVo.getColName()); + } else if ("base_vehicle_model".equals(tableName)) { + qw.groupBy("bm." + dailyParameterVo.getColName()); + } } } IPage page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPage(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportVo dailyReportVo = recordList.get(i); + String modelSid = dailyReportVo.getVehModelSid(); + String configSid = dailyReportVo.getVehMConfigSid(); + BaseVehicleModel baseVehicleModel = baseMapper.selectModel(modelSid); + BaseModelConfig baseModelConfig = baseMapper.selectConfig(configSid); + BeanUtil.copyProperties(baseModelConfig, dailyReportVo); + BeanUtil.copyProperties(baseVehicleModel, dailyReportVo); + /*List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + for (int j = 0; j < parameterVoList.size(); j++) { + Map map = new HashMap<>(); + DailyParameterVo dailyParameterVo = parameterVoList.get(j); + String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1); + if("base_model_config".equals(tableName)){ + try { + Field field = baseModelConfig.getClass().getDeclaredField(dailyParameterVo.getColName()); + field.setAccessible(true); + map.put(dailyParameterVo.getColName(),field.get(baseModelConfig)); + + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + } + + + }else if("base_vehicle_model".equals(tableName)){ + + } + }*/ + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -61,8 +108,9 @@ public class DailyReportService extends MybatisBaseService stringList = Arrays.asList(query.getOrgPath().split("/")); + String sybOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("busOrgSid", sybOrgSid); } } IPage page = PagerUtil.queryToPage(pagerQuery); @@ -88,4 +136,72 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public ResultBean> selectListByUseOrgSid(String useOrgSid) { + ResultBean> rb = ResultBean.fireFail(); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + return rb.success().setData(parameterVoList); + } + + public PagerVo listPage3_1(PagerQuery pagerQuery) { + DailyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //生成日期开始时间 + String createTimeStart = query.getStartTime(); + //生成日期结束时间 + String createTimeEnd = query.getEndTime(); + qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')" + ); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage3_1(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo listPage2_1(PagerQuery pagerQuery) { + DailyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //生成日期开始时间 + String createTimeStart = query.getStartTime(); + //生成日期结束时间 + String createTimeEnd = query.getEndTime(); + qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')" + ); + //查询事业部 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String sybOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("busOrgSid", sybOrgSid); + } + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage3_1(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo listPage_1(PagerQuery pagerQuery) { + DailyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //生成日期开始时间 + String createTimeStart = query.getStartTime(); + //生成日期结束时间 + String createTimeEnd = query.getEndTime(); + qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')" + ); + String useOrgSid = query.getUseOrgSid(); + qw.eq("useOrgSid", useOrgSid); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage3_1(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } } From 9d7691f19bc432d4be79787a271686632838463b Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 7 Nov 2023 17:40:57 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anrui-reportcenter/anrui-reportcenter-biz/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml index a6884a084f..1a387a5bc3 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml @@ -110,6 +110,13 @@ 1.1.1 + + com.yxt.anrui + anrui-base-api + 0.0.1-SNAPSHOT + compile + + From f021c31ac3916dd005d937fe4513241abc23043a Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 7 Nov 2023 17:47:50 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E8=BF=98=E6=AC=BE=E6=8F=90=E9=86=92?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanCreateSchedulePdfVo.java | 1 + .../LoanRepaymentSchedule.java | 2 + .../ScanRepaymentVo.java | 27 ++ .../riskcenter/RiskCenterApplication.java | 2 + .../LoanRepaymentScheduleMapper.java | 5 + .../LoanRepaymentScheduleMapper.xml | 15 + .../LoanRepaymentScheduleService.java | 270 +++++++++++++++++- .../ScheduledRepaymentService.java | 217 ++++++++++++++ .../LoanWarrantInformationService.java | 4 + 9 files changed, 542 insertions(+), 1 deletion(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/ScanRepaymentVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/ScheduledRepaymentService.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java index c05f58907e..e1a4ad897b 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java @@ -16,6 +16,7 @@ import java.util.Date; @Data public class LoanCreateSchedulePdfVo implements Vo { + private String userSid; @ApiModelProperty("销售订单sid") private String salesOrderSid; @ApiModelProperty("金融方案sid") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java index c5d13da537..bf98c52aaf 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java @@ -44,6 +44,8 @@ public class LoanRepaymentSchedule extends BaseEntity { private String mainPeriod; @ApiModelProperty("主产品首期还款日") private Date mainRepayDate; + @ApiModelProperty("主产品末期还款日") + private Date mainLastDate; @ApiModelProperty("主产品首期月还") private BigDecimal mainFirstRepay; @ApiModelProperty("主产品期间月还") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/ScanRepaymentVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/ScanRepaymentVo.java new file mode 100644 index 0000000000..0d555bec6a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/ScanRepaymentVo.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymentschedule; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/7 11:19 + */ +@Data +public class ScanRepaymentVo { + + private String sid; + private String sendSid; + private String staffSid; + private String mainStartDate; + private String borrowerSid; + private String mainPeriod; + private String otherPeriod; + private String otherStartDate; + private String borrowerName; + HashSet hashSet = new HashSet<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java index 6baa88dd68..ec70a4e25e 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java @@ -5,6 +5,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; /** * @author dimengzhe @@ -14,6 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.riskcenter" }) @EnableDiscoveryClient +@EnableScheduling @EnableFeignClients(basePackages = {"com.yxt.anrui.fin","com.yxt.anrui.portal","com.yxt.anrui.buscenter","com.yxt.messagecenter","com.yxt.anrui.crm","com.yxt.anrui.base","com.yxt.anrui.flowable"}) public class RiskCenterApplication { diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java index 22a2f7be91..e6c6544a60 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java @@ -8,10 +8,13 @@ import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; +import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.ScanRepaymentVo; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @description: @@ -25,4 +28,6 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper getRepaymentPlanList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List scanRepayment(); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml index e3cfd860d2..2ff68ab780 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml @@ -24,4 +24,19 @@ ${ew.sqlSegment} + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index 59e4841eb9..2ef5f0491d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -4,9 +4,15 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.api.R; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.buscenter.api.bushandover.BusHandover; +import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.SolutionsDetailsssVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign; @@ -15,10 +21,16 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusDataListPdfVo; import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusVehicleDataHandoverPdfVo; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; +import com.yxt.anrui.riskcenter.api.loanmortgageinformationtransact.LoanMortgageInformationTransactDto; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; @@ -28,23 +40,32 @@ import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformatio import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo; import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService; import com.yxt.anrui.riskcenter.biz.loansolutionsotherpolicy.LoanSolutionsOtherpolicyService; +import com.yxt.anrui.riskcenter.biz.loanwarrantinformation.LoanWarrantInformationService; import com.yxt.common.base.config.component.DocPdfComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.MsgWs; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.WordConvertUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessagePushTransferDto; +import com.yxt.messagecenter.api.messagelist.MessageListDto; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.io.InputStream; import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; @@ -74,6 +95,14 @@ public class LoanRepaymentScheduleService extends MybatisBaseService repayDate = returnRepayDate(dto.getMainRepayDate(), dto.getMainPeriod()); + if (!repayDate.isEmpty()) { + String lastDate = repayDate.get(repayDate.size() - 1); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date date = sdf.parse(lastDate); + entity.setMainLastDate(date); + } catch (ParseException e) { + e.printStackTrace(); + } + } baseMapper.insert(entity); + // 使用多线程推送站内信发送短信 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + LoanRepaymentSchedule schedule = fetchBySid(entity.getSid()); + Future future1 = pool.submit(() -> { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != schedule) { + String vinNo = ""; + String customerPhone = ""; + String month = ""; + String day = ""; + String period = ""; + String customer = ""; + String staffSid = ""; + String sendSid = ""; + String sendName = ""; + String staffName = ""; + String sendDept = ""; + String sendDeptSid = ""; + if (StringUtils.isNotBlank(schedule.getCreateBySid())) { + sendSid = schedule.getCreateBySid(); + SysUserVo userVo = sysUserFeign.fetchBySid(sendSid).getData(); + if (null != userVo) { + sendName = userVo.getName(); + sendDept = userVo.getOrganizationName(); + sendDeptSid = userVo.getOrganizationSid(); + } + } + if (StringUtils.isNotBlank(schedule.getStaffSid())) { + staffSid = schedule.getStaffSid(); + } + if (StringUtils.isNotBlank(schedule.getStaffName())) { + staffName = schedule.getStaffName(); + } + if (StringUtils.isNotBlank(schedule.getBorrowerName())) { + customer = schedule.getBorrowerName(); + } + if (StringUtils.isNotBlank(schedule.getMainPeriod())) { + period = schedule.getMainPeriod(); + } + if (StringUtils.isNotBlank(schedule.getVinNo())) { + vinNo = schedule.getVinNo(); + } + if (StringUtils.isNotBlank(schedule.getBorrowerSid())) { + String borrowerSid = schedule.getBorrowerSid(); + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(borrowerSid).getData(); + if (null != borrowerDetailsVo) { + if (StringUtils.isNotBlank(borrowerDetailsVo.getCustomSid())) { + CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(borrowerDetailsVo.getCustomSid()).getData(); + if (null != customerTempVo) { + if (StringUtils.isNotBlank(customerTempVo.getMobile())) { + customerPhone = customerTempVo.getMobile(); + } + } + } + } + } + if (schedule.getMainRepayDate() != null) { + String format = sdf.format(schedule.getMainRepayDate()); + String[] split = format.split("-"); + String sMonth = split[1]; + String sDay = split[2]; + if (Integer.parseInt(sMonth) < 10) { + sMonth = sMonth.replace("0", ""); + } + if (Integer.parseInt(sDay) < 10) { + sDay = sDay.replace("0", ""); + } + month = sMonth; + day = sDay; + } + String contentCustomer = "尊敬的客户:您的车架号为" + vinNo + "车辆,首期还款日为" + month + "月" + day + "日,期数为" + period + "期,每月" + day + "日为您的还款日,请及时还款。"; + String res = MsgWs.SendWaitWorkMsg(customerPhone, contentCustomer); + System.out.println("还款发送短信:" + res); + System.out.println(contentCustomer); + String contentStaff = "您的贷款客户" + customer + "的还款计划表已生成"; + //消息推送 + MessagePushTransferDto messagePushTransferDto = new MessagePushTransferDto(); + messagePushTransferDto.setMsgTypeSid("bc59c198-2d51-458f-913e-cbd8d7ef4799"); + messagePushTransferDto.setMsgType("业务"); + messagePushTransferDto.setMsgTitle("生成还款计划表"); + messagePushTransferDto.setMsgContent(contentStaff); + messagePushTransferDto.setMsgSource("还款计划表"); + messagePushTransferDto.setSenderSid(sendSid); + messagePushTransferDto.setSenderName(sendName); + messagePushTransferDto.setSenderDeptSid(sendDeptSid); + messagePushTransferDto.setSenderDeptName(sendDept); + messagePushTransferDto.setBusinessSid(schedule.getSid()); + messagePushTransferDto.setReceiveSids(staffSid); + messagePushTransferDto.setReceiveNames(staffName); + messageFeign.pushTransferMessage(messagePushTransferDto); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } } // 生成还款计划表pdf String template = "/template/"; @@ -297,6 +442,128 @@ public class LoanRepaymentScheduleService extends MybatisBaseService returnRepayDate(String firstDate, String period) { + String[] split = firstDate.split("-"); + String year = split[0]; + String month = split[1]; + String day = split[2]; + List dateList = new ArrayList<>(); + int p = Integer.parseInt(period); + String date = ""; + String temp = ""; + for (int i = 1; i <= p; i++) { + if (Integer.parseInt(month) < 10 && !month.equals("01")) { + temp = "0"; + } else { + temp = ""; + } + date = year + "-" + temp + month + "-" + day; + int m = Integer.parseInt(month); + month = String.valueOf(++m); + if (Integer.parseInt(month) > 12) { + int y = Integer.parseInt(year); + year = String.valueOf(++y); + month = "01"; + } + dateList.add(date); + } + return dateList; + } + + /** + * 返回三天之前时间 + * + * @param day + * @return + */ + public String beforeThreeDay(String day) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date date = sdf.parse(day); + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.DATE, -3); + return sdf.format(c.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + return ""; + } + + /** + * 返回三天之后时间 + * + * @param day + * @return + */ + public String afterThreeDay(String day) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date date = sdf.parse(day); + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.DATE, 3); + return sdf.format(c.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + return ""; + } + + /** + * 返回提醒日期 + * + * @param firstDate + * @param period + * @return + */ + public List returnDayList(String firstDate, String period) { + String[] split = firstDate.split("-"); + String year = split[0]; + String month = split[1]; + String day = split[2]; + List dateList = new ArrayList<>(); + int p = Integer.parseInt(period); + String date = ""; + String temp = ""; + for (int i = 1; i <= p; i++) { + if (Integer.parseInt(month) < 10 && !month.equals("01")) { + temp = "0"; + } else { + temp = ""; + } + date = year + "-" + temp + month + "-" + day; + int m = Integer.parseInt(month); + month = String.valueOf(++m); + if (Integer.parseInt(month) > 12) { + int y = Integer.parseInt(year); + year = String.valueOf(++y); + month = "01"; + } + dateList.add(date); + } + List finalList = new ArrayList<>(); + if (!dateList.isEmpty()) { + for (String s : dateList) { + String finalDay = beforeThreeDay(s); + finalList.add(finalDay); + } + } + return finalList; + } + + public List scanRepaymentVos() { + List schedules = baseMapper.scanRepayment(); + return schedules; + } + /** * 还款计划表多台回显 * @@ -586,6 +853,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService getRepaymentPlanList(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/ScheduledRepaymentService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/ScheduledRepaymentService.java new file mode 100644 index 0000000000..7f230e94d7 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/ScheduledRepaymentService.java @@ -0,0 +1,217 @@ +package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; +import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.ScanRepaymentVo; +import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; +import com.yxt.anrui.riskcenter.biz.loanwarrantinformation.LoanWarrantInformationService; +import com.yxt.common.base.utils.MsgWs; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessagePushTransferDto; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; + +/** + * @author Administrator + * @description + * @date 2023/11/7 14:02 + */ +@Component +public class ScheduledRepaymentService { + + @Autowired + private LoanRepaymentScheduleService loanRepaymentScheduleService; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; + @Autowired + private CrmCustomerTempFeign crmCustomerTempFeign; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; + @Autowired + private LoanWarrantInformationService loanWarrantInformationService; + + /** + * 定时任务每天扫描还款日期发送信息 + */ + //@Scheduled(cron = "0 0 0 * * ?") +// @Scheduled(cron = "0 0/5 16 * * ?") + // @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次 +// @Scheduled(cron = "0 0/5 * * * ?") + public void scanRepayment() { + List schedules = loanRepaymentScheduleService.scanRepaymentVos(); + schedules.removeAll(Collections.singleton(null)); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String formatDate = sdf.format(new Date()); + if (!schedules.isEmpty()) { + for (ScanRepaymentVo entity : schedules) { + HashSet hashSet = new HashSet<>(); + List mainList = new ArrayList<>(); + if (StringUtils.isNotBlank(entity.getMainStartDate())) { + String mainStartDate = entity.getMainStartDate(); + String mainPeriod = entity.getMainPeriod(); + mainList = loanRepaymentScheduleService.returnDayList(mainStartDate, mainPeriod); + } + List otherList = new ArrayList<>(); + if (StringUtils.isNotBlank(entity.getOtherStartDate())) { + String otherStartDate = entity.getOtherStartDate(); + String otherPeriod = entity.getOtherPeriod(); + otherList = loanRepaymentScheduleService.returnDayList(otherStartDate, otherPeriod); + } + mainList.addAll(otherList); + if (!mainList.isEmpty()) { + for (String s : mainList) { + hashSet.add(s); + } + entity.setHashSet(hashSet); + } + if (hashSet.contains(formatDate)) { + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(entity.getSid()); + if (null != schedule) { + String vinNo = ""; + String customerPhone = ""; + String month = ""; + String day = ""; + String period = ""; + String customer = ""; + String staffSid = ""; + String sendSid = ""; + String sendName = ""; + String staffName = ""; + String sendDept = ""; + String sendDeptSid = ""; + String vinMark = ""; + StringBuffer sbVinMark = new StringBuffer(); + if (StringUtils.isNotBlank(schedule.getCreateBySid())) { + sendSid = schedule.getCreateBySid(); + SysUserVo userVo = sysUserFeign.fetchBySid(sendSid).getData(); + if (null != userVo) { + sendName = userVo.getName(); + sendDept = userVo.getOrganizationName(); + sendDeptSid = userVo.getOrganizationSid(); + } + } + if (StringUtils.isNotBlank(schedule.getStaffSid())) { + staffSid = schedule.getStaffSid(); + } + if (StringUtils.isNotBlank(schedule.getStaffName())) { + staffName = schedule.getStaffName(); + } + if (StringUtils.isNotBlank(schedule.getBorrowerName())) { + customer = schedule.getBorrowerName(); + } + if (StringUtils.isNotBlank(schedule.getMainPeriod())) { + period = schedule.getMainPeriod(); + } + if (StringUtils.isNotBlank(schedule.getVinNo())) { + vinNo = schedule.getVinNo(); + } + if (StringUtils.isNotBlank(schedule.getBorrowerSid())) { + String borrowerSid = schedule.getBorrowerSid(); + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(borrowerSid).getData(); + if (null != borrowerDetailsVo) { + if (StringUtils.isNotBlank(borrowerDetailsVo.getCustomSid())) { + CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(borrowerDetailsVo.getCustomSid()).getData(); + if (null != customerTempVo) { + if (StringUtils.isNotBlank(customerTempVo.getMobile())) { + customerPhone = customerTempVo.getMobile(); + } + } + } + } + String salesOrderSid = schedule.getSalesOrderSid(); + List orderVehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndDkrSid(salesOrderSid, borrowerSid).getData(); + if (!orderVehicles.isEmpty()) { + for (BusSalesOrderVehicle orderVehicle : orderVehicles) { + LoanWarrantInformation loanWarrantInformation = loanWarrantInformationService.fetchByBusVinSid(orderVehicle.getSid()); + if (null != loanWarrantInformation) { + if (StringUtils.isNotBlank(loanWarrantInformation.getVehicleMark())) { + sbVinMark.append(loanWarrantInformation.getVehicleMark()).append(","); + } + } + } + if (sbVinMark.length() > 0) { + sbVinMark.delete(sbVinMark.length() - 1, sbVinMark.length()); + vinMark = sbVinMark.toString(); + } + } + } + String afterThreeDay = loanRepaymentScheduleService.afterThreeDay(formatDate); + if (StringUtils.isNotBlank(afterThreeDay)) { + String[] split = afterThreeDay.split("-"); + String sMonth = split[1]; + String sDay = split[2]; + if (Integer.parseInt(sMonth) < 10) { + sMonth = sMonth.replace("0", ""); + } + if (Integer.parseInt(sDay) < 10) { + sDay = sDay.replace("0", ""); + } + month = sMonth; + day = sDay; + } + String contentCustomer = "尊敬的客户:您的车牌号为" + vinMark + "车辆,还款日为" + month + "月" + day + "日,请及时还款。"; + String res = MsgWs.SendWaitWorkMsg(customerPhone, contentCustomer); + System.out.println("还款发送短信:" + res); + System.out.println(contentCustomer); + if (StringUtils.isNotBlank(entity.getMainStartDate())) { + String beforeThreeDay = loanRepaymentScheduleService.beforeThreeDay(entity.getMainStartDate()); + if (beforeThreeDay.equals(formatDate)) { + String m = ""; + String d = ""; + String[] split = entity.getMainStartDate().split("-"); + String fmonth = split[1]; + String fday = split[2]; + if (Integer.parseInt(fmonth) < 10) { + m = fmonth.replace("0", ""); + } else { + m = fmonth; + } + if (Integer.parseInt(fday) < 10) { + d = fday.replace("0", ""); + } else { + d = fday; + } + String contentStaff = "您的贷款客户" + customer + "的车辆首期还款日为" + m + "月" + d + "日,请及时提醒客户。"; + System.out.println(contentStaff); + //消息推送 + MessagePushTransferDto messagePushTransferDto = new MessagePushTransferDto(); + messagePushTransferDto.setMsgTypeSid("bc59c198-2d51-458f-913e-cbd8d7ef4799"); + messagePushTransferDto.setMsgType("业务"); + messagePushTransferDto.setMsgTitle("提醒客户还款"); + messagePushTransferDto.setMsgContent(contentStaff); + messagePushTransferDto.setMsgSource("还款计划表"); + messagePushTransferDto.setSenderSid(sendSid); + messagePushTransferDto.setSenderName(sendName); + messagePushTransferDto.setSenderDeptSid(sendDeptSid); + messagePushTransferDto.setSenderDeptName(sendDept); + messagePushTransferDto.setBusinessSid(schedule.getSid()); + messagePushTransferDto.setReceiveSids(staffSid); + messagePushTransferDto.setReceiveNames(staffName); + messageFeign.pushTransferMessage(messagePushTransferDto); + } + } + } + } + } + } + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanwarrantinformation/LoanWarrantInformationService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanwarrantinformation/LoanWarrantInformationService.java index e9e94d18d8..834d2dc0f4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanwarrantinformation/LoanWarrantInformationService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanwarrantinformation/LoanWarrantInformationService.java @@ -69,6 +69,10 @@ public class LoanWarrantInformationService extends MybatisBaseService listPage(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); LoanWarrantInformationQuery pagerQuery = pq.getParams(); From d5250b30f2eb24e683528e01159a5592ea1403f8 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Tue, 7 Nov 2023 18:16:19 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E6=B6=88=E8=B4=B7=E7=B3=BB=E5=88=97?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=96=B0=E8=BD=A6=E4=B9=B0=E5=8D=96=E5=90=88?= =?UTF-8?q?=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commoncontract/CommonContractFeign.java | 3 + .../api/commoncontract/PrintConfirmDto.java | 5 + .../api/commoncontract/xcmmContractQuery.java | 44 ++ .../commoncontract/CommonContractRest.java | 5 + .../commoncontract/CommonContractService.java | 392 +++++++++++++++++- .../FinBillApplicationService.java | 17 +- .../LoanHomevisitPrepFeign.java | 2 +- .../LoanHomevisitPrepFeignFallback.java | 2 +- .../LoanHomevisitPrepRest.java | 3 +- .../LoanHomevisitPrepService.java | 37 +- 10 files changed, 485 insertions(+), 25 deletions(-) create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/xcmmContractQuery.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java index adc9274d3b..1de957286f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java @@ -155,6 +155,9 @@ public interface CommonContractFeign { @PostMapping("/printConfirm") public ResultBean> printConfirm(@RequestBody PrintConfirmDto dto); + @ApiOperation(value = "新车买卖合同打印pdf") + @PostMapping("/xcmmContract") + public ResultBean> xcmmContract(@RequestBody PrintConfirmDto dto); /******************************************************新车买卖合同审核(流程)******************************************************/ diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java index 0314497ad1..3101f7c853 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @author liuguohui * @version 1.0 @@ -24,6 +26,9 @@ public class PrintConfirmDto implements Dto { @ApiModelProperty("客户sid") private String customerSid; + @ApiModelProperty("贷款人sid") + private String borrowerSid; + @ApiModelProperty("合同编号") private String contractNo; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/xcmmContractQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/xcmmContractQuery.java new file mode 100644 index 0000000000..93daa09486 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/xcmmContractQuery.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.base.api.commoncontract; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("新车买卖合同条件") +@Data +public class xcmmContractQuery implements Query { + + @ApiModelProperty("合同sid") + private String contractSid; + + @ApiModelProperty("合同编号") + private String contractNo; + + @ApiModelProperty("销售订单sid") + private String saleOrderSid; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("是否优惠:1是0否") + private String discountKey; + + @ApiModelProperty("是否在保险公司购买保险:1是0否") + private String insuranceKey; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("甲方主体") + private String partyA; + + @ApiModelProperty("乙方主体") + private String partyB; + + @ApiModelProperty("预估报价方案") + private String revalencySchemeKey; +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java index 53ae886ab7..12716627a0 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java @@ -441,6 +441,11 @@ public class CommonContractRest implements CommonContractFeign { return commonContractService.printConfirm(dto); } + @Override + public ResultBean> xcmmContract(PrintConfirmDto dto) { + return commonContractService.xcmmContract(dto); + } + public List getSheetVal(Sheet sheet, int[] resultCell) throws ParseException { SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); List punishmentList = new ArrayList<>(); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index 444e97c2b4..30cd23a7ac 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -47,6 +47,7 @@ import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInfor import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign; import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerFileDDto; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; @@ -801,29 +802,56 @@ public class CommonContractService extends MybatisBaseService map, AppOrderDetailsVo appOrderDetailsVo) { String ftl = ""; AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo(); + AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); + //车架号集合 + List stringList = new ArrayList<>(); //查询台数 - String num = priceInfo.getNumber(); + String num = ""; + if (StringUtils.isNotBlank(dto.getBorrowerSid())){ + List busSalesOrderVehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndDkrSid(dto.getBusSid(),dto.getBorrowerSid()).getData(); + num = String.valueOf(busSalesOrderVehicles.size()); + for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { + stringList.add(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8)); + } + }else { + num = priceInfo.getNumber(); + stringList = orderModelInfoVo.getOrderVinList(); + } //单台成交价 String transactionPrice = priceInfo.getSingleFinalPrice(); String remarks = ""; if ("现车".equals(appOrderDetailsVo.getOrderType())) { //获取模板 ftl = "existingvehicles"; - AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); - List stringList = orderModelInfoVo.getOrderVinList(); if (stringList.size() > 0) { remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList); } else { remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。"; } } else { - map.put("dayOne", appOrderDetailsVo.getDepositInfo().getPayDepositDays()); + map.put("dayOne", new BigDecimal(appOrderDetailsVo.getDepositInfo().getDeposit()).multiply(new BigDecimal(num)).toString()); //获取模板 ftl = "orderacar"; remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。"; } map.put("remarks", remarks); - + //车价合计 + String totalPrice = new BigDecimal(priceInfo.getSingleFinalPrice()).multiply(new BigDecimal(num)).toString(); + map.put("totalPrice", totalPrice); + //车价合计大写 + String priceRemarks = ""; + if (StringUtils.isNotBlank(totalPrice)) { + priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice).doubleValue())); + } + map.put("priceRemarks", priceRemarks); + //订金合计 + AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo(); + String depositTotal = new BigDecimal(depositInfo.getDeposit()).multiply(new BigDecimal(num)).toString(); + if ("0".equals(depositTotal)) { + map.put("depositTotal", "/"); + } else { + map.put("depositTotal", depositTotal); + } InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); //生成word文件名 String targetPath = docPdfComponent.getUploadTemplateUrl(); @@ -845,29 +873,56 @@ public class CommonContractService extends MybatisBaseService map, AppOrderDetailsVo appOrderDetailsVo) { String ftl = ""; AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo(); + AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); + //车架号集合 + List stringList = new ArrayList<>(); //查询台数 - String num = priceInfo.getNumber(); + String num = ""; + if (StringUtils.isNotBlank(dto.getBorrowerSid())){ + List busSalesOrderVehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndDkrSid(dto.getBusSid(),dto.getBorrowerSid()).getData(); + num = String.valueOf(busSalesOrderVehicles.size()); + for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { + stringList.add(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8)); + } + }else { + num = priceInfo.getNumber(); + stringList = orderModelInfoVo.getOrderVinList(); + } //单台成交价 String transactionPrice = priceInfo.getSingleFinalPrice(); String remarks = ""; if ("现车".equals(appOrderDetailsVo.getOrderType())) { //获取模板 - ftl = "existingvehicles2"; - AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); - List stringList = orderModelInfoVo.getOrderVinList(); + ftl = "existingvehicles"; if (stringList.size() > 0) { remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList); } else { remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。"; } } else { - map.put("dayOne", appOrderDetailsVo.getDepositInfo().getPayDepositDays()); + map.put("dayOne", new BigDecimal(appOrderDetailsVo.getDepositInfo().getDeposit()).multiply(new BigDecimal(num)).toString()); //获取模板 ftl = "orderacar"; remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。"; } map.put("remarks", remarks); - + //车价合计 + String totalPrice = new BigDecimal(priceInfo.getSingleFinalPrice()).multiply(new BigDecimal(num)).toString(); + map.put("totalPrice", totalPrice); + //车价合计大写 + String priceRemarks = ""; + if (StringUtils.isNotBlank(totalPrice)) { + priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice).doubleValue())); + } + map.put("priceRemarks", priceRemarks); + //订金合计 + AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo(); + String depositTotal = new BigDecimal(depositInfo.getDeposit()).multiply(new BigDecimal(num)).toString(); + if ("0".equals(depositTotal)) { + map.put("depositTotal", "/"); + } else { + map.put("depositTotal", depositTotal); + } InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); //生成word文件名 String targetPath = docPdfComponent.getUploadTemplateUrl(); @@ -1617,6 +1672,319 @@ public class CommonContractService extends MybatisBaseService> xcmmContract(PrintConfirmDto dto) { + ResultBean> rb = ResultBean.fireFail(); + List list = new ArrayList<>(); + Map map = new HashMap<>(); + //客户信息 + CrmCustomerTemp crmCustomerTemp = crmCustomerTempFeign.fetchEntity(dto.getCustomerSid()).getData(); + //查询销售订单的信息 + ResultBean resultBean = busSalesOrderFeign.getSaleOrderDetails(dto.getBusSid()); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); + //查询销售订单的车型信息 + AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo(); + //根据车型sid查询车型的全称 + BaseVehicleModel baseVehicleModel = baseVehicleModelService.fetchBySid(appOrderModelInfoVo.getModelSid()); + BaseModelConfig baseModelConfig = baseModelConfigService.fetchBySid(appOrderModelInfoVo.getConfigSid()); + String modelName = "车型:"; + StringBuilder modeNameValue = new StringBuilder(); + //车型名称(小名):系列+驱动+功能+空格+版本 + if (StringUtils.isNotBlank(baseVehicleModel.getProductLineValue()) && !"-".equals(baseVehicleModel.getProductLineValue())) { + modeNameValue.append(baseVehicleModel.getProductLineValue()); + } + //驱动 + if (StringUtils.isNotBlank(baseVehicleModel.getDriveFormValue()) && !"-".equals(baseVehicleModel.getDriveFormValue())) { + modeNameValue.append(baseVehicleModel.getDriveFormValue()); + } + //功能 + if (StringUtils.isNotBlank(baseVehicleModel.getVehicleTypeValue()) && !"-".equals(baseVehicleModel.getVehicleTypeValue())) { + modeNameValue.append(baseVehicleModel.getVehicleTypeValue()); + } + //版本 + if (StringUtils.isNotBlank(baseVehicleModel.getVehicleVersionValue()) && !"-".equals(baseVehicleModel.getVehicleVersionValue())) { + modeNameValue.append(baseVehicleModel.getVehicleVersionValue()); + } + modelName = modelName + modeNameValue.toString(); + //车型全名称:发动机型号(空格)xxx马力+燃料+排放标准发动机、变速箱、缓速器、 + // 后桥(若存在“桥”字样后不带“后桥”)、速比、轴距、悬架(若存在“悬架”字样后不带“悬架”)、 + // 鞍座(若存在“鞍座”字样后不带“鞍座”)、燃料箱(若存在“油箱”字样后不带“燃料箱”)、轮胎(若存在“胎”字样后不带“轮胎”)、 + // 轮毂材质、护轮罩。换行 + //驾驶室+颜色驾驶室、导流罩、保险杠、后视镜、座椅、空调、独立热源、多媒体 + StringBuilder modelAllName = new StringBuilder(); + //发动机型号 + if (StringUtils.isNotBlank(baseVehicleModel.getEngineTypeValue()) && !"-".equals(baseVehicleModel.getEngineTypeValue())) { + modelAllName.append(baseVehicleModel.getEngineTypeValue()); + } + //马力 + if (StringUtils.isNotBlank(baseVehicleModel.getPowerValue()) && !"-".equals(baseVehicleModel.getPowerValue())) { + modelAllName.append(" ").append(baseVehicleModel.getPowerValue()).append("马力"); + } + //燃料 + if (StringUtils.isNotBlank(baseVehicleModel.getFuelTypeValue()) && !"-".equals(baseVehicleModel.getFuelTypeValue())) { + modelAllName.append(baseVehicleModel.getFuelTypeValue()); + } + //排放标准 + if (StringUtils.isNotBlank(baseVehicleModel.getEmissionStandardValue()) && !"-".equals(baseVehicleModel.getEmissionStandardValue())) { + modelAllName.append(baseVehicleModel.getEmissionStandardValue()); + } + modelAllName.append("发动机"); + //变速箱 + if (StringUtils.isNotBlank(baseVehicleModel.getGearboxTypeValue()) && !"-".equals(baseVehicleModel.getGearboxTypeValue())) { + modelAllName.append("、").append(baseVehicleModel.getGearboxTypeValue()).append("变速箱"); + } + //缓速器 + if (StringUtils.isNotBlank(baseModelConfig.getSlowMachine()) && !"-".equals(baseModelConfig.getSlowMachine())) { + modelAllName.append("、").append(baseModelConfig.getSlowMachine()); + } + //后桥 + if (StringUtils.isNotBlank(baseModelConfig.getRearAxleValue()) && !"-".equals(baseModelConfig.getRearAxleValue())) { + modelAllName.append("、").append(baseModelConfig.getRearAxleValue()); + if (!baseModelConfig.getRearAxleValue().contains("桥")) { + modelAllName.append("后桥"); + } + } + //速比 + if (StringUtils.isNotBlank(baseModelConfig.getRearAxleRatio()) && !"-".equals(baseModelConfig.getRearAxleRatio())) { + modelAllName.append("、").append(baseModelConfig.getRearAxleRatio()).append("速比"); + } + //轴距 + if (StringUtils.isNotBlank(baseModelConfig.getWheelbase()) && !"-".equals(baseModelConfig.getWheelbase())) { + modelAllName.append("、").append(baseModelConfig.getWheelbase()).append("mm轴距"); + } + //悬架 + if (StringUtils.isNotBlank(baseModelConfig.getSuspension()) && !"-".equals(baseModelConfig.getSuspension())) { + modelAllName.append("、").append(baseModelConfig.getSuspension()); + if (!baseModelConfig.getSuspension().contains("悬架")) { + modelAllName.append("悬架"); + } + } + //鞍座 + if (StringUtils.isNotBlank(baseModelConfig.getSaddle()) && !"-".equals(baseModelConfig.getSaddle())) { + modelAllName.append("、").append(baseModelConfig.getSaddle()); + if (!baseModelConfig.getSaddle().contains("鞍座")) { + modelAllName.append("鞍座"); + } + } + //燃料箱 + if (StringUtils.isNotBlank(baseModelConfig.getFuelTank()) && !"-".equals(baseModelConfig.getFuelTank())) { + modelAllName.append("、").append(baseModelConfig.getFuelTank()); + if (!baseModelConfig.getFuelTank().contains("油箱")) { + modelAllName.append("燃料箱"); + } + } + //轮胎 + if (StringUtils.isNotBlank(baseModelConfig.getTireSize()) && !"-".equals(baseModelConfig.getTireSize())) { + modelAllName.append("、").append(baseModelConfig.getTireSize()); + if (!baseModelConfig.getTireSize().contains("胎")) { + modelAllName.append("轮胎"); + } + } + //轮毂材质 + if (StringUtils.isNotBlank(baseModelConfig.getHubMaterial()) && !"-".equals(baseModelConfig.getHubMaterial())) { + modelAllName.append("、").append(baseModelConfig.getHubMaterial()); + } + //护轮罩 + if (StringUtils.isNotBlank(baseModelConfig.getTireCover()) && !"-".equals(baseModelConfig.getTireCover())) { + modelAllName.append("、").append(baseModelConfig.getTireCover()); + } + StringBuilder modelAllName2 = new StringBuilder(); + modelAllName2.append("\t"); + //驾驶室 + if (StringUtils.isNotBlank(baseModelConfig.getSpecification()) && !"-".equals(baseModelConfig.getSpecification())) { + modelAllName2.append(baseModelConfig.getSpecification()); + } + //颜色 + if (StringUtils.isNotBlank(baseModelConfig.getCarColor()) && !"-".equals(baseModelConfig.getCarColor())) { + modelAllName2.append("/").append(baseModelConfig.getCarColor()).append("驾驶室"); + } + //导流罩 + if (StringUtils.isNotBlank(baseModelConfig.getBaffleModel()) && !"-".equals(baseModelConfig.getBaffleModel())) { + modelAllName2.append("、").append(baseModelConfig.getBaffleModel()); + } + //保险杠 + if (StringUtils.isNotBlank(baseModelConfig.getBumper()) && !"-".equals(baseModelConfig.getBumper())) { + modelAllName2.append("、").append(baseModelConfig.getBumper()); + } + //后视镜 + if (StringUtils.isNotBlank(baseModelConfig.getRearViewMirror()) && !"-".equals(baseModelConfig.getRearViewMirror())) { + modelAllName2.append("、").append(baseModelConfig.getRearViewMirror()); + } + //座椅 + if (StringUtils.isNotBlank(baseModelConfig.getSeat()) && !"-".equals(baseModelConfig.getSeat())) { + modelAllName2.append("、").append(baseModelConfig.getSeat()); + if (!baseModelConfig.getSeat().contains("椅")) { + modelAllName2.append("座椅"); + } + } + //空调 + if (StringUtils.isNotBlank(baseModelConfig.getAirConditioner()) && !"-".equals(baseModelConfig.getAirConditioner())) { + modelAllName2.append("、").append(baseModelConfig.getAirConditioner()); + } + //独立热源 + if (StringUtils.isNotBlank(baseModelConfig.getIndependentSources()) && !"-".equals(baseModelConfig.getIndependentSources())) { + modelAllName2.append("、").append(baseModelConfig.getIndependentSources()); + } + //多媒体 + if (StringUtils.isNotBlank(baseModelConfig.getMultimedia()) && !"-".equals(baseModelConfig.getMultimedia())) { + modelAllName2.append("、").append(baseModelConfig.getMultimedia()); + } + //特殊配置说明 + if (StringUtils.isNotBlank(appOrderModelInfoVo.getSpecialInstructions())) { + modelAllName2.append("、").append("特殊配置说明:" + appOrderModelInfoVo.getSpecialInstructions()); + + } + modelAllName2.append("。"); + String modelConfig = "配置:" + modelAllName + "。"; + //上装:外廓尺寸+颜色+上装名称、板材厚度、板材材质、篷布滑道、冷藏冷机、自卸液压盖板、底板加热、更多配置 + if (appOrderDetailsVo.getTopInfo() != null) { + AppOrderTopInfoVo topInfo = appOrderDetailsVo.getTopInfo(); + String topName = appOrderDetailsVo.getTopMessage(); + topName = "上装:制造尺寸与公告一致、" + topName + "。"; + //只有为公司采购时才显示 + if ("01".equals(topInfo.getBuyTypeKey())) { + map.put("topName", topName); + } + } + //优惠说明 + String discountDetail = ""; + if (StringUtils.isNotBlank(appOrderDetailsVo.getTotaldiscount())) { + List discountList = appOrderDetailsVo.getDiscountList(); + discountDetail = "优惠说明:赠送价值" + appOrderDetailsVo.getTotaldiscount() + "元优惠包。包括"; + for (int iii = 0; iii < discountList.size(); iii++) { + AppOrderDiscountListVo vv = discountList.get(iii); + String discountName = vv.getDiscountName(); + if (iii == discountList.size() - 1) { + discountDetail = discountDetail + "价值" + vv.getPrice() + "元" + discountName + vv.getNumber() + "份(每份包含" + vv.getDiscountExplain() + ")。"; + } else { + discountDetail = discountDetail + "价值" + vv.getPrice() + "元" + discountName + vv.getNumber() + "份(每份包含" + vv.getDiscountExplain() + "),"; + } + } + map.put("discountDetail", discountDetail); + } + //交纳订金 + AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo(); + String depositTotal = depositInfo.getDepositTotal(); + if ("02".equals(depositInfo.getDepositTypeKey())) { + ResultBean> listResultBean = busDepositFictitiousFeign.detailsList(depositInfo.getSid()); + List listResultBeanData = listResultBean.getData(); + listResultBeanData.removeAll(Collections.singleton(null)); + if (!listResultBeanData.isEmpty()) { + String depositRemarks = "(其中"; + for (int ii = 0; ii < listResultBeanData.size(); ii++) { + BusDepositFictitiousDetailsVo v = listResultBeanData.get(ii); + if (StringUtils.isNotBlank(v.getPayPath())) { + depositRemarks = depositRemarks + v.getDraweeName() + "在"; + } else { + depositRemarks = depositRemarks + "乙方在"; + } + if (ii == listResultBeanData.size() - 1) { + String b = v.getPaymentDate() + "转入甲方的" + v.getDeposit() + "元中的" + v.getPrice() + "元用于本次订金。"; + depositRemarks = depositRemarks + b; + } else { + String b = v.getPaymentDate() + "转入甲方的" + v.getDeposit() + "元中的" + v.getPrice() + "元用于本次订金,"; + depositRemarks = depositRemarks + b; + } + + } + depositRemarks = depositRemarks + ")"; + map.put("depositRemarks", depositRemarks); + } + } + map.put("createOrgName", dto.getCreateOrgName()); + map.put("modelConfigs", modelAllName2.toString()); + map.put("customerName", dto.getCustomerName()); + map.put("mobile", crmCustomerTemp.getMobile()); + map.put("idNo", crmCustomerTemp.getIDNumber()); + map.put("modelName", modelName); + map.put("modelConfig", modelConfig); + if ("1".equals(appOrderDetailsVo.getIsInsurance())) { + //保险说明 + String insuranceInfo = "保险说明:" + appOrderDetailsVo.getInsuranceInfoMessage() + "。"; + map.put("insuranceInfo", insuranceInfo); + } + //车辆交付地点 + //根据存放地点查询 + String address = ""; + AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo(); + if (StringUtils.isNotBlank(priceInfo.getPlannedPickUpLocationKey())) { + ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData(); + if (scmWarehouseVo != null) { + address = scmWarehouseVo.getWarehouseAttribute(); + } + } + map.put("address", address); + //查询是否有公告型号 + String publics = "公告型号:"; + String publicModel = appOrderModelInfoVo.getPublicModel(); + String publicModelSon = appOrderModelInfoVo.getPublicModelSon(); + if (StringUtils.isNotBlank(publicModel)) { + publics = publics + publicModel; + map.put("publicModel", publics + "。"); + if (StringUtils.isNotBlank(publicModelSon)) { + map.put("publicModel", publics + "、" + publicModelSon + "。"); + } + } + map.put("contractNo", dto.getContractNo()); + String url = ""; + PrintConfirmVo printConfirmVo = null; + String urlAll = ""; + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(1, 2, + 1000, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + + Future future1 = pool.submit(() -> { + return genCarSaleContract(dto, map, appOrderDetailsVo); + }); + Future future1_2 = pool.submit(() -> { + return genCarSaleContract2(dto, map, appOrderDetailsVo); + }); + Future future8 = null; + List filesList = new ArrayList<>(); + if (future1 != null) { + if (StringUtils.isNotBlank(future1.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future1.get()); + filesList.add(file); + } + } + if (future1_2 != null) { + if (StringUtils.isNotBlank(future1_2.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future1_2.get()); + filesList.add(file); + } + } + //合并pdf文件 + if (future8 != null) { + if (StringUtils.isNotBlank(future8.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get()); + filesList.add(file); + } + } + if (filesList.size() > 0) { + String typeName = appOrderDetailsVo.getPayType() + dto.getContractNo() + ".pdf"; + File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName); + System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName); + urlAll = typeName; + } + if (StringUtils.isNotBlank(urlAll)) { + printConfirmVo = new PrintConfirmVo(); + printConfirmVo.setName(MessageFormat.format("《{0}》", appOrderDetailsVo.getPayType() + dto.getContractNo())); + printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + urlAll); + list.add(printConfirmVo); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("生成文件失败:==========================" + e.getMessage()); + return rb.setMsg("生成文件失败"); + } + return rb.success().setData(list); + } + public ResultBean> printConfirm(PrintConfirmDto dto) { ResultBean> rb = ResultBean.fireFail(); List list = new ArrayList<>(); @@ -2983,4 +3351,6 @@ public class CommonContractService extends MybatisBaseService finBillApplicationDetailsVos = baseMapper.selectByContractNo(contractNo); - /*if (finBillApplicationDetailsVos != null) { - for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) { - String nodeState = finBillApplicationDetailsVo.getNodeState(); - if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) { - return rb.setMsg("该合同已有开票/欠款开票申请正在审批中,不可提交"); - } - } - }*/ //判断车辆是否发起过开票申请 List finBillVehicles = dto.getFinBillVehicles(); for (FinBillVehicleDto finBillVehicle : finBillVehicles) { @@ -1403,6 +1394,14 @@ public class FinBillApplicationService extends MybatisBaseService variables = new HashMap<>(); + //判断是否担保贷款,若是,则isdbdk网关参数为true=============添加 + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(contractNo).getData(); + variables.put("isdbdk", "2".equals(busSalesOrder.getPayTypeKey())); + //判断是否是高低开,若是,则isAdj网关参数为true=============添加 + BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData(); + if (data != null) { + variables.put("isAdj", !data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney())); + } Map appMap = new HashMap<>(); appMap.put("sid", businessSid); variables.put("app", appMap); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java index 672884bd71..2956623862 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java @@ -89,7 +89,7 @@ public interface LoanHomevisitPrepFeign { @ApiOperation("生成消贷合同") @PostMapping("/saveLoanCon") @ResponseBody - public ResultBean saveLoanCon(@RequestParam("sid") String sid, @RequestParam("conSetUpKey") String conSetUpKey); + public ResultBean saveLoanCon(@RequestParam("sid") String sid, @RequestParam("conSetUpKey") String conSetUpKey); @ApiOperation("确定贷款人推送家纺准备") @PostMapping("/saveHomeVisit") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeignFallback.java index d1a7e5c115..a38993e07c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeignFallback.java @@ -81,7 +81,7 @@ public class LoanHomevisitPrepFeignFallback implements LoanHomevisitPrepFeign { } @Override - public ResultBean saveLoanCon(String sid, String conSetUpKey) { + public ResultBean saveLoanCon(String sid, String conSetUpKey) { return null; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepRest.java index 1e3835ef5b..aa448cc1d8 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepRest.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.riskcenter.biz.loanhomevisitprep; +import com.yxt.anrui.base.api.commoncontract.PrintConfirmVo; import com.yxt.anrui.riskcenter.api.loanhomevisitprep.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -104,7 +105,7 @@ public class LoanHomevisitPrepRest implements LoanHomevisitPrepFeign { } @Override - public ResultBean saveLoanCon(String sid, String conSetUpKey) { + public ResultBean saveLoanCon(String sid, String conSetUpKey) { return loanHomevisitPrepService.saveLoanCon(sid, conSetUpKey); } 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 deec96b473..abd5f8009b 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 @@ -31,8 +31,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; +import com.yxt.anrui.base.api.commoncontract.CommonContract; +import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; +import com.yxt.anrui.base.api.commoncontract.PrintConfirmDto; +import com.yxt.anrui.base.api.commoncontract.PrintConfirmVo; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractDto; @@ -89,6 +95,8 @@ public class LoanHomevisitPrepService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanHomevisitPrepQuery query = pq.getParams(); @@ -235,8 +243,8 @@ public class LoanHomevisitPrepService extends MybatisBaseService saveLoanCon(String sid, String conSetUpKey) { + ResultBean rb = ResultBean.fireFail(); LoanHomevisitPrepVo loanHomevisitPrepVo = baseMapper.selectDetails(sid); List busSalesOrderVehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndDkrSid(loanHomevisitPrepVo.getSaleOrderSid(),loanHomevisitPrepVo.getBorrowerSid()).getData(); BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanHomevisitPrepVo.getSaleOrderSid()).getData(); @@ -286,6 +294,31 @@ public class LoanHomevisitPrepService extends MybatisBaseService resultBean = busSalesOrderFeign.getSaleOrderDetails(loanHomevisitPrepVo.getSaleOrderSid()); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); + //甲方 + String createOrgName = appOrderDetailsVo.getSalesOrg(); + printConfirmDto.setCreateOrgName(createOrgName); + List printConfirmVos = commonContractFeign.xcmmContract(printConfirmDto).getData(); + String xcmmContractUrl = printConfirmVos.get(0).getDownloadUrl(); return rb.success(); } From 5a9afd3ad1aeba2ff8008217521f201759a626a0 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 8 Nov 2023 10:23:51 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/loanfinpolicy/PolicyVo.java | 2 ++ .../api/loansolutions/LoanSolutions.java | 2 ++ .../loansolutions/app/SolutionssQuery.java | 1 + .../calculate/CalculateQuery.java | 1 + .../LoanSolutionsOtherpolicy.java | 2 ++ .../biz/loanfinpolicy/LoanFinPolicyMapper.xml | 5 +++- .../loansolutions/LoanSolutionsMapper.java | 5 ++++ .../biz/loansolutions/LoanSolutionsMapper.xml | 8 +++++++ .../loansolutions/LoanSolutionsService.java | 23 +++++++++++++++++++ .../api/risk/solutions/AppSolutionQuery.java | 3 +++ 10 files changed, 51 insertions(+), 1 deletion(-) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java index dd2514a5e5..35454cfaeb 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java @@ -47,5 +47,7 @@ public class PolicyVo implements Vo { private String bankShortName; private String guaranteeTypeKey; + @ApiModelProperty("01固定,02敞口") + private String bondTypeKey; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java index 57657f220a..6e20477bfa 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java @@ -67,6 +67,8 @@ public class LoanSolutions extends BaseEntity { private BigDecimal bondAmount; @ApiModelProperty("厂家贴息") private BigDecimal factoryDiscount; + @ApiModelProperty("实际贴息") + private BigDecimal actualDiscount; @ApiModelProperty("厂家贴息用途") private String factoryDiscountUse; @ApiModelProperty("厂家贴息用途") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java index 099d2572e2..7df43b88d5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java @@ -115,4 +115,5 @@ public class SolutionssQuery implements Query { private String nominalPrice; private String modelSid; + private String saleOrderSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java index 8052cb2a99..f330ee20aa 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateQuery.java @@ -13,6 +13,7 @@ import javax.validation.constraints.NotBlank; @Data public class CalculateQuery { + private String salesOrderSid; @ApiModelProperty("是否打包:1是0否") private String isPack; @ApiModelProperty("产品政策sid") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java index 9bc71ddd41..41b02be21d 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutionsotherpolicy/LoanSolutionsOtherpolicy.java @@ -84,6 +84,8 @@ public class LoanSolutionsOtherpolicy extends BaseEntity { private String downPayAmountsRatio; @ApiModelProperty("其他融贴息") private BigDecimal otherDiscount; + @ApiModelProperty("实际贴息") + private BigDecimal otherActualDiscount; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml index 4254cb9882..82a0293152 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml @@ -140,6 +140,7 @@ a.depositSettle, a.nominalPrice, a.vehAccidentAmount, + a.bondTypeKey, a.id from ( select lfp.policyName name, lfp.sid, lfp.bankShortName, @@ -157,6 +158,7 @@ lfp.depositSettle, lfp.nominalPrice, lfp.vehAccidentAmount, + lfp.bondTypeKey, lfp.id from loan_fin_policy lfp where lfp.filingState = 1 @@ -191,7 +193,8 @@ lfp.depositSettle, lfp.nominalPrice, lfp.vehAccidentAmount, - lfp.id + lfp.id, + lfp.bondTypeKey from loan_fin_policy lfp where lfp.filingState = 1 and isPack = #{isPack} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java index be324b5e13..7fa3e2b554 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loansolutions; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -31,6 +32,10 @@ public interface LoanSolutionsMapper extends BaseMapper { LoanSolutions selectByApplySid(String saleOrderSid); + LoanSolutions selectByBusSid(String busSid); + + BusSalesOrderPrice selectByPriceSid(String busSid); + /* IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml index 0f410ed30a..cf59ccbcc9 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml @@ -71,4 +71,12 @@ from loan_solutions where salesOrderSid = #{saleOrderSid} and isDelete = 0 + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index f1bc12ea62..faa6f73c3b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -8,6 +8,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.OrderSolutionVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; @@ -1208,6 +1209,18 @@ public class LoanSolutionsService extends MybatisBaseService resultBean = calculate(calculateQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java index 537d74a441..cc25ba2784 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java @@ -114,4 +114,7 @@ public class AppSolutionQuery implements Query { private String offsetPurchasetax; @ApiModelProperty("名义留购价") private String nominalPrice; + + private String saleOrderSid; + private String modelSid; } From a4e32f0e23c18e20f98c10fb2c2a9ad862c07679 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 8 Nov 2023 10:30:22 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E6=B6=88=E8=B4=B7=E7=B3=BB=E5=88=97?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=96=B0=E8=BD=A6=E4=B9=B0=E5=8D=96=E5=90=88?= =?UTF-8?q?=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/api/commoncontract/CommonContractFeignFallback.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java index cefc9f28e5..1e68b69d8e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java @@ -168,6 +168,11 @@ public class CommonContractFeignFallback implements CommonContractFeign { return rb.setMsg("接口anrui-base/commoncontract/printConfirm无法访问"); } + @Override + public ResultBean> xcmmContract(PrintConfirmDto dto) { + return null; + } + @Override public ResultBean submitCarSaleContractApprove(CarSaleContractApproveDto dto) { ResultBean rb = ResultBean.fireFail(); From d14415cd2479787bd1aa9d86c28a172e76e5c92e Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 8 Nov 2023 11:00:40 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bussalesorder/SolutionsDetailsssVo.java | 5 +++++ .../api/loansolutions/LoanSolutions.java | 5 +++-- .../api/loansolutions/SolutionDetailsDto.java | 5 +++++ .../loansolutions/app/SolutionsDetailsVo.java | 5 +++++ .../api/loansolutions/app/SolutionssDto.java | 5 +++++ .../api/loansolutions/app/SolutionssVo.java | 5 +++++ .../loansolutions/calculate/CalculateVo.java | 5 +++++ .../loansolutions/LoanSolutionsService.java | 20 +++++++++++++++++++ .../api/risk/solutions/AppSolutionVo.java | 5 +++++ .../risk/solutions/AppSolutionsDetailsVo.java | 5 +++++ .../api/risk/solutions/AppSolutionssDto.java | 5 +++++ 11 files changed, 68 insertions(+), 2 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java index a793b8c84f..3ebb5b6529 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java @@ -168,4 +168,9 @@ public class SolutionsDetailsssVo { @ApiModelProperty("实际首付比例") private String downPayAmountsRatio; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java index 6e20477bfa..28c011e27c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutions.java @@ -67,8 +67,7 @@ public class LoanSolutions extends BaseEntity { private BigDecimal bondAmount; @ApiModelProperty("厂家贴息") private BigDecimal factoryDiscount; - @ApiModelProperty("实际贴息") - private BigDecimal actualDiscount; + @ApiModelProperty("厂家贴息用途") private String factoryDiscountUse; @ApiModelProperty("厂家贴息用途") @@ -96,6 +95,8 @@ public class LoanSolutions extends BaseEntity { private int saleOrderState; @ApiModelProperty("贴息抵车款") private BigDecimal discountCar; + @ApiModelProperty("实际贴息") + private BigDecimal actualDiscount; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java index ed90f34560..85c33e7a6b 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java @@ -165,5 +165,10 @@ public class SolutionDetailsDto implements Dto { @ApiModelProperty("名义留购价") private String nominalPrice; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java index 697cc1210f..cd45aee7b1 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java @@ -184,5 +184,10 @@ public class SolutionsDetailsVo implements Vo { @ApiModelProperty("服务费") private String serviceChargeTypeValue; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java index 8ca5da3eef..e75f8b6b4e 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java @@ -164,4 +164,9 @@ public class SolutionssDto implements Dto { private String vehTotalPrice; @ApiModelProperty("名义留购价") private String nominalPrice; + + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java index 3cf6646b00..e4d4ef29cc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java @@ -175,5 +175,10 @@ public class SolutionssVo implements Vo { private String modelSid; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java index 3136487ac8..43dd99af79 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/calculate/CalculateVo.java @@ -59,5 +59,10 @@ public class CalculateVo { @ApiModelProperty("车辆总价") private String vehTotalPrice; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index faa6f73c3b..c04aea3c1b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -1326,14 +1326,17 @@ public class LoanSolutionsService extends MybatisBaseService Date: Wed, 8 Nov 2023 11:02:41 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/loantemplate/LoanTemplateSolutionsDto.java | 5 +++++ .../riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsDto.java index 4bc66ed470..938ceb1b45 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsDto.java @@ -157,5 +157,10 @@ public class LoanTemplateSolutionsDto implements Dto { @ApiModelProperty("名义留购价") private String nominalPrice; + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java index 001e3fb4f0..234566ec4a 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java @@ -155,4 +155,9 @@ public class LoanTemplateSolutionsVo implements Vo { private String serviceChargeTypeKey; @ApiModelProperty("服务费") private String serviceChargeTypeValue; + + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; } From 05f5ce0016ce64f0f23edc28fd8c9453fa49599a Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 8 Nov 2023 11:26:10 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/crmvehicledemand/AppCrmSolutions.java | 8 ++++++++ .../loansolutions/app/SolutionsDetailsVo.java | 3 +++ .../api/loansolutions/app/SolutionssVo.java | 3 +++ .../loantemplate/LoanTemplateSolutionsVo.java | 3 +++ .../loansolutions/LoanSolutionsService.java | 20 +++++++++++++++++++ .../api/risk/solutions/AppSolutionVo.java | 3 +++ .../risk/solutions/AppSolutionsDetailsVo.java | 3 +++ .../terminal/api/risk/solutions/ExtraVo.java | 3 +++ 8 files changed, 46 insertions(+) diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java index f2eb6b6ffd..8ea9e64bdb 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java @@ -169,4 +169,12 @@ public class AppCrmSolutions { private String serviceChargeTypeValue; private String modelSid; + + @ApiModelProperty("实际贴息") + private String actualDiscount; + @ApiModelProperty("其他融实际贴息") + private String otherActualDiscount; + + @ApiModelProperty("保证金类型01固定,02敞口") + private String bondTypeKey; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java index cd45aee7b1..7fe6d878a6 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java @@ -189,5 +189,8 @@ public class SolutionsDetailsVo implements Vo { @ApiModelProperty("其他融实际贴息") private String otherActualDiscount; + @ApiModelProperty("保证金类型01固定,02敞口") + private String bondTypeKey; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java index e4d4ef29cc..6d93839e6a 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java @@ -180,5 +180,8 @@ public class SolutionssVo implements Vo { @ApiModelProperty("其他融实际贴息") private String otherActualDiscount; + @ApiModelProperty("保证金类型01固定,02敞口") + private String bondTypeKey; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java index 234566ec4a..ed75da7afd 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateSolutionsVo.java @@ -160,4 +160,7 @@ public class LoanTemplateSolutionsVo implements Vo { private String actualDiscount; @ApiModelProperty("其他融实际贴息") private String otherActualDiscount; + + @ApiModelProperty("保证金类型01固定,02敞口") + private String bondTypeKey; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index c04aea3c1b..a29d69d3a4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -82,6 +82,12 @@ public class LoanSolutionsService extends MybatisBaseService resultBean = busSalesOrderFeign.getSaleOrderDetails(saleOrderSid); @@ -1186,6 +1192,7 @@ public class LoanSolutionsService extends MybatisBaseService resultBean = busSalesOrderFeign.getSalesOrderOne(busSid); @@ -2482,6 +2495,7 @@ public class LoanSolutionsService extends MybatisBaseService Date: Wed, 8 Nov 2023 13:47:51 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index a29d69d3a4..63e8e4ca20 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -2443,6 +2443,7 @@ public class LoanSolutionsService extends MybatisBaseService rb = ResultBean.fireFail(); SolutionssVo solutionssVo = new SolutionssVo(); BeanUtil.copyProperties(query, solutionssVo); + solutionssVo.setBusSid(query.getSaleOrderSid()); if (query.isShowMore()) { if (query.isPremiumCb()) { //保险 From 503e18db9cc77e3b8229332920c73982785e3015 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 8 Nov 2023 14:02:42 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../riskcenter/api/loansolutions/SolutionDetailsDto.java | 2 ++ .../anrui/riskcenter/api/loansolutions/app/SolutionssDto.java | 2 ++ .../riskcenter/biz/loansolutions/LoanSolutionsService.java | 4 +++- .../riskcenter/biz/loantemplate/LoanTemplateService.java | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java index 85c33e7a6b..bdea2f8a67 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java @@ -170,5 +170,7 @@ public class SolutionDetailsDto implements Dto { @ApiModelProperty("其他融实际贴息") private String otherActualDiscount; + private int saleOrderState = 0; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java index e75f8b6b4e..b9e8e9cf6d 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java @@ -169,4 +169,6 @@ public class SolutionssDto implements Dto { private String actualDiscount; @ApiModelProperty("其他融实际贴息") private String otherActualDiscount; + + private int saleOrderState; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index 63e8e4ca20..8e34fd307e 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -776,7 +776,8 @@ public class LoanSolutionsService extends MybatisBaseService Date: Wed, 8 Nov 2023 14:05:51 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E9=87=91=E8=9E=8D=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/loansolutions/LoanSolutionsMapper.java | 3 +++ .../biz/loansolutions/LoanSolutionsMapper.xml | 4 ++++ .../biz/loansolutions/LoanSolutionsService.java | 15 +++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java index 7fa3e2b554..cb74a1d153 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loansolutions; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import org.apache.ibatis.annotations.Mapper; @@ -36,6 +37,8 @@ public interface LoanSolutionsMapper extends BaseMapper { BusSalesOrderPrice selectByPriceSid(String busSid); + BusSalesOrder seletByBusSids(String busSid); + /* IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml index cf59ccbcc9..2b2ee21bdb 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsMapper.xml @@ -79,4 +79,8 @@ + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index 8e34fd307e..b14e6fa3d4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -1221,13 +1221,16 @@ public class LoanSolutionsService extends MybatisBaseService