139 lines
4.0 KiB
Plaintext
139 lines
4.0 KiB
Plaintext
syntax = "v1"
|
|
|
|
import (
|
|
"base.api"
|
|
)
|
|
|
|
type (
|
|
// 人工交互信息(对齐 frontend-api.md 第 9 节)
|
|
ManualAction {
|
|
Id int `json:"id"`
|
|
ActionType string `json:"actionType"`
|
|
Status string `json:"status"`
|
|
OrderId int `json:"orderId"`
|
|
JobId int `json:"jobId"`
|
|
WorkpieceNo string `json:"workpieceNo,optional"`
|
|
EquipmentId int `json:"equipmentId"`
|
|
Context interface{} `json:"context,omitempty"`
|
|
ResolvedAction string `json:"resolvedAction,omitempty"`
|
|
ResolvedBy string `json:"resolvedBy,omitempty"`
|
|
CreatedAt string `json:"createdAt"`
|
|
ResolvedAt string `json:"resolvedAt,omitempty"`
|
|
}
|
|
|
|
// 人工交互查询参数
|
|
QueryManualActionsReq {
|
|
PageReq
|
|
SortReq
|
|
ActionType string `form:"actionType,optional"`
|
|
Resolved *bool `form:"resolved,optional"`
|
|
StartTime *int64 `form:"startTime,optional"`
|
|
EndTime *int64 `form:"endTime,optional"`
|
|
}
|
|
|
|
// 人工交互查询响应
|
|
QueryManualActionsReply {
|
|
PageReply
|
|
Data []ManualAction `json:"data"`
|
|
}
|
|
|
|
// 扫码失败处理请求
|
|
ResolveScanFailedReq {
|
|
PathId
|
|
Action string `json:"action"` // RETRY_SCAN | RETURN_BAY | SCRAP
|
|
Remark string `json:"remark,optional"`
|
|
}
|
|
|
|
// 扫码失败处理响应
|
|
ResolveScanFailedReply {
|
|
Id int `json:"id"`
|
|
Status string `json:"status"`
|
|
ResolvedAction string `json:"resolvedAction"`
|
|
ResolvedAt int64 `json:"resolvedAt"`
|
|
}
|
|
|
|
// L3 恢复确认请求
|
|
ConfirmRecoveryReq {
|
|
PathId
|
|
Decision string `json:"decision"` // RESUME | WAIT_UNLOAD | SUSPEND | SCRAP
|
|
ConfirmedPosition string `json:"confirmedPosition,optional"`
|
|
Remark string `json:"remark,optional"`
|
|
}
|
|
|
|
// L3 恢复确认响应
|
|
ConfirmRecoveryReply {
|
|
OrderId int `json:"orderId"`
|
|
Decision string `json:"decision"`
|
|
NewStatus string `json:"newStatus"`
|
|
}
|
|
|
|
// 修复工件位置请求 (tempSlotNo/stepId 可选,不传则使用 job 当前值)
|
|
FixPositionReq {
|
|
JobId int `json:"jobId"`
|
|
TempSlotNo int `json:"tempSlotNo,optional"`
|
|
StepId string `json:"stepId,optional"`
|
|
PositionType string `json:"positionType"`
|
|
}
|
|
|
|
// 修复工件位置响应
|
|
FixPositionReply {
|
|
JobId int `json:"jobId"`
|
|
}
|
|
|
|
// 恢复作业信息
|
|
RecoveryJobInfo {
|
|
JobID int `json:"jobId"`
|
|
WorkpieceNo string `json:"workpieceNo"`
|
|
WorkOrderID int `json:"workOrderId"`
|
|
WorkOrderNo string `json:"workOrderNo"`
|
|
Status string `json:"status"`
|
|
PositionType string `json:"positionType"`
|
|
PositionRefID string `json:"positionRefId"`
|
|
TempSlotNo int `json:"tempSlotNo"`
|
|
CurrentStepID string `json:"currentStepId"`
|
|
CurrentStepName string `json:"currentStepName"`
|
|
DockNo int `json:"dockNo"`
|
|
DockSlotNo int `json:"dockSlotNo"`
|
|
ProductTypeID int `json:"productTypeId"`
|
|
Mismatch string `json:"mismatch,omitempty"`
|
|
}
|
|
// 查询恢复作业响应
|
|
QueryRecoveryJobsReply {
|
|
Data []RecoveryJobInfo `json:"data"`
|
|
}
|
|
// 完成恢复响应
|
|
CompleteRecoveryReply {
|
|
Success bool `json:"success"`
|
|
}
|
|
)
|
|
|
|
@server (
|
|
jwt: Auth
|
|
group: manual_action
|
|
prefix: /api/v1
|
|
)
|
|
service hougai-api {
|
|
@doc "查询人工交互列表"
|
|
@handler queryManualActions
|
|
get /manual-actions (QueryManualActionsReq) returns (QueryManualActionsReply)
|
|
|
|
@doc "处理扫码失败"
|
|
@handler resolveScanFailed
|
|
post /manual-actions/:id/resolve-scan-failed (ResolveScanFailedReq) returns (ResolveScanFailedReply)
|
|
|
|
@doc "确认 L3 恢复"
|
|
@handler confirmRecovery
|
|
post /recovery/actions/:id/confirm (ConfirmRecoveryReq) returns (ConfirmRecoveryReply)
|
|
|
|
@doc "修复工件位置"
|
|
@handler fixPosition
|
|
post /recovery/fix-position (FixPositionReq) returns (FixPositionReply)
|
|
|
|
@doc "查询恢复作业列表"
|
|
@handler queryRecoveryJobs
|
|
get /recovery/jobs returns (QueryRecoveryJobsReply)
|
|
|
|
@doc "完成恢复"
|
|
@handler completeRecovery
|
|
post /recovery/complete returns (CompleteRecoveryReply)
|
|
} |