feat(stock): 优化库存更新逻辑并添加库存日志记录功能- 在 WmsStockIoServiceImpl 中引入 WmsStockLogMapper

- 修改 updateStatus 方法,使用更可靠的更新条件
- 在 stockUpdate 中添加库存日志记录功能
This commit is contained in:
JR
2025-08-11 14:13:38 +08:00
parent 3c2cc85e27
commit b135f2e0dc
2 changed files with 21 additions and 6 deletions

View File

@@ -151,6 +151,7 @@ public class WmsStockIoController extends BaseController {
@RequestParam Integer status) { @RequestParam Integer status) {
return toAjax(iWmsStockIoService.updateStatus(stockIoId, status)); return toAjax(iWmsStockIoService.updateStatus(stockIoId, status));
} }
/** /**
* 扫码枪专用根据明细ID直接入库无需审核整单 * 扫码枪专用根据明细ID直接入库无需审核整单
*/ */

View File

@@ -19,14 +19,14 @@ import com.klp.service.IWmsStockIoService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import com.klp.common.exception.ServiceException; import com.klp.common.exception.ServiceException;
import com.klp.domain.bo.WmsStockIoWithDetailBo; import com.klp.domain.bo.WmsStockIoWithDetailBo;
import com.klp.domain.bo.WmsStockIoDetailBo; import com.klp.domain.bo.WmsStockIoDetailBo;
import javax.annotation.Resource;
/** /**
* 出入库单主Service业务层处理 * 出入库单主Service业务层处理
* *
@@ -42,6 +42,8 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
private final WmsStockMapper stockMapper; private final WmsStockMapper stockMapper;
private final WmsProductMapper productMapper; private final WmsProductMapper productMapper;
private final WmsRawMaterialMapper rawMaterialMapper; private final WmsRawMaterialMapper rawMaterialMapper;
@Resource
private WmsStockLogMapper stockLogMapper;
/** /**
* 查询出入库单主 * 查询出入库单主
@@ -225,8 +227,7 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
} }
// 更新单据状态为已审核2 // 更新单据状态为已审核2
stockIo.setStatus(2); stockIo.setStatus(2);
baseMapper.updateById(stockIo); return baseMapper.updateById(stockIo) > 0;
return true;
} }
/** /**
@@ -360,5 +361,18 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
stock.setQuantity(newQty); stock.setQuantity(newQty);
stockMapper.updateById(stock); stockMapper.updateById(stock);
} }
// 记录库存变更日志
WmsStockLog log = new WmsStockLog();
log.setWarehouseId(warehouseId);
log.setItemType(itemType);
log.setItemId(itemId);
// 变动数量(正=入库,负=出库)
log.setChangeQty(isAdd ? quantity : quantity.negate());
// 变动后的库存数量
log.setAfterQty(stock.getQuantity());
// 变动类型(入库/出库等)
log.setChangeType(isAdd ? "入库" : "出库");
log.setChangeTime(new Date());
stockLogMapper.insert(log);
} }
} }