zhaowc
2025-01-17 d1ecbc098962cfdcb1cf58abc06d16592fb3ce22
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -799,10 +799,10 @@
                    {
                        throw new Exception("托盘储位信息不存在,请检查!");
                    }
                    if (models.WareHouseNo != "W02")
                    {
                        throw new Exception("该托盘未在平库内,请检查!");
                    }
                    //if (models.WareHouseNo != "W02")
                    //{
                    //    throw new Exception("该托盘未在平库内,请检查!");
                    //}
                    var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == models.LocatNo);
                    if (storageLocat == null)
                    {
@@ -1065,12 +1065,13 @@
                };
                List<AgvSchedulingTask> agvTaskList = new List<AgvSchedulingTask>();
                Random r = new Random();
                long ran =DateTime.Now.Ticks;
                AgvSchedulingTask agvTask = new AgvSchedulingTask();
                agvTask.TaskCode = taskNo;
                Random r = new Random();
                long ran = DateTime.Now.Ticks;
                agvTask.ReqCode = ran.ToString();
                agvTask.TaskCode = taskNo;
                agvTask.TaskTyp = tasktype;
                agvTask.PositionCodePath = position;
                agvTask.CtnrTyp = "1";
@@ -1084,7 +1085,7 @@
                
                // 正式运行程序放开
                string str = "";
                var list2 = agvTaskList.Select(m => m.ReqCode).ToList();
                var list2 = agvTaskList.Select(m => m.TaskCode).ToList();
                var jsonData = JsonConvert.SerializeObject(agvTaskList);
                jsonData = jsonData.Substring(1, jsonData.Length - 1);
                jsonData = jsonData.Substring(0, jsonData.Length - 1);
@@ -1269,7 +1270,7 @@
                            break;
                    }
                    //缓存库位转换     3楼原辅料Y003_001,Y003_002,Y003_003  1楼Y138_001到Y138_021外包缓存区   1楼Y128_001到Y128_015内包缓存区
                    //缓存库位转换     3楼原辅料Y003_001到Y003_009  1楼Y138_001到Y138_021外包缓存区   1楼Y128_001到Y128_015内包缓存区
                    if (storageLocatEnd.AreaNo == "B12")
                    {
                        switch (EndLocat.ToString().Substring(4, 1))
@@ -1304,7 +1305,10 @@
                    };
                    AgvSchedulingTask agvTask = new AgvSchedulingTask();
                    agvTask.ReqCode = taskNo;
                    Random r = new Random();
                    long ran = DateTime.Now.Ticks;
                    agvTask.ReqCode = ran.ToString();
                    agvTask.TaskCode = taskNo;
                    agvTask.TaskTyp = tasktype;
                    agvTask.PositionCodePath = position;
@@ -1347,12 +1351,10 @@
                
                var IsTrue = false;
                while (IsTrue == true)
                {
                    // 正式运行程序放开
                    string str = "";
                    var list2 = agvTaskList.Select(m => m.ReqCode).ToList();
                    var list2 = agvTaskList.Select(m => m.TaskCode).ToList();
                    var jsonData = JsonConvert.SerializeObject(agvTaskList);
                    jsonData = jsonData.Substring(1, jsonData.Length - 1);
                    jsonData = jsonData.Substring(0, jsonData.Length - 1);
@@ -1371,7 +1373,7 @@
                            //更改任务的发送返回时间//
                            new TaskServer().EditTaskIssueOk(list2, time1, time2);
                            str += "下发成功";
                            IsTrue = true;
                            //IsTrue = true;
                        }
                        if (agvModel.Code == "1")
                        {
@@ -1383,7 +1385,7 @@
                    {
                        throw new Exception(ex.Message);
                    }
                }
                #endregion
@@ -1398,6 +1400,8 @@
            }
        }
        #region
        /// <summary>
        /// agv调度任务下发
        /// </summary>
@@ -1462,7 +1466,10 @@
            };
            AgvSchedulingTask agvTask = new AgvSchedulingTask();
            agvTask.ReqCode = taskno;         //agv请求编号,需要随机生成  (最大32位)
            Random r = new Random();
            long ran = DateTime.Now.Ticks;
            agvTask.ReqCode = ran.ToString();
            //agvTask.ReqCode = taskno;         //agv请求编号,需要随机生成  (最大32位)
            agvTask.TaskCode = taskno;         //任务号
            agvTask.TaskTyp = tasktype;           //搬运类型
            agvTask.PositionCodePath = position;      //起始和目的位集合
@@ -1475,14 +1482,38 @@
            agvTaskList.Add(agvTask);
            string str = "";
            var list2 = agvTaskList.Select(m => m.ReqCode).ToList();
            var list2 = agvTaskList.Select(m => m.TaskCode).ToList();
            var jsonData = JsonConvert.SerializeObject(agvTaskList);
            jsonData = jsonData.Substring(1, jsonData.Length-1);
            jsonData = jsonData.Substring(0, jsonData.Length - 1);
            var response = HttpHelper.DoPost(url, jsonData, "下发给AGV转运命令", "AGV");
            var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
            return agvModel;
            try
            {
                var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss")
                var response = HttpHelper.DoPost(url, jsonData, "下发给AGV转运命令", "AGV");
                //response = HttpHelper.DoPost(url, jsonData, "下发给AGV转运命令", "AGV");
                var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                //////解析返回数据
                var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
                if (agvModel.Code == "0")
                {
                    //更改任务的发送返回时间//
                    new TaskServer().EditTaskIssueOk(list2, time1, time2);
                    str += "下发成功";
                }
                if (agvModel.Code == "1")
                {
                    new TaskServer().EditTaskIssueNo(list2, time1, time2, agvModel.Message);
                    throw new Exception(agvModel.Message);
                }
                return agvModel;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
@@ -1494,8 +1525,11 @@
        {
            try
            {
                AgvCancelTask agvTaskList = new AgvCancelTask();
                agvTaskList.ReqCode = "006"; //随机生成
                AgvCancelTask agvTaskList = new AgvCancelTask();
                Random r = new Random();
                long ran = DateTime.Now.Ticks;
                agvTaskList.ReqCode = ran.ToString();
                //agvTaskList.ReqCode = "006"; //随机生成
                agvTaskList.TaskCode = taskno.ToString();
                //agvTaskList.ReqTime = DateTime.Now.ToString();
@@ -1517,6 +1551,8 @@
        }
        #endregion
        /// <summary>
        /// 根据区域分配储位
        /// </summary>