소스 검색

提升甘特图展示性能业务

oyq28 3 년 전
부모
커밋
11d967c653

+ 36 - 16
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -48,6 +48,7 @@ import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.tenant.service.CodeRuleService;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.compress.utils.Lists;
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -741,7 +742,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
 //            planIdList = planList.stream().map(p -> p.getId()).collect(Collectors.toList());
 //        }
 
-//        List<TTask> taskList = baseMapper.selectList(Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo,taskBatchNo).eq(TTask::getDraftFlag,draftFlag).eq(TTask::getPlanId,planId).isNotNull(TTask::getExpectStartTime).in(TTask::getPlanId,pArr).in(TTask::getPlanId,planIdList).between(StringUtil.isNotEmpty(startDate) && StringUtil.isNotEmpty(endDate), TTask::getExpectStartTime, DateUtil.getStartTime(startDate), DateUtil.getEndTime(endDate)));
+        //List<TTask> taskList = baseMapper.selectList(Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo,taskBatchNo).eq(TTask::getDraftFlag,draftFlag).eq(TTask::getPlanId,planId).isNotNull(TTask::getExpectStartTime).in(TTask::getPlanId,pArr).in(TTask::getPlanId,planIdList).between(StringUtil.isNotEmpty(startDate) && StringUtil.isNotEmpty(endDate), TTask::getExpectStartTime, DateUtil.getStartTime(startDate), DateUtil.getEndTime(endDate)));
 //        List<String>dateStrList = new ArrayList<>();
 //        for(TTask t:taskList){
 //            String date1 = DateUtil.dateToString0(t.getExpectStartTime(),"yyyy-MM-dd");
@@ -757,16 +758,7 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
 //        String queryDate = StringUtil.changeIdsListToSubQueryStr(dateStrList);
 //        String dateSql = "select * from c_common_date_info where left(date, 10)  in ("+queryDate+") ";
 //        List<Map<String,Object>> dateList = scheduleUserDateMapper.selectSql(dateSql);
-        List <Map<String,Object>> titleList = null;
-        if(StringUtil.isNotEmpty(startDate) && StringUtil.isNotEmpty(endDate)) {
-            if(DateUtils.isSameDay(DateUtil.stringToDate3(startDate), DateUtil.stringToDate3(endDate))) {
-                titleList = getHourTtileList(DateUtil.stringToDate3(startDate));
-            }else{
-                titleList = getIntervalTtileList(DateUtil.stringToDate3(startDate), DateUtil.stringToDate3(endDate));
-            }
-        }else{
-            titleList = getHourTtileList(null);
-        }
+        //List <Map<String,Object>> titleList = null;
 
         List<Map>returnList = new ArrayList<Map>();
 
@@ -800,6 +792,33 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
             returnList.add(returnMap);
         }
 
+        //限定任务结束时间
+        if(CollectionUtil.isNotEmpty(dataList)) {
+            String expectEndTime = dataList.get(dataList.size() - 1).get("expectEndTime").toString();
+            if(StringUtils.isNotEmpty(expectEndTime)){
+                Date expectEndDate = (expectEndTime.length()>10)?DateUtil.stringToDate7(expectEndTime) : DateUtil.stringToDate3(expectEndTime);
+                if(StringUtils.isNotEmpty(endDate)){
+                    endDate = DateUtil.dateDiff(expectEndDate, DateUtil.stringToDate3(endDate))? expectEndTime: endDate;
+                }else{
+                    endDate = DateUtil.dateToString(expectEndDate);
+                }
+            }
+        }
+
+
+        List<String> titleList = Lists.newArrayList();
+        if(StringUtil.isNotEmpty(startDate) && StringUtil.isNotEmpty(endDate)) {
+            if(DateUtils.isSameDay(DateUtil.stringToDate3(startDate), DateUtil.stringToDate3(endDate))) {
+                //titleList = getHourTtileList(DateUtil.stringToDate3(startDate));
+                titleList.add(DateUtil.dateToString(DateUtil.stringToDate3(startDate)));
+            }else{
+                titleList = getIntervalTtileList(DateUtil.stringToDate3(startDate), DateUtil.stringToDate3(endDate));
+            }
+        }else{
+            //titleList = getHourTtileList(null);
+            titleList.add(DateUtil.dateToString(new Date()));
+        }
+
         //获取数据
         Map<String, Object> retMap = new HashMap<String, Object>();
         retMap.put("titleList",titleList);
@@ -863,18 +882,19 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         return l;
     }
 
-    public  List<Map<String,Object>>getIntervalTtileList(Date startDate, Date endDate){
-        List<Map<String,Object>>l = new ArrayList<Map<String,Object>>();
+    public  List<String>getIntervalTtileList(Date startDate, Date endDate){
+        //List<Map<String,Object>>l = new ArrayList<Map<String,Object>>();
+        List<String> dateList = Lists.newArrayList();
         Date date = startDate;
         Calendar calendar = Calendar.getInstance();
         while(DateUtil.dateDiff(date, endDate)){
-            List<Map<String,Object>> dateList = getHourTtileList(date);
-            l.addAll(dateList);
+            //List<Map<String,Object>> dateList = getHourTtileList(date);
+            dateList.add(DateUtil.dateToString(date));
             calendar.setTime(date);
             calendar.add(Calendar.DATE, 1);
             date = calendar.getTime();
         }
-        return l;
+        return dateList;
     }