+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Frmrecord
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj"
new file mode 100644
index 0000000..b457096
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj"
@@ -0,0 +1,116 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {1E93F173-47AA-41F5-8A34-04826DD0FEC0}
+ Library
+ Properties
+ GMIS.CommonRightBusinessRule
+ GMIS.CommonRightBusinessRule
+ v4.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\PublishDll\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\..\PublishDll\ConfigMy.dll
+
+
+ False
+ ..\..\PublishDll\createdmquery.dll
+
+
+ False
+ ..\..\PublishDll\Operation.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form
+
+
+
+
+
+ Code
+
+
+
+
+
+ FormMessage.cs
+
+
+ FrmKey.cs
+
+
+
+
+ {5498E1F7-B7FB-43FE-8781-65F7CC97CF12}
+ GMIS.CommonRightDataAccess
+
+
+ {CBF0D2F8-9728-471F-A19B-9549F186221C}
+ Gmis.Protection
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj.user" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj.user"
new file mode 100644
index 0000000..127ca4e
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/GMIS.CommonRightBusinessRule.csproj.user"
@@ -0,0 +1,6 @@
+
+
+
+ D:\CSharp\GitHub\GMIS\PublishDll\
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/MyBase.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/MyBase.cs"
new file mode 100644
index 0000000..0e9bfec
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/MyBase.cs"
@@ -0,0 +1,81 @@
+using System;
+using GMIS.CommonRightDataAccess;
+
+
+namespace GMIS.CommonRightBusinessRule
+{
+ ///
+ /// MyBase ժҪ˵:ֻܱ̳С
+ ///
+ public abstract class MyBase
+ {
+
+ public MyBase(string[] MyConnectInfo)
+ {
+ m_ConnectInfo=MyConnectInfo;
+ this.m_DataOper=new CDataOperator(m_ConnectInfo);
+ this.m_SqlBuilder=new CSqlBuilder();
+
+ }
+
+ public MyBase()
+ {}
+
+
+
+ #region
+
+ ///
+ /// ݿϢ
+ ///
+ private string[] m_ConnectInfo=new string[4] ; //ݿϢ
+ public string[] ConnectInfo
+ {
+ get
+ {
+ return m_ConnectInfo;
+ }
+ set
+ {
+ m_ConnectInfo=value;
+ }
+ }
+
+
+ ///
+ /// Sql乹
+ ///
+ private CSqlBuilder m_SqlBuilder; //SQL乹
+ public CSqlBuilder SqlBuilder
+ {
+ get
+ {
+ return m_SqlBuilder;
+ }
+ set
+ {
+ m_SqlBuilder=value;
+ }
+ }
+
+
+ ///
+ /// ݿ
+ ///
+ private CDataOperator m_DataOper; //ݲ
+ public CDataOperator DataOperator
+ {
+ get
+ {
+ return m_DataOper;
+ }
+ set
+ {
+ m_DataOper=value;
+ }
+ }
+
+ #endregion
+
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/ProfessionalEncryptDog.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/ProfessionalEncryptDog.cs"
new file mode 100644
index 0000000..238be0e
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/ProfessionalEncryptDog.cs"
@@ -0,0 +1,312 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using System.Runtime.InteropServices;
+
+namespace GMIS.CommonRightBusinessRule
+{
+ public class ProfessionalEncryptDog: MyBase
+ {
+ public const uint RY_SUCCESS = 0x00000000; // 操作成功
+ public const uint RY3_NETLOCK_SUCCESS = 0xF000001C; //返回成功,表示已经连接到了指定模块
+ public const uint RY3_NETLOCK_MAXCON = 0xF000001A; //连接数已满,表示将要连接的模块当前连接数已经等与它允许的最大连接数
+ public const uint RY3_NETLOCK_CONNECTED = 0xF000001D; //已经建立了连接,当前进程已经建立了与指定模块的连接
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_Find(string strVendorID, ref int iCount);
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_Read(uint handle, int offset, byte[] pOutbuf, int len);
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_Write(uint handle, int offset, string pInbuf, int len);
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_Open(ref uint hHandle, int iIndex);
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_GetFreeSize(uint handle, ref int pSize);
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_OpenNetMod(ref uint handle, uint mod_num); //打开网络锁模块
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_CloseNetMod(uint handle, uint mod_num); //得到网络锁模块,并关闭
+
+ [DllImport("NetRockey3Client.dll")]
+ public static extern uint RY3_Close(uint handle, bool IsReset);
+ //[DllImport("NetRockey3Client.dll")]
+ //public static extern uint RY3_GetHardID(uint handle, char* pbuf); //获取硬件序列号(输出16字节的字符串)
+
+ public static uint iRes = 0;
+ public static uint hHandle = 0;
+ public static string strtemp = "";
+
+ public static string PFProductName = "Philisense_GMISINFO_Standard_3.5_2012-10-01";
+ //版本号(专业版)
+ //public static string PFProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-01";
+ public static bool JiaMiDog()
+ {
+
+
+
+ int iCount = 0;
+ byte[] bDataBuf = new byte[128];
+
+ string sVendorID = "13920512";
+
+ //按VendorID查找Rockey3,VendorID为8个字节的字符串。
+ //找到该VendorID的Rockey3的个数返回到iCount中。
+ iRes = ProfessionalEncryptDog.RY3_Find(sVendorID, ref iCount);
+
+
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+
+ iRes = ProfessionalEncryptDog.RY3_Open(ref hHandle, 1);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ //uint model = ProfessionalEncryptDog.RY3_CloseNetMod(hHandle, 1);
+ //iRes = ProfessionalEncryptDog.RY3_OpenNetMod(ref hHandle, 1);
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+
+ //if (iRes == 0xF000001C) //if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ iRes = ProfessionalEncryptDog.RY3_Read(hHandle, 0, bDataBuf, PFProductName.Length);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ //if (iRes == 0xF0000025)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf);
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ if (strtemp == PFProductName)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ //MessageBox.Show(this, "加密狗读取成功!", "提示");
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Read Error:" + iRes);
+ //MessageBox.Show("加密狗读取失败!");
+ //Cursor = Cursors.Arrow;
+ return false;
+ }
+ }
+ //else
+ //{
+ // return false;
+ //}
+ }
+ else
+ {
+ // Console.WriteLine("RY3_Open Error:" + iRes);
+ //MessageBox.Show("加密狗打开失败!");
+ //this.Cursor = Cursors.Arrow;
+
+ return false;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Find Error:" + iRes);
+ ////Console.WriteLine();
+ ////GetHex(iRes);
+ //MessageBox.Show("加密狗不存在!");
+ //this.Cursor = Cursors.Arrow;
+
+ return false;
+ }
+ }
+
+ ///
+ /// 判断加密狗是否存在【登陆后 共享】(王科技2012-10-30)
+ ///
+ ///
+ ///
+ public static bool JiaMiDog(out bool JMG)
+ {
+ int iCount = 0;
+ byte[] bDataBuf = new byte[64];
+
+ string sVendorID = "13920512";
+ int iSize = 20;
+ //string ProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-010";
+
+ //按VendorID查找Rockey3,VendorID为8个字节的字符串。
+ //找到该VendorID的Rockey3的个数返回到iCount中。
+
+
+
+ iRes = ProfessionalEncryptDog.RY3_Find(sVendorID, ref iCount);
+
+
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+
+ iRes = ProfessionalEncryptDog.RY3_Open(ref hHandle, 1);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ iRes = ProfessionalEncryptDog.RY3_OpenNetMod(ref hHandle, 0);
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+ if (iRes == RY3_NETLOCK_SUCCESS || iRes == RY3_NETLOCK_CONNECTED)//
+ {
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+ //iRes = ProfessionalEncryptDog.RY3_GetFreeSize(hHandle, ref iSize);
+ iRes = ProfessionalEncryptDog.RY3_Read(hHandle, 0, bDataBuf, PFProductName.Length);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ //strtemp = System.Text.Encoding.Default.GetString(bDataBuf);
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ if (strtemp == PFProductName)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ //MessageBox.Show(this, "加密狗读取成功!", "提示");
+ JMG = true;
+ //return JMG;
+ }
+ else
+ {
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Read Error:" + iRes);
+ //MessageBox.Show("加密狗读取失败!");
+ //Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ JMG = false;
+ }
+ }
+ else
+ {
+ // Console.WriteLine("RY3_Open Error:" + iRes);
+ //MessageBox.Show("加密狗打开失败!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Find Error:" + iRes);
+ ////Console.WriteLine();
+ ////GetHex(iRes);
+ //MessageBox.Show("加密狗不存在!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ return JMG;
+ }
+
+ ///
+ /// 判断加密狗是否存在【登录时 私有】(王科技2012-10-30)
+ ///
+ ///
+ ///
+ public static bool JiaMiDogNow(out bool JMG)
+ {
+ int iCount = 0;
+ byte[] bDataBuf = new byte[64];
+
+ string sVendorID = "13920512";
+ int iSize = 20;
+ //string ProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-010";
+
+ //按VendorID查找Rockey3,VendorID为8个字节的字符串。
+ //找到该VendorID的Rockey3的个数返回到iCount中。
+
+
+
+ iRes = ProfessionalEncryptDog.RY3_Find(sVendorID, ref iCount);
+
+
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+
+ iRes = ProfessionalEncryptDog.RY3_Open(ref hHandle, 1);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ iRes = ProfessionalEncryptDog.RY3_OpenNetMod(ref hHandle, 0);
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+ if (iRes == RY3_NETLOCK_SUCCESS)
+ {
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+ //iRes = ProfessionalEncryptDog.RY3_GetFreeSize(hHandle, ref iSize);
+ iRes = ProfessionalEncryptDog.RY3_Read(hHandle, 0, bDataBuf, PFProductName.Length);
+ if (iRes == ProfessionalEncryptDog.RY_SUCCESS)
+ {
+ //strtemp = System.Text.Encoding.Default.GetString(bDataBuf);
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ if (strtemp == PFProductName)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, PFProductName.Length);
+ //MessageBox.Show(this, "加密狗读取成功!", "提示");
+ JMG = true;
+ //return JMG;
+ }
+ else
+ {
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Read Error:" + iRes);
+ //MessageBox.Show("加密狗读取失败!");
+ //Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ JMG = false;
+ }
+ }
+ else
+ {
+ // Console.WriteLine("RY3_Open Error:" + iRes);
+ //MessageBox.Show("加密狗打开失败!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Find Error:" + iRes);
+ ////Console.WriteLine();
+ ////GetHex(iRes);
+ //MessageBox.Show("加密狗不存在!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ return JMG;
+ }
+
+ public static void ColseService()
+ {
+ //ProfessionalEncryptDog.RY3_CloseNetMod(hHandle, 0);
+ ProfessionalEncryptDog.RY3_Close(hHandle, true);
+ }
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Properties/AssemblyInfo.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Properties/AssemblyInfo.cs"
new file mode 100644
index 0000000..f17b579
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Properties/AssemblyInfo.cs"
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的常规信息通过以下
+// 特性集控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("GMIS.CommonRightBusinessRule")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("GMIS.CommonRightBusinessRule")]
+[assembly: AssemblyCopyright("Copyright © 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 使此程序集中的类型
+// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
+// 则将该类型上的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("861f9cc8-5c93-4169-8964-cbe4ca918314")]
+
+// 程序集的版本信息由下面四个值组成:
+//
+// 主版本
+// 次版本
+// 内部版本号
+// 修订号
+//
+// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/RSAProtection.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/RSAProtection.cs"
new file mode 100644
index 0000000..30cbb07
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/RSAProtection.cs"
@@ -0,0 +1,35 @@
+using System;
+namespace GMIS.CommonRightBusinessRule
+{
+ ///
+ /// RSAProtection ժҪ˵
+ ///
+ public class RSAProtection
+ {
+ private RSAProtection()
+ {
+ }
+
+ private readonly static string RSAPublicKey=@"ykGHw0KFKgNtUJXawebJz0YliRida/zUudN4Rsxaahx/HJPH+CksHI22Wqf0R0cWOkDx4+m9/GQ6Gvg7WxdCkDDim166PFurc5H13eH8WcaReUy1z0g1uOJgGvOFRZw73anTdgWha7MucrVBtPAB2nOApC6jnRHxvxmRIY0N8mM=AQABwpJvpL9oOaulih77lCYHXec5q59AVy4DmwQR2DLB6iQKzeAs5f+/Tc6A09atUAkRIgU6a+mQ/QsKHYuAhTadhBl+HwoKohsbLki4ZQCbrgRQaszv2DN/pDhymWhtXfBwb351vicmDVMUplNUH9rmgrEg7WEiU9+s/qFW9QAXu+U=AQAB";
+ private readonly static string RSAPrivateKey=@"ykGHw0KFKgNtUJXawebJz0YliRida/zUudN4Rsxaahx/HJPH+CksHI22Wqf0R0cWOkDx4+m9/GQ6Gvg7WxdCkDDim166PFurc5H13eH8WcaReUy1z0g1uOJgGvOFRZw73anTdgWha7MucrVBtPAB2nOApC6jnRHxvxmRIY0N8mM=AQAB5gc+Vj/j3gLjsF68X7n3PffaBEQZpxryEGwgbJ5d2vsS1rGjI1d74VaxNnDxh1MImHKZgB+ZKtTMnq/z6jpdrw==
4ReNswbrz+X+mkKu3Su57fSocjX/Fuyic7NL0Peq/ICUHBt4EvI3WlUhKBBYdfQCNfAF515FzlQUx9H+f2R3jQ==
CNA4PDfAdE4qCSToFMbcSTyI1ucBEJ0Ar05lQ6QhtnUuOJmfxYfhkDWxHoPfTS8KQkUJypXrWW/D00SslMndsw==4E40ap8PBtHO8bJZxxT352TTJ10fopyVFm8pskfcIFuRPKEy+s5c0qvaqq3/OSu7uDxD5dhP/9hSDP36esCHUQ==jQNciSrxi8V9Zz7E9Q2ts9UKsMyP877jusDWXZnyGMTvCFETlPAzDuiVWi7fiAmV6NeINU1jTcr01spF2kFuvQ==nIm5bNu4OvsqCRvikv5vpXfyJzig5mpprmVIiusw8z2Y9+I8/AnJtVPNFj81plETmASZ8r7/Jy/fdO446liHT7f2MCs/yZZ2p4BgkNbLQbVnBhBraO1rpwQ35cC0KAFTj0V6qqAdkY0V0cky5dN12K5AHIyR3p5KIKSslNxE7Hk=wpJvpL9oOaulih77lCYHXec5q59AVy4DmwQR2DLB6iQKzeAs5f+/Tc6A09atUAkRIgU6a+mQ/QsKHYuAhTadhBl+HwoKohsbLki4ZQCbrgRQaszv2DN/pDhymWhtXfBwb351vicmDVMUplNUH9rmgrEg7WEiU9+s/qFW9QAXu+U=AQAB/1IDUf5PtpV5q4mnABLylUz0zq0cckwa1JW08JcqdK07E9UmrcSRPcO9l3pzrVgI6jMPGHJg1ux3gCQ+3fe06w==
wxcGw5ct9EniEMT+12zLqWtDNGJlQQ/Y0o1+kcNPzwo3NecR8/Pl/kTf0lgGMPoVBP5abjWUk0HEAVaxv0Zebw==
pbNvTjZzO3cVCLwEcyrY3wab1spIrPExdIhYbtBckG6g6cUrHhl1fZVcpUOmcXiyCHTsthv9N18uSy660knh0w==k186odf7Q/XoCyj1JgEunE3F17WYrZxt+ygd+7ih+lHKQTLLshCFph2bQodyLd9Mr5gA8g4RrWfZy/UUktxyiw==+L3p7kH0twE7O0zQlI0Kabjywp989tihZSRpmZXwswhWEwYWVNvcXetOS5VaFxJjtBAC9ozhQopCWpVynJ44ng==QwjWhAkZ7HyRnOONw33SneyS9uj37tFAlsCxMS5TlspyGnn4ngkdrL3PrqxQq7lj+LeaaCFhPXz3MDSmw76MR6Ke9cg/L52nTqPnrt+H63TFOgJJUyP0p9l4ZF/+9AfG+B2ZKUJN/h7Um6FvdHNv4MLcNS4paK/MS4eHcs9ns+U=";
+
+ internal static string Encrypt(string data)
+ {
+ Gmis.Protection.DataProtection rsaPro=new Gmis.Protection.DataProtection();
+ rsaPro.PublicKey=RSAPublicKey;
+ string strData=rsaPro.EncryptText(data);
+ return strData;
+ }
+
+
+
+ internal static string Decrypt(string fileName)
+ {
+
+ Gmis.Protection.DataProtection rsaPro=new Gmis.Protection.DataProtection();
+ rsaPro.Privatekey=RSAPrivateKey;
+ string strData=rsaPro.DecryptFile(fileName);
+ return strData;
+ }
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Rockey_H.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Rockey_H.txt"
new file mode 100644
index 0000000..fc67253
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/Rockey_H.txt"
@@ -0,0 +1,237 @@
+//
+#define RY_FIND 1 //
+#define RY_FIND_NEXT 2 //һ
+#define RY_OPEN 3 //
+#define RY_CLOSE 4 //ر
+#define RY_READ 5 //
+#define RY_WRITE 6 //д
+#define RY_RANDOM 7 //
+#define RY_SEED 8 //
+#define RY_WRITE_USERID 9 //дû ID
+#define RY_READ_USERID 10 //û ID
+#define RY_SET_MOUDLE 11 //ģ
+#define RY_CHECK_MOUDLE 12 //ģ״̬
+#define RY_WRITE_ARITHMETIC 13 //д㷨
+#define RY_CALCULATE1 14 // 1
+#define RY_CALCULATE2 15 // 2
+#define RY_CALCULATE3 16 // 3
+#define RY_DECREASE 17 //ݼģ鵥Ԫ
+
+//
+#define ERR_SUCCESS 0 //ûд
+#define ERR_NO_PARALLEL_PORT 1 //˻ûв
+#define ERR_NO_DRIVER 2 //ûװ
+#define ERR_NO_ROCKEY 3 //û Rockey
+#define ERR_INVALID_PASSWORD 4 // Rockey , (pass1, pass2)
+#define ERR_INVALID_PASSWORD_OR_ID 5 //Ӳ ID
+#define ERR_SETID 6 //Ӳ ID
+#define ERR_INVALID_ADDR_OR_SIZE 7 //дַ
+#define ERR_UNKNOWN_COMMAND 8 //ûд
+#define ERR_NOTBELEVEL3 9 //ڲ
+#define ERR_READ 10 //ݴ
+#define ERR_WRITE 11 //дݴ
+#define ERR_RANDOM 12 //
+#define ERR_SEED 13 //
+#define ERR_CALCULATE 14 //
+#define ERR_NO_OPEN 15 //ڲǰûд
+#define ERR_OPEN_OVERFLOW 16 //̫(>16)
+#define ERR_NOMORE 17 //Ҳ
+#define ERR_NEED_FIND 18 //û Find ֱ FindNext
+#define ERR_DECREASE 19 //ݼ
+
+#define ERR_AR_BADCOMMAND 20 //㷨ָ
+#define ERR_AR_UNKNOWN_OPCODE 21 //㷨
+#define ERR_AR_WRONGBEGIN 22 //㷨һָг
+#define ERR_AR_WRONG_END 23 //㷨һָг
+#define ERR_AR_VALUEOVERFLOW 24 //㷨гֵ > 63
+#define ERR_UNKNOWN 0xffff //δ֪
+
+#define ERR_RECEIVE_NULL 0x100 //ղ
+#define ERR_PRNPORT_BUSY 0x101 //ӡæ
+#define ERR_UNKNOWN_SYSTEM 0x102
+
+
+/* ʽ:
+(1)
+ :
+ function = 0
+ *p1 = pass1
+ *p2 = pass2
+ *p3 = pass3
+ *p4 = pass4
+ :
+ *lp1 ΪӲ ID
+ Ϊ 0 ʾɹ, Ϊ
+
+(2) һ
+ :
+ function = 1
+ *p1 = pass1
+ *p2 = pass2
+ *p3 = pass3
+ *p4 = pass4
+ :
+ *lp1 ΪӲ ID
+ Ϊ 0 ʾɹ, Ϊ
+
+(3)
+ :
+ function = 2
+ *p1 = pass1
+ *p2 = pass2
+ *p3 = pass3
+ *p4 = pass4
+ *lp1 = Ӳ ID
+ :
+ *handle Ϊľ
+ Ϊ 0 ʾɹ, Ϊ
+
+(4) ر
+ :
+ function = 3
+ *handle = ľ
+ :
+ Ϊ 0 ʾɹ, Ϊ
+
+(5)
+ :
+ function = 4
+ *handle = ľ
+ *p1 = pos
+ *p2 = length
+ buffer = ָ
+ :
+ buffer
+ Ϊ 0 ʾɹ, Ϊ
+
+(6) д
+ function = 5
+ *handle = ľ
+ *p1 = pos
+ *p2 = length
+ buffer = ָ
+ :
+ Ϊ 0 ʾɹ, Ϊ
+
+(7)
+ function = 6
+ *handle = ľ
+ :
+ *p1 =
+ Ϊ 0 ʾɹ, Ϊ
+
+(8)
+ function = 7
+ *handle = ľ
+ *lp2 =
+ :
+ *p1 = 1
+ *p2 = 2
+ *p3 = 3
+ *p4 = 4
+ Ϊ 0 ʾɹ, Ϊ
+
+(9) дû ID [*]
+ function = 8
+ *handle = ľ
+ *lp1 = û ID
+ :
+ Ϊ 0 ʾɹ, Ϊ
+
+(10) û ID
+ function = 9
+ *handle = ľ
+ :
+ *lp1 = û ID
+ Ϊ 0 ʾɹ, Ϊ
+
+(11) ģ [*]
+ function = 10
+ *handle = ľ
+ *p1 = ģ
+ *p2 = ûģ
+ *p3 = Ƿݼ (1 = , 0 = )
+ :
+ Ϊ 0 ʾɹ, Ϊ
+
+(12) ģǷЧ
+ function = 11
+ *handle = ľ
+ *p1 = ģ
+ :
+ *p2 = 1 ʾģЧ
+ *p3 = 1 ʾģԵݼ
+ Ϊ 0 ʾɹ, Ϊ
+
+(13) д㷨 [*]
+ function = 12
+ *handle = ľ
+ *p1 = pos
+ buffer = 㷨ָ
+ :
+ Ϊ 0 ʾɹ, Ϊ
+
+(14) 1 (ģ, ID λ, ID λ, )
+ function = 13
+ *handle = ľ
+ *lp1 = ʼ
+ *lp2 = ģ
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ :
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ Ϊ 0 ʾɹ, Ϊ
+
+(15) 2
+ function = 14
+ *handle = ľ
+ *lp1 = ʼ
+ *lp2 =
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ :
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ Ϊ 0 ʾɹ, Ϊ
+
+(16) 3
+ function = 15
+ *handle = ľ
+ *lp1 = ʼ
+ *lp2 = ʼַ
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ :
+ *p1 = ֵ1
+ *p2 = ֵ2
+ *p3 = ֵ3
+ *p4 = ֵ4
+ Ϊ 0 ʾɹ, Ϊ
+
+(17) ݼ
+ function = 16
+ *handle = ľ
+ *p1 = ģ
+ Ϊ 0 ʾɹ, Ϊ
+*/
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+WORD Rockey(WORD function, WORD* handle, DWORD* lp1, DWORD* lp2, WORD* p1, WORD* p2, WORD* p3, WORD* p4, BYTE* buffer);
+
+#ifdef __cplusplus
+}
+#endif
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/StandardEncryptDog.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/StandardEncryptDog.cs"
new file mode 100644
index 0000000..8e95d32
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/StandardEncryptDog.cs"
@@ -0,0 +1,180 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using System.Runtime.InteropServices;
+namespace GMIS.CommonRightBusinessRule
+{
+ public class StandardEncryptDog
+ {
+ public const uint RY_SUCCESS = 0x00000000; // 操作成功
+
+ [DllImport("Rockey3.dll")]
+ public static extern uint RY3_Find(string strVendorID, ref int iCount);
+
+ [DllImport("Rockey3.dll")]
+ public static extern uint RY3_Read(uint handle, int offset, byte[] pOutbuf, int len);
+
+ [DllImport("Rockey3.dll")]
+ public static extern uint RY3_Write(uint handle, int offset, string pInbuf, int len);
+
+ [DllImport("Rockey3.dll")]
+ public static extern uint RY3_Open(ref uint hHandle, int iIndex);
+
+
+ public static uint iRes = 0;
+ public static uint hHandle = 0;
+ public static string strtemp = "";
+ //版本号(标准版)
+ public static string SDProductName = "Philisense_GMISINFO_Standard_3.5_2012-10-01";
+ //版本号(专业版)
+ //public static string SDProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-01";
+ public static bool JiaMiDog()
+ {
+
+
+
+ int iCount = 0;
+ byte[] bDataBuf = new byte[64];
+
+ //string sVendorID = "3BBCCB6D";
+ string sVendorID = "13920512";
+ //string ProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-010";
+
+ //按VendorID查找Rockey3,VendorID为8个字节的字符串。
+ //找到该VendorID的Rockey3的个数返回到iCount中。
+ iRes = StandardEncryptDog.RY3_Find(sVendorID, ref iCount);
+
+
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+
+ iRes = StandardEncryptDog.RY3_Open(ref hHandle, 1);
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+
+ iRes = StandardEncryptDog.RY3_Read(hHandle, 0, bDataBuf, SDProductName.Length);
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+ //strtemp = System.Text.Encoding.Default.GetString(bDataBuf);
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, SDProductName.Length);
+ if (strtemp == SDProductName)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, SDProductName.Length);
+ //MessageBox.Show(this, "加密狗读取成功!", "提示");
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Read Error:" + iRes);
+ //MessageBox.Show("加密狗读取失败!");
+ //Cursor = Cursors.Arrow;
+ return false;
+ }
+ }
+ else
+ {
+ // Console.WriteLine("RY3_Open Error:" + iRes);
+ //MessageBox.Show("加密狗打开失败!");
+ //this.Cursor = Cursors.Arrow;
+
+ return false;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Find Error:" + iRes);
+ ////Console.WriteLine();
+ ////GetHex(iRes);
+ //MessageBox.Show("加密狗不存在!");
+ //this.Cursor = Cursors.Arrow;
+
+ return false;
+ }
+ }
+
+ ///
+ /// 判断加密狗是否存在(王科技2012-10-30)
+ ///
+ ///
+ ///
+ public static bool JiaMiDog(out bool JMG)
+ {
+ int iCount = 0;
+ byte[] bDataBuf = new byte[64];
+
+ string sVendorID = "13920512";
+ //string ProductName = "Philisense_GMISINFO_Professional_3.5_2012-10-010";
+
+ //按VendorID查找Rockey3,VendorID为8个字节的字符串。
+ //找到该VendorID的Rockey3的个数返回到iCount中。
+ iRes = StandardEncryptDog.RY3_Find(sVendorID, ref iCount);
+
+
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+
+ iRes = StandardEncryptDog.RY3_Open(ref hHandle, 1);
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+ //Console.WriteLine("\nRY3_Find Success, iCount:" + iCount);
+
+ iRes = StandardEncryptDog.RY3_Read(hHandle, 0, bDataBuf, SDProductName.Length);
+ if (iRes == StandardEncryptDog.RY_SUCCESS)
+ {
+ //strtemp = System.Text.Encoding.Default.GetString(bDataBuf);
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, SDProductName.Length);
+ if (strtemp == SDProductName)
+ {
+ strtemp = System.Text.Encoding.Default.GetString(bDataBuf).Substring(0, SDProductName.Length);
+ //MessageBox.Show(this, "加密狗读取成功!", "提示");
+ JMG = true;
+ //return JMG;
+ }
+ else
+ {
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Read Error:" + iRes);
+ //MessageBox.Show("加密狗读取失败!");
+ //Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ }
+ else
+ {
+ // Console.WriteLine("RY3_Open Error:" + iRes);
+ //MessageBox.Show("加密狗打开失败!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+
+ }
+ else
+ {
+ //Console.WriteLine("RY3_Find Error:" + iRes);
+ ////Console.WriteLine();
+ ////GetHex(iRes);
+ //MessageBox.Show("加密狗不存在!");
+ //this.Cursor = Cursors.Arrow;
+ JMG = false;
+ //return JMG;
+ }
+ return JMG;
+ }
+ }
+}
+
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/dealData.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/dealData.cs"
new file mode 100644
index 0000000..e50c35d
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/dealData.cs"
@@ -0,0 +1,123 @@
+using System;
+using System.Data;
+using System.Data.SqlClient;
+using DMServer.Common;
+
+namespace Report.stat
+{
+ ///
+ /// Class1 ժҪ˵
+ ///
+ public class dealData
+ {
+ //sdkfsdfsadf
+ string dbConnectString;
+ //±еϢ
+ public bool UpdateCondition(int serialNo,int sequenceNo,string TBL,string FLD,string CON,string EXP,string FUN,string SQL)
+ {
+ try
+ {
+ SqlConnection objConn=new SqlConnection(dbConnectString);
+ objConn.Open();
+ SqlCommand objcommand=new SqlCommand();
+ string strSQL;
+ objcommand.Connection = objConn;
+ strSQL = " SET QUOTED_IDENTIFIER OFF update gs_condition set TBL= " + (char)34 + TBL + (char)34 + " , FLB="+(char)34+FLD+(char)34+" , EXP="+(char)34+EXP+(char)34+" , FUN="+(char)34+FUN+(char)34+" , CON="+(char)34+CON+(char)34+",setSql ="+(char)34+SQL+(char)34+" where serialNo="+serialNo+" and sequenceNo="+sequenceNo;
+ objcommand.CommandText = strSQL;
+ objcommand.ExecuteNonQuery();
+
+ return true;
+
+ }
+ catch(Exception e)
+ {
+ //throw new Exception(e.Message );
+ return false;
+ }
+ }
+
+ public string runQuery(string MainObject,string TBL,string FLD,string CON,string EXP,string FUN,string SQL,string outSQL)
+ {
+
+ try
+ {
+
+ SqlCommand objcommand =new SqlCommand();
+ objcommand.Connection=new SqlConnection(dbConnectString);
+
+ objcommand.Connection.Open();
+ objcommand.CommandText = "flxp_rpt_SQLcondition";
+ objcommand.CommandType = CommandType.StoredProcedure; // use stored proc for perf
+ //
+ SqlParameter sMainObject = new SqlParameter("@strMainObject", SqlDbType.VarChar,4);
+ sMainObject.Direction = ParameterDirection.Input;
+ sMainObject.Value=MainObject;
+ objcommand.Parameters.Add(sMainObject);
+
+ //
+ //б
+ SqlParameter sTBL = new SqlParameter("@strTBL", SqlDbType.VarChar,100);
+ sTBL.Direction = ParameterDirection.Input;
+ sTBL.Value=TBL;
+ objcommand.Parameters.Add(sTBL);
+
+ //
+ //ֶб
+ SqlParameter sFLD = new SqlParameter("@strFLD", SqlDbType.VarChar,500);
+ sFLD.Direction = ParameterDirection.Input;
+ sFLD.Value=FLD;
+ objcommand.Parameters.Add(sFLD);
+ //
+ //볣б
+ SqlParameter sCON = new SqlParameter("@strCON", SqlDbType.VarChar,500);
+ sCON.Direction = ParameterDirection.Input;
+ sCON.Value=CON;
+ objcommand.Parameters.Add(sCON);
+ //
+ //ʽб
+ SqlParameter sEXP = new SqlParameter("@strEXP", SqlDbType.VarChar,500);
+ sEXP.Direction = ParameterDirection.Input;
+ sEXP.Value=EXP;
+ objcommand.Parameters.Add(sEXP);
+ //
+ //뺯б
+ SqlParameter sFUN = new SqlParameter("@strFUN", SqlDbType.VarChar,500);
+ sFUN.Direction = ParameterDirection.Input;
+ sFUN.Value=FUN;
+ objcommand.Parameters.Add(sFUN);
+ //SQL
+ SqlParameter sSQL = new SqlParameter("@strSQL", SqlDbType.VarChar,2000);
+ sSQL.Direction = ParameterDirection.Input;
+ sSQL.Value=SQL;
+ objcommand.Parameters.Add(sSQL);
+ //
+ SqlParameter soutSQL = new SqlParameter("@stroutSQL", SqlDbType.VarChar,5000);
+ soutSQL.Direction = ParameterDirection.Output;
+ soutSQL.Value="";
+ objcommand.Parameters.Add(soutSQL);
+ objcommand.ExecuteNonQuery();
+ objcommand.Connection.Close();
+ outSQL=(string)soutSQL.Value;
+ return outSQL;
+
+ }
+ catch
+ {
+ //throw new Exception(e.Message );
+ return"";
+ }
+ }
+ //asdfkjaskdf
+
+ public dealData()
+ {
+ //
+ // TODO: ڴ˴ӹ캯
+ //
+ ConfigMy config = new ConfigMy();
+ dbConnectString = config.ConnectString;
+ }
+ }
+}
+
+
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache"
new file mode 100644
index 0000000..3f8b1a4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FormMessage.resources" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FormMessage.resources"
new file mode 100644
index 0000000..f753749
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FormMessage.resources" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FrmKey.resources" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FrmKey.resources"
new file mode 100644
index 0000000..747c4e4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.FrmKey.resources" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.FileListAbsolute.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.FileListAbsolute.txt"
new file mode 100644
index 0000000..210f2ec
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.FileListAbsolute.txt"
@@ -0,0 +1,8 @@
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.FormMessage.resources
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.FrmKey.resources
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.csproj.GenerateResource.Cache
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.csprojResolveAssemblyReference.cache
+D:\CSharp\GitHub\GMIS\PublishDll\GMIS.CommonRightBusinessRule.dll
+D:\CSharp\GitHub\GMIS\PublishDll\GMIS.CommonRightBusinessRule.pdb
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.dll
+D:\CSharp\GitHub\GMIS\权限接口\BusinessRule\obj\Debug\GMIS.CommonRightBusinessRule.pdb
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.GenerateResource.Cache" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.GenerateResource.Cache"
new file mode 100644
index 0000000..516adc4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csproj.GenerateResource.Cache" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csprojResolveAssemblyReference.cache" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csprojResolveAssemblyReference.cache"
new file mode 100644
index 0000000..a3c119e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.csprojResolveAssemblyReference.cache" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.dll" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.dll"
new file mode 100644
index 0000000..79656f3
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.dll" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.pdb" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.pdb"
new file mode 100644
index 0000000..03c21d4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/obj/Debug/GMIS.CommonRightBusinessRule.pdb" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.cs"
new file mode 100644
index 0000000..5200b41
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.cs"
@@ -0,0 +1,215 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data ;
+using System.Data .SqlClient ;
+using GMIS.CommonRightDataAccess;
+
+
+namespace GMIS.CommonRightBusinessRule
+{
+ ///
+ /// regDistinctForm ժҪ˵
+ ///
+ public class regDistinctForm : System.Windows.Forms.Form
+ {
+ private LayObjTreeControl.LayObjTree layObjTree1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Button btn_cancel;
+ private System.Windows.Forms.Button btn_ok;
+ ///
+ ///
+ ///
+ private System.ComponentModel.Container components = null;
+ private System.Windows.Forms.Label label2;
+ //ݲ
+ private CDataOperator _DataOper;
+ public string[] _ConnectInfo=new string[4] ; //ݿϢ
+
+ public regDistinctForm()
+ {
+ //
+ // Windows ֧
+ //
+ InitializeComponent();
+
+ //
+ // TODO: InitializeComponent úκι캯
+ //
+ }
+
+ ///
+ /// ʹõԴ
+ ///
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ ///
+ /// ֧ķ - Ҫʹô༭
+ /// ˷ݡ
+ ///
+ private void InitializeComponent()
+ {
+ this.layObjTree1 = new LayObjTreeControl.LayObjTree();
+ this.label1 = new System.Windows.Forms.Label();
+ this.btn_cancel = new System.Windows.Forms.Button();
+ this.btn_ok = new System.Windows.Forms.Button();
+ this.label2 = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // layObjTree1
+ //
+ this.layObjTree1.gsCheckBoxes = false;
+ this.layObjTree1.gsConnectInfo = null;
+ this.layObjTree1.gsDefaultOrgs = "";
+ this.layObjTree1.gsDepInheritFields = "";
+ this.layObjTree1.gsIsAddBrotherNode = false;
+ this.layObjTree1.gsIsDeleteAll = true;
+ this.layObjTree1.gsIsMainObjReadOnly = false;
+ this.layObjTree1.gsisRestrictionDepCode = true;
+ this.layObjTree1.gsIsSelectAfterExpland = true;
+ this.layObjTree1.gsIsSimple = false;
+ this.layObjTree1.gsIsViewRootAddChildNode = true;
+ this.layObjTree1.gsmAllowDrop = false;
+ this.layObjTree1.gsMovingCorlor = 0;
+ this.layObjTree1.gsMultiNodeCheck = false;
+ this.layObjTree1.gsTableName = null;
+ this.layObjTree1.Location = new System.Drawing.Point(8, 40);
+ this.layObjTree1.Name = "layObjTree1";
+ this.layObjTree1.Size = new System.Drawing.Size(392, 248);
+ this.layObjTree1.TabIndex = 0;
+ this.layObjTree1.Click += new System.EventHandler(this.layObjTree1_Click);
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(8, 8);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(128, 27);
+ this.label1.TabIndex = 5;
+ this.label1.Text = "ѡڵ";
+ //
+ // btn_cancel
+ //
+ this.btn_cancel.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+ this.btn_cancel.Location = new System.Drawing.Point(288, 304);
+ this.btn_cancel.Name = "btn_cancel";
+ this.btn_cancel.Size = new System.Drawing.Size(88, 24);
+ this.btn_cancel.TabIndex = 7;
+ this.btn_cancel.Text = "ȡ(&Q)";
+ this.btn_cancel.Click += new System.EventHandler(this.btn_cancel_Click);
+ //
+ // btn_ok
+ //
+ this.btn_ok.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+ this.btn_ok.Location = new System.Drawing.Point(192, 304);
+ this.btn_ok.Name = "btn_ok";
+ this.btn_ok.Size = new System.Drawing.Size(88, 24);
+ this.btn_ok.TabIndex = 6;
+ this.btn_ok.Text = "ȷ(&Y)";
+ this.btn_ok.Click += new System.EventHandler(this.btn_ok_Click);
+ //
+ // label2
+ //
+ this.label2.Location = new System.Drawing.Point(144, 8);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(232, 16);
+ this.label2.TabIndex = 8;
+ this.label2.Text = "label2";
+ this.label2.Visible = false;
+ //
+ // regDistinctForm
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
+ this.ClientSize = new System.Drawing.Size(410, 360);
+ this.Controls.AddRange(new System.Windows.Forms.Control[] {
+ this.label2,
+ this.btn_cancel,
+ this.btn_ok,
+ this.label1,
+ this.layObjTree1});
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "regDistinctForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "ע";
+ this.TopMost = true;
+ this.Load += new System.EventHandler(this.regDistinctForm_Load);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void regDistinctForm_Load(object sender, System.EventArgs e)
+ {
+ this._DataOper =new CDataOperator(_ConnectInfo);
+
+
+ this.layObjTree1.Visible=true;
+ this.layObjTree1.gsConnectInfo=this._ConnectInfo;
+ this.layObjTree1.gsTableName= "ab01";
+ this.layObjTree1.gswherestr = "ZC9993='1'";
+ this.layObjTree1.gsDefaultOrgs="";
+ // if(this.mInputID == "")
+ this.layObjTree1.gsShowLayObjTree("");
+ // else
+ // this.layObjTree1.gsShowLayObjTree(this.mInputID);
+ this.layObjTree1.Visible = true;
+ }
+
+ private void btn_cancel_Click(object sender, System.EventArgs e)
+ {
+ this.Close ();
+ }
+
+ private void layObjTree1_Click(object sender, System.EventArgs e)
+ {
+ this.label2 .Text = this.label2 .Text + this.layObjTree1.gsDescription ;
+ }
+
+ private void btn_ok_Click(object sender, System.EventArgs e)
+ {
+ string strinsert ="";
+ string _guid = this.layObjTree1 .gsDeptID ;
+ DataTable _dt = this._DataOper .GetDataTable ("select ab0100,za9996,za0100 from ab01 where za0100 ='"+this.layObjTree1 .gsDeptID +"' ");
+ int _level = 0;
+ //////////-----------------------------------------------------
+ try
+ {
+ if(_dt.Rows [0][1].ToString () == "")
+ {
+ _level = _dt.Rows [0][2].ToString ().Length ;
+
+ }
+ if(_dt.Rows [0][1].ToString ().Length == _dt.Rows [0][2].ToString ().Length )
+ {
+ _level = _dt.Rows [0][1].ToString ().Length ;
+
+ }
+ if(_dt.Rows [0][1].ToString ().Length < _dt.Rows [0][2].ToString ().Length )
+ {
+ _level = _dt.Rows [0][2].ToString ().Length ;
+
+ }
+ }
+ catch
+ {}
+ //////////-----------------------------------------------------
+ this._DataOper .ExecuteSql ("insert into regdistinct(guid,ab0111,ab0110,level) values('"+_dt.Rows [0][0].ToString ()+"','"+_dt.Rows [0][1].ToString ()+"','"+_dt.Rows [0][2].ToString ()+"','"+_level+"')");
+ this.Close ();
+ this.DialogResult = DialogResult .OK ;
+ }
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.resx" "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.resx"
new file mode 100644
index 0000000..59832b3
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/BusinessRule/regDistinctForm.resx"
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ regDistinctForm
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CDataOperator.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CDataOperator.cs"
new file mode 100644
index 0000000..d919cf1
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CDataOperator.cs"
@@ -0,0 +1,770 @@
+#define DEBUG
+
+using System;
+using System.Data;
+using System.Data.SqlClient;
+using System.Text;
+using System.Collections;
+using System.Collections.Specialized;
+using System.Windows.Forms;
+using System.Diagnostics;
+
+namespace GMIS.CommonRightDataAccess
+{
+ ///
+ /// Class1 ժҪ˵
+ ///
+ public class CDataOperator
+ {
+ #region ȫֱ
+
+ /*
+ OleDbConnection conn; //ݿ
+ OleDbDataAdapter dbAdpter; //
+ OleDbCommand dbCommand; //ݲ
+ OleDbCommandBuilder dbCommandBuilder; //ṩԶɱ
+ CSqlBuilder mSqlBuilder = new CSqlBuilder();
+ */
+ CSqlBuilder mSqlBuilder = new CSqlBuilder();
+ string mConnectInfo; //ݿַ
+ //System.Data.SqlClient.SqlConnection mConn;
+
+ #endregion
+
+ /* 캯 */
+ public CDataOperator(string[] ConnectInfo)
+ {
+ //
+ // TODO: ڴ˴ӹ캯
+ try
+ {
+ string strConnect;
+ strConnect = "Data Source=" + ConnectInfo[0] + ";Initial Catalog=" + ConnectInfo[1] + "; User ID=" + ConnectInfo[2] + ";Password=" + ConnectInfo[3];
+ mConnectInfo = strConnect;
+ }
+ catch (System.Data.SqlClient.SqlException e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ ///
+ /// ִSql
+ ///
+ ///
+ public bool ExecuteSql(string StrSql)
+ {
+ System.Data.SqlClient.SqlConnection conn;
+ System.Data.SqlClient.SqlCommand dbCommand;
+
+ conn = new SqlConnection(mConnectInfo);
+
+ dbCommand = new SqlCommand();
+ dbCommand.Connection = conn;
+ dbCommand.CommandTimeout = 36000;
+
+ try
+ {
+ conn.Open(); //ݿ
+ dbCommand.CommandText = "set quoted_identifier off";
+ dbCommand.ExecuteNonQuery();
+
+ dbCommand.CommandText = StrSql;
+ dbCommand.ExecuteNonQuery();
+ return true;
+ }
+ catch (System.Data.SqlClient.SqlException e)
+ {
+ throw new Exception(e.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ } //ExecuteSql
+
+ ///
+ /// ݱ
+ ///
+ ///
+ ///
+ public DataTable GetDataTable(string StrSql)
+ {
+ System.Data.SqlClient.SqlConnection conn;
+ System.Data.SqlClient.SqlDataAdapter dbAdpter; //
+ System.Data.SqlClient.SqlCommand dbCommand; //ݲ
+
+ conn = new SqlConnection(mConnectInfo);
+ dbCommand = new SqlCommand();
+ dbCommand.Connection = conn;
+ dbCommand.CommandText = StrSql;
+ dbCommand.CommandTimeout = 36000;
+ dbAdpter = new SqlDataAdapter(dbCommand);
+ DataTable dt = new DataTable(); ;
+
+ try
+ {
+ conn.Open(); //ݿ
+ dbAdpter.Fill(dt);
+ return dt; //ؽ
+ }
+ catch (System.Data.SqlClient.SqlException e)
+ {
+ throw new Exception(e.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }//GetDataTable
+
+ ///
+ /// һ¼
+ ///
+ ///
+ ///
+ ///
+ public bool AddOneRec(string TableName, SortedList FieldValueList, SortedList LocatList)
+ {
+ SqlConnection conn; //ݿ
+ SqlDataAdapter dbAdpter; //
+ SqlCommand dbCommand; //ݲ
+ SqlCommandBuilder dbCommandBuilder; //ṩԶɱ
+ SqlTransaction MyTransaction = null; //
+
+ string WhereSql;
+ string LocateStr;
+
+ WhereSql = this.GetWhereSql(LocatList);
+
+ conn = new SqlConnection(mConnectInfo);
+ dbCommand = new SqlCommand();
+ dbCommand.Connection = conn;
+
+ DataTable dt = new DataTable();
+ string FieldName;
+ object FieldValue;
+
+ try
+ {
+ conn.Open(); //ݿ
+
+ MyTransaction = conn.BeginTransaction(); //ʼ
+ dbCommand.Transaction = MyTransaction;
+
+ //1.ԭм¼Ϊʷ¼ZC9993='0'
+ if (FieldValueList.ContainsKey("ZC9993")) //ûZC9993
+ {
+ LocateStr = "Update " + TableName + " set ZC9993='0' " + WhereSql;
+ dbCommand.CommandText = LocateStr;
+ dbCommand.ExecuteNonQuery();
+#if DEBUG
+ Debug.WriteLine("ԭ¼Ϊʷ¼");
+#endif
+ }
+
+ //2.ӵļ¼ı־λZC9993='1'
+ LocateStr = "select * from " + TableName + WhereSql;
+ dbCommand.CommandText = LocateStr;
+ dbAdpter = new SqlDataAdapter(dbCommand);
+ dbCommandBuilder = new SqlCommandBuilder(dbAdpter);
+
+ dbAdpter.Fill(dt);
+
+#if DEBUG
+ Debug.WriteLine("AddOneRec ʼֵ");
+#endif
+
+ //ֵ
+
+ DataRow dr = dt.NewRow();
+
+ for (int i = 0; i <= FieldValueList.Count - 1; i++)
+ {
+ FieldName = FieldValueList.GetKey(i).ToString();
+ FieldValue = FieldValueList.GetByIndex(i);
+ if (FieldValue == null) FieldValue = Convert.DBNull;
+ dr[FieldName] = FieldValue;
+#if DEBUG
+ Debug.WriteLine(FieldName + " = " + FieldValue.ToString());
+#endif
+ }
+
+ //¼¼ı־λΪ1
+ if (FieldValueList.ContainsKey("ZC9993"))
+ {
+ dr["ZC9993"] = "1";
+ }
+
+#if DEBUG
+ Debug.WriteLine("AddOneRec ֵ");
+#endif
+
+ //һ¼
+ dt.Rows.Add(dr);
+
+ dbAdpter.Update(dt);
+
+ MyTransaction.Commit(); //ύ
+
+ return true;
+ }
+ catch (System.Data.SqlClient.SqlException ee)
+ {
+ MyTransaction.Rollback(); //ع
+ throw new Exception("AddOneRec:" + ee.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ } //AddOneRec
+
+ ///
+ /// һ¼
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool InsertOneRec(string TableName, SortedList FieldValueList, SortedList LocatList, long BeforeID, out bool ModifyOtherID)
+ {
+ SqlConnection conn; //ݿ
+ SqlDataAdapter dbAdpter; //
+ SqlCommand dbCommand; //ݲ
+ SqlCommandBuilder dbCommandBuilder; //ṩԶɱ
+ SqlTransaction MyTransaction = null; //
+
+ string WhereSql;
+ string LocateStr;
+ long CurID = 0;
+ string tempIDName;
+ tempIDName = TableName.ToUpper() + "ID";
+
+ WhereSql = this.GetWhereSql(LocatList);
+
+ conn = new SqlConnection(mConnectInfo);
+ dbCommand = new SqlCommand();
+ dbCommand.Connection = conn;
+
+ DataTable dt = new DataTable();
+ ModifyOtherID = false;
+
+ try
+ {
+ conn.Open(); //ݿ
+
+ MyTransaction = conn.BeginTransaction(); //ʼ
+ dbCommand.Transaction = MyTransaction;
+
+ //1.ԭм¼Ϊʷ¼ZC9993='00'
+ LocateStr = "Update " + TableName + " set ZC9993='00' " + WhereSql;
+ dbCommand.CommandText = LocateStr;
+ dbCommand.ExecuteNonQuery();
+
+ //2.IDڵǰID,ǰID100
+ CurID = Convert.ToInt64(FieldValueList[tempIDName]);
+ if (CurID >= BeforeID)
+ {
+ LocateStr = "Update " + TableName + " set " + tempIDName + "=" + tempIDName + " + 100 " + WhereSql + " and " + tempIDName + ">=" + BeforeID;
+ dbCommand.CommandText = LocateStr;
+ dbCommand.ExecuteNonQuery();
+
+ ModifyOtherID = true; //ID־λ
+ }
+
+ //3.ӵļ¼ı־λZC9993='10'
+ LocateStr = "select * from " + TableName + WhereSql;
+ dbCommand.CommandText = LocateStr;
+ dbAdpter = new SqlDataAdapter(dbCommand);
+ dbCommandBuilder = new SqlCommandBuilder(dbAdpter);
+
+ dbAdpter.Fill(dt);
+
+ string FieldName;
+ object FieldValue;
+
+ //ֵ
+ DataRow dr = dt.NewRow();
+
+ for (int i = 0; i <= FieldValueList.Count - 1; i++)
+ {
+ FieldName = FieldValueList.GetKey(i).ToString();
+ FieldValue = FieldValueList.GetByIndex(i);
+ dr[FieldName] = FieldValue;
+ }
+
+ //¼¼ı־λΪ10
+ if (FieldValueList.ContainsKey("ZC9993"))
+ {
+ dr["ZC9993"] = "10";
+ }
+
+ //һ¼
+ dt.Rows.Add(dr);
+
+ dbAdpter.Update(dt);
+
+ //ύ
+ MyTransaction.Commit();
+
+ return true;
+ }
+ catch (System.Data.SqlClient.SqlException ee)
+ {
+ MyTransaction.Rollback(); //ع
+ ModifyOtherID = false;
+ throw new Exception("InsertRecInMainSet:" + ee.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ } //InsertOneRec
+
+ ///
+ /// һ¼
+ ///
+ ///
+ ///
+ ///
+ public bool ModifyOneRec(string TableName, SortedList FieldValueList, SortedList PrimaryKeyList)
+ {
+ System.Data.SqlClient.SqlConnection conn;
+ System.Data.SqlClient.SqlDataAdapter dbAdpter; //
+ System.Data.SqlClient.SqlCommand dbCommand; //ݲ
+ System.Data.SqlClient.SqlCommandBuilder dbCommandBuilder; //ṩԶɱ
+
+ string WhereSql;
+
+ WhereSql = this.GetWhereSql(PrimaryKeyList);
+
+ conn = new SqlConnection(mConnectInfo);
+ dbCommand = new SqlCommand();
+ dbCommand.CommandText = "select * from " + TableName + WhereSql;
+ dbCommand.Connection = conn;
+
+ dbAdpter = new SqlDataAdapter(dbCommand);
+
+ dbCommandBuilder = new SqlCommandBuilder(dbAdpter);
+
+ DataTable dt = new DataTable(); ;
+
+ try
+ {
+ conn.Open(); //ݿ
+ dbAdpter.Fill(dt);
+
+ string FieldName;
+ object FieldValue;
+
+ //ֵ
+ DataRow dr;
+ for (int k = 0; k <= dt.Rows.Count - 1; k++)
+ {
+ dr = dt.Rows[k];
+ for (int i = 0; i <= FieldValueList.Count - 1; i++)
+ {
+ FieldName = FieldValueList.GetKey(i).ToString();
+ FieldValue = FieldValueList.GetByIndex(i);
+ if (FieldValue == null) FieldValue = Convert.DBNull;
+ dr[FieldName] = FieldValue;
+ System.Diagnostics.Debug.WriteLine(FieldName + "=" + FieldValue);
+ }
+ }
+
+ dbAdpter.Update(dt);
+ return true;
+ }
+ catch (System.Data.SqlClient.SqlException ee)
+ {
+ throw new Exception("ModifyOneRec:" + ee.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }//ModifyOneRec
+
+ ///
+ /// ɾһļ¼
+ ///
+ ///
+ ///
+ ///
+ public void DeleteOneRec(string InfoId, SortedList LocateList)
+ {
+ string strDel = "";
+
+ try
+ {
+ //Ӽ
+ strDel = this.mSqlBuilder.GetDeleteSql(InfoId, LocateList);
+ this.ExecuteSql(strDel);
+ }
+ catch (System.Data.SqlClient.SqlException e)
+ {
+ throw new Exception("DeleteOneRec: " + e.Message);
+ }
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ public string GetFilterSql(string InfoId, SortedList LocateList)
+ {
+ string tempSql;
+ string WhereSql;
+ try
+ {
+ WhereSql = GetWhereSql(LocateList);
+ tempSql = "select * from " + InfoId + WhereSql;
+ return tempSql;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ ///
+ /// ȡɾSql
+ ///
+ ///
+ ///
+ ///
+ public string GetDeleteSql(string InfoId, SortedList LocateList)
+ {
+ string tempSql;
+ string WhereSql;
+
+ WhereSql = GetWhereSql(LocateList);
+ tempSql = "delete from " + InfoId + WhereSql;
+ return tempSql;
+ }
+
+ ///
+ /// ȡλSql
+ ///
+ ///
+ public string GetWhereSql(SortedList LocateList)
+ {
+ string tempWhereSql;
+
+ try
+ {
+ if (LocateList.GetByIndex(0) == null)
+ {
+ return "";
+ }
+ else
+ {
+ tempWhereSql = " where ";
+ for (int i = 0; i <= LocateList.Count - 1; i++)
+ {
+ string ValueSql;
+
+ ValueSql = GetSqlByValueType(LocateList.GetByIndex(i));
+ tempWhereSql = tempWhereSql + LocateList.GetKey(i) + "=" + ValueSql + " and ";
+ }
+
+ tempWhereSql = tempWhereSql.Substring(0, tempWhereSql.Length - 4);
+ return tempWhereSql;
+ }
+ }
+ catch
+ {
+ return "";
+ }
+ }//GetWhereSql
+
+ ///
+ /// ͻȡֵSql
+ ///
+ ///
+ ///
+ private string GetSqlByValueType(object Value)
+ {
+ string ValueType;
+ string ValueStr;
+
+ try
+ {
+ ValueType = Value.GetType().FullName.Split(new char[] { '.' })[1]; ;
+
+ switch (ValueType)
+ {
+ case "STRING":
+ ValueStr = "'" + Value + "'";
+ break;
+ case "INT16":
+ ValueStr = Value.ToString();
+ break;
+ default:
+ ValueStr = "'" + Value + "'";
+ break;
+ }
+
+ return ValueStr;
+ }
+ catch (Exception e)
+ {
+ MessageBox.Show(e.StackTrace + e.Message);
+ return "";
+ }
+ }
+
+ ///
+ /// е
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void UpdateRightDataTable(string TableName, DataTable MyDataTable, string UserCode)
+ {
+ System.Data.SqlClient.SqlConnection conn;
+ System.Data.SqlClient.SqlDataAdapter dbAdpter; //
+ System.Data.SqlClient.SqlCommand dbCommand; //ݲ
+ System.Data.SqlClient.SqlCommand dbCommand2; //ݲ
+ System.Data.SqlClient.SqlCommandBuilder dbCommandBuilder; //ṩԶɱ
+ //System.Data.SqlClient.SqlTransaction tempTran;
+ DataRow dr;
+ SortedList tempForkeyList = new SortedList();
+
+ conn = new SqlConnection(mConnectInfo);
+ conn.Open();
+
+ //ʼ
+ //tempTran = conn.BeginTransaction();
+
+ dbCommand = new SqlCommand();
+ //dbCommand.Transaction =tempTran;
+ dbCommand.CommandText = "select * from " + TableName + " where za0100 is null";
+ dbCommand.Connection = conn;
+
+ dbCommand2 = new SqlCommand();
+ //dbCommand2.Transaction = tempTran;
+ dbCommand2.CommandText = "Delete from " + TableName + " where ZA0100='" + UserCode + "'";
+ dbCommand2.Connection = conn;
+ dbCommand2.ExecuteNonQuery();
+
+ dbAdpter = new SqlDataAdapter(dbCommand);
+ dbCommandBuilder = new SqlCommandBuilder(dbAdpter);
+ //dbAdpter.Fill(tempDT);
+
+ SortedList tempFieldValueList = new SortedList();
+ SortedList tempLocateList = new SortedList();
+
+ tempForkeyList.Add("ZA0100", UserCode);
+
+ //ÿеIDֵ
+ for (int i = 0; i <= MyDataTable.Rows.Count - 1; i++)
+ {
+ MyDataTable.Rows[i][TableName + "ID"] = this.GetChildSetAddId(TableName, tempForkeyList);
+ dr = MyDataTable.Rows[i];
+ tempFieldValueList.Clear();
+ tempLocateList.Clear();
+ tempLocateList.Add("ZA0100", "1");
+ for (int j = 0; j <= MyDataTable.Columns.Count - 1; j++)
+ {
+ tempFieldValueList.Add(MyDataTable.Columns[j].ColumnName, dr[j]);
+ }
+ this.AddOneRec(TableName, tempFieldValueList, tempLocateList);
+ }
+
+ //dbAdpter.Update(MyDataTable);
+
+ //ύ
+ //tempTran.Commit();
+ }//UpdataDataTable
+
+ ///
+ /// ȡӼӵID
+ ///
+ ///
+ /// ֵ
+ ///
+ private long GetChildSetAddId(string InfoId, SortedList ForeignKeyList)
+ {
+ string tempStr;
+ DataTable dt;
+ long nId;
+
+ try
+ {
+ tempStr = this.mSqlBuilder.GetChildSetAddID(InfoId, ForeignKeyList);
+ dt = GetDataTable(tempStr);
+ nId = Convert.ToInt64(dt.Rows[0][0]);
+ return nId;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool DoBatchWork(SortedList SqlList)
+ {
+ System.Data.SqlClient.SqlConnection conn;
+ System.Data.SqlClient.SqlCommand dbCommand;
+ System.Data.SqlClient.SqlTransaction tempTransaction = null;
+ int i;
+ string tempSql;
+
+ conn = new SqlConnection(mConnectInfo);
+
+ dbCommand = new SqlCommand();
+ dbCommand.Connection = conn;
+
+ try
+ {
+ conn.Open(); //ݿ
+ tempTransaction = conn.BeginTransaction();
+
+ for (i = 0; i <= SqlList.Count - 1; i++)
+ {
+ tempSql = SqlList.GetByIndex(i).ToString();
+ dbCommand.Transaction = tempTransaction;
+ dbCommand.CommandText = tempSql;
+ dbCommand.ExecuteNonQuery();
+ }
+
+ //ύ
+ tempTransaction.Commit();
+ return true;
+ }
+ catch (System.Data.SqlClient.SqlException e)
+ {
+ tempTransaction.Rollback();
+ throw new Exception(e.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+
+ #region 崦
+
+ ///
+ ///±еϢ
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool UpdateCondition(int serialNo, int sequenceNo, string TBL, string FLD, string CON, string EXP, string FUN, string SQL)
+ {
+ try
+ {
+ string strSQL;
+
+ strSQL = " SET QUOTED_IDENTIFIER OFF update gs_condition set TBL= " + (char)34 + TBL + (char)34 + " , FLB=" + (char)34 + FLD + (char)34 + " , EXP=" + (char)34 + EXP + (char)34 + " , FUN=" + (char)34 + FUN + (char)34 + " , CON=" + (char)34 + CON + (char)34 + ",setSql =" + (char)34 + SQL + (char)34 + " where serialNo=" + serialNo + " and sequenceNo=" + sequenceNo;
+ this.ExecuteSql(strSQL);
+
+ return true;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public string runQuery(string MainObject, string TBL, string FLD, string CON, string EXP, string FUN, string SQL, string outSQL)
+ {
+ try
+ {
+ SqlCommand objcommand = new SqlCommand();
+ objcommand.Connection = new SqlConnection(mConnectInfo);
+
+ objcommand.Connection.Open();
+ objcommand.CommandText = "flxp_rpt_SQLcondition";
+ objcommand.CommandType = CommandType.StoredProcedure; // use stored proc for perf
+ //
+ SqlParameter sMainObject = new SqlParameter("@strMainObject", SqlDbType.VarChar, 4);
+ sMainObject.Direction = ParameterDirection.Input;
+ sMainObject.Value = MainObject;
+ objcommand.Parameters.Add(sMainObject);
+
+ //б
+ SqlParameter sTBL = new SqlParameter("@strTBL", SqlDbType.VarChar, 100);
+ sTBL.Direction = ParameterDirection.Input;
+ sTBL.Value = TBL;
+ objcommand.Parameters.Add(sTBL);
+
+ //ֶб
+ SqlParameter sFLD = new SqlParameter("@strFLD", SqlDbType.VarChar, 500);
+ sFLD.Direction = ParameterDirection.Input;
+ sFLD.Value = FLD;
+ objcommand.Parameters.Add(sFLD);
+
+ //볣б
+ SqlParameter sCON = new SqlParameter("@strCON", SqlDbType.VarChar, 500);
+ sCON.Direction = ParameterDirection.Input;
+ sCON.Value = CON;
+ objcommand.Parameters.Add(sCON);
+
+ //ʽб
+ SqlParameter sEXP = new SqlParameter("@strEXP", SqlDbType.VarChar, 500);
+ sEXP.Direction = ParameterDirection.Input;
+ sEXP.Value = EXP;
+ objcommand.Parameters.Add(sEXP);
+
+ //뺯б
+ SqlParameter sFUN = new SqlParameter("@strFUN", SqlDbType.VarChar, 500);
+ sFUN.Direction = ParameterDirection.Input;
+ sFUN.Value = FUN;
+ objcommand.Parameters.Add(sFUN);
+ //SQL
+ SqlParameter sSQL = new SqlParameter("@strSQL", SqlDbType.VarChar, 2000);
+ sSQL.Direction = ParameterDirection.Input;
+ sSQL.Value = SQL;
+ objcommand.Parameters.Add(sSQL);
+ //
+ SqlParameter soutSQL = new SqlParameter("@stroutSQL", SqlDbType.VarChar, 5000);
+ soutSQL.Direction = ParameterDirection.Output;
+ soutSQL.Value = "";
+ objcommand.Parameters.Add(soutSQL);
+ objcommand.ExecuteNonQuery();
+ objcommand.Connection.Close();
+ outSQL = (string)soutSQL.Value;
+ return outSQL;
+ }
+ catch
+ {
+ //throw new Exception(e.Message );
+ return "";
+ }
+ }
+
+ #endregion
+
+ } //class
+} //namespace
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CSqlBuilder.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CSqlBuilder.cs"
new file mode 100644
index 0000000..861e78d
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/CSqlBuilder.cs"
@@ -0,0 +1,432 @@
+using System;
+using System.Collections.Specialized;
+using System.Collections;
+
+namespace GMIS.CommonRightDataAccess
+{
+ ///
+ /// CSqlBuilder ժҪ˵
+ ///
+ public class CSqlBuilder
+ {
+ public CSqlBuilder()
+ {
+ //
+ // TODO: ڴ˴ӹ캯
+ //
+ }
+
+ #region ͼദ
+
+ ///
+ /// ȡӵID
+ ///
+ ///
+ ///
+ public string GetMainSetAddID(string InfoId)
+ {
+ string tempStr;
+
+ tempStr = "Select IsNull(max(" + InfoId + "ID),0)+100 From " + InfoId + " With(TABLOCK,HOLDLOCK)";
+ return tempStr;
+ }
+
+ ///
+ /// ȡID
+ ///
+ ///
+ ///
+ public string GetMainSetInsertID(string InfoId, long BeforeID)
+ {
+ string tempStr;
+ string tempIDName;
+
+ tempIDName = InfoId + "ID";
+ tempStr = "Select IsNull(max(" + tempIDName + "),0)+5 From " + InfoId + " With(TABLOCK,HOLDLOCK)" + " where " + tempIDName + "<" + BeforeID;
+ return tempStr;
+ }
+
+ ///
+ /// ȡӼӵID
+ ///
+ ///
+ ///
+ ///
+ public string GetChildSetAddID(string InfoId, SortedList ForeignKeyList)
+ {
+ string tempStr;
+ string WhereSql;
+
+ WhereSql = GetWhereSql(ForeignKeyList);
+ tempStr = "Select IsNull(max(" + InfoId + "ID),0)+100 From " + InfoId + " With(TABLOCK,HOLDLOCK) " + WhereSql;
+ return tempStr;
+ }
+
+ ///
+ /// ȡӵID
+ ///
+ ///
+ ///
+ ///
+ public string GetAddID(string InfoId, SortedList ForeignKeyList)
+ {
+ string tempStr;
+ string WhereSql;
+
+ if (ForeignKeyList == null) //
+ {
+ WhereSql = "";
+ }
+ else //Ӷ
+ {
+ WhereSql = GetWhereSql(ForeignKeyList);
+ }
+
+ tempStr = "Select IsNull(max(" + InfoId + "ID),0)+100 From " + InfoId + WhereSql;
+ return tempStr;
+ }
+
+ ///
+ /// ȡӼID
+ ///
+ ///
+ ///
+ ///
+ ///
+ public string GetChildSetInsertID(string InfoId, SortedList ForeignKeyList, long BeforeID)
+ {
+ string tempStr;
+ string WhereSql;
+ string tempIDName;
+
+ tempIDName = InfoId + "ID";
+
+ WhereSql = GetWhereSql(ForeignKeyList);
+ tempStr = "Select IsNull(max(" + tempIDName + "),0)+5 From " + InfoId + " With(TABLOCK,HOLDLOCK) " + WhereSql + " and " + tempIDName + "<" + BeforeID;
+ return tempStr;
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ public string GetFilterSql(string InfoId, SortedList LocateList, SortedList OrderList)
+ {
+ string tempSql;
+ string WhereSql;
+ string OrderBySql;
+
+ WhereSql = GetWhereSql(LocateList); //ɸѡ
+ OrderBySql = GetOrderBySql(OrderList); //
+
+ tempSql = this.GetFilterSql(InfoId, WhereSql, OrderBySql);
+
+ return tempSql;
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ public string GetFilterSql(string InfoId, SortedList LocateList)
+ {
+ return GetFilterSql(InfoId, LocateList, null);
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ public string GetSpecialDictSql(SortedList LocateList)
+ {
+ string tempSql;
+ string WhereSql;
+
+ WhereSql = GetWhereSql(LocateList); //ɸѡ
+ tempSql = "select *,dictvalue + '.' + description as NewDescription from gs_dictitem " + WhereSql;
+
+ return tempSql;
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ public string GetSpecialDictSql(string InfoId, string Filter)
+ {
+ string tempSql;
+
+ tempSql = "select *,dictvalue + '.' + description as NewDescription from " + InfoId + " " + Filter;
+
+ return tempSql;
+ }
+
+ ///
+ /// ȡָļ¼
+ ///
+ ///
+ ///
+ ///
+ ///
+ public string GetFilterSql(string InfoId, string WhereSql, string OrderBySql)
+ {
+ string tempSql;
+
+ tempSql = "select * from " + InfoId + WhereSql + OrderBySql;
+
+ //Ӧڶϵgs_propertyĹֶΪOrderNo
+ if (InfoId.ToUpper() == "GS_PROPERTY")
+ {
+ if (OrderBySql == "")
+ {
+ tempSql = tempSql + " order by OrderNo";
+ }
+ else
+ {
+ tempSql = tempSql + ",OrderNo";
+ }
+ }
+ return tempSql;
+ }
+
+ public string GetFilterSql(string InfoId, string WhereSql)
+ {
+ string tempSql;
+
+ tempSql = "select * from " + InfoId + WhereSql;
+ return tempSql;
+ }
+
+ ///
+ /// ȡɾSql
+ ///
+ ///
+ ///
+ ///
+ public string GetDeleteSql(string InfoId, SortedList LocateList)
+ {
+ string tempSql;
+ string WhereSql;
+
+ WhereSql = GetWhereSql(LocateList);
+ tempSql = "delete from " + InfoId + WhereSql;
+ return tempSql;
+ }
+
+ ///
+ /// ȡɾSql
+ ///
+ ///
+ ///
+ ///
+ public string GetDeleteSql(string InfoId, string WhereSql)
+ {
+ string tempSql;
+ tempSql = "delete from " + InfoId + WhereSql;
+ return tempSql;
+ }
+
+ ///
+ /// ȡλSql
+ ///
+ ///
+ public string GetWhereSql(SortedList LocateList)
+ {
+ string tempWhereSql;
+
+ tempWhereSql = "";
+
+ try
+ {
+ if (LocateList == null)
+ {
+ tempWhereSql = "";
+ }
+ else //!=null
+ {
+ if (LocateList.Count <= 0)
+ {
+ tempWhereSql = "";
+ }
+ else //count>0
+ {
+ //if(LocateList.GetByIndex(0).ToString()=="")
+ //{
+ // tempWhereSql = "";
+ //}
+ //else
+ //{
+ tempWhereSql = " where ";
+ for (int i = 0; i <= LocateList.Count - 1; i++)
+ {
+ string ValueSql;
+
+ ValueSql = GetSqlByValueType(LocateList.GetByIndex(i));
+ tempWhereSql = tempWhereSql + LocateList.GetKey(i) + "=" + ValueSql + " and ";
+ }//for
+
+ tempWhereSql = tempWhereSql.Substring(0, tempWhereSql.Length - 4);
+ }//else
+ }//else
+
+ return tempWhereSql;
+ }//try
+ catch
+ {
+ return "";
+ }
+ }//GetWhereSql
+
+ ///
+ /// ȡSql
+ ///
+ ///
+ ///
+ public string GetOrderBySql(SortedList OrderByList)
+ {
+ string tempOrderBySql;
+
+ tempOrderBySql = "";
+
+ try
+ {
+ if (OrderByList == null)
+ {
+ tempOrderBySql = "";
+ }
+ else //!=null
+ {
+ if (OrderByList.Count <= 0)
+ {
+ tempOrderBySql = "";
+ }
+ else //count>0
+ {
+ if (OrderByList.GetByIndex(0).ToString() == "")
+ {
+ tempOrderBySql = "";
+ }
+ else
+ {
+ tempOrderBySql = " order by ";
+ for (int i = 0; i <= OrderByList.Count - 1; i++)
+ {
+ string ValueSql;
+
+ ValueSql = OrderByList.GetByIndex(i).ToString();
+ tempOrderBySql = tempOrderBySql + ValueSql + ",";
+ }//for
+
+ tempOrderBySql = tempOrderBySql.Substring(0, tempOrderBySql.Length - 1);
+ }//else
+ }//else
+ }//else
+
+ return tempOrderBySql;
+ }//try
+ catch
+ {
+ return "";
+ }
+ }//GetWhereSql
+
+ ///
+ /// ͻȡֵSql
+ ///
+ ///
+ ///
+ private string GetSqlByValueType(object Value)
+ {
+ string ValueType;
+ string ValueStr;
+
+ try
+ {
+ ValueType = Value.GetType().FullName.Split(new char[] { '.' })[1]; ;
+
+ switch (ValueType)
+ {
+ case "STRING":
+ ValueStr = "'" + Value + "'";
+ break;
+ case "INT16":
+ ValueStr = Value.ToString();
+ break;
+ default:
+ ValueStr = "'" + Value + "'";
+ break;
+ }
+
+ return ValueStr;
+ }
+ catch
+ {
+ return "";
+ }
+ }
+
+ #endregion
+
+ #region ȫ/ֲID
+
+ ///
+ /// GS_IdӼ¼
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public string InsertGLID(string InfoId, string InfoField, string Type, string GroupValue, string Value)
+ {
+ string tempSql;
+
+ tempSql = "insert into gs_id(infoid,infofield,type,groupvalue,value) values('" + InfoId + "','"
+ + InfoField + "','"
+ + Type + "','"
+ + GroupValue + "','"
+ + Value + "')";
+
+ return tempSql;
+ }
+
+ ///
+ /// GS_IDļ¼
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public string UpdateGLID(string InfoId, string InfoField, string Type, string GroupValue, string Value)
+ {
+ string tempSql;
+
+ tempSql = "update gs_id set GroupValue='" + GroupValue + "',Value='" + Value + "'"
+ + " where InfoId='" + InfoId
+ + "' and InfoField='" + InfoField
+ + "' and GroupValue='" + GroupValue
+ + "' and Type='" + Type + "'";
+
+ return tempSql;
+ }
+
+ #endregion
+
+ #region ģ
+
+
+ #endregion
+
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/GMIS.CommonRightDataAccess.csproj" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/GMIS.CommonRightDataAccess.csproj"
new file mode 100644
index 0000000..ff74780
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/GMIS.CommonRightDataAccess.csproj"
@@ -0,0 +1,54 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {5498E1F7-B7FB-43FE-8781-65F7CC97CF12}
+ Library
+ Properties
+ GMIS.CommonRightDataAccess
+ GMIS.CommonRightDataAccess
+ v4.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\PublishDll\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/Properties/AssemblyInfo.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/Properties/AssemblyInfo.cs"
new file mode 100644
index 0000000..75d427e
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/Properties/AssemblyInfo.cs"
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的常规信息通过以下
+// 特性集控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("GMIS.CommonRightDataAccess")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("GMIS.CommonRightDataAccess")]
+[assembly: AssemblyCopyright("Copyright © 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 使此程序集中的类型
+// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
+// 则将该类型上的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("821f5bc8-0e7a-473e-9d40-8ca25e07a501")]
+
+// 程序集的版本信息由下面四个值组成:
+//
+// 主版本
+// 次版本
+// 内部版本号
+// 修订号
+//
+// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache"
new file mode 100644
index 0000000..ba37a98
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.csproj.FileListAbsolute.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.csproj.FileListAbsolute.txt"
new file mode 100644
index 0000000..606b979
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.csproj.FileListAbsolute.txt"
@@ -0,0 +1,4 @@
+D:\CSharp\GitHub\GMIS\PublishDll\GMIS.CommonRightDataAccess.dll
+D:\CSharp\GitHub\GMIS\PublishDll\GMIS.CommonRightDataAccess.pdb
+D:\CSharp\GitHub\GMIS\权限接口\DataAccess\obj\Debug\GMIS.CommonRightDataAccess.dll
+D:\CSharp\GitHub\GMIS\权限接口\DataAccess\obj\Debug\GMIS.CommonRightDataAccess.pdb
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.dll" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.dll"
new file mode 100644
index 0000000..85e99e0
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.dll" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.pdb" "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.pdb"
new file mode 100644
index 0000000..0ea88d3
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/DataAccess/obj/Debug/GMIS.CommonRightDataAccess.pdb" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/DataProtection.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/DataProtection.cs"
new file mode 100644
index 0000000..540a009
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/DataProtection.cs"
@@ -0,0 +1,366 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Security.Cryptography;
+using System.Threading;
+
+namespace Gmis.Protection
+{
+ ///
+ /// DataProtection ժҪ˵
+ ///
+ public class DataProtection
+ {
+ #region
+
+ private RSACryptoServiceProvider crypt;
+
+ private string strPublicKey = "";
+ private string strPrivateKey = "";
+
+ #endregion
+
+ #region
+
+ public DataProtection()
+ {
+ crypt = new RSACryptoServiceProvider();
+ }
+
+ public DataProtection(string publicKey, string privateKey)
+ {
+ crypt = new RSACryptoServiceProvider();
+ this.strPublicKey = publicKey;
+ this.strPrivateKey = privateKey;
+ }
+
+ #endregion
+
+ #region
+
+ ///
+ /// Կ
+ ///
+ public string PublicKey
+ {
+ set
+ {
+ this.strPublicKey = value;
+ }
+ }
+
+ ///
+ /// ˽Կ
+ ///
+ public string Privatekey
+ {
+ set
+ {
+ this.strPrivateKey = value;
+ }
+ }
+
+ #endregion
+
+ #region
+
+ #region ˽Կ
+
+ ///
+ /// ˽Կ
+ ///
+ ///
+ ///
+ public void CreateKey(out string publicKey, out string privateKey)
+ {
+ RSACryptoServiceProvider crypt = new RSACryptoServiceProvider();
+ publicKey = crypt.ToXmlString(false);
+ privateKey = crypt.ToXmlString(true);
+ crypt.Clear();
+ }
+
+ #endregion ˽Կ
+
+ #region ı
+
+ ///
+ /// ı
+ ///
+ ///
+ ///
+ public string EncryptText(string text)
+ {
+ if (this.strPublicKey == "")
+ {
+ return "";
+ }
+ try
+ {
+ byte[] bytes = this.StringToBytes(text);
+ MemoryStream ms = this.Encrypt(bytes);
+ string strReturn = this.StreamToString(ms);
+ return strReturn;
+ }
+ catch (Exception ex)
+ {
+ //ExceptionManagement.PublishException(ex);
+ return "";
+ }
+ }
+
+ ///
+ /// ı
+ ///
+ ///
+ ///
+ public string DecryptText(string text)
+ {
+ if (this.strPrivateKey == "")
+ {
+ return "";
+ }
+ try
+ {
+ byte[] bytes = this.StringToBytes(text);
+ MemoryStream ms = this.Decrypt(bytes);
+ string strReturn = this.StreamToString(ms);
+ return strReturn;
+ }
+ catch (Exception ex)
+ {
+ //ExceptionManagement.PublishException(ex);
+ return "";
+ }
+ }
+
+ #endregion ı
+
+ #region File
+
+ ///
+ /// ļ
+ ///
+ ///
+ ///
+ public void EncryptFile(string fileSource, string fileTo)
+ {
+ if (this.strPublicKey == "")
+ {
+ return;
+ }
+
+ byte[] bytes = this.FileToBytes(fileSource);
+ MemoryStream ms = this.Encrypt(bytes);
+ this.StreamToFile(ms, fileTo);
+ }
+
+ ///
+ /// ļ
+ ///
+ ///
+ ///
+ public void DecryptFile(string fileSource, string fileTo)
+ {
+ if (this.strPrivateKey == "")
+ {
+ return;
+ }
+ byte[] bytes = this.FileToBytes(fileSource);
+ MemoryStream ms = this.Decrypt(bytes);
+ this.StreamToFile(ms, fileTo);
+ }
+
+ ///
+ /// ļ
+ ///
+ ///
+ ///
+ public string DecryptFile(string fileSource)
+ {
+ if (this.strPrivateKey == "")
+ {
+ return null;
+ }
+
+ byte[] bytes = this.FileToBytes(fileSource);
+ MemoryStream ms = this.Decrypt(bytes);
+ byte[] dbytes = StreamToBytes(ms);
+ //UnicodeEncoding enc = new UnicodeEncoding();
+ ASCIIEncoding enc = new ASCIIEncoding();
+
+ string strReturn = enc.GetString(dbytes, 0, dbytes.Length);
+ return strReturn;
+ }
+
+ #endregion File
+
+ #region MemoryStream
+
+ ///
+ /// ļ
+ ///
+ ///
+ ///
+ public MemoryStream DecryptFileToStream(string fileSource)
+ {
+ return this.DecryptFileToStream(fileSource, false);
+ }
+
+ ///
+ /// ļ
+ ///
+ ///
+ ///
+ ///
+ public MemoryStream DecryptFileToStream(string fileSource, bool createLog)
+ {
+ if (this.strPrivateKey == "")
+ {
+ return null;
+ }
+
+ byte[] bytes = this.FileToBytes(fileSource);
+ MemoryStream ms = this.Decrypt(bytes);
+
+ if (createLog)
+ {
+ this.StreamToFile(ms, fileSource + ".log");
+ }
+ return ms;
+ }
+
+ #endregion MemoryStream
+
+ #endregion
+
+ #region ˽к
+
+ #region ܽ
+
+ private MemoryStream Encrypt(byte[] bytes)
+ {
+ crypt.FromXmlString(this.strPublicKey);
+ int blockSize = 0;
+ if (crypt.KeySize == 1024)
+ {
+ blockSize = 16;
+ }
+ else
+ {
+ blockSize = 8;
+ }
+ MemoryStream ms = new MemoryStream();
+
+ byte[] rawblock, encryblock;
+ for (int i = 0; i < bytes.Length; i += blockSize)
+ {
+ if ((bytes.Length - i) > blockSize)
+ {
+ rawblock = new byte[blockSize];
+ }
+ else
+ {
+ rawblock = new byte[bytes.Length - i];
+ }
+ Buffer.BlockCopy(bytes, i, rawblock, 0, rawblock.Length);
+ encryblock = crypt.Encrypt(rawblock, false);
+ ms.Write(encryblock, 0, encryblock.Length);
+ }
+
+ return ms;
+ }
+
+ private MemoryStream Decrypt(byte[] bytes)
+ {
+ crypt.FromXmlString(this.strPrivateKey);
+ int keySize = crypt.KeySize / 8;
+ byte[] rawblock, decryptblock;
+
+ MemoryStream ms = new MemoryStream();
+
+ for (int i = 0; i < bytes.Length; i += keySize)
+ {
+ if ((bytes.Length - i) > keySize)
+ {
+ rawblock = new byte[keySize];
+ }
+ else
+ {
+ rawblock = new byte[bytes.Length - i];
+ }
+
+ Buffer.BlockCopy(bytes, i, rawblock, 0, rawblock.Length);
+ decryptblock = crypt.Decrypt(rawblock, false);
+ ms.Write(decryptblock, 0, decryptblock.Length);
+ }
+ return ms;
+ }
+
+ #endregion ܽ
+
+ #region ת
+
+ private byte[] FileToBytes(string file)
+ {
+ FileStream fs = new FileStream(@file, FileMode.Open);
+ byte[] bytes = new byte[fs.Length];
+ fs.Read(bytes, 0, (int)fs.Length);
+ fs.Close();
+
+ return bytes;
+ }
+
+ private byte[] StreamToBytes(MemoryStream ms)
+ {
+ ms.Position = 0;
+ byte[] bytes = new byte[ms.Length];
+ ms.Read(bytes, 0, (int)ms.Length);
+ ms.Close();
+
+ return bytes;
+ }
+
+ private byte[] StringToBytes(string text)
+ {
+ UnicodeEncoding enc = new UnicodeEncoding();
+ //ASCIIEncoding enc = new ASCIIEncoding();
+ byte[] bytes = enc.GetBytes(text);
+ return bytes;
+ }
+
+ private string BytesToString(byte[] bytes)
+ {
+ UnicodeEncoding enc = new UnicodeEncoding();
+ //ASCIIEncoding enc = new ASCIIEncoding();
+
+ string strReturn = enc.GetString(bytes, 0, bytes.Length);
+ return strReturn;
+ }
+
+ private string StreamToString(MemoryStream ms)
+ {
+ byte[] bytes = this.StreamToBytes(ms);
+ string strReturn = this.BytesToString(bytes);
+ return strReturn;
+ }
+
+ private void BytesToFile(byte[] bytes, string file)
+ {
+ FileStream fsTo = new FileStream(@file, FileMode.Create);
+ fsTo.Flush();
+ fsTo.Write(bytes, 0, bytes.Length);
+ fsTo.Close();
+ }
+
+ private void StreamToFile(MemoryStream ms, string file)
+ {
+ byte[] bytes = StreamToBytes(ms);
+ this.BytesToFile(bytes, file);
+ }
+
+ #endregion ת
+
+ #endregion ˽к
+
+ }
+}
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Gmis.Protection.csproj" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Gmis.Protection.csproj"
new file mode 100644
index 0000000..2a4a525
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Gmis.Protection.csproj"
@@ -0,0 +1,52 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {CBF0D2F8-9728-471F-A19B-9549F186221C}
+ Library
+ Properties
+ Gmis.Protection
+ Gmis.Protection
+ v4.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\PublishDll\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Properties/AssemblyInfo.cs" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Properties/AssemblyInfo.cs"
new file mode 100644
index 0000000..868afc0
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/Properties/AssemblyInfo.cs"
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的常规信息通过以下
+// 特性集控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("Gmis.Protection")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Gmis.Protection")]
+[assembly: AssemblyCopyright("Copyright © 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 使此程序集中的类型
+// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
+// 则将该类型上的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("bfc03b9e-505e-4de5-8b97-6a6f04414686")]
+
+// 程序集的版本信息由下面四个值组成:
+//
+// 主版本
+// 次版本
+// 内部版本号
+// 修订号
+//
+// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache"
new file mode 100644
index 0000000..b79e6e7
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.csproj.FileListAbsolute.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.csproj.FileListAbsolute.txt"
new file mode 100644
index 0000000..83892cf
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.csproj.FileListAbsolute.txt"
@@ -0,0 +1,4 @@
+D:\CSharp\GitHub\GMIS\PublishDll\Gmis.Protection.dll
+D:\CSharp\GitHub\GMIS\PublishDll\Gmis.Protection.pdb
+D:\CSharp\GitHub\GMIS\权限接口\Gmis.Protection\obj\Debug\Gmis.Protection.dll
+D:\CSharp\GitHub\GMIS\权限接口\Gmis.Protection\obj\Debug\Gmis.Protection.pdb
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.dll" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.dll"
new file mode 100644
index 0000000..ff353da
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.dll" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.pdb" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.pdb"
new file mode 100644
index 0000000..f87d855
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/Gmis.Protection/obj/Debug/Gmis.Protection.pdb" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PrivateKey.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PrivateKey.txt"
new file mode 100644
index 0000000..804fd42
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PrivateKey.txt"
@@ -0,0 +1 @@
+ykGHw0KFKgNtUJXawebJz0YliRida/zUudN4Rsxaahx/HJPH+CksHI22Wqf0R0cWOkDx4+m9/GQ6Gvg7WxdCkDDim166PFurc5H13eH8WcaReUy1z0g1uOJgGvOFRZw73anTdgWha7MucrVBtPAB2nOApC6jnRHxvxmRIY0N8mM=AQAB5gc+Vj/j3gLjsF68X7n3PffaBEQZpxryEGwgbJ5d2vsS1rGjI1d74VaxNnDxh1MImHKZgB+ZKtTMnq/z6jpdrw==
4ReNswbrz+X+mkKu3Su57fSocjX/Fuyic7NL0Peq/ICUHBt4EvI3WlUhKBBYdfQCNfAF515FzlQUx9H+f2R3jQ==
CNA4PDfAdE4qCSToFMbcSTyI1ucBEJ0Ar05lQ6QhtnUuOJmfxYfhkDWxHoPfTS8KQkUJypXrWW/D00SslMndsw==4E40ap8PBtHO8bJZxxT352TTJ10fopyVFm8pskfcIFuRPKEy+s5c0qvaqq3/OSu7uDxD5dhP/9hSDP36esCHUQ==jQNciSrxi8V9Zz7E9Q2ts9UKsMyP877jusDWXZnyGMTvCFETlPAzDuiVWi7fiAmV6NeINU1jTcr01spF2kFuvQ==nIm5bNu4OvsqCRvikv5vpXfyJzig5mpprmVIiusw8z2Y9+I8/AnJtVPNFj81plETmASZ8r7/Jy/fdO446liHT7f2MCs/yZZ2p4BgkNbLQbVnBhBraO1rpwQ35cC0KAFTj0V6qqAdkY0V0cky5dN12K5AHIyR3p5KIKSslNxE7Hk=wpJvpL9oOaulih77lCYHXec5q59AVy4DmwQR2DLB6iQKzeAs5f+/Tc6A09atUAkRIgU6a+mQ/QsKHYuAhTadhBl+HwoKohsbLki4ZQCbrgRQaszv2DN/pDhymWhtXfBwb351vicmDVMUplNUH9rmgrEg7WEiU9+s/qFW9QAXu+U=AQAB/1IDUf5PtpV5q4mnABLylUz0zq0cckwa1JW08JcqdK07E9UmrcSRPcO9l3pzrVgI6jMPGHJg1ux3gCQ+3fe06w==
wxcGw5ct9EniEMT+12zLqWtDNGJlQQ/Y0o1+kcNPzwo3NecR8/Pl/kTf0lgGMPoVBP5abjWUk0HEAVaxv0Zebw==
pbNvTjZzO3cVCLwEcyrY3wab1spIrPExdIhYbtBckG6g6cUrHhl1fZVcpUOmcXiyCHTsthv9N18uSy660knh0w==k186odf7Q/XoCyj1JgEunE3F17WYrZxt+ygd+7ih+lHKQTLLshCFph2bQodyLd9Mr5gA8g4RrWfZy/UUktxyiw==+L3p7kH0twE7O0zQlI0Kabjywp989tihZSRpmZXwswhWEwYWVNvcXetOS5VaFxJjtBAC9ozhQopCWpVynJ44ng==QwjWhAkZ7HyRnOONw33SneyS9uj37tFAlsCxMS5TlspyGnn4ngkdrL3PrqxQq7lj+LeaaCFhPXz3MDSmw76MR6Ke9cg/L52nTqPnrt+H63TFOgJJUyP0p9l4ZF/+9AfG+B2ZKUJN/h7Um6FvdHNv4MLcNS4paK/MS4eHcs9ns+U=
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PublicKey.txt" "b/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PublicKey.txt"
new file mode 100644
index 0000000..9225a7f
--- /dev/null
+++ "b/\346\235\203\351\231\220\346\216\245\345\217\243/Key/PublicKey.txt"
@@ -0,0 +1 @@
+ykGHw0KFKgNtUJXawebJz0YliRida/zUudN4Rsxaahx/HJPH+CksHI22Wqf0R0cWOkDx4+m9/GQ6Gvg7WxdCkDDim166PFurc5H13eH8WcaReUy1z0g1uOJgGvOFRZw73anTdgWha7MucrVBtPAB2nOApC6jnRHxvxmRIY0N8mM=AQABwpJvpL9oOaulih77lCYHXec5q59AVy4DmwQR2DLB6iQKzeAs5f+/Tc6A09atUAkRIgU6a+mQ/QsKHYuAhTadhBl+HwoKohsbLki4ZQCbrgRQaszv2DN/pDhymWhtXfBwb351vicmDVMUplNUH9rmgrEg7WEiU9+s/qFW9QAXu+U=AQAB
\ No newline at end of file
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0051.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0051.ICO"
new file mode 100644
index 0000000..13c7387
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0051.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0121.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0121.ICO"
new file mode 100644
index 0000000..d3cb773
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0121.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0124.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0124.ICO"
new file mode 100644
index 0000000..018b5e5
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0124.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0151.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0151.ICO"
new file mode 100644
index 0000000..1ffcc9c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/0151.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/20-Be98 Workgroup.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/20-Be98 Workgroup.ico"
new file mode 100644
index 0000000..c8761e7
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/20-Be98 Workgroup.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ACTXEXE.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ACTXEXE.ICO"
new file mode 100644
index 0000000..e0adf6d
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ACTXEXE.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02LT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02LT.ICO"
new file mode 100644
index 0000000..cc7c917
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02LT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02RT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02RT.ICO"
new file mode 100644
index 0000000..b8b46ea
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW02RT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04LT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04LT.ICO"
new file mode 100644
index 0000000..5543724
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04LT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04RT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04RT.ICO"
new file mode 100644
index 0000000..39bd988
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW04RT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05LT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05LT.ICO"
new file mode 100644
index 0000000..1c222f6
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05LT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05RT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05RT.ICO"
new file mode 100644
index 0000000..83d5485
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW05RT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06LT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06LT.ICO"
new file mode 100644
index 0000000..32fd2e8
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06LT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06RT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06RT.ICO"
new file mode 100644
index 0000000..5f65c0a
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/ARW06RT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be App Builder.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be App Builder.ico"
new file mode 100644
index 0000000..6bb5c8c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be App Builder.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Reg File.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Reg File.ico"
new file mode 100644
index 0000000..1845e1b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Reg File.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Swap.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Swap.ico"
new file mode 100644
index 0000000..b315100
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Be Swap.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIENT.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIENT.ICO"
new file mode 100644
index 0000000..02bc5a6
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIENT.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIP.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIP.ICO"
new file mode 100644
index 0000000..5de917e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/CLIP.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/GRAPH14.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/GRAPH14.ICO"
new file mode 100644
index 0000000..8f85539
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/GRAPH14.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/INSIDE Y.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/INSIDE Y.ICO"
new file mode 100644
index 0000000..894b94b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/INSIDE Y.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon00.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon00.ico"
new file mode 100644
index 0000000..8f1937c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon00.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon01.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon01.ico"
new file mode 100644
index 0000000..914b6af
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon01.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon02.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon02.ico"
new file mode 100644
index 0000000..9472c59
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon02.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon03.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon03.ico"
new file mode 100644
index 0000000..6d1ae8b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon03.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon04.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon04.ico"
new file mode 100644
index 0000000..c071916
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon04.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon05.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon05.ico"
new file mode 100644
index 0000000..694880f
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon05.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon06.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon06.ico"
new file mode 100644
index 0000000..40a6ddb
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon06.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon07.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon07.ico"
new file mode 100644
index 0000000..889f60c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon07.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon08.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon08.ico"
new file mode 100644
index 0000000..1330030
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon08.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon09.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon09.ico"
new file mode 100644
index 0000000..96908e4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon09.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon1.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon1.ico"
new file mode 100644
index 0000000..fe47924
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon1.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon10.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon10.ico"
new file mode 100644
index 0000000..eba3c16
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon10.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon11.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon11.ico"
new file mode 100644
index 0000000..090e7bf
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon11.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon12.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon12.ico"
new file mode 100644
index 0000000..fef094b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon12.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon13.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon13.ico"
new file mode 100644
index 0000000..b554990
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon13.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon14.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon14.ico"
new file mode 100644
index 0000000..e73d0a4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon14.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon15.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon15.ico"
new file mode 100644
index 0000000..0f1bc41
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon15.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon16.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon16.ico"
new file mode 100644
index 0000000..8965f5c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon16.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon17.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon17.ico"
new file mode 100644
index 0000000..537558d
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon17.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon18.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon18.ico"
new file mode 100644
index 0000000..67ca0cf
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon18.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon19.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon19.ico"
new file mode 100644
index 0000000..934be00
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon19.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon2.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon2.ico"
new file mode 100644
index 0000000..5b0261e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon2.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon20.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon20.ico"
new file mode 100644
index 0000000..86ab71b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon20.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon21.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon21.ico"
new file mode 100644
index 0000000..915ef95
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon21.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon22.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon22.ico"
new file mode 100644
index 0000000..1265f4e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon22.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon23.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon23.ico"
new file mode 100644
index 0000000..5b0261e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon23.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon24.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon24.ico"
new file mode 100644
index 0000000..e79db3e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon24.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon25.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon25.ico"
new file mode 100644
index 0000000..c40eb61
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon25.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon26.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon26.ico"
new file mode 100644
index 0000000..2d95c7b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon26.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon27.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon27.ico"
new file mode 100644
index 0000000..a828fa7
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon27.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon28.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon28.ico"
new file mode 100644
index 0000000..93b7e5e
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon28.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon31.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon31.ico"
new file mode 100644
index 0000000..f071344
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon31.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon5.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon5.ico"
new file mode 100644
index 0000000..694880f
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon5.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon6.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon6.ico"
new file mode 100644
index 0000000..40a6ddb
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon6.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon7.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon7.ico"
new file mode 100644
index 0000000..889f60c
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon7.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon8.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon8.ico"
new file mode 100644
index 0000000..1330030
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon8.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon9.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon9.ico"
new file mode 100644
index 0000000..96908e4
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/Icon9.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC26.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC26.ICO"
new file mode 100644
index 0000000..02fb981
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC26.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC27.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC27.ICO"
new file mode 100644
index 0000000..6412e78
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC27.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC28.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC28.ICO"
new file mode 100644
index 0000000..f48a42d
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/MISC28.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/PASSTHRU.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/PASSTHRU.ICO"
new file mode 100644
index 0000000..be56fe7
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/PASSTHRU.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/SHEZ.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/SHEZ.ICO"
new file mode 100644
index 0000000..6e520e0
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/SHEZ.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/TRASH02A.ICO" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/TRASH02A.ICO"
new file mode 100644
index 0000000..a7eb227
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/TRASH02A.ICO" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/User2.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/User2.ico"
new file mode 100644
index 0000000..b794849
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/User2.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/exit.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/exit.ico"
new file mode 100644
index 0000000..dfbb0ed
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/exit.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/save.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/save.ico"
new file mode 100644
index 0000000..13cfc1a
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/save.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/user1.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/user1.ico"
new file mode 100644
index 0000000..c54ca2b
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/user1.ico" differ
diff --git "a/\346\235\203\351\231\220\346\216\245\345\217\243/icon/\347\273\230\345\233\276.ico" "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/\347\273\230\345\233\276.ico"
new file mode 100644
index 0000000..3b5572f
Binary files /dev/null and "b/\346\235\203\351\231\220\346\216\245\345\217\243/icon/\347\273\230\345\233\276.ico" differ