单独修改状态接口
This commit is contained in:
@@ -238,6 +238,35 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
|
||||
return voList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新出入库单状态
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateStatus(Long stockIoId, Integer status) {
|
||||
WmsStockIo stockIo = baseMapper.selectById(stockIoId);
|
||||
if (stockIo == null) {
|
||||
throw new ServiceException("单据不存在");
|
||||
}
|
||||
|
||||
// 状态流转验证
|
||||
if (stockIo.getStatus() == 0 && status == 1) {
|
||||
// 草稿 -> 已提交:需要检查是否有明细
|
||||
List<WmsStockIoDetail> details = stockIoDetailMapper.selectList(
|
||||
Wrappers.<WmsStockIoDetail>lambdaQuery().eq(WmsStockIoDetail::getStockIoId, stockIoId)
|
||||
);
|
||||
if (details == null || details.isEmpty()) {
|
||||
throw new ServiceException("单据明细不能为空,无法提交");
|
||||
}
|
||||
} else if (stockIo.getStatus() == 1 && status == 0) {
|
||||
// 已提交 -> 草稿:允许回退
|
||||
} else {
|
||||
throw new ServiceException("状态流转不允许");
|
||||
}
|
||||
|
||||
stockIo.setStatus(status);
|
||||
return baseMapper.updateById(stockIo) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 库存增减,isAdd=true为增加,false为减少,减少时校验库存是否足够
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user