feat&refactor: 2026-09-22 半成品业务模型重构与功能完善

- 重构半成品流转逻辑:进度权威源改为 workpiece.currentStationNo,新增 completedText 快照字段,废除 doneProcessCodes
- 清理物料品类中半成品类型,存量数据幂等清理,调整物料管理方式文案为批次/序列号
- 新增日排产状态专用更新接口,修复工单工艺校验逻辑
- 新增物料档案代理接口、深路径文件下载接口
- 优化前端界面文案与工位选择逻辑,补充追溯页半成品流转展示
- 调整WMS端物料品类校验与入库接口契约
- 新增/更新数据库表结构与实体类代码
This commit is contained in:
SunYF
2026-09-22 14:42:52 +08:00
parent 09cfc6ca1c
commit d3eda6b588
49 changed files with 1155 additions and 1122 deletions
+13 -2
View File
@@ -22,8 +22,10 @@ type SemiFlow struct {
Sn string `json:"sn,omitempty"`
// OrderNo holds the value of the "orderNo" field.
OrderNo string `json:"orderNo,omitempty"`
// 已完成工序码
// 已完成工序码(已废除,历史数据保留)
DoneProcessCodes []int `json:"doneProcessCodes,omitempty"`
// 完成至工位快照(如:已完成至工位3;空=尚未报工)
CompletedText string `json:"completedText,omitempty"`
// Action holds the value of the "action" field.
Action string `json:"action,omitempty"`
// TargetDock holds the value of the "targetDock" field.
@@ -44,7 +46,7 @@ func (*SemiFlow) scanValues(columns []string) ([]any, error) {
values[i] = new([]byte)
case semiflow.FieldID:
values[i] = new(sql.NullInt64)
case semiflow.FieldSn, semiflow.FieldOrderNo, semiflow.FieldAction, semiflow.FieldTargetDock, semiflow.FieldOperator:
case semiflow.FieldSn, semiflow.FieldOrderNo, semiflow.FieldCompletedText, semiflow.FieldAction, semiflow.FieldTargetDock, semiflow.FieldOperator:
values[i] = new(sql.NullString)
case semiflow.FieldCreatedAt:
values[i] = new(sql.NullTime)
@@ -89,6 +91,12 @@ func (_m *SemiFlow) assignValues(columns []string, values []any) error {
return fmt.Errorf("unmarshal field doneProcessCodes: %w", err)
}
}
case semiflow.FieldCompletedText:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field completedText", values[i])
} else if value.Valid {
_m.CompletedText = value.String
}
case semiflow.FieldAction:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field action", values[i])
@@ -158,6 +166,9 @@ func (_m *SemiFlow) String() string {
builder.WriteString("doneProcessCodes=")
builder.WriteString(fmt.Sprintf("%v", _m.DoneProcessCodes))
builder.WriteString(", ")
builder.WriteString("completedText=")
builder.WriteString(_m.CompletedText)
builder.WriteString(", ")
builder.WriteString("action=")
builder.WriteString(_m.Action)
builder.WriteString(", ")