using Newtonsoft.Json;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils
{
public class Consts
{
private const string CONFIG_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材资料检查";
public static string DATA_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材资料检查";
///
/// 线材端子号码管配对表(配CE端子).xlsm
///
public static string DATA_FILE_PATH_WIRE_TERMINAL = @"线材端子号码管配对表(配CE端子).xlsm";
///
/// 绝缘软套
///
public static string DATA_FILE_PATH_INSULATION = @"绝缘软套规格.xlsx";
public static string TEMPLATE_FILE_NAME = @"下单模板.xlsx";
#if DEBUG
public static string PLUGIN_DATA_FILE_PATH = @"\\192.168.1.160\体系内部资料\李韩波\Eplan\测试用数据表";
#else
public static string PLUGIN_DATA_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材选型";
#endif
public static string PLUGIN_DATA_FILE_NAME = "线材选型数据表.xlsx";
public static string PLUGIN_DATA_FILE_NAME_BOM = "BOM表.xlsx";
public static string PLUGIN_TEMPLATE_FILE_NAME = "下单定制线模板.xlsx";
public static string PLUGIN_MULTI_CORE_WIRE_FILE_NAME = "多芯线材选型数据.xlsx";
///
/// 线径平方规格匹配
///
public static readonly Regex regex = new("RV[\\d]+\\.?[\\d]*", RegexOptions.Compiled);
///
/// 变色套平方规格匹配
///
public static readonly Regex dRegex = new("V-[\\d]+\\.?[\\d]*", RegexOptions.Compiled);
///
/// 线径大小匹配(伺服电机线材选型)
///
public static readonly Regex InsulationRegex = new("(?:[T]{0,}RVV\\d×)(\\d\\.{0,}\\d+)(?:-2000W)?(-CE)?", RegexOptions.Compiled);
///
/// 括号内容匹配
///
public static readonly Regex regexParenthesesContent = new(@"(?<=\()[^)]*(?=\))", RegexOptions.Compiled);
public static void InitConfigs()
{
#if !DEBUG
var jsonObj = JsonConvert.DeserializeObject>(File.ReadAllText(Path.Combine(CONFIG_FILE_PATH, "config.json")));
if(jsonObj != null)
{
if (jsonObj.ContainsKey("DATA_FILE_PATH"))
{
DATA_FILE_PATH = jsonObj["DATA_FILE_PATH"];
Debug.WriteLine(DATA_FILE_PATH);
}
if (jsonObj.ContainsKey("DATA_FILE_PATH_WIRE_TERMINAL"))
{
DATA_FILE_PATH_WIRE_TERMINAL = jsonObj["DATA_FILE_PATH_WIRE_TERMINAL"];
Debug.WriteLine(DATA_FILE_PATH_WIRE_TERMINAL);
}
if (jsonObj.ContainsKey("DATA_FILE_PATH_INSULATION"))
{
DATA_FILE_PATH_INSULATION = jsonObj["DATA_FILE_PATH_INSULATION"];
Debug.WriteLine(DATA_FILE_PATH_INSULATION);
}
if (jsonObj.ContainsKey("TEMPLATE_FILE_NAME"))
{
TEMPLATE_FILE_NAME = jsonObj["TEMPLATE_FILE_NAME"];
Debug.WriteLine(TEMPLATE_FILE_NAME);
}
// 插件
if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_PATH"))
{
PLUGIN_DATA_FILE_PATH = jsonObj["PLUGIN_DATA_FILE_PATH"];
Debug.WriteLine(PLUGIN_DATA_FILE_PATH);
}
if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_NAME"))
{
PLUGIN_DATA_FILE_NAME = jsonObj["PLUGIN_DATA_FILE_NAME"];
Debug.WriteLine(PLUGIN_DATA_FILE_NAME);
}
if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_NAME_BOM"))
{
PLUGIN_DATA_FILE_NAME_BOM = jsonObj["PLUGIN_DATA_FILE_NAME_BOM"];
Debug.WriteLine(PLUGIN_DATA_FILE_NAME_BOM);
}
if (jsonObj.ContainsKey("PLUGIN_TEMPLATE_FILE_NAME"))
{
PLUGIN_TEMPLATE_FILE_NAME = jsonObj["PLUGIN_TEMPLATE_FILE_NAME"];
Debug.WriteLine(PLUGIN_TEMPLATE_FILE_NAME);
}
if (jsonObj.ContainsKey("PLUGIN_MULTI_CORE_WIRE_FILE_NAME"))
{
PLUGIN_MULTI_CORE_WIRE_FILE_NAME = jsonObj["PLUGIN_MULTI_CORE_WIRE_FILE_NAME"];
Debug.WriteLine(PLUGIN_MULTI_CORE_WIRE_FILE_NAME);
}
}
#endif
}
}
}