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 | 100 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 87 insertions(+), 13 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 37bcfde..d6e2383 100644 --- a/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java +++ b/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java @@ -1,45 +1,119 @@ package com.ruoyi.inventory.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; +import com.ruoyi.inventory.mapper.StockManagementMapper; import com.ruoyi.inventory.mapper.StockOutMapper; +import com.ruoyi.inventory.pojo.StockManagement; +import com.ruoyi.inventory.pojo.StockOut; import com.ruoyi.inventory.service.StockOutService; -import inventory.domain.StockOut; + +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; +import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; @Service public class StockOutServiceImpl implements StockOutService { @Autowired private StockOutMapper stockOutMapper; + @Autowired + private StockManagementMapper stockManagementMapper; + @Autowired + private ProductRecordMapper productRecordMapper; + @Autowired + private SupplierManageMapper supplierManageMapper; + + @Override - public List<StockOut> getStockOuts() { - List<StockOut> stockOuts = stockOutMapper.selectAll(); - return stockOuts; + public int delStockOut(List<Integer> ids) { + return stockOutMapper.deleteBatchIds(ids); } @Override public StockOut getStockOutById(Long id) { - StockOut stockOut = stockOutMapper.selectByPrimaryKey(id); + StockOut stockOut = stockOutMapper.selectById(id); return stockOut; } @Override - public int addStockOut(StockOut stockOut) { - int i = stockOutMapper.insertSelective(stockOut); - return i; + @Transactional(rollbackFor = Exception.class) + public void saveStockout(StockOut stockOut) { +// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮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("浜у搧涓嶅瓨鍦�"); + } + 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) { - int i = stockOutMapper.updateByPrimaryKeySelective(stockOut); - return i; +// 淇敼鐨勬椂鍊欒鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮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 - public int deleteStockOut(Long id) { - int i = stockOutMapper.deleteByPrimaryKey(id); - return i; + public IPage<StockoutDto> selectStockOutPage(Page page, StockoutDto stockoutDto) { + return stockOutMapper.selectStockOutBypage(page, stockoutDto); } + + @Override + public void stockoutExport(HttpServletResponse response, StockoutDto stockoutDto) { + List<StockOutExcelDto> stockoutList = stockOutMapper.stockoutExportList(stockoutDto); + ExcelUtil<StockOutExcelDto> util = new ExcelUtil<StockOutExcelDto>(StockOutExcelDto.class); + util.exportExcel(response, stockoutList, "渚涘簲鍟嗗鍑�"); + } + } -- Gitblit v1.9.3