From fbc53e77f994f15c3ebcd4fa07dfd23671c0ce26 Mon Sep 17 00:00:00 2001
From: lishenao <3065849776@qq.com>
Date: 星期五, 04 七月 2025 16:04:51 +0800
Subject: [PATCH] 入库管理,出库管理,库存管理后端接口修改

---
 src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java |   91 ++++++++++++++++++++-------------------------
 1 files changed, 41 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
index 8c035f8..6ad5d02 100644
--- a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
+++ b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.SupplierManageMapper;
+import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.inventory.dto.StockinDto;
 import com.ruoyi.inventory.excel.StockInExcelDto;
@@ -12,7 +14,10 @@
 import com.ruoyi.inventory.mapper.StockInMapper;
 import com.ruoyi.inventory.pojo.StockManagement;
 import com.ruoyi.inventory.service.StockInService;
+import com.ruoyi.purchase.dto.ProductRecordDto;
 import com.ruoyi.purchase.dto.PurchaseLedgerDto;
+import com.ruoyi.purchase.mapper.ProductRecordMapper;
+import com.ruoyi.purchase.pojo.ProductRecord;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -28,6 +33,10 @@
     private StockInMapper stockInMapper;
     @Autowired
     private StockManagementMapper stockManagementMapper;
+    @Autowired
+    private ProductRecordMapper productRecordMapper;
+    @Autowired
+    private SupplierManageMapper supplierManageMapper;
 
 
 //    鏂板鏂规硶
@@ -38,31 +47,29 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveStockin(StockIn stockIn) {
-        stockInMapper.insert(stockIn);
-        StockManagement stockManagement = new StockManagement();
-//        杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id
-        LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(StockManagement::getProductId, stockIn.getProductId());
-        queryWrapper.eq(StockManagement::getSupplierId, stockIn.getSupplierId());
-        StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper);
-        if (stockManagement1!= null) {
-            stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() + stockIn.getInboundQuantity());
-            stockManagement1.setInboundTime(stockIn.getInboundTime());
-            stockManagement1.setBoundTime(new Date());
-            stockManagement1.setInboundPerson(stockIn.getInboundPerson());
-            System.out.println(stockManagement1+"22");
-            stockManagementMapper.updateById(stockManagement1);
-        }
-        else {
-            stockManagement.setProductId(stockIn.getProductId());
+//闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰�
+//        鏍规嵁浜у搧id鏌ヨ閲囪喘璁板綍琛�
+        ProductRecordDto productRecordDto = productRecordMapper.selectProductRecordById(stockIn.getProductrecordId());
+        if (productRecordDto != null) {
+//            娣诲姞鍏ュ簱璁板綍鍜屽簱瀛樼鐞嗚褰�
+            stockIn.setInboundTime(new Date());
+//            鑷姩鐢熸垚鎵规鐮�
+            String batchCode = "RK" + System.currentTimeMillis();
+            stockIn.setInboundBatch(batchCode);
+            stockIn.setSupplierId(productRecordDto.getSupplierId());
+            stockInMapper.insert(stockIn);
+//          鍦ㄥ簱瀛樼鐞嗚〃涓坊鍔犲簱瀛樼鐞嗚褰�
+            StockManagement stockManagement = new StockManagement();
+            stockManagement.setProductrecordId(productRecordDto.getId());
             stockManagement.setStockQuantity(stockIn.getInboundQuantity());
+            stockManagement.setInboundTime(stockIn.getInboundTime());
+            stockManagement.setInboundBatch(stockIn.getInboundBatch());
+            stockManagement.setUserId(stockIn.getUserId());
+            stockManagement.setSupplierId(productRecordDto.getSupplierId());
             stockManagement.setBoundTime(stockIn.getInboundTime());
-            stockManagement.setStockQuantity(stockIn.getInboundQuantity());
-            stockManagement.setInboundPerson(stockIn.getInboundPerson());
-            stockManagement.setSupplierId(stockIn.getSupplierId());
-            stockManagement.setTenantId(stockIn.getTenantId());
-            stockManagement.setBoundTime(new Date());
             stockManagementMapper.insert(stockManagement);
+        }else {
+            throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍");
         }
     }
 
@@ -72,38 +79,22 @@
         return stockIn;
     }
 
-    @Override//鏇存柊搴撳瓨鍏ュ簱淇℃伅
+    @Override
     @Transactional(rollbackFor = Exception.class)
-    public int updateStockIn(StockIn stockIn) {
-        StockIn stockIn1 = stockInMapper.selectById(stockIn.getId());
-//        杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id
-        LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(StockManagement::getProductId, stockIn.getProductId());
-        queryWrapper.eq(StockManagement::getSupplierId, stockIn.getSupplierId());
-        StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper);
-        if (stockManagement1!= null) {
-            stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() - stockIn1.getInboundQuantity() + stockIn.getInboundQuantity());
-            stockManagement1.setInboundTime(stockIn.getInboundTime());
-            stockManagement1.setBoundTime(new Date());
-            stockManagement1.setInboundPerson(stockIn.getInboundPerson());
-            System.out.println(stockManagement1 + "22");
-            stockManagementMapper.updateById(stockManagement1);
-        }        else {
-            StockManagement stockManagement = new StockManagement();
-            stockManagement.setProductId(stockIn.getProductId());
-            stockManagement.setStockQuantity(stockIn.getInboundQuantity());
-            stockManagement.setBoundTime(stockIn.getInboundTime());
-            stockManagement.setStockQuantity(stockIn.getInboundQuantity());
-            stockManagement.setInboundPerson(stockIn.getInboundPerson());
-            stockManagement.setSupplierId(stockIn.getSupplierId());
-            stockManagement.setTenantId(stockIn.getTenantId());
-            stockManagement.setBoundTime(new Date());
-            System.out.println(stockManagement + "33");
-            stockManagementMapper.insert(stockManagement);
+    public void updateStockIn(StockIn stockIn) {
+//        闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰�
+        LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>();
+        queryWrapper1.eq(ProductRecord::getId, stockIn.getProductrecordId());
+        ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1);
+        if (productRecord!= null) {
+            stockIn.setInboundTime(stockIn.getInboundTime());
+            stockInMapper.updateById(stockIn);
+        }    else {
+            throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍");
         }
-        return stockInMapper.updateById(stockIn);
     }
 
+
     @Override
     public int delStockin(List<Integer> ids) {
         LambdaQueryWrapper<StockIn> delWrapper = new LambdaQueryWrapper<>();

--
Gitblit v1.9.3