杨前锦
5 小时以前 06a8b6963d6d4f229d4e196b4b09ce57e2cbf2dd
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/util/Settings.cs
@@ -20,11 +20,10 @@
        public static string WHCode { get; set; }
        public static string FacCode { get; set; }
        public static string NDCApiUrl { get; set; }
        public static List<BaseTrayBufferLoc> baseTrayBufferLocList { get; set; }
        public static string errorBufferArea { get; set; }
        public static string storeAreaCode { get; set; }
        public static List<AgvWaitLoc> agvWaitLocList { get; set; }
        public static List<AgvJBLoc> agvJBLocList { get; set; }
        public static List<DDJDeviceConfig> ddjDeviceConfig { get; set; }
        public static void Init() {
            LogHelper.Info("加载配置文件信息 开始");
@@ -60,14 +59,6 @@
                            {
                                agvWaitLocList = JsonConvert.DeserializeObject<List<AgvWaitLoc>>(keyValue.Value.ToString());
                            }
                            if (keyValue.Name == "AgvJBLoc")
                            {
                                agvJBLocList = JsonConvert.DeserializeObject<List<AgvJBLoc>>(keyValue.Value.ToString());
                            }
                            if (keyValue.Name == "baseTrayBufferLoc")
                            {
                                baseTrayBufferLocList = JsonConvert.DeserializeObject<List<BaseTrayBufferLoc>>(keyValue.Value.ToString());
                            }
                            if (keyValue.Name == "NDCApiUrl")
                            {
                                NDCApiUrl = keyValue.Value.ToString();
@@ -80,6 +71,10 @@
                            {
                                storeAreaCode = keyValue.Value.ToString();
                            }
                            if (keyValue.Name == "DDJDeviceConfig")
                            {
                                ddjDeviceConfig = JsonConvert.DeserializeObject<List<DDJDeviceConfig>>(keyValue.Value.ToString());
                            }
                        }
                    }
                }
@@ -88,6 +83,13 @@
            catch (Exception ex) {
                LogHelper.Error("加载配置文件失败!" + ex.Message, ex);
            }
        }
        public class DDJDeviceConfig
        {
            public string deviceNo { get; set; }
            public int roadway { get; set; }
            public int type { get; set; } // 类型 1.堆垛机 2.穿梭机
        }
        /// <summary>
@@ -107,55 +109,6 @@
        public static AgvWaitLoc getAgvWaitLoc(string locCode)
        {
            return agvWaitLocList.Where(a => a.loc == locCode).First();
        }
        /// <summary>
        /// 获取AGV接驳位
        /// </summary>
        /// <param name="roadway"></param>
        /// <param name="action"> 0.通用 1.入库 2.出库</param>
        /// <returns></returns>
        public static List<string> getAgvJBLocList( int roadway ,int action)
        {
            List<string> locCodes = new List<string>();
            var agvJbLocList = agvJBLocList.Where(a =>  a.roadway.Contains(roadway) && a.action == action).Select(a => a.locCode).ToList();
            if (agvJBLocList.Count > 0)
            {
                Dictionary<string, int> keyValuePairs = new Dictionary<string, int>();
                foreach (var loc in agvJbLocList)
                {
                    // DOTO 查询接驳位是否正常
                    var count = WCSHelper.GetTaskCountByStartAndEnd(loc);
                    keyValuePairs.Add(loc, count);
                }
                locCodes = keyValuePairs.OrderBy(a => a.Value).Select(a => a.Key).ToList();
            }
            return locCodes;
        }
        /// <summary>
        /// 获取AGV接驳位
        /// </summary>
        /// <param name="locCode"></param>
        /// <returns></returns>
        public static AgvJBLoc getAgvJBLoc( string locCode)
        {
            return agvJBLocList.Where(a => a.locCode == locCode).FirstOrDefault();
        }
        public class BaseTrayBufferLoc
        {
            public string bufferOutLoc { get; set; }
            public string bufferInLoc { get; set; }
        }
        public class AgvJBLoc
        {
            public string locCode { get; set; }
            public string name { get; set; }
            public List<int> roadway { get; set; }
            public int action { get; set; } // 1.入库 2.出库
        }
        public class AgvWaitLoc