Files
lserp_cs_6.0/插件库/Lskj.Model/ERPInfo.cs
T
cyf 52221cc693 SVN r1106
SVN-Revision: r1106
2026-01-30 07:52:21 +00:00

447 lines
13 KiB
C#

/******************************
* 说明:系统全局类
* 创建人:龚宇超
* 创建日期:2017-08-09
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
******************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Management;
using DevExpress.XtraTab;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace Lskj.Model
{
/// <summary>
/// 系统全局类
/// </summary>
public sealed class ERPInfo
{
private static ERPInfo _instance = null;
/// <summary>
/// ERPInfo静态单例对象
/// </summary>
/// <value>The instance.</value>
public static ERPInfo Instance
{
get
{
if (_instance == null)
{
_instance = new ERPInfo();
}
return _instance;
}
}
/// <summary>
/// 是否为超级管理员
/// </summary>
/// <value><c>true</c> if this instance is user manager; otherwise, <c>false</c>.</value>
public bool IsUserManager { get { return UserManager.Equals(UserName); } }
/// <summary>
/// 登录帐套
/// </summary>
public string AccountBook;
/// <summary>
/// 输入的密码
/// </summary>
public string InPassWord;
/// <summary>
/// 员工ID
/// </summary>
public string UserId;
/// <summary>
/// 员工编号
/// </summary>
public string LoginAccount;
/// <summary>
/// 员工姓名
/// </summary>
public string UserName;
/// <summary>
/// 密码
/// </summary>
public string Password;
/// <summary>
/// 菜单GroupId
/// </summary>
public string GroupId;
/// <summary>
/// 子系统
/// </summary>
public string SubSysId;
/// <summary>
/// 子系统名称
/// </summary>
public string SubSysName;
/// <summary>
/// 主界面page界面
/// </summary>
public XtraTabControl PageControl;
/// <summary>
/// 主界面page界面字典
/// </summary>
public Dictionary<string, DllModule> ModuleForms;
/// <summary>
/// 登录人联系电话
/// </summary>
public string UserLinkPhone;
/// <summary>
/// 主界面page界面
/// </summary>
public Form MainControl;
/// <summary>
/// 主页面焦点
/// </summary>
public PictureBox pic_search;
/// <summary>
/// 是否阻止回车事件
/// </summary>
public bool IsExecute = false;
/// <summary>
/// 登录IP
/// </summary>
public string LoginIP
{
get
{
try
{
return Dns.GetHostAddresses(WindowName)[0] + "";
}
catch (Exception)
{
}
return string.Empty;
}
}
/// <summary>
/// 登录IP
/// </summary>
public string LoginIPV4
{
get
{
try
{
string text = string.Empty;
IPAddress[] ip = Dns.GetHostAddresses(WindowName);
foreach (IPAddress address in ip)
{
if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
text = address + "";
}
}
return text;
}
catch (Exception)
{
}
return "";
}
}
/// <summary>
/// 用户电脑名
/// </summary>
public string WindowName
{
get { return Dns.GetHostName(); }
}
/// <summary>
/// 子系统数量
/// </summary>
public int SubMenuCount;
/// <summary>
/// 超级管理员
/// </summary>
public string UserManager = "管理员";
/// <summary>
/// 用户皮肤字段
/// </summary>
/// <value>The name of the skin.</value>
public string SkinFieldName = "SkinName";
/// <summary>
/// 默认新增判断行
/// </summary>
public string isAddRows = "xxxxx_isAddRows";
/// <summary>
/// 用户皮肤
/// </summary>
public string SkinName;
/// <summary>
/// 模块编号
/// </summary>
public string WorkModid;
/// <summary>
/// 当前选中的方案id
/// </summary>
/// <value>The mac address.</value>
public string SeriesId;
/// <summary>
/// 车间
/// </summary>
public string WorkCJ;
/// <summary>
/// 车间ID
/// </summary>
public string WorkCJId;
/// <summary>
/// 机台
/// </summary>
public string WorkJT;
/// <summary>
/// 机台ID
/// </summary>
public string WorkJTId;
/// <summary>
/// 班次
/// </summary>
public string WorkBZ;
/// <summary>
/// 班次ID
/// </summary>
public string WorkBZId;
/// <summary>
/// 班组
/// </summary>
public string ClassName;
/// <summary>
/// The work no
/// </summary>
public string WorkNo;
/// <summary>
/// 是否显示
/// </summary>
public static bool ShowMsg = true;
/// <summary>
/// 当前登录Mac地址
/// </summary>
/// <value>The mac address.</value>
public string MacAddress
{
get {
if (!string.IsNullOrWhiteSpace(RecordMAC)) return RecordMAC;
return GetMacAddress();
}
}
/// <summary>
/// 客户名称
/// </summary>
public string ClientName = "";
/// <summary>
/// 如果无法连接则后面不在继续连接了
/// </summary>
public bool bSmartClientIsOK = true;
/// <summary>
/// 文件升级ip
/// </summary>
public string UpdateIP = "";
/// <summary>
/// 登录结果
/// </summary>
public bool LoginResult = false;
/// <summary>
/// Mrp当前切换状态
/// </summary>
public string MrpTag = "";
/// <summary>
/// 记录本机MAC地址(只记录初始获取的,每次获取导致速度很慢)
/// </summary>
public string RecordMAC = "";
/// <summary>
/// 获取本机MAC地址
/// </summary>
/// <returns>本机MAC地址</returns>
string GetMacAddress()
{
try
{
string strMac = string.Empty;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"])
{
strMac = mo["MacAddress"].ToString();
string[] IPAddress = (string[])mo["IPAddress"];
if (IPAddress.Length > 0 && IPAddress[0].Equals(LoginIPV4))
{
break;
}
}
}
moc = null;
mc = null;
RecordMAC= strMac.Replace(":", "-");
return strMac.Replace(":", "-");
}
catch
{
return "";
}
}
/// <summary>
/// 加密狗id
/// </summary>
public int[] keyHandles = new int[8];
/// <summary>
/// 加密狗编号
/// </summary>
public int[] keyNumber = new int[8];
/// <summary>
/// 是否需要U盾密码验证
/// </summary>
public bool isDogVerifyPassword = true;
/// <summary>
/// U盾密码默认值
/// </summary>
public string dogVerifyPasswordDefault
{
get
{
byte[] bytes = new byte[256];
for (int i = 0; i < bytes.Length; i++)
{
bytes[i] = 255;
}
return Encoding.Default.GetString(bytes);
}
}
/// <summary>
/// 当前选中页签模块编号
/// </summary>
public string selectFormModleId;
#region 判断windows版本
[StructLayout(LayoutKind.Sequential)]
private struct OSVERSIONINFOEX
{
public int dwOSVersionInfoSize;
public int dwMajorVersion;
public int dwMinorVersion;
public int dwBuildNumber;
public int dwPlatformId;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public string szCSDVersion;
}
[DllImport("ntdll.dll", SetLastError = true)]
private static extern int RtlGetVersion(ref OSVERSIONINFOEX versionInfo);
private static OSVERSIONINFOEX GetOSVersion()
{
OSVERSIONINFOEX versionInfo = new OSVERSIONINFOEX();
versionInfo.dwOSVersionInfoSize = Marshal.SizeOf(typeof(OSVERSIONINFOEX));
int result = RtlGetVersion(ref versionInfo);
if (result != 0)
{
throw new Exception("Failed to get OS version");
}
return versionInfo;
}
public string SystemVersion
{
get
{
string systemVersion = "";
OSVERSIONINFOEX osVersionInfo = GetOSVersion();
// 判断具体的Windows版本
if (osVersionInfo.dwPlatformId == 2) // 2 is VER_PLATFORM_WIN32_NT
{
if (osVersionInfo.dwMajorVersion == 10)
{
systemVersion = "Windows 10 或 Windows 11";
}
else
{
switch (osVersionInfo.dwMajorVersion)
{
case 6:
switch (osVersionInfo.dwMinorVersion)
{
case 3:
systemVersion = "Windows 8.1";
break;
case 2:
systemVersion = "Windows 8";
break;
case 1:
systemVersion = "Windows 7";
break;
case 0:
systemVersion = "Windows Vista";
break;
}
break;
case 5:
switch (osVersionInfo.dwMinorVersion)
{
case 2:
systemVersion = "Windows Server 2003; Windows XP x64 Edition";
break;
case 1:
systemVersion = "Windows XP";
break;
case 0:
systemVersion = "Windows 2000";
break;
}
break;
default:
systemVersion = "未知版本";
break;
}
}
}
else
{
systemVersion = "非Windows NT系列操作系统";
}
return systemVersion;
}
}
#endregion
/// <summary>
/// 使用winfrom自带浏览器
/// </summary>
public bool PrimitiveBrowser;
/// <summary>
/// 当前程序使用的语言
/// </summary>
public string LanguageName;
/// <summary>
/// 是否改变存储过程参数类型(越南语要用Nvarchar)
/// </summary>
public bool ChangeParameterType
{
get
{
if (!string.IsNullOrWhiteSpace(this.LanguageName))
{
return true;
}
return false;
}