diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java new file mode 100644 index 0000000000..472c4f4b9d --- /dev/null +++ b/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(销售相关)
+ * File: FinCustomerBillDetailedDto.java
+ * Class: com.yxt.anrui.fin.api.fincustomerbilldetailed.FinCustomerBillDetailedDto
+ * Description: 客户账单明细表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-12 17:57:01
+ * + * @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; +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java index a424d31c55..a4356a5783 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java +++ b/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 } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java index f34e18445b..a3d406fbe7 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java +++ b/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; // 采购系统名称 } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java index 433b9dc475..626b742a37 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java +++ b/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 kxqrsImages; + private List kxqrsImages = new ArrayList<>(); @ApiModelProperty("款项结转车辆列表") private List finFundsCarriedForwardVehDetailsVos = new ArrayList<>(); - @ApiModelProperty("应收未收款项明细") - private List yswsFinFundsCarriedForwardYXYSKXVos = new ArrayList<>(); +/* @ApiModelProperty("应收未收款项明细") + private List yswsFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();*/ @ApiModelProperty("已选应收款项明细") private List yxysFinFundsCarriedForwardYXYSKXVos = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java index ab7a9ce5a3..076143f176 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java +++ b/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 kxqrsImages = new ArrayList<>(); @ApiModelProperty("款项结转车辆列表") private List finFundsCarriedForwardVehDetailsVos = new ArrayList<>(); + @ApiModelProperty("已选应收款项明细") + private List yxysFinFundsCarriedForwardYXYSKXVos = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java index 06749ac2e0..20c15c125c 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java +++ b/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 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> getPreviousNodesForReject(@Valid @SpringQueryMap FinFundsApplyNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> 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); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java index 916223d4a7..9ab3f7b75e 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java +++ b/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 init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) { return null; } + + @Override + public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) { + return null; + } + + @Override + public ResultBean complete(FinFundsApplyCompleteDto query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(FinFundsApplyNodeQuery query) { + return null; + } + + @Override + public ResultBean> 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; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java new file mode 100644 index 0000000000..3a6a5c671e --- /dev/null +++ b/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 khkpsqsApplicationAppendxs = new ArrayList<>(); + @ApiModelProperty("款项确认书附件信息") + private List kpxxqrsApplicationAppendxs = new ArrayList<>(); + @ApiModelProperty("车辆登记合同附件信息") + private List cldjhtApplicationAppendxs = new ArrayList<>(); + @ApiModelProperty("证件") + private List zjApplicationAppendxs = new ArrayList<>(); + @ApiModelProperty("附件") + private List fjApplicationAppendxs = new ArrayList<>(); + @ApiModelProperty("欠款领票附件") + private List arrearsCollectionAppendxs = new ArrayList<>(); +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeQuery.java new file mode 100644 index 0000000000..c3fef43526 --- /dev/null +++ b/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; +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java new file mode 100644 index 0000000000..6425146258 --- /dev/null +++ b/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; +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/SubmitFinFundsApplyDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/SubmitFinFundsApplyDto.java new file mode 100644 index 0000000000..326241cef0 --- /dev/null +++ b/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; +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDetailsVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDetailsVo.java index 56da7aba51..7ae1a33141 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDetailsVo.java +++ b/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("业务编号") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java index 211775a1b6..fc503ddb18 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java +++ b/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; // 本次使用金额 - } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java index ff0447c3c5..1c7c8117f0 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedVo.java +++ b/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; } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index e8c0fe6106..afad0be659 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/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 @@ -62,4 +63,10 @@ public interface FinFundsCarriedForwardApplyMapper extends BaseMapper selectListVo(); + + String selectNum(String billNo); + + int selectBySid(String join); + + int updateFlowFiled(Map map); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml index 230643565e..81696045bd 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml @@ -33,4 +33,35 @@ ${ew.sqlSegment} + + + + + + + UPDATE fin_funds_carried_forward_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-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java index 64a3fba10f..758145d060 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java +++ b/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 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 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> getPreviousNodesForReject(FinFundsApplyNodeQuery query) { + return finFundsCarriedForwardApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean> 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); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java index 2c3a3ba62c..124a97566a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java +++ b/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(款项结转申请)
@@ -82,6 +120,18 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { FinFundsCarriedForwardApplyQuery query = pq.getParams(); @@ -137,6 +187,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService= 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 page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw, query.getJzSmallMoney(), query.getJzBigMoney()); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -168,11 +219,47 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService 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 commonAppendixVos = commonAppendixFeign.selByLinkSid(sid).getData(); + List 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 finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(sid); + vo.setFinFundsCarriedForwardVehDetailsVos(finFundsCarriedForwardVehDetailsVos); + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid); + List 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 init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) { @@ -192,12 +279,12 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService saveOrUpdateAll(FinFundsCarriedForwardApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String dtoSid = dto.getSid(); + List kxqrsImages = dto.getKxqrsImages(); + List finFundsCarriedForwardVehDetailsVos = dto.getFinFundsCarriedForwardVehDetailsVos(); + List 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 resultBean = saveOrUpdateAll(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + Map 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 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 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> getPreviousNodesForReject(FinFundsApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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> getNextNodesForSubmit(FinFundsApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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 variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + appMap.put("sourceStr", finFundsCarriedForwardApply.getSource()); + variables.put("app", appMap); + 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); + //极光推送 + 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> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List 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 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 resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map 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 resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map 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 variables = new HashMap<>(); + Map 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 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("操作失败!提交的数据不一致"); + } + + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java index 9a0ba7f834..6a5a54d63e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java +++ b/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 fetchByMainSid(String sid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java index a7ac40ada7..605ea3a7a4 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java +++ b/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 fetchByMainSid(String sid) { + return baseMapper.fetchByMainSid(sid); + } } \ No newline at end of file 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 cf20e862b3..294ff6d047 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 @@ -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"), diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedVo.java index db164af795..9f2b570c9f 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/UncollectedReceivablesDetailedVo.java +++ b/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; + }