refactor(wms): 合并库存表为统一inventory,重构业务逻辑
1. 合并inventory_batch与serial_number为统一inventory表,用manage_mode区分结构件批次/精密件SN 2. 移除冗余的material_type字段与相关逻辑 3. 重构库存查询、检验、入库出库等业务逻辑适配新表结构 4. 调整前端路由与菜单,拆分基础数据为区域维护和物料档案 5. 优化入库校验逻辑,避免空单问题 6. 调整Vite构建配置,关闭自动清空输出目录 7. 为各模块添加详细中文注释,统一业务术语 8. 生成并更新Ent自动代码文件
This commit is contained in:
@@ -36,6 +36,13 @@ async function submitBatch() {
|
||||
ElMessage.warning('数量必须大于 0')
|
||||
return
|
||||
}
|
||||
// 管理粒度校验:精密件必须走 SN 入库页。
|
||||
// 否则后端因 snList 为空直接拒绝,历史上会在失败后残留一张无明细无库存的"空单"。
|
||||
const mat1 = materials.value.find(m => m.code === form1.materialCode)
|
||||
if (mat1 && Number(mat1.manageMode) === 2) {
|
||||
ElMessage.warning('该物料为精密件(按 SN 管理),请切换到「精密件 SN 入库」页扫码录入后再提交')
|
||||
return
|
||||
}
|
||||
submitting1.value = true
|
||||
try {
|
||||
const data = await request.post('/inbound/create', {
|
||||
@@ -95,6 +102,12 @@ async function submitSn() {
|
||||
ElMessage.warning('请先扫码录入 SN(输入后点击【录入到列表】)')
|
||||
return
|
||||
}
|
||||
// 管理粒度校验(反向):结构件按批次管理,不能带 SN 清单提交
|
||||
const mat2 = materials.value.find(m => m.code === form2.materialCode)
|
||||
if (mat2 && Number(mat2.manageMode) === 1) {
|
||||
ElMessage.warning('该物料为结构件(按批次管理),请切换到「结构件入库」页按数量入库')
|
||||
return
|
||||
}
|
||||
submitting2.value = true
|
||||
try {
|
||||
const data = await request.post('/inbound/create', {
|
||||
|
||||
Reference in New Issue
Block a user