From 7d12d389ac0689646f08c32b5cbd13b647d28d9e Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 22 Feb 2023 16:46:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busvehicleapply/BusVehicleApplyDto.java | 3 +- .../anrui/flowable/api/flow/FlowListVo.java | 21 ++ .../flowable/api/flow/FlowableFallback.java | 6 + .../flowable/api/flow/FlowableFeign.java | 6 + .../flowable/biz/flow/FlowableMapper.java | 14 +- .../flowable/biz/flow/FlowableMapper.xml | 8 + .../anrui/flowable/biz/flow/FlowableRest.java | 289 +++++++++++------- .../flowable/biz/flow/FlowableService.java | 6 + .../portal/biz/sysflowcc/SysFlowccRest.java | 9 +- .../biz/sysflowcc/SysFlowccService.java | 23 +- 10 files changed, 241 insertions(+), 144 deletions(-) create mode 100644 anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowListVo.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java index 909e519bc2..9ff4b09090 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.ArrayList; import java.util.List; /** @@ -89,5 +90,5 @@ public class BusVehicleApplyDto implements Dto { @ApiModelProperty("当前组织机构全路径sid") private String orgPath; @ApiModelProperty("附件信息") - private List commonAppendixs; //附件信息 + private List commonAppendixs = new ArrayList<>(); //附件信息 } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowListVo.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowListVo.java new file mode 100644 index 0000000000..30c6746854 --- /dev/null +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowListVo.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.flowable.api.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/2/22 11:06 + * @Description + */ +@Data +public class FlowListVo implements Vo { + private static final long serialVersionUID = -1640222644080157655L; + @JsonProperty("key") + private String KEY_; + @JsonProperty("name") + private String NAME_; + @JsonProperty("id") + private String ID_; +} diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java index bf8f8ab797..9be4430aa5 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java @@ -5,6 +5,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import org.springframework.stereotype.Component; +import java.util.List; import java.util.Map; @Component @@ -75,5 +76,10 @@ public class FlowableFallback implements FlowableFeign { return null; } + @Override + public ResultBean> selectFlowList() { + return null; + } + } diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java index 7092aee393..71a5aad6e9 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @Api(tags = "Flowable") @@ -120,4 +121,9 @@ public interface FlowableFeign { @PostMapping(value = "/breakProcess") @ResponseBody ResultBean breakProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl); + + @ApiOperation(value = "所有流程名称") + @GetMapping(value = "/selectFlowList") + @ResponseBody + ResultBean> selectFlowList(); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java index 5da11e285f..1a3162dc3e 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java @@ -1,20 +1,30 @@ package com.yxt.anrui.flowable.biz.flow; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.flowable.api.flow.FlowListVo; import com.yxt.anrui.flowable.api.flow.FlowProcinst; import com.yxt.anrui.flowable.api.flow.Flowable; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; import java.util.Map; @Mapper public interface FlowableMapper extends BaseMapper { - void insetFlowableTask(Map params); + void insetFlowableTask(Map params); + FlowProcinst getFlowProcinstById(@Param("id") String id); + @Select("select * from act_hi_procinst where proc_inst_id_=#{id}") - Map getProcessInstanceById(@Param("id") String procInsId); + Map getProcessInstanceById(@Param("id") String procInsId); + @Select("select * from act_re_procdef where id_=#{id}") Map getProcessDefByDefId(@Param("id") String id); + + /** + * @return 查询所有流程名称及key + */ + List selectFlowList(); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml index ed11d89407..5e80d0ee71 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml @@ -15,6 +15,14 @@ + + "+entry.getValue()); }*/ - // taskService.setVariables(id_,formVariables); + // taskService.setVariables(id_,formVariables); //在act_ru_variable表中增加环节上的业务参数的变量 - taskService.setVariablesLocal(id_,formVariables); + taskService.setVariablesLocal(id_, formVariables); nodeState = latestTaskVo.getName_(); taskDefKey = latestTaskVo.getTask_def_key_(); } else { @@ -419,45 +466,45 @@ public class FlowableRest implements FlowableFeign { //ResultBean flowRecordVoResultBean = flowableService.flowRecord(dto.getInstanceId(), dto.getModelId()); List flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(), dto.getFormVariables()); - boolean contains=false; - for(int i=0;i candidateGroups = userTask.getCandidateGroups(); - List sysUserVoLists=new ArrayList<>(); + List sysUserVoLists = new ArrayList<>(); //根据角色查询用户 - for(String roleSid:candidateGroups){ + for (String roleSid : candidateGroups) { UserQuery userQuery = new UserQuery(); userQuery.setRoleSid(roleSid); userQuery.setOrgSidPath(dto.getOrgSidPath()); ResultBean> userByRole = sysUserFeign.getUserByRole(userQuery); boolean success = userByRole.getSuccess(); - if(!success){ + if (!success) { continue; } sysUserVoLists.addAll(userByRole.getData()); } //当前环节运营部总经理 刘丽艳 点击同意 下一环节 事业部副总经理 (nextUserSid) 和事业部总经理(sysUserVoLists.get(0).getSid()) //判断查询回来的用户的集合size是1 并且用户的sid和下一环节的用户的sid相同。 - if(sysUserVoLists.size()==1&&sysUserVoLists.get(0).getSid().equals(nextUserSid)){ - contains=true; + if (sysUserVoLists.size() == 1 && sysUserVoLists.get(0).getSid().equals(nextUserSid)) { + contains = true; break; } } } - if(contains){ + if (contains) { break; } } - if(contains){ + if (contains) { dto.setUserSid(nextUserSid); dto.setTaskId(vo.getTaskId()); dto.setTaskDefKey(taskDefKey); - return handleProsess(dto,false); + return handleProsess(dto, false); } vo.setProcInsId(instanceId); vo.setProcDefId(task.getProcessDefinitionId()); @@ -466,19 +513,20 @@ public class FlowableRest implements FlowableFeign { vo.setNextNodeUserSids(nextUserSid); return rb.success().setData(vo); } + @Override public ResultBean revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) { ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(fl.getBusinessSid())) { - return rb.setMsg("businessSid 不能为空!"); + return rb.setMsg("businessSid 不能为空!"); } - if( fl.getValues()==null){ - fl.setValues(new HashMap()); + if (fl.getValues() == null) { + fl.setValues(new HashMap()); } - fl.getValues().put("businessSid",fl.getBusinessSid()); + fl.getValues().put("businessSid", fl.getBusinessSid()); UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); ResultBean flowProcinstById = flowableService.getFlowProcinstById(fl.getInstanceId()); - if(!StringUtils.isBlank(flowProcinstById.getData().getEND_TIME_())){ + if (!StringUtils.isBlank(flowProcinstById.getData().getEND_TIME_())) { return rb.setMsg("撤回失败,流程已办结或终止"); } ResultBean> resultBean = flowtaskService.revokeProcess(fl); @@ -494,8 +542,8 @@ public class FlowableRest implements FlowableFeign { vo.setNodeState(nodeState); vo.setTaskDefKey(taskDefKey); } else { - vo.setNodeState( nodeState); - vo.setTaskDefKey( taskDefKey); + vo.setNodeState(nodeState); + vo.setTaskDefKey(taskDefKey); } return rb.success().setData(vo); } @@ -506,12 +554,12 @@ public class FlowableRest implements FlowableFeign { UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); if (StringUtils.isBlank(fl.getBusinessSid())) { - return rb.setMsg("businessSid 不能为空!"); + return rb.setMsg("businessSid 不能为空!"); } - if( fl.getValues()==null){ - fl.setValues(new HashMap()); + if (fl.getValues() == null) { + fl.setValues(new HashMap()); } - fl.getValues().put("businessSid",fl.getBusinessSid()); + fl.getValues().put("businessSid", fl.getBusinessSid()); ResultBean> resultBean = flowtaskService.taskReject(fl); if (!resultBean.getSuccess()) { @@ -523,16 +571,16 @@ public class FlowableRest implements FlowableFeign { String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); String taskId = resultBean.getData().get(0).getId_(); vo.setSid(fl.getBusinessSid()); - vo.setNodeState( nodeState); - vo.setTaskDefKey( taskDefKey); + vo.setNodeState(nodeState); + vo.setTaskDefKey(taskDefKey); vo.setTaskId(taskId); /* if (incomingSourceRef.contains("start")) { vo.setNodeState( SysFormLinkFlowStateEnum.REJECT.getCode()); }*/ - Map formVariables=new HashMap<>(); - formVariables.put(BusinessVariables.ORGPATH,orgPath); + Map formVariables = new HashMap<>(); + formVariables.put(BusinessVariables.ORGPATH, orgPath); //在act_ru_variable表中增加环节上的业务参数的变量 - taskService.setVariablesLocal(taskId,formVariables); + taskService.setVariablesLocal(taskId, formVariables); ResultBean resultBean1 = ResultBean.fireSuccess(); return resultBean1.success().setData(vo); } @@ -541,12 +589,12 @@ public class FlowableRest implements FlowableFeign { public ResultBean breakProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) { ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(fl.getBusinessSid())) { - return rb.setMsg("businessSid 不能为空!"); + return rb.setMsg("businessSid 不能为空!"); } - if( fl.getValues()==null){ - fl.setValues(new HashMap()); + if (fl.getValues() == null) { + fl.setValues(new HashMap()); } - fl.getValues().put("businessSid",fl.getBusinessSid()); + fl.getValues().put("businessSid", fl.getBusinessSid()); UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); ResultBean resultBean = flowableService.breakProcess(fl); if (!resultBean.getSuccess()) { @@ -554,7 +602,12 @@ public class FlowableRest implements FlowableFeign { } vo.setSid(fl.getBusinessSid()); vo.setNodeState(resultBean.getData().getNodeState()); - vo.setTaskDefKey( "Event_end"); + vo.setTaskDefKey("Event_end"); return rb.success().setData(vo); } + + @Override + public ResultBean> selectFlowList() { + return flowableService.selectFlowList(); + } } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java index e35c89c6ab..6480b19ebf 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java @@ -278,4 +278,10 @@ public class FlowableService extends MybatisBaseService getProcessDefByDefId(String processDefinitionId) { return baseMapper.getProcessDefByDefId(processDefinitionId); } + + public ResultBean> selectFlowList() { + ResultBean> rb = ResultBean.fireFail(); + List list = baseMapper.selectFlowList(); + return rb.success().setData(list); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccRest.java index dbf6314efb..e5ca2dec80 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccRest.java @@ -25,8 +25,7 @@ *********************************************************/ package com.yxt.anrui.portal.biz.sysflowcc; -import com.yxt.anrui.portal.api.sysuserrole.SysUserRole; -import com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeign; +import com.yxt.anrui.portal.api.sysflowcc.*; import com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleService; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -38,12 +37,6 @@ import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowcc; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccQuery; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccDetailsVo; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccDto; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign; /** * Project: anrui-portal(流程抄送)
diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccService.java index b8143567a2..92ba5a10bd 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowcc/SysFlowccService.java @@ -28,20 +28,13 @@ package com.yxt.anrui.portal.biz.sysflowcc; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.api.R; -import org.apache.commons.lang3.StringUtils; +import com.yxt.anrui.portal.api.sysflowcc.*; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowcc; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccQuery; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccDetailsVo; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccDto; -import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign; - +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.List; @@ -91,10 +84,10 @@ public class SysFlowccService extends MybatisBaseService