报表导出
This commit is contained in:
@@ -46,7 +46,33 @@ public interface IAnalyzeService {
|
||||
*/
|
||||
Page<MonitorOverLimitVO> monitorOverLimitVO(OverAreaVO param);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 功能描述: 获取下载地址
|
||||
* @author xy
|
||||
* @param param 参数
|
||||
* @param methodDescribe 方法描述
|
||||
* @date 2022/6/28 20:54
|
||||
* @return 地址
|
||||
*/
|
||||
String exportArea(OverAreaVO param, String methodDescribe);
|
||||
|
||||
/**
|
||||
* 功能描述: 获取下载地址
|
||||
* @author xy
|
||||
* @param param 参数
|
||||
* @param methodDescribe 方法描述
|
||||
* @date 2022/6/28 20:54
|
||||
* @return 地址
|
||||
*/
|
||||
String exportSubstation(OverAreaVO param, String methodDescribe);
|
||||
|
||||
/**
|
||||
* 功能描述: 获取下载地址
|
||||
* @author xy
|
||||
* @param param 参数
|
||||
* @param methodDescribe 方法描述
|
||||
* @date 2022/6/28 20:54
|
||||
* @return 地址
|
||||
*/
|
||||
String exportMonitor(OverAreaVO param, String methodDescribe);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,11 @@ import com.njcn.device.pojo.dto.PollutionParamDTO;
|
||||
import com.njcn.device.pojo.dto.WarningSubstationDTO;
|
||||
import com.njcn.harmonic.constant.Param;
|
||||
import com.njcn.harmonic.pojo.excel.area.AreaExcel;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.ITimes;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.MonitorExcel;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.OverLimitDays;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.UTimes;
|
||||
import com.njcn.harmonic.pojo.excel.substation.SubstationExcel;
|
||||
import com.njcn.harmonic.pojo.po.EventDetail;
|
||||
import com.njcn.harmonic.pojo.po.LimitRate;
|
||||
import com.njcn.harmonic.pojo.po.LimitTarget;
|
||||
@@ -147,6 +152,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
LimitRate limitRate = map.get(item2).get(0);
|
||||
if (!Objects.isNull(limitRate)){
|
||||
onlineMonitorCount++;
|
||||
System.out.println("1==:" + limitRate.getFreqDevOverTime());
|
||||
System.out.println("2==:" + limitRate.getVoltageDevOverTime());
|
||||
if (limitRate.getFreqDevOverTime() > 0 || limitRate.getVoltageDevOverTime() > 0 || limitRate.getUBalanceOverTime() > 0 || limitRate.getFlickerOverTime() > 0 || limitRate.getINegOverTime() > 0 || limitRate.getUHarm2OverTime() > 0 || limitRate.getIHarm2OverTime() > 0 || limitRate.getInuHarm1OverTime() > 0){
|
||||
alertMonitorCount++;
|
||||
}
|
||||
@@ -441,6 +448,64 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
return FileUtil.getAbsolutePath(excel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String exportSubstation(OverAreaVO param, String methodDescribe) {
|
||||
List<SubstationExcel> result = new ArrayList<>();
|
||||
String fileName = methodDescribe + CharUtil.UNDERLINE + param.getSearchBeginTime()+ CharUtil.DASHED + param.getSearchEndTime() + CharUtil.UNDERLINE + param.getStatisticalType().getName() +".xlsx";
|
||||
String targetDir = generalInfo.getBusinessTempPath() + File.separator + RequestUtil.getUserIndex();
|
||||
log.error("文件路径" + targetDir);
|
||||
log.error("文件名" + fileName);
|
||||
File excel = new File(targetDir, fileName);
|
||||
List<WarningSubstationVO> list = getWarningSubstation(param).getRecords();
|
||||
if (!CollectionUtil.isEmpty(list)) {
|
||||
list.forEach(item->{
|
||||
SubstationExcel substationExcel = new SubstationExcel();
|
||||
BeanUtil.copyProperties(item,substationExcel);
|
||||
result.add(substationExcel);
|
||||
});
|
||||
}
|
||||
ExcelUtil.exportExcelWithTargetFile(excel, param.getStatisticalType().getName(), methodDescribe, SubstationExcel.class, result);
|
||||
return FileUtil.getAbsolutePath(excel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String exportMonitor(OverAreaVO param, String methodDescribe) {
|
||||
List<MonitorExcel> result = new ArrayList<>();
|
||||
String fileName = methodDescribe + CharUtil.UNDERLINE + param.getSearchBeginTime()+ CharUtil.DASHED + param.getSearchEndTime() + CharUtil.UNDERLINE + param.getStatisticalType().getName() +".xlsx";
|
||||
String targetDir = generalInfo.getBusinessTempPath() + File.separator + RequestUtil.getUserIndex();
|
||||
log.error("文件路径" + targetDir);
|
||||
log.error("文件名" + fileName);
|
||||
File excel = new File(targetDir, fileName);
|
||||
List<MonitorOverLimitVO> list = monitorOverLimitVO(param).getRecords();
|
||||
if (!CollectionUtil.isEmpty(list)) {
|
||||
list.forEach(item->{
|
||||
MonitorExcel monitorExcel = new MonitorExcel();
|
||||
BeanUtil.copyProperties(item,monitorExcel);
|
||||
|
||||
OverLimitDays overLimitDays = new OverLimitDays();
|
||||
List<UTimes> list1 = new ArrayList<>();
|
||||
UTimes uTimes = new UTimes();
|
||||
BeanUtil.copyProperties(item,uTimes);
|
||||
list1.add(uTimes);
|
||||
overLimitDays.setUTimes(list1);
|
||||
|
||||
List<ITimes> list2 = new ArrayList<>();
|
||||
ITimes iTimes = new ITimes();
|
||||
BeanUtil.copyProperties(item,iTimes);
|
||||
list2.add(iTimes);
|
||||
overLimitDays.setITimes(list2);
|
||||
|
||||
List<OverLimitDays> list3 = new ArrayList<>();
|
||||
BeanUtil.copyProperties(item,overLimitDays);
|
||||
list3.add(overLimitDays);
|
||||
monitorExcel.setOverLimitDays(list3);
|
||||
result.add(monitorExcel);
|
||||
});
|
||||
}
|
||||
ExcelUtil.exportExcelWithTargetFile(excel, param.getStatisticalType().getName(), methodDescribe, MonitorExcel.class, result);
|
||||
return FileUtil.getAbsolutePath(excel);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 功能描述: 处理区域(变电站)在线监测点数、超标监测点数、平均超标天数、占比
|
||||
|
||||
Reference in New Issue
Block a user