From dcfa44798f2c01efdda47f7cfa0a9b5290c7f18d Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 25 十一月 2024 16:40:10 +0800
Subject: [PATCH] 新增历史档重新上报功能

---
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java           |    9 ++--
 src/main/webapp/views/taskWrkLog/taskWrkLog.html               |   36 ++++++++++++++++++
 src/main/java/com/zy/asrs/controller/TaskWrkLogController.java |   60 +++++++++++++++++++++++++++++
 src/main/resources/application.yml                             |    2 
 4 files changed, 101 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
index c6a60b6..0096e15 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
@@ -1,25 +1,39 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.TaskWrkLog;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.TaskWrkLogService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
-
+@Slf4j
 @RestController
 public class TaskWrkLogController extends BaseController {
+
+    @Value("${wms.url}")
+    private String wmsUrl;
+    @Value("${wms.TaskExecCallback}")
+    private String TaskExecCallback;
+    @Autowired
+    private ApiLogService apiLogService;
 
     @Autowired
     private TaskWrkLogService taskWrkLogService;
@@ -121,4 +135,48 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/taskWrkLog/resubmitTheTask/auth")
+    @ManagerAuth(memo = "閲嶆柊涓婃姤浠诲姟瀹岀粨")
+    public R resubmitTheTask(@RequestParam String taskNo){
+        TaskWrkLog taskWrk = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("task_no", taskNo));
+        if(!Cools.isEmpty(taskWrk)){
+            HashMap<String, Object> headParam = new HashMap<>();
+            if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)) {//瀹屾垚
+                headParam.put("Result", 1);
+            } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
+                headParam.put("Result", 2);
+            }
+            String response = "";
+            Boolean bool = false;
+            try {
+                headParam.put("TaskNo", taskWrk.getTaskNo());
+                log.info("閲嶆柊涓婃姤浠诲姟瀹岀粨={}", taskWrk);
+                response = new HttpHandler.Builder()
+                        // .setHeaders(headParam)
+                        .setUri(wmsUrl)
+                        .setPath(TaskExecCallback)
+                        .setJson(JSON.toJSONString(headParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+
+                if(jsonObject.get("ReturnStatus").equals(0)){
+                    bool = true;
+                }
+            } catch (Exception e) {
+                log.error("閲嶆柊涓婃姤浠诲姟瀹岀粨澶辫触{},杩斿洖鍊�={}", taskWrk, response);
+            }finally {
+                apiLogService.save("閲嶆柊涓婃姤浠诲姟瀹岀粨"
+                        , wmsUrl + TaskExecCallback
+                        , null
+                        , "127.0.0.1"
+                        , JSON.toJSONString(headParam)
+                        , response
+                        , bool
+                );
+            }
+        }
+        return R.ok();
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index 9c371ff..30ce97c 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -69,6 +69,7 @@
                 headParam.put("Result", 2);
             }
             String response = "";
+            Boolean bool = false;
             try {
                 headParam.put("TaskNo", taskWrk.getTaskNo());
                 log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk);
@@ -80,7 +81,7 @@
                         .build()
                         .doPost();
                 JSONObject jsonObject = JSON.parseObject(response);
-                Boolean bool = false;
+
                 if(jsonObject.get("ReturnStatus").equals(0)){
                     TaskWrkLog taskWrkLog=new TaskWrkLog(taskWrk);
                     if(!wrkLogService.insert(taskWrkLog)){
@@ -91,6 +92,9 @@
                     }
                     bool = true;
                 }
+            } catch (Exception e) {
+                log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
+            }finally {
                 apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms"
                         , wmsUrl + TaskExecCallback
                         , null
@@ -99,10 +103,7 @@
                         , response
                         , bool
                 );
-            } catch (Exception e) {
-                log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
             }
-
         }
     }
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ef1b19f..3f61057 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://10.10.10.220:1433;databasename=rywxasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=rywxasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/webapp/views/taskWrkLog/taskWrkLog.html b/src/main/webapp/views/taskWrkLog/taskWrkLog.html
index 8a72146..e9c8892 100644
--- a/src/main/webapp/views/taskWrkLog/taskWrkLog.html
+++ b/src/main/webapp/views/taskWrkLog/taskWrkLog.html
@@ -43,6 +43,7 @@
 								<el-dropdown @command="(command)=>{handleCommand(command, scope.row)}">
 									<el-button icon="el-icon-more" size="mini" type="primary"></el-button>
 									<el-dropdown-menu slot="dropdown">
+										<el-dropdown-item command="resubmitTheTask">閲嶆柊涓婃姤浠诲姟瀹岀粨</el-dropdown-item>
 										<el-dropdown-item command="showCommand">鏌ョ湅鎸囦护</el-dropdown-item>
 									</el-dropdown-menu>
 								</el-dropdown>
@@ -165,6 +166,11 @@
 					},
 					handleCommand(command, row) {
 						switch (command) {
+
+							case "resubmitTheTask":
+								//閲嶆柊涓婃姤浠诲姟瀹岀粨
+								this.resubmitTheTask(row)
+								break;
 							case "showCommand":
 								//鏌ョ湅鎸囦护
 								this.showCommand(row)
@@ -184,6 +190,36 @@
 							success: function(layero, index) {}
 						});
 					},
+					resubmitTheTask(row){
+						//閲嶆柊涓婃姤浠诲姟瀹岀粨
+						let that = this
+						$.ajax({
+							url: baseUrl + "/taskWrkLog/resubmitTheTask/auth",
+							headers: {
+								'token': localStorage.getItem('token')
+							},
+							data: {
+								taskNo: row.taskNo
+							},
+							method: 'POST',
+							success: function(res) {
+								if (res.code == 200) {
+									that.$message({
+										message: "鍙栨秷鎴愬姛",
+										type: 'success'
+									});
+									that.getTableData()
+								} else if (res.code === 403) {
+									top.location.href = baseUrl + "/";
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error'
+									});
+								}
+							}
+						});
+					},
 				}
 			})
 		</script>

--
Gitblit v1.9.1