Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 weeks ago
parent
commit
711f8af419
  1. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java
  2. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.java
  3. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.xml
  4. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  5. 16
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  6. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  7. 95
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApply.java
  8. 105
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyDetailsVo.java
  9. 102
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyDto.java
  10. 107
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyFeign.java
  11. 69
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyQuery.java
  12. 77
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyVo.java
  13. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubCompleteDto.java
  14. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubDelegateQuery.java
  15. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubGetNodeQuery.java
  16. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubGetNodeVo.java
  17. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubTaskQuery.java
  18. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/SubmitLawsuitSubDto.java
  19. 63
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVeh.java
  20. 64
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehDetailsVo.java
  21. 63
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehDto.java
  22. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehFeign.java
  23. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyVo.java
  24. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanvoucher/RskPaymentVoucher.java
  25. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  26. 41
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  27. 49
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyMapper.java
  28. 45
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyMapper.xml
  29. 132
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyRest.java
  30. 948
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java
  31. 47
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehMapper.java
  32. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehMapper.xml
  33. 38
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehRest.java
  34. 58
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehService.java
  35. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.java
  36. 48
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.xml
  37. 50
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java
  38. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

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

@ -60,5 +60,7 @@ public class PaymentVoucher {
public String type;
@ApiModelProperty("核算维度银行")
public String bank;
private Integer riskState;
}
}

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

@ -56,4 +56,6 @@ public interface FinPaymentrecordMapper extends BaseMapper<FinPaymentrecord> {
String selectBatchNum(@Param("s") String s);
BigDecimal selPayPriceTotal(@Param("payEveSidList") List<String> payEveSidList);
BigDecimal selectCostByBusSid(String busSid);
}

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

@ -85,4 +85,13 @@
#{item}
</foreach>
</select>
<select id="selectCostByBusSid" resultType="java.math.BigDecimal">
SELECT
SUM(cost)
FROM
fin_paymentrecord
WHERE busSid = #{busSid}
AND state = 2
</select>
</mapper>

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

@ -1707,8 +1707,8 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
if (exePayPriceTotal == null){
exePayPriceTotal = BigDecimal.ZERO;
}
//查询保证金
BigDecimal bzj = finPaymentapplyDetailsBelowService.fetchBySid(bzjSid).getPayAccount();
//查询已支付保证金
BigDecimal bzj = baseMapper.selectCostByBusSid(bzjSid);
if (bzj == null){
bzj = BigDecimal.ZERO;
}

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

@ -1818,6 +1818,22 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
}
} else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode())) {
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金");
if("1".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_扣回车辆
dto1.setSubjectNo("1201.03.01");
}else if("7".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_车辆处置损失
dto1.setSubjectNo("1201.03.04.01");
}else if("9".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_诉讼车辆
dto1.setSubjectNo("1201.03.03");
}else if("11".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼
dto1.setSubjectNo("1201.03.04.02");
}else if("12".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_待执行
dto1.setSubjectNo("1201.03.05");
}
dto1.setSubjectNo("1201.03.01");
}

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

@ -85,6 +85,7 @@ public enum ProcDefEnum {
ENTERPRISEAPPLY("定点企业备案", "process_tvywp9ri:2:14197516"),
JTTXCYSQ("金融贴息差异调整申请", "process_q1yy2tlg:2:16682508"),
LOANSECONDARYSALESNOTAPPLY("二次销售车辆不追偿申请", "process_4q5mswag:1:19695004"),
LOANLAWSUITSUBAPPLY("转诉讼科目申请", ""),
/******************************测试流程id*********************************************/

95
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApply.java

@ -0,0 +1,95 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "转诉讼科目申请", description = "转诉讼科目申请")
@TableName("loan_lawsuit_sub_apply")
public class LoanLawsuitSubApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请部门")
private String createDept; // 申请部门
@ApiModelProperty("申请部门sid")
private String createDeptSid; // 申请部门sid
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("贷款人sid")
private String loanSid; // 贷款人sid
@ApiModelProperty("贷款人")
private String loanName; // 贷款人
@ApiModelProperty("贷款合同sid")
private String loanContractSid; // 贷款合同sid
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方sid")
private String bankSid; // 资方sid
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("转诉讼科目金额合计")
private BigDecimal amount; // 转诉讼科目金额合计
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司")
private String useOrgName; // 分公司
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date closeDate;
@ApiModelProperty("实例id")
private String procInstId; // 实例id
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("环节id")
private String nodeSid; // 环节id
@ApiModelProperty("诉讼申请sid")
private String lawSid; // 诉讼申请sid
@ApiModelProperty("案件信息sid")
private String ajSid; // 案件信息sid
}

105
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyDetailsVo.java

@ -0,0 +1,105 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDto;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "转诉讼科目申请 视图数据详情", description = "转诉讼科目申请 视图数据详情")
public class LoanLawsuitSubApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请部门")
private String createDept; // 申请部门
@ApiModelProperty("申请部门sid")
private String createDeptSid; // 申请部门sid
@ApiModelProperty("申请人")
private String createBySid;
private String createByName;
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("贷款人sid")
private String loanSid; // 贷款人sid
@ApiModelProperty("贷款人")
private String loanName; // 贷款人
@ApiModelProperty("贷款合同sid")
private String loanContractSid; // 贷款合同sid
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方sid")
private String bankSid; // 资方sid
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("转诉讼科目金额合计")
private BigDecimal amount; // 转诉讼科目金额合计
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司")
private String useOrgName; // 分公司
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date closeDate;
@ApiModelProperty("实例id")
private String procInstId; // 实例id
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("环节id")
private String nodeSid; // 环节id
@ApiModelProperty("诉讼申请sid")
private String lawSid; // 诉讼申请sid
@ApiModelProperty("案件信息sid")
private String ajSid; // 案件信息sid
@ApiModelProperty("车辆列表")
private List<LoanLawsuitSubVehDetailsVo> loanLawsuitSubVehList;
}

102
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyDto.java

@ -0,0 +1,102 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDto;
import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "转诉讼科目申请 数据传输对象", description = "转诉讼科目申请 数据传输对象")
public class LoanLawsuitSubApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建日期")
private String createTime;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请部门")
private String createDept; // 申请部门
@ApiModelProperty("申请部门sid")
private String createDeptSid; // 申请部门sid
@ApiModelProperty("申请人")
private String createBySid;
private String createByName;
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("贷款人sid")
private String loanSid; // 贷款人sid
@ApiModelProperty("贷款人")
private String loanName; // 贷款人
@ApiModelProperty("贷款合同sid")
private String loanContractSid; // 贷款合同sid
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方sid")
private String bankSid; // 资方sid
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("转诉讼科目金额合计")
private BigDecimal amount; // 转诉讼科目金额合计
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司")
private String useOrgName; // 分公司
@ApiModelProperty("办结日期")
private String closeDate; // 办结日期
@ApiModelProperty("实例id")
private String procInstId; // 实例id
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("环节id")
private String nodeSid; // 环节id
@ApiModelProperty("诉讼申请sid")
private String lawSid; // 诉讼申请sid
@ApiModelProperty("案件信息sid")
private String ajSid; // 案件信息sid
@ApiModelProperty("车辆列表")
private List<LoanLawsuitSubVehDto> loanLawsuitSubVehList;
}

107
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyFeign.java

@ -0,0 +1,107 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.flow.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@Api(tags = "转诉讼科目申请")
@FeignClient(
contextId = "anrui-riskcenter-LoanLawsuitSubApply",
name = "anrui-riskcenter",
path = "v1/loanlawsuitsubapply")
public interface LoanLawsuitSubApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<LoanLawsuitSubApplyVo>> listPage(@RequestBody PagerQuery<LoanLawsuitSubApplyQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody LoanLawsuitSubApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("初始化")
@GetMapping("/init/{sid}")
@ResponseBody
public ResultBean<LoanLawsuitSubApplyDetailsVo> init(@PathVariable("sid") String sid);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<LoanLawsuitSubApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
//---------------------------flow------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitLawsuitSubDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody LawsuitSubCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LawsuitSubTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LawsuitSubTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody LawsuitSubTaskQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<LawsuitSubGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap LawsuitSubGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<LawsuitSubGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap LawsuitSubGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody LawsuitSubDelegateQuery query);
}

69
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyQuery.java

@ -0,0 +1,69 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "转诉讼科目申请 查询条件", description = "转诉讼科目申请 查询条件")
public class LoanLawsuitSubApplyQuery implements Query {
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createTimeStart;
private String createTimeEnd;
@ApiModelProperty("办结日期")
private String closeDateStart;
private String closeDateEnd;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
}

77
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/LoanLawsuitSubApplyVo.java

@ -0,0 +1,77 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "转诉讼科目申请 视图数据对象", description = "转诉讼科目申请 视图数据对象")
public class LoanLawsuitSubApplyVo implements Vo {
private String sid;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date closeDate;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("转诉讼科目金额合计")
private BigDecimal amount;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("实例id")
private String procInstId;
@ApiModelProperty("流程定义id")
private String procDefId;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/LawsuitSubCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.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 LawsuitSubCompleteDto 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/loanlawsuitsubapply/flow/LawsuitSubDelegateQuery.java

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

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.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 LawsuitSubGetNodeQuery 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/loanlawsuitsubapply/flow/LawsuitSubGetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.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 LawsuitSubGetNodeVo 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/loanlawsuitsubapply/flow/LawsuitSubTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.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 LawsuitSubTaskQuery 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<>();*/
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubapply/flow/SubmitLawsuitSubDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.flow;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitLawsuitSubDto extends LoanLawsuitSubApplyDto {
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

63
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVeh.java

@ -0,0 +1,63 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubveh;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "转诉讼车辆列表", description = "转诉讼车辆列表")
@TableName("loan_lawsuit_sub_veh")
public class LoanLawsuitSubVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("风控状态")
private String riskState; // 风控状态
@ApiModelProperty("是否回购")
private String repo; // 是否回购
@ApiModelProperty("逾期月还")
private BigDecimal currentBeMoney; // 逾期月还
@ApiModelProperty("当期未还月还")
private BigDecimal currentNotDuePrice; // 当期未还月还
@ApiModelProperty("未到期月还")
private BigDecimal notDuePrice; // 未到期月还
@ApiModelProperty("回购资方费用")
private BigDecimal bankAmount; // 回购资方费用
@ApiModelProperty("转诉讼科目金额")
private BigDecimal lawAomount; // 转诉讼科目金额
}

64
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehDetailsVo.java

@ -0,0 +1,64 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubveh;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "转诉讼车辆列表 视图数据详情", description = "转诉讼车辆列表 视图数据详情")
public class LoanLawsuitSubVehDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("风控状态")
private String riskState; // 风控状态
@ApiModelProperty("是否回购")
private String repo; // 是否回购
@ApiModelProperty("逾期月还")
private BigDecimal currentBeMoney; // 逾期月还
@ApiModelProperty("当期未还月还")
private BigDecimal currentNotDuePrice; // 当期未还月还
@ApiModelProperty("未到期月还")
private BigDecimal notDuePrice; // 未到期月还
@ApiModelProperty("回购资方费用")
private BigDecimal bankAmount; // 回购资方费用
@ApiModelProperty("转诉讼科目金额")
private BigDecimal lawAomount; // 转诉讼科目金额
}

63
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehDto.java

@ -0,0 +1,63 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubveh;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "转诉讼车辆列表 数据传输对象", description = "转诉讼车辆列表 数据传输对象")
public class LoanLawsuitSubVehDto implements Dto {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("风控状态")
private String riskState; // 风控状态
@ApiModelProperty("是否回购")
private String repo; // 是否回购
@ApiModelProperty("逾期月还")
private BigDecimal currentBeMoney; // 逾期月还
@ApiModelProperty("当期未还月还")
private BigDecimal currentNotDuePrice; // 当期未还月还
@ApiModelProperty("未到期月还")
private BigDecimal notDuePrice; // 未到期月还
@ApiModelProperty("回购资方费用")
private BigDecimal bankAmount; // 回购资方费用
@ApiModelProperty("转诉讼科目金额")
private BigDecimal lawAomount; // 转诉讼科目金额
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanlawsuitsubveh/LoanLawsuitSubVehFeign.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loanlawsuitsubveh;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.result.ResultBean;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@Api(tags = "转诉讼车辆列表")
@FeignClient(
contextId = "1-LoanLawsuitSubVeh",
name = "1",
path = "v1/loanlawsuitsubveh")
public interface LoanLawsuitSubVehFeign {
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyVo.java

@ -50,4 +50,6 @@ public class LoanRepurchaseApplyVo implements Vo {
@ApiModelProperty("流程状态")
private String nodeState; // 流程实例的sid
@ApiModelProperty("风控状态:0正常")
private Integer riskState;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanvoucher/RskPaymentVoucher.java

@ -60,5 +60,7 @@ public class RskPaymentVoucher {
public String type;
@ApiModelProperty("核算维度银行")
public String bank;
public Integer riskState;
}
}

19
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -1401,6 +1401,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
if (StringUtils.isNotBlank(customerNumber)) {
voucherDetail.setCustomerCode(customerNumber);
}
voucherDetail.setRiskState(busSalesOrderVehicle.getRiskState());
voucherDetail.setAmount(beInter);
voucherDetails.add(voucherDetail);
}
@ -1856,7 +1857,6 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
@ -1877,7 +1877,6 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
@ -1953,6 +1952,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
if (StringUtils.isNotBlank(customerNumber)) {
voucherDetail.setCustomerCode(customerNumber);
}
voucherDetail.setRiskState(busSalesOrderVehicle.getRiskState());
voucherDetail.setAmount(beInter);
voucherDetails.add(voucherDetail);
}
@ -2000,7 +2000,22 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
}
}else if(voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER4.getCode())){
dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金");
if("1".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_扣回车辆
dto1.setSubjectNo("1201.03.01");
}else if("7".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_车辆处置损失
dto1.setSubjectNo("1201.03.04.01");
}else if("9".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_诉讼车辆
dto1.setSubjectNo("1201.03.03");
}else if("11".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼
dto1.setSubjectNo("1201.03.04.02");
}else if("12".equals(voucherDetail.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_待执行
dto1.setSubjectNo("1201.03.05");
}
}
}
dto1.setDimensionDept(voucherDetail.getDeptCode());

41
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -1075,26 +1075,44 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (StringUtils.isNotBlank(planDetails.getBankName())) {
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
String bankName = planDetails.getBankName();
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(bankName, "investorsCode").getData();
if (null != dictCommonVo) {
voucherResultDetailDtoJf.setSubjectNo(dictCommonVo.getDictValue());
}
voucherResultDetailDtoJf.setSummary(bankName+"划扣");
voucherResultDetailDtoDf.setSummary(bankName+"划扣");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(v.getActualMoney().toString());
voucherDetails2.add(voucherResultDetailDtoJf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(bankName+"划扣");
if("1".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_扣回车辆
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
}else if("7".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_车辆处置损失
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
}else if("9".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_诉讼车辆
voucherResultDetailDtoDf.setSubjectNo("1201.03.03");
}else if("11".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02");
}else if("12".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_待执行
voucherResultDetailDtoDf.setSubjectNo("1201.03.05");
}
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getActualMoney().toString());
voucherDetails2.add(voucherResultDetailDtoJf);
voucherDetails2.add(voucherResultDetailDtoDf);
}
@ -1118,7 +1136,22 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
voucherDetails2.add(voucherResultDetailDtoJf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(planDetails.getBankName()+"划扣");
if("1".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_扣回车辆
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
}else if("7".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_车辆处置损失
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
}else if("9".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_诉讼车辆
voucherResultDetailDtoDf.setSubjectNo("1201.03.03");
}else if("11".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02");
}else if("12".equals(busSalesOrderVehicle.getRiskState().toString())){
//应收贷款车欠款_待处理欠款_待执行
voucherResultDetailDtoDf.setSubjectNo("1201.03.05");
}
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptCode);
//核算客户

49
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyMapper.java

@ -0,0 +1,49 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubapply;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApply;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyVo;
import java.util.Map;
@Mapper
public interface LoanLawsuitSubApplyMapper extends BaseMapper<LoanLawsuitSubApply> {
IPage<LoanLawsuitSubApplyVo> selectPageVo(IPage<LoanLawsuitSubApply> page, @Param(Constants.WRAPPER) Wrapper<LoanLawsuitSubApply> qw);
String selectNum(String billNo);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
}

45
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyMapper.xml

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanlawsuitsubapply.LoanLawsuitSubApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyVo">
SELECT * FROM loan_lawsuit_sub_apply ls
LEFT JOIN anrui_portal.sys_organization as s ON ls.useOrgSid = s.sid
<where> ${ew.sqlSegment} </where>
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from loan_lawsuit_sub_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM loan_lawsuit_sub_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE loan_lawsuit_sub_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="nodeState == '已办结' or nodeState == '终止'">
, closeDate = NOW()
</if>
<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>

132
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyRest.java

@ -0,0 +1,132 @@
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubapply;
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.*;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "转诉讼科目申请")
@RestController
@RequestMapping("v1/loanlawsuitsubapply")
public class LoanLawsuitSubApplyRest implements LoanLawsuitSubApplyFeign {
@Autowired
private LoanLawsuitSubApplyService loanLawsuitSubApplyService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanLawsuitSubApplyVo>> listPage(@RequestBody PagerQuery<LoanLawsuitSubApplyQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<LoanLawsuitSubApplyVo> pv = loanLawsuitSubApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody LoanLawsuitSubApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
loanLawsuitSubApplyService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
return loanLawsuitSubApplyService.delAll(sids);
}
@Override
public ResultBean<LoanLawsuitSubApplyDetailsVo> init(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanLawsuitSubApplyDetailsVo vo = loanLawsuitSubApplyService.init(sid);
return rb.success().setData(vo);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<LoanLawsuitSubApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
LoanLawsuitSubApplyDetailsVo vo = loanLawsuitSubApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean submitRecordApplication(SubmitLawsuitSubDto dto) {
return loanLawsuitSubApplyService.submitRecordApplication(dto);
}
@Override
public ResultBean complete(LawsuitSubCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
return loanLawsuitSubApplyService.complete(bv);
}
@Override
public ResultBean revokeProcess(LawsuitSubTaskQuery query) {
return loanLawsuitSubApplyService.revokeProcess(query);
}
@Override
public ResultBean taskReject(LawsuitSubTaskQuery query) {
return loanLawsuitSubApplyService.taskReject(query);
}
@Override
public ResultBean breakProcess(LawsuitSubTaskQuery query) {
return loanLawsuitSubApplyService.breakProcess(query);
}
@Override
public ResultBean<List<LawsuitSubGetNodeVo>> getNextNodesForSubmit(LawsuitSubGetNodeQuery query) {
return loanLawsuitSubApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<LawsuitSubGetNodeVo>> getPreviousNodesForReject(LawsuitSubGetNodeQuery query) {
return loanLawsuitSubApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean delegate(LawsuitSubDelegateQuery query) {
return loanLawsuitSubApplyService.delegate(query);
}
}

948
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java

@ -0,0 +1,948 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
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.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
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.loancaseprogress.LoanCaseProgress;
import com.yxt.anrui.riskcenter.api.loanlawsuitapply.LoanLawsuitApply;
import com.yxt.anrui.riskcenter.api.loanlawsuitapply.LoanLawsuitVehVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDto;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loansettleapply.SettleApplyCommonVo;
import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService;
import com.yxt.anrui.riskcenter.biz.loanlawsuitapply.LoanLawsuitApplyService;
import com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh.LoanLawsuitSubVehService;
import com.yxt.anrui.riskcenter.biz.loanlawsuitveh.LoanLawsuitVehService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepurchaseapply.LoanRepurchaseApplyService;
import com.yxt.anrui.riskcenter.biz.loansettleapply.LoanSettleApplyService;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo;
import com.yxt.common.core.result.ResultBean;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApply;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyQuery;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubapply.LoanLawsuitSubApplyDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@Service
public class LoanLawsuitSubApplyService extends MybatisBaseService<LoanLawsuitSubApplyMapper, LoanLawsuitSubApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private LoanLawsuitSubVehService loanLawsuitSubVehService;
@Autowired
private LoanCaseProgressService loanCaseProgressService;
@Autowired
private LoanLawsuitApplyService loanLawsuitApplyService;
@Autowired
private LoanLawsuitVehService loanLawsuitVehService;
@Autowired
private LoanSettleApplyService loanSettleApplyService;
@Autowired
private LoanRepurchaseApplyService loanRepurchaseApplyService;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
public PagerVo<LoanLawsuitSubApplyVo> listPageVo(PagerQuery<LoanLawsuitSubApplyQuery> pq) {
LoanLawsuitSubApplyQuery query = pq.getParams();
QueryWrapper<LoanLawsuitSubApply> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.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("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("ls.createBySid", query.getUserSid());
} else {
PagerVo<LoanLawsuitSubApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanLawsuitSubApplyVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("ls.useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getCreateDept())) {
qw.like("ls.createDept", query.getCreateDept());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("ls.createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("ls.customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getLoanName())) {
qw.like("ls.loanName", query.getLoanName());
}
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("ls.loanContractNo", query.getLoanContractNo());
}
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("ls.bankName", query.getBankName());
}
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("ls.bankContractNo", query.getBankContractNo());
}
String createStartTime = query.getCreateTimeStart();
String createEndTime = query.getCreateTimeEnd();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (ls.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (ls.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
String finishStartTime = query.getCloseDateStart();
String finishEndTime = query.getCloseDateEnd();
qw.apply(StringUtils.isNotEmpty(finishStartTime), "date_format (ls.closeDate,'%Y-%m-%d') >= date_format('" + finishStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(finishEndTime), "date_format (ls.closeDate,'%Y-%m-%d') <= date_format('" + finishEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("ls.createTime");
IPage<LoanLawsuitSubApply> page = PagerUtil.queryToPage(pq);
IPage<LoanLawsuitSubApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanLawsuitSubApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String saveOrUpdateDto(LoanLawsuitSubApplyDto dto){
String dtoSid = dto.getSid();
List<LoanLawsuitSubVehDto> loanLawsuitSubVehList = dto.getLoanLawsuitSubVehList();
if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
billNo = "ZSSKM" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
dto.setBillNo(billNo);
String sid = this.insertByDto(dto);
for (LoanLawsuitSubVehDto loanLawsuitSubVehDto : loanLawsuitSubVehList) {
loanLawsuitSubVehDto.setMainSid(sid);
loanLawsuitSubVehService.insertByDto(loanLawsuitSubVehDto);
}
return sid;
}
this.updateByDto(dto);
loanLawsuitSubVehService.delByMainSid(dtoSid);
for (LoanLawsuitSubVehDto loanLawsuitSubVehDto : loanLawsuitSubVehList) {
loanLawsuitSubVehDto.setMainSid(dtoSid);
loanLawsuitSubVehService.insertByDto(loanLawsuitSubVehDto);
}
return dtoSid;
}
public String insertByDto(LoanLawsuitSubApplyDto dto){
LoanLawsuitSubApply entity = new LoanLawsuitSubApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(LoanLawsuitSubApplyDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
LoanLawsuitSubApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public LoanLawsuitSubApplyDetailsVo init(String sid) {
LoanCaseProgress loanCaseProgress = loanCaseProgressService.fetchBySid(sid);
LoanLawsuitApply loanLawsuitApply = loanLawsuitApplyService.fetchBySid(loanCaseProgress.getBusSid());
List<LoanLawsuitVehVo> loanLawsuitVehVos = loanLawsuitVehService.selByMainSid(loanLawsuitApply.getSid());
LoanLawsuitSubApplyDetailsVo loanLawsuitSubApplyDetailsVo = new LoanLawsuitSubApplyDetailsVo();
List<LoanLawsuitSubVehDetailsVo> loanLawsuitSubVehDetailsVos = new ArrayList<>();
loanLawsuitSubApplyDetailsVo.setCreateDept(loanLawsuitApply.getCreateDept());
loanLawsuitSubApplyDetailsVo.setCreateDeptSid(loanLawsuitApply.getCreateDeptSid());
loanLawsuitSubApplyDetailsVo.setCreateByName(loanLawsuitApply.getCreateByName());
loanLawsuitSubApplyDetailsVo.setCreateBySid(loanLawsuitApply.getCreateBySid());
loanLawsuitSubApplyDetailsVo.setCustomerName(loanLawsuitApply.getCustomerName());
loanLawsuitSubApplyDetailsVo.setCustomerSid(loanLawsuitApply.getCustomerSid());
loanLawsuitSubApplyDetailsVo.setLoanSid(loanLawsuitApply.getLoanSid());
loanLawsuitSubApplyDetailsVo.setLoanName(loanLawsuitApply.getLoanName());
loanLawsuitSubApplyDetailsVo.setLoanContractSid(loanLawsuitApply.getLoanContractSid());
loanLawsuitSubApplyDetailsVo.setLoanContractNo(loanLawsuitApply.getLoanContractNo());
loanLawsuitSubApplyDetailsVo.setBankName(loanLawsuitApply.getBankName());
loanLawsuitSubApplyDetailsVo.setBankContractNo(loanLawsuitApply.getBankContractNo());
loanLawsuitSubApplyDetailsVo.setUseOrgSid(loanLawsuitApply.getUseOrgSid());
loanLawsuitSubApplyDetailsVo.setUseOrgName(loanLawsuitApply.getUseOrgName());
loanLawsuitSubApplyDetailsVo.setLawSid(loanLawsuitApply.getSid());
loanLawsuitSubApplyDetailsVo.setAjSid(sid);
for (LoanLawsuitVehVo loanLawsuitVehVo : loanLawsuitVehVos) {
LoanLawsuitSubVehDetailsVo loanLawsuitSubVehDetailsVo = new LoanLawsuitSubVehDetailsVo();
loanLawsuitSubVehDetailsVo.setBusVinSid(loanLawsuitVehVo.getBusVinSid());
loanLawsuitSubVehDetailsVo.setVinNo(loanLawsuitVehVo.getVinNo());
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(loanLawsuitVehVo.getBusVinSid()).getData();
loanLawsuitSubVehDetailsVo.setRiskState(busSalesOrderVehicle.getRiskState().toString());
loanLawsuitSubVehDetailsVo.setRepo(busSalesOrderVehicle.getRepoState().toString());
loanLawsuitSubVehDetailsVo.setCurrentBeMoney(new BigDecimal(loanLawsuitVehVo.getCurrentBeMoney()));
SettleApplyCommonVo info = loanSettleApplyService.getInfo(loanLawsuitVehVo.getBusVinSid(), DateUtil.formatDate(new Date()));
loanLawsuitSubVehDetailsVo.setCurrentNotDuePrice(new BigDecimal(info.getCurrentNotDuePrice()));
loanLawsuitSubVehDetailsVo.setNotDuePrice(new BigDecimal(loanLawsuitVehVo.getUnexpiredMoney()));
if (busSalesOrderVehicle.getRepoState() == 0){
loanLawsuitSubVehDetailsVo.setBankAmount(BigDecimal.ZERO);
}else {
BigDecimal bankAmount = loanRepurchaseApplyService.selByBusVinSid(loanLawsuitVehVo.getBusVinSid());
loanLawsuitSubVehDetailsVo.setBankAmount(bankAmount);
}
loanLawsuitSubVehDetailsVo.setLawAomount(loanLawsuitSubVehDetailsVo.getCurrentBeMoney().add(loanLawsuitSubVehDetailsVo.getCurrentNotDuePrice()).add(loanLawsuitSubVehDetailsVo.getNotDuePrice()).add(loanLawsuitSubVehDetailsVo.getBankAmount()));
loanLawsuitSubVehDetailsVos.add(loanLawsuitSubVehDetailsVo);
}
loanLawsuitSubApplyDetailsVo.setLoanLawsuitSubVehList(loanLawsuitSubVehDetailsVos);
loanLawsuitSubApplyDetailsVo.setAmount(loanLawsuitSubVehDetailsVos.stream().map(LoanLawsuitSubVehDetailsVo::getLawAomount).reduce(BigDecimal.ZERO, BigDecimal::add));
return loanLawsuitSubApplyDetailsVo;
}
public LoanLawsuitSubApplyDetailsVo fetchDetailsVoBySid(String sid){
LoanLawsuitSubApply entity = fetchBySid(sid);
LoanLawsuitSubApplyDetailsVo vo = new LoanLawsuitSubApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<LoanLawsuitSubVehDetailsVo> loanLawsuitSubVehDetailsVos = loanLawsuitSubVehService.selByMainSid(sid);
vo.setLoanLawsuitSubVehList(loanLawsuitSubVehDetailsVos);
return vo;
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
loanLawsuitSubVehService.delByMainSid(sid);
}
return rb.success().setMsg("删除成功");
}
//-----------------------------------flow---------------------------------
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitLawsuitSubDto dto, LoanLawsuitSubApply loanLawsuitSubApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (loanLawsuitSubApply != null) {
String businessTaskId = loanLawsuitSubApply.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(SubmitLawsuitSubDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanLawsuitSubApply loanLawsuitSubApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, loanLawsuitSubApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto);
loanLawsuitSubApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
Map<String, Object> appMap = new HashMap<>();
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
String msgBusinessSid = loanLawsuitSubApply.getSid();
//用户的部门全路径sid
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(loanLawsuitSubApply.getCreateDeptSid()).getData();
bv.setOrgSidPath(sysOrganizationVo.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(loanLawsuitSubApply.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.LOANLAWSUITSUBAPPLY.getProDefId());
if (r == 1) {
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());
LoanLawsuitSubApply lawsuitSubApply = loanLawsuitSubApply;
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(lawsuitSubApply.getCreateBySid()).getData();
if (userVo != null) {
if (StringUtils.isNotBlank(userVo.getName())) {
messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
}
messageFlowableQuery.setMsgTitle("转诉讼科目申请");
messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(dto.getSid());
bv.setTaskId(dto.getTaskId());
bv.setTaskDefKey(lawsuitSubApply.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();
LoanLawsuitSubApply lawsuitSubApply = this.fetchBySid(businessSid);
if (bv.getTaskId().equals(lawsuitSubApply.getTaskId())) {
//用户的部门全路径sid
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(lawsuitSubApply.getCreateDeptSid()).getData();
bv.setOrgSidPath(sysOrganizationVo.getOrgSidPath());
//流程中的参数赋值
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
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());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
//设置车辆的风控状态
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
pushRiskToFin(businessSid);
setRiskState(businessSid);
});
} catch (Exception e) {
e.printStackTrace();
}
} else {
//极光推送
lawsuitSubApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(lawsuitSubApply.getProcDefId());
messageFlowVo.setProcInsId(lawsuitSubApply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("转诉讼科目申请");
messageFlowableQuery.setMsgContent(lawsuitSubApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("转诉讼科目申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public void pushRiskToFin(String businessSid){
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(businessSid);
if(lawsuitSubApply != null){
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(lawsuitSubApply.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> voucherResultDetailDto2 = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> voucherResultDetailDto3 = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(lawsuitSubApply.getCreateDeptSid()).getData();
List<String> busVinSidList = loanLawsuitSubVehService.selectByMainSid(businessSid);
for (int i = 0; i < busVinSidList.size(); i++) {
String busVinSid = busVinSidList.get(i);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
if (salesOrder != null && busSalesOrderVehicle != null) {
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) {
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
}
bdCustomer.setTOrgIds(deptVo.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
if("7".equals(busSalesOrderVehicle.getRiskState().toString())){
BigDecimal all = BigDecimal.ZERO;
String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid);
String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid);
all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO);
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
if (all.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoDf.setSummary(customerNumber + "转诉讼");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
voucherResultDetailDtoJf.setSummary(customerNumber + "转诉讼");
voucherResultDetailDtoJf.setSubjectNo("1201.03.04.02");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(all.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf);
}
}
if("0".equals(busSalesOrderVehicle.getRiskState().toString())){//未扣回,直接转诉讼
BigDecimal all = BigDecimal.ZERO;
//应收贷款车欠款_到期欠款_累欠
BigDecimal lqMoney = BigDecimal.ZERO;
//应收贷款车欠款_未到期欠款_未到期欠款
BigDecimal wdqMoney = BigDecimal.ZERO;
//应收贷款车欠款_到期欠款_本金
BigDecimal bjMoney = BigDecimal.ZERO;
String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid);
lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq));
//未到期欠款
String wdq = loanRepaymentPlanDetailsService.getWdq(busVinSid);
wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq));
String bj = loanRepaymentPlanDetailsService.getBj(busVinSid);
bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj));
all = lqMoney.add(wdqMoney).add(bjMoney);
if (all.compareTo(BigDecimal.ZERO) != 0) {
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("转诉讼科目");
voucherResultDetailDtoJf.setSubjectNo("1201.03.03");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(all.toString());
voucherResultDetailDto2.add(voucherResultDetailDtoJf);
}
if (lqMoney.compareTo(BigDecimal.ZERO) != 0) {
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf1 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf1.setSummary("转诉讼科目");
voucherResultDetailDtoDf1.setSubjectNo("1201.02.03");
//核算部门
voucherResultDetailDtoDf1.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf1.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf1.setCredit(lqMoney.toString());
voucherResultDetailDto2.add(voucherResultDetailDtoDf1);
}
if (wdqMoney.compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf2.setSummary("转诉讼科目");
voucherResultDetailDtoDf2.setSubjectNo("1201.01.00");
//核算部门
voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf2.setCredit(wdqMoney.toString());
voucherResultDetailDto2.add(voucherResultDetailDtoDf2);
}
if (bjMoney.compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf3.setSummary("转诉讼科目");
voucherResultDetailDtoDf3.setSubjectNo("1201.02.01");
//核算部门
voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf3.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf3.setCredit(bjMoney.toString());
voucherResultDetailDto2.add(voucherResultDetailDtoDf3);
}
}
if("1".equals(busSalesOrderVehicle.getRiskState().toString())){//扣回转诉讼
BigDecimal all = BigDecimal.ZERO;
String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid);
String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid);
all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO);
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
if (all.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoDf.setSummary("转诉讼科目");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDto3.add(voucherResultDetailDtoDf);
voucherResultDetailDtoJf.setSummary("转诉讼科目");
voucherResultDetailDtoJf.setSubjectNo("1201.03.03");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(all.toString());
voucherResultDetailDto3.add(voucherResultDetailDtoJf);
}
}
}
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}
if (!voucherResultDetailDto2.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDto2);
finKingDeeFeign.saveVoucher(voucher);
}
if (!voucherResultDetailDto3.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDto3);
finKingDeeFeign.saveVoucher(voucher);
}
}
}
public void setRiskState(String businessSid){
List<String> busVinSidJh = new ArrayList<>();
List<String> busVinSidSecond = new ArrayList<>();
//判断车辆是交回、未交回还是二次销售
List<String> busVinSidList = loanLawsuitSubVehService.selectByMainSid(businessSid);
busVinSidList.removeAll(Collections.singleton(null));
if(!busVinSidList.isEmpty()){
for (int j = 0; j < busVinSidList.size(); j++) {
String busVinSid = busVinSidList.get(j);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(busVinSid).getData();
if(busSalesOrderVehicle != null){
if("0".equals(busSalesOrderVehicle.getRiskState().toString())
|| "1".equals(busSalesOrderVehicle.getRiskState().toString())){//正常和交回的,转为9
busVinSidJh.add(busVinSid);
}else if("7".equals(busSalesOrderVehicle.getRiskState().toString())){
busVinSidSecond.add(busVinSid);
}
}
}
//将交回、正常的车辆的风控状态设置为9直接诉讼立案
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
if(!busVinSidJh.isEmpty()){
busVinStateSetQuery.setState(9);
busVinStateSetQuery.setBusVinSidList(busVinSidJh);
busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
}
//将处置损失的车辆的风控状态设置为11亏损立案
if(!busVinSidSecond.isEmpty()){
busVinStateSetQuery.setState(11);
busVinStateSetQuery.setBusVinSidList(busVinSidJh);
busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
}
}
}
/**
* 撤回
*
* @param query
* @return
*/
public ResultBean revokeProcess(LawsuitSubTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(query.getBusinessSid());
String businessTaskId = lawsuitSubApply.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()));
lawsuitSubApply = fetchBySid(query.getBusinessSid());
String procId = lawsuitSubApply.getProcInstId();
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
String nextName = listResultBean.getData().get(0).getName_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if ("发起申请".equals(nextName)) {
}
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean taskReject(LawsuitSubTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(businessSid);
if (lawsuitSubApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = lawsuitSubApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
lawsuitSubApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = lawsuitSubApply.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(lawsuitSubApply.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(lawsuitSubApply.getCreateBySid()).getData();
if (userVo != null) {
if (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(LawsuitSubTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(query.getBusinessSid());
String businessTaskId = lawsuitSubApply.getTaskId();
if (query.getUserSid().equals(lawsuitSubApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
} else {
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<List<LawsuitSubGetNodeVo>> getNextNodesForSubmit(LawsuitSubGetNodeQuery query) {
ResultBean<List<LawsuitSubGetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(query.getBusinessSid());
bv.setFormVariables(variables);
bv.setModelId(lawsuitSubApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LawsuitSubGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LawsuitSubGetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<LawsuitSubGetNodeVo>> getPreviousNodesForReject(LawsuitSubGetNodeQuery query) {
ResultBean<List<LawsuitSubGetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanLawsuitSubApply lawsuitSubApply = fetchBySid(query.getBusinessSid());
bv.setFormVariables(variables);
bv.setModelId(lawsuitSubApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LawsuitSubGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LawsuitSubGetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean delegate(LawsuitSubDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

47
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehMapper.java

@ -0,0 +1,47 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVeh;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface LoanLawsuitSubVehMapper extends BaseMapper<LoanLawsuitSubVeh> {
@Delete("delete from loan_lawsuit_sub_veh where mainSid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select * from loan_lawsuit_sub_veh where mainSid = #{mainSid}")
List<LoanLawsuitSubVehDetailsVo> selByMainSid(String mainSid);
List<String> selectByMainSid(String businessSid);
}

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehMapper.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh.LoanLawsuitSubVehMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectByMainSid" resultType="java.lang.String">
select busVinSid from loan_lawsuit_sub_veh where mainSid = #{businessSid}
</select>
</mapper>

38
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehRest.java

@ -0,0 +1,38 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehFeign;
@Api(tags = "转诉讼车辆列表")
@RestController
@RequestMapping("v1/loanlawsuitsubveh")
public class LoanLawsuitSubVehRest implements LoanLawsuitSubVehFeign {
}

58
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubveh/LoanLawsuitSubVehService.java

@ -0,0 +1,58 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDetailsVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVeh;
import com.yxt.anrui.riskcenter.api.loanlawsuitsubveh.LoanLawsuitSubVehDto;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class LoanLawsuitSubVehService extends MybatisBaseService<LoanLawsuitSubVehMapper, LoanLawsuitSubVeh> {
public void insertByDto(LoanLawsuitSubVehDto dto){
LoanLawsuitSubVeh entity = new LoanLawsuitSubVeh();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public List<LoanLawsuitSubVehDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
public List<String> selectByMainSid(String businessSid) {
return baseMapper.selectByMainSid(businessSid);
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.java

@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.Map;
@ -43,4 +44,6 @@ public interface LoanRepurchaseApplyMapper extends BaseMapper<LoanRepurchaseAppl
int updateBus(@Param("busVinSid") String busVinSid);
String selectNum(String billNo);
BigDecimal selByBusVinSid(String busVinSid);
}

48
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.xml

@ -24,26 +24,28 @@
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyVo">
SELECT
sid,
nodeState,
useOrgName,
createDept,
createByName,
date_format(applyDate, '%Y-%m-%d' ) AS applyDate,
procDefId,
procInstId,
date_format(closeDate, '%Y-%m-%d' ) AS closeDate,
loanContractNo,
vinNo,
vehMark,
bankName,
bankContractNo,
loanName,
customerName,
amount,
date_format(prepareDate, '%Y-%m-%d' ) AS prepareDate
la.sid,
la.nodeState,
la.useOrgName,
la.createDept,
la.createByName,
date_format(la.applyDate, '%Y-%m-%d' ) AS applyDate,
la.procDefId,
la.procInstId,
date_format(la.closeDate, '%Y-%m-%d' ) AS closeDate,
la.loanContractNo,
la.vinNo,
la.vehMark,
la.bankName,
la.bankContractNo,
la.loanName,
la.customerName,
la.amount,
date_format(la.prepareDate, '%Y-%m-%d' ) AS prepareDate,
bv.riskState
FROM
loan_repurchase_apply
loan_repurchase_apply la
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = la.busVinSid
<where>
${ew.sqlSegment}
</where>
@ -212,4 +214,12 @@
order by billNo desc
limit 1
</select>
<select id="selByBusVinSid" resultType="java.math.BigDecimal">
SELECT c.bankNominalPrice + c.bankContractLiquidated + c.bankOtherReceivable
FROM loan_repurchase_cost c
LEFT JOIN loan_repurchase_apply a
ON c.mainSid = a.sid
WHERE a.busVinSid = #{busVinSid}
</select>
</mapper>

50
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java

@ -140,18 +140,18 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgSidPath", orgSidPath);
qw.like("la.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgSidPath", orgSidPath);
qw.like("la.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgSidPath", orgSidPath);
qw.like("la.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgSidPath", orgSidPath);
qw.like("la.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", pagerQuery.getUserSid());
qw.eq("la.createBySid", pagerQuery.getUserSid());
} else {
PagerVo<LoanRepurchaseApplyVo> p = new PagerVo<>();
return p;
@ -163,62 +163,62 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
//=======================
//分公司
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) {
qw.like("useOrgName", pagerQuery.getUseOrgName());
qw.like("la.useOrgName", pagerQuery.getUseOrgName());
}
//申请人
if (StringUtils.isNotBlank(pagerQuery.getCreateByName())) {
qw.like("createByName", pagerQuery.getCreateByName());
qw.like("la.createByName", pagerQuery.getCreateByName());
}
//申请部门
if (StringUtils.isNotBlank(pagerQuery.getCreateDept())) {
qw.like("createDept", pagerQuery.getCreateDept());
qw.like("la.createDept", pagerQuery.getCreateDept());
}
//消贷合同号
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
qw.like("loanContractNo", pagerQuery.getLoanContractNo());
qw.like("la.loanContractNo", pagerQuery.getLoanContractNo());
}
//资方
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("bankName", pagerQuery.getBankName());
qw.like("la.bankName", pagerQuery.getBankName());
}
//资方合同号
if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
qw.like("bankContractNo", pagerQuery.getBankContractNo());
qw.like("la.bankContractNo", pagerQuery.getBankContractNo());
}
//客户名称
if (StringUtils.isNotBlank(pagerQuery.getCustomerName())) {
qw.like("customerName", pagerQuery.getCustomerName());
qw.like("la.customerName", pagerQuery.getCustomerName());
}
//贷款人
if (StringUtils.isNotBlank(pagerQuery.getLoanName())) {
qw.like("loanName", pagerQuery.getLoanName());
qw.like("la.loanName", pagerQuery.getLoanName());
}
//车架号
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("vinNo", pagerQuery.getVinNo());
qw.like("la.vinNo", pagerQuery.getVinNo());
}
//车牌号
if (StringUtils.isNotBlank(pagerQuery.getVehMark())) {
qw.like("vehMark", pagerQuery.getVehMark());
qw.like("la.vehMark", pagerQuery.getVehMark());
}
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.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (la.applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(applyEndTime), "date_format (la.applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')"
);
String closingStartDate = pagerQuery.getCloseStartDate();
String closingEndDate = pagerQuery.getCloseEndDate();
qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (closeDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(closingEndDate), "date_format (closeDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (la.closeDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(closingEndDate), "date_format (la.closeDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')"
);
String prepareStartDate = pagerQuery.getPrepareStartDate();
String prepareEndDate = pagerQuery.getPrepareEndDate();
qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (la.prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (la.prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')"
);
qw.eq("isDelete", 0);
qw.orderByDesc("applyDate");
qw.eq("la.isDelete", 0);
qw.orderByDesc("la.applyDate");
IPage<LoanRepurchaseApplyVo> pagging = baseMapper.listPage(page, qw);
PagerVo<LoanRepurchaseApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -1246,4 +1246,8 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
public BigDecimal selByBusVinSid(String busVinSid) {
return baseMapper.selByBusVinSid(busVinSid);
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

@ -611,9 +611,6 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
busVinStateSetQuery.setBusVinSidList(busVinSidList);
busVinStateSetQuery.setState(1);
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
//将资金占用费状态修改为0
busVinStateSetQuery.setState(0);
ResultBean resultBean2 = busSalesOrderVehicleFeign.setFundState(busVinStateSetQuery);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();

Loading…
Cancel
Save