- MES(B): 工单/BOM/备料/工序字典/PLC下发/拧紧/扫码报工/半成品/AGV/追溯逻辑,WMS与海康RCS客户端,看板Redis缓存API(概览/设备/进度/报警/趋势)+SSE - WMS(C): JWT滑动续签、Excel导入、盘点、内部API、种子数据、独立Postgres配置 - WMS客户端(E): Go网关8891反向代理+内嵌Vue3十页 - 工位终端(D): SQLite本地缓存+模拟拧紧源+内嵌Vue3页面 - Dashboard(A): 看板数据改接MES内部缓存API,SSE实时刷新+vite代理 - 清理各项目球形磨遗留代码,新增部署手册.md
39 lines
729 B
Go
39 lines
729 B
Go
package svc
|
|
|
|
import (
|
|
"bj_power_wms/ent"
|
|
"bj_power_wms/internal/config"
|
|
"bj_power_wms/internal/db"
|
|
)
|
|
|
|
type ServiceContext struct {
|
|
Config config.Config
|
|
EntClient *ent.Client
|
|
}
|
|
|
|
func NewServiceContext(c config.Config) *ServiceContext {
|
|
entClient := db.MustNewDB(db.DatabaseConf{
|
|
Host: c.Postgres.Host,
|
|
Port: c.Postgres.Port,
|
|
User: c.Postgres.User,
|
|
Password: c.Postgres.Password,
|
|
Dbname: c.Postgres.DBName,
|
|
Debug: false,
|
|
})
|
|
|
|
// 启动时自动建表
|
|
if err := db.AutoMigrate(entClient); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// 首次启动预置基础数据
|
|
if err := db.SeedIfEmpty(entClient); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return &ServiceContext{
|
|
Config: c,
|
|
EntClient: entClient,
|
|
}
|
|
}
|