From ac6db1c4fddcb89c9668e34a35f023817a59f838 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 01 四月 2026 17:54:44 +0800
Subject: [PATCH] yys 1.产品导入新增excel错误提示 2.bom导入新增excel错误提示 3.仓储物流增加库位字段 4.修改发货出库-新增库位 5.修改采购入库审核-新增库位 6.生产入库-新增库位,审核

---
 src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
index 59f4b6f..777d388 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
@@ -1,10 +1,25 @@
 package com.ruoyi.production.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.procurementrecord.utils.StockUtils;
+import com.ruoyi.production.dto.ProductStructureDto;
+import com.ruoyi.production.mapper.ProductStructureMapper;
+import com.ruoyi.production.mapper.ProductionProductInputMapper;
 import com.ruoyi.production.pojo.ProductStructureRecord;
 import com.ruoyi.production.mapper.ProductStructureRecordMapper;
+import com.ruoyi.production.pojo.ProductionProductInput;
 import com.ruoyi.production.service.ProductStructureRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +32,42 @@
 @Service
 public class ProductStructureRecordServiceImpl extends ServiceImpl<ProductStructureRecordMapper, ProductStructureRecord> implements ProductStructureRecordService {
 
+    @Autowired
+    private ProductStructureRecordMapper productStructureRecordMapper;
+
+    @Autowired
+    private ProductStructureMapper productStructureMapper;
+
+    @Autowired
+    private StockUtils stockUtils;
+
+    @Autowired
+    private ProductionProductInputMapper productionProductInputMapper;
+
+    @Override
+    public IPage<ProductStructureRecord> listPage(Page page, ProductStructureRecord productStructureRecord) {
+        return productStructureRecordMapper.listPage(page,productStructureRecord);
+    }
+
+    @Override
+    public String pick(List<ProductionProductInput> productionProductInputs) {
+        if (CollectionUtils.isEmpty(productionProductInputs)) {
+            return "璇烽�夋嫨瑕侀鐨勬枡";
+        }
+        for (ProductionProductInput productionProductInput : productionProductInputs) {
+            productionProductInputMapper.insert(productionProductInput);
+            stockUtils.substractStock(productionProductInput.getProductModelId(),
+                    productionProductInput.getQuantity(),
+                    StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(),
+                    productionProductInput.getProductOrderId(),
+                    productionProductInput.getStockLocation());
+            // 鎵i櫎鐗╂枡娓呭崟
+            ProductStructureRecord productStructureRecord = productStructureRecordMapper.selectById(productionProductInput.getProductStructureRecordId());
+            if(productStructureRecord != null){
+                productStructureRecord.setCompletedQuantity(productStructureRecord.getCompletedQuantity().add(productionProductInput.getQuantity()));
+                productStructureRecordMapper.updateById(productStructureRecord);
+            }
+        }
+        return "棰嗘枡鎴愬姛";
+    }
 }

--
Gitblit v1.9.3