feat(stock): 优化库存更新逻辑并添加库存日志记录功能- 在 WmsStockIoServiceImpl 中引入 WmsStockLogMapper
- 修改 updateStatus 方法,使用更可靠的更新条件 - 在 stockUpdate 中添加库存日志记录功能
This commit is contained in:
@@ -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直接入库,无需审核整单
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user