From 36c6d6b39e2b76080480c5bc90a412d711b76144 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 19 六月 2024 15:54:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 97 insertions(+), 5 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
index dec5eff..bc93451 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,18 +8,24 @@
import com.zy.asrs.wcs.common.domain.BaseParam;
import com.zy.asrs.wcs.common.domain.KeyValVo;
import com.zy.asrs.wcs.common.domain.PageParam;
+import com.zy.asrs.wcs.core.entity.Motion;
+import com.zy.asrs.wcs.core.entity.MotionLog;
import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.entity.TaskLog;
+import com.zy.asrs.wcs.core.model.enums.TaskStsType;
+import com.zy.asrs.wcs.core.service.MotionLogService;
+import com.zy.asrs.wcs.core.service.MotionService;
+import com.zy.asrs.wcs.core.service.TaskLogService;
import com.zy.asrs.wcs.core.service.TaskService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@RestController
@RequestMapping("/api")
@@ -27,6 +33,12 @@
@Autowired
private TaskService taskService;
+ @Autowired
+ private TaskLogService taskLogService;
+ @Autowired
+ private MotionService motionService;
+ @Autowired
+ private MotionLogService motionLogService;
@PreAuthorize("hasAuthority('core:task:list')")
@PostMapping("/task/page")
@@ -98,4 +110,84 @@
ExcelUtil.build(ExcelUtil.create(taskService.list(), Task.class), response);
}
+ @PreAuthorize("hasAuthority('core:task:complete')")
+ @OperationLog("鎵嬪姩瀹屾垚浠诲姟")
+ @PostMapping("/task/complete/{id}")
+ @Transactional
+ public synchronized R complete(@PathVariable Long id) {
+ Task task = taskService.getById(id);
+ if (task == null) {
+ return R.error("浠诲姟涓嶅瓨鍦�");
+ }
+ switch (TaskStsType.query(task.getTaskSts())) {
+ case NEW_INBOUND:
+ case ANALYZE_INBOUND:
+ case EXECUTE_INBOUND:
+ task.setTaskSts(TaskStsType.COMPLETE_INBOUND.sts);
+ break;
+ case NEW_OUTBOUND:
+ case ANALYZE_OUTBOUND:
+ case EXECUTE_OUTBOUND:
+ task.setTaskSts(TaskStsType.COMPLETE_OUTBOUND.sts);
+ break;
+ case NEW_CHARGE:
+ case ANALYZE_CHARGE:
+ case EXECUTE_CHARGE:
+ task.setTaskSts(TaskStsType.CHARGE_WORKING.sts);
+ break;
+ case NEW_MOVE:
+ case ANALYZE_MOVE:
+ case EXECUTE_MOVE:
+ task.setTaskSts(TaskStsType.COMPLETE_MOVE.sts);
+ break;
+ case NEW_MANUAL:
+ case ANALYZE_MANUAL:
+ case EXECUTE_MANUAL:
+ task.setTaskSts(TaskStsType.COMPLETE_MANUAL.sts);
+ break;
+ default:
+ return R.error("褰撳墠鐘舵�佷笉鍙瀹屾垚");
+ }
+ task.setUpdateTime(new Date());
+ task.setUpdateBy(getLoginUserId());
+ if (!taskService.updateById(task)) {
+ return R.error("瀹屾垚澶辫触");
+ }
+ return R.ok("浠诲姟瀹屾垚");
+ }
+
+ @PreAuthorize("hasAuthority('core:task:cancel')")
+ @OperationLog("鎵嬪姩鍙栨秷浠诲姟")
+ @PostMapping("/task/cancel/{id}")
+ @Transactional
+ public synchronized R cancel(@PathVariable Long id) {
+ Task task = taskService.getById(id);
+ if (task == null) {
+ return R.error("浠诲姟涓嶅瓨鍦�");
+ }
+
+ //鍒涘缓鍘嗗彶妗�
+ TaskLog taskLog = new TaskLog();
+ taskLog.sync(task);
+ taskLog.setUpdateTime(new Date());
+ taskLog.setUpdateBy(getLoginUserId());
+ taskLog.setHostId(null);
+ taskLogService.save(taskLog);
+
+ List<Motion> motions = motionService.list(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId()));
+ for (Motion motion : motions) {
+ //鍒涘缓鍔ㄤ綔鍘嗗彶妗�
+ MotionLog motionLog = new MotionLog();
+ motionLog.sync(motion);
+ motionLog.setUpdateTime(new Date());
+ motionLogService.save(motionLog);
+ }
+
+ //鍒犻櫎婧愪换鍔�
+ taskService.removeById(task.getId());
+ //鍒犻櫎鍔ㄤ綔
+ motionService.remove(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId()));
+
+ return R.ok("鍙栨秷鎴愬姛");
+ }
}
--
Gitblit v1.9.1