添加库存数量大于零的查询条件

在StockController的list和warning方法以及DashboardServiceImpl的
getExpiryWarning方法中添加了.gt(Stock::getQuantity, 0)条件,
避免返回无库存记录的药品信息

feat(stock-in): 实现出库单详情中的药品名称显示功能

在StockInController中注入medicineService,并在getById方法中
通过流式处理将药品ID映射为药品名称,填充到出库详情中

feat(stock-out): 实现出库单详情中的药品名称显示功能

在StockOutController中注入medicineService,并在getById方法中
通过流式处理将药品ID映射为药品名称,填充到出库详情中

refactor(stock-out): 优化出库库存检查逻辑并实现FIFO扣减

将原有的简单库存总量检查改为按批次和仓库精确检查,
实现先进先出(FIFO)的库存扣减策略,确保先过期的药品优先出库

feat(frontend): 提交表单时计算并包含明细总价字段

在StockInForm和StockOutForm中修改提交逻辑,为每个详情项
计算totalPrice字段,确保后端接收到完整的金额信息
This commit is contained in:
2026-07-07 09:47:09 +08:00
parent cc3c1aba96
commit 23411ea1b5
7 changed files with 47 additions and 23 deletions

View File

@@ -32,7 +32,8 @@ async function handleSubmit() {
if (!form.supplierId) { ElMessage.warning('请选择供应商'); return }
if (!details.value.length) { ElMessage.warning('请添加药品明细'); return }
updateTotal()
await createStockIn({ ...form, details: details.value, totalAmount: totalAmount.value })
const submitDetails = details.value.map(d => ({ ...d, totalPrice: d.costPrice * d.quantity }))
await createStockIn({ ...form, details: submitDetails, totalAmount: totalAmount.value })
ElMessage.success('入库单已创建,等待审核')
router.push('/stock-in/list')
}

View File

@@ -42,7 +42,9 @@ async function handleSubmit() {
if (!form.customerId) { ElMessage.warning('请选择客户'); return }
if (!details.value.length) { ElMessage.warning('请添加药品明细'); return }
updateTotal()
await createStockOut({ ...form, details: details.value, totalAmount: totalAmount.value })
// 补齐每条明细的 totalPrice
const submitDetails = details.value.map(d => ({ ...d, totalPrice: detailTotal(d) }))
await createStockOut({ ...form, details: submitDetails, totalAmount: totalAmount.value })
ElMessage.success('出库单已创建,等待审核')
router.push('/stock-out/list')
}