Commit 8a66fd97 by chenweisong

更新

parent 5475c19a
...@@ -59,9 +59,11 @@ public class ExcelController { ...@@ -59,9 +59,11 @@ public class ExcelController {
String processId = mission.getProcess().getProcessId(); String processId = mission.getProcess().getProcessId();
String taskId = mission.getTaskId(); String taskId = mission.getTaskId();
// 发起人把流程发送到下一个人 // 发起人把流程发送到下一个人
Task task = taskService.createTaskQuery().processInstanceId(processId).taskId(taskId) Task task = taskService.createTaskQuery().processInstanceId(processId).taskId(taskId)
.singleResult(); .singleResult();
Map vars = new HashMap<>(); Map vars = new HashMap<>();
if (template.getNeedAudit() == Template.NEED_AUDIT) { if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put("sign", true); vars.put("sign", true);
......
...@@ -98,44 +98,35 @@ public class TaskController { ...@@ -98,44 +98,35 @@ public class TaskController {
// TwinkleValidator.notNull(user, "用户不存在"); // TwinkleValidator.notNull(user, "用户不存在");
List<Map> missions = new ArrayList<>(); List<Map> missions = new ArrayList<>();
List<User> userList = userService.findAll(); List<User> userList = userService.findAll();
StringBuilder assigneesBuilder = new StringBuilder();
assigneesBuilder.append("(");
userList.forEach(user -> { userList.forEach(user -> {
assigneesBuilder.append("'" + user.getUsername() + "'").append(","); // 查找当前用户所有的activiti task
String sql = "SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ like #{assignee}";
List<Task> tasks = taskService.createNativeTaskQuery()
.sql(sql)
.parameter("assignee", user.getUsername() + ":templateId:")
.list();
tasks.forEach(task -> {
String assignee = task.getAssignee();
long templateId = Long.parseLong(assignee.split(":templateId:")[1]);
String processId = task.getProcessInstanceId();
Mission mission = missionService.findByProcessIdAndUsernameAndTemplateIdAndStatus(processId, user.getUsername(), templateId, Mission.STATUS_BEGIN);
mission.setTaskId(task.getId());
missionService.save(mission);
Map map = new HashMap();
map.put("id", mission.getId());
map.put("userId", mission.getUser().getId());
map.put("username", mission.getUser().getUsername());
map.put("excelList", Arrays.asList(mission.getTemplate()));
if (task.getTaskDefinitionKey().equals("dataEntrySubTask")) {
map.put("kind", 1);
} else {
map.put("kind", 2);
}
missions.add(map);
});
}); });
String assignees = assigneesBuilder.substring(0, assigneesBuilder.length() - 1) + ")";
// 获取任务
String sql = "SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ in " + assignees;
List<Task> tasks = taskService.createNativeTaskQuery()
.sql(sql)
.list();
for (Task task : tasks) {
String processId = task.getProcessInstanceId();
Process process = processService.findByProcessId(processId);
List<Mission> missionList = process.getMissionList();
if (process != null && missionList.size() > 0) {
missionList.forEach(mission -> {
// 只能查看得时候更新这个人属于这个进行得任务id
mission.setTaskId(task.getId());
missionService.save(mission);
Map map = new HashMap();
map.put("id", mission.getId());
map.put("userId", mission.getUser().getId());
map.put("username", mission.getUser().getUsername());
map.put("excelList", Arrays.asList(mission.getTemplate()));
if (task.getTaskDefinitionKey().equals("dataEntrySubTask")) {
map.put("kind", 1);
} else {
map.put("kind", 2);
}
missions.add(map);
});
}
}
return ApiResponse.ok(missions); return ApiResponse.ok(missions);
} }
...@@ -256,7 +247,7 @@ public class TaskController { ...@@ -256,7 +247,7 @@ public class TaskController {
// 更新mission // 更新mission
missionService.save(mission); missionService.save(mission);
User user = mission.getUser(); User user = mission.getUser();
userNameList.add(user.getUsername()); userNameList.add(user.getUsername() + ":template:" + template.getId());
}); });
allMissions.addAll(missionList); allMissions.addAll(missionList);
}); });
......
...@@ -77,10 +77,12 @@ public class UserController { ...@@ -77,10 +77,12 @@ public class UserController {
User user = userService.findById(userId); User user = userService.findById(userId);
TwinkleValidator.notNull(user, "所选用户不存在"); TwinkleValidator.notNull(user, "所选用户不存在");
TwinkleValidator.isTrue(scope.getGroup().getId() == user.getGroup().getId(), "所选用户与所选范围不属于同一机构"); TwinkleValidator.isTrue(scope.getGroup().getId() == user.getGroup().getId(), "所选用户与所选范围不属于同一机构");
List<User> userList = new ArrayList<>(); List<User> userList = scope.getUserList();
userList.add(user); if (!userList.contains(user)) {
scope.setUserList(userList); userList.add(user);
recordScopeService.save(scope); scope.setUserList(userList);
recordScopeService.save(scope);
}
return ApiResponse.ok(); return ApiResponse.ok();
} }
......
...@@ -10,4 +10,5 @@ public interface MissionDao extends JpaRepository<Mission, Long> { ...@@ -10,4 +10,5 @@ public interface MissionDao extends JpaRepository<Mission, Long> {
List<Mission> findAllByTemplateIdAndStatus(long templateId, int status); List<Mission> findAllByTemplateIdAndStatus(long templateId, int status);
Mission findByProcessIdAndUserUsernameAndTemplateIdAndStatus(String processId, String username, long templateId, int status);
} }
...@@ -38,6 +38,10 @@ public class MissionService { ...@@ -38,6 +38,10 @@ public class MissionService {
return missionDao.getOne(missionId); return missionDao.getOne(missionId);
} }
public Mission findByProcessIdAndUsernameAndTemplateIdAndStatus(String processId, String username, long templateId, int status) {
return missionDao.findByProcessIdAndUserUsernameAndTemplateIdAndStatus(processId, username, templateId, status);
}
public List<Mission> findAllByTemplateIdAndStatus(long templateId, int status) { public List<Mission> findAllByTemplateIdAndStatus(long templateId, int status) {
return missionDao.findAllByTemplateIdAndStatus(templateId, status); return missionDao.findAllByTemplateIdAndStatus(templateId, status);
} }
......
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