feat: 完成客户第12条需求+多系统改造

1. 新增预警表添加工单号字段,支持按工单号检索预警
2. 添加工单过滤在制品/绩效报表/预警中心查询
3. 补全WMS台账字段口径与权限配置
4. 修复备料单与数量不符处理流程
5. 新增配送进度/库位联动/自动出库功能
6. 修复AGV配送状态更新逻辑
7. 优化退料与库存管理细节
This commit is contained in:
SunYF
2026-09-19 17:04:58 +08:00
parent 62e45b7379
commit 05b0b8a909
89 changed files with 7912 additions and 429 deletions
+22
View File
@@ -121,6 +121,28 @@ var schemaPatchSQL = []string{
`ALTER TABLE work_order ADD COLUMN IF NOT EXISTS due_date timestamp`,
`ALTER TABLE workpiece_process ADD COLUMN IF NOT EXISTS duration_sec integer NOT NULL DEFAULT 0`,
// 客户第12条「记录查看加一项看工单号查询」:预警表补工单号,供预警中心按工单号检索
`ALTER TABLE alert ADD COLUMN IF NOT EXISTS order_no varchar(64) NOT NULL DEFAULT ''`,
// 出库与配送闭环改造(2026-09-19):拆开被污染的账本字段 + 数量不符处理侧 + 补料来源
// material_requestreceived_* 拆出「已接料量」(sent_qty 锁定为已发出量=幂等基准,唯一写者=自动出库)
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS received_qty double precision NOT NULL DEFAULT 0`,
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS received_at bigint NOT NULL DEFAULT 0`,
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS receive_by varchar(64) NOT NULL DEFAULT ''`,
// 来源标记:PLAN=按日排产备料 / REFILL=工位叫料·数量不符补发(补料优先出库)
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS source varchar(16) NOT NULL DEFAULT 'PLAN'`,
// 超 BOM 需求放行留痕:超量与原因(损耗/报废/返修/其他),自动出库不填=不超领
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS over_qty double precision NOT NULL DEFAULT 0`,
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS over_reason varchar(64) NOT NULL DEFAULT ''`,
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS ref_report_no varchar(64) NOT NULL DEFAULT ''`,
`ALTER TABLE material_request ADD COLUMN IF NOT EXISTS need_agv boolean NOT NULL DEFAULT false`,
// material_qty_report:处理侧字段(补发=生成 REFILL 备料单;退库=WMS 退库单;调整=仅关闭)
`ALTER TABLE material_qty_report ADD COLUMN IF NOT EXISTS handle_type varchar(16) NOT NULL DEFAULT ''`,
`ALTER TABLE material_qty_report ADD COLUMN IF NOT EXISTS handle_doc_no varchar(64) NOT NULL DEFAULT ''`,
`ALTER TABLE material_qty_report ADD COLUMN IF NOT EXISTS handle_note varchar(255) NOT NULL DEFAULT ''`,
`ALTER TABLE material_qty_report ADD COLUMN IF NOT EXISTS handled_by varchar(64) NOT NULL DEFAULT ''`,
`ALTER TABLE material_qty_report ADD COLUMN IF NOT EXISTS handled_at bigint NOT NULL DEFAULT 0`,
// 工位内置标识 + 是否有接驳台(实体位置由内置数据给定,页面不可手改)
`ALTER TABLE station ADD COLUMN IF NOT EXISTS is_builtin boolean NOT NULL DEFAULT false`,
`ALTER TABLE station ADD COLUMN IF NOT EXISTS has_dock boolean NOT NULL DEFAULT false`,