Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
bb3cdebef4
  1. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml
  2. 83
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java
  3. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java
  4. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java
  5. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java
  6. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java
  7. 41
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java
  8. 40
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java
  9. 54
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java
  10. 23
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeQuery.java
  11. 45
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java
  12. 25
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/SubmitFinFundsApplyDto.java
  13. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDetailsVo.java
  14. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java
  15. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java
  16. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  17. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java
  18. 31
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml
  19. 59
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java
  20. 513
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  21. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java
  22. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java
  23. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  24. 59
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java
  25. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java
  26. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java
  27. 78
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
  28. 13
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java
  29. 53
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java
  30. 47
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java
  31. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java
  32. 38
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java
  33. 44
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java
  34. 60
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java
  35. 76
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java
  36. 34
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java
  37. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java
  38. 32
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  39. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java
  40. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml
  41. 58
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java
  42. 216
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java
  43. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedVo.java

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml

@ -222,7 +222,7 @@
bvo.rebateMoneyTwo,
bvoa.innerName,
bvo.manPurOrderTypeValue,
bvoa.createOrgSid
bvo.createOrgSid
FROM base_vehicle_out bvo
LEFT JOIN base_vehicle_out_apply bvoa
ON bvo.`mainSid` = bvoa.`sid`

83
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java

@ -0,0 +1,83 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fin(销售相关) <br/>
* File: FinCustomerBillDetailedDto.java <br/>
* Class: com.yxt.anrui.fin.api.fincustomerbilldetailed.FinCustomerBillDetailedDto <br/>
* Description: 客户账单明细表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-12 17:57:01 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户账单明细表 数据传输对象", description = "客户账单明细表 数据传输对象")
@Data
public class AppFinFundsCarriedForwardYXYSKXDto implements Dto {
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同号")
private String contractId;
@ApiModelProperty("客户名")
private String name;
@ApiModelProperty("应收项目")
private String projectName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("应收金额")
private String receivable;
@ApiModelProperty("认款金额")
private String confirmMoney;
private Boolean checked;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("认款日期")
private String confirmDate;
private String state;
private String sid;
@ApiModelProperty("应收未收sid")
private String receivablesSid;
@ApiModelProperty("付款方式value")
private String payType;
@ApiModelProperty("付款方式key:1全款、2贷款")
private String payTypeKey;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
private int subscribedOf;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java

@ -83,4 +83,6 @@ public class AppFinFundsCarriedForwardYXYSKXVo implements Dto {
@ApiModelProperty("使用组织sid")
private String useOrgSid;
private int subscribedOf;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java

@ -84,5 +84,9 @@ public class FinFundsCarriedForwardApply extends BaseEntity {
private String taskId; // 任务id
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
}

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java

@ -87,12 +87,16 @@ public class FinFundsCarriedForwardApplyDetailsVo implements Vo {
private String orgSidPath; // 组织全路径
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
@ApiModelProperty("款项确认书附件")
private List<String> kxqrsImages;
private List<String> kxqrsImages = new ArrayList<>();
@ApiModelProperty("款项结转车辆列表")
private List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = new ArrayList<>();
@ApiModelProperty("应收未收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXVo> yswsFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();
/* @ApiModelProperty("应收未收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXVo> yswsFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();*/
@ApiModelProperty("已选应收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java

@ -82,6 +82,14 @@ public class FinFundsCarriedForwardApplyDto implements Dto {
private String orgSidPath; // 组织全路径
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
@ApiModelProperty("款项确认书附件")
private List<String> kxqrsImages = new ArrayList<>();
@ApiModelProperty("款项结转车辆列表")
private List<FinFundsCarriedForwardVehDto> finFundsCarriedForwardVehDetailsVos = new ArrayList<>();
@ApiModelProperty("已选应收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXDto> yxysFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();
}

41
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java

@ -25,14 +25,25 @@
*********************************************************/
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import com.yxt.anrui.fin.api.finbillapplication.SubmitFinBillApplicationDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
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;
/**
@ -80,4 +91,34 @@ public interface FinFundsCarriedForwardApplyFeign {
@PostMapping("/init")
@ResponseBody
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(@RequestBody FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery);
/****************************************************审批流程*****************************************************/
@ApiOperation("款项结转审批流程")
@PostMapping("/submitFinFundsApply")
public ResultBean submitFinFundsApply(@RequestBody @Valid SubmitFinFundsApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody FinFundsApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody FinFundsApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody FinFundsApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody FinFundsApplyTaskQuery query);
}

40
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java

@ -25,6 +25,11 @@
*********************************************************/
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -74,4 +79,39 @@ public class FinFundsCarriedForwardApplyFeignFallback implements FinFundsCarried
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
return null;
}
@Override
public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) {
return null;
}
@Override
public ResultBean complete(FinFundsApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
return null;
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
return null;
}
@Override
public ResultBean reject(FinFundsApplyTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(FinFundsApplyTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(FinFundsApplyTaskQuery query) {
return null;
}
}

54
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java

@ -0,0 +1,54 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class FinFundsApplyCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty("客户开票申请书附件信息")
private List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("款项确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("车辆登记合同附件信息")
private List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("证件")
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("附件")
private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<FinBillFileDto> arrearsCollectionAppendxs = new ArrayList<>();
}

23
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.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 FinFundsApplyNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

45
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.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 FinFundsApplyTaskQuery 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")
private String instanceId;
}

25
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/SubmitFinFundsApplyDto.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApplyDto;
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 SubmitFinFundsApplyDto extends FinFundsCarriedForwardApplyDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDetailsVo.java

@ -51,8 +51,6 @@ public class FinFundsCarriedForwardVehDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("业务sid")
private String busSid; // 业务sid
@ApiModelProperty("业务编号")

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java

@ -51,8 +51,6 @@ public class FinFundsCarriedForwardVehDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("业务sid")
private String busSid; // 业务sid
@ApiModelProperty("业务编号")
@ -71,5 +69,4 @@ public class FinFundsCarriedForwardVehDto implements Dto {
private String balance; // 剩余金额
@ApiModelProperty("本次使用金额")
private String thisUseMoney; // 本次使用金额
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java

@ -56,4 +56,6 @@ public class AppFinUncollectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("应收未收sid")
private String receivablesSid;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
}

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

@ -1069,6 +1069,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (collList.isEmpty()) {
collList = finSelectedReceivablesDetailedService.getPaymentList(qw, "");
for (AppFinUncollectedReceivablesDetailedVo record : collList) {
record.setPurchaseSystemSid(pagerQuery.getParams().getPurchaseSystemSid());
record.setReceivablesSid(record.getSid());
record.setSubscribedOf(0);
record.setConfirmDate(dateFormat.format(new Date()));
@ -1095,6 +1096,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
} else {
for (AppFinUncollectedReceivablesDetailedVo record : collList) {
record.setPurchaseSystemSid(pagerQuery.getParams().getPurchaseSystemSid());
record.setReceivablesSid(record.getSid());
record.setSubscribedOf(0);
record.setConfirmDate(dateFormat.format(new Date()));

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardA
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-fin(款项结转申请) <br/>
@ -62,4 +63,10 @@ public interface FinFundsCarriedForwardApplyMapper extends BaseMapper<FinFundsCa
@Select("select * from fin_funds_carried_forward_apply")
List<FinFundsCarriedForwardApplyVo> selectListVo();
String selectNum(String billNo);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
}

31
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml

@ -33,4 +33,35 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT(billNo, 4)
from fin_funds_carried_forward_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM fin_funds_carried_forward_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE fin_funds_carried_forward_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

59
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java

@ -25,7 +25,15 @@
*********************************************************/
package com.yxt.anrui.fin.biz.finfundscarriedforwardapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.*;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -71,31 +79,64 @@ public class FinFundsCarriedForwardApplyRest implements FinFundsCarriedForwardAp
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody FinFundsCarriedForwardApplyDto dto){
ResultBean rb = ResultBean.fireFail();
finFundsCarriedForwardApplyService.saveOrUpdateDto(dto);
return rb.success();
return finFundsCarriedForwardApplyService.saveOrUpdateAll(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
finFundsCarriedForwardApplyService.delBySids(sids);
return rb.success();
return finFundsCarriedForwardApplyService.delAll(sids);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
FinFundsCarriedForwardApplyDetailsVo vo = finFundsCarriedForwardApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
return finFundsCarriedForwardApplyService.fetchDetailsVoBySid(sid);
}
@Override
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
return finFundsCarriedForwardApplyService.init(finFundsCarriedForwardApplyInitQuery);
}
@Override
public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) {
return finFundsCarriedForwardApplyService.submitFinFundsApply(dto);
}
@Override
public ResultBean complete(FinFundsApplyCompleteDto query) {
BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(query,bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(query));
return finFundsCarriedForwardApplyService.complete(bv);
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
return finFundsCarriedForwardApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
return finFundsCarriedForwardApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(FinFundsApplyTaskQuery query) {
return finFundsCarriedForwardApplyService.reject(query);
}
@Override
public ResultBean revokeProcess(FinFundsApplyTaskQuery query) {
return finFundsCarriedForwardApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(FinFundsApplyTaskQuery query) {
return finFundsCarriedForwardApplyService.breakProcess(query);
}
}

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

@ -27,21 +27,59 @@ package com.yxt.anrui.fin.biz.finfundscarriedforwardapply;
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.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.*;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectReceivablesDetailedWCKCLRKVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService;
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
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.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.SysStaffOrg;
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.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;
@ -52,9 +90,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-fin(款项结转申请) <br/>
@ -82,6 +120,18 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
private FinCollectionConfirmationService finCollectionConfirmationService;
@Autowired
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService;
@Autowired
private FinFundsCarriedForwardVehService finFundsCarriedForwardVehService;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
public PagerVo<FinFundsCarriedForwardApplyVo> listPageVo(PagerQuery<FinFundsCarriedForwardApplyQuery> pq) {
FinFundsCarriedForwardApplyQuery query = pq.getParams();
@ -137,6 +187,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
qw.apply(StringUtils.isNotEmpty(applyStartDate), "date_format (bacva.createTime,'%Y-%m-%d') >= date_format('" + applyStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(applyEndDate), "date_format (bacva.createTime,'%Y-%m-%d') <= date_format('" + applyEndDate + "','%Y-%m-%d')"
);
qw.groupBy("fa.sid");
IPage<FinFundsCarriedForwardApply> page = PagerUtil.queryToPage(pq);
IPage<FinFundsCarriedForwardApplyVo> pagging = baseMapper.selectPageVo(page, qw, query.getJzSmallMoney(), query.getJzBigMoney());
PagerVo<FinFundsCarriedForwardApplyVo> p = PagerUtil.pageToVo(pagging, null);
@ -168,11 +219,47 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
baseMapper.updateById(entity);
}
public FinFundsCarriedForwardApplyDetailsVo fetchDetailsVoBySid(String sid) {
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> fetchDetailsVoBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
FinFundsCarriedForwardApply entity = fetchBySid(sid);
FinFundsCarriedForwardApplyDetailsVo vo = new FinFundsCarriedForwardApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
vo.setCreateByDate(DateUtil.formatDate(entity.getCreateTime()));
List<CommonAppendixVo> commonAppendixVos = commonAppendixFeign.selByLinkSid(sid).getData();
List<String> kxqrsImages = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) {
String filePath = commonAppendixVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
kxqrsImages.add(filePath);
}
vo.setKxqrsImages(kxqrsImages);
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(sid);
vo.setFinFundsCarriedForwardVehDetailsVos(finFundsCarriedForwardVehDetailsVos);
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
List<AppFinFundsCarriedForwardYXYSKXVo> appFinFundsCarriedForwardYXYSKXVoList = new ArrayList<>();
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
AppFinFundsCarriedForwardYXYSKXVo appFinFundsCarriedForwardYXYSKXVo = new AppFinFundsCarriedForwardYXYSKXVo();
appFinFundsCarriedForwardYXYSKXVo.setContractSid(finSelectedReceivablesDetailedVo.getContractSid());
appFinFundsCarriedForwardYXYSKXVo.setContractId(finSelectedReceivablesDetailedVo.getContractNo());
appFinFundsCarriedForwardYXYSKXVo.setName(finSelectedReceivablesDetailedVo.getCustomerName());
appFinFundsCarriedForwardYXYSKXVo.setCustomerSid(finSelectedReceivablesDetailedVo.getCustomerSid());
appFinFundsCarriedForwardYXYSKXVo.setProjectName(finSelectedReceivablesDetailedVo.getReceivablesName());
appFinFundsCarriedForwardYXYSKXVo.setMobile(finSelectedReceivablesDetailedVo.getCustomerPhone());
appFinFundsCarriedForwardYXYSKXVo.setReceivable(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney());
appFinFundsCarriedForwardYXYSKXVo.setConfirmMoney(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
appFinFundsCarriedForwardYXYSKXVo.setVin(finSelectedReceivablesDetailedVo.getVIN());
appFinFundsCarriedForwardYXYSKXVo.setConfirmDate(finSelectedReceivablesDetailedVo.getSubscriptionDate());
appFinFundsCarriedForwardYXYSKXVo.setReceivablesSid(finSelectedReceivablesDetailedVo.getReceivablesSid());
appFinFundsCarriedForwardYXYSKXVo.setPayType(finSelectedReceivablesDetailedVo.getPayType());
appFinFundsCarriedForwardYXYSKXVo.setPayTypeKey(finSelectedReceivablesDetailedVo.getPayTypeKey());
appFinFundsCarriedForwardYXYSKXVo.setUseOrgSid(finSelectedReceivablesDetailedVo.getUseOrgSid());
appFinFundsCarriedForwardYXYSKXVo.setSubscribedOf(finSelectedReceivablesDetailedVo.getSubscribedOf());
appFinFundsCarriedForwardYXYSKXVo.setSid(finSelectedReceivablesDetailedVo.getCollSid());
appFinFundsCarriedForwardYXYSKXVoList.add(appFinFundsCarriedForwardYXYSKXVo);
}
vo.setYxysFinFundsCarriedForwardYXYSKXVos(appFinFundsCarriedForwardYXYSKXVoList);
return rb.success().setData(vo);
}
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
@ -220,4 +307,420 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
finFundsCarriedForwardApplyDetailsVo.setUseOrgName(useOrgName);
return rb.success().setData(finFundsCarriedForwardApplyDetailsVo);
}
public ResultBean<String> saveOrUpdateAll(FinFundsCarriedForwardApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<String> kxqrsImages = dto.getKxqrsImages();
List<FinFundsCarriedForwardVehDto> finFundsCarriedForwardVehDetailsVos = dto.getFinFundsCarriedForwardVehDetailsVos();
List<AppFinFundsCarriedForwardYXYSKXDto> yxysFinFundsCarriedForwardYXYSKXVos = dto.getYxysFinFundsCarriedForwardYXYSKXVos();
if (StringUtils.isBlank(dtoSid)) {//新增
FinFundsCarriedForwardApply finFundsCarriedForwardApply = new FinFundsCarriedForwardApply();
BeanUtil.copyProperties(dto, finFundsCarriedForwardApply, "sid");
//生成单据编号
String billNo = "";
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + 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);
}
finFundsCarriedForwardApply.setBillNo(billNo);
finFundsCarriedForwardApply.setNodeState("待提交");
save(finFundsCarriedForwardApply);
for (String filePath : kxqrsImages) {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
commonAppendixDto.setLinkSid(finFundsCarriedForwardApply.getSid());
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setFilePath(filePath);
commonAppendixFeign.save(commonAppendixDto);
}
for (FinFundsCarriedForwardVehDto finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) {
FinFundsCarriedForwardVeh finFundsCarriedForwardVeh = new FinFundsCarriedForwardVeh();
BeanUtil.copyProperties(finFundsCarriedForwardVehDetailsVo, finFundsCarriedForwardVeh, "sid");
finFundsCarriedForwardVeh.setMainSid(finFundsCarriedForwardApply.getSid());
finFundsCarriedForwardVehService.save(finFundsCarriedForwardVeh);
}
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
finSelectedReceivablesDetailed.setContractSid(yxysFinFundsCarriedForwardYXYSKXVo.getContractSid());
finSelectedReceivablesDetailed.setContractNo(yxysFinFundsCarriedForwardYXYSKXVo.getContractId());
finSelectedReceivablesDetailed.setCustomerName(yxysFinFundsCarriedForwardYXYSKXVo.getName());
finSelectedReceivablesDetailed.setCustomerSid(yxysFinFundsCarriedForwardYXYSKXVo.getCustomerSid());
finSelectedReceivablesDetailed.setReceivablesName(yxysFinFundsCarriedForwardYXYSKXVo.getProjectName());
finSelectedReceivablesDetailed.setCustomerPhone(yxysFinFundsCarriedForwardYXYSKXVo.getMobile());
finSelectedReceivablesDetailed.setCurrentReceivableMoney(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getReceivable()));
finSelectedReceivablesDetailed.setSubscriptionMoney(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finSelectedReceivablesDetailed.setVIN(yxysFinFundsCarriedForwardYXYSKXVo.getVin());
finSelectedReceivablesDetailed.setSubscriptionDate(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmDate());
finSelectedReceivablesDetailed.setReceivablesSid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
finSelectedReceivablesDetailed.setPayType(yxysFinFundsCarriedForwardYXYSKXVo.getPayType());
finSelectedReceivablesDetailed.setPayTypeKey(yxysFinFundsCarriedForwardYXYSKXVo.getPayTypeKey());
finSelectedReceivablesDetailed.setUseOrgSid(yxysFinFundsCarriedForwardYXYSKXVo.getUseOrgSid());
finSelectedReceivablesDetailed.setSubscribedOf(yxysFinFundsCarriedForwardYXYSKXVo.getSubscribedOf());
finSelectedReceivablesDetailed.setCollSid(finFundsCarriedForwardApply.getSid());
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed);
}
return rb.success().setData(finFundsCarriedForwardApply.getSid());
}
updateByDto(dto);
commonAppendixFeign.deleteFiles(dtoSid);
for (String filePath : kxqrsImages) {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
commonAppendixDto.setLinkSid(dtoSid);
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setFilePath(filePath);
commonAppendixFeign.save(commonAppendixDto);
}
finFundsCarriedForwardVehService.deleteByMainSid(dtoSid);
for (FinFundsCarriedForwardVehDto finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) {
FinFundsCarriedForwardVeh finFundsCarriedForwardVeh = new FinFundsCarriedForwardVeh();
BeanUtil.copyProperties(finFundsCarriedForwardVehDetailsVo, finFundsCarriedForwardVeh, "sid");
finFundsCarriedForwardVeh.setMainSid(dtoSid);
finFundsCarriedForwardVehService.save(finFundsCarriedForwardVeh);
}
finSelectedReceivablesDetailedService.deleteByCollSid(dtoSid);
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
finSelectedReceivablesDetailed.setContractSid(yxysFinFundsCarriedForwardYXYSKXVo.getContractSid());
finSelectedReceivablesDetailed.setContractNo(yxysFinFundsCarriedForwardYXYSKXVo.getContractId());
finSelectedReceivablesDetailed.setCustomerName(yxysFinFundsCarriedForwardYXYSKXVo.getName());
finSelectedReceivablesDetailed.setCustomerSid(yxysFinFundsCarriedForwardYXYSKXVo.getCustomerSid());
finSelectedReceivablesDetailed.setReceivablesName(yxysFinFundsCarriedForwardYXYSKXVo.getProjectName());
finSelectedReceivablesDetailed.setCustomerPhone(yxysFinFundsCarriedForwardYXYSKXVo.getMobile());
finSelectedReceivablesDetailed.setCurrentReceivableMoney(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getReceivable()));
finSelectedReceivablesDetailed.setSubscriptionMoney(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finSelectedReceivablesDetailed.setVIN(yxysFinFundsCarriedForwardYXYSKXVo.getVin());
finSelectedReceivablesDetailed.setSubscriptionDate(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmDate());
finSelectedReceivablesDetailed.setReceivablesSid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
finSelectedReceivablesDetailed.setPayType(yxysFinFundsCarriedForwardYXYSKXVo.getPayType());
finSelectedReceivablesDetailed.setPayTypeKey(yxysFinFundsCarriedForwardYXYSKXVo.getPayTypeKey());
finSelectedReceivablesDetailed.setUseOrgSid(yxysFinFundsCarriedForwardYXYSKXVo.getUseOrgSid());
finSelectedReceivablesDetailed.setSubscribedOf(yxysFinFundsCarriedForwardYXYSKXVo.getSubscribedOf());
finSelectedReceivablesDetailed.setCollSid(dtoSid);
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed);
}
return rb.success().setData(dtoSid);
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
commonAppendixFeign.deleteFiles(sid);
finFundsCarriedForwardVehService.deleteByMainSid(sid);
finSelectedReceivablesDetailedService.deleteByCollSid(sid);
}
return rb.success().setMsg("删除成功");
}
public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//用户的组织全路径
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(dto.getSid());
int r = submitBusinessDataPc(dto, finFundsCarriedForwardApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateAll(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
SysUserVo userVo = sysUserFeign.selectByStaffsid(finFundsCarriedForwardApply.getStaffSid()).getData();
bv.setNextNodeUserSids(userVo.getSid());
}
//用户的部门全路径sid
bv.setOrgSidPath(dto.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
//流程定义id
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finFundsCarriedForwardApply = 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(finFundsCarriedForwardApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("款项结转申请");
messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(finFundsCarriedForwardApply.getTaskId());
bv.setTaskDefKey(finFundsCarriedForwardApply.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return null;
}
/**
* 更新流程相关的状态
*
* @param map
* @return
*/
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
private int submitBusinessDataPc(SubmitFinFundsApplyDto dto, FinFundsCarriedForwardApply finFundsCarriedForwardApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (finFundsCarriedForwardApply != null) {
String businessTaskId = finFundsCarriedForwardApply.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;
}
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean reject(FinFundsApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid);
if (finFundsCarriedForwardApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = finFundsCarriedForwardApply.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);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finFundsCarriedForwardApply.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finFundsCarriedForwardApply.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(finFundsCarriedForwardApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finFundsCarriedForwardApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("款项结转申请");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(FinFundsApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(query.getBusinessSid());
String businessTaskId = finFundsCarriedForwardApply.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(FinFundsApplyTaskQuery 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("请填写意见");
}
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(query.getBusinessSid());
String businessTaskId = finFundsCarriedForwardApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if(query.getUserSid().equals(finFundsCarriedForwardApply.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 complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finFundsCarriedForwardApply.getOrgSidPath());
if (bv.getTaskId().equals(finFundsCarriedForwardApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finFundsCarriedForwardApply.getProcDefId());
ufVo.setProcInsId(finFundsCarriedForwardApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("款项结转申请");
messageFlowableQuery.setMsgContent(finFundsCarriedForwardApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("款项结转申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
}

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java

@ -29,6 +29,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -66,4 +68,10 @@ public interface FinFundsCarriedForwardVehMapper extends BaseMapper<FinFundsCarr
String fetchDJSumMoneyByBusSid(String busSid);
String fetchSKSumMoneyByBusSid(String busSid);
@Delete("delete from fin_funds_carried_forward_veh where mainSid = #{dtoSid}")
void deleteByMainSid(String dtoSid);
@Select("select * from fin_funds_carried_forward_veh where mainSid = #{dtoSid}")
List<FinFundsCarriedForwardVehDetailsVo> fetchByMainSid(String sid);
}

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java

@ -115,4 +115,12 @@ public class FinFundsCarriedForwardVehService extends MybatisBaseService<FinFund
public String fetchSKSumMoneyByBusSid(String busSid) {
return baseMapper.fetchSKSumMoneyByBusSid(busSid);
}
public void deleteByMainSid(String dtoSid) {
baseMapper.deleteByMainSid(dtoSid);
}
public List<FinFundsCarriedForwardVehDetailsVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
}

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

@ -50,6 +50,7 @@ public enum ProcDefEnum {
BASEDISPACKAGEAPPLY("优惠包申请流程", "process_ncifet6k:4:1747504"),
BUSSALESORDERRETURNVEHAPPLY("销售订单退车申请", "process_tzjjs03y:1:1012504"),
BASETRAILEROUTAPPLY("挂车出库申请", "process_tkw6vhfw:1:1705004"),
FINFUNDSAPPLY("款项结转申请", "process_ypafrrvg:1:2257504"),
BUSHANDOVER("交车确认", "process_e8feloik:5:1747508"),

59
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java

@ -1,8 +1,11 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description: 其他融产品
* @author: dimengzhe
@ -11,4 +14,60 @@ import lombok.Data;
@Data
public class LoanFinOtherPolicy extends BaseEntity {
private static final long serialVersionUID = 7109639024348200286L;
@ApiModelProperty("产品名称:组合(资方+产品类别+最高融资比例+期数)")
private String otherPolicyName;
@ApiModelProperty("资方sid")
private String bankSid;
@ApiModelProperty("资方名称")
private String bankShortName;
@ApiModelProperty("主产品sid")
private String mainPolicySid;
@ApiModelProperty("产品类别key")
private String productTypeKey;
@ApiModelProperty("产品类别value")
private String productTypeValue;
@ApiModelProperty("业务类型key")
private String busTypeKey;
@ApiModelProperty("业务类型value")
private String busTypeValue;
@ApiModelProperty("车辆大类key")
private String vehCategoryKey;
@ApiModelProperty("车辆大类value")
private String vehCategoryValue;
@ApiModelProperty("车辆功能key")
private String vehTypeKey;
@ApiModelProperty("车辆功能value")
private String vehTypeValue;
@ApiModelProperty("最高融资额比例(%)")
private String maxLoanRatio;
@ApiModelProperty("最高融资额")
private BigDecimal maxLoanAmount;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("年利率(%)")
private String yearRatio;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("报备状态:1已报备,0未报备")
private int filingState;
@ApiModelProperty("使用状态:1停用 0正常 各分公司设置的状态")
private int useSate;
@ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态")
private int riskState;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织名称")
private String createOrgName;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("使用组织名称")
private String useOrgName;
}

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java

@ -0,0 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/6
**/
@Data
public class LoanFinOtherPolicyDto implements Dto {
private static final long serialVersionUID = -1420806288260489371L;
}

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java

@ -72,4 +72,18 @@ public class LoanFinPolicy extends BaseEntity {
private int useSate;
@ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态")
private int riskState;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织名称")
private String createOrgName;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("使用组织名称")
private String useOrgName;
}

78
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java

@ -0,0 +1,78 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/6
**/
@Data
public class LoanFinPolicyDto implements Dto {
private static final long serialVersionUID = -1420806288260489371L;
private String sid;
@ApiModelProperty("政策名称:组合(资方简称+(担保/非担保)+首付比例+保证金比例+是否打包),如中车(担保)30+0打包")
private String policyName;
@ApiModelProperty("资方sid")
private String bankSid;
@ApiModelProperty("资方名称")
private String bankShortName;
@ApiModelProperty("业务类型key")
private String busTypeKey;
@ApiModelProperty("业务类型value")
private String busTypeValue;
@ApiModelProperty("车辆大类key")
private String vehCategoryKey;
@ApiModelProperty("车辆大类value")
private String vehCategoryValue;
@ApiModelProperty("车辆功能key")
private String vehTypeKey;
@ApiModelProperty("车辆功能value")
private String vehTypeValue;
@ApiModelProperty("是否打包:1打包、2不打包")
private int isPack;
@ApiModelProperty("担保类型key")
private String guaranteeTypeKey;
@ApiModelProperty("担保类型value")
private String guaranteeTypeValue;
/* @ApiModelProperty("是否车损上浮:1是0否。默认为0")
private int isVehFloat;*/
@ApiModelProperty("单车意外险")
private BigDecimal vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
/* @ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;*/
@ApiModelProperty("保证金比例(%)")
private String bondRatio;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
@ApiModelProperty("服务费类型key")
private String serviceAmountTypeKey;
@ApiModelProperty("服务费类型value")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private BigDecimal serviceAmount;
@ApiModelProperty("保险保证金")
private BigDecimal depositPremium;
@ApiModelProperty("落户保证金")
private BigDecimal depositSettle;
@ApiModelProperty("名义/留购价款")
private BigDecimal nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
@ApiModelProperty("全组织路径")
private String orgPath;
}

13
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java

@ -1,7 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description:
@ -15,4 +20,12 @@ import org.springframework.cloud.openfeign.FeignClient;
path = "v1/LoanFinPolicy",
fallback = LoanFinPolicyFeignFallback.class)
public interface LoanFinPolicyFeign {
@ApiOperation("保存修改")
@PostMapping("saveOrUpdate")
ResultBean saveOrUpdatePolicy(@RequestBody LoanFinPolicyDto dto);
@ApiOperation("初始化、详情")
@PostMapping("details")
ResultBean<LoanFinPolicyVo> details(@RequestParam("sid") String sid);
}

53
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java

@ -0,0 +1,53 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseFinBankDto.java <br/>
* Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankDto <br/>
* Description: 资方信息表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "资方信息表 数据传输对象", description = "资方信息表 数据传输对象")
@Data
public class LoanFinPolicyApplyDto implements Dto {
private String sid;
private String userSid;
@ApiModelProperty("申请分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
private String department;
@ApiModelProperty("申请人sid")
private String applicantSid;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("申请日期")
private Date applyDate;
@ApiModelProperty("申请金融产品政策sid")
private List<String> policySids = new ArrayList<>();
@ApiModelProperty("附件路径")
private List<String> annexPaths = new ArrayList<>();
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织名")
private String createOrgName;
@ApiModelProperty("使用组织全路径")
private String orgSidPath;
}

47
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java

@ -0,0 +1,47 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author Administrator
* @description
* @date 2023/7/6 15:49
*/
@Data
public class LoanFinPolicyApplyInitListVo implements Vo {
@ApiModelProperty("政策sid")
private String policySid;
@ApiModelProperty("政策名称")
private String policyName;
@ApiModelProperty("车辆功能value")
private String vehTypeValue;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
@ApiModelProperty("服务费类型value")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;
@ApiModelProperty("单车意外险")
private String vehAccidentAmount;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private BigDecimal depositSettle;
@ApiModelProperty("名义/留购价款")
private BigDecimal nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融政策")
private boolean isOtherPolicy;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/7/6 15:38
*/
@Data
public class LoanFinPolicyApplyInitVo implements Vo {
private String sid;
private String userSid;
@ApiModelProperty("申请分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
private String department;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date applyDate;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String procInstId;
@ApiModelProperty("申请金融产品政策sid")
private List<String> policySids = new ArrayList<>();
@ApiModelProperty("附件路径")
private List<String> annexPaths = new ArrayList<>();
@ApiModelProperty("使用组织全路径")
private String orgSidPath;
private List<LoanFinPolicyApplyInitListVo> policyList = new ArrayList<>();
}

38
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java

@ -0,0 +1,38 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseFinBankQuery.java <br/>
* Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankQuery <br/>
* Description: 资方信息表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "资方信息表 查询条件", description = "资方信息表 查询条件")
@Data
public class LoanFinPolicyApplyQuery implements Query {
@ApiModelProperty("分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
private String department;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("开始日期")
private String createStartTime;
@ApiModelProperty("结束日期")
private String createEndTime;
}

44
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseFinBankVo.java <br/>
* Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankVo <br/>
* Description: 资方信息表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "金融产品政策报备 视图数据对象", description = "金融产品政策报备 视图数据对象")
@Data
public class LoanFinPolicyApplyVo implements Vo {
private String sid;
@ApiModelProperty("申请分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
private String department;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date applyDate;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("备注")
private String remarks;
}

60
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java

@ -0,0 +1,60 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
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.util.Date;
/**
* File: BaseFinBank.java <br/>
* Class: com.yxt.anrui.base.api.basefinbank.BaseFinBank <br/>
* Description: 金融产品政策报备. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "金融产品政策报备", description = "金融产品政策报备")
@TableName("loan_fin_policy_record_apply")
@Data
public class LoanFinPolicyRecordApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
private String department;
@ApiModelProperty("申请人sid")
private String applicantSid;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("申请日期")
private Date applyDate;
@ApiModelProperty("申请金融产品政策sid")
private String policySid;
@ApiModelProperty("附件路径")
private String annexPath;
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String nodeSid;
@ApiModelProperty("流程实例的id")
private String procInstId;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建组织名")
private String createOrgName;
@ApiModelProperty("使用组织全路径")
private String orgSidPath;
}

76
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java

@ -0,0 +1,76 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankInitVo;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankQuery;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
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.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* File: BaseFinBankFeign.java <br/>
* Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankFeign <br/>
* Description: 金融产品政策报备. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "金融产品政策报备")
@FeignClient(
contextId = "anrui-riskcenter-LoanFinPolicyRecordApply",
name = "anrui-riskcenter",
path = "v1/loanfinpolicyrecordapply",
fallback = LoanFinPolicyRecordApplyFeignFallback.class)
public interface LoanFinPolicyRecordApplyFeign {
/**
* 新增
*
* @param dto
*/
@ApiOperation("新增修改")
@PostMapping("/saveOrUpdate")
public ResultBean save(@Valid @RequestBody LoanFinPolicyApplyDto dto);
/**
* 根据条件分页查询数据的列表已测试
*
* @param pq
*/
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanFinPolicyApplyVo>> listPage(@RequestBody PagerQuery<LoanFinPolicyApplyQuery> pq);
/**
* 金融产品政策报备初始化
*
* @param dto
*/
@ApiOperation("金融产品政策报备保存初始化")
@GetMapping("/policyRecordInit")
@ResponseBody
public ResultBean<LoanFinPolicyApplyInitVo> policyRecordInit(@RequestBody LoanFinPolicyApplyDto dto);
/**
* 金融产品政策报备初始化
*
* @param sid
*/
@ApiOperation("金融产品政策报备编辑初始化")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<LoanFinPolicyApplyInitVo> fetchDetailsBySid(@PathVariable("sid") String sid);
}

34
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java

@ -0,0 +1,34 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
@Component
public class LoanFinPolicyRecordApplyFeignFallback implements LoanFinPolicyRecordApplyFeign {
@Override
public ResultBean save(LoanFinPolicyApplyDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<LoanFinPolicyApplyVo>> listPage(PagerQuery<LoanFinPolicyApplyQuery> pq) {
return null;
}
@Override
public ResultBean<LoanFinPolicyApplyInitVo> policyRecordInit(LoanFinPolicyApplyDto dto) {
return null;
}
@Override
public ResultBean<LoanFinPolicyApplyInitVo> fetchDetailsBySid(String sid) {
return null;
}
}

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java

@ -1,7 +1,11 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyDto;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -14,4 +18,17 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("v1/LoanFinPolicy")
public class LoanFinPolicyRest implements LoanFinPolicyFeign {
@Autowired
private LoanFinPolicyService loanFinPolicyService;
@Override
public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) {
return loanFinPolicyService.saveOrUpdatePolicy(dto);
}
@Override
public ResultBean<LoanFinPolicyVo> details(String sid) {
return loanFinPolicyService.details(sid);
}
}

32
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

@ -1,7 +1,12 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicy;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyDto;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
/**
@ -11,4 +16,31 @@ import org.springframework.stereotype.Service;
**/
@Service
public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper, LoanFinPolicy> {
public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
LoanFinPolicy loanFinPolicy = new LoanFinPolicy();
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
baseMapper.insert(loanFinPolicy);
} else {
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
baseMapper.updateById(loanFinPolicy);
}
return rb.success();
}
public ResultBean<LoanFinPolicyVo> details(String sid) {
ResultBean<LoanFinPolicyVo> rb = ResultBean.fireFail();
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
return rb.setMsg("该金融产品政策不存在");
}
return null;
}
}

20
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyApplyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/6
**/
@Mapper
public interface LoanFinPolicyRecordApplyMapper extends BaseMapper<LoanFinPolicyRecordApply> {
IPage<LoanFinPolicyApplyVo> selectPageVo(IPage<LoanFinPolicyRecordApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanFinPolicyRecordApply> qw);
}

19
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml

@ -0,0 +1,19 @@
<?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.loanfinpolicyrecordapply.LoanFinPolicyRecordApplyMapper">
<select id="selectPageVo"
resultType="com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyApplyVo">
SELECT
sid,
applyCompany,
department,
applicant,
applyDate,
nodeState,
remarks
FROM loan_fin_policy_record_apply
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

58
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java

@ -0,0 +1,58 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/6
**/
@Api(tags = "金融产品政策报备")
@RestController
@RequestMapping("v1/loanfinpolicyrecordapply")
public class LoanFinPolicyRecordApplyRest implements LoanFinPolicyRecordApplyFeign {
@Autowired
private LoanFinPolicyRecordApplyService loanFinPolicyRecordApplyService;
@Override
public ResultBean save(LoanFinPolicyApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
int i = loanFinPolicyRecordApplyService.saveOrUpdateRecord(dto);
if (i > 0) {
return rb.success().setMsg("操作成功");
}
return rb.success().setMsg("操作失败");
}
@Override
public ResultBean<PagerVo<LoanFinPolicyApplyVo>> listPage(PagerQuery<LoanFinPolicyApplyQuery> pq) {
ResultBean<PagerVo<LoanFinPolicyApplyVo>> rb = ResultBean.fireFail();
PagerVo<LoanFinPolicyApplyVo> pv = loanFinPolicyRecordApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<LoanFinPolicyApplyInitVo> policyRecordInit(LoanFinPolicyApplyDto dto) {
ResultBean<LoanFinPolicyApplyInitVo> rb = ResultBean.fireFail();
LoanFinPolicyApplyInitVo vo = loanFinPolicyRecordApplyService.policyRecordInit(dto);
return rb.success().setData(vo);
}
@Override
public ResultBean<LoanFinPolicyApplyInitVo> fetchDetailsBySid(String sid) {
ResultBean<LoanFinPolicyApplyInitVo> rb = ResultBean.fireFail();
LoanFinPolicyApplyInitVo vo = loanFinPolicyRecordApplyService.fetchDetailsBySid(sid);
return rb.success().setData(vo);
}
}

216
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java

@ -0,0 +1,216 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply;
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.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankQuery;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService;
import com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyService;
import com.yxt.common.base.config.component.FileUploadComponent;
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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/6
**/
@Service
public class LoanFinPolicyRecordApplyService extends MybatisBaseService<LoanFinPolicyRecordApplyMapper, LoanFinPolicyRecordApply> {
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private LoanFinPolicyService loanFinPolicyService;
@Autowired
private LoanFinOtherPolicyService loanFinOtherPolicyService;
/**
* 保存新增
*
* @param dto
* @return
*/
public int saveOrUpdateRecord(LoanFinPolicyApplyDto dto) {
if (StringUtils.isNotBlank(dto.getSid())) {
String sid = dto.getSid();
LoanFinPolicyRecordApply entity = fetchBySid(sid);
StringBuffer sb = new StringBuffer();
BeanUtil.copyProperties(dto, entity, "id", "sid");
List<String> policySids = dto.getPolicySids();
String policySid = String.join(",", policySids);
entity.setPolicySid(policySid);
if (!dto.getAnnexPaths().isEmpty()) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
for (String filePath : dto.getAnnexPaths()) {
String path = filePath.substring(urlPrefix.length());
sb.append(path).append(",");
}
sb.delete(sb.length() - 1, sb.length());
entity.setAnnexPath(sb.toString());
}
int i = baseMapper.updateById(entity);
return i;
} else {
//新增
LoanFinPolicyRecordApply entity = new LoanFinPolicyRecordApply();
StringBuffer sb = new StringBuffer();
BeanUtil.copyProperties(dto, entity, "id", "sid");
String userSid = dto.getUserSid();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath());
if (orgSidByPath.getSuccess()) {
String userOrgSid = orgSidByPath.getData();
entity.setCreateOrgSid(userOrgSid);
ResultBean<SysOrganizationVo> organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid);
if (organizationVo.getSuccess()) {
SysOrganizationVo organizationVoData = organizationVo.getData();
if (null != organizationVoData) {
entity.setCreateOrgName(organizationVoData.getName());
}
}
}
entity.setCreateBySid(userSid);
entity.setApplicantSid(userSid);
List<String> policySids = dto.getPolicySids();
String policySid = String.join(",", policySids);
entity.setPolicySid(policySid);
if (!dto.getAnnexPaths().isEmpty()) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
for (String filePath : dto.getAnnexPaths()) {
String path = filePath.substring(urlPrefix.length());
sb.append(path).append(",");
}
sb.delete(sb.length() - 1, sb.length());
entity.setAnnexPath(sb.toString());
}
entity.setNodeState("待提交");
int i = baseMapper.insert(entity);
return i;
}
}
private QueryWrapper<LoanFinPolicyRecordApply> createQueryWrapper(LoanFinPolicyApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<LoanFinPolicyRecordApply> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getApplyCompany())) {
qw.like("applyCompany", query.getApplyCompany());
}
if (StringUtils.isNotBlank(query.getDepartment())) {
qw.like("department", query.getDepartment());
}
if (StringUtils.isNotBlank(query.getApplicant())) {
qw.like("applicant", query.getApplicant());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.eq("isDelete", 0);
qw.orderByDesc("createTime");
return qw;
}
/**
* 分页列表
*
* @param pq
* @return
*/
public PagerVo<LoanFinPolicyApplyVo> listPageVo(PagerQuery<LoanFinPolicyApplyQuery> pq) {
LoanFinPolicyApplyQuery query = pq.getParams();
QueryWrapper<LoanFinPolicyRecordApply> qw = createQueryWrapper(query);
IPage<LoanFinPolicyRecordApply> page = PagerUtil.queryToPage(pq);
IPage<LoanFinPolicyApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanFinPolicyApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* 保存初始化
*
* @param dto
* @return
*/
public LoanFinPolicyApplyInitVo policyRecordInit(LoanFinPolicyApplyDto dto) {
LoanFinPolicyApplyInitVo vo = new LoanFinPolicyApplyInitVo();
BeanUtil.copyProperties(dto, vo);
vo.setApplyDate(new Date());
List<LoanFinPolicyApplyInitListVo> policyList = new ArrayList<>();
List<String> policySids = dto.getPolicySids();
for (String policySid : policySids) {
LoanFinPolicyApplyInitListVo initVo = new LoanFinPolicyApplyInitListVo();
LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(policySid);
BeanUtil.copyProperties(loanFinPolicy, initVo);
initVo.setPolicySid(policySid);
List<LoanFinOtherPolicy> otherPolicy = loanFinOtherPolicyService.getOtherPolicyByMainSid(policySid);
otherPolicy.removeAll(Collections.singleton(null));
initVo.setOtherPolicy(!otherPolicy.isEmpty());
policyList.add(initVo);
}
vo.setPolicyList(policyList);
return vo;
}
public LoanFinPolicyApplyInitVo fetchDetailsBySid(String sid) {
LoanFinPolicyApplyInitVo vo = new LoanFinPolicyApplyInitVo();
LoanFinPolicyRecordApply entity = fetchBySid(sid);
String urlPrefix = fileUploadComponent.getUrlPrefix();
BeanUtil.copyProperties(entity, vo);
String policySid = entity.getPolicySid();
List<String> pSids = new ArrayList<>();
String[] policySids = policySid.split(",");
for (String s : policySids) {
pSids.add(s);
}
vo.setPolicySids(pSids);
List<LoanFinPolicyApplyInitListVo> policyList = new ArrayList<>();
for (String psid : policySids) {
LoanFinPolicyApplyInitListVo initVo = new LoanFinPolicyApplyInitListVo();
LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(psid);
BeanUtil.copyProperties(loanFinPolicy, initVo);
initVo.setPolicySid(psid);
List<LoanFinOtherPolicy> otherPolicy = loanFinOtherPolicyService.getOtherPolicyByMainSid(policySid);
otherPolicy.removeAll(Collections.singleton(null));
initVo.setOtherPolicy(!otherPolicy.isEmpty());
policyList.add(initVo);
}
if (StringUtils.isNotBlank(entity.getAnnexPath())) {
String annexPath = entity.getAnnexPath();
String[] splitPath = annexPath.split(",");
List<String> annexPaths = new ArrayList<>();
for (String path : splitPath) {
annexPaths.add(urlPrefix + path);
}
vo.setAnnexPaths(annexPaths);
}
vo.setPolicyList(policyList);
return vo;
}
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedVo.java

@ -47,4 +47,7 @@ public class UncollectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("是否是已认款的选择:0不是(应收未收),1是(已认款)")
private int subscribedOf;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
}

Loading…
Cancel
Save