|
@@ -1,9 +1,13 @@
|
|
package com.management.platform.task;
|
|
package com.management.platform.task;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.vo.TisTimeVO;
|
|
import com.management.platform.entity.vo.TisTimeVO;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
|
|
+import com.management.platform.service.StagesService;
|
|
|
|
+import com.management.platform.service.TaskService;
|
|
|
|
+import com.management.platform.util.MessageUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.core.ParameterizedTypeReference;
|
|
import org.springframework.core.ParameterizedTypeReference;
|
|
@@ -58,6 +62,8 @@ public class DataCollectTask {
|
|
private FmwDetailMapper fmwDetailMapper;
|
|
private FmwDetailMapper fmwDetailMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private FinanceMonthlyWorktimeMapper financeMonthlyWorktimeMapper;
|
|
private FinanceMonthlyWorktimeMapper financeMonthlyWorktimeMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CompanyMapper companyMapper;
|
|
|
|
|
|
|
|
|
|
// private static HikariDataSource sqlServerDataSource;
|
|
// private static HikariDataSource sqlServerDataSource;
|
|
@@ -504,7 +510,7 @@ public class DataCollectTask {
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
String sumUrl = PREFIX_URL+"/dataCollect/getSqlServerProjectDataSum";
|
|
String sumUrl = PREFIX_URL+"/dataCollect/getSqlServerProjectDataSum";
|
|
String listUrl = PREFIX_URL+"/dataCollect/getSqlServerProjectDataList";
|
|
String listUrl = PREFIX_URL+"/dataCollect/getSqlServerProjectDataList";
|
|
-
|
|
|
|
|
|
+ Company company = companyMapper.selectById(specialCompanyId);
|
|
try {
|
|
try {
|
|
ResponseEntity<String> sumResponse = restTemplate.exchange(
|
|
ResponseEntity<String> sumResponse = restTemplate.exchange(
|
|
sumUrl,
|
|
sumUrl,
|
|
@@ -548,7 +554,13 @@ public class DataCollectTask {
|
|
toAddList.addAll(dataList);
|
|
toAddList.addAll(dataList);
|
|
}
|
|
}
|
|
if(!CollectionUtils.isEmpty(toAddList)){
|
|
if(!CollectionUtils.isEmpty(toAddList)){
|
|
- projectMapper.batchInsert(toAddList);
|
|
|
|
|
|
+ for (Project project : toAddList) {
|
|
|
|
+ projectMapper.insert(project);
|
|
|
|
+ if (company.getPackageProject() == 1) {
|
|
|
|
+ initGroup(specialCompanyId,project.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+// projectMapper.batchInsert(toAddList);
|
|
}
|
|
}
|
|
if(!CollectionUtils.isEmpty(toUpdateList)){
|
|
if(!CollectionUtils.isEmpty(toUpdateList)){
|
|
for (Project orderInfo : toUpdateList) {
|
|
for (Project orderInfo : toUpdateList) {
|
|
@@ -569,6 +581,79 @@ public class DataCollectTask {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private GroupTemplateMapper groupTemplateMapper;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private GroupTmpstagesMapper groupTmpstagesMapper;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private StagesService stagesService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private GtemplateTaskMapper gtemplateTaskMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private TaskGroupMapper taskGroupMapper;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private TaskService taskService;
|
|
|
|
+
|
|
|
|
+ public void initGroup(Integer companyId, Integer projectId) {
|
|
|
|
+ User user = userMapper.selectOne(new LambdaQueryWrapper<User>()
|
|
|
|
+ .eq(User::getRoleName, "超级管理员")
|
|
|
|
+ .last(" limit 1")
|
|
|
|
+ );
|
|
|
|
+ List<GroupTemplate> groupTemplates = groupTemplateMapper.selectList(new QueryWrapper<GroupTemplate>()
|
|
|
|
+ .eq("company_id", companyId).eq("cre_with_pro", true));
|
|
|
|
+ if (groupTemplates.size()==0){
|
|
|
|
+ //创建默认分组
|
|
|
|
+ TaskGroup group = new TaskGroup();
|
|
|
|
+ group.setProjectId(projectId);
|
|
|
|
+ //group.setName("项目阶段");
|
|
|
|
+ group.setName(MessageUtils.message("entry.projectStage"));
|
|
|
|
+ taskGroupMapper.insert(group);
|
|
|
|
+ }else{
|
|
|
|
+ for (GroupTemplate groupTemplate : groupTemplates) {
|
|
|
|
+ TaskGroup group = new TaskGroup();
|
|
|
|
+ group.setProjectId(projectId);
|
|
|
|
+ group.setName(groupTemplate.getName());
|
|
|
|
+ taskGroupMapper.insert(group);
|
|
|
|
+ //从模板创建任务列表
|
|
|
|
+ List<GroupTmpstages> stages = groupTmpstagesMapper.selectList(new QueryWrapper<GroupTmpstages>().eq("template_id", groupTemplate.getId()));
|
|
|
|
+ List<Stages> batchList = new ArrayList<>();
|
|
|
|
+ stages.forEach(s->{
|
|
|
|
+ Stages stageItem = new Stages();
|
|
|
|
+ stageItem.setGroupId(group.getId());
|
|
|
|
+ stageItem.setStagesName(s.getStagesName());
|
|
|
|
+ stageItem.setSequence(s.getSequence());
|
|
|
|
+ stageItem.setProjectId(projectId);
|
|
|
|
+ batchList.add(stageItem);
|
|
|
|
+ });
|
|
|
|
+ stagesService.saveBatch(batchList);
|
|
|
|
+ //阶段的任务,里程碑,风险
|
|
|
|
+ List<GtemplateTask> gtemplateTaskList = gtemplateTaskMapper.selectList(
|
|
|
|
+ new QueryWrapper<GtemplateTask>().eq("gtemplate_id", groupTemplate.getId())
|
|
|
|
+ .orderByAsc("seq"));
|
|
|
|
+ if (gtemplateTaskList.size() > 0) {
|
|
|
|
+ List<Task> taskList = new ArrayList<>();
|
|
|
|
+ gtemplateTaskList.forEach(gt->{
|
|
|
|
+ Task task = gt.toTask();
|
|
|
|
+ task.setProjectId(projectId);
|
|
|
|
+ task.setGroupId(group.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);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Scheduled(cron = "0 30 3 * * ?")
|
|
@Scheduled(cron = "0 30 3 * * ?")
|
|
@Async
|
|
@Async
|
|
public void businessTripTask(){
|
|
public void businessTripTask(){
|