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 @@