Browse Source

[feat] 审批模块管理

新增 基础资料请购单处理类、基础资料员工领料单代办处理类、基础资料报销单代办处理类、基础资料出差单代办处理类,统一实现流程任务处理统一接口实现里面的handleTask方法,每个类上面@Service注解加上对应的key,当通用办理功能从前端传入taskId的时候,找到流程实例类,找到processDefinitionKey,不同的找到processDefinitionKey会找到对应的handleTask类,用于跳转不同的模块页面
修改
待办事项服务实现类:加上上面四个单据对应的key和url
dev
liuxiaoxu 2 months ago
parent
commit
990da37493
  1. 44
      ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/EvectiontTaskHandler.java
  2. 46
      ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/FinacialExpenseTaskHandler.java
  3. 49
      ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/RequisitionTaskHandler.java
  4. 44
      ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/RequisitioningTaskHandler.java
  5. 8
      ruoyi-admin/src/main/java/com/ruoyi/common/service/impl/IToDoItemServiceImpl.java

44
ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/EvectiontTaskHandler.java

@ -0,0 +1,44 @@
package com.ruoyi.common.handler.impl;
import com.ruoyi.common.handler.TaskHandler;
import com.ruoyi.common.service.IToDoItemService;
import com.ruoyi.system.domain.Vo.BaseEvectionFormVo;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.service.IBaseEvectionFormService;
import com.ruoyi.system.service.IBaseExpenseAccountService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;
/**
* 基础资料出差单代办处理类
* */
@Service("evection")
public class EvectiontTaskHandler implements TaskHandler {
@Autowired
private IBaseEvectionFormService baseEvectionFormService;
@Autowired
private TaskService taskService;
@Autowired
private IToDoItemService toDoItemService;
@Override
public void handleTask(String taskId, ModelMap mmap) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 业务逻辑...
ProcessInstance processInstance = toDoItemService.getProcessInstance(taskId);
BaseEvectionFormVo baseEvectionFormVo = baseEvectionFormService.selectBaseEvectionFormById(new Long(processInstance.getBusinessKey()));
mmap.put("formData", baseEvectionFormVo);
mmap.put("taskId", taskId);
String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1);
mmap.put("verifyName", verifyName);
}
}

46
ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/FinacialExpenseTaskHandler.java

@ -0,0 +1,46 @@
package com.ruoyi.common.handler.impl;
import com.ruoyi.common.handler.TaskHandler;
import com.ruoyi.common.service.IToDoItemService;
import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.service.impl.BaseExpenseAccountServiceImpl;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;
/**
* 基础资料报销单代办处理类
* */
@Service("finacialExpense")
public class FinacialExpenseTaskHandler implements TaskHandler {
@Autowired
private BaseExpenseAccountServiceImpl baseExpenseAccountService;
@Autowired
private TaskService taskService;
@Autowired
private IToDoItemService toDoItemService;
@Override
public void handleTask(String taskId, ModelMap mmap) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 业务逻辑...
ProcessInstance processInstance = toDoItemService.getProcessInstance(taskId);
BaseExpenseAccountVo baseExpenseAccountVo = baseExpenseAccountService.selectBaseExpenseAccountById(new Long(processInstance.getBusinessKey()));
mmap.put("formData", baseExpenseAccountVo);
mmap.put("taskId", taskId);
String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1);
mmap.put("verifyName", verifyName);
}
}

49
ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/RequisitionTaskHandler.java

@ -0,0 +1,49 @@
package com.ruoyi.common.handler.impl;
import com.ruoyi.common.handler.TaskHandler;
import com.ruoyi.common.service.IToDoItemService;
import com.ruoyi.system.domain.Vo.BaseEmpRequisiteOrderVO;
import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo;
import com.ruoyi.system.service.IBaseEmpRequisiteOrderService;
import com.ruoyi.system.service.IBaseRequisitioningOrderService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;
/**
* 基础资料员工领料单代办处理类
* */
@Service("requisition")
public class RequisitionTaskHandler implements TaskHandler {
@Autowired
private IBaseEmpRequisiteOrderService empRequisiteOrderService;
@Autowired
private TaskService taskService;
@Autowired
private IToDoItemService toDoItemService;
@Override
public void handleTask(String taskId, ModelMap mmap) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 业务逻辑...
ProcessInstance processInstance = toDoItemService.getProcessInstance(taskId);
BaseEmpRequisiteOrderVO baseEmpRequisiteOrderVO = empRequisiteOrderService.selectBaseEmpRequisiteOrderById(new Long(processInstance.getBusinessKey()));
mmap.put("formData", baseEmpRequisiteOrderVO);
mmap.put("taskId", taskId);
String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1);
mmap.put("verifyName", verifyName);
}
}

44
ruoyi-admin/src/main/java/com/ruoyi/common/handler/impl/RequisitioningTaskHandler.java

@ -0,0 +1,44 @@
package com.ruoyi.common.handler.impl;
import com.ruoyi.common.handler.TaskHandler;
import com.ruoyi.common.service.IToDoItemService;
import com.ruoyi.system.domain.SysCustomerVo;
import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo;
import com.ruoyi.system.service.IBaseRequisitioningOrderService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;
/**
* 基础资料请购单代办处理类
* */
@Service("requisitioning")
public class RequisitioningTaskHandler implements TaskHandler {
@Autowired
private IBaseRequisitioningOrderService baseRequisitioningOrderService;
@Autowired
private TaskService taskService;
@Autowired
private IToDoItemService toDoItemService;
@Override
public void handleTask(String taskId, ModelMap mmap) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
// 业务逻辑...
ProcessInstance processInstance = toDoItemService.getProcessInstance(taskId);
BaseRequisitioningOrderVo baseRequisitioningOrderVo = baseRequisitioningOrderService.selectBaseRequisitioningOrderById(new Long(processInstance.getBusinessKey()));
mmap.put("formData", baseRequisitioningOrderVo);
mmap.put("taskId", taskId);
String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1);
mmap.put("verifyName", verifyName);
}
}

8
ruoyi-admin/src/main/java/com/ruoyi/common/service/impl/IToDoItemServiceImpl.java

@ -50,6 +50,14 @@ public class IToDoItemServiceImpl implements IToDoItemService {
return "system/salesOrder";
case "aftersalesNotice":
return "sales/afterSalesNotice";
case "requisitioning":
return "system/requisitioning";
case "requisition":
return "system/empRequisiteOrder";
case "finacialExpense":
return "system/baseExpense";
case "evection":
return "system/baseEvectionForm";
// 其他case...
default:
return "defaultPrefix";

Loading…
Cancel
Save