From cd495aeda70ebb880f041e7dfd824370265f66c8 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 20 May 2025 16:59:41 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=8E=82=E5=AE=B6=E8=BF=94=E5=88=A9?= =?UTF-8?q?=E6=8A=A5=E8=A1=A82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactoryDaliyReportFeign.java | 31 ++++ .../FactoryDaliyReportFeignFallback.java | 12 ++ .../FactoryDaliyReportQuery.java | 14 ++ .../FactoryDaliyReportVo.java | 45 ++++++ .../api/factoryDailyReport/UnUploadVo.java | 25 ++++ .../FactoryDaliyReportMapper.java | 22 +++ .../FactoryDaliyReportMapper.xml | 137 ++++++++++++++++++ .../FactoryDaliyReportRest.java | 32 ++++ .../FactoryDaliyReportService.java | 65 +++++++++ 9 files changed, 383 insertions(+) create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeignFallback.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/UnUploadVo.java create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java new file mode 100644 index 0000000000..571a4791a6 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.reportcenter.api.factoryDailyReport; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@FeignClient( + contextId = "anrui-reportcenter-factoryDailyReport", + name = "anrui-reportcenter", + path = "v1/factoryDailyReport", + fallback = FactoryDaliyReportFeignFallback.class) +public interface FactoryDaliyReportFeign { + /** + * 集团列表 + * @param pagerQuery + * @return + */ + @PostMapping("pageList1") + @ResponseBody + ResultBean pageList1(@RequestBody PagerQuery pagerQuery); +} + + diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeignFallback.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeignFallback.java new file mode 100644 index 0000000000..f09cdc9b83 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.reportcenter.api.factoryDailyReport; + +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Component +public class FactoryDaliyReportFeignFallback { +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java new file mode 100644 index 0000000000..81eba7d6bc --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java @@ -0,0 +1,14 @@ +package com.yxt.anrui.reportcenter.api.factoryDailyReport; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Data +public class FactoryDaliyReportQuery implements Query { + private static final long serialVersionUID = 3416520595744127012L; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java new file mode 100644 index 0000000000..6d88d9bcf3 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.reportcenter.api.factoryDailyReport; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Data +public class FactoryDaliyReportVo { + + @ApiModelProperty("年份") + private String year; + @ApiModelProperty("预提") + private String estimate; + @ApiModelProperty("库存小计") + private String upload; + @ApiModelProperty("调整") + private String adjust; + @ApiModelProperty("未上传") + private UnUploadVo unUpload; + + @ApiModelProperty("合计") + @JsonIgnore + private String notUploadMoney; + @ApiModelProperty("返利") + @JsonIgnore + private String unuploaded_rebate; + @ApiModelProperty("费用合计") + @JsonIgnore + private String fee; + @ApiModelProperty("支出") + @JsonIgnore + private String expense_payment; + @ApiModelProperty("待支付") + @JsonIgnore + private String pending_payment; + @ApiModelProperty("抵顶") + @JsonIgnore + private String offset_payment; + +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/UnUploadVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/UnUploadVo.java new file mode 100644 index 0000000000..bb1dc3dda4 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/UnUploadVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.reportcenter.api.factoryDailyReport; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Data +public class UnUploadVo { + @ApiModelProperty("合计") + private String total; + @ApiModelProperty("返利") + private String rebate; + @ApiModelProperty("费用合计") + private String fee; + @ApiModelProperty("支出") + private String feeOutlay; + @ApiModelProperty("待支付") + private String feeUnPaid; + @ApiModelProperty("抵顶") + private String feeTopping; +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java new file mode 100644 index 0000000000..56e4b02e0f --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.reportcenter.biz.factoryDailyReport; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Mapper +public interface FactoryDaliyReportMapper { + List selectRecordList(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); + + int selectRecordCount(@Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml new file mode 100644 index 0000000000..b880c09468 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml @@ -0,0 +1,137 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java new file mode 100644 index 0000000000..fbc3b57efa --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.reportcenter.biz.factoryDailyReport; + +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportFeign; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportQuery; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Api(tags = "厂家返利报表") +@RestController +@RequestMapping("v1/factoryDailyReport") +public class FactoryDaliyReportRest implements FactoryDaliyReportFeign { + + @Autowired + private FactoryDaliyReportService factoryDaliyReportService; + @Override + public ResultBean pageList1(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = factoryDaliyReportService.pageList1(pagerQuery); + return rb.success().setData(pv); + } +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java new file mode 100644 index 0000000000..9ff3f52d0f --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java @@ -0,0 +1,65 @@ +package com.yxt.anrui.reportcenter.biz.factoryDailyReport; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyReport; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportAppPagerQuery; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportQuery; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/20 + **/ +@Service +@Slf4j +public class FactoryDaliyReportService { + + @Autowired + private FactoryDaliyReportMapper factoryDaliyReportMapper; + + public PagerVo pageList1(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + FactoryDaliyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = factoryDaliyReportMapper.selectRecordList(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + + } + int count = factoryDaliyReportMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团日报列表接口耗时 {} ms", duration); // 输出日志 + return page; + } +} From fcd1316fac2be86b2676bd35ad1599dd6035c61f Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 21 May 2025 09:16:18 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=89=E8=AE=BC?= =?UTF-8?q?=E5=A4=9A=E5=8F=B0=E8=BD=A6=E9=99=A4=E4=B8=8D=E5=B0=BD=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E8=A7=84=E5=88=99=E8=8B=A5=E6=80=BB=E9=A2=9D-n*?= =?UTF-8?q?=E5=B9=B3=E5=9D=87=E5=80=BC<>0,=E5=88=99=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E5=8F=B0=E8=BD=A6+=EF=BC=88=E6=80=BB=E9=A2=9D-n*?= =?UTF-8?q?=E5=B9=B3=E5=9D=87=E5=80=BC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanCaseCloseApplyService.java | 29 ++++++++++++++++- .../LoanCaseExecuteApplyService.java | 32 +++++++++++++++++-- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java index 2437424352..c33e649080 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java @@ -581,16 +581,43 @@ public class LoanCaseCloseApplyService extends MybatisBaseService busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseCloseApply.getBusSid()); busVinSidList.removeAll(Collections.singleton(null)); BigDecimal executeExpenseAmount = BigDecimal.ZERO; + Map vinAmountMap = new HashMap<>(); if(!busVinSidList.isEmpty()){ LoanCaseExecuteApply loanCaseExecuteApply = loanCaseProgressExecuteService.selectByBusSid(loanCaseCloseApply.getBusSid()); if(loanCaseExecuteApply != null){ executeExpenseAmount= loanCaseExecuteApply.getExecuteExpenseAmount();//预计申请坏账金额 if(executeExpenseAmount != null){ - executeExpenseAmount = executeExpenseAmount.divide(BigDecimal.valueOf(busVinSidList.size()),2, RoundingMode.HALF_UP); + int size = busVinSidList.size(); + + // 四舍五入到2位小数的平均值 + BigDecimal roundedAverage = executeExpenseAmount.divide(BigDecimal.valueOf(size), 2, RoundingMode.HALF_UP); + // n台车 × roundedAverage + BigDecimal totalRounded = roundedAverage.multiply(BigDecimal.valueOf(size)).setScale(2, RoundingMode.HALF_UP); + + if (executeExpenseAmount.setScale(2, RoundingMode.HALF_UP).compareTo(totalRounded) == 0) { + // 能整除,直接平均 + for (String vinSid : busVinSidList) { + vinAmountMap.put(vinSid, roundedAverage); + } + } else { + // 不能整除,最后一台车补差值 + BigDecimal totalForNMinusOne = roundedAverage.multiply(BigDecimal.valueOf(size - 1)); + BigDecimal lastAmount = executeExpenseAmount.subtract(totalForNMinusOne).setScale(2, RoundingMode.HALF_UP); + + for (int i = 0; i < size; i++) { + String vinSid = busVinSidList.get(i); + if (i == size - 1) { + vinAmountMap.put(vinSid, lastAmount); + } else { + vinAmountMap.put(vinSid, roundedAverage); + } + } + } } } for (int i = 0; i < busVinSidList.size(); i++) { String busVinSid = busVinSidList.get(i); + executeExpenseAmount = vinAmountMap.get(busVinSid); BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); String customerNumber = ""; BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java index 0d19db0266..94f7060d42 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java @@ -556,11 +556,39 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); BigDecimal executeAmountInArear= loanCaseExecuteApply.getExecuteAmountInArear();//其中执行欠款金额 - if(executeAmountInArear != null){ - executeAmountInArear = executeAmountInArear.divide(BigDecimal.valueOf(busVinSidList.size()),2, RoundingMode.HALF_UP); + Map vinAmountMap = new HashMap<>(); + + if (executeAmountInArear != null && !busVinSidList.isEmpty()) { + int size = busVinSidList.size(); + + // 四舍五入到2位小数的平均值 + BigDecimal roundedAverage = executeAmountInArear.divide(BigDecimal.valueOf(size), 2, RoundingMode.HALF_UP); + // n台车 × roundedAverage + BigDecimal totalRounded = roundedAverage.multiply(BigDecimal.valueOf(size)).setScale(2, RoundingMode.HALF_UP); + + if (executeAmountInArear.setScale(2, RoundingMode.HALF_UP).compareTo(totalRounded) == 0) { + // 能整除,直接平均 + for (String vinSid : busVinSidList) { + vinAmountMap.put(vinSid, roundedAverage); + } + } else { + // 不能整除,最后一台车补差值 + BigDecimal totalForNMinusOne = roundedAverage.multiply(BigDecimal.valueOf(size - 1)); + BigDecimal lastAmount = executeAmountInArear.subtract(totalForNMinusOne).setScale(2, RoundingMode.HALF_UP); + + for (int i = 0; i < size; i++) { + String vinSid = busVinSidList.get(i); + if (i == size - 1) { + vinAmountMap.put(vinSid, lastAmount); + } else { + vinAmountMap.put(vinSid, roundedAverage); + } + } + } } for (int i = 0; i < busVinSidList.size(); i++) { String busVinSid = busVinSidList.get(i); + executeAmountInArear = vinAmountMap.get(busVinSid); BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); String customerNumber = ""; BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); From ef44f81513c78637fb306998dc3842d127c9fbbb Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 21 May 2025 10:17:02 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationService.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 92d15aa9a9..4fbe5dcc0a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -4798,7 +4798,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService Date: Wed, 21 May 2025 10:59:48 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationService.java | 239 ++++++++++++++++++ 1 file changed, 239 insertions(+) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 4fbe5dcc0a..66fa3594e8 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -4727,11 +4727,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService list3 = new ArrayList<>(); List list4 = new ArrayList<>(); List list5 = new ArrayList<>(); + List list6 = new ArrayList<>(); BigDecimal all = BigDecimal.ZERO;//赎回 BigDecimal all2 = BigDecimal.ZERO;//二次销售 BigDecimal all3 = BigDecimal.ZERO;//亏损立案 BigDecimal all4 = BigDecimal.ZERO;//未交回立案 BigDecimal all5 = BigDecimal.ZERO;//执行 + BigDecimal all6 = BigDecimal.ZERO;//执行 BigDecimal otherMoney = BigDecimal.ZERO; String payType = ""; DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(finalConfirmation.getCollectionTypeKey(), "payVoucherType").getData(); @@ -6038,6 +6040,226 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } + } + } + } else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + } else { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity); + }else{ + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract2); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + String orderSid = planDetails.getSalesOrderSid(); + String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData(); + String bankSid = ""; + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData(); + if (isOther.equals("0")) { + if (StringUtils.isNotBlank(schedule.getBankSid())) { + bankSid = schedule.getBankSid(); + } + } else if (isOther.equals("1")) { + if (StringUtils.isNotBlank(schedule.getOtherBankSid())) { + bankSid = schedule.getOtherBankSid(); + } + } + ResultBean bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } + } + } + } + } + } + } + + if("资金占用费".equals(v.getReceivablesName())){ + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); + all6 = all6.add(new BigDecimal(v.getSubscriptionMoney())); + voucherResultDetailDtoDf2.setSummary(customerNumber+"亏损收款"); + voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); + //核算部门 + voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); + list6.add(voucherResultDetailDtoDf2); + //------------------------资金占用费转收入 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJfZjzyf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJfZjzyf.setSummary("资金占用费转收入"); + voucherResultDetailDtoJfZjzyf.setSubjectNo("2191.05.00"); + //核算部门 + voucherResultDetailDtoJfZjzyf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJfZjzyf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJfZjzyf.setDebit(v.getSubscriptionMoney()); + list6.add(voucherResultDetailDtoJfZjzyf); + //资金占用费转收入--其他业务收入_消贷收入_消贷利息 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDfZjzyf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDfZjzyf.setSummary("资金占用费转收入"); + voucherResultDetailDtoDfZjzyf.setSubjectNo("6002.01.19"); + //核算部门 + voucherResultDetailDtoDfZjzyf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDfZjzyf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDfZjzyf.setCredit(v.getSubscriptionMoney()); + list6.add(voucherResultDetailDtoDfZjzyf); + } + + } } @@ -6110,6 +6332,18 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) {//二次销售出库后收款 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { + voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); + } + voucherResultDetailDtoJf.setSubjectNo(payType); + voucherResultDetailDtoJf.setSummary("收款" +finalConfirmation.getPayerName()+ "(" + collectionDate + ")"); + voucherResultDetailDtoJf.setDebit(String.valueOf(all6)); + list6.add(voucherResultDetailDtoJf); + } + + if (!list.isEmpty()) {//赎回收款(风控状态赎回中以及交回推送) voucher.setResultDetails(list); finKingDeeFeignRest.saveVoucher(voucher); @@ -6131,6 +6365,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService Date: Wed, 21 May 2025 11:06:56 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loancaseexecuteapply/LoanCaseExecuteApplyService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java index 94f7060d42..523498c133 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java @@ -41,6 +41,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDe 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.buscenter.api.bussalesordervehicle.BusVinStateSetQuery; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; @@ -507,6 +508,13 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); + BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); + if(busVinSidList.isEmpty()){ + busVinStateSetQuery.setState(12);//执行 + busVinStateSetQuery.setBusVinSidList(busVinSidList); + ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); + } try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() .setNameFormat("demo-pool-%d").build(); From 592480a75adc17a23de23e5ea4d6b6bb7d8eecd8 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 21 May 2025 11:13:38 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java index 66ace01df7..5a9e278a98 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java @@ -212,7 +212,7 @@ public class CarsSoldProfitService extends MybatisBaseService Date: Wed, 21 May 2025 14:11:41 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../factoryDailyReport/FactoryDaliyReportVo.java | 2 +- .../factoryDailyReport/FactoryDaliyReportMapper.xml | 12 ++++++------ .../FactoryDaliyReportService.java | 13 ++++++++++++- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java index 6d88d9bcf3..a60d61b93f 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java @@ -16,7 +16,7 @@ public class FactoryDaliyReportVo { private String year; @ApiModelProperty("预提") private String estimate; - @ApiModelProperty("库存小计") + @ApiModelProperty("上传金额") private String upload; @ApiModelProperty("调整") private String adjust; diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml index b880c09468..e98525cf22 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportMapper.xml @@ -3,9 +3,9 @@ \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java index 9ff3f52d0f..8c4ebe4f30 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java @@ -6,6 +6,7 @@ import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportAppPagerQuery; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo; import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportQuery; import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; +import com.yxt.anrui.reportcenter.api.factoryDailyReport.UnUploadVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.vo.PagerVo; import lombok.extern.slf4j.Slf4j; @@ -48,7 +49,17 @@ public class FactoryDaliyReportService { List recordList = factoryDaliyReportMapper.selectRecordList(map, qw); recordList.removeAll(Collections.singleton(null)); if (!recordList.isEmpty()) { - + for (int i = 0; i < recordList.size(); i++) { + FactoryDaliyReportVo factoryDaliyReportVo = recordList.get(i); + UnUploadVo unUploadVo = new UnUploadVo(); + unUploadVo.setTotal(factoryDaliyReportVo.getNotUploadMoney()); + unUploadVo.setFee(factoryDaliyReportVo.getFee()); + unUploadVo.setFeeOutlay(factoryDaliyReportVo.getExpense_payment()); + unUploadVo.setFeeTopping(factoryDaliyReportVo.getOffset_payment()); + unUploadVo.setRebate(factoryDaliyReportVo.getUnuploaded_rebate()); + unUploadVo.setFeeUnPaid(factoryDaliyReportVo.getPending_payment()); + factoryDaliyReportVo.setUnUpload(unUploadVo); + } } int count = factoryDaliyReportMapper.selectRecordCount(qw); page.setRecords(recordList); From 9daff34e9467d68baaf789051145fe3e4e3a4422 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 21 May 2025 15:39:52 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactoryDaliyReportFeign.java | 12 ++- .../FactoryDaliyReportQuery.java | 5 + .../FactoryDaliyReportVo.java | 2 + .../FactoryDaliyReportRest.java | 9 ++ .../FactoryDaliyReportService.java | 93 ++++++++++++++++++- .../reportcenter/config/DecimalUtil.java | 20 ++++ 6 files changed, 132 insertions(+), 9 deletions(-) create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/config/DecimalUtil.java diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java index 571a4791a6..14da5e8b10 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportFeign.java @@ -7,6 +7,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.util.Map; + /** * @description: * @author: dimengzhe @@ -18,14 +20,14 @@ import org.springframework.web.bind.annotation.ResponseBody; path = "v1/factoryDailyReport", fallback = FactoryDaliyReportFeignFallback.class) public interface FactoryDaliyReportFeign { - /** - * 集团列表 - * @param pagerQuery - * @return - */ @PostMapping("pageList1") @ResponseBody ResultBean pageList1(@RequestBody PagerQuery pagerQuery); + + @PostMapping("pageList") + @ResponseBody + ResultBean> pageList(@RequestBody PagerQuery pagerQuery); + } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java index 81eba7d6bc..b2b603ea04 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportQuery.java @@ -1,6 +1,7 @@ package com.yxt.anrui.reportcenter.api.factoryDailyReport; import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,4 +12,8 @@ import lombok.Data; @Data public class FactoryDaliyReportQuery implements Query { private static final long serialVersionUID = 3416520595744127012L; + + private String orgPath; + //jt-查集团,syb-事业部,空字符串 分公司 + private String type; } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java index a60d61b93f..98871f4085 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/factoryDailyReport/FactoryDaliyReportVo.java @@ -42,4 +42,6 @@ public class FactoryDaliyReportVo { @JsonIgnore private String offset_payment; + private String linkSid; + } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java index fbc3b57efa..d8af1fdd37 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportRest.java @@ -11,6 +11,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.Map; + /** * @description: * @author: dimengzhe @@ -29,4 +31,11 @@ public class FactoryDaliyReportRest implements FactoryDaliyReportFeign { PagerVo pv = factoryDaliyReportService.pageList1(pagerQuery); return rb.success().setData(pv); } + + @Override + public ResultBean> pageList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + Map map = factoryDaliyReportService.pageList(pagerQuery); + return rb.success().setData(map); + } } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java index 8c4ebe4f30..d9c52ed456 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/factoryDailyReport/FactoryDaliyReportService.java @@ -1,12 +1,16 @@ package com.yxt.anrui.reportcenter.biz.factoryDailyReport; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.anrui.portal.api.sysorganization.SysOrganization; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReport; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportAppPagerQuery; import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo; import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportQuery; import com.yxt.anrui.reportcenter.api.factoryDailyReport.FactoryDaliyReportVo; import com.yxt.anrui.reportcenter.api.factoryDailyReport.UnUploadVo; +import com.yxt.anrui.reportcenter.config.DecimalUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.vo.PagerVo; import lombok.extern.slf4j.Slf4j; @@ -15,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @description: @@ -31,6 +32,8 @@ public class FactoryDaliyReportService { @Autowired private FactoryDaliyReportMapper factoryDaliyReportMapper; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; public PagerVo pageList1(PagerQuery pagerQuery) { long startTime = System.currentTimeMillis(); // 记录开始时间 @@ -73,4 +76,86 @@ public class FactoryDaliyReportService { log.info("集团日报列表接口耗时 {} ms", duration); // 输出日志 return page; } + + public Map pageList(PagerQuery pagerQuery) { + Map reportMap = new HashMap<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + FactoryDaliyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + String orgPath = query.getOrgPath(); + List orgSidList = Arrays.asList(orgPath.split("/")); + String type = query.getType(); + String name = ""; + if (StringUtils.isNotBlank(type)) { + if ("syb".equals(type)) { + // 取事业部(前两级) + if (orgSidList.size() >= 2) { + String groupSid = orgSidList.get(0); + String sybSid = orgSidList.get(1); + String orgPathPrefix = groupSid + "/" + sybSid; + + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(sybSid).getData(); + name = sysOrganization.getName(); + reportMap.put("linkSid", sybSid); + qw.like("orgPath", orgPathPrefix); + } + + } else if ("jt".equals(type)) { + name = "集团"; + } + } else { + if (orgSidList.size() >= 3) { + String groupSid = orgSidList.get(0); + String sybSid = orgSidList.get(1); + String fgsSid = orgSidList.get(2); + String orgPathPrefix = groupSid + "/" + sybSid + "/" + fgsSid; + + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(fgsSid).getData(); + name = sysOrganization.getName(); + reportMap.put("linkSid", fgsSid); + qw.like("orgPath", orgPathPrefix); + } + } + reportMap.put("name", name); + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = factoryDaliyReportMapper.selectRecordList(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + FactoryDaliyReportVo factoryDaliyReportVo = recordList.get(i); + factoryDaliyReportVo.setEstimate(DecimalUtil.format(factoryDaliyReportVo.getEstimate())); + factoryDaliyReportVo.setUpload(DecimalUtil.format(factoryDaliyReportVo.getUpload())); + factoryDaliyReportVo.setAdjust(DecimalUtil.format(factoryDaliyReportVo.getAdjust())); + factoryDaliyReportVo.setNotUploadMoney(DecimalUtil.format(factoryDaliyReportVo.getNotUploadMoney())); + factoryDaliyReportVo.setUnuploaded_rebate(DecimalUtil.format(factoryDaliyReportVo.getUnuploaded_rebate())); + factoryDaliyReportVo.setFee(DecimalUtil.format(factoryDaliyReportVo.getFee())); + factoryDaliyReportVo.setExpense_payment(DecimalUtil.format(factoryDaliyReportVo.getExpense_payment())); + factoryDaliyReportVo.setPending_payment(DecimalUtil.format(factoryDaliyReportVo.getPending_payment())); + factoryDaliyReportVo.setOffset_payment(DecimalUtil.format(factoryDaliyReportVo.getOffset_payment())); + UnUploadVo unUploadVo = new UnUploadVo(); + unUploadVo.setTotal(factoryDaliyReportVo.getNotUploadMoney()); + unUploadVo.setFee(factoryDaliyReportVo.getFee()); + unUploadVo.setFeeOutlay(factoryDaliyReportVo.getExpense_payment()); + unUploadVo.setFeeTopping(factoryDaliyReportVo.getOffset_payment()); + unUploadVo.setRebate(factoryDaliyReportVo.getUnuploaded_rebate()); + unUploadVo.setFeeUnPaid(factoryDaliyReportVo.getPending_payment()); + factoryDaliyReportVo.setUnUpload(unUploadVo); + if(StringUtils.isBlank(type)){ + String orgSid = orgSidList.get(2); + factoryDaliyReportVo.setLinkSid(orgSid+"#"+factoryDaliyReportVo.getYear()); + } + } + } + int count = factoryDaliyReportMapper.selectRecordCount(qw); + long pages = (count + pageSize - 1) / pageSize; + reportMap.put("pages", pages); + reportMap.put("total", count); + reportMap.put("size", pageSize); + reportMap.put("current", pageNum); + reportMap.put("records", recordList); + return reportMap; + } } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/config/DecimalUtil.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/config/DecimalUtil.java new file mode 100644 index 0000000000..cc749c2394 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/config/DecimalUtil.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.reportcenter.config; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/21 + **/ +public class DecimalUtil { + public static String format(Object obj) { + if (obj == null) return "0.00"; + try { + return new BigDecimal(obj.toString()).setScale(2, RoundingMode.HALF_UP).toPlainString(); + } catch (Exception e) { + return "0.00"; + } + } +} From 0729922103ba5399a9b254eb6c6acc8922ca9278 Mon Sep 17 00:00:00 2001 From: ligaode Date: Thu, 22 May 2025 09:59:58 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanRepurchaseApply.java | 4 ---- .../LoanRepurchaseApplyDetailsVo.java | 6 +----- .../LoanRepurchaseApplyDto.java | 4 ---- .../LoanRepurchaseCompanyCostVo.java | 2 +- .../loansettleapply/LoanSettleApplyMapper.xml | 20 +++++++++---------- 5 files changed, 12 insertions(+), 24 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java index b3685fef22..7e4913614c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java @@ -78,10 +78,6 @@ public class LoanRepurchaseApply extends BaseEntity { private String orgSidPath; @ApiModelProperty("回购原因") private String buybacksReason; - @ApiModelProperty("资方收款账户") - private String bankReceivingAccount; - @ApiModelProperty("资方收款账号") - private String bankAccountNo; @ApiModelProperty("付款时需备注内容") private String payRemarks; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java index 4fa300206a..cc6e4208ae 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java @@ -30,7 +30,7 @@ public class LoanRepurchaseApplyDetailsVo implements Vo { private String taskId; @ApiModelProperty("实例id") private String instanceId; - // private LoanRepurchaseSolutionsDetailsssVo solutionsDetailsssVo = new LoanRepurchaseSolutionsDetailsssVo(); + // private LoanRepurchaseSolutionsDetailsssVo solutionsDetailsssVo = new LoanRepurchaseSolutionsDetailsssVo(); //主体 @ApiModelProperty("申请日期") private String applyDate; @@ -75,10 +75,6 @@ public class LoanRepurchaseApplyDetailsVo implements Vo { private String amount; @ApiModelProperty("回购原因") private String buybacksReason; - @ApiModelProperty("资方收款账户") - private String bankReceivingAccount; - @ApiModelProperty("资方收款账号") - private String bankAccountNo; @ApiModelProperty("付款后需备注内容") private String payRemarks; private List buyfiles = new ArrayList<>(); // 回购情况附件 diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDto.java index 6d8fd7c402..94787fe4d5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDto.java @@ -70,10 +70,6 @@ public class LoanRepurchaseApplyDto implements Dto { private String amount; @ApiModelProperty("回购原因") private String buybacksReason; - @ApiModelProperty("资方收款账户") - private String bankReceivingAccount; - @ApiModelProperty("资方收款账号") - private String bankAccountNo; @ApiModelProperty("付款后需备注内容") private String payRemarks; private List buyfiles = new ArrayList<>(); // 回购情况附件 diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseCompanyCostVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseCompanyCostVo.java index c55ffb1992..90718bbbdc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseCompanyCostVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseCompanyCostVo.java @@ -23,7 +23,7 @@ public class LoanRepurchaseCompanyCostVo { private String bankOverInterest; @ApiModelProperty("公司当期未到期月还") private String companyCurrentNotPrice; - @ApiModelProperty("资方未到期金额") + @ApiModelProperty("公司未到期金额") private String bankNotPrice; @ApiModelProperty("贷款保证金扣罚金额") private String deductionAmount; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml index 2eb65d4bb0..2aaf04272d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml @@ -21,7 +21,7 @@ select ifnull(sum(ss.yq_total), 0) - from (SELECT (lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))) AS yq_total - FROM `loan_repayment_plan_details` lrpd - LEFT JOIN `loan_repayment_history` lrh ON lrh.planDetailSid = lrpd.`sid` + from (SELECT (lrpd.dueMoney - SUM(IFNULL(lrh.actualMoney, 0))) AS yq_total + FROM loan_repayment_plan_details lrpd + LEFT JOIN loan_repayment_history lrh ON lrh.planDetailSid = lrpd.sid WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < #{settingDate} - AND lrpd.`busVinSid` = #{busVinSid} - GROUP BY lrpd.`sid`) ss + AND lrpd.busVinSid = #{busVinSid} + GROUP BY lrpd.sid) ss @@ -196,13 +196,13 @@ FROM ( FROM ( SELECT - lrpd.`dueMoney`, + lrpd.dueMoney, lrpd.sid FROM loan_repayment_plan_details lrpd WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') > DATE_FORMAT(LAST_DAY(#{settingDate}), '%Y-%m-%d') - AND lrpd.`busVinSid` = #{busVinSid} + AND lrpd.busVinSid = #{busVinSid} ) a) b + select RIGHT (billNo, 4) + from loan_repurchase_apply + where billNo LIKE concat(#{billNo}, '%') + order by billNo desc + limit 1 + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java index b8d840e2a2..d1943ae336 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java @@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.buscenter.api.bussalesorderreturnveh.BusSalesOrderReturnVehDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehPdfVo; @@ -427,19 +429,27 @@ public class LoanRepurchaseApplyService extends MybatisBaseService orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); - if (orgSidByPath.getSuccess()) { - String userOrgSid = orgSidByPath.getData(); - apply.setUseOrgSid(userOrgSid); - ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); - if (organizationVo.getSuccess()) { - SysOrganizationVo organizationVoData = organizationVo.getData(); - if (null != organizationVoData) { - apply.setUseOrgName(organizationVoData.getName()); - } + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + apply.setUseOrgSid(useOrgSid); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + apply.setUseOrgName(organizationVoData.getName()); } } apply.setNodeState("待提交"); + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + billNo = "HG" + sysOrganizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + apply.setBillNo(billNo); baseMapper.insert(apply); LoanRepurchaseBankCostVo bankCostVo = dto.getBankCostVo(); LoanRepurchaseCost bankCost = new LoanRepurchaseCost(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/hgsp.ftl b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/hgsp.ftl new file mode 100644 index 0000000000..b3096b66cc --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/hgsp.ftl @@ -0,0 +1,6152 @@ + + + + + 10745413@qq.com + 10745413@qq.com + 2 + 1 + 2025-05-22T03:15:00Z + 2025-05-22T03:16:00Z + 2025-05-22T03:16:00Z + 1 + 285 + 588 + 98 + 124 + 749 + 16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 回购审批 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分公司: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${orgName!} + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 创建部门: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${deptName!} + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 创建人: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${createName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 创建日期: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${createTime!} + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 办结日期: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${finshTime!} + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审批编号: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${billNo!} + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 车架号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${vinNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 车牌号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${cph!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 客户名称 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${kh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${dkr!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款合同编号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${dkh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zf!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方合同编号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zfh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 预计结清日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jqr!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司当前逾期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${yq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司当期未到期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${dq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司未到期金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${wdq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 备注 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${bz!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方结清费用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款保证金: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zbzj!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 是否抵顶: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${dd!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方逾期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zyh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方当期未到期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zdq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方未到期金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zwdq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方逾期利息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zlx!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方 + + + + + + + + + + + + 名义价 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zmy!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方合同违约金 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zwy!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方其他应收 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zys!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 其他应收说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zsm!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方结清金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zjq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方收款账号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zzo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方收款账户 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${zzh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司结清费用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款保证金 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gbzj!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司逾期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gyh!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 垫资方逾期利息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${glx!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资金用费占 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gzf!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方逾期利息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gzlx!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司当期未到期月还 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gdq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司未到期金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gwdq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款保证金扣罚金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gfk!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 名义价 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gmy!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 合同违约金 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gwy!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司其他费用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gfy!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 其他费用说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gsm!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司正常结清合计 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${ghj!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 结清利润 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${gjq!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 回购情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 回购金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${hg!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 回购原因 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${hgsm!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 付款时需备注内容 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${hgbz!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审批流程 + + + + <#list lcList as lc> + <#if (lc_index==0)> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.comment!} + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.name!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.spsj!} + + + + + + + <#list lcList as lc> + <#if (lc_index>0)> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.comment!} + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.name!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${lc.spsj!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 下载人: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${downName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 下载时间: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${downTime!} + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 62c0a3651b28f0db2f051af8098eb46d5562e939 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 22 May 2025 14:32:22 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=87=BA=E7=BA=B3=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=87=AD=E8=AF=81=E4=BF=AE=E6=94=B9=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8A=E9=9D=9E=E6=AD=A3=E5=B8=B8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8B=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanBePadsincereApplyService.java | 179 ++++++++++++++++++ .../LoanBuckleApplyService.java | 2 +- 2 files changed, 180 insertions(+), 1 deletion(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index 7137fe0793..2e2268f248 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -1634,6 +1634,174 @@ public class LoanBePadsincereApplyService extends MybatisBaseService pushAdvancesReturnVoucherNew(String sid, String paySid) { + ResultBean rb = ResultBean.fireFail(); + List records = loanBePadsincereVehService.selByMainSidAndPaySid(sid, paySid); + FinPaymentrecord paymentrecord = finPaymentrecordFeign.fetchBySid(paySid).getData(); + if (!records.isEmpty()) { + RskPaymentVoucher paymentVoucher = new RskPaymentVoucher(); + List voucherDetails = new ArrayList<>(); + LoanBePadsincereVeh l = records.get(0); + if (null != l) { + String accountNumber = paymentrecord.getPayBankAccount(); + paymentVoucher.setBankAccount(paymentrecord.getPayBankAccount()); + String mainSid = l.getMainSid(); + LoanBePadsincereApply loanBePadsincereApply = fetchBySid(mainSid); + FinManufacturerBank manufacturerBank = finManufacturerBankFeign.selOneByBankNo(accountNumber, loanBePadsincereApply.getUseOrgSid()).getData(); + if (null != manufacturerBank) { + paymentVoucher.setPayTypeCode(manufacturerBank.getDueBankKey()); + } + String useOrgSid = loanBePadsincereApply.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + paymentVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + } + RskPaymentVoucher.PaymentVoucherDetail voucherDetail1 = new RskPaymentVoucher.PaymentVoucherDetail(); + voucherDetail1.setType("贷方"); + List result = new ArrayList<>(); + records.stream().forEach(r -> { + result.add(new BigDecimal(r.getPadMoney())); + }); + BigDecimal b = result.stream() + // 使用reduce()聚合函数,实现累加器 + .reduce(BigDecimal.ZERO, BigDecimal::add); + voucherDetail1.setAmount(b); + voucherDetail1.setDataTime(new DateTime()); + voucherDetails.add(voucherDetail1); + for (LoanBePadsincereVeh v : records) { + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.selOneByBankNoAndBusVinSid(v.getBankContractNo(), v.getSaleVehSid()); + if (null != planDetails) { + String bankName = planDetails.getBankName(); + String orgCode = ""; + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid()); + if (null != schedule) { + if (StringUtils.isNotBlank(schedule.getCwDeptNo())) { + orgCode = schedule.getCwDeptNo(); + } + } + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + String customerNumber = ""; + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); + } + } else { + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } + } + // bdCustomers.add(bdCustomer); + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + } + if("0".equals(busSalesOrderVehicle.getRiskState().toString())){ + if (StringUtils.isNotBlank(v.getBankBeMoney())) { + BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); + if (beMoney.compareTo(BigDecimal.ZERO) > 0) { + RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beMoney); + voucherDetails.add(voucherDetail); + } + } + if (StringUtils.isNotBlank(v.getBankBeInter())) { + BigDecimal beInter = new BigDecimal(v.getBankBeInter()); + if (beInter.compareTo(BigDecimal.ZERO) > 0) { + RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beInter); + voucherDetails.add(voucherDetail); + } + } + }else{ + if (StringUtils.isNotBlank(v.getBankBeMoney())) { + BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); + if (beMoney.compareTo(BigDecimal.ZERO) > 0) { + RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER3.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beMoney); + voucherDetails.add(voucherDetail); + } + } + if (StringUtils.isNotBlank(v.getBankBeInter())) { + BigDecimal beInter = new BigDecimal(v.getBankBeInter()); + if (beInter.compareTo(BigDecimal.ZERO) > 0) { + RskPaymentVoucher.PaymentVoucherDetail voucherDetail = new RskPaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beInter); + voucherDetails.add(voucherDetail); + } + } + } + + } + } + paymentVoucher.setVoucherDetails(voucherDetails); + RskVoucher rskVoucher = returnAdvancesVoucher(paymentVoucher); + return rb.success().setData(rskVoucher); + } + return rb.success(); + } + public RskVoucher returnAdvancesVoucher(RskPaymentVoucher voucher) { ResultBean rb = ResultBean.fireFail(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -1657,6 +1825,17 @@ public class LoanBePadsincereApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); Future future1 = pool.submit(() -> { //推送划扣凭证 - pushBuckleVoucher(businessSid); + pushBuckleVoucherNew(businessSid); }); } catch (Exception e) { e.printStackTrace(); From fcd128c9bea41755ae09c9f4d3c042da83b311fc Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 22 May 2025 14:39:27 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E5=9E=AB=E6=AC=BE=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E9=9D=9E=E6=AD=A3=E5=B8=B8=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E5=87=AD=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fin/biz/kingdee/FinKingDeeFeignRest.java | 12 ++ .../LoanBePadsincereApplyRest.java | 4 +- .../LoanBePadsincereApplyService.java | 166 ++++++++++++++++++ 3 files changed, 180 insertions(+), 2 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index 6615c06856..9ca85f1690 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -1809,6 +1809,18 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) { dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); dto1.setSubjectNo("1201.02.03"); + }else{ + if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER3.getCode())) { + dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款"); + DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData(); + if (null != dictCommonVo) { + dto1.setSubjectNo(dictCommonVo.getDictValue()); + } + } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode())) { + dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); + dto1.setSubjectNo("1201.03.01"); + } + } dto1.setDimensionDept(voucherDetail.getDeptCode()); dto1.setDimensionCustom(voucherDetail.getCustomerCode()); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java index e2e3b502b2..710832d071 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java @@ -203,12 +203,12 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign { @Override public ResultBean pushAdvancesVoucher(String sid, String paySid) { - return loanBePadsincereApplyService.pushAdvancesVoucher(sid,paySid); + return loanBePadsincereApplyService.pushAdvancesVoucherNew(sid,paySid); } @Override public ResultBean pushAdvancesReturnVoucher(String sid, String paySid) { - return loanBePadsincereApplyService.pushAdvancesReturnVoucher(sid,paySid); + return loanBePadsincereApplyService.pushAdvancesReturnVoucherNew(sid,paySid); } @Override diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index 2e2268f248..0d9cafb875 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -1249,6 +1249,172 @@ public class LoanBePadsincereApplyService extends MybatisBaseService records = loanBePadsincereVehService.selByMainSidAndPaySid(sid, paySid); + FinPaymentrecord paymentrecord = finPaymentrecordFeign.fetchBySid(paySid).getData(); + if (!records.isEmpty()) { + PaymentVoucher paymentVoucher = new PaymentVoucher(); + List voucherDetails = new ArrayList<>(); + LoanBePadsincereVeh l = records.get(0); + if (null != l) { + String accountNumber = paymentrecord.getPayBankAccount(); + paymentVoucher.setBankAccount(paymentrecord.getPayBankAccount()); + String mainSid = l.getMainSid(); + LoanBePadsincereApply loanBePadsincereApply = fetchBySid(mainSid); + FinManufacturerBank manufacturerBank = finManufacturerBankFeign.selOneByBankNo(accountNumber, loanBePadsincereApply.getUseOrgSid()).getData(); + if (null != manufacturerBank) { + paymentVoucher.setPayTypeCode(manufacturerBank.getDueBankKey()); + } + String useOrgSid = loanBePadsincereApply.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + paymentVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + } + PaymentVoucher.PaymentVoucherDetail voucherDetail1 = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail1.setType("贷方"); + List result = new ArrayList<>(); + records.stream().forEach(r -> { + result.add(new BigDecimal(r.getPadMoney())); + }); + BigDecimal b = result.stream() + // 使用reduce()聚合函数,实现累加器 + .reduce(BigDecimal.ZERO, BigDecimal::add); + voucherDetail1.setAmount(b); + voucherDetail1.setDataTime(new DateTime()); + voucherDetails.add(voucherDetail1); + + for (LoanBePadsincereVeh v : records) { + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.selOneByBankNoAndBusVinSid(v.getBankContractNo(), v.getSaleVehSid()); + if (null != planDetails) { + String bankName = planDetails.getBankName(); + String orgCode = ""; + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid()); + if (null != schedule) { + if (StringUtils.isNotBlank(schedule.getCwDeptNo())) { + orgCode = schedule.getCwDeptNo(); + } + } + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + String customerNumber = ""; + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); + } + } else { + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } + } + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + } + if("0".equals(busSalesOrderVehicle.getRiskState().toString())){ + if (StringUtils.isNotBlank(v.getBankBeMoney())) { + BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); + if (beMoney.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beMoney); + voucherDetails.add(voucherDetail); + } + } + if (StringUtils.isNotBlank(v.getBankBeInter())) { + BigDecimal beInter = new BigDecimal(v.getBankBeInter()); + if (beInter.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beInter); + voucherDetails.add(voucherDetail); + } + } + }else{ + if (StringUtils.isNotBlank(v.getBankBeMoney())) { + BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); + if (beMoney.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER3.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beMoney); + voucherDetails.add(voucherDetail); + } + } + if (StringUtils.isNotBlank(v.getBankBeInter())) { + BigDecimal beInter = new BigDecimal(v.getBankBeInter()); + if (beInter.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + voucherDetail.setDeptCode(orgCode); + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beInter); + voucherDetails.add(voucherDetail); + } + } + } + + } + } + paymentVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveAdvancesVoucher(paymentVoucher); + } + return rb.success(); + } + public ResultBean bepadsincereCreatePdf(String sid) { ResultBean rb = ResultBean.fireFail(); String finalPath = ""; From 7d31f01499dff0d5609242dbaf3b684fcb774f96 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 22 May 2025 14:40:51 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E5=9E=AB=E6=AC=BE=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E9=9D=9E=E6=AD=A3=E5=B8=B8=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E5=87=AD=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java index ba4d6029ec..26b4399b90 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java @@ -19,6 +19,8 @@ public enum SceneCodeEnum { TRANSFER_VOUCHER2("间还月还代付款凭证", "出纳代付款-已垫款(中车类)", "07"), PADSINCERE_VOUCHER1("垫款付款凭证", "出纳付款-资方本金(月还)", "08"), PADSINCERE_VOUCHER2("垫款付款凭证", "出纳付款-资方逾期利息", "09"), + PADSINCERE_VOUCHER3("垫款付款凭证", "出纳付款-资方本金(月还)", "08-02"), + PADSINCERE_VOUCHER4("垫款付款凭证", "出纳付款-资方逾期利息", "09-02"), FUND_VOUCHER1("资金占用费收款凭证", "资金占用费出纳确认后", "10"), FUND_VOUCHER2("资金占用费收款凭证", "资金占用费出纳确认后-确认收入", "11"), settle_VOUCHER1("资方结清付款凭证", "资方结清款>0,财务给资方打款-保证金抵顶且保证金>0", "12"),