From fa687220c6b69ed024473d69693d4475be08a64e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 29 十月 2019 20:14:24 +0800
Subject: [PATCH] 优化 审核单
---
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java | 159 +++++++++++++++++++++++++++--------------------------
1 files changed, 81 insertions(+), 78 deletions(-)
diff --git a/CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java b/CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java
index eed2dc3..2cc4033 100644
--- a/CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java
+++ b/CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java
@@ -1,17 +1,24 @@
package com.java110.common.smo.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
+import com.java110.dto.PageDto;
+import com.java110.dto.resourceStore.ResourceOrderDto;
+import com.java110.entity.audit.AuditUser;
import org.activiti.engine.ProcessEngine;
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 org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -35,95 +42,91 @@
*
* @return
*/
- public String startProcess() {
+ public ResourceOrderDto startProcess(@RequestBody ResourceOrderDto resourceOrderDto) {
//灏嗕俊鎭姞鍏ap,浠ヤ究浼犲叆娴佺▼涓�
Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("employeeName", "寤夋枌");
- variables.put("day", 10);
+ variables.put("resourceOrderDto", resourceOrderDto);
//寮�鍚祦绋�
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", variables);
//灏嗗緱鍒扮殑瀹炰緥娴佺▼id鍊艰祴缁欎箣鍓嶈缃殑鍙橀噺
String processInstanceId = processInstance.getId();
- System.out.println("娴佺▼寮�鍚垚鍔�.......瀹炰緥娴佺▼id:" + processInstanceId);
+ // System.out.println("娴佺▼寮�鍚垚鍔�.......瀹炰緥娴佺▼id:" + processInstanceId);
- return processInstanceId;
- }
+ resourceOrderDto.setProcessInstanceId(processInstanceId);
- public void getTaskAndComplete(String processInstanceId) {
- //鑾峰彇taskservice瀹炰緥
- TaskService taskService = processEngine.getTaskService();
-
- //寮�濮嬭繘琛屾祦绋�
- while (this.processEngine.getRuntimeService()
- .createProcessInstanceQuery()//鑾峰彇鏌ヨ瀵硅薄
- .processInstanceId(processInstanceId)//鏍规嵁id鏌ヨ娴佺▼瀹炰緥
- .singleResult()//鑾峰彇鏌ヨ缁撴灉,濡傛灉涓虹┖,璇存槑杩欎釜娴佺▼宸茬粡鎵ц瀹屾瘯,鍚﹀垯,鑾峰彇浠诲姟骞舵墽琛�
- != null) {
- Task task = taskService.createTaskQuery()//鍒涘缓鏌ヨ瀵硅薄
- .processInstanceId(processInstanceId)//閫氳繃娴佺▼瀹炰緥id鏉ユ煡璇㈠綋鍓嶄换鍔�
- .singleResult();//鑾峰彇鍗曚釜鏌ヨ缁撴灉
- String taskName = task.getName();
- if (taskName.equals("StartEvent")) {//鑱屽憳鑺傜偣
- completeEmployeeTask(task);
- } else if (taskName.equals("departmentManager")) {//棰嗗鑺傜偣
- completeLeaderTask(task);
- } else {//缁忕悊鑺傜偣
- completeJingliTask(task);
- }
- }
-
- System.out.println("瀹℃牳缁撴潫..........");
- }
-
-
- //鑱屽憳鎻愪氦鐢宠
- public void completeEmployeeTask(Task task) {
- //鑾峰彇浠诲姟id
- String taskId = task.getId();
-
- //瀹屾垚浠诲姟
- this.processEngine.getTaskService().complete(taskId);
- System.out.println("鑱屽憳宸茬粡鎻愪氦鐢宠.......");
-
- }
-
- //棰嗗瀹℃壒
- public void completeLeaderTask(Task task) {
- //鑾峰彇浠诲姟id
- String taskId = task.getId();
-
- //棰嗗鎰忚
- Map<String, Object> variables = new HashMap<String, Object>();
- //variables.put("day",4);
- variables.put("leaderResult", 1);
- //瀹屾垚浠诲姟
- this.processEngine.getTaskService().complete(taskId, variables);
- System.out.println("棰嗗瀹℃牳瀹屾瘯........");
-
- }
-
- //缁忕悊瀹℃壒
- public void completeJingliTask(Task task) {
- //鑾峰彇浠诲姟id
- String taskId = task.getId();
- String name = task.getName();
- //缁忕悊鎰忚
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("result", 0);
- //瀹屾垚浠诲姟
- this.processEngine.getTaskService().complete(taskId, variables);
- System.out.println("缁忕悊瀹℃牳瀹屾瘯........,瀹℃牳缁忕悊:" + name);
-
+ return resourceOrderDto;
}
/**
+ * 鏌ヨ鐢ㄦ埛浠诲姟鏁�
*
- * <p>鎻忚堪: 鏍规嵁鐢ㄦ埛id鏌ヨ寰呭姙浠诲姟鍒楄〃</p>
- * @author 鑼冪浉濡�
- * @date 2018骞�2鏈�25鏃�
+ * @param user
+ * @return
*/
- public List<Task> findTasksByUserId(String userId) {
- List<Task> resultTask = taskService.createTaskQuery().processDefinitionKey("demo5").taskCandidateOrAssigned(userId).list();
- return resultTask;
+ public long getUserTaskCount(@RequestBody AuditUser user) {
+ TaskService taskService = processEngine.getTaskService();
+ TaskQuery query = taskService.createTaskQuery();
+ query.taskAssignee(user.getUserId());
+ return query.count();
}
+
+ /**
+ * 鑾峰彇鐢ㄦ埛浠诲姟
+ *
+ * @param user 鐢ㄦ埛淇℃伅
+ */
+ public List<ResourceOrderDto> getUserTasks(@RequestBody AuditUser user) {
+ TaskService taskService = processEngine.getTaskService();
+ TaskQuery query = taskService.createTaskQuery();
+ query.taskAssignee(user.getUserId());
+ query.orderByTaskCreateTime().desc();
+ List<Task> list = null;
+ if (user.getPage() != PageDto.DEFAULT_PAGE) {
+ list = query.listPage(user.getPage(), user.getRow());
+ }else{
+ list = query.list();
+ }
+
+ List<ResourceOrderDto> resourceOrderDtos = new ArrayList<>();
+
+ for (Task task : list) {
+ String id = task.getId();
+ //System.out.println("tasks:" + JSONObject.toJSONString(task));
+ ResourceOrderDto resourceOrderDto = (ResourceOrderDto) taskService.getVariable(id, "resourceOrderDto");
+ resourceOrderDto.setTaskId(id);
+ resourceOrderDtos.add(resourceOrderDto);
+ }
+ return resourceOrderDtos;
+ }
+
+ public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {
+ TaskService taskService = processEngine.getTaskService();
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("auditCode", resourceOrderDto.getAuditCode());
+ taskService.complete(resourceOrderDto.getTaskId(), variables);
+ return true;
+ }
+
+ public boolean refuteCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {
+ TaskService taskService = processEngine.getTaskService();
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("auditCode", resourceOrderDto.getAuditCode());
+ taskService.complete(resourceOrderDto.getTaskId(), variables);
+ return true;
+ }
+
+ /**
+ * 瀹℃牳 褰撳墠浠诲姟
+ *
+ * @param resourceOrderDto 璧勬簮璁㈠崟
+ * @return
+ */
+ public boolean complete(@RequestBody ResourceOrderDto resourceOrderDto) {
+ TaskService taskService = processEngine.getTaskService();
+
+ taskService.complete(resourceOrderDto.getTaskId());
+ return true;
+ }
+
+
}
--
Gitblit v1.8.0