From 5a330280039cba2b96c137f990bebfc4cf57dc6b Mon Sep 17 00:00:00 2001 From: SunYF <123@hard_man.com> Date: Sat, 19 Sep 2026 17:43:14 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(database):=20=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=90=AF=E5=8A=A8=E6=97=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=A1=A8=E7=BB=93=E6=9E=84=E5=90=8C=E6=AD=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 serve 命令启动时自动执行数据库迁移,确保表结构同步 - 添加 AutoMigrate 调用防止源码列与数据库列不一致导致的运行时错误 - 保持幂等性,只创建新表或添加缺失列 - 移除多余的空行以改善代码格式 - 添加字符串包导入支持相关功能 ``` --- bj_power_mes/internal/logic/material.go | 7 ++++--- bj_power_mes/main.go | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bj_power_mes/internal/logic/material.go b/bj_power_mes/internal/logic/material.go index d950022..6839145 100644 --- a/bj_power_mes/internal/logic/material.go +++ b/bj_power_mes/internal/logic/material.go @@ -6,6 +6,7 @@ import ( "fmt" "sort" "strconv" + "strings" "time" "bj_power_mes/ent" @@ -400,8 +401,9 @@ func (s *Service) ListMaterialRequests(ctx context.Context, o MaterialRequestQue // ReceiveMaterialRequest 接料确认(两个入口共用:工位终端扫码接料 / MES 备料页人工点「已接料」)。 // // 字段口径(2026-09-19 定稿):写 receivedQty(已接料),**不再累加 sentQty**。 -// sentQty 已发出量 [写者:自动出库] —— 幂等基准「还需发多少 = reqQty − sentQty」 -// receivedQty 已接料量 [写者:本方法] —— 在途 = sentQty − receivedQty +// +// sentQty 已发出量 [写者:自动出库] —— 幂等基准「还需发多少 = reqQty − sentQty」 +// receivedQty 已接料量 [写者:本方法] —— 在途 = sentQty − receivedQty // // 上限 = 已发出量(工位只能接到仓库已发出来的料),不超接。 // qty<=0 表示「确认本批全部剩余」,适合扫码/一键接料;>0 为本次实收批次量。 @@ -446,7 +448,6 @@ func (s *Service) ReceiveMaterialRequest(ctx context.Context, requestNo string, return nil } - // SetMaterialRequestStatus 推进备料单状态(WMS 下发 AGV DELIVERING / 到位 DONE) func (s *Service) SetMaterialRequestStatus(ctx context.Context, requestNo, status string) error { n, err := s.ctx.EntClient.MaterialRequest.Update(). diff --git a/bj_power_mes/main.go b/bj_power_mes/main.go index b066f60..a49802b 100644 --- a/bj_power_mes/main.go +++ b/bj_power_mes/main.go @@ -149,6 +149,11 @@ func main() { return case "", "serve": // 正常启动服务 + // 启动时自动建表/补列(幂等):ent Schema.Create 只建新表,既有表新列走 schemaPatchSQL。 + // 之前 serve 不跑迁移导致「源码已加列、库里没有」的 42703 运行时报错(2026-09-19 实录)。 + if err := db.AutoMigrate(c.Database); err != nil { + panic(err) + } default: fmt.Println("未知命令: " + cmd + ";可用命令: migrate / reset-all / seed / serve") os.Exit(1)