Prechádzať zdrojové kódy

aps-甘特图工序作业明细显示值问题改动testin1629

zhoudazhuang 9 mesiacov pred
rodič
commit
92e61a9f7a

+ 14 - 9
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/GanttServiceImpl.java

@@ -386,15 +386,15 @@ public class GanttServiceImpl implements GanttService {
                 });
                 Date actualStartDate = null;
                 Date actualFinishDate = null;
-                //查询实际开工时间为空的列表
-                List<GanttVos> nullActualDateList = ganttVos.stream()
-                        .filter(g -> g.getActualstartdate() == null)
+                //查询实际开工时间为空的列表
+                List<GanttVos> noNullActualDateList = ganttVos.stream()
+                        .filter(g -> g.getActualstartdate() != null)
                         .collect(Collectors.toList());
-                if (nullActualDateList.isEmpty()){
+                if (!noNullActualDateList.isEmpty()){
                     //取出最早实际开工时间
-                    Optional<GanttVos> minDate = ganttVos.stream()
+                    Optional<GanttVos> minDate = noNullActualDateList.stream()
                             .min(Comparator.comparing(GanttVos::getActualstartdate));
-                    if(minDate.isPresent()&&minDate.get().getActualstartdate()!= null){
+                    if(minDate.get().getActualstartdate()!= null){
                         actualStartDate = minDate.get().getActualstartdate();
                     }
                 }
@@ -426,6 +426,14 @@ public class GanttServiceImpl implements GanttService {
                     //取出最早实际开工时间
                     workstatus = minWorkStatus.getWorkstatus();
                 }
+                String finalWorkStatus = workstatus;
+                Date finalActualStartDate = actualStartDate;
+                Date finalActualFinishDate = actualFinishDate;
+                ganttVos.forEach(item -> {
+                    item.setGanttprocessstatus(GANTT_PROCESS_STATUS_MAP.getOrDefault(finalWorkStatus, ""));
+                    item.setActualstartdate(finalActualStartDate);
+                    item.setActualfinishdate(finalActualFinishDate);
+                });
 //                List<String> itemNames = new ArrayList<>();
                 // 按照工序作业明细ID 进行分组 并且获取 图列的 名称和描述
 //                LinkedHashMap<String, List<GanttVos>> collect = ganttVos.stream().collect(Collectors.groupingBy(GanttVos::getId, LinkedHashMap::new, Collectors.toList()));
@@ -463,9 +471,6 @@ public class GanttServiceImpl implements GanttService {
                     // 有冲突描述时
                     dateVo.setConflict(StringUtils.isBlank(dateVo.getConflictdes()) && StringUtils.isBlank(dateVo.getSoftconflictdes()));
                 }
-                dateVo.setGanttprocessstatus(GANTT_PROCESS_STATUS_MAP.getOrDefault(workstatus, ""));
-                dateVo.setActualstartdate(actualStartDate);
-                dateVo.setActualfinishdate(actualFinishDate);
                 resultVo.add(dateVo);
             }
         }