Browse Source

堆垛机和加弹机的模拟展示

wukai 2 months ago
parent
commit
c6548b3d96

+ 13 - 1
jjt-biz/src/main/java/com/jjt/calc/controller/TwinCalcStopController.java

@@ -55,8 +55,20 @@ public class TwinCalcStopController extends BaseController {
     public AjaxResult gzStop(TwinCalcStop twinCalcStop) {
     public AjaxResult gzStop(TwinCalcStop twinCalcStop) {
         processStopData(twinCalcStop);
         processStopData(twinCalcStop);
         List<StopDetail> list = twinCalcStopService.selectTwinCalcStopDetailList(twinCalcStop);
         List<StopDetail> list = twinCalcStopService.selectTwinCalcStopDetailList(twinCalcStop);
+        //TODO 这里是临时处理模拟数据的,用来做堆垛机和加弹机的模拟数据 --start
+        if (twinCalcStop.getStopType() == 6) {
+            //堆垛机
+            list = list.stream()
+                    .filter(detail -> detail.getDeviceId() <= 15)
+                    .collect(Collectors.toList());
+        } else if (twinCalcStop.getStopType() == 7) {
+            //加弹机
+            list = list.stream()
+                    .filter(detail -> detail.getDeviceId() <= 22)
+                    .collect(Collectors.toList());
+        }
+        //TODO 这里是临时处理模拟数据的,用来做堆垛机和加弹机的模拟数据 --end
         List<StopVO> resultList = new ArrayList<>();
         List<StopVO> resultList = new ArrayList<>();
-
         //按照deviceId分组
         //按照deviceId分组
         Map<Long, List<StopDetail>> deviceGroup = list.stream().collect(Collectors.groupingBy(StopDetail::getDeviceId, LinkedHashMap::new, Collectors.toList()));
         Map<Long, List<StopDetail>> deviceGroup = list.stream().collect(Collectors.groupingBy(StopDetail::getDeviceId, LinkedHashMap::new, Collectors.toList()));
 
 

+ 22 - 9
jjt-biz/src/main/java/com/jjt/calc/service/impl/TwinCalcStopServiceImpl.java

@@ -1,6 +1,7 @@
 package com.jjt.calc.service.impl;
 package com.jjt.calc.service.impl;
 
 
 import com.jjt.biz.domain.TwinDevice;
 import com.jjt.biz.domain.TwinDevice;
+import com.jjt.biz.mapper.TwinDeviceMapper;
 import com.jjt.calc.domain.TwinCalcHour;
 import com.jjt.calc.domain.TwinCalcHour;
 import com.jjt.calc.domain.TwinCalcStop;
 import com.jjt.calc.domain.TwinCalcStop;
 import com.jjt.calc.domain.TwinRecordStop;
 import com.jjt.calc.domain.TwinRecordStop;
@@ -14,7 +15,6 @@ import com.jjt.common.utils.DateUtils;
 import com.jjt.common.utils.StringUtils;
 import com.jjt.common.utils.StringUtils;
 import com.jjt.common.utils.bean.BeanUtils;
 import com.jjt.common.utils.bean.BeanUtils;
 import com.jjt.system.service.ISysConfigService;
 import com.jjt.system.service.ISysConfigService;
-import com.jjt.biz.mapper.TwinDeviceMapper;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -360,7 +360,20 @@ public class TwinCalcStopServiceImpl implements ITwinCalcStopService {
             twinCalcStop.setParams(params);
             twinCalcStop.setParams(params);
         }
         }
         params.put("endDate", actualEndDate);
         params.put("endDate", actualEndDate);
+        //TODO 这里是临时处理模拟数据的,用来做堆垛机和加弹机的模拟数据 --start
         List<StopDetail> monthList = twinCalcStopMapper.selectTwinCalcStopDetailListByMonth(twinCalcStop);
         List<StopDetail> monthList = twinCalcStopMapper.selectTwinCalcStopDetailListByMonth(twinCalcStop);
+        if (twinCalcStop.getStopType() == 6) {
+            //堆垛机
+            monthList = monthList.stream()
+                    .filter(detail -> detail.getDeviceId() <= 15)
+                    .collect(Collectors.toList());
+        } else if (twinCalcStop.getStopType() == 7) {
+            //加弹机
+            monthList = monthList.stream()
+                    .filter(detail -> detail.getDeviceId() <= 22)
+                    .collect(Collectors.toList());
+        }
+        //TODO 这里是临时处理模拟数据的,用来做堆垛机和加弹机的模拟数据 --end
         List<StopDetail> dailySummaryList = monthList.stream()
         List<StopDetail> dailySummaryList = monthList.stream()
                 .collect(Collectors.groupingBy(
                 .collect(Collectors.groupingBy(
                         detail -> detail.getDate(),
                         detail -> detail.getDate(),
@@ -516,14 +529,14 @@ public class TwinCalcStopServiceImpl implements ITwinCalcStopService {
             // 构建该设备的时间点映射
             // 构建该设备的时间点映射
             Map<String, StopDetail> hourMap = new HashMap<>();
             Map<String, StopDetail> hourMap = new HashMap<>();
             actualList.stream()
             actualList.stream()
-                .filter(d -> d.getDeviceId().equals(deviceId))
-                .forEach(d -> {
-                    // 使用date和hour组合作为key
-                    Calendar cal = Calendar.getInstance();
-                    cal.setTime(d.getDate());
-                    String key = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, d.getDate()) + "-" + d.getHour();
-                    hourMap.put(key, d);
-                });
+                    .filter(d -> d.getDeviceId().equals(deviceId))
+                    .forEach(d -> {
+                        // 使用date和hour组合作为key
+                        Calendar cal = Calendar.getInstance();
+                        cal.setTime(d.getDate());
+                        String key = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, d.getDate()) + "-" + d.getHour();
+                        hourMap.put(key, d);
+                    });
 
 
             // 如果该设备在24小时内没有任何数据记录,则不加入结果列表
             // 如果该设备在24小时内没有任何数据记录,则不加入结果列表
             if (hourMap.isEmpty()) {
             if (hourMap.isEmpty()) {