Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 4 weeks ago
parent
commit
67a01f207b
  1. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java
  2. 10
      anrui-buscenter/anrui-buscenter-biz/pom.xml
  3. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java
  4. 69
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  5. 114
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  6. 80
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java
  7. 78
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java
  8. 33
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeign.java
  9. 12
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeignFallback.java
  10. 25
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitQuery.java
  11. 71
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java
  12. 18
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java
  13. 55
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java
  14. 22
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.java
  15. 16
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml
  16. 42
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitRest.java
  17. 142
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java
  18. 31
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java
  19. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/FileQuery.java
  20. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomer.java
  21. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/LoanSecondarySalesCustomerDto.java
  22. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescustomer/SalesInitVo.java
  23. 163
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  24. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java
  25. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml
  26. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageService.java
  27. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml
  28. 56
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescustomer/LoanSecondarySalesCustomerService.java
  29. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java
  30. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java
  31. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java
  32. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  33. 50
      doc/databases/统计报表/车辆利润报表.sql

2
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; private String vehMark;
@ApiModelProperty("结清申请提交时间") @ApiModelProperty("结清申请提交时间")
private Date settleApplyDate; 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("风控状态") @ApiModelProperty("风控状态")
private Integer riskState; private Integer riskState;
//是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成) //是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成)

10
anrui-buscenter/anrui-buscenter-biz/pom.xml

@ -8,6 +8,11 @@
<version>0.0.1</version> <version>0.0.1</version>
<relativePath/> <relativePath/>
</parent> </parent>
<!-- <parent>
<groupId>com.yxt.anrui</groupId>
<artifactId>anrui-buscenter</artifactId>
<version>0.0.1</version>
</parent>-->
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -16,6 +21,11 @@
<version>0.0.1</version> <version>0.0.1</version>
<dependencies> <dependencies>
<dependency>
<artifactId>anrui-reportcenter-api</artifactId>
<groupId>com.yxt.anrui</groupId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.yxt.messagecenter</groupId> <groupId>com.yxt.messagecenter</groupId>
<artifactId>message-center-api</artifactId> <artifactId>message-center-api</artifactId>

2
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 @EnableScheduling
@EnableDiscoveryClient @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 class BusCenterApplication {
public static void main(String[] args) { public static void main(String[] args) {

69
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.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery; 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.LoanFileexamine;
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign; import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign;
import com.yxt.anrui.riskcenter.api.loanhomevisitfileexamine.LoanHomevisitFileexamineFeign; import com.yxt.anrui.riskcenter.api.loanhomevisitfileexamine.LoanHomevisitFileexamineFeign;
@ -303,6 +305,9 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
@Autowired @Autowired
private FinKingDeeFeign finKingDeeFeign; private FinKingDeeFeign finKingDeeFeign;
@Autowired
private CarsSoldProfitFeign carsSoldProfitFeign;
/** /**
* 构造出库申请的查询条件 * 构造出库申请的查询条件
* *
@ -1184,6 +1189,9 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
Future future10 = pool.submit(() -> { Future future10 = pool.submit(() -> {
pushOtherDocument(busDeliveredApply, detailsList); pushOtherDocument(busDeliveredApply, detailsList);
}); });
/*Future future13 = pool.submit(() -> {
pushCarSoldProfit(busDeliveredApply, detailsList);
});*/
//推送单车返利管理 //推送单车返利管理
String concatNo = busDeliveredApply.getContractNo(); String concatNo = busDeliveredApply.getContractNo();
BusSalesOrder busSalesOrder = busSalesOrderService.selectOrderByContractNo(concatNo).getData(); BusSalesOrder busSalesOrder = busSalesOrderService.selectOrderByContractNo(concatNo).getData();
@ -1367,6 +1375,67 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
} }
} }
private void pushCarSoldProfit(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList) {
List<CarsSoldProfitDto> 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<BusDeliveredApplyDetails> detailsList, SolutionsDetailsVo solutionsDetailsVo) { private void pushVehRebateAdjustBill(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList, SolutionsDetailsVo solutionsDetailsVo) {
BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息 BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息
BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款 BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款

114
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -4789,19 +4789,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
customerNumber = busSalesOrderVehicle.getTemporaryNo(); customerNumber = busSalesOrderVehicle.getTemporaryNo();
} }
} }
if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())) {//赎回中-赎回凭证 if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString()) || "11".equals(busSalesOrderVehicle.getRiskState().toString())) {//赎回中-赎回凭证--交回--转租中
////营业费用_催收费用 上门催收费用--收回车辆费用(赎回通过后推送的费用) ////营业费用_催收费用 上门催收费用--收回车辆费用(赎回通过后推送的费用)
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){
if ("收回车辆费用".equals(v.getReceivablesName())) { Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
all = all.add(new BigDecimal(v.getSubscriptionMoney())); if ("收回车辆费用".equals(v.getReceivablesName())) {
voucherResultDetailDtoJf2.setSummary("收款-赎回费用"); all = all.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoJf2.setSubjectNo("6601.32.05"); voucherResultDetailDtoJf2.setSummary("收款-赎回费用");
//核算部门 voucherResultDetailDtoJf2.setSubjectNo("6601.32.05");
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); //核算部门
//核算客户 voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); //核算客户
voucherResultDetailDtoJf2.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString()); voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
list.add(voucherResultDetailDtoJf2); voucherResultDetailDtoJf2.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString());
list.add(voucherResultDetailDtoJf2);
}
} }
//预提费用 待确认逾期利息 待确认途期利息--资金占用费转收入 //预提费用 待确认逾期利息 待确认途期利息--资金占用费转收入
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
@ -4815,11 +4817,28 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
voucherResultDetailDtoJf3.setDebit(v.getSubscriptionMoney()); voucherResultDetailDtoJf3.setDebit(v.getSubscriptionMoney());
list.add(voucherResultDetailDtoJf3); list.add(voucherResultDetailDtoJf3);
} }
//资金占用费转收入--其他业务收入_消贷收入_消贷利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) {//贷方
voucherResultDetailDtoDf3.setSummary("资金占用费转收入");
voucherResultDetailDtoDf3.setSubjectNo("6002.01.17");
//核算部门
voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf3.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf3.setCredit(v.getSubscriptionMoney());
list.add(voucherResultDetailDtoDf3);
}
//应收贷款车欠款_待处理欠款_扣回车辆--月还/资方逾期利息 //应收贷款车欠款_待处理欠款_扣回车辆--月还/资方逾期利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
all = all.add(new BigDecimal(v.getSubscriptionMoney())); all = all.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary("收款-赎回款"); if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){
voucherResultDetailDtoDf.setSummary("收款-赎回款");
}else{
voucherResultDetailDtoDf.setSummary("收款-转租款");
}
voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门 //核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -4827,13 +4846,41 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
voucherResultDetailDtoDf.setDimensionCustom(customerNumber); voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list.add(voucherResultDetailDtoDf); list.add(voucherResultDetailDtoDf);
if("月还".equals(v.getReceivablesName())){
if(planDetails.getPaymentMoney() != null){
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) >0) {
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(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) { if ("资金占用费".equals(v.getReceivablesName())) {
all = all.add(new BigDecimal(v.getSubscriptionMoney())); 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.setSubjectNo("1201.02.03");
//核算部门 //核算部门
voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode());
@ -4842,18 +4889,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney());
list.add(voucherResultDetailDtoDf2); list.add(voucherResultDetailDtoDf2);
} }
//资金占用费转收入--其他业务收入_消贷收入_消贷利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) {//贷方
voucherResultDetailDtoDf3.setSummary("资金占用费转收入");
voucherResultDetailDtoDf3.setSubjectNo("6002.01.17");
//核算部门
voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf3.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf3.setCredit(v.getSubscriptionMoney());
list.add(voucherResultDetailDtoDf3);
}
} else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证 } else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
@ -4867,6 +4903,30 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
voucherResultDetailDtoDf.setDimensionCustom(customerNumber); voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list2.add(voucherResultDetailDtoDf); list2.add(voucherResultDetailDtoDf);
if("月还".equals(v.getReceivablesName())){
if(planDetails.getPaymentMoney() != null){
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) >0) {
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())) { if ("资金占用费".equals(v.getReceivablesName())) {
@ -4921,7 +4981,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum());
} }
voucherResultDetailDtoJf.setSubjectNo(payType); voucherResultDetailDtoJf.setSubjectNo(payType);
voucherResultDetailDtoJf.setSummary("收款-赎回款" + "(" + collectionDate + ")"); voucherResultDetailDtoJf.setSummary("收款-"+finalConfirmation.getPayerName() + "(" + collectionDate + ")");
voucherResultDetailDtoJf.setDebit(String.valueOf(all)); voucherResultDetailDtoJf.setDebit(String.valueOf(all));
list.add(voucherResultDetailDtoJf); list.add(voucherResultDetailDtoJf);
} }

80
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java

@ -0,0 +1,80 @@
package com.yxt.anrui.reportcenter.api.carsSoldProfit;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2025/5/9
**/
@Data
public class CarsSoldProfit extends BaseEntity {
private static final long serialVersionUID = 3918454271608275795L;
private String orgSidPath;
@ApiModelProperty("销售专员sid")
private String staffSid;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("销售日期")
private Date saleDate;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("车型配置sid")
private String vehMConfigSid;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("采购系统名称")
private String purchaseSystemName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("存放地点sid")
private String locationSid;
@ApiModelProperty("存放地点")
private String locationName;
@ApiModelProperty("采购类型")
private String type;
@ApiModelProperty("出库价")
private BigDecimal exStockPrice;
@ApiModelProperty("预计毛利")
private BigDecimal expectedMaori;
@ApiModelProperty("返利调整")
private BigDecimal rebatesAdjust;
@ApiModelProperty("调整后毛利")
private BigDecimal adjustedMaori;
@ApiModelProperty("厂家结算价")
private BigDecimal makersSettlementPrice;
@ApiModelProperty("返利合计")
private BigDecimal rebatesTotal;
@ApiModelProperty("车辆成本")
private BigDecimal carCost;
@ApiModelProperty("金融服务费")
private BigDecimal financeServiceCharge;
@ApiModelProperty("中介返利费")
private BigDecimal mediatorRebatePrice;
@ApiModelProperty("调车费")
private BigDecimal moveCarPrice;
@ApiModelProperty("排产订单编号")
private String schedulingId;
@ApiModelProperty("变速箱")
private String gearbox;
@ApiModelProperty("数据日期")
private Date createDate;
@ApiModelProperty("更新日期")
private Date updateDate;
}

78
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java

@ -0,0 +1,78 @@
package com.yxt.anrui.reportcenter.api.carsSoldProfit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2025/5/9
**/
@Data
public class CarsSoldProfitDto {
private String orgSidPath;
@ApiModelProperty("销售专员sid")
private String staffSid;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("销售日期")
private Date saleDate;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("车型配置sid")
private String vehMConfigSid;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("采购系统名称")
private String purchaseSystemName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("存放地点sid")
private String locationSid;
@ApiModelProperty("存放地点")
private String locationName;
@ApiModelProperty("采购类型")
private String type;
@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 schedulingId;
@ApiModelProperty("变速箱")
private String gearbox;
@ApiModelProperty("数据日期")
private Date createDate;
@ApiModelProperty("更新日期")
private Date updateDate;
}

33
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitFeign.java

@ -0,0 +1,33 @@
package com.yxt.anrui.reportcenter.api.carsSoldProfit;
import com.yxt.anrui.reportcenter.api.dailyreport.DailyReportFeignFallback;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/5/9
**/
@FeignClient(
contextId = "anrui-reportcenter-CarsSoldProfit",
name = "anrui-reportcenter",
path = "v1/carsSoldProfit",
fallback = CarsSoldProfitFeignFallback.class)
public interface CarsSoldProfitFeign {
@PostMapping("saveOrUpdate")
@ResponseBody
ResultBean saveOrUpdate(@RequestBody List<CarsSoldProfitDto> dtoList);
@PostMapping("list")
@ResponseBody
ResultBean<PagerVo<CarsSoldProfitVo>> list(@RequestBody PagerQuery<CarsSoldProfitQuery> pagerQuery);
}

12
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 {
}

25
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;
}

71
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;
}

18
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@Data @Data
public class ListVehRebate { public class ListVehRebate {
@ -13,21 +15,21 @@ public class ListVehRebate {
@ApiModelProperty("实销日期") @ApiModelProperty("实销日期")
private String realSaleTime; private String realSaleTime;
@ApiModelProperty("预提返利") @ApiModelProperty("预提返利")
private String rebateEstimate; private BigDecimal rebateEstimate;
@ApiModelProperty("上传") @ApiModelProperty("上传")
private String rebateUpload; private BigDecimal rebateUpload;
@ApiModelProperty("二次上传") @ApiModelProperty("二次上传")
private String rebateSecondaryUpload; private BigDecimal rebateSecondaryUpload;
@ApiModelProperty("待确定") @ApiModelProperty("待确定")
private String rebateStayDetermine; private BigDecimal rebateStayDetermine;
@ApiModelProperty("调整") @ApiModelProperty("调整")
private String rebateAdjust; private BigDecimal rebateAdjust;
@ApiModelProperty("未上传") @ApiModelProperty("未上传")
private String rebateNoUpload; private BigDecimal rebateNoUpload;
@ApiModelProperty("费用预提") @ApiModelProperty("费用预提")
private String feesEstimate; private BigDecimal feesEstimate;
@ApiModelProperty("上传") @ApiModelProperty("上传")
private String feeUpload; private BigDecimal feeUpload;
@ApiModelProperty("车型") @ApiModelProperty("车型")
private String model; private String model;
@ApiModelProperty("品牌") @ApiModelProperty("品牌")

55
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@Data @Data
public class TotalVehRebate implements Vo { public class TotalVehRebate {
private static final long serialVersionUID = -8631337422991366458L;
@ApiModelProperty("sid") @ApiModelProperty("预提返利")
private String sid; private BigDecimal rebateEstimate;
@ApiModelProperty("合同状态") @ApiModelProperty("上传")
private String contractType; private BigDecimal rebateUpload;
@ApiModelProperty("合同编号") @ApiModelProperty("二次上传")
private String contractId; private BigDecimal rebateSecondaryUpload;
@ApiModelProperty("欠款金额") @ApiModelProperty("待确定")
private String arrearsMoney; private BigDecimal rebateStayDetermine;
@ApiModelProperty("承诺汇款日期") @ApiModelProperty("调整")
private String paymentDate; private BigDecimal rebateAdjust;
@ApiModelProperty("申请人") @ApiModelProperty("未上传")
private String applicant; private BigDecimal rebateNoUpload;
@ApiModelProperty("数量") @ApiModelProperty("费用预提")
private String number; private BigDecimal feesEstimate;
@ApiModelProperty("原因") @ApiModelProperty("上传")
private String reason; private BigDecimal feeUpload;
@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;
} }

22
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> {
CarsSoldProfit selectByVinSid(String vinSid);
IPage<CarsSoldProfitVo> listPage(IPage<CarsSoldProfit> page, @Param(Constants.WRAPPER)QueryWrapper<CarsSoldProfit> qw);
}

16
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.reportcenter.biz.carsSoldProfit.CarsSoldProfitMapper">
<select id="selectByVinSid" resultType="com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfit">
select *
from cars_sole_profit
where vinSid = #{vinSid}
</select>
<select id="listPage" resultType="com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitVo">
select * from cars_sole_profit
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

42
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<CarsSoldProfitDto> dtoList) {
return carsSoldProfitService.saveProfit(dtoList);
}
@Override
public ResultBean<PagerVo<CarsSoldProfitVo>> list(PagerQuery<CarsSoldProfitQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerVo<CarsSoldProfitVo> pv = carsSoldProfitService.listPage(pagerQuery);
return rb.success().setData(pv);
}
}

142
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<CarsSoldProfitMapper, CarsSoldProfit> {
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean saveProfit(List<CarsSoldProfitDto> 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<CarsSoldProfitVo> listPage(PagerQuery<CarsSoldProfitQuery> pagerQuery) {
CarsSoldProfitQuery query = pagerQuery.getParams();
QueryWrapper<CarsSoldProfit> 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<String> 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<CarsSoldProfitVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<CarsSoldProfitVo> 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<CarsSoldProfit> page = PagerUtil.queryToPage(pagerQuery);
IPage<CarsSoldProfitVo> pagging = baseMapper.listPage(page, qw);
List<CarsSoldProfitVo> recordList = pagging.getRecords();
recordList.removeAll(Collections.singleton(null));
PagerVo<CarsSoldProfitVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

31
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
@Service @Service
public class AppVehRebateService { public class AppVehRebateService {
@ -88,20 +90,21 @@ public class AppVehRebateService {
} }
} }
scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery); scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery);
scmVehRebateStatQueryPagerQuery.setCurrent(query.getCurrent());
PagerVo<ScmVehRebateStatVo> data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData(); PagerVo<ScmVehRebateStatVo> data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData();
for (ScmVehRebateStatVo record : data.getRecords()) { for (ScmVehRebateStatVo record : data.getRecords()) {
ListVehRebate listVehRebate = new ListVehRebate(); ListVehRebate listVehRebate = new ListVehRebate();
listVehRebate.setVin(record.getVinNo()); listVehRebate.setVin(record.getVinNo());
listVehRebate.setSaleTime(record.getSaleDate()); listVehRebate.setSaleTime(record.getSaleDate());
listVehRebate.setRealSaleTime(record.getAcSaleDate()); listVehRebate.setRealSaleTime(record.getAcSaleDate());
listVehRebate.setRebateEstimate(record.getEstimateRebate().toString()); listVehRebate.setRebateEstimate(record.getEstimateRebate());
listVehRebate.setRebateUpload(record.getUploadMoney().toString()); listVehRebate.setRebateUpload(record.getUploadMoney());
listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney().toString()); listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney());
listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney().toString()); listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney());
listVehRebate.setRebateAdjust(record.getAdjustmentMoney().toString()); listVehRebate.setRebateAdjust(record.getAdjustmentMoney());
listVehRebate.setRebateNoUpload(record.getNotUploadMoney().toString()); listVehRebate.setRebateNoUpload(record.getNotUploadMoney());
listVehRebate.setFeesEstimate(record.getExpectCost().toString()); listVehRebate.setFeesEstimate(record.getExpectCost());
listVehRebate.setFeeUpload(record.getMoney().toString()); listVehRebate.setFeeUpload(record.getMoney());
listVehRebate.setModel(record.getVehModelName()); listVehRebate.setModel(record.getVehModelName());
listVehRebate.setBrand(record.getBrandName()); listVehRebate.setBrand(record.getBrandName());
listVehRebate.setBuySystem(record.getPurchaseSystemName()); listVehRebate.setBuySystem(record.getPurchaseSystemName());
@ -111,6 +114,18 @@ public class AppVehRebateService {
listVehRebates.add(listVehRebate); listVehRebates.add(listVehRebate);
} }
vehRebatePageVo.setList(listVehRebates); vehRebatePageVo.setList(listVehRebates);
scmVehRebateStatQueryPagerQuery.setCurrent(1);
scmVehRebateStatQueryPagerQuery.setSize(1000);
PagerVo<ScmVehRebateStatVo> 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()); vehRebatePageVo.setPages((int) data.getPages());
return rb.success().setData(vehRebatePageVo); return rb.success().setData(vehRebatePageVo);
} }

14
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;
}

7
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -32,4 +34,9 @@ public class LoanSecondarySalesCustomer extends BaseEntity {
private String endDate; private String endDate;
@ApiModelProperty("证件地址") @ApiModelProperty("证件地址")
private String certificateAddress; private String certificateAddress;
@ApiModelProperty("二次销售合同")
private String contractFiles;
@ApiModelProperty("其他证件")
private String otherFiles;
} }

6
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -35,4 +37,8 @@ public class LoanSecondarySalesCustomerDto implements Dto {
private String endDate; private String endDate;
@ApiModelProperty("证件地址") @ApiModelProperty("证件地址")
private String certificateAddress; private String certificateAddress;
@ApiModelProperty("二次销售合同")
private List<String> contractFiles;
@ApiModelProperty("其他证件")
private List<String> otherFiles;
} }

4
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; private String certificateAddress;
@ApiModelProperty("车辆列表") @ApiModelProperty("车辆列表")
private List<LoanSecondarySalesVehVo> loanSecondarySalesVehVoList = new ArrayList<>(); private List<LoanSecondarySalesVehVo> loanSecondarySalesVehVoList = new ArrayList<>();
@ApiModelProperty("二次销售合同")
private List<FileQuery> contractFiles;
@ApiModelProperty("其他证件")
private List<FileQuery> otherFiles;
} }

163
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<LoanOutboundApp
Future future2 = pool.submit(() -> { Future future2 = pool.submit(() -> {
//推送财务凭证 //推送财务凭证
//TOdO: //TOdO:
pushRiskToFin(finalLoanOutboundApply,busVinSidList); pushRiskToFinSh(finalLoanOutboundApply,busVinSidList);
}); });
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
}/*else if("二次转租".equals(loanOutboundApply.getDisposal())){ }else if("二次转租".equals(loanOutboundApply.getDisposal())){
busVinStateSetQuery.setState(3); busVinStateSetQuery.setState(3);
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); 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<Runnable>(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: //ToDo:
//推送金蝶财务其他出库单 //推送金蝶财务其他出库单
try { try {
@ -715,6 +736,140 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
return rb.setMsg("操作失败!提交的数据不一致"); return rb.setMsg("操作失败!提交的数据不一致");
} }
} }
//转租
private void pushRiskToFinZz(LoanOutboundApply loanOutboundApply, List<String> busVinSidList) {
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> 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<BdCustomer> 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<String> 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<String> busVinSidList) { private void pushRiskToFin2(LoanOutboundApply loanOutboundApply, List<String> busVinSidList) {
LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(loanOutboundApply.getApplySid()); LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(loanOutboundApply.getApplySid());
@ -905,7 +1060,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
} }
//推送赎回凭证结转 //推送赎回凭证结转
public void pushRiskToFin(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) { public void pushRiskToFinSh(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) {
Voucher voucher = new Voucher(); Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData(); SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData();
if (null != organizationVo) { if (null != organizationVo) {

1
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 @Mapper
public interface LoanRelieveMortgageMapper extends BaseMapper<LoanRelieveMortgage> { public interface LoanRelieveMortgageMapper extends BaseMapper<LoanRelieveMortgage> {
IPage<LoanRelieveMortgageVo> listPage(IPage<LoanRelieveMortgage> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRelieveMortgage> qw); IPage<LoanRelieveMortgageVo> listPage(IPage<LoanRelieveMortgage> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRelieveMortgage> qw);
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml

@ -5,7 +5,7 @@
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgageVo"> <select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgageVo">
SELECT sid, SELECT sid,
`state`, state,
useOrgName, useOrgName,
dept, dept,
salesman, salesman,

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageService.java

@ -109,7 +109,7 @@ public class LoanRelieveMortgageService extends MybatisBaseService<LoanRelieveMo
//======================= //=======================
//移交状态 //移交状态
if (StringUtils.isNotBlank(pagerQuery.getState())) { if (StringUtils.isNotBlank(pagerQuery.getState())) {
qw.like("`state`", pagerQuery.getState()); qw.like("state", pagerQuery.getState());
} }
//销售专员 //销售专员
if (StringUtils.isNotBlank(pagerQuery.getSalesman())) { if (StringUtils.isNotBlank(pagerQuery.getSalesman())) {
@ -158,7 +158,7 @@ public class LoanRelieveMortgageService extends MybatisBaseService<LoanRelieveMo
); );
qw.eq("isDelete", 0); qw.eq("isDelete", 0);
qw.orderBy(true, false, "`state`") qw.orderBy(true, false, "state")
.orderBy(true, false, "createTime") .orderBy(true, false, "createTime")
; ;
IPage<LoanRelieveMortgageVo> pagging = baseMapper.listPage(page, qw); IPage<LoanRelieveMortgageVo> pagging = baseMapper.listPage(page, qw);

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml

@ -332,7 +332,6 @@
) a ) a
) lfd_sum ON lfd_sum.busVinSid = ss.busVinSid ) lfd_sum ON lfd_sum.busVinSid = ss.busVinSid
GROUP BY ss.busVinSid having beMoney>0 GROUP BY ss.busVinSid having beMoney>0
</select> </select>
<select id="getYqjehsqs2" resultType="java.lang.String"> <select id="getYqjehsqs2" resultType="java.lang.String">

56
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescustomer/LoanSecondarySalesCustomerService.java

@ -7,6 +7,7 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CustomerSecondSalesDto; import com.yxt.anrui.crm.api.crmcustomertemp.CustomerSecondSalesDto;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply; import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply;
import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost; import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost;
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.FileQuery;
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomer; import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomer;
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomerDto; import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.LoanSecondarySalesCustomerDto;
import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.SalesInitVo; import com.yxt.anrui.riskcenter.api.loansecondarysalescustomer.SalesInitVo;
@ -15,14 +16,15 @@ import com.yxt.anrui.riskcenter.biz.loansecondarysalesapply.LoanSecondarySalesAp
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostMapper; import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostMapper;
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService; import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalesveh.LoanSecondarySalesVehService; import com.yxt.anrui.riskcenter.biz.loansecondarysalesveh.LoanSecondarySalesVehService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
/** /**
* @description: * @description:
@ -40,6 +42,8 @@ public class LoanSecondarySalesCustomerService extends MybatisBaseService<LoanSe
private LoanSecondarySalesVehService loanSecondarySalesVehService; private LoanSecondarySalesVehService loanSecondarySalesVehService;
@Autowired @Autowired
private LoanSecondarySalesCostMapper loanSecondarySalesCostMapper; private LoanSecondarySalesCostMapper loanSecondarySalesCostMapper;
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean saveSalesCustomer(LoanSecondarySalesCustomerDto dto) { public ResultBean saveSalesCustomer(LoanSecondarySalesCustomerDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -62,6 +66,16 @@ public class LoanSecondarySalesCustomerService extends MybatisBaseService<LoanSe
loanSecondarySalesCustomer = new LoanSecondarySalesCustomer(); loanSecondarySalesCustomer = new LoanSecondarySalesCustomer();
BeanUtil.copyProperties(dto, loanSecondarySalesCustomer); BeanUtil.copyProperties(dto, loanSecondarySalesCustomer);
loanSecondarySalesCustomer.setCustomerSid(customerSid); loanSecondarySalesCustomer.setCustomerSid(customerSid);
List<String> contractFileList = dto.getContractFiles();
List<String> otherFileList = dto.getOtherFiles();
if(!contractFileList.isEmpty()){
String contractFiles = String.join(",",contractFileList.stream().map(v->v.replaceAll(fileUploadComponent.getUrlPrefix(),"")).collect(Collectors.toList()));
loanSecondarySalesCustomer.setContractFiles(contractFiles);
}
if(!otherFileList.isEmpty()){
String otherFiles = String.join(",",otherFileList.stream().map(v->v.replaceAll(fileUploadComponent.getUrlPrefix(),"")).collect(Collectors.toList()));
loanSecondarySalesCustomer.setOtherFiles(otherFiles);
}
baseMapper.insert(loanSecondarySalesCustomer); baseMapper.insert(loanSecondarySalesCustomer);
} else { } else {
//新增客户 //新增客户
@ -76,6 +90,20 @@ public class LoanSecondarySalesCustomerService extends MybatisBaseService<LoanSe
customerSid = resultBean.getData(); customerSid = resultBean.getData();
BeanUtil.copyProperties(dto, loanSecondarySalesCustomer); BeanUtil.copyProperties(dto, loanSecondarySalesCustomer);
loanSecondarySalesCustomer.setCustomerSid(customerSid); loanSecondarySalesCustomer.setCustomerSid(customerSid);
List<String> contractFileList = dto.getContractFiles();
List<String> otherFileList = dto.getOtherFiles();
if(!contractFileList.isEmpty()){
String contractFiles = String.join(",",contractFileList.stream().map(v->v.replaceAll(fileUploadComponent.getUrlPrefix(),"")).collect(Collectors.toList()));
loanSecondarySalesCustomer.setContractFiles(contractFiles);
}else{
loanSecondarySalesCustomer.setContractFiles("");
}
if(!otherFileList.isEmpty()){
String otherFiles = String.join(",",otherFileList.stream().map(v->v.replaceAll(fileUploadComponent.getUrlPrefix(),"")).collect(Collectors.toList()));
loanSecondarySalesCustomer.setOtherFiles(otherFiles);
}else{
loanSecondarySalesCustomer.setOtherFiles("");
}
baseMapper.updateById(loanSecondarySalesCustomer); baseMapper.updateById(loanSecondarySalesCustomer);
} }
return rb.success(); return rb.success();
@ -104,6 +132,30 @@ public class LoanSecondarySalesCustomerService extends MybatisBaseService<LoanSe
salesInitVo.setSaleDate(loanSecondarySalesApply.getCloseDate()); salesInitVo.setSaleDate(loanSecondarySalesApply.getCloseDate());
LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostMapper.selectMainSid(sid); LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostMapper.selectMainSid(sid);
salesInitVo.setSalePrice(loanSecondarySalesCost.getVehPrice().toString()); salesInitVo.setSalePrice(loanSecondarySalesCost.getVehPrice().toString());
String contractFiles = loanSecondarySalesCustomer.getContractFiles();
String otherFiles = loanSecondarySalesCustomer.getOtherFiles();
if(StringUtils.isNotBlank(contractFiles)){
List<FileQuery> contractFilesList = Arrays.stream(contractFiles.split(","))
.map(c -> {
FileQuery f = new FileQuery();
f.setUrl(fileUploadComponent.getUrlPrefix() + c);
return f;
})
.collect(Collectors.toList());
salesInitVo.setContractFiles(contractFilesList);
}
if(StringUtils.isNotBlank(otherFiles)){
List<FileQuery> otherFileList = Arrays.stream(otherFiles.split(","))
.map(c -> {
FileQuery f = new FileQuery();
f.setUrl(fileUploadComponent.getUrlPrefix() + c);
return f;
})
.collect(Collectors.toList());
salesInitVo.setOtherFiles(otherFileList);
}
return rb.success().setData(salesInitVo); return rb.success().setData(salesInitVo);
} }
} }

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java

@ -388,25 +388,25 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
BigDecimal comBearMoney = new BigDecimal(BigInteger.ZERO); BigDecimal comBearMoney = new BigDecimal(BigInteger.ZERO);
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getCollectionCost())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getCollectionCost()));
if ("01".equals(loanSecondarySalesCostVo.getBankSettleCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getBankSettleCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getBankSettleCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getBankSettleCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getVehicleViolationCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getVehicleViolationCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getVehicleViolationCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getVehicleViolationCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getInspectYearCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getInspectYearCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInspectYearCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInspectYearCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getInsureCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getInsureCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInsureCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInsureCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getOwnershipCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getOwnershipCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOwnershipCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOwnershipCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getStopCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getStopCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getStopCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getStopCost()));
} }
if ("01".equals(loanSecondarySalesCostVo.getOtherCostAssumeKey())) { if ("01".equals(loanSecondarySalesCostVo.getOtherCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOtherCostAssume())); comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOtherCost()));
} }
loanSecondarySalesNotApplyDetailsVo.setComBearMoney(comBearMoney); loanSecondarySalesNotApplyDetailsVo.setComBearMoney(comBearMoney);
loanSecondarySalesNotApplyDetailsVo.setNodeState("待提交"); loanSecondarySalesNotApplyDetailsVo.setNodeState("待提交");
@ -423,7 +423,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
loanSecondarySalesNotVehDetailsVo.setConfigSid(loanSecondarySalesVehVo.getConfigSid()); loanSecondarySalesNotVehDetailsVo.setConfigSid(loanSecondarySalesVehVo.getConfigSid());
loanSecondarySalesNotVehDetailsVo.setBusVinSid(loanSecondarySalesVehVo.getBusVinSid()); loanSecondarySalesNotVehDetailsVo.setBusVinSid(loanSecondarySalesVehVo.getBusVinSid());
loanSecondarySalesNotVehDetailsVos.add(loanSecondarySalesNotVehDetailsVo); loanSecondarySalesNotVehDetailsVos.add(loanSecondarySalesNotVehDetailsVo);
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(loanSecondarySalesVehVo.getBusSid()); AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(loanSecondarySalesVehVo.getBusVinSid());
if (alrepaidAndArrVo != null) { if (alrepaidAndArrVo != null) {
if (StringUtils.isNotBlank(alrepaidAndArrVo.getCurrentBeMoney())) { if (StringUtils.isNotBlank(alrepaidAndArrVo.getCurrentBeMoney())) {
bigDecimal = bigDecimal.add(new BigDecimal(alrepaidAndArrVo.getCurrentBeMoney())); bigDecimal = bigDecimal.add(new BigDecimal(alrepaidAndArrVo.getCurrentBeMoney()));

27
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -52,6 +52,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory;
import com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgageSaveDto;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
@ -70,6 +71,7 @@ import com.yxt.anrui.riskcenter.api.loanvoucher.RskPaymentVoucher;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskVoucher; import com.yxt.anrui.riskcenter.api.loanvoucher.RskVoucher;
import com.yxt.anrui.riskcenter.biz.loanfinbank.LoanFinBankService; import com.yxt.anrui.riskcenter.biz.loanfinbank.LoanFinBankService;
import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService; import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrelievemortgage.LoanRelieveMortgageService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService; import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
@ -200,6 +202,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
private LoanPushFundHistoryService loanPushFundHistoryService; private LoanPushFundHistoryService loanPushFundHistoryService;
@Autowired @Autowired
private LoanFinBankService loanFinBankService; private LoanFinBankService loanFinBankService;
@Autowired
private LoanRelieveMortgageService loanRelieveMortgageService;
public PagerVo<LoanSettleApplyVo> listPageVo(PagerQuery<LoanSettleApplyQuery> pq) { public PagerVo<LoanSettleApplyVo> listPageVo(PagerQuery<LoanSettleApplyQuery> pq) {
@ -976,6 +980,29 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
pushSettleVoucher2(loanSettleApply, check, settleVoucherVos); pushSettleVoucher2(loanSettleApply, check, settleVoucherVos);
} }
baseMapper.updateById(loanSettleApply); baseMapper.updateById(loanSettleApply);
LoanRelieveMortgageSaveDto loanRelieveMortgageSaveDto = new LoanRelieveMortgageSaveDto();
loanRelieveMortgageSaveDto.setCreateBySid(loanSettleApply.getCreateBySid());
loanRelieveMortgageSaveDto.setUseOrgSid(loanSettleApply.getUseOrgSid());
loanRelieveMortgageSaveDto.setUseOrgName(loanSettleApply.getUseOrgName());
loanRelieveMortgageSaveDto.setOrgSidPath(loanSettleApply.getOrgSidPath());
loanRelieveMortgageSaveDto.setBusVinSid(loanSettleApply.getBusVinSid());
loanRelieveMortgageSaveDto.setVinNo(loanSettleApply.getVinNo());
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(loanSettleApply.getBusVinSid()).getData();
loanRelieveMortgageSaveDto.setVehSid(busSalesOrderVehicle.getLinkSid());
loanRelieveMortgageSaveDto.setVehMark(loanSettleApply.getVehMark());
loanRelieveMortgageSaveDto.setLoanContractNo(loanSettleApply.getLoanContractNo());
loanRelieveMortgageSaveDto.setBankContractNo(loanSettleApply.getBankContractNo());
loanRelieveMortgageSaveDto.setDept(loanSettleApply.getCreateDept());
loanRelieveMortgageSaveDto.setDeptSid(loanSettleApply.getCreateDeptSid());
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
loanRelieveMortgageSaveDto.setSalesman(busSalesOrder.getStaffName());
loanRelieveMortgageSaveDto.setSalesmanSid(busSalesOrder.getStaffSid());
loanRelieveMortgageSaveDto.setBorrowerName(loanSettleApply.getLoanName());
loanRelieveMortgageSaveDto.setBorrowerSid(loanSettleApply.getLoanSid());
loanRelieveMortgageSaveDto.setCustomer(loanSettleApply.getCustomerName());
loanRelieveMortgageSaveDto.setCustomerSid(loanSettleApply.getCustomerSid());
loanRelieveMortgageSaveDto.setBankName(loanSettleApply.getBankName());
loanRelieveMortgageService.saveRelieveMortgage(loanRelieveMortgageSaveDto);
} else { } else {
//极光推送 //极光推送
loanSettleApply = fetchBySid(businessSid); loanSettleApply = fetchBySid(businessSid);

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java

@ -10,6 +10,7 @@ import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
@ -104,6 +105,8 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
private CrmCustomerTempFeign crmCustomerTempFeign; private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired @Autowired
private LoanReturnVehLedgerService loanReturnVehLedgerService; private LoanReturnVehLedgerService loanReturnVehLedgerService;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
public PagerVo<LoanSubletApplyVo> listPage(PagerQuery<LoanSubletApplyQuery> pq) { public PagerVo<LoanSubletApplyVo> listPage(PagerQuery<LoanSubletApplyQuery> pq) {
IPage<LoanSubletApply> page = PagerUtil.queryToPage(pq); IPage<LoanSubletApply> page = PagerUtil.queryToPage(pq);
@ -696,6 +699,11 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
loanReturnVehLedgerService.updateById(loanReturnVehLedger); loanReturnVehLedgerService.updateById(loanReturnVehLedger);
} }
} }
//--更新销售订单车辆表的风控状态为二次转租中
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
List<String> busVinSidList = subletVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList());
busVinStateSetQuery.setState(11);//二次转租中
ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
try { try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build(); .setNameFormat("demo-pool-%d").build();

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -430,7 +430,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
); );
//移动端条件 //移动端条件
if (StringUtils.isNotBlank(query.getNames())) { if (StringUtils.isNotBlank(query.getNames())) {
qw.and(wrapper -> wrapper.like("r.useOrgName", query.getUseOrgName()).or().like("o.name", query.getNames()).or().like("r.vinNo", query.getNames()).or().like("r.vehModelName", query.getNames()).or().like("r.brandName", query.getNames()).or().like("r.purchaseSystemName", query.getNames())); qw.and(wrapper -> wrapper.like("r.useOrgName", query.getNames()).or().like("o.name", query.getNames()).or().like("r.vinNo", query.getNames()).or().like("r.vehModelName", query.getNames()).or().like("r.brandName", query.getNames()).or().like("r.purchaseSystemName", query.getNames()));
} }
qw.groupBy("r.vehSid"); qw.groupBy("r.vehSid");
qw.orderByDesc("r.createTime"); qw.orderByDesc("r.createTime");

50
doc/databases/统计报表/车辆利润报表.sql

@ -0,0 +1,50 @@
DROP TABLE IF EXISTS `car_sold_profit`;
CREATE TABLE `car_sold_profit`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NULL DEFAULT NULL COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`orgSidPath` varchar(500) DEFAULT NULL COMMENT '组织机构',
`staffSid` varchar(64) DEFAULT NULL COMMENT '销售专员sid',
`staffName` varchar(64) DEFAULT NULL COMMENT '销售专员名称',
`customerSid` varchar(500) DEFAULT NULL COMMENT '客户sid',
`customerName` varchar(500) DEFAULT NULL COMMENT '客户名称',
`saleDate` varchar(64) DEFAULT NULL COMMENT '销售日期',
`useOrgSid` varchar(64) DEFAULT NULL COMMENT '分公司sid',
`useOrgName` varchar(64) DEFAULT NULL COMMENT '分公司名称',
`vehModelSid` varchar(64) DEFAULT NULL COMMENT '车型sid',
`vehModel` varchar(64) DEFAULT NULL COMMENT '车型',
`vehMConfigSid` varchar(64) DEFAULT NULL COMMENT '车型配置sid',
`purchaseSystemSid` varchar(64) DEFAULT NULL COMMENT '采购系统sid',
`purchaseSystemName` varchar(64) DEFAULT NULL COMMENT '采购系统名称',
`vinNo` varchar(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(200) DEFAULT NULL COMMENT '车辆sid',
`locationSid` varchar(200) DEFAULT NULL COMMENT '存放地点sid',
`locationName` varchar(200) DEFAULT NULL COMMENT '存放地点',
`type` varchar(200) DEFAULT NULL COMMENT '类型',
`exStockPrice` decimal(10, 2) DEFAULT NULL COMMENT '出库价',
`expectedMaori` decimal(10, 2) DEFAULT NULL COMMENT '预计毛利',
`rebatesAdjust` decimal(10, 2) DEFAULT NULL COMMENT '返利调整',
`adjustedMaori` decimal(10, 2) DEFAULT NULL COMMENT '调整后毛利',
`makersSettlementPrice` decimal(10, 2) DEFAULT NULL COMMENT '厂家结算价',
`rebatesTotal` decimal(10, 2) DEFAULT NULL COMMENT '返利合计',
`carCost` decimal(10, 2) DEFAULT NULL COMMENT '车辆成本',
`financeServiceCharge` decimal(10, 2) DEFAULT NULL COMMENT '金融服务费',
`mediatorRebatePrice` decimal(10, 2) DEFAULT NULL COMMENT '中介返利费',
`moveCarPrice` decimal(10, 2) DEFAULT NULL COMMENT '调车费',
`schedulingId` varchar(500) DEFAULT NULL COMMENT '排产订单编号',
`gearbox` varchar(500) DEFAULT NULL COMMENT '变速箱',
`createDate` date DEFAULT NULL COMMENT '数据日期',
`updateDate` date DEFAULT NULL COMMENT '更新日期',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆销售利润报表';
Loading…
Cancel
Save