wankeda
2025-04-07 4da42c12efde190b208f18b7dd51d3e89986837d
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/JobsPart/SendAgvTask.cs
@@ -30,66 +30,70 @@
        {
            try
            {
                var agvtask = _taskService.GetTasks();
                if (agvtask != null)
                List<Dt_Task> agvtasks = _taskService.GetTasks();
                foreach (Dt_Task agvtask in agvtasks)
                {
                    AGVTaskPend pend = new AGVTaskPend();
                    //pend.requestType = pend.requestType;
                    //pend.accessId = pend.accessId;
                    //pend.requestId = pend.requestId;
                    Pend data = new Pend();
                    TaskPend taskPend = new TaskPend();
                    if (agvtask != null)
                    {
                        taskPend.taskNo = agvtask.TaskNum.ToString();
                        taskPend.taskType = "MV";
                        DateTime date = DateTime.Now;
                        taskPend.taskDate = date.ToString("yyyy-MM-dd HH:mm:ss");
                        taskPend.taskState = "00";
                        taskPend.priority = "1";
                        taskPend.wareCode = "W01";
                        taskPend.docNo = "";
                        taskPend.sku = "";
                        taskPend.uom = "";
                        taskPend.qty = 0;
                        taskPend.trace = "";
                        taskPend.fmLoc = agvtask.SourceAddress.ToString();
                        taskPend.toLoc = agvtask.TargetAddress.ToString();
                        taskPend.udf01 = "";
                        taskPend.udf02 = "";
                    }
                    data.detail.Add(taskPend);
                    pend.data = data;
                        AGVTaskPend pend = new AGVTaskPend();
                        //pend.requestType = pend.requestType;
                        //pend.accessId = pend.accessId;
                        //pend.requestId = pend.requestId;
                        Pend data = new Pend();
                        TaskPend taskPend = new TaskPend();
                        {
                            taskPend.taskNo = agvtask.TaskNum.ToString();
                            taskPend.taskType = "MV";
                            DateTime date = DateTime.Now;
                            taskPend.taskDate = date.ToString("yyyy-MM-dd HH:mm:ss");
                            taskPend.taskState = "00";
                            taskPend.priority = "1";
                            taskPend.wareCode = "W01";
                            taskPend.docNo = "";
                            taskPend.sku = "";
                            taskPend.uom = "";
                            taskPend.qty = 0;
                            taskPend.trace = "";
                            taskPend.fmLoc = agvtask.SourceAddress.ToString();
                            taskPend.toLoc = agvtask.TargetAddress.ToString();
                            taskPend.udf01 = "";
                            taskPend.udf02 = "";
                        }
                        data.detail.Add(taskPend);
                        pend.data = data;
                    var time = new DateTimeOffset(DateTime.Now);
                    long timestampStr = time.ToUnixTimeMilliseconds();//时间戳
                    string appkeystr = "appsalt=" + AGVopenApi.appsalt + "&appkey=" + AGVopenApi.appkey;
                    string appkeyEcrypt = GetMD5Hex(appkeystr);
                    string origin = appkeyEcrypt + "&appsecret=" + AGVopenApi.appsecret + "&timestamp=" + timestampStr + "&uniquestr=" + timestampStr;
                    string signstr = GetMD5Hex(origin);
                    Dictionary<string, string> headers = new Dictionary<string, string>()
                        var time = new DateTimeOffset(DateTime.Now);
                        long timestampStr = time.ToUnixTimeMilliseconds();//时间戳
                        string appkeystr = "appsalt=" + AGVopenApi.appsalt + "&appkey=" + AGVopenApi.appkey;
                        string appkeyEcrypt = GetMD5Hex(appkeystr);
                        string origin = appkeyEcrypt + "&appsecret=" + AGVopenApi.appsecret + "&timestamp=" + timestampStr + "&uniquestr=" + timestampStr;
                        string signstr = GetMD5Hex(origin);
                        Dictionary<string, string> headers = new Dictionary<string, string>()
                    {
                        {"appkey",AGVopenApi.appkey },
                        {"timestamp",timestampStr.ToString() },
                        {"sign",signstr }
                    };
                    string posy = JsonConvert.SerializeObject(pend);
                    var respone = HttpHelper.Post(url, posy, headers: headers);
                    var res = JsonConvert.DeserializeObject<WebResponseContent>(respone);
                    if (res.Code == 200)
                    {
                        agvtask.Dispatchertime = DateTime.Now;
                        agvtask.TaskStatus = AGVTaskStatusEnum.AGV_SendOut.ObjToInt();
                        _taskService.UpdateData(agvtask);
                        Thread.Sleep(1000);
                        WriteLog.GetLog("无人叉车任务下发").Write("任务号:" + agvtask.TaskNum, "无人叉车任务下发");
                    }
                    else
                    {
                        //_unitOfWorkManage.RollbackTran();
                        content = WebResponseContent.Instance.Error($"{res.Message}");
                        WriteLog.GetLog("无人叉车任务下发失败").Write("任务号:" + agvtask.TaskNum + '\n' + "失败信息" + res.Message, "无人叉车任务下发失败");
                        string posy = JsonConvert.SerializeObject(pend);
                        var respone = HttpHelper.Post(url, posy, headers: headers);
                        var res = JsonConvert.DeserializeObject<WebResponseContent>(respone);
                        if (res.Code == 200)
                        {
                            agvtask.Dispatchertime = DateTime.Now;
                            agvtask.TaskStatus = AGVTaskStatusEnum.AGV_SendOut.ObjToInt();
                            _taskService.UpdateData(agvtask);
                            Thread.Sleep(1000);
                            WriteLog.GetLog("无人叉车任务下发").Write("任务号:" + agvtask.TaskNum, "无人叉车任务下发");
                        }
                        else
                        {
                            //_unitOfWorkManage.RollbackTran();
                            content = WebResponseContent.Instance.Error($"{res.Message}");
                            WriteLog.GetLog("无人叉车任务下发失败").Write("任务号:" + agvtask.TaskNum + '\n' + "失败信息" + res.Message, "无人叉车任务下发失败");
                        }
                    }
                }
            }
            catch (Exception ex)
            {