Commit a6ce3c08 by chenweisong

更新

parent 236d1c49
package com.keymobile.rest.common.utils; package com.keymobile.rest.common.utils;
import com.keymobile.rest.model.Activity; import com.keymobile.rest.model.Activity;
import com.keymobile.rest.vo.TaskForm; import com.keymobile.rest.dto.TaskForm;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field; import java.lang.reflect.Field;
...@@ -11,7 +11,7 @@ public class BeanUtils { ...@@ -11,7 +11,7 @@ public class BeanUtils {
private BeanUtils() { private BeanUtils() {
throw new RuntimeException("别乱搞"); throw new RuntimeException("hey! don't mess up the party!");
} }
public static <O, T> T convertTo(O o, T t) { public static <O, T> T convertTo(O o, T t) {
......
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.common.utils.DateUtil; import com.keymobile.rest.common.utils.DateUtil;
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;
import com.keymobile.rest.model.User;
import com.keymobile.rest.service.DataInfoService; import com.keymobile.rest.service.DataInfoService;
import com.keymobile.rest.service.TemplateService; import com.keymobile.rest.service.TemplateService;
import com.keymobile.rest.service.MissionService; import com.keymobile.rest.service.MissionService;
...@@ -18,7 +18,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -18,7 +18,9 @@ import org.springframework.web.bind.annotation.*;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@Api(description = "模板 控制器") @Api(description = "模板 控制器")
@RestController @RestController
...@@ -44,10 +46,17 @@ public class ExcelController { ...@@ -44,10 +46,17 @@ public class ExcelController {
}) })
@PostMapping(value = "/excel/saveData") @PostMapping(value = "/excel/saveData")
public ApiResponse saveRecordData(long excelId, String dataStr) { public ApiResponse saveRecordData(long excelId, String dataStr) {
// excelId 其实就是当前得missionId // excelId 其实就是当前得missionId
Mission mission = missionService.findById(excelId); Mission mission = missionService.findById(excelId);
Template template = mission.getTemplate(); Template template = mission.getTemplate();
// 同一个模板的所有任务都需要被完成(所有没完成的任务)
List<Mission> missionList = missionService.findAllByTemplateIdAndStatus(template.getId(), Mission.STATUS_BEGIN);
// 一人填写,全部过
DataInfo dataInfo = new DataInfo(); DataInfo dataInfo = new DataInfo();
Timestamp now = Timestamp.valueOf(DateUtil.getDateTime()); Timestamp now = Timestamp.valueOf(DateUtil.getDateTime());
dataInfo.setCreateAt(now); dataInfo.setCreateAt(now);
...@@ -56,25 +65,46 @@ public class ExcelController { ...@@ -56,25 +65,46 @@ public class ExcelController {
dataInfo.setMission(mission); dataInfo.setMission(mission);
dataInfoService.save(dataInfo); dataInfoService.save(dataInfo);
String processId = mission.getProcess().getProcessId(); for (int i = 0, len = missionList.size(); i < len; i++) {
String taskId = mission.getTaskId(); String taskId = mission.getTaskId();
// 发起人把流程发送到下一个人 // 发起人把流程发送到下一个人
Task task = taskService.createTaskQuery().processInstanceId(processId).taskId(taskId) Task task = taskService.createTaskQuery().taskId(taskId)
.singleResult(); .singleResult();
Map vars = new HashMap<>(); Map vars = new HashMap<>();
if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put("sign", true); // 当该模板执行最后一个任务
vars.put("inputDataApply", "审核人"); if (i == len - 1) {
vars.put("applySign", template.getNeedConfirm() == Template.NEED_CONFIRM); // 当该活动所有的任务都完成
} else { if (template.getNeedAudit() == Template.NEED_AUDIT) {
vars.put("_ACTIVITI_SKIP_EXPRESSION_ENABLED", true); vars.put("needDataAudit", true);
vars.put("sign", false); vars.put("auditUser", "审核人");
vars.put("inputDataApply", ""); } else {
vars.put("applySign", template.getNeedConfirm() == Template.NEED_CONFIRM); 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);
} }
taskService.complete(task.getId(), vars);
return ApiResponse.ok(); return ApiResponse.ok();
} }
...@@ -94,4 +124,14 @@ public class ExcelController { ...@@ -94,4 +124,14 @@ public class ExcelController {
return ApiResponse.ok(); return ApiResponse.ok();
// } // }
} }
public User getAdmin() {
User user = userService.findAllByUsername("发起人").get(0);
return user;
}
public User getAuditUser() {
User user = userService.findAllByUsername("审核人").get(0);
return user;
}
} }
...@@ -8,8 +8,10 @@ import com.keymobile.rest.common.validator.CommonValidator; ...@@ -8,8 +8,10 @@ import com.keymobile.rest.common.validator.CommonValidator;
import com.keymobile.rest.model.*; import com.keymobile.rest.model.*;
import com.keymobile.rest.model.Process; import com.keymobile.rest.model.Process;
import com.keymobile.rest.service.*; import com.keymobile.rest.service.*;
import com.keymobile.rest.vo.ExcelForm; import com.keymobile.rest.dto.ExcelForm;
import com.keymobile.rest.vo.TaskForm; import com.keymobile.rest.dto.TaskForm;
import com.keymobile.rest.vo.SimpleTask;
import com.keymobile.rest.vo.SimpleTemplate;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.activiti.engine.*; import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment; import org.activiti.engine.repository.Deployment;
...@@ -74,7 +76,7 @@ public class TaskController { ...@@ -74,7 +76,7 @@ public class TaskController {
} else { } else {
taskList = activityService.findAll(pageNo, pageSize, orderBy, propBy); taskList = activityService.findAll(pageNo, pageSize, orderBy, propBy);
} }
return ApiResponse.ok(ImmutableMap.of("list", taskList.getContent(), "total", taskList.getTotalElements())); return ApiResponse.ok(ImmutableMap.of("list", SimpleTask.convert(taskList.getContent()), "total", taskList.getTotalElements()));
} }
@ApiOperation(value = "单个活动详情") @ApiOperation(value = "单个活动详情")
...@@ -85,7 +87,7 @@ public class TaskController { ...@@ -85,7 +87,7 @@ public class TaskController {
public ApiResponse get(long taskId) { public ApiResponse get(long taskId) {
Activity activity = activityService.get(taskId); Activity activity = activityService.get(taskId);
CommonValidator.notNull(activity, "活动不存在"); CommonValidator.notNull(activity, "活动不存在");
return ApiResponse.ok(activity); return ApiResponse.ok(SimpleTask.convert(activity));
} }
@ApiOperation(value = "我的任务", notes = "补录任务列表及审核任务列表") @ApiOperation(value = "我的任务", notes = "补录任务列表及审核任务列表")
...@@ -99,29 +101,53 @@ public class TaskController { ...@@ -99,29 +101,53 @@ public class TaskController {
List<Map> missions = new ArrayList<>(); List<Map> missions = new ArrayList<>();
List<User> userList = userService.findAll(); List<User> userList = userService.findAll();
userList.forEach(user -> { userList.forEach(user -> {
// 查找当前用户所有的activiti task String username;
String sql = "SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ like #{assignee}"; if (user.getUsername().equals("发起人") || user.getUsername().equals("审核人")) {
List<Task> tasks = taskService.createNativeTaskQuery() username = user.getUsername();
.sql(sql) } else {
.parameter("assignee", user.getUsername() + ":templateId:") // 查找当前用户所有的activiti task
username = "%" + user.getUsername() + ":template:%";
}
List<Task> tasks = taskService.createTaskQuery().taskAssigneeLike(username)
.list(); .list();
tasks.forEach(task -> { tasks.forEach(task -> {
String assignee = task.getAssignee(); 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 map = new HashMap();
map.put("id", mission.getId()); if (user.getUsername().equals("发起人") || user.getUsername().equals("审核人")) {
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 { } else {
long templateId = Long.parseLong(assignee.split(":template:")[1]);
String processId = task.getProcessInstanceId();
Process process = processService.findByProcessId(processId);
Mission mission = missionService.findByProcessIdAndUsernameAndTemplateIdAndStatus(process.getId(), user.getUsername(), templateId, Mission.STATUS_BEGIN);
mission.setTaskId(task.getId());
missionService.save(mission);
map.put("id", mission.getId());
map.put("userId", mission.getUser().getId());
map.put("username", mission.getUser().getUsername());
Template template = mission.getTemplate();
Map _template = new HashMap();
_template.put("id", mission.getId());
_template.put("config", template.getConfig());
_template.put("name", template.getName());
_template.put("createAt", template.getCreateAt());
map.put("excelList", Arrays.asList(_template));
}
if (task.getTaskDefinitionKey().toLowerCase().equals("dataenter")) {
map.put("kind", 1);
map.put("mission", "填写补录数据");
} else if (task.getTaskDefinitionKey().toLowerCase().equals("dataaudit")) {
map.put("kind", 2); map.put("kind", 2);
map.put("mission", "审核补录数据");
} else if (task.getTaskDefinitionKey().toLowerCase().equals("useraudit")) {
map.put("kind", 3);
map.put("mission", "审核人审核");
} else if (task.getTaskDefinitionKey().toLowerCase().equals("databackflow")) {
map.put("kind", 4);
map.put("mission", "数据回流");
} }
missions.add(map); missions.add(map);
}); });
...@@ -144,7 +170,8 @@ public class TaskController { ...@@ -144,7 +170,8 @@ public class TaskController {
// 新建活动 // 新建活动
Timestamp now = Timestamp.valueOf(DateUtil.getDateTime()); Timestamp now = Timestamp.valueOf(DateUtil.getDateTime());
Activity activity = BeanUtils.convertTo(form, new Activity()); Activity activity = new Activity();
activity = BeanUtils.convertTo(form, activity);
activity.setCreateAt(now); activity.setCreateAt(now);
final Activity finalActivity = activityService.save(activity); final Activity finalActivity = activityService.save(activity);
...@@ -164,7 +191,8 @@ public class TaskController { ...@@ -164,7 +191,8 @@ public class TaskController {
|| (StringUtils.isNotEmpty(excelForm.getUpStreamAddr()) && StringUtils.isEmpty(excelForm.getBackStreamAddr()))), "上游地址和回流地址需同时填写或者同时为空"); || (StringUtils.isNotEmpty(excelForm.getUpStreamAddr()) && StringUtils.isEmpty(excelForm.getBackStreamAddr()))), "上游地址和回流地址需同时填写或者同时为空");
excelForm.setActivity(finalActivity); excelForm.setActivity(finalActivity);
Template template = BeanUtils.convertTo(excelForm, new Template()); Template template = new Template();
template = BeanUtils.convertTo(excelForm, template);
template.setCreateAt(now); template.setCreateAt(now);
final Template finalTemplate = templateService.save(template); final Template finalTemplate = templateService.save(template);
...@@ -195,7 +223,7 @@ public class TaskController { ...@@ -195,7 +223,7 @@ public class TaskController {
Activity activity = activityService.get(taskId); Activity activity = activityService.get(taskId);
CommonValidator.notNull(activity, "活动不存在"); CommonValidator.notNull(activity, "活动不存在");
// 根据活动查找需要填写的人 目前只支持一人 // 根据活动查找需要填写的人 目前只支持一人
List<Template> templateList = activity.getExcelList(); List<Template> templateList = activity.getTemplateList();
CommonValidator.notLessThan(templateList.size(), 1, "补录模板不存在"); CommonValidator.notLessThan(templateList.size(), 1, "补录模板不存在");
// 部署补录流程 // 部署补录流程
...@@ -257,9 +285,7 @@ public class TaskController { ...@@ -257,9 +285,7 @@ public class TaskController {
Map<String, Object> vars = new HashMap<>(); Map<String, Object> vars = new HashMap<>();
// 分发录入任务 // 分发录入任务
if (resultTask.getTaskDefinitionKey().contains("startEntry")) { vars.put("candidateUsers", userNameList);
vars.put("candiateUserList", userNameList);
}
// 提交任务,并把补录人任务划分好 // 提交任务,并把补录人任务划分好
taskService.complete(resultTask.getId(), vars); taskService.complete(resultTask.getId(), vars);
return ApiResponse.ok(); return ApiResponse.ok();
...@@ -271,8 +297,7 @@ public class TaskController { ...@@ -271,8 +297,7 @@ public class TaskController {
@ApiImplicitParam(name = "taskId", value = "活动id", paramType = "query", required = true, dataType = "long") @ApiImplicitParam(name = "taskId", value = "活动id", paramType = "query", required = true, dataType = "long")
}) })
@PostMapping(value = "/pass") @PostMapping(value = "/pass")
public ApiResponse passTask( public ApiResponse passTask(long taskId) {
long taskId) {
Activity activity = activityService.get(taskId); Activity activity = activityService.get(taskId);
// 完结活动, 流程跑完 // 完结活动, 流程跑完
// User judge = userService.getAudit(); // User judge = userService.getAudit();
...@@ -310,8 +335,7 @@ public class TaskController { ...@@ -310,8 +335,7 @@ public class TaskController {
public User getAdmin() { public User getAdmin() {
User user = new User(); User user = userService.findAllByUsername("发起人").get(0);
user.setUsername("发起人");
return user; return user;
} }
......
...@@ -10,5 +10,7 @@ public interface MissionDao extends JpaRepository<Mission, Long> { ...@@ -10,5 +10,7 @@ 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); long countAllByActivityIdAndStatus(long activityId, int status);
Mission findByProcessIdAndUserUsernameAndTemplateIdAndStatusAndType(long processId, String username, long templateId, int status, int type);
} }
package com.keymobile.rest.vo; package com.keymobile.rest.dto;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.keymobile.rest.model.Activity; import com.keymobile.rest.model.Activity;
...@@ -31,16 +31,16 @@ public class ExcelForm { ...@@ -31,16 +31,16 @@ public class ExcelForm {
private String remark; private String remark;
@ApiModelProperty(name = "dataAt", value = "数据开始行数 列如 1", example = "1") @ApiModelProperty(name = "dataAt", value = "数据开始行数 列如 1", example = "1")
private Integer dataAt; private Integer dataAt = 1;
@ApiModelProperty(name = "needAudit", value = "需要审核 1 不需要 2 需要", required = true, example = "1") @ApiModelProperty(name = "needAudit", value = "需要审核 1 不需要 2 需要", required = true, example = "1")
private Integer needAudit; private Integer needAudit = 1;
@ApiModelProperty(name = "needConfirm", value = "需要负责人确认 1 不需要 2 需要", required = true, example = "1") @ApiModelProperty(name = "needConfirm", value = "需要负责人确认 1 不需要 2 需要", required = true, example = "1")
private Integer needConfirm; private Integer needConfirm = 1;
@ApiModelProperty(name = "needMerge", value = "需要数据合并 1 不需要 2 需要", example = "1") @ApiModelProperty(name = "needMerge", value = "需要数据合并 1 不需要 2 需要", example = "1")
private Integer needMerge; private Integer needMerge = 1;
@ApiModelProperty(name = "upStreamAddr", value = "上游地址 与 回流地址 同时填写") @ApiModelProperty(name = "upStreamAddr", value = "上游地址 与 回流地址 同时填写")
private String upStreamAddr; private String upStreamAddr;
......
package com.keymobile.rest.vo; package com.keymobile.rest.dto;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.keymobile.rest.model.User; import com.keymobile.rest.model.User;
...@@ -17,7 +17,7 @@ public class TaskForm { ...@@ -17,7 +17,7 @@ public class TaskForm {
private String name; private String name;
@ApiModelProperty(required = true, name = "type", value = "收数类型 1手动 2自动", example = "1") @ApiModelProperty(required = true, name = "type", value = "收数类型 1手动 2自动", example = "1")
private Integer type; private Integer type = 1;
@ApiModelProperty(name = "freq", value = "频度 按年 1 按周 2 按月 3 按日 4", example = "1") @ApiModelProperty(name = "freq", value = "频度 按年 1 按周 2 按月 3 按日 4", example = "1")
private Integer freq; private Integer freq;
......
...@@ -42,7 +42,7 @@ public class Activity implements Serializable { ...@@ -42,7 +42,7 @@ public class Activity implements Serializable {
private String name; private String name;
@Column(nullable = false, columnDefinition = ("integer(2) default 1 comment '下发方式'")) @Column(nullable = false, columnDefinition = ("integer(2) default 1 comment '下发方式'"))
private Integer type; private Integer type = 1;
@Column(columnDefinition = ("varchar(200) comment '备注'")) @Column(columnDefinition = ("varchar(200) comment '备注'"))
private String remark; private String remark;
...@@ -55,7 +55,7 @@ public class Activity implements Serializable { ...@@ -55,7 +55,7 @@ public class Activity implements Serializable {
private Timestamp createAt; private Timestamp createAt;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "activity") @OneToMany(fetch = FetchType.EAGER, mappedBy = "activity")
private List<Template> excelList; private List<Template> templateList;
/** /**
...@@ -71,4 +71,11 @@ public class Activity implements Serializable { ...@@ -71,4 +71,11 @@ public class Activity implements Serializable {
@JsonIgnore @JsonIgnore
private List<Process> processList; private List<Process> processList;
/**
* 该活动跑过得所有任务
*/
@OneToMany(fetch = FetchType.LAZY, mappedBy = "activity")
@JsonIgnore
private List<Mission> missionList;
} }
...@@ -32,10 +32,10 @@ public class Group implements Serializable { ...@@ -32,10 +32,10 @@ public class Group implements Serializable {
private String name; private String name;
@Column(nullable = false, columnDefinition = ("integer(2) default 0 comment '机构层级'")) @Column(nullable = false, columnDefinition = ("integer(2) default 0 comment '机构层级'"))
private int level; private int level = 0;
@Column(name = "parent_id", columnDefinition = ("bigint(22) default 0 comment '父机构id'")) @Column(name = "parent_id", columnDefinition = ("bigint(22) default 0 comment '父机构id'"))
private long parentId; private long parentId = 0;
/** /**
* 常见的父子数据结构 * 常见的父子数据结构
......
...@@ -65,4 +65,8 @@ public class Mission implements Serializable { ...@@ -65,4 +65,8 @@ public class Mission implements Serializable {
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JsonIgnore @JsonIgnore
private Process process; private Process process;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnore
private Activity activity;
} }
...@@ -37,7 +37,7 @@ public class Process implements Serializable { ...@@ -37,7 +37,7 @@ public class Process implements Serializable {
private String processId; private String processId;
@Column(nullable = false, columnDefinition = ("integer(2) default 0 comment '进程状态'")) @Column(nullable = false, columnDefinition = ("integer(2) default 0 comment '进程状态'"))
private int status; private int status = 0;
/** /**
* 该进程启动得所有子任务 * 该进程启动得所有子任务
......
...@@ -41,16 +41,16 @@ public class Template implements Serializable { ...@@ -41,16 +41,16 @@ public class Template implements Serializable {
private String config; private String config;
@Column(name = "data_at", columnDefinition = ("integer(20) default 1 comment '数据开始行数'")) @Column(name = "data_at", columnDefinition = ("integer(20) default 1 comment '数据开始行数'"))
private Integer dataAt; private Integer dataAt = 1;
@Column(name = "need_audit", columnDefinition = ("integer(2) default 1 comment '需要审核'")) @Column(name = "need_audit", columnDefinition = ("integer(2) default 1 comment '需要审核'"))
private Integer needAudit; private Integer needAudit = 1;
@Column(name = "need_confirm", columnDefinition = ("integer(2) default 1 comment '需要负责人确认'")) @Column(name = "need_confirm", columnDefinition = ("integer(2) default 1 comment '需要负责人确认'"))
private Integer needConfirm; private Integer needConfirm = 1;
@Column(name = "need_merge", columnDefinition = ("integer(2) default 1 comment '需要数据合并'")) @Column(name = "need_merge", columnDefinition = ("integer(2) default 1 comment '需要数据合并'"))
private Integer needMerge; private Integer needMerge = 1;
@Column(name = "up_stream_addr", columnDefinition = ("varchar(100) comment '上游地址'")) @Column(name = "up_stream_addr", columnDefinition = ("varchar(100) comment '上游地址'"))
private String upStreamAddr; private String upStreamAddr;
......
...@@ -23,6 +23,7 @@ public class MissionService { ...@@ -23,6 +23,7 @@ public class MissionService {
// 初始的开始状态 // 初始的开始状态
info.setStatus(Mission.STATUS_BEGIN); info.setStatus(Mission.STATUS_BEGIN);
info.setUser(user); info.setUser(user);
info.setType(Mission.TYPE_RECORD);
Timestamp now = Timestamp.valueOf(DateUtil.getDateTime()); Timestamp now = Timestamp.valueOf(DateUtil.getDateTime());
info.setCreateAt(now); info.setCreateAt(now);
info = missionDao.save(info); info = missionDao.save(info);
...@@ -38,7 +39,7 @@ public class MissionService { ...@@ -38,7 +39,7 @@ public class MissionService {
return missionDao.getOne(missionId); return missionDao.getOne(missionId);
} }
public Mission findByProcessIdAndUsernameAndTemplateIdAndStatus(String processId, String username, long templateId, int status) { public Mission findByProcessIdAndUsernameAndTemplateIdAndStatusAndType(long processId, String username, long templateId, int status) {
return missionDao.findByProcessIdAndUserUsernameAndTemplateIdAndStatus(processId, username, templateId, status); return missionDao.findByProcessIdAndUserUsernameAndTemplateIdAndStatus(processId, username, templateId, status);
} }
...@@ -46,4 +47,8 @@ public class MissionService { ...@@ -46,4 +47,8 @@ public class MissionService {
return missionDao.findAllByTemplateIdAndStatus(templateId, status); return missionDao.findAllByTemplateIdAndStatus(templateId, status);
} }
public long countAllByActivityIdAndStatus(long activityId, int status) {
return missionDao.countAllByActivityIdAndStatus(activityId, status);
}
} }
package com.keymobile.rest.vo;
import com.keymobile.rest.common.utils.BeanUtils;
import com.keymobile.rest.model.Activity;
import com.keymobile.rest.model.Template;
import lombok.Data;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@Data
public class SimpleTask {
private Long id;
private String name;
private String remark;
private Integer type;
private Integer freq;
private Timestamp createAt;
private List<SimpleTemplate> excelList;
public static SimpleTask convert(Activity activity) {
List<SimpleTemplate> simpleTemplateList = new ArrayList<>();
List<Template> templateList = activity.getTemplateList();
templateList.forEach(template -> {
simpleTemplateList.add(BeanUtils.convertTo(template, new SimpleTemplate()));
});
SimpleTask task = new SimpleTask();
task = BeanUtils.convertTo(activity, task);
task.setExcelList(simpleTemplateList);
return task;
}
public static List<SimpleTask> convert(List<Activity> activityList) {
List<SimpleTask> simpleTaskList = new ArrayList<>();
activityList.forEach(activity -> {
SimpleTask simpleTask = convert(activity);
simpleTaskList.add(simpleTask);
});
return simpleTaskList;
}
}
package com.keymobile.rest.vo;
import com.keymobile.rest.common.utils.BeanUtils;
import com.keymobile.rest.model.Template;
import lombok.Data;
import java.sql.Timestamp;
@Data
public class SimpleTemplate {
private Long id;
private String name;
private String config;
private Timestamp createAt;
public static SimpleTemplate convert(Template template) {
SimpleTemplate simpleTemplate = new SimpleTemplate();
simpleTemplate = BeanUtils.convertTo(template, simpleTemplate);
return simpleTemplate;
}
}
...@@ -19,10 +19,10 @@ spring: ...@@ -19,10 +19,10 @@ spring:
application: application:
name: dataCollector name: dataCollector
jpa: jpa:
show-sql: false show-sql: true
database-platform: org.hibernate.dialect.MySQL5Dialect database-platform: org.hibernate.dialect.MySQL5Dialect
# hibernate: hibernate:
# ddl-auto: update ddl-auto: update
datasource: datasource:
url: jdbc:mysql://47.105.193.165:3306/dev0?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8 url: jdbc:mysql://47.105.193.165:3306/dev0?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
username: root username: root
......
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