| | |
| | | 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("加载配置文件信息 开始"); |
| | |
| | | { |
| | | 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(); |
| | |
| | | { |
| | | storeAreaCode = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "DDJDeviceConfig") |
| | | { |
| | | ddjDeviceConfig = JsonConvert.DeserializeObject<List<DDJDeviceConfig>>(keyValue.Value.ToString()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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> |
| | |
| | | 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 |