Explorar o código

导出功能和图表的整合

wutt %!s(int64=5) %!d(string=hai) anos
pai
achega
e0ab0659db

+ 19 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldHistoryServiceImpl.java

@@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hssx.cloudmodel.util.ExcelUtil;
 import com.hssx.cloudmodel.util.ExcelUtil;
 import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.TimeAndCountUtil;
 import com.hssx.cloudmodel.util.TimeAndCountUtil;
+import org.apache.xmlbeans.impl.common.ConcurrentReaderHashMap;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.thymeleaf.expression.Maps;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
@@ -20,6 +22,7 @@ import java.text.SimpleDateFormat;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -208,7 +211,22 @@ public class MouldHistoryServiceImpl extends ServiceImpl<MouldHistoryMapper, Mou
         //模具运行次数
         //模具运行次数
         List<MouldCycleRuntime> cycleRuntime = mouldCycleRuntimeMapper.selectList(new QueryWrapper<MouldCycleRuntime>().eq("equipment_no", equipmentNo).eq("date_str", time));
         List<MouldCycleRuntime> cycleRuntime = mouldCycleRuntimeMapper.selectList(new QueryWrapper<MouldCycleRuntime>().eq("equipment_no", equipmentNo).eq("date_str", time));
         cycleRuntime = cycleRuntime.stream().sorted(Comparator.comparing(MouldCycleRuntime::getTimeSlot)).collect(Collectors.toList());
         cycleRuntime = cycleRuntime.stream().sorted(Comparator.comparing(MouldCycleRuntime::getTimeSlot)).collect(Collectors.toList());
-        listMap.put("runtime", cycleRuntime);
+        Map<String, MouldCycleRuntime> set = TimeAndCountUtil.getSet();
+        Map<String, List<MouldCycleRuntime>> collect = cycleRuntime.stream().collect(Collectors.groupingBy(MouldCycleRuntime::getTimeSlot));
+        for (Map.Entry<String, List<MouldCycleRuntime>> entry : collect.entrySet()) {
+            MouldCycleRuntime vo = new MouldCycleRuntime();
+            if(entry.getValue().size()>0){
+                vo.setDateStr(entry.getValue().get(0).getDateStr());
+                vo.setEquipmentNo(entry.getValue().get(0).getEquipmentNo());
+                vo.setRuntime(entry.getValue().get(0).getRuntime());
+                vo.setTimeSlot(entry.getValue().get(0).getTimeSlot());
+                set.put(entry.getKey(),vo);
+            }
+        }
+        Map<String, MouldCycleRuntime> runtimeResult = new LinkedHashMap<>();
+        set.entrySet().stream().sorted(Map.Entry.<String, MouldCycleRuntime>comparingByKey().reversed())
+                    .forEachOrdered(e -> runtimeResult.put(e.getKey(), e.getValue()));
+        listMap.put("runtime", runtimeResult);
         msg.data = map;
         msg.data = map;
         return msg;
         return msg;
     }
     }

+ 15 - 12
cloud-model/src/main/java/com/hssx/cloudmodel/util/TimeAndCountUtil.java

@@ -1,13 +1,12 @@
 package com.hssx.cloudmodel.util;
 package com.hssx.cloudmodel.util;
+import com.hssx.cloudmodel.entity.MouldCycleRuntime;
+import com.hssx.cloudmodel.entity.MouldHistory;
 import com.hssx.cloudmodel.entity.MouldHistoryTime;
 import com.hssx.cloudmodel.entity.MouldHistoryTime;
 import com.hssx.cloudmodel.entity.vo.MouldHistoryTimeVO;
 import com.hssx.cloudmodel.entity.vo.MouldHistoryTimeVO;
 import com.hssx.cloudmodel.entity.vo.MouldHistoryVO;
 import com.hssx.cloudmodel.entity.vo.MouldHistoryVO;
 
 
 import java.sql.SQLOutput;
 import java.sql.SQLOutput;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 
 /**
 /**
  * Author: 吴涛涛 cuiyi@itany.com
  * Author: 吴涛涛 cuiyi@itany.com
@@ -16,18 +15,17 @@ import java.util.Set;
  * Version: 1.0
  * Version: 1.0
  */
  */
 public class TimeAndCountUtil {
 public class TimeAndCountUtil {
-    public static Set<MouldHistoryVO> getSet(){
-        Set<MouldHistoryVO> set = new HashSet<>();
+    public static Map<String,MouldCycleRuntime> getSet(){
+        Map<String,MouldCycleRuntime> map = new HashMap<>();
         for(int i=0 ;i<=23 ;i++){
         for(int i=0 ;i<=23 ;i++){
-            MouldHistoryVO vo = new MouldHistoryVO();
+            MouldCycleRuntime vo = new MouldCycleRuntime();
+            vo.setRuntime(0);
             String iStr = i<10 ? ("0"+i):i+"";
             String iStr = i<10 ? ("0"+i):i+"";
             int i1 = i+1;
             int i1 = i+1;
             String iStrAfterOne = (i1)<10 ? ("0"+i1):i1+"";
             String iStrAfterOne = (i1)<10 ? ("0"+i1):i1+"";
-            vo.setTime(iStr+":00-"+iStrAfterOne+":00");
-            vo.setRunCnt(0);
-            set.add(vo);
+            map.put(iStr+":00-"+iStrAfterOne+":00",vo);
         }
         }
-        return set;
+        return map;
     }
     }
     public static Map<String,MouldHistoryTimeVO> getMap(){
     public static Map<String,MouldHistoryTimeVO> getMap(){
         Map<String,MouldHistoryTimeVO> map = new HashMap<>();
         Map<String,MouldHistoryTimeVO> map = new HashMap<>();
@@ -42,6 +40,11 @@ public class TimeAndCountUtil {
     }
     }
 
 
     public static void main(String[] args) {
     public static void main(String[] args) {
-        System.out.println(TimeAndCountUtil.getMap());
+
+        Map<String, MouldHistoryTimeVO> runtimeResult = new LinkedHashMap<>();
+        TimeAndCountUtil.getMap().entrySet().stream().sorted(Map.Entry.<String, MouldHistoryTimeVO>comparingByKey())
+                .forEachOrdered(e -> runtimeResult.put(e.getKey(), e.getValue()));
+
+        System.out.println(runtimeResult);
     }
     }
 }
 }