|
@@ -1481,9 +1481,12 @@ public class IotRyDailyReportController {
|
|
|
pageReqVO.setTaskIds(taskIds);
|
|
pageReqVO.setTaskIds(taskIds);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ String sheetName = StrUtil.EMPTY;
|
|
|
|
|
+
|
|
|
List<IotRyDailyReportStatisticsRespVO> statistics = iotRyDailyReportService.statistics(pageReqVO);
|
|
List<IotRyDailyReportStatisticsRespVO> statistics = iotRyDailyReportService.statistics(pageReqVO);
|
|
|
if (CollUtil.isNotEmpty(statistics)) {
|
|
if (CollUtil.isNotEmpty(statistics)) {
|
|
|
statistics.forEach(stat -> {
|
|
statistics.forEach(stat -> {
|
|
|
|
|
+ // 修井 平均时效
|
|
|
BigDecimal transitTime = stat.getTransitTime();
|
|
BigDecimal transitTime = stat.getTransitTime();
|
|
|
if (ObjUtil.isEmpty(transitTime) || transitTime.compareTo(BigDecimal.ZERO) == 0) {
|
|
if (ObjUtil.isEmpty(transitTime) || transitTime.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
stat.setTransitTimePercent("0.00%");
|
|
stat.setTransitTimePercent("0.00%");
|
|
@@ -1493,19 +1496,43 @@ public class IotRyDailyReportController {
|
|
|
.setScale(2, RoundingMode.HALF_UP);
|
|
.setScale(2, RoundingMode.HALF_UP);
|
|
|
stat.setTransitTimePercent(percent + "%");
|
|
stat.setTransitTimePercent(percent + "%");
|
|
|
}
|
|
}
|
|
|
|
|
+ // 非生产时效
|
|
|
|
|
+ BigDecimal nonProductiveTime = stat.getNonProductiveTime();
|
|
|
|
|
+ if (ObjUtil.isEmpty(nonProductiveTime) || nonProductiveTime.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
|
|
+ stat.setNonProductiveTimeStr("0.00%");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 转换逻辑:乘以100 → 保留2位小数(四舍五入)→ 拼接%
|
|
|
|
|
+ BigDecimal percent = nonProductiveTime.multiply(new BigDecimal("100"))
|
|
|
|
|
+ .setScale(2, RoundingMode.HALF_UP);
|
|
|
|
|
+ stat.setNonProductiveTimeStr(percent + "%");
|
|
|
|
|
+ }
|
|
|
|
|
+ // 累计用电量 MWh
|
|
|
|
|
+ BigDecimal cumulativePowerConsumption = stat.getCumulativePowerConsumption();
|
|
|
|
|
+ if (ObjUtil.isNotEmpty(cumulativePowerConsumption)) {
|
|
|
|
|
+ BigDecimal powerWanFang = cumulativePowerConsumption
|
|
|
|
|
+ .divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
|
|
|
|
|
+ stat.setCumulativePowerConsumptionExport(powerWanFang);
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
- String sheetName = StrUtil.EMPTY;
|
|
|
|
|
|
|
+
|
|
|
if ("1".equals(pageReqVO.getProjectClassification())) {
|
|
if ("1".equals(pageReqVO.getProjectClassification())) {
|
|
|
// 钻井日报汇总数据
|
|
// 钻井日报汇总数据
|
|
|
sheetName = "钻井日报汇总数据";
|
|
sheetName = "钻井日报汇总数据";
|
|
|
|
|
+ // 修改 statistics 集合类型为 IotRyZjDailyReportStatisticsRespVO
|
|
|
|
|
+ List<IotRyZjDailyReportStatisticsRespVO> zjStatistics = BeanUtils.toBean(statistics, IotRyZjDailyReportStatisticsRespVO.class);
|
|
|
|
|
+ // 导出 Excel
|
|
|
|
|
+ ExcelUtils.write(response, "瑞鹰日报汇总.xls", sheetName,
|
|
|
|
|
+ IotRyZjDailyReportStatisticsRespVO.class, zjStatistics);
|
|
|
} else {
|
|
} else {
|
|
|
// 修井日报汇总数据
|
|
// 修井日报汇总数据
|
|
|
sheetName = "修井日报汇总数据";
|
|
sheetName = "修井日报汇总数据";
|
|
|
|
|
+ // 修改 statistics 集合类型为 IotRyXjDailyReportStatisticsRespVO
|
|
|
|
|
+ List<IotRyXjDailyReportStatisticsRespVO> xjStatistics = BeanUtils.toBean(statistics, IotRyXjDailyReportStatisticsRespVO.class);
|
|
|
|
|
+ // 导出 Excel
|
|
|
|
|
+ ExcelUtils.write(response, "瑞鹰日报汇总.xls", sheetName,
|
|
|
|
|
+ IotRyXjDailyReportStatisticsRespVO.class, xjStatistics);
|
|
|
}
|
|
}
|
|
|
- // 导出 Excel
|
|
|
|
|
- ExcelUtils.write(response, "瑞鹰日报汇总.xls", sheetName,
|
|
|
|
|
- IotRyDailyReportStatisticsRespVO.class, statistics);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|