From 422a5676c2d96dd37c1be62935a314d70fef79b5 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 15 七月 2026 15:28:04 +0800
Subject: [PATCH] 修改不合格管理
---
src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java | 122 ++++++++++++++++++++++++++++++++++------
1 files changed, 104 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
index 1cce084..bdc4a9b 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
@@ -1,14 +1,19 @@
package com.ruoyi.quality.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.framework.web.domain.AjaxResult;
+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;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -16,6 +21,7 @@
*/
@RestController
@RequestMapping("/quality/qualityUnqualified")
+@Tag(name = "涓嶅悎鏍肩鐞�")
public class QualityUnqualifiedController {
@Resource
@@ -28,8 +34,14 @@
* @return
*/
@PostMapping("/add")
- public AjaxResult add(@RequestBody QualityUnqualified qualityUnqualified) {
- return AjaxResult.success(qualityUnqualifiedService.save(qualityUnqualified));
+ @Operation(summary = "鏂板涓嶅悎鏍肩鐞�")
+ @Log(title = "鏂板涓嶅悎鏍肩鐞�", businessType = BusinessType.INSERT)
+ public R<?> add(@RequestBody QualityUnqualified qualityUnqualified) {
+ qualityUnqualified.setInspectState(0);
+ normalizeDealDecision(qualityUnqualified);
+ applyRegenerateNewOrderDefault(qualityUnqualified);
+ normalizeRepairWorkHour(qualityUnqualified);
+ return R.ok(qualityUnqualifiedService.save(qualityUnqualified));
}
/**
@@ -38,11 +50,15 @@
* @return
*/
@DeleteMapping("/del")
- public AjaxResult delQualityUnqualified(@RequestBody List<Integer> ids) {
- if(CollectionUtils.isEmpty(ids)){
- return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
- }
- return AjaxResult.success(qualityUnqualifiedService.removeBatchByIds(ids));
+ @Operation(summary = "鍒犻櫎涓嶅悎鏍肩鐞�")
+ @Log(title = "鍒犻櫎涓嶅悎鏍肩鐞�", businessType = BusinessType.DELETE)
+ public R<?> delQualityUnqualified(@RequestBody List<Integer> ids) {
+ qualityUnqualifiedService.listByIds(ids).stream().forEach(qualityUnqualified -> {
+ if (qualityUnqualified.getInspectState()==1){
+ throw new RuntimeException("璇ヤ笉鍚堟牸鏁版嵁宸茬粡澶勭悊鏃犳硶鍒犻櫎!");
+ }
+ });
+ return R.ok(qualityUnqualifiedService.removeBatchByIds(ids));
}
/**
@@ -51,8 +67,10 @@
* @return
*/
@GetMapping("/{id}")
- public AjaxResult QualityUnqualifiedDetail(@PathVariable("id") Integer id) {
- return AjaxResult.success(qualityUnqualifiedService.getById(id));
+ @Operation(summary = "涓嶅悎鏍肩鐞嗚鎯�")
+ @Log(title = "涓嶅悎鏍肩鐞嗚鎯�", businessType = BusinessType.OTHER)
+ public R<?> QualityUnqualifiedDetail(@PathVariable("id") Integer id) {
+ return R.ok(qualityUnqualifiedService.getUnqualified(id));
}
/**
@@ -61,8 +79,13 @@
* @return
*/
@PostMapping("/update")
- public AjaxResult update(@RequestBody QualityUnqualified qualityUnqualified) {
- return AjaxResult.success(qualityUnqualifiedService.updateById(qualityUnqualified));
+ @Operation(summary = "涓嶅悎鏍肩鐞嗕慨鏀�")
+ @Log(title = "涓嶅悎鏍肩鐞嗕慨鏀�", businessType = BusinessType.UPDATE)
+ public R<?> update(@RequestBody QualityUnqualified qualityUnqualified) {
+ normalizeDealDecision(qualityUnqualified);
+ applyRegenerateNewOrderDefault(qualityUnqualified);
+ normalizeRepairWorkHour(qualityUnqualified);
+ return R.ok(qualityUnqualifiedService.updateById(qualityUnqualified));
}
/**
@@ -72,8 +95,10 @@
* @return
*/
@GetMapping("/listPage")
- public AjaxResult qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) {
- return AjaxResult.success(qualityUnqualifiedService.qualityUnqualifiedListPage(page, qualityUnqualified));
+ @Operation(summary = "涓嶅悎鏍肩鐞嗗垎椤垫煡璇�")
+ @Log(title = "涓嶅悎鏍肩鐞嗗垎椤垫煡璇�", businessType = BusinessType.OTHER)
+ public R<?> qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) {
+ return R.ok(qualityUnqualifiedService.qualityUnqualifiedListPage(page, qualityUnqualified));
}
/**
@@ -82,6 +107,8 @@
* @param qualityUnqualified
*/
@PostMapping("/export")
+ @Operation(summary = "涓嶅悎鏍肩鐞嗗鍑�")
+ @Log(title = "涓嶅悎鏍肩鐞嗗鍑�", businessType = BusinessType.EXPORT)
public void qualityUnqualifiedExport(HttpServletResponse response,QualityUnqualified qualityUnqualified) {
qualityUnqualifiedService.qualityUnqualifiedExport(response, qualityUnqualified);
}
@@ -92,8 +119,67 @@
* @return
*/
@PostMapping("/deal")
- public AjaxResult deal(@RequestBody QualityUnqualified qualityUnqualified) {
- return AjaxResult.success(qualityUnqualifiedService.deal(qualityUnqualified));
+ @Operation(summary = "涓嶅悎鏍肩鐞嗗鐞�")
+ @Log(title = "涓嶅悎鏍肩鐞嗗鐞�", businessType = BusinessType.OTHER)
+ public R<?> deal(@RequestBody QualityUnqualified qualityUnqualified) {
+ normalizeDealDecision(qualityUnqualified);
+ applyRegenerateNewOrderDefault(qualityUnqualified);
+ normalizeRepairWorkHour(qualityUnqualified);
+ return R.ok(qualityUnqualifiedService.deal(qualityUnqualified));
+ }
+
+ private void normalizeDealDecision(QualityUnqualified qualityUnqualified) {
+ if (qualityUnqualified == null) {
+ return;
+ }
+ String dealResult = qualityUnqualified.getDealResult();
+ Integer dealType = qualityUnqualified.getDealType();
+ if ("鎶ュ簾".equals(dealResult)) {
+ qualityUnqualified.setDealType(2);
+ return;
+ }
+ if ("鎶ュ伐".equals(dealResult)) {
+ if (dealType == null) {
+ throw new ServiceException("鎶ュ伐鏃跺繀椤婚�夋嫨涓嶅悎鏍肩被鍨�");
+ }
+ if (dealType == 2) {
+ qualityUnqualified.setDealResult("鎶ュ簾");
+ }
+ return;
+ }
+ if (dealType == null) {
+ return;
+ }
+ if (dealType == 2) {
+ qualityUnqualified.setDealResult("鎶ュ簾");
+ } else if (dealType == 0 || dealType == 1) {
+ qualityUnqualified.setDealResult("鎶ュ伐");
+ }
+ }
+
+ private void applyRegenerateNewOrderDefault(QualityUnqualified qualityUnqualified) {
+ if (qualityUnqualified == null || qualityUnqualified.getDealType() == null) {
+ return;
+ }
+ if (qualityUnqualified.getDealType() == 0) {
+ qualityUnqualified.setRegenerateNewOrder(0);
+ } else if (qualityUnqualified.getDealType() == 1 || qualityUnqualified.getDealType() == 2) {
+ qualityUnqualified.setRegenerateNewOrder(1);
+ }
+ }
+
+ 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