From 51401d2c54214af5b52b66e3e7bea22233efdda5 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 22 一月 2026 10:05:37 +0800
Subject: [PATCH] feat(sales): 入库出库接口
---
src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java | 67 ++++++++++++++++++++++++++++++++-
1 files changed, 64 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
index 3e2d0f2..7d88f35 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -1,10 +1,24 @@
package com.ruoyi.stock.service.impl;
-import com.ruoyi.stock.pojo.StockOutRecord;
-import com.ruoyi.stock.mapper.StockOutRecordMapper;
-import com.ruoyi.stock.service.StockOutRecordService;
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.dto.StockOutRecordDto;
+import com.ruoyi.stock.mapper.StockInventoryMapper;
+import com.ruoyi.stock.mapper.StockOutRecordMapper;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.pojo.StockOutRecord;
+import com.ruoyi.stock.service.StockOutRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* <p>
@@ -16,5 +30,52 @@
*/
@Service
public class StockOutRecordServiceImpl extends ServiceImpl<StockOutRecordMapper, StockOutRecord> implements StockOutRecordService {
+ @Autowired
+ private StockOutRecordMapper stockOutRecordMapper;
+ @Autowired
+ private StockInventoryMapper stockInventoryMapper;
+ @Override
+ public IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto) {
+ return stockOutRecordMapper.listPage(page, stockOutRecordDto);
+ }
+
+ @Override
+ public int add(StockOutRecordDto stockOutRecordDto) {
+ String no = OrderUtils.countTodayByCreateTime(stockOutRecordMapper, "CK");
+ stockOutRecordDto.setOutboundBatches(no);
+ StockInRecord stockInRecord = new StockInRecord();
+ BeanUtils.copyProperties(stockOutRecordDto, stockInRecord);
+ return stockOutRecordMapper.insert(stockOutRecordDto);
+ }
+
+ @Override
+ public int update(Long id, StockOutRecordDto stockOutRecordDto) {
+ // 鍒ゆ柇瀵硅薄鏄惁瀛樺湪
+ StockOutRecord stockOutRecord = stockOutRecordMapper.selectById(id);
+ if (stockOutRecord == null){
+ throw new BaseException("璇ュ嚭搴撹褰曚笉瀛樺湪,鏃犳硶鏇存柊!!!");
+ }
+
+ String[] ignoreProperties = {"id", "inbound_batches"};//鎺掗櫎id灞炴��
+ BeanUtils.copyProperties(stockOutRecordDto, stockOutRecord, ignoreProperties);
+ return stockOutRecordMapper.updateById(stockOutRecord);
+ }
+
+ @Override
+ public int batchDelete(List<Long> ids) {
+ for (Long id : ids) {
+ StockOutRecord stockOutRecord = stockOutRecordMapper.selectById(id);
+ StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, id));
+ if (stockInventory == null) {
+ throw new BaseException("璇ュ叆搴撹褰曚笅娌℃湁瀵瑰簲鐨勪骇鍝�,鏃犳硶鍒犻櫎!!!");
+ }else {
+ StockInventoryDto stockInRecordDto = new StockInventoryDto();
+ stockInRecordDto.setProductModelId(stockInventory.getProductModelId());
+ stockInRecordDto.setQualitity(stockOutRecord.getStockOutNum());
+ stockInventoryMapper.updateAddStockInventory(stockInRecordDto);
+ }
+ }
+ return stockOutRecordMapper.deleteBatchIds(ids);
+ }
}
--
Gitblit v1.9.3