|
@@ -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()) {
|