|
@@ -387,7 +387,22 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
projectIds.add(-1);
|
|
|
}
|
|
|
List<Map<String,Object>> particpationList=participationMapper.getAllParticipator(projectIds);
|
|
|
+ List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().in("project_id",projectIds).and(wrapper -> wrapper.eq("state", 0).or().eq("state", 1).or().eq("state", 3)));
|
|
|
for (Project project : projectList) {
|
|
|
+ //todo:计算项目预算工时
|
|
|
+ if(project.getManDay()!=null){
|
|
|
+ BigDecimal bigDecimal=new BigDecimal(project.getManDay());
|
|
|
+ bigDecimal=bigDecimal.multiply(new BigDecimal(timeType.getAllday()));
|
|
|
+ String format = String.format("%.1f", bigDecimal.doubleValue());
|
|
|
+ project.setEstimatedWorkTime(format);
|
|
|
+ //todo:计算剩余工时
|
|
|
+ List<Report> reports = reportList.stream().filter(rl -> rl.getProjectId().equals(project.getId())).collect(Collectors.toList());
|
|
|
+ //已发送工时
|
|
|
+ double sum = reports.stream().mapToDouble(Report::getWorkingTime).sum();
|
|
|
+ bigDecimal=bigDecimal.subtract(new BigDecimal(sum));
|
|
|
+ String format1 = String.format("%.1f", bigDecimal.doubleValue());
|
|
|
+ project.setResidueEstimatedWorkTime(format1);
|
|
|
+ }
|
|
|
ProjectVO projectVO = new ProjectVO();
|
|
|
if(timeType.getProjectLevelState()==1){
|
|
|
Optional<ProjectLevel> first = projectLevelList.stream().filter(pl -> pl.getId().equals(project.getLevel())).findFirst();
|
|
@@ -1697,6 +1712,21 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
List<Project> projectList= (List<Project>) mapList.get("records");
|
|
|
Project project = projectList.get(0);
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
|
+ //todo:计算项目预算工时
|
|
|
+ if(project.getManDay()!=null){
|
|
|
+ BigDecimal bigDecimal=new BigDecimal(project.getManDay());
|
|
|
+ bigDecimal=bigDecimal.multiply(new BigDecimal(timeType.getAllday()));
|
|
|
+ String format = String.format("%.1f", bigDecimal.doubleValue());
|
|
|
+ project.setEstimatedWorkTime(format);
|
|
|
+ //todo:计算剩余工时
|
|
|
+ List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("project_id", project.getId()).and(wrapper -> wrapper.eq("state", 0).or().eq("state", 1).or().eq("state", 3)));
|
|
|
+ //已发送工时
|
|
|
+ double sum = reportList.stream().mapToDouble(Report::getWorkingTime).sum();
|
|
|
+ bigDecimal=bigDecimal.subtract(new BigDecimal(sum));
|
|
|
+ String format1 = String.format("%.1f", bigDecimal.doubleValue());
|
|
|
+ project.setResidueEstimatedWorkTime(format1);
|
|
|
+ }
|
|
|
List<ProjectCustom> proCustomList = projectCustomMapper.selectList(new QueryWrapper<ProjectCustom>().eq("company_id", companyId));
|
|
|
//按顺序存储项目自定义字段 对应plate
|
|
|
HashMap map=new HashMap();
|