From d05d46076c62c744cdbd84c84d6e19b42cda9259 Mon Sep 17 00:00:00 2001 From: lishenao <3065849776@qq.com> Date: 星期三, 02 七月 2025 09:30:15 +0800 Subject: [PATCH] 入库管理,出库管理,库存管理后端接口修改 --- src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java | 88 ++++++++++++++++++++++++++----------------- 1 files changed, 53 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java index e7dfd58..d6e2383 100644 --- a/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java +++ b/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.excel.SupplierManageExcelDto; +import com.ruoyi.basic.mapper.SupplierManageMapper; +import com.ruoyi.basic.pojo.SupplierManage; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.inventory.dto.StockoutDto; import com.ruoyi.inventory.excel.StockOutExcelDto; @@ -13,6 +15,8 @@ import com.ruoyi.inventory.pojo.StockOut; import com.ruoyi.inventory.service.StockOutService; +import com.ruoyi.purchase.mapper.ProductRecordMapper; +import com.ruoyi.purchase.pojo.ProductRecord; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +32,10 @@ private StockOutMapper stockOutMapper; @Autowired private StockManagementMapper stockManagementMapper; + @Autowired + private ProductRecordMapper productRecordMapper; + @Autowired + private SupplierManageMapper supplierManageMapper; @Override @@ -44,47 +52,56 @@ @Override @Transactional(rollbackFor = Exception.class) public void saveStockout(StockOut stockOut) { -// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id - LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(StockManagement::getProductId, stockOut.getProductId()); - queryWrapper.eq(StockManagement::getSupplierId, stockOut.getSupplierId()); - StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper); - if (stockManagement1!= null) { -// 鍒ゆ柇搴撳瓨鏁伴噺鏄惁澶т簬鍑哄簱鏁伴噺 - if (stockManagement1.getStockQuantity() < stockOut.getInboundQuantity()) { - throw new RuntimeException("搴撳瓨鏁伴噺涓嶈冻"); - } - stockOutMapper.insert(stockOut); - stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() - stockOut.getInboundQuantity()); - stockManagement1.setInboundTime(new Date()); - stockManagementMapper.updateById(stockManagement1); +// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id,瑕佸垽鏂璸roduct_id鍦ㄨ〃product_record涓槸鍚﹀瓨鍦紝鍥犱负stock_out琛ㄤ腑鐨刾roduct_id鏄痯roduct_record琛ㄤ腑鐨刾roduct_id鍏宠仈鐨� + LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ProductRecord::getProductId, stockOut.getProductRecordid()); + ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1); + if (productRecord == null) { + throw new RuntimeException("浜у搧涓嶅瓨鍦�"); } - else { - throw new RuntimeException("搴撳瓨涓嶅瓨鍦�"); + LambdaQueryWrapper<SupplierManage> queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(SupplierManage::getId, stockOut.getSupplierId()); + SupplierManage supplierManage = supplierManageMapper.selectOne(queryWrapper2); + if (supplierManage == null) { + throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪"); + } + LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StockManagement::getProductRecordid, stockOut.getProductRecordid()); + queryWrapper.eq(StockManagement::getSupplierId, stockOut.getSupplierId()); + StockManagement stockManagement = stockManagementMapper.selectOne(queryWrapper); + if (stockManagement != null) { + stockOut.setStockmanageId(stockManagement.getId()); + stockOutMapper.insert(stockOut); + }else { + throw new RuntimeException("搴撳瓨涓笉瀛樺湪璇ヤ骇鍝佸拰渚涘簲鍟�"); } } @Override public int updateStockOut(StockOut stockOut) { -// 闇�瑕佽繘琛屽垽鏂湪搴撳瓨涓槸鍚﹀瓨鍦ㄨ浜у搧锛屽鏋滃瓨鍦紝灏辫繘琛屼慨鏀癸紝鍚﹀垯灏辨姏鍑哄紓甯� - StockOut stockOut1 = stockOutMapper.selectById(stockOut.getId()); - LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(StockManagement::getProductId, stockOut.getProductId()); - StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper); - if (stockManagement1!= null) { -// 鍒ゆ柇搴撳瓨鏁伴噺鏄惁澶т簬鍑哄簱鏁伴噺 - if (stockManagement1.getStockQuantity()+stockOut1.getInboundQuantity() < stockOut.getInboundQuantity()) { - throw new RuntimeException("搴撳瓨鏁伴噺涓嶈冻"); - } - stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() + stockOut1.getInboundQuantity() - stockOut.getInboundQuantity()); - stockManagement1.setInboundTime(stockOut.getInboundTime()); - stockManagement1.setBoundTime(new Date()); - System.out.println(stockManagement1 + "22"); - stockManagementMapper.updateById(stockManagement1); - } else { - throw new RuntimeException("搴撳瓨涓嶅瓨鍦�"); - } - return stockOutMapper.updateById(stockOut); +// 淇敼鐨勬椂鍊欒鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id + LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ProductRecord::getProductId, stockOut.getProductRecordid()); + ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1); + if (productRecord == null) { + throw new RuntimeException("浜у搧涓嶅瓨鍦�"); + } + LambdaQueryWrapper<SupplierManage> queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(SupplierManage::getId, stockOut.getSupplierId()); + SupplierManage supplierManage = supplierManageMapper.selectOne(queryWrapper2); + if (supplierManage == null) { + throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪"); + } + LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StockManagement::getProductRecordid, stockOut.getProductRecordid()); + queryWrapper.eq(StockManagement::getSupplierId, stockOut.getSupplierId()); + StockManagement stockManagement = stockManagementMapper.selectOne(queryWrapper); + if (stockManagement != null) { + stockOut.setStockmanageId(stockManagement.getId()); + return stockOutMapper.updateById(stockOut); + }else { + throw new RuntimeException("搴撳瓨涓笉瀛樺湪璇ヤ骇鍝佸拰渚涘簲鍟�"); + } } @Override @@ -98,4 +115,5 @@ ExcelUtil<StockOutExcelDto> util = new ExcelUtil<StockOutExcelDto>(StockOutExcelDto.class); util.exportExcel(response, stockoutList, "渚涘簲鍟嗗鍑�"); } + } -- Gitblit v1.9.3