瀏覽代碼

pms 瑞都日报 导出 添加 非生产时间

zhangcl 10 小時之前
父節點
當前提交
81ee5b923f

+ 15 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotrddailyreport/IotRdDailyReportController.java

@@ -71,6 +71,7 @@ import javax.validation.Valid;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -2839,6 +2840,20 @@ public class IotRdDailyReportController {
             // 计算非生产时效 如果是平台井 需要计算 所有平台井 的 非生产时效
             BigDecimal nonProductionTimes = calculateNonProductTime(reportVO);
             reportVO.setNonProductionRate(nonProductionTimes.divide(BigDecimal.valueOf(24), 4, RoundingMode.HALF_UP ));
+
+            // 非生产时效 百分比格式 导出使用
+            if (ObjUtil.isNotEmpty(reportVO.getNonProductionRate())) {
+                // 获取原始小数
+                BigDecimal nptRate = reportVO.getNonProductionRate();
+                // 乘以100转换为百分比数值
+                BigDecimal percentage = nptRate.multiply(BigDecimal.valueOf(100));
+                // 格式化保留2位小数
+                DecimalFormat df = new DecimalFormat("0.00");
+                String nonProductionRate = df.format(percentage) + "%";
+                // 赋值
+                reportVO.setNonProductionRateFormat(nonProductionRate);
+            }
+
             // 设置非生产时间填写标识 noProductFlag 为 true 或者 processInstanceId 为 2 的时候 显示 已填写
             reportVO.setNonProductFlag(setNoProductFlag(reportVO));
             // 创建时间 格式化 yyyy-MM-dd

+ 17 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotrddailyreport/vo/IotRdDailyReportRespVO.java

@@ -146,42 +146,58 @@ public class IotRdDailyReportRespVO {
     @Schema(description = "非生产时间原因", example = "不喜欢")
     private String rdNptReason;
 
+    @Schema(description = "非生产时效")
+    @ExcelProperty("非生产时效")
+    private String nonProductionRateFormat;
+
     @Schema(description = "事故非生产时间(H)")
     @ExcelProperty("工程质量H")
     private BigDecimal accidentTime;
+
     @Schema(description = "修理非生产时间(H)")
     @ExcelProperty("设备故障H")
     private BigDecimal repairTime;
+
     @Schema(description = "自停非生产时间(H)")
     @ExcelProperty("设备保养H")
     private BigDecimal selfStopTime;
+
     @Schema(description = "复杂非生产时间(H)")
     @ExcelProperty("技术受限H")
     private BigDecimal complexityTime;
+
     @Schema(description = "搬迁非生产时间(H)")
     @ExcelProperty("生产配合H")
     private BigDecimal relocationTime;
+
     @Schema(description = "整改非生产时间(H)")
-    @ExcelProperty("H")
+    @ExcelProperty("生产组织H")
     private BigDecimal rectificationTime;
+
     @Schema(description = "等停非生产时间(H)")
     @ExcelProperty("不可抗力H")
     private BigDecimal waitingStopTime;
+
     @Schema(description = "冬休非生产时间(H)")
     @ExcelProperty("待命T")
     private BigDecimal winterBreakTime;
+
     @Schema(description = "甲方设计-非生产时间")
     @ExcelProperty("甲方设计H")
     private BigDecimal partyaDesign;
+
     @Schema(description = "甲方准备-非生产时间")
     @ExcelProperty("甲方准备H")
     private BigDecimal partyaPrepare;
+
     @Schema(description = "甲方资源-非生产时间")
     @ExcelProperty("甲方资源H")
     private BigDecimal partyaResource;
+
     @Schema(description = "其它非生产时间")
     @ExcelProperty("其它非生产时间H")
     private BigDecimal otherNptTime;
+
     @Schema(description = "其它非生产时间原因")
     @ExcelProperty("其它非生产时间原因")
     private String otherNptReason;