Compare commits
5 Commits
f587c11b98
...
2025-09
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad49c9af47 | ||
|
|
199836779c | ||
|
|
7e76917bd9 | ||
|
|
222c77bc9c | ||
|
|
115b79e779 |
@@ -94,7 +94,7 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
lambdaQueryWrapper.in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
|
lambdaQueryWrapper.in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
|
||||||
.gt(PqsEventdetail::getPersisttime,msgEventConfigService.getEventDuration())
|
.gt(PqsEventdetail::getPersisttime,msgEventConfigService.getEventDuration())
|
||||||
.le(PqsEventdetail::getEventvalue,msgEventConfigService.getEventValue())
|
.le(PqsEventdetail::getEventvalue,msgEventConfigService.getEventValue())
|
||||||
.between(PqsEventdetail::getTimeid,DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATETIME_PATTERN),DateUtil.parse(param.getSearchEndTime(),DatePattern.NORM_DATETIME_PATTERN));
|
.between(PqsEventdetail::getTimeid,DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATETIME_PATTERN),DateUtil.parse(param.getSearchEndTime(),DatePattern.NORM_DATETIME_PATTERN));
|
||||||
if (deptIds.size() > 1000) {
|
if (deptIds.size() > 1000) {
|
||||||
List<List<Integer>> listList = CollUtil.split(deptIds, 1000);
|
List<List<Integer>> listList = CollUtil.split(deptIds, 1000);
|
||||||
lambdaQueryWrapper.and(w->{
|
lambdaQueryWrapper.and(w->{
|
||||||
@@ -144,8 +144,8 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
String busVoltageStr = busVoltageDeal(ledgerBaseInfoDTOList, pqsDicDataMap);
|
String busVoltageStr = busVoltageDeal(ledgerBaseInfoDTOList, pqsDicDataMap);
|
||||||
bjReportDTO.setStationVoltage(busVoltageStr);
|
bjReportDTO.setStationVoltage(busVoltageStr);
|
||||||
//double容易精度缺失
|
//double容易精度缺失
|
||||||
double min = Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble() * 100 * 100) * 0.01d;
|
String min =String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble()*100*100)*0.01) ;
|
||||||
double max = Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble() * 100 * 100) * 0.01d;
|
String max = String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble()*100*100)*0.01) ;
|
||||||
bjReportDTO.setResidualVoltageRange(min + "%-" + max + "%");
|
bjReportDTO.setResidualVoltageRange(min + "%-" + max + "%");
|
||||||
|
|
||||||
double minPersisTime = pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble() / 1000;
|
double minPersisTime = pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble() / 1000;
|
||||||
@@ -178,6 +178,7 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
List<String> areaContentList = new ArrayList<>();
|
List<String> areaContentList = new ArrayList<>();
|
||||||
List<Map<String,Object>> eventTemplateList = new ArrayList<>();
|
List<Map<String,Object>> eventTemplateList = new ArrayList<>();
|
||||||
|
|
||||||
|
List<Map<String, Object>> finalEventTemplateList = eventTemplateList;
|
||||||
param.getDeptList().forEach(deptId->{
|
param.getDeptList().forEach(deptId->{
|
||||||
String deptName = deptMap.get(deptId);
|
String deptName = deptMap.get(deptId);
|
||||||
|
|
||||||
@@ -206,7 +207,7 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
}
|
}
|
||||||
List<PqsEventdetail> pqsEventdetailList = pqsEventdetailMapper.selectList(lambdaQueryWrapper);
|
List<PqsEventdetail> pqsEventdetailList = pqsEventdetailMapper.selectList(lambdaQueryWrapper);
|
||||||
if(CollectionUtils.isEmpty(pqsEventdetailList)){
|
if(CollectionUtils.isEmpty(pqsEventdetailList)){
|
||||||
areaContent = deptName+"共监测到电压暂降事件0条";
|
areaContent = deptName+"共监测到电压暂降事件0条。";
|
||||||
}else {
|
}else {
|
||||||
Integer eveCount = pqsEventdetailList.size();
|
Integer eveCount = pqsEventdetailList.size();
|
||||||
|
|
||||||
@@ -218,8 +219,8 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
String stationStr = stationVoltageDeal(ledgerBaseInfoDTOList,pqsDicDataMap);
|
String stationStr = stationVoltageDeal(ledgerBaseInfoDTOList,pqsDicDataMap);
|
||||||
String areabusVoltageDeal = areabusVoltageDeal(ledgerBaseInfoDTOList,pqsDicDataMap);
|
String areabusVoltageDeal = areabusVoltageDeal(ledgerBaseInfoDTOList,pqsDicDataMap);
|
||||||
|
|
||||||
double min =Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble()*100*100)*0.01d ;
|
String min =String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble()*100*100)*0.01) ;
|
||||||
double max = Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble()*100*100)*0.01d;
|
String max = String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble()*100*100)*0.01) ;
|
||||||
String residualVoltage = min+"%-"+max+"%";
|
String residualVoltage = min+"%-"+max+"%";
|
||||||
|
|
||||||
double minPersisTime = pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble()/1000;
|
double minPersisTime = pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble()/1000;
|
||||||
@@ -254,6 +255,9 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
PqsEventdetail pqsEventdetail = pqsEventdetailList.get(i);
|
PqsEventdetail pqsEventdetail = pqsEventdetailList.get(i);
|
||||||
|
|
||||||
List<LedgerBaseInfoDTO> baseLineInfo = pqLineMapper.getBaseLineInfo(Stream.of(pqsEventdetailList.get(i).getLineid()).collect(Collectors.toList()));
|
List<LedgerBaseInfoDTO> baseLineInfo = pqLineMapper.getBaseLineInfo(Stream.of(pqsEventdetailList.get(i).getLineid()).collect(Collectors.toList()));
|
||||||
|
if(Objects.isNull(baseLineInfo.get(0).getObjName())){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
String[] split = baseLineInfo.get(0).getObjName().split(";");
|
String[] split = baseLineInfo.get(0).getObjName().split(";");
|
||||||
for (int i1 = 0; i1 < split.length; i1++) {
|
for (int i1 = 0; i1 < split.length; i1++) {
|
||||||
if(companyNameList.contains(split[i1])){
|
if(companyNameList.contains(split[i1])){
|
||||||
@@ -267,7 +271,7 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
eventTemplate.setResidualVoltage(String.format("%.2f",pqsEventdetail.getEventvalue()*100));
|
eventTemplate.setResidualVoltage(String.format("%.2f",pqsEventdetail.getEventvalue()*100));
|
||||||
eventTemplate.setUserName(split[i1]);
|
eventTemplate.setUserName(split[i1]);
|
||||||
Map<String,Object> eventMap = mapper.convertValue(eventTemplate,Map.class);
|
Map<String,Object> eventMap = mapper.convertValue(eventTemplate,Map.class);
|
||||||
eventTemplateList.add(eventMap);
|
finalEventTemplateList.add(eventMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -284,15 +288,15 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
|
|
||||||
String companyStationStr = stationVoltageDeal(companyLedgerBaseInfoDTOList,pqsDicDataMap);
|
String companyStationStr = stationVoltageDeal(companyLedgerBaseInfoDTOList,pqsDicDataMap);
|
||||||
String companyAreabusVoltageDeal = areabusVoltageDeal(companyLedgerBaseInfoDTOList,pqsDicDataMap);
|
String companyAreabusVoltageDeal = areabusVoltageDeal(companyLedgerBaseInfoDTOList,pqsDicDataMap);
|
||||||
|
String companyMin =String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble()*100*100)*0.01) ;
|
||||||
|
String companyMax = String.format("%.2f",Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble()*100*100)*0.01) ;
|
||||||
|
|
||||||
double companyMin =Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).min().getAsDouble()*100*100)*0.01d ;
|
|
||||||
double companyMax = Math.round(pqsEventdetailList.stream().mapToDouble(PqsEventdetail::getEventvalue).max().getAsDouble()*100*100)*0.01d;
|
|
||||||
String companyResidualVoltage = companyMin+"%-"+companyMax+"%";
|
String companyResidualVoltage = companyMin+"%-"+companyMax+"%";
|
||||||
|
|
||||||
double companyMinPersisTime = companyevent.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble()/1000;
|
double companyMinPersisTime = companyevent.stream().mapToDouble(PqsEventdetail::getPersisttime).min().getAsDouble()/1000;
|
||||||
double companyMaxPersisTime = companyevent.stream().mapToDouble(PqsEventdetail::getPersisttime).max().getAsDouble()/1000;
|
double companyMaxPersisTime = companyevent.stream().mapToDouble(PqsEventdetail::getPersisttime).max().getAsDouble()/1000;
|
||||||
String companyDuration = companyMinPersisTime+"s-"+companyMaxPersisTime+"s";
|
String companyDuration = companyMinPersisTime+"s-"+companyMaxPersisTime+"s";
|
||||||
String companyTemp =" 电压暂降事件%s条,变电站%s座,母线%s条,其中:%s,造成%s发生电压暂降,残余电压范围为%s,持续时间范围为%s。";
|
String companyTemp ="电压暂降事件%s条,变电站%s座,母线%s条,其中:%s,造成%s发生电压暂降,残余电压范围为%s,持续时间范围为%s。";
|
||||||
userContext = userContext+String.format(companyTemp,companyEveCount,companyStationCount,companyBusCount,companyStationStr,companyAreabusVoltageDeal,companyResidualVoltage,companyDuration);
|
userContext = userContext+String.format(companyTemp,companyEveCount,companyStationCount,companyBusCount,companyStationStr,companyAreabusVoltageDeal,companyResidualVoltage,companyDuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,8 +315,9 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService {
|
|||||||
areaContentList.add(areaContent);
|
areaContentList.add(areaContent);
|
||||||
});
|
});
|
||||||
// 或者直接使用 \n
|
// 或者直接使用 \n
|
||||||
String result2 = String.join("\n", areaContentList);
|
String result2 = String.join("\r\n ", areaContentList);
|
||||||
bjReportDTO.setAreaContent(result2);
|
bjReportDTO.setAreaContent(result2);
|
||||||
|
eventTemplateList = eventTemplateList.stream().distinct().collect(Collectors.toList());
|
||||||
eventTemplateList.sort(Comparator.comparing(map -> (String) map.get("userName")));
|
eventTemplateList.sort(Comparator.comparing(map -> (String) map.get("userName")));
|
||||||
|
|
||||||
bjReportDTO.setCompanyEvent(eventTemplateList);
|
bjReportDTO.setCompanyEvent(eventTemplateList);
|
||||||
|
|||||||
Reference in New Issue
Block a user