Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 1 year ago
parent
commit
cfa70c8ddd
  1. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  2. 14
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerQuery.java
  3. 37
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerVo.java
  4. 15
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java
  5. 110
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java
  6. 10
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java
  7. 125
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml
  8. 12
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java
  9. 66
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  10. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  11. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java
  12. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java
  13. 58
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java
  14. 67
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java
  15. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java
  16. 42
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java
  17. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/SubmitTransferDto.java
  18. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferCompleteDto.java
  19. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferDelegateQuery.java
  20. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeQuery.java
  21. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeVo.java
  22. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferTaskQuery.java
  23. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  24. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.java
  25. 62
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml
  26. 75
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java
  27. 772
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  28. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java
  29. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml
  30. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java
  31. 17
      doc/databases/报表中心.sql

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -36,6 +36,7 @@ public enum BillTypeEnum {
JCZLQRD("JCZLQRD", "交车资料确认单"),
JCECQRD("JCECQRD", "交车资料二次确认单"),
HKSQ("HKSQ", "划扣申请单据编号"),
DSDFSQ("DSDFSQ", "代收代付申请单据编号"),
FKCEQRSQ("FKCEQRSQ", "放款差额确认申请");

14
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerQuery.java

@ -0,0 +1,14 @@
package com.yxt.anrui.reportcenter.api.dailyreport;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/7
**/
@Data
public class DailyReportAppPagerQuery implements Query {
private static final long serialVersionUID = 1122320253221250027L;
}

37
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.reportcenter.api.dailyreport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/7
**/
@Data
public class DailyReportAppPagerVo {
@ApiModelProperty("日期")
private String date;
//存销比
@ApiModelProperty("存销比")
private String saleOfStockRatio;
//库存小计
@ApiModelProperty("库存小计")
private int stock_subtotal;
@ApiModelProperty("排产小计")
private int pcOrder_subtotal;
@ApiModelProperty("本日销售订单")
private int saleOrder_subtotal_day;
@ApiModelProperty("本日销售")
private int sale_subtotal_day;
@ApiModelProperty("欠款出库金额")
private int arrears_carry_veh_amount;
@ApiModelProperty("金融未放款金额")
private int loan_not_amount;
@ApiModelProperty("本日买断")
private int buyout_day;
private String useOrgSid;
}

15
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java

@ -33,12 +33,13 @@ public interface DailyReportFeign {
/**
* 获取动态列
*
* @param useOrgSid
* @return
*/
@GetMapping("selectListByUseOrgSid")
@ResponseBody
ResultBean<List<DailyParameterVo>> selectListByUseOrgSid(@RequestParam("useOrgSid")String useOrgSid);
ResultBean<List<DailyParameterVo>> selectListByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid);
/**
* 按照生成日期
@ -73,9 +74,19 @@ public interface DailyReportFeign {
@ResponseBody
ResultBean<PagerVo<DailyReportListVo>> listPage_1(@RequestBody PagerQuery<DailyReportQuery> pagerQuery);
@ApiOperation("移动端事业部")
@ApiOperation("移动端事业部日报表")
@PostMapping("list1")
@ResponseBody
ResultBean<DailyReportAppVo> list1(@RequestBody ListQuery query);
@ApiOperation("移动端集团列表")
@PostMapping("pageList1")
@ResponseBody
ResultBean<PagerVo<DailyReportAppPagerVo>> pageList1(@RequestBody PagerQuery<DailyReportAppPagerQuery> pagerQuery);
@ApiOperation("集团日期初始化")
@GetMapping("getReport")
@ResponseBody
ResultBean<ReportVo> getReport(@RequestParam("date")String date);
}

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

@ -0,0 +1,110 @@
package com.yxt.anrui.reportcenter.api.dailyreport;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/12/7
**/
@Data
public class ReportVo implements Vo {
private static final long serialVersionUID = 7906138153156271043L;
@ApiModelProperty("存销比")
private String saleOfStockRatio;
@ApiModelProperty("库存总计")
private int stock_total;
@ApiModelProperty("库存未定")
private int stock_unreserve;
@ApiModelProperty("库存已定")
private int stock_reserve;
@ApiModelProperty("库存小计")
private int stock_subtotal;
@ApiModelProperty("库存-买断未定")
private int stock_buyout_unreserve;
@ApiModelProperty("库存-买断已定")
private int stock_buyout_reserve;
@ApiModelProperty("库存-买断小计")
private int stock_buyout_subtotal;
@ApiModelProperty("排产-未定")
private int pcOrder_unreserve;
@ApiModelProperty("排产-已定")
private int pcOrder_reserve;
@ApiModelProperty("排产-小计")
private int pcOrder_subtotal;
@ApiModelProperty("简易订单-本日")
private int simpleOrder_day;
@ApiModelProperty("简易订单-本月")
private int simpleOrder_month;
@ApiModelProperty("销售订单-全款-本日")
private int saleOrder_full_day;
@ApiModelProperty("销售订单-贷款-本日")
private int saleOrder_loan_day;
@ApiModelProperty("销售订单-小计-本日")
private int saleOrder_subtotal_day;
@ApiModelProperty("销售订单-全款-本月")
private int saleOrder_full_month;
@ApiModelProperty("销售订单-贷款-本月")
private int saleOrder_loan_month;
@ApiModelProperty("销售订单-小计-本月")
private int saleOrder_subtotal_month;
@ApiModelProperty("销售订单-待交车累计")
private int saleOrder_waitVeh_total;
@ApiModelProperty("销售-全款-本日")
private int sale_full_day;
@ApiModelProperty("销售-贷款-本日")
private int sale_loan_day;
@ApiModelProperty("销售-小计-本日")
private int sale_subtotal_day;
@ApiModelProperty("销售-全款-本月")
private int sale_full_month;
@ApiModelProperty("销售-贷款-本月")
private int sale_loan_month;
@ApiModelProperty("销售-小计-本月")
private int sale_subtotal_month;
@ApiModelProperty("销售-全款-本年")
private int sale_full_year;
@ApiModelProperty("销售-贷款-本年")
private int sale_loan_year;
@ApiModelProperty("销售-小计-本年")
private int sale_subtotal_year;
@ApiModelProperty("本日交付贷款")
private String deliver_loan_day;
@ApiModelProperty("本日交付全款")
private String deliver_full_day;
@ApiModelProperty("本日交付小计")
private String deliver_subtotal_day;
@ApiModelProperty("本月交付贷款")
private String deliver_loan_month;
@ApiModelProperty("本月交付全款")
private String deliver_full_month;
@ApiModelProperty("本月交付小计")
private String deliver_subtotal_month;
@ApiModelProperty("全年交付贷款")
private String deliver_loan_year;
@ApiModelProperty("全年交付全款")
private String deliver_full_year;
@ApiModelProperty("全年交付小计")
private String deliver_subtotal_year;
@ApiModelProperty("厂家开票数-全年")
private int manufacturer_invoicing_year;
@ApiModelProperty("买断-本日")
private int buyout_day;
@ApiModelProperty("买断-本月")
private int buyout_month;
@ApiModelProperty("买断-本年")
private int buyout_year;
@ApiModelProperty("欠款出库-数量")
private int arrears_carry_veh_count;
@ApiModelProperty("欠款出库-金额")
private String arrears_carry_veh_amount;
@ApiModelProperty("金融未放款-数量")
private int loan_not_count;
@ApiModelProperty("金融未放款-金额")
private String loan_not_amount;
}

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

@ -21,7 +21,7 @@ import java.util.List;
public interface DailyReportMapper extends BaseMapper<DailyReport> {
IPage<DailyReportVo> listPage(IPage<DailyReport> page, @Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
IPage<DailyReportVo> listPage3(IPage<DailyReport> page, @Param(Constants.WRAPPER)QueryWrapper<DailyReport> qw);
IPage<DailyReportVo> listPage3(IPage<DailyReport> page, @Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
List<DailyParameterVo> selectByParameters(String useOrgSid);
@ -29,7 +29,7 @@ public interface DailyReportMapper extends BaseMapper<DailyReport> {
BaseModelConfig selectConfig(String configSid);
IPage<DailyReportListVo> listPage3_1(IPage<DailyReport> page, @Param(Constants.WRAPPER)QueryWrapper<DailyReport> qw);
IPage<DailyReportListVo> listPage3_1(IPage<DailyReport> page, @Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
String select(@Param("useOrgSid") String useOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime);
@ -39,7 +39,11 @@ public interface DailyReportMapper extends BaseMapper<DailyReport> {
String select3(@Param("busOrgSid") String busOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime);
List<BrandVo> selectByBrand(@Param("sybOrgSid") String sybOrgSid,@Param("queryTime")String queryTime);
List<BrandVo> selectByBrand(@Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime);
List<DailyReportVo> selectReport(@Param("join") List<String> brandList, @Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime);
IPage<DailyReportListVo> pageList1(IPage<DailyReport> page, @Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
ReportVo getReport(@Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
}

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

@ -119,7 +119,56 @@
</select>
<select id="selectReport" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportVo">
select dr.*,bm.fuelTypeValue,bm.emissionStandardValue
select ifnull(dr.saleOfStockRatio, 0) as saleOfStockRatio,
ifnull(dr.stock_total, 0) as stock_total,
ifnull(dr.stock_unreserve, 0) as stock_unreserve,
ifnull(dr.stock_reserve, 0) as stock_reserve,
ifnull(dr.stock_subtotal, 0) as stock_subtotal,
ifnull(dr.stock_buyout_unreserve, 0) as stock_buyout_unreserve,
ifnull(dr.stock_buyout_reserve, 0) as stock_buyout_reserve,
ifnull(dr.stock_buyout_subtotal, 0) as stock_buyout_subtotal,
ifnull(dr.pcOrder_unreserve, 0) as pcOrder_unreserve,
ifnull(dr.pcOrder_reserve, 0) as pcOrder_reserve,
ifnull(dr.pcOrder_subtotal, 0) as pcOrder_subtotal,
ifnull(dr.simpleOrder_day, 0) as simpleOrder_day,
ifnull(dr.simpleOrder_month, 0) as simpleOrder_month,
ifnull(dr.saleOrder_full_day, 0) as saleOrder_full_day,
ifnull(dr.saleOrder_loan_day, 0) as saleOrder_loan_day,
ifnull(dr.saleOrder_subtotal_day, 0) as saleOrder_subtotal_day,
ifnull(dr.saleOrder_full_month, 0) as saleOrder_full_month,
ifnull(dr.saleOrder_loan_month, 0) as saleOrder_loan_month,
ifnull(dr.saleOrder_subtotal_month, 0) as saleOrder_subtotal_month,
ifnull(dr.saleOrder_waitVeh_total, 0) as saleOrder_waitVeh_total,
ifnull(dr.sale_full_day, 0) as sale_full_day,
ifnull(dr.sale_loan_day, 0) as sale_loan_day,
ifnull(dr.sale_subtotal_day, 0) as sale_subtotal_day,
ifnull(dr.sale_full_month, 0) as sale_full_month,
ifnull(dr.sale_loan_month, 0) as sale_loan_month,
ifnull(dr.sale_subtotal_month, 0) as sale_subtotal_month,
ifnull(dr.sale_full_year, 0) as sale_full_year,
ifnull(dr.sale_loan_year, 0) as sale_loan_year,
ifnull(dr.sale_subtotal_year, 0) as sale_subtotal_year,
ifnull(dr.manufacturer_invoicing_year, 0) as manufacturer_invoicing_year,
ifnull(dr.buyout_day, 0) as buyout_day,
ifnull(dr.buyout_month, 0) as buyout_month,
ifnull(dr.buyout_year, 0) as buyout_year,
ifnull(dr.arrears_carry_veh_count, 0) as arrears_carry_veh_count,
ifnull(dr.arrears_carry_veh_amount, 0) as arrears_carry_veh_amount,
ifnull(dr.loan_not_count, 0) as loan_not_count,
ifnull(dr.loan_not_amount, 0) as deliver_loan_day,
dr.remarks,
ifnull(dr.deliver_loan_day, 0) as deliver_loan_day,
ifnull(dr.deliver_full_day, 0) as deliver_full_day,
ifnull(dr.deliver_subtotal_day, 0) as deliver_subtotal_day,
ifnull(dr.deliver_loan_month, 0) as deliver_loan_month,
ifnull(dr.deliver_full_month, 0) as deliver_full_month,
ifnull(dr.deliver_subtotal_month, 0) as deliver_subtotal_month,
ifnull(dr.deliver_loan_year, 0) as deliver_loan_year,
ifnull(dr.deliver_full_year, 0) as deliver_full_year,
ifnull(dr.deliver_subtotal_year, 0) as deliver_subtotal_year
,
bm.fuelTypeValue,
bm.emissionStandardValue
from daily_report dr
left join anrui_base.base_vehicle_model bm on bm.sid = dr.vehModelSid
left join anrui_base.base_model_config bmc on bmc.sid = dr.vehMConfigSid
@ -132,4 +181,78 @@
<!-- group by dr.busOrgSid, dr.brandSid, dr.vehModelSid, dr.vehMConfigSid-->
order by dr.brandSid desc
</select>
<select id="pageList1" resultType="com.yxt.anrui.reportcenter.api.dailyreport.DailyReportListVo">
select DATE_FORMAT(createTime, '%Y-%m-%d') as date,
sum(saleOfStockRatio) as saleOfStockRatio,
sum(stock_subtotal) as stock_subtotal,
sum(pcOrder_subtotal) as pcOrder_subtotal,
sum(saleOrder_subtotal_day) as saleOrder_subtotal_day,
sum(sale_subtotal_day) as sale_subtotal_day,
sum(arrears_carry_veh_amount) as arrears_carry_veh_amount,
sum(loan_not_amount) as loan_not_amount,
sum(buyout_day) as buyout_day,
useOrgSid
from daily_report
<where>
${ew.sqlSegment}
</where>
group by DATE_FORMAT(createTime, '%Y-%m-%d')
order by DATE_FORMAT(createTime, '%Y-%m-%d') desc
</select>
<select id="getReport" resultType="com.yxt.anrui.reportcenter.api.dailyreport.ReportVo">
select DATE_FORMAT(createTime, '%Y-%m-%d') as date,
ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio,
ifnull(sum(stock_subtotal), 0) as stock_subtotal,
ifnull(sum(stock_unreserve), 0) as stock_unreserve,
ifnull(sum(stock_reserve), 0) as stock_reserve,
ifnull(sum(stock_buyout_unreserve), 0) as stock_buyout_unreserve,
ifnull(sum(stock_buyout_reserve), 0) as stock_buyout_reserve,
ifnull(sum(stock_buyout_subtotal), 0) as stock_buyout_subtotal,
ifnull(sum(pcOrder_unreserve), 0) as pcOrder_unreserve,
ifnull(sum(pcOrder_reserve), 0) as pcOrder_reserve,
ifnull(sum(pcOrder_subtotal), 0) as pcOrder_subtotal,
ifnull(sum(simpleOrder_day), 0) as simpleOrder_day,
ifnull(sum(simpleOrder_month), 0) as simpleOrder_month,
ifnull(sum(saleOrder_full_day), 0) as saleOrder_full_day,
ifnull(sum(saleOrder_loan_day), 0) as saleOrder_loan_day,
ifnull(sum(saleOrder_subtotal_day), 0) as saleOrder_subtotal_day,
ifnull(sum(saleOrder_full_month), 0) as saleOrder_full_month,
ifnull(sum(saleOrder_loan_month), 0) as saleOrder_loan_month,
ifnull(sum(saleOrder_subtotal_month), 0) as saleOrder_subtotal_month,
ifnull(sum(saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total,
ifnull(sum(sale_full_day), 0) as sale_full_day,
ifnull(sum(sale_loan_day), 0) as sale_loan_day,
ifnull(sum(sale_subtotal_day), 0) as sale_subtotal_day,
ifnull(sum(sale_full_month), 0) as sale_full_month,
ifnull(sum(sale_loan_month), 0) as sale_loan_month,
ifnull(sum(sale_subtotal_month), 0) as sale_subtotal_month,
ifnull(sum(sale_full_year), 0) as sale_full_year,
ifnull(sum(sale_loan_year), 0) as sale_loan_year,
ifnull(sum(sale_subtotal_year), 0) as sale_subtotal_year,
ifnull(sum(deliver_loan_day), 0) as deliver_loan_day,
ifnull(sum(deliver_full_day), 0) as deliver_full_day,
ifnull(sum(deliver_subtotal_day), 0) as deliver_subtotal_day,
ifnull(sum(deliver_loan_month), 0) as deliver_loan_month,
ifnull(sum(deliver_full_month), 0) as deliver_full_month,
ifnull(sum(deliver_subtotal_month), 0) as deliver_subtotal_month,
ifnull(sum(deliver_loan_year), 0) as deliver_loan_year,
ifnull(sum(deliver_full_year), 0) as deliver_full_year,
ifnull(sum(deliver_subtotal_year), 0) as deliver_subtotal_year,
ifnull(sum(manufacturer_invoicing_year), 0) as manufacturer_invoicing_year,
ifnull(sum(buyout_day), 0) as buyout_day,
ifnull(sum(buyout_month), 0) as buyout_month,
ifnull(sum(buyout_year), 0) as buyout_year,
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
from daily_report
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

12
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java

@ -75,4 +75,16 @@ public class DailyReportRest implements DailyReportFeign {
public ResultBean<DailyReportAppVo> list1(ListQuery query) {
return dailyReportService.list1(query);
}
@Override
public ResultBean<PagerVo<DailyReportAppPagerVo>> pageList1(PagerQuery<DailyReportAppPagerQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerVo<DailyReportAppPagerVo> pv = dailyReportService.pageList1(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean<ReportVo> getReport(String date) {
return dailyReportService.getReport(date);
}
}

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

@ -309,7 +309,10 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
String sybOrgSid = "";
if (StringUtils.isNotBlank(query.getOrgPath())) {
List<String> stringList = Arrays.asList(query.getOrgPath().split("/"));
sybOrgSid = query.getOrgPath().substring(37, 73);
if(stringList.size()>=2){
sybOrgSid = query.getOrgPath().substring(37, 73);
}
}
if (StringUtils.isNotBlank(sybOrgSid)) {
List<BrandVo> rows1 = baseMapper.selectByBrand(sybOrgSid, query.getQueryTime());
@ -324,56 +327,95 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
List<String> row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList());
dailyReportAppVo.setRow3(row3);
//存销比
List<String> row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList());
//合计
BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row4.add(row4All.toString());
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);
row5.add(row5All.toString());
dailyReportAppVo.setRow5(row5);
//库存未定
List<String> row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList());
BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row6.add(row6All.toString());
dailyReportAppVo.setRow6(row6);
//库存-已定
List<String> row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList());
BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row7.add(row7All.toString());
dailyReportAppVo.setRow7(row7);
//库存-小计
List<String> row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList());
BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row8.add(row8All.toString());
dailyReportAppVo.setRow8(row8);
//其中买断-未定
List<String> row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList());
BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row9.add(row9All.toString());
dailyReportAppVo.setRow9(row9);
//其中买断-已定
List<String> row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList());
BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row10.add(row10All.toString());
dailyReportAppVo.setRow10(row10);
//其中买断-小计
List<String> row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList());
BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row11.add(row11All.toString());
dailyReportAppVo.setRow11(row11);
//排产-未定
List<String> row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList());
BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row12.add(row12All.toString());
dailyReportAppVo.setRow12(row12);
//排产-已定
List<String> row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList());
BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row13.add(row13All.toString());
dailyReportAppVo.setRow13(row13);
//排产-小计
List<String> row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList());
BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row14.add(row14All.toString());
dailyReportAppVo.setRow14(row14);
//订车-简易订单-本日
List<String> row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList());
BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row15.add(row15All.toString());
dailyReportAppVo.setRow15(row15);
//订车-简易订单-本月
List<String> row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList());
BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row16.add(row16All.toString());
dailyReportAppVo.setRow16(row16);
//订车-本日销售订单-贷款
List<String> row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList());
BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row17.add(row17All.toString());
dailyReportAppVo.setRow17(row17);
//订车-本日销售订单-全款
List<String> row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList());
BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row18.add(row18All.toString());
dailyReportAppVo.setRow18(row18);
//订车-本日销售订单-小计
List<String> row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList());
BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row19.add(row19All.toString());
dailyReportAppVo.setRow19(row19);
//订车-本月销售订单-贷款
List<String> row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList());
BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row20.add(row20All.toString());
dailyReportAppVo.setRow20(row20);
//订车-本月销售订单-全款
List<String> row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList());
BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
row21.add(row21All.toString());
dailyReportAppVo.setRow21(row21);
//订车-本月销售订单-小计
List<String> row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList());
@ -449,4 +491,26 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
return rb.success().setData(dailyReportAppVo);
}
public PagerVo<DailyReportAppPagerVo> pageList1(PagerQuery<DailyReportAppPagerQuery> pagerQuery) {
DailyReportAppPagerQuery query = pagerQuery.getParams();
QueryWrapper<DailyReport> qw = new QueryWrapper<>();
if (query != null) {
}
IPage<DailyReport> page = PagerUtil.queryToPage(pagerQuery);
IPage<DailyReportListVo> pagging = baseMapper.pageList1(page, qw);
PagerVo<DailyReportAppPagerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<ReportVo> getReport(String date) {
ResultBean<ReportVo> rb = ResultBean.fireFail();
QueryWrapper<DailyReport> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(date)) {
qw.like("createTime", date);
}
ReportVo reportVo = baseMapper.getReport(qw);
return rb.success().setData(reportVo);
}
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java

@ -22,6 +22,7 @@ public enum LoanFileEnum {
OTHER_INFO("013", "欠款客户备案其他资料"),
BUCKLE_APPLY("014", "划扣申请附件"),
BEPADSINCERE("015", "逾期垫款附件"),
TRANSFERPAYMENT("016", "代收代付附件"),
;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java

@ -22,7 +22,6 @@ public class TransferPaymentQuery implements Query {
private String accountTypeKey; //转付账户类型key
private String prepareStartDate; //预转付开始日期
private String prepareEndDate; //预转付结束日期
private String overdueState; //转付状态
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
@ -32,4 +31,5 @@ public class TransferPaymentQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
private String type; //0待转付 1已转付
private String period;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java

@ -15,6 +15,7 @@ public class TransferPaymentVo implements Vo {
private String vinNo; //车架号
private String loanContractNo; //贷款合同号
private String bankName; //资方
private String customer;
private String bankContractNo; //资方合同号
private String borrowerName; //贷款人
private String period; //期数
@ -23,6 +24,7 @@ public class TransferPaymentVo implements Vo {
private String actualDate; //实还日期
private String actualMoney; //实还金额
private String prepareDate; //预转付日期
private String transferDate; //实际付日期
private String spread; //息差
private String transferPrincipal; //转付本金
private String defaultInterest; //转付罚息

58
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java

@ -1,7 +1,7 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -29,11 +29,67 @@ import java.util.List;
fallback = LoanTransferPaymentApplyFeignFallback.class)
public interface LoanTransferPaymentApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanTransferPaymentApplyVo>> listPage(@RequestBody PagerQuery<LoanTransferPaymentApplyQuery> pq);
@ApiOperation("新增初始化")
@PostMapping("/paymentInit")
@ResponseBody
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(@RequestBody String[] sids);
@ApiOperation("保存修改")
@PostMapping("/saveTransferPayment")
@ResponseBody
public ResultBean<String> saveTransferPayment(@RequestBody LoanTransferPaymentApplyDto dto);
@ApiOperation("详情查看")
@GetMapping("/paymentDetails")
@ResponseBody
public ResultBean<LoanTransferPaymentApplyInit> paymentDetails(@RequestParam("sid") String sid);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody
public ResultBean deleteBySids(@RequestBody String[] sids);
//---------------------------流程---------------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitTransferDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody TransferCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody TransferTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody TransferTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody TransferTaskQuery query);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<TransferGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap TransferGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<TransferGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap TransferGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody TransferDelegateQuery query);
}

67
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -14,8 +15,74 @@ import java.util.List;
@Component
public class LoanTransferPaymentApplyFeignFallback implements LoanTransferPaymentApplyFeign {
@Override
public ResultBean<PagerVo<LoanTransferPaymentApplyVo>> listPage(PagerQuery<LoanTransferPaymentApplyQuery> pq) {
return null;
}
@Override
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) {
return null;
}
@Override
public ResultBean<String> saveTransferPayment(LoanTransferPaymentApplyDto dto) {
return null;
}
@Override
public ResultBean<LoanTransferPaymentApplyInit> paymentDetails(String sid) {
return null;
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitTransferDto dto) {
return null;
}
@Override
public ResultBean complete(TransferCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(TransferTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(TransferTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(TransferTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<TransferGetNodeVo>> getNextNodesForSubmit(TransferGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<TransferGetNodeVo>> getPreviousNodesForReject(TransferGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(TransferDelegateQuery query) {
return null;
}
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java

@ -33,4 +33,5 @@ public class LoanTransferPaymentApplyVo implements Vo {
private String remarks; // 备注
}

42
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java

@ -1,7 +1,10 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Fan
* @description
@ -9,5 +12,44 @@ import lombok.Data;
*/
@Data
public class LoanTransferPaymentRecordVo {
private String recordSid;
private String loanContractNo;
@ApiModelProperty("资方名称")
private String bankName;
@ApiModelProperty("资方合同")
private String bankContractNo;
@ApiModelProperty("客户")
private String customer;
@ApiModelProperty("借款人名称")
private String borrowerName;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("实还日期")
private String actualDate;
@ApiModelProperty("实还金额")
private String actualMoney;
@ApiModelProperty("息差")
private String spread;
@ApiModelProperty("转付本金")
private String transferPrincipal;
@ApiModelProperty("转付罚息")
private String defaultInterest;
@ApiModelProperty("转付账户类型")
private String accountType;
@ApiModelProperty("转付账户类型key")
private String accountTypeKey;
@ApiModelProperty("转付账户")
private String account;
@ApiModelProperty("转付账户账号")
private String accountNumber;
private String vinNo;
// @ApiModelProperty("还款方式")
// private String returnWay;
// @ApiModelProperty("应还日期")
// private String dueDate;
// @ApiModelProperty("应还金额")
// private String dueMoney;
// @ApiModelProperty("本期未还金额")
// private String outstandingMoney;
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/SubmitTransferDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyDto;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitTransferDto extends LoanTransferPaymentApplyDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class TransferCompleteDto implements Dto {
private static final long serialVersionUID = 3240453987322803352L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class TransferDelegateQuery {
@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;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 10:42
* @Description
*/
@Data
public class TransferGetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeVo.java

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

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/6/28 17:29
* @Description 终止撤回驳回查询参数
*/
@Data
public class TransferTaskQuery implements Query {
private static final long serialVersionUID = -4006020771892400451L;
/**
* 终止驳回撤回
*/
@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")
private String instanceId;
/*@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -835,6 +835,9 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("p.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getPeriod())) {
qw.eq("p.period", pagerQuery.getPeriod());
}
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("p.bankName", pagerQuery.getBankName());
}

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.java

@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApply;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -17,4 +19,11 @@ import java.util.Map;
public interface LoanTransferPaymentApplyMapper extends BaseMapper<LoanTransferPaymentApply> {
LoanTransferPaymentRecordVo paymentInfo(String sid);
int selectNum(String bill);
IPage<LoanTransferPaymentApplyVo> listPage(IPage<LoanTransferPaymentApply> page,@Param(Constants.WRAPPER) QueryWrapper<LoanTransferPaymentApply> qw);
int updateFlowFiled(Map<String, Object> map);
}

62
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml

@ -2,4 +2,66 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loantransferpaymentapply.LoanTransferPaymentApplyMapper">
<select id="paymentInfo"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentRecordVo">
SELECT h.sid as recordSid,
p.loanContractNo,
p.vinNo,
p.bankContractNo,
p.bankName,
p.customer,
p.period,
p.borrowerName,
date_format(h.actualDate, '%Y-%m-%d') AS actualDate,
h.actualMoney,
r.spread,
r.transferPrincipal,
r.defaultInterest,
r.accountType,
r.accountTypeKey,
r.account,
r.accountNumber
FROM loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid
where h.sid = #{sid}
</select>
<select id="selectNum" resultType="java.lang.Integer">
select IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) as code
from loan_transfer_payment_apply
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="listPage"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyVo">
SELECT
sid,
nodeState,
useOrgName as company,
dept,
applyName,
date_format(applyDate, '%Y-%m-%d') as applyDate,
remarks,
billNo,
procDefId,
procInstId
FROM loan_transfer_payment_apply
<where>
${ew.sqlSegment}
</where>
</select>
<update id="updateFlowFiled">
UPDATE loan_transfer_payment_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

75
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java

@ -6,8 +6,8 @@ import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyInit;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -27,8 +27,79 @@ public class LoanTransferPaymentApplyRest implements LoanTransferPaymentApplyFei
@Autowired
private LoanTransferPaymentApplyService loanTransferPaymentApplyService;
@Override
public ResultBean<PagerVo<LoanTransferPaymentApplyVo>> listPage(PagerQuery<LoanTransferPaymentApplyQuery> pq) {
ResultBean<PagerVo<LoanTransferPaymentApplyVo>> rb = ResultBean.fireFail();
PagerVo<LoanTransferPaymentApplyVo> pv = loanTransferPaymentApplyService.listPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) {
return loanTransferPaymentApplyService.paymentInit(sids);
}
@Override
public ResultBean<String> saveTransferPayment(LoanTransferPaymentApplyDto dto) {
return loanTransferPaymentApplyService.saveTransferPayment(dto);
}
@Override
public ResultBean<LoanTransferPaymentApplyInit> paymentDetails(String sid) {
return loanTransferPaymentApplyService.paymentDetails(sid);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return loanTransferPaymentApplyService.deleteBySids(sids);
}
@Override
public ResultBean submitRecordApplication(SubmitTransferDto dto) {
return loanTransferPaymentApplyService.submitRecordApplication(dto);
}
@Override
public ResultBean complete(TransferCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId());
return loanTransferPaymentApplyService.complete(bv);
}
@Override
public ResultBean revokeProcess(TransferTaskQuery query) {
return loanTransferPaymentApplyService.revokeProcess(query);
}
@Override
public ResultBean taskReject(TransferTaskQuery query) {
return loanTransferPaymentApplyService.taskReject(query);
}
@Override
public ResultBean breakProcess(TransferTaskQuery query) {
return loanTransferPaymentApplyService.breakProcess(query);
}
@Override
public ResultBean flowRecord(String procInsId) {
return loanTransferPaymentApplyService.flowRecord(procInsId);
}
@Override
public ResultBean<List<TransferGetNodeVo>> getNextNodesForSubmit(TransferGetNodeQuery query) {
return loanTransferPaymentApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<TransferGetNodeVo>> getPreviousNodesForReject(TransferGetNodeQuery query) {
return loanTransferPaymentApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean delegate(TransferDelegateQuery query) {
return loanTransferPaymentApplyService.delegate(query);
}
}

772
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -25,20 +25,15 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApply;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyInit;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord.LoanTransferPaymentRecordService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -66,22 +61,763 @@ import java.util.stream.Collectors;
@Service
public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTransferPaymentApplyMapper, LoanTransferPaymentApply> {
@Autowired
private LoanTransferPaymentRecordService loanTransferPaymentRecordService;
@Autowired
private LoanFileService loanFileService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private LoanRepaymentHistoryService loanRepaymentHistoryService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private FlowFeign flowFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private MessageFeign messageFeign;
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) {
ResultBean<LoanTransferPaymentApplyInit> rb = ResultBean.fireFail();
LoanTransferPaymentApplyInit vo = new LoanTransferPaymentApplyInit();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
vo.setApplyDate(sdf.format(new Date()));
List<LoanBuckleHistoryRecord> historyRecords = new ArrayList<>();
// for (String sid : sids) {
// LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord();
// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(sid).getData();
// if (null != recordVo) {
// BeanUtil.copyProperties(recordVo, record);
List<LoanTransferPaymentRecordVo> historyRecords = new ArrayList<>();
for (String sid : sids) {
LoanTransferPaymentRecordVo recordVo = baseMapper.paymentInfo(sid);
recordVo.setSpread("0");
recordVo.setDefaultInterest("0");
if (StringUtils.isNotBlank(recordVo.getBankContractNo())) {
LoanTransferPaymentRecord paymentRecord = loanTransferPaymentRecordService.selByBankContractNo(recordVo.getBankContractNo());
if (null != paymentRecord) {
if (StringUtils.isNotBlank(paymentRecord.getAccount())) {
recordVo.setAccount(paymentRecord.getAccount());
}
if (StringUtils.isNotBlank(paymentRecord.getAccountNumber())) {
recordVo.setAccountNumber(paymentRecord.getAccountNumber());
}
if (StringUtils.isNotBlank(paymentRecord.getAccountType())) {
recordVo.setAccountType(paymentRecord.getAccountType());
}
if (StringUtils.isNotBlank(paymentRecord.getAccountTypeKey())) {
recordVo.setAccountTypeKey(paymentRecord.getAccountTypeKey());
}
}
}
historyRecords.add(recordVo);
}
vo.setRecords(historyRecords);
return rb.success().setData(vo);
}
/**
* 生成申请单单据编号
*
* @param orgSid
* @return
*/
public String getApplyCode(String orgSid) {
//获取分公司sid
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.DSDFSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveTransferPayment(LoanTransferPaymentApplyDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = "";
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
LoanTransferPaymentApply updateEntity = fetchBySid(sid);
if (null != updateEntity) {
BeanUtil.copyProperties(dto, updateEntity, "id", "sid");
baseMapper.updateById(updateEntity);
int i = loanTransferPaymentRecordService.deleteByMainSid(sid);
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<LoanTransferPaymentApplyFile> filess = dto.getFiles();
if (!filess.isEmpty()) {
List<String> files = new ArrayList<>();
for (LoanTransferPaymentApplyFile file : filess) {
files.add(file.getUrl());
}
loanFileService.saveAll(sid, files, LoanFileEnum.TRANSFERPAYMENT.getAttachType());
}
List<LoanTransferPaymentRecordVo> records = dto.getRecords();
if (!records.isEmpty()) {
for (LoanTransferPaymentRecordVo record : records) {
LoanTransferPaymentRecord applyRecord = new LoanTransferPaymentRecord();
BeanUtil.copyProperties(record, applyRecord, "id", "sid");
applyRecord.setMainSid(sid);
applyRecord.setRepaymentHistorySid(record.getRecordSid());
loanTransferPaymentRecordService.insert(applyRecord);
}
}
}
} else {
LoanTransferPaymentApply transferPaymentApply = new LoanTransferPaymentApply();
sid = transferPaymentApply.getSid();
BeanUtil.copyProperties(dto, transferPaymentApply, "id", "sid");
transferPaymentApply.setCreateBySid(dto.getUserSid());
transferPaymentApply.setOrgSidPath(dto.getOrgPath());
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath());
if (orgSidByPath.getSuccess()) {
String userOrgSid = orgSidByPath.getData();
transferPaymentApply.setUseOrgSid(userOrgSid);
String billNo = getApplyCode(userOrgSid);
transferPaymentApply.setBillNo(billNo);
ResultBean<SysOrganizationVo> organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid);
if (organizationVo.getSuccess()) {
SysOrganizationVo organizationVoData = organizationVo.getData();
if (null != organizationVoData) {
transferPaymentApply.setUseOrgName(organizationVoData.getName());
}
}
}
transferPaymentApply.setNodeState("待提交");
baseMapper.insert(transferPaymentApply);
List<LoanTransferPaymentRecordVo> records = dto.getRecords();
if (!records.isEmpty()) {
for (LoanTransferPaymentRecordVo record : records) {
LoanTransferPaymentRecord applyRecord = new LoanTransferPaymentRecord();
BeanUtil.copyProperties(record, applyRecord, "id", "sid");
applyRecord.setMainSid(sid);
applyRecord.setRepaymentHistorySid(record.getRecordSid());
loanTransferPaymentRecordService.insert(applyRecord);
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(record.getRecordSid());
if (null != repaymentHistory) {
repaymentHistory.setPaymentState("转付中");
repaymentHistory.setPaymentStateKey("002");
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<LoanTransferPaymentApplyFile> filess = dto.getFiles();
if (!filess.isEmpty()) {
List<String> files = new ArrayList<>();
for (LoanTransferPaymentApplyFile file : filess) {
files.add(file.getUrl());
}
loanFileService.saveAll(sid, files, LoanFileEnum.TRANSFERPAYMENT.getAttachType());
}
}
return rb.success().setData(sid);
}
public PagerVo<LoanTransferPaymentApplyVo> listPage(PagerQuery<LoanTransferPaymentApplyQuery> pq) {
IPage<LoanTransferPaymentApply> page = PagerUtil.queryToPage(pq);
LoanTransferPaymentApplyQuery pagerQuery = pq.getParams();
QueryWrapper<LoanTransferPaymentApply> qw = new QueryWrapper<>();
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", pagerQuery.getUserSid());
} else {
PagerVo<LoanTransferPaymentApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanTransferPaymentApplyVo> p = new PagerVo<>();
return p;
}
//=======================
//分公司
if (StringUtils.isNotBlank(pagerQuery.getCompany())) {
qw.like("useOrgName", pagerQuery.getCompany());
}
//申请人
if (StringUtils.isNotBlank(pagerQuery.getApplyName())) {
qw.like("applyName", pagerQuery.getApplyName());
}
//申请编号
if (StringUtils.isNotBlank(pagerQuery.getBillNo())) {
qw.like("billNo", pagerQuery.getBillNo());
}
String applyStartTime = pagerQuery.getApplyStartDate();
String applyEndTime = pagerQuery.getApplyEndDate();
qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(applyEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')"
);
qw.eq("isDelete", 0);
qw.orderByDesc("createTime");
IPage<LoanTransferPaymentApplyVo> pagging = baseMapper.listPage(page, qw);
PagerVo<LoanTransferPaymentApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<LoanTransferPaymentApplyInit> paymentDetails(String sid) {
ResultBean<LoanTransferPaymentApplyInit> rb = ResultBean.fireFail();
LoanTransferPaymentApplyInit initVo = new LoanTransferPaymentApplyInit();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
LoanTransferPaymentApply paymentApply = fetchBySid(sid);
if (null != paymentApply) {
BeanUtil.copyProperties(paymentApply, initVo);
initVo.setUserSid(paymentApply.getCreateBySid());
initVo.setOrgPath(paymentApply.getOrgSidPath());
if (StringUtils.isNotBlank(paymentApply.getProcInstId())) {
initVo.setInstanceId(paymentApply.getProcInstId());
}
if (null != paymentApply.getApplyDate()) {
initVo.setApplyDate(sdf.format(paymentApply.getApplyDate()));
}
List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.TRANSFERPAYMENT.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
List<LoanTransferPaymentApplyFile> paymentApplyFiles = new ArrayList<>();
for (String file : files) {
LoanTransferPaymentApplyFile paymentApplyFile = new LoanTransferPaymentApplyFile();
paymentApplyFile.setUrl(file);
paymentApplyFiles.add(paymentApplyFile);
}
initVo.setFiles(paymentApplyFiles);
}
List<LoanTransferPaymentRecord> records = loanTransferPaymentRecordService.selByMainSid(sid);
List<LoanTransferPaymentRecordVo> recordList = new ArrayList<>();
if (!records.isEmpty()) {
for (LoanTransferPaymentRecord record : records) {
String historySid = record.getRepaymentHistorySid();
LoanTransferPaymentRecordVo recordVo = baseMapper.paymentInfo(historySid);
recordList.add(recordVo);
}
}
initVo.setRecords(recordList);
}
return rb.success().setData(initVo);
}
public ResultBean deleteBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
for (String sid : sids) {
LoanTransferPaymentApply paymentApply = fetchBySid(sid);
if (null != paymentApply) {
if (!paymentApply.getNodeState().equals("待提交")) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
}
paymentApply.setIsDelete(1);
int i = baseMapper.updateById(paymentApply);
if (i == 0) {
return rb.setMsg("删除失败");
}
List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(sid);
if (!loanTransferPaymentRecords.isEmpty()) {
for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) {
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
if (null != repaymentHistory) {
repaymentHistory.setPaymentState("待转付");
repaymentHistory.setPaymentStateKey("001");
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
loanTransferPaymentRecordService.deleteByMainSid(sid);
}
return ResultBean.fireSuccess().setMsg("删除成功");
}
//-------------------------------------流程------------------------------------------------/
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitTransferDto dto, LoanTransferPaymentApply paymentApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (paymentApply != null) {
String businessTaskId = paymentApply.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;
}
/**
* 更新流程相关的状态
*
* @param map
* @return
*/
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean submitRecordApplication(SubmitTransferDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanTransferPaymentApply paymentApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, paymentApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = "";
//新增修改保存
ResultBean<String> resultBean = saveTransferPayment(dto);
if (resultBean.getSuccess()) {
businessSid = resultBean.getData();
}
LoanTransferPaymentApply entity = fetchBySid(businessSid);
String orgSidPath = "";
if (StringUtils.isNotBlank(entity.getOrgSidPath())) {
orgSidPath = entity.getOrgSidPath();
} else {
SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData();
if (null != data) {
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
}
}
List<String> orgPathList = Arrays.asList(orgSidPath.split("/"));
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData();
if (sysOrganization == null) {
return rb.setMsg("当前所在的组织机构不存在");
}
if (StringUtils.isBlank(sysOrganization.getManagerSid())) {
// return rb.setMsg("当前所在的组织机构未设置主管人员");
sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
}
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
Map<String, Object> appMap = new HashMap<>();
//若有网关,则赋值网关中判断的字段。
// boolean isTure = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(entity.getSalesUserSid())) {
// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) {
// isTure = false;
// }
// historyRecords.add(record);
// }
// vo.setRecords(historyRecords);
return rb.success().setData(vo);
// variables.put("isTure", isTure);
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案";
// variables.put("orderNames", orderNames);
LoanTransferPaymentApply paymentApply1 = fetchBySid(businessSid);
String msgBusinessSid = paymentApply1.getSid();
//用户的部门全路径sid
bv.setOrgSidPath(paymentApply1.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
// String nextNodeUserSids_ = sysOrganization.getManagerSid();
// if (isTure) {
// bv.setNextNodeUserSids(nextNodeUserSids_);
// } else {
// bv.setNextNodeUserSids(entity.getSalesUserSid());
// }
//流程定义id
bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId());
if (r == 1) {
//流程定义id
bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
int i = updateFlowFiled(BeanUtil.beanToMap(ufVo));
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(msgBusinessSid);
messageFlowableQuery.setModuleName("代收代付申请");
SysUserVo userVo = sysUserFeign.fetchBySid(paymentApply1.getCreateBySid()).getData();
if (userVo != null) {
if (StringUtils.isNotBlank(userVo.getName())) {
messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
}
messageFlowableQuery.setMsgTitle("代收代付申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
LoanTransferPaymentApply paymentApply2 = fetchBySid(dto.getSid());
bv.setTaskId(dto.getTaskId());
bv.setTaskDefKey(paymentApply2.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
LoanTransferPaymentApply paymentApply = this.fetchBySid(businessSid);
if (bv.getTaskId().equals(paymentApply.getTaskId())) {
bv.setOrgSidPath(paymentApply.getOrgSidPath());
//流程中的参数赋值
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
//若有网关,则赋值网关中判断的字段。
// boolean isTure = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
// isTure = false;
// }
// }
// variables.put("isTure", isTure);
// if (bv.getTaskDefKey().equals("Activity_1078xxs")) {
// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) {
// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid());
// } else {
// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
// }
// }
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(businessSid);
if (!loanTransferPaymentRecords.isEmpty()) {
for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) {
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
if (null != repaymentHistory) {
repaymentHistory.setPaymentStateKey("003");
repaymentHistory.setPaymentState("已转付");
repaymentHistory.setTransferDate(new DateTime());
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean revokeProcess(TransferTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid());
String businessTaskId = paymentApply.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 taskReject(TransferTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
LoanTransferPaymentApply paymentApply = fetchBySid(businessSid);
if (paymentApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = paymentApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (org.apache.commons.lang3.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);
//若有网关,则赋值网关中判断的字段。
// boolean isTure = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
// isTure = false;
// }
// }
// variables.put("isTure", isTure);
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);
//极光推送
paymentApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = paymentApply.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(paymentApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("代收代付申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextName = listResultBean.getData().get(0).getName_();
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) {
if ("发起申请".equals(nextName)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
SysUserVo userVo = sysUserFeign.fetchBySid(paymentApply.getCreateBySid()).getData();
if (userVo != null) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) {
messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
}
}
messageFlowableQuery.setMsgTitle("代收代付申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean breakProcess(TransferTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid());
String businessTaskId = paymentApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(paymentApply.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);
//终止任务后划扣状态改完未通过
LoanTransferPaymentApply entity = fetchBySid(query.getBusinessSid());
if (entity.getNodeState().equals("终止")) {
List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(query.getBusinessSid());
if (!loanTransferPaymentRecords.isEmpty()) {
for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) {
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
if (null != repaymentHistory) {
repaymentHistory.setPaymentStateKey("001");
repaymentHistory.setPaymentState("待转付");
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
}
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);
//终止任务后划扣状态改完未通过
LoanTransferPaymentApply entity = fetchBySid(query.getBusinessSid());
if (entity.getNodeState().equals("终止")) {
List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(query.getBusinessSid());
if (!loanTransferPaymentRecords.isEmpty()) {
for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) {
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
if (null != repaymentHistory) {
repaymentHistory.setPaymentStateKey("001");
repaymentHistory.setPaymentState("待转付");
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
}
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean flowRecord(String procInsId) {
return flowTaskFeign.businessFlowRecord(procInsId);
}
public ResultBean<List<TransferGetNodeVo>> getNextNodesForSubmit(TransferGetNodeQuery query) {
ResultBean<List<TransferGetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid());
//若有网关,则赋值网关中判断的字段。
// boolean isTure = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
// isTure = false;
// }
// }
// variables.put("isTure", isTure);
bv.setFormVariables(variables);
bv.setModelId(paymentApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<TransferGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), TransferGetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<TransferGetNodeVo>> getPreviousNodesForReject(TransferGetNodeQuery query) {
ResultBean<List<TransferGetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid());
// //若有网关,则赋值网关中判断的字段。
// boolean isTure = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
// isTure = false;
// }
// }
// variables.put("isTure", isTure);
bv.setFormVariables(variables);
bv.setModelId(paymentApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<TransferGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), TransferGetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean delegate(TransferDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java

@ -3,8 +3,10 @@ package com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.DeleteMapping;
import java.util.List;
@ -13,4 +15,9 @@ import java.util.List;
public interface LoanTransferPaymentRecordMapper extends BaseMapper<LoanTransferPaymentRecord> {
int deleteByMainSid(String mainSid);
List<LoanTransferPaymentRecord> selByMainSid(String mainSid);
LoanTransferPaymentRecord selByBankContractNo(String bankContractNo);
}

20
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml

@ -3,4 +3,24 @@
<mapper namespace="com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord.LoanTransferPaymentRecordMapper">
<delete id="deleteByMainSid">
DELETE
FROM loan_transfer_payment_record
WHERE mainSid = #{mainSid}
</delete>
<select id="selByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord">
select *
FROM loan_transfer_payment_record
WHERE mainSid = #{mainSid}
</select>
<select id="selByBankContractNo"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord">
SELECT r.*
FROM loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid
WHERE p.bankContractNo = #{bankContractNo}
ORDER BY r.createTime DESC LIMIT 1
</select>
</mapper>

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java

@ -16,4 +16,15 @@ import java.util.List;
public class LoanTransferPaymentRecordService extends MybatisBaseService<LoanTransferPaymentRecordMapper, LoanTransferPaymentRecord> {
public int deleteByMainSid(String mainSid) {
return baseMapper.deleteByMainSid(mainSid);
}
public List<LoanTransferPaymentRecord> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
public LoanTransferPaymentRecord selByBankContractNo(String bankContractNo) {
return baseMapper.selByBankContractNo(bankContractNo);
}
}

17
doc/databases/报表中心.sql

@ -525,6 +525,23 @@ set deliver_subtotal_year = s.scount
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 存销比
update daily_report r inner join (
select ifnull(sum(dr.sale_subtotal_month), 0) as subtotal,dr.useOrgSid,dr.vehModelSid,dr.vehMConfigSid
from daily_report dr
where
(DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m')
OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m')
) group by dr.useOrgSid, dr.vehModelSid, dr.vehMConfigSid) s
on r.useOrgSid = s.useOrgSid
and r.vehModelSid = s.vehModelSid
and r.vehMConfigSid = s.vehMConfigSid
set saleOfStockRatio =if(s.subtotal= 0,stock_subtotal+pcOrder_subtotal,ROUND((stock_subtotal+pcOrder_subtotal)/ROUND(s.subtotal/3,2),2)) ,
stock_total = (stock_subtotal+pcOrder_subtotal)
where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();

Loading…
Cancel
Save