From 69f6f78a8270c68f089487dc0628b02fc70df10d Mon Sep 17 00:00:00 2001 From: ligaode Date: Fri, 22 Nov 2024 17:50:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScmSpecialrebatedistributeFeign.java | 15 +- ...mSpecialRebatedistributeDelegateQuery.java | 23 ++ .../ScmSpecialrebatedistributeRest.java | 15 +- .../ScmSpecialrebatedistributeService.java | 21 ++ .../AppSpecialRebateDisGetVehVo.java | 55 +++++ .../AppSpecialrebatedistributeDetailsVo.java | 79 +++++++ .../AppSpecialrebatedistributeFeign.java | 75 +++++++ ...pecialrebatedistributedetailDetailsVo.java | 78 +++++++ .../flowable/AppDelegateQuery.java | 25 +++ .../flowable/AppFlowDto.java | 37 ++++ .../flowable/AppFlowQuery.java | 28 +++ .../flowable/AppFlowTaskQuery.java | 47 +++++ .../AppSpecialrebatedistributeRest.java | 90 ++++++++ .../AppSpecialrebatedistributeService.java | 198 ++++++++++++++++++ 14 files changed, 778 insertions(+), 8 deletions(-) create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmScmSpecialRebatedistributeDelegateQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialRebateDisGetVehVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeDetailsVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributedetailDetailsVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppDelegateQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowDto.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowTaskQuery.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeService.java diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java index 64c71ee120..ca5218a637 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java @@ -26,10 +26,8 @@ package com.yxt.anrui.scm.api.scmspecialrebatedistribute; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.*; +import com.yxt.anrui.scm.api.scmspecialrebatewithapply.flow.ScmSpecialRebateWithApplyDelegateQuery; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; @@ -118,4 +116,13 @@ public interface ScmSpecialrebatedistributeFeign { @GetMapping(value = "/getPreviousNodesForReject") ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody ScmScmSpecialRebatedistributeDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody ScmScmSpecialRebatedistributeDelegateQuery delegateQuery); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmScmSpecialRebatedistributeDelegateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmScmSpecialRebatedistributeDelegateQuery.java new file mode 100644 index 0000000000..2674edd70b --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmScmSpecialRebatedistributeDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class ScmScmSpecialRebatedistributeDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java index fb777a46f9..a89c91d417 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java @@ -29,10 +29,7 @@ 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.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto; -import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -142,4 +139,14 @@ public class ScmSpecialrebatedistributeRest implements ScmSpecialrebatedistribut public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return scmSpecialrebatedistributeService.getPreviousNodesForReject(query); } + + @Override + public ResultBean delegate(ScmScmSpecialRebatedistributeDelegateQuery query) { + return scmSpecialrebatedistributeService.delegate(query); + } + + @Override + public ResultBean assignTask(ScmScmSpecialRebatedistributeDelegateQuery query) { + return scmSpecialrebatedistributeService.assignTask(query); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java index f109e68ba8..6ae828db45 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java @@ -31,6 +31,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; @@ -42,6 +44,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.scm.api.flow.FlowTaskVo; import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery; import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmScmSpecialRebatedistributeDelegateQuery; import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto; import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetail; import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo; @@ -99,6 +102,8 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService listPageVo(PagerQuery pq) { @@ -463,4 +468,20 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + + public ResultBean delegate(ScmScmSpecialRebatedistributeDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public ResultBean assignTask(ScmScmSpecialRebatedistributeDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.assignTask(delegateQuery); + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialRebateDisGetVehVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialRebateDisGetVehVo.java new file mode 100644 index 0000000000..917b685dd1 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialRebateDisGetVehVo.java @@ -0,0 +1,55 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AppSpecialRebateDisGetVehVo implements Query { + + @ApiModelProperty("车型名称") + private String modelName; // 车型名称 + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("厂家结算价") + private String costPrice; // 厂家结算价 + @ApiModelProperty("入库日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date priceDate; + @ApiModelProperty("销售日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date salesDate; + @ApiModelProperty(value = "买断日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date solidDate; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeDetailsVo.java new file mode 100644 index 0000000000..9450839acb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeDetailsVo.java @@ -0,0 +1,79 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-scm(专项返利分配)
+ * File: ScmSpecialrebatedistributeVo.java
+ * Class: com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeVo
+ * Description: 专项返利分配申请表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-09-19 10:55:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "专项返利分配申请表 视图数据详情", description = "专项返利分配申请表 视图数据详情") +public class AppSpecialrebatedistributeDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("申请人") + private String createByName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("创建日期") + private Date createTime; + @ApiModelProperty("创建组织名称") + private String createOrgName; + @ApiModelProperty("分配申请") + private String title; + @ApiModelProperty("预提返利合计") + private BigDecimal estimateRebateTotal; + @ApiModelProperty("上传总金额") + private BigDecimal uploadMoneyTotal; + @ApiModelProperty("流程实例的sid") + private String procInsId; + @ApiModelProperty("taskId") + private String taskId; + @ApiModelProperty("分配申请的专项返利列表") + private List scmSpecialrebatedistributedetails; // 分配申请的专项返利列表 +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeFeign.java new file mode 100644 index 0000000000..55bd9f5bc5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributeFeign.java @@ -0,0 +1,75 @@ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute; + + +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateDetailsVo; +import com.yxt.anrui.terminal.api.autoservice.specialrebatewithapply.AppSpecialRebateWithApplyDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowTaskQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author + * @Date + * @Description + */ +@Api(tags = "售后盘盈入库") +@FeignClient( + contextId = "terminal-AppSpecialrebatedistribute", + name = "anrui-terminal", + path = "v1/specialrebatedistribute") +public interface AppSpecialrebatedistributeFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("根据专项返利sid查询选择的分配车辆信息") + @PostMapping("/getVehBySpecialRebateSid") + public ResultBean> getVehBySpecialRebateSid(@RequestParam("specialRebateSid") String specialRebateSid); + + /**********************************************流程********************************************/ + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributedetailDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributedetailDetailsVo.java new file mode 100644 index 0000000000..60cedd44a0 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/AppSpecialrebatedistributedetailDetailsVo.java @@ -0,0 +1,78 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * Project: anrui-scm(专项返利分配)
+ * File: ScmSpecialrebatedistributedetailVo.java
+ * Class: com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailVo
+ * Description: 分配申请的专项返利列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-09-19 10:55:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "分配申请的专项返利列表 视图数据详情", description = "分配申请的专项返利列表 视图数据详情") +public class AppSpecialrebatedistributedetailDetailsVo implements Vo { + + @ApiModelProperty("子表sid") + private String sid; // 子表sid + + @ApiModelProperty("采购系统名称") + private String purchaseSystemName; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("返利名称") + private String rebateName; + @ApiModelProperty("返利类型value") + private String rebateTypeValue; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("预提日期") + private String withholdingDate; + @ApiModelProperty("分配数量") + private String disNum; + @ApiModelProperty("预提返利") + private BigDecimal estimateRebate; + @ApiModelProperty("上传总金额") + private BigDecimal uploadMoney; + @ApiModelProperty("单车分配金额") + private String unitSetAllocationMoney; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..26975d008b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @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-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowDto.java new file mode 100644 index 0000000000..520566b849 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..215eb7eeef --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..aa8fab04fb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/specialrebatedistribute/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @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") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeRest.java new file mode 100644 index 0000000000..15f847b846 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeRest.java @@ -0,0 +1,90 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.supplychain.specialrebatedistribute; + +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.*; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialRebateDisGetVehVo; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialrebatedistributeDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialrebatedistributeFeign; +import com.yxt.common.core.result.ResultBean; +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; + +@RestController +@RequestMapping("v1/specialrebatedistribute") +public class AppSpecialrebatedistributeRest implements AppSpecialrebatedistributeFeign { + + @Autowired + private AppSpecialrebatedistributeService appSpecialrebatedistributeService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appSpecialrebatedistributeService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean> getVehBySpecialRebateSid(String specialRebateSid) { + return appSpecialrebatedistributeService.getVehBySpecialRebateSid(specialRebateSid); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appSpecialrebatedistributeService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appSpecialrebatedistributeService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appSpecialrebatedistributeService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appSpecialrebatedistributeService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appSpecialrebatedistributeService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appSpecialrebatedistributeService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appSpecialrebatedistributeService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeService.java new file mode 100644 index 0000000000..a1c0f3ef24 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/specialrebatedistribute/AppSpecialrebatedistributeService.java @@ -0,0 +1,198 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.supplychain.specialrebatedistribute; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basevehicle.BaseSpecialRebateDisGetVehVo; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeDetailsVo; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeFeign; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmScmSpecialRebatedistributeDelegateQuery; +import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialRebateDisGetVehVo; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.flowable.AppFlowTaskQuery; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialrebatedistributeDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.specialrebatedistribute.AppSpecialrebatedistributedetailDetailsVo; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Service +public class AppSpecialrebatedistributeService { + + @Resource + private ScmSpecialrebatedistributeFeign scmSpecialrebatedistributeFeign; + @Autowired + private BaseVehicleFeign baseVehicleFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + ScmSpecialrebatedistributeDetailsVo data = scmSpecialrebatedistributeFeign.fetchDetailsBySid(sid).getData(); + AppSpecialrebatedistributeDetailsVo appSpecialrebatedistributeDetailsVo = new AppSpecialrebatedistributeDetailsVo(); + appSpecialrebatedistributeDetailsVo.setProcInsId(data.getProcInstId()); + BeanUtil.copyProperties(data,appSpecialrebatedistributeDetailsVo); + List scmSpecialrebatedistributedetails = appSpecialrebatedistributeDetailsVo.getScmSpecialrebatedistributedetails(); + appSpecialrebatedistributeDetailsVo.setUploadMoneyTotal(scmSpecialrebatedistributedetails.stream().map(AppSpecialrebatedistributedetailDetailsVo::getUploadMoney).reduce(BigDecimal.ZERO,BigDecimal::add)); + appSpecialrebatedistributeDetailsVo.setEstimateRebateTotal(scmSpecialrebatedistributedetails.stream().map(AppSpecialrebatedistributedetailDetailsVo::getEstimateRebate).reduce(BigDecimal.ZERO,BigDecimal::add)); + return rb.success().setData(appSpecialrebatedistributeDetailsVo); + } + + public ResultBean> getVehBySpecialRebateSid(String specialRebateSid) { + ResultBean rb = ResultBean.fireFail(); + List appSpecialRebateDisGetVehVos = new ArrayList<>(); + List data = baseVehicleFeign.getVehBySpecialRebateSid(specialRebateSid).getData(); + for (BaseSpecialRebateDisGetVehVo datum : data) { + AppSpecialRebateDisGetVehVo appSpecialRebateDisGetVehVo = new AppSpecialRebateDisGetVehVo(); + BeanUtil.copyProperties(datum,appSpecialRebateDisGetVehVo); + appSpecialRebateDisGetVehVos.add(appSpecialRebateDisGetVehVo); + } + return rb.success().setData(appSpecialRebateDisGetVehVos); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + ScmSpecialRebatedistributeCompleteDto scmSpecialRebatedistributeCompleteDto = new ScmSpecialRebatedistributeCompleteDto(); + BeanUtil.copyProperties(dto, scmSpecialRebatedistributeCompleteDto); + scmSpecialRebatedistributeCompleteDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = scmSpecialrebatedistributeFeign.complete(scmSpecialRebatedistributeCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialrebatedistributeFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialrebatedistributeFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmSpecialrebatedistributeFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + GetNodeQuery getNodeQuery = new GetNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = scmSpecialrebatedistributeFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = scmSpecialrebatedistributeFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmScmSpecialRebatedistributeDelegateQuery delegateQuery1 = new + ScmScmSpecialRebatedistributeDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmSpecialrebatedistributeFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmScmSpecialRebatedistributeDelegateQuery delegateQuery1 = new + ScmScmSpecialRebatedistributeDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmSpecialrebatedistributeFeign.assignTask(delegateQuery1); + return rb.success(); + } +}