|
|
@@ -408,6 +408,12 @@ public class IotRyDailyReportController {
|
|
|
});
|
|
|
// 2. 拼接数据
|
|
|
return BeanUtils.toBean(reports, IotRyDailyReportRespVO.class, (reportVO) -> {
|
|
|
+ // 油耗 精确到 2位小数
|
|
|
+ if (reportVO.getDailyFuel().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ BigDecimal fuel = reportVO.getDailyFuel()
|
|
|
+ .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
|
|
|
+ reportVO.setDailyFuel(fuel);
|
|
|
+ }
|
|
|
// 2.1 拼接部门信息
|
|
|
findAndThen(deptMap, reportVO.getDeptId(), dept -> reportVO.setDeptName(dept.getName()));
|
|
|
// 2.2 日报关联的项目信息
|
|
|
@@ -748,6 +754,13 @@ public class IotRyDailyReportController {
|
|
|
reportVO.setDailyPowerUsage(powerW);
|
|
|
}
|
|
|
|
|
|
+ // 油耗 精确到2位小数
|
|
|
+ if (reportVO.getDailyFuel().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ BigDecimal fuel = reportVO.getDailyFuel()
|
|
|
+ .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
|
|
|
+ reportVO.setDailyFuel(fuel);
|
|
|
+ }
|
|
|
+
|
|
|
// 小组内最后1条记录标识
|
|
|
findAndThen(groupIdFootagePair, reportVO.getId(), footage -> reportVO.setLastGroupIdFlag(true));
|
|
|
// 小组内累计进尺
|
|
|
@@ -764,8 +777,12 @@ public class IotRyDailyReportController {
|
|
|
.divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
|
|
|
reportVO.setGroupIdPower(powerWanFang);
|
|
|
});
|
|
|
- // 小组内累计油耗
|
|
|
- findAndThen(groupIdFuelPair, reportVO.getId(), fuel -> reportVO.setGroupIdFuel(fuel));
|
|
|
+ // 小组内累计油耗 精确到2位小数
|
|
|
+ findAndThen(groupIdFuelPair, reportVO.getId(), fuel -> {
|
|
|
+ BigDecimal accurateFuel = fuel
|
|
|
+ .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
|
|
|
+ reportVO.setGroupIdFuel(accurateFuel);
|
|
|
+ });
|
|
|
// 修井 非生产时间
|
|
|
findAndThen(groupIdNoProductTimePair, reportVO.getId(), noProductTime -> reportVO.setNonProductionTime(noProductTime));
|
|
|
// 修井 生产时间
|
|
|
@@ -1110,6 +1127,13 @@ public class IotRyDailyReportController {
|
|
|
reportVO.setDailyPowerUsage(powerW);
|
|
|
}
|
|
|
|
|
|
+ // 油耗 精确到2位小数
|
|
|
+ if (reportVO.getDailyFuel().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ BigDecimal fuel = reportVO.getDailyFuel()
|
|
|
+ .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
|
|
|
+ reportVO.setDailyFuel(fuel);
|
|
|
+ }
|
|
|
+
|
|
|
// 小组内最后1条记录标识
|
|
|
findAndThen(groupIdFootagePair, reportVO.getId(), footage -> reportVO.setLastGroupIdFlag(true));
|
|
|
// 小组内累计进尺
|
|
|
@@ -1126,8 +1150,12 @@ public class IotRyDailyReportController {
|
|
|
.divide(BigDecimal.valueOf(1000), 2, RoundingMode.HALF_UP);
|
|
|
reportVO.setGroupIdPower(powerWanFang);
|
|
|
});
|
|
|
- // 小组内累计油耗
|
|
|
- findAndThen(groupIdFuelPair, reportVO.getId(), fuel -> reportVO.setGroupIdFuel(fuel));
|
|
|
+ // 小组内累计油耗 保留2位小数
|
|
|
+ findAndThen(groupIdFuelPair, reportVO.getId(), fuel -> {
|
|
|
+ BigDecimal accurateFuel = fuel
|
|
|
+ .divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
|
|
|
+ reportVO.setGroupIdFuel(accurateFuel);
|
|
|
+ });
|
|
|
// 修井 非生产时间
|
|
|
findAndThen(groupIdNoProductTimePair, reportVO.getId(), noProductTime -> reportVO.setNonProductionTime(noProductTime));
|
|
|
// 修井 生产时间
|