Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

# Conflicts:
#	mec-teacher/src/main/java/com/ym/mec/teacher/controller/OrderController.java
zouxuan 5 years ago
parent
commit
5b332aaa0b

+ 9 - 0
cms/src/main/java/com/ym/mec/cms/config/WebMvcConfig.java

@@ -9,6 +9,7 @@ import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Primary;
@@ -98,6 +99,14 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				}
 			}
 		});
+		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
+			@Override
+			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
+			}
+		});
 
 		objectMapper.registerModule(javaTimeModule);
 		return objectMapper;

+ 3 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/WebMvcConfig.java

@@ -61,7 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 3 - 1
mec-education/src/main/java/com/ym/mec/education/config/WebMvcConfig.java

@@ -63,7 +63,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 3 - 1
mec-im/src/main/java/com/ym/config/WebMvcConfig.java

@@ -55,7 +55,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 3 - 1
mec-student/src/main/java/com/ym/mec/student/config/WebMvcConfig.java

@@ -61,7 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 3 - 1
mec-task/src/main/java/com/ym/mec/task/config/WebMvcConfig.java

@@ -61,7 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/TeacherApplication.java

@@ -17,7 +17,7 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 @EnableDiscoveryClient
 @EnableFeignClients("com.ym.mec")
 @MapperScan("com.ym.mec.biz.dal.dao")
-@ComponentScan(basePackages = "com.ym.mec")
+@ComponentScan(basePackages = { "com.ym.mec", "org.snaker.engine" })
 @Configuration
 @EnableSwagger2Doc
 public class TeacherApplication {

+ 3 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/config/WebMvcConfig.java

@@ -61,7 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 34 - 23
mec-teacher/src/main/java/com/ym/mec/teacher/controller/OrderController.java

@@ -1,24 +1,36 @@
 package com.ym.mec.teacher.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.common.controller.BaseController;
-import org.apache.commons.lang.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.snaker.engine.SnakerEngine;
+import org.snaker.engine.access.QueryFilter;
+import org.snaker.engine.entity.HistoryTask;
+import org.snaker.engine.entity.Order;
+import org.snaker.engine.entity.Process;
+import org.snaker.engine.entity.Task;
+import org.snaker.engine.helper.AssertHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.HashMap;
-import java.util.Map;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.controller.BaseController;
 
 @RestController
 @RequestMapping(value = "/snaker/order")
+@Api(tags = "流程实例")
 public class OrderController extends BaseController {
 
-//	@Autowired
-//	private SnakerEngine snakerEngine;
+	@Autowired
+	private SnakerEngine snakerEngine;
 
 	@Autowired
 	private SysUserFeignService SysUserFeignService;
@@ -30,30 +42,29 @@ public class OrderController extends BaseController {
 	 * @return
 	 */
 	@PostMapping(value = "setCcread")
+	@ApiOperation("抄送实例设置已读")
 	public Object ccread(String orderId) {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
-//		snakerEngine.order().updateCCStatus(orderId, new String[] { user.getId() + "" });
+		snakerEngine.order().updateCCStatus(orderId, new String[] { user.getId() + "" });
 		return succeed();
 	}
 
 	@GetMapping(value = "detail")
+	@ApiOperation("流程实例进度")
 	public Object json(String processId, String orderId) {
-//		Process process = snakerEngine.process().getProcessById(processId);
-//		AssertHelper.notNull(process);
+		Process process = snakerEngine.process().getProcessById(processId);
+		AssertHelper.notNull(process);
 		Map<String, Object> jsonMap = new HashMap<String, Object>();
-		/*ProcessModel model = process.getModel();
-		if (model != null) {
-			jsonMap.put("process", model);
-		}*/
-
-		if (StringUtils.isNotEmpty(orderId)) {
-//			List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
-//			jsonMap.put("tasks", tasks);
-//
-//			List<HistoryTask> historyTasks = snakerEngine.query().getHistoryTasks(new QueryFilter().setOrderId(orderId));
-//			jsonMap.put("historyTasks", historyTasks);
-		}
+
+		Order order = snakerEngine.query().getOrder(orderId);
+		jsonMap.put("order", order);
+
+		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
+		jsonMap.put("tasks", tasks);
+
+		List<HistoryTask> historyTasks = snakerEngine.query().getHistoryTasks(new QueryFilter().setOrderId(orderId));
+		jsonMap.put("historyTasks", historyTasks);
 		return jsonMap;
 	}
 

+ 41 - 127
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TaskController.java

@@ -1,23 +1,17 @@
 package com.ym.mec.teacher.controller;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 
-import org.apache.commons.lang.StringUtils;
 import org.snaker.engine.SnakerEngine;
 import org.snaker.engine.access.Page;
 import org.snaker.engine.access.QueryFilter;
 import org.snaker.engine.core.AccessService;
 import org.snaker.engine.entity.HistoryOrder;
-import org.snaker.engine.entity.Task;
 import org.snaker.engine.entity.WorkItem;
-import org.snaker.engine.model.TaskModel.TaskType;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.ModelMap;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -32,6 +26,7 @@ import com.ym.mec.common.controller.BaseController;
  */
 @RestController
 @RequestMapping(value = "/snaker/task")
+@Api(tags = "流程任务")
 public class TaskController extends BaseController {
 
 	@Autowired
@@ -40,170 +35,89 @@ public class TaskController extends BaseController {
 	@Autowired
 	private SysUserFeignService SysUserFeignService;
 
-	@GetMapping(value = "home")
-	public Object homeTaskList() {
-
-		SysUser user = SysUserFeignService.queryUserInfo();
-
-		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
-
-		String[] assignees = new String[list.size()];
-		list.toArray(assignees);
-
-		Page<WorkItem> majorPage = new Page<WorkItem>(5);
-		Page<WorkItem> aidantPage = new Page<WorkItem>(3);
-		Page<HistoryOrder> ccorderPage = new Page<HistoryOrder>(3);
-		List<WorkItem> majorWorks = snakerEngine.query().getWorkItems(majorPage,
-				new QueryFilter().setOperators(assignees).setTaskType(TaskType.Major.ordinal()));
-		List<WorkItem> aidantWorks = snakerEngine.query().getWorkItems(aidantPage,
-				new QueryFilter().setOperators(assignees).setTaskType(TaskType.Aidant.ordinal()));
-		List<HistoryOrder> ccWorks = snakerEngine.query().getCCWorks(ccorderPage, new QueryFilter().setOperators(assignees).setState(1));
-
-		ModelMap model = new ModelMap();
-		
-		model.addAttribute("majorWorks", majorWorks);
-		model.addAttribute("majorTotal", majorPage.getTotalCount());
-		model.addAttribute("aidantWorks", aidantWorks);
-		model.addAttribute("aidantTotal", aidantPage.getTotalCount());
-		model.addAttribute("ccorderWorks", ccWorks);
-		model.addAttribute("ccorderTotal", ccorderPage.getTotalCount());
-		return succeed(model);
-	}
-
 	/**
-	 * 根据当前用户查询我发起的任务列表
+	 * 查询我发起的任务列表
 	 * @param model
 	 * @return
 	 */
-	@GetMapping(value = "queryCreatedList")
-	public Object queryCreatedList(Page<HistoryOrder> page) {
+	@GetMapping(value = "queryMyCreatedList")
+	@ApiOperation("查询我发起的任务列表")
+	public Object queryMyCreatedList(Page<HistoryOrder> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
 
-		snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getUsername()));
+		snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getId()+""));
 		return succeed(page);
 	}
 
 	/**
-	 * 根据当前用户查询待办任务列表
+	 * 查询我待办任务列表
 	 * @param model
 	 * @return
 	 */
 	@GetMapping(value = "queryWaitList")
+	@ApiOperation("查询我待办任务列表")
 	public Object queryWaitList(Page<WorkItem> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
 
 		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
 		return succeed(page);
 	}
 
 	/**
-	 * 根据当前用户查询已办任务列表
+	 * 查询已办任务列表
 	 * @param model
 	 * @return
 	 */
-	@GetMapping(value = "querypProcessedList")
-	public Object querypProcessedList(Page<WorkItem> page) {
+	@GetMapping(value = "queryProcessedList")
+	@ApiOperation("查询我已办任务列表")
+	public Object queryProcessedList(Page<WorkItem> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
-
-		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
-		return succeed(page);
-	}
-
-	@PostMapping(value = "actor/add")
-	public Object addTaskActor(String orderId, String taskName, String operator) {
-		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
-		for (Task task : tasks) {
-			if (task.getTaskName().equalsIgnoreCase(taskName) && StringUtils.isNotEmpty(operator)) {
-				snakerEngine.task().addTaskActor(task.getId(), operator);
-			}
-		}
-		return succeed();
-	}
-
-	@GetMapping(value = "tip")
-	public Object addTaskActor(String orderId, String taskName) {
-		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
-		StringBuilder builder = new StringBuilder();
-		String createTime = "";
-		for (Task task : tasks) {
-			if (task.getTaskName().equalsIgnoreCase(taskName)) {
-				String[] actors = snakerEngine.query().getTaskActorsByTaskId(task.getId());
-				for (String actor : actors) {
-					builder.append(actor).append(",");
-				}
-				createTime = task.getCreateTime();
-			}
-		}
-		if (builder.length() > 0) {
-			builder.deleteCharAt(builder.length() - 1);
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		Map<String, String> data = new HashMap<String, String>();
-		data.put("actors", builder.toString());
-		data.put("createTime", createTime);
-		return succeed(data);
-	}
 
-	/**
-	 * 活动任务查询列表
-	 * @param model
-	 * @return
-	 */
-	@GetMapping(value = "active/more")
-	public Object activeTaskList(Page<WorkItem> page, Integer taskType) {
-		SysUser user = SysUserFeignService.queryUserInfo();
-
-		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
-
-		String[] assignees = new String[list.size()];
-		list.toArray(assignees);
-		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperators(assignees).setTaskType(taskType));
+		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getId()+""));
 		return succeed(page);
 	}
 
 	/**
-	 * 活动任务查询列表
+	 * 抄送我的已读列表
 	 * @param model
 	 * @return
 	 */
-	@GetMapping(value = "active/ccmore")
-	public Object activeCCList(Page<HistoryOrder> page) {
+	@GetMapping(value = "queryCCReadList")
+	@ApiOperation("抄送我的已读列表")
+	public Object queryCCReadList(Page<HistoryOrder> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
 
-		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
-
-		String[] assignees = new String[list.size()];
-		list.toArray(assignees);
-		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperators(assignees).setState(AccessService.STATE_ACTIVE));
+		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getId()+"").setState(AccessService.STATE_FINISH));
 		return succeed(page);
 	}
 
 	/**
-	 * 活动任务的驳回
+	 * 抄送我的未读列表
 	 * @param model
-	 * @param taskId
 	 * @return
 	 */
-	@PostMapping(value = "reject")
-	public Object activeTaskReject(String taskId) {
-
+	@GetMapping(value = "queryCCUnReadList")
+	@ApiOperation("抄送我的未读列表")
+	public Object queryCCUnReadList(Page<HistoryOrder> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
 
-		snakerEngine.executeAndJumpTask(taskId, user.getUsername(), null, null);
-		return succeed();
+		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getUsername()).setState(AccessService.STATE_ACTIVE));
+		return succeed(page);
 	}
 
-	/**
-	 * 历史任务撤回
-	 * @param orderId
-	 * @return
-	 */
-	@PostMapping(value = "undo")
-	public Object historyTaskUndo(String orderId) {
-		SysUser user = SysUserFeignService.queryUserInfo();
-		snakerEngine.order().withdraw(orderId, user.getUsername());
-		return succeed();
-	}
 }

+ 3 - 1
mec-web/src/main/java/com/ym/mec/web/config/WebMvcConfig.java

@@ -61,7 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
 			@Override
 			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
+				}
 			}
 		});
 		// 日期和时间格式化

+ 9 - 7
mec-workflow/src/main/java/com/ym/mec/workfow/config/WebMvcConfig.java

@@ -58,12 +58,6 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
 		// 序列化BigDecimal时不使用科学计数法输出
 		objectMapper.configure(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN, true);
-		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
-			@Override
-			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
-				jsonGenerator.writeString(StringUtils.EMPTY);
-			}
-		});
 		// 日期和时间格式化
 		JavaTimeModule javaTimeModule = new JavaTimeModule();
 		javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
@@ -101,7 +95,15 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				try {
 					return format.parse(date);
 				} catch (ParseException e) {
-					throw new RuntimeException(e);
+					return null;
+				}
+			}
+		});
+		objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
+			@Override
+			public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
+				if (o instanceof String) {
+					jsonGenerator.writeString(StringUtils.EMPTY);
 				}
 			}
 		});

+ 8 - 3
mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java

@@ -53,19 +53,24 @@ public class LeaveController extends BaseController {
 	}
 
 	@PostMapping(value = "approve")
-	public Object approve(String taskId, boolean isAgree) {
+	public Object approve(String taskId, boolean isAgree, String remark) {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		System.out.println(user.getUsername() + "审批***************");
 
+		Map<String, Object> params = new HashMap<String, Object>();
+
+		params.put("status", isAgree);
+		params.put("remark", remark);
+
 		List<Task> tasks = null;
 
 		// 审批同意
 		if (isAgree) {
-			tasks = snakerEngine.executeTask(taskId, user.getUsername());
+			tasks = snakerEngine.executeTask(taskId, user.getUsername(), params);
 		} else {
 			// 审批驳回
-			tasks = snakerEngine.executeAndJumpTask(taskId, user.getUsername(), null, null);
+			tasks = snakerEngine.executeAndJumpTask(taskId, user.getUsername(), params, null);
 		}
 		if (tasks.size() == 0) {
 			System.out.println("**********流程已结束*********");

+ 7 - 0
workflowy/src/main/java/org/snaker/engine/IOrderService.java

@@ -68,6 +68,13 @@ public interface IOrderService {
 	void complete(String orderId);
 
 	/**
+	 * 流程实例正常完成
+	 * @param orderId 流程实例id
+	 * @param args 变量数据
+	 */
+	void complete(String orderId, Map<String, Object> args);
+
+	/**
 	 * 保存流程实例
 	 * @param order 流程实例对象
 	 */

+ 8 - 1
workflowy/src/main/java/org/snaker/engine/core/OrderService.java

@@ -165,8 +165,15 @@ public class OrderService extends AccessService implements IOrderService {
 	 */
 	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public void complete(String orderId) {
+		complete(orderId, null);
+	}
+	
+	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public void complete(String orderId, Map<String, Object> args) {
 		Order order = access().getOrder(orderId);
 		HistoryOrder history = access().getHistOrder(orderId);
+		history.setVariable(JsonHelper.toJson(args));
 		history.setOrderState(STATE_FINISH);
 		history.setEndTime(DateHelper.getTime());
 		
@@ -177,7 +184,7 @@ public class OrderService extends AccessService implements IOrderService {
             completion.complete(history);
         }
 	}
-	
+
 	/**
 	 * 强制中止流程实例
 	 * @see org.snaker.engine.core.OrderService#terminate(String, String)

+ 1 - 1
workflowy/src/main/java/org/snaker/engine/handlers/impl/EndProcessHandler.java

@@ -48,7 +48,7 @@ public class EndProcessHandler implements IHandler {
 		/**
 		 * 结束当前流程实例
 		 */
-		engine.order().complete(order.getId());
+		engine.order().complete(order.getId(), execution.getArgs());
 		
 		/**
 		 * 如果存在父流程,则重新构造Execution执行对象,交给父流程的SubProcessModel模型execute