|
@@ -6,15 +6,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.deviceLesm.entity.DeviceInformation;
|
|
|
import org.jeecg.modules.deviceLesm.entity.DeviceModelInfo;
|
|
|
-import org.jeecg.modules.deviceLesm.entity.FpgStatiscsModelMongodb;
|
|
|
+import org.jeecg.modules.deviceLesm.entity.StatiscsModelDataResult;
|
|
|
import org.jeecg.modules.deviceLesm.mapper.DeviceInformationMapper;
|
|
|
import org.jeecg.modules.deviceLesm.service.IDeviceInformationService;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Sort;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -45,22 +50,39 @@ public class DeviceInformationServiceImpl extends ServiceImpl<DeviceInformationM
|
|
|
Query query = new Query();
|
|
|
query.addCriteria(Criteria.where("deviceRegionId").is(deviceRegionId))// 设备区域ID
|
|
|
.addCriteria(Criteria.where("deviceInformationId").in(deviceInformationIds));// 虚拟设备
|
|
|
-// Date startTime = DateUtils.str2Date(startTimeParam, DateUtils.datetimeFormat.get());
|
|
|
-// Calendar calendar1 = Calendar.getInstance();
|
|
|
-// calendar1.setTime(startTime);
|
|
|
-// calendar1.add(Calendar.HOUR, 8);
|
|
|
-// Date specifiedTimePlus8HoursStartTime = calendar1.getTime();
|
|
|
-// Date endTime = DateUtils.str2Date(endTimeParam, DateUtils.datetimeFormat.get());
|
|
|
-// Calendar calendar2 = Calendar.getInstance();
|
|
|
-// calendar2.setTime(endTime);
|
|
|
-// calendar2.add(Calendar.HOUR, 8);
|
|
|
-// Date specifiedTimePlus8HoursStartEndTime = calendar2.getTime();
|
|
|
-// query.addCriteria(Criteria.where("createTime").gte(specifiedTimePlus8HoursStartTime).lt(specifiedTimePlus8HoursStartEndTime));
|
|
|
- List<FpgStatiscsModelMongodb> fpgStatiscsModelMongodbList = mongoTemplate.find(query, FpgStatiscsModelMongodb.class, "leanmodel_run_power_minute");
|
|
|
- if (oConvertUtils.listIsEmpty(fpgStatiscsModelMongodbList)){
|
|
|
+ query.with(Sort.by(Sort.Order.desc("deviceStartTime")));
|
|
|
+ // 获取上次运行时间、运行累计时间、运行累计功率
|
|
|
+ List<StatiscsModelDataResult> statiscsModelDataResultList1 = mongoTemplate.find(query, StatiscsModelDataResult.class, "total_startstop");
|
|
|
+ if (oConvertUtils.listIsEmpty(statiscsModelDataResultList1)){
|
|
|
return result;
|
|
|
}
|
|
|
- result.setFpgStatiscsModelMongodbList(fpgStatiscsModelMongodbList);
|
|
|
+ // 获取尖峰平谷 时长、用电、占比
|
|
|
+ // 获取当前日期
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
+ // 定义日期格式
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ // 将当前日期格式化为字符串
|
|
|
+ String formattedDate = currentDate.format(formatter);
|
|
|
+ Query querys = new Query();
|
|
|
+ querys.addCriteria(Criteria.where("deviceRegionId").is(deviceRegionId))// 设备区域ID
|
|
|
+ .addCriteria(Criteria.where("deviceInformationId").in(deviceInformationIds))// 虚拟设备
|
|
|
+ .addCriteria(Criteria.where("dates").is(formattedDate));
|
|
|
+ List<StatiscsModelDataResult> statiscsModelDataResultList2 = mongoTemplate.find(querys, StatiscsModelDataResult.class, "total_day_powerproportioncurrent");
|
|
|
+
|
|
|
+ List<StatiscsModelDataResult> statiscsModelDataResultListMerge = new ArrayList<>();
|
|
|
+ statiscsModelDataResultList1.forEach(x ->{
|
|
|
+ statiscsModelDataResultList2.forEach(y ->{
|
|
|
+ if (x.getDeviceRegionId().equals(y.getDeviceRegionId()) && x.getDeviceInformationId().equals(y.getDeviceInformationId())){
|
|
|
+ StatiscsModelDataResult statiscsModelDataResult = new StatiscsModelDataResult();
|
|
|
+ BeanUtils.copyProperties(y, statiscsModelDataResult);
|
|
|
+ statiscsModelDataResult.setIngTime(x.getIngTime());
|
|
|
+ statiscsModelDataResult.setPower(x.getPower());
|
|
|
+ statiscsModelDataResult.setDeviceStartTime(x.getDeviceStartTime());
|
|
|
+ statiscsModelDataResultListMerge.add(statiscsModelDataResult);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ result.setStatiscsModelDataResultList(statiscsModelDataResultListMerge);
|
|
|
return result;
|
|
|
}
|
|
|
}
|