refactor: 重构工艺工序相关命名与数据模型

1.  全局替换"工序"为"工艺"统一术语,包括页面文案、枚举、注释
2.  重构工单与工件工艺数据模型:
    - 新增工艺组合表flow_material作为备料/齐套唯一源头
    - 新增工位状态表station_state支持自主停单/恢复接单
    - 移除station_process派工表,改用工单工艺组合作为路线唯一源头
    - 替换processCode为flowId作为工艺关联标识
    - 重构工件当前进度字段为currentStationNo
3.  删除冗余的静态备份资源文件
4.  调整物料选择组件默认启用仅显示激活物料
5.  优化工单创建/编辑逻辑,新增工艺组合校验与保存
This commit is contained in:
SunYF
2026-09-22 11:32:29 +08:00
parent 932700ca65
commit d609ff8a9e
185 changed files with 8623 additions and 4501 deletions
+8 -8
View File
@@ -39,8 +39,8 @@ type MaterialRequest struct {
TargetDock string `json:"targetDock,omitempty"`
// 目标工位号(0=未指定)
StationNo int `json:"stationNo,omitempty"`
// 该物料所属装配工序(1~12)
ProcessCode int `json:"processCode,omitempty"`
// 该物料所属工艺ID(0=整线共用)
FlowId int `json:"flowId,omitempty"`
// 已发出量(分批出库累加;幂等基准,勿与已接料混用)
SentQty float64 `json:"sentQty,omitempty"`
// 已接料量(工位扫码接料累加)
@@ -79,7 +79,7 @@ func (*MaterialRequest) scanValues(columns []string) ([]any, error) {
values[i] = new(sql.NullBool)
case materialrequest.FieldReqQty, materialrequest.FieldSentQty, materialrequest.FieldReceivedQty, materialrequest.FieldOverQty:
values[i] = new(sql.NullFloat64)
case materialrequest.FieldID, materialrequest.FieldStationNo, materialrequest.FieldProcessCode, materialrequest.FieldReceivedAt:
case materialrequest.FieldID, materialrequest.FieldStationNo, materialrequest.FieldFlowId, materialrequest.FieldReceivedAt:
values[i] = new(sql.NullInt64)
case materialrequest.FieldRequestNo, materialrequest.FieldOrderNo, materialrequest.FieldPlanDate, materialrequest.FieldMaterialCode, materialrequest.FieldMaterialName, materialrequest.FieldUnit, materialrequest.FieldManageMode, materialrequest.FieldStatus, materialrequest.FieldTargetDock, materialrequest.FieldReceiveBy, materialrequest.FieldSource, materialrequest.FieldOverReason, materialrequest.FieldRefReportNo, materialrequest.FieldBatchNo, materialrequest.FieldOperator:
values[i] = new(sql.NullString)
@@ -172,11 +172,11 @@ func (_m *MaterialRequest) assignValues(columns []string, values []any) error {
} else if value.Valid {
_m.StationNo = int(value.Int64)
}
case materialrequest.FieldProcessCode:
case materialrequest.FieldFlowId:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field processCode", values[i])
return fmt.Errorf("unexpected type %T for field flowId", values[i])
} else if value.Valid {
_m.ProcessCode = int(value.Int64)
_m.FlowId = int(value.Int64)
}
case materialrequest.FieldSentQty:
if value, ok := values[i].(*sql.NullFloat64); !ok {
@@ -326,8 +326,8 @@ func (_m *MaterialRequest) String() string {
builder.WriteString("stationNo=")
builder.WriteString(fmt.Sprintf("%v", _m.StationNo))
builder.WriteString(", ")
builder.WriteString("processCode=")
builder.WriteString(fmt.Sprintf("%v", _m.ProcessCode))
builder.WriteString("flowId=")
builder.WriteString(fmt.Sprintf("%v", _m.FlowId))
builder.WriteString(", ")
builder.WriteString("sentQty=")
builder.WriteString(fmt.Sprintf("%v", _m.SentQty))