From 814eb3bafa3d0848e4a13482ebc1173c75d8e6e3 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 19 三月 2026 13:39:41 +0800
Subject: [PATCH] feat:印铜和印银不合格处理直接报废,不走流程
---
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 1650690..d3729c3 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -8,7 +8,6 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -17,7 +16,10 @@
import com.ruoyi.production.mapper.ProductProcessRouteMapper;
import com.ruoyi.production.mapper.ProductWorkOrderMapper;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
-import com.ruoyi.production.pojo.*;
+import com.ruoyi.production.pojo.ProductOrder;
+import com.ruoyi.production.pojo.ProductProcessRoute;
+import com.ruoyi.production.pojo.ProductProcessRouteItem;
+import com.ruoyi.production.pojo.ProductWorkOrder;
import com.ruoyi.production.service.ProductOrderService;
import com.ruoyi.quality.mapper.QualityUnqualifiedMapper;
import com.ruoyi.quality.pojo.QualityInspect;
@@ -27,6 +29,7 @@
import com.ruoyi.stock.service.StockUninventoryService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
@@ -127,11 +130,23 @@
break;
case "鎶ュ簾":
//璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
- stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+ // 2 鏄垚鍝�-闇�瑕佸鏍� 1 鏄崐鎴愬搧-涓嶉渶瑕佸鏍�
+ if (!"鍗伴摐".equals(qualityInspect.getProcess()) && !"鍗伴摱".equals(qualityInspect.getProcess())) {
+ if (qualityInspect.getInspectType().equals(2)) {
+ stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+ } else {
+ stockUtils.addUnStockNoReview(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+ }
+ }
break;
case "璁╂鏀捐":
//璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
- stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+ // 2 鏄垚鍝�-闇�瑕佸鏍� 1 鏄崐鎴愬搧-涓嶉渶瑕佸鏍�
+ if (qualityInspect.getInspectType().equals(2)) {
+ stockUtils.addStockNoReview(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+ } else {
+ stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+ }
break;
default:
break;
@@ -142,11 +157,11 @@
switch (qualityUnqualified.getDealResult()) {
case "鎶ュ簾":
//璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
- stockUtils.addUnStock(modelId, unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+ stockUtils.addUnStockNoReview(modelId, unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
break;
case "璁╂鏀捐":
//璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
- stockUtils.addStock(modelId, unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+ stockUtils.addStockNoReview(modelId, unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
break;
default:
break;
@@ -158,6 +173,33 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean liftTheQuarantine(QualityUnqualified qualityUnqualified) {
+ QualityUnqualified unqualified = qualityUnqualifiedMapper.selectById(qualityUnqualified.getId());
+ if (unqualified.getQuarantineLifted()) {
+ throw new RuntimeException("璇ヤ笉鍚堟牸鍝佸凡琚彇娑堥殧绂�");
+ }
+
+ if (unqualified.getDealResult() == null) {
+ throw new RuntimeException("璇ヤ笉鍚堟牸鍝佹湭琚鐞�");
+ }
+
+ if (!unqualified.getDealResult().equals("闅旂")) {
+ throw new RuntimeException("璇ヤ笉鍚堟牸鍝佹湭琚殧绂�");
+ }
+
+ // 鍙栨秷闅旂 璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
+ QualityInspect qualityInspect = qualityInspectService.getById(unqualified.getInspectId());
+ if (qualityInspect.getInspectType().equals(2)) {
+ stockUtils.addStockNoReview(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.LIFT_THE_QUARANTINE.getCode(), unqualified.getId());
+ } else {
+ stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.LIFT_THE_QUARANTINE.getCode(), unqualified.getId());
+ }
+ unqualified.setQuarantineLifted(true);
+ return qualityUnqualifiedMapper.updateById(unqualified) > 0;
+ }
+
+ @Override
public QualityUnqualified getUnqualified(Integer id) {
return qualityUnqualifiedMapper.getUnqualified(id);
}
--
Gitblit v1.9.3