|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.github.pagehelper.util.StringUtil;
|
|
|
import com.management.platform.entity.*;
|
|
|
import com.management.platform.mapper.*;
|
|
|
+import com.management.platform.service.CompanyDingdingService;
|
|
|
import com.management.platform.service.MilestoneTaskRefService;
|
|
|
import com.management.platform.service.TaskExecutorService;
|
|
|
import com.management.platform.service.TaskService;
|
|
@@ -34,6 +35,7 @@ import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -55,6 +57,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
@Resource
|
|
|
private UserMapper userMapper;
|
|
|
@Resource
|
|
|
+ private CompanyDingdingService companyDingdingService;
|
|
|
+ @Resource
|
|
|
private StagesMapper stagesMapper;
|
|
|
@Resource
|
|
|
private TaskGroupMapper taskGroupMapper;
|
|
@@ -62,6 +66,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
private TaskExecutorService taskExecutorService;
|
|
|
@Resource
|
|
|
private MilestoneTaskRefMapper milestoneTaskRefMapper;
|
|
|
+ @Resource
|
|
|
+ private CompanyDingdingMapper companyDingdingMapper;
|
|
|
+ @Resource
|
|
|
+ private ParticipationMapper participationMapper;
|
|
|
|
|
|
@Override
|
|
|
public HttpRespMsg getExecutorPanel(Integer projectId) {
|
|
@@ -293,7 +301,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
|
|
|
//首先先搞到公司id
|
|
|
- Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
|
|
|
+ String userId = request.getHeader("Token");
|
|
|
+ User creator = userMapper.selectById(userId);
|
|
|
+ Integer companyId = creator.getCompanyId();
|
|
|
List<User> allUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
|
//获取当前导入的任务列表
|
|
|
Stages stages = stagesMapper.selectById(stagesId);
|
|
@@ -360,6 +370,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
continue;
|
|
|
}
|
|
|
Task task = new Task();
|
|
|
+ task.setCompanyId(companyId);
|
|
|
task.setProjectId(projectId);
|
|
|
task.setGroupId(groupId);
|
|
|
String executorName = executorCell.getStringCellValue();
|
|
@@ -383,7 +394,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
LocalDate endDate = LocalDate.parse(formatValue, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
task.setEndDate(endDate);
|
|
|
task.setPlanHours(Integer.parseInt(planHoursCell.getStringCellValue()));
|
|
|
-
|
|
|
+ task.setCreaterId(creator.getId());
|
|
|
+ task.setCreatorColor(creator.getColor());
|
|
|
+ task.setCreaterName(creator.getName());
|
|
|
task.setCreateDate(LocalDate.now());
|
|
|
taskList.add(task);
|
|
|
}
|
|
@@ -493,4 +506,22 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void notifyMileStoneFinish(Integer companyId, List<Integer> taskIdList) {
|
|
|
+ List<CompanyDingding> dingdingList = companyDingdingMapper.selectList(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
|
|
|
+ //钉钉注册的公司
|
|
|
+ if (dingdingList.size() > 0) {
|
|
|
+ CompanyDingding dingding = dingdingList.get(0);
|
|
|
+ List<Task> taskList = taskMapper.selectList(new QueryWrapper<Task>().in("id", taskIdList).eq("task_type", 1));
|
|
|
+ for (Task task : taskList) {
|
|
|
+ Project project = projectMapper.selectById(task.getProjectId());
|
|
|
+ List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().eq("project_id", task.getProjectId()));
|
|
|
+ List<User> partUserList = userMapper.selectList(new QueryWrapper<User>().in("id", participationList.stream().map(Participation::getUserId).collect(Collectors.toList())));
|
|
|
+ String useridList = partUserList.stream().map(User::getDingdingUserid).collect(Collectors.joining(","));
|
|
|
+ companyDingdingService.sendFinishMileStoneMsg(dingding, useridList, task.getName(), project.getProjectName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //TODO: 企业微信注册的公司
|
|
|
+ }
|
|
|
+
|
|
|
}
|