From acb710a0689eb9953ca8ef4dbc88bd73f6d19084 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期三, 26 三月 2025 11:57:53 +0800
Subject: [PATCH] 任务状态获取接口

---
 src/main/java/com/whyc/service/TaskService.java               |    8 ++++
 src/main/java/com/whyc/service/WmsService.java                |   56 +++++++++++++++++++++++-----
 src/main/java/com/whyc/dto/TaskDto.java                       |   31 +++++++++++++++
 src/main/java/com/whyc/service/BattAlarmService.java          |    3 +
 src/main/java/com/whyc/controller/InterfaceWmsController.java |    7 ++-
 5 files changed, 92 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/whyc/controller/InterfaceWmsController.java b/src/main/java/com/whyc/controller/InterfaceWmsController.java
index 1d349fa..20f7ce5 100644
--- a/src/main/java/com/whyc/controller/InterfaceWmsController.java
+++ b/src/main/java/com/whyc/controller/InterfaceWmsController.java
@@ -1,6 +1,7 @@
 package com.whyc.controller;
 
 import com.whyc.dto.Response;
+import com.whyc.dto.TaskDto;
 import com.whyc.dto.WmsPalletDto;
 import com.whyc.pojo.db_wms.Task;
 import com.whyc.service.WmsService;
@@ -63,12 +64,12 @@
 
     /**
      * 鎻愪緵缁欑涓夋柟鐨勬帴鍙�,鐢ㄤ簬鎺ユ敹浠诲姟鐘舵��
-     * @param task
+     * @param taskDto
      * @return
      */
     @PostMapping("sendTaskStatus")
-    public Response sendTaskStatus(@RequestBody Task task){
-        return service.sendTaskStatus(task);
+    public Response sendTaskStatus(@RequestBody TaskDto taskDto){
+        return service.sendTaskStatus(taskDto);
     }
 
 }
diff --git a/src/main/java/com/whyc/dto/TaskDto.java b/src/main/java/com/whyc/dto/TaskDto.java
new file mode 100644
index 0000000..dd2ea40
--- /dev/null
+++ b/src/main/java/com/whyc/dto/TaskDto.java
@@ -0,0 +1,31 @@
+package com.whyc.dto;
+
+import lombok.Data;
+import lombok.ToString;
+
+/**
+ * 鍙傛暟璇存槑	瀛楁鍚嶇О	鍙傛暟绫诲瀷	瀛楁鎻忚堪
+ * 	task_no	String	浠诲姟缂栧彿
+ * 	task_type	int	浠诲姟绫诲瀷锛�1=鏅�氭惉杩愩��2=娲诲寲浠诲姟銆�3=缂撳瓨娴嬪帇浠诲姟銆�4=鍏ュ簱娴嬪帇浠诲姟銆�5=妫�娴嬫惉杩愪换鍔�
+ * 	start_location_code	String	璧风偣缂栧彿
+ * 	end_location_code	String	缁堢偣缂栧彿
+ * 	pallet	String	鐢垫睜缂栧彿,鍦ㄥ叆搴撴祴鍘嬩换鍔℃椂闇�瑕佹湁姝ゅ瓧娈�
+ * 	status	Int	鐘舵�侊細1=寮�濮嬪彇璐с��2=鍙栬揣瀹屾垚銆�4=鏀捐揣瀹屾垚锛�
+ * 11=寮�濮嬪彇娲诲寲鐢垫睜銆�12=鍙栧埌娲诲寲鐢垫睜銆�13=娲诲寲鐢垫睜鏀剧疆鍒版椿鍖栦粨鍐呫��14=寮�濮嬪彇娲诲寲缁撴潫鐨勭數姹犮��15=鍙栧埌娲诲寲缁撴潫鐨勭數姹犮��16=娲诲寲杩斿簱瀹屾垚锛�
+ * 21=寮�濮嬪彇娴嬪帇鐢垫睜銆�22=鍙栧埌娴嬪帇鐢垫睜銆�23=娴嬪帇鐢垫睜鏀剧疆鍒版椿鍖栦粨鍐呫��24=寮�濮嬪彇娴嬪帇缁撴潫鐨勭數姹犮��25=鍙栧埌娴嬪帇缁撴潫鐨勭數姹犮��26=娴嬪帇杩斿簱瀹屾垚
+ * 	status_time	DateTime	鑾峰彇status鏃剁殑瀵瑰簲鏃堕棿
+ */
+
+@ToString
+@Data
+public class TaskDto {
+
+    private String task_no;
+    private Integer task_type;
+    private String start_location_code;
+    private String end_location_code;
+    private String pallet;
+    private Integer status;
+    private String status_time;
+
+}
diff --git a/src/main/java/com/whyc/service/BattAlarmService.java b/src/main/java/com/whyc/service/BattAlarmService.java
index 8f22ae5..e4fef40 100644
--- a/src/main/java/com/whyc/service/BattAlarmService.java
+++ b/src/main/java/com/whyc/service/BattAlarmService.java
@@ -12,6 +12,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -53,6 +54,7 @@
         UpdateWrapper wrapper=new UpdateWrapper();
         wrapper.eq("num",num);
         wrapper.set("alm_confirm",1);
+        wrapper.set("alm_confirm_time",new Date());
         int flag=mapper.update((BattAlarm) ActionUtil.objeNull,wrapper);
         return new Response().set(1,flag>0);
     }
@@ -61,6 +63,7 @@
         UpdateWrapper wrapper=new UpdateWrapper();
         wrapper.eq("num",num);
         wrapper.set("alm_confirm",0);
+        wrapper.set("alm_confirm_time",null);
         int flag=mapper.update((BattAlarm) ActionUtil.objeNull,wrapper);
         return new Response().set(1,flag>0);
     }
diff --git a/src/main/java/com/whyc/service/TaskService.java b/src/main/java/com/whyc/service/TaskService.java
index 2a1ccec..ccdff1b 100644
--- a/src/main/java/com/whyc/service/TaskService.java
+++ b/src/main/java/com/whyc/service/TaskService.java
@@ -1,5 +1,7 @@
 package com.whyc.service;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.whyc.mapper.TaskMapper;
 import com.whyc.pojo.db_wms.Task;
 import org.springframework.stereotype.Service;
@@ -15,4 +17,10 @@
     public void add(Task task) {
         mapper.insert(task);
     }
+
+    public void update(Task task) {
+        UpdateWrapper<Task> update = Wrappers.update();
+        update.eq("task_no",task.getTaskNo());
+        mapper.update(task,update);
+    }
 }
diff --git a/src/main/java/com/whyc/service/WmsService.java b/src/main/java/com/whyc/service/WmsService.java
index 422fef7..2958988 100644
--- a/src/main/java/com/whyc/service/WmsService.java
+++ b/src/main/java/com/whyc/service/WmsService.java
@@ -5,13 +5,12 @@
 import com.whyc.pojo.db_wms.Task;
 import com.whyc.util.HttpUtil;
 import com.whyc.util.JsonUtil;
+import com.whyc.util.ThreadLocalUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 @Service
 public class WmsService {
@@ -108,15 +107,52 @@
         return response;
     }
 
-    public Response sendTaskStatus(Task task) {
-        //瀵规帴鏀跺埌鐨勪换鍔¤繘琛岄�昏緫鍒ゆ柇鍜屾暟鎹瓨鍌� TODO
-        /*String taskNo = task.getTaskNo();
+    public Response sendTaskStatus(TaskDto taskDto) {
+        Task task = new Task();
+        task.setTaskNo(taskDto.getTask_no());
+        task.setTaskType(taskDto.getTask_type());
+        task.setStartLocationCode(taskDto.getStart_location_code());
+        task.setEndLocationCode(taskDto.getEnd_location_code());
+
+        task.setStatus(taskDto.getStatus());
+        task.setStatusTime(ThreadLocalUtil.parse(taskDto.getStatus_time(),1));
+
+        //瀵规帴鏀跺埌鐨勪换鍔¤繘琛岄�昏緫鍒ゆ柇鍜屾暟鎹瓨鍌�
+        String taskNo = task.getTaskNo();
+        //taskType=4,鍏ュ簱娴嬪帇浠诲姟,杩欎釜涓轰粨鍌ㄨ嚜鍔ㄨЕ鍙戠殑浠诲姟,闈炰富鍔ㄥ钩鍙颁笅杈�,
+        // 闇�瑕佹墜鍔ㄦ坊鍔犱换鍔$被鍨�,鍜岀數姹犵粍缂栧彿
+        Integer taskType = task.getTaskType();
+        if(taskType == 4){
+            task.setDes(2);
+            task.setPallets(taskDto.getPallet());
+        }
         Integer status = task.getStatus();
-        if(status == 13 || status == 23){ //鐢垫睜鏀剧疆鍦ㄦ椿鍖栦粨鍐�
-            task.setExecuteTime(task.getStatusTime());
-        }else if(status == 14 || status == 24){
-            task.setExecuteEndTime(task.getStatusTime());
-        }*/
+        Date statusTime = task.getStatusTime();
+        switch (status){
+            case 1:
+            case 11:
+            case 21: task.setPickUpStartTime(statusTime);break;
+            case 2:
+            case 12:
+            case 22: task.setPickUpTime(statusTime);break;
+            case 13:
+            case 23: task.setActivationChamberStartTime(statusTime);break;
+            case 14:
+            case 24:
+                task.setActivationChamberPickUpTime(statusTime);break;
+            case 15:
+            case 25:
+                task.setActivationChamberEndTime(statusTime);break;
+            case 4:
+            case 16:
+            case 26:
+                task.setBackFinishTime(statusTime);
+                task.setEndTime(new Date());
+                break;
+            default:
+                throw new IllegalArgumentException("status瀛楁鏈畾涔�,鏃犳硶琚瘑鍒�: " + status);
+        }
+        taskService.update(task);
 
         return new Response().setII(1,"涓婃姤鐘舵�佸畬鎴�");
     }

--
Gitblit v1.9.1