chore: init bj_power monorepo (dashboard/mes/wms/wms_client/workstation), clear subproject git metadata and align naming to folder names
This commit is contained in:
@@ -0,0 +1,219 @@
|
||||
syntax = "v1"
|
||||
|
||||
import (
|
||||
"base.api"
|
||||
)
|
||||
|
||||
type (
|
||||
// === 工站监控(对齐 frontend-api.md 7.2 节)===
|
||||
StationJobBrief {
|
||||
JobId int `json:"jobId"`
|
||||
WorkOrderId int `json:"workOrderId"`
|
||||
ProductTypeId int `json:"productTypeId"`
|
||||
Status string `json:"status"`
|
||||
PositionRefId string `json:"positionRefId"`
|
||||
CurrentStepId string `json:"currentStepId"`
|
||||
CurrentStepName string `json:"currentStepName"`
|
||||
}
|
||||
StationMonitorItem {
|
||||
Id string `json:"id"`
|
||||
Type string `json:"type"`
|
||||
Name string `json:"name"`
|
||||
Status string `json:"status"`
|
||||
HeartbeatOnline bool `json:"heartbeatOnline"`
|
||||
CurrentJobs []StationJobBrief `json:"currentJobs"`
|
||||
WaitingUnloadJobs []StationJobBrief `json:"waitingUnloadJobs"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
ActiveOrderSummary {
|
||||
OrderId int `json:"orderId"`
|
||||
OrderNo string `json:"orderNo"`
|
||||
Status string `json:"status"`
|
||||
ProductTypeId int `json:"productTypeId"`
|
||||
TotalJobs int `json:"totalJobs"`
|
||||
CompletedJobs int `json:"completedJobs"`
|
||||
ScrappedJobs int `json:"scrappedJobs"`
|
||||
}
|
||||
StationMonitorReply {
|
||||
Stations []StationMonitorItem `json:"stations"`
|
||||
ActiveOrders []ActiveOrderSummary `json:"activeOrders"`
|
||||
}
|
||||
// === 工单管理(对齐 frontend-api.md 第 5 节)===
|
||||
QueryWorkOrdersReq {
|
||||
PageReq
|
||||
SortReq
|
||||
Keyword string `form:"keyword,optional"`
|
||||
Statuses []string `form:"statuses,optional"`
|
||||
ProductTypeId int `form:"productTypeId,optional"`
|
||||
}
|
||||
CreateWorkOrderReq {
|
||||
ProductTypeId int `json:"productTypeId"`
|
||||
Quantity int `json:"quantity,optional"`
|
||||
WorkOrderNo string `json:"workOrderNo,optional"`
|
||||
Remark string `json:"remark,optional"`
|
||||
}
|
||||
CreateWorkOrderReply {
|
||||
Id int `json:"id"`
|
||||
}
|
||||
UpdateWorkOrderReq {
|
||||
PathId
|
||||
ProductTypeId int `json:"productTypeId,optional"`
|
||||
Quantity int `json:"quantity,optional"`
|
||||
WorkOrderNo string `json:"workOrderNo,optional"`
|
||||
Remark string `json:"remark,optional"`
|
||||
}
|
||||
RestoreWorkOrderReply {
|
||||
OrderId int `json:"orderId"`
|
||||
RestoredJobs int `json:"restoredJobs"`
|
||||
Level string `json:"level"`
|
||||
ManualRequired bool `json:"manualRequired"`
|
||||
Message string `json:"message,omitempty"`
|
||||
}
|
||||
// === 恢复扫描 ===
|
||||
RecoveryScanItem {
|
||||
OrderId int `json:"orderId"`
|
||||
Status string `json:"status"`
|
||||
Recoverable bool `json:"recoverable"`
|
||||
Grade string `json:"grade"`
|
||||
TotalJobs int `json:"totalJobs"`
|
||||
RestorableJobs int `json:"restorableJobs"`
|
||||
Reason string `json:"reason,omitempty"`
|
||||
}
|
||||
RecoveryScanReply {
|
||||
Items []RecoveryScanItem `json:"items"`
|
||||
}
|
||||
// === 工单信息 ===
|
||||
QueryWorkOrdersReply {
|
||||
PageReply
|
||||
Data []WorkOrderReply `json:"data"`
|
||||
}
|
||||
WorkOrderReply {
|
||||
Id int `json:"id"`
|
||||
No string `json:"no"`
|
||||
WorkOrderNo string `json:"workOrderNo"`
|
||||
ProductTypeId int `json:"productTypeId"`
|
||||
ProductTypeName string `json:"productTypeName"`
|
||||
ProductTypeCode string `json:"productTypeCode"`
|
||||
Quantity int `json:"quantity"`
|
||||
FinishedNum int `json:"finishedNum"`
|
||||
FailNum int `json:"failNum"`
|
||||
Status string `json:"status"`
|
||||
Source string `json:"source"`
|
||||
Remark string `json:"remark,omitempty"`
|
||||
CreatedTime string `json:"createdTime"`
|
||||
UpdatedTime string `json:"updatedTime"`
|
||||
CompletedTime string `json:"completedTime,omitempty"`
|
||||
}
|
||||
JobStatusCount {
|
||||
Status string `json:"status"`
|
||||
Count int `json:"count"`
|
||||
}
|
||||
WorkOrderDetailReply {
|
||||
WorkOrderReply
|
||||
ProductTypeName string `json:"productTypeName"`
|
||||
RecipeName string `json:"recipeName,omitempty"`
|
||||
JobStats []JobStatusCount `json:"jobStats"`
|
||||
TotalJobs int `json:"totalJobs"`
|
||||
}
|
||||
// === 任务日志(对齐 frontend-api.md 8.4 节)===
|
||||
QueryTaskLogsReq {
|
||||
PageReq
|
||||
SortReq
|
||||
JobId int `form:"jobId,optional"`
|
||||
Status string `form:"status,optional"`
|
||||
TaskKind string `form:"taskKind,optional"`
|
||||
StartTime string `form:"startTime,optional"`
|
||||
EndTime string `form:"endTime,optional"`
|
||||
}
|
||||
QueryTaskLogsReply {
|
||||
PageReply
|
||||
Data []TaskLogReply `json:"data"`
|
||||
}
|
||||
TaskLogReply {
|
||||
Id int `json:"id"`
|
||||
WorkOrderId int `json:"workOrderId"`
|
||||
JobId int `json:"jobId"`
|
||||
StepId string `json:"stepId"`
|
||||
StepName string `json:"stepName"`
|
||||
TaskKind string `json:"taskKind"`
|
||||
Status string `json:"status"`
|
||||
Content string `json:"content"`
|
||||
DurationMs int64 `json:"durationMs"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
}
|
||||
)
|
||||
|
||||
@server (
|
||||
jwt: Auth
|
||||
group: workorder
|
||||
prefix: /api/v1
|
||||
)
|
||||
service spherical-api {
|
||||
@doc "工站监控"
|
||||
@handler stationMonitor
|
||||
get /stations/monitor returns (StationMonitorReply)
|
||||
|
||||
@doc "恢复扫描"
|
||||
@handler scanRecovery
|
||||
get /work-orders/recovery/scan returns (RecoveryScanReply)
|
||||
|
||||
@doc "查询工单分页列表"
|
||||
@handler queryWorkOrders
|
||||
get /work-orders (QueryWorkOrdersReq) returns (QueryWorkOrdersReply)
|
||||
|
||||
@doc "查询任务日志分页列表"
|
||||
@handler queryTaskLogs
|
||||
get /work-orders/:id/task-logs (QueryTaskLogsReq) returns (QueryTaskLogsReply)
|
||||
|
||||
@doc "获取最新任务日志"
|
||||
@handler getLatestTaskLogs
|
||||
get /work-orders/logs/latest returns ([]TaskLogReply)
|
||||
|
||||
@doc "获取工单详情"
|
||||
@handler getWorkOrder
|
||||
get /work-orders/:id (PathId) returns (WorkOrderReply)
|
||||
|
||||
@doc "获取带工艺流程信息的工单详情"
|
||||
@handler getWorkOrderDetail
|
||||
get /work-orders/:id/detail (PathId) returns (WorkOrderDetailReply)
|
||||
|
||||
@doc "创建工单"
|
||||
@handler createWorkOrder
|
||||
post /work-orders (CreateWorkOrderReq) returns (CreateWorkOrderReply)
|
||||
|
||||
@doc "编辑工单"
|
||||
@handler updateWorkOrder
|
||||
put /work-orders/:id (UpdateWorkOrderReq)
|
||||
|
||||
@doc "开始工单"
|
||||
@handler startWorkOrder
|
||||
post /work-orders/:id/start (PathId)
|
||||
|
||||
@doc "暂停工单"
|
||||
@handler pauseWorkOrder
|
||||
post /work-orders/:id/pause (PathId)
|
||||
|
||||
@doc "恢复工单"
|
||||
@handler resumeWorkOrder
|
||||
post /work-orders/:id/resume (PathId)
|
||||
|
||||
@doc "断电恢复工单"
|
||||
@handler restoreWorkOrder
|
||||
post /work-orders/:id/restore (PathId) returns (RestoreWorkOrderReply)
|
||||
|
||||
@doc "取消工单"
|
||||
@handler cancelWorkOrder
|
||||
post /work-orders/:id/cancel (PathId)
|
||||
|
||||
@doc "停止工单"
|
||||
@handler stopWorkOrder
|
||||
post /work-orders/:id/stop (PathId)
|
||||
|
||||
@doc "删除工单"
|
||||
@handler deleteWorkOrder
|
||||
delete /work-orders/:id (PathId)
|
||||
|
||||
@doc "批量删除工单"
|
||||
@handler deleteWorkOrders
|
||||
delete /work-orders (BatchExecIds) returns (BatchExecReply)
|
||||
}
|
||||
Reference in New Issue
Block a user