|
@@ -1,5 +1,7 @@
|
|
|
package com.bizmatics.service.impl;
|
|
|
|
|
|
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
+import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -7,24 +9,28 @@ import com.bizmatics.common.core.exception.BusinessException;
|
|
|
import com.bizmatics.common.core.util.Arith;
|
|
|
import com.bizmatics.common.core.util.BeanMapperUtils;
|
|
|
import com.bizmatics.common.core.util.DateUtils;
|
|
|
+import com.bizmatics.common.core.util.FileUtils;
|
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
+import com.bizmatics.common.spring.util.GlobalUtils;
|
|
|
import com.bizmatics.common.spring.util.JsonUtils;
|
|
|
import com.bizmatics.model.*;
|
|
|
import com.bizmatics.model.vo.DataManagementOneVO;
|
|
|
import com.bizmatics.model.vo.DataManagementVO;
|
|
|
+import com.bizmatics.model.vo.HtAnalogDataOneVo;
|
|
|
import com.bizmatics.model.vo.HtAnalogDataVo;
|
|
|
import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
|
|
|
import com.bizmatics.service.*;
|
|
|
import com.bizmatics.service.util.FieldEscapeUtils;
|
|
|
import com.bizmatics.service.util.SecurityUtils;
|
|
|
-import com.bizmatics.service.vo.CommonIcoVO;
|
|
|
-import com.bizmatics.service.vo.HadCountVO;
|
|
|
-import com.bizmatics.service.vo.RealScoreVO;
|
|
|
-import com.bizmatics.service.vo.TimeShareVO;
|
|
|
+import com.bizmatics.service.vo.*;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
@@ -288,33 +294,33 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
@Override
|
|
|
public List<RealScoreVO> rtRealScore(String deviceCode, Date startTime, Date endTime) {
|
|
|
LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.select(HtAnalogData::getIa,HtAnalogData::getIb,HtAnalogData::getIc,
|
|
|
- HtAnalogData::getUa,HtAnalogData::getUb,HtAnalogData::getUc,HtAnalogData::getDataTime,
|
|
|
+ queryWrapper.select(HtAnalogData::getIa, HtAnalogData::getIb, HtAnalogData::getIc,
|
|
|
+ HtAnalogData::getUa, HtAnalogData::getUb, HtAnalogData::getUc, HtAnalogData::getDataTime,
|
|
|
HtAnalogData::getCos)
|
|
|
- .eq(HtAnalogData::getDeviceName,deviceCode)
|
|
|
- .between(HtAnalogData::getDataTime,startTime,endTime);
|
|
|
+ .eq(HtAnalogData::getDeviceName, deviceCode)
|
|
|
+ .between(HtAnalogData::getDataTime, startTime, endTime);
|
|
|
List<HtAnalogData> list = this.list(queryWrapper);
|
|
|
//查询设备
|
|
|
LambdaQueryWrapper<Device> deviceQuery = Wrappers.lambdaQuery();
|
|
|
- deviceQuery.eq(Device::getDeviceCode,deviceCode);
|
|
|
+ deviceQuery.eq(Device::getDeviceCode, deviceCode);
|
|
|
Device device = deviceService.getOne(deviceQuery);
|
|
|
Optional.ofNullable(device).orElseThrow(() -> new BusinessException("设备不存在"));
|
|
|
//查询sd
|
|
|
LambdaQueryWrapper<SiteDynamicProperties> sdQuery = Wrappers.lambdaQuery();
|
|
|
- sdQuery.eq(SiteDynamicProperties::getSiteId,device.getSiteId());
|
|
|
+ sdQuery.eq(SiteDynamicProperties::getSiteId, device.getSiteId());
|
|
|
SiteDynamicProperties siteDynamicProperties = siteDynamicPropertiesService.getOne(sdQuery);
|
|
|
Optional.ofNullable(siteDynamicProperties).orElseThrow(() -> new BusinessException("sd不存在"));
|
|
|
LambdaQueryWrapper<DeviceAttribute> adQuery = Wrappers.lambdaQuery();
|
|
|
- adQuery.eq(DeviceAttribute::getSiteId,device.getSiteId());
|
|
|
+ adQuery.eq(DeviceAttribute::getSiteId, device.getSiteId());
|
|
|
List<DeviceAttribute> deviceAttributes = deviceAttributeService.list(adQuery);
|
|
|
- if (CollectionUtils.isEmpty(deviceAttributes)){
|
|
|
+ if (CollectionUtils.isEmpty(deviceAttributes)) {
|
|
|
throw new BusinessException("da不存在");
|
|
|
}
|
|
|
DeviceAttribute deviceAttribute = deviceAttributes.stream().min(Comparator.comparing(DeviceAttribute::getId)).get();
|
|
|
List<RealScoreVO> realScoreVOS = new ArrayList<>();
|
|
|
- for (HtAnalogData htAnalogData:list) {
|
|
|
+ for (HtAnalogData htAnalogData : list) {
|
|
|
RtAnalogData rtAnalogData = BeanMapperUtils.map(htAnalogData, RtAnalogData.class);
|
|
|
- realScoreVOS.add(rtAnalogDataService.fillRealScoreData(rtAnalogData,siteDynamicProperties,deviceAttribute));
|
|
|
+ realScoreVOS.add(rtAnalogDataService.fillRealScoreData(rtAnalogData, siteDynamicProperties, deviceAttribute));
|
|
|
}
|
|
|
return realScoreVOS;
|
|
|
}
|
|
@@ -337,57 +343,57 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
newListOne.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
newListTwo.add(dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
fieldDisplay.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
- newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
+ newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
DeviceAnalogVariableList deviceAnalogVariableList = new DeviceAnalogVariableList();
|
|
|
- deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
+ deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
variableCodingList.add(deviceAnalogVariableList);
|
|
|
}
|
|
|
- Set set = new HashSet();
|
|
|
- List<DataManagementVO> newList = new ArrayList();
|
|
|
+ Set set = new HashSet();
|
|
|
+ List<DataManagementVO> newList = new ArrayList();
|
|
|
set.addAll(dataManagementVOList);
|
|
|
newList.addAll(set);
|
|
|
|
|
|
- Set set1 = new HashSet();
|
|
|
- List<String> list = new ArrayList();
|
|
|
+ Set set1 = new HashSet();
|
|
|
+ List<String> list = new ArrayList();
|
|
|
set1.addAll(newListOne);
|
|
|
list.addAll(set1);
|
|
|
|
|
|
- Set set2 = new HashSet();
|
|
|
- List<String> monitor_list = new ArrayList();
|
|
|
+ Set set2 = new HashSet();
|
|
|
+ List<String> monitor_list = new ArrayList();
|
|
|
set2.addAll(newListTwo);
|
|
|
monitor_list.addAll(set2);
|
|
|
|
|
|
- Set set3 = new HashSet();
|
|
|
- List<String> fieldDisplayOne = new ArrayList();
|
|
|
+ Set set3 = new HashSet();
|
|
|
+ List<String> fieldDisplayOne = new ArrayList();
|
|
|
set3.addAll(fieldDisplay);
|
|
|
fieldDisplayOne.addAll(set3);
|
|
|
|
|
|
if (dataManagementOneVO.getType() == 1) {
|
|
|
if (dataManagementOneVO.getValueCalculation() == 1) {
|
|
|
- yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 2) {
|
|
|
- yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 3) {
|
|
|
- yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 4) {
|
|
|
- yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
}
|
|
|
} else if (dataManagementOneVO.getType() == 2) {
|
|
|
if (dataManagementOneVO.getValueCalculation() == 1) {
|
|
|
- yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 2) {
|
|
|
- yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 3) {
|
|
|
- yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 4) {
|
|
|
- yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
}
|
|
|
} else {
|
|
|
- yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList,fieldDisplayOne);
|
|
|
+ yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayOne);
|
|
|
}
|
|
|
FieldEscapeUtils.remove1(list);
|
|
|
List<CommonIcoVO> reListOne = new ArrayList<>();
|
|
|
- if (yearOnYearList!=null && !yearOnYearList.isEmpty()){
|
|
|
+ if (yearOnYearList != null && !yearOnYearList.isEmpty()) {
|
|
|
for (int i = 0; i < monitor_list.size(); i++) {
|
|
|
for (int j = 0; j < list.size(); j++) {
|
|
|
List<Object> data = new ArrayList<>();
|
|
@@ -395,20 +401,20 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
List<Object> time = new ArrayList<>();
|
|
|
for (int k = 0; k < yearOnYearList.size(); k++) {
|
|
|
String variable_one = list.get(j) + "_" + monitor_list.get(i);
|
|
|
- String variable_two = list.get(j)+"_"+yearOnYearList.get(k).getDeviceAttributeId();
|
|
|
- System.out.println("variable_one:"+variable_one+"---variable_two:"+variable_two);
|
|
|
- if (variable_one.equals(variable_two)){
|
|
|
- String variable_three = list.get(j)+"_"+yearOnYearList.get(k).getDeviceAttributeId();
|
|
|
- System.out.println("variable_one_a:"+newListThree+"---variable_two_b:"+variable_three+"---value:"+newListThree.contains(variable_three));
|
|
|
- if (newListThree.contains(variable_three)){
|
|
|
+ String variable_two = list.get(j) + "_" + yearOnYearList.get(k).getDeviceAttributeId();
|
|
|
+ System.out.println("variable_one:" + variable_one + "---variable_two:" + variable_two);
|
|
|
+ if (variable_one.equals(variable_two)) {
|
|
|
+ String variable_three = list.get(j) + "_" + yearOnYearList.get(k).getDeviceAttributeId();
|
|
|
+ System.out.println("variable_one_a:" + newListThree + "---variable_two_b:" + variable_three + "---value:" + newListThree.contains(variable_three));
|
|
|
+ if (newListThree.contains(variable_three)) {
|
|
|
name = yearOnYearList.get(k).getMonitorDeviceName() + "/" + FieldEscapeUtils.fieldEscapeUtils(list.get(j));
|
|
|
time.add(yearOnYearList.get(k).getDataTime());
|
|
|
// System.out.println();
|
|
|
- data.add(FieldEscapeUtils.transformation(yearOnYearList.get(k),list.get(j)));
|
|
|
+ data.add(FieldEscapeUtils.transformation(yearOnYearList.get(k), list.get(j)));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (data!=null && !data.isEmpty()){
|
|
|
+ if (data != null && !data.isEmpty()) {
|
|
|
reListOne.add(CommonIcoVO.builder().name(name).list(data).listDate(time).build());
|
|
|
}
|
|
|
|
|
@@ -437,28 +443,28 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
newListOne.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
fieldDisplay.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
newListTwo.add(dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
- newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
+ newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
|
|
|
DeviceAnalogVariableList deviceAnalogVariableList = new DeviceAnalogVariableList();
|
|
|
- deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
+ deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0] + "_" + dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
|
|
|
variableCodingList.add(deviceAnalogVariableList);
|
|
|
}
|
|
|
- Set set = new HashSet();
|
|
|
- List<DataManagementVO> newList = new ArrayList();
|
|
|
+ Set set = new HashSet();
|
|
|
+ List<DataManagementVO> newList = new ArrayList();
|
|
|
set.addAll(dataManagementVOList);
|
|
|
newList.addAll(set);
|
|
|
|
|
|
- Set set1 = new HashSet();
|
|
|
- List<String> list = new ArrayList();
|
|
|
+ Set set1 = new HashSet();
|
|
|
+ List<String> list = new ArrayList();
|
|
|
set1.addAll(newListOne);
|
|
|
list.addAll(set1);
|
|
|
|
|
|
- Set set2 = new HashSet();
|
|
|
- List<String> monitor_list = new ArrayList();
|
|
|
+ Set set2 = new HashSet();
|
|
|
+ List<String> monitor_list = new ArrayList();
|
|
|
set2.addAll(newListTwo);
|
|
|
monitor_list.addAll(set2);
|
|
|
|
|
|
- Set set3 = new HashSet();
|
|
|
- List<String> fieldDisplayOne = new ArrayList();
|
|
|
+ Set set3 = new HashSet();
|
|
|
+ List<String> fieldDisplayOne = new ArrayList();
|
|
|
set3.addAll(fieldDisplay);
|
|
|
fieldDisplayOne.addAll(set3);
|
|
|
|
|
@@ -470,32 +476,32 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
// String lastPeriodStartTime = sfOne.format(new Date(startLong - (interval * 14)));
|
|
|
if (dataManagementOneVO.getType() == 1) {
|
|
|
if (dataManagementOneVO.getValueCalculation() == 1) {
|
|
|
- currentPeriodRingRatioList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 2) {
|
|
|
- currentPeriodRingRatioList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 3) {
|
|
|
- currentPeriodRingRatioList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 4) {
|
|
|
- currentPeriodRingRatioList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
}
|
|
|
} else if (dataManagementOneVO.getType() == 2) {
|
|
|
if (dataManagementOneVO.getValueCalculation() == 1) {
|
|
|
- currentPeriodRingRatioList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 2) {
|
|
|
- currentPeriodRingRatioList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 3) {
|
|
|
- currentPeriodRingRatioList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
} else if (dataManagementOneVO.getValueCalculation() == 4) {
|
|
|
- currentPeriodRingRatioList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
|
|
|
+ currentPeriodRingRatioList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList);
|
|
|
}
|
|
|
} else {
|
|
|
// String[] a={"Epn3","Epp"};
|
|
|
- currentPeriodRingRatioList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList,fieldDisplayOne);
|
|
|
+ currentPeriodRingRatioList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayOne);
|
|
|
}
|
|
|
|
|
|
FieldEscapeUtils.remove1(list);
|
|
|
List<CommonIcoVO> reListOne = new ArrayList<>();
|
|
|
- if (currentPeriodRingRatioList!=null && !currentPeriodRingRatioList.isEmpty()){
|
|
|
+ if (currentPeriodRingRatioList != null && !currentPeriodRingRatioList.isEmpty()) {
|
|
|
for (int i = 0; i < monitor_list.size(); i++) {
|
|
|
for (int j = 0; j < list.size(); j++) {
|
|
|
List<Object> data = new ArrayList<>();
|
|
@@ -503,20 +509,20 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
List<Object> time = new ArrayList<>();
|
|
|
for (int k = 0; k < currentPeriodRingRatioList.size(); k++) {
|
|
|
String variable_one = list.get(j) + "_" + monitor_list.get(i);
|
|
|
- String variable_two = list.get(j)+"_"+currentPeriodRingRatioList.get(k).getDeviceAttributeId();
|
|
|
- System.out.println("variable_one:"+variable_one+"---variable_two:"+variable_two);
|
|
|
- if (variable_one.equals(variable_two)){
|
|
|
- String variable_three = list.get(j)+"_"+currentPeriodRingRatioList.get(k).getDeviceAttributeId();
|
|
|
- System.out.println("variable_one_a:"+newListThree+"---variable_two_b:"+variable_three+"---value:"+newListThree.contains(variable_three));
|
|
|
- if (newListThree.contains(variable_three)){
|
|
|
+ String variable_two = list.get(j) + "_" + currentPeriodRingRatioList.get(k).getDeviceAttributeId();
|
|
|
+ System.out.println("variable_one:" + variable_one + "---variable_two:" + variable_two);
|
|
|
+ if (variable_one.equals(variable_two)) {
|
|
|
+ String variable_three = list.get(j) + "_" + currentPeriodRingRatioList.get(k).getDeviceAttributeId();
|
|
|
+ System.out.println("variable_one_a:" + newListThree + "---variable_two_b:" + variable_three + "---value:" + newListThree.contains(variable_three));
|
|
|
+ if (newListThree.contains(variable_three)) {
|
|
|
name = currentPeriodRingRatioList.get(k).getMonitorDeviceName() + "/" + FieldEscapeUtils.fieldEscapeUtils(list.get(j));
|
|
|
time.add(currentPeriodRingRatioList.get(k).getDataTime());
|
|
|
// System.out.println();
|
|
|
- data.add(FieldEscapeUtils.transformation(currentPeriodRingRatioList.get(k),list.get(j)));
|
|
|
+ data.add(FieldEscapeUtils.transformation(currentPeriodRingRatioList.get(k), list.get(j)));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (data!=null && !data.isEmpty()){
|
|
|
+ if (data != null && !data.isEmpty()) {
|
|
|
reListOne.add(CommonIcoVO.builder().name(name).list(data).listDate(time).build());
|
|
|
}
|
|
|
|
|
@@ -545,12 +551,13 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public List<CommonIcoVO> demandAnalysis(String deviceCode, String monthDate, int cycle) {
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String date = FieldEscapeUtils.getLastDayOfMonth(monthDate);
|
|
|
- String date1=monthDate+"-01 00:00:00";
|
|
|
+ String date1 = monthDate + "-01 00:00:00";
|
|
|
String date2 = date + " 23:59:59";
|
|
|
Date startTime;
|
|
|
Date endTime;
|
|
@@ -562,14 +569,14 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
}
|
|
|
|
|
|
LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.select(HtAnalogData::getDemand,HtAnalogData::getFreezingTime)
|
|
|
- .eq(HtAnalogData::getDeviceName,deviceCode)
|
|
|
- .between(HtAnalogData::getFreezingTime,startTime,endTime)
|
|
|
+ queryWrapper.select(HtAnalogData::getDemand, HtAnalogData::getFreezingTime)
|
|
|
+ .eq(HtAnalogData::getDeviceName, deviceCode)
|
|
|
+ .between(HtAnalogData::getFreezingTime, startTime, endTime)
|
|
|
.groupBy(HtAnalogData::getFreezingTime);
|
|
|
List<HtAnalogData> list1 = this.list(queryWrapper);
|
|
|
List<Object> demandList = new ArrayList<>();
|
|
|
List<Object> freezingTimesList = new ArrayList<>();
|
|
|
- for (int i = 0; i < list1.size(); i++){
|
|
|
+ for (int i = 0; i < list1.size(); i++) {
|
|
|
demandList.add(list1.get(i).getDemand());
|
|
|
freezingTimesList.add(formatter1.format(list1.get(i).getFreezingTime()));
|
|
|
}
|
|
@@ -587,4 +594,59 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String monthlyReportExport(String deviceCode, String startTime, String endTime, int cycle) {
|
|
|
+ Workbook workbook = null;
|
|
|
+ File file = null;
|
|
|
+ try {
|
|
|
+ ExportParams params = new ExportParams(null, "用能月报");
|
|
|
+ workbook = ExcelExportUtil.exportBigExcel(params, HtAnalogDataTwoExportVo.class,
|
|
|
+ (o, i) -> {
|
|
|
+ int startCurrent = (i - 1) * 30;
|
|
|
+ List<HtAnalogDataOneVo> listOne = this.monthlyReportlist(deviceCode, startTime, endTime, cycle, startCurrent);
|
|
|
+ return new ArrayList<>(BeanMapperUtils.mapList(listOne, HtAnalogDataOneVo.class, HtAnalogDataTwoExportVo.class));
|
|
|
+ }, null);
|
|
|
+ if (null != workbook) {
|
|
|
+ file = FileUtils.getFile(GlobalUtils.getTempBaseDir(), String.format("%s-%s.xlsx", "用能月报", System.currentTimeMillis() + ""));
|
|
|
+ FileUtils.createFile(file.getAbsolutePath());
|
|
|
+ FileOutputStream allListingFileOutputStream = new FileOutputStream(file);
|
|
|
+ workbook.write(allListingFileOutputStream);
|
|
|
+ } else {
|
|
|
+ throw new BusinessException("表格数据为空");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("导出文件失败", e);
|
|
|
+ throw new BusinessException("导出文件失败");
|
|
|
+ } finally {
|
|
|
+ if (workbook != null) {
|
|
|
+ try {
|
|
|
+ workbook.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("===export spec=== 关闭workbook失败", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return file.getName();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<HtAnalogDataOneVo> monthlyReportlist(String deviceCode, String startTime, String endTime, int cycle, Integer startCurrent) {
|
|
|
+ List<HtAnalogDataOneVo> listOne = new ArrayList<>();
|
|
|
+ List<HtAnalogDataOneVo> maxMonthlyReport = baseMapper.energyUseListOne(deviceCode, startTime, endTime, cycle, 1, 30, startCurrent);
|
|
|
+ List<HtAnalogDataOneVo> minMonthlyReport = baseMapper.energyUseListOne(deviceCode, startTime, endTime, cycle, 2, 30, startCurrent);
|
|
|
+ if (maxMonthlyReport.size() > 0) {
|
|
|
+ for (int j = 0; j < maxMonthlyReport.size(); j++) {
|
|
|
+ HtAnalogDataOneVo htAnalogDataOneVo = new HtAnalogDataOneVo();
|
|
|
+ BigDecimal b1 = new BigDecimal(maxMonthlyReport.get(j).getEpp().toString());
|
|
|
+ BigDecimal b2 = new BigDecimal(minMonthlyReport.get(j).getEpp().toString());
|
|
|
+ htAnalogDataOneVo.setEpp(b1.subtract(b2).doubleValue());
|
|
|
+// htAnalogDataOneVo.setEpp("0.01");
|
|
|
+ htAnalogDataOneVo.setFreezingTime(maxMonthlyReport.get(j).getFreezingTime());
|
|
|
+ listOne.add(htAnalogDataOneVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return listOne;
|
|
|
+ }
|
|
|
+
|
|
|
}
|