|
|
@@ -245,13 +245,27 @@ export class TaskService implements OnModuleInit {
|
|
|
)
|
|
|
}
|
|
|
|
|
|
+ async queueCutting(id: number): Promise<void> {
|
|
|
+ const task = await this.taskRepository.findOneBy({ id })
|
|
|
+ if (task.status === TaskStatus.IDLE || task.status === TaskStatus.QUEUED || task.status === TaskStatus.PAUSE) {
|
|
|
+ await this.taskRepository.update({ id }, { status: TaskStatus.CUTTING })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async pauseTask(id: number): Promise<void> {
|
|
|
const task = await this.taskRepository.findOneBy({ id })
|
|
|
- if (task.status === TaskStatus.PENDING || task.status === TaskStatus.QUEUED) {
|
|
|
+ if (task.status === TaskStatus.PENDING || task.status === TaskStatus.QUEUED || task.status === TaskStatus.CUTTING) {
|
|
|
await this.taskRepository.update({ id }, { status: TaskStatus.PAUSE })
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ async forceCompletion(id: number): Promise<void> {
|
|
|
+ const task = await this.taskRepository.findOneBy({ id })
|
|
|
+ if (task.status === TaskStatus.PAUSE || task.status === TaskStatus.QUEUED) {
|
|
|
+ await this.taskRepository.update({ id }, { status: TaskStatus.COMPLETED })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async exportTaskItem(taskId: number) {
|
|
|
const workbook = new ExcelJS.Workbook()
|
|
|
const worksheet = workbook.addWorksheet('Sheet1')
|
|
|
@@ -764,6 +778,16 @@ export class TaskService implements OnModuleInit {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 插队任务
|
|
|
+ const cuttingTasks = await this.taskRepository.find({
|
|
|
+ where: {
|
|
|
+ status: TaskStatus.CUTTING
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (cuttingTasks.length > 0) {
|
|
|
+ tasks.push(...cuttingTasks)
|
|
|
+ }
|
|
|
+
|
|
|
const totalSend = tasks.reduce((acc, cur) => {
|
|
|
return acc + cur.total
|
|
|
}, 0)
|