|
@@ -20,9 +20,12 @@ import com.bizmatics.service.vo.AlarmPowerExportVO;
|
|
|
import com.bizmatics.service.vo.ApCountVO;
|
|
|
import com.bizmatics.service.vo.CommonIcoVO;
|
|
|
import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
|
|
|
+import org.apache.ibatis.annotations.Param;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.unit.DataUnit;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.Duration;
|
|
@@ -60,13 +63,14 @@ public class AlarmPowerServiceImpl extends AbstractCrudService<AlarmPowerMapper,
|
|
|
List<Object> noDisposeList = new ArrayList<>();
|
|
|
List<Object> dateList = new ArrayList<>();
|
|
|
Integer userId = SessionLocal.getUserId();
|
|
|
+ List<AlarmPower> alarmPowers = baseMapper.list(userId, siteId, null, DateUtils.addDays(endTime, -days), endTime, null, null);
|
|
|
for (int i = 0; i < days; i++) {
|
|
|
Date setDays = DateUtils.addDays(endTime, -i);
|
|
|
Date dayStartTime = DateUtils.getDayStartTime(setDays);
|
|
|
Date dayEndTime = DateUtils.getDayEndTime(setDays);
|
|
|
- faultList.add(baseMapper.selectCount(userId, siteId, null, dayStartTime, dayEndTime, null, null));
|
|
|
- rushList.add(baseMapper.selectCount(userId, siteId, 1, dayStartTime, dayEndTime, null, null));
|
|
|
- noDisposeList.add(baseMapper.selectCount(userId, siteId, 0, dayStartTime, dayEndTime, null, null));
|
|
|
+ faultList.add(getCount(alarmPowers,null,dayStartTime,dayEndTime,null,null));
|
|
|
+ rushList.add(getCount(alarmPowers,1,dayStartTime,dayEndTime,null,null));
|
|
|
+ noDisposeList.add(getCount(alarmPowers,0,dayStartTime,dayEndTime,null,null));
|
|
|
dateList.add(DateUtils.getMonth(setDays)+"-"+DateUtils.getDay(setDays));
|
|
|
}
|
|
|
List<CommonIcoVO> list = new ArrayList<>();
|
|
@@ -170,35 +174,42 @@ public class AlarmPowerServiceImpl extends AbstractCrudService<AlarmPowerMapper,
|
|
|
List<Object> offDateS = new ArrayList<>();
|
|
|
List<Object> runStatus = new ArrayList<>();
|
|
|
List<Object> runDates = new ArrayList<>();
|
|
|
- Date forEndTime;
|
|
|
- do {
|
|
|
- Date dayStartTime = DateUtils.getDayStartTime(startTime);
|
|
|
- Date dayEndTime = DateUtils.getDayEndTime(startTime);
|
|
|
- Integer count = baseMapper.selectCount(userId, siteId, null, dayStartTime, dayEndTime, "LoadLive", 1);
|
|
|
- offCounts.add(count);
|
|
|
- forEndTime = dayEndTime;
|
|
|
- offDateS.add(DateUtils.format(endTime,DateUtils.PARSE_PATTERNS[8]));
|
|
|
- } while (forEndTime.before(endTime));
|
|
|
-
|
|
|
- List<AlarmPower> loadLive = baseMapper.list(userId, siteId, null, startTime, endTime, "LoadLive", null);
|
|
|
- loadLive.forEach(alarmPower -> {
|
|
|
- runStatus.add(alarmPower.getDigitalValue());
|
|
|
- runDates.add(DateUtils.format(alarmPower.getSendingTime(),DateUtils.PARSE_PATTERNS[5]));
|
|
|
- });
|
|
|
+ List<AlarmPower> alarmPowers = baseMapper.list(userId, siteId, null, startTime, endTime, "LoadLive", null);
|
|
|
+ if (!CollectionUtils.isEmpty(list)){
|
|
|
+ Date forEndTime;
|
|
|
+ do {
|
|
|
+ Date dayStartTime = DateUtils.getDayStartTime(startTime);
|
|
|
+ Date dayEndTime = DateUtils.getDayEndTime(startTime);
|
|
|
+ offCounts.add(getCount(alarmPowers,null,dayStartTime,dayEndTime,null,null));
|
|
|
+ forEndTime = dayEndTime;
|
|
|
+ offDateS.add(DateUtils.format(endTime,DateUtils.PARSE_PATTERNS[8]));
|
|
|
+ } while (forEndTime.before(endTime));
|
|
|
+
|
|
|
+ alarmPowers.forEach(alarmPower -> {
|
|
|
+ runStatus.add(alarmPower.getDigitalValue());
|
|
|
+ runDates.add(DateUtils.format(alarmPower.getSendingTime(),DateUtils.PARSE_PATTERNS[5]));
|
|
|
+ });
|
|
|
+ }
|
|
|
list.add(CommonIcoVO.builder().name("offCount").list(offCounts).listDate(offDateS).build());
|
|
|
list.add(CommonIcoVO.builder().name("runStates").list(runStatus).listDate(runDates).build());
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * 组装数据
|
|
|
-// */
|
|
|
-// public void assembleData(){
|
|
|
-// List<AlarmPower> list = baseMapper.list(userId, siteId, null, dayStartTime, dayEndTime, null, null);
|
|
|
-// for (:) {
|
|
|
-//
|
|
|
-// }
|
|
|
-// list.stream().filter(alarmPower -> alarmPower.getSendingTime())
|
|
|
-//
|
|
|
-// }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 汇总
|
|
|
+ * @param list
|
|
|
+ * @param handlingStatus
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @param digitalStatus
|
|
|
+ */
|
|
|
+ public Long getCount(List<AlarmPower> list,Integer handlingStatus, Date startTime, Date endTime, Integer digitalStatus,String measName){
|
|
|
+ return list.stream()
|
|
|
+ .filter(alarmPower -> alarmPower.getSendingTime().after(startTime) && alarmPower.getSendingTime().before(endTime))
|
|
|
+ .filter(alarmPower -> Optional.ofNullable(handlingStatus).map(hand -> hand.equals(alarmPower.getHandlingStatus())).orElse(true))
|
|
|
+ .filter(alarmPower -> Optional.ofNullable(digitalStatus).map(dig -> dig.equals(alarmPower.getDigitalValue())).orElse(true))
|
|
|
+ .filter(alarmPower -> Optional.ofNullable(measName).map(means -> means.equals(alarmPower.getMeasName())).orElse(true))
|
|
|
+ .count();
|
|
|
+ }
|
|
|
}
|