From 599fa70061579a884439d515d4a65d399cf7d162 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Tue, 28 Jun 2022 18:13:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E7=94=B3=E8=AF=B7=E9=A9=B3?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseVehicleActualSalesFeign.java | 9 +- .../BaseVehicleActualSalesFeignFallback.java | 4 +- .../busvehicleapply/BusVehicleApplyFeign.java | 9 +- .../BusVehicleApplyFeignFallback.java | 10 ++- .../flow/BusVehicleApplyTaskQuery.java | 41 ++++++++++ .../BaseVehicleActualSalesRest.java | 4 +- .../BaseVehicleActualSalesService.java | 14 ++-- .../busvehicleapply/BusVehicleApplyRest.java | 12 ++- .../BusVehicleApplyService.java | 82 +++++++++++++++---- 9 files changed, 137 insertions(+), 48 deletions(-) create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/BusVehicleApplyTaskQuery.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java index 988958ae4a..a98aba4abc 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java @@ -1,17 +1,12 @@ package com.yxt.anrui.base.api.basevehicleactualsales; -import com.yxt.anrui.base.api.flow.FlowTaskVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import java.util.Map; - /** * @Author dimengzhe * @Date 2022/4/8 11:57 @@ -54,7 +49,7 @@ public interface BaseVehicleActualSalesFeign { @ResponseBody public ResultBean complete(@RequestBody BaseVehicleActualSalesFlowQuery baseVehicleActualSalesFlowQuery); - @ApiOperation(value = "驳回任务") + /* @ApiOperation(value = "驳回任务") @PostMapping("/reject") @ResponseBody ResultBean reject(@RequestBody BaseVehicleActualSalesFlowDto dto); @@ -67,7 +62,7 @@ public interface BaseVehicleActualSalesFeign { @ApiOperation(value = "撤回任务") @PostMapping("/revokeProcess") @ResponseBody - ResultBean revokeProcess(@RequestBody BaseVehicleActualSalesFlowDto dto); + ResultBean revokeProcess(@RequestBody BaseVehicleActualSalesFlowDto dto);*/ } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java index 6352d1ef24..c5f491d7b6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java @@ -46,7 +46,7 @@ public class BaseVehicleActualSalesFeignFallback implements BaseVehicleActualSal return null; } - @Override + /* @Override public ResultBean reject(BaseVehicleActualSalesFlowDto dto) { return null; } @@ -59,5 +59,5 @@ public class BaseVehicleActualSalesFeignFallback implements BaseVehicleActualSal @Override public ResultBean revokeProcess(BaseVehicleActualSalesFlowDto dto) { return null; - } + }*/ } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java index d374c54751..4038e64e49 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java @@ -1,14 +1,12 @@ package com.yxt.anrui.base.api.busvehicleapply; -import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyCompleteDto; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; -import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; +import com.yxt.anrui.base.api.busvehicleapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; @@ -74,5 +72,8 @@ public interface BusVehicleApplyFeign { @GetMapping(value = "/getNextNodesForSubmit") ResultBean> getNextNodesForSubmit(@SpringQueryMap GetNodeQuery query); + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BusVehicleApplyTaskQuery query); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java index 6841cdb162..f4d5a68e27 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java @@ -1,9 +1,6 @@ package com.yxt.anrui.base.api.busvehicleapply; -import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyCompleteDto; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; -import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; +import com.yxt.anrui.base.api.busvehicleapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -67,4 +64,9 @@ public class BusVehicleApplyFeignFallback implements BusVehicleApplyFeign { public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { return null; } + + @Override + public ResultBean taskReject(String businessSid, BusVehicleApplyTaskQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/BusVehicleApplyTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/BusVehicleApplyTaskQuery.java new file mode 100644 index 0000000000..6e32158df1 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/BusVehicleApplyTaskQuery.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.busvehicleapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description + */ +@Data +public class BusVehicleApplyTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:业务sid是必传项") + private String businessSid; + @ApiModelProperty("任务意见") + private String comment; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("用户Sid") + private String userSid; + @ApiModelProperty("流程实例Id") + private String instanceId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java index 001eb0f720..78cbfe2db9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java @@ -54,7 +54,7 @@ public class BaseVehicleActualSalesRest implements BaseVehicleActualSalesFeign { return baseVehicleActualSalesService.complete(baseVehicleActualSalesFlowQuery); } - @Override + /* @Override public ResultBean reject(BaseVehicleActualSalesFlowDto dto) { return baseVehicleActualSalesService.reject(dto); } @@ -67,5 +67,5 @@ public class BaseVehicleActualSalesRest implements BaseVehicleActualSalesFeign { @Override public ResultBean revokeProcess(BaseVehicleActualSalesFlowDto dto) { return baseVehicleActualSalesService.revokeProcess(dto); - } + }*/ } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java index bea480b1d4..78ab8144ed 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java @@ -1,6 +1,5 @@ package com.yxt.anrui.base.biz.basevehicleactualsales; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -13,7 +12,6 @@ import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsS import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTask; 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.sysformlink.SysFormLinkFeign; import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum; @@ -111,9 +109,9 @@ public class BaseVehicleActualSalesService extends MybatisBaseService variables = new HashMap<>(); variables.put("businessSid", businessSid); variables.put("orgSid", orgSid); - ResultBean businessResultBean =null;// flowableFeign.businessStart(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), userSid, variables); + ResultBean businessResultBean = null;// flowableFeign.businessStart(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), userSid, variables); if (businessResultBean.getSuccess() && businessResultBean.getData() != null) { Map map = (Map) businessResultBean.getData(); //更新未售买断业务表中的流程状态 @@ -411,7 +409,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService> resultBean = flowTaskFeign.taskReject(flowTaskVo); @@ -470,13 +468,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService 0) { return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java index 6801376730..e70f8ea4e5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java @@ -2,10 +2,7 @@ package com.yxt.anrui.base.biz.busvehicleapply; import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.base.api.busvehicleapply.*; -import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyCompleteDto; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; -import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; -import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; +import com.yxt.anrui.base.api.busvehicleapply.flow.*; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.core.query.PagerQuery; @@ -90,4 +87,11 @@ public class BusVehicleApplyRest implements BusVehicleApplyFeign { public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { return busVehicleApplyService.getNextNodesForSubmit(query); } + + @Override + public ResultBean taskReject(BusVehicleApplyTaskQuery query) { + return busVehicleApplyService.taskReject(query); + } + + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java index a2b95e533a..a2974e2894 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java @@ -6,6 +6,7 @@ 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.busvehicleapply.*; +import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery; import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; @@ -16,6 +17,7 @@ import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService 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.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; @@ -197,16 +199,28 @@ public class BusVehicleApplyService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(ufVo)); - return voResultBean; - } else { // ToDo:驳回到发起人后再次提交 - bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv); + BusVehicleApply busVehicleApply = fetchBySid(businessSid); + if (busVehicleApply != null) { + if (StringUtils.isBlank(dto.getTaskId())) { + // 新提交//启动流程 + if (StringUtils.isBlank(busVehicleApply.getTaskId())) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + return voResultBean; + } else { + return rb.setMsg("操作失败"); + } + } else if (dto.getTaskId().equals(busVehicleApply.getTaskId())) { + // ToDo:驳回到发起人后再次提交 + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } else { + return rb.setMsg("操作失败"); + } + } else { + return rb.setMsg("该申请不存在"); } } @@ -227,12 +241,22 @@ public class BusVehicleApplyService extends MybatisBaseService rb = flowableFeign.handleProsess(bv); - updateFlowFiled(BeanUtil.beanToMap(rb.getData())); - //ToDo:排产申请通过后的状态更新以及厂家认款的推送 - //查询是否是最后一个环节,若是则更新排产申请的状态为通过。 - //若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。 - return rb; + ResultBean rb = ResultBean.fireFail(); + BusVehicleApply busVehicleApply = fetchBySid(bv.getBusinessSid()); + if (bv.getTaskId().equals(busVehicleApply.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + //ToDo:排产申请通过后的状态更新以及厂家认款的推送 + //查询是否是最后一个环节,若是则更新排产申请的状态为通过。 + //若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。 + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败"); + } + } /** @@ -271,5 +295,29 @@ public class BusVehicleApplyService extends MybatisBaseService resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + map.put("procInstSid", busVehicleApply.getProcInstId()); + map.put("procDefId", busVehicleApply.getProcDefId()); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } } \ No newline at end of file