Commit ffa08076 by chenweisong

更新

parent c3539fd9
......@@ -2,6 +2,7 @@ package com.keymobile.rest.controller;
import com.keymobile.rest.common.bean.ApiResponse;
import com.keymobile.rest.common.utils.DateUtil;
import com.keymobile.rest.common.validator.CommonValidator;
import com.keymobile.rest.model.DataInfo;
import com.keymobile.rest.model.Mission;
import com.keymobile.rest.model.Template;
......@@ -39,69 +40,47 @@ public class ExcelController {
@ApiOperation(value = "当前补录任务填写补录")
@ApiImplicitParams({
@ApiImplicitParam(name = "taskId", required = true, value = "补录任务id", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "excelId", required = true, value = "当前模板id", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "dataStr", required = true, value = "当前数据字符", dataType = "string", paramType = "query")
})
@PostMapping(value = "/excel/saveData")
public ApiResponse saveRecordData(long excelId, String dataStr) {
public ApiResponse saveTemplateData(String taskId, long excelId, String dataStr) {
// excelId 其实就是当前得missionId
Mission mission = missionService.findById(excelId);
Template template = mission.getTemplate();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
CommonValidator.notNull(task, "任务不存在");
Template template = templateService.get(excelId);
CommonValidator.notNull(template, "模板不存在");
// 同一个模板的所有任务都需要被完成(所有没完成的任务)
List<Mission> missionList = missionService.findAllByTemplateIdAndStatus(template.getId(), Mission.STATUS_BEGIN);
// 一人填写,全部过
DataInfo dataInfo = new DataInfo();
Timestamp now = Timestamp.valueOf(DateUtil.getDateTime());
dataInfo.setCreateAt(now);
dataInfo.setCreateAt(DateUtil.getTimestamp());
dataInfo.setTemplate(template);
dataInfo.setTaskId(taskId);
dataInfo.setUserId(3L);
dataInfo.setData(dataStr);
dataInfo.setMission(mission);
dataInfoService.save(dataInfo);
for (int i = 0, len = missionList.size(); i < len; i++) {
String taskId = mission.getTaskId();
// 发起人把流程发送到下一个人
Task task = taskService.createTaskQuery().taskId(taskId)
.singleResult();
Map vars = new HashMap<>();
Map vars = new HashMap<>();
// 当该模板执行最后一个任务
if (i == len - 1) {
// 当该活动所有的任务都完成
if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put("needDataAudit", true);
vars.put("auditUser", "审核人");
} else {
vars.put("needDataAudit", false);
}
} else {
// 不是最后一个默认全不需要审核
vars.put("needDataAudit", false);
}
mission.setDataInfo(dataInfo);
mission.setStatus(Mission.STATUS_COMPLETED);
missionService.save(mission);
// 当前流程的所有未完成任务
long allMissionCount = missionService.countAllByActivityIdAndStatus(template.getActivity().getId(), Mission.STATUS_BEGIN);
if (allMissionCount == 0) {
if (template.getNeedConfirm() == Template.NEED_CONFIRM) {
vars.put("needConfirm", true);
} else {
vars.put("needConfirm", false);
vars.put("needDataBackflow", true);
}
}
taskService.complete(task.getId(), vars);
if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put("needDataAudit", true);
vars.put("auditUser", "审核人");
} else {
vars.put("needDataAudit", false);
}
// 当前流程的所有未完成任务
// long allMissionCount = missionService.countAllByActivityIdAndStatus(template.getActivity().getId(), Mission.STATUS_BEGIN);
// if (allMissionCount == 0) {
// if (template.getNeedConfirm() == Template.NEED_CONFIRM) {
// vars.put("needConfirm", true);
// } else {
// vars.put("needConfirm", false);
// vars.put("needDataBackflow", true);
// }
// }
taskService.complete(task.getId(), vars);
return ApiResponse.ok();
}
......
......@@ -119,10 +119,11 @@ public class TaskController {
List<UserTemplateMapper> mappers = userTemplateMapperService.findAllByUserIdAndActivityStatus(userId, Activity.STATUS_BEGIN);
mappers.forEach(mapper -> {
Template template = mapper.getTemplate();
long templateId = template.getId();
// 组id
String groupId = "id:" + template.getId();
String groupId = "id:" + templateId;
if (groupId.equals(identityLink.getGroupId())) {
missions.add(convert(groupTask, ImmutableMap.of("username", username, "type", TASK_TYPE_PERSONAL, "templateId", template.getId())));
missions.add(convert(groupTask, ImmutableMap.of("username", username, "type", TASK_TYPE_GROUP, "templateId", templateId)));
}
});
}
......
package com.keymobile.rest.controller;
import com.google.common.collect.ImmutableMap;
import com.keymobile.rest.common.bean.ApiResponse;
import com.keymobile.rest.service.*;
import io.swagger.annotations.Api;
......@@ -19,14 +20,14 @@ public class UserController {
@Autowired
private FeignAuthService feignAuthService;
@ApiOperation(value = "获取机构树")
@ApiOperation(value = "获取组织树")
@PostMapping(value = "/orgs")
public ApiResponse getOrgs() {
return ApiResponse.ok(feignAuthService.getOrgs());
}
@ApiOperation(value = "获取机构下的用户")
@ApiOperation(value = "根据组织id获取用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "orgId", value = "机构id", paramType = "query", required = true, dataType = "long")
})
......@@ -36,7 +37,7 @@ public class UserController {
return ApiResponse.ok(users);
}
@ApiOperation(value = "获取补录范围(用户组)")
@ApiOperation(value = "根据组织id获取用户组")
@ApiImplicitParams({
@ApiImplicitParam(name = "orgId", value = "机构id", paramType = "query", required = true, dataType = "long")
})
......@@ -46,7 +47,7 @@ public class UserController {
return ApiResponse.ok(userGroups);
}
@ApiOperation(value = "获取补录范围(用户组)下的用户")
@ApiOperation(value = "根据用户组id获取用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "userGroupId", value = "用户组id", paramType = "query", required = true, dataType = "long")
})
......@@ -56,4 +57,28 @@ public class UserController {
return ApiResponse.ok(users);
}
@ApiOperation(value = "获取补录范围用户树")
@PostMapping(value = "/users")
public ApiResponse getUsers() {
Map tree = (Map) feignAuthService.getOrgs();
List<Map> subNodes = (List<Map>) tree.get("subNodes");
List<Map> orgs = (List<Map>) subNodes.get(0).get("subNodes");
orgs.forEach(org -> {
List<Map> groups = feignAuthService.getUserGroups(0L, Long.parseLong(((Map) org.get("node")).get("id").toString()));
groups.forEach(group -> {
List<Map> users = feignAuthService.getGroupUsers(0L, Long.parseLong(group.get("id").toString()));
List<Map> groupSubNodes = new ArrayList<>();
users.forEach(user -> {
Map node = new HashMap();
node.put("node", ImmutableMap.of("id", Long.parseLong(user.get("id").toString()), "name", user.get("name").toString()));
node.put("subNodes", Collections.emptyList());
groupSubNodes.add(node);
});
group.put("subNodes", groupSubNodes);
});
org.put("subNodes", groups);
});
return ApiResponse.ok(tree);
}
}
......@@ -2,7 +2,6 @@ package com.keymobile.rest.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.annotations.CreationTimestamp;
import javax.persistence.*;
import java.io.Serializable;
......@@ -26,7 +25,13 @@ public class DataInfo implements Serializable {
@Column(nullable = false, name = "create_at")
private Timestamp createAt;
@OneToOne(fetch = FetchType.LAZY)
@Column(nullable = false, columnDefinition = ("bigint(22) comment '补录人员id'"))
private Long userId;
@Column(nullable = false, columnDefinition = ("bigint(22) comment '补录任务id'"))
private String taskId;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnore
private Mission mission;
private Template template;
}
......@@ -25,7 +25,7 @@ public class UserTemplateMapper implements Serializable {
@Column(nullable = false, name = "create_at")
private Timestamp createAt;
@ManyToOne
@ManyToOne(fetch = FetchType.EAGER)
private Template template;
@ManyToOne
......
......@@ -10,7 +10,7 @@ eureka:
instance:
prefer-ip-address: false
hostname: 192.168.0.48
# hostname: 192.168.0.68
hystrix:
  command:
......@@ -41,7 +41,7 @@ spring:
max-request-size: 100Mb
redis:
host: 192.168.0.192
# host: 127.0.0.1
# host: 127.0.0.1
port: 6379
session:
store-type: redis
......
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