From 1e123568c2f561013f5636e45dc0db30b17a3517 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 10 九月 2026 16:39:26 +0800
Subject: [PATCH] feat(basic): 添加产品条码功能并完善生产统计报表
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index 328c358..b031606 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,7 +1,6 @@
package com.ruoyi.quality.service.impl;
-import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -24,12 +23,12 @@
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectParam;
import com.ruoyi.quality.pojo.QualityUnqualified;
-import com.ruoyi.stock.pojo.StockInRecord;
-import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.quality.service.IQualityInspectParamService;
import com.ruoyi.quality.service.IQualityInspectService;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.stock.service.StockInventoryService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
@@ -95,6 +94,13 @@
@Override
public int submit(QualityInspect inspect) {
QualityInspect qualityInspect = qualityInspectMapper.selectById(inspect.getId());
+ if (qualityInspect == null) {
+ throw new ServiceException("妫�楠屽崟涓嶅瓨鍦�");
+ }
+ //骞傜瓑锛氬凡鎻愪氦鐨勬楠屽崟涓嶅厑璁搁噸澶嶆彁浜わ紝闃叉閲嶅鐢熸垚鍏ュ簱/涓嶅悎鏍艰褰�
+ if (Integer.valueOf(1).equals(qualityInspect.getInspectState())) {
+ throw new ServiceException("妫�楠屽崟宸叉彁浜わ紝璇峰嬁閲嶅鎻愪氦");
+ }
//鎻愪氦鍓嶅繀椤诲垽鏂槸鍚﹀悎鏍�
if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
@@ -119,8 +125,15 @@
qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
}
+ //鏁伴噺涓�鑷存�э細鍚堟牸+涓嶅悎鏍� 涓嶅緱瓒呰繃妫�楠屾暟閲�
+ if (qualityInspect.getQuantity() != null
+ && qualityInspect.getQualifiedQuantity().add(qualityInspect.getUnqualifiedQuantity())
+ .compareTo(qualityInspect.getQuantity()) > 0) {
+ throw new ServiceException("鍚堟牸鏁伴噺涓庝笉鍚堟牸鏁伴噺涔嬪拰涓嶈兘澶т簬妫�楠屾暟閲�");
+ }
+
// 鍚堟牸鐩存帴鍏ュ簱
- if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
+ if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0 && qualityInspect.getInspectType()!=1){
//浠呮坊鍔犲叆搴撹褰�
StockInventoryDto stockInventoryDto = new StockInventoryDto();
//濡傛灉鏄噰璐川妫�鍚堟牸鍏ュ簱閫夌敤CUSTOMIZATION_UNSTOCK_OUT,鍏朵綑鍚堟牸鍏ュ簱閫夌敤QUALITYINSPECT_STOCK_IN
@@ -277,6 +290,14 @@
@Override
public int updateQualityInspect(QualityInspectDto qualityInspectDto) {
+ QualityInspect exist = qualityInspectMapper.selectById(qualityInspectDto.getId());
+ if (exist == null) {
+ throw new ServiceException("妫�楠屽崟涓嶅瓨鍦�");
+ }
+ //宸叉彁浜ょ殑妫�楠屽崟宸茶仈鍔ㄥ叆搴�/涓嶅悎鏍艰褰曪紝绂佹鍐嶄慨鏀�
+ if (Integer.valueOf(1).equals(exist.getInspectState())) {
+ throw new ServiceException("妫�楠屽崟宸叉彁浜わ紝涓嶅厑璁镐慨鏀�");
+ }
if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) {
qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId()));
for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) {
--
Gitblit v1.9.3