Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
0fa8952b34
  1. 41
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  2. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  3. 1
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  4. 21
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReport.java
  5. 2
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java
  6. 20
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java
  7. 2
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java
  8. 16
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml
  9. 133
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  10. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java
  11. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankVo.java
  12. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/ExcelFinVo.java
  13. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  14. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinVo.java
  15. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/AlrepaidAndArrVo.java
  16. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApply.java
  17. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeign.java
  18. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeignFallback.java
  19. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml
  20. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java
  21. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java
  22. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml
  23. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  24. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  25. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.java
  26. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml
  27. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyRest.java
  28. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java
  29. 107
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java
  30. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeign.java
  31. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java
  32. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java
  33. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java
  34. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java
  35. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java
  36. 87
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java
  37. 221
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java
  38. 53
      doc/databases/报表中心.sql

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

@ -1493,6 +1493,16 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
for (BaseVehicleZSOutDto zcDto : zcDtos) {
String price = zcDto.getPrice();
totalDealPrice = totalDealPrice.add(new BigDecimal(price));
//查询出库的车辆是否满足出库条件
int count = baseMapper.selectCountByVinSid(zcDto.getVinSid());
if (count > 0) {
return rb.setMsg(zcDto.getVinNo() + "车辆不满足出库条件");
}
//查询是否已出库
int counts = baseMapper.selectCountBySidVin(zcDto.getVinSid());
if (counts > 0) {
return rb.setMsg("该车辆已出库,不允许重复出库");
}
}
baseVehicleOutApply.setTotalDealPrice(totalDealPrice.toString());
//保存车辆出库单主表
@ -1527,6 +1537,16 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
for (BaseVehicleZSOutDto dto : zcDtos) {
String vinSid = dto.getVinSid();
BaseVehicle baseVehicle1 = baseVehicleService.fetchBySid(vinSid);
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
//String remarks = baseVehicleZSOutApplyDto.getContractNo() + baseVehicleZSOutApplyDto.getSaleTypeValue();
//baseVehicle1.setRemarks(remarks);
baseVehicle1.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode());
baseVehicle1.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseVehicle1.setSalesDate(new Date());
if (StringUtils.isNotBlank(dto.getPrice())) {
baseVehicle1.setSalePrice(Integer.valueOf(dto.getPrice()));
}
baseVehicleService.updateById(baseVehicle1);
//获取主车sid
List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
@ -1552,16 +1572,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
finKingDeeFeign.saveBdCustomers(bdCustomers);
}
}
//查询出库的车辆是否满足出库条件
int count = baseMapper.selectCountByVinSid(dto.getVinSid());
if (count > 0) {
return rb.setMsg(dto.getVinNo() + "车辆不满足出库条件");
}
//查询是否已出库
int counts = baseMapper.selectCountBySidVin(dto.getVinSid());
if (counts > 0) {
return rb.setMsg("该车辆已出库,不允许重复出库");
}
//查询主车对应的挂车或上装
List<BaseTrailerVo> baseTrailerVos = baseTrailerService.fetchAllByVehSid(dto.getVinSid());
if (baseTrailerVos.size() > 0) {
@ -1651,16 +1661,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
//baseVehicleOut.setBillNo(billNo);
//保存车辆出库单子表
baseMapper.insert(baseVehicleOut);
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
//String remarks = baseVehicleZSOutApplyDto.getContractNo() + baseVehicleZSOutApplyDto.getSaleTypeValue();
//baseVehicle1.setRemarks(remarks);
baseVehicle1.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode());
baseVehicle1.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseVehicle1.setSalesDate(new Date());
if (StringUtils.isNotBlank(dto.getPrice())) {
baseVehicle1.setSalePrice(Integer.valueOf(dto.getPrice()));
}
baseVehicleService.updateById(baseVehicle1);
if (!"001".equals(payTypeKey)) {//贷款
try {
String temporaryNumZc = String.format("%02d", j);

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

@ -69,7 +69,7 @@ public enum ProcDefEnum {
LOANOVERDUEFIN("逾期对账申请(财务)", "process_b0i03acl:1:7672504"),
LOANOVERDUEBANK("逾期对账申请(资方)", "process_wwb7q95x:1:7672508"),
LOANVEHCLEARANCEAPPLY("车辆远程解控申请", "process_zbzenr9b:2:7782504"),
LOANRESTOREREPORTAPPLY("车辆交回事前报备申请", ""),
LOANRESTOREREPORTAPPLY("车辆交回事前报备申请", "process_w796wtt7:1:7822504"),
/******************************测试流程id*********************************************/

1
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -372,6 +372,7 @@
left join sys_staff_post ssp on si.sid = ssp.staffSid
left join sys_post sp on sp.sid = ssp.postSid
<where>
1=1
<if test="userOrgSid != null and userOrgSid != ''">
and find_in_set(#{userOrgSid}
, replace(sso.orgSidPath

21
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReport.java

@ -113,31 +113,34 @@ public class DailyReport {
@ApiModelProperty("本日交付贷款")
private String deliver_loan_day;
private int deliver_loan_day;
@ApiModelProperty("本日交付全款")
private String deliver_full_day;
private int deliver_full_day;
@ApiModelProperty("本日交付小计")
private String deliver_subtotal_day;
private int deliver_subtotal_day;
@ApiModelProperty("本月交付贷款")
private String deliver_loan_month;
private int deliver_loan_month;
@ApiModelProperty("本月交付全款")
private String deliver_full_month;
private int deliver_full_month;
@ApiModelProperty("本月交付小计")
private String deliver_subtotal_month;
private int deliver_subtotal_month;
@ApiModelProperty("全年交付贷款")
private String deliver_loan_year;
private int deliver_loan_year;
@ApiModelProperty("全年交付全款")
private String deliver_full_year;
private int deliver_full_year;
@ApiModelProperty("全年交付小计")
private String deliver_subtotal_year;
private int deliver_subtotal_year;
@ApiModelProperty("前三个月销售台数之和")
private int saleAllToThree;
}

2
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportListVo.java

@ -33,4 +33,6 @@ public class DailyReportListVo {
private int buyout_day;
private String useOrgSid;
@ApiModelProperty("前三个月销售台数之和")
private String saleAllToThree;
}

20
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportVo.java

@ -116,31 +116,33 @@ public class DailyReportVo implements Vo {
private String remarks;
@ApiModelProperty("本日交付贷款")
private String deliver_loan_day;
private int deliver_loan_day;
@ApiModelProperty("本日交付全款")
private String deliver_full_day;
private int deliver_full_day;
@ApiModelProperty("本日交付小计")
private String deliver_subtotal_day;
private int deliver_subtotal_day;
@ApiModelProperty("本月交付贷款")
private String deliver_loan_month;
private int deliver_loan_month;
@ApiModelProperty("本月交付全款")
private String deliver_full_month;
private int deliver_full_month;
@ApiModelProperty("本月交付小计")
private String deliver_subtotal_month;
private int deliver_subtotal_month;
@ApiModelProperty("全年交付贷款")
private String deliver_loan_year;
private int deliver_loan_year;
@ApiModelProperty("全年交付全款")
private String deliver_full_year;
private int deliver_full_year;
@ApiModelProperty("全年交付小计")
private String deliver_subtotal_year;
private int deliver_subtotal_year;
@ApiModelProperty("前三个月的销售台数之和")
private int saleAllToThree;
//=========================================================车型配置相关参数
@ApiModelProperty("车身颜色")
private String carColor;

2
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java

@ -107,4 +107,6 @@ public class ReportVo implements Vo {
private int loan_not_count;
@ApiModelProperty("金融未放款-金额")
private String loan_not_amount;
@ApiModelProperty("前三个月销售台数之和")
private String saleAllToThree;
}

16
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml

@ -180,7 +180,8 @@
ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month,
ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year,
ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year,
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year,
ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree
,
bm.fuelTypeValue,
bm.emissionStandardValue
@ -210,6 +211,7 @@
sum(arrears_carry_veh_amount) as arrears_carry_veh_amount,
sum(loan_not_amount) as loan_not_amount,
sum(buyout_day) as buyout_day,
sum(saleAllToThree) as saleAllToThree,
useOrgSid
from daily_report
<where>
@ -270,7 +272,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
<where>
${ew.sqlSegment}
@ -327,7 +330,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
where createTime like concat('%', #{date}, '%')
group by busOrgSid
@ -401,7 +405,8 @@
ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count,
ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount,
ifnull(sum(loan_not_count), 0) as loan_not_count,
ifnull(sum(loan_not_amount), 0) as loan_not_amount
ifnull(sum(loan_not_amount), 0) as loan_not_amount,
ifnull(sum(saleAllToThree), 0) as saleAllToThree
from daily_report
where createTime like concat('%', #{date}, '%')
and busOrgSid = #{busOrgSid}
@ -532,7 +537,8 @@
ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month,
ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year,
ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year,
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year
ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year,
ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree
,
bm.fuelTypeValue,
bm.emissionStandardValue,

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

@ -333,7 +333,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -341,6 +341,31 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
String saleAllToThree = String.valueOf(v.getSaleAllToThree());
String stock_total = String.valueOf(v.getStock_total());
if (StringUtils.isBlank(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
if ("0".equals(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum();
String saleOfStockRatioString = "";
if (saleAllToThreeAll == 0) {
saleOfStockRatioString = stock_totalAll + ":1";
} else {
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -584,8 +609,16 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
if (!recordList.isEmpty()) {
for (int i = 0; i < recordList.size(); i++) {
DailyReportListVo dailyReportListVo = recordList.get(i);
// String ratio = dailyReportListVo.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(dailyReportListVo.getSaleOfStockRatio())) : (dailyReportListVo.getSaleOfStockRatio() + ":1");
String ratio = dailyReportListVo.getSaleOfStockRatio() + ":1";
String ratio = "";
if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) {
ratio = dailyReportListVo.getStock_subtotal() + ":1";
} else {
if ("0".equals(dailyReportListVo.getSaleAllToThree())) {
ratio = dailyReportListVo.getStock_subtotal() + ":1";
} else {
ratio = new BigDecimal(dailyReportListVo.getStock_subtotal()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
dailyReportListVo.setSaleOfStockRatio(ratio);
}
}
@ -601,7 +634,16 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
qw.like("createTime", date);
}
ReportVo reportVo = baseMapper.getReport(qw);
String ratio = reportVo.getSaleOfStockRatio() + ":1";
String ratio = "";
if (StringUtils.isBlank(reportVo.getSaleAllToThree())) {
ratio = reportVo.getStock_subtotal() + ":1";
} else {
if ("0".equals(reportVo.getSaleAllToThree())) {
ratio = reportVo.getStock_subtotal() + ":1";
} else {
ratio = new BigDecimal(reportVo.getStock_subtotal()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
reportVo.setSaleOfStockRatio(ratio);
return rb.success().setData(reportVo);
}
@ -631,7 +673,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -639,6 +681,31 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
String saleAllToThree = String.valueOf(v.getSaleAllToThree());
String stock_total = String.valueOf(v.getStock_total());
if (StringUtils.isBlank(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
if ("0".equals(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum();
String saleOfStockRatioString = "";
if (saleAllToThreeAll == 0) {
saleOfStockRatioString = stock_totalAll + ":1";
} else {
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -893,7 +960,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/*List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -901,6 +968,31 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
String saleAllToThree = String.valueOf(v.getSaleAllToThree());
String stock_total = String.valueOf(v.getStock_total());
if (StringUtils.isBlank(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
if ("0".equals(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum();
String saleOfStockRatioString = "";
if (saleAllToThreeAll == 0) {
saleOfStockRatioString = stock_totalAll + ":1";
} else {
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
@ -1181,7 +1273,7 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1");
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v ->
/* List<String> row4 = dailyReportVoList.stream().map(v ->
v.getSaleOfStockRatio() + ":1"
).collect(Collectors.toList());
BigDecimal row4All = dailyReportVoList.stream().map(v ->
@ -1189,7 +1281,33 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
String row4alll = row4All.toString() + ":1";
row4.add(row4alll);
dailyReportAppVo.setRow4(row4);*/
List<String> row4 = dailyReportVoList.stream().map(v -> {
String saleOfStockRatio = "";
String saleAllToThree = String.valueOf(v.getSaleAllToThree());
String stock_total = String.valueOf(v.getStock_total());
if (StringUtils.isBlank(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
if ("0".equals(saleAllToThree)) {
saleOfStockRatio = stock_total + ":1";
} else {
saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
}
return saleOfStockRatio;
}).collect(Collectors.toList());
int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum();
int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum();
String saleOfStockRatioString = "";
if (saleAllToThreeAll == 0) {
saleOfStockRatioString = stock_totalAll + ":1";
} else {
saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1";
}
row4.add(saleOfStockRatioString);
dailyReportAppVo.setRow4(row4);
//库存总计
List<String> row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList());
BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -1443,7 +1561,6 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
return columnName;
}
}).collect(Collectors.toList());
// columnNames.add("");
parameterVo.setRow(columnNames);
dynamicRows.add(parameterVo);
}

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java

@ -32,12 +32,12 @@ public interface LoanOverdueBankFeign {
@PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody LoanOverdueBankDto dto);
/* @ApiOperation("详情初始化")
@PostMapping("/details2")
ResultBean<LoanOverdueBankDetailVo> details(@RequestParam("sid") String sid);*/
@ApiOperation("详情初始化")
@PostMapping("/details")
ResultBean<LoanOverdueBankDetailVo> details(@RequestParam("sid") String sid);
@ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query);
@PostMapping("/downloadExcel")

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankVo.java

@ -30,4 +30,8 @@ public class LoanOverdueBankVo implements Vo {
private String stopDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("是否允许点击办理,true允许,false不允许")
private boolean allowModify;
private String createBySid;
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/ExcelFinVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/10
**/
@Data
public class ExcelFinVo {
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("财务累欠金额")
private String tiredDeficiency;
}

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java

@ -11,7 +11,9 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
@ -35,18 +37,22 @@ public interface LoanOverdueFinFeign {
@PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody LoanOverdueFinDto dto);
/* @ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueFinDetailVo> details(@RequestParam("sid") String sid);
*/
@ApiOperation("详情初始化")
@PostMapping("/details")
ResultBean<LoanOverdueFinDetailVo> details(@RequestParam("sid") String sid);
@ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
ResultBean<List<ExcelFinVo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request);
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinVo.java

@ -30,4 +30,8 @@ public class LoanOverdueFinVo implements Vo {
private String stopDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("是否允许点击办理,true允许,false不允许")
private boolean allowModify;
private String createBySid;
}

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/AlrepaidAndArrVo.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class AlrepaidAndArrVo implements Vo {
@ApiModelProperty("已还金额")
private String alRepaidMoney; // 已还金额
@ApiModelProperty("当前逾期金额")
private String currentBeMoney; // 当前逾期金额
@ApiModelProperty("其中资金占用费")
private String wheFundOccMoney; // 其中资金占用费
@ApiModelProperty("未到期金额")
private String unexpiredMoney; // 未到期金额
@ApiModelProperty("总期数")
private String nper; // 总期数
@ApiModelProperty("当前期数")
private String currentPeriod; // 当前期数
@ApiModelProperty("已还金额换算期数")
private String alRepaidMoneyConPeriod; // 已还金额换算期数
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApply.java

@ -95,7 +95,7 @@ public class LoanRestoreReportApply extends BaseEntity {
@ApiModelProperty("交回方式value")
private String restoreTypeValue; // 交回方式value
@ApiModelProperty("预交回日期")
private Date restoreDate; // 预交回日期
private String restoreDate; // 预交回日期
@ApiModelProperty("经办人sid")
private String operatorSid; // 经办人sid
@ApiModelProperty("经办人姓名")

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeign.java

@ -86,6 +86,11 @@ public interface LoanRestoreReportApplyFeign {
@ResponseBody
public ResultBean<LoanRestoreReportApplyDetailsVo> init(@RequestParam("saleVehSid") String saleVehSid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid);
@ApiOperation("获取已还欠款情况")
@GetMapping("/getAlrepaidAndArr")
@ResponseBody
public ResultBean<AlrepaidAndArrVo> getAlrepaidAndArr(@RequestParam("saleVehSid") String saleVehSid);
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitLoanRestoreReportDto dto);

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeignFallback.java

@ -76,6 +76,11 @@ public class LoanRestoreReportApplyFeignFallback implements LoanRestoreReportApp
return null;
}
@Override
public ResultBean<AlrepaidAndArrVo> getAlrepaidAndArr(String saleVehSid) {
return null;
}
@Override
public ResultBean submit(SubmitLoanRestoreReportDto dto) {
return null;

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml

@ -49,7 +49,8 @@
DATE_FORMAT(lob.createTime, '%Y-%m-%d') as createTime,
lob.closeDate,
lob.stopDate,
lob.remarks
lob.remarks,
lob.createBySid
from loan_overdue_bank lob
<where>
${ew.sqlSegment}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java

@ -47,10 +47,10 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign {
return loanOverdueBankService.saveOrUpdateBank(dto);
}
@Override
public ResultBean<LoanOverdueBankDetailVo> details(String sid) {
return loanOverdueBankService.details(sid);
}
// @Override
// public ResultBean<LoanOverdueBankDetailVo> details(String sid) {
// return loanOverdueBankService.details(sid);
// }
@Override
public ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query) {

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java

@ -26,6 +26,7 @@ import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNod
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.SubmitApplyBankDto;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinVo;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import com.yxt.anrui.riskcenter.biz.loanoverduebankdetails.LoanOverdueBankDetailsService;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -523,6 +524,17 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
qw.orderByDesc("lof.createTime");
IPage<LoanOverdueBank> page = PagerUtil.queryToPage(pq);
IPage<LoanOverdueBankVo> pagging = baseMapper.selectPageVo(page, qw);
List<LoanOverdueBankVo> paggingRecords = pagging.getRecords();
paggingRecords.removeAll(Collections.singleton(null));
if (!paggingRecords.isEmpty()) {
for (LoanOverdueBankVo record : pagging.getRecords()) {
if (query.getUserSid().equals(record.getCreateBySid())) {
record.setAllowModify(true);
} else {
record.setAllowModify(false);
}
}
}
PagerVo<LoanOverdueBankVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml

@ -10,7 +10,8 @@
DATE_FORMAT(lof.createTime, '%Y-%m-%d') as createTime,
lof.closeDate,
lof.stopDate,
lof.remarks
lof.remarks,
lof.createBySid
from loan_overdue_fin lof
<where>
${ew.sqlSegment}

15
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java

@ -16,7 +16,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
@ -50,10 +52,10 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
return loanOverdueFinService.saveOrUpdateOver(dto);
}
@Override
public ResultBean<LoanOverdueFinDetailVo> details(String sid) {
return loanOverdueFinService.details(sid);
}
// @Override
// public ResultBean<LoanOverdueFinDetailVo> details(String sid) {
// return loanOverdueFinService.details(sid);
// }
@Override
public ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query) {
@ -74,6 +76,11 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
ExportExcelUtils.export(fileNameURL, list, DownloadExcelVo.class, response);
}
@Override
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) {
return loanOverdueFinService.getExcelInfo(file,request);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueFinService.delAllBySids(sids);

19
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java

@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
@ -39,7 +41,9 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -137,6 +141,17 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
qw.orderByDesc("lof.createTime");
IPage<LoanOverdueFin> page = PagerUtil.queryToPage(pq);
IPage<LoanOverdueFinVo> pagging = baseMapper.selectPageVo(page, qw);
List<LoanOverdueFinVo> paggingRecords = pagging.getRecords();
paggingRecords.removeAll(Collections.singleton(null));
if (!paggingRecords.isEmpty()) {
for (LoanOverdueFinVo record : pagging.getRecords()) {
if (query.getUserSid().equals(record.getCreateBySid())) {
record.setAllowModify(true);
} else {
record.setAllowModify(false);
}
}
}
PagerVo<LoanOverdueFinVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -595,4 +610,8 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) {
return null;
}
}

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

@ -67,4 +67,6 @@ public interface LoanRestoreReportApplyMapper extends BaseMapper<LoanRestoreRepo
int updateFlowFiled(Map<String, Object> map);
String selectNum(String billNo);
String getYhje(String saleVehSid);
}

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

@ -6,13 +6,13 @@
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo">
SELECT * FROM loan_restore_report_apply <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo">
SELECT * FROM loan_restore_report_apply <where> ${ew.sqlSegment} </where>
</select>
<update id="updateFlowFiled">
UPDATE loan_be_collection_apply
UPDATE loan_restore_report_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}, modifyTime = NOW()
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
@ -33,4 +33,15 @@
order by billNo desc
limit 1
</select>
<select id="getYhje" resultType="java.lang.String">
SELECT
SUM(lrh.`actualMoney`)
FROM
loan_repayment_history lrh
LEFT JOIN loan_repayment_plan_details lrpd
ON lrh.`planDetailSid` = lrpd.`sid`
WHERE lrh.updateState = '1'
AND lrpd.`busVinSid` = #{saleVehSid}
</select>
</mapper>

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyRest.java

@ -28,6 +28,7 @@ package com.yxt.anrui.riskcenter.biz.loanrestorereportapply;
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.loanrestorereportapply.*;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -37,12 +38,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyQuery;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDto;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeign;
import java.util.List;
/**
@ -109,6 +104,13 @@ public class LoanRestoreReportApplyRest implements LoanRestoreReportApplyFeign {
return rb.success().setData(loanRestoreReportApplyDetailsVo);
}
@Override
public ResultBean<AlrepaidAndArrVo> getAlrepaidAndArr(String saleVehSid) {
ResultBean rb = ResultBean.fireFail();
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr(saleVehSid);
return rb.success().setData(alrepaidAndArrVo);
}
@Override
public ResultBean submit(SubmitLoanRestoreReportDto dto) {
return loanRestoreReportApplyService.submit(dto);

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java

@ -642,4 +642,30 @@ public class LoanRestoreReportApplyService extends MybatisBaseService<LoanRestor
flowFeign.delegate(delegateQuery);
return rb.success();
}
public AlrepaidAndArrVo getAlrepaidAndArr(String saleVehSid) {
AlrepaidAndArrVo alrepaidAndArrVo = new AlrepaidAndArrVo();
//已还金额
String yhje = getYhje(saleVehSid);
alrepaidAndArrVo.setAlRepaidMoney(yhje);
//当前逾期金额
//其中资金占用费
//未到期金额
//总期数
//当前期数
//已还金额换算期数
//逾期金额换算期数
return null;
}
private String getYhje(String saleVehSid) {
return baseMapper.getYhje(saleVehSid);
}
}

107
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java

@ -0,0 +1,107 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.risk.restorereport;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo <br/>
* Description: 车辆交回事前报备申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请 视图数据详情", description = "车辆交回事前报备申请 视图数据详情")
public class AppRestoreReportApplyDetailsVo implements Vo {
@ApiModelProperty("发起部门-发起人员")
private String publishInfo;
@ApiModelProperty("申请日期")
private String time;
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String carNum; // 车牌号
@ApiModelProperty("客户名称")
private String custName; // 客户名称
@ApiModelProperty("贷款人")
private String borrName; // 贷款人
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("已还金额")
private String alRepaidMoney; // 已还金额
@ApiModelProperty("当前逾期金额/其中资金占用费")
private String yqzjzyMoney; // 当前逾期金额
@ApiModelProperty("未到期金额")
private String unexpiredMoney; // 未到期金额
@ApiModelProperty("总期数/当前期数")
private String qsCount; // 总期数
@ApiModelProperty("已还金额换算期数")
private String alRepaidMoneyConPeriod; // 已还金额换算期数
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
@ApiModelProperty("交回方式value")
private String restoreTypeValue; // 交回方式value
@ApiModelProperty("预交回日期")
private String restoreDate; // 预交回日期
@ApiModelProperty("经办人姓名")
private String operatorName; // 经办人姓名
@ApiModelProperty("涉及相关费用")
private String involveCorrMoney; // 涉及相关费用
@ApiModelProperty("费用说明")
private String costRemarks; // 费用说明
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstSid; // 流程实例的sid
@ApiModelProperty("催收记录sid")
private String csjlSid;
@ApiModelProperty("金融方案")
private String jrfa;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("附件路径")
private List<String> files = new ArrayList<>();
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeign.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.risk.restorereport;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "车辆交回事前报备")
@FeignClient(
contextId = "terminal-RestoreReport",
name = "anrui-terminal",
path = "/riskcenter/v1/restoreReport",
fallback = RestoreReportFeignFallback.class)
public interface RestoreReportFeign {
@ApiOperation("详情")
@GetMapping("/restoreReportDetail/{sid}")
@ResponseBody
ResultBean<AppRestoreReportApplyDetailsVo> restoreReportDetail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteRestoreReportDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap RestoreReportFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppRestoreReportDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.restorereport;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.PolicyRecordApplyFeign;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.CompletePolicyDto;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2023/3/21 15:19
* @Description
*/
@Component
public class RestoreReportFeignFallback implements PolicyRecordApplyFeign {
@Override
public ResultBean<AppFinPolicyApplyInitVo> fetchDetailsBySid(String sid) {
return null;
}
@Override
public ResultBean agreePolicyApplyInfo(CompletePolicyDto dto) {
return null;
}
@Override
public ResultBean agreeCompanyToDivisionOperate(CompletePolicyDto dto) {
return null;
}
@Override
public ResultBean rejectPolicyApplyInfo(PolicyTaskQuery query) {
return null;
}
@Override
public ResultBean recallPolicyApplyInfo(PolicyTaskQuery query) {
return null;
}
@Override
public ResultBean stopPolicyApplyInfo(PolicyTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(PolicyFlowableQuery query) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.risk.restorereport.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppRestoreReportDelegateQuery {
@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;
}

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java

@ -0,0 +1,46 @@
package com.yxt.anrui.terminal.api.risk.restorereport.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:14
*/
@Data
public class AppRestoreReportTaskQuery implements Query {
/**
* 终止驳回撤回
*/
@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")
@JsonProperty("procInsId")
private String instanceId;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.restorereport.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:13
*/
@Data
public class CompleteRestoreReportDto implements Dto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.risk.restorereport.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class RestoreReportFlowableQuery implements Query {
private static final long serialVersionUID = -5879668616710833830L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

87
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java

@ -0,0 +1,87 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.risk.restorereport;
import com.yxt.anrui.terminal.api.risk.becollection.*;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.AppBeCollectionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionTaskQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.CompleteBeCollectionDto;
import com.yxt.anrui.terminal.api.risk.restorereport.AppRestoreReportApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.restorereport.RestoreReportFeign;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController("车辆交回事前报备")
@RequestMapping("riskcenter/v1/restoreReport")
public class RestoreReportRest implements RestoreReportFeign {
@Autowired
private RestoreReportService restoreReportService;
@Override
public ResultBean<AppRestoreReportApplyDetailsVo> restoreReportDetail(String sid) {
return restoreReportService.restoreReportDetail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteRestoreReportDto dto) {
return restoreReportService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppRestoreReportTaskQuery query) {
return restoreReportService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppRestoreReportTaskQuery query) {
return restoreReportService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppRestoreReportTaskQuery query) {
return restoreReportService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(RestoreReportFlowableQuery query) {
return restoreReportService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppRestoreReportDelegateQuery delegateQuery) {
return restoreReportService.delegate(delegateQuery);
}
}

221
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java

@ -0,0 +1,221 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.risk.restorereport;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.ReaRepaymentDto;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyFeign;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionFileVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDbrDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFeign;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFile;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehFegin;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehQuery;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehVo;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.ReaRepaymentVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyFeign;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereFile;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeign;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportFileVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.terminal.api.base.common.CarModelVo;
import com.yxt.anrui.terminal.api.risk.becollection.*;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.AppBeCollectionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionTaskQuery;
import com.yxt.anrui.terminal.api.risk.becollection.flowable.CompleteBeCollectionDto;
import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppFinanceForm;
import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppLoanHomeVisitVo;
import com.yxt.anrui.terminal.api.risk.restorereport.AppRestoreReportApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto;
import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery;
import com.yxt.anrui.terminal.biz.base.common.CommonService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class RestoreReportService {
@Autowired
private LoanRestoreReportApplyFeign loanRestoreReportApplyFeign;
@Autowired
private LoanBePadsincereApplyFeign loanBePadsincereApplyFeign;
@Autowired
private LoanBeOverdueVehFegin loanBeOverdueVehFegin;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private LoanBeCollectionRecordFeign loanBeCollectionRecordFeign;
@Autowired
private LoanBeCollectionVehFeign loanBeCollectionVehFeign;
@Autowired
private LoanRepaymentPlanDetailsFeign loanRepaymentPlanDetailsFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private CommonService commonService;
@Autowired
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
public ResultBean agreeCreditInfo(CompleteRestoreReportDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportCompleteDto loanRestoreReportCompleteDto = new LoanRestoreReportCompleteDto();
BeanUtil.copyProperties(dto, loanRestoreReportCompleteDto);
loanRestoreReportApplyFeign.complete(loanRestoreReportCompleteDto);
return rb.success();
}
public ResultBean rejectCreditInfo(AppRestoreReportTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRestoreReportApplyFeign.reject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppRestoreReportTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRestoreReportApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppRestoreReportTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRestoreReportApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(RestoreReportFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
LoanRestoreReportNodeQuery getNodeQuery = new LoanRestoreReportNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<LoanRestoreReportNodeVo>> previousNodesForReject = loanRestoreReportApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (previousNodesForReject.getSuccess()) {
previousNodesForReject.getData().removeAll(Collections.singleton(null));
data = previousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(previousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<LoanRestoreReportNodeVo>> nextNodesForSubmit = loanRestoreReportApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (nextNodesForSubmit.getSuccess()) {
nextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = nextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(nextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppRestoreReportDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportDelegateQuery delegateQuery1 = new
LoanRestoreReportDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
loanRestoreReportApplyFeign.delegate(delegateQuery1);
return rb.success();
}
public ResultBean<AppRestoreReportApplyDetailsVo> restoreReportDetail(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportApplyDetailsVo loanRestoreReportApplyDetailsVo = loanRestoreReportApplyFeign.fetchDetailsBySid(sid).getData();
AppRestoreReportApplyDetailsVo appRestoreReportApplyDetailsVo = new AppRestoreReportApplyDetailsVo();
BeanUtil.copyProperties(loanRestoreReportApplyDetailsVo,appRestoreReportApplyDetailsVo,"files");
appRestoreReportApplyDetailsVo.setPublishInfo(loanRestoreReportApplyDetailsVo.getDeptName() + "-" + loanRestoreReportApplyDetailsVo.getCreateByName());
appRestoreReportApplyDetailsVo.setTime(loanRestoreReportApplyDetailsVo.getCreateTime());
appRestoreReportApplyDetailsVo.setYqzjzyMoney(loanRestoreReportApplyDetailsVo.getCurrentBeMoney() + "/" + loanRestoreReportApplyDetailsVo.getWheFundOccMoney());
appRestoreReportApplyDetailsVo.setQsCount(loanRestoreReportApplyDetailsVo.getNper() + "/" + loanRestoreReportApplyDetailsVo.getCurrentPeriod());
List<LoanRestoreReportFileVo> files = loanRestoreReportApplyDetailsVo.getFiles();
List<String> appFiles = new ArrayList<>();
if (files != null && files.size() > 0){
for (LoanRestoreReportFileVo file : files) {
appFiles.add(file.getUrl());
}
}
appRestoreReportApplyDetailsVo.setFiles(appFiles);
return rb.success().setData(appRestoreReportApplyDetailsVo);
}
}

53
doc/databases/报表中心.sql

@ -251,7 +251,7 @@ SET saleOrder_subtotal_month=saleOrder_loan_month + saleOrder_full_month
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 销售订单-待交车累计
UPDATE daily_report r
/*UPDATE daily_report r
INNER JOIN (select count(bs.id) as scount, bo.useOrgSid, bm.modelSid, bm.modelConfigSid
from anrui_base.base_vehicle_state bs
left join anrui_buscenter.bus_sales_order bo on bo.sid = bs.saleOrderSid
@ -263,6 +263,18 @@ UPDATE daily_report r
AND r.vehModelSid = s.modelSid
AND r.vehMConfigSid = s.modelConfigSid
SET r.`saleOrder_waitVeh_total` = s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();*/
UPDATE daily_report r
INNER JOIN (select count(bv.id) as scount,bv.useOrgSid,bv.modelSid,bv.modelConfigSid,bo.contractNo from anrui_base.base_vehicle bv
left join anrui_buscenter.bus_sales_order_vehicle bov on bov.linkSid = bv.sid
left join anrui_buscenter.bus_sales_order bo on bo.sid = bov.salesOrderSid
where bo.nodeState = '已办结' and bv.vehicleState <> '0002'
group by bo.useOrgSid, bv.modelSid, bv.modelConfigSid
) AS s ON r.useOrgSid = s.useOrgSid
AND r.vehModelSid = s.modelSid
AND r.vehMConfigSid = s.modelConfigSid
SET r.`saleOrder_waitVeh_total` = s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 销售
@ -643,7 +655,8 @@ update daily_report r inner join (
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
)
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002')
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') and (bvo.materialTypeKey = '001' or bvo.materialTypeValue is null or
length(bvo.materialTypeValue) = 0)
group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss
where ss.useOrgSid = ddr.useOrgSid
and ss.modelSid = ddr.vehModelSid
@ -660,6 +673,42 @@ set saleOfStockRatio =if(ROUND(s.subtotal / 3, 2) = 0,
ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.subtotal / 3, 2), 2))
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 前三个月的销售台数之和
update daily_report r inner join (
select ddr.useOrgSid,
ddr.vehModelSid,
ddr.vehMConfigSid,
(select ifnull(sum(ss.scount), 0) as scount
from (select count(bv.id) as scount, bv.modelSid, bv.modelConfigSid, bv.useOrgSid
from anrui_base.base_vehicle bv
left join anrui_base.base_vehicle_out bvo on bv.sid = bvo.vinSid
left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid
where (DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m')
OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE
DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
)
and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') and (bvo.materialTypeKey = '001' or bvo.materialTypeValue is null or
length(bvo.materialTypeValue) = 0)
group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss
where ss.useOrgSid = ddr.useOrgSid
and ss.modelSid = ddr.vehModelSid
and ss.modelConfigSid = ddr.vehMConfigSid) as subtotal
from daily_report ddr
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE()
group by ddr.useOrgSid, ddr.vehModelSid, ddr.vehMConfigSid
) s
on r.useOrgSid = s.useOrgSid
and r.vehModelSid = s.vehModelSid
and r.vehMConfigSid = s.vehMConfigSid
set saleAllToThree =s.subtotal
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 库存小计
update daily_report

Loading…
Cancel
Save