自动化立体仓库 - WCS系统
野心家
2024-11-25 dcfa44798f2c01efdda47f7cfa0a9b5290c7f18d
新增历史档重新上报功能
4个文件已修改
107 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/TaskWrkLogController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/TaskLogScheduler.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/taskWrkLog/taskWrkLog.html 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
}
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完成或者取消任务上报wms"
                        , wmsUrl + TaskExecCallback
                        , null
@@ -99,10 +103,7 @@
                        , response
                        , bool
                );
            } catch (Exception e) {
                log.error("wcs手动完成任务上报wms失败{},返回值={}", taskWrk, response);
            }
        }
    }
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:
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>