diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java index 98bce4bece..19c2adde51 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java @@ -93,7 +93,7 @@ public class BusSalesOrderVehicle extends BaseEntity { private String vehMark; @ApiModelProperty("结清申请提交时间") private Date settleApplyDate; - //风控状态(0正常,1交回,2赎回,3转租,4不追偿,5处置损失,6亏损立案,7亏损执行,8亏损结案) + //风控状态(0正常,1交回,2赎回,3转租,4不追偿,5处置损失,6亏损立案,7亏损执行,8亏损结案、9赎回中,10 二次销售中、11转租中) @ApiModelProperty("风控状态") private Integer riskState; //是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成) diff --git a/anrui-buscenter/anrui-buscenter-biz/pom.xml b/anrui-buscenter/anrui-buscenter-biz/pom.xml index 1dc37c9f20..853e66826b 100644 --- a/anrui-buscenter/anrui-buscenter-biz/pom.xml +++ b/anrui-buscenter/anrui-buscenter-biz/pom.xml @@ -8,6 +8,11 @@ 0.0.1 + 4.0.0 @@ -16,6 +21,11 @@ 0.0.1 + + anrui-reportcenter-api + com.yxt.anrui + 0.0.1-SNAPSHOT + com.yxt.messagecenter message-center-api diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java index 7b47105bd4..2d9f16a2af 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java @@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; }) @EnableScheduling @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.fin","com.yxt.anrui.scm"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.fin","com.yxt.anrui.scm","com.yxt.anrui.reportcenter"}) public class BusCenterApplication { public static void main(String[] args) { diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index bbc4c75ca2..c9242b6525 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -145,6 +145,8 @@ import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserQuery; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitDto; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitFeign; import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamine; import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign; import com.yxt.anrui.riskcenter.api.loanhomevisitfileexamine.LoanHomevisitFileexamineFeign; @@ -303,6 +305,9 @@ public class BusDeliveredApplyService extends MybatisBaseService { pushOtherDocument(busDeliveredApply, detailsList); }); + /*Future future13 = pool.submit(() -> { + pushCarSoldProfit(busDeliveredApply, detailsList); + });*/ //推送单车返利管理 String concatNo = busDeliveredApply.getContractNo(); BusSalesOrder busSalesOrder = busSalesOrderService.selectOrderByContractNo(concatNo).getData(); @@ -1367,6 +1375,67 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsList) { + List dtoList = new ArrayList<>(); + detailsList.removeAll(Collections.singleton(null)); + if(!detailsList.isEmpty()){ + BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); + for (int i = 0; i < detailsList.size(); i++) { + BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); + BaseVehicle baseVehicle = baseVehicleFeign.fetchBySid(busDeliveredApplyDetails.getVinSid()).getData(); + CarsSoldProfitDto carsSoldProfitDto = new CarsSoldProfitDto(); + carsSoldProfitDto.setStaffSid(busSalesOrder.getStaffSid());//销售专员 + carsSoldProfitDto.setStaffName(busSalesOrder.getStaffName()); + carsSoldProfitDto.setCustomerSid(busSalesOrder.getCustomerSid()); + carsSoldProfitDto.setCustomerName(busSalesOrder.getCustomerName()); + //金融服务费 + //中介返利 + + //车辆台账中取 + carsSoldProfitDto.setOrgSidPath(baseVehicle.getOrgSidPath()); + //分公司 + carsSoldProfitDto.setUseOrgSid(baseVehicle.getUseOrgSid()); + carsSoldProfitDto.setUseOrgName(baseVehicle.getUseOrgName()); + //销售日期 + carsSoldProfitDto.setSaleDate(baseVehicle.getSalesDate()); + //车架号 + carsSoldProfitDto.setVinNo(baseVehicle.getVinNo()); + //车型 + carsSoldProfitDto.setVehModelSid(baseVehicle.getModelSid()); + carsSoldProfitDto.setVehMConfigSid(baseVehicle.getModelConfigSid()); + carsSoldProfitDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); + carsSoldProfitDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); + //入库价 + //出库价 + carsSoldProfitDto.setExStockPrice(baseVehicle.getContractPrice().toString()); + //存放地点 + carsSoldProfitDto.setLocationSid(baseVehicle.getLocation()); + carsSoldProfitDto.setLocationName(baseVehicle.getLocationName()); + //厂家结算价 + carsSoldProfitDto.setMakersSettlementPrice(baseVehicle.getSettlePrice().toString()); + + //排产订单编号 + + //变速箱 + + //数据日期 + carsSoldProfitDto.setCreateDate(new Date()); + + + dtoList.add(carsSoldProfitDto); + + + + } + + + + } + if(!dtoList.isEmpty()){ + ResultBean resultBean = carsSoldProfitFeign.saveOrUpdate(dtoList); + } + } + private void pushVehRebateAdjustBill(BusDeliveredApply busDeliveredApply, List detailsList, SolutionsDetailsVo solutionsDetailsVo) { BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息 BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款 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 cd93978036..16c20ea057 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 @@ -4789,19 +4789,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService0) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + } + } + }else{ + if(planDetails.getPaymentInterest() != null){ + if(planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO)>0){ + 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); + } + } + } } //应收贷款车欠款_到期欠款_逾期利息--资金占用费 Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); if ("资金占用费".equals(v.getReceivablesName())) { all = all.add(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoDf2.setSummary("收款-赎回款"); + if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ + voucherResultDetailDtoDf2.setSummary("收款-赎回款"); + }else{ + voucherResultDetailDtoDf2.setSummary("收款-转租款"); + } voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); //核算部门 voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); @@ -4842,18 +4889,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService0) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + } + } + }else{ + if(planDetails.getPaymentInterest() != null){ + if(planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO)>0){ + 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); + } + } + } } if ("资金占用费".equals(v.getReceivablesName())) { @@ -4921,7 +4981,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService dtoList); + + @PostMapping("list") + @ResponseBody + ResultBean> list(@RequestBody PagerQuery pagerQuery); +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeignFallback.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeignFallback.java new file mode 100644 index 0000000000..50b6278410 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.reportcenter.api.carsSoldProfit; + +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Component +public class CarsSoldProfitFeignFallback { +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitQuery.java new file mode 100644 index 0000000000..8b559bfa3a --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.reportcenter.api.carsSoldProfit; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Data +public class CarsSoldProfitQuery implements Query { + private static final long serialVersionUID = -2577600843922228724L; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("机构组织全路径") + private String orgSidPath; + @ApiModelProperty("搜索分公司、车架号、车型、排产订单、销售专员") + private String names; + + private String date; + + private String userSid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java new file mode 100644 index 0000000000..a31ed77a1d --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java @@ -0,0 +1,71 @@ +package com.yxt.anrui.reportcenter.api.carsSoldProfit; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Data +public class CarsSoldProfitVo { + + @ApiModelProperty("销售专员") + @JsonProperty("seller") + private String staffName; + @ApiModelProperty("客户名称") + @JsonProperty("customer") + private String customerName; + @ApiModelProperty("销售日期") + @JsonProperty("saleTime") + private String saleDate; + @ApiModelProperty("分公司") + @JsonProperty("branch") + private String useOrgName; + @ApiModelProperty("事业部") + private String division; + @ApiModelProperty("车型") + private String model; + + @ApiModelProperty("采购系统") + @JsonProperty("buySystem") + private String purchaseSystemName; + @ApiModelProperty("车架号") + @JsonProperty("vin") + private String vinNo; + + @ApiModelProperty("出库价") + private String exStockPrice; + @ApiModelProperty("预计毛利") + private String expectedMaori; + @ApiModelProperty("返利调整") + private String rebatesAdjust; + @ApiModelProperty("调整后毛利") + private String adjustedMaori; + @ApiModelProperty("厂家结算价") + private String makersSettlementPrice; + @ApiModelProperty("返利合计") + private String rebatesTotal; + @ApiModelProperty("车辆成本") + private String carCost; + @ApiModelProperty("金融服务费") + private String financeServiceCharge; + @ApiModelProperty("中介返利费") + private String mediatorRebatePrice; + @ApiModelProperty("调车费") + private String moveCarPrice; + + @ApiModelProperty("变速箱") + private String gearbox; + @ApiModelProperty("排产订单编号") + private String schedulingId; + + @ApiModelProperty("数据日期") + private String dataTime; + @ApiModelProperty("更新日期") + private String updateTime; + + private String sid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java index 9aad34ec6b..bc28ad7a84 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java @@ -3,6 +3,8 @@ package com.yxt.anrui.reportcenter.api.vehRebate; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + @Data public class ListVehRebate { @@ -13,21 +15,21 @@ public class ListVehRebate { @ApiModelProperty("实销日期") private String realSaleTime; @ApiModelProperty("预提返利") - private String rebateEstimate; + private BigDecimal rebateEstimate; @ApiModelProperty("上传") - private String rebateUpload; + private BigDecimal rebateUpload; @ApiModelProperty("二次上传") - private String rebateSecondaryUpload; + private BigDecimal rebateSecondaryUpload; @ApiModelProperty("待确定") - private String rebateStayDetermine; + private BigDecimal rebateStayDetermine; @ApiModelProperty("调整") - private String rebateAdjust; + private BigDecimal rebateAdjust; @ApiModelProperty("未上传") - private String rebateNoUpload; + private BigDecimal rebateNoUpload; @ApiModelProperty("费用预提") - private String feesEstimate; + private BigDecimal feesEstimate; @ApiModelProperty("上传") - private String feeUpload; + private BigDecimal feeUpload; @ApiModelProperty("车型") private String model; @ApiModelProperty("品牌") diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java index 11d752e859..6137c83ccf 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java @@ -4,42 +4,25 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + @Data -public class TotalVehRebate implements Vo { - private static final long serialVersionUID = -8631337422991366458L; +public class TotalVehRebate { - @ApiModelProperty("sid") - private String sid; - @ApiModelProperty("合同状态") - private String contractType; - @ApiModelProperty("合同编号") - private String contractId; - @ApiModelProperty("欠款金额") - private String arrearsMoney; - @ApiModelProperty("承诺汇款日期") - private String paymentDate; - @ApiModelProperty("申请人") - private String applicant; - @ApiModelProperty("数量") - private String number; - @ApiModelProperty("原因") - private String reason; - @ApiModelProperty("创建日期") - private String date; - @ApiModelProperty("客户名称") - private String customerName; - @ApiModelProperty("是否显示办理按钮") - private Boolean showUpdateBtn; - @ApiModelProperty("是否显示删除按钮") - private Boolean showDeleteBtn; - @ApiModelProperty("是否显示领票按钮") - private Boolean showGetInvoiceBtn; - @ApiModelProperty("车型") - private String model; - @ApiModelProperty("销售类型") - private String type; - @ApiModelProperty("车架号(拼接)") - private String vinNo; - @ApiModelProperty("是否领取发票原件") - private String isLQOrigInvoice; + @ApiModelProperty("预提返利") + private BigDecimal rebateEstimate; + @ApiModelProperty("上传") + private BigDecimal rebateUpload; + @ApiModelProperty("二次上传") + private BigDecimal rebateSecondaryUpload; + @ApiModelProperty("待确定") + private BigDecimal rebateStayDetermine; + @ApiModelProperty("调整") + private BigDecimal rebateAdjust; + @ApiModelProperty("未上传") + private BigDecimal rebateNoUpload; + @ApiModelProperty("费用预提") + private BigDecimal feesEstimate; + @ApiModelProperty("上传") + private BigDecimal feeUpload; } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.java new file mode 100644 index 0000000000..1f43132832 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.reportcenter.biz.carsSoldProfit; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfit; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Mapper +public interface CarsSoldProfitMapper extends BaseMapper { + CarsSoldProfit selectByVinSid(String vinSid); + + IPage listPage(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml new file mode 100644 index 0000000000..43fa6c1961 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitRest.java new file mode 100644 index 0000000000..b8d17fb77f --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitRest.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.reportcenter.biz.carsSoldProfit; + +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitDto; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitFeign; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitQuery; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitVo; +import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo; +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; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Api(tags = "车辆利润报表") +@RestController +@RequestMapping("v1/carsSoldProfit") +public class CarsSoldProfitRest implements CarsSoldProfitFeign { + + @Autowired + private CarsSoldProfitService carsSoldProfitService; + + @Override + public ResultBean saveOrUpdate(List dtoList) { + return carsSoldProfitService.saveProfit(dtoList); + } + + @Override + public ResultBean> list(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = carsSoldProfitService.listPage(pagerQuery); + return rb.success().setData(pv); + } +} 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 new file mode 100644 index 0000000000..86337e7292 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java @@ -0,0 +1,142 @@ +package com.yxt.anrui.reportcenter.biz.carsSoldProfit; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfit; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitDto; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitQuery; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/9 + **/ +@Service +public class CarsSoldProfitService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean saveProfit(List dtoList) { + ResultBean rb = ResultBean.fireFail(); + for (int i = 0; i < dtoList.size(); i++) { + CarsSoldProfitDto dto = dtoList.get(i); + CarsSoldProfit carsSoldProfit = baseMapper.selectByVinSid(dto.getVinSid()); + if (carsSoldProfit != null) { + //预计毛利 + if (StringUtils.isNotBlank(dto.getExpectedMaori())) { + carsSoldProfit.setExpectedMaori(new BigDecimal(dto.getExpectedMaori())); + } + //返利调整 + if (StringUtils.isNotBlank(dto.getRebatesAdjust())) { + carsSoldProfit.setRebatesAdjust(new BigDecimal(dto.getRebatesAdjust())); + } + //调整后毛利 + if (StringUtils.isNotBlank(dto.getAdjustedMaori())) { + carsSoldProfit.setAdjustedMaori(new BigDecimal(dto.getAdjustedMaori())); + } + // + carsSoldProfit.setUpdateDate(new Date()); + baseMapper.updateById(carsSoldProfit); + + + } else { + carsSoldProfit = new CarsSoldProfit(); + BeanUtil.copyProperties(dto, carsSoldProfit); + baseMapper.insert(carsSoldProfit); + } + } + + return rb.success(); + } + + public PagerVo listPage(PagerQuery pagerQuery) { + CarsSoldProfitQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getMenuSid())) { + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgSidPath()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (org.apache.commons.lang3.StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgSidPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("bd.orgSidPath", orgSidPath); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + String date = query.getDate(); + if (StringUtils.isNotBlank(date)) { + String[] s = date.split("至"); + String startDate = s[0]; + if (StringUtils.isNotBlank(startDate)) { + qw.ge("saleDate", startDate); + } + String endDate = s[1]; + if (StringUtils.isNotBlank(endDate)) { + qw.le("saleDate", endDate); + } + } + String names = query.getNames(); + // 多字段模糊查询 + if (StringUtils.isNotBlank(names)) { + qw.and(wrapper -> wrapper.like("useOrgName", names) + .or().like("vinNo", names) + .or().like("model", names) + .or().like("schedulingId", names) + .or().like("staffName", names)); + + + } + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java index efc1663487..00dfd31cc5 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java @@ -39,8 +39,10 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Objects; @Service public class AppVehRebateService { @@ -88,20 +90,21 @@ public class AppVehRebateService { } } scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery); + scmVehRebateStatQueryPagerQuery.setCurrent(query.getCurrent()); PagerVo data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData(); for (ScmVehRebateStatVo record : data.getRecords()) { ListVehRebate listVehRebate = new ListVehRebate(); listVehRebate.setVin(record.getVinNo()); listVehRebate.setSaleTime(record.getSaleDate()); listVehRebate.setRealSaleTime(record.getAcSaleDate()); - listVehRebate.setRebateEstimate(record.getEstimateRebate().toString()); - listVehRebate.setRebateUpload(record.getUploadMoney().toString()); - listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney().toString()); - listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney().toString()); - listVehRebate.setRebateAdjust(record.getAdjustmentMoney().toString()); - listVehRebate.setRebateNoUpload(record.getNotUploadMoney().toString()); - listVehRebate.setFeesEstimate(record.getExpectCost().toString()); - listVehRebate.setFeeUpload(record.getMoney().toString()); + listVehRebate.setRebateEstimate(record.getEstimateRebate()); + listVehRebate.setRebateUpload(record.getUploadMoney()); + listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney()); + listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney()); + listVehRebate.setRebateAdjust(record.getAdjustmentMoney()); + listVehRebate.setRebateNoUpload(record.getNotUploadMoney()); + listVehRebate.setFeesEstimate(record.getExpectCost()); + listVehRebate.setFeeUpload(record.getMoney()); listVehRebate.setModel(record.getVehModelName()); listVehRebate.setBrand(record.getBrandName()); listVehRebate.setBuySystem(record.getPurchaseSystemName()); @@ -111,6 +114,18 @@ public class AppVehRebateService { listVehRebates.add(listVehRebate); } vehRebatePageVo.setList(listVehRebates); + scmVehRebateStatQueryPagerQuery.setCurrent(1); + scmVehRebateStatQueryPagerQuery.setSize(1000); + PagerVo data2 = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData(); + totalVehRebate.setRebateEstimate(data2.getRecords().stream().map(ScmVehRebateStatVo::getEstimateRebate).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setRebateUpload(data2.getRecords().stream().map(ScmVehRebateStatVo::getUploadMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setRebateSecondaryUpload(data2.getRecords().stream().map(ScmVehRebateStatVo::getSecondaryUploadMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setRebateStayDetermine(data2.getRecords().stream().map(ScmVehRebateStatVo::getStayDetermineMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setRebateAdjust(data2.getRecords().stream().map(ScmVehRebateStatVo::getAdjustmentMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setRebateNoUpload(data2.getRecords().stream().map(ScmVehRebateStatVo::getNotUploadMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setFeesEstimate(data2.getRecords().stream().map(ScmVehRebateStatVo::getExpectCost).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + totalVehRebate.setFeeUpload(data2.getRecords().stream().map(ScmVehRebateStatVo::getMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + vehRebatePageVo.setTotal(totalVehRebate); vehRebatePageVo.setPages((int) data.getPages()); return rb.success().setData(vehRebatePageVo); } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/FileQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/FileQuery.java new file mode 100644 index 0000000000..409d5916a4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/FileQuery.java @@ -0,0 +1,14 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalescustomer; + +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/5/13 + **/ +@Data +public class FileQuery { + + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomer.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomer.java index e56790cedf..79de9cc1d9 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomer.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomer.java @@ -4,6 +4,8 @@ import com.yxt.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -32,4 +34,9 @@ public class LoanSecondarySalesCustomer extends BaseEntity { private String endDate; @ApiModelProperty("证件地址") private String certificateAddress; + + @ApiModelProperty("二次销售合同") + private String contractFiles; + @ApiModelProperty("其他证件") + private String otherFiles; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomerDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomerDto.java index 9f6e5fef88..b192cc10c8 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomerDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomerDto.java @@ -5,6 +5,8 @@ import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -35,4 +37,8 @@ public class LoanSecondarySalesCustomerDto implements Dto { private String endDate; @ApiModelProperty("证件地址") private String certificateAddress; + @ApiModelProperty("二次销售合同") + private List contractFiles; + @ApiModelProperty("其他证件") + private List otherFiles; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/SalesInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/SalesInitVo.java index 22472739e4..6ccb325917 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/SalesInitVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/SalesInitVo.java @@ -45,4 +45,8 @@ public class SalesInitVo { private String certificateAddress; @ApiModelProperty("车辆列表") private List loanSecondarySalesVehVoList = new ArrayList<>(); + @ApiModelProperty("二次销售合同") + private List contractFiles; + @ApiModelProperty("其他证件") + private List otherFiles; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java index 10f3f0579c..ffbe2fb269 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java @@ -640,16 +640,37 @@ public class LoanOutboundApplyService extends MybatisBaseService { //推送财务凭证 //TOdO: - pushRiskToFin(finalLoanOutboundApply,busVinSidList); + pushRiskToFinSh(finalLoanOutboundApply,busVinSidList); }); } catch (Exception e) { e.printStackTrace(); } - }/*else if("二次转租".equals(loanOutboundApply.getDisposal())){ + }else if("二次转租".equals(loanOutboundApply.getDisposal())){ busVinStateSetQuery.setState(3); ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); - }*/else if("二次销售".equals(loanOutboundApply.getDisposal())){ + //推送金蝶财务其他出库单--二次转租推送的凭证与赎回推送的凭证一样 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); + LoanOutboundApply finalLoanOutboundApply = loanOutboundApply; + Future future1 = pool.submit(() -> { + //推送其他出库单 + //TOdO: + pushStkOut(finalLoanOutboundApply,busVinSidList); + }); + Future future2 = pool.submit(() -> { + //推送财务凭证 + //TOdO: + pushRiskToFinZz(finalLoanOutboundApply,busVinSidList); + }); + } catch (Exception e) { + e.printStackTrace(); + } + }else if("二次销售".equals(loanOutboundApply.getDisposal())){ //ToDo: //推送金蝶财务其他出库单 try { @@ -715,6 +736,140 @@ public class LoanOutboundApplyService extends MybatisBaseService busVinSidList) { + Voucher voucher = new Voucher(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData(); + if (null != organizationVo) { + voucher.setAccountBook(organizationVo.getOrgCode()); + voucher.setVoucherNo(organizationVo.getOrgCode()); + } + List voucherResultDetailDtos = new ArrayList<>(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getDeptSid()).getData(); + for (int i = 0; i < busVinSidList.size(); i++) { + String busVinSid = busVinSidList.get(i); + //ToDo: + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); + String customerNumber = ""; + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); + if (salesOrder != null && busSalesOrderVehicle != null) { + //判断财务系统是否有客户 + 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()); + if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) { + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + } + bdCustomer.setTOrgIds(deptVo.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(); + } + } + AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid); + //应收贷款车欠款_待处理欠款_扣回车辆 + BigDecimal all = BigDecimal.ZERO; + //应收贷款车欠款_到期欠款_累欠 + BigDecimal lqMoney = BigDecimal.ZERO; + //应收贷款车欠款_未到期欠款_未到期欠款 + BigDecimal wdqMoney = BigDecimal.ZERO; + //应收贷款车欠款_到期欠款_本金 + BigDecimal bjMoney = BigDecimal.ZERO; + + String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid); + lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq)); + //未到期欠款 + String wdq = alrepaidAndArrVo.getUnexpiredMoney(); + wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq)); + String bj = loanRepaymentPlanDetailsService.getBj(busVinSid); + bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj)); + all = lqMoney.add(wdqMoney).add(bjMoney); + + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto(); + //-------------------------------------------应收贷款车欠款_待处理欠款_扣回车辆 + if (all.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoDf.setSummary("**扣回车辆转租结转"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(all.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoDf); + } + + //---------------------------------------------应收贷款车欠款_到期欠款_累欠 + if (lqMoney.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoJf.setSummary("**扣回车辆转租结转"); + voucherResultDetailDtoJf.setSubjectNo("1201.02.03"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(lqMoney.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf); + } + + //--------------------------------------------应收贷款车欠款_未到期欠款_未到期欠款 + if (wdqMoney.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoJf2.setSummary("**扣回车辆转租结转"); + voucherResultDetailDtoJf2.setSubjectNo("1201.01.00"); + //核算部门 + voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf2.setDebit(wdqMoney.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf2); + } + + //-------------------------------------------应收贷款车欠款_到期欠款_本金 + if (bjMoney.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoJf3.setSummary("**扣回车辆转租结转"); + voucherResultDetailDtoJf3.setSubjectNo("1201.02.01"); + //核算部门 + voucherResultDetailDtoJf3.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf3.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf3.setDebit(bjMoney.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf3); + } + } + + if (!voucherResultDetailDtos.isEmpty()) { + voucher.setResultDetails(voucherResultDetailDtos); + finKingDeeFeign.saveVoucher(voucher); + } + } private void pushRiskToFin2(LoanOutboundApply loanOutboundApply, List busVinSidList) { LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(loanOutboundApply.getApplySid()); @@ -905,7 +1060,7 @@ public class LoanOutboundApplyService extends MybatisBaseService busVinSidList) { + public void pushRiskToFinSh(LoanOutboundApply loanOutboundApply,List busVinSidList) { Voucher voucher = new Voucher(); SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData(); if (null != organizationVo) { diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java index b49ddf308a..1e4cbfa17b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java @@ -17,6 +17,5 @@ import java.util.List; @Mapper public interface LoanRelieveMortgageMapper extends BaseMapper { - IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml index 21aa6e0811..f6dba37edf 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml @@ -5,7 +5,7 @@