Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
d4de66b299
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  4. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/ManDateQuery.java
  5. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  6. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  7. 17
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  8. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  9. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  10. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  11. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanOtherReceivablePush.java
  12. 574
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java
  13. 30
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java
  14. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java
  15. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeignFallback.java
  16. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/AppFinCollectionConfirmationInitRskVo.java
  17. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java
  18. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  19. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java
  20. 52
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  21. 53
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  22. 49
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java
  23. 46
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/GeneralVoucher.java
  24. 50
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java
  25. 53
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java
  26. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/Voucher.java
  27. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  28. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java
  29. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java
  30. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java
  31. 27
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml
  32. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java
  33. 132
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  34. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  35. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.xml
  36. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  37. 134
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  38. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java
  39. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/data_FEntity.json
  40. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/remarks.txt
  41. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  42. 9
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppVo.java
  43. 64
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  44. 36
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeign.java
  45. 42
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeignFallback.java
  46. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyCompleteDto.java
  47. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyDelegateQuery.java
  48. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyNodeQuery.java
  49. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyNodeVo.java
  50. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyTaskQuery.java
  51. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/SubmitLoanBeCollectionApplyDto.java
  52. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFile.java
  53. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileDetailsVo.java
  54. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileDto.java
  55. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.java
  56. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.xml
  57. 50
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyRest.java
  58. 359
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java
  59. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java
  60. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java
  61. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileMapper.java
  62. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileMapper.xml
  63. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileService.java
  64. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigateotherpeo/LoanHomevisitInvestigateOtherpeoMapper.java
  65. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigateotherpeo/LoanHomevisitInvestigateOtherpeoService.java
  66. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewService.java
  67. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  68. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/AppFinCollectionConfirmationFeign.java
  69. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/AppFinCollectionConfirmationFeignFallback.java
  70. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ConfirmationInitRskVo.java
  71. 5
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/collectionConfirm/AppFinCollectionConfirmationRest.java
  72. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/collectionConfirm/AppFinCollectionConfirmationService.java
  73. 86
      doc/databases/报表中心.sql

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java

@ -185,4 +185,6 @@ public class BaseVehicle extends BaseEntity {
private String orgPriceDate; private String orgPriceDate;
@ApiModelProperty(value = "组织全路径") @ApiModelProperty(value = "组织全路径")
private String orgSidPath; private String orgSidPath;
@ApiModelProperty("厂家开票日期")
private String manDate;
} }

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -528,4 +528,9 @@ public interface BaseVehicleFeign {
@PostMapping("/fetchBySid") @PostMapping("/fetchBySid")
@ResponseBody @ResponseBody
ResultBean<BaseVehicle> fetchBySid(@RequestParam("vinSid") String vinSid); ResultBean<BaseVehicle> fetchBySid(@RequestParam("vinSid") String vinSid);
@ApiOperation("设置厂家开票日期")
@PostMapping("/setManDate")
@ResponseBody
ResultBean setManDate(@RequestBody ManDateQuery manDateQuery);
} }

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -427,6 +427,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null; return null;
} }
@Override
public ResultBean setManDate(ManDateQuery manDateQuery) {
return null;
}
@Override @Override
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid,List<String> list) { public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid,List<String> list) {
return null; return null;

22
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/ManDateQuery.java

@ -0,0 +1,22 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.query.Query;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/19
**/
@Data
public class ManDateQuery implements Query {
private static final long serialVersionUID = 5859730786367349160L;
private List<String> vinSids = new ArrayList<>();
private String manDate;
}

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -789,6 +789,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode()); finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode());
//业务sid //业务sid
finPaymentrecordDto.setBusSid(booad.getSid()); finPaymentrecordDto.setBusSid(booad.getSid());
finPaymentrecordDto.setBusRemarks(booad.getRemarks());
finPaymentrecordFeign.save(finPaymentrecordDto); finPaymentrecordFeign.save(finPaymentrecordDto);
} }

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -1501,6 +1501,11 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(baseVehicle); return rb.success().setData(baseVehicle);
} }
@Override
public ResultBean setManDate(ManDateQuery manDateQuery) {
return baseVehicleService.setManDate(manDateQuery);
}
@Override @Override
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid, List<String> list) { public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid, List<String> list) {
return baseVehicleService.selectAppListOne(modelSid, configSid, orgSid, list); return baseVehicleService.selectAppListOne(modelSid, configSid, orgSid, list);

17
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -4369,4 +4369,21 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
} }
return rb.success(); return rb.success();
} }
public ResultBean setManDate(ManDateQuery manDateQuery) {
ResultBean rb = ResultBean.fireFail();
List<String> vinSids = manDateQuery.getVinSids();
vinSids.removeAll(Collections.singleton(null));
if(vinSids.isEmpty()){
return rb.setMsg("请选择车辆");
}
for (int i = 0; i < vinSids.size(); i++) {
BaseVehicle baseVehicle = fetchBySid(vinSids.get(i));
if(baseVehicle != null){
baseVehicle.setManDate(manDateQuery.getManDate());
baseMapper.updateById(baseVehicle);
}
}
return rb.success();
}
} }

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -650,6 +650,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (baseManufacturer != null) { if (baseManufacturer != null) {
finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode()); finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode());
} }
finPaymentrecordDto.setBusRemarks(v.getPayRemark());
finPaymentrecordFeign.save(finPaymentrecordDto); finPaymentrecordFeign.save(finPaymentrecordDto);
} }

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -1854,9 +1854,9 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
if ("002".equals(dto.getMaterialTypeKey())) { if ("002".equals(dto.getMaterialTypeKey())) {
//挂车物料编码 //挂车物料编码
if ("G".equals(dto.getMaterialCode().substring(dto.getMaterialCode().length() - 1))) { if ("G".equals(dto.getMaterialCode().substring(dto.getMaterialCode().length() - 1))) {
fEntity.setFMaterialID(dto.getMaterialCode()); fEntity.setFMaterialID(dto.getMaterialCode().substring(dto.getMaterialCode().length() - 9));
} else { } else {
fEntity.setFMaterialID(dto.getMaterialCode() + "G"); fEntity.setFMaterialID(dto.getMaterialCode().substring(dto.getMaterialCode().length() - 8) + "G");
} }
} else if ("003".equals(dto.getMaterialTypeKey())) { } else if ("003".equals(dto.getMaterialTypeKey())) {
//上装物料编码 //上装物料编码

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -717,6 +717,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode()); finPaymentrecordDto.setPayCode(baseManufacturer.getManufacturerCode());
} }
finPaymentrecordDto.setBusSid(r.getData()); finPaymentrecordDto.setBusSid(r.getData());
finPaymentrecordDto.setBusRemarks(busVehicleApply.getPayRemarks());
finPaymentrecordFeign.save(finPaymentrecordDto); finPaymentrecordFeign.save(finPaymentrecordDto);
} }
} else { } else {

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanOtherReceivablePush.java

@ -3,6 +3,8 @@ package com.yxt.anrui.buscenter.api.bussalesorderloancontract;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author Administrator * @author Administrator
* @description * @description
@ -17,4 +19,5 @@ public class LoanOtherReceivablePush {
@ApiModelProperty("消贷合同sid") @ApiModelProperty("消贷合同sid")
private String loanContractSid; private String loanContractSid;
private String isCompInvoic; private String isCompInvoic;
private String tag; // 01担保 02非担保
} }

574
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java

@ -371,76 +371,78 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String saleOrderSid = loanOtherReceivablePush.getSaleOrderSid(); String saleOrderSid = loanOtherReceivablePush.getSaleOrderSid();
String borrowerSid = loanOtherReceivablePush.getBorrowerSid(); String borrowerSid = loanOtherReceivablePush.getBorrowerSid();
String tag = loanOtherReceivablePush.getTag();
BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(saleOrderSid); BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(saleOrderSid);
// //根据消贷合同查询贷款人 // //根据消贷合同查询贷款人
// BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid); // BusSalesOrderLoancontract busSalesOrderLoancontract = fetchBySid(loanContractSid);
if (null != salesOrder) { if (tag.equals("01")) {
BusSalesOrderBorrower borrowerDetailsVo = busSalesOrderBorrowerService.fetchBySid(borrowerSid); if (null != salesOrder) {
if (null != borrowerDetailsVo) { BusSalesOrderBorrower borrowerDetailsVo = busSalesOrderBorrowerService.fetchBySid(borrowerSid);
//-----------获取其他应收单对象---------------- if (null != borrowerDetailsVo) {
CapitalCreditResult creditResult = new CapitalCreditResult(); //-----------获取其他应收单对象----------------
//根据销售订单的贷款人sid查询车辆表中的数据 CapitalCreditResult creditResult = new CapitalCreditResult();
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSidAndXdConSid(saleOrderSid, loanOtherReceivablePush.getLoanContractSid()); //根据销售订单的贷款人sid查询车辆表中的数据
if (!busSalesOrderVehicleList.isEmpty()) { List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSidAndXdConSid(saleOrderSid, loanOtherReceivablePush.getLoanContractSid());
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicleList) { if (!busSalesOrderVehicleList.isEmpty()) {
String vinNoCode = ""; for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicleList) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) { String vinNoCode = "";
BaseVehicleSelectVo data = baseVehicleFeign.details(busSalesOrderVehicle.getLinkSid()).getData(); if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
if (null != data) { BaseVehicleSelectVo data = baseVehicleFeign.details(busSalesOrderVehicle.getLinkSid()).getData();
vinNoCode = data.getVinNo(); if (null != data) {
vinNoCode = data.getVinNo();
}
} }
} String customerNumber = "";
String customerNumber = ""; //判断财务系统是否有客户
//判断财务系统是否有客户 Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); String linkNo = "";
String linkNo = ""; if (!aBoolean) {
if (!aBoolean) { // List<BdCustomer> bdCustomers = new ArrayList<>();
// List<BdCustomer> bdCustomers = new ArrayList<>(); BdCustomer bdCustomer = new BdCustomer();
BdCustomer bdCustomer = new BdCustomer(); bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); bdCustomer.setFShortName(salesOrder.getContractNo());
bdCustomer.setFShortName(salesOrder.getContractNo()); BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); bdCustomer.setTOrgIds(data.getOrgCode());
bdCustomer.setTOrgIds(data.getOrgCode()); if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { String vinNo = busSalesOrderVehicle.getLinkNo();
String vinNo = busSalesOrderVehicle.getLinkNo(); vinNoCode = busSalesOrderVehicle.getLinkNo();
vinNoCode = busSalesOrderVehicle.getLinkNo(); if (vinNo.length() > 8) {
if (vinNo.length() > 8) { linkNo = vinNo.substring(vinNo.length() - 8);
linkNo = vinNo.substring(vinNo.length() - 8); } else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
} else { } else {
linkNo = busSalesOrderVehicle.getLinkNo(); bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
} }
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
} else { } else {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); customerNumber = busSalesOrderVehicle.getTemporaryNo();
} }
// bdCustomers.add(bdCustomer); creditResult.setCommUnit(customerNumber);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
if (resultBean.getSuccess()) { creditResult.setCollectionOrg(basePurchaseSystemDetailsVo.getOrgCode());
customerNumber = bdCustomer.getFNumber(); creditResult.setBussDate(DateUtil.formatDate(new Date()));
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
if (StringUtils.isNotBlank(solutionsDetailsVo.getPolicySid())) {
LoanFinPolicyVo loanFinPolicyVo = loanFinPolicyFeign.details(solutionsDetailsVo.getPolicySid()).getData();
LoanFinBankVo loanFinBankVo = loanFinBankFeign.details(loanFinPolicyVo.getBankSid()).getData();
creditResult.setBankName(loanFinBankVo.getBankNo());
} }
} else { List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>();
customerNumber = busSalesOrderVehicle.getTemporaryNo(); SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(salesOrder.getOrgSid()).getData();
} SolutionsDetailsVo solutions = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
creditResult.setCommUnit(customerNumber); //这是生成业务系统融资放款应收的逻辑:
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); // 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
creditResult.setCollectionOrg(basePurchaseSystemDetailsVo.getOrgCode()); //计算融资放款的金额以及厂家贴息金额
creditResult.setBussDate(DateUtil.formatDate(new Date())); ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid);
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(saleOrderSid).getData(); if (null != resultBean.getData()) {
if (StringUtils.isNotBlank(solutionsDetailsVo.getPolicySid())) { CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
LoanFinPolicyVo loanFinPolicyVo = loanFinPolicyFeign.details(solutionsDetailsVo.getPolicySid()).getData(); creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
LoanFinBankVo loanFinBankVo = loanFinBankFeign.details(loanFinPolicyVo.getBankSid()).getData();
creditResult.setBankName(loanFinBankVo.getBankNo());
}
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>();
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(salesOrder.getOrgSid()).getData();
SolutionsDetailsVo solutions = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
//这是生成业务系统融资放款应收的逻辑:
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
//计算融资放款的金额以及厂家贴息金额
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid);
if (null != resultBean.getData()) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
/*if (null != solutions) { /*if (null != solutions) {
if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) { if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) {
if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) { if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) {
@ -460,122 +462,343 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney()); creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
} }
}*/ }*/
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney()); creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
creditResultDetailDto.setUseTo(CwSystemYT.RONGZI_FANGKUAN.getType()); creditResultDetailDto.setUseTo(CwSystemYT.RONGZI_FANGKUAN.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.RONGZI_FANGKUAN.getType(), "YT").getData(); DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.RONGZI_FANGKUAN.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
if (null != solutions) {
if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) {
if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) {
//挂车待退款
if (StringUtils.isNotBlank(solutions.getTrailerAmount()) && !("0").equals(solutions.getTrailerAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getTrailerAmount());
creditResultDetailDto.setUseTo(CwSystemYT.GCDTK.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.GCDTK.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
}
}
//贷款保证金
if (StringUtils.isNotBlank(solutions.getBondAmounts()) && !("0").equals(solutions.getBondAmounts())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getBondAmounts());
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.BOND_AMOUNTS.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//保险保证金
if (StringUtils.isNotBlank(solutions.getDepositPremium()) && !("0").equals(solutions.getDepositPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositPremium());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_PREMIUM.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//落户保证金
if (StringUtils.isNotBlank(solutions.getDepositSettle()) && !("0").equals(solutions.getDepositSettle())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositSettle());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_SETTLE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_SETTLE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//服务费
if (StringUtils.isNotBlank(solutions.getServiceAmount()) && !("0").equals(solutions.getServiceAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType());
creditResultDetailDto.setExTaxMoney(solutions.getServiceAmount());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//代收意外险
if (StringUtils.isNotBlank(solutions.getProxyAccidentPremium()) && !("0").equals(solutions.getProxyAccidentPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType());
creditResultDetailDto.setExTaxMoney(solutions.getProxyAccidentPremium());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//上牌费、运管费
if ((StringUtils.isNotBlank(solutions.getRegisterAmount()) && !("0").equals(solutions.getRegisterAmount())) ||
(StringUtils.isNotBlank(solutions.getOperationAmount()) && !("0").equals(solutions.getOperationAmount()))) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
BigDecimal registerAmount = new BigDecimal(solutions.getRegisterAmount());
BigDecimal opertionAmount = new BigDecimal(solutions.getOperationAmount());
BigDecimal add = registerAmount.add(opertionAmount);
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SHANGPAI_YUNGUAN.getType());
creditResultDetailDto.setExTaxMoney(add.toString());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SHANGPAI_YUNGUAN.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue()); creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode); creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto); collectionDetailDtoListOne.add(creditResultDetailDto);
} }
//其它费用 if (null != solutions) {
if (StringUtils.isNotBlank(solutions.getOtherAmount()) && !("0").equals(solutions.getOtherAmount())) { if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) {
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); //挂车待退款
creditResultDetailDto.setExTaxMoney(solutions.getOtherAmount()); if (StringUtils.isNotBlank(solutions.getTrailerAmount()) && !("0").equals(solutions.getTrailerAmount())) {
creditResultDetailDto.setUseTo(CwSystemYT.OTHER_AMOUNT.getType()); CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.OTHER_AMOUNT.getType(), "YT").getData(); creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue()); creditResultDetailDto.setExTaxMoney(solutions.getTrailerAmount());
creditResultDetailDto.setMaterialNo(vinNoCode); creditResultDetailDto.setUseTo(CwSystemYT.GCDTK.getType());
collectionDetailDtoListOne.add(creditResultDetailDto); DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.GCDTK.getType(), "YT").getData();
} creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
//补车价 creditResultDetailDto.setMaterialNo(vinNoCode);
if (StringUtils.isNotBlank(solutions.getVehOtherPrice()) && !("0").equals(solutions.getVehOtherPrice())) { collectionDetailDtoListOne.add(creditResultDetailDto);
}
}
}
//贷款保证金
if (StringUtils.isNotBlank(solutions.getBondAmounts()) && !("0").equals(solutions.getBondAmounts())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getBondAmounts());
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.BOND_AMOUNTS.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//保险保证金
if (StringUtils.isNotBlank(solutions.getDepositPremium()) && !("0").equals(solutions.getDepositPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositPremium());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_PREMIUM.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//落户保证金
if (StringUtils.isNotBlank(solutions.getDepositSettle()) && !("0").equals(solutions.getDepositSettle())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositSettle());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_SETTLE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_SETTLE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//服务费
if (StringUtils.isNotBlank(solutions.getServiceAmount()) && !("0").equals(solutions.getServiceAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType());
creditResultDetailDto.setExTaxMoney(solutions.getServiceAmount());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//代收意外险
if (StringUtils.isNotBlank(solutions.getProxyAccidentPremium()) && !("0").equals(solutions.getProxyAccidentPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType());
creditResultDetailDto.setExTaxMoney(solutions.getProxyAccidentPremium());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//上牌费、运管费
if ((StringUtils.isNotBlank(solutions.getRegisterAmount()) && !("0").equals(solutions.getRegisterAmount())) ||
(StringUtils.isNotBlank(solutions.getOperationAmount()) && !("0").equals(solutions.getOperationAmount()))) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
BigDecimal registerAmount = new BigDecimal(solutions.getRegisterAmount());
BigDecimal opertionAmount = new BigDecimal(solutions.getOperationAmount());
BigDecimal add = registerAmount.add(opertionAmount);
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SHANGPAI_YUNGUAN.getType());
creditResultDetailDto.setExTaxMoney(add.toString());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SHANGPAI_YUNGUAN.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//其它费用
if (StringUtils.isNotBlank(solutions.getOtherAmount()) && !("0").equals(solutions.getOtherAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getOtherAmount());
creditResultDetailDto.setUseTo(CwSystemYT.OTHER_AMOUNT.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.OTHER_AMOUNT.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//补车价
if (StringUtils.isNotBlank(solutions.getVehOtherPrice()) && !("0").equals(solutions.getVehOtherPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getVehOtherPrice());
creditResultDetailDto.setUseTo(CwSystemYT.VEH_OTHER_PRICE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.VEH_OTHER_PRICE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//留购价
/* if (StringUtils.isNotBlank(solutions.getNominalPrice()) && !("0").equals(solutions.getNominalPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getVehOtherPrice()); creditResultDetailDto.setExTaxMoney(solutions.getNominalPrice());
creditResultDetailDto.setUseTo(CwSystemYT.VEH_OTHER_PRICE.getType()); creditResultDetailDto.setUseTo(CwSystemYT.NOMINAL_PRICE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.VEH_OTHER_PRICE.getType(), "YT").getData(); DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.NOMINAL_PRICE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue()); creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto); collectionDetailDtoListOne.add(creditResultDetailDto);
}*/
} }
//留购价 creditResult.setResultDetails(collectionDetailDtoListOne);
finKingDeeFeign.pushOtherReceivableBill(creditResult);
}
}
}
}
} else if (tag.equals("02")) {
if (null != salesOrder) {
BusSalesOrderBorrower borrowerDetailsVo = busSalesOrderBorrowerService.fetchBySid(borrowerSid);
if (null != borrowerDetailsVo) {
//-----------获取其他应收单对象----------------
CapitalCreditResult creditResult = new CapitalCreditResult();
//根据销售订单的贷款人sid查询车辆表中的数据
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSidAndDkrSid(saleOrderSid,borrowerSid);
if (!busSalesOrderVehicleList.isEmpty()) {
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicleList) {
String vinNoCode = "";
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
BaseVehicleSelectVo data = baseVehicleFeign.details(busSalesOrderVehicle.getLinkSid()).getData();
if (null != data) {
vinNoCode = data.getVinNo();
}
}
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
vinNoCode = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
} else {
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();
}
creditResult.setCommUnit(customerNumber);
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
creditResult.setCollectionOrg(basePurchaseSystemDetailsVo.getOrgCode());
creditResult.setBussDate(DateUtil.formatDate(new Date()));
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
if (StringUtils.isNotBlank(solutionsDetailsVo.getPolicySid())) {
LoanFinPolicyVo loanFinPolicyVo = loanFinPolicyFeign.details(solutionsDetailsVo.getPolicySid()).getData();
LoanFinBankVo loanFinBankVo = loanFinBankFeign.details(loanFinPolicyVo.getBankSid()).getData();
creditResult.setBankName(loanFinBankVo.getBankNo());
}
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>();
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(salesOrder.getOrgSid()).getData();
SolutionsDetailsVo solutions = loanSolutionsFeign.selectDetails(saleOrderSid).getData();
//这是生成业务系统融资放款应收的逻辑:
// 融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息],根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减;差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中,
//计算融资放款的金额以及厂家贴息金额
ResultBean<PushVo> resultBean = loanSolutionsFeign.selectMoney(saleOrderSid);
if (null != resultBean.getData()) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
/*if (null != solutions) {
if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) {
if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) {
//挂车待退款
if (StringUtils.isNotBlank(solutions.getTrailerAmount()) && !("0").equals(solutions.getTrailerAmount())) {
BigDecimal trailerAmount = new BigDecimal(solutions.getTrailerAmount());
BigDecimal money = new BigDecimal(resultBean.getData().getMoney());
BigDecimal subtract = money.subtract(trailerAmount);
creditResultDetailDto.setExTaxMoney("-" + subtract);
} else {
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
}
} else {
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
}
} else {
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
}
}*/
creditResultDetailDto.setExTaxMoney("-" + resultBean.getData().getMoney());
creditResultDetailDto.setUseTo(CwSystemYT.RONGZI_FANGKUAN.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.RONGZI_FANGKUAN.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
if (null != solutions) {
if (StringUtils.isNotBlank(loanOtherReceivablePush.getIsCompInvoic())) {
if (loanOtherReceivablePush.getIsCompInvoic().equals("1")) {
//挂车待退款
if (StringUtils.isNotBlank(solutions.getTrailerAmount()) && !("0").equals(solutions.getTrailerAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getTrailerAmount());
creditResultDetailDto.setUseTo(CwSystemYT.GCDTK.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.GCDTK.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
}
}
//贷款保证金
if (StringUtils.isNotBlank(solutions.getBondAmounts()) && !("0").equals(solutions.getBondAmounts())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getBondAmounts());
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.BOND_AMOUNTS.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//保险保证金
if (StringUtils.isNotBlank(solutions.getDepositPremium()) && !("0").equals(solutions.getDepositPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositPremium());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_PREMIUM.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//落户保证金
if (StringUtils.isNotBlank(solutions.getDepositSettle()) && !("0").equals(solutions.getDepositSettle())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getDepositSettle());
creditResultDetailDto.setUseTo(CwSystemYT.DEPOSIT_SETTLE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.DEPOSIT_SETTLE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//服务费
if (StringUtils.isNotBlank(solutions.getServiceAmount()) && !("0").equals(solutions.getServiceAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType());
creditResultDetailDto.setExTaxMoney(solutions.getServiceAmount());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SERVICE_AMOUNT_DANBAO.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//代收意外险
if (StringUtils.isNotBlank(solutions.getProxyAccidentPremium()) && !("0").equals(solutions.getProxyAccidentPremium())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType());
creditResultDetailDto.setExTaxMoney(solutions.getProxyAccidentPremium());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//上牌费、运管费
if ((StringUtils.isNotBlank(solutions.getRegisterAmount()) && !("0").equals(solutions.getRegisterAmount())) ||
(StringUtils.isNotBlank(solutions.getOperationAmount()) && !("0").equals(solutions.getOperationAmount()))) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
BigDecimal registerAmount = new BigDecimal(solutions.getRegisterAmount());
BigDecimal opertionAmount = new BigDecimal(solutions.getOperationAmount());
BigDecimal add = registerAmount.add(opertionAmount);
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setUseTo(CwSystemYT.SHANGPAI_YUNGUAN.getType());
creditResultDetailDto.setExTaxMoney(add.toString());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.SHANGPAI_YUNGUAN.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//其它费用
if (StringUtils.isNotBlank(solutions.getOtherAmount()) && !("0").equals(solutions.getOtherAmount())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getOtherAmount());
creditResultDetailDto.setUseTo(CwSystemYT.OTHER_AMOUNT.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.OTHER_AMOUNT.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//补车价
if (StringUtils.isNotBlank(solutions.getVehOtherPrice()) && !("0").equals(solutions.getVehOtherPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
creditResultDetailDto.setExTaxMoney(solutions.getVehOtherPrice());
creditResultDetailDto.setUseTo(CwSystemYT.VEH_OTHER_PRICE.getType());
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(CwSystemYT.VEH_OTHER_PRICE.getType(), "YT").getData();
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
creditResultDetailDto.setMaterialNo(vinNoCode);
collectionDetailDtoListOne.add(creditResultDetailDto);
}
//留购价
/* if (StringUtils.isNotBlank(solutions.getNominalPrice()) && !("0").equals(solutions.getNominalPrice())) { /* if (StringUtils.isNotBlank(solutions.getNominalPrice()) && !("0").equals(solutions.getNominalPrice())) {
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto();
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode());
@ -585,13 +808,16 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
creditResultDetailDto.setRemarks(dictCommonVo.getDictValue()); creditResultDetailDto.setRemarks(dictCommonVo.getDictValue());
collectionDetailDtoListOne.add(creditResultDetailDto); collectionDetailDtoListOne.add(creditResultDetailDto);
}*/ }*/
} }
creditResult.setResultDetails(collectionDetailDtoListOne); creditResult.setResultDetails(collectionDetailDtoListOne);
finKingDeeFeign.pushOtherReceivableBill(creditResult); finKingDeeFeign.pushOtherReceivableBill(creditResult);
}
}
}
} }
}
}
} }
return rb.success(); return rb.success();
} }

30
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java

@ -216,22 +216,22 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
PagerVo<BusValcustFilingVo> p = new PagerVo<>(); PagerVo<BusValcustFilingVo> p = new PagerVo<>();
return p; return p;
} }
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("bf.contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("bf.createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("bf.modelName", query.getModelName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bf.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (bf.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("bf.createTime");
} }
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("bf.contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("bf.createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("bf.modelName", query.getModelName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bf.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (bf.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("bf.createTime");
IPage<BusValcustFiling> page = PagerUtil.queryToPage(pq); IPage<BusValcustFiling> page = PagerUtil.queryToPage(pq);
IPage<BusValcustFilingVo> pagging = baseMapper.selectPageVo(page, qw); IPage<BusValcustFilingVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BusValcustFilingVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BusValcustFilingVo> p = PagerUtil.pageToVo(pagging, null);

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java

@ -222,4 +222,8 @@ public interface FinCollectionConfirmationFeign {
@ApiOperation("手机端—提交款项确认申请") @ApiOperation("手机端—提交款项确认申请")
@PostMapping("/submitRskCollectionConfirm") @PostMapping("/submitRskCollectionConfirm")
ResultBean submitRskCollectionConfirm(@RequestBody AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto); ResultBean submitRskCollectionConfirm(@RequestBody AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto);
@ApiOperation("手机端—初始化收款确认申请")
@GetMapping("/getRskCollectionConfirmDetail")
ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(@SpringQueryMap AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery);
} }

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeignFallback.java

@ -238,4 +238,9 @@ public class FinCollectionConfirmationFeignFallback implements FinCollectionConf
public ResultBean submitRskCollectionConfirm(AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto) { public ResultBean submitRskCollectionConfirm(AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto) {
return null; return null;
} }
@Override
public ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery) {
return null;
}
} }

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/AppFinCollectionConfirmationInitRskVo.java

@ -15,9 +15,12 @@ import java.util.List;
*/ */
@Data @Data
public class AppFinCollectionConfirmationInitRskVo implements Vo { public class AppFinCollectionConfirmationInitRskVo implements Vo {
private String publishInfo;
@ApiModelProperty("款项确认sid") @ApiModelProperty("款项确认sid")
private String sid; private String sid;
@ApiModelProperty("汇款确认")
private List<String> images = new ArrayList<>();
@ApiModelProperty("收款银行") @ApiModelProperty("收款银行")
private String collectionBank; private String collectionBank;
@ -89,7 +92,8 @@ public class AppFinCollectionConfirmationInitRskVo implements Vo {
@ApiModelProperty("单据编号") @ApiModelProperty("单据编号")
private String billNo; private String billNo;
private String reason;
private String cotlectionBitiStateValue;
@ApiModelProperty("采购系统sid") @ApiModelProperty("采购系统sid")
private String purchaseSystemSid; private String purchaseSystemSid;

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java

@ -108,4 +108,6 @@ public class FinPaymentrecord extends BaseEntity {
private String purchaseSystemSid; // 采购系统sid private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称") @ApiModelProperty("采购系统名称")
private String purchaseSystemName; // 采购系统名称 private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("付款时备注内容")
private String busRemarks;
} }

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -96,4 +96,7 @@ public class FinPaymentrecordDto implements Dto {
private String purchaseSystemSid; // 采购系统sid private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称") @ApiModelProperty("采购系统名称")
private String purchaseSystemName; // 采购系统名称 private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("付款时备注内容")
private String busRemarks;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java

@ -88,5 +88,7 @@ public class FinPaymentrecordVo implements Vo {
private String payFile; private String payFile;
@ApiModelProperty("供应商编码") @ApiModelProperty("供应商编码")
private String payCode; private String payCode;
@ApiModelProperty("付款时备注")
private String busRemarks;
} }

52
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -22,6 +22,9 @@ import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.PaymentVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -73,6 +76,55 @@ public interface FinKingDeeFeign {
@ResponseBody @ResponseBody
ResultBean<String> saveVoucher(@RequestBody @Valid Voucher voucher); ResultBean<String> saveVoucher(@RequestBody @Valid Voucher voucher);
@ApiOperation("保存还款计划表总凭证接口")
@PostMapping("/saveScheduleVoucher")
@ResponseBody
ResultBean<String> saveScheduleVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存月还计提凭证接口")
@PostMapping("/saveAccrualVoucher")
@ResponseBody
ResultBean<String> saveAccrualVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存逾期转累欠凭证接口")
@PostMapping("/saveLateVoucher")
@ResponseBody
ResultBean<String> saveLateVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存月还划扣凭证接口")
@PostMapping("/saveBuckleVoucher")
@ResponseBody
ResultBean<String> saveBuckleVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存间还月还收款凭证接口")
@PostMapping("/saveIndirectVoucher")
@ResponseBody
ResultBean<String> saveIndirectVoucher(@RequestBody @Valid CollectionVoucher voucher);
@ApiOperation("间还月还代付款凭证")
@PostMapping("/savePaymentVoucher")
@ResponseBody
ResultBean<String> savePaymentVoucher(@RequestBody @Valid PaymentVoucher voucher);
@ApiOperation("保存垫款付款凭证接口")
@PostMapping("/saveAdvancesVoucher")
@ResponseBody
ResultBean<String> saveAdvancesVoucher(@RequestBody @Valid PaymentVoucher voucher);
@ApiOperation("保存中车退还垫款收款凭证接口")
@PostMapping("/saveReturnVoucher")
@ResponseBody
ResultBean<String> saveReturnVoucher(@RequestBody @Valid CollectionVoucher voucher);
@ApiOperation("保存资金占用费计提凭证接口")
@PostMapping("/saveFundVoucher")
@ResponseBody
ResultBean<String> saveFundVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存资金占用费收款凭证接口")
@PostMapping("/saveFeeVoucher")
@ResponseBody
ResultBean<String> saveFeeVoucher(@RequestBody @Valid CollectionVoucher voucher);
@ApiOperation("暂存其他应收单的接口(资方信审终审通过后推送)") @ApiOperation("暂存其他应收单的接口(资方信审终审通过后推送)")
@PostMapping("/pushOtherReceivableBill") @PostMapping("/pushOtherReceivableBill")

53
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -22,6 +22,9 @@ import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.PaymentVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -49,6 +52,56 @@ implements FinKingDeeFeign{
return null; return null;
} }
@Override
public ResultBean<String> saveScheduleVoucher(GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveAccrualVoucher(GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveLateVoucher(GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveBuckleVoucher(GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveIndirectVoucher(CollectionVoucher voucher) {
return null;
}
@Override
public ResultBean<String> savePaymentVoucher(PaymentVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveAdvancesVoucher(PaymentVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveReturnVoucher(CollectionVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveFundVoucher(GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveFeeVoucher(CollectionVoucher voucher) {
return null;
}
@Override @Override
public ResultBean<String> pushOtherReceivableBill(CapitalCreditResult creditResult) { public ResultBean<String> pushOtherReceivableBill(CapitalCreditResult creditResult) {
return null; return null;

49
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java

@ -0,0 +1,49 @@
package com.yxt.anrui.fin.api.kingdee.voucher;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/19 11:18
*/
@Data
@ApiModel(value = "收款凭证 数据传输对象", description = "收款凭证 数据传输对象")
public class CollectionVoucher {
@ApiModelProperty("分公司编码")
public String useOrgCode;
@ApiModelProperty("收款方式编码")
public String payTypeCode;
@ApiModelProperty("银行账号")
public String bankAccount;
@ApiModelProperty("凭证明细")
public List<CollectionVoucher.CollectionVoucherDetail> voucherDetails;
@Data
public static class CollectionVoucherDetail {
@ApiModelProperty("场景编码")
public String sceneCode;
@ApiModelProperty("数据日期")
public Date dataTime;
@ApiModelProperty("部门编码")
public String deptCode;
@ApiModelProperty("部门名称")
public String deptName;
@ApiModelProperty("客户编码")
public String customerCode;
@ApiModelProperty("客户名称")
public String customerName;
@ApiModelProperty("金额")
public BigDecimal amount;
@ApiModelProperty("备注")
public String remarks;
}
}

46
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/GeneralVoucher.java

@ -0,0 +1,46 @@
package com.yxt.anrui.fin.api.kingdee.voucher;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/19 11:16
*/
@Data
@ApiModel(value = "一般凭证 数据传输对象", description = "一般凭证 数据传输对象")
public class GeneralVoucher {
@ApiModelProperty("分公司编码")
public String useOrgCode;
@ApiModelProperty("凭证明细")
public List<GeneralVoucher.GeneralVoucherDetail> voucherDetails;
@Data
public static class GeneralVoucherDetail {
@ApiModelProperty("场景编码")
public String sceneCode;
@ApiModelProperty("资方简称")
public String bankName;
@ApiModelProperty("数据日期")
public Date dataTime;
@ApiModelProperty("部门编码")
public String deptCode;
@ApiModelProperty("部门名称")
public String deptName;
@ApiModelProperty("客户编码")
public String customerCode;
@ApiModelProperty("客户名称")
public String customerName;
@ApiModelProperty("金额")
public BigDecimal amount;
@ApiModelProperty("备注")
public String remarks;
}
}

50
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java

@ -0,0 +1,50 @@
package com.yxt.anrui.fin.api.kingdee.voucher;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/19 11:18
*/
@Data
@ApiModel(value = "一般凭证 数据传输对象", description = "一般凭证 数据传输对象")
public class PaymentVoucher {
@ApiModelProperty("分公司编码")
public String useOrgCode;
@ApiModelProperty("收款方式编码")
public String payTypeCode;
@ApiModelProperty("银行账号")
public String bankAccount;
@ApiModelProperty("凭证明细")
public List<PaymentVoucher.PaymentVoucherDetail> voucherDetails;
@Data
public static class PaymentVoucherDetail {
@ApiModelProperty("场景编码")
public String sceneCode;
@ApiModelProperty("资方简称")
public String bankName;
@ApiModelProperty("数据日期")
public Date dataTime;
@ApiModelProperty("部门编码")
public String deptCode;
@ApiModelProperty("部门名称")
public String deptName;
@ApiModelProperty("客户编码")
public String customerCode;
@ApiModelProperty("客户名称")
public String customerName;
@ApiModelProperty("金额")
public BigDecimal amount;
@ApiModelProperty("备注")
public String remarks;
}
}

53
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java

@ -0,0 +1,53 @@
package com.yxt.anrui.fin.api.kingdee.voucher;
/**
* @author Fan
* @description 推送凭证适用的场景编码
* @date 2023/12/20 11:32
*/
public enum SceneCodeEnum {
BUCKLE_VOUCHER1("月还划扣凭证", "划扣申请通过-正常月还", "01"),
BUCKLE_VOUCHER2("月还划扣凭证", "划扣申请通过-逾期未垫款", "02"),
BUCKLE_VOUCHER3("月还划扣凭证", "划扣申请通过-逾期已垫款(中车类)", "03"),
INDIRECT_VOUCHER1("间还月还收款凭证", "间还出纳确认后-未逾期", "04"),
INDIRECT_VOUCHER2("间还月还收款凭证", "间还出纳确认后-已逾期/资方逾期利息", "05"),
TRANSFER_VOUCHER1("间还月还代付款凭证", "出纳代付款-正常或逾期未垫款", "06"),
TRANSFER_VOUCHER2("间还月还代付款凭证", "出纳代付款-已垫款(中车类)", "07"),
PADSINCERE_VOUCHER1("垫款付款凭证", "出纳付款-资方本金(月还)", "08"),
PADSINCERE_VOUCHER2("垫款付款凭证", "出纳付款-资方逾期利息", "09"),
FUND_VOUCHER1("资金占用费收款凭证", "资金占用费出纳确认后", "10"),
FUND_VOUCHER2("资金占用费收款凭证", "资金占用费出纳确认后-确认收入", "11");
/**
* 适用凭证
*/
private final String voucher;
/**
* 适用场景
*/
private final String scene;
/**
* 场景编码
*/
private final String code;
SceneCodeEnum(String voucher, String scene, String code) {
this.voucher = voucher;
this.scene = scene;
this.code = code;
}
public String getCode() {
return code;
}
public String getScene() {
return scene;
}
public String getVoucher() {
return voucher;
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/Voucher.java

@ -30,7 +30,7 @@ public class Voucher {
@ApiModelProperty("摘要") @ApiModelProperty("摘要")
public String remark; public String summary;
@ApiModelProperty("科目编码") @ApiModelProperty("科目编码")
public String subjectNo; public String subjectNo;
@ApiModelProperty("核算维度部门") @ApiModelProperty("核算维度部门")

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -1351,6 +1351,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
} }
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos); baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
finBillVehicleService.updateByMainSid(finBillApplication.getSid()); finBillVehicleService.updateByMainSid(finBillApplication.getSid());
finBillVehicleService.updateByMainSid1(finBillApplication.getSid());
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
if (businessTaskId.equals(query.getTaskId())) { if (businessTaskId.equals(query.getTaskId())) {
@ -1374,6 +1375,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
} }
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos); baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
finBillVehicleService.updateByMainSid(finBillApplication.getSid()); finBillVehicleService.updateByMainSid(finBillApplication.getSid());
finBillVehicleService.updateByMainSid1(finBillApplication.getSid());
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} }
} }

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java

@ -85,4 +85,7 @@ public interface FinBillVehicleMapper extends BaseMapper<FinBillVehicle> {
List<String> fetchByUseOrgSid(@Param(Constants.WRAPPER) Wrapper<FinBillVehicle> qw); List<String> fetchByUseOrgSid(@Param(Constants.WRAPPER) Wrapper<FinBillVehicle> qw);
int checkIsKp(@Param("contractNo") String contractNo,@Param("vehSid") String vehSid); int checkIsKp(@Param("contractNo") String contractNo,@Param("vehSid") String vehSid);
@Update("UPDATE fin_bill_vehicle SET isDelete = 1 WHERE billAppSid = #{sid}")
void updateByMainSid1(String sid);
} }

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java

@ -165,4 +165,8 @@ public class FinBillVehicleService extends MybatisBaseService<FinBillVehicleMapp
public int checkIsKp(String contractNo, String vehSid) { public int checkIsKp(String contractNo, String vehSid) {
return baseMapper.checkIsKp(contractNo,vehSid); return baseMapper.checkIsKp(contractNo,vehSid);
} }
public void updateByMainSid1(String sid) {
baseMapper.updateByMainSid1(sid);
}
} }

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java

@ -162,4 +162,6 @@ public interface FinCollectionConfirmationMapper extends BaseMapper<FinCollectio
IPage<AppFinCollectionConfirmationPageVo> getRskCollectionConfirmList(IPage<AppFinCollectionConfirmationQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppFinCollectionConfirmationPageVo> qw, @Param("name") String name); IPage<AppFinCollectionConfirmationPageVo> getRskCollectionConfirmList(IPage<AppFinCollectionConfirmationQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppFinCollectionConfirmationPageVo> qw, @Param("name") String name);
AppFinCollectionConfirmationInitRskVo initRskCollectionConfirm(@Param("collectionBillSid")String collectionBillSid,@Param("useOrgSid") String useOrgSid); AppFinCollectionConfirmationInitRskVo initRskCollectionConfirm(@Param("collectionBillSid")String collectionBillSid,@Param("useOrgSid") String useOrgSid);
AppFinCollectionConfirmationInitRskVo getRskCollectionConfirmDetail(@Param("collectionBillSid") String collectionBillSid);
} }

27
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml

@ -386,4 +386,31 @@
WHERE sid = #{collectionBillSid} WHERE sid = #{collectionBillSid}
AND useOrgSid = #{useOrgSid} AND useOrgSid = #{useOrgSid}
</select> </select>
<select id="getRskCollectionConfirmDetail"
resultType="com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.AppFinCollectionConfirmationInitRskVo">
SELECT sid AS collectionBillSid,
collectionBankNumKey AS collectionNumKey,
collectionBankNum AS collectionNum,
collectionBank,
collectionBankKey,
collectionTypeValue AS collectionType,
collectionTypeKey AS collectionTypeKey,
collectionDate,
payerName AS paymentName,
collectionMoney AS paymentMoney,
remarks,
balance,
createDept,
createDate,
receivingName,
payAccount,
payBank,
accountSid,
createByName,
billNo,
purchaseSystemName,
purchaseSystemSid
FROM fin_collection_confirmation
WHERE sid = #{collectionBillSid}
</select>
</mapper> </mapper>

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java

@ -329,4 +329,9 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF
public ResultBean submitRskCollectionConfirm(AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto) { public ResultBean submitRskCollectionConfirm(AppFinCollectionConfirmationRskDto appFinCollectionConfirmationDto) {
return finCollectionConfirmationService.submitRskCollectionConfirm(appFinCollectionConfirmationDto); return finCollectionConfirmationService.submitRskCollectionConfirm(appFinCollectionConfirmationDto);
} }
@Override
public ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery) {
return finCollectionConfirmationService.getRskCollectionConfirmDetail(appFinCollectionConfirmationOrgPathQuery);
}
} }

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

@ -3981,6 +3981,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
); );
} }
} }
qw.eq("1", "1");
qw.orderBy(true, true, "t.loanContractNo") qw.orderBy(true, true, "t.loanContractNo")
.orderBy(true, true, "t.vin") .orderBy(true, true, "t.vin")
.orderBy(true, true, "t.period") .orderBy(true, true, "t.period")
@ -4003,6 +4004,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
AppFinCollectionConfirmationInitRskVo vo = baseMapper.initRskCollectionConfirm(collectionBillSid, useOrgSid); AppFinCollectionConfirmationInitRskVo vo = baseMapper.initRskCollectionConfirm(collectionBillSid, useOrgSid);
List<AppFinUncollectedReceivablesDetailedRskVo> rskList = new ArrayList<>(); List<AppFinUncollectedReceivablesDetailedRskVo> rskList = new ArrayList<>();
if (null != vo) { if (null != vo) {
if (StringUtils.isNotBlank(vo.getCreateByName()) && StringUtils.isNotBlank(vo.getCreateDept())) {
String createByName = vo.getCreateByName();
String createDept = vo.getCreateDept();
String createDate = vo.getCreateDate();
vo.setPublishInfo(createByName + "(" + createDept + ")" + createDate + "申请");
}
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(collectionBillSid); List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(collectionBillSid);
if (!finSelectedReceivablesDetailedVos.isEmpty()) { if (!finSelectedReceivablesDetailedVos.isEmpty()) {
finSelectedReceivablesDetailedVos.stream().forEach(v -> { finSelectedReceivablesDetailedVos.stream().forEach(v -> {
@ -4097,6 +4104,20 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
return rb.setMsg("认款总额与收款金额不符"); return rb.setMsg("认款总额与收款金额不符");
} }
} }
for (AppFinSelectedReceivablesDetailedRskDto v : finSelectedReceivablesDetailedDtos) {
String loanContractNo = v.getLoanContractNo();
String vinNo = v.getVin();
List<AppFinUncollectedReceivablesDetailedRskVo> ruleList = finUncollectedReceivablesDetailedJRService.getRskPaymentDetailsListForRule(loanContractNo, vinNo, finCollectionConfirmation.getUseOrgSid(), finCollectionConfirmation.getPurchaseSystemSid());
if (!ruleList.isEmpty()) {
for (AppFinUncollectedReceivablesDetailedRskVo r : ruleList) {
if (r.getProjectName().equals("月还") || r.getProjectName().equals("资方逾期利息")) {
if (Integer.valueOf(r.getPeriod()) < Integer.valueOf(v.getPeriod())) {
return rb.setMsg("您的认款顺序与公司认款规则不一致");
}
}
}
}
}
//汇款确认书保存 //汇款确认书保存
List<String> payConfirmFiles = dto.getPayConfirmFiles(); List<String> payConfirmFiles = dto.getPayConfirmFiles();
if (payConfirmFiles.size() > 0) { if (payConfirmFiles.size() > 0) {
@ -4125,18 +4146,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
String finalSid = sid; String finalSid = sid;
String finalUseOrgSid = finCollectionConfirmation.getUseOrgSid(); String finalUseOrgSid = finCollectionConfirmation.getUseOrgSid();
for (AppFinSelectedReceivablesDetailedRskDto v : finSelectedReceivablesDetailedDtos) { for (AppFinSelectedReceivablesDetailedRskDto v : finSelectedReceivablesDetailedDtos) {
String loanContractNo = v.getLoanContractNo();
String vinNo = v.getVin();
List<AppFinUncollectedReceivablesDetailedRskVo> ruleList = finUncollectedReceivablesDetailedJRService.getRskPaymentDetailsListForRule(loanContractNo, vinNo, finCollectionConfirmation.getUseOrgSid(), finCollectionConfirmation.getPurchaseSystemSid());
if (!ruleList.isEmpty()) {
for (AppFinUncollectedReceivablesDetailedRskVo r : ruleList) {
if (r.getProjectName().equals("月还") || r.getProjectName().equals("资方逾期利息")) {
if (Integer.valueOf(r.getPeriod()) < Integer.valueOf(v.getPeriod())) {
return rb.setMsg("您的认款顺序与公司认款规则不一致");
}
}
}
}
//已选 //已选
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
// BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid"); // BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid");
@ -4179,4 +4188,103 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
return rb.success(); return rb.success();
} }
public ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(AppFinCollectionConfirmationOrgPathQuery query) {
ResultBean<AppFinCollectionConfirmationInitRskVo> rb = ResultBean.fireFail();
String orgPath = query.getOrgPath();
String collectionBillSid = query.getCollectionBillSid();
// String useOrgSid = "";
// if (StringUtils.isNotBlank(orgPath)) {
// useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
// } else {
// useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(query.getUserSid()).getData();
// }
AppFinCollectionConfirmationInitRskVo vo = baseMapper.getRskCollectionConfirmDetail(collectionBillSid);
List<AppFinUncollectedReceivablesDetailedRskVo> rskList = new ArrayList<>();
List<CommonAppendixVo> commonAppendixVoList1 = commonAppendixFeign.getAppAppendixList(collectionBillSid, CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()).getData();
List<String> images = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVoList1) {
String url = fileUploadComponent.getUrlPrefix() + commonAppendixVo.getFilePath();
images.add(url);
}
vo.setImages(images);
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(query.getCollectionBillSid());
if (null != finCollectionConfirmation) {
if (null != finCollectionConfirmation.getAuditState()) {
if (finCollectionConfirmation.getAuditState() == 2) {
vo.setCotlectionBitiStateValue("驳回");
vo.setReason(finCollectionConfirmation.getReason());
} else if (finCollectionConfirmation.getAuditState() == 3) {
vo.setCotlectionBitiStateValue("确认");
}
}
}
if (null != vo) {
if (StringUtils.isNotBlank(vo.getCreateByName()) && StringUtils.isNotBlank(vo.getCreateDept())) {
String createByName = vo.getCreateByName();
String createDept = vo.getCreateDept();
String createDate = vo.getCreateDate();
vo.setPublishInfo(createByName + "(" + createDept + ")" + createDate + "申请");
}
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(collectionBillSid);
if (!finSelectedReceivablesDetailedVos.isEmpty()) {
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
AppFinUncollectedReceivablesDetailedRskVo rsk = new AppFinUncollectedReceivablesDetailedRskVo();
String receivablesSid = v.getReceivablesSid();
if (v.getReceivablesName().equals("月还")) {
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData();
if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivable(new BigDecimal(noReturnMoney));
}
}
} else {
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(receivablesSid);
if (jr != null) {
String busSid = jr.getBusSid();
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData();
if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid);
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivable(new BigDecimal(noReturnMoney));
}
}
}
}
if (StringUtils.isNotBlank(v.getSubscriptionDate())) {
rsk.setConfirmDate(v.getSubscriptionDate());
}
if (null != v.getAuditState()) {
rsk.setState(String.valueOf(v.getAuditState()));
}
rsk.setProjectName(v.getReceivablesName());
// rsk.setSid(v.getSid());
rsk.setConfirmMoney(v.getSubscriptionMoney());
rsk.setReceivablesSid(v.getReceivablesSid());
rskList.add(rsk);
});
}
}
vo.setContractList(rskList);
List<CommonAppendixVo> commonAppendixVoList = commonAppendixFeign.getAppAppendixList(vo.getCollectionBillSid(), CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType()).getData();
List<String> payFiles = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVoList) {
String url = fileUploadComponent.getUrlPrefix() + commonAppendixVo.getFilePath();
payFiles.add(url);
}
vo.setPayFiles(payFiles);
vo.setUserSid(query.getUserSid());
String fils = fileUploadComponent.getUrlPrefix() + "confirm.docx";
vo.setDownLoadUrl(fils);
return rb.success().setData(vo);
}
} }

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java

@ -627,10 +627,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}else { }else {
balance = finSelectedReceivablesDetailedService.getBalance(busSid); balance = finSelectedReceivablesDetailedService.getBalance(busSid);
} }
/*int i = new BigDecimal(balance).compareTo(new BigDecimal(thisUseMoney)); int i = new BigDecimal(balance).compareTo(new BigDecimal(thisUseMoney));
if (i == -1){ if (i == -1){
return rb.setMsg("本次使用金额不能大于剩余金额"); return rb.setMsg("本次使用金额不能大于剩余金额");
}*/ }
jzjehj = jzjehj.add(new BigDecimal(thisUseMoney)); jzjehj = jzjehj.add(new BigDecimal(thisUseMoney));
} }
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.xml

@ -23,7 +23,8 @@
fp.receiveBank, fp.receiveBank,
fp.cost, fp.cost,
fp.payFile, fp.payFile,
fp.payCode fp.payCode,
fp.busRemarks
FROM fin_paymentrecord fp FROM fin_paymentrecord fp
LEFT JOIN anrui_portal.sys_organization so ON fp.createOrgSid = so.sid LEFT JOIN anrui_portal.sys_organization so ON fp.createOrgSid = so.sid
<where> <where>

9
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -292,6 +292,12 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (int i = 0; i < sids.size(); i++) { for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i)); FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
FinPaymentrecord finPaymentrecordOne = null;
if(dto.getCost()<finPaymentrecord.getAccountsReceive()){//实收金额小于应收金额
finPaymentrecordOne = new FinPaymentrecord();
BeanUtil.copyProperties(finPaymentrecord,finPaymentrecordOne,"sid");
finPaymentrecordOne.setAccountsReceive(finPaymentrecord.getAccountsReceive()-dto.getCost());
}
BeanUtil.copyProperties(dto, finPaymentrecord, "sid"); BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
List<String> payFiles = dto.getPayFiles(); List<String> payFiles = dto.getPayFiles();
if (payFiles.size() > 0) { if (payFiles.size() > 0) {
@ -405,6 +411,9 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
log.error("推送数据失败=========================" + e.getMessage()); log.error("推送数据失败=========================" + e.getMessage());
return rb.setMsg("推送数据失败"); return rb.setMsg("推送数据失败");
} }
if(finPaymentrecordOne != null){
baseMapper.insert(finPaymentrecordOne);
}
} }
return rb.success(); return rb.success();
} }

134
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -26,6 +26,9 @@ import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.PaymentVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService; import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService; import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
@ -50,6 +53,7 @@ import com.yxt.anrui.fin.biz.kingdee.saloutstock.SalOutStockService;
import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService; import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService;
import com.yxt.anrui.fin.biz.kingdee.stktransferdirect.StkTransferDirectService; import com.yxt.anrui.fin.biz.kingdee.stktransferdirect.StkTransferDirectService;
import com.yxt.anrui.fin.biz.kingdee.voucher.VoucherService; import com.yxt.anrui.fin.biz.kingdee.voucher.VoucherService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -58,6 +62,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "单据调用金蝶的暂存接口") @Api(tags = "单据调用金蝶的暂存接口")
@ -221,6 +226,135 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return voucherService.saveVoucher(voucher); return voucherService.saveVoucher(voucher);
} }
/**
* 保存还款计划表总凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveScheduleVoucher(GeneralVoucher voucher) {
ResultBean rb = ResultBean.fireFail();
Voucher newVoucher = new Voucher();
List<Voucher.VoucherResultDetailDto> resultDetails = new ArrayList<>();
if (StringUtils.isNotBlank(voucher.getUseOrgCode())) {
newVoucher.setAccountBook(voucher.getUseOrgCode());
newVoucher.setVoucherNo(voucher.getUseOrgCode());
}
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = voucher.getVoucherDetails();
if (!voucherDetails.isEmpty()) {
for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
if (StringUtils.isNotBlank(voucherDetail.getBankName())) {
dto1.setSummary(voucherDetail.getBankName() + "贷款");
dto2.setSummary(voucherDetail.getBankName() + "贷款");
}
}
}
return null;
}
/**
* 保存月还计提凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveAccrualVoucher(GeneralVoucher voucher) {
return null;
}
/**
* 保存逾期转累欠凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveLateVoucher(GeneralVoucher voucher) {
return null;
}
/**
* 保存月还划扣凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveBuckleVoucher(GeneralVoucher voucher) {
return null;
}
/**
* 保存间还月还收款凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveIndirectVoucher(CollectionVoucher voucher) {
return null;
}
/**
* 间还月还代付款凭证
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> savePaymentVoucher(PaymentVoucher voucher) {
return null;
}
/**
* 保存垫款付款凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveAdvancesVoucher(PaymentVoucher voucher) {
return null;
}
/**
* 保存资金占用费计提凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveReturnVoucher(CollectionVoucher voucher) {
return null;
}
/**
* 保存中车退还垫款收款凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveFundVoucher(GeneralVoucher voucher) {
return null;
}
/**
* 保存资金占用费计提凭证接口
*
* @param voucher
* @return
*/
@Override
public ResultBean<String> saveFeeVoucher(CollectionVoucher voucher) {
return null;
}
@Override @Override
public ResultBean<String> pushOtherReceivableBill(CapitalCreditResult creditResult) { public ResultBean<String> pushOtherReceivableBill(CapitalCreditResult creditResult) {
log.info("FinKingDeeFeignRest-pushOtherReceivableBill:{}", JSONObject.toJSONString(creditResult)); log.info("FinKingDeeFeignRest-pushOtherReceivableBill:{}", JSONObject.toJSONString(creditResult));

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java

@ -9,10 +9,8 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
@Service @Service
public class VoucherService extends FinKingDeeService { public class VoucherService extends FinKingDeeService {
@ -34,14 +32,15 @@ public class VoucherService extends FinKingDeeService {
} }
map_fEntityModel_.put("FAccountBookID", voucher.getAccountBook()); map_fEntityModel_.put("FAccountBookID", voucher.getAccountBook());
//业务日期 //业务日期
if (StringUtils.isBlank(voucher.getBussDate())) { // if (StringUtils.isBlank(voucher.getBussDate())) {
return rb.setMsg("业务日期不能为空"); // return rb.setMsg("业务日期不能为空");
} // }
map_fEntityModel_.put("FDate", voucher.getBussDate()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
map_fEntityModel_.put("FDate", sdf.format(new Date()));
//凭证字 //凭证字
if (StringUtils.isBlank(voucher.getVoucherWord())) { // if (StringUtils.isBlank(voucher.getVoucherWord())) {
return rb.setMsg("凭证字不能为空"); // return rb.setMsg("凭证字不能为空");
} // }
map_fEntityModel_.put("FVOUCHERGROUPID", voucher.getVoucherWord()); map_fEntityModel_.put("FVOUCHERGROUPID", voucher.getVoucherWord());
//凭证号 //凭证号
if (StringUtils.isBlank(voucher.getVoucherNo())) { if (StringUtils.isBlank(voucher.getVoucherNo())) {
@ -85,7 +84,7 @@ public class VoucherService extends FinKingDeeService {
if (StringUtils.isBlank(c.getSubjectNo())) { if (StringUtils.isBlank(c.getSubjectNo())) {
return rb.setMsg("科目编码不能为空"); return rb.setMsg("科目编码不能为空");
} }
m.put("FEXPLANATION", c.getRemark()); m.put("FEXPLANATION", c.getSummary());
m.put("FACCOUNTID", c.getSubjectNo()); m.put("FACCOUNTID", c.getSubjectNo());
m.put("FFLEX5", c.getDimensionDept()); m.put("FFLEX5", c.getDimensionDept());
m.put("FFLEX6", c.getDimensionCustom()); m.put("FFLEX6", c.getDimensionCustom());

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/data_FEntity.json

@ -9,6 +9,9 @@
}, },
"FDETAILID__FFLEX6": { "FDETAILID__FFLEX6": {
"FNumber": "@KD_FFLEX6" "FNumber": "@KD_FFLEX6"
},
"FDETAILID__FF100002": {
"FNumber": "@KD_FF100002"
} }
}, },
"FCURRENCYID": { "FCURRENCYID": {

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/remarks.txt

@ -78,4 +78,8 @@
取消复核操(作辅助):FCancleRecheck 取消复核操(作辅助):FCancleRecheck
来源系统:FSystemID 来源系统:FSystemID
是否调整期凭证:FISADJUSTVOUCHER 是否调整期凭证:FISADJUSTVOUCHER
出纳复核操作(辅助):FCashierRecheck 出纳复核操作(辅助):FCashierRecheck
维度:
FDETAILID__FF100002 银行账号
FDETAILID__FFLEX5 部门编号
FDETAILID__FFLEX6 客户编码

1
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -64,6 +64,7 @@ public enum ProcDefEnum {
LOANBUCKLEAPPLLY("划扣申请", "process_50xtaucg:1:6757504"), LOANBUCKLEAPPLLY("划扣申请", "process_50xtaucg:1:6757504"),
COLLECTIONPAYMENT("代收代付申请", "process_6upfyv8i:1:6972504"), COLLECTIONPAYMENT("代收代付申请", "process_6upfyv8i:1:6972504"),
BEPADSINCEREAPPLY("逾期垫款申请", "process_h1mcb548:1:6712504"), BEPADSINCEREAPPLY("逾期垫款申请", "process_h1mcb548:1:6712504"),
BECOLLECTIONAPPLY("催收措施申请", "process_7xz17xva:1:7417504"),
MONTHLYACCRUAL("当月应收计提申请", "process_7zpo52qj:1:7367504"), MONTHLYACCRUAL("当月应收计提申请", "process_7zpo52qj:1:7367504"),
/******************************测试流程id*********************************************/ /******************************测试流程id*********************************************/

9
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppVo.java

@ -127,4 +127,13 @@ public class DailyReportAppVo {
private boolean rightBtn2; private boolean rightBtn2;
private boolean rightBtn3;*/ private boolean rightBtn3;*/
private ParameterVo row101;
private ParameterVo row102;
private ParameterVo row103;
private ParameterVo row104;
private ParameterVo row105;
private ParameterVo row106;
private ParameterVo row107;
} }

64
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java

@ -576,7 +576,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
public ResultBean<DailyReportAppVo> list2(String date) { public ResultBean<DailyReportAppVo> list2(String date) {
ResultBean<DailyReportAppVo> rb = ResultBean.fireFail(); ResultBean<DailyReportAppVo> rb = ResultBean.fireFail();
DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo();
dailyReportAppVo.setTitle("集团(事业部)"+date+"日报"); dailyReportAppVo.setTitle("集团(事业部)" + date + "日报");
List<BrandVo> rows1 = baseMapper.list2(date); List<BrandVo> rows1 = baseMapper.list2(date);
rows1.removeAll(Collections.singleton(null)); rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1); dailyReportAppVo.setRow1(rows1);
@ -819,7 +819,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
ResultBean<DailyReportAppVo> rb = ResultBean.fireFail(); ResultBean<DailyReportAppVo> rb = ResultBean.fireFail();
DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo();
List<BrandVo> rows1 = baseMapper.list3(date, busOrgSid); List<BrandVo> rows1 = baseMapper.list3(date, busOrgSid);
dailyReportAppVo.setTitle("事业部(分公司)"+date+"日报"); dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报");
rows1.removeAll(Collections.singleton(null)); rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1); dailyReportAppVo.setRow1(rows1);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport3(date, busOrgSid); List<DailyReportVo> dailyReportVoList = baseMapper.selectReport3(date, busOrgSid);
@ -1060,11 +1060,15 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
public ResultBean<DailyReportAppVo> list4(String date, String useOrgSid) { public ResultBean<DailyReportAppVo> list4(String date, String useOrgSid) {
ResultBean<DailyReportAppVo> rb = ResultBean.fireFail(); ResultBean<DailyReportAppVo> rb = ResultBean.fireFail();
DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo();
dailyReportAppVo.setTitle("分公司"+date+"日报"); dailyReportAppVo.setTitle("分公司" + date + "日报");
List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date); List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date);
rows1.removeAll(Collections.singleton(null)); rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1); dailyReportAppVo.setRow1(rows1);
List<String> brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); List<String> brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList());
brandList.removeAll(Collections.singleton(null));
if (brandList.isEmpty()) {
return rb.success();
}
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date); List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date);
//燃料 //燃料
List<String> row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList()); List<String> row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList());
@ -1314,7 +1318,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
ParameterVo parameterVo = new ParameterVo(); ParameterVo parameterVo = new ParameterVo();
parameterVo.setName(dailyParameterVo.getColText()); parameterVo.setName(dailyParameterVo.getColText());
List<String> columnNames = dailyReportVoList.stream().map(v-> { List<String> columnNames = dailyReportVoList.stream().map(v -> {
String columnName = ""; String columnName = "";
try { try {
Field field = v.getClass().getDeclaredField(dailyParameterVo.getColName()); Field field = v.getClass().getDeclaredField(dailyParameterVo.getColName());
@ -1323,9 +1327,9 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
} catch (NoSuchFieldException | IllegalAccessException e) { } catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
} }
if(StringUtils.isBlank(columnName)){ if (StringUtils.isBlank(columnName)) {
return "-"; return "-";
}else{ } else {
return columnName; return columnName;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
@ -1334,6 +1338,54 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
dynamicRows.add(parameterVo); dynamicRows.add(parameterVo);
} }
dailyReportAppVo.setDynamicRows(dynamicRows); dailyReportAppVo.setDynamicRows(dynamicRows);
if (!dynamicRows.isEmpty()) {
for (int i = 0; i < dynamicRows.size(); i++) {
if (i > 6) {
break;
} else {
ParameterVo parameterVo = dynamicRows.get(i);
switch (i) {
case 0:
if (parameterVo != null) {
dailyReportAppVo.setRow101(parameterVo);
}
break;
case 1:
if (parameterVo != null) {
dailyReportAppVo.setRow102(parameterVo);
}
break;
case 2:
if (parameterVo != null) {
dailyReportAppVo.setRow103(parameterVo);
}
break;
case 3:
if (parameterVo != null) {
dailyReportAppVo.setRow104(parameterVo);
}
break;
case 4:
if (parameterVo != null) {
dailyReportAppVo.setRow105(parameterVo);
}
break;
case 5:
if (parameterVo != null) {
dailyReportAppVo.setRow106(parameterVo);
}
break;
case 6:
if (parameterVo != null) {
dailyReportAppVo.setRow107(parameterVo);
}
break;
default:
break;
}
}
}
}
return rb.success().setData(dailyReportAppVo); return rb.success().setData(dailyReportAppVo);
} }
} }

36
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeign.java

@ -25,15 +25,19 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.riskcenter.api.loanbecollectionapply; package com.yxt.anrui.riskcenter.api.loanbecollectionapply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordInit; import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordInit;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
@ -81,4 +85,36 @@ public interface LoanBeCollectionApplyFeign {
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody @ResponseBody
public ResultBean<LoanBeCollectionApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); public ResultBean<LoanBeCollectionApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitLoanBeCollectionApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody LoanBeCollectionApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<LoanBeCollectionApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap LoanBeCollectionApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<LoanBeCollectionApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap LoanBeCollectionApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody LoanBeCollectionApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody LoanBeCollectionApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody LoanBeCollectionApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody LoanBeCollectionApplyDelegateQuery query);
} }

42
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeignFallback.java

@ -25,6 +25,8 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.riskcenter.api.loanbecollectionapply; package com.yxt.anrui.riskcenter.api.loanbecollectionapply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereNodeVo;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -74,4 +76,44 @@ public class LoanBeCollectionApplyFeignFallback implements LoanBeCollectionApply
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-riskcenter/loanbecollectionapply/fetchDetailsBySid无法访问"); return rb.setMsg("接口anrui-riskcenter/loanbecollectionapply/fetchDetailsBySid无法访问");
} }
@Override
public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) {
return null;
}
@Override
public ResultBean complete(LoanBeCollectionApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getPreviousNodesForReject(LoanBeCollectionApplyNodeQuery query) {
return null;
}
@Override
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getNextNodesForSubmit(LoanBeCollectionApplyNodeQuery query) {
return null;
}
@Override
public ResultBean reject(LoanBeCollectionApplyTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(LoanBeCollectionApplyTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(LoanBeCollectionApplyTaskQuery query) {
return null;
}
@Override
public ResultBean delegate(LoanBeCollectionApplyDelegateQuery query) {
return null;
}
} }

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyCompleteDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class LoanBeCollectionApplyCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id(PC)")
private String instanceId;
@ApiModelProperty(value = "流程id(移动)")
private String procInsId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
private String orgPath;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class LoanBeCollectionApplyDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class LoanBeCollectionApplyNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class LoanBeCollectionApplyNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/LoanBeCollectionApplyTaskQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:06
* @Description
*/
@Data
public class LoanBeCollectionApplyTaskQuery implements Query {
private static final long serialVersionUID = 1288615499873178778L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id(PC)")
private String instanceId;
@ApiModelProperty("流程实例Id(移动)")
private String procInsId;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/flowable/SubmitLoanBeCollectionApplyDto.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyDto;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/13
*/
@ApiModel("提交")
@Data
public class SubmitLoanBeCollectionApplyDto extends LoanBeCollectionApplyDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFile.java

@ -62,4 +62,6 @@ public class LoanHomevisitInvestigateFile extends BaseEntity {
private String locationCoord; private String locationCoord;
@ApiModelProperty("定位具体位置") @ApiModelProperty("定位具体位置")
private String locationStr; private String locationStr;
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid;
} }

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileDetailsVo.java

@ -63,4 +63,6 @@ public class LoanHomevisitInvestigateFileDetailsVo implements Vo {
private String locationCoord; private String locationCoord;
@ApiModelProperty("定位具体位置") @ApiModelProperty("定位具体位置")
private String locationStr; private String locationStr;
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid;
} }

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileDto.java

@ -63,4 +63,6 @@ public class LoanHomevisitInvestigateFileDto implements Dto {
private String locationCoord; private String locationCoord;
@ApiModelProperty("定位具体位置") @ApiModelProperty("定位具体位置")
private String locationStr; private String locationStr;
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid;
} }

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo; import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Project: anrui-riskcenter(催收措施申请) <br/> * Project: anrui-riskcenter(催收措施申请) <br/>
@ -62,4 +63,8 @@ public interface LoanBeCollectionApplyMapper extends BaseMapper<LoanBeCollection
@Select("select * from loan_be_collection_apply") @Select("select * from loan_be_collection_apply")
List<LoanBeCollectionApplyVo> selectListVo(); List<LoanBeCollectionApplyVo> selectListVo();
String selectNum(String billNo);
int updateFlowFiled(Map<String, Object> map);
} }

23
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.xml

@ -10,4 +10,27 @@
<select id="selectListAllVo" resultType="com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo"> <select id="selectListAllVo" resultType="com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo">
SELECT * FROM loan_be_collection_apply <where> ${ew.sqlSegment} </where> SELECT * FROM loan_be_collection_apply <where> ${ew.sqlSegment} </where>
</select> </select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from loan_be_collection_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
<update id="updateFlowFiled">
UPDATE loan_be_collection_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper> </mapper>

50
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyRest.java

@ -25,6 +25,11 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.riskcenter.biz.loanbecollectionapply; package com.yxt.anrui.riskcenter.biz.loanbecollectionapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereNodeVo;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -82,7 +87,7 @@ public class LoanBeCollectionApplyRest implements LoanBeCollectionApplyFeign {
@Override @Override
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@PostMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){ public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
loanBeCollectionApplyService.delBySids(sids); loanBeCollectionApplyService.delBySids(sids);
@ -104,4 +109,47 @@ public class LoanBeCollectionApplyRest implements LoanBeCollectionApplyFeign {
LoanBeCollectionApplyDetailsVo vo = loanBeCollectionApplyService.fetchDetailsVoBySid(sid); LoanBeCollectionApplyDetailsVo vo = loanBeCollectionApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override
public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) {
return loanBeCollectionApplyService.submit(dto);
}
@Override
public ResultBean complete(LoanBeCollectionApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BECOLLECTIONAPPLY.getProDefId());
return loanBeCollectionApplyService.complete(bv);
}
@Override
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getPreviousNodesForReject(LoanBeCollectionApplyNodeQuery query) {
return loanBeCollectionApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getNextNodesForSubmit(LoanBeCollectionApplyNodeQuery query) {
return loanBeCollectionApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(LoanBeCollectionApplyTaskQuery query) {
return loanBeCollectionApplyService.reject(query);
}
@Override
public ResultBean revokeProcess(LoanBeCollectionApplyTaskQuery query) {
return loanBeCollectionApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(LoanBeCollectionApplyTaskQuery query) {
return loanBeCollectionApplyService.breakProcess(query);
}
@Override
public ResultBean delegate(LoanBeCollectionApplyDelegateQuery query) {
return loanBeCollectionApplyService.delegate(query);
}
} }

359
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java

@ -27,14 +27,26 @@ package com.yxt.anrui.riskcenter.biz.loanbecollectionapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -42,12 +54,16 @@ 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.riskcenter.api.loanbecollectionapply.*; import com.yxt.anrui.riskcenter.api.loanbecollectionapply.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordDto; import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordDto;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit; import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDto; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDto;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFile; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFile;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyVo; import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereNodeVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.SubmitLoanBePadsincereDto;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo;
@ -59,6 +75,9 @@ import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigate.LoanHomevisitInvest
import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerService; import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerService;
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService; import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -70,6 +89,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* Project: anrui-riskcenter(催收措施申请) <br/> * Project: anrui-riskcenter(催收措施申请) <br/>
@ -90,6 +110,8 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired @Autowired
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@ -109,6 +131,14 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
private LoanFileService loanFileService; private LoanFileService loanFileService;
@Autowired @Autowired
private FileUploadComponent fileUploadComponent; private FileUploadComponent fileUploadComponent;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FlowFeign flowFeign;
private QueryWrapper<LoanBeCollectionApply> createQueryWrapper(LoanBeCollectionApplyQuery query) { private QueryWrapper<LoanBeCollectionApply> createQueryWrapper(LoanBeCollectionApplyQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -181,11 +211,23 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
return p; return p;
} }
public void saveOrUpdateDto(LoanBeCollectionApplyDto dto) { public String saveOrUpdateDto(LoanBeCollectionApplyDto dto) {
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
List<LoanBeCollectionVehDto> loanBeCollectionVehDetails = dto.getLoanBeCollectionVehDetails(); List<LoanBeCollectionVehDto> loanBeCollectionVehDetails = dto.getLoanBeCollectionVehDetails();
List<LoanBeCollectionFileVo> files = dto.getFiles(); List<LoanBeCollectionFileVo> files = dto.getFiles();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
billNo = "CSCS" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
dto.setBillNo(billNo);
String sid = this.insertByDto(dto); String sid = this.insertByDto(dto);
if (files != null && files.size() > 0){ if (files != null && files.size() > 0){
for (LoanBeCollectionFileVo file : files) { for (LoanBeCollectionFileVo file : files) {
@ -218,7 +260,7 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
} }
} }
} }
return; return sid;
} }
this.updateByDto(dto); this.updateByDto(dto);
loanFileService.delByLinkSidOrType(dtoSid,LoanFileEnum.BECOLLECTIONAPPLY.getAttachType()); loanFileService.delByLinkSidOrType(dtoSid,LoanFileEnum.BECOLLECTIONAPPLY.getAttachType());
@ -238,6 +280,7 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
loanBeCollectionVehService.delByMainSid(dtoSid); loanBeCollectionVehService.delByMainSid(dtoSid);
for (LoanBeCollectionVehDto loanBeCollectionVehDetail : loanBeCollectionVehDetails) { for (LoanBeCollectionVehDto loanBeCollectionVehDetail : loanBeCollectionVehDetails) {
loanBeCollectionVehDetail.setMainSid(dtoSid); loanBeCollectionVehDetail.setMainSid(dtoSid);
loanBeCollectionVehDetail.setSid("");
String sid = loanBeCollectionVehService.saveOrUpdateDto(loanBeCollectionVehDetail); String sid = loanBeCollectionVehService.saveOrUpdateDto(loanBeCollectionVehDetail);
List<LoanBeCollectionFileVo> hkxyFiles = loanBeCollectionVehDetail.getHkxyFiles(); List<LoanBeCollectionFileVo> hkxyFiles = loanBeCollectionVehDetail.getHkxyFiles();
if (hkxyFiles != null && hkxyFiles.size() > 0){ if (hkxyFiles != null && hkxyFiles.size() > 0){
@ -254,6 +297,7 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
} }
} }
} }
return dtoSid;
} }
public String insertByDto(LoanBeCollectionApplyDto dto) { public String insertByDto(LoanBeCollectionApplyDto dto) {
@ -277,13 +321,23 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
} }
LoanBeCollectionApply entity = fetchBySid(dtoSid); LoanBeCollectionApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
List<String> collMeasures = dto.getCollMeasures();
String collMeasureSpan = "";
for (String collMeasure : collMeasures) {
collMeasureSpan = collMeasureSpan + collMeasure + ",";
}
entity.setCollMeasure(collMeasureSpan.substring(0, collMeasureSpan.lastIndexOf(",")));
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
public LoanBeCollectionApplyDetailsVo fetchDetailsVoBySid(String sid) { public LoanBeCollectionApplyDetailsVo fetchDetailsVoBySid(String sid) {
LoanBeCollectionApply entity = fetchBySid(sid); LoanBeCollectionApply entity = fetchBySid(sid);
String collMeasure = entity.getCollMeasure();
String[] collMeasures = collMeasure.split(",");
LoanBeCollectionApplyDetailsVo vo = new LoanBeCollectionApplyDetailsVo(); LoanBeCollectionApplyDetailsVo vo = new LoanBeCollectionApplyDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
vo.setCreateTime(DateUtil.formatDate(entity.getCreateTime()));
vo.setCollMeasures(Arrays.asList(collMeasures));
List<LoanFile> loanFiles = loanFileService.selectByLinkSid(sid, LoanFileEnum.BECOLLECTIONAPPLY.getAttachType()); List<LoanFile> loanFiles = loanFileService.selectByLinkSid(sid, LoanFileEnum.BECOLLECTIONAPPLY.getAttachType());
List<LoanBeCollectionFileVo> loanBeCollectionFileVos = new ArrayList<>(); List<LoanBeCollectionFileVo> loanBeCollectionFileVos = new ArrayList<>();
if (loanFiles != null && loanFiles.size() > 0){ if (loanFiles != null && loanFiles.size() > 0){
@ -313,8 +367,8 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
} }
loanBeCollectionVehDetailsVo.setHkxyFiles(loanBeCollectionFileVos1); loanBeCollectionVehDetailsVo.setHkxyFiles(loanBeCollectionFileVos1);
List<LoanBeCollectionVehFile> loanBeCollectionVehFiles = new ArrayList<>(); List<LoanBeCollectionVehFile> loanBeCollectionVehFiles = new ArrayList<>();
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanBeCollectionVehDetailsVo.getSaleVehSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle1 = busSalesOrderVehicleFeign.details(loanBeCollectionVehDetailsVo.getSaleVehSid()).getData(); BusSalesOrderVehicle busSalesOrderVehicle1 = busSalesOrderVehicleFeign.details(loanBeCollectionVehDetailsVo.getSaleVehSid()).getData();
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle1.getSalesOrderSid()).getData();
//催收记录sid //催收记录sid
LoanBeCollectionVehFile loanBeCollectionVehFile1 = new LoanBeCollectionVehFile(); LoanBeCollectionVehFile loanBeCollectionVehFile1 = new LoanBeCollectionVehFile();
loanBeCollectionVehFile1.setName("催收记录"); loanBeCollectionVehFile1.setName("催收记录");
@ -324,7 +378,7 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
FinVehicleInvoice finVehicleInvoice = finVehicleInvoiceFeign.selectByVinAndContractNo(busSalesOrderVehicle1.getLinkSid(), busSalesOrder.getContractNo()).getData(); FinVehicleInvoice finVehicleInvoice = finVehicleInvoiceFeign.selectByVinAndContractNo(busSalesOrderVehicle1.getLinkSid(), busSalesOrder.getContractNo()).getData();
LoanBeCollectionVehFile loanBeCollectionVehFile2 = new LoanBeCollectionVehFile(); LoanBeCollectionVehFile loanBeCollectionVehFile2 = new LoanBeCollectionVehFile();
loanBeCollectionVehFile2.setName("开票信息"); loanBeCollectionVehFile2.setName("开票信息");
loanBeCollectionVehFile2.setSid(finVehicleInvoice.getSid()); //loanBeCollectionVehFile2.setSid(finVehicleInvoice.getSid());
loanBeCollectionVehFiles.add(loanBeCollectionVehFile2); loanBeCollectionVehFiles.add(loanBeCollectionVehFile2);
//月还明细sid //月还明细sid
LoanBeCollectionVehFile loanBeCollectionVehFile3 = new LoanBeCollectionVehFile(); LoanBeCollectionVehFile loanBeCollectionVehFile3 = new LoanBeCollectionVehFile();
@ -363,6 +417,11 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
loanBeCollectionApplyDetailsVo.setCreateBySid(userSid); loanBeCollectionApplyDetailsVo.setCreateBySid(userSid);
loanBeCollectionApplyDetailsVo.setCreateByName(sysUserVo.getName()); loanBeCollectionApplyDetailsVo.setCreateByName(sysUserVo.getName());
loanBeCollectionApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date())); loanBeCollectionApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date()));
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
loanBeCollectionApplyDetailsVo.setUseOrgSid(useOrgSid);
loanBeCollectionApplyDetailsVo.setUseOrgName(sysOrganizationVo1.getName());
loanBeCollectionApplyDetailsVo.setOrgPath(orgPath);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(saleVehSid).getData(); BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(saleVehSid).getData();
List<LoanBeCollectionRecordVehInit> loanBeCollectionRecordVehInits = loanBeOverdueVehService.initVehListByBorrSid(busSalesOrderVehicle.getBorrowerSid()); List<LoanBeCollectionRecordVehInit> loanBeCollectionRecordVehInits = loanBeOverdueVehService.initVehListByBorrSid(busSalesOrderVehicle.getBorrowerSid());
List<LoanBeCollectionVehDetailsVo> loanBeCollectionVehDetailsVos = new ArrayList<>(); List<LoanBeCollectionVehDetailsVo> loanBeCollectionVehDetailsVos = new ArrayList<>();
@ -405,10 +464,300 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
loanBeCollectionVehFile6.setSid(sid); loanBeCollectionVehFile6.setSid(sid);
loanBeCollectionVehFiles.add(loanBeCollectionVehFile6); loanBeCollectionVehFiles.add(loanBeCollectionVehFile6);
loanBeCollectionVehDetailsVo.setSids(loanBeCollectionVehFiles); loanBeCollectionVehDetailsVo.setSids(loanBeCollectionVehFiles);
loanBeCollectionVehDetailsVo.setSaleVehSid(saleVehSid);
loanBeCollectionVehDetailsVos.add(loanBeCollectionVehDetailsVo); loanBeCollectionVehDetailsVos.add(loanBeCollectionVehDetailsVo);
} }
loanBeCollectionApplyDetailsVo.setLoanBeCollectionVehDetails(loanBeCollectionVehDetailsVos); loanBeCollectionApplyDetailsVo.setLoanBeCollectionVehDetails(loanBeCollectionVehDetailsVos);
return loanBeCollectionApplyDetailsVo; return loanBeCollectionApplyDetailsVo;
} }
public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanBeCollectionApply loanBeCollectionApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, loanBeCollectionApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto);
loanBeCollectionApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(loanBeCollectionApply.getOrgPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(loanBeCollectionApply.getCreateBySid());
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.BECOLLECTIONAPPLY.getProDefId());
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
loanBeCollectionApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("催收措施申请");
messageFlowableQuery.setMsgContent(loanBeCollectionApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("催收措施申请");
messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(loanBeCollectionApply.getTaskId());
bv.setTaskDefKey(loanBeCollectionApply.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getPreviousNodesForReject(LoanBeCollectionApplyNodeQuery query) {
ResultBean<List<LoanBeCollectionApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BECOLLECTIONAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanBeCollectionApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanBeCollectionApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<LoanBeCollectionApplyNodeVo>> getNextNodesForSubmit(LoanBeCollectionApplyNodeQuery query) {
ResultBean<List<LoanBeCollectionApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BECOLLECTIONAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanBeCollectionApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanBeCollectionApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean reject(LoanBeCollectionApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
LoanBeCollectionApply loanBeCollectionApply = fetchBySid(businessSid);
if (loanBeCollectionApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = loanBeCollectionApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
loanBeCollectionApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = loanBeCollectionApply.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(loanBeCollectionApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("催收措施申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(loanBeCollectionApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(loanBeCollectionApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("催收措施申请");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(LoanBeCollectionApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
LoanBeCollectionApply loanBeCollectionApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanBeCollectionApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(LoanBeCollectionApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
LoanBeCollectionApply loanBeCollectionApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanBeCollectionApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(loanBeCollectionApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean delegate(LoanBeCollectionApplyDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
LoanBeCollectionApply loanBeCollectionApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
if (StringUtils.isBlank(loanBeCollectionApply.getProcDefId())) {
flowProcessMapQuery.setProDefKey(bv.getModelId());
} else {
flowProcessMapQuery.setProDefKey(loanBeCollectionApply.getProcDefId());
}
flowProcessMapQuery.setVariables(variables);
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(loanBeCollectionApply.getOrgPath());
if (bv.getTaskId().equals(loanBeCollectionApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
loanBeCollectionApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(loanBeCollectionApply.getProcDefId());
ufVo.setProcInsId(loanBeCollectionApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("催收措施申请");
messageFlowableQuery.setMsgContent(loanBeCollectionApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("催收措施申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
private synchronized int submitBusinessData(SubmitLoanBeCollectionApplyDto dto, LoanBeCollectionApply loanBeCollectionApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (loanBeCollectionApply != null) {
String businessTaskId = loanBeCollectionApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
} }

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java

@ -154,7 +154,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
BeanUtil.copyProperties(loanHomevisitInvestigateOtherpeoDetailsVo, loanBeCollectionVehDbrDetailsVo); BeanUtil.copyProperties(loanHomevisitInvestigateOtherpeoDetailsVo, loanBeCollectionVehDbrDetailsVo);
loanBeCollectionVehDbrDetailsVo.setSaleVehSid(saleVehSid); loanBeCollectionVehDbrDetailsVo.setSaleVehSid(saleVehSid);
loanBeCollectionVehDbrDetailsVo.setMainSid(sid); loanBeCollectionVehDbrDetailsVo.setMainSid(sid);
List<LoanHomevisitInvestigateFileDetailsVo> dbrsfzs = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.DBRSFZ.getAttachType()); List<LoanHomevisitInvestigateFileDetailsVo> dbrsfzs = loanHomevisitInvestigateFileService.selBySaleVehSidAndTypeKey(saleVehSid, LoanAttachTypeEnum.DBRSFZ.getAttachType());
List<LoanBeCollectionFileVo> sfzs = new ArrayList<>(); List<LoanBeCollectionFileVo> sfzs = new ArrayList<>();
if (dbrsfzs != null && dbrsfzs.size() > 0){ if (dbrsfzs != null && dbrsfzs.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo dbrsfz : dbrsfzs) { for (LoanHomevisitInvestigateFileDetailsVo dbrsfz : dbrsfzs) {
@ -167,7 +167,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
} }
} }
loanBeCollectionVehDbrDetailsVo.setSfzFiles(sfzs); loanBeCollectionVehDbrDetailsVo.setSfzFiles(sfzs);
List<LoanHomevisitInvestigateFileDetailsVo> dbrdbxys = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.DBRDBXY.getAttachType()); List<LoanHomevisitInvestigateFileDetailsVo> dbrdbxys = loanHomevisitInvestigateFileService.selBySaleVehSidAndTypeKey(saleVehSid, LoanAttachTypeEnum.DBRDBXY.getAttachType());
List<LoanBeCollectionFileVo> dbxys = new ArrayList<>(); List<LoanBeCollectionFileVo> dbxys = new ArrayList<>();
if (dbrdbxys != null && dbrdbxys.size() > 0){ if (dbrdbxys != null && dbrdbxys.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo dbxy : dbrdbxys) { for (LoanHomevisitInvestigateFileDetailsVo dbxy : dbrdbxys) {
@ -180,7 +180,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
} }
} }
loanBeCollectionVehDbrDetailsVo.setDbxyFiles(dbxys); loanBeCollectionVehDbrDetailsVo.setDbxyFiles(dbxys);
List<LoanHomevisitInvestigateFileDetailsVo> dbrqts = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.DBRQT.getAttachType()); List<LoanHomevisitInvestigateFileDetailsVo> dbrqts = loanHomevisitInvestigateFileService.selBySaleVehSidAndTypeKey(saleVehSid, LoanAttachTypeEnum.DBRQT.getAttachType());
List<LoanBeCollectionFileVo> qts = new ArrayList<>(); List<LoanBeCollectionFileVo> qts = new ArrayList<>();
if (dbrqts != null && dbrqts.size() > 0){ if (dbrqts != null && dbrqts.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo qt : dbrqts) { for (LoanHomevisitInvestigateFileDetailsVo qt : dbrqts) {
@ -197,6 +197,8 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
} }
public void saveDbr(LoanBeCollectionVehDbrDto dto) { public void saveDbr(LoanBeCollectionVehDbrDto dto) {
loanHomevisitInvestigateOtherpeoService.delBySaleVehSid(dto.getSaleVehSid());
loanHomevisitInvestigateFileService.delBySaleVehSid(dto.getSaleVehSid());
LoanHomevisitInvestigateOtherpeo loanHomevisitInvestigateOtherpeo = new LoanHomevisitInvestigateOtherpeo(); LoanHomevisitInvestigateOtherpeo loanHomevisitInvestigateOtherpeo = new LoanHomevisitInvestigateOtherpeo();
loanHomevisitInvestigateOtherpeo.setPeoTypeKey("1"); loanHomevisitInvestigateOtherpeo.setPeoTypeKey("1");
loanHomevisitInvestigateOtherpeo.setPeoType("担保人"); loanHomevisitInvestigateOtherpeo.setPeoType("担保人");
@ -221,6 +223,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid()); loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid());
loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRSFZ.getAttachType()); loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRSFZ.getAttachType());
loanHomevisitInvestigateFileDto.setFileUrl(url); loanHomevisitInvestigateFileDto.setFileUrl(url);
loanHomevisitInvestigateFileDto.setSaleVehSid(dto.getSaleVehSid());
loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto); loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto);
} }
} }
@ -235,6 +238,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid()); loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid());
loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRDBXY.getAttachType()); loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRDBXY.getAttachType());
loanHomevisitInvestigateFileDto.setFileUrl(url); loanHomevisitInvestigateFileDto.setFileUrl(url);
loanHomevisitInvestigateFileDto.setSaleVehSid(dto.getSaleVehSid());
loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto); loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto);
} }
} }
@ -249,6 +253,7 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid()); loanHomevisitInvestigateFileDto.setMainSid(dto.getMainSid());
loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRQT.getAttachType()); loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.DBRQT.getAttachType());
loanHomevisitInvestigateFileDto.setFileUrl(url); loanHomevisitInvestigateFileDto.setFileUrl(url);
loanHomevisitInvestigateFileDto.setSaleVehSid(dto.getSaleVehSid());
loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto); loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto);
} }
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java

@ -254,6 +254,7 @@ public class LoanCapitalCreditResultService extends MybatisBaseService<LoanCapit
} else { } else {
isKP = "0"; isKP = "0";
} }
loanOtherReceivablePush.setTag("01");
loanOtherReceivablePush.setIsCompInvoic(isKP); loanOtherReceivablePush.setIsCompInvoic(isKP);
//推送客户融资放款的应收未收 //推送客户融资放款的应收未收
ResultBean resultBean = busSalesOrderLoancontractFeign.pushLoanOrder(loanContractPush); ResultBean resultBean = busSalesOrderLoancontractFeign.pushLoanOrder(loanContractPush);
@ -387,6 +388,7 @@ public class LoanCapitalCreditResultService extends MybatisBaseService<LoanCapit
} else { } else {
isKP = "0"; isKP = "0";
} }
loanOtherReceivablePush.setTag("01");
loanOtherReceivablePush.setIsCompInvoic(isKP); loanOtherReceivablePush.setIsCompInvoic(isKP);
//资方信审终审通过后推送财务的融资放款及金融方案中各项费用其他应收单 //资方信审终审通过后推送财务的融资放款及金融方案中各项费用其他应收单
ResultBean pushOtherReceivable = busSalesOrderLoancontractFeign.pushOtherReceivable(loanOtherReceivablePush); ResultBean pushOtherReceivable = busSalesOrderLoancontractFeign.pushOtherReceivable(loanOtherReceivablePush);

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileMapper.java

@ -72,4 +72,9 @@ public interface LoanHomevisitInvestigateFileMapper extends BaseMapper<LoanHomev
@Update("update loan_homevisit_investigate_file set mainSid = #{mainSid} where sid = #{sid}") @Update("update loan_homevisit_investigate_file set mainSid = #{mainSid} where sid = #{sid}")
void updateMainSid(@Param("sid") String sid,@Param("mainSid") String mainSid); void updateMainSid(@Param("sid") String sid,@Param("mainSid") String mainSid);
@Delete("delete from loan_homevisit_investigate_file where saleVehSid = #{saleVehSid}")
void delBySaleVehSid(String saleVehSid);
List<LoanHomevisitInvestigateFileDetailsVo> selBySaleVehSidAndTypeKey(@Param("sid") String sid, @Param("attachType") String attachType, @Param("path") String path);
} }

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileMapper.xml

@ -32,4 +32,18 @@
where mainSid = #{sid} where mainSid = #{sid}
and attachType = #{attachType} and attachType = #{attachType}
</select> </select>
<select id="selBySaleVehSidAndTypeKey"
resultType="com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanHomevisitInvestigateFileDetailsVo">
select sid,
createByName,
concat(#{path}, fileUrl) as fileUrl,
attachType,
locationCoord,
locationStr,
mainSid
from loan_homevisit_investigate_file
where saleVehSid = #{sid}
and attachType = #{attachType}
</select>
</mapper> </mapper>

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigatefile/LoanHomevisitInvestigateFileService.java

@ -312,4 +312,12 @@ public class LoanHomevisitInvestigateFileService extends MybatisBaseService<Loan
public void updateMainSid(String sid, String mainSid) { public void updateMainSid(String sid, String mainSid) {
baseMapper.updateMainSid(sid, mainSid); baseMapper.updateMainSid(sid, mainSid);
} }
public void delBySaleVehSid(String saleVehSid) {
baseMapper.delBySaleVehSid(saleVehSid);
}
public List<LoanHomevisitInvestigateFileDetailsVo> selBySaleVehSidAndTypeKey(String sid, String attachType) {
return baseMapper.selBySaleVehSidAndTypeKey(sid,attachType, fileUploadComponent.getUrlPrefix());
}
} }

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigateotherpeo/LoanHomevisitInvestigateOtherpeoMapper.java

@ -73,4 +73,7 @@ public interface LoanHomevisitInvestigateOtherpeoMapper extends BaseMapper<LoanH
@Select("select * from loan_homevisit_investigate_otherpeo where mainSid = #{mainSid} and saleVehSid = #{saleVehSid}") @Select("select * from loan_homevisit_investigate_otherpeo where mainSid = #{mainSid} and saleVehSid = #{saleVehSid}")
LoanHomevisitInvestigateOtherpeoDetailsVo selByMainSidAndSaleVehSid(@Param("mainSid") String mainSid,@Param("saleVehSid") String saleVehSid); LoanHomevisitInvestigateOtherpeoDetailsVo selByMainSidAndSaleVehSid(@Param("mainSid") String mainSid,@Param("saleVehSid") String saleVehSid);
@Delete("DELETE FROM loan_homevisit_investigate_otherpeo WHERE saleVehSid = #{saleVehSid}")
void delBySaleVehSid(String saleVehSid);
} }

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitinvestigateotherpeo/LoanHomevisitInvestigateOtherpeoService.java

@ -118,4 +118,8 @@ public class LoanHomevisitInvestigateOtherpeoService extends MybatisBaseService<
public LoanHomevisitInvestigateOtherpeoDetailsVo selByMainSidAndSaleVehSid(String mainSid, String saleVehSid) { public LoanHomevisitInvestigateOtherpeoDetailsVo selByMainSidAndSaleVehSid(String mainSid, String saleVehSid) {
return baseMapper.selByMainSidAndSaleVehSid(mainSid,saleVehSid); return baseMapper.selByMainSidAndSaleVehSid(mainSid,saleVehSid);
} }
public void delBySaleVehSid(String saleVehSid) {
baseMapper.delBySaleVehSid(saleVehSid);
}
} }

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewService.java

@ -8,6 +8,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.LoanContractPush; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.LoanContractPush;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.LoanOtherReceivablePush; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.LoanOtherReceivablePush;
@ -30,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -61,6 +63,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
private BaseTrailerFeign baseTrailerFeign; private BaseTrailerFeign baseTrailerFeign;
@Autowired @Autowired
private LoanSolutionsService loanSolutionsService; private LoanSolutionsService loanSolutionsService;
public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(String salesOrderSid) { public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(String salesOrderSid) {
ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> rb = ResultBean.fireFail(); ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> rb = ResultBean.fireFail();
LoanNoGuaranteeCreditReviewDetailsVo vo = new LoanNoGuaranteeCreditReviewDetailsVo(); LoanNoGuaranteeCreditReviewDetailsVo vo = new LoanNoGuaranteeCreditReviewDetailsVo();
@ -141,6 +144,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
public ResultBean<String> saveReviewInfo(LoanNoGuaranteeCreditReviewDto dto) { public ResultBean<String> saveReviewInfo(LoanNoGuaranteeCreditReviewDto dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
String borrowerSid = dto.getSalesOrderSid(); String borrowerSid = dto.getSalesOrderSid();
BusSalesOrderBorrowerDetailsVo borrowerVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(borrowerSid).getData();
LoanNoGuaranteeCreditReview entity = baseMapper.selectOneByBorrowerSid(borrowerSid); LoanNoGuaranteeCreditReview entity = baseMapper.selectOneByBorrowerSid(borrowerSid);
String result = ""; String result = "";
if (null != entity) { if (null != entity) {
@ -169,7 +173,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
LoanNoGuaranteeCreditReview creditReview = fetchBySid(sid); LoanNoGuaranteeCreditReview creditReview = fetchBySid(sid);
if (null != creditReview) { if (null != creditReview) {
//家访考察通过后修改车辆业务状态中的资方终审为1. //家访考察通过后修改车辆业务状态中的资方终审为1.
if (StringUtils.isNotBlank(creditReview.getHomeVisit())){ if (StringUtils.isNotBlank(creditReview.getHomeVisit())) {
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selectByBorrowerSid(borrowerSid).getData(); List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selectByBorrowerSid(borrowerSid).getData();
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) {
baseVehicleStateFeign.updateManageState(busSalesOrderVehicle.getSid()); baseVehicleStateFeign.updateManageState(busSalesOrderVehicle.getSid());
@ -188,6 +192,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
LoanOtherReceivablePush loanOtherReceivablePush = new LoanOtherReceivablePush(); LoanOtherReceivablePush loanOtherReceivablePush = new LoanOtherReceivablePush();
loanOtherReceivablePush.setBorrowerSid(creditReview.getBorrowerSid()); loanOtherReceivablePush.setBorrowerSid(creditReview.getBorrowerSid());
loanOtherReceivablePush.setSaleOrderSid(borrowerDetailsVo.getSalesOrderSid()); loanOtherReceivablePush.setSaleOrderSid(borrowerDetailsVo.getSalesOrderSid());
loanOtherReceivablePush.setTag("02");
String isKP = ""; String isKP = "";
if (StringUtils.isNotBlank(creditReview.getIsCompInvoic())) { if (StringUtils.isNotBlank(creditReview.getIsCompInvoic())) {
isKP = creditReview.getIsCompInvoic(); isKP = creditReview.getIsCompInvoic();
@ -229,7 +234,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
LoanNoGuaranteeCreditReview creditReview = fetchBySid(sid); LoanNoGuaranteeCreditReview creditReview = fetchBySid(sid);
if (null != creditReview) { if (null != creditReview) {
//家访考察通过后修改车辆业务状态中的资方终审为1. //家访考察通过后修改车辆业务状态中的资方终审为1.
if (StringUtils.isNotBlank(creditReview.getHomeVisit())){ if (StringUtils.isNotBlank(creditReview.getHomeVisit())) {
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selectByBorrowerSid(borrowerSid).getData(); List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selectByBorrowerSid(borrowerSid).getData();
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) {
baseVehicleStateFeign.updateManageState(busSalesOrderVehicle.getSid()); baseVehicleStateFeign.updateManageState(busSalesOrderVehicle.getSid());
@ -248,6 +253,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
LoanOtherReceivablePush loanOtherReceivablePush = new LoanOtherReceivablePush(); LoanOtherReceivablePush loanOtherReceivablePush = new LoanOtherReceivablePush();
loanOtherReceivablePush.setBorrowerSid(creditReview.getBorrowerSid()); loanOtherReceivablePush.setBorrowerSid(creditReview.getBorrowerSid());
loanOtherReceivablePush.setSaleOrderSid(borrowerDetailsVo.getSalesOrderSid()); loanOtherReceivablePush.setSaleOrderSid(borrowerDetailsVo.getSalesOrderSid());
loanOtherReceivablePush.setTag("02");
String isKP = ""; String isKP = "";
if (StringUtils.isNotBlank(creditReview.getIsCompInvoic())) { if (StringUtils.isNotBlank(creditReview.getIsCompInvoic())) {
isKP = creditReview.getIsCompInvoic(); isKP = creditReview.getIsCompInvoic();
@ -267,7 +273,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
} }
} }
if("未通过".equals(dto.getCreditReview()) || "未通过".equals(dto.getHomeVisit()) || "未通过".equals(dto.getLoanReview())){ if ("未通过".equals(dto.getCreditReview()) || "未通过".equals(dto.getHomeVisit()) || "未通过".equals(dto.getLoanReview())) {
//更新贷款人为作废 //更新贷款人为作废
baseMapper.updateByBorrow(borrowerSid); baseMapper.updateByBorrow(borrowerSid);
} }
@ -295,6 +301,7 @@ public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanN
isKP = "0"; isKP = "0";
} }
loanOtherReceivablePush.setIsCompInvoic(isKP); loanOtherReceivablePush.setIsCompInvoic(isKP);
loanOtherReceivablePush.setTag("02");
ResultBean pushOtherReceivable = busSalesOrderLoancontractFeign.pushOtherReceivable(loanOtherReceivablePush); ResultBean pushOtherReceivable = busSalesOrderLoancontractFeign.pushOtherReceivable(loanOtherReceivablePush);
} }
} else { } else {

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -769,6 +769,7 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if (baseManufacturerAllVo != null) { if (baseManufacturerAllVo != null) {
finPaymentrecordDto.setPayCode(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerCode());//供应商编码 finPaymentrecordDto.setPayCode(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerCode());//供应商编码
} }
finPaymentrecordDto.setBusRemarks(outsourcingApplicationDetailsVo.getRemarks());
finPaymentrecordFeign.save(finPaymentrecordDto); finPaymentrecordFeign.save(finPaymentrecordDto);
} }
} }

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/AppFinCollectionConfirmationFeign.java

@ -125,4 +125,8 @@ public interface AppFinCollectionConfirmationFeign {
@PostMapping("/submitRskCollectionConfirm") @PostMapping("/submitRskCollectionConfirm")
public ResultBean submitRskCollectionConfirm(@RequestBody ConfirmationRskDto dto); public ResultBean submitRskCollectionConfirm(@RequestBody ConfirmationRskDto dto);
@ApiOperation("手机端—款项确认申请详情")
@GetMapping("/getRskCollectionConfirmDetail")
public ResultBean<ConfirmationInitRskVo> getRskCollectionConfirmDetail(@SpringQueryMap CollectionConfirmationOrgPathQuery query);
} }

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/AppFinCollectionConfirmationFeignFallback.java

@ -131,4 +131,9 @@ public class AppFinCollectionConfirmationFeignFallback implements AppFinCollecti
public ResultBean submitRskCollectionConfirm(ConfirmationRskDto dto) { public ResultBean submitRskCollectionConfirm(ConfirmationRskDto dto) {
return null; return null;
} }
@Override
public ResultBean<ConfirmationInitRskVo> getRskCollectionConfirmDetail(CollectionConfirmationOrgPathQuery query) {
return null;
}
} }

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ConfirmationInitRskVo.java

@ -16,6 +16,9 @@ import java.util.List;
@Data @Data
public class ConfirmationInitRskVo implements Vo { public class ConfirmationInitRskVo implements Vo {
private String publishInfo;
private String reason;
private String cotlectionBitiStateValue;
@ApiModelProperty("款项确认sid") @ApiModelProperty("款项确认sid")
private String sid; private String sid;
@ -64,6 +67,9 @@ public class ConfirmationInitRskVo implements Vo {
@ApiModelProperty("款项明细") @ApiModelProperty("款项明细")
private List<UncollectedReceivablesDetailedRskVo> contractList = new ArrayList<>(); private List<UncollectedReceivablesDetailedRskVo> contractList = new ArrayList<>();
@ApiModelProperty("汇款确认")
private List<String> images = new ArrayList<>();
@ApiModelProperty("余额") @ApiModelProperty("余额")
private String balance; private String balance;

5
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/collectionConfirm/AppFinCollectionConfirmationRest.java

@ -181,4 +181,9 @@ public class AppFinCollectionConfirmationRest implements AppFinCollectionConfirm
public ResultBean submitRskCollectionConfirm(ConfirmationRskDto dto) { public ResultBean submitRskCollectionConfirm(ConfirmationRskDto dto) {
return appfinCollectionConfirmationService.submitRskCollectionConfirm(dto); return appfinCollectionConfirmationService.submitRskCollectionConfirm(dto);
} }
@Override
public ResultBean<ConfirmationInitRskVo> getRskCollectionConfirmDetail(CollectionConfirmationOrgPathQuery query) {
return appfinCollectionConfirmationService.getRskCollectionConfirmDetail(query);
}
} }

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/collectionConfirm/AppFinCollectionConfirmationService.java

@ -295,4 +295,18 @@ public class AppFinCollectionConfirmationService {
ResultBean resultBean = finCollectionConfirmationFeign.submitRskCollectionConfirm(appFinCollectionConfirmationDto); ResultBean resultBean = finCollectionConfirmationFeign.submitRskCollectionConfirm(appFinCollectionConfirmationDto);
return resultBean; return resultBean;
} }
public ResultBean<ConfirmationInitRskVo> getRskCollectionConfirmDetail(CollectionConfirmationOrgPathQuery query) {
ResultBean<ConfirmationInitRskVo> rb = ResultBean.fireFail();
ConfirmationInitRskVo vo = new ConfirmationInitRskVo();
AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery = new AppFinCollectionConfirmationOrgPathQuery();
BeanUtil.copyProperties(query, appFinCollectionConfirmationOrgPathQuery);
ResultBean<AppFinCollectionConfirmationInitRskVo> resultBean = finCollectionConfirmationFeign.getRskCollectionConfirmDetail(appFinCollectionConfirmationOrgPathQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
AppFinCollectionConfirmationInitRskVo data = resultBean.getData();
BeanUtil.copyProperties(data, vo);
return rb.success().setData(vo);
}
} }

86
doc/databases/报表中心.sql

@ -544,7 +544,7 @@ where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- ============================================== -- ==============================================
-- 欠款出库数量、欠款出库金额万元、金融未放款数量、金融未放款金额(万元) -- 欠款出库数量、欠款出库金额万元、金融未放款数量、金融未放款金额(万元)
-- 欠款出库数量--截止当日欠款出库申请通过且未回清款的台数
update daily_report r inner join ( update daily_report r inner join (
select count(bdad.id) as scount, ba.useOrgSid, bm.modelConfigSid as vehMConfigSid, bm.modelSid as vehModelSid select count(bdad.id) as scount, ba.useOrgSid, bm.modelConfigSid as vehMConfigSid, bm.modelSid as vehModelSid
from anrui_buscenter.bus_delivered_apply_details bdad from anrui_buscenter.bus_delivered_apply_details bdad
@ -552,9 +552,12 @@ update daily_report r inner join (
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = bdad.sid left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = bdad.sid
left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid
left join anrui_buscenter.bus_sales_order_model bm on bm.salesOrderSid = bo.sid left join anrui_buscenter.bus_sales_order_model bm on bm.salesOrderSid = bo.sid
left join anrui_fin.fin_uncollected_receivables_detailed fd on fd.busVinSid = bdad.busVinSid
left join anrui_fin.fin_selected_receivables_detailed fs on fs.receivablesSid = fd.sid
where ba.nodeState = '已办结' where ba.nodeState = '已办结'
and typeState = 1 and ba.typeState = 1
group by ba.useOrgSid, bm.modelSid, bm.modelConfigSid) s group by bdad.busVinSid, ba.useOrgSid, bm.modelSid, bm.modelConfigSid
having sum(fd.reveivableMoney) > ifnull(sum(fs.subscriptionMoney), 0)) s
on r.useOrgSid = s.useOrgSid on r.useOrgSid = s.useOrgSid
and r.vehModelSid = s.vehModelSid and r.vehModelSid = s.vehModelSid
and r.vehMConfigSid = s.vehMConfigSid and r.vehMConfigSid = s.vehMConfigSid
@ -562,6 +565,83 @@ set arrears_carry_veh_count = s.scount
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 欠款出库金融--截止当日欠款出库申请通过且未回清款的台数欠款总额
update daily_report r inner join (
select (sum(fd.reveivableMoney) - sum(fs.subscriptionMoney)) as scount,
ba.useOrgSid,
bm.modelConfigSid as vehMConfigSid,
bm.modelSid as vehModelSid
from anrui_buscenter.bus_delivered_apply_details bdad
left join anrui_buscenter.bus_delivered_apply ba on ba.sid = bdad.applySid
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = bdad.sid
left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid
left join anrui_buscenter.bus_sales_order_model bm on bm.salesOrderSid = bo.sid
left join anrui_base.base_vehicle_state bs on bs.busSid = bdad.busVinSid
left join anrui_fin.fin_uncollected_receivables_detailed fd on fd.busVinSid = bdad.busVinSid
left join anrui_fin.fin_selected_receivables_detailed fs on fs.receivablesSid = fd.sid
where ba.nodeState = '已办结'
and ba.typeState = 1
group by bdad.busVinSid, ba.useOrgSid, bm.modelSid, bm.modelConfigSid
having sum(fd.reveivableMoney) > ifnull(sum(fs.subscriptionMoney), 0)
) s
on r.useOrgSid = s.useOrgSid
and r.vehModelSid = s.vehModelSid
and r.vehMConfigSid = s.vehMConfigSid
set arrears_carry_veh_amount = s.scount
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 金融未放款数量--- 截止当日贷款业务已出库且融资放款未认款的台数
update daily_report r inner join (
select count(bv.id) as scount, bo.useOrgSid, bm.modelSid, bm.modelConfigSid, fd.reveivableMoney
from anrui_buscenter.bus_sales_order_vehicle bv
left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid
left join anrui_base.base_vehicle bbv on bbv.sid = bv.linkSid
left join anrui_buscenter.bus_sales_order_model bm on bm.salesOrderSid = bv.salesOrderSid
left join anrui_fin.fin_uncollected_receivables_detailed fd on fd.busVinSid = bv.sid
left join anrui_fin.fin_selected_receivables_detailed fs on fs.receivablesSid = fd.sid
where bo.payTypeKey = 2
and fd.receivablesName = '融资放款'
and bbv.vehicleState = '0002'
group by bv.sid, bo.useOrgSid, bm.modelSid, bm.modelConfigSid
having fd.reveivableMoney > ifnull(sum(fs.subscriptionMoney), 0)) as s on
r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.modelSid AND r.vehMConfigSid = s.modelConfigSid
SET r.`loan_not_count`=s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
;
-- 金融未放款金额-- 截止当日贷款业务已出库且融资放款未认款的台数融资放款金额之和
update daily_report r inner join (
select sum(fd.reveivableMoney) as scount, bo.useOrgSid, bm.modelSid, bm.modelConfigSid, fd.reveivableMoney
from anrui_buscenter.bus_sales_order_vehicle bv
left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid
left join anrui_base.base_vehicle bbv on bbv.sid = bv.linkSid
left join anrui_buscenter.bus_sales_order_model bm on bm.salesOrderSid = bv.salesOrderSid
left join anrui_fin.fin_uncollected_receivables_detailed fd on fd.busVinSid = bv.sid
left join anrui_fin.fin_selected_receivables_detailed fs on fs.receivablesSid = fd.sid
where bo.payTypeKey = 2
and fd.receivablesName = '融资放款'
and bbv.vehicleState = '0002'
group by bv.sid, bo.useOrgSid, bm.modelSid, bm.modelConfigSid
having fd.reveivableMoney > ifnull(sum(fs.subscriptionMoney), 0)) as s on
r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.modelSid AND r.vehMConfigSid = s.modelConfigSid
SET r.`loan_not_amount`=s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 全年厂家开票数
UPDATE daily_report r INNER JOIN (SELECT COUNT(id) AS scount, `useOrgSid`, `modelSid`, `modelConfigSid`
FROM anrui_base.`base_vehicle`
WHERE manDate like concat('%', DATE_FORMAT(CURDATE(), '%Y'), '%')
GROUP BY `useOrgSid`, `modelSid`, `modelConfigSid`) AS s ON
r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.modelSid AND r.vehMConfigSid = s.modelConfigSid
SET r.`manufacturer_invoicing_year`=s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();

Loading…
Cancel
Save