|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.easy.admin.auth.model.SysUser; |
|
|
import com.easy.admin.auth.model.SysUser; |
|
@ -19,6 +20,7 @@ import com.easy.admin.modules.huzhou.dao.HuzhouSubProjectinfoMapper; |
|
|
import com.easy.admin.modules.huzhou.entity.*; |
|
|
import com.easy.admin.modules.huzhou.entity.*; |
|
|
import com.easy.admin.modules.huzhou.service.*; |
|
|
import com.easy.admin.modules.huzhou.service.*; |
|
|
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV; |
|
|
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV; |
|
|
|
|
|
import com.easy.admin.modules.huzhou.vo.TaskLevelDetailVo; |
|
|
import com.easy.admin.sys.model.SysDict; |
|
|
import com.easy.admin.sys.model.SysDict; |
|
|
import com.easy.admin.sys.service.SysDictService; |
|
|
import com.easy.admin.sys.service.SysDictService; |
|
|
import com.easy.admin.util.ShiroUtil; |
|
|
import com.easy.admin.util.ShiroUtil; |
|
@ -292,6 +294,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper, |
|
|
|
|
|
|
|
|
// 1.判断该项目是否存在子项目
|
|
|
// 1.判断该项目是否存在子项目
|
|
|
List<String> subProjectIds = getSubProjectIds(projectId); |
|
|
List<String> subProjectIds = getSubProjectIds(projectId); |
|
|
|
|
|
log.info("子项目集合为:{}", subProjectIds); |
|
|
if (CollectionUtil.isNotEmpty(subProjectIds)) { |
|
|
if (CollectionUtil.isNotEmpty(subProjectIds)) { |
|
|
log.info("存在子项目需重新计算主项目进度"); |
|
|
log.info("存在子项目需重新计算主项目进度"); |
|
|
// 2.获取所有子项目对应的任务级别 (不考虑任务本级)
|
|
|
// 2.获取所有子项目对应的任务级别 (不考虑任务本级)
|
|
@ -406,16 +409,21 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper, |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 获取所属子项目的id集合 |
|
|
|
|
|
* @param projectId |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
private List<String> getSubProjectIds(String projectId) { |
|
|
private List<String> getSubProjectIds(String projectId) { |
|
|
LambdaQueryWrapper<HuzhouSubProjectinfo> userProjectWrapper = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<HuzhouSubProjectinfo> userProjectWrapper = new LambdaQueryWrapper<>(); |
|
|
userProjectWrapper.eq(HuzhouSubProjectinfo::getProjectId, projectId) |
|
|
userProjectWrapper.eq(HuzhouSubProjectinfo::getProjectId, projectId); |
|
|
.select(HuzhouSubProjectinfo::getId); |
|
|
|
|
|
List<HuzhouSubProjectinfo> subProjectInfos = subProjectinfoService.list(userProjectWrapper); |
|
|
List<HuzhouSubProjectinfo> subProjectInfos = subProjectinfoService.list(userProjectWrapper); |
|
|
List<String> subProjectIds = subProjectInfos |
|
|
List<String> subProjectIds = subProjectInfos |
|
|
.stream().map(HuzhouSubProjectinfo::getId) |
|
|
.stream().map(HuzhouSubProjectinfo::getId) |
|
|
.collect(Collectors.toList()); |
|
|
.collect(Collectors.toList()); |
|
|
log.info("该主项目id为:{} 子项目数量为:{} 子项目id集合为:{}", projectId,subProjectIds.size(),subProjectIds); |
|
|
log.info("该主项目id为:{} 子项目数量为:{} 子项目id集合为:{}", projectId,subProjectIds.size(),subProjectIds); |
|
|
return subProjectIds != null ? subProjectIds : new ArrayList<>(); |
|
|
return CollectionUtils.isNotEmpty(subProjectIds) ? subProjectIds : new ArrayList<>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -1190,4 +1198,30 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper, |
|
|
this.updateById(info); |
|
|
this.updateById(info); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<TaskLevelDetailVo> queryTaskLevelDetail(String projectid, String taskLevel) { |
|
|
|
|
|
// 获取子项目id集合
|
|
|
|
|
|
List<String> subProjectIds = getSubProjectIds(projectid); |
|
|
|
|
|
List<TaskLevelDetailVo> result = new ArrayList<>(); |
|
|
|
|
|
// 构造查询条件
|
|
|
|
|
|
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
|
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectid) |
|
|
|
|
|
.eq(HuzhouPlaninfo::getTaskLevel,taskLevel); |
|
|
|
|
|
// 封装子项目阶段详情信息
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(subProjectIds)){ |
|
|
|
|
|
for (String subProjectId : subProjectIds) { |
|
|
|
|
|
TaskLevelDetailVo subTaskLevelDetailVo = new TaskLevelDetailVo(); |
|
|
|
|
|
HuzhouPlaninfo subPlanInfo = this.getOne(queryWrapper); |
|
|
|
|
|
HuzhouProjectinfo subProjectInfo = subProjectinfoService.getById(subProjectId); |
|
|
|
|
|
String projectName = subProjectInfo.getProjectName(); |
|
|
|
|
|
subTaskLevelDetailVo.setProjectName(projectName); |
|
|
|
|
|
subTaskLevelDetailVo.setIsFinish(subPlanInfo.getIsfinish()); |
|
|
|
|
|
subTaskLevelDetailVo.setSubProjectId(subProjectId); |
|
|
|
|
|
result.add(subTaskLevelDetailVo); |
|
|
|
|
|
log.info("子项目名称:{} 阶段:{} 完成状态:{} id:{}",projectName,subPlanInfo.getTaskLevel(),subPlanInfo.getIsfinish(),subProjectId); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|