- 在main.go中添加定时任务每10分钟同步可生产数量到WMS系统 - 为BomItem实体添加relatedStandard字段及相关CRUD方法 - 为InspectionRecord实体添加reportNo、materialCode、materialName等字段 - 更新ent schema确保新字段的验证和默认值设置 - 添加必要的数据库迁移和字段映射逻辑
30 lines
1.1 KiB
Go
30 lines
1.1 KiB
Go
package tightening
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
// Source 拧紧枪数据源接口。
|
|
//
|
|
// 真实拧紧枪(丹尼科尔)是 HID/网络输入设备:工件走到「需要拧紧枪」的工艺步骤时,
|
|
// 工位终端界面聚焦到该步骤的拧紧输入框,人工操作拧紧枪把采集到的扭矩值打入输入框回车,
|
|
// 前端随即 POST /api/tightening/record,按当前工件 SN + 工艺步骤落本地库并上报 MES。
|
|
// 因此拧紧数据由「工艺步骤 + 人工拧枪」驱动,不再需要后台自由产生模拟数据的源。
|
|
type Source interface {
|
|
Start(ctx context.Context)
|
|
}
|
|
|
|
// NetSource 丹尼科尔拧紧枪网络数据源占位。
|
|
// TODO 正式协议暂放:待拿到丹尼科尔协议文档后在此实现 TCP/UDP 报文解析,
|
|
// 解析出扭矩/角度后同样按当前工件的拧紧工艺步骤写入本地库(step_id 关联)。
|
|
type NetSource struct{}
|
|
|
|
var _ Source = (*NetSource)(nil)
|
|
|
|
func (n *NetSource) Start(ctx context.Context) {
|
|
logx.Info("拧紧枪网络数据源(占位)已启动,等待丹尼科尔协议接入")
|
|
<-ctx.Done()
|
|
}
|