From 741918a903e17b2ec7522556d2c043b8d35dd8a1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 15 六月 2026 17:42:58 +0800
Subject: [PATCH] 生产取消bom,不合格管理定制化

---
 src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java |   59 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 29 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index 91bce0d..6428453 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -13,12 +13,12 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+
+import java.time.LocalDateTime;
 import com.ruoyi.stock.dto.StockInRecordDto;
 import com.ruoyi.stock.dto.StockInventoryDto;
 import com.ruoyi.stock.dto.StockUninventoryDto;
 import com.ruoyi.stock.execl.StockInRecordExportData;
-import com.ruoyi.production.mapper.ProductionOrderPickMapper;
-import com.ruoyi.production.pojo.ProductionOrderPick;
 import com.ruoyi.stock.mapper.StockInRecordMapper;
 import com.ruoyi.stock.mapper.StockInventoryMapper;
 import com.ruoyi.stock.mapper.StockUninventoryMapper;
@@ -42,7 +42,6 @@
     private StockInRecordMapper stockInRecordMapper;
     private StockInventoryMapper stockInventoryMapper;
     private StockUninventoryMapper stockUninventoryMapper;
-    private ProductionOrderPickMapper productionOrderPickMapper;
 
     @Override
     public IPage<StockInRecordDto> listPage(Page page, StockInRecordDto stockInRecordDto) {
@@ -53,7 +52,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int add(StockInRecordDto stockInRecordDto) {
-        String no = OrderUtils.countTodayByCreateTime(stockInRecordMapper, "RK","inbound_batches");
+        String no = OrderUtils.countTodayByCreateTime(stockInRecordMapper, "RK","inbound_batches", stockInRecordDto.getCreateTime() != null ? stockInRecordDto.getCreateTime() : LocalDateTime.now());
         stockInRecordDto.setInboundBatches(no);
         StockInRecord stockInRecord = new StockInRecord();
         BeanUtils.copyProperties(stockInRecordDto, stockInRecord);
@@ -191,32 +190,6 @@
             stockInRecord.setApprovalStatus(approvalStatus);
             stockInRecordMapper.updateById(stockInRecord);
 
-            // 瀹℃壒椹冲洖鏃讹紝濡傛灉鏄敓浜ч��鏂欏叆搴擄紝闇�瑕佸洖婊氶鏂欒褰曠殑閫�鏂欐暟閲�
-            if (ReviewStatusEnum.REJECTED.getCode().equals(approvalStatus) &&
-                StockInQualifiedRecordTypeEnum.FEED_RETURN_IN.getCode().equals(stockInRecord.getRecordType())) {
-                // 鎵惧埌瀵瑰簲鐨勯鏂欒褰�
-                ProductionOrderPick productionOrderPick = productionOrderPickMapper.selectById(stockInRecord.getRecordId());
-                if (productionOrderPick != null) {
-                    // 鍥炴粴閫�鏂欐暟閲�
-                    BigDecimal returnQty = productionOrderPick.getReturnQty();
-                    if (returnQty == null) {
-                        returnQty = BigDecimal.ZERO;
-                    }
-                    BigDecimal newReturnQty = returnQty.subtract(stockInRecord.getStockInNum());
-                    if (newReturnQty.compareTo(BigDecimal.ZERO) < 0) {
-                        newReturnQty = BigDecimal.ZERO;
-                    }
-                    productionOrderPick.setReturnQty(newReturnQty);
-                    // 閲嶆柊璁$畻瀹為檯鐢ㄩ噺
-                    BigDecimal actualQty = productionOrderPick.getQuantity().add(
-                        productionOrderPick.getFeedingQty() != null ? productionOrderPick.getFeedingQty() : BigDecimal.ZERO)
-                        .subtract(newReturnQty);
-                    productionOrderPick.setActualQty(actualQty);
-                    productionOrderPick.setReturned(newReturnQty.compareTo(BigDecimal.ZERO) > 0);
-                    productionOrderPickMapper.updateById(productionOrderPick);
-                }
-            }
-
             // 瀹℃壒閫氳繃鏃讹紝搴撳瓨澧炲姞
             if (ReviewStatusEnum.APPROVED.getCode().equals(approvalStatus)) {
                 if ("0".equals(stockInRecord.getType())) {
@@ -233,6 +206,7 @@
                             setQualitity(stockInRecord.getStockInNum());
                             setBatchNo(stockInRecord.getBatchNo());
                             setRemark(stockInRecord.getRemark());
+                            setWarnNum(stockInRecord.getWarnNum());
                             setVersion(1);
                         }});
                     } else {
@@ -262,4 +236,29 @@
         }
         return ids.size();
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int batchReAudit(List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            throw new BaseException("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+
+        for (Long id : ids) {
+            StockInRecord stockInRecord = stockInRecordMapper.selectById(id);
+            if (stockInRecord == null) {
+                throw new BaseException("鍏ュ簱璁板綍涓嶅瓨鍦�,鏃犳硶閲嶆柊瀹℃牳!!!");
+            }
+            // 鍙湁椹冲洖鐘舵�佹墠鑳介噸鏂板鏍�
+            if (!ReviewStatusEnum.REJECTED.getCode().equals(stockInRecord.getApprovalStatus())) {
+                throw new BaseException("鍙湁椹冲洖鐘舵�佺殑璁板綍鎵嶈兘閲嶆柊瀹℃牳,鍏ュ簱鎵规:" + stockInRecord.getInboundBatches());
+            }
+
+            // 灏嗙姸鎬佹敼涓哄緟瀹℃牳
+            stockInRecord.setApprovalStatus(ReviewStatusEnum.PENDING_REVIEW.getCode());
+            stockInRecordMapper.updateById(stockInRecord);
+        }
+
+        return ids.size();
+    }
 }

--
Gitblit v1.9.3