|
@@ -394,7 +394,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
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());
|
|
|
+ List<Report> reports;
|
|
|
+ if(project.getManDayStartDate()!=null){
|
|
|
+ reports = reportList.stream().filter(rl -> rl.getProjectId().equals(project.getId())&&(rl.getCreateDate().isAfter(project.getManDayStartDate())||rl.getCreateDate().isEqual(project.getManDayStartDate()))).collect(Collectors.toList());
|
|
|
+ }else {
|
|
|
+ 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));
|
|
@@ -528,7 +533,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
String providerIds,
|
|
|
String providerNames,
|
|
|
HttpServletRequest request,
|
|
|
- ProjectSeparate projectSeparate,Double outputValue,Integer deptId,boolean onlyChangeParticipate,String buId,Integer manDay,String plate1,
|
|
|
+ ProjectSeparate projectSeparate,Double outputValue,Integer deptId,boolean onlyChangeParticipate,String buId,Integer manDay,String manDayStartDate,String plate1,
|
|
|
String plate2,
|
|
|
String plate3,
|
|
|
String plate4,
|
|
@@ -627,6 +632,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
if(timeType.getProjectManDay()==1){
|
|
|
project.setManDay(manDay);
|
|
|
+ if (!StringUtils.isEmpty(planEndDate)) {
|
|
|
+ project.setManDayStartDate(LocalDate.parse(manDayStartDate));
|
|
|
+ }
|
|
|
}
|
|
|
if(timeType.getOutputValueStatus()==1){
|
|
|
project.setOutputValue(outputValue==null?0.00:outputValue);
|
|
@@ -781,6 +789,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
if(timeType.getProjectManDay()==1){
|
|
|
p.setManDay(manDay);
|
|
|
+ if (!StringUtils.isEmpty(manDayStartDate)) {
|
|
|
+ p.setManDayStartDate(LocalDate.parse(manDayStartDate));
|
|
|
+ }
|
|
|
}
|
|
|
//编辑项目合同修改 添加记录
|
|
|
if(contractAmount!=null&&project.getContractAmount().doubleValue()!=contractAmount){
|
|
@@ -1718,7 +1729,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
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)));
|
|
|
+ List<Report> reportList;
|
|
|
+ if(project.getManDayStartDate()!=null){
|
|
|
+ reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("project_id", project.getId()).gt("create_date",project.getManDayStartDate()).and(wrapper -> wrapper.eq("state", 0).or().eq("state", 1).or().eq("state", 3)));
|
|
|
+ }else {
|
|
|
+ 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));
|