Browse Source

修改

zhanglei
ligaode 1 month ago
parent
commit
c2bf519703
  1. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  2. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  3. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  4. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesapply/LoanSecondarySalesApplyQuery.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesapply/LoanSecondarySalesApplyVo.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescost/LoanSecondarySalesCost.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescost/LoanSecondarySalesCostVo.java
  8. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/FileUrl.java
  9. 93
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApply.java
  10. 23
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDetailsQuery.java
  11. 110
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDetailsVo.java
  12. 105
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDto.java
  13. 103
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyFeign.java
  14. 71
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyQuery.java
  15. 81
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyVo.java
  16. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/CompleteDto.java
  17. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/DelegateQuery.java
  18. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/NodeQuery.java
  19. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/NodeVo.java
  20. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/SubmitDto.java
  21. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/TaskQuery.java
  22. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVeh.java
  23. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehDetailsVo.java
  24. 59
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehDto.java
  25. 45
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehFeign.java
  26. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyMapper.java
  27. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyMapper.xml
  28. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java
  29. 49
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyMapper.java
  30. 79
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyMapper.xml
  31. 127
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyRest.java
  32. 714
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java
  33. 43
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java
  34. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml
  35. 65
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java
  36. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  37. 72
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryAllocatebillRest.java
  38. 233
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java
  39. 25
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/flowable/GetNodeVo.java
  40. 16
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserFeign.java
  41. 19
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/UserRoleQuery.java

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

@ -1371,7 +1371,11 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<FinPaymentapplyVehicleVo> vehicleList = finPaymentapplyVehicleService.getVehicleList(finPaymentapply.getSid());
String payRemark = "";
for (FinPaymentapplyVehicleVo finPaymentapplyVehicleVo : vehicleList) {
payRemark = payRemark + finPaymentapplyVehicleVo.getVinNo() + "(" + finPaymentapplyVehicleVo.getMoney() + "元)," + finPaymentapplyDetails.getActualPay() + "," + finPaymentapplyDetails.getRemarks() + ":";
if (finPaymentapplyDetails != null){
payRemark = payRemark + finPaymentapplyVehicleVo.getVinNo() + "(" + finPaymentapplyVehicleVo.getMoney() + "元)," + finPaymentapplyDetails.getActualPay() + "," + finPaymentapplyDetails.getRemarks() + ":";
}else {
payRemark = payRemark + finPaymentapplyVehicleVo.getVinNo() + "(" + finPaymentapplyVehicleVo.getMoney() + "元)" + ":";
}
}
dataMap.put("payRemark", payRemark);
}

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

@ -84,6 +84,7 @@ public enum ProcDefEnum {
LOANCASEENTRUSTLAWYERAPPLY("案件委托律师", "process_oe3nvzgn:1:8525004"),
ENTERPRISEAPPLY("定点企业备案", "process_tvywp9ri:2:14197516"),
JTTXCYSQ("金融贴息差异调整申请", "process_q1yy2tlg:2:16682508"),
LOANSECONDARYSALESNOTAPPLY("二次销售车辆不追偿申请", ""),
/******************************测试流程id*********************************************/

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

@ -52,6 +52,7 @@ public enum LoanFileEnum {
CLOSE("038", "案件结案-结案材料"),
ENTRUSTLAWYER_WTXY("039", "案件委托律师-委托协议"),
AUDIT("040", "审计监管附件"),
SECONDARYSALESNOT("041", "二次交回车辆不追偿附件"),
;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesapply/LoanSecondarySalesApplyQuery.java

@ -43,6 +43,8 @@ public class LoanSecondarySalesApplyQuery implements Query {
private String loanName;
@ApiModelProperty("欠款合计(大于)")
private String arrearsAll;
@ApiModelProperty("是否追偿1是0否")
private String isRecovery;
private String menuUrl;
private String orgPath;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesapply/LoanSecondarySalesApplyVo.java

@ -45,6 +45,8 @@ public class LoanSecondarySalesApplyVo {
private String vehPrice;
@ApiModelProperty("预计亏损金额")
private String lossPrice;
@ApiModelProperty("是否追偿1是0否")
private String isRecovery;
@ApiModelProperty("是否允许点击办理,true允许,false不允许")
private boolean allowModify;

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescost/LoanSecondarySalesCost.java

@ -70,6 +70,7 @@ public class LoanSecondarySalesCost extends BaseEntity {
private String files;
@ApiModelProperty("车辆评估")
private BigDecimal vehicleEvaluation;
@ApiModelProperty("是否追偿1是0否")
private Integer isRecovery;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalescost/LoanSecondarySalesCostVo.java

@ -70,6 +70,8 @@ public class LoanSecondarySalesCostVo {
@ApiModelProperty("车辆评估")
private String vehicleEvaluation;
@ApiModelProperty("是否追偿1是0否")
private Integer isRecovery;
private String filesss;

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/FileUrl.java

@ -0,0 +1,15 @@
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/22 14:35
*/
@Data
public class FileUrl {
private String url;
}

93
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApply.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
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_secondary_sales_not_apply")
public class LoanSecondarySalesNotApply 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("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("欠款合计")
private BigDecimal arrearsAll; // 欠款合计
@ApiModelProperty("公司承担费用")
private BigDecimal comBearMoney; // 公司承担费用
@ApiModelProperty("亏损金额")
private BigDecimal lossPrice; // 亏损金额
@ApiModelProperty("车辆售价")
private BigDecimal vehPrice;
@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 taskDefKey; // 环节id
@ApiModelProperty("机构全路径sid")
private String orgSidPath; // 机构全路径sid
@ApiModelProperty("交回车辆二次销售申请sid")
private String secSaleSid; // 交回车辆二次销售申请sid
}

23
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDetailsQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/23
**/
@Data
public class LoanSecondarySalesNotApplyDetailsQuery {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径sid")
private String orgPath;
}

110
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDetailsVo.java

@ -0,0 +1,110 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "二次销售车辆不追偿申请 视图数据详情", description = "二次销售车辆不追偿申请 视图数据详情")
public class LoanSecondarySalesNotApplyDetailsVo 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("申请人sid")
private String createBySid;
@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("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("欠款合计")
private BigDecimal arrearsAll; // 欠款合计
@ApiModelProperty("公司承担费用")
private BigDecimal comBearMoney; // 公司承担费用
@ApiModelProperty("亏损金额")
private BigDecimal lossPrice; // 亏损金额
@ApiModelProperty("车辆售价")
private BigDecimal vehPrice;
@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 taskDefKey; // 环节id
@ApiModelProperty("机构全路径sid")
private String orgSidPath; // 机构全路径sid
@ApiModelProperty("交回车辆二次销售申请sid")
private String secSaleSid; // 交回车辆二次销售申请sid
@ApiModelProperty("附件")
private List<FileUrl> filesList = new ArrayList<>();
@ApiModelProperty("车辆列表")
private List<LoanSecondarySalesNotVehDetailsVo> loanSecondarySalesNotVehList = new ArrayList<>();
}

105
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyDto.java

@ -0,0 +1,105 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto;
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Data
@ApiModel(value = "二次销售车辆不追偿申请 数据传输对象", description = "二次销售车辆不追偿申请 数据传输对象")
public class LoanSecondarySalesNotApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请部门")
private String createDept; // 申请部门
@ApiModelProperty("申请部门sid")
private String createDeptSid; // 申请部门sid
@ApiModelProperty("申请人sid")
private String createBySid;
@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("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("欠款合计")
private BigDecimal arrearsAll; // 欠款合计
@ApiModelProperty("公司承担费用")
private BigDecimal comBearMoney; // 公司承担费用
@ApiModelProperty("亏损金额")
private BigDecimal lossPrice; // 亏损金额
@ApiModelProperty("车辆售价")
private BigDecimal vehPrice;
@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 taskDefKey; // 环节id
@ApiModelProperty("机构全路径sid")
private String orgSidPath; // 机构全路径sid
@ApiModelProperty("交回车辆二次销售申请sid")
private String secSaleSid; // 交回车辆二次销售申请sid
@ApiModelProperty("附件")
private List<FileUrl> filesList = new ArrayList<>();
@ApiModelProperty("车辆列表")
private List<LoanSecondarySalesNotVehDto> loanSecondarySalesNotVehList = new ArrayList<>();
}

103
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyFeign.java

@ -0,0 +1,103 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.flowable.*;
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 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-LoanSecondarySalesNotApply",
name = "anrui-riskcenter",
path = "v1/loansecondarysalesnotapply")
public interface LoanSecondarySalesNotApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<LoanSecondarySalesNotApplyVo>> listPage(@RequestBody PagerQuery<LoanSecondarySalesNotApplyQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody LoanSecondarySalesNotApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("初始化")
@PostMapping("/init")
ResultBean<LoanSecondarySalesNotApplyDetailsVo> init(@RequestBody LoanSecondarySalesNotApplyDetailsQuery query);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<LoanSecondarySalesNotApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<NodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<NodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody TaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody TaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody DelegateQuery query);
}

71
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyQuery.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
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 LoanSecondarySalesNotApplyQuery implements Query {
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期开始")
private String createTimeStart;
@ApiModelProperty("申请日期结束")
private String createTimeEnd;
@ApiModelProperty("办结日期开始")
private String closeDateStart;
@ApiModelProperty("办结日期结束")
private String closeDateEnd;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
private String menuUrl;
private String orgPath;
private String userSid;
}

81
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/LoanSecondarySalesNotApplyVo.java

@ -0,0 +1,81 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "二次销售车辆不追偿申请 视图数据对象", description = "二次销售车辆不追偿申请 视图数据对象")
public class LoanSecondarySalesNotApplyVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("办结日期")
private String closeDate;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("欠款合计")
private String arrearsAll;
@ApiModelProperty("车辆售价")
private String vehPrice;
@ApiModelProperty("预计亏损金额")
private String lossPrice;
@ApiModelProperty("是否允许点击办理,true允许,false不允许")
private boolean allowModify;
private String createBySid;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("流程实例id")
private String procInstId;
}

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/CompleteDto.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/DelegateQuery.java

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

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/NodeQuery.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/NodeVo.java

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

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/SubmitDto.java

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

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotapply/flowable/TaskQuery.java

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

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVeh.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh;
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;
@Data
@ApiModel(value = "二次销售车辆列表", description = "二次销售车辆列表")
@TableName("loan_secondary_sales_not_veh")
public class LoanSecondarySalesNotVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车辆类型")
private String vehType; // 车辆类型
@ApiModelProperty("车型")
private String modelName; // 车型
@ApiModelProperty("车型")
private String modelSid; // 车型
@ApiModelProperty("车型")
private String configSid; // 车型
@ApiModelProperty("销售订单车辆sid")
private String busVinSid; // 销售订单车辆sid
}

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehDetailsVo.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "二次销售车辆列表 视图数据详情", description = "二次销售车辆列表 视图数据详情")
public class LoanSecondarySalesNotVehDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车辆类型")
private String vehType; // 车辆类型
@ApiModelProperty("车型")
private String modelName; // 车型
@ApiModelProperty("车型")
private String modelSid; // 车型
@ApiModelProperty("车型")
private String configSid; // 车型
@ApiModelProperty("销售订单车辆sid")
private String busVinSid; // 销售订单车辆sid
}

59
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehDto.java

@ -0,0 +1,59 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "二次销售车辆列表 数据传输对象", description = "二次销售车辆列表 数据传输对象")
public class LoanSecondarySalesNotVehDto implements Dto {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车辆类型")
private String vehType; // 车辆类型
@ApiModelProperty("车型")
private String modelName; // 车型
@ApiModelProperty("车型")
private String modelSid; // 车型
@ApiModelProperty("车型")
private String configSid; // 车型
@ApiModelProperty("销售订单车辆sid")
private String busVinSid; // 销售订单车辆sid
@ApiModelProperty("业务sid")
private String busSid; // 业务sid
}

45
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesnotveh/LoanSecondarySalesNotVehFeign.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh;
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 org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "二次销售车辆列表")
@FeignClient(
contextId = "1-LoanSecondarySalesNotVeh",
name = "1",
path = "v1/loansecondarysalesnotveh")
public interface LoanSecondarySalesNotVehFeign {
}

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyMapper.java

@ -21,6 +21,7 @@ import java.util.Map;
**/
@Mapper
public interface LoanSecondarySalesApplyMapper extends BaseMapper<LoanSecondarySalesApply> {
IPage<LoanSecondarySalesApplyVo> selectPageVo(IPage<LoanSecondarySalesApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanSecondarySalesApply> qw,@Param("vinNo") String vinNo,@Param("vehMark") String vehMark);
int updateFlowFiled(Map<String, Object> beanToMap);

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyMapper.xml

@ -22,6 +22,7 @@
lc.arrearsAll,
lc.vehPrice,
lc.lossPrice,
if(lc.isRecovery = 1, '是', '否') as isRecovery,
la.createBySid,
la.procDefId,
la.procInstId

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java

@ -127,8 +127,6 @@ public class LoanSecondarySalesApplyService extends MybatisBaseService<LoanSecon
private SysNoticeFeign sysNoticeFeign;
@Autowired
private LoanSecondarySalesBiddingService loanSecondarySalesBiddingService;
@Autowired
private LoanOutboundApplyService loanOutboundApplyService;
public PagerVo<LoanSecondarySalesApplyVo> listPageVo(PagerQuery<LoanSecondarySalesApplyQuery> pq) {
LoanSecondarySalesApplyQuery query = pq.getParams();
@ -166,7 +164,6 @@ public class LoanSecondarySalesApplyService extends MybatisBaseService<LoanSecon
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("la.customerName", query.getCustomerName());
}
//办结日期
qw.apply(StringUtils.isNotBlank(query.getCloseDateStart()), "date_format (la.closeDate,'%Y-%m-%d') >= date_format('" + query.getCloseDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCloseDateEnd()), "date_format (la.closeDate,'%Y-%m-%d') <= date_format('" + query.getCloseDateEnd() + "','%Y-%m-%d')"
@ -178,6 +175,9 @@ public class LoanSecondarySalesApplyService extends MybatisBaseService<LoanSecon
if (StringUtils.isNotBlank(query.getArrearsAll())) {
qw.like("lc.arrearsAll", query.getArrearsAll());
}
if (StringUtils.isNotBlank(query.getIsRecovery())) {
qw.like("lc.isRecovery", query.getIsRecovery());
}
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================

49
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyMapper.java

@ -0,0 +1,49 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loansecondarysalesnotapply;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.loansecondarysalesnotapply.LoanSecondarySalesNotApply;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.LoanSecondarySalesNotApplyVo;
import java.util.Map;
@Mapper
public interface LoanSecondarySalesNotApplyMapper extends BaseMapper<LoanSecondarySalesNotApply> {
IPage<LoanSecondarySalesNotApplyVo> selectPageVo(IPage<LoanSecondarySalesNotApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanSecondarySalesNotApply> qw, @Param("vinNo") String vinNo, @Param("vehMark") String vehMark);
int updateFlowFiled(Map<String, Object> beanToMap);
String selectNum(String billNo);
int selectBySid(String join);
}

79
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyMapper.xml

@ -0,0 +1,79 @@
<?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.loansecondarysalesnotapply.LoanSecondarySalesNotApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.LoanSecondarySalesNotApplyVo">
select la.sid,
la.nodeState,
la.useOrgName,
la.createDept,
la.createByName,
DATE_FORMAT(la.createTime, '%Y-%m-%d') as createDate,
la.closeDate,
la.loanContractNo,
ss.vinNo,
ss.vehmark,
la.bankName,
la.bankContractNo,
la.customerName,
la.loanName,
la.arrearsAll,
la.vehPrice,
la.lossPrice,
la.createBySid,
la.procDefId,
la.procInstId
from loan_secondary_sales_not_apply la
left join (select group_concat(lv.vinNo) as vinNo, group_concat(lv.vehMark) as vehmark, lv.mainSid
from loan_secondary_sales_not_veh lv
group by lv.mainSid) ss on ss.mainSid = la.sid
<where>
${ew.sqlSegment}
</where>
having 1 = 1
<if test="vinNo != null and vinNo != ''">
and ss.vinNo like concat('%', #{vinNo}, '%')
</if>
<if test="vehMark != null and vehMark != ''">
and ss.vehMark like concat('%', #{vehMark}, '%')
</if>
order by la.createTime desc
</select>
<update id="updateFlowFiled">
UPDATE loan_secondary_sales_not_apply
SET nodeState=#{nodeState}
<if test="taskDefKey != null and taskDefKey != ''">
, taskDefKey=#{taskDefKey}
</if>
<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>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from loan_secondary_sales_not_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM loan_secondary_sales_not_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

127
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyRest.java

@ -0,0 +1,127 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loansecondarysalesnotapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.*;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.flowable.*;
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/loansecondarysalesnotapply")
public class LoanSecondarySalesNotApplyRest implements LoanSecondarySalesNotApplyFeign {
@Autowired
private LoanSecondarySalesNotApplyService loanSecondarySalesNotApplyService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanSecondarySalesNotApplyVo>> listPage(@RequestBody PagerQuery<LoanSecondarySalesNotApplyQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<LoanSecondarySalesNotApplyVo> pv = loanSecondarySalesNotApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody LoanSecondarySalesNotApplyDto dto) {
return loanSecondarySalesNotApplyService.saveOrUpdateDto(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
return loanSecondarySalesNotApplyService.delAll(sids);
}
@Override
public ResultBean<LoanSecondarySalesNotApplyDetailsVo> init(LoanSecondarySalesNotApplyDetailsQuery query) {
return loanSecondarySalesNotApplyService.init(query);
}
@Override
public ResultBean<LoanSecondarySalesNotApplyDetailsVo> fetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanSecondarySalesNotApplyDetailsVo loanSecondarySalesNotApplyDetailsVo = loanSecondarySalesNotApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(loanSecondarySalesNotApplyDetailsVo);
}
@Override
public ResultBean submit(SubmitDto dto) {
return loanSecondarySalesNotApplyService.submit(dto);
}
@Override
public ResultBean complete(CompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
return loanSecondarySalesNotApplyService.complete(bv);
}
@Override
public ResultBean<List<NodeVo>> getPreviousNodesForReject(NodeQuery query) {
return loanSecondarySalesNotApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<NodeVo>> getNextNodesForSubmit(NodeQuery query) {
return loanSecondarySalesNotApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(TaskQuery query) {
return loanSecondarySalesNotApplyService.reject(query);
}
@Override
public ResultBean revokeProcess(TaskQuery query) {
return loanSecondarySalesNotApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(TaskQuery query) {
return loanSecondarySalesNotApplyService.breakProcess(query);
}
@Override
public ResultBean delegate(DelegateQuery query) {
return loanSecondarySalesNotApplyService.delegate(query);
}
}

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

@ -0,0 +1,714 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loansecondarysalesnotapply;
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.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.*;
import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCostVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.*;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto;
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalesapply.LoanSecondarySalesApplyService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalesnotveh.LoanSecondarySalesNotVehService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalesveh.LoanSecondarySalesVehService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import 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.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSecondarySalesNotApplyMapper, LoanSecondarySalesNotApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private FlowFeign flowFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private LoanFileService loanFileService;
@Autowired
private LoanSecondarySalesNotVehService loanSecondarySalesNotVehService;
@Autowired
private LoanSecondarySalesApplyService loanSecondarySalesApplyService;
@Autowired
private LoanSecondarySalesVehService loanSecondarySalesVehService;
@Autowired
private LoanSecondarySalesCostService loanSecondarySalesCostService;
@Autowired
private LoanRestoreReportApplyService loanRestoreReportApplyService;
public PagerVo<LoanSecondarySalesNotApplyVo> listPageVo(PagerQuery<LoanSecondarySalesNotApplyQuery> pq) {
LoanSecondarySalesNotApplyQuery query = pq.getParams();
QueryWrapper<LoanSecondarySalesNotApply> qw = new QueryWrapper<>();
if (query != null) {
//分公司
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("la.useOrgName", query.getUseOrgName());
}
//申请人
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("la.createByName", query.getCreateByName());
}
//申请部门
if (StringUtils.isNotBlank(query.getCreateDept())) {
qw.like("la.createDept", query.getCreateDept());
}
//贷款合同编号
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("la.loanContractNo", query.getLoanContractNo());
}
//贷款人
if (StringUtils.isNotBlank(query.getLoanName())) {
qw.like("la.loanName", query.getLoanName());
}
//资方
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("la.bankName", query.getBankName());
}
//资方合同编号
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("la.bankContractNo", query.getBankContractNo());
}
//客户名称
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("la.customerName", query.getCustomerName());
}
//办结日期
qw.apply(StringUtils.isNotBlank(query.getCloseDateStart()), "date_format (la.closeDate,'%Y-%m-%d') >= date_format('" + query.getCloseDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCloseDateEnd()), "date_format (la.closeDate,'%Y-%m-%d') <= date_format('" + query.getCloseDateEnd() + "','%Y-%m-%d')"
);
//申请日期
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (la.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (la.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
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("la.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("la.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("la.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("la.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("la.createBySid", query.getUserSid());
} else {
PagerVo<LoanSecondarySalesNotApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanSecondarySalesNotApplyVo> p = new PagerVo<>();
return p;
}
}
}
IPage<LoanSecondarySalesNotApply> page = PagerUtil.queryToPage(pq);
IPage<LoanSecondarySalesNotApplyVo> pagging = baseMapper.selectPageVo(page, qw, query.getVinNo(), query.getVehMark());
List<LoanSecondarySalesNotApplyVo> paggingRecords = pagging.getRecords();
paggingRecords.removeAll(Collections.singleton(null));
if (!paggingRecords.isEmpty()) {
for (LoanSecondarySalesNotApplyVo record : pagging.getRecords()) {
if (query.getUserSid().equals(record.getCreateBySid())) {
record.setAllowModify(true);
} else {
record.setAllowModify(false);
}
}
}
PagerVo<LoanSecondarySalesNotApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> saveOrUpdateDto(LoanSecondarySalesNotApplyDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {//新增
LoanSecondarySalesNotApply loanSecondarySalesNotApply = new LoanSecondarySalesNotApply();
BeanUtil.copyProperties(dto, loanSecondarySalesNotApply, "sid");
baseMapper.insert(loanSecondarySalesNotApply);
sid = loanSecondarySalesNotApply.getSid();
List<FileUrl> filesList = dto.getFilesList();
if (filesList.size() > 0) {
for (FileUrl fileUrl : filesList) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(sid);
loanFile.setAttachType(LoanFileEnum.SECONDARYSALESNOT.getAttachType());
String filePath = fileUrl.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
//保存车辆
List<LoanSecondarySalesNotVehDto> loanSecondarySalesNotVehList = dto.getLoanSecondarySalesNotVehList();
if (!loanSecondarySalesNotVehList.isEmpty()) {
loanSecondarySalesNotVehService.saveVeh(loanSecondarySalesNotVehList, sid);
}
} else {
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(sid);
if (loanSecondarySalesNotApply == null) {
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(dto, loanSecondarySalesNotApply, "sid");
loanFileService.deleteByLinkSid(sid);
List<FileUrl> filesList = dto.getFilesList();
if (filesList.size() > 0) {
for (FileUrl fileUrl : filesList) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(sid);
loanFile.setAttachType(LoanFileEnum.SECONDARYSALESNOT.getAttachType());
String filePath = fileUrl.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
//保存车辆
List<LoanSecondarySalesNotVehDto> loanSecondarySalesNotVehList = dto.getLoanSecondarySalesNotVehList();
if (!loanSecondarySalesNotVehList.isEmpty()) {
loanSecondarySalesNotVehService.saveVeh(loanSecondarySalesNotVehList, sid);
}
baseMapper.updateById(loanSecondarySalesNotApply);
}
return rb.success().setData(sid);
}
public LoanSecondarySalesNotApplyDetailsVo fetchDetailsVoBySid(String sid) {
LoanSecondarySalesNotApply entity = fetchBySid(sid);
LoanSecondarySalesNotApplyDetailsVo vo = new LoanSecondarySalesNotApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<LoanSecondarySalesNotVehDetailsVo> loanSecondarySalesNotVehDetailsVos = loanSecondarySalesNotVehService.selByMainSid(sid);
vo.setLoanSecondarySalesNotVehList(loanSecondarySalesNotVehDetailsVos);
List<FileUrl> fileUrls = new ArrayList<>();
List<LoanFile> loanFiles = loanFileService.selectByLinkSid(sid, LoanFileEnum.SECONDARYSALESNOT.getAttachType());
for (LoanFile loanFile : loanFiles) {
FileUrl fileUrl = new FileUrl();
fileUrl.setUrl(fileUploadComponent.getUrlPrefix() + loanFile.getFilePath());
fileUrls.add(fileUrl);
}
vo.setFilesList(fileUrls);
return vo;
}
public ResultBean<LoanSecondarySalesNotApplyDetailsVo> init(LoanSecondarySalesNotApplyDetailsQuery query) {
ResultBean<LoanSecondarySalesNotApplyDetailsVo> rb = ResultBean.fireFail();
LoanSecondarySalesNotApplyDetailsVo loanSecondarySalesNotApplyDetailsVo = new LoanSecondarySalesNotApplyDetailsVo();
LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(query.getSid());
LoanSecondarySalesCostVo loanSecondarySalesCostVo = loanSecondarySalesCostService.selectByMainSid(query.getSid());
List<LoanSecondarySalesVehVo> loanSecondarySalesVehVos = loanSecondarySalesVehService.selectByMainSid(query.getSid());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
loanSecondarySalesNotApplyDetailsVo.setUseOrgSid(useOrgSid);
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
if (organizationResultBean.getData() != null) {
loanSecondarySalesNotApplyDetailsVo.setUseOrgName(organizationResultBean.getData().getName());
}
//申请部门
List<String> orgList = Arrays.asList(query.getOrgPath().split("/"));
String deptSid = orgList.get(orgList.size() - 1);
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(deptSid);
if (sysOrganizationVoResultBean.getData() != null) {
loanSecondarySalesNotApplyDetailsVo.setCreateDept(sysOrganizationVoResultBean.getData().getName());
loanSecondarySalesNotApplyDetailsVo.setCreateDeptSid(deptSid);
}
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(query.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//生成单据编号
String billNo = "";
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "ECJHBZCSQ" + 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);
}
loanSecondarySalesNotApplyDetailsVo.setBillNo(billNo);
loanSecondarySalesNotApplyDetailsVo.setCreateByName(userVoResultBean.getData().getName());
loanSecondarySalesNotApplyDetailsVo.setCreateBySid(query.getUserSid());
loanSecondarySalesNotApplyDetailsVo.setOrgSidPath(query.getOrgPath());
loanSecondarySalesNotApplyDetailsVo.setCustomerSid(loanSecondarySalesApply.getCustomerSid());
loanSecondarySalesNotApplyDetailsVo.setCustomerName(loanSecondarySalesApply.getCustomerName());
loanSecondarySalesNotApplyDetailsVo.setLoanSid(loanSecondarySalesApply.getLoanSid());
loanSecondarySalesNotApplyDetailsVo.setLoanName(loanSecondarySalesApply.getLoanName());
loanSecondarySalesNotApplyDetailsVo.setLoanContractNo(loanSecondarySalesApply.getLoanContractNo());
loanSecondarySalesNotApplyDetailsVo.setBankName(loanSecondarySalesApply.getBankName());
loanSecondarySalesNotApplyDetailsVo.setBankContractNo(loanSecondarySalesApply.getBankContractNo());
loanSecondarySalesNotApplyDetailsVo.setVehPrice(new BigDecimal(loanSecondarySalesCostVo.getVehPrice()));
BigDecimal comBearMoney = new BigDecimal(BigInteger.ZERO);
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getCollectionCost()));
if ("01".equals(loanSecondarySalesCostVo.getBankSettleCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getBankSettleCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getVehicleViolationCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getVehicleViolationCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getInspectYearCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInspectYearCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getInsureCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getInsureCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getOwnershipCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOwnershipCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getStopCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getStopCostAssume()));
}
if ("01".equals(loanSecondarySalesCostVo.getOtherCostAssumeKey())) {
comBearMoney = comBearMoney.add(new BigDecimal(loanSecondarySalesCostVo.getOtherCostAssume()));
}
loanSecondarySalesNotApplyDetailsVo.setComBearMoney(comBearMoney);
loanSecondarySalesNotApplyDetailsVo.setNodeState("待提交");
loanSecondarySalesNotApplyDetailsVo.setSecSaleSid(loanSecondarySalesApply.getSid());
List<LoanSecondarySalesNotVehDetailsVo> loanSecondarySalesNotVehDetailsVos = new ArrayList<>();
BigDecimal bigDecimal = BigDecimal.ZERO;
for (LoanSecondarySalesVehVo loanSecondarySalesVehVo : loanSecondarySalesVehVos) {
LoanSecondarySalesNotVehDetailsVo loanSecondarySalesNotVehDetailsVo = new LoanSecondarySalesNotVehDetailsVo();
loanSecondarySalesNotVehDetailsVo.setVinNo(loanSecondarySalesVehVo.getVinNo());
loanSecondarySalesNotVehDetailsVo.setVehMark(loanSecondarySalesVehVo.getVehMark());
loanSecondarySalesNotVehDetailsVo.setVehType(loanSecondarySalesVehVo.getVehType());
loanSecondarySalesNotVehDetailsVo.setModelName(loanSecondarySalesVehVo.getModelName());
loanSecondarySalesNotVehDetailsVo.setModelSid(loanSecondarySalesVehVo.getModelSid());
loanSecondarySalesNotVehDetailsVo.setConfigSid(loanSecondarySalesVehVo.getConfigSid());
loanSecondarySalesNotVehDetailsVo.setBusVinSid(loanSecondarySalesVehVo.getBusVinSid());
loanSecondarySalesNotVehDetailsVos.add(loanSecondarySalesNotVehDetailsVo);
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(loanSecondarySalesVehVo.getBusSid());
if (alrepaidAndArrVo != null) {
if (StringUtils.isNotBlank(alrepaidAndArrVo.getCurrentBeMoney())) {
bigDecimal = bigDecimal.add(new BigDecimal(alrepaidAndArrVo.getCurrentBeMoney()));
}
if (StringUtils.isNotBlank(alrepaidAndArrVo.getUnexpiredMoney())) {
bigDecimal = bigDecimal.add(new BigDecimal(alrepaidAndArrVo.getUnexpiredMoney()));
}
}
}
loanSecondarySalesNotApplyDetailsVo.setArrearsAll(bigDecimal);
loanSecondarySalesNotApplyDetailsVo.setLossPrice(loanSecondarySalesNotApplyDetailsVo.getArrearsAll().add(loanSecondarySalesNotApplyDetailsVo.getComBearMoney()));
loanSecondarySalesNotApplyDetailsVo.setLoanSecondarySalesNotVehList(loanSecondarySalesNotVehDetailsVos);
return rb.success().setData(loanSecondarySalesNotApplyDetailsVo);
}
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);
return rb.success();
}
public ResultBean submit(SubmitDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, loanSecondarySalesNotApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto).getData();
loanSecondarySalesNotApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(loanSecondarySalesNotApply.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(loanSecondarySalesNotApply.getCreateBySid());
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.LOANSECONDARYSALESNOTAPPLY.getProDefId());
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
loanSecondarySalesNotApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("二次销售车辆不追偿申请");
messageFlowableQuery.setMsgContent(loanSecondarySalesNotApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("二次销售车辆不追偿申请");
messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(loanSecondarySalesNotApply.getTaskId());
bv.setTaskDefKey(loanSecondarySalesNotApply.getTaskDefKey());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
private synchronized int submitBusinessData(LoanSecondarySalesNotApplyDto dto, LoanSecondarySalesNotApply loanSecondarySalesNotApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (loanSecondarySalesNotApply != null) {
String businessTaskId = loanSecondarySalesNotApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
//判断坏账金额是否大于2000
variables.put("ishz", loanSecondarySalesNotApply.getLossPrice().compareTo(new BigDecimal("2000")) == 1);
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
if (StringUtils.isBlank(loanSecondarySalesNotApply.getProcDefId())) {
flowProcessMapQuery.setProDefKey(bv.getModelId());
} else {
flowProcessMapQuery.setProDefKey(loanSecondarySalesNotApply.getProcDefId());
}
flowProcessMapQuery.setVariables(variables);
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(loanSecondarySalesNotApply.getOrgSidPath());
if (bv.getTaskId().equals(loanSecondarySalesNotApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
loanSecondarySalesNotApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(loanSecondarySalesNotApply.getProcDefId());
ufVo.setProcInsId(loanSecondarySalesNotApply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("二次销售车辆不追偿申请");
messageFlowableQuery.setMsgContent(loanSecondarySalesNotApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("二次销售车辆不追偿申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<NodeVo>> getPreviousNodesForReject(NodeQuery query) {
ResultBean<List<NodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(query.getBusinessSid());
//判断坏账金额是否大于2000
variables.put("ishz", loanSecondarySalesNotApply.getLossPrice().compareTo(new BigDecimal("2000")) == 1);
BeanUtil.copyProperties(query, bv);
bv.setModelId(loanSecondarySalesNotApply.getProcDefId());
bv.setFormVariables(variables);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<NodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), NodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<NodeVo>> getNextNodesForSubmit(NodeQuery query) {
ResultBean<List<NodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(query.getBusinessSid());
//判断坏账金额是否大于2000
variables.put("ishz", loanSecondarySalesNotApply.getLossPrice().compareTo(new BigDecimal("2000")) == 1);
BeanUtil.copyProperties(query, bv);
bv.setModelId(loanSecondarySalesNotApply.getProcDefId());
bv.setFormVariables(variables);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<NodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), NodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean reject(TaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(businessSid);
if (loanSecondarySalesNotApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = loanSecondarySalesNotApply.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);
//判断坏账金额是否大于2000
variables.put("ishz", loanSecondarySalesNotApply.getLossPrice().compareTo(new BigDecimal("2000")) == 1);
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);
//极光推送
loanSecondarySalesNotApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = loanSecondarySalesNotApply.getProcInstId();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(loanSecondarySalesNotApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("二次销售车辆不追偿申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(loanSecondarySalesNotApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(loanSecondarySalesNotApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("二次销售车辆不追偿申请");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(TaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanSecondarySalesNotApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(TaskQuery 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("请填写意见");
}
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanSecondarySalesNotApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(loanSecondarySalesNotApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean delegate(DelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

43
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java

@ -0,0 +1,43 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loansecondarysalesnotveh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVeh;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface LoanSecondarySalesNotVehMapper extends BaseMapper<LoanSecondarySalesNotVeh> {
void deleteByMainSid(String sid);
@Select("select * from loan_secondary_sales_not_veh where mainSid = #{mainSid}")
List<LoanSecondarySalesNotVehDetailsVo> selByMainSid(String mainSid);
}

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml

@ -0,0 +1,12 @@
<?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.loansecondarysalesnotveh.LoanSecondarySalesNotVehMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<delete id="deleteByMainSid">
delete
from loan_secondary_sales_not_veh
where mainSid = #{s}
</delete>
</mapper>

65
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loansecondarysalesnotveh;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVeh;
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo;
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.loansecondarysalesnotveh.LoanSecondarySalesNotVeh;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class LoanSecondarySalesNotVehService extends MybatisBaseService<LoanSecondarySalesNotVehMapper, LoanSecondarySalesNotVeh> {
public void saveVeh(List<LoanSecondarySalesNotVehDto> loanSecondarySalesNotVehDtoList, String sid) {
//先删除
baseMapper.deleteByMainSid(sid);
//保存
for (int i = 0; i < loanSecondarySalesNotVehDtoList.size(); i++) {
LoanSecondarySalesNotVehDto loanSecondarySalesNotVehDto = loanSecondarySalesNotVehDtoList.get(i);
LoanSecondarySalesNotVeh loanSecondarySalesNotVeh = new LoanSecondarySalesNotVeh();
BeanUtil.copyProperties(loanSecondarySalesNotVehDto, loanSecondarySalesNotVeh, "sid");
loanSecondarySalesNotVeh.setMainSid(sid);
baseMapper.insert(loanSecondarySalesNotVeh);
}
}
public List<LoanSecondarySalesNotVehDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

@ -67,6 +67,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import java.util.regex.Pattern;
@ -370,6 +371,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
dto.setStayDetermineMoneyNew(dto.getStayDetermineMoney());
if (StringUtils.isBlank(dto.getSecondaryUploadDate())){
dto.setSecondaryUploadDate("");
dto.setSecondaryUploadMoney("0");
}
this.updateBySid(dto, dtoSid);
return rb.success();

72
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryAllocatebillRest.java

@ -81,7 +81,7 @@ public class WmsInventoryAllocatebillRest {
return rb.success().setData(vo);
}
/*********************************************************流程************************************************************/
/*********************************************************调拨申请(分公司内)流程************************************************************/
@ApiOperation("提交")
@PostMapping("/submitApply")
@ -141,4 +141,74 @@ public class WmsInventoryAllocatebillRest {
public ResultBean assignTask(@RequestBody FlowDelegateQuery query) {
return wmsInventoryAllocateBillService.assignTask(query);
}
/*********************************************************调拨申请(集团内)流程************************************************************/
@ApiOperation("提交")
@PostMapping("/submitApply2")
public ResultBean submitApply2(@Valid @RequestBody SubmitFlowDto dto) {
return wmsInventoryAllocateBillService.submitApply2(dto);
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete2")
public ResultBean complete2(@Valid @RequestBody CompleteFlowDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId("");
return wmsInventoryAllocateBillService.complete2(bv);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject2")
ResultBean<List<FlowNodeVo>> getPreviousNodesForReject2(@Valid @SpringQueryMap FlowNodeQuery query) {
return wmsInventoryAllocateBillService.getPreviousNodesForReject2(query);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit2")
ResultBean<List<FlowNodeVo>> getNextNodesForSubmit2(@Valid @SpringQueryMap FlowNodeQuery query) {
return wmsInventoryAllocateBillService.getNextNodesForSubmit2(query);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject2")
public ResultBean taskReject2(@Valid @RequestBody FlowTaskQuery query) {
return wmsInventoryAllocateBillService.taskReject2(query);
}
/*********************************************************调拨申请(一级站内)流程************************************************************/
@ApiOperation("提交")
@PostMapping("/submitApply3")
public ResultBean submitApply3(@Valid @RequestBody SubmitFlowDto dto) {
return wmsInventoryAllocateBillService.submitApply3(dto);
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete3")
public ResultBean complete3(@Valid @RequestBody CompleteFlowDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId("");
return wmsInventoryAllocateBillService.complete3(bv);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject3")
ResultBean<List<FlowNodeVo>> getPreviousNodesForReject3(@Valid @SpringQueryMap FlowNodeQuery query) {
return wmsInventoryAllocateBillService.getPreviousNodesForReject3(query);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit3")
ResultBean<List<FlowNodeVo>> getNextNodesForSubmit3(@Valid @SpringQueryMap FlowNodeQuery query) {
return wmsInventoryAllocateBillService.getNextNodesForSubmit3(query);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject3")
public ResultBean taskReject3(@Valid @RequestBody FlowTaskQuery query) {
return wmsInventoryAllocateBillService.taskReject3(query);
}
}

233
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java

@ -31,6 +31,8 @@ import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.feign.portal.sysuser.UserRoleQuery;
import com.yxt.wms.feign.portal.sysuserrole.SysUserRoleFeign;
import com.yxt.wms.utils.Rule;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
@ -107,30 +109,30 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
return p;
}
}
qw.eq("wb.grade",query.getGrade());
if (StringUtils.isNotBlank(query.getOutOrgName())){
qw.like("wb.createOrgName",query.getOutOrgName());
qw.eq("wb.grade", query.getGrade());
if (StringUtils.isNotBlank(query.getOutOrgName())) {
qw.like("wb.createOrgName", query.getOutOrgName());
}
if (StringUtils.isNotBlank(query.getDeptName())){
qw.like("wb.deptName",query.getDeptName());
if (StringUtils.isNotBlank(query.getDeptName())) {
qw.like("wb.deptName", query.getDeptName());
}
if (StringUtils.isNotBlank(query.getCreateByName())){
qw.like("wb.createByName",query.getCreateByName());
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("wb.createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getBillNo())){
qw.like("wb.billNo",query.getBillNo());
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("wb.billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getOutPlatName())){
qw.like("wb.outPlatName",query.getOutPlatName());
if (StringUtils.isNotBlank(query.getOutPlatName())) {
qw.like("wb.outPlatName", query.getOutPlatName());
}
if (StringUtils.isNotBlank(query.getInOrgName())){
qw.like("wb.inOrgName",query.getInOrgName());
if (StringUtils.isNotBlank(query.getInOrgName())) {
qw.like("wb.inOrgName", query.getInOrgName());
}
if (StringUtils.isNotBlank(query.getInPlatName())){
qw.like("wb.inPlatName",query.getInPlatName());
if (StringUtils.isNotBlank(query.getInPlatName())) {
qw.like("wb.inPlatName", query.getInPlatName());
}
if (StringUtils.isNotBlank(query.getConfirmName())){
qw.like("wb.confirmName",query.getConfirmName());
if (StringUtils.isNotBlank(query.getConfirmName())) {
qw.like("wb.confirmName", query.getConfirmName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
@ -213,7 +215,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
}
}
/**********************************************调拨申请(集团内同一分公司两一级站间调拨)流程**************************************************/
/**********************************************调拨申请(分公司内)流程**************************************************/
public ResultBean submitApply(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -238,6 +240,27 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
UserRoleQuery userRoleQuery = new UserRoleQuery();
userRoleQuery.setRoleSid("bdacdca7-7a62-49b1-84c6-e32a4ffab777");
if (list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")) {
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getInPlatSid());
} else {
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid());
}
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
bv.setNextNodeUserSids("");
} else {
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
@ -341,6 +364,51 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskDefKey().equals("Activity_1jchfap")) {//调出方站长审批
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserRoleQuery userRoleQuery = new UserRoleQuery();
userRoleQuery.setRoleSid(candidateGroups.get(0));
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid());
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
bv.setNextNodeUserSids("");
} else {
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
}else if (bv.getTaskDefKey().equals("Activity_0kn4sub")){//调入方站长审批
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserRoleQuery userRoleQuery = new UserRoleQuery();
userRoleQuery.setRoleSid(candidateGroups.get(0));
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getInPlatSid());
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
bv.setNextNodeUserSids("");
} else {
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
}
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -553,7 +621,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
return rb.success();
}
/**********************************************调拨申请(集团内不同分公司两一级站间调拨)流程**************************************************/
/**********************************************调拨申请(集团内)流程**************************************************/
public ResultBean submitApply2(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -574,6 +642,36 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
UserRoleQuery userRoleQuery = new UserRoleQuery();
if (list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")) {
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
userRoleQuery.setRoleSid(candidateGroups.get(0));
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid());
} else {
userRoleQuery.setRoleSid("bdacdca7-7a62-49b1-84c6-e32a4ffab777");
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid());
}
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
bv.setNextNodeUserSids("");
} else {
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
@ -628,7 +726,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
return complete2(bv);
}
return rb;
}
@ -638,6 +736,12 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("iscdy", true);
variables.put("isrdy", true);
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -647,6 +751,29 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskDefKey().equals("Activity_1jchfap")) {//调出方站长审批
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserRoleQuery userRoleQuery = new UserRoleQuery();
userRoleQuery.setRoleSid(candidateGroups.get(0));
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid());
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
bv.setNextNodeUserSids("");
} else {
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
}
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -682,7 +809,16 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("iscdy", true);
variables.put("isrdy", true);
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -694,7 +830,16 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("iscdy", true);
variables.put("isrdy", true);
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -724,6 +869,13 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("iscdy", true);
variables.put("isrdy", true);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -761,7 +913,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
return rb.setMsg("操作失败!提交的数据不一致!");
}
/**********************************************调拨申请(自有、合作二级站间调拨)流程**************************************************/
/**********************************************调拨申请(一级站内)流程**************************************************/
public ResultBean submitApply3(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -782,6 +934,12 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("ishz", true);
variables.put("iscc", true);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
@ -836,7 +994,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
return complete3(bv);
}
return rb;
}
@ -846,6 +1004,12 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("ishz", true);
variables.put("iscc", true);
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -890,7 +1054,16 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("ishz", true);
variables.put("iscc", true);
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -902,7 +1075,16 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("ishz", true);
variables.put("iscc", true);
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -932,6 +1114,13 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
variables.put("ishz", true);
variables.put("iscc", true);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());

25
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/flowable/GetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.wms.biz.inventory.wmsinventoryallocatebill.flowable;
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 GetNodeVo 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;
}

16
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserFeign.java

@ -1,16 +1,18 @@
package com.yxt.wms.feign.portal.sysuser;
import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@Api(tags = "用户表")
@FeignClient(
contextId = "anrui-portal-SysUser",
@ -24,5 +26,15 @@ public interface SysUserFeign {
@ApiOperation("根据sid获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysUserVo> fetchBySid(@PathVariable("sid") String sid);
ResultBean<SysUserVo> fetchBySid(@PathVariable("sid") String sid);
/**
* 参数为下一环节角色sid机构sid
*
* @param query
* @return
*/
@ApiOperation(value = "获取其他机构链角色的用户")
@GetMapping(value = "getOtherOrgRoleUser")
ResultBean<List<SysUserVo>> getOtherOrgRoleUser(@SpringQueryMap UserRoleQuery query);
}

19
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/UserRoleQuery.java

@ -0,0 +1,19 @@
package com.yxt.wms.feign.portal.sysuser;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/8/25 8:38
* @Description
*/
@Data
public class UserRoleQuery implements Query {
private static final long serialVersionUID = 1913450300189800653L;
@ApiModelProperty("角色sid")
private String roleSid;
private String orgSid;
}
Loading…
Cancel
Save