|
@@ -1,5 +1,6 @@
|
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.management.platform.entity.*;
|
|
|
import com.management.platform.mapper.*;
|
|
@@ -56,48 +57,54 @@ public class TaskGroupServiceImpl extends ServiceImpl<TaskGroupMapper, TaskGroup
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpRespMsg createFromTemplate(GroupTemplate template, Integer projectId) {
|
|
|
+ public HttpRespMsg createFromTemplate(String templateJson, Integer projectId) {
|
|
|
String token = request.getHeader("TOKEN");
|
|
|
User user = userMapper.selectById(token);
|
|
|
- TaskGroup taskGroup = new TaskGroup();
|
|
|
- taskGroup.setName(template.getName());
|
|
|
- taskGroup.setProjectId(projectId);
|
|
|
- save(taskGroup);
|
|
|
+ List<GroupTemplate> groupTemplates = JSONArray.parseArray(templateJson, GroupTemplate.class);
|
|
|
+ List<TaskGroup> list=new ArrayList<>();
|
|
|
+ for(GroupTemplate template:groupTemplates){
|
|
|
+ TaskGroup taskGroup = new TaskGroup();
|
|
|
+ taskGroup.setName(template.getName());
|
|
|
+ taskGroup.setProjectId(projectId);
|
|
|
+ save(taskGroup);
|
|
|
+ list.add(taskGroup);
|
|
|
|
|
|
- //从模板创建任务列表
|
|
|
- List<GroupTmpstages> stages = groupTmpstagesMapper.selectList(new QueryWrapper<GroupTmpstages>().eq("template_id", template.getId()));
|
|
|
- List<Stages> batchList = new ArrayList<>();
|
|
|
- stages.forEach(s->{
|
|
|
- Stages item = new Stages();
|
|
|
- item.setGroupId(taskGroup.getId());
|
|
|
- item.setStagesName(s.getStagesName());
|
|
|
- item.setSequence(s.getSequence());
|
|
|
- item.setProjectId(projectId);
|
|
|
- batchList.add(item);
|
|
|
- });
|
|
|
- stagesService.saveBatch(batchList);
|
|
|
- //阶段的任务,里程碑,风险
|
|
|
- List<GtemplateTask> gtemplateTaskList = gtemplateTaskMapper.selectList(
|
|
|
- new QueryWrapper<GtemplateTask>().eq("gtemplate_id", template.getId())
|
|
|
- .orderByAsc("seq"));
|
|
|
- if (gtemplateTaskList.size() > 0) {
|
|
|
- List<Task> taskList = new ArrayList<>();
|
|
|
- gtemplateTaskList.forEach(gt->{
|
|
|
- Task task = gt.toTask();
|
|
|
- task.setProjectId(projectId);
|
|
|
- task.setGroupId(taskGroup.getId());
|
|
|
- String sName = stages.stream().filter(s->s.getId().equals(gt.getTstagesId())).findFirst().get().getStagesName();
|
|
|
- Integer realStageId = batchList.stream().filter(bat->bat.getStagesName().equals(sName)).findFirst().get().getId();
|
|
|
- task.setStagesId(realStageId);
|
|
|
- task.setCreaterId(user.getId());
|
|
|
- task.setCreaterName(user.getName());
|
|
|
- task.setCreatorColor(user.getColor());
|
|
|
- taskList.add(task);
|
|
|
+ //从模板创建任务列表
|
|
|
+ List<GroupTmpstages> stages = groupTmpstagesMapper.selectList(new QueryWrapper<GroupTmpstages>().eq("template_id", template.getId()));
|
|
|
+ List<Stages> batchList = new ArrayList<>();
|
|
|
+ stages.forEach(s->{
|
|
|
+ Stages item = new Stages();
|
|
|
+ item.setGroupId(taskGroup.getId());
|
|
|
+ item.setStagesName(s.getStagesName());
|
|
|
+ item.setSequence(s.getSequence());
|
|
|
+ item.setProjectId(projectId);
|
|
|
+ batchList.add(item);
|
|
|
});
|
|
|
- taskService.saveBatch(taskList);
|
|
|
+ stagesService.saveBatch(batchList);
|
|
|
+ //阶段的任务,里程碑,风险
|
|
|
+ List<GtemplateTask> gtemplateTaskList = gtemplateTaskMapper.selectList(
|
|
|
+ new QueryWrapper<GtemplateTask>().eq("gtemplate_id", template.getId())
|
|
|
+ .orderByAsc("seq"));
|
|
|
+ if (gtemplateTaskList.size() > 0) {
|
|
|
+ List<Task> taskList = new ArrayList<>();
|
|
|
+ gtemplateTaskList.forEach(gt->{
|
|
|
+ Task task = gt.toTask();
|
|
|
+ task.setProjectId(projectId);
|
|
|
+ task.setGroupId(taskGroup.getId());
|
|
|
+ String sName = stages.stream().filter(s->s.getId().equals(gt.getTstagesId())).findFirst().get().getStagesName();
|
|
|
+ Integer realStageId = batchList.stream().filter(bat->bat.getStagesName().equals(sName)).findFirst().get().getId();
|
|
|
+ task.setStagesId(realStageId);
|
|
|
+ task.setCreaterId(user.getId());
|
|
|
+ task.setCreaterName(user.getName());
|
|
|
+ task.setCreatorColor(user.getColor());
|
|
|
+ taskList.add(task);
|
|
|
+ });
|
|
|
+ taskService.saveBatch(taskList);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
- msg.data = taskGroup;
|
|
|
+ msg.data = list;
|
|
|
return msg;
|
|
|
}
|
|
|
}
|