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; }
|
}
|
}
|
}
|