From a90ed319060e1d9959c4d2d3336702c1f53b358d Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 8 Dec 2023 18:03:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E8=BF=98=E8=AE=A1=E6=8F=90=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/flowable/api/utils/ProcDefEnum.java | 1 + .../LoanAccrualFile.java | 18 + .../LoanMonthlyAccrualApply.java | 51 + .../LoanMonthlyAccrualApplyDto.java | 27 + .../LoanMonthlyAccrualApplyFallback.java | 19 + .../LoanMonthlyAccrualApplyFeign.java | 22 + .../LoanMonthlyAccrualApplyInit.java | 33 + .../LoanMonthlyAccrualApplyQuery.java | 31 + .../LoanMonthlyAccrualApplyVo.java | 36 + .../LoanMonthlyPlanRecord.java | 35 + .../flow/AccrualCompleteDto.java | 41 + .../flow/AccrualDelegateQuery.java | 26 + .../flow/AccrualGetNodeQuery.java | 26 + .../flow/AccrualGetNodeVo.java | 25 + .../flow/AccrualTaskQuery.java | 56 ++ .../flow/SubmitAccrualDto.java | 20 + .../LoanMonthlyAccrualRecord.java | 25 + .../LoanMonthlyAccrualRecordFeign.java | 21 + ...LoanMonthlyAccrualRecordFeignFallback.java | 11 + .../LoanMonthlyAccrualApplyMapper.java | 24 + .../LoanMonthlyAccrualApplyMapper.xml | 42 + .../LoanMonthlyAccrualApplyRest.java | 108 +++ .../LoanMonthlyAccrualApplyService.java | 916 ++++++++++++++++++ .../LoanMonthlyAccrualRecordMapper.java | 18 + .../LoanMonthlyAccrualRecordMapper.xml | 16 + .../LoanMonthlyAccrualRecordRest.java | 16 + .../LoanMonthlyAccrualRecordService.java | 26 + 27 files changed, 1690 insertions(+) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanAccrualFile.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApply.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyInit.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyPlanRecord.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualCompleteDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualDelegateQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualTaskQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/SubmitAccrualDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecord.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordService.java diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 38fd50bfab..c83fd0e80e 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -64,6 +64,7 @@ public enum ProcDefEnum { LOANBUCKLEAPPLLY("划扣申请", "process_50xtaucg:1:6757504"), COLLECTIONPAYMENT("代收代付申请", "process_6upfyv8i:1:6972504"), BEPADSINCEREAPPLY("逾期垫款申请", "process_h1mcb548:1:6712504"), + MONTHLYACCRUAL("当月应收计提申请", "process_7zpo52qj:1:7367504"), /******************************测试流程id*********************************************/ diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanAccrualFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanAccrualFile.java new file mode 100644 index 0000000000..38226bd32e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanAccrualFile.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/17 9:18 + */ +@Data +public class LoanAccrualFile { + private String filePath; + private String name; + private String size; + private String status; + private String uid; + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApply.java new file mode 100644 index 0000000000..7250b8619b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApply.java @@ -0,0 +1,51 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +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; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "划扣申请", description = "划扣申请") +@TableName("loan_monthly_accrual_apply") +@Data +public class LoanMonthlyAccrualApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请日期") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("申请人组织路径") + private String orgSidPath; // 申请人组织路径 + @ApiModelProperty("办结日期") + private Date closingDate; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyDto.java new file mode 100644 index 0000000000..003c407137 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyDto.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 14:11 + */ +@Data +public class LoanMonthlyAccrualApplyDto implements Dto { + + private String sid; + private String userSid; + private String dept; + private String deptSid; + private String applyName; + private String applyDate; + private String remarks; + private String orgPath; + private List files = new ArrayList<>(); + private List records = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java new file mode 100644 index 0000000000..c7e5d59506 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + + +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*; +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; + +import java.util.List; + + +@Component +public class LoanMonthlyAccrualApplyFallback implements LoanMonthlyAccrualApplyFeign { + + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java new file mode 100644 index 0000000000..b31072c3b5 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "月还计提") +@FeignClient( + contextId = "anrui-riskcenter-LoanMonthlyAccrualApply", + name = "anrui-riskcenter", + path = "v1/loanmonthlyaccrualapply", + fallback = LoanMonthlyAccrualApplyFallback.class) +public interface LoanMonthlyAccrualApplyFeign { + + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyInit.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyInit.java new file mode 100644 index 0000000000..6900fd02d5 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyInit.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:43 + */ +@Data +public class LoanMonthlyAccrualApplyInit implements Vo { + + private String sid; + private String userSid; + private String dept; + private String deptSid; + private String applyName; + private String applyDate; + private String remarks; + private String orgPath; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String instanceId; + private List files = new ArrayList<>(); + private List records = new ArrayList<>(); + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyQuery.java new file mode 100644 index 0000000000..097ad52344 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyQuery.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:32 + */ +@Data +public class LoanMonthlyAccrualApplyQuery implements Query { + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + private String billNo; + private String applyStartDate; + private String applyEndDate; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyVo.java new file mode 100644 index 0000000000..3cc3d2e85e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyVo.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:32 + */ +@Data +public class LoanMonthlyAccrualApplyVo implements Vo { + + private String sid; + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请日期") + private String applyDate; // 申请日期 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("备注") + private String remarks; // 备注 + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyPlanRecord.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyPlanRecord.java new file mode 100644 index 0000000000..6e55d66f59 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyPlanRecord.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:45 + */ +@Data +public class LoanMonthlyPlanRecord { + + private String recordSid; + private String loanContractNo; + private String vinNo; + @ApiModelProperty("资方名称") + private String bankName; + @ApiModelProperty("资方合同") + private String bankContractNo; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("借款人名称") + private String borrowerName; + @ApiModelProperty("期数") + private String period; + @ApiModelProperty("应还日期") + private String dueDate; + @ApiModelProperty("应还金额") + private String dueMoney; + @ApiModelProperty("销售部门") + private String salesDept; + +} + diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualCompleteDto.java new file mode 100644 index 0000000000..33bca85fdc --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class AccrualCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualDelegateQuery.java new file mode 100644 index 0000000000..0f745a40ba --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class AccrualDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeQuery.java new file mode 100644 index 0000000000..2e4cdd29df --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class AccrualGetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeVo.java new file mode 100644 index 0000000000..7d3c7e0620 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualGetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class AccrualGetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualTaskQuery.java new file mode 100644 index 0000000000..9e30260bcf --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/AccrualTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class AccrualTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/SubmitAccrualDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/SubmitAccrualDto.java new file mode 100644 index 0000000000..b699027985 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/flow/SubmitAccrualDto.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow; + +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitAccrualDto extends LoanMonthlyAccrualApplyDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecord.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecord.java new file mode 100644 index 0000000000..ee0893570b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecord.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord; + +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; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "月还计提记录", description = "月还计提还款记录") +@TableName("loan_monthly_accrual_record") +@Data +public class LoanMonthlyAccrualRecord extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请表sid") + private String mainSid; + @ApiModelProperty("还款记录sid") + private String recordSid; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeign.java new file mode 100644 index 0000000000..56de4fe3c3 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeign.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord; + +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "月还计提记录") +@FeignClient( + contextId = "anrui-riskcenter-LoanMonthlyAccrualRecord", + name = "anrui-riskcenter", + path = "v1/loanmonthlyaccrualrecord", + fallback = LoanMonthlyAccrualRecordFeignFallback.class) +public interface LoanMonthlyAccrualRecordFeign { + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeignFallback.java new file mode 100644 index 0000000000..f40e43e8de --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordFeignFallback.java @@ -0,0 +1,11 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord; + + +import org.springframework.stereotype.Component; + + +@Component +public class LoanMonthlyAccrualRecordFeignFallback implements LoanMonthlyAccrualRecordFeign { + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java new file mode 100644 index 0000000000..bdb208ecb6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualapply; + +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.loanbuckleapply.LoanBuckleApply; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + + +@Mapper +public interface LoanMonthlyAccrualApplyMapper extends BaseMapper { + +// IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +// +// int updateFlowFiled(Map map); +// +// int selectNum(String bill); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml new file mode 100644 index 0000000000..8caad1e277 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml @@ -0,0 +1,42 @@ + + + + + UPDATE loan_buckle_apply + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java new file mode 100644 index 0000000000..60d7349232 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java @@ -0,0 +1,108 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign; +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; + +import java.util.List; + + +@Api(tags = "月还计提申请") +@RestController +@RequestMapping("v1/loanmonthlyaccrualapply") +public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign { + + @Autowired + LoanMonthlyAccrualApplyService loanMonthlyAccrualApplyService; + +// @Override +// public ResultBean> listPage(PagerQuery pq) { +// ResultBean> rb = ResultBean.fireFail(); +// PagerVo pv = loanBuckleApplyService.listPage(pq); +// return rb.success().setData(pv); +// } +// +// @Override +// public ResultBean buckleInit(String[] sids) { +// return loanBuckleApplyService.buckleInit(sids); +// } +// +// +// +// @Override +// public ResultBean saveBuckle(LoanBuckleApplyDto dto) { +// return loanBuckleApplyService.saveBuckle(dto); +// } +// +// @Override +// public ResultBean buckleDetails(String sid) { +// return loanBuckleApplyService.buckleDetails(sid); +// } +// +// @Override +// public ResultBean deleteBySids(String[] sids) { +// return loanBuckleApplyService.deleteBySids(sids); +// } + +// @Override +// public ResultBean submitRecordApplication(SubmitBuckleDto dto) { +// return loanBuckleApplyService.submitRecordApplication(dto); +// } +// +// @Override +// public ResultBean complete(BuckleCompleteDto dto) { +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(dto, bv); +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// return loanBuckleApplyService.complete(bv); +// } +// +// @Override +// public ResultBean revokeProcess(BuckleTaskQuery query) { +// return loanBuckleApplyService.revokeProcess(query); +// } +// +// @Override +// public ResultBean taskReject(BuckleTaskQuery query) { +// return loanBuckleApplyService.taskReject(query); +// } +// +// @Override +// public ResultBean breakProcess(BuckleTaskQuery query) { +// return loanBuckleApplyService.breakProcess(query); +// } +// +// @Override +// public ResultBean flowRecord(String procInsId) { +// return loanBuckleApplyService.flowRecord(procInsId); +// } +// +// @Override +// public ResultBean> getNextNodesForSubmit(BuckleGetNodeQuery query) { +// return loanBuckleApplyService.getNextNodesForSubmit(query); +// } +// +// @Override +// public ResultBean> getPreviousNodesForReject(BuckleGetNodeQuery query) { +// return loanBuckleApplyService.getPreviousNodesForReject(query); +// } +// +// @Override +// public ResultBean delegate(BuckleDelegateQuery query) { +// return loanBuckleApplyService.delegate(query); +// } + + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java new file mode 100644 index 0000000000..ea51c0c92a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java @@ -0,0 +1,916 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.base.common.utils.domain.BillNo; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.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.anrui.riskcenter.api.loanbuckleapply.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo; +import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; +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 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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanMonthlyAccrualApplyService extends MybatisBaseService { + + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private LoanRepaymentHistoryService loanRepaymentHistoryService; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private LoanBuckleApplyRecordService loanBuckleApplyRecordService; + @Autowired + private LoanFileService loanFileService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private FlowFeign flowFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowableFeign flowableFeign; + +// public PagerVo listPage(PagerQuery pq) { +// IPage page = PagerUtil.queryToPage(pq); +// LoanBuckleApplyQuery pagerQuery = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// //======================= +// PrivilegeQuery privilegeQuery = new PrivilegeQuery(); +// privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); +// privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); +// privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); +// privilegeQuery.setUserSid(pagerQuery.getUserSid()); +// ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); +// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { +// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) +// String orgSidPath = pagerQuery.getOrgPath(); +// orgSidPath = orgSidPath + "/"; +// int i1 = orgSidPath.indexOf("/"); +// int i2 = orgSidPath.indexOf("/", i1 + 1); +// int i3 = orgSidPath.indexOf("/", i2 + 1); +// int i4 = orgSidPath.indexOf("/", i3 + 1); +// String orgLevelKey = defaultIdReltBean.getData(); +// if ("1".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i1); +// qw.like("orgSidPath", orgSidPath); +// } else if ("2".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i2); +// qw.like("orgSidPath", orgSidPath); +// } else if ("3".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i3); +// qw.like("orgSidPath", orgSidPath); +// } else if ("4".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i4); +// qw.like("orgSidPath", orgSidPath); +// } else if ("5".equals(orgLevelKey)) { +// qw.eq("createBySid", pagerQuery.getUserSid()); +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// //======================= +// //分公司 +// if (StringUtils.isNotBlank(pagerQuery.getCompany())) { +// qw.like("useOrgName", pagerQuery.getCompany()); +// } +// //申请人 +// if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { +// qw.like("applyName", pagerQuery.getApplyName()); +// } +// //申请编号 +// if (StringUtils.isNotBlank(pagerQuery.getBillNo())) { +// qw.like("billNo", pagerQuery.getBillNo()); +// } +// String applyStartTime = pagerQuery.getApplyStartDate(); +// String applyEndTime = pagerQuery.getApplyEndDate(); +// qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). +// apply(StringUtils.isNotEmpty(applyEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" +// ); +// qw.eq("isDelete", 0); +// qw.orderByDesc("createTime"); +// IPage pagging = baseMapper.listPage(page, qw); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return p; +// } +// +// public ResultBean buckleInit(String[] sids) { +// ResultBean rb = ResultBean.fireFail(); +// LoanBuckleApplyInit vo = new LoanBuckleApplyInit(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// vo.setApplyDate(sdf.format(new Date())); +// List historyRecords = new ArrayList<>(); +// for (String sid : sids) { +// LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); +// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(sid).getData(); +// if (null != recordVo) { +// BeanUtil.copyProperties(recordVo, record); +// } +// historyRecords.add(record); +// } +// vo.setRecords(historyRecords); +// return rb.success().setData(vo); +// } +// +// +// +// +// /** +// * 生成申请单单据编号 +// * +// * @param orgSid +// * @return +// */ +// public String getApplyCode(String orgSid) { +// //获取分公司sid +// ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); +// String orgCode = resultBean1.getData().getOrgCode(); +// BillNo b = new BillNo(); +// b.setOrgCode(orgCode); +// b.setBillType(BillTypeEnum.HKSQ.getBillType()); +// String bill = Rule.getBill(b); +// int i = baseMapper.selectNum(bill); +// String billNo = Rule.getBillNo(bill, i); +// return billNo; +// } +// +// @Transactional(rollbackFor = Exception.class) +// public ResultBean saveBuckle(LoanBuckleApplyDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// String sid = ""; +// if (StringUtils.isNotBlank(dto.getSid())) { +// sid = dto.getSid(); +// LoanBuckleApply updateEntity = fetchBySid(sid); +// if (null != updateEntity) { +// BeanUtil.copyProperties(dto, updateEntity, "id", "sid"); +// baseMapper.updateById(updateEntity); +// loanBuckleApplyRecordService.deleteByMainSid(sid); +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanBuckleFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// } +// List records = dto.getRecords(); +// if (!records.isEmpty()) { +// for (LoanBuckleHistoryRecord record : records) { +// LoanBuckleApplyRecord applyRecord = new LoanBuckleApplyRecord(); +// applyRecord.setMainSid(sid); +// applyRecord.setRepaymentHistorySid(record.getRecordSid()); +// loanBuckleApplyRecordService.insert(applyRecord); +// } +// } +// } +// } else { +// LoanBuckleApply loanBuckleApply = new LoanBuckleApply(); +// sid = loanBuckleApply.getSid(); +// BeanUtil.copyProperties(dto, loanBuckleApply, "id", "sid"); +// loanBuckleApply.setCreateBySid(dto.getUserSid()); +// loanBuckleApply.setOrgSidPath(dto.getOrgPath()); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); +// if (orgSidByPath.getSuccess()) { +// String userOrgSid = orgSidByPath.getData(); +// loanBuckleApply.setUseOrgSid(userOrgSid); +// String billNo = getApplyCode(userOrgSid); +// loanBuckleApply.setBillNo(billNo); +// ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); +// if (organizationVo.getSuccess()) { +// SysOrganizationVo organizationVoData = organizationVo.getData(); +// if (null != organizationVoData) { +// loanBuckleApply.setUseOrgName(organizationVoData.getName()); +// } +// } +// } +// loanBuckleApply.setNodeState("待提交"); +// baseMapper.insert(loanBuckleApply); +// List records = dto.getRecords(); +// if (!records.isEmpty()) { +// for (LoanBuckleHistoryRecord record : records) { +// LoanBuckleApplyRecord applyRecord = new LoanBuckleApplyRecord(); +// applyRecord.setMainSid(sid); +// applyRecord.setRepaymentHistorySid(record.getRecordSid()); +// loanBuckleApplyRecordService.insert(applyRecord); +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(record.getRecordSid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("申请中"); +// repaymentHistory.setBuckleKey("002"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanBuckleFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// } +// } +// return rb.success().setData(sid); +// } +// +// public ResultBean buckleDetails(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// LoanBuckleApplyInit initVo = new LoanBuckleApplyInit(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// if (null != loanBuckleApply) { +// BeanUtil.copyProperties(loanBuckleApply, initVo); +// initVo.setUserSid(loanBuckleApply.getCreateBySid()); +// initVo.setOrgPath(loanBuckleApply.getOrgSidPath()); +// if (StringUtils.isNotBlank(loanBuckleApply.getProcInstId())) { +// initVo.setInstanceId(loanBuckleApply.getProcInstId()); +// } +// if (null != loanBuckleApply.getApplyDate()) { +// initVo.setApplyDate(sdf.format(loanBuckleApply.getApplyDate())); +// } +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// List loanBuckleFiles = new ArrayList<>(); +// for (String file : files) { +// LoanBuckleFile loanBuckleFile = new LoanBuckleFile(); +// loanBuckleFile.setUrl(file); +// loanBuckleFiles.add(loanBuckleFile); +// } +// initVo.setFiles(loanBuckleFiles); +// } +// List records = loanBuckleApplyRecordService.selByMainSid(sid); +// List recordList = new ArrayList<>(); +// if (!records.isEmpty()) { +// for (LoanBuckleApplyRecord record : records) { +// String historySid = record.getRepaymentHistorySid(); +// LoanBuckleHistoryRecord historyRecord = new LoanBuckleHistoryRecord(); +// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(historySid).getData(); +// if (null != recordVo) { +// BeanUtil.copyProperties(recordVo, historyRecord); +// } +// recordList.add(historyRecord); +// } +// } +// initVo.setRecords(recordList); +// } +// return rb.success().setData(initVo); +// } +// +// //-------------------------------------流程------------------------------------------------/ +// +// /** +// * 判断提交的流程是否被允许 +// * +// * @param dto +// * @return +// */ +// private synchronized int submitBusinessData(SubmitBuckleDto dto, LoanBuckleApply loanBuckleApply) { +// int r = 0; +// if (StringUtils.isBlank(dto.getSid())) { +// r = 1; +// } else { +// if (loanBuckleApply != null) { +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { +// //新提交 +// r = 1; +// } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { +// //二次提交//只有数据一致的时候才能进行下一步 +// r = 2; +// } +// } else { +// r = 3; +// } +// } +// return r; +// } +// +// /** +// * 更新流程相关的状态 +// * +// * @param map +// * @return +// */ +// private int updateFlowFiled(Map map) { +// return baseMapper.updateFlowFiled(map); +// } +// +// public ResultBean submitRecordApplication(SubmitBuckleDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// LoanBuckleApply loanBuckleApply = fetchBySid(dto.getSid()); +// int r = submitBusinessData(dto, loanBuckleApply); +// if (r == 3) { +// return rb.setMsg("该申请不存在"); +// } +// if (r == 0) { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// String businessSid = ""; +// //新增修改保存 +// ResultBean resultBean = saveBuckle(dto); +// if (resultBean.getSuccess()) { +// businessSid = resultBean.getData(); +// } +// LoanBuckleApply entity = fetchBySid(businessSid); +// String orgSidPath = ""; +// if (StringUtils.isNotBlank(entity.getOrgSidPath())) { +// orgSidPath = entity.getOrgSidPath(); +// } else { +// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); +// if (null != data) { +// //根据staffSid获取用户的组织全路径 +// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); +// if (!staffOrgResultBean.getSuccess()) { +// return rb.setMsg(staffOrgResultBean.getMsg()); +// } +// //用户的组织全路径 +// orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); +// } +// } +// List orgPathList = Arrays.asList(orgSidPath.split("/")); +// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); +// if (sysOrganization == null) { +// return rb.setMsg("当前所在的组织机构不存在"); +// } +// if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +//// return rb.setMsg("当前所在的组织机构未设置主管人员"); +// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// //创建BusinessVariables实体对象 +// BusinessVariables bv = new BusinessVariables(); +// //流程中的参数赋值 +// Map variables = BeanUtil.beanToMap(dto); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(entity.getSalesUserSid())) { +//// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +//// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案"; +//// variables.put("orderNames", orderNames); +// LoanBuckleApply loanBuckleApply1 = fetchBySid(businessSid); +// String msgBusinessSid = loanBuckleApply1.getSid(); +// //用户的部门全路径sid +// bv.setOrgSidPath(loanBuckleApply1.getOrgSidPath()); +// //业务sid +// bv.setBusinessSid(businessSid); +// //用户sid +// bv.setUserSid(dto.getUserSid()); +// bv.setFormVariables(variables); +//// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +//// if (isTure) { +//// bv.setNextNodeUserSids(nextNodeUserSids_); +//// } else { +//// bv.setNextNodeUserSids(entity.getSalesUserSid()); +//// } +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// if (r == 1) { +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// ResultBean voResultBean = flowFeign.startProcess(bv); +// if (!voResultBean.getSuccess()) { +// return rb.setMsg(voResultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = voResultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); +// //==================================添加线程 +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new ThreadPoolExecutor(2, 100, +// 0L, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// Future future1 = pool.submit(() -> { +// //极光推送 +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(msgBusinessSid); +// messageFlowableQuery.setModuleName("划扣申请"); +// SysUserVo userVo = sysUserFeign.fetchBySid(loanBuckleApply1.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// messageFlowableQuery.setMsgTitle("划扣申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //==================================添加线程 +// return voResultBean; +// } +// if (r == 2) { +// // ToDo:驳回到发起人后再次提交 +// if (StringUtils.isBlank(dto.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// LoanBuckleApply loanBuckleApply2 = fetchBySid(dto.getSid()); +// bv.setTaskId(dto.getTaskId()); +// bv.setTaskDefKey(loanBuckleApply2.getNodeSid()); +// bv.setComment("重新提交"); +// bv.setInstanceId(dto.getInstanceId()); +// return complete(bv); +// } +// return rb; +// } +// +// public ResultBean complete(BusinessVariables bv) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = bv.getBusinessSid(); +// LoanBuckleApply loanBuckleApply = this.fetchBySid(businessSid); +// if (bv.getTaskId().equals(loanBuckleApply.getTaskId())) { +// bv.setOrgSidPath(loanBuckleApply.getOrgSidPath()); +// //流程中的参数赋值 +// Map variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +//// if (bv.getTaskDefKey().equals("Activity_1078xxs")) { +//// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) { +//// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid()); +//// } else { +//// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +//// } +//// } +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// bv.setFormVariables(variables); +// ResultBean resultBean = flowFeign.handleProsess(bv); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { +// LoanBuckleApply buckleApply = fetchBySid(businessSid); +// buckleApply.setClosingDate(new DateTime()); +// baseMapper.updateById(buckleApply); +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核通过"); +// repaymentHistory.setBuckleKey("003"); +// repaymentHistory.setClosingDate(new DateTime()); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// } +// +// +// public ResultBean revokeProcess(BuckleTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// return rb.success().setData(resultBean.getData()); +// } +// } +// return rb.setMsg("操作失败,提交的数据不一致!"); +// } +// +// public ResultBean taskReject(BuckleTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = query.getBusinessSid(); +// LoanBuckleApply loanBuckleApply = fetchBySid(businessSid); +// if (loanBuckleApply == null) { +// return rb.setMsg("该申请不存在"); +// } +// String businessTaskId = loanBuckleApply.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 variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// flowTaskVo.setValues(variables); +// ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = resultBean.getData(); +// Map map = BeanUtil.beanToMap(ufVo); +// //更新业务中的流程相关的参数 +// updateFlowFiled(map); +// //极光推送 +// loanBuckleApply = fetchBySid(businessSid); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// String procId = loanBuckleApply.getProcInstId(); +// messageFlowVo.setProcInsId(procId); +// messageFlowVo.setProcDefId(loanBuckleApply.getProcDefId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(businessSid); +// messageFlowableQuery.setModuleName("划扣申请"); +// ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); +// String nextName = listResultBean.getData().get(0).getName_(); +// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); +// List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +//// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { +// if ("发起申请".equals(nextName)) { +// messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); +// } else { +// SysUserVo userVo = sysUserFeign.fetchBySid(loanBuckleApply.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// } +// messageFlowableQuery.setMsgTitle("划扣申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// return rb.success(); +// } +// } +// return rb.setMsg("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean breakProcess(BuckleTaskQuery 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("请填写意见"); +// } +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (query.getUserSid().equals(loanBuckleApply.getCreateBySid())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后划扣状态改完未通过 +// LoanBuckleApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核未通过"); +// repaymentHistory.setBuckleKey("004"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后划扣状态改完未通过 +// LoanBuckleApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核未通过"); +// repaymentHistory.setBuckleKey("004"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// +// return rb.success().setData(resultBean.getData()); +// } +// } +// +// } +// return rb.setMsg("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean flowRecord(String procInsId) { +// return flowTaskFeign.businessFlowRecord(procInsId); +// } +// +// public ResultBean> getNextNodesForSubmit(BuckleGetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// +// //根据业务sid查询排产信息 +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanBuckleApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BuckleGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } +// +// public ResultBean> getPreviousNodesForReject(BuckleGetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// //根据业务sid查询排产信息 +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +//// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanBuckleApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BuckleGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } +// +// public ResultBean delegate(BuckleDelegateQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); +// BeanUtil.copyProperties(query, delegateQuery); +// flowFeign.delegate(delegateQuery); +// return rb.success(); +// } +// +// +// public ResultBean appDetail(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// AppBuckleDetailsVo vo = new AppBuckleDetailsVo(); +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (null != loanBuckleApply) { +// vo.setSid(sid); +// String dept = ""; +// String applyName = ""; +// if (StringUtils.isNotBlank(loanBuckleApply.getRemarks())) { +// vo.setRemarks(loanBuckleApply.getRemarks()); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getProcInstId())) { +// vo.setProcInsId(loanBuckleApply.getProcInstId()); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getTaskId())) { +// vo.setTaskId(loanBuckleApply.getTaskId()); +// } +// if (null != loanBuckleApply.getApplyDate()) { +// vo.setTime(sdf.format(loanBuckleApply.getApplyDate())); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getDept())) { +// dept = loanBuckleApply.getDept(); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getApplyName())) { +// applyName = loanBuckleApply.getApplyName(); +// } +// vo.setPublishInfo(dept + "-" + applyName); +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// vo.setFiles(files); +// } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(sid); +// List records = new ArrayList<>(); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// String historySid = applyRecord.getRepaymentHistorySid(); +// LoanRepaymentHistoryRecordVo data = loanRepaymentHistoryService.buckleInfo(historySid).getData(); +// if (null != data) { +// AppRecordVo appRecordVo = new AppRecordVo(); +// if (StringUtils.isNotBlank(data.getLoanContractNo())) { +// appRecordVo.setContractId(data.getLoanContractNo()); +// } +// if (StringUtils.isNotBlank(data.getPeriod())) { +// appRecordVo.setInstalments("期数:" + data.getPeriod()); +// } +// if (StringUtils.isNotBlank(data.getVinNo())) { +// appRecordVo.setVin("车架号:" + data.getVinNo()); +// } +// if (StringUtils.isNotBlank(data.getReturnWay())) { +// appRecordVo.setType(data.getReturnWay()); +// } +// if (StringUtils.isNotBlank(data.getBankName())) { +// appRecordVo.setZf(data.getBankName()); +// } +// if (StringUtils.isNotBlank(data.getBankContractNo())) { +// appRecordVo.setZfNo(data.getBankContractNo()); +// } +// if (StringUtils.isNotBlank(data.getCustomer())) { +// appRecordVo.setCusName(data.getCustomer()); +// } +// if (StringUtils.isNotBlank(data.getBorrowerName())) { +// appRecordVo.setLoanName(data.getBorrowerName()); +// } +//// if (StringUtils.isNotBlank(data.getDueDate())) { +//// appRecordVo.setRepaymentDate(data.getDueDate()); +//// } +// String yinghuan = ""; +// String weihuan = ""; +// String shihuan = ""; +// String shihuandate = ""; +//// if (StringUtils.isNotBlank(data.getDueMoney())) { +//// yinghuan = data.getDueMoney(); +//// } +//// if (StringUtils.isNotBlank(data.getOutstandingMoney())) { +//// weihuan = data.getOutstandingMoney(); +//// } +// if (StringUtils.isNotBlank(data.getActualDate())) { +// shihuandate = data.getActualDate(); +// } +// if (StringUtils.isNotBlank(data.getActualMoney())) { +// shihuan = data.getActualMoney(); +// } +// appRecordVo.setInfo1(""); +// appRecordVo.setInfo2("实还日期:" + shihuandate + ",实还金额:" + shihuan); +// records.add(appRecordVo); +// } +// } +// } +// vo.setRecords(records); +// } +// return rb.success().setData(vo); +// } +// +// public ResultBean deleteBySids(String[] sids) { +// ResultBean rb = ResultBean.fireFail(); +// for (String sid : sids) { +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// if (null != loanBuckleApply) { +// if (!loanBuckleApply.getNodeState().equals("待提交")) { +// return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); +// } +// } +// loanBuckleApply.setIsDelete(1); +// int i = baseMapper.updateById(loanBuckleApply); +// if (i == 0) { +// return rb.setMsg("删除失败"); +// } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(sid); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("未申请"); +// repaymentHistory.setBuckleKey("001"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// return ResultBean.fireSuccess().setMsg("删除成功"); +// } + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.java new file mode 100644 index 0000000000..733bb7326c --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualrecord; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface LoanMonthlyAccrualRecordMapper extends BaseMapper { + + int deleteByMainSid(@Param("mainSid") String mainSid); + + List selByMainSid(@Param("mainSid") String mainSid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.xml new file mode 100644 index 0000000000..b3c929b6c7 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM loan_monthly_accrual_record + WHERE mainSid = #{mainSid} + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordRest.java new file mode 100644 index 0000000000..a0508b4f0f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordRest.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualrecord; + +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecordFeign; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecordFeign; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Api(tags = "月还计提记录") +@RestController +@RequestMapping("v1/loanmonthlyaccrualrecord") +public class LoanMonthlyAccrualRecordRest implements LoanMonthlyAccrualRecordFeign { + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordService.java new file mode 100644 index 0000000000..02ad46f62b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualrecord/LoanMonthlyAccrualRecordService.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualrecord; + +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanMonthlyAccrualRecordService extends MybatisBaseService { + + public int deleteByMainSid(String mainSid) { + return baseMapper.deleteByMainSid(mainSid); + } + + + public List selByMainSid(String sid) { + return baseMapper.selByMainSid(sid); + } +}