From 2ee9e158e3129070f6b1fd953da1540f05d4f2b0 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 10 七月 2026 18:04:50 +0800
Subject: [PATCH] 修改报工

---
 src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
index a2222c3..02c979a 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
@@ -4,6 +4,7 @@
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.quality.pojo.QualityUnqualified;
 import com.ruoyi.quality.service.IQualityUnqualifiedService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -37,6 +38,10 @@
     @Log(title = "鏂板涓嶅悎鏍肩鐞�", businessType = BusinessType.INSERT)
     public R<?> add(@RequestBody QualityUnqualified qualityUnqualified) {
         qualityUnqualified.setInspectState(0);
+        if (qualityUnqualified.getDealType() != null) {
+            qualityUnqualified.setDealResult(resolveDealResult(qualityUnqualified.getDealType()));
+        }
+        normalizeRepairWorkHour(qualityUnqualified);
         return R.ok(qualityUnqualifiedService.save(qualityUnqualified));
     }
 
@@ -78,6 +83,10 @@
     @Operation(summary = "涓嶅悎鏍肩鐞嗕慨鏀�")
     @Log(title = "涓嶅悎鏍肩鐞嗕慨鏀�", businessType = BusinessType.UPDATE)
     public R<?> update(@RequestBody QualityUnqualified qualityUnqualified) {
+        if (qualityUnqualified.getDealType() != null) {
+            qualityUnqualified.setDealResult(resolveDealResult(qualityUnqualified.getDealType()));
+        }
+        normalizeRepairWorkHour(qualityUnqualified);
         return R.ok(qualityUnqualifiedService.updateById(qualityUnqualified));
     }
 
@@ -115,8 +124,38 @@
     @Operation(summary = "涓嶅悎鏍肩鐞嗗鐞�")
     @Log(title = "涓嶅悎鏍肩鐞嗗鐞�", businessType = BusinessType.OTHER)
     public R<?> deal(@RequestBody QualityUnqualified qualityUnqualified) {
+        if (qualityUnqualified.getDealType() != null) {
+            qualityUnqualified.setDealResult(resolveDealResult(qualityUnqualified.getDealType()));
+        }
+        normalizeRepairWorkHour(qualityUnqualified);
         return R.ok(qualityUnqualifiedService.deal(qualityUnqualified));
     }
 
+    private String resolveDealResult(Integer dealType) {
+        if (dealType == null) {
+            return null;
+        }
+        return switch (dealType) {
+            case 0 -> "杞诲井杩斿伐";
+            case 1 -> "涓ラ噸杩斿伐";
+            case 2 -> "鎶ュ簾";
+            default -> null;
+        };
+    }
+
+    private void normalizeRepairWorkHour(QualityUnqualified qualityUnqualified) {
+        if (qualityUnqualified == null || qualityUnqualified.getDealType() == null) {
+            return;
+        }
+        if (qualityUnqualified.getDealType() == 0) {
+            if (qualityUnqualified.getRepairWorkHour() == null
+                    || qualityUnqualified.getRepairWorkHour().compareTo(java.math.BigDecimal.ZERO) <= 0) {
+                throw new ServiceException("杞诲井杩斿伐蹇呴』濉啓澶т簬0鐨勪慨鐞嗗伐鏃�");
+            }
+        } else {
+            qualityUnqualified.setRepairWorkHour(java.math.BigDecimal.ZERO);
+        }
+    }
+
 
 }

--
Gitblit v1.9.3