From 2f04c79edaaca78bc745dcefe736ad5181c94c0a Mon Sep 17 00:00:00 2001 From: WenG <450292408@qq.com> Date: Wed, 23 Mar 2022 22:44:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E5=8A=9E=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/oa/OaController.java | 7 + .../api/oa/OaFormReportController.java | 8 - .../route/ActivitiProcdefRouteController.java | 2 +- .../route/ActivitiRouteController.java | 2 +- .../route/oa/NodeFieldRouteController.java | 2 +- .../route/oa/OaRouteController.java | 29 +++ .../service/oa/IOaFormReportService.java | 7 +- .../activiti/service/oa/IOaService.java | 8 + .../oa/impl/OaFormReportServiceImpl.java | 29 --- .../service/oa/impl/OaServiceImpl.java | 39 +++- .../resources/templates/oa/list-procdef.html | 172 ++++++++++++++++++ 11 files changed, 258 insertions(+), 47 deletions(-) create mode 100644 module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java create mode 100644 module-activiti/src/main/resources/templates/oa/list-procdef.html diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java index 5d5a949c..c430d1b5 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java @@ -3,6 +3,7 @@ package ink.wgink.module.activiti.controller.api.oa; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; +import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.service.oa.IOaService; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.result.ErrorResult; @@ -52,4 +53,10 @@ public class OaController extends DefaultBaseController { return oaService.listPageProcdef(page.getPage(), page.getRows()); } + @ApiOperation(value = "我的任务(待办)", notes = "我的任务(待办)接口") + @GetMapping("list-task-of-mine") + public List listTaskOfMine() { + return oaService.listTaskOfMine(); + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java index 68758a63..3bc5e60e 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java @@ -3,7 +3,6 @@ package ink.wgink.module.activiti.controller.api.oa; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.exceptions.ParamsException; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.service.oa.IOaFormReportService; import ink.wgink.pojo.result.SuccessResult; import io.swagger.annotations.Api; @@ -13,7 +12,6 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; import java.util.Map; /** @@ -47,12 +45,6 @@ public class OaFormReportController extends DefaultBaseController { return new SuccessResult(); } - @ApiOperation(value = "我的任务(待办)", notes = "我的任务(待办)接口") - @GetMapping("list-task-of-mine") - public List listTaskOfMine() { - return oaFormReportService.listTaskOfMine(); - } - private void checkParams(Map body) { if (body.isEmpty()) { throw new ParamsException("提交内容不能为空"); diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiProcdefRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiProcdefRouteController.java index e7d467b3..cf94c1d7 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiProcdefRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiProcdefRouteController.java @@ -14,7 +14,7 @@ import org.springframework.web.servlet.ModelAndView; * @Date: 2021/12/7 10:26 PM * @Version: 1.0 */ -@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "流程定义路由") +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "流程定义路由") @Controller @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/activiti/procdef") public class ActivitiProcdefRouteController { diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java index 8b402451..5f9fdbb4 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/ActivitiRouteController.java @@ -20,7 +20,7 @@ import javax.servlet.http.HttpServletResponse; * @Date: 2021/9/1 11:09 上午 * @Version: 1.0 */ -@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "activiti路由") +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "activiti路由") @Controller @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/activiti") public class ActivitiRouteController { diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/NodeFieldRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/NodeFieldRouteController.java index 02503b1f..a0a0b7b1 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/NodeFieldRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/NodeFieldRouteController.java @@ -13,7 +13,7 @@ import org.springframework.web.servlet.ModelAndView; * @Date: 2022/3/19 10:19 * @Version: 1.0 **/ -@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "节点字段路由") +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "节点字段路由") @Controller @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa/node-field") public class NodeFieldRouteController { diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java new file mode 100644 index 00000000..2c804cf2 --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java @@ -0,0 +1,29 @@ +package ink.wgink.module.activiti.controller.route.oa; + +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import io.swagger.annotations.Api; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +/** + * @ClassName: OaController + * @Description: Oa管理 + * @Author: wanggeng + * @Date: 2022/3/23 09:54 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "oa管理") +@Controller +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa") +public class OaRouteController extends DefaultBaseController { + + @GetMapping("list-procdef") + public ModelAndView listProcdef() { + ModelAndView mv = new ModelAndView("oa/list-procdef"); + return mv; + } + +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java index a7ab3bef..ff382cb0 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java @@ -28,11 +28,6 @@ public interface IOaFormReportService { */ void save(String processDefinitionId, String formCode, Integer formVersion, Map params); - /** - * 我的任务(待办) - * - * @return - */ - List listTaskOfMine(); + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java index 09983db4..c4f35fcb 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java @@ -1,6 +1,7 @@ package ink.wgink.module.activiti.service.oa; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; +import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.pojo.result.SuccessResultList; import java.util.List; @@ -30,4 +31,11 @@ public interface IOaService { */ SuccessResultList> listPageProcdef(int page, int rows); + /** + * 我的任务(待办) + * + * @return + */ + List listTaskOfMine(); + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java index cf34e07e..70d020bb 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java @@ -1,19 +1,14 @@ package ink.wgink.module.activiti.service.oa.impl; import ink.wgink.common.base.DefaultBaseService; -import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.service.oa.IOaFormReportService; import ink.wgink.module.form.service.report.IFormReportService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.runtime.ProcessInstance; -import org.activiti.engine.task.Task; -import org.activiti.engine.task.TaskQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; import java.util.Map; /** @@ -46,28 +41,4 @@ public class OaFormReportServiceImpl extends DefaultBaseService implements IOaFo formReportService.updateProcessInstanceId(formCode, formVersion, uid, processInstance.getProcessInstanceId()); } - @Override - public List listTaskOfMine() { - String userId = securityComponent.getCurrentUser().getUserId(); - TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); - List tasks = taskQuery.list(); - List oaTaskDTOs = new ArrayList<>(); - tasks.forEach(task -> { - OaTaskDTO oaTaskDTO = new OaTaskDTO(); - oaTaskDTO.setTaskId(task.getId()); - oaTaskDTO.setTaskName(task.getName()); - oaTaskDTO.setTaskDescription(task.getDescription()); - oaTaskDTO.setOwner(task.getOwner()); - - Map variables = task.getProcessVariables(); - oaTaskDTO.setFormCode(variables.get(KEY_FORM_CODE).toString()); - oaTaskDTO.setFormVersion(Integer.parseInt(variables.get(KEY_FORM_VERSION).toString())); - oaTaskDTO.setReportUid(variables.get(KEY_REPORT_UID).toString()); - - oaTaskDTOs.add(oaTaskDTO); - }); - return oaTaskDTOs; - } - - } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java index a3d19fb6..9bfd2063 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java @@ -2,20 +2,27 @@ package ink.wgink.module.activiti.service.oa.impl; import ink.wgink.common.base.DefaultBaseService; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; +import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; +import ink.wgink.module.activiti.service.oa.IOaFormReportService; import ink.wgink.module.activiti.service.oa.IOaService; import ink.wgink.module.form.pojo.dtos.design.FormDTO; import ink.wgink.module.form.service.design.IFormService; import ink.wgink.pojo.result.SuccessResultList; import org.activiti.engine.FormService; import org.activiti.engine.RepositoryService; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinitionQuery; +import org.activiti.engine.task.Task; +import org.activiti.engine.task.TaskQuery; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @ClassName: OaServiceImpl @@ -30,8 +37,12 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { @Autowired private RepositoryService repositoryService; @Autowired + private RuntimeService runtimeService; + @Autowired private FormService formService; @Autowired + private TaskService taskService; + @Autowired private IFormService iFormService; @Override @@ -63,7 +74,7 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { List oaProcdefDTOs = new ArrayList<>(); processDefinitions.forEach(processDefinition -> { String formKey = formService.getStartFormData(processDefinition.getId()).getFormKey(); - + processDefinition.getKey(); OaProcdefDTO oaProcdefDTO = new OaProcdefDTO(); oaProcdefDTO.setId(processDefinition.getId()); oaProcdefDTO.setDeploymentId(processDefinition.getDeploymentId()); @@ -87,4 +98,30 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { }); return oaProcdefDTOs; } + + @Override + public List listTaskOfMine() { + String userId = securityComponent.getCurrentUser().getUserId(); + TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); + List tasks = taskQuery.list(); + List oaTaskDTOs = new ArrayList<>(); + tasks.forEach(task -> { + OaTaskDTO oaTaskDTO = new OaTaskDTO(); + oaTaskDTOs.add(oaTaskDTO); + + oaTaskDTO.setTaskId(task.getId()); + oaTaskDTO.setTaskName(task.getName()); + oaTaskDTO.setTaskDescription(task.getDescription()); + oaTaskDTO.setOwner(task.getOwner()); + + Map variables = runtimeService.getVariables(task.getProcessInstanceId()); + if(variables.isEmpty()) { + return; + } + oaTaskDTO.setFormCode(variables.get(IOaFormReportService.KEY_FORM_CODE).toString()); + oaTaskDTO.setFormVersion(Integer.parseInt(variables.get(IOaFormReportService.KEY_FORM_VERSION).toString())); + oaTaskDTO.setReportUid(variables.get(IOaFormReportService.KEY_REPORT_UID).toString()); + }); + return oaTaskDTOs; + } } diff --git a/module-activiti/src/main/resources/templates/oa/list-procdef.html b/module-activiti/src/main/resources/templates/oa/list-procdef.html new file mode 100644 index 00000000..692023c5 --- /dev/null +++ b/module-activiti/src/main/resources/templates/oa/list-procdef.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + + \ No newline at end of file