Commit d1b5fd52 by chenweisong

更新

parent 4516ffc9
package com.keymobile.rest.common.bean;
import com.keymobile.rest.common.constant.ApiConstant;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
@Data
@Builder
@AllArgsConstructor
public class ApiResponse<T> implements Serializable {
private int code;
private String msg;
private T data;
public static ApiResponse ok() {
return ApiResponse.builder().code(ApiConstant.SUCCEED_CODE).msg(ApiConstant.SUCCEED).build();
}
public static <T> ApiResponse ok(T data) {
return ApiResponse.builder().code(ApiConstant.SUCCEED_CODE).msg(ApiConstant.SUCCEED).data(data).build();
}
public static ApiResponse fail() {
return ApiResponse.builder().code(ApiConstant.FAILED_CODE).msg(ApiConstant.FAILED).build();
}
public static ApiResponse fail(int code, String msg) {
return ApiResponse.builder().code(code).msg(msg).build();
}
}
package com.keymobile.rest.common.conf;
import com.keymobile.rest.common.bean.ApiResponse;
import com.keymobile.rest.common.constant.ApiConstant;
import com.keymobile.rest.common.exception.CommonException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* description: 全局异常处理
*
* @author :ws6049
* @date :2019/1/13 0:26
*/
//@RestControllerAdvice
public class ExceptionHandlerConfig {
private static final Logger logger = LoggerFactory.getLogger(ExceptionHandlerConfig.class);
/**
* description: 捕获全局异常
* created by King on 2019/1/13 0:30.
*
* @return ApiResponse
* @Param: ex
*/
@ExceptionHandler(Exception.class)
public ApiResponse globalException(Throwable ex) {
if (ex instanceof CommonException) {
logger.warn("访问出错:" + ex.getMessage());
return ApiResponse.fail(ApiConstant.FAILED_CODE, ex.getMessage());
}
logger.error("访问出错:", ex);
return ApiResponse.fail(ApiConstant.FAILED_CODE, "服务器内部出错");
}
}
package com.keymobile.rest.common.constant;
public interface ApiConstant {
int SUCCEED_CODE = 200;
int FAILED_CODE = 500;
String SUCCEED = "成功";
String FAILED = "失败";
String ERROR = "系统错误";
String UNAUTHORIZED = "未授权";
String PARAM_ERROR = "参数错误";
}
......@@ -12,7 +12,7 @@ import lombok.Data;
public class CommonException extends RuntimeException {
private static final long serialVersionUID = 3455708526465670030L;
public CommonException(String msg) {
super(msg);
public CommonException(String message) {
super(message);
}
}
......@@ -5,7 +5,7 @@ import com.keymobile.rest.common.bean.SimplePage;
import com.keymobile.rest.common.utils.BeanUti;
import com.keymobile.rest.common.utils.DateUtil;
import com.keymobile.rest.common.validator.CommonValidator;
import com.keymobile.rest.controller.constant.CtrlConstant;
import com.keymobile.rest.controller.constant.CommonConstant;
import com.keymobile.rest.model.User;
import com.keymobile.rest.model.*;
import com.keymobile.rest.model.Process;
......@@ -35,9 +35,8 @@ import java.util.*;
public class TaskController {
/**
* 默认启动的固化流程
* 默认启动的固化流程文件
*/
@Value("${app.default-bpmn-file}")
private String process;
......@@ -103,7 +102,7 @@ public class TaskController {
// 获取个人任务
List<Task> tasks = taskService.createTaskQuery().taskAssignee(username).active().list();
tasks.forEach(task -> {
missions.add(convertTaskToMission(task, ImmutableMap.of("username", username, "type", CtrlConstant.TASK_TYPE_PERSONAL)));
missions.add(convertTaskToMission(task, ImmutableMap.of("username", username, "type", CommonConstant.TASK_TYPE_PERSONAL)));
});
// 获取组任务
......@@ -120,7 +119,7 @@ public class TaskController {
// 组id
String groupId = "id:" + templateId;
if (groupId.equals(identityLink.getGroupId())) {
missions.add(convertTaskToMission(groupTask, ImmutableMap.of("username", username, "type", CtrlConstant.TASK_TYPE_GROUP, "templateId", templateId, "config", template.getConfig())));
missions.add(convertTaskToMission(groupTask, ImmutableMap.of("username", username, "type", CommonConstant.TASK_TYPE_GROUP, "templateId", templateId, "config", template.getConfig())));
}
});
}
......@@ -142,7 +141,7 @@ public class TaskController {
// 新建活动
Activity activity = new Activity();
activity = BeanUti.convertTo(form, activity);
User admin = sessionService.getUserByName(CtrlConstant.USER_NAME_ADMIN);
User admin = sessionService.getUserByName(CommonConstant.USER_NAME_ADMIN);
activity.setUserId(admin.getId());
activity.setCreateAt(DateUtil.getTimestamp());
activity.setStatus(Activity.STATUS_WAIT);
......@@ -254,9 +253,10 @@ public class TaskController {
public Object passTask(@PathVariable String taskId, @PathVariable int status) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
CommonValidator.notNull(task, "任务不存在");
boolean pass = status == CtrlConstant.STATUS_PASS;
boolean pass = status == CommonConstant.STATUS_PASS;
Map vars = new HashMap();
vars.put(CtrlConstant.ACT_SIGN_DATA_AUDIT, pass);
vars.put(CommonConstant.ACT_SIGN_DATA_AUDIT, pass);
taskService.complete(task.getId(), vars);
if (pass) {
String executionId = task.getExecutionId();
// 总的会签任务数量
......@@ -270,15 +270,15 @@ public class TaskController {
Activity activity = process.getActivity();
if (nrOfCompletedInstances == nrOfInstances - 1) {
if (activity.getNeedConfirm() == Activity.NEED_CONFIRM) {
vars.put(CtrlConstant.ACT_NEED_CONFIRM, true);
vars.put(CtrlConstant.ACT_MANAGER, CtrlConstant.USER_NAME_MANAGER);
vars.put(CommonConstant.ACT_NEED_CONFIRM, true);
vars.put(CommonConstant.ACT_MANAGER, CommonConstant.USER_NAME_MANAGER);
} else {
vars.put(CtrlConstant.ACT_NEED_CONFIRM, false);
vars.put(CommonConstant.ACT_NEED_CONFIRM, false);
// if (StringUtils.isNotEmpty(template.getBackStreamAddr())) {
// vars.put(CtrlConstant.ACT_NEED_DATA_BACK_FLOW, true);
// vars.put(CtrlConstant.ACT_BACK_FLOW_USER, "");
// } else {
vars.put(CtrlConstant.ACT_NEED_DATA_BACK_FLOW, false);
vars.put(CommonConstant.ACT_NEED_DATA_BACK_FLOW, false);
// 流程完
// }
}
......@@ -286,7 +286,6 @@ public class TaskController {
activityService.save(activity);
}
}
taskService.complete(task.getId(), vars);
return pass ? "审核通过成功" : "审核驳回成功";
}
......@@ -299,10 +298,18 @@ public class TaskController {
public Object confirmTask(@PathVariable String taskId, @PathVariable int status) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
CommonValidator.notNull(task, "任务不存在");
boolean pass = status == CtrlConstant.STATUS_PASS;
boolean pass = status == CommonConstant.STATUS_PASS;
Map vars = new HashMap();
vars.put(CtrlConstant.ACT_SIGN_CONFIRM, pass);
return "审核通过成功";
vars.put(CommonConstant.ACT_SIGN_CONFIRM, pass);
taskService.complete(task.getId(), vars);
if (pass) {
String processInstanceId = task.getProcessInstanceId();
Process process = processService.findByProcessId(processInstanceId);
Activity activity = process.getActivity();
activity.setStatus(Activity.STATUS_WAIT);
activityService.save(activity);
}
return pass ? "负责人确认通过" : "负责人确认不通过";
}
@ApiOperation(value = "进度列表")
......@@ -313,16 +320,8 @@ public class TaskController {
@ApiImplicitParam(name = "status", value = "状态", paramType = "query", dataType = "integer")
})
@GetMapping(value = "/task/progresses")
public SimplePage viewTasksProgress(int pageNo, int pageSize, String name, Integer status) {
Page<Activity> page;
String orderBy = "descending"; //
String propBy = "id"; // groupBy
if (name != null) {
page = activityService.findAllByName(name, pageNo, pageSize, orderBy, propBy);
} else {
page = activityService.findAll(pageNo, pageSize, orderBy, propBy);
}
return SimplePage.of(page);
public Object viewTasksProgress(int pageNo, int pageSize, String name, Integer status) {
return null;
}
public Mission convertTaskToMission(Task task, Map<String, Object> params) {
......@@ -335,12 +334,12 @@ public class TaskController {
.createAt(DateUtil.formatDateTime(task.getCreateTime()));
int missionType = 0;
String mission = "";
if (task.getTaskDefinitionKey().equals(CtrlConstant.MISSION_KEY_DATA_ENTER)) {
missionType = CtrlConstant.MISSION_TYPE_DATA_ENTER;
mission = CtrlConstant.MISSION_TEXT_DATA_ENTER;
if (task.getTaskDefinitionKey().equals(CommonConstant.MISSION_KEY_DATA_ENTER)) {
missionType = CommonConstant.MISSION_TYPE_DATA_ENTER;
mission = CommonConstant.MISSION_TEXT_DATA_ENTER;
long templateId = 0;
String config = "";
if (type == CtrlConstant.TASK_TYPE_PERSONAL) {
if (type == CommonConstant.TASK_TYPE_PERSONAL) {
String assignee = task.getAssignee();
String[] array = assignee.split(":");
try {
......@@ -349,21 +348,21 @@ public class TaskController {
} catch (Exception e) {
}
} else if (type == CtrlConstant.TASK_TYPE_GROUP) {
} else if (type == CommonConstant.TASK_TYPE_GROUP) {
templateId = Long.parseLong(params.get("templateId").toString());
config = params.get("config").toString();
}
builder.config(config);
builder.excelId(templateId);
} else if (task.getTaskDefinitionKey().equals(CtrlConstant.MISSION_KEY_DATA_AUDIT)) {
missionType = CtrlConstant.MISSION_TYPE_DATA_AUDIT;
mission = CtrlConstant.MISSION_TEXT_DATA_AUDIT;
} else if (task.getTaskDefinitionKey().equals(CtrlConstant.MISSION_KEY_MANAGER_AUDIT)) {
missionType = CtrlConstant.MISSION_TYPE_MANAGER_AUDIT;
mission = CtrlConstant.MISSION_TEXT_MANAGER_AUDIT;
} else if (task.getTaskDefinitionKey().equals(CtrlConstant.MISSION_KEY_DATA_BACK_FLOW)) {
missionType = CtrlConstant.MISSION_TYPE_DATA_BACK_FLOW;
mission = CtrlConstant.MISSION_TEXT_DATA_BACK_FLOW;
} else if (task.getTaskDefinitionKey().equals(CommonConstant.MISSION_KEY_DATA_AUDIT)) {
missionType = CommonConstant.MISSION_TYPE_DATA_AUDIT;
mission = CommonConstant.MISSION_TEXT_DATA_AUDIT;
} else if (task.getTaskDefinitionKey().equals(CommonConstant.MISSION_KEY_MANAGER_AUDIT)) {
missionType = CommonConstant.MISSION_TYPE_MANAGER_AUDIT;
mission = CommonConstant.MISSION_TEXT_MANAGER_AUDIT;
} else if (task.getTaskDefinitionKey().equals(CommonConstant.MISSION_KEY_DATA_BACK_FLOW)) {
missionType = CommonConstant.MISSION_TYPE_DATA_BACK_FLOW;
mission = CommonConstant.MISSION_TEXT_DATA_BACK_FLOW;
}
builder.mission(mission)
.missionType(missionType);
......
......@@ -2,7 +2,7 @@ package com.keymobile.rest.controller;
import com.keymobile.rest.common.utils.DateUtil;
import com.keymobile.rest.common.validator.CommonValidator;
import com.keymobile.rest.controller.constant.CtrlConstant;
import com.keymobile.rest.controller.constant.CommonConstant;
import com.keymobile.rest.model.User;
import com.keymobile.rest.model.Activity;
import com.keymobile.rest.model.DataInfo;
......@@ -18,9 +18,9 @@ import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "模板 控制器", description = "Excel Mgr")
@Api(tags = "模板 控制器", description = "Template Mgr")
@RestController
public class ExcelController {
public class TemplateController {
@Autowired
private TemplateService templateService;
......@@ -54,7 +54,11 @@ public class ExcelController {
CommonValidator.notNull(template, "模板不存在");
User user = sessionService.getLoginUser();
try {
taskService.claim(taskId, user.getName());
} catch (Exception e) {
System.out.println("任务已被领取,补录失败");
}
String processInstanceId = task.getProcessInstanceId();
Process process = processService.findByProcessId(processInstanceId);
......@@ -70,13 +74,12 @@ public class ExcelController {
Map vars = new HashMap<>();
if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put(CtrlConstant.ACT_NEED_DATA_AUDIT, true);
vars.put(CommonConstant.ACT_NEED_DATA_AUDIT, true);
Map audit = feignAuthService.getUserById(template.getAuditId());
CommonValidator.notNull(audit, "模板审核人不存在");
vars.put(CtrlConstant.ACT_AUDIT_USER, audit.get("name").toString());
vars.put(CommonConstant.ACT_AUDIT_USER, audit.get("name").toString());
} else {
vars.put(CtrlConstant.ACT_NEED_DATA_AUDIT, false);
vars.put(CommonConstant.ACT_NEED_DATA_AUDIT, false);
String executionId = task.getExecutionId();
// 总的会签任务数量
int nrOfInstances = Integer.parseInt(runtimeService.getVariable(executionId, "nrOfInstances").toString());
......@@ -84,23 +87,22 @@ public class ExcelController {
// int nrOfActiveInstances = Integer.parseInt(runtimeService.getVariable(executionId, "nrOfActiveInstances").toString());
// 已经完成的会签任务数量
int nrOfCompletedInstances = Integer.parseInt(runtimeService.getVariable(executionId, "nrOfCompletedInstances").toString());
Activity activity = process.getActivity();
if (nrOfCompletedInstances == nrOfInstances - 1) {
if (activity.getNeedConfirm() == Activity.NEED_CONFIRM) {
vars.put(CtrlConstant.ACT_NEED_CONFIRM, true);
vars.put(CtrlConstant.ACT_MANAGER, CtrlConstant.USER_NAME_MANAGER);
if (process.getActivity().getNeedConfirm() == Activity.NEED_CONFIRM) {
vars.put(CommonConstant.ACT_NEED_CONFIRM, true);
vars.put(CommonConstant.ACT_MANAGER, CommonConstant.USER_NAME_MANAGER);
} else {
vars.put(CtrlConstant.ACT_NEED_CONFIRM, false);
vars.put(CommonConstant.ACT_NEED_CONFIRM, false);
// if (StringUtils.isNotEmpty(template.getBackStreamAddr())) {
// vars.put(CtrlConstant.ACT_NEED_DATA_BACK_FLOW, true);
// vars.put(CtrlConstant.ACT_BACK_FLOW_USER, "");
// } else {
vars.put(CtrlConstant.ACT_NEED_DATA_BACK_FLOW, false);
vars.put(CommonConstant.ACT_NEED_DATA_BACK_FLOW, false);
// 流程完
// }
}
activity.setStatus(Activity.STATUS_WAIT);
activityService.save(activity);
process.getActivity().setStatus(Activity.STATUS_WAIT);
activityService.save(process.getActivity());
}
}
taskService.complete(task.getId(), vars);
......
......@@ -24,7 +24,6 @@ public class UserController {
return feignAuthService.getOrgs();
}
@ApiOperation(value = "根据组织id获取用户", hidden = true)
@ApiImplicitParams({
@ApiImplicitParam(name = "orgId", value = "机构id", paramType = "query", required = true, dataType = "long")
......@@ -55,6 +54,20 @@ public class UserController {
return users;
}
/**
* tree structure
*
* {
* node: {},
* subNodes: [
* {
* node: {},
* subNodes:
* []
* }
* ]
* }
*/
@ApiOperation(value = "获取补录范围用户树")
@GetMapping(value = "/users")
public Map getUsers() {
......
package com.keymobile.rest.controller.constant;
public interface CtrlConstant {
public interface CommonConstant {
int TASK_TYPE_PERSONAL = 1;
int TASK_TYPE_GROUP = 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment