Commit ffa08076 by chenweisong

更新

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