New file |
| | |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using static HH.WCS.Mobox3.FJJT.util.Settings; |
| | | |
| | | namespace HH.WCS.Mobox3.FJJT.util { |
| | | public class Settings { |
| | | public static string HostToAgvServerUrl { get; set; } |
| | | public static string HASeverUrl { get; set; } |
| | | public static string SqlServer { get; set; } |
| | | public static string SqlServer1 { get; set; } |
| | | public static string OracleServer { get; set; } |
| | | public static List<CarDeviceInfo> carDeviceInfos { get; set; } |
| | | public static List<LinePlcInfo> linePlcInfo { get; set; } |
| | | public static List<PlcValue> plcValue { get; set; } |
| | | public static List<AreaProperty> areaPropertyList { get; set; } |
| | | public static List<AreaRelevance> areaRelevanceList { get; set; } |
| | | |
| | | public static List<BufferLocConfig> bufferLocConfigList { get; set; } |
| | | public static int port { get; set; } |
| | | public static string WHCode { get; set; } |
| | | public static string FacCode { get; set; } |
| | | public static string NDCApiUrl { get; set; } |
| | | |
| | | |
| | | |
| | | public static void Init() { |
| | | LogHelper.Info("加载配置文件信息 开始"); |
| | | try { |
| | | var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "/config/config.json"; |
| | | using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile)) { |
| | | using (JsonTextReader reader = new JsonTextReader(file)) { |
| | | JObject o = (JObject)JToken.ReadFrom(reader); |
| | | foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties()) { |
| | | Console.WriteLine(keyValue.Name); |
| | | if (keyValue.Name == "HostToAgvServerUrl") { |
| | | HostToAgvServerUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "NDCApiUrl") { |
| | | NDCApiUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "HASeverUrl") { |
| | | HASeverUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "SqlServer") { |
| | | SqlServer = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "SqlServer1") { |
| | | SqlServer1 = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "OracleServer") |
| | | { |
| | | OracleServer = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "WHCode") { |
| | | WHCode = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "FacCode") { |
| | | FacCode = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "ApiPort") { |
| | | port = int.Parse(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "CarDeviceInfo") { |
| | | carDeviceInfos = JsonConvert.DeserializeObject<List<CarDeviceInfo>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "linePlcInfo") { |
| | | linePlcInfo = JsonConvert.DeserializeObject<List<LinePlcInfo>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "PlcValue") { |
| | | plcValue = JsonConvert.DeserializeObject<List<PlcValue>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "AreaProperty") |
| | | { |
| | | areaPropertyList = JsonConvert.DeserializeObject<List<AreaProperty>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "AreaRelevance") |
| | | { |
| | | areaRelevanceList = JsonConvert.DeserializeObject<List<AreaRelevance>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "BufferLocConfig") |
| | | { |
| | | bufferLocConfigList = JsonConvert.DeserializeObject<List<BufferLocConfig>>(keyValue.Value.ToString()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | LogHelper.Info("加载配置文件信息 完成"); |
| | | } |
| | | catch (Exception ex) { |
| | | LogHelper.Error("加载配置文件失败!" + ex.Message, ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询不同容器的存储库区 |
| | | /// </summary> |
| | | /// <param name="cntrType"></param> |
| | | /// <returns></returns> |
| | | public static List<string> getCntrAreaList(int cntrType) { |
| | | return areaPropertyList.Where(a => a.cntrType.Contains(cntrType)).Select(a => a.areaCode).ToList(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询存储库区 |
| | | /// </summary> |
| | | /// <param name="areaCode"></param> |
| | | /// <returns></returns> |
| | | public static List<string> getRelAreaCodes(string areaCode) |
| | | { |
| | | List<string> areaCodes = new List<string>(); |
| | | var areaRelevance = areaRelevanceList.Where(a => a.areaCode == areaCode).FirstOrDefault(); |
| | | if (areaRelevance != null) |
| | | { |
| | | areaCodes = areaRelevance.relAreaCode; |
| | | } |
| | | return areaCodes; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取直连缓存位配置 |
| | | /// </summary> |
| | | /// <param name="locCode"></param> |
| | | /// <returns></returns> |
| | | public static BufferLocConfig GetBufferLocConfig(string locCode) |
| | | { |
| | | return bufferLocConfigList.Where(a => a.locCode == locCode).FirstOrDefault(); |
| | | } |
| | | |
| | | public class BufferLocConfig |
| | | { |
| | | public string locCode { get; set; } |
| | | public string deviceNo { get; set; } |
| | | } |
| | | |
| | | public class AreaRelevance |
| | | { |
| | | public string areaCode { get; set; } |
| | | public List<string> relAreaCode { get; set; } |
| | | } |
| | | |
| | | public class AreaProperty |
| | | { |
| | | public string areaName { get; set; } |
| | | public string areaCode { get; set; } |
| | | public List<int> cntrType { get; set; } // 容器类型 1.胎面;2.胎侧;3.内衬;4.帘布;5.环带;6.冠带;7.钢包 |
| | | } |
| | | |
| | | public class CarDeviceInfo |
| | | { |
| | | public string address { get; set; } |
| | | public string deviceName { get; set; } |
| | | public string deviceNo { get; set; } |
| | | public int enable { get; set; } |
| | | } |
| | | public class TableName { |
| | | public string name { get; set; } |
| | | public string code { get; set; } |
| | | } |
| | | |
| | | public class LinePlcInfo { |
| | | public string code { get; set; } |
| | | public string location { get; set; } |
| | | public string deviceNo { get; set; } |
| | | public string address { get; set; } |
| | | public int writeAddr { get; set; } |
| | | public int readAddr { get; set; } |
| | | public string[] useAddrNo { get; set; } |
| | | public string inLoca { get; set; } |
| | | public string outLoca { get; set; } |
| | | public int enable { get; set; } |
| | | } |
| | | public class PlcValue { |
| | | public string address { get; set; } |
| | | public List<S7Model> read { get; set; } |
| | | public List<S7Model> write { get; set; } |
| | | } |
| | | public class S7Model { |
| | | /// <summary> |
| | | /// 偏移量 |
| | | /// </summary> |
| | | public int addr { get; set; } |
| | | /// <summary> |
| | | /// 类型 |
| | | /// </summary> |
| | | public string type { get; set; } |
| | | /// <summary> |
| | | /// 长度 |
| | | /// </summary> |
| | | public int length { get; set; } |
| | | /// <summary> |
| | | /// 值 |
| | | /// </summary> |
| | | public string value { get; set; } |
| | | } |
| | | } |
| | | } |