- 实体: DispatchCommand/DispatchExecution/DispatchTracking - Mapper: MyBatis-Plus + XML (含台账分页/详情/统计) - Service: 完整状态机 (draft→issued→received→executing→completed/rejected) - Controller: /api/production/dispatch-command (全生命周期API) - SQL DDL: 三表+索引 - 前端: CommandList/CommandDetail/CommandCreate (Vue3+TS+Element Plus) - 单元测试: DispatchCommandServiceTest + DispatchTrackingServiceTest
69 lines
1.8 KiB
TypeScript
69 lines
1.8 KiB
TypeScript
import request from './request'
|
|
|
|
const BASE = '/api/production/dispatch-command'
|
|
|
|
// 创建指令
|
|
export function createCommand(data: any) {
|
|
return request.post(BASE, data)
|
|
}
|
|
|
|
// 下发指令
|
|
export function issueCommand(id: number, issuedBy: number, operatorName?: string) {
|
|
return request.post(`${BASE}/${id}/issue`, null, {
|
|
params: { issuedBy, operatorName: operatorName || 'system' }
|
|
})
|
|
}
|
|
|
|
// 指令台账
|
|
export function listCommands(params: {
|
|
page?: number; size?: number; status?: string;
|
|
commandType?: string; keyword?: string; startDate?: string; endDate?: string
|
|
}) {
|
|
return request.get(BASE, { params })
|
|
}
|
|
|
|
// 指令详情
|
|
export function getCommandDetail(id: number) {
|
|
return request.get(`${BASE}/${id}`)
|
|
}
|
|
|
|
// 状态统计
|
|
export function getCommandStats() {
|
|
return request.get(`${BASE}/stats`)
|
|
}
|
|
|
|
// 接收确认
|
|
export function receiveCommand(id: number, userId: number, userName?: string) {
|
|
return request.post(`${BASE}/${id}/receive`, null, {
|
|
params: { userId, userName: userName || '' }
|
|
})
|
|
}
|
|
|
|
// 开始执行
|
|
export function startExecute(id: number, userId: number, userName?: string) {
|
|
return request.post(`${BASE}/${id}/start-execute`, null, {
|
|
params: { userId, userName: userName || '' }
|
|
})
|
|
}
|
|
|
|
// 完成执行
|
|
export function completeExecution(id: number, userId: number, data: {
|
|
userName?: string; feedback?: string; feedbackImages?: string
|
|
}) {
|
|
return request.post(`${BASE}/${id}/complete`, null, {
|
|
params: { userId, ...data }
|
|
})
|
|
}
|
|
|
|
// 驳回
|
|
export function rejectExecution(id: number, userId: number, reason: string, userName?: string) {
|
|
return request.post(`${BASE}/${id}/reject`, null, {
|
|
params: { userId, userName: userName || '', reason }
|
|
})
|
|
}
|
|
|
|
// 追踪日志
|
|
export function getTrackingLogs(id: number) {
|
|
return request.get(`${BASE}/${id}/tracking`)
|
|
}
|