diff --git a/CNASBalanceDBManage/App.config b/CNASBalanceDBManage/App.config
index 774fe69..b24213d 100644
--- a/CNASBalanceDBManage/App.config
+++ b/CNASBalanceDBManage/App.config
@@ -1,48 +1,49 @@
-
+
-
+
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/CNASBalanceDBManage/CNASBalanceDBManage.csproj b/CNASBalanceDBManage/CNASBalanceDBManage.csproj
index 67ce1eb..2dc1915 100644
--- a/CNASBalanceDBManage/CNASBalanceDBManage.csproj
+++ b/CNASBalanceDBManage/CNASBalanceDBManage.csproj
@@ -8,9 +8,10 @@
WinExe
CNASBalanceDBManage
CNASBalanceDBManage
- v4.0
+ v4.8
512
true
+
x86
@@ -21,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -30,6 +32,10 @@
TRACE
prompt
4
+ false
+
+
+ database_16px_1229703_easyicon.net.ico
@@ -67,6 +73,7 @@
True
Resources.resx
+ True
@@ -93,5 +100,8 @@
CnasSynchrousModel
+
+
+
\ No newline at end of file
diff --git a/CNASBalanceDBManage/Program.cs b/CNASBalanceDBManage/Program.cs
index be7496b..b7e5ad8 100644
--- a/CNASBalanceDBManage/Program.cs
+++ b/CNASBalanceDBManage/Program.cs
@@ -1,4 +1,6 @@
-using System;
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
@@ -15,6 +17,13 @@ namespace CNASBalanceDBManage
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
+
+ SystemFormatConfig systemFormat = FileOperation.GetSystemFormatConfigData();
+ GlobalCommonOperation.strStartGeneralVersion = systemFormat.StartGeneralVersion;
+ GlobalCommonOperation.strStartWebApi = systemFormat.StartWebApi;
+ GlobalCommonOperation.strWebApiUrl = systemFormat.WebApiUrl;
+ GlobalCommonOperation.strTargetDbType = systemFormat.TargetDBType;
+
Application.Run(new frmBalanceDB());
}
}
diff --git a/CNASBalanceDBManage/Properties/Resources.Designer.cs b/CNASBalanceDBManage/Properties/Resources.Designer.cs
index bf41b9a..decc244 100644
--- a/CNASBalanceDBManage/Properties/Resources.Designer.cs
+++ b/CNASBalanceDBManage/Properties/Resources.Designer.cs
@@ -1,69 +1,61 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行时版本: 4.0.30319.42000
+// 运行时版本:4.0.30319.42000
//
-// 对此文件的更改可能导致不正确的行为,如果
-// 重新生成代码,则所做更改将丢失。
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace CNASBalanceDBManage.Properties
-{
-
-
+namespace CNASBalanceDBManage.Properties {
+ using System;
+
+
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CNASBalanceDBManage.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// 覆盖当前线程的 CurrentUICulture 属性
- /// 使用此强类型的资源类的资源查找。
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
diff --git a/CNASBalanceDBManage/Properties/Settings.Designer.cs b/CNASBalanceDBManage/Properties/Settings.Designer.cs
index 7a7c9dc..107182a 100644
--- a/CNASBalanceDBManage/Properties/Settings.Designer.cs
+++ b/CNASBalanceDBManage/Properties/Settings.Designer.cs
@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace CNASBalanceDBManage.Properties
-{
-
-
+namespace CNASBalanceDBManage.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
diff --git a/CNASBalanceDBManage/database_16px_1229703_easyicon.net.ico b/CNASBalanceDBManage/database_16px_1229703_easyicon.net.ico
new file mode 100644
index 0000000..98b28ec
Binary files /dev/null and b/CNASBalanceDBManage/database_16px_1229703_easyicon.net.ico differ
diff --git a/CNASBalanceDBManage/frmBalanceDB.Designer.cs b/CNASBalanceDBManage/frmBalanceDB.Designer.cs
index 5b245d6..0c5705d 100644
--- a/CNASBalanceDBManage/frmBalanceDB.Designer.cs
+++ b/CNASBalanceDBManage/frmBalanceDB.Designer.cs
@@ -31,7 +31,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBalanceDB));
this.pnlAll = new System.Windows.Forms.Panel();
this.pnlCenter = new System.Windows.Forms.Panel();
- this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.tabSetting = new System.Windows.Forms.TabControl();
this.tabCNASDB = new System.Windows.Forms.TabPage();
this.btnCNASTestLink = new System.Windows.Forms.Button();
this.txtPort = new System.Windows.Forms.TextBox();
@@ -69,7 +69,7 @@
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
- this.tabControl1.SuspendLayout();
+ this.tabSetting.SuspendLayout();
this.tabCNASDB.SuspendLayout();
this.tabPlatForm.SuspendLayout();
this.tabPwd.SuspendLayout();
@@ -89,24 +89,24 @@
//
// pnlCenter
//
- this.pnlCenter.Controls.Add(this.tabControl1);
+ this.pnlCenter.Controls.Add(this.tabSetting);
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlCenter.Location = new System.Drawing.Point(0, 0);
this.pnlCenter.Name = "pnlCenter";
this.pnlCenter.Size = new System.Drawing.Size(493, 258);
this.pnlCenter.TabIndex = 1;
//
- // tabControl1
+ // tabSetting
//
- this.tabControl1.Controls.Add(this.tabCNASDB);
- this.tabControl1.Controls.Add(this.tabPlatForm);
- this.tabControl1.Controls.Add(this.tabPwd);
- this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.tabControl1.Location = new System.Drawing.Point(0, 0);
- this.tabControl1.Name = "tabControl1";
- this.tabControl1.SelectedIndex = 0;
- this.tabControl1.Size = new System.Drawing.Size(493, 258);
- this.tabControl1.TabIndex = 36;
+ this.tabSetting.Controls.Add(this.tabCNASDB);
+ this.tabSetting.Controls.Add(this.tabPlatForm);
+ this.tabSetting.Controls.Add(this.tabPwd);
+ this.tabSetting.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tabSetting.Location = new System.Drawing.Point(0, 0);
+ this.tabSetting.Name = "tabSetting";
+ this.tabSetting.SelectedIndex = 0;
+ this.tabSetting.Size = new System.Drawing.Size(493, 258);
+ this.tabSetting.TabIndex = 36;
//
// tabCNASDB
//
@@ -126,7 +126,7 @@
this.tabCNASDB.Padding = new System.Windows.Forms.Padding(3);
this.tabCNASDB.Size = new System.Drawing.Size(485, 228);
this.tabCNASDB.TabIndex = 0;
- this.tabCNASDB.Text = "CNAS数据库";
+ this.tabCNASDB.Text = "目标数据库";
this.tabCNASDB.UseVisualStyleBackColor = true;
//
// btnCNASTestLink
@@ -238,7 +238,7 @@
this.tabPlatForm.Name = "tabPlatForm";
this.tabPlatForm.Size = new System.Drawing.Size(485, 228);
this.tabPlatForm.TabIndex = 2;
- this.tabPlatForm.Text = "平台数据库";
+ this.tabPlatForm.Text = "目标平台数据库";
this.tabPlatForm.UseVisualStyleBackColor = true;
//
// btnPlatTest
@@ -455,7 +455,7 @@
this.Load += new System.EventHandler(this.frmBalanceDB_Load);
this.pnlAll.ResumeLayout(false);
this.pnlCenter.ResumeLayout(false);
- this.tabControl1.ResumeLayout(false);
+ this.tabSetting.ResumeLayout(false);
this.tabCNASDB.ResumeLayout(false);
this.tabCNASDB.PerformLayout();
this.tabPlatForm.ResumeLayout(false);
@@ -487,7 +487,7 @@
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabControl tabSetting;
private System.Windows.Forms.TabPage tabCNASDB;
private System.Windows.Forms.TabPage tabPwd;
private System.Windows.Forms.TextBox txtRepeatPwd;
diff --git a/CNASBalanceDBManage/frmBalanceDB.cs b/CNASBalanceDBManage/frmBalanceDB.cs
index 1c46d1c..a0ff119 100644
--- a/CNASBalanceDBManage/frmBalanceDB.cs
+++ b/CNASBalanceDBManage/frmBalanceDB.cs
@@ -28,7 +28,15 @@ namespace CNASBalanceDBManage
return;
}
- if (CnasDataOperationFact.CnasDataOperation().TestConnect(this.txtDBHost.Text.Trim(), this.txtDBName.Text.Trim(), this.txtDBUser.Text.Trim(), this.txtDBPwd.Text.Trim(), this.txtPort.Text.Trim()))
+ if (CnasDataOperationFact.CnasDataOperation().TestConnect(new DataBaseInfo()
+ {
+ DataBaseCode="cnas",
+ DBHost = this.txtDBHost.Text.Trim(),
+ DBName = this.txtDBName.Text.Trim(),
+ DBUser = this.txtDBUser.Text.Trim(),
+ DBPwd = this.txtDBPwd.Text.Trim(),
+ DBPort = this.txtPort.Text.Trim()
+ }))
MessageBox.Show("连接成功!");
else
MessageBox.Show("连接失败!");
@@ -55,7 +63,7 @@ namespace CNASBalanceDBManage
this.txtPlatPort.Text = PlatDataBase.DBPort;
}
- strOldPwd = FileOperation.GetLocalOperationPwd();
+ strOldPwd = FileOperation.GetLocalOperationPwd();
}
private void btnOK_Click(object sender, EventArgs e)
@@ -196,10 +204,19 @@ namespace CNASBalanceDBManage
return;
}
- if (CnasDataOperationFact.CnasDataOperation().TestConnect(this.txtPlatHost.Text.Trim(), this.txtPlatServer.Text.Trim(), this.txtPlatUser.Text.Trim(), this.txtPlatPwd.Text.Trim(), this.txtPlatPort.Text.Trim()))
+ //if (CnasDataOperationFact.CnasDataOperation().TestConnect(this.txtPlatHost.Text.Trim(), this.txtPlatServer.Text.Trim(), this.txtPlatUser.Text.Trim(), this.txtPlatPwd.Text.Trim(), this.txtPlatPort.Text.Trim()))
+ if (CnasDataOperationFact.CnasDataOperation().TestConnect(new DataBaseInfo()
+ {
+ DBHost = this.txtPlatHost.Text.Trim(),
+ DBName = this.txtPlatServer.Text.Trim(),
+ DBUser = this.txtPlatUser.Text.Trim(),
+ DBPwd = this.txtPlatPwd.Text.Trim(),
+ DBPort = this.txtPlatPort.Text.Trim()
+ }))
MessageBox.Show("连接成功!");
else
MessageBox.Show("连接失败!");
}
+
}
}
diff --git a/CNAS_Authorize/App.config b/CNAS_Authorize/App.config
new file mode 100644
index 0000000..a5fb8f8
--- /dev/null
+++ b/CNAS_Authorize/App.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_Authorize/App.xaml b/CNAS_Authorize/App.xaml
new file mode 100644
index 0000000..c690a3d
--- /dev/null
+++ b/CNAS_Authorize/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/CNAS_Authorize/App.xaml.cs b/CNAS_Authorize/App.xaml.cs
new file mode 100644
index 0000000..a58c4a9
--- /dev/null
+++ b/CNAS_Authorize/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace CNAS_Authorize
+{
+ ///
+ /// App.xaml 的交互逻辑
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/CNAS_Authorize/CNAS_Authorize.csproj b/CNAS_Authorize/CNAS_Authorize.csproj
new file mode 100644
index 0000000..36cc17a
--- /dev/null
+++ b/CNAS_Authorize/CNAS_Authorize.csproj
@@ -0,0 +1,119 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {9B4A6989-A7A6-41C0-ADFE-D470EB972D79}
+ WinExe
+ Properties
+ CNAS_Authorize
+ CNAS_Authorize
+ v4.8
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ App.xaml
+ Code
+
+
+
+ MainWindow.xaml
+ Code
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+ Always
+
+
+
+
+ {CB9B6D92-3CC4-46C6-92E8-A6FD0AD48041}
+ CnasSynchronusBLL
+
+
+ {0C3243F5-729E-409C-B406-C6DE56E632E0}
+ CnasSynchrousModel
+
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_Authorize/MachineAuth.cs b/CNAS_Authorize/MachineAuth.cs
new file mode 100644
index 0000000..1c57625
--- /dev/null
+++ b/CNAS_Authorize/MachineAuth.cs
@@ -0,0 +1,252 @@
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace CNAS_Authorize
+{
+ public class Machine
+ {
+ public string FactoryName { get; set; }
+ public string MachineCode { get; set; }
+ public string ImportTime { get; set; }
+ public bool IsGenerated { get; set; }
+
+ public Machine(string name, string code, string time, bool isGen)
+ {
+ FactoryName = name;
+ MachineCode = code;
+ ImportTime = time;
+ IsGenerated = isGen;
+ }
+
+ }
+
+ class MachineAuth
+ {
+ ///
+ /// 所有数据行
+ ///
+ private List m_machines;
+ ///
+ /// 编码过滤
+ ///
+ private string m_filter_code;
+ ///
+ /// 名称过滤
+ ///
+ private string m_filter_factory;
+ //以下都是过滤过的数据
+ ///
+ /// 过滤过的数据
+ ///
+ private List m_rangle;
+ ///
+ /// 过滤过的当前页
+ ///
+ private List m_page;
+ ///
+ /// 每页数量
+ ///
+ private int m_pageSize;
+ ///
+ /// 页号
+ ///
+ private int m_pageIndex;
+ ///
+ /// 总页数
+ ///
+ private int m_pageCount;
+
+
+ public MachineAuth()
+ {
+ m_pageSize = 10;
+ m_pageIndex = 1;
+ }
+ DataBaseInfo targetDataBase = new DataBaseInfo();
+ public void Load()
+ {
+ //加载CNAS数据库配置
+ targetDataBase = FileOperation.GetLocalCnasDB();
+ if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetDataBase))
+ {
+ MessageBox.Show("CNAS数据库无法正常连接...", "提示");
+ return;
+ }
+
+
+ m_machines = new List();
+ ////1.加载数据
+ DataTable dtmacaddressinfo = CnasDataOperationFact.CnasDataOperation().GetTableData(targetDataBase, "select * from macaddress");
+ if (dtmacaddressinfo != null && dtmacaddressinfo.Rows.Count > 0)
+ {
+ List lstCnasTables = new List();
+ foreach (DataRow dr in dtmacaddressinfo.Rows)
+ {
+ Machine m = new Machine( dr["PLANTCODE"].ToString(), dr["MAC_ADDRESS"].ToString(), dr["CREATETIME"].ToString(), true);
+ m_machines.Add(m);
+ lstCnasTables.Add(dr["MAC_ADDRESS"].ToString());
+ }
+ }
+
+ //获取Machine表的数据
+ //m_machines = new List();
+ ////TEST DATA
+ //for(int i = 0; i < 15; i++)
+ //{
+ // Machine m = new Machine("MACHINEE"+ (i+1), "CODE" + (i + 1), "2025-02-02", i%2==0);
+ // m_machines.Add(m);
+ //}
+
+ m_rangle = new List();
+ m_rangle.AddRange(m_machines);
+
+ m_pageSize = 10;
+ m_pageIndex = 1;
+ m_pageCount = (m_rangle.Count / m_pageSize) + (m_rangle.Count % m_pageSize == 0 ? 0 : 1);
+
+ m_page = getPageData(m_pageIndex);
+
+ }
+
+ public int PageSize
+ {
+ get { return m_pageSize; }
+ set
+ {
+ m_pageSize = value;
+ updateView();
+ }
+ }
+
+ public string CurrentPage
+ {
+ get
+ {
+ return m_pageCount == 0 ? "" : string.Format("{0} / {1}", m_pageIndex, m_pageCount);
+ }
+ set
+ {
+
+ }
+ }
+
+ public int TotalCount
+ {
+ get
+ {
+ return m_machines == null ? 0 : m_machines.Count;
+ }
+ set
+ {
+
+ }
+ }
+
+ private void updateView()
+ {
+ List view = new List();
+ if (!string.IsNullOrEmpty(m_filter_code) || !string.IsNullOrEmpty(m_filter_factory))
+ {
+ foreach (Machine item in m_machines)
+ {
+ bool flag = true;
+ if (!string.IsNullOrEmpty(m_filter_code))
+ {
+ if (item.MachineCode.IndexOf(m_filter_code) == -1)
+ {
+ flag = false;
+ }
+ }
+ if (!string.IsNullOrEmpty(m_filter_factory))
+ {
+ if (item.FactoryName.IndexOf(m_filter_factory) == -1)
+ {
+ flag = false;
+ }
+ }
+ if (flag)
+ {
+ view.Add(item);
+ }
+ }
+ }
+ else
+ {
+ view.AddRange(m_machines);
+ }
+ m_rangle = view;
+ m_pageIndex = 1;
+ m_pageCount = (m_rangle.Count / m_pageSize) + (m_rangle.Count % m_pageSize == 0 ? 0 : 1);
+ m_page = getPageData(m_pageIndex);
+ }
+
+ public void ChangeFilter(string code, string factory)
+ {
+ this.m_filter_code = code;
+ this.m_filter_factory = factory;
+
+ updateView();
+ }
+
+ public List Page
+ {
+ get
+ {
+ return m_page;
+ }
+ }
+
+ private List getPageData(int pageIndex)
+ {
+ int index = (pageIndex - 1) * m_pageSize;
+ List page = new List(m_pageSize);
+ for (int i = 0; i < m_pageSize && index < m_rangle.Count; i++)
+ {
+ page.Add(m_rangle[index]);
+ index++;
+ }
+ return page;
+ }
+
+ public List NextPage(out bool ok)
+ {
+ int index = m_pageIndex * m_pageSize;
+ if (m_rangle == null || index >= m_rangle.Count)
+ {
+ ok = false;
+ return null;
+ }
+
+ m_pageIndex++;
+ m_page = getPageData(m_pageIndex);
+
+ ok = true;
+ return m_page;
+ }
+
+ public List PrevPage(out bool ok)
+ {
+ if (m_pageIndex == 1 || m_rangle == null)
+ {
+ ok = false;
+ return null;
+ }
+ m_pageIndex--;
+
+ m_page = getPageData(m_pageIndex);
+
+ ok = true;
+ return m_page;
+
+ }
+
+
+ }
+}
diff --git a/CNAS_Authorize/MainWindow.xaml b/CNAS_Authorize/MainWindow.xaml
new file mode 100644
index 0000000..ffa3d7e
--- /dev/null
+++ b/CNAS_Authorize/MainWindow.xaml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CNAS_Authorize/MainWindow.xaml.cs b/CNAS_Authorize/MainWindow.xaml.cs
new file mode 100644
index 0000000..c8253b6
--- /dev/null
+++ b/CNAS_Authorize/MainWindow.xaml.cs
@@ -0,0 +1,189 @@
+using CnasSynchronusClient;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace CNAS_Authorize
+{
+ ///
+ /// MainWindow.xaml 的交互逻辑
+ ///
+ public partial class MainWindow : Window
+ {
+
+ private MachineAuth m_machines;
+
+ public MainWindow()
+ {
+ InitializeComponent();
+
+ }
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ m_machines = new MachineAuth();
+ m_machines.Load();
+ dataGrid.ItemsSource = m_machines.Page;
+ this.DataContext = m_machines;
+ }
+
+ private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
+ {
+ if (this.Width < 500) return;
+ dataGrid.Width = this.Width - 48;
+ dataGrid.Height = centerPanel.Height;
+
+ //设置列宽
+ double colWidth = this.Width - 60;// centerPanel.Width;
+ for (int i = 1; i < dataGrid.Columns.Count; i++)
+ {
+ colWidth = colWidth - dataGrid.Columns[i].Width.Value;
+ }
+ if (colWidth > 0)
+ dataGrid.Columns[0].Width = colWidth;
+
+ edtMachine.Width = this.Width - lbMachine.Width - btnQuery.Width - 48;
+ edtFactory.Width = edtMachine.Width;
+
+ }
+
+ private void refreshBind()
+ {
+ this.DataContext = null;
+ this.DataContext = m_machines;
+ }
+
+ private void PrevPage_Click(object sender, RoutedEventArgs e)
+ {
+ bool ok;
+ List page = m_machines.PrevPage(out ok);
+ if (ok)
+ {
+ dataGrid.ItemsSource = page;
+ refreshBind();
+ }
+
+
+ }
+
+ private void NextPage_Click(object sender, RoutedEventArgs e)
+ {
+ bool ok;
+ List page = m_machines.NextPage(out ok);
+ if (ok)
+ {
+ dataGrid.ItemsSource = page;
+ refreshBind();
+ }
+
+ }
+
+ private void Query_Click(object sender, RoutedEventArgs e)
+ {
+ m_machines.ChangeFilter(edtMachine.Text.Trim(), edtFactory.Text.Trim());
+ dataGrid.ItemsSource = m_machines.Page;
+ refreshBind();
+ }
+
+ private void ConfirmImport_Click(object sender, RoutedEventArgs e)
+ {
+ //MySQLHelper.ExecuteNonQuery(strInsertSql, parameters);
+ //int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(ConvertDataRowToTable(drNewTarget), targetdataBase, banlanceitem.syncParamasInfos, banlanceitem.CnasInstrumentColumn, banlanceitem.lstFixedValue);
+ //if (iReturn <= 0) //此时出现问题
+ //{
+ // if (iReturn == -1)
+ // {
+ // AppLog.ServiceInfo("数据库连接中断,终止本次上传。");
+ // break; //此时数据库连接中断,直接跳出循环,结束本次数据同步传输
+ // }
+ // else if (iReturn == -2) //等于-2表示插入准备更新时发现数据一致,不再执行
+ // {
+ // OtherCount++;
+ // }
+ // else
+ // {
+ // ErrorCount++;
+ // /*需要转换一下,否则会将整个dt全部写入日志*/
+ // lstError.Add(GlobalCommonOperation.ConvertDataRowToTable(drNewTarget).Rows[0]);
+ // }
+
+ // bSuccess = false;
+ //}
+ }
+
+ private void DownloadActivationCode_Click(object sender, RoutedEventArgs e)
+ {
+ var button = sender as Button;
+ var machine = button.DataContext as Machine;
+ if (machine != null)
+ {
+ try
+ {
+ // 生成激活码
+ string activationCode = GenerateActivationCode(machine.MachineCode);
+
+ // 创建保存文件对话框
+ var saveFileDialog = new Microsoft.Win32.SaveFileDialog
+ {
+ FileName = $"激活码_{machine.MachineCode}_{DateTime.Now:yyyyMMdd}",
+ DefaultExt = ".txt",
+ Filter = "文本文件|*.txt"
+ };
+
+ if (saveFileDialog.ShowDialog() == true)
+ {
+ // 将激活码写入文件
+ System.IO.File.WriteAllText(saveFileDialog.FileName, activationCode);
+ MessageBox.Show("激活码已成功保存!", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
+
+ // 更新状态
+ machine.IsGenerated = true;
+ refreshBind();
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"下载激活码失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
+ }
+ }
+ }
+
+ private string GenerateActivationCode(string machineCode)
+ {
+ // 这里实现激活码生成算法
+ // 示例:简单的加密算法,实际应用中应该使用更安全的加密方式
+ using (var md5 = System.Security.Cryptography.MD5.Create())
+ {
+ // 加入时间戳使得生成的激活码具有时效性
+ string input = machineCode + DateTime.Now.ToString("yyyyMMdd");
+ byte[] inputBytes = Encoding.UTF8.GetBytes(input);
+ byte[] hashBytes = md5.ComputeHash(inputBytes);
+
+ // 转换为16进制字符串
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < hashBytes.Length; i++)
+ {
+ sb.Append(hashBytes[i].ToString("X2"));
+ // 每4个字符添加一个分隔符,提高可读性
+ if ((i + 1) % 4 == 0 && i != hashBytes.Length - 1)
+ {
+ sb.Append("-");
+ }
+ }
+ return sb.ToString();
+ }
+ }
+ }
+}
diff --git a/CNAS_Authorize/Properties/AssemblyInfo.cs b/CNAS_Authorize/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4477ae4
--- /dev/null
+++ b/CNAS_Authorize/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("CNAS_Authorize")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CNAS_Authorize")]
+[assembly: AssemblyCopyright("Copyright © 2025")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//将 ComVisible 设置为 false 将使此程序集中的类型
+//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+//若要开始生成可本地化的应用程序,请
+// 中的 .csproj 文件中
+//例如,如果您在源文件中使用的是美国英语,
+//使用的是美国英语,请将 设置为 en-US。 然后取消
+//对以下 NeutralResourceLanguage 特性的注释。 更新
+//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //主题特定资源词典所处位置
+ //(当资源未在页面
+ //或应用程序资源字典中找到时使用)
+ ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置
+ //(当资源未在页面
+ //、应用程序或任何主题专用资源字典中找到时使用)
+)]
+
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”: :
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CNAS_Authorize/Properties/Resources.Designer.cs b/CNAS_Authorize/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..015f89f
--- /dev/null
+++ b/CNAS_Authorize/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本: 4.0.30319.42000
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace CNAS_Authorize.Properties
+{
+
+
+ ///
+ /// 强类型资源类,用于查找本地化字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// 返回此类使用的缓存 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CNAS_Authorize.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 覆盖当前线程的 CurrentUICulture 属性
+ /// 使用此强类型的资源类的资源查找。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/CNAS_Authorize/Properties/Resources.resx b/CNAS_Authorize/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/CNAS_Authorize/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/CNAS_Authorize/Properties/Settings.Designer.cs b/CNAS_Authorize/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..d1756a9
--- /dev/null
+++ b/CNAS_Authorize/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace CNAS_Authorize.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/CNAS_Authorize/Properties/Settings.settings b/CNAS_Authorize/Properties/Settings.settings
new file mode 100644
index 0000000..033d7a5
--- /dev/null
+++ b/CNAS_Authorize/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_BalanceClient/App.config b/CNAS_BalanceClient/App.config
index 4dffbab..4c0c27d 100644
--- a/CNAS_BalanceClient/App.config
+++ b/CNAS_BalanceClient/App.config
@@ -1,48 +1,56 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/CNAS_BalanceClient/CNAS_BalanceClient.csproj b/CNAS_BalanceClient/CNAS_BalanceClient.csproj
index db43e90..4d08453 100644
--- a/CNAS_BalanceClient/CNAS_BalanceClient.csproj
+++ b/CNAS_BalanceClient/CNAS_BalanceClient.csproj
@@ -8,9 +8,10 @@
WinExe
CNAS_BalanceClient
CNAS_BalanceClient
- v4.0
+ v4.8
512
true
+
x86
@@ -21,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -30,6 +32,10 @@
TRACE
prompt
4
+ false
+
+
+ scales_of_Balance_16px_1117673_easyicon.net.ico
@@ -49,7 +55,12 @@
-
+
+ Form
+
+
+ frmConditionMap.cs
+
@@ -95,6 +106,9 @@
frmBalanceMain.cs
+
+ frmConditionMap.cs
+
frmConfigPort.cs
@@ -112,6 +126,7 @@
True
Resources.resx
+ True
@@ -137,6 +152,13 @@
{0c3243f5-729e-409c-b406-c6de56e632e0}
CnasSynchrousModel
+
+ {abb56058-b6fd-4747-a4e9-9c9361d6d993}
+ CNAS_SerialPort
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_BalanceClient/IBalanceReceive.cs b/CNAS_BalanceClient/IBalanceReceive.cs
deleted file mode 100644
index 62b3c17..0000000
--- a/CNAS_BalanceClient/IBalanceReceive.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace CNAS_BalanceClient
-{
- public interface IBalanceReceive
- {
-
- }
-}
diff --git a/CNAS_BalanceClient/Program.cs b/CNAS_BalanceClient/Program.cs
index 0cf7d10..b440d0b 100644
--- a/CNAS_BalanceClient/Program.cs
+++ b/CNAS_BalanceClient/Program.cs
@@ -1,4 +1,6 @@
-using System;
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
@@ -15,7 +17,14 @@ namespace CNAS_BalanceClient
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
- if(new frmLoginServer().ShowDialog()==DialogResult.OK)
+
+ SystemFormatConfig systemFormat = FileOperation.GetSystemFormatConfigData();
+ GlobalCommonOperation.strStartGeneralVersion = systemFormat.StartGeneralVersion;
+ GlobalCommonOperation.strStartWebApi = systemFormat.StartWebApi;
+ GlobalCommonOperation.strWebApiUrl = systemFormat.WebApiUrl;
+ GlobalCommonOperation.strTargetDbType = systemFormat.TargetDBType;
+
+ if (new frmLoginServer().ShowDialog()==DialogResult.OK)
Application.Run(new frmBalanceMain());
}
}
diff --git a/CNAS_BalanceClient/Properties/Resources.Designer.cs b/CNAS_BalanceClient/Properties/Resources.Designer.cs
index e9c2d39..00d19a1 100644
--- a/CNAS_BalanceClient/Properties/Resources.Designer.cs
+++ b/CNAS_BalanceClient/Properties/Resources.Designer.cs
@@ -1,69 +1,61 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行时版本: 4.0.30319.42000
+// 运行时版本:4.0.30319.42000
//
-// 对此文件的更改可能导致不正确的行为,如果
-// 重新生成代码,则所做更改将丢失。
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace CNAS_BalanceClient.Properties
-{
-
-
+namespace CNAS_BalanceClient.Properties {
+ using System;
+
+
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CNAS_BalanceClient.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// 覆盖当前线程的 CurrentUICulture 属性
- /// 使用此强类型的资源类的资源查找。
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
diff --git a/CNAS_BalanceClient/Properties/Settings.Designer.cs b/CNAS_BalanceClient/Properties/Settings.Designer.cs
index b81e380..d36ae2c 100644
--- a/CNAS_BalanceClient/Properties/Settings.Designer.cs
+++ b/CNAS_BalanceClient/Properties/Settings.Designer.cs
@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace CNAS_BalanceClient.Properties
-{
-
-
+namespace CNAS_BalanceClient.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
diff --git a/CNAS_BalanceClient/UIOperation/BalanceMainOperation.cs b/CNAS_BalanceClient/UIOperation/BalanceMainOperation.cs
index 37ea4d7..a0757a8 100644
--- a/CNAS_BalanceClient/UIOperation/BalanceMainOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/BalanceMainOperation.cs
@@ -335,13 +335,13 @@ namespace CNAS_BalanceClient
{
if (value < 0 || value > 100)
{
- MessageBox.Show("输入值范围为0~100");
+ MessageBox.Show("输入值范围为0~100", "提示");
bIfSuccess = false;
}
}
else
{
- MessageBox.Show("输入值范围为0~100的数字");
+ MessageBox.Show("输入值范围为0~100的数字", "提示");
bIfSuccess = false;
}
return bIfSuccess;
diff --git a/CNAS_BalanceClient/UIOperation/CrucibleUIOperation.cs b/CNAS_BalanceClient/UIOperation/CrucibleUIOperation.cs
index bca7fbd..a76f65c 100644
--- a/CNAS_BalanceClient/UIOperation/CrucibleUIOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/CrucibleUIOperation.cs
@@ -44,7 +44,7 @@ namespace CNAS_BalanceClient
}
if (defaultdouble > MaxValue || defaultdouble < MinValue)
{
- MessageBox.Show($"称重范围是{MinValue}g~{MaxValue}g.");
+ MessageBox.Show($"称重范围是{MinValue}g~{MaxValue}g.", "提示");
return;
}
diff --git a/CNAS_BalanceClient/UIOperation/HuiFaFenUIOperation.cs b/CNAS_BalanceClient/UIOperation/HuiFaFenUIOperation.cs
index 7b56d1c..446739a 100644
--- a/CNAS_BalanceClient/UIOperation/HuiFaFenUIOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/HuiFaFenUIOperation.cs
@@ -30,7 +30,7 @@ namespace CNAS_BalanceClient
case "4": //空坩埚重
if (balanceWeight < 15 || balanceWeight > 20)
{
- MessageBox.Show("样重范围是15g~20g");
+ MessageBox.Show("样重范围是15g~20g", "提示");
bIfUpdate = false;
}
else
@@ -59,7 +59,7 @@ namespace CNAS_BalanceClient
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -109,7 +109,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateVr(query[0].AddSample_Weight, query[0].Sample_Weight, new double[3] { query[0].BurningResidue_Weight, query[0].SecondBurningResidue_Weight, query[0].ThirdBurningResidue_Weight }, ref strMsg);
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFaFen.Rows[currentRowIndex].Cells["Vr"].Value = percentdouble;
@@ -117,7 +117,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateVad(CalculateOperation.CalculateVr(query[0].AddSample_Weight, query[0].Sample_Weight, new double[3] { query[0].BurningResidue_Weight, query[0].SecondBurningResidue_Weight, query[0].ThirdBurningResidue_Weight }, ref strMsg), Convert.ToDouble(dgvHuiFaFen.Rows[currentRowIndex].Cells["MAD2"].Value));
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFaFen.Rows[currentRowIndex].Cells["VAD"].Value = percentdouble;
diff --git a/CNAS_BalanceClient/UIOperation/HuiFenUIOperation.cs b/CNAS_BalanceClient/UIOperation/HuiFenUIOperation.cs
index 8c148d6..5a4a0b1 100644
--- a/CNAS_BalanceClient/UIOperation/HuiFenUIOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/HuiFenUIOperation.cs
@@ -33,7 +33,7 @@ namespace CNAS_BalanceClient
case "5": //样重
if (balanceWeight < 0.9 || balanceWeight > 1.1)
{
- MessageBox.Show("样重范围是0.9g~1.1g");
+ MessageBox.Show("样重范围是0.9g~1.1g", "提示");
bIfUpdate = false;
}
else
@@ -48,7 +48,7 @@ namespace CNAS_BalanceClient
case "7"://烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -65,7 +65,7 @@ namespace CNAS_BalanceClient
case "8"://二次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -82,7 +82,7 @@ namespace CNAS_BalanceClient
case "9"://三次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -131,7 +131,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateDecrement(query[0].AddSample_Weight, new double[1] { query[0].BurningResidue_Weight });
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFen.Rows[CurrentRowIndex].Cells["DecrementValue2"].Value = percentdouble;
@@ -141,7 +141,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateDecrement(query[0].AddSample_Weight, new double[2] { query[0].BurningResidue_Weight, query[0].SecondBurningResidue_Weight });
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFen.Rows[CurrentRowIndex].Cells["DecrementValue2"].Value = percentdouble;
@@ -151,7 +151,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateDecrement(query[0].AddSample_Weight, new double[3] { query[0].BurningResidue_Weight, query[0].SecondBurningResidue_Weight, query[0].ThirdBurningResidue_Weight });
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFen.Rows[CurrentRowIndex].Cells["DecrementValue2"].Value = percentdouble;
@@ -160,7 +160,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateAad(query[0].AddSample_Weight, query[0].Sample_Weight, new double[3] { query[0].BurningResidue_Weight, query[0].SecondBurningResidue_Weight, query[0].ThirdBurningResidue_Weight }, ref strMsg);
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgvHuiFen.Rows[CurrentRowIndex].Cells["AAD"].Value = percentdouble;
diff --git a/CNAS_BalanceClient/UIOperation/QuanShuiFenUIOperation.cs b/CNAS_BalanceClient/UIOperation/QuanShuiFenUIOperation.cs
index 4d6e935..93ca4f9 100644
--- a/CNAS_BalanceClient/UIOperation/QuanShuiFenUIOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/QuanShuiFenUIOperation.cs
@@ -45,7 +45,7 @@ namespace CNAS_BalanceClient
}
if (balanceWeight < MinValue || balanceWeight > MaxValue)
{
- MessageBox.Show($"样重范围是{MinValue}g~{MaxValue}g");
+ MessageBox.Show($"样重范围是{MinValue}g~{MaxValue}g.", "提示");
bIfUpdate = false;
}
else
@@ -60,7 +60,7 @@ namespace CNAS_BalanceClient
case "7"://烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -77,7 +77,7 @@ namespace CNAS_BalanceClient
case "8"://二次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -94,7 +94,7 @@ namespace CNAS_BalanceClient
case "9"://三次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -146,7 +146,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateMt(query[0].AddSample_Weight, query[0].Sample_Weight, new double[1] { query[0].Drying_Weight }, ref strMsg);
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgv.Rows[CurrentRowIndex].Cells["Mt"].Value = percentdouble;
@@ -157,7 +157,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateMt(query[0].AddSample_Weight, query[0].Sample_Weight, new double[2] { query[0].Drying_Weight, query[0].SecondDrying_Weight }, ref strMsg);
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgv.Rows[CurrentRowIndex].Cells["Mt"].Value = percentdouble;
@@ -167,7 +167,7 @@ namespace CNAS_BalanceClient
percentdouble = CalculateOperation.CalculateMt(query[0].AddSample_Weight, query[0].Sample_Weight, new double[3] { query[0].Drying_Weight, query[0].SecondDrying_Weight, query[0].ThirdDrying_Weight }, ref strMsg);
if (percentdouble > 100 || percentdouble < 0)
{
- MessageBox.Show("百分比计算结果出错,请调整数据。");
+ MessageBox.Show("百分比计算结果出错,请调整数据。", "提示");
return false;
}
dgv.Rows[CurrentRowIndex].Cells["Mt"].Value = percentdouble;
diff --git a/CNAS_BalanceClient/UIOperation/ShuiFenUIOperation.cs b/CNAS_BalanceClient/UIOperation/ShuiFenUIOperation.cs
index b812c1f..17b2e74 100644
--- a/CNAS_BalanceClient/UIOperation/ShuiFenUIOperation.cs
+++ b/CNAS_BalanceClient/UIOperation/ShuiFenUIOperation.cs
@@ -33,7 +33,7 @@ namespace CNAS_BalanceClient
case "5": //样重
if (balanceWeight < 0.9 || balanceWeight > 1.1)
{
- MessageBox.Show("样重范围是0.9g~1.1g");
+ MessageBox.Show("样重范围是0.9g~1.1g", "提示");
bIfUpdate = false;
}
else
@@ -48,7 +48,7 @@ namespace CNAS_BalanceClient
case "7"://烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -65,7 +65,7 @@ namespace CNAS_BalanceClient
case "8"://二次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
@@ -82,7 +82,7 @@ namespace CNAS_BalanceClient
case "9"://三次烘干重
if (query[0].AddSample_Weight != 0 && balanceWeight > query[0].AddSample_Weight)
{
- MessageBox.Show("烘干重不能大于加样重,请调整后再传入。");
+ MessageBox.Show("烘干重不能大于加样重,请调整后再传入。", "提示");
bIfUpdate = false;
}
else
diff --git a/CNAS_BalanceClient/frmBalanceField.Designer.cs b/CNAS_BalanceClient/frmBalanceField.Designer.cs
index 79e2130..be7a056 100644
--- a/CNAS_BalanceClient/frmBalanceField.Designer.cs
+++ b/CNAS_BalanceClient/frmBalanceField.Designer.cs
@@ -28,57 +28,63 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBalanceField));
this.pnlAll = new System.Windows.Forms.Panel();
this.pnlCenter = new System.Windows.Forms.Panel();
this.pnlbalanceRight = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
- this.tabMapping = new System.Windows.Forms.TabControl();
- this.tabPage5 = new System.Windows.Forms.TabPage();
- this.dgvMapping = new System.Windows.Forms.DataGridView();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage6 = new System.Windows.Forms.TabPage();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.dgvbalancefield = new System.Windows.Forms.DataGridView();
+ this.InstruFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.InstruDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel4 = new System.Windows.Forms.Panel();
this.label12 = new System.Windows.Forms.Label();
this.dgvCnas = new System.Windows.Forms.DataGridView();
+ this.CNASFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.CnasDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel5 = new System.Windows.Forms.Panel();
this.cbxCnas = new System.Windows.Forms.ComboBox();
this.label13 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.panel1 = new System.Windows.Forms.Panel();
+ this.panel10 = new System.Windows.Forms.Panel();
this.btnDeleteMapping = new System.Windows.Forms.Button();
this.btnAddMapping = new System.Windows.Forms.Button();
this.pnlbalanceLeft = new System.Windows.Forms.Panel();
+ this.panel9 = new System.Windows.Forms.Panel();
+ this.panel7 = new System.Windows.Forms.Panel();
this.lstBalance = new System.Windows.Forms.ListBox();
+ this.panel6 = new System.Windows.Forms.Panel();
+ this.label1 = new System.Windows.Forms.Label();
this.pnlBottom = new System.Windows.Forms.Panel();
+ this.panel8 = new System.Windows.Forms.Panel();
this.btnOK = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
this.pnlTop = new System.Windows.Forms.Panel();
this.pnlRight = new System.Windows.Forms.Panel();
this.pnlLeft = new System.Windows.Forms.Panel();
- this.panel6 = new System.Windows.Forms.Panel();
- this.panel7 = new System.Windows.Forms.Panel();
+ this.panel11 = new System.Windows.Forms.Panel();
+ this.label2 = new System.Windows.Forms.Label();
+ this.panel12 = new System.Windows.Forms.Panel();
+ this.txtInstrumentColumn = new System.Windows.Forms.TextBox();
+ this.cbxCNASColumn = new System.Windows.Forms.ComboBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.panel13 = new System.Windows.Forms.Panel();
+ this.dgvMapping = new System.Windows.Forms.DataGridView();
this.InstrumentField = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CnasField = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.PrimaryKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.DateKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
- this.label1 = new System.Windows.Forms.Label();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.panel8 = new System.Windows.Forms.Panel();
- this.panel9 = new System.Windows.Forms.Panel();
- this.panel10 = new System.Windows.Forms.Panel();
- this.InstruFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.InstruDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CNASFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CnasDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.btnConditionMap = new System.Windows.Forms.Button();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
this.pnlbalanceRight.SuspendLayout();
@@ -87,9 +93,6 @@
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
- this.tabMapping.SuspendLayout();
- this.tabPage5.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
@@ -101,12 +104,16 @@
((System.ComponentModel.ISupportInitialize)(this.dgvCnas)).BeginInit();
this.panel5.SuspendLayout();
this.panel1.SuspendLayout();
+ this.panel10.SuspendLayout();
this.pnlbalanceLeft.SuspendLayout();
- this.pnlBottom.SuspendLayout();
- this.panel6.SuspendLayout();
this.panel7.SuspendLayout();
+ this.panel6.SuspendLayout();
+ this.pnlBottom.SuspendLayout();
this.panel8.SuspendLayout();
- this.panel10.SuspendLayout();
+ this.panel11.SuspendLayout();
+ this.panel12.SuspendLayout();
+ this.panel13.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).BeginInit();
this.SuspendLayout();
//
// pnlAll
@@ -161,7 +168,8 @@
//
// splitContainer1.Panel1
//
- this.splitContainer1.Panel1.Controls.Add(this.tabMapping);
+ this.splitContainer1.Panel1.Controls.Add(this.panel13);
+ this.splitContainer1.Panel1.Controls.Add(this.panel11);
//
// splitContainer1.Panel2
//
@@ -170,59 +178,6 @@
this.splitContainer1.SplitterDistance = 202;
this.splitContainer1.TabIndex = 0;
//
- // tabMapping
- //
- this.tabMapping.Controls.Add(this.tabPage5);
- this.tabMapping.Dock = System.Windows.Forms.DockStyle.Fill;
- this.tabMapping.Location = new System.Drawing.Point(0, 0);
- this.tabMapping.Name = "tabMapping";
- this.tabMapping.SelectedIndex = 0;
- this.tabMapping.Size = new System.Drawing.Size(703, 202);
- this.tabMapping.TabIndex = 1;
- //
- // tabPage5
- //
- this.tabPage5.Controls.Add(this.dgvMapping);
- this.tabPage5.Location = new System.Drawing.Point(4, 26);
- this.tabPage5.Name = "tabPage5";
- this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage5.Size = new System.Drawing.Size(695, 172);
- this.tabPage5.TabIndex = 1;
- this.tabPage5.Text = "映射表";
- this.tabPage5.UseVisualStyleBackColor = true;
- //
- // dgvMapping
- //
- this.dgvMapping.AllowUserToAddRows = false;
- this.dgvMapping.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvMapping.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
- this.dgvMapping.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.dgvMapping.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
- this.InstrumentField,
- this.CnasField,
- this.PrimaryKey,
- this.DateKey});
- this.dgvMapping.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dgvMapping.Location = new System.Drawing.Point(3, 3);
- this.dgvMapping.MultiSelect = false;
- this.dgvMapping.Name = "dgvMapping";
- this.dgvMapping.RowHeadersVisible = false;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.dgvMapping.RowsDefaultCellStyle = dataGridViewCellStyle2;
- this.dgvMapping.RowTemplate.Height = 23;
- this.dgvMapping.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dgvMapping.Size = new System.Drawing.Size(689, 166);
- this.dgvMapping.TabIndex = 0;
- this.dgvMapping.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvMapping_CellValueChanged);
- this.dgvMapping.CurrentCellDirtyStateChanged += new System.EventHandler(this.dgvMapping_CurrentCellDirtyStateChanged);
- //
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage6);
@@ -291,6 +246,22 @@
this.dgvbalancefield.Size = new System.Drawing.Size(342, 186);
this.dgvbalancefield.TabIndex = 1;
//
+ // InstruFieldName
+ //
+ this.InstruFieldName.DataPropertyName = "FieldName";
+ this.InstruFieldName.HeaderText = "列名";
+ this.InstruFieldName.Name = "InstruFieldName";
+ this.InstruFieldName.ReadOnly = true;
+ this.InstruFieldName.Width = 155;
+ //
+ // InstruDataType
+ //
+ this.InstruDataType.DataPropertyName = "FieldType";
+ this.InstruDataType.HeaderText = "数据类型";
+ this.InstruDataType.Name = "InstruDataType";
+ this.InstruDataType.ReadOnly = true;
+ this.InstruDataType.Width = 130;
+ //
// panel4
//
this.panel4.Controls.Add(this.label12);
@@ -337,6 +308,22 @@
this.dgvCnas.Size = new System.Drawing.Size(343, 186);
this.dgvCnas.TabIndex = 2;
//
+ // CNASFieldName
+ //
+ this.CNASFieldName.DataPropertyName = "CnasFieldName";
+ this.CNASFieldName.HeaderText = "列名";
+ this.CNASFieldName.Name = "CNASFieldName";
+ this.CNASFieldName.ReadOnly = true;
+ this.CNASFieldName.Width = 155;
+ //
+ // CnasDataType
+ //
+ this.CnasDataType.DataPropertyName = "CnasDataType";
+ this.CnasDataType.HeaderText = "数据类型";
+ this.CnasDataType.Name = "CnasDataType";
+ this.CnasDataType.ReadOnly = true;
+ this.CnasDataType.Width = 130;
+ //
// panel5
//
this.panel5.Controls.Add(this.cbxCnas);
@@ -383,6 +370,17 @@
this.panel1.Size = new System.Drawing.Size(708, 31);
this.panel1.TabIndex = 0;
//
+ // panel10
+ //
+ this.panel10.Controls.Add(this.btnConditionMap);
+ this.panel10.Controls.Add(this.btnDeleteMapping);
+ this.panel10.Controls.Add(this.btnAddMapping);
+ this.panel10.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel10.Location = new System.Drawing.Point(444, 0);
+ this.panel10.Name = "panel10";
+ this.panel10.Size = new System.Drawing.Size(264, 31);
+ this.panel10.TabIndex = 5;
+ //
// btnDeleteMapping
//
this.btnDeleteMapping.Location = new System.Drawing.Point(93, 2);
@@ -414,6 +412,23 @@
this.pnlbalanceLeft.Size = new System.Drawing.Size(121, 493);
this.pnlbalanceLeft.TabIndex = 0;
//
+ // panel9
+ //
+ this.panel9.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.panel9.Location = new System.Drawing.Point(0, 462);
+ this.panel9.Name = "panel9";
+ this.panel9.Size = new System.Drawing.Size(121, 31);
+ this.panel9.TabIndex = 3;
+ //
+ // panel7
+ //
+ this.panel7.Controls.Add(this.lstBalance);
+ this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel7.Location = new System.Drawing.Point(0, 29);
+ this.panel7.Name = "panel7";
+ this.panel7.Size = new System.Drawing.Size(121, 464);
+ this.panel7.TabIndex = 2;
+ //
// lstBalance
//
this.lstBalance.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -432,6 +447,24 @@
this.lstBalance.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.lstBalance_DrawItem);
this.lstBalance.SelectedIndexChanged += new System.EventHandler(this.lstBalance_SelectedIndexChanged);
//
+ // panel6
+ //
+ this.panel6.Controls.Add(this.label1);
+ this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
+ this.panel6.Location = new System.Drawing.Point(0, 0);
+ this.panel6.Name = "panel6";
+ this.panel6.Size = new System.Drawing.Size(121, 29);
+ this.panel6.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(-1, 5);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(56, 17);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "化验类型";
+ //
// pnlBottom
//
this.pnlBottom.Controls.Add(this.panel8);
@@ -442,6 +475,15 @@
this.pnlBottom.Size = new System.Drawing.Size(829, 56);
this.pnlBottom.TabIndex = 3;
//
+ // panel8
+ //
+ this.panel8.Controls.Add(this.btnOK);
+ this.panel8.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel8.Location = new System.Drawing.Point(732, 13);
+ this.panel8.Name = "panel8";
+ this.panel8.Size = new System.Drawing.Size(97, 43);
+ this.panel8.TabIndex = 2;
+ //
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(4, 6);
@@ -452,6 +494,15 @@
this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
+ // groupBox1
+ //
+ this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
+ this.groupBox1.Location = new System.Drawing.Point(0, 0);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(829, 13);
+ this.groupBox1.TabIndex = 1;
+ this.groupBox1.TabStop = false;
+ //
// pnlTop
//
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
@@ -476,23 +527,104 @@
this.pnlLeft.Size = new System.Drawing.Size(10, 554);
this.pnlLeft.TabIndex = 0;
//
- // panel6
+ // panel11
+ //
+ this.panel11.Controls.Add(this.panel12);
+ this.panel11.Controls.Add(this.label2);
+ this.panel11.Dock = System.Windows.Forms.DockStyle.Top;
+ this.panel11.Location = new System.Drawing.Point(0, 0);
+ this.panel11.Name = "panel11";
+ this.panel11.Size = new System.Drawing.Size(703, 29);
+ this.panel11.TabIndex = 2;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(10, 5);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(44, 17);
+ this.label2.TabIndex = 1;
+ this.label2.Text = "映射表";
+ //
+ // panel12
+ //
+ this.panel12.Controls.Add(this.txtInstrumentColumn);
+ this.panel12.Controls.Add(this.cbxCNASColumn);
+ this.panel12.Controls.Add(this.label3);
+ this.panel12.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel12.Location = new System.Drawing.Point(394, 0);
+ this.panel12.Name = "panel12";
+ this.panel12.Size = new System.Drawing.Size(309, 29);
+ this.panel12.TabIndex = 3;
+ //
+ // txtInstrumentColumn
+ //
+ this.txtInstrumentColumn.Location = new System.Drawing.Point(111, 3);
+ this.txtInstrumentColumn.Name = "txtInstrumentColumn";
+ this.txtInstrumentColumn.ReadOnly = true;
+ this.txtInstrumentColumn.Size = new System.Drawing.Size(190, 23);
+ this.txtInstrumentColumn.TabIndex = 10;
+ this.txtInstrumentColumn.DoubleClick += new System.EventHandler(this.txtInstrumentColumn_DoubleClick);
+ //
+ // cbxCNASColumn
+ //
+ this.cbxCNASColumn.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbxCNASColumn.FormattingEnabled = true;
+ this.cbxCNASColumn.Location = new System.Drawing.Point(111, 7);
+ this.cbxCNASColumn.Name = "cbxCNASColumn";
+ this.cbxCNASColumn.Size = new System.Drawing.Size(179, 25);
+ this.cbxCNASColumn.TabIndex = 9;
+ this.cbxCNASColumn.Visible = false;
+ this.cbxCNASColumn.SelectedIndexChanged += new System.EventHandler(this.cbxCNASColumn_SelectedIndexChanged);
+ this.cbxCNASColumn.Leave += new System.EventHandler(this.cbxCNASColumn_Leave);
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(3, 7);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(113, 17);
+ this.label3.TabIndex = 8;
+ this.label3.Text = "CNAS仪器信息列:";
+ //
+ // panel13
+ //
+ this.panel13.Controls.Add(this.dgvMapping);
+ this.panel13.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel13.Location = new System.Drawing.Point(0, 29);
+ this.panel13.Name = "panel13";
+ this.panel13.Size = new System.Drawing.Size(703, 173);
+ this.panel13.TabIndex = 3;
//
- this.panel6.Controls.Add(this.label1);
- this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel6.Location = new System.Drawing.Point(0, 0);
- this.panel6.Name = "panel6";
- this.panel6.Size = new System.Drawing.Size(121, 29);
- this.panel6.TabIndex = 1;
- //
- // panel7
+ // dgvMapping
//
- this.panel7.Controls.Add(this.lstBalance);
- this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel7.Location = new System.Drawing.Point(0, 29);
- this.panel7.Name = "panel7";
- this.panel7.Size = new System.Drawing.Size(121, 464);
- this.panel7.TabIndex = 2;
+ this.dgvMapping.AllowUserToAddRows = false;
+ this.dgvMapping.BackgroundColor = System.Drawing.Color.White;
+ dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvMapping.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+ this.dgvMapping.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvMapping.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.InstrumentField,
+ this.CnasField,
+ this.PrimaryKey,
+ this.DateKey});
+ this.dgvMapping.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvMapping.Location = new System.Drawing.Point(0, 0);
+ this.dgvMapping.MultiSelect = false;
+ this.dgvMapping.Name = "dgvMapping";
+ this.dgvMapping.RowHeadersVisible = false;
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.dgvMapping.RowsDefaultCellStyle = dataGridViewCellStyle2;
+ this.dgvMapping.RowTemplate.Height = 23;
+ this.dgvMapping.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+ this.dgvMapping.Size = new System.Drawing.Size(703, 173);
+ this.dgvMapping.TabIndex = 1;
//
// InstrumentField
//
@@ -521,82 +653,15 @@
this.DateKey.HeaderText = "日期字段";
this.DateKey.Name = "DateKey";
//
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(-1, 5);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(56, 17);
- this.label1.TabIndex = 0;
- this.label1.Text = "化验类型";
- //
- // groupBox1
- //
- this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
- this.groupBox1.Location = new System.Drawing.Point(0, 0);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(829, 13);
- this.groupBox1.TabIndex = 1;
- this.groupBox1.TabStop = false;
+ // btnConditionMap
//
- // panel8
- //
- this.panel8.Controls.Add(this.btnOK);
- this.panel8.Dock = System.Windows.Forms.DockStyle.Right;
- this.panel8.Location = new System.Drawing.Point(732, 13);
- this.panel8.Name = "panel8";
- this.panel8.Size = new System.Drawing.Size(97, 43);
- this.panel8.TabIndex = 2;
- //
- // panel9
- //
- this.panel9.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel9.Location = new System.Drawing.Point(0, 462);
- this.panel9.Name = "panel9";
- this.panel9.Size = new System.Drawing.Size(121, 31);
- this.panel9.TabIndex = 3;
- //
- // panel10
- //
- this.panel10.Controls.Add(this.btnDeleteMapping);
- this.panel10.Controls.Add(this.btnAddMapping);
- this.panel10.Dock = System.Windows.Forms.DockStyle.Right;
- this.panel10.Location = new System.Drawing.Point(528, 0);
- this.panel10.Name = "panel10";
- this.panel10.Size = new System.Drawing.Size(180, 31);
- this.panel10.TabIndex = 5;
- //
- // InstruFieldName
- //
- this.InstruFieldName.DataPropertyName = "FieldName";
- this.InstruFieldName.HeaderText = "列名";
- this.InstruFieldName.Name = "InstruFieldName";
- this.InstruFieldName.ReadOnly = true;
- this.InstruFieldName.Width = 155;
- //
- // InstruDataType
- //
- this.InstruDataType.DataPropertyName = "FieldType";
- this.InstruDataType.HeaderText = "数据类型";
- this.InstruDataType.Name = "InstruDataType";
- this.InstruDataType.ReadOnly = true;
- this.InstruDataType.Width = 130;
- //
- // CNASFieldName
- //
- this.CNASFieldName.DataPropertyName = "CnasFieldName";
- this.CNASFieldName.HeaderText = "列名";
- this.CNASFieldName.Name = "CNASFieldName";
- this.CNASFieldName.ReadOnly = true;
- this.CNASFieldName.Width = 155;
- //
- // CnasDataType
- //
- this.CnasDataType.DataPropertyName = "CnasDataType";
- this.CnasDataType.HeaderText = "数据类型";
- this.CnasDataType.Name = "CnasDataType";
- this.CnasDataType.ReadOnly = true;
- this.CnasDataType.Width = 130;
+ this.btnConditionMap.Location = new System.Drawing.Point(178, 2);
+ this.btnConditionMap.Name = "btnConditionMap";
+ this.btnConditionMap.Size = new System.Drawing.Size(79, 23);
+ this.btnConditionMap.TabIndex = 5;
+ this.btnConditionMap.Text = "条件映射";
+ this.btnConditionMap.UseVisualStyleBackColor = true;
+ this.btnConditionMap.Click += new System.EventHandler(this.btnConditionMap_Click);
//
// frmBalanceField
//
@@ -619,9 +684,6 @@
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
- this.tabMapping.ResumeLayout(false);
- this.tabPage5.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage6.ResumeLayout(false);
this.splitContainer2.Panel1.ResumeLayout(false);
@@ -635,13 +697,19 @@
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.panel1.ResumeLayout(false);
+ this.panel10.ResumeLayout(false);
this.pnlbalanceLeft.ResumeLayout(false);
- this.pnlBottom.ResumeLayout(false);
+ this.panel7.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
- this.panel7.ResumeLayout(false);
+ this.pnlBottom.ResumeLayout(false);
this.panel8.ResumeLayout(false);
- this.panel10.ResumeLayout(false);
+ this.panel11.ResumeLayout(false);
+ this.panel11.PerformLayout();
+ this.panel12.ResumeLayout(false);
+ this.panel12.PerformLayout();
+ this.panel13.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).EndInit();
this.ResumeLayout(false);
}
@@ -664,9 +732,6 @@
private System.Windows.Forms.Button btnAddMapping;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.SplitContainer splitContainer1;
- private System.Windows.Forms.TabControl tabMapping;
- private System.Windows.Forms.TabPage tabPage5;
- private System.Windows.Forms.DataGridView dgvMapping;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.SplitContainer splitContainer2;
@@ -679,10 +744,6 @@
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Panel panel7;
private System.Windows.Forms.Panel panel6;
- private System.Windows.Forms.DataGridViewTextBoxColumn InstrumentField;
- private System.Windows.Forms.DataGridViewTextBoxColumn CnasField;
- private System.Windows.Forms.DataGridViewCheckBoxColumn PrimaryKey;
- private System.Windows.Forms.DataGridViewCheckBoxColumn DateKey;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Panel panel8;
@@ -692,5 +753,18 @@
private System.Windows.Forms.DataGridViewTextBoxColumn InstruDataType;
private System.Windows.Forms.DataGridViewTextBoxColumn CNASFieldName;
private System.Windows.Forms.DataGridViewTextBoxColumn CnasDataType;
+ private System.Windows.Forms.Panel panel11;
+ private System.Windows.Forms.Panel panel12;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Panel panel13;
+ private System.Windows.Forms.DataGridView dgvMapping;
+ private System.Windows.Forms.DataGridViewTextBoxColumn InstrumentField;
+ private System.Windows.Forms.DataGridViewTextBoxColumn CnasField;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn PrimaryKey;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn DateKey;
+ private System.Windows.Forms.TextBox txtInstrumentColumn;
+ private System.Windows.Forms.ComboBox cbxCNASColumn;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Button btnConditionMap;
}
}
\ No newline at end of file
diff --git a/CNAS_BalanceClient/frmBalanceField.cs b/CNAS_BalanceClient/frmBalanceField.cs
index 14a7939..f68833c 100644
--- a/CNAS_BalanceClient/frmBalanceField.cs
+++ b/CNAS_BalanceClient/frmBalanceField.cs
@@ -46,12 +46,20 @@ namespace CNAS_BalanceClient
//根据选中项加载数据
dgvbalancefield.DataSource = new BindingList(BindBalanceField(strCurrentSelect));
+
+
//绑定映射数据
var syncItems = syncBalanceItems.Where(s => s.Type == strCurrentSelect).ToList();
if (syncItems != null && syncItems.Count >= 1)
{
currentBalanceItem = syncItems[0];
- if(syncItems[0].syncParamasInfos!=null)
+
+ if (!string.IsNullOrWhiteSpace(currentBalanceItem.CnasInstrumentColumn))
+ txtInstrumentColumn.Text = currentBalanceItem.CnasInstrumentColumn;
+ else
+ txtInstrumentColumn.Text = "";
+
+ if (syncItems[0].syncParamasInfos!=null)
dgvMapping.DataSource = new BindingList(syncItems[0].syncParamasInfos);
else
dgvMapping.DataSource = new BindingList();
@@ -60,6 +68,7 @@ namespace CNAS_BalanceClient
{
currentBalanceItem = new SyncBalanceItem()
{
+ GUID=Guid.NewGuid().ToString(),
Type = strCurrentSelect
};
syncBalanceItems.Add(currentBalanceItem);
@@ -161,6 +170,23 @@ namespace CNAS_BalanceClient
}
dgvCnas.DataSource = dtCnasShow;
+
+ //绑定数据
+ cbxCNASColumn.DataSource = dtCnasShow.Copy();
+ cbxCNASColumn.DisplayMember = "CnasFieldName";
+ cbxCNASColumn.ValueMember = "CnasFieldName";
+
+ if (dtTableStruct.Columns.Count > 0)
+ {
+ if (!string.IsNullOrWhiteSpace(currentSyncItem.CnasInstrumentColumn) && dtTableStruct.Columns.Contains(currentSyncItem.CnasInstrumentColumn))
+ {
+ cbxCNASColumn.Text = this.txtInstrumentColumn.Text = currentSyncItem.CnasInstrumentColumn;
+ }
+ else
+ {
+ cbxCNASColumn.Text = this.txtInstrumentColumn.Text = "";
+ }
+ }
}
}
@@ -181,7 +207,7 @@ namespace CNAS_BalanceClient
SyncParamsOperation paramsOperation = new SyncParamsOperation();
if (paramsOperation.CheckTableIfRepeat(currentBalanceItem.syncParamasInfos, syncParamas.SourceTable, syncParamas.TargetTable))
{
- MessageBox.Show("已存在不同表单映射数据,无法添加!");
+ MessageBox.Show("已存在不同表单映射数据,无法添加!", "提示");
return;
}
//if (paramsOperation.CheckSourceFieldRepeat(currentBalanceItem.syncParamasInfos, syncParamas.SourceTable, syncParamas.SourceField))
@@ -191,12 +217,12 @@ namespace CNAS_BalanceClient
//}
if (paramsOperation.CheckTargetFieldRepeat(currentBalanceItem.syncParamasInfos, syncParamas.TargetTable, syncParamas.TargetField))
{
- MessageBox.Show("CNAS端数据字段已分配,请重新选择!");
+ MessageBox.Show("CNAS端数据字段已分配,请重新选择!", "提示");
return;
}
if (paramsOperation.CheckTargetKeepField(syncParamas.TargetField))
{
- MessageBox.Show("CNAS端数据字段为保留字段,请重新选择!");
+ MessageBox.Show("CNAS端数据字段为保留字段,请重新选择!", "提示");
return;
}
@@ -241,7 +267,7 @@ namespace CNAS_BalanceClient
}
else
{
- MessageBox.Show("保存配置失败!");
+ MessageBox.Show("保存配置失败!", "提示");
}
}
@@ -338,5 +364,46 @@ namespace CNAS_BalanceClient
}
return bIfHave;
}
+
+ private void txtInstrumentColumn_DoubleClick(object sender, EventArgs e)
+ {
+ txtInstrumentColumn.Visible = false;
+
+ cbxCNASColumn.Top = txtInstrumentColumn.Top;
+ cbxCNASColumn.Height = txtInstrumentColumn.Height;
+ cbxCNASColumn.Width = txtInstrumentColumn.Width;
+ cbxCNASColumn.Location = txtInstrumentColumn.Location;
+
+ cbxCNASColumn.Visible = true;
+ }
+
+ private void cbxCNASColumn_Leave(object sender, EventArgs e)
+ {
+ if (cbxCNASColumn.Visible)
+ {
+ txtInstrumentColumn.Visible = true;
+ cbxCNASColumn.Visible = false;
+ }
+ }
+
+ private void cbxCNASColumn_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (cbxCNASColumn.Visible)
+ {
+ cbxCNASColumn.Visible = false;
+ txtInstrumentColumn.Visible = true;
+
+ currentBalanceItem.CnasInstrumentColumn = txtInstrumentColumn.Text = cbxCNASColumn.Text;
+ }
+ }
+
+ private void btnConditionMap_Click(object sender, EventArgs e)
+ {
+ frmConditionMap frmCNAS = new frmConditionMap(currentBalanceItem, targetDataBase);
+ if (frmCNAS.ShowDialog() == DialogResult.OK)
+ {
+ this.currentBalanceItem = frmCNAS.currentBalanceItem;
+ }
+ }
}
}
diff --git a/CNAS_BalanceClient/frmBalanceMain.Designer.cs b/CNAS_BalanceClient/frmBalanceMain.Designer.cs
index f786c01..183a30b 100644
--- a/CNAS_BalanceClient/frmBalanceMain.Designer.cs
+++ b/CNAS_BalanceClient/frmBalanceMain.Designer.cs
@@ -170,20 +170,20 @@
this.txtCode = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.tsbOpenPort = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tsbSave = new System.Windows.Forms.ToolStripButton();
this.tsbAllSave = new System.Windows.Forms.ToolStripButton();
this.tsbDelete = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsbUpload = new System.Windows.Forms.ToolStripButton();
- this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbOpenPort = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.tsbHistory = new System.Windows.Forms.ToolStripButton();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tsmMapping = new System.Windows.Forms.ToolStripMenuItem();
this.tsmPortConfig = new System.Windows.Forms.ToolStripMenuItem();
- this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmHelper = new System.Windows.Forms.ToolStripMenuItem();
this.pnlBottom = new System.Windows.Forms.Panel();
this.panel11 = new System.Windows.Forms.Panel();
this.lblCNASDb = new System.Windows.Forms.Label();
@@ -987,6 +987,7 @@
this.Shelf_SampleNumber.HeaderText = "样品编码";
this.Shelf_SampleNumber.Name = "Shelf_SampleNumber";
this.Shelf_SampleNumber.ReadOnly = true;
+ this.Shelf_SampleNumber.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Shelf_SampleNumber.Width = 150;
//
// Shelf_WeighingType
@@ -995,6 +996,7 @@
this.Shelf_WeighingType.HeaderText = "称量类型";
this.Shelf_WeighingType.Name = "Shelf_WeighingType";
this.Shelf_WeighingType.ReadOnly = true;
+ this.Shelf_WeighingType.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Shelf_WeighingType.Width = 120;
//
// Shelf_SampleWeight
@@ -1003,6 +1005,7 @@
this.Shelf_SampleWeight.HeaderText = "重量(g)";
this.Shelf_SampleWeight.Name = "Shelf_SampleWeight";
this.Shelf_SampleWeight.ReadOnly = true;
+ this.Shelf_SampleWeight.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Shelf_SampleWeight.Width = 120;
//
// Shelf_Operator
@@ -1011,6 +1014,7 @@
this.Shelf_Operator.HeaderText = "创建人";
this.Shelf_Operator.Name = "Shelf_Operator";
this.Shelf_Operator.ReadOnly = true;
+ this.Shelf_Operator.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Shelf_Operator.Width = 120;
//
// Shelf_CrucibleNumber
@@ -1019,6 +1023,7 @@
this.Shelf_CrucibleNumber.HeaderText = "坩埚号";
this.Shelf_CrucibleNumber.Name = "Shelf_CrucibleNumber";
this.Shelf_CrucibleNumber.ReadOnly = true;
+ this.Shelf_CrucibleNumber.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Shelf_CrucibleNumber.Width = 120;
//
// cmsShelf
@@ -1212,7 +1217,7 @@
//
// btnFind
//
- this.btnFind.Location = new System.Drawing.Point(583, 11);
+ this.btnFind.Location = new System.Drawing.Point(646, 11);
this.btnFind.Name = "btnFind";
this.btnFind.Size = new System.Drawing.Size(75, 25);
this.btnFind.TabIndex = 10;
@@ -1222,7 +1227,7 @@
//
// txtShelfFind
//
- this.txtShelfFind.Location = new System.Drawing.Point(380, 12);
+ this.txtShelfFind.Location = new System.Drawing.Point(429, 13);
this.txtShelfFind.Name = "txtShelfFind";
this.txtShelfFind.Size = new System.Drawing.Size(173, 23);
this.txtShelfFind.TabIndex = 6;
@@ -1230,7 +1235,7 @@
// label9
//
this.label9.AutoSize = true;
- this.label9.Location = new System.Drawing.Point(317, 14);
+ this.label9.Location = new System.Drawing.Point(366, 15);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(56, 17);
this.label9.TabIndex = 5;
@@ -1238,16 +1243,20 @@
//
// dtpEndDate
//
- this.dtpEndDate.Location = new System.Drawing.Point(189, 11);
+ this.dtpEndDate.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpEndDate.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtpEndDate.Location = new System.Drawing.Point(214, 11);
this.dtpEndDate.Name = "dtpEndDate";
- this.dtpEndDate.Size = new System.Drawing.Size(111, 23);
+ this.dtpEndDate.Size = new System.Drawing.Size(139, 23);
this.dtpEndDate.TabIndex = 2;
//
// dtpStartTime
//
+ this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStartTime.Location = new System.Drawing.Point(69, 11);
this.dtpStartTime.Name = "dtpStartTime";
- this.dtpStartTime.Size = new System.Drawing.Size(111, 23);
+ this.dtpStartTime.Size = new System.Drawing.Size(139, 23);
this.dtpStartTime.TabIndex = 1;
//
// label11
@@ -1359,7 +1368,7 @@
this.tabSulfurValue.Location = new System.Drawing.Point(4, 26);
this.tabSulfurValue.Name = "tabSulfurValue";
this.tabSulfurValue.Padding = new System.Windows.Forms.Padding(3);
- this.tabSulfurValue.Size = new System.Drawing.Size(273, 370);
+ this.tabSulfurValue.Size = new System.Drawing.Size(273, 372);
this.tabSulfurValue.TabIndex = 1;
this.tabSulfurValue.Text = "硫分";
this.tabSulfurValue.UseVisualStyleBackColor = true;
@@ -1377,7 +1386,7 @@
this.dgvCrucibleSulfur.Location = new System.Drawing.Point(3, 3);
this.dgvCrucibleSulfur.Name = "dgvCrucibleSulfur";
this.dgvCrucibleSulfur.RowTemplate.Height = 23;
- this.dgvCrucibleSulfur.Size = new System.Drawing.Size(267, 364);
+ this.dgvCrucibleSulfur.Size = new System.Drawing.Size(267, 366);
this.dgvCrucibleSulfur.TabIndex = 1;
this.dgvCrucibleSulfur.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dgvCrucibleSulfur_RowPostPaint);
//
@@ -1407,7 +1416,7 @@
this.tabElementAynic.Controls.Add(this.dgvCrucibleElement);
this.tabElementAynic.Location = new System.Drawing.Point(4, 26);
this.tabElementAynic.Name = "tabElementAynic";
- this.tabElementAynic.Size = new System.Drawing.Size(273, 370);
+ this.tabElementAynic.Size = new System.Drawing.Size(273, 372);
this.tabElementAynic.TabIndex = 2;
this.tabElementAynic.Text = "元素分析";
this.tabElementAynic.UseVisualStyleBackColor = true;
@@ -1425,7 +1434,7 @@
this.dgvCrucibleElement.Location = new System.Drawing.Point(0, 0);
this.dgvCrucibleElement.Name = "dgvCrucibleElement";
this.dgvCrucibleElement.RowTemplate.Height = 23;
- this.dgvCrucibleElement.Size = new System.Drawing.Size(273, 370);
+ this.dgvCrucibleElement.Size = new System.Drawing.Size(273, 372);
this.dgvCrucibleElement.TabIndex = 1;
this.dgvCrucibleElement.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dgvCrucibleElement_RowPostPaint);
//
@@ -1528,13 +1537,13 @@
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tsbOpenPort,
+ this.toolStripSeparator2,
this.tsbSave,
this.tsbAllSave,
this.tsbDelete,
this.toolStripSeparator1,
this.tsbUpload,
- this.toolStripSeparator2,
- this.tsbOpenPort,
this.toolStripSeparator3,
this.tsbHistory});
this.toolStrip1.Location = new System.Drawing.Point(0, 25);
@@ -1543,6 +1552,20 @@
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
+ // tsbOpenPort
+ //
+ this.tsbOpenPort.Image = ((System.Drawing.Image)(resources.GetObject("tsbOpenPort.Image")));
+ this.tsbOpenPort.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.tsbOpenPort.Name = "tsbOpenPort";
+ this.tsbOpenPort.Size = new System.Drawing.Size(76, 22);
+ this.tsbOpenPort.Text = "打开串口";
+ this.tsbOpenPort.Click += new System.EventHandler(this.tsbOpenPort_Click);
+ //
+ // toolStripSeparator2
+ //
+ this.toolStripSeparator2.Name = "toolStripSeparator2";
+ this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
+ //
// tsbSave
//
this.tsbSave.Image = ((System.Drawing.Image)(resources.GetObject("tsbSave.Image")));
@@ -1584,20 +1607,6 @@
this.tsbUpload.Text = "上传数据";
this.tsbUpload.Click += new System.EventHandler(this.tsbUpload_Click);
//
- // toolStripSeparator2
- //
- this.toolStripSeparator2.Name = "toolStripSeparator2";
- this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
- //
- // tsbOpenPort
- //
- this.tsbOpenPort.Image = ((System.Drawing.Image)(resources.GetObject("tsbOpenPort.Image")));
- this.tsbOpenPort.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.tsbOpenPort.Name = "tsbOpenPort";
- this.tsbOpenPort.Size = new System.Drawing.Size(76, 22);
- this.tsbOpenPort.Text = "打开串口";
- this.tsbOpenPort.Click += new System.EventHandler(this.tsbOpenPort_Click);
- //
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
@@ -1616,7 +1625,7 @@
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.数据ToolStripMenuItem,
- this.帮助ToolStripMenuItem});
+ this.tsmHelper});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1134, 25);
@@ -1629,8 +1638,8 @@
this.tsmMapping,
this.tsmPortConfig});
this.数据ToolStripMenuItem.Name = "数据ToolStripMenuItem";
- this.数据ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
- this.数据ToolStripMenuItem.Text = "数据";
+ this.数据ToolStripMenuItem.Size = new System.Drawing.Size(61, 21);
+ this.数据ToolStripMenuItem.Text = "数据(&D)";
//
// tsmMapping
//
@@ -1648,11 +1657,12 @@
this.tsmPortConfig.Text = "串口设置";
this.tsmPortConfig.Click += new System.EventHandler(this.tsmPortConfig_Click);
//
- // 帮助ToolStripMenuItem
+ // tsmHelper
//
- this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
- this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
- this.帮助ToolStripMenuItem.Text = "帮助";
+ this.tsmHelper.Name = "tsmHelper";
+ this.tsmHelper.Size = new System.Drawing.Size(61, 21);
+ this.tsmHelper.Text = "帮助(&H)";
+ this.tsmHelper.Click += new System.EventHandler(this.tsmHelper_Click);
//
// pnlBottom
//
@@ -1825,7 +1835,7 @@
private System.Windows.Forms.ToolStripButton tsbOpenPort;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem 数据ToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem tsmHelper;
private System.Windows.Forms.Panel pnlBalance;
private System.Windows.Forms.TabControl tabBalance;
private System.Windows.Forms.TabPage tabpAllWater;
@@ -1949,12 +1959,6 @@
private System.Windows.Forms.DataGridViewTextBoxColumn VAD;
private System.Windows.Forms.DataGridViewTextBoxColumn Column13;
private System.Windows.Forms.DataGridViewTextBoxColumn Column14;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_ID;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_SampleNumber;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_WeighingType;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_SampleWeight;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_Operator;
- private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_CrucibleNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn54;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn55;
@@ -1965,6 +1969,12 @@
private System.Windows.Forms.DataGridViewTextBoxColumn SampleCode;
private System.Windows.Forms.DataGridViewTextBoxColumn Count;
private System.Windows.Forms.ToolStripMenuItem tsmPortConfig;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_ID;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_SampleNumber;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_WeighingType;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_SampleWeight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_Operator;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Shelf_CrucibleNumber;
}
}
diff --git a/CNAS_BalanceClient/frmBalanceMain.cs b/CNAS_BalanceClient/frmBalanceMain.cs
index b4fd4ef..e960a40 100644
--- a/CNAS_BalanceClient/frmBalanceMain.cs
+++ b/CNAS_BalanceClient/frmBalanceMain.cs
@@ -1,4 +1,5 @@
-using CnasSynchronousCommon;
+using CNAS_SerialPort;
+using CnasSynchronousCommon;
using CnasSynchronusClient;
using CnasSynchrousModel;
using System;
@@ -69,7 +70,7 @@ namespace CNAS_BalanceClient
//加载CNAS数据库配置
targetdataBase = FileOperation.GetLocalPlatFormDB();
- if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetdataBase.DBHost, targetdataBase.DBName, targetdataBase.DBUser, targetdataBase.DBPwd, targetdataBase.DBPort))
+ if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetdataBase))
{
this.lblCNASDb.Visible = true;
this.lblCNASDb.Text = "CNAS数据库无法正常连接...";
@@ -104,6 +105,7 @@ namespace CNAS_BalanceClient
//从本地数据库中读取串口配置信息
serialPortConfig = new SericalPortConfigBLL().GetSerialPortConfigInfo();
+
//从本地数据库中读取所有数据
laboratoryTests = laboratoryTestBLL.GetLaboratoryTestDataByNoUpLoad();
@@ -146,11 +148,11 @@ namespace CNAS_BalanceClient
if (returnValue.StrErrorMsg!=null&&returnValue.StrErrorMsg != "")
{
AppLog.Error($"未保存成功:{returnValue.StrErrorMsg}");
- MessageBox.Show(returnValue.StrErrorMsg);
+ MessageBox.Show(returnValue.StrErrorMsg, "提示");
}
else if (returnValue.StrMsg!=null&&returnValue.StrMsg != "")
{
- MessageBox.Show(returnValue.StrMsg);
+ MessageBox.Show(returnValue.StrMsg, "提示");
//清空操作列的所有内容,避免重复操作
//int deletecount=currentquery.RemoveAll(s => (s.OperationType != null && s.OperationType.ToLower() == "delete"));
//foreach (var item in currentquery)
@@ -181,12 +183,12 @@ namespace CNAS_BalanceClient
if (returnValue.StrErrorMsg != null && returnValue.StrErrorMsg != "")
{
- MessageBox.Show(returnValue.StrErrorMsg);
+ MessageBox.Show(returnValue.StrErrorMsg, "提示");
AppLog.Error($"未保存成功:{returnValue.StrErrorMsg}");
}
else if (returnValue.StrMsg != null && returnValue.StrMsg != "")
{
- MessageBox.Show(returnValue.StrMsg);
+ MessageBox.Show(returnValue.StrMsg, "提示");
//清空操作列的所有内容,避免重复操作
//int deletecount = currentquery.RemoveAll(s => (s.OperationType != null && s.OperationType.ToLower() == "delete"));
//foreach (var item in currentquery)
@@ -288,33 +290,37 @@ namespace CNAS_BalanceClient
tsbOpenPort.Text = "打开串口";
lblPort.Text = "串口已关闭...";
- MessageBox.Show(ex.Message);
+ MessageBox.Show(ex.Message, "提示");
AppLog.Error($"打开串口失败:{ex.Message}");
}
}
private void sPortBalance_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
+
//读取缓冲区三次数据,类似{N +} {0.0000}{ g},这里只要第二部分的内容
try
{
//读取数据
- this.Invoke((EventHandler)(delegate
- {
- string strReadTxt = sPortBalance.ReadExisting();
- if (strReadTxt.StartsWith("N"))
- {
- lstReadTxt.Clear();
- }
- lstReadTxt.Add(strReadTxt);
- if (lstReadTxt.Count == 3)
- {
- UpdateBalanceValue(lstReadTxt[1]);
- }
- //UpdateBalanceValue(strReadTxt);
- }
- )
- );
+ //Invoke((EventHandler)(delegate
+ //{
+ // string strReadTxt = sPortBalance.ReadExisting();
+ // //if (strReadTxt.StartsWith("N"))
+ // //{
+ // // lstReadTxt.Clear();
+ // //}
+ // //lstReadTxt.Add(strReadTxt);
+ // //if (lstReadTxt.Count == 3)
+ // //{
+ // // UpdateBalanceValue(lstReadTxt[1]);
+ // //}
+ // UpdateBalanceValue(strReadTxt);
+ //}
+ // )
+ // );
+ string strReceiveData = SerialPortDataReceive.ReceivePortData(this, sPortBalance, lstReadTxt);
+ if(strReceiveData!="")
+ UpdateBalanceValue(strReceiveData);
}
catch (Exception ex)
{
@@ -460,78 +466,152 @@ namespace CNAS_BalanceClient
if (lstSelectID.Count <= 0)
{
AppLog.Info("未选中任何一条化验数据。上传结束。");
- MessageBox.Show("请至少选择一条化验数据进行上传。");
+ MessageBox.Show("请至少选择一条化验数据进行上传。", "提示");
return;
}
+ //找到当前上传的是对应化验项目的字段配置
var currentbalanceconfig = lstBalanceData.Where(x => GetLaboratoryValue(x.Type) == currentDataType).ToList();
if (currentbalanceconfig.Count <= 0)
{
- MessageBox.Show("请先配置上传映射字段。");
+ MessageBox.Show("请先配置上传映射字段。", "提示");
return;
}
- List lstError = new List();
- foreach (var banlanceitem in currentbalanceconfig)
+ else
{
- if (currentDataType != GetLaboratoryValue(banlanceitem.Type)) continue;
- //2.获取准备上传到数据库表结构
- AppLog.Info("获取准备上传到数据库表结构");
- DataTable dtTarget = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(banlanceitem.syncParamasInfos[0].TargetTable, targetdataBase);
-
- //3.将上传数据转换为上传数据的形式
- AppLog.Info("将上传数据转换为上传数据的形式");
- string strErrorMsg = "";
- var query = laboratoryTests.Where(s => s.DataType == GetLaboratoryValue(banlanceitem.Type)).ToList();
- foreach (var laboratoryitem in query)
+ //检查配置的字段映射是否满足条件
+ if (currentbalanceconfig[0].syncParamasInfos.Count <= 0)
{
- if (!lstSelectID.Contains(laboratoryitem.GUID)) continue;
+ MessageBox.Show("请先配置上传映射字段。", "提示");
+ return;
+ }
+ }
+
+ List lstError = new List();
+ int ErrorCount = 0;
+ int SuccessCount = 0;
+ int OtherCount = 0;
+ //foreach (var banlanceitem in currentbalanceconfig)
+ SyncBalanceItem banlanceitem = currentbalanceconfig[0];
+
+ //如果字段配置项目不跟当前界面展示的化验项目一致,跳过
+ if (currentDataType != GetLaboratoryValue(banlanceitem.Type)) return;
+
+ //获取准备上传到数据库表结构
+ AppLog.Info("获取准备上传到数据库表结构");
+ DataTable dtTarget = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(banlanceitem.syncParamasInfos[0].TargetTable, targetdataBase);
+
+ //将上传数据转换为上传数据的形式
+ AppLog.Info("将上传数据转换为上传数据格式");
+ string strErrorMsg = "";
+ bool bSuccess = true;
+ List lstSuccessID = new List();
+ CnasInsertOperation insertOperation = new CnasInsertOperation();
+ var query = laboratoryTests.Where(s => s.DataType == GetLaboratoryValue(banlanceitem.Type)).ToList();
+ foreach (var laboratoryitem in query)
+ {
+ if (!lstSelectID.Contains(laboratoryitem.GUID)) continue;
- DataRow drNewTarget = dtTarget.NewRow();
+ bSuccess = true;
+ DataRow drNewTarget = dtTarget.NewRow();
- //遍历映射表,把所有字段插入到目标表中
-
- foreach (var item in banlanceitem.syncParamasInfos)
+ //遍历映射表,把所有字段插入到目标表中
+ foreach (var item in banlanceitem.syncParamasInfos)
+ {
+ var strSourceField = item.SourceField;
+ var strTargetField = item.TargetField;
+
+ //当列名存在于数据表中时才能继续
+ int i = laboratoryitem.GetType().GetProperties().Where(sb => sb.Name== strSourceField).Count();
+ if (laboratoryitem.GetType().GetProperties().Where(sb => sb.Name== strSourceField).Count() > 0 && dtTarget.Columns.Contains(strTargetField))
{
- var strSourceField = item.SourceField;
- var strTargetField = item.TargetField;
+ strErrorMsg = TestConvertValueToTarget(drNewTarget, laboratoryitem, strTargetField, strSourceField);
+ if (strErrorMsg != "")
+ {
+ MessageBox.Show(string.Format("发生数据转换错误,请重新配置映射字段或修改字段值。错误信息如下:列【{0}】,值【{1}】,详情【{2}】", strSourceField, laboratoryitem.GetType().GetProperty(strSourceField).GetValue(laboratoryitem, null), strErrorMsg), "提示");
+ break;
+ }
+ }
+ }
+ if (strErrorMsg != "")
+ {
+ bSuccess = false;
+ break;
+ }
+
+ //字段长度约束检测
+ AppLog.Info("检查上传数据合法性");
+ if (!CheckInputDatallegal(ConvertDataRowToTable(drNewTarget), banlanceitem))
+ {
+ bSuccess = false;
+ break;
+ }
+
+ //检查仪器标识列信息
+ if (dtTarget.Columns.Contains(banlanceitem.CnasInstrumentColumn))
+ drNewTarget[banlanceitem.CnasInstrumentColumn] = banlanceitem.GUID;
+ else
+ {
+ MessageBox.Show("设置的CNAS仪器信息列没有在库中找到。","提示" );
+ bSuccess = false;
+ break;
+ }
- //当列名存在于数据表中时才能继续
- int i = laboratoryitem.GetType().GetProperties().Where(sb => sb.Name== strSourceField).Count();
- if (laboratoryitem.GetType().GetProperties().Where(sb => sb.Name== strSourceField).Count() > 0 && dtTarget.Columns.Contains(strTargetField))
+ //根据固定值字段塞入数据到数据行
+ AppLog.Info("条件映射数据更改");
+ foreach (var item in banlanceitem.lstFixedValue)
+ {
+ if (dtTarget.Columns.Contains(item.ColumnName))
+ {
+ switch (item.Condition)
{
- strErrorMsg = TestConvertValueToTarget(drNewTarget, laboratoryitem, strTargetField, strSourceField);
- if (strErrorMsg != "")
- {
- MessageBox.Show(string.Format("发生数据转换错误,请重新配置映射字段或修改字段值。错误信息如下:列【{0}】,值【{1}】,详情【{2}】", strSourceField, laboratoryitem.GetType().GetProperty(strSourceField).GetValue(laboratoryitem, null), strErrorMsg));
+ case MapCondition.Equal:
+ drNewTarget[item.ColumnName] = item.Value;
break;
- }
}
}
- //dtTarget.Rows.Add(drNewTarget);
- AppLog.Info("检查上传数据合法性");
- if (strErrorMsg != "") break;
- if (!CheckInputDatallegal(ConvertDataRowToTable(drNewTarget), banlanceitem)) break;
-
- AppLog.Info("执行上传单条数据");
- int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(ConvertDataRowToTable(drNewTarget), targetdataBase, banlanceitem.syncParamasInfos,"");
- if (iReturn <= 0) //此时出现问题
+ }
+
+ //执行插入一条数据
+ AppLog.Info("执行上传单条数据");
+ int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(ConvertDataRowToTable(drNewTarget), targetdataBase, banlanceitem.syncParamasInfos, banlanceitem.CnasInstrumentColumn,banlanceitem.lstFixedValue);
+ if (iReturn <= 0) //此时出现问题
+ {
+ if (iReturn == -1)
+ {
+ AppLog.ServiceInfo("数据库连接中断,终止本次上传。");
+ break; //此时数据库连接中断,直接跳出循环,结束本次数据同步传输
+ }
+ else if (iReturn == -2) //等于-2表示插入准备更新时发现数据一致,不再执行
+ {
+ OtherCount++;
+ }
+ else
{
- AppLog.Error("上传插入操作未能正常完成:" + TransConvert.DataTableToJSON(ConvertDataRowToTable(drNewTarget)));
- lstError.Add(drNewTarget);
+ ErrorCount++;
+ /*需要转换一下,否则会将整个dt全部写入日志*/
+ lstError.Add(GlobalCommonOperation.ConvertDataRowToTable(drNewTarget).Rows[0]);
}
- else //此时没有出现问题,1.如果本条数据未保存,将本条数据保存;2.向上传数据记录表中插入一条数据
+
+ bSuccess = false;
+ }
+ else //此时没有出现问题,1.如果本条数据未保存,将本条数据保存;2.向上传数据记录表中插入一条数据
+ {
+ SuccessCount++;
+
+ //存储化验数据到本地
+ if (!string.IsNullOrEmpty(laboratoryitem.OperationType))
{
- if (!string.IsNullOrEmpty(laboratoryitem.OperationType))
+ ReturnValue returnValue = laboratoryTestBLL.SaveLaboratoryData(laboratoryitem);
+ if (!string.IsNullOrEmpty(returnValue.StrErrorMsg))
{
- ReturnValue returnValue = laboratoryTestBLL.SaveLaboratoryData(laboratoryitem);
- if (!string.IsNullOrEmpty(returnValue.StrErrorMsg))
- {
- //写入日志
- AppLog.Error("上传完成后,没能正常存储数据到本地:" + returnValue.StrErrorMsg);
- }
+ //写入日志
+ AppLog.Error("上传完成后,没能正常存储数据到本地:" + returnValue.StrErrorMsg);
}
+ }
- UpLoadRecordBLL upLoadRecord = new UpLoadRecordBLL();
- int ireturn=upLoadRecord.AddRecordToDatabase(
+ //存储化验数据到化验记录表
+ UpLoadRecordBLL upLoadRecord = new UpLoadRecordBLL();
+ int ireturn=upLoadRecord.AddRecordToDatabase(
new UpLoadRecord()
{
GUID = Guid.NewGuid().ToString(),
@@ -539,31 +619,32 @@ namespace CNAS_BalanceClient
UpLoadUser = GlobalCommonOperation.strUserName,
UpLoadTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"))
}
- );
- if (ireturn <= 0)
- {
- //写入日志
- AppLog.Error($"上传完成后,没能正常存储上传记录数据到本地:LaboratoryTestGUID={laboratoryitem.GUID},UpLoadUser={GlobalCommonOperation.strUserName},UpLoadTime={Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"))}");
- }
-
- AppLog.Info("执行上传单条数据完成");
+ );
+ if (ireturn <= 0)
+ {
+ //写入日志
+ AppLog.Error($"上传完成后,没能正常存储上传记录数据到本地:LaboratoryTestGUID={laboratoryitem.GUID},UpLoadUser={GlobalCommonOperation.strUserName},UpLoadTime={Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"))}");
}
- }
- }
- if (lstError.Count <= 0)
- {
- MessageBox.Show("上传完成!");
- //数据源中清空已经上传的项
- foreach (var item in lstSelectID)
+
+ AppLog.Info("执行上传单条数据完成");
+ }
+
+ if (bSuccess) //说明在整个上传过程中没有发生错误
+ {
+ if(!lstSuccessID.Contains(laboratoryitem.GUID)) lstSuccessID.Add(laboratoryitem.GUID);
+ }
+ }
+ MessageBox.Show($"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。");
+
+ //数据源中清空已经上传的项
+ if (lstSuccessID.Count >= 0)
+ {
+ foreach (var item in lstSuccessID)
{
laboratoryTests.RemoveAll(s => s.GUID == item);
}
BindData();
}
- else
- {
- MessageBox.Show("上传过程中发生异常,存在部分数据未成功上传,请联系管理员!");
- }
}
public bool CheckInputDatallegal(DataTable dtTarget,SyncBalanceItem banlanceitem)
@@ -581,12 +662,12 @@ namespace CNAS_BalanceClient
var item = banlanceitem.syncParamasInfos.Where(s => s.TargetField == check.LstIllegalMsg[0].ColumnName).ToList();
if (item.Count == 1)
{
- MessageBox.Show(string.Format("数据不满足上传条件,请修改后再上传。错误数据:当前列名【{0}】,列值【{1}】", item[0].SourceField, check.LstIllegalMsg[0].ColumnValue));
+ MessageBox.Show(string.Format("数据不满足上传条件,请修改后再上传。错误数据:当前列名【{0}】,列值【{1}】", item[0].SourceField, check.LstIllegalMsg[0].ColumnValue), "提示");
bIfSuccess = false;
}
else
{
- MessageBox.Show(string.Format("数据不满足上传条件,请修改后再上传。错误数据:CNAS列名【{0}】,列值【{1}】", check.LstIllegalMsg[0].ColumnName, check.LstIllegalMsg[0].ColumnValue));
+ MessageBox.Show(string.Format("数据不满足上传条件,请修改后再上传。错误数据:CNAS列名【{0}】,列值【{1}】", check.LstIllegalMsg[0].ColumnName, check.LstIllegalMsg[0].ColumnValue), "提示");
bIfSuccess = false;
}
}
@@ -648,7 +729,7 @@ namespace CNAS_BalanceClient
//判断化验编号是否合法
if (this.txtCode.Text.Trim().Length <= 0)
{
- MessageBox.Show("当条码为空时不能新增化验记录");
+ MessageBox.Show("当条码为空时不能新增化验记录", "提示");
return;
}
@@ -667,7 +748,7 @@ namespace CNAS_BalanceClient
}
else
{
- MessageBox.Show("新增数据时出错:"+returnValue.StrErrorMsg);
+ MessageBox.Show("新增数据时出错:"+returnValue.StrErrorMsg, "提示");
AppLog.Error("新增数据时出错:" + returnValue.StrErrorMsg);
}
}
@@ -710,7 +791,7 @@ namespace CNAS_BalanceClient
}
catch (Exception ex)
{
- MessageBox.Show("无法正常插入天平值," + ex.Message);
+ MessageBox.Show("无法正常插入天平值," + ex.Message, "提示");
AppLog.Error("无法正常插入天平值," + ex.Message);
}
}
@@ -851,7 +932,7 @@ namespace CNAS_BalanceClient
string strSampleCode = this.txtSampleCode.Text.Trim();
if (this.txtSampleCode.Text.Trim().Length <= 0)
{
- MessageBox.Show("样品编码不能为空!");
+ MessageBox.Show("样品编码不能为空!", "提示");
return;
}
@@ -961,7 +1042,7 @@ namespace CNAS_BalanceClient
}
catch (Exception ex)
{
- MessageBox.Show("查找时发生错误:" + ex.Message);
+ MessageBox.Show("查找时发生错误:" + ex.Message, "提示");
AppLog.Error("查找时发生错误:" + ex.Message);
}
}
@@ -1045,7 +1126,7 @@ namespace CNAS_BalanceClient
if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
- MessageBox.Show("请输入数字与小数点");
+ MessageBox.Show("请输入数字与小数点", "提示");
}
}
//用户catch发生的错误
@@ -1109,5 +1190,11 @@ namespace CNAS_BalanceClient
}
}
}
+
+ private void tsmHelper_Click(object sender, EventArgs e)
+ {
+ string strHelpFilePath = FileHelper.getBasePath() + @"\BalanceHelper.CHM";
+ System.Diagnostics.Process.Start(strHelpFilePath);
+ }
}
}
diff --git a/CNAS_BalanceClient/frmBalanceMain.resx b/CNAS_BalanceClient/frmBalanceMain.resx
index 8d1a9cd..46e1780 100644
--- a/CNAS_BalanceClient/frmBalanceMain.resx
+++ b/CNAS_BalanceClient/frmBalanceMain.resx
@@ -340,6 +340,22 @@
137, 17
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI/SURBVEhLrZbJaxRBFIdHIXhwhZCIRIngRRNyEIIe1EDQ
+ GBURl6t4yzW5uCHixQU3ooEY4oLigiIkoJdAEBfwH/P7mqrw0t2ZBicPvpmat/xedU1VzbRKtgN2l+iG
+ DdDOtkG5rgc2woodgu8wB88T8+nzZljLBmABXkGuewFvwSaFKf4NfsA+6IWdaWyD7VBng/AV/sIQ5Dqf
+ wCa+F8vizJdhFsZhOnEenFFdg03wCX7BaxiDJ2D+JXgGRQNfnOVFuAZTcCtxCmagroG+WDcJ1tyG07Cq
+ gR+c+U24AdcTJ6FdA2PmWJNRQ61KgwvgIz4KnIOmBubEGjXUqjQw8T7cC5yFpgbmxBo11Ko08FFdy6sB
+ v7imBubEGjXUqm0Q119yg62guXNE05cbxBo1Kg3ewTAcCOyHo/Amjd1RHjxxbI4xc4zHWrXULBr4qHfg
+ MTwsoc+t+B6+wOWEY33G1qpTs1ha7wuPdB/YcU9gF1yBl+CVYJE41mfMnFijhlord5HH28dZgg/gCXb9
+ fPdk/wRn7e7IT5DHxsyJNWqopabaxQwW4Q8YvAt5u1rwG0ZBgWMJx/qMmZO3p7VqqKWm2q0uOAi5eCRw
+ BNx6rvVhcLbiWJ8xc2JN1lFT7UbzlvwID8ArQBzrM7Yu9hRcls8Jx/rWxbzOXRbX090hjvUZ69hcSy+x
+ sukz1rG51ydgL/QnHOsz1pH5Y+9MT8AZOJ5wrM9Y0x+CtrYFvG/8SfSLjegzZs5/W75GPP51VP6arLZW
+ 6x+FhpAmxTjzIAAAAABJRU5ErkJggg==
+
+
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -399,22 +415,6 @@
qBNUApOwCG6MuJbis3Hz1iWy3zmPDv0MrlE/DAQ7DKMwGHzz1iV6dmgzuE7KDdGfAGMdoHw2niijLz0F
v06G4Ce4uz9CzPyzX5q+x16EcfD8TcNMsAnGzad/Yuy/HdoIHhXPobfCK6j1zRZq/yeJp+vtd47zonxw
R7fAN70W+53jvFietzqofwP2MyeKrgFQ2m6IcGPD9gAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI/SURBVEhLrZbJaxRBFIdHIXhwhZCIRIngRRNyEIIe1EDQ
- GBURl6t4yzW5uCHixQU3ooEY4oLigiIkoJdAEBfwH/P7mqrw0t2ZBicPvpmat/xedU1VzbRKtgN2l+iG
- DdDOtkG5rgc2woodgu8wB88T8+nzZljLBmABXkGuewFvwSaFKf4NfsA+6IWdaWyD7VBng/AV/sIQ5Dqf
- wCa+F8vizJdhFsZhOnEenFFdg03wCX7BaxiDJ2D+JXgGRQNfnOVFuAZTcCtxCmagroG+WDcJ1tyG07Cq
- gR+c+U24AdcTJ6FdA2PmWJNRQ61KgwvgIz4KnIOmBubEGjXUqjQw8T7cC5yFpgbmxBo11Ko08FFdy6sB
- v7imBubEGjXUqm0Q119yg62guXNE05cbxBo1Kg3ewTAcCOyHo/Amjd1RHjxxbI4xc4zHWrXULBr4qHfg
- MTwsoc+t+B6+wOWEY33G1qpTs1ha7wuPdB/YcU9gF1yBl+CVYJE41mfMnFijhlord5HH28dZgg/gCXb9
- fPdk/wRn7e7IT5DHxsyJNWqopabaxQwW4Q8YvAt5u1rwG0ZBgWMJx/qMmZO3p7VqqKWm2q0uOAi5eCRw
- BNx6rvVhcLbiWJ8xc2JN1lFT7UbzlvwID8ArQBzrM7Yu9hRcls8Jx/rWxbzOXRbX090hjvUZ69hcSy+x
- sukz1rG51ydgL/QnHOsz1pH5Y+9MT8AZOJ5wrM9Y0x+CtrYFvG/8SfSLjegzZs5/W75GPP51VP6arLZW
- 6x+FhpAmxTjzIAAAAABJRU5ErkJggg==
diff --git a/CNAS_BalanceClient/frmConditionMap.Designer.cs b/CNAS_BalanceClient/frmConditionMap.Designer.cs
new file mode 100644
index 0000000..84ab966
--- /dev/null
+++ b/CNAS_BalanceClient/frmConditionMap.Designer.cs
@@ -0,0 +1,257 @@
+namespace CNAS_BalanceClient
+{
+ partial class frmConditionMap
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConditionMap));
+ this.pnlCenter = new System.Windows.Forms.Panel();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.dgvCnas = new System.Windows.Forms.DataGridView();
+ this.TableName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.TableColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.DataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.condition = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Value = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.pnlCenterBottom = new System.Windows.Forms.Panel();
+ this.btnDelete = new System.Windows.Forms.Button();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.pnlRight = new System.Windows.Forms.Panel();
+ this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlTop = new System.Windows.Forms.Panel();
+ this.pnlLeft = new System.Windows.Forms.Panel();
+ this.pnlCenter.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvCnas)).BeginInit();
+ this.pnlCenterBottom.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pnlCenter
+ //
+ this.pnlCenter.Controls.Add(this.groupBox1);
+ this.pnlCenter.Controls.Add(this.pnlCenterBottom);
+ this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenter.Location = new System.Drawing.Point(10, 10);
+ this.pnlCenter.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlCenter.Name = "pnlCenter";
+ this.pnlCenter.Size = new System.Drawing.Size(574, 396);
+ this.pnlCenter.TabIndex = 7;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.dgvCnas);
+ this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.groupBox1.Location = new System.Drawing.Point(0, 0);
+ this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.groupBox1.Size = new System.Drawing.Size(574, 353);
+ this.groupBox1.TabIndex = 1;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "CNAS列";
+ //
+ // dgvCnas
+ //
+ this.dgvCnas.AllowUserToAddRows = false;
+ this.dgvCnas.BackgroundColor = System.Drawing.Color.White;
+ this.dgvCnas.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvCnas.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.TableName,
+ this.TableColumn,
+ this.DataType,
+ this.condition,
+ this.Value});
+ this.dgvCnas.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvCnas.Location = new System.Drawing.Point(3, 22);
+ this.dgvCnas.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.dgvCnas.Name = "dgvCnas";
+ this.dgvCnas.RowTemplate.Height = 23;
+ this.dgvCnas.Size = new System.Drawing.Size(568, 325);
+ this.dgvCnas.TabIndex = 0;
+ this.dgvCnas.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvCnas_CellClick);
+ this.dgvCnas.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvCnas_CellDoubleClick);
+ this.dgvCnas.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvCnas_CellEndEdit);
+ this.dgvCnas.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvCnas_CellValueChanged);
+ this.dgvCnas.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dgvCnas_RowPostPaint);
+ //
+ // TableName
+ //
+ this.TableName.DataPropertyName = "CnasTableName";
+ this.TableName.HeaderText = "表名";
+ this.TableName.Name = "TableName";
+ this.TableName.Visible = false;
+ this.TableName.Width = 120;
+ //
+ // TableColumn
+ //
+ this.TableColumn.DataPropertyName = "CnasFieldName";
+ this.TableColumn.HeaderText = "列名";
+ this.TableColumn.Name = "TableColumn";
+ this.TableColumn.ReadOnly = true;
+ this.TableColumn.Width = 170;
+ //
+ // DataType
+ //
+ this.DataType.DataPropertyName = "CnasDataType";
+ this.DataType.HeaderText = "类型";
+ this.DataType.Name = "DataType";
+ this.DataType.ReadOnly = true;
+ this.DataType.Visible = false;
+ this.DataType.Width = 120;
+ //
+ // condition
+ //
+ this.condition.HeaderText = "条件";
+ this.condition.Name = "condition";
+ this.condition.ReadOnly = true;
+ this.condition.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.condition.Width = 110;
+ //
+ // Value
+ //
+ this.Value.HeaderText = "值";
+ this.Value.Name = "Value";
+ this.Value.Width = 200;
+ //
+ // pnlCenterBottom
+ //
+ this.pnlCenterBottom.Controls.Add(this.btnDelete);
+ this.pnlCenterBottom.Controls.Add(this.btnOK);
+ this.pnlCenterBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlCenterBottom.Location = new System.Drawing.Point(0, 353);
+ this.pnlCenterBottom.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlCenterBottom.Name = "pnlCenterBottom";
+ this.pnlCenterBottom.Size = new System.Drawing.Size(574, 43);
+ this.pnlCenterBottom.TabIndex = 0;
+ //
+ // btnDelete
+ //
+ this.btnDelete.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnDelete.Location = new System.Drawing.Point(401, 11);
+ this.btnDelete.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.btnDelete.Name = "btnDelete";
+ this.btnDelete.Size = new System.Drawing.Size(70, 25);
+ this.btnDelete.TabIndex = 1;
+ this.btnDelete.Text = "全部清除";
+ this.btnDelete.UseVisualStyleBackColor = true;
+ this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
+ //
+ // btnOK
+ //
+ this.btnOK.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnOK.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnOK.Location = new System.Drawing.Point(477, 6);
+ this.btnOK.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(90, 30);
+ this.btnOK.TabIndex = 0;
+ this.btnOK.Text = "确定";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // pnlRight
+ //
+ this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlRight.Location = new System.Drawing.Point(584, 10);
+ this.pnlRight.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlRight.Name = "pnlRight";
+ this.pnlRight.Size = new System.Drawing.Size(10, 396);
+ this.pnlRight.TabIndex = 4;
+ //
+ // pnlBottom
+ //
+ this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlBottom.Location = new System.Drawing.Point(10, 406);
+ this.pnlBottom.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlBottom.Name = "pnlBottom";
+ this.pnlBottom.Size = new System.Drawing.Size(584, 10);
+ this.pnlBottom.TabIndex = 5;
+ //
+ // pnlTop
+ //
+ this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlTop.Location = new System.Drawing.Point(10, 0);
+ this.pnlTop.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlTop.Name = "pnlTop";
+ this.pnlTop.Size = new System.Drawing.Size(584, 10);
+ this.pnlTop.TabIndex = 6;
+ //
+ // pnlLeft
+ //
+ this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
+ this.pnlLeft.Location = new System.Drawing.Point(0, 0);
+ this.pnlLeft.Margin = new System.Windows.Forms.Padding(3, 6, 3, 6);
+ this.pnlLeft.Name = "pnlLeft";
+ this.pnlLeft.Size = new System.Drawing.Size(10, 416);
+ this.pnlLeft.TabIndex = 3;
+ //
+ // frmConditionMap
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(594, 416);
+ this.Controls.Add(this.pnlCenter);
+ this.Controls.Add(this.pnlRight);
+ this.Controls.Add(this.pnlBottom);
+ this.Controls.Add(this.pnlTop);
+ this.Controls.Add(this.pnlLeft);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.Name = "frmConditionMap";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "条件映射";
+ this.Load += new System.EventHandler(this.frmConditionMap_Load);
+ this.pnlCenter.ResumeLayout(false);
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dgvCnas)).EndInit();
+ this.pnlCenterBottom.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel pnlCenter;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.DataGridView dgvCnas;
+ private System.Windows.Forms.Panel pnlCenterBottom;
+ private System.Windows.Forms.Button btnDelete;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Panel pnlRight;
+ private System.Windows.Forms.Panel pnlBottom;
+ private System.Windows.Forms.Panel pnlTop;
+ private System.Windows.Forms.Panel pnlLeft;
+ private System.Windows.Forms.DataGridViewTextBoxColumn TableName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn TableColumn;
+ private System.Windows.Forms.DataGridViewTextBoxColumn DataType;
+ private System.Windows.Forms.DataGridViewTextBoxColumn condition;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Value;
+ }
+}
\ No newline at end of file
diff --git a/CNAS_BalanceClient/frmConditionMap.cs b/CNAS_BalanceClient/frmConditionMap.cs
new file mode 100644
index 0000000..b28cc33
--- /dev/null
+++ b/CNAS_BalanceClient/frmConditionMap.cs
@@ -0,0 +1,556 @@
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace CNAS_BalanceClient
+{
+ public partial class frmConditionMap : Form
+ {
+ DataBaseInfo targetDataBase;
+ public SyncBalanceItem currentBalanceItem;
+ private ComboBox cbxConditionValue;
+ //private List lstConditionValueType = new List() { "等于", "连接", "若...则...", "截取", "除以", "乘以", "小数位数", "数值相加(减)", "截断开头(结尾)" };
+ private List lstConditionValueType = new List() { "等于" };
+
+ public frmConditionMap(SyncBalanceItem currentBalanceItem, DataBaseInfo targetDataBase)
+ {
+ InitializeComponent();
+
+ this.currentBalanceItem = currentBalanceItem;
+ this.targetDataBase = targetDataBase;
+ }
+
+ private void frmConditionMap_Load(object sender, EventArgs e)
+ {
+ if (currentBalanceItem == null || currentBalanceItem.syncParamasInfos == null || currentBalanceItem.syncParamasInfos.Count == 0)
+ {
+ MessageBox.Show("请先指定至少一个映射字段。");
+ return;
+ }
+ //初始化ComBobox
+ InnitalComboBox();
+
+ //加载数据
+ LoadShowData();
+ }
+
+
+ ///
+ /// 初始化控件combobox
+ ///
+ private void InnitalComboBox()
+ {
+ cbxConditionValue = new ComboBox();
+ cbxConditionValue.SelectedIndexChanged += new EventHandler(cbxConditionValue_SelectedIndexChanged);
+ cbxConditionValue.SelectionChangeCommitted += new EventHandler(cbxConditionValue_SelectionChangedCommitted);
+
+ cbxConditionValue.Visible = false;
+
+ cbxConditionValue.DataSource = lstConditionValueType;
+ }
+ private void cbxConditionValue_SelectionChangedCommitted(object sender, EventArgs e)
+ {
+ cbxConditionValue.Visible = false;
+ }
+
+ private void cbxConditionValue_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ //当前选中单元格的值将随之发生更改
+ if (dgvCnas.CurrentCell == null) return;
+ dgvCnas.Rows[dgvCnas.CurrentCell.RowIndex].Cells["condition"].Value = cbxConditionValue.Text;
+ }
+ ///
+ /// 加载数据
+ ///
+ private void LoadShowData()
+ {
+ //1.根据映射表中的表名,获取该表所有字段,全部显示
+ string strTableName = currentBalanceItem.syncParamasInfos[0].TargetTable;
+ DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(strTableName, targetDataBase);
+ if (dtTableStruct != null)
+ {
+ DataTable dtCnasShow = new DataTable();
+ dtCnasShow.Columns.Add("CnasTableName");
+ dtCnasShow.Columns.Add("CnasFieldName");
+ dtCnasShow.Columns.Add("CnasDataType");
+ foreach (DataColumn dc in dtTableStruct.Columns)
+ {
+ if (dc.ColumnName.ToUpper() == "ID") continue;
+ dtCnasShow.Rows.Add(new object[] { strTableName, dc.ColumnName, dc.DataType });
+ }
+
+ dgvCnas.DataSource = dtCnasShow;
+ }
+ //2.根据已存储数据,匹配后填充到datagridview中
+ if (currentBalanceItem.lstFixedValue == null)
+ currentBalanceItem.lstFixedValue = new List();
+ if (currentBalanceItem.lstFixedValue.Count == 0) return;
+ foreach (DataGridViewRow dgvRow in dgvCnas.Rows)
+ {
+ string strCurrentTable = dgvRow.Cells["TableName"].Value.ToString();
+ string strCurrentColumn = dgvRow.Cells["TableColumn"].Value.ToString();
+
+ if (strCurrentTable == "" || strCurrentColumn == "") continue;
+ var query = currentBalanceItem.lstFixedValue.Where(s => s.TableName == strCurrentTable && s.ColumnName == strCurrentColumn).ToList();
+ if (query.Count == 1)
+ {
+ dgvRow.Cells["Value"].Value = query[0].Value;
+ dgvRow.Cells["Condition"].Value = GiveShowByCondition(query[0]);
+ }
+ }
+ }
+
+ public string GiveShowByCondition(CnasConditionMapValue cnasFixed)
+ {
+ string strCurrentCondition = "";
+ switch (cnasFixed.Condition)
+ {
+ case MapCondition.Equal:
+ strCurrentCondition = "等于";
+ break;
+ case MapCondition.Sub:
+ strCurrentCondition = "连接";
+ break;
+ case MapCondition.IFThen:
+ strCurrentCondition = "若...则...";
+ break;
+ case MapCondition.Divided:
+ strCurrentCondition = "除以";
+ break;
+ case MapCondition.Multiplied:
+ strCurrentCondition = "乘以";
+ break;
+ case MapCondition.SubString:
+ strCurrentCondition = "截取";
+ break;
+ case MapCondition.DecimalDigits:
+ strCurrentCondition = "小数位数";
+ break;
+ case MapCondition.AddSubtract:
+ strCurrentCondition = "数值相加(减)";
+ break;
+ case MapCondition.SubstringStartEnd:
+ strCurrentCondition = "截断开头(结尾)";
+ break;
+ }
+ return strCurrentCondition;
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+
+ private void dgvCnas_CellEndEdit(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.ColumnIndex == 1) //此时是“值”列
+ {
+ //如果没有指定条件,无法存储结果
+ if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value == null) return;
+
+ //当前列名
+ string strCurrentTable = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString();
+ string strCurrentColumn = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString();
+ string strCurrentType = dgvCnas.Rows[e.RowIndex].Cells["DataType"].Value.ToString();
+ string strCurrentCondition = dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString();
+
+ if (dgvCnas.CurrentCell.Value == null)
+ {
+ currentBalanceItem.lstFixedValue.RemoveAll(s => s.TableName == strCurrentTable && s.ColumnName == strCurrentColumn);
+ return;
+ }
+ string strInputValue = dgvCnas.CurrentCell.Value.ToString();
+
+ //检查合法性
+ if (strCurrentColumn == "ID")
+ {
+ MessageBox.Show("该列不能指定固定值。");
+ return;
+ }
+ bool bIfSuccess = true;
+ switch (strCurrentType)
+ {
+ case "System.Decimal":
+ decimal defaultdecimal = 0;
+ if (!decimal.TryParse(strInputValue, out defaultdecimal))
+ bIfSuccess = false;
+ break;
+ case "System.Int":
+ int defaultint = 0;
+ if (!int.TryParse(strInputValue, out defaultint))
+ bIfSuccess = false;
+ break;
+ case "System.String":
+ default:
+ break;
+ }
+ if (!bIfSuccess)
+ {
+ MessageBox.Show("输入格式不正确,请重新输入。");
+ return;
+ }
+
+ if (GetBytesOfString(strInputValue) > 20)
+ {
+ MessageBox.Show("输入内容超出限制,请重新输入。");
+ dgvCnas.CurrentCell.Value = "";
+ return;
+ }
+
+ //将数据插入到数据源中
+ var query = currentBalanceItem.lstFixedValue.Where(s => s.TableName == strCurrentTable && s.ColumnName == strCurrentColumn).ToList();
+ if (query.Count >= 1)
+ {
+ GiveConditionByShow(query[0], strCurrentCondition);
+ //query[0].Condition = strCurrentCondition == "Sub" ? MapCondition.Sub : (strCurrentCondition == "IFThen" ? MapCondition.IFThen: MapCondition.Equal);
+ query[0].Value = strInputValue;
+ }
+ else
+ {
+ CnasConditionMapValue cnasFixed = new CnasConditionMapValue();
+ cnasFixed.TableName = strCurrentTable;
+ cnasFixed.ColumnName = strCurrentColumn;
+ cnasFixed.Value = strInputValue;
+ //cnasFixed.Condition= strCurrentCondition == "Sub" ? MapCondition.Sub : (strCurrentCondition == "IFThen" ? MapCondition.IFThen : MapCondition.Equal);
+ GiveConditionByShow(cnasFixed, strCurrentCondition);
+
+ currentBalanceItem.lstFixedValue.Add(cnasFixed);
+ }
+ }
+ }
+
+ public int GetBytesOfString(string Text)
+ {
+ int nByte = 0;
+ byte[] bytes = Encoding.Unicode.GetBytes(Text);
+ for (int i = 0; i < bytes.GetLength(0); i++)
+ {
+ // 偶数位置,如0、2、4等,为UCS2编码中两个字节的第一个字节
+ if (i % 2 == 0)
+ {
+ nByte++; // 在UCS2第一个字节时n加1
+ }
+ else
+ {
+ // 当UCS2编码的第二个字节大于0时,该UCS2字符为汉字,一个汉字算两个字节
+ if (bytes[i] > 0)
+ {
+ nByte++;
+ }
+ }
+ }
+
+ return nByte;
+ }
+
+ public void GiveConditionByShow(CnasConditionMapValue cnasFixed, string strCurrentCondition)
+ {
+ switch (strCurrentCondition)
+ {
+ case "连接":
+ cnasFixed.Condition = MapCondition.Sub;
+ break;
+ case "若...则...":
+ cnasFixed.Condition = MapCondition.IFThen;
+ break;
+ case "截取":
+ cnasFixed.Condition = MapCondition.SubString;
+ break;
+ case "除以":
+ cnasFixed.Condition = MapCondition.Divided;
+ break;
+ case "乘以":
+ cnasFixed.Condition = MapCondition.Multiplied;
+ break;
+ case "小数位数":
+ cnasFixed.Condition = MapCondition.DecimalDigits;
+ break;
+ case "等于":
+ cnasFixed.Condition = MapCondition.Equal;
+ break;
+ case "数值相加(减)":
+ cnasFixed.Condition = MapCondition.AddSubtract;
+ break;
+ case "截断开头(结尾)":
+ cnasFixed.Condition = MapCondition.SubstringStartEnd;
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void dgvCnas_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
+ {
+ Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
+ e.RowBounds.Location.Y,
+ dgvCnas.RowHeadersWidth - 4,
+ e.RowBounds.Height);
+
+ TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
+ dgvCnas.RowHeadersDefaultCellStyle.Font,
+ rectangle,
+ dgvCnas.RowHeadersDefaultCellStyle.ForeColor,
+ TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
+ }
+
+ private void dgvCnas_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.ColumnIndex == 0) //如果此时是“条件”列
+ {
+ ShowConditionValue();
+ }
+ #region
+ //if (e.ColumnIndex == 1)//如果此时是“值”列
+ //{
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value == null) return;
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "连接")
+ // {
+ // CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ // {
+ // TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ // ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ // Condition = MapCondition.Sub
+ // };
+ // if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ // cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ // frmConditionParam frmCondition = new frmConditionParam(syncInstrument, cnasFixed);
+ // if (frmCondition.ShowDialog() == DialogResult.OK)
+ // {
+ // if (frmCondition.conditionvalue.Value != null && frmCondition.conditionvalue.Value.ToString() != "")
+ // {
+ // dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmCondition.conditionvalue.Value;
+
+ // //将数据插入到数据源中
+ // var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ // if (query.Count >= 1)
+ // {
+ // query[0].Condition = cnasFixed.Condition;
+ // query[0].Value = frmCondition.conditionvalue.Value;
+ // }
+ // else
+ // {
+ // cnasFixed.Value = frmCondition.conditionvalue.Value;
+ // syncInstrument.lstFixedValue.Add(cnasFixed);
+ // }
+ // }
+ // }
+ // }
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "若...则...")
+ // {
+ // CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ // {
+ // TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ // ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ // Condition = MapCondition.IFThen
+ // };
+ // if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ // cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ // frmIfThenParams frmIfThen = new frmIfThenParams(syncInstrument, cnasFixed);
+ // if (frmIfThen.ShowDialog() == DialogResult.OK)
+ // {
+ // if (frmIfThen.conditionvalue.Value != null && frmIfThen.conditionvalue.Value.ToString() != "")
+ // {
+ // dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmIfThen.conditionvalue.Value;
+
+ // //将数据插入到数据源中
+ // var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ // if (query.Count >= 1)
+ // {
+ // query[0].Condition = cnasFixed.Condition;
+ // query[0].Value = frmIfThen.conditionvalue.Value;
+ // }
+ // else
+ // {
+ // cnasFixed.Value = frmIfThen.conditionvalue.Value;
+ // syncInstrument.lstFixedValue.Add(cnasFixed);
+ // }
+ // }
+ // }
+ // }
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "截取")
+ // {
+ // CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ // {
+ // TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ // ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ // Condition = MapCondition.SubString
+ // };
+ // if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ // cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ // frmSplitParam frmSplitParam = new frmSplitParam(cnasFixed);
+ // if (frmSplitParam.ShowDialog() == DialogResult.OK)
+ // {
+ // if (frmSplitParam.conditionvalue.Value != null && frmSplitParam.conditionvalue.Value.ToString() != "")
+ // {
+ // dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmSplitParam.conditionvalue.Value;
+
+ // //将数据插入到数据源中
+ // var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ // if (query.Count >= 1)
+ // {
+ // query[0].Condition = cnasFixed.Condition;
+ // query[0].Value = frmSplitParam.conditionvalue.Value;
+ // }
+ // else
+ // {
+ // cnasFixed.Value = frmSplitParam.conditionvalue.Value;
+ // syncInstrument.lstFixedValue.Add(cnasFixed);
+ // }
+ // }
+ // }
+ // }
+
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "截断开头(结尾)")
+ // {
+ // CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ // {
+ // TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ // ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ // Condition = MapCondition.SubstringStartEnd
+ // };
+ // if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ // cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ // frmStartEndSubstring frmStartEnd = new frmStartEndSubstring(cnasFixed);
+ // if (frmStartEnd.ShowDialog() == DialogResult.OK)
+ // {
+ // if (frmStartEnd.conditionvalue.Value != null && frmStartEnd.conditionvalue.Value.ToString() != "")
+ // {
+ // dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmStartEnd.conditionvalue.Value;
+
+ // //将数据插入到数据源中
+ // var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ // if (query.Count >= 1)
+ // {
+ // query[0].Condition = cnasFixed.Condition;
+ // query[0].Value = frmStartEnd.conditionvalue.Value;
+ // }
+ // else
+ // {
+ // cnasFixed.Value = frmStartEnd.conditionvalue.Value;
+ // syncInstrument.lstFixedValue.Add(cnasFixed);
+ // }
+ // }
+ // }
+ // }
+
+ // if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "数值相加(减)")
+ // {
+ // CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ // {
+ // TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ // ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ // Condition = MapCondition.AddSubtract
+ // };
+ // if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ // cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ // frmAddSubtract frmAddSubtract = new frmAddSubtract(syncInstrument, cnasFixed);
+ // if (frmAddSubtract.ShowDialog() == DialogResult.OK)
+ // {
+ // if (frmAddSubtract.conditionvalue.Value != null && frmAddSubtract.conditionvalue.Value.ToString() != "")
+ // {
+ // dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmAddSubtract.conditionvalue.Value;
+
+ // //将数据插入到数据源中
+ // var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ // if (query.Count >= 1)
+ // {
+ // query[0].Condition = cnasFixed.Condition;
+ // query[0].Value = frmAddSubtract.conditionvalue.Value;
+ // }
+ // else
+ // {
+ // cnasFixed.Value = frmAddSubtract.conditionvalue.Value;
+ // syncInstrument.lstFixedValue.Add(cnasFixed);
+ // }
+ // }
+ // }
+ // }
+
+ // dgvCnas.EndEdit();
+ //}
+ #endregion
+ }
+ private void ShowConditionValue()
+ {
+ Rectangle TmpRect = dgvCnas.GetCellDisplayRectangle(dgvCnas.CurrentCell.ColumnIndex, dgvCnas.CurrentCell.RowIndex, true);
+ cbxConditionValue.Size = TmpRect.Size;
+ cbxConditionValue.Top = TmpRect.Top;
+ cbxConditionValue.Left = TmpRect.Left;
+ cbxConditionValue.DropDownStyle = ComboBoxStyle.DropDownList;
+ cbxConditionValue.FormattingEnabled = true;
+ cbxConditionValue.Visible = true;
+
+ if (!this.dgvCnas.Controls.Contains(cbxConditionValue))
+ this.dgvCnas.Controls.Add(cbxConditionValue);
+ }
+
+ private void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (currentBalanceItem == null) return;
+ if (currentBalanceItem.lstFixedValue == null) return;
+ if (dgvCnas == null) return;
+ if (dgvCnas.Rows.Count <= 0) return;
+
+ foreach (DataGridViewRow dr in dgvCnas.Rows)
+ {
+ dr.Cells["condition"].Value = "";
+ dr.Cells["Value"].Value = "";
+ }
+ currentBalanceItem.lstFixedValue.Clear();
+ }
+
+ private void dgvCnas_CellValueChanged(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.RowIndex <= 0) return;
+ if (e.ColumnIndex == 0) //此时是“条件”列
+ {
+ if (dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value == null) return;
+ if (dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value == null) return;
+ if (dgvCnas.Rows[e.RowIndex].Cells["DataType"].Value == null) return;
+ if (dgvCnas.Rows[e.RowIndex].Cells["Condition"].Value == null) return;
+
+ //当前列名
+ string strCurrentTable = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString();
+ string strCurrentColumn = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString();
+ string strCurrentType = dgvCnas.Rows[e.RowIndex].Cells["DataType"].Value.ToString();
+ string strCurrentCondition = dgvCnas.Rows[e.RowIndex].Cells["Condition"].Value.ToString();
+ string strCurrentValue = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value == null ? "" : dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ //将数据插入到数据源中
+ var query = currentBalanceItem.lstFixedValue.Where(s => s.TableName == strCurrentTable && s.ColumnName == strCurrentColumn).ToList();
+ if (query.Count >= 1)
+ {
+ GiveConditionByShow(query[0], strCurrentCondition);
+ }
+ else
+ {
+ CnasConditionMapValue cnasFixed = new CnasConditionMapValue();
+ cnasFixed.TableName = strCurrentTable;
+ cnasFixed.ColumnName = strCurrentColumn;
+ cnasFixed.Value = strCurrentValue;
+ GiveConditionByShow(cnasFixed, strCurrentCondition);
+
+ currentBalanceItem.lstFixedValue.Add(cnasFixed);
+ }
+ }
+ }
+
+ private void dgvCnas_CellClick(object sender, DataGridViewCellEventArgs e)
+ {
+ cbxConditionValue.Visible = false;
+ }
+ }
+}
diff --git a/CNAS_BalanceClient/frmConditionMap.resx b/CNAS_BalanceClient/frmConditionMap.resx
new file mode 100644
index 0000000..9bb331f
--- /dev/null
+++ b/CNAS_BalanceClient/frmConditionMap.resx
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+
+
+ AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAVAAAAOwAAAGYAAACWAAAAvQAAANkAAADvAAAA+wAAAP8AAAD/AAAA+gAA
+ AOwAAADWAAAAuQAAAJIAAABhAAAAOAAAABMAAAAAAAAAAAAAAAAAAAAAAAAACQAAAFEAAACeAAAAuQAA
+ ALkAAAClAAAAlgAAAIkAAACEAAAAfwAAAIQAAACKAAAAlgAAAKUAAAC7AAAA1QAAAPQAAAD9AAAA4QAA
+ AKgAAABQAAAACAAAAAAAAAAAAAAAJQAAAFgAAABEAAAAMAAAACUAAAAdAAAAFwAAABMAAAARAAAADwAA
+ ABEAAAATAAAAFwAAAB0AAAAlAAAALgAAAD4AAABuAAAAtwAAAPIAAADmAAAAUwAAAAAAAAAAAAAACQAA
+ ACcAAABCAAAAbAAAAJYAAAC3AAAAzgAAAOAAAADpAAAA8AAAAOkAAADhAAAA0AAAALoAAACZAAAAcQAA
+ AEQAAAAmAAAAEgAAAEUAAADPAAAAgAAAAAAAAAAmAAAAgQAAAMgAAAD2AAAA/AAAAOYAAADIAAAAsAAA
+ AJ4AAACPAAAAhwAAAIEAAACBAAAAhwAAAI8AAACdAAAArwAAAL0AAACtAAAAfQAAACEAAABVAAAAdAAA
+ AAAAAADAAAAA9wAAANoAAACQAAAAUQAAADQAAAApAAAAIQAAABoAAAAVAAAAEgAAAA8AAAAPAAAAEgAA
+ ABUAAAAaAAAAIQAAACoAAAA3AAAATwAAAEMAAAAaAAAAJAAAAAAAAADwAAAAhQAAABwAAAAZAAAAMgAA
+ AFUAAACDAAAApwAAAMMAAADYAAAA5QAAAO0AAADuAAAA5gAAANkAAADFAAAAqwAAAIcAAABZAAAANAAA
+ ABkAAAAAAAAAAAAAAAAAAACtAAAAFQAAAFAAAACpAAAA4wAAAP4AAAD1AAAA1wAAALwAAACmAAAAlwAA
+ AIoAAACEAAAAfwAAAIQAAACKAAAAlgAAAKUAAAC6AAAAuQAAAJ0AAABQAAAACAAAAAAAAAAxAAAAVgAA
+ AOgAAADzAAAAugAAAHAAAAA/AAAALgAAACUAAAAdAAAAFwAAABMAAAARAAAADwAAABEAAAATAAAAGAAA
+ AB0AAAAlAAAAMAAAAEQAAABWAAAAIwAAAAAAAAAAAAAAgAAAANcAAABNAAAAFQAAACkAAABGAAAAcgAA
+ AJoAAAC7AAAA0AAAAOEAAADpAAAA7wAAAOcAAADeAAAAywAAALUAAACUAAAAbAAAAEEAAAAmAAAACAAA
+ AAAAAAAAAAAAdQAAAHYAAAAdAAAAWAAAAIQAAACbAAAAlgAAAIoAAACEAAAAfwAAAIQAAACKAAAAlwAA
+ AKYAAAC8AAAA1wAAAPUAAAD/AAAA/wAAAPUAAADHAAAAgAAAACYAAAAAAAAAJQAAADMAAAAQAAAALAAA
+ ACgAAAAdAAAAFwAAABMAAAARAAAADwAAABEAAAATAAAAGAAAAB0AAAAlAAAALwAAAD8AAABxAAAAugAA
+ APAAAAD/AAAA+wAAAL0AAAAAAAAAAwAAACUAAABFAAAAbQAAAJYAAAC3AAAAzgAAAOAAAADpAAAA8AAA
+ AOkAAADhAAAA0AAAALoAAACZAAAAcQAAAEQAAAAmAAAAEwAAAE0AAADSAAAA/wAAAP8AAAAmAAAAgQAA
+ AMgAAAD2AAAA/AAAAOYAAADIAAAAsAAAAJ4AAACPAAAAhwAAAIEAAACBAAAAhwAAAI8AAACdAAAAsAAA
+ AL4AAACuAAAAfQAAACIAAABfAAAA/wAAAO8AAADAAAAA9wAAANoAAACQAAAAUQAAADQAAAApAAAAIQAA
+ ABoAAAAVAAAAEgAAAA8AAAAPAAAAEgAAABUAAAAaAAAAIQAAACoAAAA4AAAAUQAAAEUAAABGAAAA1wAA
+ AGsAAADwAAAAhQAAABwAAAAZAAAAMgAAAFcAAACFAAAAqQAAAMQAAADZAAAA5QAAAO4AAADuAAAA5QAA
+ ANkAAADEAAAAqQAAAIUAAABWAAAAMgAAABgAAAAOAAAAIgAAAAIAAACtAAAAFQAAAFEAAACpAAAA4AAA
+ AOUAAADIAAAAsAAAAJ4AAACPAAAAhwAAAIEAAACBAAAAhwAAAJAAAACeAAAAsAAAAMgAAADlAAAA3wAA
+ AKgAAABQAAAACAAAAAAAAAAxAAAAUgAAAMMAAACXAAAAVQAAADUAAAApAAAAIQAAABoAAAAVAAAAEgAA
+ AA8AAAAPAAAAEgAAABUAAAAaAAAAIQAAACoAAAA1AAAAVQAAAJgAAADAAAAATgAAAAAAAAAAAAAAKwAA
+ ACcAAAAZAAAAMgAAAFUAAACCAAAApQAAAL8AAADTAAAA3wAAAOcAAADnAAAA3wAAANMAAAC/AAAApQAA
+ AIIAAABVAAAAMQAAABkAAAAnAAAAKwAAAAAAAAAAAAAACQAAAFEAAACpAAAA4gAAAP0AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA4QAAAKgAAABPAAAACAAA
+ AAAAAAAAAAAAVgAAAOgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAAUwAAAAAAAAAAAAAAVQAAAOcAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAADlAAAAUgAAAAAAAAAAAAAACAAAAFAAAACoAAAA4QAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAA4QAAAKcAAABPAAAABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAUAAAAOAAAAGEAAACRAAAAtwAAANIAAADoAAAA9AAAAPwAAAD8AAAA9AAAAOcAAADSAAAAtgAA
+ AJAAAABhAAAAOAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAA=
+
+
+
\ No newline at end of file
diff --git a/CNAS_BalanceClient/frmConfigPort.Designer.cs b/CNAS_BalanceClient/frmConfigPort.Designer.cs
index 89c4775..9a0cab9 100644
--- a/CNAS_BalanceClient/frmConfigPort.Designer.cs
+++ b/CNAS_BalanceClient/frmConfigPort.Designer.cs
@@ -274,13 +274,16 @@
this.ClientSize = new System.Drawing.Size(509, 275);
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.MaximizeBox = false;
+ this.MinimizeBox = false;
this.Name = "frmConfigPort";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "天平设置";
this.Load += new System.EventHandler(this.frmConfigPort_Load);
+ this.Shown += new System.EventHandler(this.frmConfigPort_Shown);
this.panel1.ResumeLayout(false);
this.pnlCenter.ResumeLayout(false);
this.pnlCenter.PerformLayout();
diff --git a/CNAS_BalanceClient/frmConfigPort.cs b/CNAS_BalanceClient/frmConfigPort.cs
index 9439119..3e606b5 100644
--- a/CNAS_BalanceClient/frmConfigPort.cs
+++ b/CNAS_BalanceClient/frmConfigPort.cs
@@ -1,4 +1,5 @@
-using CnasSynchronusClient;
+using CNAS_SerialPort;
+using CnasSynchronusClient;
using CnasSynchrousModel;
using System;
using System.Windows.Forms;
@@ -36,7 +37,6 @@ namespace CNAS_BalanceClient
}
//cbxPortName.Items.AddRange(System.IO.Ports.SerialPort.GetPortNames());
-
}
private void btnOK_Click(object sender, EventArgs e)
@@ -66,7 +66,7 @@ namespace CNAS_BalanceClient
}
else
{
- MessageBox.Show("保存时发生异常,无法正常保存!");
+ MessageBox.Show("保存时发生异常,无法正常保存!", "提示");
}
}
@@ -74,5 +74,10 @@ namespace CNAS_BalanceClient
{
this.Close();
}
+
+ private void frmConfigPort_Shown(object sender, EventArgs e)
+ {
+ this.cbxPortName.Select(0, 0);
+ }
}
}
diff --git a/CNAS_BalanceClient/frmHistory.Designer.cs b/CNAS_BalanceClient/frmHistory.Designer.cs
index ed08a12..73daa7c 100644
--- a/CNAS_BalanceClient/frmHistory.Designer.cs
+++ b/CNAS_BalanceClient/frmHistory.Designer.cs
@@ -50,6 +50,7 @@
this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Mad = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvHuiFen = new System.Windows.Forms.DataGridView();
this.ID3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn14 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -64,6 +65,7 @@
this.DecrementValue2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.AAD = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column17 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.dataGridViewTextBoxColumn11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvHuiFaFen = new System.Windows.Forms.DataGridView();
this.ID4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn24 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -78,6 +80,7 @@
this.VAD = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column13 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column14 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.dataGridViewTextBoxColumn13 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvQuanShuiFen = new System.Windows.Forms.DataGridView();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Sample_Number = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -91,6 +94,7 @@
this.ThirdDrying_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Mt = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Auto_Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlCenterTop = new System.Windows.Forms.Panel();
this.btnFind = new System.Windows.Forms.Button();
this.txtCode = new System.Windows.Forms.TextBox();
@@ -125,7 +129,7 @@
this.pnlAll.Location = new System.Drawing.Point(0, 0);
this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(869, 540);
+ this.pnlAll.Size = new System.Drawing.Size(919, 558);
this.pnlAll.TabIndex = 0;
//
// pnlCenter
@@ -135,7 +139,7 @@
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlCenter.Location = new System.Drawing.Point(10, 10);
this.pnlCenter.Name = "pnlCenter";
- this.pnlCenter.Size = new System.Drawing.Size(849, 520);
+ this.pnlCenter.Size = new System.Drawing.Size(899, 538);
this.pnlCenter.TabIndex = 4;
//
// pnlCenterBody
@@ -147,7 +151,7 @@
this.pnlCenterBody.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlCenterBody.Location = new System.Drawing.Point(0, 48);
this.pnlCenterBody.Name = "pnlCenterBody";
- this.pnlCenterBody.Size = new System.Drawing.Size(849, 472);
+ this.pnlCenterBody.Size = new System.Drawing.Size(899, 490);
this.pnlCenterBody.TabIndex = 1;
//
// dgvShuiFen
@@ -168,7 +172,8 @@
this.dataGridViewTextBoxColumn10,
this.Column9,
this.Mad,
- this.dataGridViewTextBoxColumn12});
+ this.dataGridViewTextBoxColumn12,
+ this.Column1});
this.dgvShuiFen.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvShuiFen.Location = new System.Drawing.Point(0, 0);
this.dgvShuiFen.Name = "dgvShuiFen";
@@ -177,7 +182,7 @@
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.Color.Black;
this.dgvShuiFen.RowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvShuiFen.RowTemplate.Height = 23;
- this.dgvShuiFen.Size = new System.Drawing.Size(849, 472);
+ this.dgvShuiFen.Size = new System.Drawing.Size(899, 490);
this.dgvShuiFen.TabIndex = 5;
//
// dataGridViewTextBoxColumn1
@@ -279,6 +284,14 @@
this.dataGridViewTextBoxColumn12.Name = "dataGridViewTextBoxColumn12";
this.dataGridViewTextBoxColumn12.ReadOnly = true;
//
+ // Column1
+ //
+ this.Column1.DataPropertyName = "OperaDateTime";
+ this.Column1.HeaderText = "称量日期";
+ this.Column1.Name = "Column1";
+ this.Column1.ReadOnly = true;
+ this.Column1.Width = 150;
+ //
// dgvHuiFen
//
this.dgvHuiFen.AllowUserToAddRows = false;
@@ -297,7 +310,8 @@
this.dataGridViewTextBoxColumn22,
this.DecrementValue2,
this.AAD,
- this.Column17});
+ this.Column17,
+ this.dataGridViewTextBoxColumn11});
this.dgvHuiFen.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvHuiFen.Location = new System.Drawing.Point(0, 0);
this.dgvHuiFen.Name = "dgvHuiFen";
@@ -306,7 +320,7 @@
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.Color.Black;
this.dgvHuiFen.RowsDefaultCellStyle = dataGridViewCellStyle2;
this.dgvHuiFen.RowTemplate.Height = 23;
- this.dgvHuiFen.Size = new System.Drawing.Size(849, 472);
+ this.dgvHuiFen.Size = new System.Drawing.Size(899, 490);
this.dgvHuiFen.TabIndex = 4;
//
// ID3
@@ -407,6 +421,14 @@
this.Column17.Name = "Column17";
this.Column17.ReadOnly = true;
//
+ // dataGridViewTextBoxColumn11
+ //
+ this.dataGridViewTextBoxColumn11.DataPropertyName = "OperaDateTime";
+ this.dataGridViewTextBoxColumn11.HeaderText = "称量日期";
+ this.dataGridViewTextBoxColumn11.Name = "dataGridViewTextBoxColumn11";
+ this.dataGridViewTextBoxColumn11.ReadOnly = true;
+ this.dataGridViewTextBoxColumn11.Width = 150;
+ //
// dgvHuiFaFen
//
this.dgvHuiFaFen.AllowUserToAddRows = false;
@@ -425,7 +447,8 @@
this.MAD2,
this.VAD,
this.Column13,
- this.Column14});
+ this.Column14,
+ this.dataGridViewTextBoxColumn13});
this.dgvHuiFaFen.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvHuiFaFen.Location = new System.Drawing.Point(0, 0);
this.dgvHuiFaFen.Name = "dgvHuiFaFen";
@@ -434,7 +457,7 @@
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.Black;
this.dgvHuiFaFen.RowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvHuiFaFen.RowTemplate.Height = 23;
- this.dgvHuiFaFen.Size = new System.Drawing.Size(849, 472);
+ this.dgvHuiFaFen.Size = new System.Drawing.Size(899, 490);
this.dgvHuiFaFen.TabIndex = 3;
//
// ID4
@@ -533,6 +556,14 @@
this.Column14.Name = "Column14";
this.Column14.ReadOnly = true;
//
+ // dataGridViewTextBoxColumn13
+ //
+ this.dataGridViewTextBoxColumn13.DataPropertyName = "OperaDateTime";
+ this.dataGridViewTextBoxColumn13.HeaderText = "称量日期";
+ this.dataGridViewTextBoxColumn13.Name = "dataGridViewTextBoxColumn13";
+ this.dataGridViewTextBoxColumn13.ReadOnly = true;
+ this.dataGridViewTextBoxColumn13.Width = 150;
+ //
// dgvQuanShuiFen
//
this.dgvQuanShuiFen.AllowUserToAddRows = false;
@@ -550,7 +581,8 @@
this.SecondDrying_Weight,
this.ThirdDrying_Weight,
this.Mt,
- this.Auto_Code});
+ this.Auto_Code,
+ this.Column2});
this.dgvQuanShuiFen.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvQuanShuiFen.Location = new System.Drawing.Point(0, 0);
this.dgvQuanShuiFen.Name = "dgvQuanShuiFen";
@@ -559,7 +591,7 @@
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.Black;
this.dgvQuanShuiFen.RowsDefaultCellStyle = dataGridViewCellStyle4;
this.dgvQuanShuiFen.RowTemplate.Height = 23;
- this.dgvQuanShuiFen.Size = new System.Drawing.Size(849, 472);
+ this.dgvQuanShuiFen.Size = new System.Drawing.Size(899, 490);
this.dgvQuanShuiFen.TabIndex = 1;
//
// ID
@@ -654,6 +686,14 @@
this.Auto_Code.Name = "Auto_Code";
this.Auto_Code.ReadOnly = true;
//
+ // Column2
+ //
+ this.Column2.DataPropertyName = "OperaDateTime";
+ this.Column2.HeaderText = "称量日期";
+ this.Column2.Name = "Column2";
+ this.Column2.ReadOnly = true;
+ this.Column2.Width = 150;
+ //
// pnlCenterTop
//
this.pnlCenterTop.Controls.Add(this.btnFind);
@@ -667,12 +707,12 @@
this.pnlCenterTop.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlCenterTop.Location = new System.Drawing.Point(0, 0);
this.pnlCenterTop.Name = "pnlCenterTop";
- this.pnlCenterTop.Size = new System.Drawing.Size(849, 48);
+ this.pnlCenterTop.Size = new System.Drawing.Size(899, 48);
this.pnlCenterTop.TabIndex = 0;
//
// btnFind
//
- this.btnFind.Location = new System.Drawing.Point(749, 12);
+ this.btnFind.Location = new System.Drawing.Point(808, 12);
this.btnFind.Name = "btnFind";
this.btnFind.Size = new System.Drawing.Size(75, 25);
this.btnFind.TabIndex = 10;
@@ -682,7 +722,7 @@
//
// txtCode
//
- this.txtCode.Location = new System.Drawing.Point(546, 13);
+ this.txtCode.Location = new System.Drawing.Point(593, 13);
this.txtCode.Name = "txtCode";
this.txtCode.Size = new System.Drawing.Size(173, 23);
this.txtCode.TabIndex = 6;
@@ -690,7 +730,7 @@
// label3
//
this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(483, 16);
+ this.label3.Location = new System.Drawing.Point(530, 16);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(56, 17);
this.label3.TabIndex = 5;
@@ -704,7 +744,7 @@
"水分",
"灰分",
"挥发分"});
- this.comType.Location = new System.Drawing.Point(351, 11);
+ this.comType.Location = new System.Drawing.Point(398, 11);
this.comType.Name = "comType";
this.comType.Size = new System.Drawing.Size(121, 25);
this.comType.TabIndex = 4;
@@ -713,7 +753,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(312, 15);
+ this.label2.Location = new System.Drawing.Point(359, 15);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(32, 17);
this.label2.TabIndex = 3;
@@ -721,16 +761,20 @@
//
// dtpEndDate
//
- this.dtpEndDate.Location = new System.Drawing.Point(189, 11);
+ this.dtpEndDate.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpEndDate.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtpEndDate.Location = new System.Drawing.Point(212, 11);
this.dtpEndDate.Name = "dtpEndDate";
- this.dtpEndDate.Size = new System.Drawing.Size(111, 23);
+ this.dtpEndDate.Size = new System.Drawing.Size(139, 23);
this.dtpEndDate.TabIndex = 2;
//
// dtpStartTime
//
+ this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStartTime.Location = new System.Drawing.Point(69, 11);
this.dtpStartTime.Name = "dtpStartTime";
- this.dtpStartTime.Size = new System.Drawing.Size(111, 23);
+ this.dtpStartTime.Size = new System.Drawing.Size(139, 23);
this.dtpStartTime.TabIndex = 1;
//
// label1
@@ -745,17 +789,17 @@
// pnlBottom
//
this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pnlBottom.Location = new System.Drawing.Point(10, 530);
+ this.pnlBottom.Location = new System.Drawing.Point(10, 548);
this.pnlBottom.Name = "pnlBottom";
- this.pnlBottom.Size = new System.Drawing.Size(849, 10);
+ this.pnlBottom.Size = new System.Drawing.Size(899, 10);
this.pnlBottom.TabIndex = 3;
//
// pnlRight
//
this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
- this.pnlRight.Location = new System.Drawing.Point(859, 10);
+ this.pnlRight.Location = new System.Drawing.Point(909, 10);
this.pnlRight.Name = "pnlRight";
- this.pnlRight.Size = new System.Drawing.Size(10, 530);
+ this.pnlRight.Size = new System.Drawing.Size(10, 548);
this.pnlRight.TabIndex = 2;
//
// pnlLeft
@@ -763,7 +807,7 @@
this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
this.pnlLeft.Location = new System.Drawing.Point(0, 10);
this.pnlLeft.Name = "pnlLeft";
- this.pnlLeft.Size = new System.Drawing.Size(10, 530);
+ this.pnlLeft.Size = new System.Drawing.Size(10, 548);
this.pnlLeft.TabIndex = 1;
//
// pnlTop
@@ -771,14 +815,14 @@
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlTop.Location = new System.Drawing.Point(0, 0);
this.pnlTop.Name = "pnlTop";
- this.pnlTop.Size = new System.Drawing.Size(869, 10);
+ this.pnlTop.Size = new System.Drawing.Size(919, 10);
this.pnlTop.TabIndex = 0;
//
// frmHistory
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(869, 540);
+ this.ClientSize = new System.Drawing.Size(919, 558);
this.Controls.Add(this.pnlAll);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
@@ -787,6 +831,7 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "查询";
this.Load += new System.EventHandler(this.frmHistory_Load);
+ this.Shown += new System.EventHandler(this.frmHistory_Shown);
this.pnlAll.ResumeLayout(false);
this.pnlCenter.ResumeLayout(false);
this.pnlCenterBody.ResumeLayout(false);
@@ -819,46 +864,8 @@
private System.Windows.Forms.Panel pnlTop;
private System.Windows.Forms.Button btnFind;
private System.Windows.Forms.DataGridView dgvQuanShuiFen;
- private System.Windows.Forms.DataGridViewTextBoxColumn ID;
- private System.Windows.Forms.DataGridViewTextBoxColumn Sample_Number;
- private System.Windows.Forms.DataGridViewTextBoxColumn Instrument_Number;
- private System.Windows.Forms.DataGridViewTextBoxColumn Crucible_Number;
- private System.Windows.Forms.DataGridViewTextBoxColumn Empty_Crucible_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn Sample_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn AddSample_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn Drying_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn SecondDrying_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn ThirdDrying_Weight;
- private System.Windows.Forms.DataGridViewTextBoxColumn Mt;
- private System.Windows.Forms.DataGridViewTextBoxColumn Auto_Code;
private System.Windows.Forms.DataGridView dgvHuiFaFen;
- private System.Windows.Forms.DataGridViewTextBoxColumn ID4;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn24;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn25;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn26;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn27;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn28;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn29;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn30;
- private System.Windows.Forms.DataGridViewTextBoxColumn VR;
- private System.Windows.Forms.DataGridViewTextBoxColumn MAD2;
- private System.Windows.Forms.DataGridViewTextBoxColumn VAD;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column13;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column14;
private System.Windows.Forms.DataGridView dgvHuiFen;
- private System.Windows.Forms.DataGridViewTextBoxColumn ID3;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn15;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn17;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn18;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn19;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn20;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn21;
- private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn22;
- private System.Windows.Forms.DataGridViewTextBoxColumn DecrementValue2;
- private System.Windows.Forms.DataGridViewTextBoxColumn AAD;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column17;
private System.Windows.Forms.DataGridView dgvShuiFen;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
@@ -873,5 +880,47 @@
private System.Windows.Forms.DataGridViewTextBoxColumn Column9;
private System.Windows.Forms.DataGridViewTextBoxColumn Mad;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn ID3;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn14;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn15;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn17;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn18;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn19;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn20;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn21;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn22;
+ private System.Windows.Forms.DataGridViewTextBoxColumn DecrementValue2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn AAD;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column17;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
+ private System.Windows.Forms.DataGridViewTextBoxColumn ID4;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn24;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn25;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn26;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn27;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn28;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn29;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn30;
+ private System.Windows.Forms.DataGridViewTextBoxColumn VR;
+ private System.Windows.Forms.DataGridViewTextBoxColumn MAD2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn VAD;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column13;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column14;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13;
+ private System.Windows.Forms.DataGridViewTextBoxColumn ID;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Sample_Number;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Instrument_Number;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Crucible_Number;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Empty_Crucible_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Sample_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn AddSample_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Drying_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn SecondDrying_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn ThirdDrying_Weight;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Mt;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Auto_Code;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
}
}
\ No newline at end of file
diff --git a/CNAS_BalanceClient/frmHistory.cs b/CNAS_BalanceClient/frmHistory.cs
index 6a76092..3452492 100644
--- a/CNAS_BalanceClient/frmHistory.cs
+++ b/CNAS_BalanceClient/frmHistory.cs
@@ -30,7 +30,8 @@ namespace CNAS_BalanceClient
private void comType_SelectedValueChanged(object sender, EventArgs e)
{
- switch (comType.SelectedItem)
+ string selectedItem = comType.SelectedItem == null ? "" : comType.SelectedItem.ToString();
+ switch (selectedItem)
{
case "全水分":
dgvQuanShuiFen.Visible = true;
@@ -71,7 +72,8 @@ namespace CNAS_BalanceClient
if (this.txtCode.Text.Trim() != "")
lstFilterData = lstFilterData.Where(s => s.Sample_Number == this.txtCode.Text.Trim()).ToList();
//筛选类型
- switch (comType.SelectedItem)
+ string selectedIteem = comType.SelectedItem == null ? "" : comType.SelectedItem.ToString();
+ switch (selectedIteem)
{
case "全水分":
lstFilterData = lstFilterData.Where(s => s.DataType == "ARB").ToList();
@@ -99,5 +101,11 @@ namespace CNAS_BalanceClient
break;
}
}
+
+ private void frmHistory_Shown(object sender, EventArgs e)
+ {
+ txtCode.Focus();
+ txtCode.Select(0, 0);
+ }
}
}
diff --git a/CNAS_BalanceClient/frmHistory.resx b/CNAS_BalanceClient/frmHistory.resx
index 085efa9..c1fd59f 100644
--- a/CNAS_BalanceClient/frmHistory.resx
+++ b/CNAS_BalanceClient/frmHistory.resx
@@ -153,6 +153,9 @@
True
+
+ True
+
True
@@ -192,6 +195,9 @@
True
+
+ True
+
True
@@ -231,6 +237,9 @@
True
+
+ True
+
True
@@ -267,6 +276,9 @@
True
+
+ True
+
diff --git a/CNAS_BalanceClient/frmLoginServer.Designer.cs b/CNAS_BalanceClient/frmLoginServer.Designer.cs
index 900c247..0d1c98b 100644
--- a/CNAS_BalanceClient/frmLoginServer.Designer.cs
+++ b/CNAS_BalanceClient/frmLoginServer.Designer.cs
@@ -30,26 +30,27 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmLoginServer));
this.pnlCenter = new System.Windows.Forms.Panel();
- this.label6 = new System.Windows.Forms.Label();
+ this.lblTitle = new System.Windows.Forms.Label();
this.Btn_Logout = new System.Windows.Forms.Button();
this.Btn_Login = new System.Windows.Forms.Button();
this.txtPwd = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
+ this.lblPwd = new System.Windows.Forms.Label();
this.txtUserName = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
+ this.lblUser = new System.Windows.Forms.Label();
this.pnlCenter.SuspendLayout();
this.SuspendLayout();
//
// pnlCenter
//
this.pnlCenter.BackColor = System.Drawing.Color.White;
- this.pnlCenter.Controls.Add(this.label6);
+ this.pnlCenter.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pnlCenter.BackgroundImage")));
+ this.pnlCenter.Controls.Add(this.lblTitle);
this.pnlCenter.Controls.Add(this.Btn_Logout);
this.pnlCenter.Controls.Add(this.Btn_Login);
this.pnlCenter.Controls.Add(this.txtPwd);
- this.pnlCenter.Controls.Add(this.label4);
+ this.pnlCenter.Controls.Add(this.lblPwd);
this.pnlCenter.Controls.Add(this.txtUserName);
- this.pnlCenter.Controls.Add(this.label1);
+ this.pnlCenter.Controls.Add(this.lblUser);
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlCenter.Location = new System.Drawing.Point(0, 0);
this.pnlCenter.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
@@ -58,43 +59,49 @@
this.pnlCenter.TabIndex = 3;
this.pnlCenter.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmLoginServer_MouseDown);
//
- // label6
+ // lblTitle
//
- this.label6.AutoSize = true;
- this.label6.Font = new System.Drawing.Font("华文新魏", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.label6.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
- this.label6.Location = new System.Drawing.Point(176, 22);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(129, 30);
- this.label6.TabIndex = 12;
- this.label6.Text = "用户登录";
+ this.lblTitle.AutoSize = true;
+ this.lblTitle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
+ this.lblTitle.Font = new System.Drawing.Font("华文新魏", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblTitle.ForeColor = System.Drawing.Color.White;
+ this.lblTitle.Location = new System.Drawing.Point(176, 22);
+ this.lblTitle.Name = "lblTitle";
+ this.lblTitle.Size = new System.Drawing.Size(133, 30);
+ this.lblTitle.TabIndex = 12;
+ this.lblTitle.Text = "用户登录";
//
// Btn_Logout
//
+ this.Btn_Logout.BackColor = System.Drawing.SystemColors.HotTrack;
this.Btn_Logout.FlatAppearance.BorderColor = System.Drawing.Color.DarkGray;
this.Btn_Logout.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.Btn_Logout.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Btn_Logout.Font = new System.Drawing.Font("微软雅黑", 9.5F);
+ this.Btn_Logout.ForeColor = System.Drawing.Color.White;
this.Btn_Logout.Location = new System.Drawing.Point(268, 177);
this.Btn_Logout.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Btn_Logout.Name = "Btn_Logout";
this.Btn_Logout.Size = new System.Drawing.Size(90, 30);
this.Btn_Logout.TabIndex = 6;
this.Btn_Logout.Text = "取 消";
- this.Btn_Logout.UseVisualStyleBackColor = true;
+ this.Btn_Logout.UseVisualStyleBackColor = false;
this.Btn_Logout.Click += new System.EventHandler(this.Btn_Logout_Click);
//
// Btn_Login
//
+ this.Btn_Login.BackColor = System.Drawing.SystemColors.HotTrack;
+ this.Btn_Login.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.Btn_Login.FlatAppearance.BorderColor = System.Drawing.Color.DarkGray;
this.Btn_Login.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.Btn_Login.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.Btn_Login.Location = new System.Drawing.Point(127, 177);
+ this.Btn_Login.Font = new System.Drawing.Font("微软雅黑", 9.5F);
+ this.Btn_Login.ForeColor = System.Drawing.Color.White;
+ this.Btn_Login.Location = new System.Drawing.Point(134, 176);
this.Btn_Login.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Btn_Login.Name = "Btn_Login";
this.Btn_Login.Size = new System.Drawing.Size(90, 30);
this.Btn_Login.TabIndex = 5;
this.Btn_Login.Text = "登 录";
- this.Btn_Login.UseVisualStyleBackColor = true;
+ this.Btn_Login.UseVisualStyleBackColor = false;
this.Btn_Login.Click += new System.EventHandler(this.Btn_Login_Click);
//
// txtPwd
@@ -108,15 +115,15 @@
this.txtPwd.TabIndex = 2;
this.txtPwd.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmLoginServer_KeyDown);
//
- // label4
+ // lblPwd
//
- this.label4.AutoSize = true;
- this.label4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.label4.Location = new System.Drawing.Point(112, 126);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(36, 17);
- this.label4.TabIndex = 6;
- this.label4.Text = "密 码";
+ this.lblPwd.AutoSize = true;
+ this.lblPwd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblPwd.Location = new System.Drawing.Point(122, 126);
+ this.lblPwd.Name = "lblPwd";
+ this.lblPwd.Size = new System.Drawing.Size(39, 17);
+ this.lblPwd.TabIndex = 6;
+ this.lblPwd.Text = "密 码:";
//
// txtUserName
//
@@ -129,15 +136,15 @@
this.txtUserName.Text = "admin";
this.txtUserName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmLoginServer_KeyDown);
//
- // label1
+ // lblUser
//
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.label1.Location = new System.Drawing.Point(112, 88);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(44, 17);
- this.label1.TabIndex = 0;
- this.label1.Text = "用户名";
+ this.lblUser.AutoSize = true;
+ this.lblUser.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblUser.Location = new System.Drawing.Point(117, 88);
+ this.lblUser.Name = "lblUser";
+ this.lblUser.Size = new System.Drawing.Size(47, 17);
+ this.lblUser.TabIndex = 0;
+ this.lblUser.Text = "用户名:";
//
// frmLoginServer
//
@@ -152,6 +159,7 @@
this.Name = "frmLoginServer";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "登录";
+ this.Shown += new System.EventHandler(this.frmLoginServer_Shown);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmLoginServer_KeyDown);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frmLoginServer_MouseDown);
this.pnlCenter.ResumeLayout(false);
@@ -163,13 +171,13 @@
#endregion
private System.Windows.Forms.Panel pnlCenter;
- private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label lblTitle;
private System.Windows.Forms.Button Btn_Logout;
private System.Windows.Forms.Button Btn_Login;
private System.Windows.Forms.TextBox txtPwd;
- private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label lblPwd;
private System.Windows.Forms.TextBox txtUserName;
- private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label lblUser;
}
}
diff --git a/CNAS_BalanceClient/frmLoginServer.cs b/CNAS_BalanceClient/frmLoginServer.cs
index 4e9cc81..5d2ba1f 100644
--- a/CNAS_BalanceClient/frmLoginServer.cs
+++ b/CNAS_BalanceClient/frmLoginServer.cs
@@ -26,6 +26,10 @@ namespace CNAS_BalanceClient
public frmLoginServer()
{
InitializeComponent();
+
+ lblTitle.BackColor = Color.Transparent;
+ lblUser.BackColor = Color.Transparent;
+ lblPwd.BackColor = Color.Transparent;
}
private void Btn_Login_Click(object sender, EventArgs e)
@@ -37,7 +41,7 @@ namespace CNAS_BalanceClient
//合法行判断
if (this.txtUserName.Text.Trim() == "" || this.txtPwd.Text.Trim() == "")
{
- MessageBox.Show("用户名,密码不能为空。");
+ MessageBox.Show("用户名,密码不能为空。", "提示");
return;
}
@@ -48,9 +52,9 @@ namespace CNAS_BalanceClient
//加载CNAS数据库信息
targetdataBase = FileOperation.GetLocalPlatFormDB();
- if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetdataBase.DBHost, targetdataBase.DBName, targetdataBase.DBUser, targetdataBase.DBPwd, targetdataBase.DBPort))
+ if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetdataBase))
{
- MessageBox.Show("无法连接数据,请联系管理员。");
+ MessageBox.Show("无法连接数据,请联系管理员。", "提示");
return;
}
}
@@ -64,13 +68,13 @@ namespace CNAS_BalanceClient
{
GlobalCommonOperation.strLoginName = dtLogin.Rows[0]["username"].ToString();
GlobalCommonOperation.strUserName = this.txtUserName.Text.Trim();
- AppLog.Info($"{this.txtUserName.Text.Trim()}登录成功");
+ AppLog.Info($"{this.txtUserName.Text.Trim()}登录成功");
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
- MessageBox.Show("用户名,密码登录失败,请重新输入。");
+ MessageBox.Show("用户名,密码登录失败,请重新输入。", "提示");
AppLog.Error($"{this.txtUserName.Text.Trim()}尝试登录失败");
return;
}
@@ -117,5 +121,10 @@ namespace CNAS_BalanceClient
AppLog.Error(ex.Message.ToString());
}
}
+
+ private void frmLoginServer_Shown(object sender, EventArgs e)
+ {
+ txtUserName.Select(txtUserName.Text.Length, 0);
+ }
}
}
diff --git a/CNAS_BalanceClient/frmLoginServer.resx b/CNAS_BalanceClient/frmLoginServer.resx
index d46dd57..c6fe47c 100644
--- a/CNAS_BalanceClient/frmLoginServer.resx
+++ b/CNAS_BalanceClient/frmLoginServer.resx
@@ -118,6 +118,246 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg
+ JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy
+ MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFVAfQDAREAAhEBAxEB/8QA
+ GwAAAwEBAQEBAAAAAAAAAAAAAQIDAAQFBgf/xAA8EAACAQMCBAMFBQcEAgMAAAAAAQIDERIEIQUxQVET
+ YXEiMkJSkQYUgaGxIzNDU3KC0RVikuFUwUTw8f/EABoBAQEBAQEBAQAAAAAAAAAAAAEAAgMEBQb/xAAq
+ EQEBAQEAAgICAgEDBQEBAAAAARECAxIhMUFRBBMyIkJhFFJxgZGhBf/aAAwDAQACEQMRAD8A69PhFr2U
+ forr85/Xx+nPxThlOS+80qas/eSXIzO79GePj9PIVGHyI17Vr+rj9GVGHyIva/tf1cfpSNCHyIPa/sf1
+ cfpSNCn8kQ9r+1/T4/0rGhT+SP0D2v7H9Pj/AEoqFPpCP0L2v7H9Pj/7S1NJT96NOPmrDO7+2L4fH+ix
+ oQ+RfQfasXw8fpRUYfKvoXtWf6uP0bwIfKi9qzfFx+h8GPyovasXx8/osqEWvdQ+1Yvj5/SMqMV8KNSu
+ d8fP6I6UflRaxeJ+i+FH5UWs+sDwo/KgGQMIroiXwpFJdEZpO6MKi2SuH0fhx1aFvhFOWVNJ8hRHBdgJ
+ HBdgOkcF2JrSOPkB0jiB0riga0riiJXEFoWI6FgI2BqU0TNKiRlqGxAs4+QojiQI4jqK4iiuIgMSQWFB
+ ZEBsSGyEGSXYkZJdhZ06S7EDKK7IkdRj2RA6jHshB1CPZEjKEPlQjTqnD5USOqUPlQIypU/kX0EmVGn8
+ kfoBMqNL+XH6ETqhS/lx+gNQVQo/yo/QNMN93o/yo/QNrT2sWmeux6pXVQqK2MleL2aZy6jTzOIcPenn
+ 4lPelLk+wStSuNRIqKIJSMQSkYkFYxAKKJMUk6GPtR5GpWaCiTJ1EmaOBMVsPIdZsJOjdbDKxeXPOm0b
+ 1xsTcRc7AcQZI4kAsSNGTQWFbGNaNnszH0XDqdO6b3RqXU43EUVoCRxIkcQOkcQJHEGitEStAStAS2Is
+ gsJkZaikTNaiqVzLQ4giuA6iOJIjiIK4mgRoUVoQFiTWEDYkZEDIQZEDogdCDogdCjokdEjokZEjpgTo
+ jDIGoZA0NwL3Iroz1Tp7LDqFndFYJXVTlGcHTqLKEuaZx6jWvL1vDpaaWUbypS5SDWpXNGBFSMASkYlo
+ UjEBVYxJinUdrW2Jmpzo4u65foOsgoiybEhg4EzYOBM4SdBSQysdc65KlFxfI6SuHXNiTiLnSuJMpuJI
+ pIU7PYMWuiNSFWOFVXXR9UYs/TUrg1eklRlfnB8pLkzUuquRxFEaA6RolpGga0jiB0jRHSNAdK0B0GiJ
+ bARQVqVSLMWNSqxM2NSqxVzFaguAaSSgOojga0EcBlCcomoE2jQLYk1hDWJCiBkIMiB0IOiB0IOiB0SO
+ iRkSOiJkROmBMmBFA0YGn1FTTOL5Fx5NfT64wkU49DvOnG8qxjfdDflj6dFNpxdOpFSg+aZy6jTg1fDH
+ RvVpXlS/OPqZ1qVyKBa0eMAZUjEhVYxJmnUSZoqJMklRtuuXYdAKIimxANiLOCokAlSUkWs3nXJW0rju
+ lsdJ04d+NyShZ2ZvXCwjgQTcSBWiTElqdVYuFSKlB80zNn6alc+p4e4xdSg3On26op1+Kc/Tz5RNAjiB
+ I4gSOJEjiB0jiB0riDWkaI6DQELATIzjUqsGZsblWiznY1Kslcw0zgSI4DqTlA1KEpwNyioSjZmoyWwg
+ LEmsIFCBIGRAyEHRA6FHRA6JHRAyImREyJHTAmQNDcGoNwafqut4M1dpXR8zx+fPiv0Xfi14lbQSg+R7
+ ePLK8nfixzeFKDPRz28/XC0Unz2Zvdc7MWpuUHbmjNi1HUcMjVTqaZWl1p/4OZnTzfCcW0001zTJrTKJ
+ M1RRJk6iTI4kBxIFlSvutvIdBbdCApEjYkGwLRg4X5kMc9bRqauuZudY5deOV59XTzpvdbHWda83XFiL
+ jsLCbiQI0SAitRqum7X2/QzZplGvpKWovKNoT7rk/UzLYXlVtPOjK0427PozcuhFxIkaBEcSOkcQOkcQ
+ aI4kdK0B0tgLWBo0WZsalWhIxY3K6IM5WNyrJXRloHAtRHA1KE5QNSsuepTOkrNRcTQK0QCwprCGIGRA
+ yEHRAyEHRI6IHQo6AiiRkRMmFJkDUNcGoJNP1Hhf2vo6iKp62O/zxW/4o+d5P4fU+eH2vF/Nl+O3tvTa
+ XX086E4TXkebeuL8vXnPc+Hlarg8otuKPTx/I/bh34XmVNFOm94nr48sryd+OwkYuOzR2nUrz9cqwVvd
+ ZVjTVaFLVK1VWn0muf8A2ZsU6efX0FXT7tZQ6TXL/oGvaVFQIGUSA4kGxEDiQBwUiRHFx5kBSJGSIDiS
+ FRJYEqMZqzSKVm8yuCvw57yp/Q68+T9vP34PzHn1KMoO0otM6SyvNebPtFxsII0SCxJWnNrZmbDKo1Gc
+ cZJNPozONa4a+gteVL/ixnX7TgnTcW01Z9jQTcSJXECRxI6RxA6RxA6RoGtCwEArUPGVjNjUq9OZzsbl
+ dVORysdJVkrow0DgMoTlA1KKjOndHSVmxyzhZnSVipuJoEaJNYQxASAoQZEDoQdEjoQZEjoEKImREyAm
+ uDUG4NQbk09OE3F7DK7PT0fFNRp5qVOtKEl1TLrjjv8AyjXPk64+ea+n0X2xqRShrqKqR+ePM8vk/g83
+ 54uPX4/5/U+O5r3KOs4VxKK8KtFSfwy2Z5OvD5fH9x6+fP4fL8S/Ja/Br7w3XkPHns+x3/Gl+nnVeHVa
+ T91nq488rxeTwdRLw5R5o7TqV5uubFINrl9GX2x8xGroKNXeC8Kf5P8AwZM6cVXR1aL9uO3zLdFrWyo4
+ CmxENiSbEE2JArp9h1Baz3ECgR0iIpAjWJYnV0tOsrSihnVjPXjnX28zU8LnG7p+0ux258sv28nf8ez5
+ jzZ0nF2aaZ0efMTcRQNEDxl0YWHT3uZsOp1aEKsfaX4h9F51bSThvH2l+ZqVOVxEaRoiRxAkcQMpHEGt
+ I0B0AalYzWpTRlYzY1K6adQ59R0lddOZxsdJXQldGSVwGVYlKBuVmxz1aV0deaxY5JQszowm4iAaEFsS
+ EgIgUQMhB0SOiB0KMmBMmSEiZATIGoNwagg09THsZldRV0blC9OrKPU3KHTTrRvdNxfdDor1tHxvX6S3
+ hV5OPa9/yZjvw+Pv/KOnHn8nj/x6e5pvtapWjqtPCXmvZZ5uv4M/2V6+f/6PX+/nXoQ4jwnVrebpN/Ot
+ vqcb4PPx9fLrP5H8byffx/5V/wBNpVllp61Oov8AbK4f3dc/HUV/i89/PF1CfD69P4XY6c+aV5e/4nfP
+ 4SwlC6aa8jp7SvP1x1yhU0VGrvjhLvH/AAWs+1jkq8Oqw3ilNf7ef0HW51K5XTcXZppiQxJBiSDEUzgm
+ QK4Nci1AKMgRkBOkRNYkhX0VHUK0o79zXPdjHfi57+3k6rg9WneVL249up258sv28ff8bqfM+XmSg4tq
+ SafZnTXnzPstiBokjBh1nG5kuWtpYz3tZ90MpefV08qfNXXdGpdSLiSI4gSOIHU3EmtI0BlCxmtStYzW
+ oaMmjNjcrqpVTl1y6Su6lO5x6jcq9k0Y1osoG5WbE5UzpKzY5K1Hqkdua52OSUTbKbiQLYUFiDCDEBQg
+ 6JGRI6JGTJGREUBMiRkDUEGoINPRjMzjerRmmWLTqzNaNOl5jqUjKS5GtS8a8uu68x1nFoV0uV4+jHRY
+ 6aWrlB3jUs/oyuX7EmfT09Px/W0kktRJrs5ZL8zj14PF1+Hfn+V5+Prr/wC/L0Kf2lnJWrUKVRd7Wf5H
+ K/xOf9tx2n8/r/fzK6YcW4dV9+jUpv8A2tMzfB5Z9XT/ANR/H6/y5sWjU0FT93q1HynFoM8s+4zef43X
+ +Pef+TS0cay2lRqrykg/sz7mL/pur/h1L/7ctbg/VQnD8LoZ5Jfyz14/Lz/lHFU4bVjySl6G/aMb+3PP
+ Tzg7Si16odKbgOoMPIkDhcgXBrkWpkrcyRkR06JadAZRxBpDUaGjqVapT3+ZczXPd5+mO/Fz39x5Gq4H
+ WppyoftI9up2580v28nf8XqfPPy8uVKdOTUouLXRnb7eSzPiskQYMOs9ww6lOmmB1x1tInvHZmpU4p0p
+ RdmhSbg+xJNwYHSSg+wNam4tdDNjUrGbG5QsZalNGTTM2NSuujVOXXLpK9CjUujh1HSV0JKSM61hXA6S
+ sWJTpXXI6c1ixwV6GLulsd+brnY5ZRNMpuIorRBrEGECIMiRkSOmSFEjoiKAmAmuBEG4JF2pg0pFiFYs
+ grGQjVIyZLVFJidUUiWqJokdMCopepLIpGo+7DaciqqSXKTLafTk8a9VO6nINo/r5/S9PiGrp+5qKkfS
+ Rm8y/cb5t5/xtn/t0R43xBc66mv98UzH9XP6dP7u/wA3f/Kq45qH+8o0J/2tf+y/r/VF7l++Y3+p0J/v
+ NFFf0TsXrZ+RvLfedFL4K0PwTH5ZvP6rX0svdrJf1RaLb+mPTr9mVCM/3c6cvSSL2n5X9Xk/AvRVkr+D
+ Ua7qNy9+f2r4fL+kZUnB+0pR9Y2HZWLx3Pslku4/CzsU13f0D4a/1/oyku7LI1L3+jqUerM2Nzrr9G9n
+ owa3r9JV9Lp9THGtBS87b/UZ1efqs98Tv/Ll5Gp4A1eWmqZr5Zcz0c+ef7nj7/h9/fHy8qrQlRm4VE4y
+ XRqx2l5v1Xl6565uWJuK7j8M/JWvMMh2klBMMh2uepRTVmS1yVNNbkxLnlTt1RYk3T9Aw6nKmWNSpODR
+ nGpQsZsblCxmxqUU3FmbGpXXQr2auzj1w689PSoVbnn65dZXVipK5mXDYVwOsrFiNWjlG1jrz052PMrU
+ XCTR3l1yvw55RFJuJAthDWFMQZCjIgZETokZATIiKYIQagg0YGnYmSUixCkWQUixCsWSViyCsSOnQrTo
+ jp0B06A6pGVuYNaqtwIkRSJGRIQQpEjIgKQI8Jzg7xlKL8nYslMtn06qfEdZT93U1Ldm7/qYvj5v4bnm
+ 8k/K8eLV/wCJToVP6qaD+ufhr+7r85f/AEouIaWf73h9J+cdi9Ovx0v7Ob98w6q8Kn72nnD0kwzyfs+3
+ jv4//TKhwyp7tSrH+5Mt7OeO/s33DSP3NVJesUHv1+YfXn8Vv9NT93Uwfqmg9/8Ag5/yV8Lqr3Z036SL
+ 3ixKtwupWhhWoRqR9UzU7z6o65nUzqa8bV/ZapvLTZJ/JP8Ayd+f5H/c8Xk/hS/PF/8Arw9RoNVpZuNa
+ hOD81seidc9TZXh7464udRzOLXNCyRoMKM6ZFzVaKkt0RcVWhKPLdCnPJMinK4GE37ma3BTM3WoNrmNa
+ xls7g1HXp6zTV2cu+XTmvV09ZNI8/UdZXXipK6MS4bCuB256c7HLqNOqkX36HbjrHPqPLnScZNNHdzSc
+ ARJQLQm4mgWwgSQokZEjIkZETICJEVdg1DpeYNDZdgLqTFHTJlSLFKxZBSLIKxZJWLEKRkSVTJaZMmtO
+ gOmTI6eMmgMq0ZJmWpdODQpEjJEhsQFIEZIgNhQkWJGTIiSFAjKTXJtEdOq1RfEGRqdVWOrqL4n9TN4j
+ U7q0OIVFzZm8NzufleOvb67mfVuXm/g71qksakVJdnuGWfSs5syuarpdJXV4wgpdpLY3PJ3Hn7/h+Pr/
+ AB+Hl6rh2mpv9rpYxT+JcvqdJ5unk7/i+n24Z8M0U/dTXozU89/Mc74P1XJV4LRfuzkann5Zvh6cNbgj
+ +Gp9Ubnm4o/r7n4efX4NUvtKLNTvm/kXnqfccFTheojf2L+jua2DXJU0laD9qnJfgFjUqLg0+RmxuVkY
+ salNYy3GWzCtR16eu4uzZy65blevp66kluebqOsrsUVJXRmdYrCOB356c7HFq9Lks4rdcz0cd/hy65ea
+ 6djbBXTug04jKmalGJSiajJBQkhRIyJGV3yQE6j3ZE23YCYGoKAwxNLoWTpiFIsgpFiFIsgrFklIsgrF
+ klIskomS06ZHTpkdMmB0yYHVYz7hjU6VjK4Y1p0C0wHRIGItYUNiTEmFDuSFMCJBrgdG5LWuDUplIMMq
+ karXPcLHSdqqUZcnZmWpTqckrP2ovo+QY1tjkr8Noai8qU3QqeW8X+Azqz7+XLvwcd/PPxXj6vT6/Q3l
+ Up501/Ehuv8Ao6czjr6ePyePy+P7nw41xDuN8TnPKz1cJc7GL47G53EpujPnFBnUPxXPUoU37spR9GM7
+ 6i9Oa5Kulk+U1JdpRTNTzX8j+qfhx1NI+tGD9Lo1PLKP6r+HLKhBc4Tj6O5r25o9eoR0o9J/VB8HaHhS
+ T2afoyvJ9nRQrSptKSaOPfjdOe3saaupJbnl65x2l124qSug56VhHA7c9Odjg1WjsnOK2/Q7c9sXlxOn
+ vyN6wSdK/QtWOapSsblZsc0o2NygEmyRlB9SR0kiRkRMBFIiIGGSb5IGofF90BURpk6Fk6EHRBSLIKRY
+ hWLBKxZFSLIKJklEyR0yJkS0yYHTJkdOpWA6rGfcMa9lIzQYZTqRHTJgRIjcUIEbEgsSYUKYISDEGuB1
+ rkda4HTKVgsalUjWa6heW52tGpCfPZmLG5ZVFKcPdd0wblsefq+D6DXXeP3et81NbP1R058nXP8AzHHy
+ fxvF5Pn6r53iHAtdoU54+NRX8Snvb1XQ7c+Xnp4fL/F8nj+fuPJdSS6m7zHGdF+8TRi8Rqd0Hqe5i+N0
+ nkb7yn1Od4dJ1Gc4S5pGcsb1KVKlLoW2LJUpaRfCxna9IlKhUhybNTtm8KUK0qcrMOsqkx7Olr5Jbnl6
+ 5jtK7cVJXQc9KxlBPZq6fM6ysvN1ekdGpsvZe6Z1562Mdc45/DTW46ziFWldOyNRmxwVadnujtzWLEjS
+ ZJkjJEjqLfJNgjKHdpERtFd2BbNLkkiaxsr+YNSDcGl0aczIWToQdEDoQeJBRMgrFkVIsEpFklYskdMk
+ dMkZETIkZFhMgWmTLDp1NhjWqKZYZTKQY1p1IjopgtFMiKYESTEgJDckxMsSAlrXA62RNaKnYMM6Wp13
+ HqYvLpO1lVhPnszOY6TqVSMpw3hLYzW5bPpwa3hHD+I3dSn4FZ/xKatf1XJm+fJ1z/y5+TweLyffxXzH
+ Evs3rdCpVIR8egvjp729V0PRz5eevh4PL/E8nj+fuf8ADw5xOjzoSujNjUpHOUeTMXl0nVGOpa2Zi8Ok
+ 6WjqE+pzvLc6XjUUkYxvWcYy6BtWK0f2ctmZ6+TI9XT1lZXaON5rbqVmrrc1zf2zYeVFamk6Utn8L7M3
+ 7ZdGb8PHnQdOo4yVmn1O+7HK85QdFNcg0ODV6dpbI68VjpwOlZ7tI7Oeh+zjzbf5CvkPFivdivoBwHVb
+ JrAybA4JEUDWHQEwNOhHRxMiZMhB0QOhRkQURA6JKRZBSLIqxZJSLAqJkjIkdEjIiZEjIiKJGQEU2R0y
+ kBlMpA1pkyOmUiOjkB0ciWjcFoXJNck1yDNkAuIBgtDIjrZBjcplUsGHVoV3HdMzeW+fJYvGvGXvbehi
+ yx357lVhKUPahIzZ+3SWz6cGv4Nw/id3Up+BXf8AFpK1/Vcma58nXLl5PB4/L9zK+S4r9mtdw5Opgq+n
+ /m090vVdD0ceXnp4PL/F8nj+fuPClE24xKUAplJvExY6SqQnNd7GfTWp1i8a7D+pr3UVVvqHrIfa10UK
+ 7hJbnPrnWpce3ptRCSV2ebrix0nUdsd94lL+xf8Agut0r1FLxopZx95d13N8dzm4uub1Hn06Lbs2dL3j
+ l6fttVolKg2r3Qc+W6b45j5vVUnCTPXz1rjZjiasbAERRExIyAmQNHQEwF1JHVwFIQZIgZCydIkdEDok
+ ZElEQOmSUiySiZHVEwKkWSOgJkSOiQoiZEjJETAmsSGxESI3JaNwa0blh0ciWtkS1rkta4Yta5BrkAuS
+ K2Q0Lli0MtwwzpvEDGvY8ahWGd4tT1Di9mc7y78+R0w1EZbS+qMWO/Pcv26ITnHenK6M5rp7+vzrzOIf
+ Zvh/FLyUVpNQ/jgvZk/OP+Dpz33z/wAx5fJ4/D5L8fFfG8V+z2u4Q76ik5Ub7Vqe8H+PT8T0cd89/Tx+
+ Tw9+P/KfH7eS12Rtz0HSm97P8QWwMFF+1NBWtv4PGUOl2YtkMnVWjJ9Njnem5x+3bpa+E1ff1OHk2u3E
+ kfRaSvGcEkeLrZXony76bxkmhl2LMc2r0apVFUpr9nLl5eR0572ZWe+PzBhTU42fJhbh5mvn+K6BwlLY
+ 9Xi8muHk4yvnatNxkz1y64YjY0mAiiWHQNGRE6AmsDTtSOrzUbCyKQgyIGRA6RAyJHRI6RI6RIyJKIkp
+ FkjpgVEyJ0BOiJ0BNYkKJGImsSGxEbAmsSaxJrEm3FAB1iWtck1yDNkNC5LSt7kLQuQ0tyGlbLD7BnYf
+ Wr3gqqXoJ5bPpSFV9y9Yv7ev26Kes8N7S+hi86efJld1PWxqbSjZ9zleM/L1ceXrr49XTGpPBq8Z05Kz
+ i1dNHO+r088+X834eFxL7K6TWqVTh8lpK/8ALf7uT/VG+fP1Pisd/wALjr55uX/8fEcQ4dreHV/B1lKd
+ OXRvlLzT6nedzqbK8fXi68dzqY4nHcKIC2Zmtx0Qlc51uLxMVp36PUulNb7HDvjXXnrH0mkrxqQW55L8
+ V2+3oU1GpB0p+7L8vMd/MU/Vc3hSoVXTmt0bt2aJPW4TX6NV9PkluluXHeVryce018XxDSOE3sfR8fev
+ D1y8mUGmd9c8LYSKQEyInQE6AnQF3qJ2eajYWRxEMokyZIQdIgZAjpEDJEjIjqiJGRE6JHQI6ZFRMCpF
+ kToCdATIiNiRkiJkSFIiNgQ2I42JLGxLVgOJaMK4kMBxHUVotTEzYDEFxk+g4yDjbm0PqLS2fRNjkZvR
+ ZJ9Wl+Is6m3Hu2Q+S5dgtOMpdzNtMkUjVSM2OvNxaFbzOdjtz26qOrlB7M59cPRx5sd9LU06iSlszneb
+ Hq58kq1WnS1OndDU0oV6Evhmr/TsZ+rsdLnUzqbHyXFvsVK0q/CZurHm9PN+2vR9f1O3Pm/HTyeT+J+f
+ H/8AHyNSlOnOUKkHCcXZxkrNM6PL9XKVXizNjUXpyRzsbjpgznWo9LRap0pJN7HDyca6819JpayqRTTP
+ L9V2+3fOl95oq37yPLzXY1OsOe0wlC0k4y9GXXw347syvC4zw60pNR5no8PkefzePK+P1WmcJvY+hx1r
+ ydcuRxsdNZwLETJATJATpEVEgL0sLHZ5WxFmjiIHEmaOJAyiLIpEjIkZEjokdIEZICdIiZIidEjoCeLB
+ HRFRA0dEYZAToiKRasMiQgRsRGxIbAWxIY2Jasbw2+g/IuB4N+v/ALGRm2M6K6r6uxrIxegcIrql6Itg
+ upyS7N+rH2HrU5NrkkvRFo9UZqT5tjo9UpRaJYnJMRYm2yRXKwIuYYTKq11M2NSrQ1HczY3OnTT1HZmL
+ HTnyY79PrXHrsc7w9XHnx6VKtCrZxljL1OVlj1c+Tnr6R4nwfRcYhbWUnGslaOopq0l6916lz1efo9+P
+ nyf5ff7fB8Y+zet4O85xVXTN+zXprb8ezO3Pc6eLyeDrx/8AM/byEmmNjEdFOZzsbldNOXI52NSvW0Gs
+ dKSi3sebyePfl246fTaSupJNM8307R01qdmq8Fs/eXZmpdmG/wDdC6rTrVabZe0kXNyt9c+/L4niujwk
+ 3Y+h4u9eDvnHg1KW56p042IuFjQxsSOGSInigJ7AXrJX2Ozy0fD7GmQxJmjiLNFRFmiokBsIHEkKiSMk
+ yAq4E6YHTqRHTpoDKdWAnSXcidIEdJkTJAjomjoCdATImjpARsWoUrkjqnJ9ByrYdUX12LB7GVKPe5fC
+ 2mUUuSf6Foy0LP5UXsvUHGT7hq9YXwn2LThXSfYtGFdLyLRicqPoOs4nKiu6H2GJSpLuh0YlKnHuOs4j
+ KnHv+RakZQj5/QdCUlFfMRTbiujBFzS6P6lYZTRq9v1MWNa6KdZ/MZsbld1HUyjb2zFjry9bTcRaSjN5
+ I52PV4719a9GnXjOLStKElaUJK6a80c69PMv4r5zi/2SoanKvwpKnV5vTyfsv+l9PQ1PJZ9uff8AGl+e
+ P/j42rSqaetKlWoyp1Iu0oyVmjpseW82XKenJPoc7TI6oJmL1G5K9fh2pnCSjJux5vJJ9x3436fU6Wpn
+ C0t01uu55tdp8KQg6FXBtuD5PujV+Zq53nrPw8jjfDck5R91q6Ovh8mOXm8eXXxOooqnUaa5H0ubseSx
+ B0oPozWjC+BDu/oPssFaddJFqwfu76NfUtOD4EkWnHpYnd46ZXXMWaeylz3NM1vDvydxZrYNc1YWK2JC
+ tiODRsWDRSLFprFiHECKRIyiBMkBOokZTqJnGtOo+YE6g+7JKKD7sCpGEu7LCpGnJ/8A4GHVVSfVpetg
+ w+x1GmudRfgrhh068FfO/RWJraZTpLlS+siJlWgvggvxLaMg/eI94L+5B8nI33il1nTX4oMp+A+80f50
+ P+SLOv0dn7b71Q/nw+pevX6X+n9t960//kQ+pevX6W8/tvvGm/8AJp/8gzr9L/T+28bTv/5NP/kWdfpf
+ 6f22dB/x6b/uRf6v0MjY05cqkH/cg2r1B0E+TT9Gi1epXppfK/oXszealLTvsa9mLyjLTvsPsziMtO+x
+ qdDEJ0PIfYYjOgx1YhKi0WrEZUmWnEpQaLVgKUoszWotT1DTMVuV2UtT5mbHbnt6NDVuLTuYvL08eR61
+ DWRqWUtn3Rysx6ue5W4jwvR8XoqGrh+0StCvD3o/5XkZ2z6b7457n+p8PxTger4PVXirOjJ+xWj7sv8A
+ D8jW68ffi64vyjRl3OXUMdtJ2Zzrce/wzWcoSe/Q8vk5z5jvzdj6GKVaml15p9mZ56dPXZhZUlXoypyX
+ tI19HPafL4j7QcPdGfixVk+Z7/4/k2ZXg83HrXzuTR63A6s+aI41l5khS7MSazI49LA9DxVsBjFDAYzR
+ WSNM1SM+90LFN7D6L9DTFbw4Pk3+ohvC7S/IsGt4L7r6lg0fCl2X1LFreFPt+ZYfYfDn8oYvYfDqfKWH
+ 2N4c1zSXqy9V7Ny5ygv7kHqfYVVprnVh+bL1PsP3mkvik/SIerXs332K5Rk/VoPWH2D79PpCK9dw9T7V
+ vv1bpJL0RYtB6yvLnUZesOh49V/Gy9YdpvGqP45fUMi2iqkn8T+pYdMpPuRNckKImuQEi1iQOJIriQI0
+ xBWiBWl2QgrT9CBc6kd4zmvSTLIPaitbq4e7qaq/vZenP6X9nX7OuK62P8dv+qKf/oP6uP0v7ev2ZcZ1
+ K96FKX9tgvg5P93X5h1xpP8AeaVf2Tt+pm+D9Uzyz8wy4po5+9CrD8E0Z/q7h/s4p1W0NX3dRBPtK8TN
+ 57n4al5v1RekU1eDjNd4tP8AQxes+25z+nPU0jT5D7r1c89M10L2ixCVFroWtSAlKL2M6VqeolF7g3LX
+ oUNUttzNjtz3Y9fS661k3ddmc7y9fj8r1YSpaijKnKMalOatKnNXTOdj0Syx8vxf7LS0+Wq4dlUoreVJ
+ 7yh6d0W/tw78OfPLxaE77M59Rzld9CbjJNczj1HXmvpuGazxIqMnujy98+tejm69aUd1Uj+Jrm7HSzLr
+ g4tw+Or00kl7y+jOvj79brl5fH7R+Z6mhLT6idOSs07H1ub7TXy7MuESuVah8bgcK4WZrRhlfuJe04Hd
+ 4qGBqMVsBYoYGma2AsUMDTNDAWQs1ybEDeS+J/UmWyn8zEA5T+Zkgyn80vqR0rcn8T+oLSuJHWsCCxES
+ JkB0UGNSmQYdEGjIiIIyZIykRMmB06kR0UyRkyRkyQ8yTWuSBwEJuBAji0II0LNI4iyRxIJyiITZIrEE
+ aJFZEE3F3TafdFfkyrQ4hrKStHUTa7S9pfmc+vFxfuOnPk6n5Xjxmotq1CnPzj7L/wAHG/x5+K6zzX8x
+ aHEdDV2nnSf+6N19UcuvD3Pr5dJ5OKtGhSrq9GpCp/TK7+nM5W3n7jpJL9Iz0kou1t+wezXqRQlB9UOn
+ HVR1EouzBqWx6ul1jTTUjNj08eR7Wm1ina7xl3MWPXz3rh4t9nqWvy1GkUaWq5uHKNT/AAzFHfinXzPt
+ 8zGNSjVlSrQcKkXZxkrNHLqOM2fFehparpzTTOPc115uPq9DqFWpLv1R5/8AGvVzdjqUFZwfJ8jqs/D4
+ X7X8LdGtHVRj7M3aXqe/+L5NnrXzv5Xj9b7Pll7LPXY80Virma6RRRDTgeH5GtZx7vhnpeOwMDTnQwFi
+ hgajFbA0xQcBZpcBZrYCKVwFkHAgXEQDiSDEEGJEMSLYgdCwFrEmA6ZE1ohh0yBrRA6JFiRkyJkwRkyI
+ 3JGUiQqRDTKRLTJkhsmSZwTEEdIhicqQixN0xZsTlAWUpQEJOFiRGiRHEkRomivkBK0RhGjNajWs137h
+ WnTS4lrKCSVZzj8tRZL8zh14eL+HbnydR2UuM0J7aig4P5qbuvozz9eDqf41258sv3HdSWn1O+nrQm/l
+ Ts/o9zj17c/5R2mdfSqpTpy6hOjmOyhXlFq4668d2PY0ms2Sk7r9AserjvVtfwzT8VpJyahXStCqv0fd
+ HOx165nb5mppq+irujXhjNcuzXdeRw6jjl5uV6Og1DpTTvscO+dduOsfS0pKrTTRni/h3+0OKcPjxPh1
+ Wg17Uls+0ujO/j69Op05+Xx+/OPymrQlSqShNNSi2muzPrSyzY+RmfBYbMLGo6YxuYbPiWrHu+GeuPFY
+ Hhmo5WN4fkajFB0xYoeGajFgOmaYpXTFmhgLNBwEFcCBXTEFcCRXEkVxJBiSDEDoYkWsBCwFrERsR0Qw
+ 6IHRQY1o2I61iGiiw6ZBi0UR0SWmTJaZMlpkyWmTIaZMlpk0I0cUyGklTXQRajOkLOoSpiEZ0yCMoEkm
+ rESMCVk1CA1GtcGoVxBoLASuHYzWoyTTMWOkelpuLaqilGU1Vgvhqb/nzPP34eb/AMO/Pk6j2NNxHSai
+ ylejP/duvr/k8/Xi75+vl2575r06cJRSkneL5NO6ZznbtNj0dLqJQdma3Xo47d1bT6fiOn8Oqr292S5w
+ ZjrnXfJ1Pl4FfR1tBX8Oqrp+7NcpI8/fOOXreb8vU4dqcWoyezPP1Muu3Fe1Dffo+Z05uzXR8N9seE/d
+ tfHWU4/s6/vW6T/7Po/xu959b+Hzv5Xj9evafl8vKnY9LzKUuZitx0KOxlp9B4Z648Ng+GajFgeGajnY
+ 3hjHOl8M1Ga3hmmLCumMYsK6Ys0rpiyVwEFcBBHAkRwIFcCRcSQYkgcCIYgdDEjrYgdDEsOtiGLRsWHR
+ sGHRsWHRsB0cSQqJYdFRJaOJLRSJaZIloqJLTWIaJDRuI0UyGmUmS0fZZDSyopokhOgxTmnSfYk550iS
+ EoWAxNomoRoGoFjLpGBqM4k1AsBwcL8jNagWsYsbisHYxY6R6Oi1tbTP9nUaT5rmn+Bx78fPX26cd2fT
+ 6HR8Uo1rKtHw5fMt4/8AR5uvF1z/AIvVx3L9/D2qLcUpQleL5NO6ZmdfivTzcdrhS1lB0q0br80+6KyV
+ 2mdT5eRV0lTQ11GW8H7s11PL3zjOXl62irZwxfM5c31rtLsPxPh8OJ8Oq6aXvNXg+0lyZ6vH163Yx5OP
+ 7OfV+Y1dPKnOUJxcZRbTT6NH0d2fD5OZcSwsyai0eRnGo+pdM9Lx0PDFit4ZpzsbwzWsWB4Y652FdMdZ
+ sBwHWLCun5GtZsI6Y6zYV0xlZwrgOskcB1EcBBXAkRwJFcCRXAkGJJsCOhiS1sQOhgR1sCxa2AHRUAOm
+ xI6OJYdbHyLFoqIYtNiS0cSWjYsWjYcWiokNbElrYkNHEhoWEaxYNbJoMWjn3RYtBxhImpUKmnvyAuSp
+ Qa6E1jnnSaBqISiDUK0DZbA1GM63DJXLWoKjYDhsLg1GUGjFjcVhdM51uO2jNqxiukr1tFrKunadOdl1
+ T5M5d8Tr7enx92PotFxClqLKX7Op+TOF5vL1c9SvUdOFem6VWN0//t0Fksdp8/Fef4NTR10nvH4Zdzyd
+ 8Yp8V6tKSnFM147+G3yX2q4YqWqjrKcfYrbTt0l/2j3+HrZ6vD/J8ede0/L5mdJo7PNhcCL7Hwztry2B
+ 4ZrXOxsB1mwPDHWLGwLWLyV0x1m8l8MdZvIOA6zeSOBrWbyR0x1m8lcB1i8kcDWs3kjgOs4RwNaCuA6i
+ uBIrgSLgSDAkGBJsCTYEWwBNgR1sCWjgWLRwLDo+GWLTeGC0fDLFo+GWLR8MloqBDRwJaOBLQwLRoYCt
+ BwIaVxJaRxIlexIrYNAqjXW4GDnCXNWMtyo1NOmroy3HJU07XQmo55U2g1uJuINSBiZbhkgahki1qQ6i
+ RUUL+plqCoWZixuVWGxixuOyjI510lehRnyMV6Oa9zQcRnTShP2oefNehz65/T0c9vbXhaqjZPKL+qOX
+ XO/Fd58xKkpUKmEuXRnlsvFah9dpIa7RVNPP4ls+z6M9PHWfMZ8nE65sr8+r6aVOcoTjaUW015ns3fl8
+ 3MuVz+HYU+xwOmvNY2A6xYGA6x6hgOj1BwHWbyVwHReSuI6zeSuI6xeSuI6zeSOBrWbyVwHWbyRwHWby
+ RwHWLyVwNazeSOAys+pXAdGFcDWjC4FowMB0B4ZamwLU2BamwIj4YamwLUKgWoVTLT8jgGrDYBpytgWr
+ 1NgGn1bAtXqOJafUcQ1Y2JavVsC1eoYDq9SuBaz6lcDWjE3AdCcoEYjKINRKVwbkI5WCtSMqjXJ2M1uQ
+ /iKW0l+JmtQk6MZq8WZdI5p0GnyBqRJ07BrcgYg1IKiDSkUWnFYxBpRRurMiPh2MWNRWnGzOdjpHdRbM
+ WOvNd9GVrGHfmvV0leVNpxdjFjvzXsQnDUU+0jl3xsx2l1SF0rPmjjxsuVp879odAo146qEdqm0v6j1+
+ Pr4x4/5HGX2j56VFqR01wfV4HTXnsbAtZxsR0YVxHReSuI6zeSuI6zeSuJrWbCuA6zeSOJrWLyVxHWbC
+ uI6zYVxHRhHEdZvIOI6zeSOA6xeS4GtHqDgOs+pcC1eoYDo9WwLR6hgWr1bAtHq2BafVsC1erYFq9RUP
+ ItXqOPkGnGxLTg4hqwcS042IasHEtONYtWNYtWNiWrGxLVgYloxsR1YVxHRYSUR1i8pyialGIzgTUQlA
+ G4hONjNbiTTRmtyEcmjLcgxq2fZma1IvGqmrSV/MG4LoxmrxZluISotdC1qB4YEVANaUjENOKxjcdaxa
+ ML7MFh1SsYsbi1NWZzsdI7KTMV25ruoyszFd+Xp6aq007ma6816kJKpFPqcuuddZSarTx1WmnRl8S2fZ
+ 9B5v5HfPtzj5GppnCpKMlZp2aO+vBmPfxN6442I6MBxHRhXEdZwriOjCuI6zeSuI6zeSuI6zYRxHWbCu
+ JrWbCuA6zeSOI6xeSuJrRgOI6zhXEdZ9SuA6PUHAtZ9S4Do9QxLRgYjqxsS0Y2JasDEtWNiWrBwLVjYF
+ qwcQ042JasbEtODiGrGxLTjYlqwcS1Y2JasbEtWNiWrAxIY2IrAxLRhXEdFicoGpWLEZQHVIhOAa3IhO
+ Bm1uRCUArpIlKJmtSJOJluQLtBa3ikKrTDTjrp1Yz2kr+YGKOgpK8d0ZbhPCtzQNQVSBqHjCxHFoRLTi
+ 8YdGWnD+HZmbGotTVjlXWOumc678120XZg6x6WnqWtuYrpK7lurmXR5+r4Z94rurGSjdbrzNTrHHvxe1
+ 0MTs8WNiOjC4losBxHRhXEdZwriOjCuI6zYDiOs2EcDWs2FcRlZsK4mtZsK4jrN5I4DrN5K4DrPqDiOj
+ CuI6zYGI6PUMS0eoYlo9QwHR6tgWr1DAtXq2BaPUcC0+rYFq9WwLV6tgWn1bANWDgWr1bEtPq2IavVsR
+ 1eo4hq9WxLV6hiK9WxJerYlo9QxLVgOI6MDEtHqSUR1m8ozia1mRCcC1uRCcTNrciEoha3IjKBluROUD
+ NrchHANakLgGtYKvFmdOOilXcX2LT6u6nUhVXtWT7gYp4Ft+aBrB8INahlCwa1i0I9B04vGPRlqxRU7G
+ K3FoROdjrzXTBGHeOujKxmukejRndWM10lXsBcFjs+fjWFYFhGFcSGA4jrNhXERgOJrWbCuI6zhXEdGF
+ cR1mwriOs2EcR1nCuI6LyDiOs3kriOs+pcB0eoYjowMC0eoYFo9WwHV6hgWj1bAtXq2BavVsC1erYFq9
+ RwDT6tgWr1bAtXqOBafVsC1erYBq9WwHV6tgWr1bEtXq2BavVsC1eoYlo9S4jo9QxLRgYjrOA4jovKM4
+ GtYxCcA1uRzzgGtyIygGtyIziZ1uRNwC1rCuBnWpCuAa1IXANakbADikLwewa1ju0+qcdpci1Y9CChVV
+ 48+wVQ3g+QNQVTBrFoRsWnF4Q2s+RacUVOxitxWCOdd+VoKxl0jsoy3BuO1SujLbksdXixrEMCwrAsIw
+ LCMDEWcK4lowriOs4XEdGA4jrOFcR0YVxHWcK4jrOA4josLiOs4GA6PUMS0eoYDq9QxLR6tgWr1bAtXq
+ 2BavVsC1erYFq9RwLT6tgGr1bAvZeo4Fp9WwLV6tgWr1bAtXq2BavUMC0erYFq9QwLV6tiOjGxLV6lcC
+ 1n1DA1o9SuBazYVxHRYlOJrWMQlAtakQnENbkRlANbkSlAzrWEcAtakTcDOtSBgDWBgDUjYAcbAGsMoE
+ cXpVJU3sC9Xq6fUxqJRnz7ksdipJq6s13AwVSsFaUjGwa1i0Y3VmBw6hZma6cqRiZrtFYbMy1HVGXsg3
+ pbG3lawoLEMawrAsQwthGA0OjAaJnCuI6LCuI6zhcR0YDiOs4VxHRgOI6zgYlqwMS0YGI6MbAtWBgWj1
+ bAdXq2AavVsC1eo4Fq9WwLT6jgWr1bANPqOBavVsC0+rYBq9WwLV6tgOr1DAtHq2BavUMC0eoYDo9QxH
+ RhcS0YGI6MCxDAcbjowriOs3lOcTUrOITiWmRCUA1qRKUA1rEpQC1qRNwM63hHAjgYBrWBgDUjYAcFUw
+ OGVMtawyphpxSMWuQHHfpdVKm7S3iGr1/T1aThVjeO5VQ/hGWpDRjYNbkWULgZBxM11hkgbUT2IqGnBr
+ EAsSawjAsSCxALCMBoRgNCMK0TOA4iMK4jowMR0YGJaMDEdGBiWjGxLVgYlq9WxLR6jiWn1bEtXq2Baf
+ UcC1eo4Bp9WUC1eo4Bp9WwLV6tgWr1HAtXqGBavVsC1eoYjowMS0YGJavUHEdGA4jrOFcS0YVxHWcK4j
+ rOA4iMK0IwkkmOs4lKAa1IhKJa1IlKBacTcA1qRNwDWsI4BpwMAawMAOCqYa1hlADgqBHDKANYZQBYdQ
+ JrHTQqSpSTTBZr19PWhXjblIFmOjC3NA3DKJluQ+NwMgYk2NiKguLWJYwhrEgsSARgWIBYQ1iGFaEYDQ
+ jAsQwLEMDEdGBiWrGxLRjYjqxsQ1Y2JasbEtODiWrBxDTg4Fp9RxLT6tgGr1HAtPq2JavUcS0+oYhq9W
+ xHR6hiWr1BxLR6g4jo9QxHWfUriOjAcS0WFcR1mwriLNhXEdGFcR1mwriOs2JSRoYlJMDIR+YNyEcU+Q
+ HE5QDWsTcC04V0w1rA8MNONgGnGwI4KgDWCoAcMoEcMoAcOoETqAJSF4u6AvV02pU0oVOfRgcdeFuQVq
+ fBog6QXG6uBLYiJpxEkxBhQEmIBYg1hQNEAsKwLEMCwjAsQxsSWBiIxsSWNiWrGxDVg4lpxsS1eo4hpw
+ VEtOGxDTgqJacHENONiWrGxLTg4hqwMS1Y2I6MDEtWA4jrOFcS0YDiOjCtDrNhWhFhXEdZsK4jrNhWh1
+ nCtDowrQxmxKSNaMSkg04lKIa1Im4kcDfruDUayYGQHANawuAHGwI42AHBwI4KgGnDKBEygCMoEcOoAT
+ KJE8VYC9DS6m3sVN13Cwx2uKtdcjLeDHzJocAOJG3ESDEmJMSYQBBiQEmsICxALEsaxJrCMaxLGsSxrB
+ pwbFqxsS04OIasFRLTg4hpw2JacawHBsRxrEcawLGsSxrCsCxLGsQwthZwLFowGhZsK4iMK0Os4VodZs
+ K0LNhWh0WFaFmwkkaZsSkhWJuIacTlENOEcSOEcQ1rCuJHGV15gTKz8gI4BrWNgSwcAIqBHBUAOGUSWG
+ USJlECZRJGUSJ1EE7NNXcPZlvH9ArcrtsuaMtsSRNuTEGJMQYkwpiDEgIMSCxJrEGsKaxJrEsGwHGsSw
+ bEcGwHBsSwbA1g2I4NgONYjjWI4xLGJMSAkxACWMIwLEzYVoWbAaFnCtCLCtEzhWjTNhWiGFaFmwkkaj
+ OJSQ6cTaA4RoFhHEjhHEjgYgcDEjjYgcMroidWfPYDD4AcbEjg4EcFRBGUSRlEiZRBGUSJlEiZIE6aFV
+ x9mXu/oDUrrsDbnNOTCGJMQYkAhiQkmIMSAk1iQ2JNYk1gQ2I41iQ2AjYjhrAcYmsEjjEmIsAAUxJrki
+ 3JNcg1yTEgENYhYVizgMmbCtCzStCzgNCMI0LNickaGJyRHCNAcI4kcK4gsBxI4XEljYhpxsSONiSxsS
+ OGjdAVY2fkwJsC0mUQQ4kRUSRlECKiSMkRFIkdIirGrKMbXDDoiyxBiTCAJMSYQxBiQkmAMSEi1iQkhA
+ tyIiBEmmIiSYixJgQCGJASBsgBJiTEmJMSAQDIMxZoMmaVizSsQVjAmxBGiJGiRWiJWgRbEQsBxrEmsi
+ I2JDigIpEhsSPFtAVLKxNDYENiQ2IikSMkSNYCJIxJ//2Q==
+
+
AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAABAnAAAQJwAAAAAAAAAA
diff --git a/CNAS_BalanceClient/scales_of_Balance_16px_1117673_easyicon.net.ico b/CNAS_BalanceClient/scales_of_Balance_16px_1117673_easyicon.net.ico
new file mode 100644
index 0000000..02cc2ba
Binary files /dev/null and b/CNAS_BalanceClient/scales_of_Balance_16px_1117673_easyicon.net.ico differ
diff --git a/CNAS_DBSync.sln b/CNAS_DBSync.sln
index 6c03226..5e192fa 100644
--- a/CNAS_DBSync.sln
+++ b/CNAS_DBSync.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.705
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CnasSynchronusDAL", "CnasSynchronusDAL\CnasSynchronusDAL.csproj", "{F4EC1B78-EFF4-4D04-AE79-631D220187AF}"
EndProject
@@ -29,6 +29,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CNAS_BalanceClient", "CNAS_
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WF-ChangeGUID", "WF-ChangeGUID\WF-ChangeGUID.csproj", "{E20B8662-89F1-42D9-8DC5-0E30E1AADCD6}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CNAS_SerialPort", "CNAS_SerialPort\CNAS_SerialPort.csproj", "{ABB56058-B6FD-4747-A4E9-9C9361D6D993}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CNAS_Authorize", "CNAS_Authorize\CNAS_Authorize.csproj", "{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -87,6 +91,14 @@ Global
{E20B8662-89F1-42D9-8DC5-0E30E1AADCD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E20B8662-89F1-42D9-8DC5-0E30E1AADCD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E20B8662-89F1-42D9-8DC5-0E30E1AADCD6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CNAS_DBSync/App.config b/CNAS_DBSync/App.config
index a395129..1eff40e 100644
--- a/CNAS_DBSync/App.config
+++ b/CNAS_DBSync/App.config
@@ -1,74 +1,87 @@
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/CNAS_DBSync/CNAS_DBSync.csproj b/CNAS_DBSync/CNAS_DBSync.csproj
index a13d661..2d1d911 100644
--- a/CNAS_DBSync/CNAS_DBSync.csproj
+++ b/CNAS_DBSync/CNAS_DBSync.csproj
@@ -8,11 +8,12 @@
WinExe
CNAS_DBSync
CNAS_DBSync
- v4.0
+ v4.8
512
true
+
x86
@@ -23,6 +24,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -32,6 +34,13 @@
TRACE
prompt
4
+ false
+
+
+ drum_set_16px_1218345_easyicon.net.ico
+
+
+ true
@@ -54,6 +63,8 @@
+
+
Form
@@ -114,18 +125,36 @@
frmSourceFilter.cs
+
+ Form
+
+
+ frmSourceSetting.cs
+
Form
frmSplitParam.cs
+
+ Form
+
+
+ frmStartEndSubstring.cs
+
Form
frmSyncParams.cs
+
+ Form
+
+
+ frmSystemSetting.cs
+
@@ -158,12 +187,21 @@
frmSourceFilter.cs
+
+ frmSourceSetting.cs
+
frmSplitParam.cs
+
+ frmStartEndSubstring.cs
+
frmSyncParams.cs
+
+ frmSystemSetting.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -172,6 +210,7 @@
True
Resources.resx
+ True
@@ -199,6 +238,9 @@
CnasSynchrousModel
+
+
+
diff --git a/CNAS_DBSync/FormSizeHelper.cs b/CNAS_DBSync/FormSizeHelper.cs
new file mode 100644
index 0000000..fdd24b6
--- /dev/null
+++ b/CNAS_DBSync/FormSizeHelper.cs
@@ -0,0 +1,264 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using System.Windows.Forms;
+using System.Configuration;
+using System.Collections;
+using System.Drawing;
+using System.IO;
+
+using CnasSynchronousCommon;
+using System.Xml;
+
+namespace CNAS_DBSync
+{
+
+ struct FieldLine
+ {
+ Label label;
+ Control editor;
+ Button button;
+ int size;
+
+ public FieldLine(Label label, Control editor, Button button = null)
+ {
+ this.label = label;
+ this.editor = editor;
+ this.button = button;
+ int count = 0;
+ if (label != null) count++;
+ if (editor != null) count++;
+ if (button != null) count++;
+ size = count;
+ }
+
+ public Label Label
+ {
+ get
+ {
+ return label;
+ }
+ }
+ public Control Editor
+ {
+ get
+ {
+ return editor;
+ }
+ }
+
+ public Button Button
+ {
+ get
+ {
+ return button;
+ }
+ }
+
+ }
+
+ ///
+ /// 设置容器内编辑字段位置的公共算法
+ ///
+ class FormSizeHelper
+ {
+ private static readonly string strLocalConfigPath = FileHelper.getBasePath() + @"\Data\";
+ private static readonly string FormSizeXml = "FormSize.xml";
+ private static readonly FormSizeHelper instance;
+ private Hashtable formSizes;
+
+ // 静态构造函数确保线程安全且延迟加载。
+ static FormSizeHelper() {
+ instance = new FormSizeHelper();
+ }
+
+ // 防止外部实例化。
+ private FormSizeHelper() {
+ Init();
+ }
+ public static FormSizeHelper Instance => instance; // 提供全局访问点。
+
+ public static void Arrange(Panel container, FieldLine[] fields, int span1 = 1, int span2 = 1)
+ {
+ int colLabel = 0;
+ int colEditor = 0;
+ int colButton = 0;
+
+ int lbLeft = -1;
+ for (int i = 0; i < fields.Length; i++)
+ {
+ if (lbLeft == -1)
+ {
+ if (fields[i].Label != null)
+ lbLeft = fields[i].Label.Left;
+ }
+ else if (fields[i].Label != null && fields[i].Label.Left >= 0 && fields[i].Label.Left < lbLeft)
+ {
+ lbLeft = fields[i].Label.Left;
+ }
+ }
+
+ int width = lbLeft < 0 ? (container.Width * 80 / 100) : (container.Width-lbLeft*2);
+ int marginLeft = (container.Width - width) / 2;
+
+ for (int i=0;i< fields.Length; i++)
+ {
+ if(fields[i].Label != null && fields[i].Label.Width > colLabel)
+ {
+ colLabel = fields[i].Label.Width;
+ }
+ if (fields[i].Button != null && fields[i].Button.Width > colButton)
+ {
+ colButton = fields[i].Button.Width;
+ }
+ }
+
+ colEditor = width - (colLabel + span1 + span2 + colButton);
+
+ for (int i = 0; i < fields.Length; i++)
+ {
+ //Label不动
+
+ //改变Editor
+ if (fields[i].Editor != null)
+ {
+ if(fields[i].Editor is TextBox)
+ {
+ TextBox tb = (TextBox)fields[i].Editor;
+ //tb.Left = marginLeft + colLabel + span1;
+ tb.Width = colEditor;
+ if(fields[i].Button != null)
+ {
+ fields[i].Button.Left = tb.Left + colEditor + span2;
+ }
+ }
+
+
+ if(fields[i].Editor is CheckBox)
+ {
+ //不动
+ }
+
+ if(fields[i].Editor is ComboBox)
+ {
+ ComboBox tb = (ComboBox)fields[i].Editor;
+ //tb.Left = marginLeft + colLabel + span1;
+ tb.Width = colEditor;
+ if (fields[i].Button != null)
+ {
+ fields[i].Button.Left = tb.Left + colEditor + span2;
+ }
+ }
+
+ }
+
+ }
+
+
+ }
+
+ private static bool ValidBound(Form form, int x, int y, int w, int h)
+ {
+ if (x>=0 && y >= 0 && w>0 && h > 0)
+{
+ Screen screen = Screen.FromControl(form);
+ Rectangle r = screen.Bounds;
+ return (x + w < r.Width && y + h < r.Height);
+ }
+
+ return false;
+ }
+
+ private void Init()
+ {
+ formSizes = new Hashtable(10);
+ string strUrl = strLocalConfigPath + FormSizeXml;
+ try
+ {
+ if (!File.Exists(strUrl)) return;
+
+ XmlDocument doc = new XmlDocument();
+ doc.Load(strUrl);
+ XmlNode root = doc.DocumentElement;
+ foreach (XmlNode node in root.ChildNodes)
+ {
+ string formname = node.Name;
+ string value = node.InnerText;
+ formSizes.Add(formname, value);
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+
+ }
+
+ public List LoadDefaultSize(Form form, string key, out bool changed)
+ {
+ changed = false;
+ if (formSizes.ContainsKey(key))
+ {
+ string value = formSizes[key] as string;
+ string[] values = value.Split(',');
+ if (values.Length >= 4)
+ {
+ int x, y, w, h;
+ if (int.TryParse(values[0], out x) && int.TryParse(values[1], out y) &&
+ int.TryParse(values[2], out w) && int.TryParse(values[3], out h))
+ {
+ if (ValidBound(form, x, y, w, h))
+ {
+ form.Left = x;
+ form.Top = y;
+ form.Width = w;
+ form.Height = h;
+ changed = true;
+ }
+ }
+
+ if (changed && values.Length > 4)
+ {
+ List list = new List(values.Length - 4);
+ for (int i = 4; i < values.Length; i++)
+ {
+ list.Add(values[i]);
+ }
+ return list;
+ }
+ }
+ }
+ return null;
+ }
+
+ public bool SaveDefaultSize(string key, string value)
+ {
+ if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
+ {
+ formSizes[key] = value;
+ StringBuilder sb = new StringBuilder();
+ sb.Append("\n\n");
+ foreach(object k in formSizes.Keys)
+ {
+ string line = string.Format("<{0}>{1}{0}>", k, formSizes[k]);
+ sb.Append(line).Append("\n");
+ }
+ sb.Append("");
+ try
+ {
+ bool bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, FormSizeXml, sb.ToString());
+ return bIfSuccess;
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ }
+ return true;
+ }
+
+ }
+}
diff --git a/CNAS_DBSync/Program.cs b/CNAS_DBSync/Program.cs
index b74662e..a61e25d 100644
--- a/CNAS_DBSync/Program.cs
+++ b/CNAS_DBSync/Program.cs
@@ -3,6 +3,7 @@ using CnasSynchronusClient;
using CnasSynchrousModel;
using System;
using System.Collections.Generic;
+using System.Configuration;
using System.Linq;
using System.Windows.Forms;
@@ -19,7 +20,7 @@ namespace CNAS_DBSync
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string strMsg = "";
- CheckAvailability(ref strMsg);
+ /*CheckAvailability(ref strMsg);*/
if (strMsg == "")
{
if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
@@ -29,12 +30,30 @@ namespace CNAS_DBSync
MessageBox.Show(strMsg);
}
- //检查当前电脑是否可以启动程序
+ ///检查当前电脑是否可以启动程序
public static void CheckAvailability(ref string strErrorMsg)
{
- //1.读取本地CNAS数据库配置信息
- DataBaseInfo Cnasdb = FileOperation.GetLocalCnasDB();
- if (!CnasDataOperationFact.CnasDataOperation().TestConnect(Cnasdb.DBHost, Cnasdb.DBName, Cnasdb.DBUser, Cnasdb.DBPwd, Cnasdb.DBPort))
+ //0.读取本地系统配置文件
+ SystemFormatConfig systemFormat = FileOperation.GetSystemFormatConfigData();
+ GlobalCommonOperation.strStartGeneralVersion = systemFormat.StartGeneralVersion;
+ GlobalCommonOperation.strStartWebApi = systemFormat.StartWebApi;
+ GlobalCommonOperation.strWebApiUrl = systemFormat.WebApiUrl;
+ GlobalCommonOperation.strTargetDbType = systemFormat.TargetDBType;
+ if (GlobalCommonOperation.strStartGeneralVersion == "1") //此时启动的时通用版本,不需检查Mac地址
+ {
+ return;
+ }
+
+ //1.读取本地CNAS数据库配置信息
+ DataBaseInfo Cnasdb = null;
+ if (GlobalCommonOperation.strStartWebApi != "1")
+ Cnasdb = FileOperation.GetLocalCnasDB();
+ else
+ Cnasdb = new DataBaseInfo()
+ {
+ DataBaseCode = "cnas"
+ };
+ if (!CnasDataOperationFact.CnasDataOperation().TestConnect(Cnasdb))
{
strErrorMsg = "无法正常连接CNAS库,请先配置数据库连接。";
return;
diff --git a/CNAS_DBSync/Properties/Resources.Designer.cs b/CNAS_DBSync/Properties/Resources.Designer.cs
index ff8c73b..fc34b82 100644
--- a/CNAS_DBSync/Properties/Resources.Designer.cs
+++ b/CNAS_DBSync/Properties/Resources.Designer.cs
@@ -1,69 +1,61 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行时版本: 4.0.30319.42000
+// 运行时版本:4.0.30319.42000
//
-// 对此文件的更改可能导致不正确的行为,如果
-// 重新生成代码,则所做更改将丢失。
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace CNAS_DBSync.Properties
-{
-
-
+namespace CNAS_DBSync.Properties {
+ using System;
+
+
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CNAS_DBSync.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// 覆盖当前线程的 CurrentUICulture 属性
- /// 使用此强类型的资源类的资源查找。
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
diff --git a/CNAS_DBSync/Properties/Settings.Designer.cs b/CNAS_DBSync/Properties/Settings.Designer.cs
index a9d1778..8620461 100644
--- a/CNAS_DBSync/Properties/Settings.Designer.cs
+++ b/CNAS_DBSync/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@ namespace CNAS_DBSync.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -26,11 +26,20 @@ namespace CNAS_DBSync.Properties {
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
- [global::System.Configuration.DefaultSettingValueAttribute("Data Source=E:\\JXD\\CNASClient\\CNAS_DBSync\\dll\\database.db")]
+ [global::System.Configuration.DefaultSettingValueAttribute("Data Source=C:\\DEV\\CNAS\\CNASClient\\CNAS_DBSync\\dll\\database.db")]
public string ConnectionString {
get {
return ((string)(this["ConnectionString"]));
}
}
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string SyncParamSize {
+ get {
+ return ((string)(this["SyncParamSize"]));
+ }
+ }
}
}
diff --git a/CNAS_DBSync/Properties/Settings.settings b/CNAS_DBSync/Properties/Settings.settings
index 6000af3..85247f8 100644
--- a/CNAS_DBSync/Properties/Settings.settings
+++ b/CNAS_DBSync/Properties/Settings.settings
@@ -5,10 +5,13 @@
<?xml version="1.0" encoding="utf-16"?>
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <ConnectionString>Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db</ConnectionString>
+ <ConnectionString>Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db</ConnectionString>
<ProviderName>Devart.Data.SQLite</ProviderName>
</SerializableConnectionString>
- Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db
+ Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db
+
+
+
\ No newline at end of file
diff --git a/CNAS_DBSync/SourceSettingTextBoxDecrible.cs b/CNAS_DBSync/SourceSettingTextBoxDecrible.cs
new file mode 100644
index 0000000..77c79eb
--- /dev/null
+++ b/CNAS_DBSync/SourceSettingTextBoxDecrible.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CNAS_DBSync
+{
+ ///
+ /// 来源设置界面中提示语言类
+ ///
+ public class SourceSettingTextBoxDecrible
+ {
+ /*Excel配置界面中参数*/
+ public static string txtExcelSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtExcelFileNameFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtExcelAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtExcelAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*Access配置界面中参数*/
+ public static string txtAccessSuffix_Decrible = "请输入文件后缀名";
+ public static string txtAccessSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtAccessFileName_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtAccessAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtAccessAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*FoxPro配置界面中参数*/
+ public static string txtFoxProSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtFoxProFileNameFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtFoxProAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtFoxProAutoSql_Decrible = "请输入自定义查询的sql语句";
+ public static string txtFoxProSpecialMethodName_Decrible = "请输入特殊方法的名称(比如comcat)";
+ public static string txtFoxProSpecialMethod_Decrible = "请输入特殊方法的参数列,用英文逗号隔开";
+
+ /*Sqlite配置界面中参数*/
+ public static string txtSqliteSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtSqliteFileNameFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtSqliteAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtSqliteAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*Sqlserver配置界面中参数*/
+ public static string txtSqlServerSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtSqlServerConnection_Decrible = "请输入连接字符串";
+ public static string txtSqlServerAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtSqlServerAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*MySql配置界面中参数*/
+ public static string txtMySqlSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtMySqlAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtMySqlAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*Oracle配置界面中参数*/
+ public static string txtOracleSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtOracleAutoSqlName_Decrible = "请定义一个自定义查询的名称或描述";
+ public static string txtOracleAutoSql_Decrible = "请输入自定义查询的sql语句";
+
+ /*TXT配置界面中参数*/
+ public static string txtNormalFileSpecialDateColumnFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtNormalFileNameFormat_Decrible = "请输入类似于yyyyMMdd样式内容";
+ public static string txtNormalFileReadDataMode_Decrible = "请输入读取规则选型";
+ public static string txtNormalFileSuffix_Decrible = "请输入文件后缀名";
+ public static string txtNormalFileReadSplitMode_Decrible = "请输入文件分割每个数据行的依据。0代表“ ”,1代表“\t”,2代表0和1的集合";
+ }
+}
diff --git a/CNAS_DBSync/drum_set_16px_1218345_easyicon.net.ico b/CNAS_DBSync/drum_set_16px_1218345_easyicon.net.ico
new file mode 100644
index 0000000..0f4b7fb
Binary files /dev/null and b/CNAS_DBSync/drum_set_16px_1218345_easyicon.net.ico differ
diff --git a/CNAS_DBSync/frmCNASValue.cs b/CNAS_DBSync/frmCNASValue.cs
index 3e0fb46..0f90b79 100644
--- a/CNAS_DBSync/frmCNASValue.cs
+++ b/CNAS_DBSync/frmCNASValue.cs
@@ -15,7 +15,7 @@ namespace CNAS_DBSync
{
public SyncInstrumentItemInfo syncInstrument;
private ComboBox cbxConditionValue;
- private List lstConditionValueType = new List() { "等于", "连接", "若...则...", "截取", "除以", "乘以", "小数位数","数值相加(减)" };
+ private List lstConditionValueType = new List() { "等于", "连接", "若...则...", "截取", "除以", "乘以", "小数位数","数值相加(减)","截断开头(结尾)" };
public frmCNASValue(SyncInstrumentItemInfo syncInstrument)
{
@@ -154,6 +154,13 @@ namespace CNAS_DBSync
return;
}
+ if (GetBytesOfString(strInputValue) > 20)
+ {
+ MessageBox.Show("输入内容超出限制,请重新输入。");
+ dgvCnas.CurrentCell.Value = "";
+ return;
+ }
+
//将数据插入到数据源中
var query = syncInstrument.lstFixedValue.Where(s => s.TableName == strCurrentTable && s.ColumnName == strCurrentColumn).ToList();
if (query.Count >= 1)
@@ -176,6 +183,30 @@ namespace CNAS_DBSync
}
}
+ public int GetBytesOfString(string Text)
+ {
+ int nByte = 0;
+ byte[] bytes = Encoding.Unicode.GetBytes(Text);
+ for (int i = 0; i < bytes.GetLength(0); i++)
+ {
+ // 偶数位置,如0、2、4等,为UCS2编码中两个字节的第一个字节
+ if (i % 2 == 0)
+ {
+ nByte++; // 在UCS2第一个字节时n加1
+ }
+ else
+ {
+ // 当UCS2编码的第二个字节大于0时,该UCS2字符为汉字,一个汉字算两个字节
+ if (bytes[i] > 0)
+ {
+ nByte++;
+ }
+ }
+ }
+
+ return nByte;
+ }
+
public void GiveConditionByShow(CnasConditionMapValue cnasFixed,string strCurrentCondition)
{
switch (strCurrentCondition)
@@ -204,7 +235,10 @@ namespace CNAS_DBSync
case "数值相加(减)":
cnasFixed.Condition = MapCondition.AddSubtract;
break;
- default:
+ case "截断开头(结尾)":
+ cnasFixed.Condition = MapCondition.SubstringStartEnd;
+ break;
+ default:
break;
}
}
@@ -237,6 +271,9 @@ namespace CNAS_DBSync
case MapCondition.AddSubtract:
strCurrentCondition = "数值相加(减)";
break;
+ case MapCondition.SubstringStartEnd:
+ strCurrentCondition = "截断开头(结尾)";
+ break;
}
return strCurrentCondition;
}
@@ -364,6 +401,40 @@ namespace CNAS_DBSync
}
}
+ if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "截断开头(结尾)")
+ {
+ CnasConditionMapValue cnasFixed = new CnasConditionMapValue
+ {
+ TableName = dgvCnas.Rows[e.RowIndex].Cells["TableName"].Value.ToString(),
+ ColumnName = dgvCnas.Rows[e.RowIndex].Cells["TableColumn"].Value.ToString(),
+ Condition = MapCondition.SubstringStartEnd
+ };
+ if (dgvCnas.Rows[e.RowIndex].Cells["Value"].Value != null)
+ cnasFixed.Value = dgvCnas.Rows[e.RowIndex].Cells["Value"].Value.ToString();
+
+ frmStartEndSubstring frmStartEnd = new frmStartEndSubstring(cnasFixed);
+ if (frmStartEnd.ShowDialog() == DialogResult.OK)
+ {
+ if (frmStartEnd.conditionvalue.Value != null && frmStartEnd.conditionvalue.Value.ToString() != "")
+ {
+ dgvCnas.Rows[e.RowIndex].Cells["Value"].Value = frmStartEnd.conditionvalue.Value;
+
+ //将数据插入到数据源中
+ var query = syncInstrument.lstFixedValue.Where(s => s.TableName == cnasFixed.TableName && s.ColumnName == cnasFixed.ColumnName).ToList();
+ if (query.Count >= 1)
+ {
+ query[0].Condition = cnasFixed.Condition;
+ query[0].Value = frmStartEnd.conditionvalue.Value;
+ }
+ else
+ {
+ cnasFixed.Value = frmStartEnd.conditionvalue.Value;
+ syncInstrument.lstFixedValue.Add(cnasFixed);
+ }
+ }
+ }
+ }
+
if (dgvCnas.Rows[e.RowIndex].Cells["condition"].Value.ToString() == "数值相加(减)")
{
CnasConditionMapValue cnasFixed = new CnasConditionMapValue
diff --git a/CNAS_DBSync/frmDatabaseParams.Designer.cs b/CNAS_DBSync/frmDatabaseParams.Designer.cs
index 4b4a483..08f9a95 100644
--- a/CNAS_DBSync/frmDatabaseParams.Designer.cs
+++ b/CNAS_DBSync/frmDatabaseParams.Designer.cs
@@ -87,6 +87,8 @@
this.label5 = new System.Windows.Forms.Label();
this.txtSqlitePath = new System.Windows.Forms.TextBox();
this.tabSQLServer = new System.Windows.Forms.TabPage();
+ this.txtSqlServerPort = new System.Windows.Forms.TextBox();
+ this.lblSqlPort = new System.Windows.Forms.Label();
this.btnTestSQLLink = new System.Windows.Forms.Button();
this.txtSqlServerName = new System.Windows.Forms.TextBox();
this.txtSqlServerHost = new System.Windows.Forms.TextBox();
@@ -131,22 +133,28 @@
this.label36 = new System.Windows.Forms.Label();
this.txtInportTxt = new System.Windows.Forms.TextBox();
this.tabCnas = new System.Windows.Forms.TabPage();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.txtDBHost = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
this.txtPort = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
+ this.txtDBUser = new System.Windows.Forms.TextBox();
this.btnCNASTestLink = new System.Windows.Forms.Button();
+ this.txtDBPwd = new System.Windows.Forms.TextBox();
this.txtDBName = new System.Windows.Forms.TextBox();
- this.txtDBHost = new System.Windows.Forms.TextBox();
- this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
- this.txtDBPwd = new System.Windows.Forms.TextBox();
- this.txtDBUser = new System.Windows.Forms.TextBox();
- this.label8 = new System.Windows.Forms.Label();
- this.label9 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.cbxTargetDBSelect = new System.Windows.Forms.ComboBox();
+ this.label31 = new System.Windows.Forms.Label();
this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlBtnRight = new System.Windows.Forms.Panel();
this.btnOK = new System.Windows.Forms.Button();
this.pnlTop = new System.Windows.Forms.Panel();
- this.txtSqlServerConnect = new System.Windows.Forms.TextBox();
- this.lblSqlConnection = new System.Windows.Forms.Label();
+ this.tabDam = new System.Windows.Forms.TabPage();
+ this.tabJinc = new System.Windows.Forms.TabPage();
+ this.tabPostgre = new System.Windows.Forms.TabPage();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
this.tabParamas.SuspendLayout();
@@ -161,7 +169,10 @@
this.tabOracle.SuspendLayout();
this.tabTxt.SuspendLayout();
this.tabCnas.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.groupBox1.SuspendLayout();
this.pnlBottom.SuspendLayout();
+ this.pnlBtnRight.SuspendLayout();
this.SuspendLayout();
//
// pnlAll
@@ -172,16 +183,16 @@
this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlAll.Location = new System.Drawing.Point(0, 0);
this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(504, 340);
+ this.pnlAll.Size = new System.Drawing.Size(689, 461);
this.pnlAll.TabIndex = 0;
//
// pnlCenter
//
this.pnlCenter.Controls.Add(this.tabParamas);
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlCenter.Location = new System.Drawing.Point(0, 10);
+ this.pnlCenter.Location = new System.Drawing.Point(0, 5);
this.pnlCenter.Name = "pnlCenter";
- this.pnlCenter.Size = new System.Drawing.Size(504, 288);
+ this.pnlCenter.Size = new System.Drawing.Size(689, 414);
this.pnlCenter.TabIndex = 4;
//
// tabParamas
@@ -192,7 +203,7 @@
this.tabParamas.Location = new System.Drawing.Point(0, 0);
this.tabParamas.Name = "tabParamas";
this.tabParamas.SelectedIndex = 0;
- this.tabParamas.Size = new System.Drawing.Size(504, 288);
+ this.tabParamas.Size = new System.Drawing.Size(689, 414);
this.tabParamas.TabIndex = 1;
//
// tabInstrument
@@ -201,7 +212,7 @@
this.tabInstrument.Location = new System.Drawing.Point(4, 22);
this.tabInstrument.Name = "tabInstrument";
this.tabInstrument.Padding = new System.Windows.Forms.Padding(3);
- this.tabInstrument.Size = new System.Drawing.Size(496, 262);
+ this.tabInstrument.Size = new System.Drawing.Size(681, 388);
this.tabInstrument.TabIndex = 0;
this.tabInstrument.Text = "仪器数据源";
this.tabInstrument.UseVisualStyleBackColor = true;
@@ -215,12 +226,15 @@
this.tabcDS.Controls.Add(this.tabSQLServer);
this.tabcDS.Controls.Add(this.tabMySql);
this.tabcDS.Controls.Add(this.tabOracle);
+ this.tabcDS.Controls.Add(this.tabDam);
+ this.tabcDS.Controls.Add(this.tabJinc);
+ this.tabcDS.Controls.Add(this.tabPostgre);
this.tabcDS.Controls.Add(this.tabTxt);
this.tabcDS.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabcDS.Location = new System.Drawing.Point(3, 3);
this.tabcDS.Name = "tabcDS";
this.tabcDS.SelectedIndex = 0;
- this.tabcDS.Size = new System.Drawing.Size(490, 256);
+ this.tabcDS.Size = new System.Drawing.Size(675, 382);
this.tabcDS.TabIndex = 6;
this.tabcDS.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabcDS_Selected);
//
@@ -238,7 +252,7 @@
this.tabExcel.Location = new System.Drawing.Point(4, 22);
this.tabExcel.Name = "tabExcel";
this.tabExcel.Padding = new System.Windows.Forms.Padding(3);
- this.tabExcel.Size = new System.Drawing.Size(482, 230);
+ this.tabExcel.Size = new System.Drawing.Size(667, 356);
this.tabExcel.TabIndex = 0;
this.tabExcel.Text = "Excel";
this.tabExcel.UseVisualStyleBackColor = true;
@@ -246,7 +260,7 @@
// label22
//
this.label22.AutoSize = true;
- this.label22.Location = new System.Drawing.Point(47, 19);
+ this.label22.Location = new System.Drawing.Point(47, 25);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(65, 12);
this.label22.TabIndex = 24;
@@ -255,7 +269,7 @@
// lblExcelRemotePwd
//
this.lblExcelRemotePwd.AutoSize = true;
- this.lblExcelRemotePwd.Location = new System.Drawing.Point(47, 127);
+ this.lblExcelRemotePwd.Location = new System.Drawing.Point(46, 112);
this.lblExcelRemotePwd.Name = "lblExcelRemotePwd";
this.lblExcelRemotePwd.Size = new System.Drawing.Size(65, 12);
this.lblExcelRemotePwd.TabIndex = 10;
@@ -264,7 +278,7 @@
//
// txtRemoteExcelPwd
//
- this.txtRemoteExcelPwd.Location = new System.Drawing.Point(115, 124);
+ this.txtRemoteExcelPwd.Location = new System.Drawing.Point(115, 108);
this.txtRemoteExcelPwd.Name = "txtRemoteExcelPwd";
this.txtRemoteExcelPwd.PasswordChar = '*';
this.txtRemoteExcelPwd.Size = new System.Drawing.Size(270, 21);
@@ -274,7 +288,7 @@
// lblExcelRemoteUser
//
this.lblExcelRemoteUser.AutoSize = true;
- this.lblExcelRemoteUser.Location = new System.Drawing.Point(35, 90);
+ this.lblExcelRemoteUser.Location = new System.Drawing.Point(34, 83);
this.lblExcelRemoteUser.Name = "lblExcelRemoteUser";
this.lblExcelRemoteUser.Size = new System.Drawing.Size(77, 12);
this.lblExcelRemoteUser.TabIndex = 8;
@@ -283,7 +297,7 @@
//
// txtRemoteExcelUser
//
- this.txtRemoteExcelUser.Location = new System.Drawing.Point(115, 87);
+ this.txtRemoteExcelUser.Location = new System.Drawing.Point(115, 79);
this.txtRemoteExcelUser.Name = "txtRemoteExcelUser";
this.txtRemoteExcelUser.Size = new System.Drawing.Size(270, 21);
this.txtRemoteExcelUser.TabIndex = 6;
@@ -292,7 +306,7 @@
// cbxExcelRemote
//
this.cbxExcelRemote.AutoSize = true;
- this.cbxExcelRemote.Location = new System.Drawing.Point(115, 18);
+ this.cbxExcelRemote.Location = new System.Drawing.Point(115, 24);
this.cbxExcelRemote.Name = "cbxExcelRemote";
this.cbxExcelRemote.Size = new System.Drawing.Size(36, 16);
this.cbxExcelRemote.TabIndex = 4;
@@ -302,7 +316,7 @@
//
// btnOpenFileExcel
//
- this.btnOpenFileExcel.Location = new System.Drawing.Point(391, 49);
+ this.btnOpenFileExcel.Location = new System.Drawing.Point(392, 49);
this.btnOpenFileExcel.Name = "btnOpenFileExcel";
this.btnOpenFileExcel.Size = new System.Drawing.Size(60, 23);
this.btnOpenFileExcel.TabIndex = 6;
@@ -313,7 +327,7 @@
// label3
//
this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(71, 54);
+ this.label3.Location = new System.Drawing.Point(69, 54);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 5;
@@ -344,7 +358,7 @@
this.tabFoxPro.Location = new System.Drawing.Point(4, 22);
this.tabFoxPro.Name = "tabFoxPro";
this.tabFoxPro.Padding = new System.Windows.Forms.Padding(3);
- this.tabFoxPro.Size = new System.Drawing.Size(482, 230);
+ this.tabFoxPro.Size = new System.Drawing.Size(667, 356);
this.tabFoxPro.TabIndex = 6;
this.tabFoxPro.Text = "FoxPro";
this.tabFoxPro.UseVisualStyleBackColor = true;
@@ -352,7 +366,7 @@
// label27
//
this.label27.AutoSize = true;
- this.label27.Location = new System.Drawing.Point(45, 20);
+ this.label27.Location = new System.Drawing.Point(45, 26);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(65, 12);
this.label27.TabIndex = 36;
@@ -361,7 +375,7 @@
// cbxFoxProRemote
//
this.cbxFoxProRemote.AutoSize = true;
- this.cbxFoxProRemote.Location = new System.Drawing.Point(113, 19);
+ this.cbxFoxProRemote.Location = new System.Drawing.Point(116, 24);
this.cbxFoxProRemote.Name = "cbxFoxProRemote";
this.cbxFoxProRemote.Size = new System.Drawing.Size(36, 16);
this.cbxFoxProRemote.TabIndex = 24;
@@ -372,7 +386,7 @@
// lblFoxproRemotePwd
//
this.lblFoxproRemotePwd.AutoSize = true;
- this.lblFoxproRemotePwd.Location = new System.Drawing.Point(45, 193);
+ this.lblFoxproRemotePwd.Location = new System.Drawing.Point(45, 170);
this.lblFoxproRemotePwd.Name = "lblFoxproRemotePwd";
this.lblFoxproRemotePwd.Size = new System.Drawing.Size(65, 12);
this.lblFoxproRemotePwd.TabIndex = 35;
@@ -381,7 +395,7 @@
//
// txtRemoteFoxProPwd
//
- this.txtRemoteFoxProPwd.Location = new System.Drawing.Point(113, 190);
+ this.txtRemoteFoxProPwd.Location = new System.Drawing.Point(115, 166);
this.txtRemoteFoxProPwd.Name = "txtRemoteFoxProPwd";
this.txtRemoteFoxProPwd.PasswordChar = '*';
this.txtRemoteFoxProPwd.Size = new System.Drawing.Size(270, 21);
@@ -391,7 +405,7 @@
// lblFoxproRemoteUserId
//
this.lblFoxproRemoteUserId.AutoSize = true;
- this.lblFoxproRemoteUserId.Location = new System.Drawing.Point(33, 156);
+ this.lblFoxproRemoteUserId.Location = new System.Drawing.Point(33, 141);
this.lblFoxproRemoteUserId.Name = "lblFoxproRemoteUserId";
this.lblFoxproRemoteUserId.Size = new System.Drawing.Size(77, 12);
this.lblFoxproRemoteUserId.TabIndex = 34;
@@ -400,7 +414,7 @@
//
// txtRemoteFoxProUserId
//
- this.txtRemoteFoxProUserId.Location = new System.Drawing.Point(113, 153);
+ this.txtRemoteFoxProUserId.Location = new System.Drawing.Point(115, 137);
this.txtRemoteFoxProUserId.Name = "txtRemoteFoxProUserId";
this.txtRemoteFoxProUserId.Size = new System.Drawing.Size(270, 21);
this.txtRemoteFoxProUserId.TabIndex = 30;
@@ -408,7 +422,7 @@
//
// txtFoxProPwd
//
- this.txtFoxProPwd.Location = new System.Drawing.Point(113, 117);
+ this.txtFoxProPwd.Location = new System.Drawing.Point(115, 108);
this.txtFoxProPwd.Name = "txtFoxProPwd";
this.txtFoxProPwd.PasswordChar = '*';
this.txtFoxProPwd.Size = new System.Drawing.Size(270, 21);
@@ -416,7 +430,7 @@
//
// txtFoxProUserId
//
- this.txtFoxProUserId.Location = new System.Drawing.Point(113, 81);
+ this.txtFoxProUserId.Location = new System.Drawing.Point(115, 79);
this.txtFoxProUserId.Name = "txtFoxProUserId";
this.txtFoxProUserId.Size = new System.Drawing.Size(270, 21);
this.txtFoxProUserId.TabIndex = 27;
@@ -424,7 +438,7 @@
// label32
//
this.label32.AutoSize = true;
- this.label32.Location = new System.Drawing.Point(69, 121);
+ this.label32.Location = new System.Drawing.Point(69, 112);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(41, 12);
this.label32.TabIndex = 33;
@@ -433,7 +447,7 @@
// label33
//
this.label33.AutoSize = true;
- this.label33.Location = new System.Drawing.Point(57, 85);
+ this.label33.Location = new System.Drawing.Point(57, 83);
this.label33.Name = "label33";
this.label33.Size = new System.Drawing.Size(53, 12);
this.label33.TabIndex = 32;
@@ -441,7 +455,7 @@
//
// btnFileOpenFoxPro
//
- this.btnFileOpenFoxPro.Location = new System.Drawing.Point(389, 44);
+ this.btnFileOpenFoxPro.Location = new System.Drawing.Point(392, 49);
this.btnFileOpenFoxPro.Name = "btnFileOpenFoxPro";
this.btnFileOpenFoxPro.Size = new System.Drawing.Size(60, 23);
this.btnFileOpenFoxPro.TabIndex = 28;
@@ -452,15 +466,15 @@
// label34
//
this.label34.AutoSize = true;
- this.label34.Location = new System.Drawing.Point(33, 48);
+ this.label34.Location = new System.Drawing.Point(69, 54);
this.label34.Name = "label34";
- this.label34.Size = new System.Drawing.Size(77, 12);
+ this.label34.Size = new System.Drawing.Size(41, 12);
this.label34.TabIndex = 25;
- this.label34.Text = "文件夹路径:";
+ this.label34.Text = "路径:";
//
// txtFoxProFolder
//
- this.txtFoxProFolder.Location = new System.Drawing.Point(113, 45);
+ this.txtFoxProFolder.Location = new System.Drawing.Point(115, 50);
this.txtFoxProFolder.Name = "txtFoxProFolder";
this.txtFoxProFolder.Size = new System.Drawing.Size(270, 21);
this.txtFoxProFolder.TabIndex = 26;
@@ -483,7 +497,7 @@
this.tabAccess.Location = new System.Drawing.Point(4, 22);
this.tabAccess.Name = "tabAccess";
this.tabAccess.Padding = new System.Windows.Forms.Padding(3);
- this.tabAccess.Size = new System.Drawing.Size(482, 230);
+ this.tabAccess.Size = new System.Drawing.Size(667, 356);
this.tabAccess.TabIndex = 1;
this.tabAccess.Text = "Access";
this.tabAccess.UseVisualStyleBackColor = true;
@@ -491,7 +505,7 @@
// label21
//
this.label21.AutoSize = true;
- this.label21.Location = new System.Drawing.Point(43, 18);
+ this.label21.Location = new System.Drawing.Point(45, 26);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(65, 12);
this.label21.TabIndex = 23;
@@ -500,7 +514,7 @@
// cbxAccessRemote
//
this.cbxAccessRemote.AutoSize = true;
- this.cbxAccessRemote.Location = new System.Drawing.Point(111, 17);
+ this.cbxAccessRemote.Location = new System.Drawing.Point(116, 24);
this.cbxAccessRemote.Name = "cbxAccessRemote";
this.cbxAccessRemote.Size = new System.Drawing.Size(36, 16);
this.cbxAccessRemote.TabIndex = 7;
@@ -511,7 +525,7 @@
// lblAccessRemotePwd
//
this.lblAccessRemotePwd.AutoSize = true;
- this.lblAccessRemotePwd.Location = new System.Drawing.Point(43, 191);
+ this.lblAccessRemotePwd.Location = new System.Drawing.Point(45, 141);
this.lblAccessRemotePwd.Name = "lblAccessRemotePwd";
this.lblAccessRemotePwd.Size = new System.Drawing.Size(65, 12);
this.lblAccessRemotePwd.TabIndex = 20;
@@ -520,7 +534,7 @@
//
// txtAccessRemotePwd
//
- this.txtAccessRemotePwd.Location = new System.Drawing.Point(111, 188);
+ this.txtAccessRemotePwd.Location = new System.Drawing.Point(115, 137);
this.txtAccessRemotePwd.Name = "txtAccessRemotePwd";
this.txtAccessRemotePwd.PasswordChar = '*';
this.txtAccessRemotePwd.Size = new System.Drawing.Size(270, 21);
@@ -530,7 +544,7 @@
// lblAccessRemoteUser
//
this.lblAccessRemoteUser.AutoSize = true;
- this.lblAccessRemoteUser.Location = new System.Drawing.Point(31, 154);
+ this.lblAccessRemoteUser.Location = new System.Drawing.Point(33, 112);
this.lblAccessRemoteUser.Name = "lblAccessRemoteUser";
this.lblAccessRemoteUser.Size = new System.Drawing.Size(77, 12);
this.lblAccessRemoteUser.TabIndex = 18;
@@ -539,7 +553,7 @@
//
// txtAccessRemoteUser
//
- this.txtAccessRemoteUser.Location = new System.Drawing.Point(111, 151);
+ this.txtAccessRemoteUser.Location = new System.Drawing.Point(115, 108);
this.txtAccessRemoteUser.Name = "txtAccessRemoteUser";
this.txtAccessRemoteUser.Size = new System.Drawing.Size(270, 21);
this.txtAccessRemoteUser.TabIndex = 11;
@@ -547,7 +561,7 @@
//
// txtAceessPwd
//
- this.txtAceessPwd.Location = new System.Drawing.Point(111, 115);
+ this.txtAceessPwd.Location = new System.Drawing.Point(115, 79);
this.txtAceessPwd.Name = "txtAceessPwd";
this.txtAceessPwd.PasswordChar = '*';
this.txtAceessPwd.Size = new System.Drawing.Size(270, 21);
@@ -555,15 +569,16 @@
//
// txtAccessUser
//
- this.txtAccessUser.Location = new System.Drawing.Point(111, 79);
+ this.txtAccessUser.Location = new System.Drawing.Point(116, 203);
this.txtAccessUser.Name = "txtAccessUser";
this.txtAccessUser.Size = new System.Drawing.Size(270, 21);
this.txtAccessUser.TabIndex = 9;
+ this.txtAccessUser.Visible = false;
//
// label15
//
this.label15.AutoSize = true;
- this.label15.Location = new System.Drawing.Point(67, 119);
+ this.label15.Location = new System.Drawing.Point(69, 83);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(41, 12);
this.label15.TabIndex = 15;
@@ -572,15 +587,16 @@
// label16
//
this.label16.AutoSize = true;
- this.label16.Location = new System.Drawing.Point(55, 83);
+ this.label16.Location = new System.Drawing.Point(58, 207);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(53, 12);
this.label16.TabIndex = 14;
this.label16.Text = "用户名:";
+ this.label16.Visible = false;
//
// btnOpenFileAccess
//
- this.btnOpenFileAccess.Location = new System.Drawing.Point(387, 42);
+ this.btnOpenFileAccess.Location = new System.Drawing.Point(392, 49);
this.btnOpenFileAccess.Name = "btnOpenFileAccess";
this.btnOpenFileAccess.Size = new System.Drawing.Size(60, 23);
this.btnOpenFileAccess.TabIndex = 9;
@@ -591,7 +607,7 @@
// label4
//
this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(67, 47);
+ this.label4.Location = new System.Drawing.Point(69, 54);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 7;
@@ -599,7 +615,7 @@
//
// txtAccessPath
//
- this.txtAccessPath.Location = new System.Drawing.Point(111, 43);
+ this.txtAccessPath.Location = new System.Drawing.Point(115, 50);
this.txtAccessPath.Name = "txtAccessPath";
this.txtAccessPath.Size = new System.Drawing.Size(270, 21);
this.txtAccessPath.TabIndex = 8;
@@ -621,7 +637,7 @@
this.tabSQLite.Controls.Add(this.txtSqlitePath);
this.tabSQLite.Location = new System.Drawing.Point(4, 22);
this.tabSQLite.Name = "tabSQLite";
- this.tabSQLite.Size = new System.Drawing.Size(482, 230);
+ this.tabSQLite.Size = new System.Drawing.Size(667, 356);
this.tabSQLite.TabIndex = 2;
this.tabSQLite.Text = "SQLLite";
this.tabSQLite.UseVisualStyleBackColor = true;
@@ -629,7 +645,7 @@
// label25
//
this.label25.AutoSize = true;
- this.label25.Location = new System.Drawing.Point(39, 18);
+ this.label25.Location = new System.Drawing.Point(45, 26);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(65, 12);
this.label25.TabIndex = 27;
@@ -638,7 +654,7 @@
// cbxSqliteRemote
//
this.cbxSqliteRemote.AutoSize = true;
- this.cbxSqliteRemote.Location = new System.Drawing.Point(107, 17);
+ this.cbxSqliteRemote.Location = new System.Drawing.Point(116, 24);
this.cbxSqliteRemote.Name = "cbxSqliteRemote";
this.cbxSqliteRemote.Size = new System.Drawing.Size(36, 16);
this.cbxSqliteRemote.TabIndex = 7;
@@ -649,7 +665,7 @@
// lblSqliteRemotePwd
//
this.lblSqliteRemotePwd.AutoSize = true;
- this.lblSqliteRemotePwd.Location = new System.Drawing.Point(38, 195);
+ this.lblSqliteRemotePwd.Location = new System.Drawing.Point(45, 141);
this.lblSqliteRemotePwd.Name = "lblSqliteRemotePwd";
this.lblSqliteRemotePwd.Size = new System.Drawing.Size(65, 12);
this.lblSqliteRemotePwd.TabIndex = 24;
@@ -658,7 +674,7 @@
//
// txtSqliteRemotePwd
//
- this.txtSqliteRemotePwd.Location = new System.Drawing.Point(106, 192);
+ this.txtSqliteRemotePwd.Location = new System.Drawing.Point(115, 137);
this.txtSqliteRemotePwd.Name = "txtSqliteRemotePwd";
this.txtSqliteRemotePwd.PasswordChar = '*';
this.txtSqliteRemotePwd.Size = new System.Drawing.Size(270, 21);
@@ -668,7 +684,7 @@
// lblSqliteRemoteUser
//
this.lblSqliteRemoteUser.AutoSize = true;
- this.lblSqliteRemoteUser.Location = new System.Drawing.Point(26, 158);
+ this.lblSqliteRemoteUser.Location = new System.Drawing.Point(33, 112);
this.lblSqliteRemoteUser.Name = "lblSqliteRemoteUser";
this.lblSqliteRemoteUser.Size = new System.Drawing.Size(77, 12);
this.lblSqliteRemoteUser.TabIndex = 22;
@@ -677,7 +693,7 @@
//
// txtSqliteRemoteUser
//
- this.txtSqliteRemoteUser.Location = new System.Drawing.Point(106, 155);
+ this.txtSqliteRemoteUser.Location = new System.Drawing.Point(115, 108);
this.txtSqliteRemoteUser.Name = "txtSqliteRemoteUser";
this.txtSqliteRemoteUser.Size = new System.Drawing.Size(270, 21);
this.txtSqliteRemoteUser.TabIndex = 23;
@@ -685,7 +701,7 @@
//
// txtSqlitePwd
//
- this.txtSqlitePwd.Location = new System.Drawing.Point(106, 118);
+ this.txtSqlitePwd.Location = new System.Drawing.Point(115, 79);
this.txtSqlitePwd.Name = "txtSqlitePwd";
this.txtSqlitePwd.PasswordChar = '*';
this.txtSqlitePwd.Size = new System.Drawing.Size(270, 21);
@@ -693,15 +709,16 @@
//
// txtSqliteUser
//
- this.txtSqliteUser.Location = new System.Drawing.Point(106, 82);
+ this.txtSqliteUser.Location = new System.Drawing.Point(115, 193);
this.txtSqliteUser.Name = "txtSqliteUser";
this.txtSqliteUser.Size = new System.Drawing.Size(270, 21);
this.txtSqliteUser.TabIndex = 12;
+ this.txtSqliteUser.Visible = false;
//
// label7
//
this.label7.AutoSize = true;
- this.label7.Location = new System.Drawing.Point(62, 122);
+ this.label7.Location = new System.Drawing.Point(69, 83);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(41, 12);
this.label7.TabIndex = 11;
@@ -710,15 +727,16 @@
// label6
//
this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(51, 86);
+ this.label6.Location = new System.Drawing.Point(57, 197);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(53, 12);
this.label6.TabIndex = 10;
this.label6.Text = "用户名:";
+ this.label6.Visible = false;
//
// btnOpenFileSQLite
//
- this.btnOpenFileSQLite.Location = new System.Drawing.Point(382, 44);
+ this.btnOpenFileSQLite.Location = new System.Drawing.Point(392, 49);
this.btnOpenFileSQLite.Name = "btnOpenFileSQLite";
this.btnOpenFileSQLite.Size = new System.Drawing.Size(60, 23);
this.btnOpenFileSQLite.TabIndex = 9;
@@ -729,7 +747,7 @@
// label5
//
this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(62, 50);
+ this.label5.Location = new System.Drawing.Point(69, 54);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(41, 12);
this.label5.TabIndex = 7;
@@ -737,15 +755,15 @@
//
// txtSqlitePath
//
- this.txtSqlitePath.Location = new System.Drawing.Point(106, 46);
+ this.txtSqlitePath.Location = new System.Drawing.Point(115, 50);
this.txtSqlitePath.Name = "txtSqlitePath";
this.txtSqlitePath.Size = new System.Drawing.Size(270, 21);
this.txtSqlitePath.TabIndex = 8;
//
// tabSQLServer
//
- this.tabSQLServer.Controls.Add(this.txtSqlServerConnect);
- this.tabSQLServer.Controls.Add(this.lblSqlConnection);
+ this.tabSQLServer.Controls.Add(this.txtSqlServerPort);
+ this.tabSQLServer.Controls.Add(this.lblSqlPort);
this.tabSQLServer.Controls.Add(this.btnTestSQLLink);
this.tabSQLServer.Controls.Add(this.txtSqlServerName);
this.tabSQLServer.Controls.Add(this.txtSqlServerHost);
@@ -757,14 +775,31 @@
this.tabSQLServer.Controls.Add(this.label14);
this.tabSQLServer.Location = new System.Drawing.Point(4, 22);
this.tabSQLServer.Name = "tabSQLServer";
- this.tabSQLServer.Size = new System.Drawing.Size(482, 230);
+ this.tabSQLServer.Size = new System.Drawing.Size(667, 356);
this.tabSQLServer.TabIndex = 3;
this.tabSQLServer.Text = "SQL Server";
this.tabSQLServer.UseVisualStyleBackColor = true;
//
+ // txtSqlServerPort
+ //
+ this.txtSqlServerPort.Location = new System.Drawing.Point(86, 147);
+ this.txtSqlServerPort.Name = "txtSqlServerPort";
+ this.txtSqlServerPort.PasswordChar = '*';
+ this.txtSqlServerPort.Size = new System.Drawing.Size(316, 21);
+ this.txtSqlServerPort.TabIndex = 34;
+ //
+ // lblSqlPort
+ //
+ this.lblSqlPort.AutoSize = true;
+ this.lblSqlPort.Location = new System.Drawing.Point(41, 151);
+ this.lblSqlPort.Name = "lblSqlPort";
+ this.lblSqlPort.Size = new System.Drawing.Size(41, 12);
+ this.lblSqlPort.TabIndex = 33;
+ this.lblSqlPort.Text = "端口:";
+ //
// btnTestSQLLink
//
- this.btnTestSQLLink.Location = new System.Drawing.Point(383, 167);
+ this.btnTestSQLLink.Location = new System.Drawing.Point(374, 180);
this.btnTestSQLLink.Name = "btnTestSQLLink";
this.btnTestSQLLink.Size = new System.Drawing.Size(79, 24);
this.btnTestSQLLink.TabIndex = 32;
@@ -774,14 +809,14 @@
//
// txtSqlServerName
//
- this.txtSqlServerName.Location = new System.Drawing.Point(74, 55);
+ this.txtSqlServerName.Location = new System.Drawing.Point(86, 60);
this.txtSqlServerName.Name = "txtSqlServerName";
this.txtSqlServerName.Size = new System.Drawing.Size(316, 21);
this.txtSqlServerName.TabIndex = 29;
//
// txtSqlServerHost
//
- this.txtSqlServerHost.Location = new System.Drawing.Point(74, 19);
+ this.txtSqlServerHost.Location = new System.Drawing.Point(86, 31);
this.txtSqlServerHost.Name = "txtSqlServerHost";
this.txtSqlServerHost.Size = new System.Drawing.Size(316, 21);
this.txtSqlServerHost.TabIndex = 28;
@@ -789,7 +824,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(6, 58);
+ this.label2.Location = new System.Drawing.Point(17, 64);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 27;
@@ -798,7 +833,7 @@
// label12
//
this.label12.AutoSize = true;
- this.label12.Location = new System.Drawing.Point(18, 22);
+ this.label12.Location = new System.Drawing.Point(29, 35);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(53, 12);
this.label12.TabIndex = 26;
@@ -806,7 +841,7 @@
//
// txtSqlServerPwd
//
- this.txtSqlServerPwd.Location = new System.Drawing.Point(74, 128);
+ this.txtSqlServerPwd.Location = new System.Drawing.Point(86, 118);
this.txtSqlServerPwd.Name = "txtSqlServerPwd";
this.txtSqlServerPwd.PasswordChar = '*';
this.txtSqlServerPwd.Size = new System.Drawing.Size(316, 21);
@@ -814,7 +849,7 @@
//
// txtSqlServerUser
//
- this.txtSqlServerUser.Location = new System.Drawing.Point(74, 91);
+ this.txtSqlServerUser.Location = new System.Drawing.Point(86, 89);
this.txtSqlServerUser.Name = "txtSqlServerUser";
this.txtSqlServerUser.Size = new System.Drawing.Size(316, 21);
this.txtSqlServerUser.TabIndex = 30;
@@ -822,7 +857,7 @@
// label13
//
this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(29, 132);
+ this.label13.Location = new System.Drawing.Point(41, 122);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(41, 12);
this.label13.TabIndex = 23;
@@ -831,7 +866,7 @@
// label14
//
this.label14.AutoSize = true;
- this.label14.Location = new System.Drawing.Point(17, 95);
+ this.label14.Location = new System.Drawing.Point(29, 93);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(53, 12);
this.label14.TabIndex = 22;
@@ -852,14 +887,14 @@
this.tabMySql.Controls.Add(this.label23);
this.tabMySql.Location = new System.Drawing.Point(4, 22);
this.tabMySql.Name = "tabMySql";
- this.tabMySql.Size = new System.Drawing.Size(482, 230);
+ this.tabMySql.Size = new System.Drawing.Size(667, 356);
this.tabMySql.TabIndex = 4;
this.tabMySql.Text = "MySql";
this.tabMySql.UseVisualStyleBackColor = true;
//
// txtMySqlPort
//
- this.txtMySqlPort.Location = new System.Drawing.Point(86, 158);
+ this.txtMySqlPort.Location = new System.Drawing.Point(86, 147);
this.txtMySqlPort.Name = "txtMySqlPort";
this.txtMySqlPort.PasswordChar = '*';
this.txtMySqlPort.Size = new System.Drawing.Size(316, 21);
@@ -868,7 +903,7 @@
// label17
//
this.label17.AutoSize = true;
- this.label17.Location = new System.Drawing.Point(41, 162);
+ this.label17.Location = new System.Drawing.Point(41, 151);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(41, 12);
this.label17.TabIndex = 34;
@@ -876,7 +911,7 @@
//
// btnMySqlTest
//
- this.btnMySqlTest.Location = new System.Drawing.Point(374, 194);
+ this.btnMySqlTest.Location = new System.Drawing.Point(374, 180);
this.btnMySqlTest.Name = "btnMySqlTest";
this.btnMySqlTest.Size = new System.Drawing.Size(79, 24);
this.btnMySqlTest.TabIndex = 36;
@@ -886,14 +921,14 @@
//
// txtMySqlServer
//
- this.txtMySqlServer.Location = new System.Drawing.Point(86, 49);
+ this.txtMySqlServer.Location = new System.Drawing.Point(86, 60);
this.txtMySqlServer.Name = "txtMySqlServer";
this.txtMySqlServer.Size = new System.Drawing.Size(316, 21);
this.txtMySqlServer.TabIndex = 32;
//
// txtMySqlHost
//
- this.txtMySqlHost.Location = new System.Drawing.Point(86, 13);
+ this.txtMySqlHost.Location = new System.Drawing.Point(86, 31);
this.txtMySqlHost.Name = "txtMySqlHost";
this.txtMySqlHost.Size = new System.Drawing.Size(316, 21);
this.txtMySqlHost.TabIndex = 31;
@@ -901,7 +936,7 @@
// label18
//
this.label18.AutoSize = true;
- this.label18.Location = new System.Drawing.Point(41, 53);
+ this.label18.Location = new System.Drawing.Point(41, 64);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(41, 12);
this.label18.TabIndex = 30;
@@ -910,7 +945,7 @@
// label19
//
this.label19.AutoSize = true;
- this.label19.Location = new System.Drawing.Point(30, 16);
+ this.label19.Location = new System.Drawing.Point(29, 35);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(53, 12);
this.label19.TabIndex = 29;
@@ -918,7 +953,7 @@
//
// txtMySqlPwd
//
- this.txtMySqlPwd.Location = new System.Drawing.Point(86, 122);
+ this.txtMySqlPwd.Location = new System.Drawing.Point(86, 118);
this.txtMySqlPwd.Name = "txtMySqlPwd";
this.txtMySqlPwd.PasswordChar = '*';
this.txtMySqlPwd.Size = new System.Drawing.Size(316, 21);
@@ -926,7 +961,7 @@
//
// txtMySqlUser
//
- this.txtMySqlUser.Location = new System.Drawing.Point(86, 85);
+ this.txtMySqlUser.Location = new System.Drawing.Point(86, 89);
this.txtMySqlUser.Name = "txtMySqlUser";
this.txtMySqlUser.Size = new System.Drawing.Size(316, 21);
this.txtMySqlUser.TabIndex = 33;
@@ -934,7 +969,7 @@
// label20
//
this.label20.AutoSize = true;
- this.label20.Location = new System.Drawing.Point(41, 126);
+ this.label20.Location = new System.Drawing.Point(41, 122);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(41, 12);
this.label20.TabIndex = 26;
@@ -943,7 +978,7 @@
// label23
//
this.label23.AutoSize = true;
- this.label23.Location = new System.Drawing.Point(29, 89);
+ this.label23.Location = new System.Drawing.Point(29, 93);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(53, 12);
this.label23.TabIndex = 25;
@@ -965,7 +1000,7 @@
this.tabOracle.Location = new System.Drawing.Point(4, 22);
this.tabOracle.Name = "tabOracle";
this.tabOracle.Padding = new System.Windows.Forms.Padding(3);
- this.tabOracle.Size = new System.Drawing.Size(482, 230);
+ this.tabOracle.Size = new System.Drawing.Size(667, 356);
this.tabOracle.TabIndex = 5;
this.tabOracle.Text = "Oracle";
this.tabOracle.UseVisualStyleBackColor = true;
@@ -980,7 +1015,7 @@
// label37
//
this.label37.AutoSize = true;
- this.label37.Location = new System.Drawing.Point(30, 36);
+ this.label37.Location = new System.Drawing.Point(29, 35);
this.label37.Name = "label37";
this.label37.Size = new System.Drawing.Size(53, 12);
this.label37.TabIndex = 48;
@@ -988,7 +1023,7 @@
//
// txtOraclePort
//
- this.txtOraclePort.Location = new System.Drawing.Point(86, 146);
+ this.txtOraclePort.Location = new System.Drawing.Point(86, 147);
this.txtOraclePort.Name = "txtOraclePort";
this.txtOraclePort.PasswordChar = '*';
this.txtOraclePort.Size = new System.Drawing.Size(316, 21);
@@ -997,7 +1032,7 @@
// label24
//
this.label24.AutoSize = true;
- this.label24.Location = new System.Drawing.Point(41, 150);
+ this.label24.Location = new System.Drawing.Point(41, 151);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(41, 12);
this.label24.TabIndex = 44;
@@ -1015,7 +1050,7 @@
//
// txtOracleSource
//
- this.txtOracleSource.Location = new System.Drawing.Point(86, 59);
+ this.txtOracleSource.Location = new System.Drawing.Point(86, 60);
this.txtOracleSource.Name = "txtOracleSource";
this.txtOracleSource.Size = new System.Drawing.Size(316, 21);
this.txtOracleSource.TabIndex = 42;
@@ -1023,7 +1058,7 @@
// label26
//
this.label26.AutoSize = true;
- this.label26.Location = new System.Drawing.Point(42, 64);
+ this.label26.Location = new System.Drawing.Point(41, 64);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(41, 12);
this.label26.TabIndex = 40;
@@ -1031,7 +1066,7 @@
//
// txtOraclePwd
//
- this.txtOraclePwd.Location = new System.Drawing.Point(86, 116);
+ this.txtOraclePwd.Location = new System.Drawing.Point(86, 118);
this.txtOraclePwd.Name = "txtOraclePwd";
this.txtOraclePwd.PasswordChar = '*';
this.txtOraclePwd.Size = new System.Drawing.Size(316, 21);
@@ -1039,7 +1074,7 @@
//
// txtOracleUserId
//
- this.txtOracleUserId.Location = new System.Drawing.Point(86, 87);
+ this.txtOracleUserId.Location = new System.Drawing.Point(86, 89);
this.txtOracleUserId.Name = "txtOracleUserId";
this.txtOracleUserId.Size = new System.Drawing.Size(316, 21);
this.txtOracleUserId.TabIndex = 43;
@@ -1047,7 +1082,7 @@
// label28
//
this.label28.AutoSize = true;
- this.label28.Location = new System.Drawing.Point(41, 120);
+ this.label28.Location = new System.Drawing.Point(41, 122);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(41, 12);
this.label28.TabIndex = 38;
@@ -1056,7 +1091,7 @@
// label29
//
this.label29.AutoSize = true;
- this.label29.Location = new System.Drawing.Point(30, 92);
+ this.label29.Location = new System.Drawing.Point(29, 93);
this.label29.Name = "label29";
this.label29.Size = new System.Drawing.Size(53, 12);
this.label29.TabIndex = 37;
@@ -1076,7 +1111,7 @@
this.tabTxt.Location = new System.Drawing.Point(4, 22);
this.tabTxt.Name = "tabTxt";
this.tabTxt.Padding = new System.Windows.Forms.Padding(3);
- this.tabTxt.Size = new System.Drawing.Size(482, 230);
+ this.tabTxt.Size = new System.Drawing.Size(667, 356);
this.tabTxt.TabIndex = 7;
this.tabTxt.Text = "TXT";
this.tabTxt.UseVisualStyleBackColor = true;
@@ -1084,7 +1119,7 @@
// label30
//
this.label30.AutoSize = true;
- this.label30.Location = new System.Drawing.Point(41, 21);
+ this.label30.Location = new System.Drawing.Point(46, 27);
this.label30.Name = "label30";
this.label30.Size = new System.Drawing.Size(65, 12);
this.label30.TabIndex = 33;
@@ -1093,7 +1128,7 @@
// lblTxtRemoteUserPwd
//
this.lblTxtRemoteUserPwd.AutoSize = true;
- this.lblTxtRemoteUserPwd.Location = new System.Drawing.Point(41, 129);
+ this.lblTxtRemoteUserPwd.Location = new System.Drawing.Point(46, 113);
this.lblTxtRemoteUserPwd.Name = "lblTxtRemoteUserPwd";
this.lblTxtRemoteUserPwd.Size = new System.Drawing.Size(65, 12);
this.lblTxtRemoteUserPwd.TabIndex = 31;
@@ -1102,7 +1137,7 @@
//
// txtRemoteTxtPwd
//
- this.txtRemoteTxtPwd.Location = new System.Drawing.Point(109, 126);
+ this.txtRemoteTxtPwd.Location = new System.Drawing.Point(116, 108);
this.txtRemoteTxtPwd.Name = "txtRemoteTxtPwd";
this.txtRemoteTxtPwd.PasswordChar = '*';
this.txtRemoteTxtPwd.Size = new System.Drawing.Size(270, 21);
@@ -1112,7 +1147,7 @@
// lblTxtRemoteUserId
//
this.lblTxtRemoteUserId.AutoSize = true;
- this.lblTxtRemoteUserId.Location = new System.Drawing.Point(29, 92);
+ this.lblTxtRemoteUserId.Location = new System.Drawing.Point(34, 83);
this.lblTxtRemoteUserId.Name = "lblTxtRemoteUserId";
this.lblTxtRemoteUserId.Size = new System.Drawing.Size(77, 12);
this.lblTxtRemoteUserId.TabIndex = 30;
@@ -1121,7 +1156,7 @@
//
// txtRemoteTxtUserId
//
- this.txtRemoteTxtUserId.Location = new System.Drawing.Point(109, 89);
+ this.txtRemoteTxtUserId.Location = new System.Drawing.Point(116, 79);
this.txtRemoteTxtUserId.Name = "txtRemoteTxtUserId";
this.txtRemoteTxtUserId.Size = new System.Drawing.Size(270, 21);
this.txtRemoteTxtUserId.TabIndex = 28;
@@ -1130,7 +1165,7 @@
// cbxRemoteTxt
//
this.cbxRemoteTxt.AutoSize = true;
- this.cbxRemoteTxt.Location = new System.Drawing.Point(109, 20);
+ this.cbxRemoteTxt.Location = new System.Drawing.Point(118, 25);
this.cbxRemoteTxt.Name = "cbxRemoteTxt";
this.cbxRemoteTxt.Size = new System.Drawing.Size(36, 16);
this.cbxRemoteTxt.TabIndex = 25;
@@ -1140,7 +1175,7 @@
//
// btnOpenFileTxt
//
- this.btnOpenFileTxt.Location = new System.Drawing.Point(385, 51);
+ this.btnOpenFileTxt.Location = new System.Drawing.Point(392, 49);
this.btnOpenFileTxt.Name = "btnOpenFileTxt";
this.btnOpenFileTxt.Size = new System.Drawing.Size(60, 23);
this.btnOpenFileTxt.TabIndex = 29;
@@ -1151,7 +1186,7 @@
// label36
//
this.label36.AutoSize = true;
- this.label36.Location = new System.Drawing.Point(65, 56);
+ this.label36.Location = new System.Drawing.Point(69, 54);
this.label36.Name = "label36";
this.label36.Size = new System.Drawing.Size(41, 12);
this.label36.TabIndex = 26;
@@ -1159,52 +1194,95 @@
//
// txtInportTxt
//
- this.txtInportTxt.Location = new System.Drawing.Point(109, 52);
+ this.txtInportTxt.Location = new System.Drawing.Point(115, 50);
this.txtInportTxt.Name = "txtInportTxt";
this.txtInportTxt.Size = new System.Drawing.Size(270, 21);
this.txtInportTxt.TabIndex = 27;
//
// tabCnas
//
- this.tabCnas.Controls.Add(this.txtPort);
- this.tabCnas.Controls.Add(this.label1);
- this.tabCnas.Controls.Add(this.btnCNASTestLink);
- this.tabCnas.Controls.Add(this.txtDBName);
- this.tabCnas.Controls.Add(this.txtDBHost);
- this.tabCnas.Controls.Add(this.label11);
- this.tabCnas.Controls.Add(this.label10);
- this.tabCnas.Controls.Add(this.txtDBPwd);
- this.tabCnas.Controls.Add(this.txtDBUser);
- this.tabCnas.Controls.Add(this.label8);
- this.tabCnas.Controls.Add(this.label9);
+ this.tabCnas.Controls.Add(this.groupBox2);
+ this.tabCnas.Controls.Add(this.groupBox1);
this.tabCnas.Location = new System.Drawing.Point(4, 22);
this.tabCnas.Name = "tabCnas";
this.tabCnas.Padding = new System.Windows.Forms.Padding(3);
- this.tabCnas.Size = new System.Drawing.Size(496, 262);
+ this.tabCnas.Size = new System.Drawing.Size(681, 388);
this.tabCnas.TabIndex = 1;
this.tabCnas.Text = "目标数据库";
this.tabCnas.UseVisualStyleBackColor = true;
//
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.txtDBHost);
+ this.groupBox2.Controls.Add(this.label9);
+ this.groupBox2.Controls.Add(this.txtPort);
+ this.groupBox2.Controls.Add(this.label8);
+ this.groupBox2.Controls.Add(this.label1);
+ this.groupBox2.Controls.Add(this.txtDBUser);
+ this.groupBox2.Controls.Add(this.btnCNASTestLink);
+ this.groupBox2.Controls.Add(this.txtDBPwd);
+ this.groupBox2.Controls.Add(this.txtDBName);
+ this.groupBox2.Controls.Add(this.label10);
+ this.groupBox2.Controls.Add(this.label11);
+ this.groupBox2.Location = new System.Drawing.Point(18, 75);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(461, 181);
+ this.groupBox2.TabIndex = 29;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "连接";
+ //
+ // txtDBHost
+ //
+ this.txtDBHost.Location = new System.Drawing.Point(88, 27);
+ this.txtDBHost.Name = "txtDBHost";
+ this.txtDBHost.Size = new System.Drawing.Size(260, 21);
+ this.txtDBHost.TabIndex = 20;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Location = new System.Drawing.Point(30, 89);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(53, 12);
+ this.label9.TabIndex = 14;
+ this.label9.Text = "用户名:";
+ //
// txtPort
//
- this.txtPort.Location = new System.Drawing.Point(96, 172);
+ this.txtPort.Location = new System.Drawing.Point(88, 143);
this.txtPort.Name = "txtPort";
this.txtPort.PasswordChar = '*';
- this.txtPort.Size = new System.Drawing.Size(316, 21);
+ this.txtPort.Size = new System.Drawing.Size(260, 21);
this.txtPort.TabIndex = 24;
//
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Location = new System.Drawing.Point(42, 119);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(41, 12);
+ this.label8.TabIndex = 15;
+ this.label8.Text = "密码:";
+ //
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(51, 176);
+ this.label1.Location = new System.Drawing.Point(41, 148);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 23;
this.label1.Text = "端口:";
//
+ // txtDBUser
+ //
+ this.txtDBUser.Location = new System.Drawing.Point(88, 85);
+ this.txtDBUser.Name = "txtDBUser";
+ this.txtDBUser.Size = new System.Drawing.Size(260, 21);
+ this.txtDBUser.TabIndex = 22;
+ //
// btnCNASTestLink
//
- this.btnCNASTestLink.Location = new System.Drawing.Point(384, 208);
+ this.btnCNASTestLink.Location = new System.Drawing.Point(368, 142);
this.btnCNASTestLink.Name = "btnCNASTestLink";
this.btnCNASTestLink.Size = new System.Drawing.Size(79, 24);
this.btnCNASTestLink.TabIndex = 25;
@@ -1212,83 +1290,92 @@
this.btnCNASTestLink.UseVisualStyleBackColor = true;
this.btnCNASTestLink.Click += new System.EventHandler(this.btnCNASTestLink_Click);
//
+ // txtDBPwd
+ //
+ this.txtDBPwd.Location = new System.Drawing.Point(88, 114);
+ this.txtDBPwd.Name = "txtDBPwd";
+ this.txtDBPwd.PasswordChar = '*';
+ this.txtDBPwd.Size = new System.Drawing.Size(260, 21);
+ this.txtDBPwd.TabIndex = 23;
+ //
// txtDBName
//
- this.txtDBName.Location = new System.Drawing.Point(96, 63);
+ this.txtDBName.Location = new System.Drawing.Point(88, 56);
this.txtDBName.Name = "txtDBName";
- this.txtDBName.Size = new System.Drawing.Size(316, 21);
+ this.txtDBName.Size = new System.Drawing.Size(260, 21);
this.txtDBName.TabIndex = 21;
//
- // txtDBHost
- //
- this.txtDBHost.Location = new System.Drawing.Point(96, 27);
- this.txtDBHost.Name = "txtDBHost";
- this.txtDBHost.Size = new System.Drawing.Size(316, 21);
- this.txtDBHost.TabIndex = 20;
- //
- // label11
- //
- this.label11.AutoSize = true;
- this.label11.Location = new System.Drawing.Point(51, 67);
- this.label11.Name = "label11";
- this.label11.Size = new System.Drawing.Size(41, 12);
- this.label11.TabIndex = 19;
- this.label11.Text = "实例:";
- //
// label10
//
this.label10.AutoSize = true;
- this.label10.Location = new System.Drawing.Point(40, 30);
+ this.label10.Location = new System.Drawing.Point(31, 30);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(53, 12);
this.label10.TabIndex = 18;
this.label10.Text = "服务器:";
//
- // txtDBPwd
- //
- this.txtDBPwd.Location = new System.Drawing.Point(96, 136);
- this.txtDBPwd.Name = "txtDBPwd";
- this.txtDBPwd.PasswordChar = '*';
- this.txtDBPwd.Size = new System.Drawing.Size(316, 21);
- this.txtDBPwd.TabIndex = 23;
- //
- // txtDBUser
- //
- this.txtDBUser.Location = new System.Drawing.Point(96, 99);
- this.txtDBUser.Name = "txtDBUser";
- this.txtDBUser.Size = new System.Drawing.Size(316, 21);
- this.txtDBUser.TabIndex = 22;
- //
- // label8
- //
- this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(51, 140);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(41, 12);
- this.label8.TabIndex = 15;
- this.label8.Text = "密码:";
+ // label11
//
- // label9
+ this.label11.AutoSize = true;
+ this.label11.Location = new System.Drawing.Point(42, 60);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(41, 12);
+ this.label11.TabIndex = 19;
+ this.label11.Text = "实例:";
//
- this.label9.AutoSize = true;
- this.label9.Location = new System.Drawing.Point(39, 103);
- this.label9.Name = "label9";
- this.label9.Size = new System.Drawing.Size(53, 12);
- this.label9.TabIndex = 14;
- this.label9.Text = "用户名:";
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.cbxTargetDBSelect);
+ this.groupBox1.Controls.Add(this.label31);
+ this.groupBox1.Location = new System.Drawing.Point(18, 14);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(461, 55);
+ this.groupBox1.TabIndex = 28;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "选择";
+ //
+ // cbxTargetDBSelect
+ //
+ this.cbxTargetDBSelect.FormattingEnabled = true;
+ this.cbxTargetDBSelect.Items.AddRange(new object[] {
+ "CNAS数据库",
+ "PLATFORM数据库"});
+ this.cbxTargetDBSelect.Location = new System.Drawing.Point(119, 20);
+ this.cbxTargetDBSelect.Name = "cbxTargetDBSelect";
+ this.cbxTargetDBSelect.Size = new System.Drawing.Size(120, 20);
+ this.cbxTargetDBSelect.TabIndex = 27;
+ this.cbxTargetDBSelect.SelectedIndexChanged += new System.EventHandler(this.cbxTargetDBSelect_SelectedIndexChanged);
+ //
+ // label31
+ //
+ this.label31.AutoSize = true;
+ this.label31.Location = new System.Drawing.Point(12, 23);
+ this.label31.Name = "label31";
+ this.label31.Size = new System.Drawing.Size(101, 12);
+ this.label31.TabIndex = 26;
+ this.label31.Text = "选择目标数据库:";
//
// pnlBottom
//
- this.pnlBottom.Controls.Add(this.btnOK);
+ this.pnlBottom.Controls.Add(this.pnlBtnRight);
this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pnlBottom.Location = new System.Drawing.Point(0, 298);
+ this.pnlBottom.Location = new System.Drawing.Point(0, 419);
this.pnlBottom.Name = "pnlBottom";
- this.pnlBottom.Size = new System.Drawing.Size(504, 42);
+ this.pnlBottom.Size = new System.Drawing.Size(689, 42);
this.pnlBottom.TabIndex = 3;
//
+ // pnlBtnRight
+ //
+ this.pnlBtnRight.Controls.Add(this.btnOK);
+ this.pnlBtnRight.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlBtnRight.Location = new System.Drawing.Point(548, 0);
+ this.pnlBtnRight.Name = "pnlBtnRight";
+ this.pnlBtnRight.Size = new System.Drawing.Size(141, 42);
+ this.pnlBtnRight.TabIndex = 1;
+ //
// btnOK
//
- this.btnOK.Location = new System.Drawing.Point(404, 6);
+ this.btnOK.Location = new System.Drawing.Point(25, 6);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(90, 30);
this.btnOK.TabIndex = 0;
@@ -1301,40 +1388,48 @@
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlTop.Location = new System.Drawing.Point(0, 0);
this.pnlTop.Name = "pnlTop";
- this.pnlTop.Size = new System.Drawing.Size(504, 10);
+ this.pnlTop.Size = new System.Drawing.Size(689, 5);
this.pnlTop.TabIndex = 2;
//
- // txtSqlServerConnect
+ // tabDam
+ //
+ this.tabDam.Location = new System.Drawing.Point(4, 22);
+ this.tabDam.Name = "tabDam";
+ this.tabDam.Size = new System.Drawing.Size(667, 356);
+ this.tabDam.TabIndex = 8;
+ this.tabDam.Text = "达梦";
+ this.tabDam.UseVisualStyleBackColor = true;
+ //
+ // tabJinc
//
- this.txtSqlServerConnect.Location = new System.Drawing.Point(87, 168);
- this.txtSqlServerConnect.Name = "txtSqlServerConnect";
- this.txtSqlServerConnect.PasswordChar = '*';
- this.txtSqlServerConnect.Size = new System.Drawing.Size(290, 21);
- this.txtSqlServerConnect.TabIndex = 34;
- this.txtSqlServerConnect.Visible = false;
+ this.tabJinc.Location = new System.Drawing.Point(4, 22);
+ this.tabJinc.Name = "tabJinc";
+ this.tabJinc.Size = new System.Drawing.Size(667, 356);
+ this.tabJinc.TabIndex = 9;
+ this.tabJinc.Text = "人大金仓";
+ this.tabJinc.UseVisualStyleBackColor = true;
//
- // lblSqlConnection
+ // tabPostgre
//
- this.lblSqlConnection.AutoSize = true;
- this.lblSqlConnection.Location = new System.Drawing.Point(7, 172);
- this.lblSqlConnection.Name = "lblSqlConnection";
- this.lblSqlConnection.Size = new System.Drawing.Size(77, 12);
- this.lblSqlConnection.TabIndex = 33;
- this.lblSqlConnection.Text = "连接字符串:";
- this.lblSqlConnection.Visible = false;
+ this.tabPostgre.Location = new System.Drawing.Point(4, 22);
+ this.tabPostgre.Name = "tabPostgre";
+ this.tabPostgre.Size = new System.Drawing.Size(667, 356);
+ this.tabPostgre.TabIndex = 10;
+ this.tabPostgre.Text = "PostgreSQL";
+ this.tabPostgre.UseVisualStyleBackColor = true;
//
// frmDatabaseParams
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(504, 340);
+ this.ClientSize = new System.Drawing.Size(689, 461);
this.Controls.Add(this.pnlAll);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmDatabaseParams";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "仪表数据库配置";
+ this.Text = "仪器数据库配置";
this.Load += new System.EventHandler(this.frmDatabaseParams_Load);
this.pnlAll.ResumeLayout(false);
this.pnlCenter.ResumeLayout(false);
@@ -1358,8 +1453,12 @@
this.tabTxt.ResumeLayout(false);
this.tabTxt.PerformLayout();
this.tabCnas.ResumeLayout(false);
- this.tabCnas.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
this.pnlBottom.ResumeLayout(false);
+ this.pnlBtnRight.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -1482,7 +1581,15 @@
private System.Windows.Forms.TextBox txtInportTxt;
private System.Windows.Forms.TextBox txtOracleHost;
private System.Windows.Forms.Label label37;
- private System.Windows.Forms.TextBox txtSqlServerConnect;
- private System.Windows.Forms.Label lblSqlConnection;
+ private System.Windows.Forms.TextBox txtSqlServerPort;
+ private System.Windows.Forms.Label lblSqlPort;
+ private System.Windows.Forms.ComboBox cbxTargetDBSelect;
+ private System.Windows.Forms.Label label31;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Panel pnlBtnRight;
+ private System.Windows.Forms.TabPage tabDam;
+ private System.Windows.Forms.TabPage tabJinc;
+ private System.Windows.Forms.TabPage tabPostgre;
}
}
\ No newline at end of file
diff --git a/CNAS_DBSync/frmDatabaseParams.cs b/CNAS_DBSync/frmDatabaseParams.cs
index 6a1ffdc..e2db149 100644
--- a/CNAS_DBSync/frmDatabaseParams.cs
+++ b/CNAS_DBSync/frmDatabaseParams.cs
@@ -18,8 +18,7 @@ namespace CNAS_DBSync
public partial class frmDatabaseParams : Form
{
public SyncInstrumentItemInfo syncInstrumentItem = new SyncInstrumentItemInfo(); //仪器信息项
- public Dictionary dictInstrument = new Dictionary();
- public DataBaseInfo dataBaseInfo = new DataBaseInfo(); //数据库
+ public Dictionary dictInstrument = new Dictionary();
public InstumentCodeHanlder InstrumentDelegate; //传递仪器编码委托
public InstrumentItemDataHanlder InstrumentItemData; //传递仪器项委托
private string strReadExcelMode = ""; //读取Excel数据模式
@@ -27,6 +26,7 @@ namespace CNAS_DBSync
private string strReadTxtMode = "";//读取Txt数据模式
private string strReadSqliteMode = ""; //读取sqlite数据模式
private string strReadAccessMode = ""; //读取Access数据模式
+ public DataBaseInfo targetDataBaseInfo = new DataBaseInfo(); //数据库
public SqlServerFormatConfig sqlServerFormat { get; set; }
@@ -43,6 +43,16 @@ namespace CNAS_DBSync
strReadAccessMode = FileOperation.GetFormatConfigData("AccessFormatConfig.xml").ReadAccessFileMode;
sqlServerFormat = FileOperation.GetFormatConfigData("SqlServerFormatConfig.xml");
+
+ if (GlobalCommonOperation.strStartWebApi == "1")
+ {
+ this.txtDBHost.Enabled = false;
+ this.txtDBName.Enabled = false;
+ this.txtDBUser.Enabled = false;
+ this.txtDBPwd.Enabled = false;
+ this.txtPort.Enabled = false;
+ btnCNASTestLink.Enabled = false;
+ }
}
private void frmDatabaseParams_Load(object sender, EventArgs e)
@@ -138,13 +148,20 @@ namespace CNAS_DBSync
}
//加载旧的CNAS数据库信息
- if (syncInstrumentItem.SyncTargetDBInfo == null)
+ if (syncInstrumentItem.SyncTargetDBInfo != null)
+ {
+ targetDataBaseInfo = syncInstrumentItem.SyncTargetDBInfo;
+ }
+ else
syncInstrumentItem.SyncTargetDBInfo = new DataBaseInfo();
- this.txtDBHost.Text = syncInstrumentItem.SyncTargetDBInfo.DBHost;
- this.txtDBName.Text = syncInstrumentItem.SyncTargetDBInfo.DBName;
- this.txtDBUser.Text = syncInstrumentItem.SyncTargetDBInfo.DBUser;
- this.txtDBPwd.Text = syncInstrumentItem.SyncTargetDBInfo.DBPwd;
- this.txtPort.Text= syncInstrumentItem.SyncTargetDBInfo.DBPort;
+
+ this.txtDBHost.Text = targetDataBaseInfo.DBHost;
+ this.txtDBName.Text = targetDataBaseInfo.DBName;
+ this.txtDBUser.Text = targetDataBaseInfo.DBUser;
+ this.txtDBPwd.Text = targetDataBaseInfo.DBPwd;
+ this.txtPort.Text= targetDataBaseInfo.DBPort;
+
+
}
private void btnOK_Click(object sender, EventArgs e)
@@ -236,11 +253,16 @@ namespace CNAS_DBSync
//dictInstrument = instrumentData.GetInstrumentData();
//目标库的信息
- syncInstrumentItem.SyncTargetDBInfo.DBHost = this.txtDBHost.Text.Trim();
- syncInstrumentItem.SyncTargetDBInfo.DBName = this.txtDBName.Text.Trim();
- syncInstrumentItem.SyncTargetDBInfo.DBUser = this.txtDBUser.Text.Trim();
- syncInstrumentItem.SyncTargetDBInfo.DBPwd = this.txtDBPwd.Text.Trim();
- syncInstrumentItem.SyncTargetDBInfo.DBPort = this.txtPort.Text.Trim();
+ if (GlobalCommonOperation.strStartWebApi != "1")
+ {
+ syncInstrumentItem.SyncTargetDBInfo.DBHost = this.txtDBHost.Text.Trim();
+ syncInstrumentItem.SyncTargetDBInfo.DBName = this.txtDBName.Text.Trim();
+ syncInstrumentItem.SyncTargetDBInfo.DBUser = this.txtDBUser.Text.Trim();
+ syncInstrumentItem.SyncTargetDBInfo.DBPwd = this.txtDBPwd.Text.Trim();
+ syncInstrumentItem.SyncTargetDBInfo.DBPort = this.txtPort.Text.Trim();
+ }
+ else
+ syncInstrumentItem.SyncTargetDBInfo = targetDataBaseInfo;
this.InstrumentDelegate(syncInstrumentItem);
//this.InstrumentItemData(dictInstrument);
@@ -582,7 +604,15 @@ namespace CNAS_DBSync
private void btnCNASTestLink_Click(object sender, EventArgs e)
{
- if(CnasDataOperationFact.CnasDataOperation().TestConnect(this.txtDBHost.Text.Trim(), this.txtDBName.Text.Trim(), this.txtDBUser.Text.Trim(), this.txtDBPwd.Text.Trim(),this.txtPort.Text.Trim()))
+ //this.txtDBHost.Text.Trim(), this.txtDBName.Text.Trim(), this.txtDBUser.Text.Trim(), this.txtDBPwd.Text.Trim(),this.txtPort.Text.Trim()
+ if (CnasDataOperationFact.CnasDataOperation().TestConnect(new DataBaseInfo()
+ {
+ DBHost= this.txtDBHost.Text.Trim(),
+ DBName= this.txtDBName.Text.Trim(),
+ DBUser= this.txtDBUser.Text.Trim(),
+ DBPwd= this.txtDBPwd.Text.Trim(),
+ DBPort= this.txtPort.Text.Trim()
+ }))
MessageBox.Show("连接成功!");
else
MessageBox.Show("连接失败!");
@@ -750,6 +780,7 @@ namespace CNAS_DBSync
dbinfo.ServerName = this.txtSqlServerName.Text.Trim();
dbinfo.UserId = this.txtSqlServerUser.Text.Trim();
dbinfo.UserPwd = this.txtSqlServerPwd.Text.Trim();
+ dbinfo.Port = this.txtSqlServerPort.Text.Trim();
if (new SQLServerInstrumentData(dbinfo, new object[] {
"",
"",
@@ -828,7 +859,15 @@ namespace CNAS_DBSync
private void btnMySqlTest_Click(object sender, EventArgs e)
{
- if (CnasDataOperationFact.CnasDataOperation().TestConnect(this.txtMySqlHost.Text.Trim(), this.txtMySqlServer.Text.Trim(), this.txtMySqlUser.Text.Trim(), this.txtMySqlPwd.Text.Trim(), this.txtMySqlPort.Text.Trim()))
+
+ if (CnasDataOperationFact.CnasDataOperation().TestConnect(new DataBaseInfo()
+ {
+ DBHost = this.txtMySqlHost.Text.Trim(),
+ DBName = this.txtMySqlServer.Text.Trim(),
+ DBUser = this.txtMySqlUser.Text.Trim(),
+ DBPwd = this.txtMySqlPwd.Text.Trim(),
+ DBPort = this.txtMySqlPort.Text.Trim()
+ }))
MessageBox.Show("连接成功!");
else
MessageBox.Show("连接失败!");
@@ -967,5 +1006,52 @@ namespace CNAS_DBSync
txtRemoteTxtPwd.Visible = true;
}
}
+
+ private void cbxTargetDBSelect_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (cbxTargetDBSelect.SelectedIndex == 0)
+ {
+ if (GlobalCommonOperation.strStartWebApi == "1")
+ {
+ targetDataBaseInfo = new DataBaseInfo() {
+ DataBaseCode = "cnas"
+ };
+ }
+ else
+ {
+ DataBaseInfo CNASDataBase = FileOperation.GetLocalCnasDB();
+ if (CNASDataBase != null)
+ {
+ this.txtDBHost.Text = CNASDataBase.DBHost;
+ this.txtDBName.Text = CNASDataBase.DBName;
+ this.txtDBUser.Text = CNASDataBase.DBUser;
+ this.txtDBPwd.Text = CNASDataBase.DBPwd;
+ this.txtPort.Text = CNASDataBase.DBPort;
+ }
+ }
+ }
+ else if (cbxTargetDBSelect.SelectedIndex == 1)
+ {
+ if (GlobalCommonOperation.strStartWebApi == "1")
+ {
+ targetDataBaseInfo = new DataBaseInfo()
+ {
+ DataBaseCode = "platform"
+ };
+ }
+ else
+ {
+ DataBaseInfo PlatDataBase = FileOperation.GetLocalPlatFormDB();
+ if (PlatDataBase != null)
+ {
+ this.txtDBHost.Text = PlatDataBase.DBHost;
+ this.txtDBName.Text = PlatDataBase.DBName;
+ this.txtDBUser.Text = PlatDataBase.DBUser;
+ this.txtDBPwd.Text = PlatDataBase.DBPwd;
+ this.txtPort.Text = PlatDataBase.DBPort;
+ }
+ }
+ }
+ }
}
}
diff --git a/CNAS_DBSync/frmInstrumentCode.Designer.cs b/CNAS_DBSync/frmInstrumentCode.Designer.cs
index 831c265..1f37aa0 100644
--- a/CNAS_DBSync/frmInstrumentCode.Designer.cs
+++ b/CNAS_DBSync/frmInstrumentCode.Designer.cs
@@ -32,8 +32,6 @@
this.txtCode = new System.Windows.Forms.TextBox();
this.btnOK = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
- this.cbxInstruType = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// txtCode
@@ -46,7 +44,7 @@
//
// btnOK
//
- this.btnOK.Location = new System.Drawing.Point(289, 89);
+ this.btnOK.Location = new System.Drawing.Point(293, 66);
this.btnOK.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(90, 30);
@@ -64,41 +62,11 @@
this.label1.TabIndex = 2;
this.label1.Text = "仪器编号:";
//
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(35, 60);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(44, 17);
- this.label2.TabIndex = 3;
- this.label2.Text = "类型:";
- //
- // cbxInstruType
- //
- this.cbxInstruType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cbxInstruType.FormattingEnabled = true;
- this.cbxInstruType.Items.AddRange(new object[] {
- "水分仪",
- "测硫仪",
- "工业分析仪",
- "灰熔点",
- "红外测硫仪",
- "元素分析仪",
- "量热仪",
- "其它"});
- this.cbxInstruType.Location = new System.Drawing.Point(82, 56);
- this.cbxInstruType.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.cbxInstruType.Name = "cbxInstruType";
- this.cbxInstruType.Size = new System.Drawing.Size(276, 25);
- this.cbxInstruType.TabIndex = 4;
- //
// frmInstrumentCode
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(395, 130);
- this.Controls.Add(this.cbxInstruType);
- this.Controls.Add(this.label2);
+ this.ClientSize = new System.Drawing.Size(395, 101);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.txtCode);
@@ -120,7 +88,5 @@
private System.Windows.Forms.TextBox txtCode;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.ComboBox cbxInstruType;
}
}
\ No newline at end of file
diff --git a/CNAS_DBSync/frmInstrumentCode.cs b/CNAS_DBSync/frmInstrumentCode.cs
index d615809..79597b7 100644
--- a/CNAS_DBSync/frmInstrumentCode.cs
+++ b/CNAS_DBSync/frmInstrumentCode.cs
@@ -25,6 +25,7 @@ namespace CNAS_DBSync
InitializeComponent();
this.lstSyncInstrument = lstSyncInstrument;
+ this.DialogResult = DialogResult.None;
}
public frmInstrumentCode(List lstSyncInstrument,string strOldCode=null)
@@ -38,14 +39,17 @@ namespace CNAS_DBSync
if (lstInstrument.Count == 1)
{
type = lstInstrument[0].InstruType;
- this.cbxInstruType.Text =GlobalCommonOperation.GetTitleByInstruType(type); }
-
+ //this.cbxInstruType.Text =GlobalCommonOperation.GetTitleByInstruType(type);
+ }
}
private void btnOK_Click(object sender, EventArgs e)
{
- if (this.txtCode.Text.Trim() == strOldCode&& GlobalCommonOperation.GetInstruTypeBySelectedItem(this.cbxInstruType.Text)==type) //此时没有修改任何内容
+ //if (this.txtCode.Text.Trim() == strOldCode&& GlobalCommonOperation.GetInstruTypeBySelectedItem(this.cbxInstruType.Text)==type) //此时没有修改任何内容
+ if (this.txtCode.Text.Trim() == strOldCode) //此时没有修改任何内容,直接关闭界面
{
+ //return;
+ this.Close();
return;
}
@@ -72,11 +76,11 @@ namespace CNAS_DBSync
}
}
- if (this.cbxInstruType.Text == "")
- {
- MessageBox.Show("类型不允许为空!请重新选择!");
- return;
- }
+ //if (this.cbxInstruType.Text == "")
+ //{
+ // MessageBox.Show("类型不允许为空!请重新选择!");
+ // return;
+ //}
//传输输入到父界面
@@ -84,11 +88,14 @@ namespace CNAS_DBSync
{
GUID = Guid.NewGuid().ToString(),
Code = this.txtCode.Text.Trim(),
- InstruType = GlobalCommonOperation.GetInstruTypeBySelectedItem(this.cbxInstruType.Text)
+ //InstruType = GlobalCommonOperation.GetInstruTypeBySelectedItem(this.cbxInstruType.Text)
+ InstruType = InstrumentType.None
};
this.InstrumentDelegate(syncinstrument);
+ this.DialogResult = DialogResult.OK;
+
//关闭界面
this.Close();
}
diff --git a/CNAS_DBSync/frmServiceConfig.Designer.cs b/CNAS_DBSync/frmServiceConfig.Designer.cs
index abee89a..40189b9 100644
--- a/CNAS_DBSync/frmServiceConfig.Designer.cs
+++ b/CNAS_DBSync/frmServiceConfig.Designer.cs
@@ -42,12 +42,12 @@
this.panel1 = new System.Windows.Forms.Panel();
this.cbxAutoStart = new System.Windows.Forms.CheckBox();
this.panel2 = new System.Windows.Forms.Panel();
+ this.btnInstallService = new System.Windows.Forms.Button();
this.btnRun = new System.Windows.Forms.Button();
this.pnlRight = new System.Windows.Forms.Panel();
this.pnlLeft = new System.Windows.Forms.Panel();
this.pnlBottom = new System.Windows.Forms.Panel();
this.pnlTop = new System.Windows.Forms.Panel();
- this.btnInstallService = new System.Windows.Forms.Button();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
this.panel3.SuspendLayout();
@@ -68,7 +68,7 @@
this.pnlAll.Location = new System.Drawing.Point(0, 0);
this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(450, 163);
+ this.pnlAll.Size = new System.Drawing.Size(435, 183);
this.pnlAll.TabIndex = 0;
//
// pnlCenter
@@ -79,7 +79,7 @@
this.pnlCenter.Location = new System.Drawing.Point(12, 14);
this.pnlCenter.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlCenter.Name = "pnlCenter";
- this.pnlCenter.Size = new System.Drawing.Size(426, 139);
+ this.pnlCenter.Size = new System.Drawing.Size(411, 159);
this.pnlCenter.TabIndex = 4;
//
// panel3
@@ -89,7 +89,7 @@
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.panel3.Name = "panel3";
- this.panel3.Size = new System.Drawing.Size(426, 104);
+ this.panel3.Size = new System.Drawing.Size(411, 115);
this.panel3.TabIndex = 1;
//
// groupBox1
@@ -105,7 +105,7 @@
this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.groupBox1.Size = new System.Drawing.Size(426, 104);
+ this.groupBox1.Size = new System.Drawing.Size(411, 115);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "设置";
@@ -114,7 +114,7 @@
//
this.dtpSource.CustomFormat = "yyyy-MM-dd HH:mm";
this.dtpSource.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
- this.dtpSource.Location = new System.Drawing.Point(145, 61);
+ this.dtpSource.Location = new System.Drawing.Point(159, 68);
this.dtpSource.Name = "dtpSource";
this.dtpSource.Size = new System.Drawing.Size(179, 23);
this.dtpSource.TabIndex = 5;
@@ -123,7 +123,7 @@
// label4
//
this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(26, 64);
+ this.label4.Location = new System.Drawing.Point(40, 71);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(116, 17);
this.label4.TabIndex = 4;
@@ -132,7 +132,7 @@
// label3
//
this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(335, 33);
+ this.label3.Location = new System.Drawing.Point(342, 39);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(32, 17);
this.label3.TabIndex = 3;
@@ -140,7 +140,7 @@
//
// numService
//
- this.numService.Location = new System.Drawing.Point(184, 29);
+ this.numService.Location = new System.Drawing.Point(196, 35);
this.numService.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.numService.Name = "numService";
this.numService.Size = new System.Drawing.Size(140, 23);
@@ -149,7 +149,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(142, 32);
+ this.label2.Location = new System.Drawing.Point(156, 38);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(32, 17);
this.label2.TabIndex = 1;
@@ -158,7 +158,7 @@
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(26, 32);
+ this.label1.Location = new System.Drawing.Point(40, 38);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(116, 17);
this.label1.TabIndex = 0;
@@ -169,10 +169,10 @@
this.panel1.Controls.Add(this.cbxAutoStart);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel1.Location = new System.Drawing.Point(0, 104);
+ this.panel1.Location = new System.Drawing.Point(0, 115);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(426, 35);
+ this.panel1.Size = new System.Drawing.Size(411, 44);
this.panel1.TabIndex = 0;
//
// cbxAutoStart
@@ -190,18 +190,29 @@
this.panel2.Controls.Add(this.btnInstallService);
this.panel2.Controls.Add(this.btnRun);
this.panel2.Dock = System.Windows.Forms.DockStyle.Right;
- this.panel2.Location = new System.Drawing.Point(243, 0);
+ this.panel2.Location = new System.Drawing.Point(205, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size(183, 35);
+ this.panel2.Size = new System.Drawing.Size(206, 44);
this.panel2.TabIndex = 0;
//
+ // btnInstallService
+ //
+ this.btnInstallService.Location = new System.Drawing.Point(3, 4);
+ this.btnInstallService.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.btnInstallService.Name = "btnInstallService";
+ this.btnInstallService.Size = new System.Drawing.Size(90, 30);
+ this.btnInstallService.TabIndex = 1;
+ this.btnInstallService.Text = "安装服务";
+ this.btnInstallService.UseVisualStyleBackColor = true;
+ this.btnInstallService.Click += new System.EventHandler(this.btnInstallService_Click);
+ //
// btnRun
//
- this.btnRun.Location = new System.Drawing.Point(90, 4);
+ this.btnRun.Location = new System.Drawing.Point(109, 4);
this.btnRun.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btnRun.Name = "btnRun";
- this.btnRun.Size = new System.Drawing.Size(80, 25);
+ this.btnRun.Size = new System.Drawing.Size(90, 30);
this.btnRun.TabIndex = 0;
this.btnRun.Text = "启动服务";
this.btnRun.UseVisualStyleBackColor = true;
@@ -210,10 +221,10 @@
// pnlRight
//
this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
- this.pnlRight.Location = new System.Drawing.Point(438, 14);
+ this.pnlRight.Location = new System.Drawing.Point(423, 14);
this.pnlRight.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlRight.Name = "pnlRight";
- this.pnlRight.Size = new System.Drawing.Size(12, 139);
+ this.pnlRight.Size = new System.Drawing.Size(12, 159);
this.pnlRight.TabIndex = 3;
//
// pnlLeft
@@ -222,16 +233,16 @@
this.pnlLeft.Location = new System.Drawing.Point(0, 14);
this.pnlLeft.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlLeft.Name = "pnlLeft";
- this.pnlLeft.Size = new System.Drawing.Size(12, 139);
+ this.pnlLeft.Size = new System.Drawing.Size(12, 159);
this.pnlLeft.TabIndex = 2;
//
// pnlBottom
//
this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pnlBottom.Location = new System.Drawing.Point(0, 153);
+ this.pnlBottom.Location = new System.Drawing.Point(0, 173);
this.pnlBottom.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlBottom.Name = "pnlBottom";
- this.pnlBottom.Size = new System.Drawing.Size(450, 10);
+ this.pnlBottom.Size = new System.Drawing.Size(435, 10);
this.pnlBottom.TabIndex = 1;
//
// pnlTop
@@ -240,25 +251,14 @@
this.pnlTop.Location = new System.Drawing.Point(0, 0);
this.pnlTop.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlTop.Name = "pnlTop";
- this.pnlTop.Size = new System.Drawing.Size(450, 14);
+ this.pnlTop.Size = new System.Drawing.Size(435, 14);
this.pnlTop.TabIndex = 0;
//
- // btnInstallService
- //
- this.btnInstallService.Location = new System.Drawing.Point(3, 4);
- this.btnInstallService.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.btnInstallService.Name = "btnInstallService";
- this.btnInstallService.Size = new System.Drawing.Size(80, 25);
- this.btnInstallService.TabIndex = 1;
- this.btnInstallService.Text = "安装服务";
- this.btnInstallService.UseVisualStyleBackColor = true;
- this.btnInstallService.Click += new System.EventHandler(this.btnInstallService_Click);
- //
// frmServiceConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(450, 163);
+ this.ClientSize = new System.Drawing.Size(435, 183);
this.Controls.Add(this.pnlAll);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
diff --git a/CNAS_DBSync/frmServiceConfig.cs b/CNAS_DBSync/frmServiceConfig.cs
index f750eef..9965b8f 100644
--- a/CNAS_DBSync/frmServiceConfig.cs
+++ b/CNAS_DBSync/frmServiceConfig.cs
@@ -32,7 +32,7 @@ namespace CNAS_DBSync
try
{
XmlSerializer serializer = new XmlSerializer(serviceConfig.GetType());
- FileStream stream = new FileStream(FileHelper.getBasePath() + "/Data/SyncServiceData.xml", FileMode.Open);
+ FileStream stream = new FileStream(FileHelper.getBasePath() + "/DataConfig/SyncServiceData.xml", FileMode.Open);
serviceConfig = (ServiceConfig)serializer.Deserialize(stream);
stream.Close();
@@ -168,7 +168,7 @@ namespace CNAS_DBSync
try
{
XmlSerializer serializer = new XmlSerializer(config.GetType());
- TextWriter writer = new StreamWriter(FileHelper.getBasePath() + "/Data/SyncServiceData.xml");
+ TextWriter writer = new StreamWriter(FileHelper.getBasePath() + "/DataConfig/SyncServiceData.xml");
serializer.Serialize(writer, config);
writer.Close();
}
@@ -218,7 +218,8 @@ namespace CNAS_DBSync
RegistryKey currentControlSet = sysReg.OpenSubKey("CurrentControlSet");
RegistryKey services = currentControlSet.OpenSubKey("Services");
RegistryKey servicesName = services.OpenSubKey(serviceName, true);
- startType=(int)servicesName.GetValue("Start");
+ if(servicesName != null)
+ startType=(int)servicesName.GetValue("Start");
}
catch (Exception ex)
{
diff --git a/CNAS_DBSync/frmSourceFilter.cs b/CNAS_DBSync/frmSourceFilter.cs
index d8e981a..0eb8823 100644
--- a/CNAS_DBSync/frmSourceFilter.cs
+++ b/CNAS_DBSync/frmSourceFilter.cs
@@ -25,12 +25,14 @@ namespace CNAS_DBSync
private List lstText = new List() { "等于", "不等于", "包含", "不包含" };
private List lstConditionValueType = new List() { "{自定义...}","RegEx:{全数字}", "RegEx:{英文+数字}","RegEx:{中文+数字}" };
+ public string strTableInfoMode { get; set; }
public List lstFilterConditions { get; set; } //临时过滤条件
- public frmSourceFilter(SyncInstrumentItemInfo syncInstrumentItem)
+ public frmSourceFilter(SyncInstrumentItemInfo syncInstrumentItem,string strTableInfoMode)
{
InitializeComponent();
this.syncInstrumentItem = syncInstrumentItem;
+ this.strTableInfoMode = strTableInfoMode;
if (syncInstrumentItem.SourceFilter == null || syncInstrumentItem.SourceFilter.lstFilterConditions == null)
this.lstFilterConditions = new List();
else
@@ -49,11 +51,19 @@ namespace CNAS_DBSync
this.txtCurrentTableName.Text = syncInstrumentItem.LstSyncPramas[0].SourceTable;
//加载表结构(需要重新加载,因为父窗口可能没有数据或数据已经过时)
- InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(syncInstrumentItem.SyncInstrumentDSInfo, new object[] { "", "", "" });
- Dictionary dictInstruTables = instrumentData.GetInstrumentData();
- if (dictInstruTables.ContainsKey(this.txtCurrentTableName.Text))
- dtCurrentTableStruct = dictInstruTables[this.txtCurrentTableName.Text];
-
+ if (strTableInfoMode == "0")
+ {
+ InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(syncInstrumentItem.SyncInstrumentDSInfo, new object[] { "", "", "" });
+ Dictionary dictInstruTables = instrumentData.GetInstrumentData();
+ if (dictInstruTables.ContainsKey(this.txtCurrentTableName.Text))
+ dtCurrentTableStruct = dictInstruTables[this.txtCurrentTableName.Text];
+ }
+ else
+ {
+ InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(syncInstrumentItem.SyncInstrumentDSInfo, new object[] { this.txtCurrentTableName.Text, "", "" });
+ dtCurrentTableStruct = instrumentData.GetInstrumentDataStruct();
+ }
+
//根据表结构手动构建ComboBox,用于用户选择增加列
InitalColumnComboBox(dtCurrentTableStruct);
InitalAlgorithmComboBox();
@@ -133,17 +143,17 @@ namespace CNAS_DBSync
switch (cbxConditionValue.Text)
{
case "RegEx:{全数字}":
- strConditionValue = @"RegEx:{^[1-9]\d*$}";
+ strConditionValue = @"RegEx:^[1-9]\d*$";
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["ConditionValue"].Value = strConditionValue;
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["Algorithm"].Value = "等于";
break;
case "RegEx:{英文+数字}":
- strConditionValue = @"RegEx:{[a-zA-Z][0-9]}";
+ strConditionValue = @"RegEx:[a-zA-Z][0-9]";
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["ConditionValue"].Value = strConditionValue;
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["Algorithm"].Value = "等于";
break;
case "RegEx:{中文+数字}":
- strConditionValue = @"RegEx:{[\u4e00-\u9fa5][0-9]}";
+ strConditionValue = @"RegEx:[\u4e00-\u9fa5][0-9]";
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["ConditionValue"].Value = strConditionValue;
dgvConditions.Rows[dgvConditions.CurrentCell.RowIndex].Cells["Algorithm"].Value = "等于";
break;
@@ -479,10 +489,10 @@ namespace CNAS_DBSync
private void dgvConditions_CellClick(object sender, DataGridViewCellEventArgs e)
{
- cbxTableColumns.Visible = false;
- cbxAlgorithm.Visible = false;
- cbxConditionValue.Visible = false;
- txtConditionValue.Visible = false;
+ if (cbxTableColumns != null) cbxTableColumns.Visible = false;
+ if (cbxAlgorithm != null) cbxAlgorithm.Visible = false;
+ if (cbxConditionValue != null) cbxConditionValue.Visible = false;
+ if (txtConditionValue != null) txtConditionValue.Visible = false;
}
private void dgvConditions_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
@@ -530,10 +540,10 @@ namespace CNAS_DBSync
if (GetRowIndexAt(e.Y, dgvConditions) == -1)
{
dgvConditions.EndEdit();
- cbxTableColumns.Visible = false;
- cbxAlgorithm.Visible = false;
- cbxConditionValue.Visible = false;
- txtConditionValue.Visible = false;
+ if(cbxTableColumns!=null) cbxTableColumns.Visible = false;
+ if (cbxAlgorithm != null) cbxAlgorithm.Visible = false;
+ if (cbxConditionValue != null) cbxConditionValue.Visible = false;
+ if (txtConditionValue != null) txtConditionValue.Visible = false;
}
}
}
diff --git a/CNAS_DBSync/frmSourceSetting.Designer.cs b/CNAS_DBSync/frmSourceSetting.Designer.cs
new file mode 100644
index 0000000..7e8bb57
--- /dev/null
+++ b/CNAS_DBSync/frmSourceSetting.Designer.cs
@@ -0,0 +1,1357 @@
+namespace CNAS_DBSync
+{
+ partial class frmSourceSetting
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSourceSetting));
+ this.btnOK = new System.Windows.Forms.Button();
+ this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlTop = new System.Windows.Forms.Panel();
+ this.pnlCenter = new System.Windows.Forms.Panel();
+ this.tabcDS = new System.Windows.Forms.TabControl();
+ this.tabExcel = new System.Windows.Forms.TabPage();
+ this.txtExcelAutoSql = new System.Windows.Forms.TextBox();
+ this.txtExcelAutoSqlName = new System.Windows.Forms.TextBox();
+ this.lbExcelDynQuery = new System.Windows.Forms.Label();
+ this.cbxExcelReadFolder = new System.Windows.Forms.CheckBox();
+ this.cbxExcelReadFile = new System.Windows.Forms.CheckBox();
+ this.cbxExcelNewVersion = new System.Windows.Forms.CheckBox();
+ this.label22 = new System.Windows.Forms.Label();
+ this.lblExcelRemotePwd = new System.Windows.Forms.Label();
+ this.lblExcelRemoteUser = new System.Windows.Forms.Label();
+ this.txtExcelFileNameFormat = new System.Windows.Forms.TextBox();
+ this.cbxExcelOldVersion = new System.Windows.Forms.CheckBox();
+ this.lbExcelDateFormat = new System.Windows.Forms.Label();
+ this.txtExcelSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabFoxPro = new System.Windows.Forms.TabPage();
+ this.txtFoxProSpecialMethodName = new System.Windows.Forms.TextBox();
+ this.txtFoxProSpecialMethod = new System.Windows.Forms.TextBox();
+ this.label27 = new System.Windows.Forms.Label();
+ this.label33 = new System.Windows.Forms.Label();
+ this.txtFoxProAutoSqlName = new System.Windows.Forms.TextBox();
+ this.cbxFoxProReadFolder = new System.Windows.Forms.CheckBox();
+ this.txtFoxProAutoSql = new System.Windows.Forms.TextBox();
+ this.cbxFoxProReadFile = new System.Windows.Forms.CheckBox();
+ this.label35 = new System.Windows.Forms.Label();
+ this.label38 = new System.Windows.Forms.Label();
+ this.txtFoxProFileNameFormat = new System.Windows.Forms.TextBox();
+ this.label39 = new System.Windows.Forms.Label();
+ this.txtFoxProSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabAccess = new System.Windows.Forms.TabPage();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtAccessSuffix = new System.Windows.Forms.TextBox();
+ this.cbxAccessReadFolder = new System.Windows.Forms.CheckBox();
+ this.cbxAccessReadFile = new System.Windows.Forms.CheckBox();
+ this.txtAccessAutoSql = new System.Windows.Forms.TextBox();
+ this.txtAccessAutoSqlName = new System.Windows.Forms.TextBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.cbxAccessNewVersion = new System.Windows.Forms.CheckBox();
+ this.label15 = new System.Windows.Forms.Label();
+ this.label16 = new System.Windows.Forms.Label();
+ this.label21 = new System.Windows.Forms.Label();
+ this.txtAccessFileName = new System.Windows.Forms.TextBox();
+ this.cbxAccessOldVersion = new System.Windows.Forms.CheckBox();
+ this.label31 = new System.Windows.Forms.Label();
+ this.txtAccessSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabSQLite = new System.Windows.Forms.TabPage();
+ this.label5 = new System.Windows.Forms.Label();
+ this.txtSqliteAutoSqlName = new System.Windows.Forms.TextBox();
+ this.cbxSqliteReadFolder = new System.Windows.Forms.CheckBox();
+ this.txtSqliteAutoSql = new System.Windows.Forms.TextBox();
+ this.cbxSqliteReadFile = new System.Windows.Forms.CheckBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.txtSqliteFileNameFormat = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.txtSqliteSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabSQLServer = new System.Windows.Forms.TabPage();
+ this.label9 = new System.Windows.Forms.Label();
+ this.txtSqlServerAutoSqlName = new System.Windows.Forms.TextBox();
+ this.txtSqlServerAutoSql = new System.Windows.Forms.TextBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.txtSqlServerConnection = new System.Windows.Forms.TextBox();
+ this.label13 = new System.Windows.Forms.Label();
+ this.txtSqlServerSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabMySql = new System.Windows.Forms.TabPage();
+ this.label14 = new System.Windows.Forms.Label();
+ this.txtMySqlAutoSqlName = new System.Windows.Forms.TextBox();
+ this.txtMySqlAutoSql = new System.Windows.Forms.TextBox();
+ this.label18 = new System.Windows.Forms.Label();
+ this.txtMySqlSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabOracle = new System.Windows.Forms.TabPage();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtOracleAutoSqlName = new System.Windows.Forms.TextBox();
+ this.txtOracleAutoSql = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.txtOracleSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.tabTxt = new System.Windows.Forms.TabPage();
+ this.cbxNormalFileNoCustomDate = new System.Windows.Forms.CheckBox();
+ this.cbxNormalFileCustomDate = new System.Windows.Forms.CheckBox();
+ this.numNormalFileStartIndex = new System.Windows.Forms.NumericUpDown();
+ this.label20 = new System.Windows.Forms.Label();
+ this.label19 = new System.Windows.Forms.Label();
+ this.label17 = new System.Windows.Forms.Label();
+ this.txtNormalFileReadSplitMode = new System.Windows.Forms.TextBox();
+ this.label30 = new System.Windows.Forms.Label();
+ this.txtNormalFileReadDataMode = new System.Windows.Forms.TextBox();
+ this.label29 = new System.Windows.Forms.Label();
+ this.txtNormalFileSuffix = new System.Windows.Forms.TextBox();
+ this.cbxNormalFileReadFolder = new System.Windows.Forms.CheckBox();
+ this.cbxNormalFileReadFile = new System.Windows.Forms.CheckBox();
+ this.label25 = new System.Windows.Forms.Label();
+ this.label26 = new System.Windows.Forms.Label();
+ this.txtNormalFileNameFormat = new System.Windows.Forms.TextBox();
+ this.label28 = new System.Windows.Forms.Label();
+ this.txtNormalFileSpecialDateColumnFormat = new System.Windows.Forms.TextBox();
+ this.pnlAll = new System.Windows.Forms.Panel();
+ this.pnlBottom.SuspendLayout();
+ this.pnlCenter.SuspendLayout();
+ this.tabcDS.SuspendLayout();
+ this.tabExcel.SuspendLayout();
+ this.tabFoxPro.SuspendLayout();
+ this.tabAccess.SuspendLayout();
+ this.tabSQLite.SuspendLayout();
+ this.tabSQLServer.SuspendLayout();
+ this.tabMySql.SuspendLayout();
+ this.tabOracle.SuspendLayout();
+ this.tabTxt.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numNormalFileStartIndex)).BeginInit();
+ this.pnlAll.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btnOK
+ //
+ this.btnOK.Location = new System.Drawing.Point(567, 6);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(90, 30);
+ this.btnOK.TabIndex = 0;
+ this.btnOK.Text = "确认";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // pnlBottom
+ //
+ this.pnlBottom.Controls.Add(this.btnOK);
+ this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlBottom.Location = new System.Drawing.Point(0, 504);
+ this.pnlBottom.Name = "pnlBottom";
+ this.pnlBottom.Size = new System.Drawing.Size(936, 42);
+ this.pnlBottom.TabIndex = 3;
+ //
+ // pnlTop
+ //
+ this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlTop.Location = new System.Drawing.Point(0, 0);
+ this.pnlTop.Name = "pnlTop";
+ this.pnlTop.Size = new System.Drawing.Size(936, 10);
+ this.pnlTop.TabIndex = 2;
+ //
+ // pnlCenter
+ //
+ this.pnlCenter.Controls.Add(this.tabcDS);
+ this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenter.Location = new System.Drawing.Point(0, 10);
+ this.pnlCenter.Name = "pnlCenter";
+ this.pnlCenter.Size = new System.Drawing.Size(936, 494);
+ this.pnlCenter.TabIndex = 4;
+ //
+ // tabcDS
+ //
+ this.tabcDS.Controls.Add(this.tabExcel);
+ this.tabcDS.Controls.Add(this.tabFoxPro);
+ this.tabcDS.Controls.Add(this.tabAccess);
+ this.tabcDS.Controls.Add(this.tabSQLite);
+ this.tabcDS.Controls.Add(this.tabSQLServer);
+ this.tabcDS.Controls.Add(this.tabMySql);
+ this.tabcDS.Controls.Add(this.tabOracle);
+ this.tabcDS.Controls.Add(this.tabTxt);
+ this.tabcDS.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tabcDS.Location = new System.Drawing.Point(0, 0);
+ this.tabcDS.Name = "tabcDS";
+ this.tabcDS.SelectedIndex = 0;
+ this.tabcDS.Size = new System.Drawing.Size(936, 494);
+ this.tabcDS.TabIndex = 7;
+ this.tabcDS.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabcDS_Selected);
+ //
+ // tabExcel
+ //
+ this.tabExcel.Controls.Add(this.txtExcelAutoSql);
+ this.tabExcel.Controls.Add(this.txtExcelAutoSqlName);
+ this.tabExcel.Controls.Add(this.lbExcelDynQuery);
+ this.tabExcel.Controls.Add(this.cbxExcelReadFolder);
+ this.tabExcel.Controls.Add(this.cbxExcelReadFile);
+ this.tabExcel.Controls.Add(this.cbxExcelNewVersion);
+ this.tabExcel.Controls.Add(this.label22);
+ this.tabExcel.Controls.Add(this.lblExcelRemotePwd);
+ this.tabExcel.Controls.Add(this.lblExcelRemoteUser);
+ this.tabExcel.Controls.Add(this.txtExcelFileNameFormat);
+ this.tabExcel.Controls.Add(this.cbxExcelOldVersion);
+ this.tabExcel.Controls.Add(this.lbExcelDateFormat);
+ this.tabExcel.Controls.Add(this.txtExcelSpecialDateColumnFormat);
+ this.tabExcel.Location = new System.Drawing.Point(8, 45);
+ this.tabExcel.Name = "tabExcel";
+ this.tabExcel.Padding = new System.Windows.Forms.Padding(3);
+ this.tabExcel.Size = new System.Drawing.Size(920, 441);
+ this.tabExcel.TabIndex = 0;
+ this.tabExcel.Text = "Excel";
+ this.tabExcel.UseVisualStyleBackColor = true;
+ //
+ // txtExcelAutoSql
+ //
+ this.txtExcelAutoSql.Location = new System.Drawing.Point(209, 193);
+ this.txtExcelAutoSql.Multiline = true;
+ this.txtExcelAutoSql.Name = "txtExcelAutoSql";
+ this.txtExcelAutoSql.Size = new System.Drawing.Size(501, 184);
+ this.txtExcelAutoSql.TabIndex = 48;
+ this.txtExcelAutoSql.Enter += new System.EventHandler(this.txtExcelAutoSql_Enter);
+ this.txtExcelAutoSql.Leave += new System.EventHandler(this.txtExcelAutoSql_Leave);
+ //
+ // txtExcelAutoSqlName
+ //
+ this.txtExcelAutoSqlName.Location = new System.Drawing.Point(209, 158);
+ this.txtExcelAutoSqlName.Name = "txtExcelAutoSqlName";
+ this.txtExcelAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtExcelAutoSqlName.TabIndex = 47;
+ this.txtExcelAutoSqlName.Enter += new System.EventHandler(this.txtExcelAutoSqlName_Enter);
+ this.txtExcelAutoSqlName.Leave += new System.EventHandler(this.txtExcelAutoSqlName_Leave);
+ //
+ // lbExcelDynQuery
+ //
+ this.lbExcelDynQuery.AutoSize = true;
+ this.lbExcelDynQuery.Location = new System.Drawing.Point(97, 161);
+ this.lbExcelDynQuery.Name = "lbExcelDynQuery";
+ this.lbExcelDynQuery.Size = new System.Drawing.Size(206, 31);
+ this.lbExcelDynQuery.TabIndex = 46;
+ this.lbExcelDynQuery.Text = "自定义查询语句:";
+ //
+ // cbxExcelReadFolder
+ //
+ this.cbxExcelReadFolder.AutoSize = true;
+ this.cbxExcelReadFolder.Location = new System.Drawing.Point(561, 121);
+ this.cbxExcelReadFolder.Name = "cbxExcelReadFolder";
+ this.cbxExcelReadFolder.Size = new System.Drawing.Size(166, 35);
+ this.cbxExcelReadFolder.TabIndex = 32;
+ this.cbxExcelReadFolder.Text = "读取文件夹";
+ this.cbxExcelReadFolder.UseVisualStyleBackColor = true;
+ this.cbxExcelReadFolder.CheckedChanged += new System.EventHandler(this.cbxExcelReadFolder_CheckedChanged);
+ //
+ // cbxExcelReadFile
+ //
+ this.cbxExcelReadFile.AutoSize = true;
+ this.cbxExcelReadFile.Checked = true;
+ this.cbxExcelReadFile.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxExcelReadFile.Location = new System.Drawing.Point(312, 121);
+ this.cbxExcelReadFile.Name = "cbxExcelReadFile";
+ this.cbxExcelReadFile.Size = new System.Drawing.Size(142, 35);
+ this.cbxExcelReadFile.TabIndex = 31;
+ this.cbxExcelReadFile.Text = "读取文件";
+ this.cbxExcelReadFile.UseVisualStyleBackColor = true;
+ this.cbxExcelReadFile.CheckedChanged += new System.EventHandler(this.cbxExcelReadFile_CheckedChanged);
+ //
+ // cbxExcelNewVersion
+ //
+ this.cbxExcelNewVersion.AutoSize = true;
+ this.cbxExcelNewVersion.Location = new System.Drawing.Point(561, 14);
+ this.cbxExcelNewVersion.Name = "cbxExcelNewVersion";
+ this.cbxExcelNewVersion.Size = new System.Drawing.Size(268, 35);
+ this.cbxExcelNewVersion.TabIndex = 25;
+ this.cbxExcelNewVersion.Text = "office 2007以后版本";
+ this.cbxExcelNewVersion.UseVisualStyleBackColor = true;
+ this.cbxExcelNewVersion.CheckedChanged += new System.EventHandler(this.cbxExcelNewVersion_CheckedChanged);
+ //
+ // label22
+ //
+ this.label22.AutoSize = true;
+ this.label22.Location = new System.Drawing.Point(90, 15);
+ this.label22.Name = "label22";
+ this.label22.Size = new System.Drawing.Size(218, 31);
+ this.label22.TabIndex = 24;
+ this.label22.Text = "Office Excel版本:";
+ //
+ // lblExcelRemotePwd
+ //
+ this.lblExcelRemotePwd.AutoSize = true;
+ this.lblExcelRemotePwd.Location = new System.Drawing.Point(60, 121);
+ this.lblExcelRemotePwd.Name = "lblExcelRemotePwd";
+ this.lblExcelRemotePwd.Size = new System.Drawing.Size(280, 31);
+ this.lblExcelRemotePwd.TabIndex = 10;
+ this.lblExcelRemotePwd.Text = "读取模式(文件/文件夹):";
+ //
+ // lblExcelRemoteUser
+ //
+ this.lblExcelRemoteUser.AutoSize = true;
+ this.lblExcelRemoteUser.Location = new System.Drawing.Point(85, 87);
+ this.lblExcelRemoteUser.Name = "lblExcelRemoteUser";
+ this.lblExcelRemoteUser.Size = new System.Drawing.Size(230, 31);
+ this.lblExcelRemoteUser.TabIndex = 8;
+ this.lblExcelRemoteUser.Text = "自定义文件名格式:";
+ //
+ // txtExcelFileNameFormat
+ //
+ this.txtExcelFileNameFormat.Location = new System.Drawing.Point(207, 84);
+ this.txtExcelFileNameFormat.Name = "txtExcelFileNameFormat";
+ this.txtExcelFileNameFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtExcelFileNameFormat.TabIndex = 6;
+ this.txtExcelFileNameFormat.Enter += new System.EventHandler(this.txtExcelFileNameFormat_Enter);
+ this.txtExcelFileNameFormat.Leave += new System.EventHandler(this.txtExcelFileNameFormat_Leave);
+ //
+ // cbxExcelOldVersion
+ //
+ this.cbxExcelOldVersion.AutoSize = true;
+ this.cbxExcelOldVersion.Checked = true;
+ this.cbxExcelOldVersion.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxExcelOldVersion.Location = new System.Drawing.Point(312, 14);
+ this.cbxExcelOldVersion.Name = "cbxExcelOldVersion";
+ this.cbxExcelOldVersion.Size = new System.Drawing.Size(268, 35);
+ this.cbxExcelOldVersion.TabIndex = 4;
+ this.cbxExcelOldVersion.Text = "office 2007以前版本";
+ this.cbxExcelOldVersion.UseVisualStyleBackColor = true;
+ this.cbxExcelOldVersion.CheckedChanged += new System.EventHandler(this.cbxExcelOldVersion_CheckedChanged);
+ //
+ // lbExcelDateFormat
+ //
+ this.lbExcelDateFormat.AutoSize = true;
+ this.lbExcelDateFormat.Location = new System.Drawing.Point(97, 50);
+ this.lbExcelDateFormat.Name = "lbExcelDateFormat";
+ this.lbExcelDateFormat.Size = new System.Drawing.Size(206, 31);
+ this.lbExcelDateFormat.TabIndex = 5;
+ this.lbExcelDateFormat.Text = "日期列特殊格式:";
+ //
+ // txtExcelSpecialDateColumnFormat
+ //
+ this.txtExcelSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 47);
+ this.txtExcelSpecialDateColumnFormat.Name = "txtExcelSpecialDateColumnFormat";
+ this.txtExcelSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtExcelSpecialDateColumnFormat.TabIndex = 5;
+ this.txtExcelSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtExcelSpecialDateColumnFormat_Enter);
+ this.txtExcelSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtExcelSpecialDateColumnFormat_Leave);
+ //
+ // tabFoxPro
+ //
+ this.tabFoxPro.Controls.Add(this.txtFoxProSpecialMethodName);
+ this.tabFoxPro.Controls.Add(this.txtFoxProSpecialMethod);
+ this.tabFoxPro.Controls.Add(this.label27);
+ this.tabFoxPro.Controls.Add(this.label33);
+ this.tabFoxPro.Controls.Add(this.txtFoxProAutoSqlName);
+ this.tabFoxPro.Controls.Add(this.cbxFoxProReadFolder);
+ this.tabFoxPro.Controls.Add(this.txtFoxProAutoSql);
+ this.tabFoxPro.Controls.Add(this.cbxFoxProReadFile);
+ this.tabFoxPro.Controls.Add(this.label35);
+ this.tabFoxPro.Controls.Add(this.label38);
+ this.tabFoxPro.Controls.Add(this.txtFoxProFileNameFormat);
+ this.tabFoxPro.Controls.Add(this.label39);
+ this.tabFoxPro.Controls.Add(this.txtFoxProSpecialDateColumnFormat);
+ this.tabFoxPro.Location = new System.Drawing.Point(8, 45);
+ this.tabFoxPro.Name = "tabFoxPro";
+ this.tabFoxPro.Padding = new System.Windows.Forms.Padding(3);
+ this.tabFoxPro.Size = new System.Drawing.Size(920, 441);
+ this.tabFoxPro.TabIndex = 6;
+ this.tabFoxPro.Text = "FoxPro";
+ this.tabFoxPro.UseVisualStyleBackColor = true;
+ //
+ // txtFoxProSpecialMethodName
+ //
+ this.txtFoxProSpecialMethodName.Location = new System.Drawing.Point(213, 221);
+ this.txtFoxProSpecialMethodName.Name = "txtFoxProSpecialMethodName";
+ this.txtFoxProSpecialMethodName.Size = new System.Drawing.Size(230, 39);
+ this.txtFoxProSpecialMethodName.TabIndex = 65;
+ this.txtFoxProSpecialMethodName.Enter += new System.EventHandler(this.txtFoxProSpecialMethodName_Enter);
+ this.txtFoxProSpecialMethodName.Leave += new System.EventHandler(this.txtFoxProSpecialMethodName_Leave);
+ //
+ // txtFoxProSpecialMethod
+ //
+ this.txtFoxProSpecialMethod.Location = new System.Drawing.Point(213, 250);
+ this.txtFoxProSpecialMethod.Multiline = true;
+ this.txtFoxProSpecialMethod.Name = "txtFoxProSpecialMethod";
+ this.txtFoxProSpecialMethod.Size = new System.Drawing.Size(230, 64);
+ this.txtFoxProSpecialMethod.TabIndex = 66;
+ this.txtFoxProSpecialMethod.Enter += new System.EventHandler(this.txtFoxProSpecialMethod_Enter);
+ this.txtFoxProSpecialMethod.Leave += new System.EventHandler(this.txtFoxProSpecialMethod_Leave);
+ //
+ // label27
+ //
+ this.label27.AutoSize = true;
+ this.label27.Location = new System.Drawing.Point(133, 224);
+ this.label27.Name = "label27";
+ this.label27.Size = new System.Drawing.Size(134, 31);
+ this.label27.TabIndex = 64;
+ this.label27.Text = "补充方法:";
+ //
+ // label33
+ //
+ this.label33.AutoSize = true;
+ this.label33.Location = new System.Drawing.Point(97, 127);
+ this.label33.Name = "label33";
+ this.label33.Size = new System.Drawing.Size(206, 31);
+ this.label33.TabIndex = 63;
+ this.label33.Text = "自定义查询语句:";
+ //
+ // txtFoxProAutoSqlName
+ //
+ this.txtFoxProAutoSqlName.Location = new System.Drawing.Point(213, 124);
+ this.txtFoxProAutoSqlName.Name = "txtFoxProAutoSqlName";
+ this.txtFoxProAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtFoxProAutoSqlName.TabIndex = 58;
+ this.txtFoxProAutoSqlName.Enter += new System.EventHandler(this.txtFoxProAutoSqlName_Enter);
+ this.txtFoxProAutoSqlName.Leave += new System.EventHandler(this.txtFoxProAutoSqlName_Leave);
+ //
+ // cbxFoxProReadFolder
+ //
+ this.cbxFoxProReadFolder.AutoSize = true;
+ this.cbxFoxProReadFolder.Location = new System.Drawing.Point(296, 14);
+ this.cbxFoxProReadFolder.Name = "cbxFoxProReadFolder";
+ this.cbxFoxProReadFolder.Size = new System.Drawing.Size(166, 35);
+ this.cbxFoxProReadFolder.TabIndex = 62;
+ this.cbxFoxProReadFolder.Text = "读取文件夹";
+ this.cbxFoxProReadFolder.UseVisualStyleBackColor = true;
+ this.cbxFoxProReadFolder.CheckedChanged += new System.EventHandler(this.cbxFoxProReadFolder_CheckedChanged);
+ //
+ // txtFoxProAutoSql
+ //
+ this.txtFoxProAutoSql.Location = new System.Drawing.Point(213, 153);
+ this.txtFoxProAutoSql.Multiline = true;
+ this.txtFoxProAutoSql.Name = "txtFoxProAutoSql";
+ this.txtFoxProAutoSql.Size = new System.Drawing.Size(230, 56);
+ this.txtFoxProAutoSql.TabIndex = 60;
+ this.txtFoxProAutoSql.Enter += new System.EventHandler(this.txtFoxProAutoSql_Enter);
+ this.txtFoxProAutoSql.Leave += new System.EventHandler(this.txtFoxProAutoSql_Leave);
+ //
+ // cbxFoxProReadFile
+ //
+ this.cbxFoxProReadFile.AutoSize = true;
+ this.cbxFoxProReadFile.Checked = true;
+ this.cbxFoxProReadFile.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxFoxProReadFile.Location = new System.Drawing.Point(215, 14);
+ this.cbxFoxProReadFile.Name = "cbxFoxProReadFile";
+ this.cbxFoxProReadFile.Size = new System.Drawing.Size(142, 35);
+ this.cbxFoxProReadFile.TabIndex = 61;
+ this.cbxFoxProReadFile.Text = "读取文件";
+ this.cbxFoxProReadFile.UseVisualStyleBackColor = true;
+ this.cbxFoxProReadFile.CheckedChanged += new System.EventHandler(this.cbxFoxProReadFile_CheckedChanged);
+ //
+ // label35
+ //
+ this.label35.AutoSize = true;
+ this.label35.Location = new System.Drawing.Point(60, 15);
+ this.label35.Name = "label35";
+ this.label35.Size = new System.Drawing.Size(280, 31);
+ this.label35.TabIndex = 53;
+ this.label35.Text = "读取模式(文件/文件夹):";
+ //
+ // label38
+ //
+ this.label38.AutoSize = true;
+ this.label38.Location = new System.Drawing.Point(85, 90);
+ this.label38.Name = "label38";
+ this.label38.Size = new System.Drawing.Size(230, 31);
+ this.label38.TabIndex = 52;
+ this.label38.Text = "自定义文件名格式:";
+ //
+ // txtFoxProFileNameFormat
+ //
+ this.txtFoxProFileNameFormat.Location = new System.Drawing.Point(213, 87);
+ this.txtFoxProFileNameFormat.Name = "txtFoxProFileNameFormat";
+ this.txtFoxProFileNameFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtFoxProFileNameFormat.TabIndex = 51;
+ this.txtFoxProFileNameFormat.Enter += new System.EventHandler(this.txtFoxProFileNameFormat_Enter);
+ this.txtFoxProFileNameFormat.Leave += new System.EventHandler(this.txtFoxProFileNameFormat_Leave);
+ //
+ // label39
+ //
+ this.label39.AutoSize = true;
+ this.label39.Location = new System.Drawing.Point(97, 53);
+ this.label39.Name = "label39";
+ this.label39.Size = new System.Drawing.Size(206, 31);
+ this.label39.TabIndex = 49;
+ this.label39.Text = "日期列特殊格式:";
+ //
+ // txtFoxProSpecialDateColumnFormat
+ //
+ this.txtFoxProSpecialDateColumnFormat.Location = new System.Drawing.Point(213, 50);
+ this.txtFoxProSpecialDateColumnFormat.Name = "txtFoxProSpecialDateColumnFormat";
+ this.txtFoxProSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtFoxProSpecialDateColumnFormat.TabIndex = 50;
+ this.txtFoxProSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtFoxProSpecialDateColumnFormat_Enter);
+ this.txtFoxProSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtFoxProSpecialDateColumnFormat_Leave);
+ //
+ // tabAccess
+ //
+ this.tabAccess.Controls.Add(this.label2);
+ this.tabAccess.Controls.Add(this.txtAccessSuffix);
+ this.tabAccess.Controls.Add(this.cbxAccessReadFolder);
+ this.tabAccess.Controls.Add(this.cbxAccessReadFile);
+ this.tabAccess.Controls.Add(this.txtAccessAutoSql);
+ this.tabAccess.Controls.Add(this.txtAccessAutoSqlName);
+ this.tabAccess.Controls.Add(this.label11);
+ this.tabAccess.Controls.Add(this.cbxAccessNewVersion);
+ this.tabAccess.Controls.Add(this.label15);
+ this.tabAccess.Controls.Add(this.label16);
+ this.tabAccess.Controls.Add(this.label21);
+ this.tabAccess.Controls.Add(this.txtAccessFileName);
+ this.tabAccess.Controls.Add(this.cbxAccessOldVersion);
+ this.tabAccess.Controls.Add(this.label31);
+ this.tabAccess.Controls.Add(this.txtAccessSpecialDateColumnFormat);
+ this.tabAccess.Location = new System.Drawing.Point(8, 45);
+ this.tabAccess.Name = "tabAccess";
+ this.tabAccess.Padding = new System.Windows.Forms.Padding(3);
+ this.tabAccess.Size = new System.Drawing.Size(920, 441);
+ this.tabAccess.TabIndex = 1;
+ this.tabAccess.Text = "Access";
+ this.tabAccess.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(106, 53);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(187, 31);
+ this.label2.TabIndex = 48;
+ this.label2.Text = "Access后缀名:";
+ //
+ // txtAccessSuffix
+ //
+ this.txtAccessSuffix.Location = new System.Drawing.Point(205, 50);
+ this.txtAccessSuffix.Name = "txtAccessSuffix";
+ this.txtAccessSuffix.Size = new System.Drawing.Size(230, 39);
+ this.txtAccessSuffix.TabIndex = 49;
+ this.txtAccessSuffix.Enter += new System.EventHandler(this.txtAccessSuffix_Enter);
+ this.txtAccessSuffix.Leave += new System.EventHandler(this.txtAccessSuffix_Leave);
+ //
+ // cbxAccessReadFolder
+ //
+ this.cbxAccessReadFolder.AutoSize = true;
+ this.cbxAccessReadFolder.Location = new System.Drawing.Point(290, 161);
+ this.cbxAccessReadFolder.Name = "cbxAccessReadFolder";
+ this.cbxAccessReadFolder.Size = new System.Drawing.Size(166, 35);
+ this.cbxAccessReadFolder.TabIndex = 47;
+ this.cbxAccessReadFolder.Text = "读取文件夹";
+ this.cbxAccessReadFolder.UseVisualStyleBackColor = true;
+ this.cbxAccessReadFolder.CheckedChanged += new System.EventHandler(this.cbxAccessReadFolder_CheckedChanged);
+ //
+ // cbxAccessReadFile
+ //
+ this.cbxAccessReadFile.AutoSize = true;
+ this.cbxAccessReadFile.Checked = true;
+ this.cbxAccessReadFile.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxAccessReadFile.Location = new System.Drawing.Point(208, 161);
+ this.cbxAccessReadFile.Name = "cbxAccessReadFile";
+ this.cbxAccessReadFile.Size = new System.Drawing.Size(142, 35);
+ this.cbxAccessReadFile.TabIndex = 46;
+ this.cbxAccessReadFile.Text = "读取文件";
+ this.cbxAccessReadFile.UseVisualStyleBackColor = true;
+ this.cbxAccessReadFile.CheckedChanged += new System.EventHandler(this.cbxAccessReadFile_CheckedChanged);
+ //
+ // txtAccessAutoSql
+ //
+ this.txtAccessAutoSql.Location = new System.Drawing.Point(205, 227);
+ this.txtAccessAutoSql.Multiline = true;
+ this.txtAccessAutoSql.Name = "txtAccessAutoSql";
+ this.txtAccessAutoSql.Size = new System.Drawing.Size(286, 75);
+ this.txtAccessAutoSql.TabIndex = 45;
+ this.txtAccessAutoSql.Enter += new System.EventHandler(this.txtAccessAutoSql_Enter);
+ this.txtAccessAutoSql.Leave += new System.EventHandler(this.txtAccessAutoSql_Leave);
+ //
+ // txtAccessAutoSqlName
+ //
+ this.txtAccessAutoSqlName.Location = new System.Drawing.Point(205, 195);
+ this.txtAccessAutoSqlName.Name = "txtAccessAutoSqlName";
+ this.txtAccessAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtAccessAutoSqlName.TabIndex = 43;
+ this.txtAccessAutoSqlName.Enter += new System.EventHandler(this.txtAccessAutoSqlName_Enter);
+ this.txtAccessAutoSqlName.Leave += new System.EventHandler(this.txtAccessAutoSqlName_Leave);
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Location = new System.Drawing.Point(97, 198);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(206, 31);
+ this.label11.TabIndex = 41;
+ this.label11.Text = "自定义查询语句:";
+ //
+ // cbxAccessNewVersion
+ //
+ this.cbxAccessNewVersion.AutoSize = true;
+ this.cbxAccessNewVersion.Location = new System.Drawing.Point(352, 14);
+ this.cbxAccessNewVersion.Name = "cbxAccessNewVersion";
+ this.cbxAccessNewVersion.Size = new System.Drawing.Size(268, 35);
+ this.cbxAccessNewVersion.TabIndex = 40;
+ this.cbxAccessNewVersion.Text = "office 2007以后版本";
+ this.cbxAccessNewVersion.UseVisualStyleBackColor = true;
+ this.cbxAccessNewVersion.CheckedChanged += new System.EventHandler(this.cbxAccessNewVersion_CheckedChanged);
+ //
+ // label15
+ //
+ this.label15.AutoSize = true;
+ this.label15.Location = new System.Drawing.Point(80, 15);
+ this.label15.Name = "label15";
+ this.label15.Size = new System.Drawing.Size(238, 31);
+ this.label15.TabIndex = 39;
+ this.label15.Text = "Office Access版本:";
+ //
+ // label16
+ //
+ this.label16.AutoSize = true;
+ this.label16.Location = new System.Drawing.Point(60, 161);
+ this.label16.Name = "label16";
+ this.label16.Size = new System.Drawing.Size(280, 31);
+ this.label16.TabIndex = 38;
+ this.label16.Text = "读取模式(文件/文件夹):";
+ //
+ // label21
+ //
+ this.label21.AutoSize = true;
+ this.label21.Location = new System.Drawing.Point(85, 127);
+ this.label21.Name = "label21";
+ this.label21.Size = new System.Drawing.Size(230, 31);
+ this.label21.TabIndex = 37;
+ this.label21.Text = "自定义文件名格式:";
+ //
+ // txtAccessFileName
+ //
+ this.txtAccessFileName.Location = new System.Drawing.Point(205, 124);
+ this.txtAccessFileName.Name = "txtAccessFileName";
+ this.txtAccessFileName.Size = new System.Drawing.Size(230, 39);
+ this.txtAccessFileName.TabIndex = 36;
+ this.txtAccessFileName.Enter += new System.EventHandler(this.txtAccessFileName_Enter);
+ this.txtAccessFileName.Leave += new System.EventHandler(this.txtAccessFileName_Leave);
+ //
+ // cbxAccessOldVersion
+ //
+ this.cbxAccessOldVersion.AutoSize = true;
+ this.cbxAccessOldVersion.Checked = true;
+ this.cbxAccessOldVersion.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxAccessOldVersion.Location = new System.Drawing.Point(206, 14);
+ this.cbxAccessOldVersion.Name = "cbxAccessOldVersion";
+ this.cbxAccessOldVersion.Size = new System.Drawing.Size(268, 35);
+ this.cbxAccessOldVersion.TabIndex = 33;
+ this.cbxAccessOldVersion.Text = "office 2007以前版本";
+ this.cbxAccessOldVersion.UseVisualStyleBackColor = true;
+ this.cbxAccessOldVersion.CheckedChanged += new System.EventHandler(this.cbxAccessOldVersion_CheckedChanged);
+ //
+ // label31
+ //
+ this.label31.AutoSize = true;
+ this.label31.Location = new System.Drawing.Point(97, 90);
+ this.label31.Name = "label31";
+ this.label31.Size = new System.Drawing.Size(206, 31);
+ this.label31.TabIndex = 34;
+ this.label31.Text = "日期列特殊格式:";
+ //
+ // txtAccessSpecialDateColumnFormat
+ //
+ this.txtAccessSpecialDateColumnFormat.Location = new System.Drawing.Point(205, 87);
+ this.txtAccessSpecialDateColumnFormat.Name = "txtAccessSpecialDateColumnFormat";
+ this.txtAccessSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtAccessSpecialDateColumnFormat.TabIndex = 35;
+ this.txtAccessSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtAccessSpecialDateColumnFormat_Enter);
+ this.txtAccessSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtAccessSpecialDateColumnFormat_Leave);
+ //
+ // tabSQLite
+ //
+ this.tabSQLite.Controls.Add(this.label5);
+ this.tabSQLite.Controls.Add(this.txtSqliteAutoSqlName);
+ this.tabSQLite.Controls.Add(this.cbxSqliteReadFolder);
+ this.tabSQLite.Controls.Add(this.txtSqliteAutoSql);
+ this.tabSQLite.Controls.Add(this.cbxSqliteReadFile);
+ this.tabSQLite.Controls.Add(this.label6);
+ this.tabSQLite.Controls.Add(this.label7);
+ this.tabSQLite.Controls.Add(this.txtSqliteFileNameFormat);
+ this.tabSQLite.Controls.Add(this.label8);
+ this.tabSQLite.Controls.Add(this.txtSqliteSpecialDateColumnFormat);
+ this.tabSQLite.Location = new System.Drawing.Point(8, 45);
+ this.tabSQLite.Name = "tabSQLite";
+ this.tabSQLite.Size = new System.Drawing.Size(920, 441);
+ this.tabSQLite.TabIndex = 2;
+ this.tabSQLite.Text = "SQLLite";
+ this.tabSQLite.UseVisualStyleBackColor = true;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(97, 123);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(206, 31);
+ this.label5.TabIndex = 76;
+ this.label5.Text = "自定义查询语句:";
+ //
+ // txtSqliteAutoSqlName
+ //
+ this.txtSqliteAutoSqlName.Location = new System.Drawing.Point(206, 120);
+ this.txtSqliteAutoSqlName.Name = "txtSqliteAutoSqlName";
+ this.txtSqliteAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtSqliteAutoSqlName.TabIndex = 72;
+ this.txtSqliteAutoSqlName.Enter += new System.EventHandler(this.txtSqliteAutoSqlName_Enter);
+ this.txtSqliteAutoSqlName.Leave += new System.EventHandler(this.txtSqliteAutoSqlName_Leave);
+ //
+ // cbxSqliteReadFolder
+ //
+ this.cbxSqliteReadFolder.AutoSize = true;
+ this.cbxSqliteReadFolder.Location = new System.Drawing.Point(288, 15);
+ this.cbxSqliteReadFolder.Name = "cbxSqliteReadFolder";
+ this.cbxSqliteReadFolder.Size = new System.Drawing.Size(166, 35);
+ this.cbxSqliteReadFolder.TabIndex = 75;
+ this.cbxSqliteReadFolder.Text = "读取文件夹";
+ this.cbxSqliteReadFolder.UseVisualStyleBackColor = true;
+ this.cbxSqliteReadFolder.CheckedChanged += new System.EventHandler(this.cbxSqliteReadFolder_CheckedChanged);
+ //
+ // txtSqliteAutoSql
+ //
+ this.txtSqliteAutoSql.Location = new System.Drawing.Point(206, 151);
+ this.txtSqliteAutoSql.Multiline = true;
+ this.txtSqliteAutoSql.Name = "txtSqliteAutoSql";
+ this.txtSqliteAutoSql.Size = new System.Drawing.Size(230, 76);
+ this.txtSqliteAutoSql.TabIndex = 73;
+ this.txtSqliteAutoSql.Enter += new System.EventHandler(this.txtSqliteAutoSql_Enter);
+ this.txtSqliteAutoSql.Leave += new System.EventHandler(this.txtSqliteAutoSql_Leave);
+ //
+ // cbxSqliteReadFile
+ //
+ this.cbxSqliteReadFile.AutoSize = true;
+ this.cbxSqliteReadFile.Checked = true;
+ this.cbxSqliteReadFile.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxSqliteReadFile.Location = new System.Drawing.Point(206, 15);
+ this.cbxSqliteReadFile.Name = "cbxSqliteReadFile";
+ this.cbxSqliteReadFile.Size = new System.Drawing.Size(142, 35);
+ this.cbxSqliteReadFile.TabIndex = 74;
+ this.cbxSqliteReadFile.Text = "读取文件";
+ this.cbxSqliteReadFile.UseVisualStyleBackColor = true;
+ this.cbxSqliteReadFile.CheckedChanged += new System.EventHandler(this.cbxSqliteReadFile_CheckedChanged);
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(60, 16);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(280, 31);
+ this.label6.TabIndex = 71;
+ this.label6.Text = "读取模式(文件/文件夹):";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Location = new System.Drawing.Point(85, 88);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(230, 31);
+ this.label7.TabIndex = 70;
+ this.label7.Text = "自定义文件名格式:";
+ //
+ // txtSqliteFileNameFormat
+ //
+ this.txtSqliteFileNameFormat.Location = new System.Drawing.Point(206, 85);
+ this.txtSqliteFileNameFormat.Name = "txtSqliteFileNameFormat";
+ this.txtSqliteFileNameFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtSqliteFileNameFormat.TabIndex = 69;
+ this.txtSqliteFileNameFormat.Enter += new System.EventHandler(this.txtSqliteFileNameFormat_Enter);
+ this.txtSqliteFileNameFormat.Leave += new System.EventHandler(this.txtSqliteFileNameFormat_Leave);
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Location = new System.Drawing.Point(97, 53);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(206, 31);
+ this.label8.TabIndex = 67;
+ this.label8.Text = "日期列特殊格式:";
+ //
+ // txtSqliteSpecialDateColumnFormat
+ //
+ this.txtSqliteSpecialDateColumnFormat.Location = new System.Drawing.Point(206, 50);
+ this.txtSqliteSpecialDateColumnFormat.Name = "txtSqliteSpecialDateColumnFormat";
+ this.txtSqliteSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtSqliteSpecialDateColumnFormat.TabIndex = 68;
+ this.txtSqliteSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtSqliteSpecialDateColumnFormat_Enter);
+ this.txtSqliteSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtSqliteSpecialDateColumnFormat_Leave);
+ //
+ // tabSQLServer
+ //
+ this.tabSQLServer.Controls.Add(this.label9);
+ this.tabSQLServer.Controls.Add(this.txtSqlServerAutoSqlName);
+ this.tabSQLServer.Controls.Add(this.txtSqlServerAutoSql);
+ this.tabSQLServer.Controls.Add(this.label12);
+ this.tabSQLServer.Controls.Add(this.txtSqlServerConnection);
+ this.tabSQLServer.Controls.Add(this.label13);
+ this.tabSQLServer.Controls.Add(this.txtSqlServerSpecialDateColumnFormat);
+ this.tabSQLServer.Location = new System.Drawing.Point(8, 45);
+ this.tabSQLServer.Name = "tabSQLServer";
+ this.tabSQLServer.Size = new System.Drawing.Size(920, 441);
+ this.tabSQLServer.TabIndex = 3;
+ this.tabSQLServer.Text = "SQL Server";
+ this.tabSQLServer.UseVisualStyleBackColor = true;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Location = new System.Drawing.Point(98, 116);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(206, 31);
+ this.label9.TabIndex = 76;
+ this.label9.Text = "自定义查询语句:";
+ //
+ // txtSqlServerAutoSqlName
+ //
+ this.txtSqlServerAutoSqlName.Location = new System.Drawing.Point(208, 113);
+ this.txtSqlServerAutoSqlName.Name = "txtSqlServerAutoSqlName";
+ this.txtSqlServerAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtSqlServerAutoSqlName.TabIndex = 72;
+ this.txtSqlServerAutoSqlName.Enter += new System.EventHandler(this.txtSqlServerAutoSqlName_Enter);
+ this.txtSqlServerAutoSqlName.Leave += new System.EventHandler(this.txtSqlServerAutoSqlName_Leave);
+ //
+ // txtSqlServerAutoSql
+ //
+ this.txtSqlServerAutoSql.Location = new System.Drawing.Point(208, 145);
+ this.txtSqlServerAutoSql.Multiline = true;
+ this.txtSqlServerAutoSql.Name = "txtSqlServerAutoSql";
+ this.txtSqlServerAutoSql.Size = new System.Drawing.Size(230, 60);
+ this.txtSqlServerAutoSql.TabIndex = 73;
+ this.txtSqlServerAutoSql.Enter += new System.EventHandler(this.txtSqlServerAutoSql_Enter);
+ this.txtSqlServerAutoSql.Leave += new System.EventHandler(this.txtSqlServerAutoSql_Leave);
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Location = new System.Drawing.Point(86, 53);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(230, 31);
+ this.label12.TabIndex = 70;
+ this.label12.Text = "自定义连接字符串:";
+ //
+ // txtSqlServerConnection
+ //
+ this.txtSqlServerConnection.Location = new System.Drawing.Point(208, 50);
+ this.txtSqlServerConnection.Multiline = true;
+ this.txtSqlServerConnection.Name = "txtSqlServerConnection";
+ this.txtSqlServerConnection.Size = new System.Drawing.Size(230, 51);
+ this.txtSqlServerConnection.TabIndex = 69;
+ this.txtSqlServerConnection.Enter += new System.EventHandler(this.txtSqlServerConnection_Enter);
+ this.txtSqlServerConnection.Leave += new System.EventHandler(this.txtSqlServerConnection_Leave);
+ //
+ // label13
+ //
+ this.label13.AutoSize = true;
+ this.label13.Location = new System.Drawing.Point(98, 18);
+ this.label13.Name = "label13";
+ this.label13.Size = new System.Drawing.Size(206, 31);
+ this.label13.TabIndex = 67;
+ this.label13.Text = "日期列特殊格式:";
+ //
+ // txtSqlServerSpecialDateColumnFormat
+ //
+ this.txtSqlServerSpecialDateColumnFormat.Location = new System.Drawing.Point(208, 15);
+ this.txtSqlServerSpecialDateColumnFormat.Name = "txtSqlServerSpecialDateColumnFormat";
+ this.txtSqlServerSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtSqlServerSpecialDateColumnFormat.TabIndex = 68;
+ this.txtSqlServerSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtSqlServerSpecialDateColumnFormat_Enter);
+ this.txtSqlServerSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtSqlServerSpecialDateColumnFormat_Leave);
+ //
+ // tabMySql
+ //
+ this.tabMySql.Controls.Add(this.label14);
+ this.tabMySql.Controls.Add(this.txtMySqlAutoSqlName);
+ this.tabMySql.Controls.Add(this.txtMySqlAutoSql);
+ this.tabMySql.Controls.Add(this.label18);
+ this.tabMySql.Controls.Add(this.txtMySqlSpecialDateColumnFormat);
+ this.tabMySql.Location = new System.Drawing.Point(8, 45);
+ this.tabMySql.Name = "tabMySql";
+ this.tabMySql.Size = new System.Drawing.Size(920, 441);
+ this.tabMySql.TabIndex = 4;
+ this.tabMySql.Text = "MySql";
+ this.tabMySql.UseVisualStyleBackColor = true;
+ //
+ // label14
+ //
+ this.label14.AutoSize = true;
+ this.label14.Location = new System.Drawing.Point(99, 60);
+ this.label14.Name = "label14";
+ this.label14.Size = new System.Drawing.Size(206, 31);
+ this.label14.TabIndex = 86;
+ this.label14.Text = "自定义查询语句:";
+ //
+ // txtMySqlAutoSqlName
+ //
+ this.txtMySqlAutoSqlName.Location = new System.Drawing.Point(207, 57);
+ this.txtMySqlAutoSqlName.Name = "txtMySqlAutoSqlName";
+ this.txtMySqlAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtMySqlAutoSqlName.TabIndex = 84;
+ this.txtMySqlAutoSqlName.Enter += new System.EventHandler(this.txtMySqlAutoSqlName_Enter);
+ this.txtMySqlAutoSqlName.Leave += new System.EventHandler(this.txtMySqlAutoSqlName_Leave);
+ //
+ // txtMySqlAutoSql
+ //
+ this.txtMySqlAutoSql.Location = new System.Drawing.Point(207, 89);
+ this.txtMySqlAutoSql.Multiline = true;
+ this.txtMySqlAutoSql.Name = "txtMySqlAutoSql";
+ this.txtMySqlAutoSql.Size = new System.Drawing.Size(230, 72);
+ this.txtMySqlAutoSql.TabIndex = 85;
+ this.txtMySqlAutoSql.Enter += new System.EventHandler(this.txtMySqlAutoSql_Enter);
+ this.txtMySqlAutoSql.Leave += new System.EventHandler(this.txtMySqlAutoSql_Leave);
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.Location = new System.Drawing.Point(97, 25);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(206, 31);
+ this.label18.TabIndex = 80;
+ this.label18.Text = "日期列特殊格式:";
+ //
+ // txtMySqlSpecialDateColumnFormat
+ //
+ this.txtMySqlSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 22);
+ this.txtMySqlSpecialDateColumnFormat.Name = "txtMySqlSpecialDateColumnFormat";
+ this.txtMySqlSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtMySqlSpecialDateColumnFormat.TabIndex = 81;
+ this.txtMySqlSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtMySqlSpecialDateColumnFormat_Enter);
+ this.txtMySqlSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtMySqlSpecialDateColumnFormat_Leave);
+ //
+ // tabOracle
+ //
+ this.tabOracle.Controls.Add(this.label4);
+ this.tabOracle.Controls.Add(this.txtOracleAutoSqlName);
+ this.tabOracle.Controls.Add(this.txtOracleAutoSql);
+ this.tabOracle.Controls.Add(this.label10);
+ this.tabOracle.Controls.Add(this.txtOracleSpecialDateColumnFormat);
+ this.tabOracle.Location = new System.Drawing.Point(8, 45);
+ this.tabOracle.Name = "tabOracle";
+ this.tabOracle.Padding = new System.Windows.Forms.Padding(3);
+ this.tabOracle.Size = new System.Drawing.Size(920, 441);
+ this.tabOracle.TabIndex = 5;
+ this.tabOracle.Text = "Oracle";
+ this.tabOracle.UseVisualStyleBackColor = true;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(102, 65);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(206, 31);
+ this.label4.TabIndex = 91;
+ this.label4.Text = "自定义查询语句:";
+ //
+ // txtOracleAutoSqlName
+ //
+ this.txtOracleAutoSqlName.Location = new System.Drawing.Point(210, 62);
+ this.txtOracleAutoSqlName.Name = "txtOracleAutoSqlName";
+ this.txtOracleAutoSqlName.Size = new System.Drawing.Size(230, 39);
+ this.txtOracleAutoSqlName.TabIndex = 89;
+ this.txtOracleAutoSqlName.Enter += new System.EventHandler(this.txtOracleAutoSqlName_Enter);
+ this.txtOracleAutoSqlName.Leave += new System.EventHandler(this.txtOracleAutoSqlName_Leave);
+ //
+ // txtOracleAutoSql
+ //
+ this.txtOracleAutoSql.Location = new System.Drawing.Point(210, 94);
+ this.txtOracleAutoSql.Multiline = true;
+ this.txtOracleAutoSql.Name = "txtOracleAutoSql";
+ this.txtOracleAutoSql.Size = new System.Drawing.Size(230, 72);
+ this.txtOracleAutoSql.TabIndex = 90;
+ this.txtOracleAutoSql.Enter += new System.EventHandler(this.txtOracleAutoSql_Enter);
+ this.txtOracleAutoSql.Leave += new System.EventHandler(this.txtOracleAutoSql_Leave);
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Location = new System.Drawing.Point(97, 30);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(206, 31);
+ this.label10.TabIndex = 87;
+ this.label10.Text = "日期列特殊格式:";
+ //
+ // txtOracleSpecialDateColumnFormat
+ //
+ this.txtOracleSpecialDateColumnFormat.Location = new System.Drawing.Point(210, 27);
+ this.txtOracleSpecialDateColumnFormat.Name = "txtOracleSpecialDateColumnFormat";
+ this.txtOracleSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtOracleSpecialDateColumnFormat.TabIndex = 88;
+ this.txtOracleSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtOracleSpecialDateColumnFormat_Enter);
+ this.txtOracleSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtOracleSpecialDateColumnFormat_Leave);
+ //
+ // tabTxt
+ //
+ this.tabTxt.Controls.Add(this.cbxNormalFileNoCustomDate);
+ this.tabTxt.Controls.Add(this.cbxNormalFileCustomDate);
+ this.tabTxt.Controls.Add(this.numNormalFileStartIndex);
+ this.tabTxt.Controls.Add(this.label20);
+ this.tabTxt.Controls.Add(this.label19);
+ this.tabTxt.Controls.Add(this.label17);
+ this.tabTxt.Controls.Add(this.txtNormalFileReadSplitMode);
+ this.tabTxt.Controls.Add(this.label30);
+ this.tabTxt.Controls.Add(this.txtNormalFileReadDataMode);
+ this.tabTxt.Controls.Add(this.label29);
+ this.tabTxt.Controls.Add(this.txtNormalFileSuffix);
+ this.tabTxt.Controls.Add(this.cbxNormalFileReadFolder);
+ this.tabTxt.Controls.Add(this.cbxNormalFileReadFile);
+ this.tabTxt.Controls.Add(this.label25);
+ this.tabTxt.Controls.Add(this.label26);
+ this.tabTxt.Controls.Add(this.txtNormalFileNameFormat);
+ this.tabTxt.Controls.Add(this.label28);
+ this.tabTxt.Controls.Add(this.txtNormalFileSpecialDateColumnFormat);
+ this.tabTxt.Location = new System.Drawing.Point(8, 45);
+ this.tabTxt.Name = "tabTxt";
+ this.tabTxt.Padding = new System.Windows.Forms.Padding(3);
+ this.tabTxt.Size = new System.Drawing.Size(920, 441);
+ this.tabTxt.TabIndex = 7;
+ this.tabTxt.Text = "TXT";
+ this.tabTxt.UseVisualStyleBackColor = true;
+ //
+ // cbxNormalFileNoCustomDate
+ //
+ this.cbxNormalFileNoCustomDate.AutoSize = true;
+ this.cbxNormalFileNoCustomDate.Checked = true;
+ this.cbxNormalFileNoCustomDate.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxNormalFileNoCustomDate.Location = new System.Drawing.Point(270, 283);
+ this.cbxNormalFileNoCustomDate.Name = "cbxNormalFileNoCustomDate";
+ this.cbxNormalFileNoCustomDate.Size = new System.Drawing.Size(70, 35);
+ this.cbxNormalFileNoCustomDate.TabIndex = 67;
+ this.cbxNormalFileNoCustomDate.Text = "否";
+ this.cbxNormalFileNoCustomDate.UseVisualStyleBackColor = true;
+ this.cbxNormalFileNoCustomDate.CheckedChanged += new System.EventHandler(this.cbxNormalFileNoCustomDate_CheckedChanged);
+ //
+ // cbxNormalFileCustomDate
+ //
+ this.cbxNormalFileCustomDate.AutoSize = true;
+ this.cbxNormalFileCustomDate.Location = new System.Drawing.Point(208, 283);
+ this.cbxNormalFileCustomDate.Name = "cbxNormalFileCustomDate";
+ this.cbxNormalFileCustomDate.Size = new System.Drawing.Size(70, 35);
+ this.cbxNormalFileCustomDate.TabIndex = 66;
+ this.cbxNormalFileCustomDate.Text = "是";
+ this.cbxNormalFileCustomDate.UseVisualStyleBackColor = true;
+ this.cbxNormalFileCustomDate.CheckedChanged += new System.EventHandler(this.cbxNormalFileCustomDate_CheckedChanged);
+ //
+ // numNormalFileStartIndex
+ //
+ this.numNormalFileStartIndex.Location = new System.Drawing.Point(208, 248);
+ this.numNormalFileStartIndex.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.numNormalFileStartIndex.Name = "numNormalFileStartIndex";
+ this.numNormalFileStartIndex.Size = new System.Drawing.Size(120, 39);
+ this.numNormalFileStartIndex.TabIndex = 65;
+ this.numNormalFileStartIndex.Value = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ //
+ // label20
+ //
+ this.label20.AutoSize = true;
+ this.label20.Location = new System.Drawing.Point(61, 283);
+ this.label20.Name = "label20";
+ this.label20.Size = new System.Drawing.Size(278, 31);
+ this.label20.TabIndex = 64;
+ this.label20.Text = "是否由系统创建日期列:";
+ //
+ // label19
+ //
+ this.label19.AutoSize = true;
+ this.label19.Location = new System.Drawing.Point(97, 248);
+ this.label19.Name = "label19";
+ this.label19.Size = new System.Drawing.Size(206, 31);
+ this.label19.TabIndex = 62;
+ this.label19.Text = "数据行起始行号:";
+ //
+ // label17
+ //
+ this.label17.AutoSize = true;
+ this.label17.Location = new System.Drawing.Point(97, 209);
+ this.label17.Name = "label17";
+ this.label17.Size = new System.Drawing.Size(206, 31);
+ this.label17.TabIndex = 60;
+ this.label17.Text = "分割数据行选型:";
+ //
+ // txtNormalFileReadSplitMode
+ //
+ this.txtNormalFileReadSplitMode.Location = new System.Drawing.Point(207, 206);
+ this.txtNormalFileReadSplitMode.Name = "txtNormalFileReadSplitMode";
+ this.txtNormalFileReadSplitMode.Size = new System.Drawing.Size(230, 39);
+ this.txtNormalFileReadSplitMode.TabIndex = 59;
+ this.txtNormalFileReadSplitMode.Enter += new System.EventHandler(this.txtNormalFileReadSplitMode_Enter);
+ this.txtNormalFileReadSplitMode.Leave += new System.EventHandler(this.txtNormalFileReadSplitMode_Leave);
+ //
+ // label30
+ //
+ this.label30.AutoSize = true;
+ this.label30.Location = new System.Drawing.Point(109, 170);
+ this.label30.Name = "label30";
+ this.label30.Size = new System.Drawing.Size(182, 31);
+ this.label30.TabIndex = 58;
+ this.label30.Text = "读取方法选型:";
+ //
+ // txtNormalFileReadDataMode
+ //
+ this.txtNormalFileReadDataMode.Location = new System.Drawing.Point(207, 167);
+ this.txtNormalFileReadDataMode.Name = "txtNormalFileReadDataMode";
+ this.txtNormalFileReadDataMode.Size = new System.Drawing.Size(230, 39);
+ this.txtNormalFileReadDataMode.TabIndex = 57;
+ this.txtNormalFileReadDataMode.Enter += new System.EventHandler(this.txtNormalFileReadDataMode_Enter);
+ this.txtNormalFileReadDataMode.Leave += new System.EventHandler(this.txtNormalFileReadDataMode_Leave);
+ //
+ // label29
+ //
+ this.label29.AutoSize = true;
+ this.label29.Location = new System.Drawing.Point(85, 132);
+ this.label29.Name = "label29";
+ this.label29.Size = new System.Drawing.Size(230, 31);
+ this.label29.TabIndex = 56;
+ this.label29.Text = "自定义文件后缀名:";
+ //
+ // txtNormalFileSuffix
+ //
+ this.txtNormalFileSuffix.Location = new System.Drawing.Point(207, 129);
+ this.txtNormalFileSuffix.Name = "txtNormalFileSuffix";
+ this.txtNormalFileSuffix.Size = new System.Drawing.Size(230, 39);
+ this.txtNormalFileSuffix.TabIndex = 55;
+ this.txtNormalFileSuffix.Enter += new System.EventHandler(this.txtNormalFileSuffix_Enter);
+ this.txtNormalFileSuffix.Leave += new System.EventHandler(this.txtNormalFileSuffix_Leave);
+ //
+ // cbxNormalFileReadFolder
+ //
+ this.cbxNormalFileReadFolder.AutoSize = true;
+ this.cbxNormalFileReadFolder.Location = new System.Drawing.Point(288, 20);
+ this.cbxNormalFileReadFolder.Name = "cbxNormalFileReadFolder";
+ this.cbxNormalFileReadFolder.Size = new System.Drawing.Size(166, 35);
+ this.cbxNormalFileReadFolder.TabIndex = 54;
+ this.cbxNormalFileReadFolder.Text = "读取文件夹";
+ this.cbxNormalFileReadFolder.UseVisualStyleBackColor = true;
+ this.cbxNormalFileReadFolder.CheckedChanged += new System.EventHandler(this.cbxNormalFileReadFolder_CheckedChanged);
+ //
+ // cbxNormalFileReadFile
+ //
+ this.cbxNormalFileReadFile.AutoSize = true;
+ this.cbxNormalFileReadFile.Checked = true;
+ this.cbxNormalFileReadFile.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxNormalFileReadFile.Location = new System.Drawing.Point(207, 20);
+ this.cbxNormalFileReadFile.Name = "cbxNormalFileReadFile";
+ this.cbxNormalFileReadFile.Size = new System.Drawing.Size(142, 35);
+ this.cbxNormalFileReadFile.TabIndex = 53;
+ this.cbxNormalFileReadFile.Text = "读取文件";
+ this.cbxNormalFileReadFile.UseVisualStyleBackColor = true;
+ this.cbxNormalFileReadFile.CheckedChanged += new System.EventHandler(this.cbxNormalFileReadFile_CheckedChanged);
+ //
+ // label25
+ //
+ this.label25.AutoSize = true;
+ this.label25.Location = new System.Drawing.Point(60, 20);
+ this.label25.Name = "label25";
+ this.label25.Size = new System.Drawing.Size(280, 31);
+ this.label25.TabIndex = 52;
+ this.label25.Text = "读取模式(文件/文件夹):";
+ //
+ // label26
+ //
+ this.label26.AutoSize = true;
+ this.label26.Location = new System.Drawing.Point(85, 93);
+ this.label26.Name = "label26";
+ this.label26.Size = new System.Drawing.Size(230, 31);
+ this.label26.TabIndex = 51;
+ this.label26.Text = "自定义文件名格式:";
+ //
+ // txtNormalFileNameFormat
+ //
+ this.txtNormalFileNameFormat.Location = new System.Drawing.Point(207, 90);
+ this.txtNormalFileNameFormat.Name = "txtNormalFileNameFormat";
+ this.txtNormalFileNameFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtNormalFileNameFormat.TabIndex = 50;
+ this.txtNormalFileNameFormat.Enter += new System.EventHandler(this.txtNormalFileNameFormat_Enter);
+ this.txtNormalFileNameFormat.Leave += new System.EventHandler(this.txtNormalFileNameFormat_Leave);
+ //
+ // label28
+ //
+ this.label28.AutoSize = true;
+ this.label28.Location = new System.Drawing.Point(97, 56);
+ this.label28.Name = "label28";
+ this.label28.Size = new System.Drawing.Size(206, 31);
+ this.label28.TabIndex = 48;
+ this.label28.Text = "日期列特殊格式:";
+ //
+ // txtNormalFileSpecialDateColumnFormat
+ //
+ this.txtNormalFileSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 53);
+ this.txtNormalFileSpecialDateColumnFormat.Name = "txtNormalFileSpecialDateColumnFormat";
+ this.txtNormalFileSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39);
+ this.txtNormalFileSpecialDateColumnFormat.TabIndex = 49;
+ this.txtNormalFileSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtNormalFileSpecialDateColumnFormat_Enter);
+ this.txtNormalFileSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtNormalFileSpecialDateColumnFormat_Leave);
+ //
+ // pnlAll
+ //
+ this.pnlAll.Controls.Add(this.pnlCenter);
+ this.pnlAll.Controls.Add(this.pnlBottom);
+ this.pnlAll.Controls.Add(this.pnlTop);
+ this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlAll.Location = new System.Drawing.Point(0, 0);
+ this.pnlAll.Name = "pnlAll";
+ this.pnlAll.Size = new System.Drawing.Size(936, 546);
+ this.pnlAll.TabIndex = 1;
+ //
+ // frmSourceSetting
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 31F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(936, 546);
+ this.Controls.Add(this.pnlAll);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.Name = "frmSourceSetting";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "数据来源设置";
+ this.Load += new System.EventHandler(this.frmSourceSetting_Load);
+ this.Shown += new System.EventHandler(this.frmSourceSetting_Shown);
+ this.Resize += new System.EventHandler(this.frmSourceSetting_Resize);
+ this.pnlBottom.ResumeLayout(false);
+ this.pnlCenter.ResumeLayout(false);
+ this.tabcDS.ResumeLayout(false);
+ this.tabExcel.ResumeLayout(false);
+ this.tabExcel.PerformLayout();
+ this.tabFoxPro.ResumeLayout(false);
+ this.tabFoxPro.PerformLayout();
+ this.tabAccess.ResumeLayout(false);
+ this.tabAccess.PerformLayout();
+ this.tabSQLite.ResumeLayout(false);
+ this.tabSQLite.PerformLayout();
+ this.tabSQLServer.ResumeLayout(false);
+ this.tabSQLServer.PerformLayout();
+ this.tabMySql.ResumeLayout(false);
+ this.tabMySql.PerformLayout();
+ this.tabOracle.ResumeLayout(false);
+ this.tabOracle.PerformLayout();
+ this.tabTxt.ResumeLayout(false);
+ this.tabTxt.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numNormalFileStartIndex)).EndInit();
+ this.pnlAll.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Panel pnlBottom;
+ private System.Windows.Forms.Panel pnlTop;
+ private System.Windows.Forms.Panel pnlCenter;
+ private System.Windows.Forms.Panel pnlAll;
+ private System.Windows.Forms.TabControl tabcDS;
+ private System.Windows.Forms.TabPage tabExcel;
+ private System.Windows.Forms.Label label22;
+ private System.Windows.Forms.Label lblExcelRemotePwd;
+ private System.Windows.Forms.Label lblExcelRemoteUser;
+ private System.Windows.Forms.TextBox txtExcelFileNameFormat;
+ private System.Windows.Forms.CheckBox cbxExcelOldVersion;
+ private System.Windows.Forms.Label lbExcelDateFormat;
+ private System.Windows.Forms.TextBox txtExcelSpecialDateColumnFormat;
+ private System.Windows.Forms.TabPage tabFoxPro;
+ private System.Windows.Forms.TabPage tabAccess;
+ private System.Windows.Forms.TabPage tabSQLite;
+ private System.Windows.Forms.TabPage tabSQLServer;
+ private System.Windows.Forms.TabPage tabMySql;
+ private System.Windows.Forms.TabPage tabOracle;
+ private System.Windows.Forms.TabPage tabTxt;
+ private System.Windows.Forms.CheckBox cbxExcelReadFolder;
+ private System.Windows.Forms.CheckBox cbxExcelReadFile;
+ private System.Windows.Forms.CheckBox cbxExcelNewVersion;
+ private System.Windows.Forms.CheckBox cbxAccessReadFolder;
+ private System.Windows.Forms.CheckBox cbxAccessReadFile;
+ private System.Windows.Forms.TextBox txtAccessAutoSql;
+ private System.Windows.Forms.TextBox txtAccessAutoSqlName;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.CheckBox cbxAccessNewVersion;
+ private System.Windows.Forms.Label label15;
+ private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.Label label21;
+ private System.Windows.Forms.TextBox txtAccessFileName;
+ private System.Windows.Forms.CheckBox cbxAccessOldVersion;
+ private System.Windows.Forms.Label label31;
+ private System.Windows.Forms.TextBox txtAccessSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label33;
+ private System.Windows.Forms.TextBox txtFoxProAutoSqlName;
+ private System.Windows.Forms.CheckBox cbxFoxProReadFolder;
+ private System.Windows.Forms.TextBox txtFoxProAutoSql;
+ private System.Windows.Forms.CheckBox cbxFoxProReadFile;
+ private System.Windows.Forms.Label label35;
+ private System.Windows.Forms.Label label38;
+ private System.Windows.Forms.TextBox txtFoxProFileNameFormat;
+ private System.Windows.Forms.Label label39;
+ private System.Windows.Forms.TextBox txtFoxProSpecialDateColumnFormat;
+ private System.Windows.Forms.TextBox txtFoxProSpecialMethodName;
+ private System.Windows.Forms.TextBox txtFoxProSpecialMethod;
+ private System.Windows.Forms.Label label27;
+ private System.Windows.Forms.TextBox txtExcelAutoSql;
+ private System.Windows.Forms.TextBox txtExcelAutoSqlName;
+ private System.Windows.Forms.Label lbExcelDynQuery;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox txtSqliteAutoSqlName;
+ private System.Windows.Forms.CheckBox cbxSqliteReadFolder;
+ private System.Windows.Forms.TextBox txtSqliteAutoSql;
+ private System.Windows.Forms.CheckBox cbxSqliteReadFile;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.TextBox txtSqliteFileNameFormat;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.TextBox txtSqliteSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.TextBox txtSqlServerAutoSqlName;
+ private System.Windows.Forms.TextBox txtSqlServerAutoSql;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.TextBox txtSqlServerConnection;
+ private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.TextBox txtSqlServerSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label14;
+ private System.Windows.Forms.TextBox txtMySqlAutoSqlName;
+ private System.Windows.Forms.TextBox txtMySqlAutoSql;
+ private System.Windows.Forms.Label label18;
+ private System.Windows.Forms.TextBox txtMySqlSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label30;
+ private System.Windows.Forms.TextBox txtNormalFileReadDataMode;
+ private System.Windows.Forms.Label label29;
+ private System.Windows.Forms.TextBox txtNormalFileSuffix;
+ private System.Windows.Forms.CheckBox cbxNormalFileReadFolder;
+ private System.Windows.Forms.CheckBox cbxNormalFileReadFile;
+ private System.Windows.Forms.Label label25;
+ private System.Windows.Forms.Label label26;
+ private System.Windows.Forms.TextBox txtNormalFileNameFormat;
+ private System.Windows.Forms.Label label28;
+ private System.Windows.Forms.TextBox txtNormalFileSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtAccessSuffix;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox txtOracleAutoSqlName;
+ private System.Windows.Forms.TextBox txtOracleAutoSql;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.TextBox txtOracleSpecialDateColumnFormat;
+ private System.Windows.Forms.Label label20;
+ private System.Windows.Forms.Label label19;
+ private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.TextBox txtNormalFileReadSplitMode;
+ private System.Windows.Forms.CheckBox cbxNormalFileNoCustomDate;
+ private System.Windows.Forms.CheckBox cbxNormalFileCustomDate;
+ private System.Windows.Forms.NumericUpDown numNormalFileStartIndex;
+ }
+}
\ No newline at end of file
diff --git a/CNAS_DBSync/frmSourceSetting.cs b/CNAS_DBSync/frmSourceSetting.cs
new file mode 100644
index 0000000..e59484b
--- /dev/null
+++ b/CNAS_DBSync/frmSourceSetting.cs
@@ -0,0 +1,994 @@
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace CNAS_DBSync
+{
+ public partial class frmSourceSetting : Form
+ {
+ public AccessFormatConfig AccessFormat { get; set; }
+ public ExcelFormatConfig ExcelFormat { get; set; }
+ public FoxProFormatConfig FoxProFormat { get; set; }
+ public SqliteFormatConfig SqliteFormat { get; set; }
+ public SqlServerFormatConfig SqlServerFormat { get; set; }
+ public OracleFormatConfig OracleFormat { get; set; }
+ public MySqlFormatConfig MySqlFormat { get; set; }
+ public NormalFileFormatConfig NormalFileFormat { get; set; }
+
+ //用来记录tablepage是否加载过,如果没有加载过,存储时不做处理
+ private List lstLoadingSource = new List();
+
+ public frmSourceSetting()
+ {
+ InitializeComponent();
+ }
+
+ private void frmSourceSetting_Load(object sender, EventArgs e)
+ {
+ //获取已经存储的数据,初始化各种类型的参数类
+
+ ExcelFormat= FileOperation.GetFormatConfigData("ExcelFormatConfig.xml");
+ AccessFormat = FileOperation.GetFormatConfigData("AccessFormatConfig.xml");
+ FoxProFormat= FileOperation.GetFormatConfigData("FoxProFormatConfig.xml");
+ SqliteFormat= FileOperation.GetFormatConfigData("SqliteFormatConfig.xml");
+
+ SqlServerFormat= FileOperation.GetFormatConfigData("SqlServerFormatConfig.xml");
+ OracleFormat = FileOperation.GetFormatConfigData("OracleFormatConfig.xml");
+ MySqlFormat = FileOperation.GetFormatConfigData("MySqlFormatConfig.xml");
+ NormalFileFormat = FileOperation.GetFormatConfigData("NormalFileFormatConfig.xml");
+
+ //默认加载第一个tablepage
+ LoadExcelControlData();
+ }
+
+ private void tabcDS_Selected(object sender, TabControlEventArgs e)
+ {
+ switch (e.TabPageIndex)
+ {
+ case 0:
+ //切换到Excel时的操作
+ LoadExcelControlData();
+ break;
+ case 1:
+ //切换到FoxPro时的操作
+ LoadFoxProControlData();
+ break;
+ case 2:
+ //切换到Access时的操作
+ LoadAccessControlData();
+ break;
+ case 3:
+ //切换到Sqlite时的操作
+ LoadSqliteControlData();
+ break;
+ case 4:
+ //切换到SQLServer时的操作
+ LoadSqlServerData();
+ break;
+ case 5:
+ //切换到MySQL时的操作
+ LoadMySqlControlData();
+ break;
+ case 6:
+ //切换到Oracle时的操作
+ LoadOracleControlData();
+ break;
+ case 7:
+ //切换到Txt时的操作
+ LoadNormalFileControlData();
+ break;
+ }
+ }
+
+ private void LoadNormalFileControlData()
+ {
+ this.cbxNormalFileReadFile.Checked = NormalFileFormat.ReadNormalFileMode == "0" ? true : false;
+ this.cbxNormalFileReadFolder.Checked = !this.cbxNormalFileReadFile.Checked;
+
+ this.txtNormalFileSpecialDateColumnFormat.Text = NormalFileFormat.NormalFileDateColumnFormat ?? "";
+ this.txtNormalFileNameFormat.Text = NormalFileFormat.NormalFileNameFormat ?? "";
+
+ this.txtNormalFileReadDataMode.Text = NormalFileFormat.NormalFileDataMode ?? "";
+ this.txtNormalFileSuffix.Text = NormalFileFormat.NormalFileSuffix ?? "";
+
+ this.txtNormalFileReadSplitMode.Text = NormalFileFormat.NormalFileSplitType ?? "";
+
+ //显示数字
+ int showValue = 1;
+ if (NormalFileFormat.NormalFileStartLineIndex != null)
+ {
+ Int32.TryParse(NormalFileFormat.NormalFileStartLineIndex, out showValue);
+ }
+ this.numNormalFileStartIndex.Value = showValue;
+
+ this.cbxNormalFileCustomDate.Checked = NormalFileFormat.IfCustomCreateDateColumn == "0" ? true : false;
+ this.cbxNormalFileNoCustomDate.Checked = !this.cbxNormalFileCustomDate.Checked;
+
+ DefaultTextBoxShowLeaveValue(txtNormalFileSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtNormalFileSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtNormalFileNameFormat, SourceSettingTextBoxDecrible.txtNormalFileNameFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtNormalFileReadDataMode, SourceSettingTextBoxDecrible.txtNormalFileReadDataMode_Decrible);
+ DefaultTextBoxShowLeaveValue(txtNormalFileSuffix, SourceSettingTextBoxDecrible.txtNormalFileSuffix_Decrible);
+ DefaultTextBoxShowLeaveValue(txtNormalFileReadSplitMode, SourceSettingTextBoxDecrible.txtNormalFileReadSplitMode_Decrible);
+
+ if (!lstLoadingSource.Contains("NormalFileFormat")) lstLoadingSource.Add("NormalFileFormat");
+ }
+
+ private void LoadOracleControlData()
+ {
+ this.txtOracleSpecialDateColumnFormat.Text = OracleFormat.OracleFileDateColumnFormat ?? "";
+
+ this.txtOracleAutoSqlName.Text = OracleFormat.AutoSql != null ? OracleFormat.AutoSql.OracleViewName : "";
+ this.txtOracleAutoSql.Text = OracleFormat.AutoSql != null ? OracleFormat.AutoSql.OracleViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtOracleSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtOracleSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtOracleAutoSqlName, SourceSettingTextBoxDecrible.txtOracleAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtOracleAutoSql, SourceSettingTextBoxDecrible.txtOracleAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("OracleFormat")) lstLoadingSource.Add("OracleFormat");
+ }
+
+ private void LoadMySqlControlData()
+ {
+ this.txtMySqlSpecialDateColumnFormat.Text = MySqlFormat.MySqlFileDateColumnFormat ?? "";
+
+ this.txtMySqlAutoSqlName.Text = MySqlFormat.AutoSql != null ? MySqlFormat.AutoSql.MySqlViewName : "";
+ this.txtMySqlAutoSql.Text = MySqlFormat.AutoSql != null ? MySqlFormat.AutoSql.MySqlViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtMySqlSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtMySqlSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtMySqlAutoSqlName, SourceSettingTextBoxDecrible.txtMySqlAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtMySqlAutoSql, SourceSettingTextBoxDecrible.txtMySqlAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("MySqlFormat")) lstLoadingSource.Add("MySqlFormat");
+ }
+
+ private void LoadSqlServerData()
+ {
+ this.txtSqlServerSpecialDateColumnFormat.Text = SqlServerFormat.SqlServerFileDateColumnFormat ??"";
+ this.txtSqlServerConnection.Text = SqlServerFormat.SqlServerConnection ?? "";
+
+ this.txtSqlServerAutoSqlName.Text = SqlServerFormat.AutoSql != null ? SqlServerFormat.AutoSql.SqlServerViewName : "";
+ this.txtSqlServerAutoSql.Text = SqlServerFormat.AutoSql != null ? SqlServerFormat.AutoSql.SqlServerViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtSqlServerSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqlServerSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqlServerConnection, SourceSettingTextBoxDecrible.txtSqlServerConnection_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqlServerAutoSqlName, SourceSettingTextBoxDecrible.txtSqlServerAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqlServerAutoSql, SourceSettingTextBoxDecrible.txtSqlServerAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("SqlServerFormat")) lstLoadingSource.Add("SqlServerFormat");
+ }
+
+ private void LoadSqliteControlData()
+ {
+ this.cbxSqliteReadFile.Checked = SqliteFormat.ReadSqliteFileMode == "0" ? true : false;
+ this.cbxSqliteReadFolder.Checked = !this.cbxSqliteReadFile.Checked;
+
+ this.txtSqliteSpecialDateColumnFormat.Text = SqliteFormat.SqliteFileDateColumnFormat ?? "";
+ this.txtSqliteFileNameFormat.Text = SqliteFormat.SqliteFileNameFormat ?? "";
+
+ this.txtSqliteAutoSqlName.Text = SqliteFormat.AutoSql != null ? SqliteFormat.AutoSql.SqliteViewName : "";
+ this.txtSqliteAutoSql.Text = SqliteFormat.AutoSql != null ? SqliteFormat.AutoSql.SqliteViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtSqliteSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqliteSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqliteFileNameFormat, SourceSettingTextBoxDecrible.txtSqliteFileNameFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqliteAutoSqlName, SourceSettingTextBoxDecrible.txtSqliteAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtSqliteAutoSql, SourceSettingTextBoxDecrible.txtSqliteAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("SqliteFormat")) lstLoadingSource.Add("SqliteFormat");
+ }
+
+ private void LoadAccessControlData()
+ {
+ this.cbxAccessOldVersion.Checked = AccessFormat.AccessFileVersion == "0" ? true : false;
+ this.cbxAccessNewVersion.Checked = !this.cbxAccessOldVersion.Checked;
+
+ this.txtAccessSuffix.Text = this.AccessFormat.AccessSuffix ?? "";
+ this.txtAccessSpecialDateColumnFormat.Text = this.AccessFormat.AccessFileDateColumnFormat ?? "";
+ this.txtAccessFileName.Text = this.AccessFormat.AccessFileNameFormat ?? "";
+
+ this.cbxAccessReadFile.Checked=AccessFormat.ReadAccessFileMode=="0"?true:false;
+ this.cbxAccessReadFolder.Checked = !cbxAccessReadFile.Checked;
+
+ this.txtAccessAutoSqlName.Text = AccessFormat.AutoSql != null ? AccessFormat.AutoSql.AccessViewName : "";
+ this.txtAccessAutoSql.Text = AccessFormat.AutoSql != null ? AccessFormat.AutoSql.AccessViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtAccessSuffix, SourceSettingTextBoxDecrible.txtAccessSuffix_Decrible);
+ DefaultTextBoxShowLeaveValue(txtAccessSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtAccessSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtAccessFileName, SourceSettingTextBoxDecrible.txtAccessFileName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtAccessAutoSqlName, SourceSettingTextBoxDecrible.txtAccessAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtAccessAutoSql, SourceSettingTextBoxDecrible.txtAccessAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("AccessFormat")) lstLoadingSource.Add("AccessFormat");
+ }
+
+ private void LoadFoxProControlData()
+ {
+ this.cbxFoxProReadFile.Checked = FoxProFormat.ReadFoxProFileMode == "0" ? true : false;
+ this.cbxFoxProReadFolder.Checked = !cbxFoxProReadFile.Checked;
+
+ this.txtFoxProSpecialDateColumnFormat.Text = FoxProFormat.FoxProFileDateColumnFormat ?? "";
+ this.txtFoxProFileNameFormat.Text = FoxProFormat.FoxProFileNameFormat ?? "";
+
+ this.txtFoxProAutoSqlName.Text = FoxProFormat.AutoSql != null ? FoxProFormat.AutoSql.FoxProViewName : "";
+ this.txtFoxProAutoSql.Text = FoxProFormat.AutoSql != null ? FoxProFormat.AutoSql.FoxProViewSql : "";
+
+ this.txtFoxProSpecialMethodName.Text = FoxProFormat.SpecialDtOpera != null ? FoxProFormat.SpecialDtOpera.Method : "";
+ this.txtFoxProSpecialMethod.Text= FoxProFormat.SpecialDtOpera != null ? FoxProFormat.SpecialDtOpera.Value : "";
+
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtFoxProSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtFoxProFileNameFormat, SourceSettingTextBoxDecrible.txtFoxProFileNameFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtFoxProAutoSqlName, SourceSettingTextBoxDecrible.txtFoxProAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtFoxProAutoSql, SourceSettingTextBoxDecrible.txtFoxProAutoSql_Decrible);
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialMethodName, SourceSettingTextBoxDecrible.txtFoxProSpecialMethodName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialMethod, SourceSettingTextBoxDecrible.txtFoxProSpecialMethod_Decrible);
+
+ if (!lstLoadingSource.Contains("FoxProFormat")) lstLoadingSource.Add("FoxProFormat");
+ }
+
+ private void LoadExcelControlData()
+ {
+ this.cbxExcelOldVersion.Checked = ExcelFormat.ExcelFileVersion == "0" ? true : false;
+ this.cbxExcelNewVersion.Checked = !cbxExcelOldVersion.Checked;
+
+ this.txtExcelSpecialDateColumnFormat.Text = ExcelFormat.ExcelFileDateColumnFormat ?? "";
+ this.txtExcelFileNameFormat.Text = ExcelFormat.ExcelFileNameFormat ?? "";
+
+ this.cbxExcelReadFile.Checked = ExcelFormat.ReadExcelFileMode == "0" ? true : false;
+ this.cbxExcelReadFolder.Checked = !cbxExcelReadFile.Checked;
+
+ this.txtExcelAutoSqlName.Text = ExcelFormat.AutoSql != null ? ExcelFormat.AutoSql.ExcelViewName:"";
+ this.txtExcelAutoSql.Text= ExcelFormat.AutoSql != null ? ExcelFormat.AutoSql.ExcelViewSql : "";
+
+ DefaultTextBoxShowLeaveValue(txtExcelSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtExcelSpecialDateColumnFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtExcelFileNameFormat, SourceSettingTextBoxDecrible.txtExcelFileNameFormat_Decrible);
+ DefaultTextBoxShowLeaveValue(txtExcelAutoSqlName, SourceSettingTextBoxDecrible.txtExcelAutoSqlName_Decrible);
+ DefaultTextBoxShowLeaveValue(txtExcelAutoSql, SourceSettingTextBoxDecrible.txtExcelAutoSql_Decrible);
+
+ if (!lstLoadingSource.Contains("ExcelFormat")) lstLoadingSource.Add("ExcelFormat");
+ }
+
+ private void DefaultTextBoxShowLeaveValue(TextBox textBox, string strValue)
+ {
+ if (textBox.Text.Length == 0)
+ {
+ textBox.Text = strValue;
+ textBox.ForeColor = Color.Gray;
+ }
+ }
+
+ private void DefaultTextBoxShowEnterValue(TextBox textBox, string strValue)
+ {
+ if (textBox.Text == strValue)
+ {
+ textBox.Text = "";
+ textBox.ForeColor = Color.Black;
+ }
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ bool bSaveSuccess = true;
+ int count = 0;
+ //判断类型内容是否发生了修改,如果发生了修改,进行存储
+ if (ExcelFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(ExcelFormat, "ExcelFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (FoxProFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(FoxProFormat, "FoxProFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (AccessFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(AccessFormat, "AccessFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (SqliteFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(SqliteFormat, "SqliteFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (SqlServerFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(SqlServerFormat, "SqlServerFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (MySqlFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(MySqlFormat, "MySqlFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (OracleFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(OracleFormat, "OracleFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+ if (NormalFileFormatChanged())
+ {
+ bSaveSuccess = FileOperation.SaveFormatConfigData(NormalFileFormat, "NormalFileFormatConfig.xml");
+ count = bSaveSuccess ? count : count + 1;
+ }
+
+ MessageBox.Show(count == 0 ? "保存成功" : "保存失败!");
+ }
+
+ private bool NormalFileFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("NormalFileFormat")) return bIfChanged;
+
+ if (this.cbxNormalFileReadFile.Checked != (NormalFileFormat.ReadNormalFileMode == "0" ? true : false))
+ {
+ NormalFileFormat.ReadNormalFileMode = this.cbxNormalFileReadFile.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+
+ if (NormalFileFormat.IfCustomCreateDateColumn==null||(this.cbxNormalFileCustomDate.Checked != (NormalFileFormat.IfCustomCreateDateColumn == "0" ? true : false)))
+ {
+ NormalFileFormat.IfCustomCreateDateColumn= this.cbxNormalFileCustomDate.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+
+ //数字
+ int oldValue = 0;
+ if (NormalFileFormat.NormalFileStartLineIndex != null)
+ {
+ Int32.TryParse(NormalFileFormat.NormalFileStartLineIndex, out oldValue);
+ }
+ if (this.numNormalFileStartIndex.Value != oldValue)
+ {
+ NormalFileFormat.NormalFileStartLineIndex = this.numNormalFileStartIndex.Value.ToString();
+ bIfChanged = true;
+ }
+
+ NormalFileFormat.NormalFileDateColumnFormat=TextBoxChangedValue(NormalFileFormat.NormalFileDateColumnFormat, txtNormalFileSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtNormalFileSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ NormalFileFormat.NormalFileNameFormat=TextBoxChangedValue(NormalFileFormat.NormalFileNameFormat, txtNormalFileNameFormat, SourceSettingTextBoxDecrible.txtNormalFileNameFormat_Decrible,ref bIfChanged);
+ NormalFileFormat.NormalFileDataMode=TextBoxChangedValue(NormalFileFormat.NormalFileDataMode, txtNormalFileReadDataMode, SourceSettingTextBoxDecrible.txtNormalFileReadDataMode_Decrible,ref bIfChanged);
+ NormalFileFormat.NormalFileSuffix=TextBoxChangedValue(NormalFileFormat.NormalFileSuffix, txtNormalFileSuffix, SourceSettingTextBoxDecrible.txtNormalFileSuffix_Decrible,ref bIfChanged);
+ NormalFileFormat.NormalFileSplitType = TextBoxChangedValue(NormalFileFormat.NormalFileSplitType,txtNormalFileReadSplitMode, SourceSettingTextBoxDecrible.txtNormalFileReadSplitMode_Decrible, ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool OracleFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("OracleFormat")) return bIfChanged;
+
+ OracleFormat.OracleFileDateColumnFormat=TextBoxChangedValue(OracleFormat.OracleFileDateColumnFormat, txtOracleSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtOracleSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ OracleFormat.AutoSql.OracleViewName=TextBoxChangedValue(OracleFormat.AutoSql.OracleViewName, txtOracleAutoSqlName, SourceSettingTextBoxDecrible.txtOracleAutoSqlName_Decrible,ref bIfChanged);
+ OracleFormat.AutoSql.OracleViewSql=TextBoxChangedValue(OracleFormat.AutoSql.OracleViewSql, txtOracleAutoSql, SourceSettingTextBoxDecrible.txtOracleAutoSql_Decrible,ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool MySqlFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("MySqlFormat")) return bIfChanged;
+
+ MySqlFormat.MySqlFileDateColumnFormat=TextBoxChangedValue(MySqlFormat.MySqlFileDateColumnFormat, txtMySqlSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtMySqlSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ MySqlFormat.AutoSql.MySqlViewName=TextBoxChangedValue(MySqlFormat.AutoSql.MySqlViewName, txtMySqlAutoSqlName, SourceSettingTextBoxDecrible.txtMySqlAutoSqlName_Decrible,ref bIfChanged);
+ MySqlFormat.AutoSql.MySqlViewSql=TextBoxChangedValue(MySqlFormat.AutoSql.MySqlViewSql, txtMySqlAutoSql, SourceSettingTextBoxDecrible.txtMySqlAutoSql_Decrible,ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool SqlServerFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("SqlServerFormat")) return bIfChanged;
+
+ SqlServerFormat.SqlServerFileDateColumnFormat=TextBoxChangedValue(SqlServerFormat.SqlServerFileDateColumnFormat, txtSqlServerSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqlServerSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ SqlServerFormat.SqlServerConnection=TextBoxChangedValue(SqlServerFormat.SqlServerConnection, txtSqlServerConnection, SourceSettingTextBoxDecrible.txtSqlServerConnection_Decrible,ref bIfChanged);
+ SqlServerFormat.AutoSql.SqlServerViewName=TextBoxChangedValue(SqlServerFormat.AutoSql.SqlServerViewName, txtSqlServerAutoSqlName, SourceSettingTextBoxDecrible.txtSqlServerAutoSqlName_Decrible,ref bIfChanged);
+ SqlServerFormat.AutoSql.SqlServerViewSql=TextBoxChangedValue(SqlServerFormat.AutoSql.SqlServerViewSql, txtSqlServerAutoSql, SourceSettingTextBoxDecrible.txtSqlServerAutoSql_Decrible,ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool SqliteFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("SqliteFormat")) return bIfChanged;
+
+ if (this.cbxSqliteReadFile.Checked != (SqliteFormat.ReadSqliteFileMode == "0" ? true : false))
+ {
+ SqliteFormat.ReadSqliteFileMode = this.cbxSqliteReadFile.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+ SqliteFormat.SqliteFileDateColumnFormat=TextBoxChangedValue(SqliteFormat.SqliteFileDateColumnFormat, txtSqliteSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqliteSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ SqliteFormat.SqliteFileNameFormat=TextBoxChangedValue(SqliteFormat.SqliteFileNameFormat, txtSqliteFileNameFormat, SourceSettingTextBoxDecrible.txtSqliteFileNameFormat_Decrible, ref bIfChanged);
+ SqliteFormat.AutoSql.SqliteViewName=TextBoxChangedValue(SqliteFormat.AutoSql.SqliteViewName, txtSqliteAutoSqlName, SourceSettingTextBoxDecrible.txtSqliteAutoSqlName_Decrible, ref bIfChanged);
+ SqliteFormat.AutoSql.SqliteViewSql=TextBoxChangedValue(SqliteFormat.AutoSql.SqliteViewSql, txtSqliteAutoSql, SourceSettingTextBoxDecrible.txtSqliteAutoSql_Decrible,ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool AccessFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("AccessFormat")) return bIfChanged;
+
+ if (this.cbxAccessOldVersion.Checked != (AccessFormat.AccessFileVersion == "0" ? true : false))
+ {
+ AccessFormat.AccessFileVersion = this.cbxAccessOldVersion.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+ this.AccessFormat.AccessSuffix=TextBoxChangedValue(this.AccessFormat.AccessSuffix, txtAccessSuffix, SourceSettingTextBoxDecrible.txtAccessSuffix_Decrible,ref bIfChanged);
+ this.AccessFormat.AccessFileDateColumnFormat=TextBoxChangedValue(AccessFormat.AccessFileDateColumnFormat, txtAccessSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtAccessSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ this.AccessFormat.AccessFileNameFormat=TextBoxChangedValue(this.AccessFormat.AccessFileNameFormat, txtAccessFileName, SourceSettingTextBoxDecrible.txtAccessFileName_Decrible, ref bIfChanged);
+ if (this.cbxAccessReadFile.Checked != (AccessFormat.ReadAccessFileMode == "0" ? true : false))
+ {
+ AccessFormat.ReadAccessFileMode = this.cbxAccessReadFile.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+ AccessFormat.AutoSql.AccessViewName=TextBoxChangedValue(AccessFormat.AutoSql.AccessViewName, txtAccessAutoSqlName, SourceSettingTextBoxDecrible.txtAccessAutoSqlName_Decrible,ref bIfChanged);
+ AccessFormat.AutoSql.AccessViewSql=TextBoxChangedValue(AccessFormat.AutoSql.AccessViewSql, txtAccessAutoSql, SourceSettingTextBoxDecrible.txtAccessAutoSql_Decrible,ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private bool FoxProFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("FoxProFormat")) return bIfChanged;
+
+ if (this.cbxFoxProReadFile.Checked != (FoxProFormat.ReadFoxProFileMode == "0" ? true : false))
+ {
+ FoxProFormat.ReadFoxProFileMode = this.cbxFoxProReadFile.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+
+ FoxProFormat.FoxProFileDateColumnFormat = TextBoxChangedValue(FoxProFormat.FoxProFileDateColumnFormat,txtFoxProSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtFoxProSpecialDateColumnFormat_Decrible, ref bIfChanged);
+ FoxProFormat.FoxProFileNameFormat=TextBoxChangedValue(FoxProFormat.FoxProFileNameFormat, txtFoxProFileNameFormat, SourceSettingTextBoxDecrible.txtFoxProFileNameFormat_Decrible, ref bIfChanged);
+ FoxProFormat.AutoSql.FoxProViewName=TextBoxChangedValue(FoxProFormat.AutoSql.FoxProViewName, txtFoxProAutoSqlName, SourceSettingTextBoxDecrible.txtFoxProAutoSqlName_Decrible, ref bIfChanged);
+ FoxProFormat.AutoSql.FoxProViewSql=TextBoxChangedValue(FoxProFormat.AutoSql.FoxProViewSql, txtFoxProAutoSql, SourceSettingTextBoxDecrible.txtFoxProAutoSql_Decrible, ref bIfChanged);
+ FoxProFormat.SpecialDtOpera.Method=TextBoxChangedValue(FoxProFormat.SpecialDtOpera.Method, txtFoxProSpecialMethodName, SourceSettingTextBoxDecrible.txtFoxProSpecialMethodName_Decrible, ref bIfChanged);
+ FoxProFormat.SpecialDtOpera.Value=TextBoxChangedValue(FoxProFormat.SpecialDtOpera.Value, txtFoxProSpecialMethod, SourceSettingTextBoxDecrible.txtFoxProSpecialMethod_Decrible, ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+ private string TextBoxChangedValue(string strClassValue,TextBox textBox,string strDetailValue,ref bool bIfChanged)
+ {
+ string strNewValue = "";
+
+ if (textBox.Text != "" && textBox.Text != strDetailValue)
+ strNewValue = textBox.Text;
+
+ if (strNewValue != strClassValue)
+ {
+ strClassValue = strNewValue;
+ bIfChanged = true;
+ }
+ return strClassValue;
+ }
+
+ //private void bTextBoxChanged(string strClassValue, TextBox textBox, string strDetailValue, ref bool bIfChanged)
+ //{
+
+ // string strNewValue = "";
+
+ // if (textBox.Text != "" && textBox.Text != strDetailValue)
+ // strNewValue = textBox.Text;
+
+ // if (strNewValue != strClassValue)
+ // {
+ // strClassValue = strNewValue;
+ // bIfChanged = true;
+ // }
+ //}
+
+ private bool ExcelFormatChanged()
+ {
+ bool bIfChanged = false;
+
+ if (!lstLoadingSource.Contains("ExcelFormat")) return bIfChanged;
+
+ if (this.cbxExcelOldVersion.Checked != (ExcelFormat.ExcelFileVersion == "0" ? true : false))
+ {
+ ExcelFormat.ExcelFileVersion = this.cbxExcelOldVersion.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+
+ ExcelFormat.ExcelFileDateColumnFormat=TextBoxChangedValue(ExcelFormat.ExcelFileDateColumnFormat, txtExcelSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtExcelSpecialDateColumnFormat_Decrible,ref bIfChanged);
+ ExcelFormat.ExcelFileNameFormat=TextBoxChangedValue(ExcelFormat.ExcelFileNameFormat, txtExcelFileNameFormat, SourceSettingTextBoxDecrible.txtExcelFileNameFormat_Decrible, ref bIfChanged);
+ if (cbxExcelReadFile.Checked != (ExcelFormat.ReadExcelFileMode == "0" ? true : false))
+ {
+ ExcelFormat.ReadExcelFileMode = cbxExcelReadFile.Checked ? "0" : "1";
+ bIfChanged = true;
+ }
+ ExcelFormat.AutoSql.ExcelViewName=TextBoxChangedValue(ExcelFormat.AutoSql.ExcelViewName, txtExcelAutoSqlName, SourceSettingTextBoxDecrible.txtExcelAutoSqlName_Decrible,ref bIfChanged);
+ ExcelFormat.AutoSql.ExcelViewSql=TextBoxChangedValue(ExcelFormat.AutoSql.ExcelViewSql, txtExcelAutoSql, SourceSettingTextBoxDecrible.txtExcelAutoSql_Decrible, ref bIfChanged);
+
+ return bIfChanged;
+ }
+
+
+ #region Excel界面事件
+ private void txtExcelSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtExcelSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtExcelSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtExcelSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtExcelSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtExcelSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtExcelFileNameFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtExcelFileNameFormat, SourceSettingTextBoxDecrible.txtExcelFileNameFormat_Decrible);
+ }
+
+ private void txtExcelFileNameFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtExcelFileNameFormat, SourceSettingTextBoxDecrible.txtExcelFileNameFormat_Decrible);
+ }
+
+ private void txtExcelAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtExcelAutoSqlName, SourceSettingTextBoxDecrible.txtExcelAutoSqlName_Decrible);
+ }
+
+ private void txtExcelAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtExcelAutoSqlName, SourceSettingTextBoxDecrible.txtExcelAutoSqlName_Decrible);
+ }
+
+ private void txtExcelAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtExcelAutoSql, SourceSettingTextBoxDecrible.txtExcelAutoSql_Decrible);
+ }
+
+ private void txtExcelAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtExcelAutoSql, SourceSettingTextBoxDecrible.txtExcelAutoSql_Decrible);
+ }
+
+
+ private void cbxExcelOldVersion_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxExcelNewVersion.Checked = !cbxExcelOldVersion.Checked;
+ }
+
+ private void cbxExcelNewVersion_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxExcelOldVersion.Checked = !cbxExcelNewVersion.Checked;
+ }
+
+ private void cbxExcelReadFile_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxExcelReadFolder.Checked = !cbxExcelReadFile.Checked;
+ }
+
+ private void cbxExcelReadFolder_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxExcelReadFile.Checked = !cbxExcelReadFolder.Checked;
+ }
+
+ #endregion
+
+ #region FoxPro界面事件
+
+ private void cbxFoxProReadFile_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxFoxProReadFolder.Checked = !cbxFoxProReadFile.Checked;
+ }
+
+ private void cbxFoxProReadFolder_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxFoxProReadFile.Checked = !cbxFoxProReadFolder.Checked;
+ }
+
+ private void txtFoxProSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtFoxProSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtFoxProSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtFoxProSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtFoxProFileNameFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProFileNameFormat, SourceSettingTextBoxDecrible.txtFoxProFileNameFormat_Decrible);
+ }
+
+ private void txtFoxProFileNameFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProFileNameFormat, SourceSettingTextBoxDecrible.txtFoxProFileNameFormat_Decrible);
+ }
+
+ private void txtFoxProAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProAutoSqlName, SourceSettingTextBoxDecrible.txtFoxProAutoSqlName_Decrible);
+ }
+
+ private void txtFoxProAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProAutoSqlName, SourceSettingTextBoxDecrible.txtFoxProAutoSqlName_Decrible);
+ }
+
+ private void txtFoxProAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProAutoSql, SourceSettingTextBoxDecrible.txtFoxProAutoSql_Decrible);
+ }
+
+ private void txtFoxProAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProAutoSql, SourceSettingTextBoxDecrible.txtFoxProAutoSql_Decrible);
+ }
+
+ private void txtFoxProSpecialMethodName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialMethodName, SourceSettingTextBoxDecrible.txtFoxProSpecialMethodName_Decrible);
+ }
+
+ private void txtFoxProSpecialMethodName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProSpecialMethodName, SourceSettingTextBoxDecrible.txtFoxProSpecialMethodName_Decrible);
+ }
+
+ private void txtFoxProSpecialMethod_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtFoxProSpecialMethod, SourceSettingTextBoxDecrible.txtFoxProSpecialMethod_Decrible);
+ }
+
+ private void txtFoxProSpecialMethod_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtFoxProSpecialMethod, SourceSettingTextBoxDecrible.txtFoxProSpecialMethod_Decrible);
+ }
+
+ #endregion
+
+ #region Access界面事件
+ private void cbxAccessOldVersion_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxAccessNewVersion.Checked = !cbxAccessOldVersion.Checked;
+ }
+
+ private void cbxAccessNewVersion_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxAccessOldVersion.Checked = !cbxAccessNewVersion.Checked;
+ }
+
+ private void cbxAccessReadFile_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxAccessReadFolder.Checked = !cbxAccessReadFile.Checked;
+ }
+
+ private void cbxAccessReadFolder_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxAccessReadFile.Checked = !cbxAccessReadFolder.Checked;
+ }
+ private void txtAccessSuffix_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtAccessSuffix, SourceSettingTextBoxDecrible.txtAccessSuffix_Decrible);
+ }
+
+ private void txtAccessSuffix_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtAccessSuffix, SourceSettingTextBoxDecrible.txtAccessSuffix_Decrible);
+ }
+
+ private void txtAccessSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtAccessSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtAccessSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtAccessSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtAccessSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtAccessSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtAccessFileName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtAccessFileName, SourceSettingTextBoxDecrible.txtAccessFileName_Decrible);
+ }
+
+ private void txtAccessFileName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtAccessFileName, SourceSettingTextBoxDecrible.txtAccessFileName_Decrible);
+ }
+
+ private void txtAccessAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtAccessAutoSqlName, SourceSettingTextBoxDecrible.txtAccessAutoSqlName_Decrible);
+ }
+
+ private void txtAccessAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtAccessAutoSqlName, SourceSettingTextBoxDecrible.txtAccessAutoSqlName_Decrible);
+ }
+
+ private void txtAccessAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtAccessAutoSql, SourceSettingTextBoxDecrible.txtAccessAutoSql_Decrible);
+ }
+
+ private void txtAccessAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtAccessAutoSql, SourceSettingTextBoxDecrible.txtAccessAutoSql_Decrible);
+ }
+ #endregion
+
+ #region Sqlite界面事件
+ private void cbxSqliteReadFile_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxSqliteReadFolder.Checked = !cbxSqliteReadFile.Checked;
+ }
+
+ private void cbxSqliteReadFolder_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxSqliteReadFile.Checked = !cbxSqliteReadFolder.Checked;
+ }
+
+ private void txtSqliteSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqliteSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqliteSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtSqliteSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqliteSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqliteSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtSqliteFileNameFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqliteFileNameFormat, SourceSettingTextBoxDecrible.txtSqliteFileNameFormat_Decrible);
+ }
+
+ private void txtSqliteFileNameFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqliteFileNameFormat, SourceSettingTextBoxDecrible.txtSqliteFileNameFormat_Decrible);
+ }
+
+ private void txtSqliteAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqliteAutoSqlName, SourceSettingTextBoxDecrible.txtSqliteAutoSqlName_Decrible);
+ }
+
+ private void txtSqliteAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqliteAutoSqlName, SourceSettingTextBoxDecrible.txtSqliteAutoSqlName_Decrible);
+ }
+
+ private void txtSqliteAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqliteAutoSql, SourceSettingTextBoxDecrible.txtSqliteAutoSql_Decrible);
+ }
+
+ private void txtSqliteAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqliteAutoSql, SourceSettingTextBoxDecrible.txtSqliteAutoSql_Decrible);
+ }
+ #endregion
+
+ #region SqlServer界面事件
+ private void txtSqlServerSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqlServerSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqlServerSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtSqlServerSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqlServerSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtSqlServerSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtSqlServerConnection_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqlServerConnection, SourceSettingTextBoxDecrible.txtSqlServerConnection_Decrible);
+ }
+
+ private void txtSqlServerConnection_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqlServerConnection, SourceSettingTextBoxDecrible.txtSqlServerConnection_Decrible);
+ }
+
+ private void txtSqlServerAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqlServerAutoSqlName, SourceSettingTextBoxDecrible.txtSqlServerAutoSqlName_Decrible);
+ }
+
+ private void txtSqlServerAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqlServerAutoSqlName, SourceSettingTextBoxDecrible.txtSqlServerAutoSqlName_Decrible);
+ }
+
+ private void txtSqlServerAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtSqlServerAutoSql, SourceSettingTextBoxDecrible.txtSqlServerAutoSql_Decrible);
+ }
+
+ private void txtSqlServerAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtSqlServerAutoSql, SourceSettingTextBoxDecrible.txtSqlServerAutoSql_Decrible);
+ }
+ #endregion
+
+ #region MySql界面事件
+
+ private void txtMySqlSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtMySqlSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtMySqlSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtMySqlSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtMySqlSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtMySqlSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtMySqlAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtMySqlAutoSqlName, SourceSettingTextBoxDecrible.txtMySqlAutoSqlName_Decrible);
+ }
+
+ private void txtMySqlAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtMySqlAutoSqlName, SourceSettingTextBoxDecrible.txtMySqlAutoSqlName_Decrible);
+ }
+
+ private void txtMySqlAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtMySqlAutoSql, SourceSettingTextBoxDecrible.txtMySqlAutoSql_Decrible);
+ }
+
+ private void txtMySqlAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtMySqlAutoSql, SourceSettingTextBoxDecrible.txtMySqlAutoSql_Decrible);
+ }
+ #endregion
+
+ #region Oracle界面事件
+
+ private void txtOracleSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtOracleSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtOracleSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtOracleSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtOracleSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtOracleSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtOracleAutoSqlName_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtOracleAutoSqlName, SourceSettingTextBoxDecrible.txtOracleAutoSqlName_Decrible);
+ }
+
+ private void txtOracleAutoSqlName_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtOracleAutoSqlName, SourceSettingTextBoxDecrible.txtOracleAutoSqlName_Decrible);
+ }
+
+ private void txtOracleAutoSql_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtOracleAutoSql, SourceSettingTextBoxDecrible.txtOracleAutoSql_Decrible);
+ }
+
+ private void txtOracleAutoSql_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtOracleAutoSql, SourceSettingTextBoxDecrible.txtOracleAutoSql_Decrible);
+ }
+ #endregion
+
+ #region Txt界面事件
+ private void cbxNormalFileReadFile_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxNormalFileReadFolder.Checked = !cbxNormalFileReadFile.Checked;
+ }
+
+ private void cbxNormalFileReadFolder_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxNormalFileReadFile.Checked = !cbxNormalFileReadFolder.Checked;
+ }
+
+ private void txtNormalFileSpecialDateColumnFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtNormalFileSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtNormalFileSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtNormalFileSpecialDateColumnFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtNormalFileSpecialDateColumnFormat, SourceSettingTextBoxDecrible.txtNormalFileSpecialDateColumnFormat_Decrible);
+ }
+
+ private void txtNormalFileNameFormat_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtNormalFileNameFormat, SourceSettingTextBoxDecrible.txtNormalFileNameFormat_Decrible);
+ }
+
+ private void txtNormalFileNameFormat_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtNormalFileNameFormat, SourceSettingTextBoxDecrible.txtNormalFileNameFormat_Decrible);
+ }
+
+ private void txtNormalFileSuffix_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtNormalFileSuffix, SourceSettingTextBoxDecrible.txtNormalFileSuffix_Decrible);
+ }
+
+ private void txtNormalFileSuffix_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtNormalFileSuffix, SourceSettingTextBoxDecrible.txtNormalFileSuffix_Decrible);
+ }
+
+ private void txtNormalFileReadDataMode_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtNormalFileReadDataMode, SourceSettingTextBoxDecrible.txtNormalFileReadDataMode_Decrible);
+ }
+
+ private void txtNormalFileReadDataMode_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtNormalFileReadDataMode, SourceSettingTextBoxDecrible.txtNormalFileReadDataMode_Decrible);
+ }
+ private void txtNormalFileReadSplitMode_Leave(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowLeaveValue(txtNormalFileReadSplitMode, SourceSettingTextBoxDecrible.txtNormalFileReadSplitMode_Decrible);
+ }
+
+ private void txtNormalFileReadSplitMode_Enter(object sender, EventArgs e)
+ {
+ DefaultTextBoxShowEnterValue(txtNormalFileReadSplitMode, SourceSettingTextBoxDecrible.txtNormalFileReadSplitMode_Decrible);
+ }
+
+ private void cbxNormalFileCustomDate_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxNormalFileNoCustomDate.Checked = !cbxNormalFileCustomDate.Checked;
+ }
+
+ private void cbxNormalFileNoCustomDate_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxNormalFileCustomDate.Checked = !cbxNormalFileNoCustomDate.Checked;
+ }
+
+ #endregion
+
+ private void frmSourceSetting_Resize(object sender, EventArgs e)
+ {
+ arrayFields();
+ btnOK.Left = (this.Width - btnOK.Width) / 2;
+ }
+
+ private void frmSourceSetting_Shown(object sender, EventArgs e)
+ {
+ arrayFields();
+ btnOK.Left = (this.Width - btnOK.Width) / 2;
+ }
+
+ private void arrayFields() {
+ switch (tabcDS.SelectedIndex)
+ {
+ case 0:
+ FieldLine[] fields = {
+ new FieldLine(lbExcelDateFormat,txtExcelSpecialDateColumnFormat),
+ new FieldLine(lblExcelRemoteUser,txtExcelFileNameFormat),
+ new FieldLine(lbExcelDynQuery,txtExcelAutoSqlName)
+ };
+ FormSizeHelper.Arrange(tabExcel, fields);
+ txtExcelAutoSql.Width = txtExcelAutoSqlName.Width;
+ txtExcelAutoSql.Height = tabExcel.Height - txtExcelAutoSql.Top - 24;
+ break;
+ }
+ }
+
+ }
+}
diff --git a/CNAS_DBSync/frmSourceSetting.resx b/CNAS_DBSync/frmSourceSetting.resx
new file mode 100644
index 0000000..29429f0
--- /dev/null
+++ b/CNAS_DBSync/frmSourceSetting.resx
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAAHAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAKAAAAbAAAAIgAAACGAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7AAAAbAAA
+ AAoAAAA9AAAAbgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAAAMwAAAD8AAAAOAAAAAAAAAA0AAAB0AAAAPAAAAAAAAAALAAAAggAAACoAAAACAAAAAwAA
+ ACoAAABGAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABGAAAAewAAAGkAAAB7AAAAZAAA
+ AH8AAABjAAAADgAAAAAAAAAAAAAAPQAAAH8AAABsAAAAbwAAAHYAAABrAAAAbgAAAA8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABIAAACBAAAAIAAAAAAAAAAkAAAASgAAABwAAAABAAAAAAAAAAAAAAAAAAAAAAAA
+ AAsAAAA+AAAAOwAAAAkAAAADAAAAaQAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAByAAAAMAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAdQAA
+ AC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAbQAAAAIAAAAAAAAAAAAAAAAAAAAFAAAAJAAA
+ ADYAAAAuAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAcAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA4AAAAbgAAAAMAAAAAAAAAAAAAABsAAABvAAAAdQAAAGcAAABtAAAAfAAAAD0AAAABAAAAAAAA
+ AAAAAAA9AAAAbQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAB0AAAAOQAAAAAAAAAAAAAAFQAA
+ AH0AAABIAAAACwAAAAAAAAAEAAAAJQAAAH0AAAA/AAAAAAAAAAAAAAALAAAAfgAAACoAAAACAAAAAAAA
+ AAAAAAATAAAAVwAAAIAAAABmAAAADQAAAAAAAAAAAAAAVwAAAFkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACQAAAB8AAAAEQAAAAAAAAAAAAAAPQAAAIMAAABuAAAALQAAAAAAAABfAAAAawAAABcAAAACAAAAAAAA
+ AAAAAAAGAAAAfAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABtAAAAMQAAAAAAAAAAAAAAAAAA
+ AAwAAAA9AAAAhgAAAAcAAABvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAgQAAABEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABmAAAAOgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAiAAAAAoAAABEAAAAfgAA
+ AEwAAAAeAAAAAQAAAAAAAAAEAAAAcwAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAB0AAAAJwAA
+ AAAAAAAAAAAADQAAADoAAABqAAAAbwAAAAMAAAACAAAAJwAAAF4AAACBAAAAHAAAAAAAAAAAAAAAQQAA
+ AHMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAEIAAAByAAAABwAAAAAAAAABAAAAYAAAAHUAAAA+AAAACwAA
+ AAAAAAAAAAAAAAAAAAAAAABeAAAAUAAAAAAAAAAAAAAABgAAAGEAAABxAAAAKwAAAA0AAAAaAAAAUwAA
+ AH0AAAAfAAAAAAAAAAAAAAAbAAAAfgAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAAeQAA
+ AAQAAAAAAAAAAAAAAAYAAABBAAAAdQAAAIMAAAB+AAAAWwAAABcAAAAAAAAAAAAAAAAAAABJAAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ AAgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAewAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABAAAAB7AAAAHQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAA
+ AAAAAAAAAAAAZgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAB3AAAAQgAAABwAAABWAAAAdwAA
+ AE0AAAAcAAAAAQAAAAAAAAAAAAAADAAAADcAAABtAAAAbAAAADAAAAAeAAAAeQAAADQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAfAAAAegAAAH4AAABXAAAALwAAAF0AAACAAAAAHwAAAAAAAAACAAAAYwAA
+ AHMAAAA7AAAAPgAAAHMAAACCAAAARwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAA
+ ABEAAAAAAAAAAAAAAAAAAABdAAAATQAAAAAAAAAVAAAAgQAAAA0AAAAAAAAAAAAAAAkAAAATAAAAAQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAAAAfQAA
+ AEEAAABpAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAARAAAAG8AAABhAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Af8A/gD/AMAABwCAAAMAgAADAIAAAwCAAAMAgAADAIAA
+ AQAAAAAAAAAAAAAYAAAAGAAAABAAAAAAAAAAAAAAgAABAIIAAwCAAAMAgAADAIAAAwCAAAMAwAAHAP8B
+ /wA=
+
+
+
\ No newline at end of file
diff --git a/CNAS_DBSync/frmStartEndSubstring.Designer.cs b/CNAS_DBSync/frmStartEndSubstring.Designer.cs
new file mode 100644
index 0000000..d083215
--- /dev/null
+++ b/CNAS_DBSync/frmStartEndSubstring.Designer.cs
@@ -0,0 +1,177 @@
+namespace CNAS_DBSync
+{
+ partial class frmStartEndSubstring
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.pnlAll = new System.Windows.Forms.Panel();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.cbxPrama2 = new System.Windows.Forms.ComboBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtPrama1 = new System.Windows.Forms.TextBox();
+ this.pnlAll.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pnlAll
+ //
+ this.pnlAll.Controls.Add(this.btnOK);
+ this.pnlAll.Controls.Add(this.groupBox1);
+ this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlAll.Location = new System.Drawing.Point(0, 0);
+ this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlAll.Name = "pnlAll";
+ this.pnlAll.Size = new System.Drawing.Size(436, 188);
+ this.pnlAll.TabIndex = 2;
+ //
+ // btnOK
+ //
+ this.btnOK.Location = new System.Drawing.Point(336, 149);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(90, 30);
+ this.btnOK.TabIndex = 1;
+ this.btnOK.Text = "确定";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.BackColor = System.Drawing.SystemColors.Control;
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.cbxPrama2);
+ this.groupBox1.Controls.Add(this.label5);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.txtPrama1);
+ this.groupBox1.Location = new System.Drawing.Point(12, 12);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(414, 131);
+ this.groupBox1.TabIndex = 0;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "截断开头/结尾字符参数";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(15, 96);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(401, 12);
+ this.label3.TabIndex = 10;
+ this.label3.Text = "(说明:若操作字符串中不存在或存在多个截断字符,则直接返回初始字符串)";
+ //
+ // cbxPrama2
+ //
+ this.cbxPrama2.FormattingEnabled = true;
+ this.cbxPrama2.Items.AddRange(new object[] {
+ "S",
+ "E"});
+ this.cbxPrama2.Location = new System.Drawing.Point(75, 59);
+ this.cbxPrama2.Name = "cbxPrama2";
+ this.cbxPrama2.Size = new System.Drawing.Size(121, 20);
+ this.cbxPrama2.TabIndex = 9;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(199, 64);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(107, 12);
+ this.label5.TabIndex = 7;
+ this.label5.Text = "(开头(S)/结尾(E))";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(200, 35);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(65, 12);
+ this.label4.TabIndex = 6;
+ this.label4.Text = "(截断字符)";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(18, 63);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(47, 12);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "参数2:";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(18, 34);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(47, 12);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "参数1:";
+ //
+ // txtPrama1
+ //
+ this.txtPrama1.Location = new System.Drawing.Point(75, 31);
+ this.txtPrama1.Name = "txtPrama1";
+ this.txtPrama1.Size = new System.Drawing.Size(121, 21);
+ this.txtPrama1.TabIndex = 0;
+ //
+ // frmStartEndSubstring
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(436, 188);
+ this.Controls.Add(this.pnlAll);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Name = "frmStartEndSubstring";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "截断开头/结尾";
+ this.Load += new System.EventHandler(this.frmStartEndSubstring_Load);
+ this.pnlAll.ResumeLayout(false);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel pnlAll;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.ComboBox cbxPrama2;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox txtPrama1;
+ }
+}
\ No newline at end of file
diff --git a/CNAS_DBSync/frmStartEndSubstring.cs b/CNAS_DBSync/frmStartEndSubstring.cs
new file mode 100644
index 0000000..da2ffce
--- /dev/null
+++ b/CNAS_DBSync/frmStartEndSubstring.cs
@@ -0,0 +1,64 @@
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace CNAS_DBSync
+{
+ public partial class frmStartEndSubstring : Form
+ {
+ public CnasConditionMapValue conditionvalue { get; set; }
+ public frmStartEndSubstring(CnasConditionMapValue conditionvalue)
+ {
+ InitializeComponent();
+
+ this.conditionvalue = conditionvalue;
+ }
+
+ private void frmStartEndSubstring_Load(object sender, EventArgs e)
+ {
+ if (this.conditionvalue == null) return;
+ if (this.conditionvalue.Value == null) return;
+ if (this.conditionvalue.Condition != MapCondition.SubstringStartEnd) return;
+
+ //根据旧值显示控件默认值
+ if (this.conditionvalue.Value.ToString() != "")
+ {
+ string[] strConditionValues = this.conditionvalue.Value.ToString().Split(new string[] { "{", ",", "}" }, StringSplitOptions.RemoveEmptyEntries);
+ if (strConditionValues.Length == 2)
+ {
+ this.txtPrama1.Text = strConditionValues[0];
+ this.cbxPrama2.Text = strConditionValues[1];
+ }
+ }
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ if (this.txtPrama1.Text == "")
+ {
+ MessageBox.Show("参数1不能为空。");
+ return;
+ }
+ if (this.cbxPrama2.Text == "")
+ {
+ MessageBox.Show("参数2不能为空。");
+ return;
+ }
+ if (this.cbxPrama2.Text != "S" && this.cbxPrama2.Text != "E")
+ {
+ MessageBox.Show("参数2不符合规则,请重新选择。");
+ return;
+ }
+
+ this.conditionvalue.Value = "{" + this.txtPrama1.Text + "," + this.cbxPrama2.Text + "}";
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ }
+}
diff --git a/CNAS_RunSync/ucSyncShow.resx b/CNAS_DBSync/frmStartEndSubstring.resx
similarity index 100%
rename from CNAS_RunSync/ucSyncShow.resx
rename to CNAS_DBSync/frmStartEndSubstring.resx
diff --git a/CNAS_DBSync/frmSyncParams.Designer.cs b/CNAS_DBSync/frmSyncParams.Designer.cs
index 73360cc..df9bdd5 100644
--- a/CNAS_DBSync/frmSyncParams.Designer.cs
+++ b/CNAS_DBSync/frmSyncParams.Designer.cs
@@ -39,188 +39,309 @@
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSyncParams));
this.pnlAll = new System.Windows.Forms.Panel();
- this.panel3 = new System.Windows.Forms.Panel();
+ this.pnlBodyCenter = new System.Windows.Forms.Panel();
this.pnlRigh = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.splitContainerCol = new System.Windows.Forms.SplitContainer();
+ this.grpDevice = new System.Windows.Forms.GroupBox();
+ this.dgvInstrument = new System.Windows.Forms.DataGridView();
+ this.Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.panel17 = new System.Windows.Forms.Panel();
+ this.panel16 = new System.Windows.Forms.Panel();
+ this.panel8 = new System.Windows.Forms.Panel();
+ this.lbCurrSel = new System.Windows.Forms.Label();
+ this.grpDetail = new System.Windows.Forms.GroupBox();
+ this.splitContainerCenter = new System.Windows.Forms.SplitContainer();
this.panel15 = new System.Windows.Forms.Panel();
this.dgvMapping = new System.Windows.Forms.DataGridView();
+ this.InstrumentField = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.CnasField = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.PrimaryKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.DateKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.cmsMapping = new System.Windows.Forms.ContextMenuStrip(this.components);
this.btnDelMap = new System.Windows.Forms.ToolStripMenuItem();
- this.panel14 = new System.Windows.Forms.Panel();
+ this.pnHeader = new System.Windows.Forms.Panel();
this.txtInstrumentColumn = new System.Windows.Forms.TextBox();
this.cbxCNASColumn = new System.Windows.Forms.ComboBox();
- this.label3 = new System.Windows.Forms.Label();
+ this.lbDevField = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage6 = new System.Windows.Forms.TabPage();
- this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.splitContainerFields = new System.Windows.Forms.SplitContainer();
this.dgvInstruDS = new System.Windows.Forms.DataGridView();
this.InstruFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.InstruDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlleft = new System.Windows.Forms.Panel();
this.cbxInstrument = new System.Windows.Forms.ComboBox();
- this.label12 = new System.Windows.Forms.Label();
+ this.lbDevFields = new System.Windows.Forms.Label();
this.dgvCnas = new System.Windows.Forms.DataGridView();
this.CNASFieldName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CnasDataType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlRight = new System.Windows.Forms.Panel();
this.cbxCnas = new System.Windows.Forms.ComboBox();
- this.label13 = new System.Windows.Forms.Label();
+ this.lbCnasFields = new System.Windows.Forms.Label();
+ this.pnlMenuTop = new System.Windows.Forms.Panel();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.tsmSystemSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmServiceSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmSourceSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmHelper = new System.Windows.Forms.ToolStripMenuItem();
+ this.panel3 = new System.Windows.Forms.Panel();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.btnSave = new System.Windows.Forms.Button();
+ this.pnBottom = new System.Windows.Forms.Panel();
+ this.pnSave = new System.Windows.Forms.Panel();
this.panel1 = new System.Windows.Forms.Panel();
+ this.pnFieldButtons = new System.Windows.Forms.Panel();
+ this.pnCodeBottom = new System.Windows.Forms.Panel();
+ this.btnAdd = new System.Windows.Forms.Button();
+ this.btnDel = new System.Windows.Forms.Button();
this.panel7 = new System.Windows.Forms.Panel();
this.btnSourceFilter = new System.Windows.Forms.Button();
this.btnCNASFieldConfig = new System.Windows.Forms.Button();
this.btnLoadDBData = new System.Windows.Forms.Button();
this.btnAddMapping = new System.Windows.Forms.Button();
this.btnDatabaseConfig = new System.Windows.Forms.Button();
- this.panel2 = new System.Windows.Forms.Panel();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.panel10 = new System.Windows.Forms.Panel();
- this.dgvInstrument = new System.Windows.Forms.DataGridView();
- this.panel9 = new System.Windows.Forms.Panel();
- this.btnAdd = new System.Windows.Forms.Button();
- this.btnDel = new System.Windows.Forms.Button();
- this.panel8 = new System.Windows.Forms.Panel();
- this.label1 = new System.Windows.Forms.Label();
- this.btnSave = new System.Windows.Forms.Button();
- this.panel11 = new System.Windows.Forms.Panel();
this.panel12 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.panel13 = new System.Windows.Forms.Panel();
this.panel6 = new System.Windows.Forms.Panel();
- this.Code = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.InstrumentField = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CnasField = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.PrimaryKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
- this.DateKey = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.pnlAll.SuspendLayout();
- this.panel3.SuspendLayout();
+ this.pnlBodyCenter.SuspendLayout();
this.pnlRigh.SuspendLayout();
this.panel5.SuspendLayout();
- this.groupBox2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
- this.splitContainer1.Panel1.SuspendLayout();
- this.splitContainer1.Panel2.SuspendLayout();
- this.splitContainer1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerCol)).BeginInit();
+ this.splitContainerCol.Panel1.SuspendLayout();
+ this.splitContainerCol.Panel2.SuspendLayout();
+ this.splitContainerCol.SuspendLayout();
+ this.grpDevice.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvInstrument)).BeginInit();
+ this.panel8.SuspendLayout();
+ this.grpDetail.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerCenter)).BeginInit();
+ this.splitContainerCenter.Panel1.SuspendLayout();
+ this.splitContainerCenter.Panel2.SuspendLayout();
+ this.splitContainerCenter.SuspendLayout();
this.panel15.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).BeginInit();
this.cmsMapping.SuspendLayout();
- this.panel14.SuspendLayout();
+ this.pnHeader.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage6.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
- this.splitContainer2.Panel1.SuspendLayout();
- this.splitContainer2.Panel2.SuspendLayout();
- this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerFields)).BeginInit();
+ this.splitContainerFields.Panel1.SuspendLayout();
+ this.splitContainerFields.Panel2.SuspendLayout();
+ this.splitContainerFields.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvInstruDS)).BeginInit();
this.pnlleft.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvCnas)).BeginInit();
this.pnlRight.SuspendLayout();
+ this.pnlMenuTop.SuspendLayout();
+ this.menuStrip1.SuspendLayout();
+ this.pnBottom.SuspendLayout();
+ this.pnSave.SuspendLayout();
this.panel1.SuspendLayout();
+ this.pnFieldButtons.SuspendLayout();
+ this.pnCodeBottom.SuspendLayout();
this.panel7.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.panel10.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.dgvInstrument)).BeginInit();
- this.panel9.SuspendLayout();
- this.panel8.SuspendLayout();
- this.panel11.SuspendLayout();
- this.panel12.SuspendLayout();
this.panel4.SuspendLayout();
this.panel13.SuspendLayout();
this.SuspendLayout();
//
// pnlAll
//
+ this.pnlAll.Controls.Add(this.pnlBodyCenter);
+ this.pnlAll.Controls.Add(this.pnlMenuTop);
this.pnlAll.Controls.Add(this.panel3);
this.pnlAll.Controls.Add(this.panel2);
- this.pnlAll.Controls.Add(this.groupBox1);
this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlAll.Location = new System.Drawing.Point(0, 0);
this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(796, 463);
+ this.pnlAll.Size = new System.Drawing.Size(1745, 874);
this.pnlAll.TabIndex = 0;
//
- // panel3
+ // pnlBodyCenter
//
- this.panel3.Controls.Add(this.pnlRigh);
- this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel3.Location = new System.Drawing.Point(156, 0);
- this.panel3.Name = "panel3";
- this.panel3.Size = new System.Drawing.Size(640, 463);
- this.panel3.TabIndex = 5;
+ this.pnlBodyCenter.Controls.Add(this.pnlRigh);
+ this.pnlBodyCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlBodyCenter.Location = new System.Drawing.Point(10, 29);
+ this.pnlBodyCenter.Name = "pnlBodyCenter";
+ this.pnlBodyCenter.Size = new System.Drawing.Size(1735, 845);
+ this.pnlBodyCenter.TabIndex = 7;
//
// pnlRigh
//
this.pnlRigh.Controls.Add(this.panel5);
- this.pnlRigh.Controls.Add(this.panel1);
this.pnlRigh.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlRigh.Location = new System.Drawing.Point(0, 0);
this.pnlRigh.Name = "pnlRigh";
- this.pnlRigh.Size = new System.Drawing.Size(640, 463);
+ this.pnlRigh.Size = new System.Drawing.Size(1735, 845);
this.pnlRigh.TabIndex = 5;
//
// panel5
//
- this.panel5.Controls.Add(this.groupBox2);
+ this.panel5.Controls.Add(this.splitContainerCol);
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(0, 0);
this.panel5.Name = "panel5";
- this.panel5.Size = new System.Drawing.Size(640, 422);
+ this.panel5.Size = new System.Drawing.Size(1735, 845);
this.panel5.TabIndex = 4;
//
- // groupBox2
+ // splitContainerCol
+ //
+ this.splitContainerCol.BackColor = System.Drawing.SystemColors.Control;
+ this.splitContainerCol.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainerCol.Location = new System.Drawing.Point(0, 0);
+ this.splitContainerCol.Name = "splitContainerCol";
+ //
+ // splitContainerCol.Panel1
+ //
+ this.splitContainerCol.Panel1.Controls.Add(this.grpDevice);
+ this.splitContainerCol.Panel1MinSize = 230;
+ //
+ // splitContainerCol.Panel2
+ //
+ this.splitContainerCol.Panel2.Controls.Add(this.grpDetail);
+ this.splitContainerCol.Size = new System.Drawing.Size(1735, 845);
+ this.splitContainerCol.SplitterDistance = 409;
+ this.splitContainerCol.SplitterWidth = 8;
+ this.splitContainerCol.TabIndex = 4;
+ this.splitContainerCol.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainerCol_SplitterMoved);
+ //
+ // grpDevice
+ //
+ this.grpDevice.Controls.Add(this.dgvInstrument);
+ this.grpDevice.Controls.Add(this.panel17);
+ this.grpDevice.Controls.Add(this.panel16);
+ this.grpDevice.Controls.Add(this.panel8);
+ this.grpDevice.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.grpDevice.Location = new System.Drawing.Point(0, 0);
+ this.grpDevice.Name = "grpDevice";
+ this.grpDevice.Size = new System.Drawing.Size(409, 845);
+ this.grpDevice.TabIndex = 1;
+ this.grpDevice.TabStop = false;
+ this.grpDevice.Text = "仪器";
+ //
+ // dgvInstrument
+ //
+ this.dgvInstrument.AllowUserToAddRows = false;
+ this.dgvInstrument.BackgroundColor = System.Drawing.Color.White;
+ dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvInstrument.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+ this.dgvInstrument.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvInstrument.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.Code});
+ this.dgvInstrument.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvInstrument.Location = new System.Drawing.Point(6, 84);
+ this.dgvInstrument.MultiSelect = false;
+ this.dgvInstrument.Name = "dgvInstrument";
+ this.dgvInstrument.ReadOnly = true;
+ this.dgvInstrument.RowHeadersVisible = false;
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.dgvInstrument.RowsDefaultCellStyle = dataGridViewCellStyle2;
+ this.dgvInstrument.RowTemplate.Height = 23;
+ this.dgvInstrument.Size = new System.Drawing.Size(397, 758);
+ this.dgvInstrument.TabIndex = 0;
+ //
+ // Code
//
- this.groupBox2.Controls.Add(this.splitContainer1);
- this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.groupBox2.Location = new System.Drawing.Point(0, 0);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(640, 422);
- this.groupBox2.TabIndex = 1;
- this.groupBox2.TabStop = false;
- this.groupBox2.Text = "详情";
+ this.Code.DataPropertyName = "Code";
+ this.Code.HeaderText = "设备编号";
+ this.Code.Name = "Code";
+ this.Code.ReadOnly = true;
+ this.Code.Width = 180;
//
- // splitContainer1
+ // panel17
//
- this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer1.Location = new System.Drawing.Point(3, 19);
- this.splitContainer1.Name = "splitContainer1";
- this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ this.panel17.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel17.Location = new System.Drawing.Point(403, 84);
+ this.panel17.Name = "panel17";
+ this.panel17.Size = new System.Drawing.Size(3, 758);
+ this.panel17.TabIndex = 8;
//
- // splitContainer1.Panel1
+ // panel16
//
- this.splitContainer1.Panel1.Controls.Add(this.panel15);
- this.splitContainer1.Panel1.Controls.Add(this.panel14);
+ this.panel16.Dock = System.Windows.Forms.DockStyle.Left;
+ this.panel16.Location = new System.Drawing.Point(3, 84);
+ this.panel16.Name = "panel16";
+ this.panel16.Size = new System.Drawing.Size(3, 758);
+ this.panel16.TabIndex = 7;
//
- // splitContainer1.Panel2
+ // panel8
//
- this.splitContainer1.Panel2.Controls.Add(this.tabControl1);
- this.splitContainer1.Size = new System.Drawing.Size(634, 400);
- this.splitContainer1.SplitterDistance = 199;
- this.splitContainer1.TabIndex = 2;
+ this.panel8.Controls.Add(this.lbCurrSel);
+ this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
+ this.panel8.Location = new System.Drawing.Point(3, 35);
+ this.panel8.Name = "panel8";
+ this.panel8.Size = new System.Drawing.Size(403, 49);
+ this.panel8.TabIndex = 4;
+ //
+ // lbCurrSel
+ //
+ this.lbCurrSel.AutoSize = true;
+ this.lbCurrSel.Location = new System.Drawing.Point(3, 9);
+ this.lbCurrSel.Name = "lbCurrSel";
+ this.lbCurrSel.Size = new System.Drawing.Size(134, 31);
+ this.lbCurrSel.TabIndex = 3;
+ this.lbCurrSel.Text = "当前选中:";
+ //
+ // grpDetail
+ //
+ this.grpDetail.Controls.Add(this.splitContainerCenter);
+ this.grpDetail.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.grpDetail.Location = new System.Drawing.Point(0, 0);
+ this.grpDetail.Name = "grpDetail";
+ this.grpDetail.Size = new System.Drawing.Size(1318, 845);
+ this.grpDetail.TabIndex = 2;
+ this.grpDetail.TabStop = false;
+ this.grpDetail.Text = "详情";
+ //
+ // splitContainerCenter
+ //
+ this.splitContainerCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainerCenter.Location = new System.Drawing.Point(3, 35);
+ this.splitContainerCenter.Name = "splitContainerCenter";
+ this.splitContainerCenter.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainerCenter.Panel1
+ //
+ this.splitContainerCenter.Panel1.Controls.Add(this.panel15);
+ this.splitContainerCenter.Panel1.Controls.Add(this.pnHeader);
+ //
+ // splitContainerCenter.Panel2
+ //
+ this.splitContainerCenter.Panel2.Controls.Add(this.tabControl1);
+ this.splitContainerCenter.Size = new System.Drawing.Size(1312, 807);
+ this.splitContainerCenter.SplitterDistance = 326;
+ this.splitContainerCenter.TabIndex = 2;
//
// panel15
//
this.panel15.Controls.Add(this.dgvMapping);
this.panel15.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel15.Location = new System.Drawing.Point(0, 37);
+ this.panel15.Location = new System.Drawing.Point(0, 47);
this.panel15.Name = "panel15";
- this.panel15.Size = new System.Drawing.Size(634, 162);
+ this.panel15.Size = new System.Drawing.Size(1312, 279);
this.panel15.TabIndex = 2;
//
// dgvMapping
//
this.dgvMapping.AllowUserToAddRows = false;
this.dgvMapping.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvMapping.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvMapping.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.dgvMapping.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvMapping.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.InstrumentField,
@@ -233,75 +354,103 @@
this.dgvMapping.MultiSelect = false;
this.dgvMapping.Name = "dgvMapping";
this.dgvMapping.RowHeadersVisible = false;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.dgvMapping.RowsDefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.dgvMapping.RowsDefaultCellStyle = dataGridViewCellStyle4;
this.dgvMapping.RowTemplate.Height = 23;
this.dgvMapping.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dgvMapping.Size = new System.Drawing.Size(634, 162);
+ this.dgvMapping.Size = new System.Drawing.Size(1312, 279);
this.dgvMapping.TabIndex = 1;
//
+ // InstrumentField
+ //
+ this.InstrumentField.DataPropertyName = "SourceField";
+ this.InstrumentField.HeaderText = "设备数据列";
+ this.InstrumentField.Name = "InstrumentField";
+ this.InstrumentField.ReadOnly = true;
+ this.InstrumentField.Width = 200;
+ //
+ // CnasField
+ //
+ this.CnasField.DataPropertyName = "TargetField";
+ this.CnasField.HeaderText = "CNAS数据列";
+ this.CnasField.Name = "CnasField";
+ this.CnasField.ReadOnly = true;
+ this.CnasField.Width = 200;
+ //
+ // PrimaryKey
+ //
+ this.PrimaryKey.DataPropertyName = "IfPrimaryKey";
+ this.PrimaryKey.HeaderText = "关键字段";
+ this.PrimaryKey.Name = "PrimaryKey";
+ this.PrimaryKey.Width = 150;
+ //
+ // DateKey
+ //
+ this.DateKey.DataPropertyName = "IfDateField";
+ this.DateKey.HeaderText = "日期字段";
+ this.DateKey.Name = "DateKey";
+ this.DateKey.Width = 150;
+ //
// cmsMapping
//
+ this.cmsMapping.ImageScalingSize = new System.Drawing.Size(32, 32);
this.cmsMapping.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btnDelMap});
this.cmsMapping.Name = "cmsMapping";
- this.cmsMapping.Size = new System.Drawing.Size(101, 26);
+ this.cmsMapping.Size = new System.Drawing.Size(137, 40);
//
// btnDelMap
//
this.btnDelMap.Name = "btnDelMap";
- this.btnDelMap.Size = new System.Drawing.Size(100, 22);
+ this.btnDelMap.Size = new System.Drawing.Size(136, 36);
this.btnDelMap.Text = "移除";
this.btnDelMap.Click += new System.EventHandler(this.btnDelMap_Click);
//
- // panel14
+ // pnHeader
//
- this.panel14.Controls.Add(this.txtInstrumentColumn);
- this.panel14.Controls.Add(this.cbxCNASColumn);
- this.panel14.Controls.Add(this.label3);
- this.panel14.Controls.Add(this.label2);
- this.panel14.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel14.Location = new System.Drawing.Point(0, 0);
- this.panel14.Name = "panel14";
- this.panel14.Size = new System.Drawing.Size(634, 37);
- this.panel14.TabIndex = 1;
+ this.pnHeader.Controls.Add(this.txtInstrumentColumn);
+ this.pnHeader.Controls.Add(this.cbxCNASColumn);
+ this.pnHeader.Controls.Add(this.lbDevField);
+ this.pnHeader.Controls.Add(this.label2);
+ this.pnHeader.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnHeader.Location = new System.Drawing.Point(0, 0);
+ this.pnHeader.Name = "pnHeader";
+ this.pnHeader.Size = new System.Drawing.Size(1312, 47);
+ this.pnHeader.TabIndex = 1;
//
// txtInstrumentColumn
//
- this.txtInstrumentColumn.Location = new System.Drawing.Point(429, 6);
+ this.txtInstrumentColumn.Location = new System.Drawing.Point(560, 6);
this.txtInstrumentColumn.Name = "txtInstrumentColumn";
this.txtInstrumentColumn.ReadOnly = true;
- this.txtInstrumentColumn.Size = new System.Drawing.Size(195, 23);
+ this.txtInstrumentColumn.Size = new System.Drawing.Size(220, 39);
this.txtInstrumentColumn.TabIndex = 7;
- this.txtInstrumentColumn.DoubleClick += new System.EventHandler(this.txtInstrumentColumn_DoubleClick);
//
// cbxCNASColumn
//
this.cbxCNASColumn.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxCNASColumn.FormattingEnabled = true;
- this.cbxCNASColumn.Location = new System.Drawing.Point(429, 10);
+ this.cbxCNASColumn.Location = new System.Drawing.Point(542, 10);
this.cbxCNASColumn.Name = "cbxCNASColumn";
- this.cbxCNASColumn.Size = new System.Drawing.Size(184, 25);
+ this.cbxCNASColumn.Size = new System.Drawing.Size(200, 39);
this.cbxCNASColumn.TabIndex = 6;
this.cbxCNASColumn.Visible = false;
- this.cbxCNASColumn.SelectedIndexChanged += new System.EventHandler(this.cbxCNASColumn_SelectedIndexChanged);
- this.cbxCNASColumn.Leave += new System.EventHandler(this.cbxCNASColumn_Leave);
//
- // label3
+ // lbDevField
//
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(321, 10);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(113, 17);
- this.label3.TabIndex = 5;
- this.label3.Text = "CNAS仪器信息列:";
+ this.lbDevField.AutoSize = true;
+ this.lbDevField.Location = new System.Drawing.Point(321, 10);
+ this.lbDevField.Name = "lbDevField";
+ this.lbDevField.Size = new System.Drawing.Size(225, 31);
+ this.lbDevField.TabIndex = 5;
+ this.lbDevField.Text = "CNAS仪器信息列:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(3, 10);
this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(92, 17);
+ this.label2.Size = new System.Drawing.Size(182, 31);
this.label2.TabIndex = 4;
this.label2.Text = "字段映射信息:";
//
@@ -312,64 +461,65 @@
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
- this.tabControl1.Size = new System.Drawing.Size(634, 197);
+ this.tabControl1.Size = new System.Drawing.Size(1312, 477);
this.tabControl1.TabIndex = 1;
//
// tabPage6
//
- this.tabPage6.Controls.Add(this.splitContainer2);
- this.tabPage6.Location = new System.Drawing.Point(4, 26);
+ this.tabPage6.Controls.Add(this.splitContainerFields);
+ this.tabPage6.Location = new System.Drawing.Point(8, 45);
this.tabPage6.Name = "tabPage6";
this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage6.Size = new System.Drawing.Size(626, 167);
+ this.tabPage6.Size = new System.Drawing.Size(1296, 424);
this.tabPage6.TabIndex = 1;
this.tabPage6.Text = "字段";
this.tabPage6.UseVisualStyleBackColor = true;
//
- // splitContainer2
+ // splitContainerFields
//
- this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer2.Location = new System.Drawing.Point(3, 3);
- this.splitContainer2.Name = "splitContainer2";
+ this.splitContainerFields.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainerFields.Location = new System.Drawing.Point(3, 3);
+ this.splitContainerFields.Name = "splitContainerFields";
//
- // splitContainer2.Panel1
+ // splitContainerFields.Panel1
//
- this.splitContainer2.Panel1.Controls.Add(this.dgvInstruDS);
- this.splitContainer2.Panel1.Controls.Add(this.pnlleft);
+ this.splitContainerFields.Panel1.Controls.Add(this.dgvInstruDS);
+ this.splitContainerFields.Panel1.Controls.Add(this.pnlleft);
//
- // splitContainer2.Panel2
+ // splitContainerFields.Panel2
//
- this.splitContainer2.Panel2.Controls.Add(this.dgvCnas);
- this.splitContainer2.Panel2.Controls.Add(this.pnlRight);
- this.splitContainer2.Size = new System.Drawing.Size(620, 161);
- this.splitContainer2.SplitterDistance = 307;
- this.splitContainer2.TabIndex = 1;
+ this.splitContainerFields.Panel2.Controls.Add(this.dgvCnas);
+ this.splitContainerFields.Panel2.Controls.Add(this.pnlRight);
+ this.splitContainerFields.Size = new System.Drawing.Size(1290, 418);
+ this.splitContainerFields.SplitterDistance = 631;
+ this.splitContainerFields.TabIndex = 1;
+ this.splitContainerFields.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainerFields_SplitterMoved);
//
// dgvInstruDS
//
this.dgvInstruDS.AllowUserToAddRows = false;
this.dgvInstruDS.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvInstruDS.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
+ dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvInstruDS.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
this.dgvInstruDS.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvInstruDS.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.InstruFieldName,
this.InstruDataType});
this.dgvInstruDS.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dgvInstruDS.Location = new System.Drawing.Point(0, 34);
+ this.dgvInstruDS.Location = new System.Drawing.Point(0, 47);
this.dgvInstruDS.Name = "dgvInstruDS";
this.dgvInstruDS.ReadOnly = true;
- dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.dgvInstruDS.RowsDefaultCellStyle = dataGridViewCellStyle4;
+ dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.dgvInstruDS.RowsDefaultCellStyle = dataGridViewCellStyle6;
this.dgvInstruDS.RowTemplate.Height = 23;
this.dgvInstruDS.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dgvInstruDS.Size = new System.Drawing.Size(307, 127);
+ this.dgvInstruDS.Size = new System.Drawing.Size(631, 371);
this.dgvInstruDS.TabIndex = 1;
//
// InstruFieldName
@@ -386,61 +536,61 @@
this.InstruDataType.HeaderText = "数据类型";
this.InstruDataType.Name = "InstruDataType";
this.InstruDataType.ReadOnly = true;
+ this.InstruDataType.Width = 200;
//
// pnlleft
//
this.pnlleft.Controls.Add(this.cbxInstrument);
- this.pnlleft.Controls.Add(this.label12);
+ this.pnlleft.Controls.Add(this.lbDevFields);
this.pnlleft.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlleft.Location = new System.Drawing.Point(0, 0);
this.pnlleft.Name = "pnlleft";
- this.pnlleft.Size = new System.Drawing.Size(307, 34);
+ this.pnlleft.Size = new System.Drawing.Size(631, 47);
this.pnlleft.TabIndex = 0;
//
// cbxInstrument
//
this.cbxInstrument.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxInstrument.FormattingEnabled = true;
- this.cbxInstrument.Location = new System.Drawing.Point(104, 6);
+ this.cbxInstrument.Location = new System.Drawing.Point(211, 6);
this.cbxInstrument.Name = "cbxInstrument";
- this.cbxInstrument.Size = new System.Drawing.Size(200, 25);
+ this.cbxInstrument.Size = new System.Drawing.Size(200, 39);
this.cbxInstrument.TabIndex = 1;
- this.cbxInstrument.SelectedIndexChanged += new System.EventHandler(this.cbxInstrument_SelectedIndexChanged);
//
- // label12
+ // lbDevFields
//
- this.label12.AutoSize = true;
- this.label12.Location = new System.Drawing.Point(3, 10);
- this.label12.Name = "label12";
- this.label12.Size = new System.Drawing.Size(104, 17);
- this.label12.TabIndex = 0;
- this.label12.Text = "设备数据源表名:";
+ this.lbDevFields.AutoSize = true;
+ this.lbDevFields.Location = new System.Drawing.Point(3, 10);
+ this.lbDevFields.Name = "lbDevFields";
+ this.lbDevFields.Size = new System.Drawing.Size(206, 31);
+ this.lbDevFields.TabIndex = 0;
+ this.lbDevFields.Text = "设备数据源表名:";
//
// dgvCnas
//
this.dgvCnas.AllowUserToAddRows = false;
this.dgvCnas.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvCnas.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
+ dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvCnas.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dgvCnas.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvCnas.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.CNASFieldName,
this.CnasDataType});
this.dgvCnas.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dgvCnas.Location = new System.Drawing.Point(0, 34);
+ this.dgvCnas.Location = new System.Drawing.Point(0, 47);
this.dgvCnas.Name = "dgvCnas";
this.dgvCnas.ReadOnly = true;
- dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.dgvCnas.RowsDefaultCellStyle = dataGridViewCellStyle6;
+ dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.dgvCnas.RowsDefaultCellStyle = dataGridViewCellStyle8;
this.dgvCnas.RowTemplate.Height = 23;
this.dgvCnas.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dgvCnas.Size = new System.Drawing.Size(309, 127);
+ this.dgvCnas.Size = new System.Drawing.Size(655, 371);
this.dgvCnas.TabIndex = 2;
//
// CNASFieldName
@@ -457,44 +607,181 @@
this.CnasDataType.HeaderText = "数据类型";
this.CnasDataType.Name = "CnasDataType";
this.CnasDataType.ReadOnly = true;
+ this.CnasDataType.Width = 200;
//
// pnlRight
//
this.pnlRight.Controls.Add(this.cbxCnas);
- this.pnlRight.Controls.Add(this.label13);
+ this.pnlRight.Controls.Add(this.lbCnasFields);
this.pnlRight.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlRight.Location = new System.Drawing.Point(0, 0);
this.pnlRight.Name = "pnlRight";
- this.pnlRight.Size = new System.Drawing.Size(309, 34);
+ this.pnlRight.Size = new System.Drawing.Size(655, 47);
this.pnlRight.TabIndex = 0;
//
// cbxCnas
//
this.cbxCnas.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxCnas.FormattingEnabled = true;
- this.cbxCnas.Location = new System.Drawing.Point(122, 6);
+ this.cbxCnas.Location = new System.Drawing.Point(222, 6);
this.cbxCnas.Name = "cbxCnas";
- this.cbxCnas.Size = new System.Drawing.Size(184, 25);
+ this.cbxCnas.Size = new System.Drawing.Size(184, 39);
this.cbxCnas.TabIndex = 2;
- this.cbxCnas.SelectedIndexChanged += new System.EventHandler(this.cbxCnas_SelectedIndexChanged);
//
- // label13
+ // lbCnasFields
+ //
+ this.lbCnasFields.AutoSize = true;
+ this.lbCnasFields.Location = new System.Drawing.Point(3, 10);
+ this.lbCnasFields.Name = "lbCnasFields";
+ this.lbCnasFields.Size = new System.Drawing.Size(225, 31);
+ this.lbCnasFields.TabIndex = 1;
+ this.lbCnasFields.Text = "CNAS数据库表名:";
+ //
+ // pnlMenuTop
+ //
+ this.pnlMenuTop.Controls.Add(this.menuStrip1);
+ this.pnlMenuTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlMenuTop.Location = new System.Drawing.Point(10, 0);
+ this.pnlMenuTop.Name = "pnlMenuTop";
+ this.pnlMenuTop.Size = new System.Drawing.Size(1735, 29);
+ this.pnlMenuTop.TabIndex = 6;
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tsmSystemSetting,
+ this.tsmServiceSetting,
+ this.tsmSourceSetting,
+ this.tsmHelper});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Size = new System.Drawing.Size(1735, 39);
+ this.menuStrip1.TabIndex = 0;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // tsmSystemSetting
+ //
+ this.tsmSystemSetting.Name = "tsmSystemSetting";
+ this.tsmSystemSetting.Size = new System.Drawing.Size(156, 35);
+ this.tsmSystemSetting.Text = "系统设置(&G)";
+ this.tsmSystemSetting.Click += new System.EventHandler(this.tsmSystemSetting_Click);
+ //
+ // tsmServiceSetting
+ //
+ this.tsmServiceSetting.Name = "tsmServiceSetting";
+ this.tsmServiceSetting.Size = new System.Drawing.Size(152, 35);
+ this.tsmServiceSetting.Text = "服务设置(&S)";
+ this.tsmServiceSetting.Click += new System.EventHandler(this.tsmServiceSetting_Click);
+ //
+ // tsmSourceSetting
+ //
+ this.tsmSourceSetting.Name = "tsmSourceSetting";
+ this.tsmSourceSetting.Size = new System.Drawing.Size(150, 35);
+ this.tsmSourceSetting.Text = "来源设置(&L)";
+ this.tsmSourceSetting.Click += new System.EventHandler(this.tsmSourceSetting_Click);
+ //
+ // tsmHelper
+ //
+ this.tsmHelper.Name = "tsmHelper";
+ this.tsmHelper.Size = new System.Drawing.Size(109, 35);
+ this.tsmHelper.Text = "帮助(&H)";
+ this.tsmHelper.Click += new System.EventHandler(this.tsmHelper_Click);
+ //
+ // panel3
+ //
+ this.panel3.Location = new System.Drawing.Point(331, 75);
+ this.panel3.Name = "panel3";
+ this.panel3.Size = new System.Drawing.Size(468, 393);
+ this.panel3.TabIndex = 5;
+ //
+ // panel2
+ //
+ this.panel2.Dock = System.Windows.Forms.DockStyle.Left;
+ this.panel2.Location = new System.Drawing.Point(0, 0);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(10, 874);
+ this.panel2.TabIndex = 4;
+ //
+ // btnSave
+ //
+ this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSave.Location = new System.Drawing.Point(37, 4);
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Size = new System.Drawing.Size(150, 47);
+ this.btnSave.TabIndex = 3;
+ this.btnSave.Text = "保存";
+ this.btnSave.UseVisualStyleBackColor = true;
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // pnBottom
//
- this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(3, 10);
- this.label13.Name = "label13";
- this.label13.Size = new System.Drawing.Size(113, 17);
- this.label13.TabIndex = 1;
- this.label13.Text = "CNAS数据库表名:";
+ this.pnBottom.Controls.Add(this.pnSave);
+ this.pnBottom.Controls.Add(this.pnFieldButtons);
+ this.pnBottom.Controls.Add(this.panel12);
+ this.pnBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnBottom.Location = new System.Drawing.Point(0, 876);
+ this.pnBottom.Name = "pnBottom";
+ this.pnBottom.Size = new System.Drawing.Size(1745, 117);
+ this.pnBottom.TabIndex = 1;
+ //
+ // pnSave
+ //
+ this.pnSave.Controls.Add(this.panel1);
+ this.pnSave.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnSave.Location = new System.Drawing.Point(0, 61);
+ this.pnSave.Name = "pnSave";
+ this.pnSave.Size = new System.Drawing.Size(1745, 56);
+ this.pnSave.TabIndex = 5;
//
// panel1
//
- this.panel1.Controls.Add(this.panel7);
- this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel1.Location = new System.Drawing.Point(0, 422);
+ this.panel1.Controls.Add(this.btnSave);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panel1.Location = new System.Drawing.Point(1545, 0);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(640, 41);
- this.panel1.TabIndex = 3;
+ this.panel1.Size = new System.Drawing.Size(200, 56);
+ this.panel1.TabIndex = 4;
+ //
+ // pnFieldButtons
+ //
+ this.pnFieldButtons.Controls.Add(this.pnCodeBottom);
+ this.pnFieldButtons.Controls.Add(this.panel7);
+ this.pnFieldButtons.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnFieldButtons.Location = new System.Drawing.Point(0, 0);
+ this.pnFieldButtons.Name = "pnFieldButtons";
+ this.pnFieldButtons.Size = new System.Drawing.Size(1745, 62);
+ this.pnFieldButtons.TabIndex = 4;
+ //
+ // pnCodeBottom
+ //
+ this.pnCodeBottom.Controls.Add(this.btnAdd);
+ this.pnCodeBottom.Controls.Add(this.btnDel);
+ this.pnCodeBottom.Dock = System.Windows.Forms.DockStyle.Left;
+ this.pnCodeBottom.Location = new System.Drawing.Point(0, 0);
+ this.pnCodeBottom.Name = "pnCodeBottom";
+ this.pnCodeBottom.Size = new System.Drawing.Size(397, 62);
+ this.pnCodeBottom.TabIndex = 10;
+ //
+ // btnAdd
+ //
+ this.btnAdd.Location = new System.Drawing.Point(12, 10);
+ this.btnAdd.Name = "btnAdd";
+ this.btnAdd.Size = new System.Drawing.Size(120, 47);
+ this.btnAdd.TabIndex = 1;
+ this.btnAdd.Text = "新增";
+ this.btnAdd.UseVisualStyleBackColor = true;
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
+ //
+ // btnDel
+ //
+ this.btnDel.Location = new System.Drawing.Point(143, 10);
+ this.btnDel.Name = "btnDel";
+ this.btnDel.Size = new System.Drawing.Size(120, 47);
+ this.btnDel.TabIndex = 2;
+ this.btnDel.Text = "删除";
+ this.btnDel.UseVisualStyleBackColor = true;
+ this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
//
// panel7
//
@@ -504,16 +791,16 @@
this.panel7.Controls.Add(this.btnAddMapping);
this.panel7.Controls.Add(this.btnDatabaseConfig);
this.panel7.Dock = System.Windows.Forms.DockStyle.Right;
- this.panel7.Location = new System.Drawing.Point(226, 0);
+ this.panel7.Location = new System.Drawing.Point(862, 0);
this.panel7.Name = "panel7";
- this.panel7.Size = new System.Drawing.Size(414, 41);
+ this.panel7.Size = new System.Drawing.Size(883, 62);
this.panel7.TabIndex = 5;
//
// btnSourceFilter
//
- this.btnSourceFilter.Location = new System.Drawing.Point(86, 3);
+ this.btnSourceFilter.Location = new System.Drawing.Point(197, 9);
this.btnSourceFilter.Name = "btnSourceFilter";
- this.btnSourceFilter.Size = new System.Drawing.Size(79, 23);
+ this.btnSourceFilter.Size = new System.Drawing.Size(150, 47);
this.btnSourceFilter.TabIndex = 6;
this.btnSourceFilter.Text = "来源过滤";
this.btnSourceFilter.UseVisualStyleBackColor = true;
@@ -521,9 +808,9 @@
//
// btnCNASFieldConfig
//
- this.btnCNASFieldConfig.Location = new System.Drawing.Point(168, 3);
+ this.btnCNASFieldConfig.Location = new System.Drawing.Point(371, 9);
this.btnCNASFieldConfig.Name = "btnCNASFieldConfig";
- this.btnCNASFieldConfig.Size = new System.Drawing.Size(79, 23);
+ this.btnCNASFieldConfig.Size = new System.Drawing.Size(150, 47);
this.btnCNASFieldConfig.TabIndex = 5;
this.btnCNASFieldConfig.Text = "条件映射";
this.btnCNASFieldConfig.UseVisualStyleBackColor = true;
@@ -531,9 +818,9 @@
//
// btnLoadDBData
//
- this.btnLoadDBData.Location = new System.Drawing.Point(249, 3);
+ this.btnLoadDBData.Location = new System.Drawing.Point(545, 9);
this.btnLoadDBData.Name = "btnLoadDBData";
- this.btnLoadDBData.Size = new System.Drawing.Size(79, 23);
+ this.btnLoadDBData.Size = new System.Drawing.Size(150, 47);
this.btnLoadDBData.TabIndex = 4;
this.btnLoadDBData.Text = "加载数据";
this.btnLoadDBData.UseVisualStyleBackColor = true;
@@ -541,9 +828,9 @@
//
// btnAddMapping
//
- this.btnAddMapping.Location = new System.Drawing.Point(3, 3);
+ this.btnAddMapping.Location = new System.Drawing.Point(23, 9);
this.btnAddMapping.Name = "btnAddMapping";
- this.btnAddMapping.Size = new System.Drawing.Size(79, 23);
+ this.btnAddMapping.Size = new System.Drawing.Size(150, 47);
this.btnAddMapping.TabIndex = 2;
this.btnAddMapping.Text = "新增映射";
this.btnAddMapping.UseVisualStyleBackColor = true;
@@ -551,146 +838,17 @@
//
// btnDatabaseConfig
//
- this.btnDatabaseConfig.Location = new System.Drawing.Point(332, 3);
+ this.btnDatabaseConfig.Location = new System.Drawing.Point(719, 9);
this.btnDatabaseConfig.Name = "btnDatabaseConfig";
- this.btnDatabaseConfig.Size = new System.Drawing.Size(79, 23);
+ this.btnDatabaseConfig.Size = new System.Drawing.Size(150, 47);
this.btnDatabaseConfig.TabIndex = 3;
this.btnDatabaseConfig.Text = "配置数据库";
this.btnDatabaseConfig.UseVisualStyleBackColor = true;
this.btnDatabaseConfig.Click += new System.EventHandler(this.btnDatabaseConfig_Click);
//
- // panel2
- //
- this.panel2.Dock = System.Windows.Forms.DockStyle.Left;
- this.panel2.Location = new System.Drawing.Point(146, 0);
- this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size(10, 463);
- this.panel2.TabIndex = 4;
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.panel10);
- this.groupBox1.Controls.Add(this.panel9);
- this.groupBox1.Controls.Add(this.panel8);
- this.groupBox1.Dock = System.Windows.Forms.DockStyle.Left;
- this.groupBox1.Location = new System.Drawing.Point(0, 0);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(146, 463);
- this.groupBox1.TabIndex = 0;
- this.groupBox1.TabStop = false;
- this.groupBox1.Text = "仪器";
- //
- // panel10
- //
- this.panel10.Controls.Add(this.dgvInstrument);
- this.panel10.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel10.Location = new System.Drawing.Point(3, 56);
- this.panel10.Name = "panel10";
- this.panel10.Size = new System.Drawing.Size(140, 358);
- this.panel10.TabIndex = 6;
- //
- // dgvInstrument
- //
- this.dgvInstrument.AllowUserToAddRows = false;
- this.dgvInstrument.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvInstrument.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
- this.dgvInstrument.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.dgvInstrument.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
- this.Code});
- this.dgvInstrument.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dgvInstrument.Location = new System.Drawing.Point(0, 0);
- this.dgvInstrument.MultiSelect = false;
- this.dgvInstrument.Name = "dgvInstrument";
- this.dgvInstrument.ReadOnly = true;
- this.dgvInstrument.RowHeadersVisible = false;
- dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.dgvInstrument.RowsDefaultCellStyle = dataGridViewCellStyle8;
- this.dgvInstrument.RowTemplate.Height = 23;
- this.dgvInstrument.Size = new System.Drawing.Size(140, 358);
- this.dgvInstrument.TabIndex = 0;
- this.dgvInstrument.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvInstrument_CellDoubleClick);
- this.dgvInstrument.SelectionChanged += new System.EventHandler(this.dgvInstrument_SelectionChanged);
- //
- // panel9
- //
- this.panel9.Controls.Add(this.btnAdd);
- this.panel9.Controls.Add(this.btnDel);
- this.panel9.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel9.Location = new System.Drawing.Point(3, 414);
- this.panel9.Name = "panel9";
- this.panel9.Size = new System.Drawing.Size(140, 46);
- this.panel9.TabIndex = 5;
- //
- // btnAdd
- //
- this.btnAdd.Location = new System.Drawing.Point(3, 11);
- this.btnAdd.Name = "btnAdd";
- this.btnAdd.Size = new System.Drawing.Size(58, 23);
- this.btnAdd.TabIndex = 1;
- this.btnAdd.Text = "新增";
- this.btnAdd.UseVisualStyleBackColor = true;
- this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
- //
- // btnDel
- //
- this.btnDel.Location = new System.Drawing.Point(68, 11);
- this.btnDel.Name = "btnDel";
- this.btnDel.Size = new System.Drawing.Size(58, 23);
- this.btnDel.TabIndex = 2;
- this.btnDel.Text = "删除";
- this.btnDel.UseVisualStyleBackColor = true;
- this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
- //
- // panel8
- //
- this.panel8.Controls.Add(this.label1);
- this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel8.Location = new System.Drawing.Point(3, 19);
- this.panel8.Name = "panel8";
- this.panel8.Size = new System.Drawing.Size(140, 37);
- this.panel8.TabIndex = 4;
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(3, 9);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(68, 17);
- this.label1.TabIndex = 3;
- this.label1.Text = "当前选中:";
- //
- // btnSave
- //
- this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnSave.Location = new System.Drawing.Point(11, 4);
- this.btnSave.Name = "btnSave";
- this.btnSave.Size = new System.Drawing.Size(82, 35);
- this.btnSave.TabIndex = 3;
- this.btnSave.Text = "保存";
- this.btnSave.UseVisualStyleBackColor = true;
- this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
- //
- // panel11
- //
- this.panel11.Controls.Add(this.panel12);
- this.panel11.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel11.Location = new System.Drawing.Point(0, 465);
- this.panel11.Name = "panel11";
- this.panel11.Size = new System.Drawing.Size(796, 43);
- this.panel11.TabIndex = 1;
- //
// panel12
//
- this.panel12.Controls.Add(this.btnSave);
- this.panel12.Dock = System.Windows.Forms.DockStyle.Right;
- this.panel12.Location = new System.Drawing.Point(694, 0);
+ this.panel12.Location = new System.Drawing.Point(1522, 0);
this.panel12.Name = "panel12";
this.panel12.Size = new System.Drawing.Size(102, 43);
this.panel12.TabIndex = 0;
@@ -702,7 +860,7 @@
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(0, 0);
this.panel4.Name = "panel4";
- this.panel4.Size = new System.Drawing.Size(796, 465);
+ this.panel4.Size = new System.Drawing.Size(1745, 876);
this.panel4.TabIndex = 2;
//
// panel13
@@ -711,104 +869,79 @@
this.panel13.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel13.Location = new System.Drawing.Point(0, 0);
this.panel13.Name = "panel13";
- this.panel13.Size = new System.Drawing.Size(796, 463);
+ this.panel13.Size = new System.Drawing.Size(1745, 874);
this.panel13.TabIndex = 2;
//
// panel6
//
this.panel6.BackColor = System.Drawing.SystemColors.ControlDark;
this.panel6.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel6.Location = new System.Drawing.Point(0, 463);
+ this.panel6.Location = new System.Drawing.Point(0, 874);
this.panel6.Name = "panel6";
- this.panel6.Size = new System.Drawing.Size(796, 2);
+ this.panel6.Size = new System.Drawing.Size(1745, 2);
this.panel6.TabIndex = 1;
//
- // Code
- //
- this.Code.DataPropertyName = "Code";
- this.Code.HeaderText = "设备编号";
- this.Code.Name = "Code";
- this.Code.ReadOnly = true;
- this.Code.Width = 135;
- //
- // InstrumentField
- //
- this.InstrumentField.DataPropertyName = "SourceField";
- this.InstrumentField.HeaderText = "设备数据列";
- this.InstrumentField.Name = "InstrumentField";
- this.InstrumentField.ReadOnly = true;
- this.InstrumentField.Width = 200;
- //
- // CnasField
- //
- this.CnasField.DataPropertyName = "TargetField";
- this.CnasField.HeaderText = "CNAS数据列";
- this.CnasField.Name = "CnasField";
- this.CnasField.ReadOnly = true;
- this.CnasField.Width = 200;
- //
- // PrimaryKey
- //
- this.PrimaryKey.DataPropertyName = "IfPrimaryKey";
- this.PrimaryKey.HeaderText = "关键字段";
- this.PrimaryKey.Name = "PrimaryKey";
- //
- // DateKey
- //
- this.DateKey.DataPropertyName = "IfDateField";
- this.DateKey.HeaderText = "日期字段";
- this.DateKey.Name = "DateKey";
- //
// frmSyncParams
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 31F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(796, 508);
+ this.ClientSize = new System.Drawing.Size(1745, 993);
this.Controls.Add(this.panel4);
- this.Controls.Add(this.panel11);
+ this.Controls.Add(this.pnBottom);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MainMenuStrip = this.menuStrip1;
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "frmSyncParams";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "设备数据上传工具";
+ this.Text = "仪器数据取数端配置界面";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSyncParams_FormClosing);
this.Load += new System.EventHandler(this.frmSyncParams_Load);
+ this.Resize += new System.EventHandler(this.frmSyncParams_Resize);
this.pnlAll.ResumeLayout(false);
- this.panel3.ResumeLayout(false);
+ this.pnlBodyCenter.ResumeLayout(false);
this.pnlRigh.ResumeLayout(false);
this.panel5.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.splitContainer1.Panel1.ResumeLayout(false);
- this.splitContainer1.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
- this.splitContainer1.ResumeLayout(false);
+ this.splitContainerCol.Panel1.ResumeLayout(false);
+ this.splitContainerCol.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerCol)).EndInit();
+ this.splitContainerCol.ResumeLayout(false);
+ this.grpDevice.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dgvInstrument)).EndInit();
+ this.panel8.ResumeLayout(false);
+ this.panel8.PerformLayout();
+ this.grpDetail.ResumeLayout(false);
+ this.splitContainerCenter.Panel1.ResumeLayout(false);
+ this.splitContainerCenter.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerCenter)).EndInit();
+ this.splitContainerCenter.ResumeLayout(false);
this.panel15.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvMapping)).EndInit();
this.cmsMapping.ResumeLayout(false);
- this.panel14.ResumeLayout(false);
- this.panel14.PerformLayout();
+ this.pnHeader.ResumeLayout(false);
+ this.pnHeader.PerformLayout();
this.tabControl1.ResumeLayout(false);
this.tabPage6.ResumeLayout(false);
- this.splitContainer2.Panel1.ResumeLayout(false);
- this.splitContainer2.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
- this.splitContainer2.ResumeLayout(false);
+ this.splitContainerFields.Panel1.ResumeLayout(false);
+ this.splitContainerFields.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainerFields)).EndInit();
+ this.splitContainerFields.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvInstruDS)).EndInit();
this.pnlleft.ResumeLayout(false);
this.pnlleft.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvCnas)).EndInit();
this.pnlRight.ResumeLayout(false);
this.pnlRight.PerformLayout();
+ this.pnlMenuTop.ResumeLayout(false);
+ this.pnlMenuTop.PerformLayout();
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
+ this.pnBottom.ResumeLayout(false);
+ this.pnSave.ResumeLayout(false);
this.panel1.ResumeLayout(false);
+ this.pnFieldButtons.ResumeLayout(false);
+ this.pnCodeBottom.ResumeLayout(false);
this.panel7.ResumeLayout(false);
- this.groupBox1.ResumeLayout(false);
- this.panel10.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.dgvInstrument)).EndInit();
- this.panel9.ResumeLayout(false);
- this.panel8.ResumeLayout(false);
- this.panel8.PerformLayout();
- this.panel11.ResumeLayout(false);
- this.panel12.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel13.ResumeLayout(false);
this.ResumeLayout(false);
@@ -818,62 +951,73 @@
#endregion
private System.Windows.Forms.Panel pnlAll;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnSave;
- private System.Windows.Forms.Button btnDel;
- private System.Windows.Forms.Button btnAdd;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.SplitContainer splitContainer2;
- private System.Windows.Forms.DataGridView dgvInstruDS;
- private System.Windows.Forms.Panel pnlleft;
- private System.Windows.Forms.ComboBox cbxInstrument;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.DataGridView dgvCnas;
- private System.Windows.Forms.Panel pnlRight;
- private System.Windows.Forms.ComboBox cbxCnas;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.Button btnAddMapping;
- private System.Windows.Forms.DataGridView dgvInstrument;
private System.Windows.Forms.ContextMenuStrip cmsMapping;
private System.Windows.Forms.ToolStripMenuItem btnDelMap;
private System.Windows.Forms.Panel panel3;
- private System.Windows.Forms.TabControl tabControl1;
- private System.Windows.Forms.TabPage tabPage6;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Button btnDatabaseConfig;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel pnlRigh;
- private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Panel panel5;
- private System.Windows.Forms.Button btnLoadDBData;
- private System.Windows.Forms.Panel panel7;
- private System.Windows.Forms.Panel panel10;
- private System.Windows.Forms.Panel panel9;
- private System.Windows.Forms.Panel panel8;
- private System.Windows.Forms.Panel panel11;
+ private System.Windows.Forms.Panel pnBottom;
private System.Windows.Forms.Panel panel12;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel13;
private System.Windows.Forms.Panel panel6;
- private System.Windows.Forms.DataGridViewTextBoxColumn InstruFieldName;
- private System.Windows.Forms.DataGridViewTextBoxColumn InstruDataType;
- private System.Windows.Forms.DataGridViewTextBoxColumn CNASFieldName;
- private System.Windows.Forms.DataGridViewTextBoxColumn CnasDataType;
- private System.Windows.Forms.Button btnCNASFieldConfig;
- private System.Windows.Forms.Button btnSourceFilter;
+ private System.Windows.Forms.Panel pnlMenuTop;
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem tsmSystemSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsmSourceSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsmHelper;
+ private System.Windows.Forms.Panel pnlBodyCenter;
+ private System.Windows.Forms.ToolStripMenuItem tsmServiceSetting;
+ private System.Windows.Forms.SplitContainer splitContainerCol;
+ private System.Windows.Forms.GroupBox grpDevice;
+ private System.Windows.Forms.DataGridView dgvInstrument;
+ private System.Windows.Forms.Panel panel17;
+ private System.Windows.Forms.Panel panel16;
+ private System.Windows.Forms.Panel panel8;
+ private System.Windows.Forms.Label lbCurrSel;
+ private System.Windows.Forms.GroupBox grpDetail;
+ private System.Windows.Forms.SplitContainer splitContainerCenter;
private System.Windows.Forms.Panel panel15;
private System.Windows.Forms.DataGridView dgvMapping;
- private System.Windows.Forms.Panel panel14;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.ComboBox cbxCNASColumn;
- private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Panel pnHeader;
private System.Windows.Forms.TextBox txtInstrumentColumn;
+ private System.Windows.Forms.ComboBox cbxCNASColumn;
+ private System.Windows.Forms.Label lbDevField;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabPage tabPage6;
+ private System.Windows.Forms.SplitContainer splitContainerFields;
+ private System.Windows.Forms.DataGridView dgvInstruDS;
+ private System.Windows.Forms.Panel pnlleft;
+ private System.Windows.Forms.ComboBox cbxInstrument;
+ private System.Windows.Forms.Label lbDevFields;
+ private System.Windows.Forms.DataGridView dgvCnas;
+ private System.Windows.Forms.Panel pnlRight;
+ private System.Windows.Forms.ComboBox cbxCnas;
+ private System.Windows.Forms.Label lbCnasFields;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Code;
private System.Windows.Forms.DataGridViewTextBoxColumn InstrumentField;
private System.Windows.Forms.DataGridViewTextBoxColumn CnasField;
private System.Windows.Forms.DataGridViewCheckBoxColumn PrimaryKey;
private System.Windows.Forms.DataGridViewCheckBoxColumn DateKey;
- private System.Windows.Forms.DataGridViewTextBoxColumn Code;
+ private System.Windows.Forms.DataGridViewTextBoxColumn InstruFieldName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn InstruDataType;
+ private System.Windows.Forms.DataGridViewTextBoxColumn CNASFieldName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn CnasDataType;
+ private System.Windows.Forms.Panel pnFieldButtons;
+ private System.Windows.Forms.Panel panel7;
+ private System.Windows.Forms.Button btnSourceFilter;
+ private System.Windows.Forms.Button btnCNASFieldConfig;
+ private System.Windows.Forms.Button btnLoadDBData;
+ private System.Windows.Forms.Button btnAddMapping;
+ private System.Windows.Forms.Button btnDatabaseConfig;
+ private System.Windows.Forms.Panel pnSave;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Panel pnCodeBottom;
+ private System.Windows.Forms.Button btnAdd;
+ private System.Windows.Forms.Button btnDel;
}
}
diff --git a/CNAS_DBSync/frmSyncParams.cs b/CNAS_DBSync/frmSyncParams.cs
index 068fcaf..0e27df8 100644
--- a/CNAS_DBSync/frmSyncParams.cs
+++ b/CNAS_DBSync/frmSyncParams.cs
@@ -12,6 +12,7 @@ using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using System.Xml.Serialization;
+using System.Configuration;
namespace CNAS_DBSync
{
@@ -27,6 +28,8 @@ namespace CNAS_DBSync
private string strMode = "";
private string strTableInfoMode = ""; //获取所有表信息的方式;0为自动获取,1为手动输入
+ private const string Property_Size_Key = "FormSyncParams";
+
public frmSyncParams(SyncInstrumentItemInfo syncInstrumentItem=null)
{
InitializeComponent();
@@ -56,7 +59,7 @@ namespace CNAS_DBSync
if (strTableInfoMode == "1")
{
cbxInstrument.DropDownStyle = ComboBoxStyle.DropDown;
- cbxCnas.DropDownStyle = ComboBoxStyle.DropDown;
+ //cbxCnas.DropDownStyle = ComboBoxStyle.DropDown;
}
}
@@ -73,7 +76,30 @@ namespace CNAS_DBSync
//绑定数据源,填写相关内容
if(lstSyncInstrument.Count!=0)
- dgvInstrument.DataSource = new BindingList(lstSyncInstrument);
+ dgvInstrument.DataSource = new BindingList(lstSyncInstrument);
+
+ bool changed;
+ List values = FormSizeHelper.Instance.LoadDefaultSize(this, Property_Size_Key, out changed);
+ if (changed && values != null && values.Count>0)
+ {
+ int pos;
+ if(int.TryParse(values[0], out pos))
+ {
+ if (pos> 0 && pos < this.Width / 2)
+ {
+ splitContainerCol.SplitterDistance = pos;
+ }
+ }
+ }
+ splitContainerCol.Panel1MinSize = 230;
+
+ }
+
+ private void frmSyncParams_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ string value = string.Format("{0},{1},{2},{3},{4}",
+ Left, Top, Width, Height, splitContainerCol.SplitterDistance);
+ FormSizeHelper.Instance.SaveDefaultSize(Property_Size_Key, value);
}
///
@@ -460,7 +486,8 @@ namespace CNAS_DBSync
frmDatabase.ShowDialog();
//加载数据
- btnLoadDBData_Click(null, null);
+ if ((currentSyncItem.SyncInstrumentDSInfo.Host!=null&& currentSyncItem.SyncInstrumentDSInfo.Host.Length>0) || (currentSyncItem.SyncInstrumentDSInfo.Path!=null&& currentSyncItem.SyncInstrumentDSInfo.Path.Length>0))
+ btnLoadDBData_Click(null, null);
}
private void btnLoadDBData_Click(object sender, EventArgs e)
@@ -547,8 +574,11 @@ namespace CNAS_DBSync
{
List lstCnasTables = new List();
foreach (DataRow dr in dtCNAS.Rows)
- {
- lstCnasTables.Add(dr["TABNAME"].ToString());
+ {
+ if (dtCNAS.Columns.Contains("TABNAME"))
+ lstCnasTables.Add(dr["TABNAME"].ToString());
+ else if (dtCNAS.Columns.Contains("table_name"))
+ lstCnasTables.Add(dr["table_name"].ToString());
}
cbxCnas.DataSource = lstCnasTables;
@@ -584,8 +614,11 @@ namespace CNAS_DBSync
{
if (currentSyncItem.SyncInstrumentDSInfo == null) return -1;
if (currentSyncItem.SyncTargetDBInfo == null) return -2;
- if (cbxInstrument.Text == ""||cbxCnas.Text=="") return -6;
+ if (cbxInstrument.Text == "") return -6;
+ int returnValue = 1;
+
+ //根据手动输入来源库的表名加载字段
InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(currentSyncItem.SyncInstrumentDSInfo, new object[] { cbxInstrument.Text, "", "" });
DataTable dataTableStruct = instrumentData.GetInstrumentDataStruct();
if (dataTableStruct != null && dataTableStruct.Columns.Count > 0)
@@ -594,17 +627,42 @@ namespace CNAS_DBSync
dictInstruTables.Add(cbxInstrument.Text, dataTableStruct);
cbxInstrument_SelectedIndexChanged(null, null);
- if (CnasDataOperationFact.CnasDataOperation().TestConnect(currentSyncItem.SyncTargetDBInfo.DBHost, currentSyncItem.SyncTargetDBInfo.DBName, currentSyncItem.SyncTargetDBInfo.DBUser, currentSyncItem.SyncTargetDBInfo.DBPwd, currentSyncItem.SyncTargetDBInfo.DBPort))
- cbxCnas_SelectedIndexChanged(null, null);
- else
- return -4;
-
- return 1;
+ //return 1;
}
else
{
- return -3;
+ returnValue = -3;
+ return returnValue;
}
+
+ //获取CNAS配置的数据库连接信息
+ DataTable dtCNAS = CnasDataOperationFact.CnasDataOperation().GetAllCNASTablesName(currentSyncItem.SyncTargetDBInfo);
+ if (dtCNAS != null && dtCNAS.Rows.Count > 0)
+ {
+ List lstCnasTables = new List();
+ foreach (DataRow dr in dtCNAS.Rows)
+ {
+ lstCnasTables.Add(dr["TABNAME"].ToString());
+ }
+
+ cbxCnas.DataSource = lstCnasTables;
+ cbxCnas.ValueMember = "";
+
+ if (currentSyncItem.LstSyncPramas != null && currentSyncItem.LstSyncPramas.Count > 0)
+ {
+ if (lstCnasTables.Contains(currentSyncItem.LstSyncPramas[0].TargetTable) || lstCnasTables.Contains(currentSyncItem.LstSyncPramas[0].TargetTable.ToUpper()) || lstCnasTables.Contains(currentSyncItem.LstSyncPramas[0].TargetTable.ToLower()))
+ {
+ cbxCnas.Text = currentSyncItem.LstSyncPramas[0].TargetTable;
+ //cbxCnas_SelectedIndexChanged(null, null);
+ }
+ else
+ returnValue = -5;
+ }
+ }
+ else
+ returnValue = -4;
+
+ return returnValue;
}
private void dgvMapping_CellValueChanged(object sender, DataGridViewCellEventArgs e)
@@ -668,6 +726,11 @@ namespace CNAS_DBSync
private void btnCNASFieldConfig_Click(object sender, EventArgs e)
{
+ if (currentSyncItem == null || currentSyncItem.LstSyncPramas == null || currentSyncItem.LstSyncPramas.Count == 0)
+ {
+ MessageBox.Show("请先指定至少一个映射字段。");
+ return;
+ }
frmCNASValue frmCNAS = new frmCNASValue(currentSyncItem);
if (frmCNAS.ShowDialog() == DialogResult.OK)
{
@@ -677,7 +740,12 @@ namespace CNAS_DBSync
private void btnSourceFilter_Click(object sender, EventArgs e)
{
- frmSourceFilter frm = new frmSourceFilter(currentSyncItem);
+ if (currentSyncItem == null || currentSyncItem.LstSyncPramas == null || currentSyncItem.LstSyncPramas.Count == 0)
+ {
+ MessageBox.Show("请先指定至少一个映射字段。");
+ return;
+ }
+ frmSourceFilter frm = new frmSourceFilter(currentSyncItem,strTableInfoMode);
frm.sourceDataFilterHandler = delegate (SourceDataFilter dataFilter)
{
currentSyncItem.SourceFilter = dataFilter;
@@ -702,10 +770,11 @@ namespace CNAS_DBSync
lstInstrument[0].InstruType = Instrumentitem.InstruType;
}
};
- frmCode.ShowDialog();
-
- //绑定数据
- dgvInstrument.DataSource = new BindingList(lstSyncInstrument);
+ if (frmCode.ShowDialog() == DialogResult.OK)
+ {
+ //绑定数据
+ dgvInstrument.DataSource = new BindingList(lstSyncInstrument);
+ }
}
private void cbxCNASColumn_SelectedIndexChanged(object sender, EventArgs e)
@@ -744,5 +813,64 @@ namespace CNAS_DBSync
cbxCNASColumn.Visible = false;
}
}
+
+ private void tsmServiceSetting_Click(object sender, EventArgs e)
+ {
+ frmServiceConfig frmServiceConfig = new frmServiceConfig();
+ frmServiceConfig.ShowDialog();
+ }
+
+ private void tsmSystemSetting_Click(object sender, EventArgs e)
+ {
+ frmSystemSetting frmSystem = new frmSystemSetting();
+ frmSystem.ShowDialog();
+
+ strTableInfoMode = FileOperation.GetSystemFormatConfigData().TableInfoMode;
+ if (strTableInfoMode == "1")
+ {
+ cbxInstrument.DropDownStyle = ComboBoxStyle.DropDown;
+ //cbxCnas.DropDownStyle = ComboBoxStyle.DropDown;
+ }
+ else
+ {
+ cbxInstrument.DropDownStyle = ComboBoxStyle.DropDownList;
+ }
+ }
+
+ private void tsmSourceSetting_Click(object sender, EventArgs e)
+ {
+ frmSourceSetting frmSource = new frmSourceSetting();
+ frmSource.ShowDialog();
+ }
+
+ private void tsmHelper_Click(object sender, EventArgs e)
+ {
+ string strHelpFilePath = FileHelper.getBasePath()+ @"\Helper.CHM";
+ //Help.ShowHelp(null, strHelpFilePath, HelpNavigator.TopicId, "1");
+ //Help.ShowHelpIndex(this, strHelpFilePath);
+ System.Diagnostics.Process.Start(strHelpFilePath);
+ }
+
+ private void splitContainerCol_SplitterMoved(object sender, SplitterEventArgs e)
+ {
+ dgvInstrument.Columns[0].Width = dgvInstrument.Width - 4;
+ }
+
+ private void splitContainerFields_SplitterMoved(object sender, SplitterEventArgs e)
+ {
+ cbxInstrument.Left = lbDevFields.Left + lbDevFields.Width + 4;
+ //cbxInstrument.Width = pnlleft.Width - (lbDevFields.Left + lbDevFields.Width) - 20;
+
+ cbxCnas.Left = lbCnasFields.Left + lbCnasFields.Width + 4;
+ //cbxCnas.Width = pnlRigh.Width - cbxCnas.Left - 20;
+ }
+
+ private void frmSyncParams_Resize(object sender, EventArgs e)
+ {
+ txtInstrumentColumn.Left = pnHeader.Width - txtInstrumentColumn.Width - 12;
+ cbxCNASColumn.Left = txtInstrumentColumn.Left;
+ cbxCNASColumn.Width = txtInstrumentColumn.Width;
+ lbDevField.Left = cbxCNASColumn.Left - 8 - lbDevField.Width;
+ }
}
}
diff --git a/CNAS_DBSync/frmSyncParams.resx b/CNAS_DBSync/frmSyncParams.resx
index 23d9771..b399236 100644
--- a/CNAS_DBSync/frmSyncParams.resx
+++ b/CNAS_DBSync/frmSyncParams.resx
@@ -117,6 +117,9 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ True
+
True
@@ -144,11 +147,11 @@
True
-
- True
+
+ 146, 17
- 60
+ 25
diff --git a/CNAS_DBSync/frmSystemSetting.Designer.cs b/CNAS_DBSync/frmSystemSetting.Designer.cs
new file mode 100644
index 0000000..cf8bb55
--- /dev/null
+++ b/CNAS_DBSync/frmSystemSetting.Designer.cs
@@ -0,0 +1,268 @@
+namespace CNAS_DBSync
+{
+ partial class frmSystemSetting
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSystemSetting));
+ this.pnlAll = new System.Windows.Forms.Panel();
+ this.pnlBody = new System.Windows.Forms.Panel();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.numpLogDataDays = new System.Windows.Forms.NumericUpDown();
+ this.label4 = new System.Windows.Forms.Label();
+ this.cbxAutomatic = new System.Windows.Forms.CheckBox();
+ this.cbxManual = new System.Windows.Forms.CheckBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.numpShowDataDays = new System.Windows.Forms.NumericUpDown();
+ this.lblText1 = new System.Windows.Forms.Label();
+ this.pnlRight = new System.Windows.Forms.Panel();
+ this.pnlLeft = new System.Windows.Forms.Panel();
+ this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlTop = new System.Windows.Forms.Panel();
+ this.pnlAll.SuspendLayout();
+ this.pnlBody.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numpLogDataDays)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numpShowDataDays)).BeginInit();
+ this.SuspendLayout();
+ //
+ // pnlAll
+ //
+ this.pnlAll.Controls.Add(this.pnlBody);
+ this.pnlAll.Controls.Add(this.pnlRight);
+ this.pnlAll.Controls.Add(this.pnlLeft);
+ this.pnlAll.Controls.Add(this.pnlBottom);
+ this.pnlAll.Controls.Add(this.pnlTop);
+ this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlAll.Location = new System.Drawing.Point(0, 0);
+ this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlAll.Name = "pnlAll";
+ this.pnlAll.Size = new System.Drawing.Size(441, 226);
+ this.pnlAll.TabIndex = 0;
+ //
+ // pnlBody
+ //
+ this.pnlBody.Controls.Add(this.btnOK);
+ this.pnlBody.Controls.Add(this.groupBox1);
+ this.pnlBody.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlBody.Location = new System.Drawing.Point(10, 10);
+ this.pnlBody.Name = "pnlBody";
+ this.pnlBody.Size = new System.Drawing.Size(421, 206);
+ this.pnlBody.TabIndex = 4;
+ //
+ // btnOK
+ //
+ this.btnOK.Location = new System.Drawing.Point(325, 169);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(90, 30);
+ this.btnOK.TabIndex = 1;
+ this.btnOK.Text = "确定";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.numpLogDataDays);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.cbxAutomatic);
+ this.groupBox1.Controls.Add(this.cbxManual);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.numpShowDataDays);
+ this.groupBox1.Controls.Add(this.lblText1);
+ this.groupBox1.Location = new System.Drawing.Point(2, 6);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(415, 157);
+ this.groupBox1.TabIndex = 0;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "设置";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(337, 109);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(20, 17);
+ this.label3.TabIndex = 8;
+ this.label3.Text = "天";
+ //
+ // numpLogDataDays
+ //
+ this.numpLogDataDays.Location = new System.Drawing.Point(211, 104);
+ this.numpLogDataDays.Name = "numpLogDataDays";
+ this.numpLogDataDays.Size = new System.Drawing.Size(120, 23);
+ this.numpLogDataDays.TabIndex = 7;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(41, 106);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(164, 17);
+ this.label4.TabIndex = 6;
+ this.label4.Text = "自动生成日志记录范围:最近";
+ //
+ // cbxAutomatic
+ //
+ this.cbxAutomatic.AutoSize = true;
+ this.cbxAutomatic.Checked = true;
+ this.cbxAutomatic.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxAutomatic.Location = new System.Drawing.Point(250, 34);
+ this.cbxAutomatic.Name = "cbxAutomatic";
+ this.cbxAutomatic.Size = new System.Drawing.Size(51, 21);
+ this.cbxAutomatic.TabIndex = 5;
+ this.cbxAutomatic.Text = "自动";
+ this.cbxAutomatic.UseVisualStyleBackColor = true;
+ this.cbxAutomatic.CheckedChanged += new System.EventHandler(this.cbxAutomatic_CheckedChanged);
+ //
+ // cbxManual
+ //
+ this.cbxManual.AutoSize = true;
+ this.cbxManual.Location = new System.Drawing.Point(185, 34);
+ this.cbxManual.Name = "cbxManual";
+ this.cbxManual.Size = new System.Drawing.Size(51, 21);
+ this.cbxManual.TabIndex = 4;
+ this.cbxManual.Text = "手动";
+ this.cbxManual.UseVisualStyleBackColor = true;
+ this.cbxManual.CheckedChanged += new System.EventHandler(this.cbxManual_CheckedChanged);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(41, 35);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(119, 17);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "加载来源表结构方式:";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(337, 75);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(20, 17);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "天";
+ //
+ // numpShowDataDays
+ //
+ this.numpShowDataDays.Location = new System.Drawing.Point(211, 70);
+ this.numpShowDataDays.Name = "numpShowDataDays";
+ this.numpShowDataDays.Size = new System.Drawing.Size(120, 23);
+ this.numpShowDataDays.TabIndex = 1;
+ //
+ // lblText1
+ //
+ this.lblText1.AutoSize = true;
+ this.lblText1.Location = new System.Drawing.Point(41, 73);
+ this.lblText1.Name = "lblText1";
+ this.lblText1.Size = new System.Drawing.Size(164, 17);
+ this.lblText1.TabIndex = 0;
+ this.lblText1.Text = "数据展示界面显示范围:最近";
+ //
+ // pnlRight
+ //
+ this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlRight.Location = new System.Drawing.Point(431, 10);
+ this.pnlRight.Name = "pnlRight";
+ this.pnlRight.Size = new System.Drawing.Size(10, 206);
+ this.pnlRight.TabIndex = 3;
+ //
+ // pnlLeft
+ //
+ this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
+ this.pnlLeft.Location = new System.Drawing.Point(0, 10);
+ this.pnlLeft.Name = "pnlLeft";
+ this.pnlLeft.Size = new System.Drawing.Size(10, 206);
+ this.pnlLeft.TabIndex = 2;
+ //
+ // pnlBottom
+ //
+ this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlBottom.Location = new System.Drawing.Point(0, 216);
+ this.pnlBottom.Name = "pnlBottom";
+ this.pnlBottom.Size = new System.Drawing.Size(441, 10);
+ this.pnlBottom.TabIndex = 1;
+ //
+ // pnlTop
+ //
+ this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlTop.Location = new System.Drawing.Point(0, 0);
+ this.pnlTop.Name = "pnlTop";
+ this.pnlTop.Size = new System.Drawing.Size(441, 10);
+ this.pnlTop.TabIndex = 0;
+ //
+ // frmSystemSetting
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.SystemColors.Control;
+ this.ClientSize = new System.Drawing.Size(441, 226);
+ this.Controls.Add(this.pnlAll);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.MaximizeBox = false;
+ this.Name = "frmSystemSetting";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "系统参数设置";
+ this.Load += new System.EventHandler(this.frmSystemSetting_Load);
+ this.pnlAll.ResumeLayout(false);
+ this.pnlBody.ResumeLayout(false);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numpLogDataDays)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numpShowDataDays)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel pnlAll;
+ private System.Windows.Forms.Panel pnlBottom;
+ private System.Windows.Forms.Panel pnlTop;
+ private System.Windows.Forms.Panel pnlRight;
+ private System.Windows.Forms.Panel pnlLeft;
+ private System.Windows.Forms.Panel pnlBody;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.NumericUpDown numpShowDataDays;
+ private System.Windows.Forms.Label lblText1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.CheckBox cbxAutomatic;
+ private System.Windows.Forms.CheckBox cbxManual;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.NumericUpDown numpLogDataDays;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Button btnOK;
+ }
+}
\ No newline at end of file
diff --git a/CNAS_DBSync/frmSystemSetting.cs b/CNAS_DBSync/frmSystemSetting.cs
new file mode 100644
index 0000000..1cfcb94
--- /dev/null
+++ b/CNAS_DBSync/frmSystemSetting.cs
@@ -0,0 +1,72 @@
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Xml.Serialization;
+
+namespace CNAS_DBSync
+{
+ public partial class frmSystemSetting : Form
+ {
+ private SystemFormatConfig systemConfig;
+ public frmSystemSetting()
+ {
+ InitializeComponent();
+ }
+
+ private void frmSystemSetting_Load(object sender, EventArgs e)
+ {
+ //加载配置信息
+ systemConfig= FileOperation.GetSystemFormatConfigData();
+
+ if (systemConfig.TableInfoMode == "1")
+ {
+ this.cbxManual.Checked = true;
+ this.cbxAutomatic.Checked = false;
+ }
+ else
+ {
+ this.cbxManual.Checked = false;
+ this.cbxAutomatic.Checked = true;
+ }
+
+ int days = 0;
+ if (Int32.TryParse(systemConfig.ShowDelayDays, out days))
+ {
+ this.numpShowDataDays.Value = -days;
+ }
+ if (Int32.TryParse(systemConfig.ShowLogDays, out days))
+ {
+ this.numpLogDataDays.Value = -days;
+ }
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ //判断合法性,存储配置信息
+ systemConfig.TableInfoMode = this.cbxManual.Checked ? "1" : "0";
+ systemConfig.ShowDelayDays = (-numpShowDataDays.Value).ToString();
+ systemConfig.ShowLogDays = (-numpLogDataDays.Value).ToString();
+
+ bool bSave = FileOperation.SaveSystemFormatConfigData(systemConfig);
+
+ MessageBox.Show(bSave?"保存成功!":"保存失败!");
+ }
+
+ private void cbxManual_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxAutomatic.Checked = !cbxManual.Checked;
+ }
+
+ private void cbxAutomatic_CheckedChanged(object sender, EventArgs e)
+ {
+ cbxManual.Checked = !cbxAutomatic.Checked;
+ }
+ }
+}
diff --git a/CNAS_DBSync/frmSystemSetting.resx b/CNAS_DBSync/frmSystemSetting.resx
new file mode 100644
index 0000000..29429f0
--- /dev/null
+++ b/CNAS_DBSync/frmSystemSetting.resx
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAAHAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAKAAAAbAAAAIgAAACGAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7AAAAbAAA
+ AAoAAAA9AAAAbgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAAAMwAAAD8AAAAOAAAAAAAAAA0AAAB0AAAAPAAAAAAAAAALAAAAggAAACoAAAACAAAAAwAA
+ ACoAAABGAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABGAAAAewAAAGkAAAB7AAAAZAAA
+ AH8AAABjAAAADgAAAAAAAAAAAAAAPQAAAH8AAABsAAAAbwAAAHYAAABrAAAAbgAAAA8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABIAAACBAAAAIAAAAAAAAAAkAAAASgAAABwAAAABAAAAAAAAAAAAAAAAAAAAAAAA
+ AAsAAAA+AAAAOwAAAAkAAAADAAAAaQAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAByAAAAMAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAdQAA
+ AC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAbQAAAAIAAAAAAAAAAAAAAAAAAAAFAAAAJAAA
+ ADYAAAAuAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAA5AAAAcAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA4AAAAbgAAAAMAAAAAAAAAAAAAABsAAABvAAAAdQAAAGcAAABtAAAAfAAAAD0AAAABAAAAAAAA
+ AAAAAAA9AAAAbQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAB0AAAAOQAAAAAAAAAAAAAAFQAA
+ AH0AAABIAAAACwAAAAAAAAAEAAAAJQAAAH0AAAA/AAAAAAAAAAAAAAALAAAAfgAAACoAAAACAAAAAAAA
+ AAAAAAATAAAAVwAAAIAAAABmAAAADQAAAAAAAAAAAAAAVwAAAFkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACQAAAB8AAAAEQAAAAAAAAAAAAAAPQAAAIMAAABuAAAALQAAAAAAAABfAAAAawAAABcAAAACAAAAAAAA
+ AAAAAAAGAAAAfAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABtAAAAMQAAAAAAAAAAAAAAAAAA
+ AAwAAAA9AAAAhgAAAAcAAABvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAgQAAABEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABmAAAAOgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAiAAAAAoAAABEAAAAfgAA
+ AEwAAAAeAAAAAQAAAAAAAAAEAAAAcwAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAB0AAAAJwAA
+ AAAAAAAAAAAADQAAADoAAABqAAAAbwAAAAMAAAACAAAAJwAAAF4AAACBAAAAHAAAAAAAAAAAAAAAQQAA
+ AHMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAEIAAAByAAAABwAAAAAAAAABAAAAYAAAAHUAAAA+AAAACwAA
+ AAAAAAAAAAAAAAAAAAAAAABeAAAAUAAAAAAAAAAAAAAABgAAAGEAAABxAAAAKwAAAA0AAAAaAAAAUwAA
+ AH0AAAAfAAAAAAAAAAAAAAAbAAAAfgAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAAeQAA
+ AAQAAAAAAAAAAAAAAAYAAABBAAAAdQAAAIMAAAB+AAAAWwAAABcAAAAAAAAAAAAAAAAAAABJAAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ AAgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAewAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABAAAAB7AAAAHQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAA
+ AAAAAAAAAAAAZgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAB3AAAAQgAAABwAAABWAAAAdwAA
+ AE0AAAAcAAAAAQAAAAAAAAAAAAAADAAAADcAAABtAAAAbAAAADAAAAAeAAAAeQAAADQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAfAAAAegAAAH4AAABXAAAALwAAAF0AAACAAAAAHwAAAAAAAAACAAAAYwAA
+ AHMAAAA7AAAAPgAAAHMAAACCAAAARwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAA
+ ABEAAAAAAAAAAAAAAAAAAABdAAAATQAAAAAAAAAVAAAAgQAAAA0AAAAAAAAAAAAAAAkAAAATAAAAAQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAAAAfQAA
+ AEEAAABpAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAARAAAAG8AAABhAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Af8A/gD/AMAABwCAAAMAgAADAIAAAwCAAAMAgAADAIAA
+ AQAAAAAAAAAAAAAYAAAAGAAAABAAAAAAAAAAAAAAgAABAIIAAwCAAAMAgAADAIAAAwCAAAMAwAAHAP8B
+ /wA=
+
+
+
\ No newline at end of file
diff --git a/CNAS_DBSync/packages.config b/CNAS_DBSync/packages.config
index f33cbc9..1749a1c 100644
--- a/CNAS_DBSync/packages.config
+++ b/CNAS_DBSync/packages.config
@@ -1,9 +1,9 @@
-
-
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/CNAS_PortDataParsing/BalancePortParsing.cs b/CNAS_PortDataParsing/BalancePortParsing.cs
new file mode 100644
index 0000000..f29095b
--- /dev/null
+++ b/CNAS_PortDataParsing/BalancePortParsing.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CNAS_PortDataParsing
+{
+ public class BalancePortParsing : IDataParsing
+ {
+ public byte[] DataParsingByte(byte[] byteData)
+ {
+ throw new NotImplementedException();
+ }
+
+ public string DataParsingString(string strData)
+ {
+ return strData;
+ }
+ }
+}
diff --git a/CNAS_PortDataParsing/CNAS_PortDataParsing.csproj b/CNAS_PortDataParsing/CNAS_PortDataParsing.csproj
new file mode 100644
index 0000000..dd2900f
--- /dev/null
+++ b/CNAS_PortDataParsing/CNAS_PortDataParsing.csproj
@@ -0,0 +1,49 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {9BEF74C8-F759-4AF3-9605-B4E32A992D02}
+ Library
+ Properties
+ CNAS_PortDataParsing
+ CNAS_PortDataParsing
+ v4.5
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_PortDataParsing/IDataParsing.cs b/CNAS_PortDataParsing/IDataParsing.cs
new file mode 100644
index 0000000..0d7bb5f
--- /dev/null
+++ b/CNAS_PortDataParsing/IDataParsing.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CNAS_PortDataParsing
+{
+ public interface IDataParsing
+ {
+ ///
+ /// 解析字符串数据
+ ///
+ ///
+ ///
+ string DataParsingString(string strData);
+
+ ///
+ /// 解析字节数组数据
+ ///
+ ///
+ ///
+ Byte[] DataParsingByte(Byte[] byteData);
+ }
+}
diff --git a/CNAS_PortDataParsing/Properties/AssemblyInfo.cs b/CNAS_PortDataParsing/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..5959551
--- /dev/null
+++ b/CNAS_PortDataParsing/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("CNAS_PortDataParsing")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CNAS_PortDataParsing")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("9bef74c8-f759-4af3-9605-b4e32a992d02")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CNAS_RunSync/CNAS_RunSync.csproj b/CNAS_RunSync/CNAS_RunSync.csproj
index 61e30f1..77503e8 100644
--- a/CNAS_RunSync/CNAS_RunSync.csproj
+++ b/CNAS_RunSync/CNAS_RunSync.csproj
@@ -8,7 +8,7 @@
WinExe
CNAS_RunSync
CNAS_RunSync
- v4.0
+ v4.8
512
true
@@ -22,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -31,10 +32,14 @@
TRACE
prompt
4
+ false
app.manifest
+
+ Synchronize_show.ico
+
False
@@ -56,22 +61,25 @@
-
+
Form
-
- frmSyncShow.cs
+
+ frmSynchrousMain.cs
+
+
+ Component
-
+
UserControl
-
- ucSyncShow.cs
+
+ ucSynchrousMain.cs
-
- frmSyncShow.cs
+
+ frmSynchrousMain.cs
ResXFileCodeGenerator
@@ -83,8 +91,8 @@
Resources.resx
True
-
- ucSyncShow.cs
+
+ ucSynchrousMain.cs
Designer
@@ -101,6 +109,10 @@
+
+ {d4d6a680-8b6b-4ecb-96d0-264954dabfc1}
+ CNASBalanceDBManage
+
{8e0e5f2e-2ba2-4952-9f31-34c072cd86b3}
CnasSynchronousCommon
@@ -118,5 +130,9 @@
CNAS_DBSync
+
+
+
+
\ No newline at end of file
diff --git a/CNAS_RunSync/KMenuTabControl.cs b/CNAS_RunSync/KMenuTabControl.cs
new file mode 100644
index 0000000..75e7e63
--- /dev/null
+++ b/CNAS_RunSync/KMenuTabControl.cs
@@ -0,0 +1,390 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace CNAS_RunSync
+{
+ public partial class KMenuTabControl : System.Windows.Forms.TabControl
+ {
+ #region 属性、构造
+ Color SelectedColor = Color.FromArgb(235,235,235);
+ Color MoveColor = Color.FromArgb(225, 225, 225);
+ Color FontColor = Color.Black;
+ int TextLeft = 10;
+ [Browsable(true)]
+ [Description("选项卡标题左边距"), Category("TextLeft"), DefaultValue(typeof(Int32), "10")]
+ public int TitleTextLeft
+ {
+ get { return TextLeft; }
+ set { this.TextLeft = value; }
+ }
+
+ [Browsable(true)]
+ [Description("选项卡标题字体颜色"), Category("TitleColor"), DefaultValue(typeof(Color), "Black")]
+ public Color TitleFontColor
+ {
+ get { return FontColor; }
+ set { this.FontColor = value; }
+ }
+
+ [Browsable(true)]
+ [Description("选项卡标题字体选中颜色"), Category("TitleColor"), DefaultValue(typeof(Color), "LightSkyBlue")]
+ public Color TitleSelectedColor
+ {
+ get { return SelectedColor; }
+ set { this.SelectedColor = value; }
+ }
+
+ [Browsable(true)]
+ [Description("选项卡标题字体悬浮颜色"), Category("TitleColor"), DefaultValue(typeof(Color), "White")]
+ public Color TitleMoveColor
+ {
+ get { return MoveColor; }
+ set { this.MoveColor = value; }
+ }
+
+ [Browsable(true), Description("整个控件的背景色"), Category("外观")]
+ public Color TabControlBackColor { get; set; }
+
+ [Browsable(true), Description("TabControl ItemSize"), Category("外观")]
+ public Size TabControlItemSize { get; set; }
+
+ public KMenuTabControl()
+ {
+ this.SuspendLayout();
+ this.DrawMode = TabDrawMode.OwnerDrawFixed;
+ this.ResumeLayout(false);
+ this.SizeMode = TabSizeMode.Fixed;
+ this.Multiline = false;
+ this.TabControlBackColor = Color.WhiteSmoke;
+ this.TabControlItemSize = new Size(100, 28);
+ this.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabMenu_DrawItem);
+ this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.MainTabControl_MouseDown);
+ }
+ #endregion
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ Rectangle tcRec = this.ClientRectangle;//整个tabControl的边框
+ e.Graphics.FillRectangle(new SolidBrush(this.TabControlBackColor), tcRec);
+
+ int MaxWidth = 100;
+ for (int i = 0; i < this.TabCount; i++)
+ {
+ Graphics gx = Graphics.FromImage(new Bitmap(1, 1));
+ SizeF size = gx.MeasureString(this.Controls[i].Text, this.Font);
+ if (MaxWidth < (int)size.Width + 30)
+ MaxWidth = (int)size.Width + 30;
+ }
+ this.TabControlItemSize = new Size(MaxWidth, this.TabControlItemSize.Height);
+ if (this.ItemSize != this.TabControlItemSize)
+ {
+ this.ItemSize = TabControlItemSize;
+ }
+
+ StringFormat sf = new StringFormat();//封装文本布局信息
+ sf.LineAlignment = StringAlignment.Center;
+ sf.Alignment = StringAlignment.Near;
+ for (int i = 0; i < this.TabCount; i++)
+ {
+ Graphics g = e.Graphics;
+ // int width = (int)g.MeasureString(this.Controls[i].Text, this.Font).Width + 40;
+ Rectangle rect = this.GetTabRect(i);
+ // rect.Width = width;
+ if (this.SelectedIndex == i)
+ g.FillRectangle(new SolidBrush(MoveColor), rect);
+ else
+ g.FillRectangle(new SolidBrush(SelectedColor), rect);
+
+ SolidBrush brush = new SolidBrush(FontColor);
+ // rect.Width = width;
+ rect.X += TextLeft;
+ g.DrawString(this.Controls[i].Text, this.Font, brush, rect, sf);
+
+ using (Pen objpen = new Pen(Color.Black))
+ {
+ int tx = (int)(rect.X + (rect.Width - 30));
+ rect.X = tx - 2;
+ Point p5 = new Point(tx, 8);
+ Font font = new System.Drawing.Font("微软雅黑", 12);
+ //g.DrawString("〇", font, brush, rect, sf);
+ font = new System.Drawing.Font("微软雅黑", 11);
+ rect.X = tx + 2;
+ rect.Y = rect.Y - 1;
+ g.DrawString("×", font, brush, rect, sf);
+ }
+ }
+ }
+
+ public override Rectangle DisplayRectangle
+ {
+ get
+ {
+ Rectangle rect = base.DisplayRectangle;
+ return new Rectangle(rect.Left - 2, rect.Top - 2, rect.Width + 4, rect.Height + 5);
+ }
+ }
+
+ int index = -1;
+ protected override void OnMouseMove(MouseEventArgs e)
+ {
+ int Count = 0;
+ try
+ {
+ Graphics g = this.CreateGraphics();
+ SolidBrush brush = new SolidBrush(FontColor);
+ StringFormat sf = new StringFormat();//封装文本布局信息
+ sf.LineAlignment = StringAlignment.Center;
+ sf.Alignment = StringAlignment.Near;
+
+ for (int i = 0; i < this.TabPages.Count; i++)
+ {
+ TabPage tp = this.TabPages[i];
+ if (this.GetTabRect(i).Contains(e.Location) && tp != this.SelectedTab)
+ {
+ if (index != i)
+ {
+ if (Count == 0)
+ {
+ if (index != -1 && this.TabPages[index] != this.SelectedTab)
+ {
+ g.FillRectangle(new SolidBrush(SelectedColor), this.GetTabRect(index));
+
+ RectangleF tRectangle = this.GetTabRect(index);
+ tRectangle.X += TextLeft;
+ g.DrawString(this.Controls[index].Text, this.Font, brush, tRectangle, sf);
+ }
+ Count = 1;
+ }
+ index = i;
+ g.FillRectangle(new SolidBrush(SelectedColor), this.GetTabRect(i));
+ RectangleF tRectangleF = this.GetTabRect(i);
+ tRectangleF.X += TextLeft;
+ g.DrawString(this.Controls[i].Text, this.Font, brush, tRectangleF, sf);
+ using (Pen objpen = new Pen(Color.Black))
+ {
+ int tx = (int)(tRectangleF.X + (tRectangleF.Width - 30));
+ tRectangleF.X = tx - 2;
+ brush.Color = Color.White;
+ Font font = new System.Drawing.Font("微软雅黑", 12);
+ //g.DrawString("〇", font, brush, tRectangleF, sf);
+ font = new System.Drawing.Font("微软雅黑", 11);
+ tRectangleF.X = tx + 2;
+ tRectangleF.Y = tRectangleF.Y - 1;
+ g.DrawString("×", font, brush, tRectangleF, sf);
+ }
+ }
+ }
+ if (this.GetTabRect(i).Contains(e.Location) && tp == this.SelectedTab)
+ {
+ if (index != -1 && index != this.SelectedIndex)
+ {
+ g.FillRectangle(new SolidBrush(SelectedColor), this.GetTabRect(index));
+ RectangleF tRectangleF = this.GetTabRect(index);
+ tRectangleF.X += TextLeft;
+ g.DrawString(this.Controls[index].Text, this.Font, brush, tRectangleF, sf);
+ using (Pen objpen = new Pen(Color.Black))
+ {
+ int tx = (int)(tRectangleF.X + (tRectangleF.Width - 30));
+ tRectangleF.X = tx - 2;
+ Font font = new System.Drawing.Font("微软雅黑", 12);
+ //g.DrawString("〇", font, brush, tRectangleF, sf);
+ font = new System.Drawing.Font("微软雅黑", 11);
+ tRectangleF.X = tx + 2;
+ tRectangleF.Y = tRectangleF.Y - 1;
+ g.DrawString("×", font, brush, tRectangleF, sf);
+ }
+ }
+ index = -1;
+ }
+ }
+ }
+ catch (Exception)
+ {
+ }
+ Count = 0;
+ base.OnMouseMove(e);
+ }
+
+ protected override void OnMouseLeave(EventArgs e)
+ {
+ try
+ {
+ Graphics g = this.CreateGraphics();
+ if (index != -1 && this.TabPages[index] != this.SelectedTab)
+ {
+ g.FillRectangle(new SolidBrush(SelectedColor), this.GetTabRect(index));
+ SolidBrush brush = new SolidBrush(FontColor);
+ RectangleF tRectangleF = this.GetTabRect(index);
+ StringFormat sf = new StringFormat();//封装文本布局信息
+ sf.LineAlignment = StringAlignment.Center;
+ sf.Alignment = StringAlignment.Near;
+ tRectangleF.X += TextLeft;
+ g.DrawString(this.Controls[index].Text, this.Font, brush, tRectangleF, sf);
+ using (Pen objpen = new Pen(Color.Black))
+ {
+ int tx = (int)(tRectangleF.X + (tRectangleF.Width - 30));
+ tRectangleF.X = tx - 2;
+ Point p5 = new Point(tx, 8);
+ Font font = new System.Drawing.Font("微软雅黑", 12);
+ //g.DrawString("〇", font, brush, tRectangleF, sf);
+ font = new System.Drawing.Font("微软雅黑", 11);
+ tRectangleF.X = tx + 2;
+ tRectangleF.Y = tRectangleF.Y - 1;
+ g.DrawString("×", font, brush, tRectangleF, sf);
+ }
+ }
+ }
+ catch (Exception)
+ {
+ }
+ index = -1;
+ base.OnMouseLeave(e);
+ }
+ ///
+ /// 重绘控件
+ ///
+ ///
+ ///
+ private void tabMenu_DrawItem(object sender, DrawItemEventArgs e)
+ {
+ this.SetStyle(
+ ControlStyles.UserPaint | // 控件将自行绘制,而不是通过操作系统来绘制
+ ControlStyles.OptimizedDoubleBuffer | // 该控件首先在缓冲区中绘制,而不是直接绘制到屏幕上,这样可以减少闪烁
+ ControlStyles.AllPaintingInWmPaint | // 控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁
+ ControlStyles.ResizeRedraw | // 在调整控件大小时重绘控件
+ ControlStyles.SupportsTransparentBackColor, // 控件接受 alpha 组件小于 255 的 BackColor 以模拟透明
+ true); // 设置以上值为 true
+ this.UpdateStyles();
+ }
+
+ //关闭按钮功能
+ private void MainTabControl_MouseDown(object sender, MouseEventArgs e)
+ {
+ int closeSize = 20;
+ if (e.Button == MouseButtons.Left)
+ {
+ int x = e.X, y = e.Y;
+ //计算关闭区域
+ Rectangle tab = this.GetTabRect(this.SelectedIndex);
+ tab.Offset(tab.Width - (closeSize + 3), 4);
+ tab.Width = closeSize;
+ tab.Height = closeSize;
+
+ if (this.TabCount == 1) return;
+
+ //如果鼠标在区域内就关闭选项卡
+ bool isClose = x > tab.X && x < tab.Right && y > tab.Y && y < tab.Bottom;
+ if (isClose == true)
+ {
+ this.TabPages.Remove(this.SelectedTab);
+ }
+ }
+ }
+ }
+
+
+ public partial class KTabControl : System.Windows.Forms.TabControl
+ {
+ [Browsable(true), Description("整个控件的背景色"), Category("外观")]
+ public Color TabControlBackColor { get; set; }
+
+ [Browsable(true), Description("Tab的标题栏边框颜色"), Category("外观")]
+ public Color TabBorderColor { get; set; }
+
+ [Browsable(true), Description("当前激活Tab的标题栏背景色"), Category("外观")]
+ public Color ActivedTabBackColor { get; set; }
+
+ [Browsable(true), Description("当前激活Tab的标题文字颜色"), Category("外观")]
+ public Color ActivedTabLabelColor { get; set; }
+
+ [Browsable(true), Description("未激活Tab的标题栏背景色"), Category("外观")]
+ public Color InActivedTabBackColor { get; set; }
+
+ [Browsable(true), Description("未激活Tab的标题文字颜色"), Category("外观")]
+ public Color InActivedTabLabelColor { get; set; }
+
+ [Browsable(true), Description("Tab标题栏的大小"), Category("外观")]
+ public Size TabSize { get; set; }
+
+ public KTabControl()
+ {
+ //this.InitializeComponent();
+
+ TabSet();
+
+ this.TabBorderColor = Color.Black;
+ this.ActivedTabLabelColor = Color.Black;
+ this.InActivedTabLabelColor = Color.Black;
+ this.ActivedTabBackColor = Color.White;
+ this.InActivedTabBackColor = Color.FromArgb(0, 192, 192);
+ this.TabControlBackColor = Color.Transparent;
+ this.TabSize = new Size(100, 35);
+ }
+
+ protected override void OnMouseDoubleClick(MouseEventArgs e)
+ {
+ if (this.TabPages.Count == 1) return;
+ this.TabPages.RemoveAt(this.SelectedIndex);
+ }
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ Rectangle tcRec = this.ClientRectangle;//整个tabControl的边框
+ e.Graphics.FillRectangle(new SolidBrush(this.TabControlBackColor), tcRec);
+
+ for (int i = 0; i < this.TabPages.Count; i++)
+ {
+ Rectangle tabRectangle = new Rectangle(1, 1 + i * TabSize.Height, TabSize.Width, TabSize.Height);
+ SolidBrush brush = new SolidBrush(this.InActivedTabLabelColor);
+ StringFormat sf = new StringFormat();//封装文本布局信息
+ sf.LineAlignment = StringAlignment.Center;
+ sf.Alignment = StringAlignment.Center;
+ if (i == this.SelectedIndex)
+ {
+ brush = new SolidBrush(this.ActivedTabLabelColor);
+ e.Graphics.FillRectangle(new SolidBrush(ActivedTabBackColor), tabRectangle);
+ e.Graphics.DrawRectangle(new Pen(this.TabBorderColor), tabRectangle);
+ }
+ else
+ {
+ e.Graphics.FillRectangle(new SolidBrush(InActivedTabBackColor), tabRectangle);
+ e.Graphics.DrawRectangle(new Pen(this.TabBorderColor), tabRectangle);
+ }
+ e.Graphics.DrawString(this.Controls[i].Text, this.Font, brush, tabRectangle, sf);
+ }
+ }
+
+ ///
+ /// 设定控件绘制模式
+ ///
+ private void TabSet()
+ {
+ this.DrawMode = TabDrawMode.OwnerDrawFixed;
+ this.Alignment = TabAlignment.Left;
+ this.SizeMode = TabSizeMode.Fixed;
+ this.Multiline = true;
+ base.SetStyle(
+ ControlStyles.UserPaint |
+ ControlStyles.OptimizedDoubleBuffer |
+ ControlStyles.AllPaintingInWmPaint |
+ ControlStyles.ResizeRedraw |
+ ControlStyles.SupportsTransparentBackColor,
+ true);
+ base.UpdateStyles();
+ }
+
+ public override Rectangle DisplayRectangle
+ {
+ get
+ {
+ Rectangle rect = base.DisplayRectangle;
+ return new Rectangle(rect.Left - 3, rect.Top - 3, rect.Width + 6, rect.Height + 5);
+ }
+ }
+ }
+}
diff --git a/CNAS_RunSync/Program.cs b/CNAS_RunSync/Program.cs
index 3741c39..31f1aab 100644
--- a/CNAS_RunSync/Program.cs
+++ b/CNAS_RunSync/Program.cs
@@ -3,6 +3,7 @@ using CnasSynchronusClient;
using CnasSynchrousModel;
using System;
using System.Collections.Generic;
+using System.Configuration;
using System.Linq;
using System.Windows.Forms;
@@ -21,16 +22,32 @@ namespace CNAS_RunSync
string strMsg = "";
CheckAvailability(ref strMsg);
if (strMsg == "")
- Application.Run(new frmSyncShow());
+ Application.Run(new frmSynchrousMain());
else
MessageBox.Show(strMsg);
}
//检查当前电脑是否可以启动程序
public static void CheckAvailability(ref string strErrorMsg)
{
+ SystemFormatConfig systemFormat = FileOperation.GetSystemFormatConfigData();
+ GlobalCommonOperation.strStartGeneralVersion = systemFormat.StartGeneralVersion;
+ GlobalCommonOperation.strStartWebApi = systemFormat.StartWebApi;
+ GlobalCommonOperation.strWebApiUrl = systemFormat.WebApiUrl;
+ GlobalCommonOperation.strTargetDbType = systemFormat.TargetDBType;
+ if (GlobalCommonOperation.strStartGeneralVersion == "1") //此时启动的时通用版本,不需检查Mac地址
+ {
+ return;
+ }
//1.读取本地CNAS数据库配置信息
- DataBaseInfo Cnasdb = FileOperation.GetLocalCnasDB();
- if (!CnasDataOperationFact.CnasDataOperation().TestConnect(Cnasdb.DBHost, Cnasdb.DBName, Cnasdb.DBUser, Cnasdb.DBPwd, Cnasdb.DBPort))
+ DataBaseInfo Cnasdb = null;
+ if (GlobalCommonOperation.strStartWebApi != "1")
+ Cnasdb = FileOperation.GetLocalCnasDB();
+ else
+ Cnasdb = new DataBaseInfo()
+ {
+ DataBaseCode = "cnas"
+ };
+ if (!CnasDataOperationFact.CnasDataOperation().TestConnect(Cnasdb))
{
strErrorMsg = "无法正常连接CNAS库,请先配置数据库连接。";
return;
diff --git a/CNAS_RunSync/Properties/Resources.Designer.cs b/CNAS_RunSync/Properties/Resources.Designer.cs
index ed61c61..df3f35c 100644
--- a/CNAS_RunSync/Properties/Resources.Designer.cs
+++ b/CNAS_RunSync/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace CNAS_RunSync.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -47,8 +47,8 @@ namespace CNAS_RunSync.Properties {
}
///
- /// 重写当前线程的 CurrentUICulture 属性
- /// 重写当前线程的 CurrentUICulture 属性。
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
diff --git a/CNAS_RunSync/Properties/Settings.Designer.cs b/CNAS_RunSync/Properties/Settings.Designer.cs
index 4971085..03d90d6 100644
--- a/CNAS_RunSync/Properties/Settings.Designer.cs
+++ b/CNAS_RunSync/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@ namespace CNAS_RunSync.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/CNAS_RunSync/Synchronize_16px_1190987_easyicon.net.ico b/CNAS_RunSync/Synchronize_16px_1190987_easyicon.net.ico
new file mode 100644
index 0000000..7c0be81
Binary files /dev/null and b/CNAS_RunSync/Synchronize_16px_1190987_easyicon.net.ico differ
diff --git a/CNAS_RunSync/Synchronize_show.ico b/CNAS_RunSync/Synchronize_show.ico
new file mode 100644
index 0000000..7c0be81
Binary files /dev/null and b/CNAS_RunSync/Synchronize_show.ico differ
diff --git a/CNAS_RunSync/app.config b/CNAS_RunSync/app.config
index 64e317f..82607d6 100644
--- a/CNAS_RunSync/app.config
+++ b/CNAS_RunSync/app.config
@@ -1,50 +1,53 @@
-
+
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
diff --git a/CNAS_RunSync/frmSyncShow.Designer.cs b/CNAS_RunSync/frmSyncShow.Designer.cs
deleted file mode 100644
index ea2a7a1..0000000
--- a/CNAS_RunSync/frmSyncShow.Designer.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-namespace CNAS_RunSync
-{
- partial class frmSyncShow
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows 窗体设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSyncShow));
- this.pnlAll = new System.Windows.Forms.Panel();
- this.pnlCenter = new System.Windows.Forms.Panel();
- this.pnlCenterCenter = new System.Windows.Forms.Panel();
- this.tabcSyncData = new System.Windows.Forms.TabControl();
- this.pnlCenterBottom = new System.Windows.Forms.Panel();
- this.pnlBottom = new System.Windows.Forms.Panel();
- this.pnlTop = new System.Windows.Forms.Panel();
- this.menuStrip1 = new System.Windows.Forms.MenuStrip();
- this.btnAutoService1 = new System.Windows.Forms.ToolStripMenuItem();
- this.pnlRight = new System.Windows.Forms.Panel();
- this.pnlLeft = new System.Windows.Forms.Panel();
- this.pnlAll.SuspendLayout();
- this.pnlCenter.SuspendLayout();
- this.pnlCenterCenter.SuspendLayout();
- this.pnlTop.SuspendLayout();
- this.menuStrip1.SuspendLayout();
- this.SuspendLayout();
- //
- // pnlAll
- //
- this.pnlAll.Controls.Add(this.pnlCenter);
- this.pnlAll.Controls.Add(this.pnlBottom);
- this.pnlAll.Controls.Add(this.pnlTop);
- this.pnlAll.Controls.Add(this.pnlRight);
- this.pnlAll.Controls.Add(this.pnlLeft);
- this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlAll.Location = new System.Drawing.Point(0, 0);
- this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(943, 583);
- this.pnlAll.TabIndex = 0;
- //
- // pnlCenter
- //
- this.pnlCenter.Controls.Add(this.pnlCenterCenter);
- this.pnlCenter.Controls.Add(this.pnlCenterBottom);
- this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlCenter.Location = new System.Drawing.Point(10, 52);
- this.pnlCenter.Name = "pnlCenter";
- this.pnlCenter.Size = new System.Drawing.Size(923, 521);
- this.pnlCenter.TabIndex = 4;
- //
- // pnlCenterCenter
- //
- this.pnlCenterCenter.Controls.Add(this.tabcSyncData);
- this.pnlCenterCenter.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlCenterCenter.Location = new System.Drawing.Point(0, 0);
- this.pnlCenterCenter.Name = "pnlCenterCenter";
- this.pnlCenterCenter.Size = new System.Drawing.Size(923, 504);
- this.pnlCenterCenter.TabIndex = 1;
- //
- // tabcSyncData
- //
- this.tabcSyncData.Dock = System.Windows.Forms.DockStyle.Fill;
- this.tabcSyncData.Location = new System.Drawing.Point(0, 0);
- this.tabcSyncData.Name = "tabcSyncData";
- this.tabcSyncData.SelectedIndex = 0;
- this.tabcSyncData.Size = new System.Drawing.Size(923, 504);
- this.tabcSyncData.TabIndex = 0;
- //
- // pnlCenterBottom
- //
- this.pnlCenterBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pnlCenterBottom.Location = new System.Drawing.Point(0, 504);
- this.pnlCenterBottom.Name = "pnlCenterBottom";
- this.pnlCenterBottom.Size = new System.Drawing.Size(923, 17);
- this.pnlCenterBottom.TabIndex = 0;
- //
- // pnlBottom
- //
- this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.pnlBottom.Location = new System.Drawing.Point(10, 573);
- this.pnlBottom.Name = "pnlBottom";
- this.pnlBottom.Size = new System.Drawing.Size(923, 10);
- this.pnlBottom.TabIndex = 3;
- //
- // pnlTop
- //
- this.pnlTop.Controls.Add(this.menuStrip1);
- this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
- this.pnlTop.Location = new System.Drawing.Point(10, 0);
- this.pnlTop.Name = "pnlTop";
- this.pnlTop.Size = new System.Drawing.Size(923, 52);
- this.pnlTop.TabIndex = 2;
- //
- // menuStrip1
- //
- this.menuStrip1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.btnAutoService1});
- this.menuStrip1.Location = new System.Drawing.Point(0, 0);
- this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Size = new System.Drawing.Size(923, 52);
- this.menuStrip1.TabIndex = 0;
- this.menuStrip1.Text = "menuStrip1";
- //
- // btnAutoService1
- //
- this.btnAutoService1.Image = ((System.Drawing.Image)(resources.GetObject("btnAutoService1.Image")));
- this.btnAutoService1.Name = "btnAutoService1";
- this.btnAutoService1.Size = new System.Drawing.Size(92, 48);
- this.btnAutoService1.Text = "自动服务配置";
- this.btnAutoService1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
- this.btnAutoService1.Click += new System.EventHandler(this.btnAutoService1_Click);
- //
- // pnlRight
- //
- this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
- this.pnlRight.Location = new System.Drawing.Point(933, 0);
- this.pnlRight.Name = "pnlRight";
- this.pnlRight.Size = new System.Drawing.Size(10, 583);
- this.pnlRight.TabIndex = 1;
- //
- // pnlLeft
- //
- this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
- this.pnlLeft.Location = new System.Drawing.Point(0, 0);
- this.pnlLeft.Name = "pnlLeft";
- this.pnlLeft.Size = new System.Drawing.Size(10, 583);
- this.pnlLeft.TabIndex = 0;
- //
- // frmSyncShow
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(943, 583);
- this.Controls.Add(this.pnlAll);
- this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MainMenuStrip = this.menuStrip1;
- this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.Name = "frmSyncShow";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "CNAS客户端程序";
- this.Load += new System.EventHandler(this.frmSyncShow_Load);
- this.pnlAll.ResumeLayout(false);
- this.pnlCenter.ResumeLayout(false);
- this.pnlCenterCenter.ResumeLayout(false);
- this.pnlTop.ResumeLayout(false);
- this.pnlTop.PerformLayout();
- this.menuStrip1.ResumeLayout(false);
- this.menuStrip1.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.Panel pnlAll;
- private System.Windows.Forms.Panel pnlRight;
- private System.Windows.Forms.Panel pnlLeft;
- private System.Windows.Forms.Panel pnlCenter;
- private System.Windows.Forms.Panel pnlBottom;
- private System.Windows.Forms.Panel pnlTop;
- private System.Windows.Forms.Panel pnlCenterCenter;
- private System.Windows.Forms.TabControl tabcSyncData;
- private System.Windows.Forms.Panel pnlCenterBottom;
- private System.Windows.Forms.MenuStrip menuStrip1;
- private System.Windows.Forms.ToolStripMenuItem btnAutoService1;
- }
-}
-
diff --git a/CNAS_RunSync/frmSyncShow.cs b/CNAS_RunSync/frmSyncShow.cs
deleted file mode 100644
index f5ffd4c..0000000
--- a/CNAS_RunSync/frmSyncShow.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using CNAS_DBSync;
-using CnasSynchronusClient;
-using CnasSynchrousModel;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.Xml.Serialization;
-
-namespace CNAS_RunSync
-{
- public partial class frmSyncShow : Form
- {
- //private log4net.ILog log = log4net.LogManager.GetLogger("frmSyncShow");
- public List lstSyncInstrument = new List();
-
- public frmSyncShow()
- {
- InitializeComponent();
- }
-
- private void frmSyncShow_Load(object sender, EventArgs e)
- {
- //1.读取本地存储的仪器信息
- //2.每一个仪器创建一个TabPage
- //3.每个TabPage页内加载一个ucSyncShow,展示这个仪器的详细信息和操作
-
- //读取本地文件中存储的配置信息
- lstSyncInstrument = FileOperation.GetLocalSyncInStrumentData();
- if (lstSyncInstrument.Count > 0)
- {
- int index = 0;
- foreach (var item in lstSyncInstrument)
- {
- tabcSyncData.TabPages.Add(index.ToString(), item.Code);
-
- ucSyncShow show = new ucSyncShow(item);
- tabcSyncData.TabPages[index].Controls.Add(show);
- show.Dock = DockStyle.Fill;
-
- index++;
- }
- }
- else
- {
- MessageBox.Show("未找到相关仪器配置。");
- }
- }
-
- private void btnAutoService1_Click(object sender, EventArgs e)
- {
- if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
- {
- frmServiceConfig frmServiceConfig = new frmServiceConfig();
- frmServiceConfig.ShowDialog();
- }
- }
- }
-}
diff --git a/CNAS_RunSync/frmSynchrousMain.Designer.cs b/CNAS_RunSync/frmSynchrousMain.Designer.cs
new file mode 100644
index 0000000..9a6d485
--- /dev/null
+++ b/CNAS_RunSync/frmSynchrousMain.Designer.cs
@@ -0,0 +1,218 @@
+namespace CNAS_RunSync
+{
+ partial class frmSynchrousMain
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSynchrousMain));
+ this.pnlLeft = new System.Windows.Forms.Panel();
+ this.pnlAll = new System.Windows.Forms.Panel();
+ this.pnlCenter = new System.Windows.Forms.Panel();
+ this.pnlCenterCenter = new System.Windows.Forms.Panel();
+ this.pnlCenterTop = new System.Windows.Forms.Panel();
+ this.menuButton = new System.Windows.Forms.MenuStrip();
+ this.tsmDbSeting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmSynchrousSetting = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmHelper = new System.Windows.Forms.ToolStripMenuItem();
+ this.pnlCenterBottom = new System.Windows.Forms.Panel();
+ this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlTop = new System.Windows.Forms.Panel();
+ this.pnlRight = new System.Windows.Forms.Panel();
+ this.pnlAll.SuspendLayout();
+ this.pnlCenter.SuspendLayout();
+ this.pnlCenterTop.SuspendLayout();
+ this.menuButton.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pnlLeft
+ //
+ this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
+ this.pnlLeft.Location = new System.Drawing.Point(0, 0);
+ this.pnlLeft.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlLeft.Name = "pnlLeft";
+ this.pnlLeft.Size = new System.Drawing.Size(5, 621);
+ this.pnlLeft.TabIndex = 0;
+ //
+ // pnlAll
+ //
+ this.pnlAll.Controls.Add(this.pnlCenter);
+ this.pnlAll.Controls.Add(this.pnlBottom);
+ this.pnlAll.Controls.Add(this.pnlTop);
+ this.pnlAll.Controls.Add(this.pnlRight);
+ this.pnlAll.Controls.Add(this.pnlLeft);
+ this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlAll.Location = new System.Drawing.Point(0, 0);
+ this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlAll.Name = "pnlAll";
+ this.pnlAll.Size = new System.Drawing.Size(944, 621);
+ this.pnlAll.TabIndex = 1;
+ //
+ // pnlCenter
+ //
+ this.pnlCenter.Controls.Add(this.pnlCenterCenter);
+ this.pnlCenter.Controls.Add(this.pnlCenterTop);
+ this.pnlCenter.Controls.Add(this.pnlCenterBottom);
+ this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenter.Location = new System.Drawing.Point(5, 3);
+ this.pnlCenter.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlCenter.Name = "pnlCenter";
+ this.pnlCenter.Size = new System.Drawing.Size(934, 613);
+ this.pnlCenter.TabIndex = 4;
+ //
+ // pnlCenterCenter
+ //
+ this.pnlCenterCenter.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenterCenter.Location = new System.Drawing.Point(0, 30);
+ this.pnlCenterCenter.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlCenterCenter.Name = "pnlCenterCenter";
+ this.pnlCenterCenter.Size = new System.Drawing.Size(934, 579);
+ this.pnlCenterCenter.TabIndex = 3;
+ //
+ // pnlCenterTop
+ //
+ this.pnlCenterTop.Controls.Add(this.menuButton);
+ this.pnlCenterTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlCenterTop.Location = new System.Drawing.Point(0, 0);
+ this.pnlCenterTop.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlCenterTop.Name = "pnlCenterTop";
+ this.pnlCenterTop.Size = new System.Drawing.Size(934, 30);
+ this.pnlCenterTop.TabIndex = 2;
+ //
+ // menuButton
+ //
+ this.menuButton.GripMargin = new System.Windows.Forms.Padding(2, 2, 0, 2);
+ this.menuButton.ImageScalingSize = new System.Drawing.Size(24, 24);
+ this.menuButton.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tsmDbSeting,
+ this.tsmSynchrousSetting,
+ this.tsmHelper});
+ this.menuButton.Location = new System.Drawing.Point(0, 0);
+ this.menuButton.Name = "menuButton";
+ this.menuButton.Padding = new System.Windows.Forms.Padding(7, 3, 0, 3);
+ this.menuButton.Size = new System.Drawing.Size(934, 34);
+ this.menuButton.TabIndex = 0;
+ this.menuButton.Text = "menuStrip1";
+ this.menuButton.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuButton_ItemClicked);
+ //
+ // tsmDbSeting
+ //
+ this.tsmDbSeting.Name = "tsmDbSeting";
+ this.tsmDbSeting.Size = new System.Drawing.Size(139, 28);
+ this.tsmDbSeting.Text = "数据库配置(&B)";
+ this.tsmDbSeting.Click += new System.EventHandler(this.tsmDbSeting_Click);
+ //
+ // tsmSynchrousSetting
+ //
+ this.tsmSynchrousSetting.Name = "tsmSynchrousSetting";
+ this.tsmSynchrousSetting.Size = new System.Drawing.Size(120, 28);
+ this.tsmSynchrousSetting.Text = "同步配置(&S)";
+ this.tsmSynchrousSetting.Click += new System.EventHandler(this.tsmSynchrousSetting_Click);
+ //
+ // tsmHelper
+ //
+ this.tsmHelper.Name = "tsmHelper";
+ this.tsmHelper.Size = new System.Drawing.Size(88, 28);
+ this.tsmHelper.Text = "帮助(&H)";
+ this.tsmHelper.Click += new System.EventHandler(this.tsmHelper_Click);
+ //
+ // pnlCenterBottom
+ //
+ this.pnlCenterBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlCenterBottom.Location = new System.Drawing.Point(0, 609);
+ this.pnlCenterBottom.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlCenterBottom.Name = "pnlCenterBottom";
+ this.pnlCenterBottom.Size = new System.Drawing.Size(934, 4);
+ this.pnlCenterBottom.TabIndex = 0;
+ //
+ // pnlBottom
+ //
+ this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlBottom.Location = new System.Drawing.Point(5, 616);
+ this.pnlBottom.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlBottom.Name = "pnlBottom";
+ this.pnlBottom.Size = new System.Drawing.Size(934, 5);
+ this.pnlBottom.TabIndex = 3;
+ //
+ // pnlTop
+ //
+ this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlTop.Location = new System.Drawing.Point(5, 0);
+ this.pnlTop.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlTop.Name = "pnlTop";
+ this.pnlTop.Size = new System.Drawing.Size(934, 3);
+ this.pnlTop.TabIndex = 2;
+ //
+ // pnlRight
+ //
+ this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlRight.Location = new System.Drawing.Point(939, 0);
+ this.pnlRight.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlRight.Name = "pnlRight";
+ this.pnlRight.Size = new System.Drawing.Size(5, 621);
+ this.pnlRight.TabIndex = 1;
+ //
+ // frmSynchrousMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(944, 621);
+ this.Controls.Add(this.pnlAll);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MainMenuStrip = this.menuButton;
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.Name = "frmSynchrousMain";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "CNAS取数端程序";
+ this.Load += new System.EventHandler(this.frmSynchrousMain_Load);
+ this.pnlAll.ResumeLayout(false);
+ this.pnlCenter.ResumeLayout(false);
+ this.pnlCenterTop.ResumeLayout(false);
+ this.pnlCenterTop.PerformLayout();
+ this.menuButton.ResumeLayout(false);
+ this.menuButton.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel pnlLeft;
+ private System.Windows.Forms.Panel pnlAll;
+ private System.Windows.Forms.Panel pnlCenter;
+ private System.Windows.Forms.Panel pnlCenterCenter;
+ private System.Windows.Forms.Panel pnlCenterTop;
+ private System.Windows.Forms.MenuStrip menuButton;
+ private System.Windows.Forms.ToolStripMenuItem tsmDbSeting;
+ private System.Windows.Forms.ToolStripMenuItem tsmSynchrousSetting;
+ private System.Windows.Forms.ToolStripMenuItem tsmHelper;
+ private System.Windows.Forms.Panel pnlCenterBottom;
+ private System.Windows.Forms.Panel pnlBottom;
+ private System.Windows.Forms.Panel pnlTop;
+ private System.Windows.Forms.Panel pnlRight;
+ }
+}
\ No newline at end of file
diff --git a/CNAS_RunSync/frmSynchrousMain.cs b/CNAS_RunSync/frmSynchrousMain.cs
new file mode 100644
index 0000000..71062dd
--- /dev/null
+++ b/CNAS_RunSync/frmSynchrousMain.cs
@@ -0,0 +1,118 @@
+using CNAS_DBSync;
+using CNASBalanceDBManage;
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace CNAS_RunSync
+{
+ public partial class frmSynchrousMain : Form
+ {
+ public List lstSyncInstrument = new List();
+ KMenuTabControl kTabControl;
+ public frmSynchrousMain()
+ {
+ InitializeComponent();
+ }
+
+ private void frmSynchrousMain_Load(object sender, EventArgs e)
+ {
+ CreateTableControl();
+ }
+
+ public void CreateTableControl()
+ {
+ kTabControl = new KMenuTabControl();
+
+ kTabControl.Location = new System.Drawing.Point(398, 130);
+ kTabControl.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ kTabControl.Name = "taSyncData";
+ kTabControl.SelectedIndex = 0;
+ kTabControl.Size = new System.Drawing.Size(439, 644);
+ kTabControl.TabIndex = 0;
+
+ this.pnlCenterCenter.Controls.Add(kTabControl);
+ kTabControl.Dock = DockStyle.Fill;
+
+ //绑定用户自定义控件,进行数据展示
+ BindUserControl(kTabControl);
+ }
+
+ private void BindUserControl(KMenuTabControl kTabControl)
+ {
+ //1.读取本地存储的仪器信息
+ //2.每一个仪器创建一个TabPage
+ //3.每个TabPage页内加载一个ucSyncShow,展示这个仪器的详细信息和操作
+
+ //读取本地文件中存储的配置信息
+ kTabControl.TabPages.Clear();
+
+ lstSyncInstrument = FileOperation.GetLocalSyncInStrumentData();
+ if (lstSyncInstrument.Count > 0)
+ {
+ int index = 0;
+ foreach (var item in lstSyncInstrument)
+ {
+ kTabControl.TabPages.Add(index.ToString(), item.Code);
+
+ ucSynchrousMain show = new ucSynchrousMain(item);
+ kTabControl.TabPages[index].Controls.Add(show);
+ show.Dock = DockStyle.Fill;
+
+ index++;
+ }
+ }
+ else
+ {
+ MessageBox.Show("未找到相关取数配置。");
+ }
+ }
+
+ private void tsmDbSeting_Click(object sender, EventArgs e)
+ {
+ if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
+ {
+ frmBalanceDB frmSetting = new frmBalanceDB();
+ frmSetting.ShowDialog();
+ }
+ }
+
+ private void tsmSynchrousSetting_Click(object sender, EventArgs e)
+ {
+ if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
+ {
+ frmSyncParams frmSyncConfig = new frmSyncParams();
+ frmSyncConfig.ShowDialog();
+
+ //重新绘制显示自定义控件的内容
+ BindUserControl(kTabControl);
+
+
+ //foreach(var control in kTabControl.SelectedTab.Controls)
+ //{
+ // ucSynchrousMain show = control as ucSynchrousMain;
+ // show.BindData();
+ //}
+ }
+ }
+
+ private void tsmHelper_Click(object sender, EventArgs e)
+ {
+ string strHelpFilePath = CnasSynchronousCommon.FileHelper.getBasePath() + @"\Helper.CHM";
+ //Help.ShowHelp(null, strHelpFilePath, HelpNavigator.TopicId, "1");
+ System.Diagnostics.Process.Start(strHelpFilePath);
+ }
+
+ private void menuButton_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/CNAS_RunSync/frmSyncShow.resx b/CNAS_RunSync/frmSynchrousMain.resx
similarity index 87%
rename from CNAS_RunSync/frmSyncShow.resx
rename to CNAS_RunSync/frmSynchrousMain.resx
index ad262ca..b074aa7 100644
--- a/CNAS_RunSync/frmSyncShow.resx
+++ b/CNAS_RunSync/frmSynchrousMain.resx
@@ -117,27 +117,10 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
17, 17
-
-
- iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAACcQAAAnEAGUaVEZAAAAB3RJ
- TUUH4wEJBBwLasCJvwAAAm9JREFUSEutlclrFEEUhycuaFwhoHGJIrggiqIHF3AlEXPwIhr3iwYDERVB
- xIvowYPgSVFElBxCBBXjElwOXjwIGg/+UX5fT72mZ9KZToI/+KCqp+q9qrfU1KahRbAs4fi/aDVcgMfw
- Gt4lHPvN31wzbS2F6/AZNNQH22FtwvFJ8DfXuNY9U9J6eAVPYYsfKuQa17rHvS3lgk9wBWb5IWkuzIFO
- 2A3r0jzk2D3undSJV/QUYXwn7IBe6E/jW/AL3sMQHIXZEHKvNkrDZRy9ahvshR/wB77DRvCUJ6AHOuA4
- 6OgutINyjTa01SArwWRFzPfDT7gGfu8GpXMJWbIv4Q5ESLXhnobqilIMnYNx8IRX4QscgTKZl49wOJvV
- FSWcyw+WnVoIb+AgnAETV+XkLDyDuIVlnR/YrrRxrG21Dd5CxPU8VDlZCd52RTar29Kmh83iaHfaQEoD
- v8FkhnRiGG7AN4i1ylOfBgsicujv2tT2lBwo82JFfYU1fkgy6cfgEkR5NjioClFRW8FGsvHM2WZYBRfB
- BgxpIw+RMiEmRkWSD2Szctlcz+E2WPcvwJt5AKXzR/VhXc1l6nwYFmSzcpmP++BtDZmODJXSuHnL1dxo
- 8+EJPIDi219stJugA2Ntp3sjn5VNMAaGrkHxVMQj5nPgrXxbTLwJPJXGhugyDIBONPgBNoB7fAEmqPjY
- heaBuRmBUfgLVtg9WA6LE4fAF3YQXLsESlV8rq2UkI483R6wWrqgWbvgIRiultKJNzFckZNWMubiTSc9
- ebNcWPWXGe+NN94HM5KVECVs41gx4jhKcUK1zFQ2oK0veYe2Vq32D/C5cVWZotg/AAAAAElFTkSuQmCC
-
-
AAABAAEAGBYAAAEAIADACAAAFgAAACgAAAAYAAAALAAAAAEAIAAAAAAAQAgAAK8PAACvDwAAAAAAAAAA
diff --git a/CNAS_RunSync/ucSyncShow.Designer.cs b/CNAS_RunSync/ucSynchrousMain.Designer.cs
similarity index 55%
rename from CNAS_RunSync/ucSyncShow.Designer.cs
rename to CNAS_RunSync/ucSynchrousMain.Designer.cs
index 96318df..c5db9cf 100644
--- a/CNAS_RunSync/ucSyncShow.Designer.cs
+++ b/CNAS_RunSync/ucSynchrousMain.Designer.cs
@@ -1,6 +1,6 @@
namespace CNAS_RunSync
{
- partial class ucSyncShow
+ partial class ucSynchrousMain
{
///
/// 必需的设计器变量。
@@ -28,15 +28,19 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ucSynchrousMain));
this.pnlAll = new System.Windows.Forms.Panel();
this.pnlCenter = new System.Windows.Forms.Panel();
+ this.pnlCenterBody = new System.Windows.Forms.Panel();
+ this.pnlCenterBody_Center = new System.Windows.Forms.Panel();
this.dgvSyncData = new System.Windows.Forms.DataGridView();
- this.pnlTop = new System.Windows.Forms.Panel();
+ this.pnlCenterBody_Bottom = new System.Windows.Forms.Panel();
+ this.pnlSubmit_Right = new System.Windows.Forms.Panel();
+ this.btnRunData = new System.Windows.Forms.Button();
+ this.pnlCenterBody_Top = new System.Windows.Forms.Panel();
this.tableTop = new System.Windows.Forms.TableLayoutPanel();
this.pnlSelect = new System.Windows.Forms.Panel();
- this.btnConfig = new System.Windows.Forms.Button();
- this.btnRunData = new System.Windows.Forms.Button();
+ this.lblTitleMsg = new System.Windows.Forms.Label();
this.lblTitle = new System.Windows.Forms.Label();
this.pnlRunData = new System.Windows.Forms.Panel();
this.pnlConfig = new System.Windows.Forms.Panel();
@@ -49,74 +53,137 @@
this.pnlCheck = new System.Windows.Forms.Panel();
this.pnlDate = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
- this.label1 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
this.dtpSource = new System.Windows.Forms.DateTimePicker();
this.dtpTarget = new System.Windows.Forms.DateTimePicker();
this.lblColumn = new System.Windows.Forms.Label();
this.cmbColumns = new System.Windows.Forms.ComboBox();
this.btnFind = new System.Windows.Forms.Button();
+ this.pnlCenterBottom = new System.Windows.Forms.Panel();
+ this.rtxtLog = new System.Windows.Forms.RichTextBox();
+ this.pnlCenterBottom_Top = new System.Windows.Forms.Panel();
+ this.pnlCenterBottom_Line = new System.Windows.Forms.Panel();
+ this.label1 = new System.Windows.Forms.Label();
+ this.pnlRight = new System.Windows.Forms.Panel();
+ this.pnlLeft = new System.Windows.Forms.Panel();
+ this.pnlBottom = new System.Windows.Forms.Panel();
+ this.pnlTop = new System.Windows.Forms.Panel();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
+ this.pnlCenterBody.SuspendLayout();
+ this.pnlCenterBody_Center.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvSyncData)).BeginInit();
- this.pnlTop.SuspendLayout();
+ this.pnlCenterBody_Bottom.SuspendLayout();
+ this.pnlSubmit_Right.SuspendLayout();
+ this.pnlCenterBody_Top.SuspendLayout();
this.tableTop.SuspendLayout();
this.pnlSelect.SuspendLayout();
this.pnlConfig.SuspendLayout();
this.pnlText.SuspendLayout();
this.pnlDate.SuspendLayout();
+ this.pnlCenterBottom.SuspendLayout();
+ this.pnlCenterBottom_Top.SuspendLayout();
this.SuspendLayout();
//
// pnlAll
//
this.pnlAll.Controls.Add(this.pnlCenter);
+ this.pnlAll.Controls.Add(this.pnlRight);
+ this.pnlAll.Controls.Add(this.pnlLeft);
+ this.pnlAll.Controls.Add(this.pnlBottom);
this.pnlAll.Controls.Add(this.pnlTop);
this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlAll.Location = new System.Drawing.Point(0, 0);
this.pnlAll.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.pnlAll.Name = "pnlAll";
- this.pnlAll.Size = new System.Drawing.Size(772, 450);
+ this.pnlAll.Size = new System.Drawing.Size(920, 544);
this.pnlAll.TabIndex = 0;
//
// pnlCenter
//
- this.pnlCenter.Controls.Add(this.dgvSyncData);
+ this.pnlCenter.Controls.Add(this.pnlCenterBody);
+ this.pnlCenter.Controls.Add(this.pnlCenterBottom);
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlCenter.Location = new System.Drawing.Point(0, 82);
+ this.pnlCenter.Location = new System.Drawing.Point(2, 5);
this.pnlCenter.Name = "pnlCenter";
- this.pnlCenter.Size = new System.Drawing.Size(772, 368);
- this.pnlCenter.TabIndex = 2;
+ this.pnlCenter.Size = new System.Drawing.Size(916, 531);
+ this.pnlCenter.TabIndex = 4;
+ //
+ // pnlCenterBody
+ //
+ this.pnlCenterBody.Controls.Add(this.pnlCenterBody_Center);
+ this.pnlCenterBody.Controls.Add(this.pnlCenterBody_Bottom);
+ this.pnlCenterBody.Controls.Add(this.pnlCenterBody_Top);
+ this.pnlCenterBody.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenterBody.Location = new System.Drawing.Point(0, 0);
+ this.pnlCenterBody.Name = "pnlCenterBody";
+ this.pnlCenterBody.Size = new System.Drawing.Size(916, 431);
+ this.pnlCenterBody.TabIndex = 1;
+ //
+ // pnlCenterBody_Center
+ //
+ this.pnlCenterBody_Center.Controls.Add(this.dgvSyncData);
+ this.pnlCenterBody_Center.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlCenterBody_Center.Location = new System.Drawing.Point(0, 84);
+ this.pnlCenterBody_Center.Name = "pnlCenterBody_Center";
+ this.pnlCenterBody_Center.Size = new System.Drawing.Size(916, 306);
+ this.pnlCenterBody_Center.TabIndex = 2;
//
// dgvSyncData
//
this.dgvSyncData.AllowUserToAddRows = false;
+ this.dgvSyncData.AllowUserToDeleteRows = false;
this.dgvSyncData.BackgroundColor = System.Drawing.Color.White;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvSyncData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvSyncData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSyncData.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvSyncData.Location = new System.Drawing.Point(0, 0);
this.dgvSyncData.Name = "dgvSyncData";
- this.dgvSyncData.ReadOnly = true;
this.dgvSyncData.RowTemplate.Height = 23;
this.dgvSyncData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dgvSyncData.Size = new System.Drawing.Size(772, 368);
+ this.dgvSyncData.Size = new System.Drawing.Size(916, 306);
this.dgvSyncData.TabIndex = 0;
+ this.dgvSyncData.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSyncData_CellValueChanged);
//
- // pnlTop
+ // pnlCenterBody_Bottom
//
- this.pnlTop.Controls.Add(this.tableTop);
- this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
- this.pnlTop.Location = new System.Drawing.Point(0, 0);
- this.pnlTop.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.pnlTop.Name = "pnlTop";
- this.pnlTop.Size = new System.Drawing.Size(772, 82);
- this.pnlTop.TabIndex = 0;
+ this.pnlCenterBody_Bottom.BackColor = System.Drawing.Color.White;
+ this.pnlCenterBody_Bottom.Controls.Add(this.pnlSubmit_Right);
+ this.pnlCenterBody_Bottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlCenterBody_Bottom.Location = new System.Drawing.Point(0, 390);
+ this.pnlCenterBody_Bottom.Name = "pnlCenterBody_Bottom";
+ this.pnlCenterBody_Bottom.Size = new System.Drawing.Size(916, 41);
+ this.pnlCenterBody_Bottom.TabIndex = 1;
+ //
+ // pnlSubmit_Right
+ //
+ this.pnlSubmit_Right.Controls.Add(this.btnRunData);
+ this.pnlSubmit_Right.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlSubmit_Right.Location = new System.Drawing.Point(716, 0);
+ this.pnlSubmit_Right.Name = "pnlSubmit_Right";
+ this.pnlSubmit_Right.Size = new System.Drawing.Size(200, 41);
+ this.pnlSubmit_Right.TabIndex = 3;
+ //
+ // btnRunData
+ //
+ this.btnRunData.Image = ((System.Drawing.Image)(resources.GetObject("btnRunData.Image")));
+ this.btnRunData.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btnRunData.Location = new System.Drawing.Point(100, 4);
+ this.btnRunData.Name = "btnRunData";
+ this.btnRunData.Size = new System.Drawing.Size(90, 30);
+ this.btnRunData.TabIndex = 2;
+ this.btnRunData.Text = "执行上传";
+ this.btnRunData.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btnRunData.UseVisualStyleBackColor = true;
+ this.btnRunData.Click += new System.EventHandler(this.btnRunData_Click);
+ //
+ // pnlCenterBody_Top
+ //
+ this.pnlCenterBody_Top.Controls.Add(this.tableTop);
+ this.pnlCenterBody_Top.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlCenterBody_Top.Location = new System.Drawing.Point(0, 0);
+ this.pnlCenterBody_Top.Name = "pnlCenterBody_Top";
+ this.pnlCenterBody_Top.Size = new System.Drawing.Size(916, 84);
+ this.pnlCenterBody_Top.TabIndex = 0;
//
// tableTop
//
@@ -124,7 +191,7 @@
this.tableTop.ColumnCount = 3;
this.tableTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 95.77922F));
this.tableTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 4.220779F));
- this.tableTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 463F));
+ this.tableTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 537F));
this.tableTop.Controls.Add(this.pnlSelect, 0, 0);
this.tableTop.Controls.Add(this.pnlRunData, 1, 0);
this.tableTop.Controls.Add(this.pnlConfig, 2, 0);
@@ -133,45 +200,34 @@
this.tableTop.Name = "tableTop";
this.tableTop.RowCount = 1;
this.tableTop.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
- this.tableTop.Size = new System.Drawing.Size(772, 82);
- this.tableTop.TabIndex = 4;
+ this.tableTop.Size = new System.Drawing.Size(916, 84);
+ this.tableTop.TabIndex = 5;
//
// pnlSelect
//
- this.pnlSelect.Controls.Add(this.btnConfig);
- this.pnlSelect.Controls.Add(this.btnRunData);
+ this.pnlSelect.Controls.Add(this.lblTitleMsg);
this.pnlSelect.Controls.Add(this.lblTitle);
this.pnlSelect.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlSelect.Location = new System.Drawing.Point(3, 3);
this.pnlSelect.Name = "pnlSelect";
- this.pnlSelect.Size = new System.Drawing.Size(289, 76);
+ this.pnlSelect.Size = new System.Drawing.Size(357, 78);
this.pnlSelect.TabIndex = 0;
//
- // btnConfig
+ // lblTitleMsg
//
- this.btnConfig.Location = new System.Drawing.Point(9, 42);
- this.btnConfig.Name = "btnConfig";
- this.btnConfig.Size = new System.Drawing.Size(75, 25);
- this.btnConfig.TabIndex = 1;
- this.btnConfig.Text = "连接配置";
- this.btnConfig.UseVisualStyleBackColor = true;
- this.btnConfig.Click += new System.EventHandler(this.btnConfig_Click);
- //
- // btnRunData
- //
- this.btnRunData.Location = new System.Drawing.Point(90, 39);
- this.btnRunData.Name = "btnRunData";
- this.btnRunData.Size = new System.Drawing.Size(88, 30);
- this.btnRunData.TabIndex = 0;
- this.btnRunData.Text = "上传数据";
- this.btnRunData.UseVisualStyleBackColor = true;
- this.btnRunData.Click += new System.EventHandler(this.btnRunData_Click);
+ this.lblTitleMsg.AutoSize = true;
+ this.lblTitleMsg.Font = new System.Drawing.Font("微软雅黑", 8F);
+ this.lblTitleMsg.Location = new System.Drawing.Point(7, 39);
+ this.lblTitleMsg.Name = "lblTitleMsg";
+ this.lblTitleMsg.Size = new System.Drawing.Size(156, 16);
+ this.lblTitleMsg.TabIndex = 1;
+ this.lblTitleMsg.Text = "类型:<未知> 路径:<未知>";
//
// lblTitle
//
this.lblTitle.AutoSize = true;
this.lblTitle.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold);
- this.lblTitle.Location = new System.Drawing.Point(6, 12);
+ this.lblTitle.Location = new System.Drawing.Point(6, 13);
this.lblTitle.Name = "lblTitle";
this.lblTitle.Size = new System.Drawing.Size(119, 19);
this.lblTitle.TabIndex = 0;
@@ -180,9 +236,9 @@
// pnlRunData
//
this.pnlRunData.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlRunData.Location = new System.Drawing.Point(298, 3);
+ this.pnlRunData.Location = new System.Drawing.Point(366, 3);
this.pnlRunData.Name = "pnlRunData";
- this.pnlRunData.Size = new System.Drawing.Size(7, 76);
+ this.pnlRunData.Size = new System.Drawing.Size(9, 78);
this.pnlRunData.TabIndex = 1;
//
// pnlConfig
@@ -196,18 +252,18 @@
this.pnlConfig.Controls.Add(this.cmbColumns);
this.pnlConfig.Controls.Add(this.btnFind);
this.pnlConfig.Dock = System.Windows.Forms.DockStyle.Fill;
- this.pnlConfig.Location = new System.Drawing.Point(311, 3);
+ this.pnlConfig.Location = new System.Drawing.Point(381, 3);
this.pnlConfig.Name = "pnlConfig";
- this.pnlConfig.Size = new System.Drawing.Size(458, 76);
+ this.pnlConfig.Size = new System.Drawing.Size(532, 78);
this.pnlConfig.TabIndex = 2;
//
// btnCancelFind
//
- this.btnCancelFind.Location = new System.Drawing.Point(349, 9);
+ this.btnCancelFind.Location = new System.Drawing.Point(449, 9);
this.btnCancelFind.Name = "btnCancelFind";
this.btnCancelFind.Size = new System.Drawing.Size(75, 25);
this.btnCancelFind.TabIndex = 9;
- this.btnCancelFind.Text = "取消查询";
+ this.btnCancelFind.Text = "取消";
this.btnCancelFind.UseVisualStyleBackColor = true;
this.btnCancelFind.Click += new System.EventHandler(this.btnCancelFind_Click);
//
@@ -228,9 +284,9 @@
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(238, 8);
this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(20, 17);
+ this.label3.Size = new System.Drawing.Size(23, 17);
this.label3.TabIndex = 9;
- this.label3.Text = "值";
+ this.label3.Text = "值:";
//
// txtFind
//
@@ -243,9 +299,9 @@
//
this.combCondition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.combCondition.FormattingEnabled = true;
- this.combCondition.Location = new System.Drawing.Point(53, 4);
+ this.combCondition.Location = new System.Drawing.Point(55, 4);
this.combCondition.Name = "combCondition";
- this.combCondition.Size = new System.Drawing.Size(167, 25);
+ this.combCondition.Size = new System.Drawing.Size(173, 25);
this.combCondition.TabIndex = 7;
//
// label4
@@ -259,7 +315,7 @@
//
// pnlCheck
//
- this.pnlCheck.Location = new System.Drawing.Point(4, 39);
+ this.pnlCheck.Location = new System.Drawing.Point(106, 39);
this.pnlCheck.Name = "pnlCheck";
this.pnlCheck.Size = new System.Drawing.Size(451, 34);
this.pnlCheck.TabIndex = 8;
@@ -267,7 +323,7 @@
// pnlDate
//
this.pnlDate.Controls.Add(this.label2);
- this.pnlDate.Controls.Add(this.label1);
+ this.pnlDate.Controls.Add(this.label5);
this.pnlDate.Controls.Add(this.dtpSource);
this.pnlDate.Controls.Add(this.dtpTarget);
this.pnlDate.Location = new System.Drawing.Point(4, 86);
@@ -285,14 +341,14 @@
this.label2.TabIndex = 7;
this.label2.Text = "到";
//
- // label1
+ // label5
//
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(21, 9);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(20, 17);
- this.label1.TabIndex = 6;
- this.label1.Text = "从";
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(21, 9);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(20, 17);
+ this.label5.TabIndex = 6;
+ this.label5.Text = "从";
//
// dtpSource
//
@@ -317,46 +373,137 @@
// lblColumn
//
this.lblColumn.AutoSize = true;
- this.lblColumn.Location = new System.Drawing.Point(24, 13);
+ this.lblColumn.Location = new System.Drawing.Point(99, 13);
this.lblColumn.Name = "lblColumn";
- this.lblColumn.Size = new System.Drawing.Size(32, 17);
+ this.lblColumn.Size = new System.Drawing.Size(56, 17);
this.lblColumn.TabIndex = 5;
- this.lblColumn.Text = "列:";
+ this.lblColumn.Text = "查询列:";
//
// cmbColumns
//
this.cmbColumns.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbColumns.FormattingEnabled = true;
- this.cmbColumns.Location = new System.Drawing.Point(57, 9);
+ this.cmbColumns.Location = new System.Drawing.Point(161, 9);
this.cmbColumns.Name = "cmbColumns";
- this.cmbColumns.Size = new System.Drawing.Size(167, 25);
+ this.cmbColumns.Size = new System.Drawing.Size(173, 25);
this.cmbColumns.TabIndex = 4;
this.cmbColumns.SelectedIndexChanged += new System.EventHandler(this.cmbColumns_SelectedIndexChanged);
//
// btnFind
//
- this.btnFind.Location = new System.Drawing.Point(268, 9);
+ this.btnFind.Location = new System.Drawing.Point(368, 9);
this.btnFind.Name = "btnFind";
this.btnFind.Size = new System.Drawing.Size(75, 25);
this.btnFind.TabIndex = 1;
- this.btnFind.Text = "查询";
+ this.btnFind.Text = "查找";
this.btnFind.UseVisualStyleBackColor = true;
this.btnFind.Click += new System.EventHandler(this.btnFind_Click);
//
- // ucSyncShow
+ // pnlCenterBottom
+ //
+ this.pnlCenterBottom.Controls.Add(this.rtxtLog);
+ this.pnlCenterBottom.Controls.Add(this.pnlCenterBottom_Top);
+ this.pnlCenterBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlCenterBottom.Location = new System.Drawing.Point(0, 431);
+ this.pnlCenterBottom.Name = "pnlCenterBottom";
+ this.pnlCenterBottom.Size = new System.Drawing.Size(916, 100);
+ this.pnlCenterBottom.TabIndex = 0;
+ //
+ // rtxtLog
+ //
+ this.rtxtLog.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.rtxtLog.Location = new System.Drawing.Point(0, 26);
+ this.rtxtLog.Name = "rtxtLog";
+ this.rtxtLog.ReadOnly = true;
+ this.rtxtLog.Size = new System.Drawing.Size(916, 74);
+ this.rtxtLog.TabIndex = 1;
+ this.rtxtLog.Text = "";
+ //
+ // pnlCenterBottom_Top
+ //
+ this.pnlCenterBottom_Top.Controls.Add(this.pnlCenterBottom_Line);
+ this.pnlCenterBottom_Top.Controls.Add(this.label1);
+ this.pnlCenterBottom_Top.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlCenterBottom_Top.Location = new System.Drawing.Point(0, 0);
+ this.pnlCenterBottom_Top.Name = "pnlCenterBottom_Top";
+ this.pnlCenterBottom_Top.Size = new System.Drawing.Size(916, 26);
+ this.pnlCenterBottom_Top.TabIndex = 0;
+ //
+ // pnlCenterBottom_Line
+ //
+ this.pnlCenterBottom_Line.BackColor = System.Drawing.Color.Gray;
+ this.pnlCenterBottom_Line.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlCenterBottom_Line.Location = new System.Drawing.Point(0, 0);
+ this.pnlCenterBottom_Line.Name = "pnlCenterBottom_Line";
+ this.pnlCenterBottom_Line.Size = new System.Drawing.Size(916, 2);
+ this.pnlCenterBottom_Line.TabIndex = 1;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(9, 5);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(68, 17);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "日志窗口:";
+ //
+ // pnlRight
+ //
+ this.pnlRight.BackColor = System.Drawing.Color.White;
+ this.pnlRight.Dock = System.Windows.Forms.DockStyle.Right;
+ this.pnlRight.Location = new System.Drawing.Point(918, 5);
+ this.pnlRight.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlRight.Name = "pnlRight";
+ this.pnlRight.Size = new System.Drawing.Size(2, 531);
+ this.pnlRight.TabIndex = 3;
+ //
+ // pnlLeft
+ //
+ this.pnlLeft.BackColor = System.Drawing.Color.White;
+ this.pnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
+ this.pnlLeft.Location = new System.Drawing.Point(0, 5);
+ this.pnlLeft.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlLeft.Name = "pnlLeft";
+ this.pnlLeft.Size = new System.Drawing.Size(2, 531);
+ this.pnlLeft.TabIndex = 2;
+ //
+ // pnlBottom
+ //
+ this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pnlBottom.Location = new System.Drawing.Point(0, 536);
+ this.pnlBottom.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlBottom.Name = "pnlBottom";
+ this.pnlBottom.Size = new System.Drawing.Size(920, 8);
+ this.pnlBottom.TabIndex = 1;
+ //
+ // pnlTop
+ //
+ this.pnlTop.BackColor = System.Drawing.Color.White;
+ this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pnlTop.Location = new System.Drawing.Point(0, 0);
+ this.pnlTop.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+ this.pnlTop.Name = "pnlTop";
+ this.pnlTop.Size = new System.Drawing.Size(920, 5);
+ this.pnlTop.TabIndex = 0;
+ //
+ // ucSynchrousMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.pnlAll);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.Name = "ucSyncShow";
- this.Size = new System.Drawing.Size(772, 450);
- this.Load += new System.EventHandler(this.ucSyncShow_Load);
+ this.Name = "ucSynchrousMain";
+ this.Size = new System.Drawing.Size(920, 544);
+ this.Load += new System.EventHandler(this.ucSynchrousMain_Load);
this.pnlAll.ResumeLayout(false);
this.pnlCenter.ResumeLayout(false);
+ this.pnlCenterBody.ResumeLayout(false);
+ this.pnlCenterBody_Center.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvSyncData)).EndInit();
- this.pnlTop.ResumeLayout(false);
+ this.pnlCenterBody_Bottom.ResumeLayout(false);
+ this.pnlSubmit_Right.ResumeLayout(false);
+ this.pnlCenterBody_Top.ResumeLayout(false);
this.tableTop.ResumeLayout(false);
this.pnlSelect.ResumeLayout(false);
this.pnlSelect.PerformLayout();
@@ -366,6 +513,9 @@
this.pnlText.PerformLayout();
this.pnlDate.ResumeLayout(false);
this.pnlDate.PerformLayout();
+ this.pnlCenterBottom.ResumeLayout(false);
+ this.pnlCenterBottom_Top.ResumeLayout(false);
+ this.pnlCenterBottom_Top.PerformLayout();
this.ResumeLayout(false);
}
@@ -373,30 +523,43 @@
#endregion
private System.Windows.Forms.Panel pnlAll;
+ private System.Windows.Forms.Panel pnlRight;
+ private System.Windows.Forms.Panel pnlLeft;
+ private System.Windows.Forms.Panel pnlBottom;
private System.Windows.Forms.Panel pnlTop;
- private System.Windows.Forms.Label lblTitle;
private System.Windows.Forms.Panel pnlCenter;
+ private System.Windows.Forms.Panel pnlCenterBody;
+ private System.Windows.Forms.Panel pnlCenterBottom;
+ private System.Windows.Forms.RichTextBox rtxtLog;
+ private System.Windows.Forms.Panel pnlCenterBottom_Top;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Panel pnlCenterBody_Center;
private System.Windows.Forms.DataGridView dgvSyncData;
+ private System.Windows.Forms.Panel pnlCenterBody_Bottom;
+ private System.Windows.Forms.Panel pnlCenterBody_Top;
+ private System.Windows.Forms.Button btnRunData;
private System.Windows.Forms.TableLayoutPanel tableTop;
private System.Windows.Forms.Panel pnlSelect;
- private System.Windows.Forms.Button btnFind;
- private System.Windows.Forms.DateTimePicker dtpTarget;
- private System.Windows.Forms.DateTimePicker dtpSource;
+ private System.Windows.Forms.Label lblTitle;
private System.Windows.Forms.Panel pnlRunData;
- private System.Windows.Forms.Button btnRunData;
private System.Windows.Forms.Panel pnlConfig;
- private System.Windows.Forms.Button btnConfig;
- private System.Windows.Forms.Label lblColumn;
- private System.Windows.Forms.ComboBox cmbColumns;
+ private System.Windows.Forms.Button btnCancelFind;
private System.Windows.Forms.Panel pnlText;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.Panel pnlDate;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtFind;
private System.Windows.Forms.ComboBox combCondition;
+ private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel pnlCheck;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Button btnCancelFind;
+ private System.Windows.Forms.Panel pnlDate;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.DateTimePicker dtpSource;
+ private System.Windows.Forms.DateTimePicker dtpTarget;
+ private System.Windows.Forms.Label lblColumn;
+ private System.Windows.Forms.ComboBox cmbColumns;
+ private System.Windows.Forms.Button btnFind;
+ private System.Windows.Forms.Label lblTitleMsg;
+ private System.Windows.Forms.Panel pnlCenterBottom_Line;
+ private System.Windows.Forms.Panel pnlSubmit_Right;
}
}
diff --git a/CNAS_RunSync/ucSyncShow.cs b/CNAS_RunSync/ucSynchrousMain.cs
similarity index 69%
rename from CNAS_RunSync/ucSyncShow.cs
rename to CNAS_RunSync/ucSynchrousMain.cs
index 6b3d343..b4375a4 100644
--- a/CNAS_RunSync/ucSyncShow.cs
+++ b/CNAS_RunSync/ucSynchrousMain.cs
@@ -6,40 +6,48 @@ using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
-using Newtonsoft.Json;
using CnasSynchronusClient;
-using CNAS_DBSync;
-using System.Configuration;
using CnasSynchrousModel;
using CnasSynchronousCommon;
namespace CNAS_RunSync
{
- public partial class ucSyncShow : UserControl
+ public partial class ucSynchrousMain : UserControl
{
- private string delayDays= FileOperation.GetSystemFormatConfigData().ShowDelayDays;
+ private string delayDays = FileOperation.GetSystemFormatConfigData().ShowDelayDays;
private SyncInstrumentItemInfo syncInstrumentItem = new SyncInstrumentItemInfo();
//private Dictionary dictSourceTables = new Dictionary();
private DataTable dtSource = new DataTable(); //当前显示数据源
private Dictionary dictSource = new Dictionary();
private Dictionary DictComboBox = new Dictionary(); //ComboBox数据源
- private List lstIntOrDouble = new List() {"等于","不等于","大于","小于","不大于","不小于" };
- private List lstText = new List() { "等于", "不等于", "包含", "不包含"};
+ private List lstIntOrDouble = new List() { "等于", "不等于", "大于", "小于", "不大于", "不小于" };
+ private List lstText = new List() { "等于", "不等于", "包含", "不包含" };
private Color FinedBackColor = Color.LightCyan; //查询后选中项
Dictionary DictField = new Dictionary();
+ public ucSynchrousMain()
+ {
+ InitializeComponent();
+ }
+
//需要存在一个仪器才能正常显示数据
- public ucSyncShow(SyncInstrumentItemInfo syncInstrumentItem)
+ public ucSynchrousMain(SyncInstrumentItemInfo syncInstrumentItem)
{
InitializeComponent();
dgvSyncData.AutoGenerateColumns = false;
dgvSyncData.RowHeadersVisible = false;
+ //dgvSyncData.RowsDefaultCellStyle.BackColor = Color.Bisque;
+ dgvSyncData.AlternatingRowsDefaultCellStyle.BackColor = Color.WhiteSmoke;
this.syncInstrumentItem = syncInstrumentItem;
}
-
- private void ucSyncShow_Load(object sender, EventArgs e)
+ ///
+ /// 控件加载时发生
+ ///
+ ///
+ ///
+ private void ucSynchrousMain_Load(object sender, EventArgs e)
{
BindData();
}
@@ -47,7 +55,7 @@ namespace CNAS_RunSync
///
/// 绑定数据
///
- private void BindData()
+ public void BindData()
{
if (this.syncInstrumentItem == null) return;
@@ -57,6 +65,8 @@ namespace CNAS_RunSync
if (syncInstrumentItem.SyncInstrumentDSInfo == null) return;
//if (syncInstrumentItem.SyncInstrumentDSInfo.Path == null) return;
if (syncInstrumentItem.SyncInstrumentDSInfo.InstrumentDataSourceType == DataSourceType.None) return;
+
+ this.lblTitleMsg.Text= string.Format("类型:{0} 路径:{1}", syncInstrumentItem.SyncInstrumentDSInfo.InstrumentDataSourceType.ToString(),syncInstrumentItem.SyncInstrumentDSInfo.Path);
//清空现有绑定
DictComboBox.Clear();
@@ -64,24 +74,30 @@ namespace CNAS_RunSync
//加载相关数据
//1.1根据仪器类型加载本地存储的中英文字段说明映射
- if (syncInstrumentItem.LstSyncPramas.Count > 0)
- {
- InstrumentDescribeZH describeZH = new InstrumentDescribeZH(syncInstrumentItem.InstruType, syncInstrumentItem.LstSyncPramas[0].SourceTable);
- describeZH.GetFieldDescribe();
- DictField = describeZH.DictField;
- }
+ //if (syncInstrumentItem.LstSyncPramas.Count > 0)
+ //{
+ //InstrumentDescribeZH describeZH = new InstrumentDescribeZH(syncInstrumentItem.InstruType, syncInstrumentItem.LstSyncPramas[0].SourceTable);
+ //describeZH.GetFieldDescribe();
+ //DictField = describeZH.DictField;
+ //}
//2.datagridview中绑定数据(绑定的是从数据源中读取的数据)
//2.1 根据映射表,创建datagridviewcolumn/和绑定数据列
if (syncInstrumentItem.LstSyncPramas.Count <= 0) return;
+
+ //创建选择列
+ AddCheckBoxColumn(dgvSyncData, "selectedColumn", "选择", 80, true);
+
+ //创建数据列
foreach (var item in syncInstrumentItem.LstSyncPramas)
{
string strColumnName = item.SourceField;
if (DictField.ContainsKey(strColumnName))
strColumnName = DictField[strColumnName];
- AddDatagridColumn(dgvSyncData, item.SourceField, strColumnName, 100);
+ AddDatagridColumn(dgvSyncData, item.SourceField, strColumnName, 150);
}
- AddDatagridColumn(dgvSyncData, "GridGuid", "GridGuid", 100, false);
+ //创建GUID列
+ AddDatagridColumn(dgvSyncData, "GridGuid", "GridGuid", 50, false);
//2.2 获取数据源数据,构建datagridviewcell
//2.2.1 获取数据源数据
@@ -104,6 +120,11 @@ namespace CNAS_RunSync
DataGridViewRow dataGridViewRow = new DataGridViewRow();
foreach (DataGridViewColumn dataGridViewColumn in dgvSyncData.Columns)
{
+ if (dataGridViewColumn.Index == 0)
+ {
+ dataGridViewRow.Cells.Add(new DataGridViewCheckBoxCell());
+ }
+
if (dtSource.Columns.Contains(dataGridViewColumn.Name))
AddDataTextCell(dataGridViewRow, dataGridViewColumn, dr);
}
@@ -152,7 +173,7 @@ namespace CNAS_RunSync
///
///
///
- private void AddDatagridColumn(DataGridView dgvShow,string strColumnName,string strColumnHeaderText,int Width,bool bVisible=true)
+ private void AddDatagridColumn(DataGridView dgvShow, string strColumnName, string strColumnHeaderText, int Width, bool bVisible = true)
{
DataGridViewColumn Column = new DataGridViewColumn()
{
@@ -160,21 +181,44 @@ namespace CNAS_RunSync
HeaderText = strColumnHeaderText,
Width = Width,
Visible = bVisible,
- CellTemplate = new DataGridViewTextBoxCell()
- };
+ CellTemplate = new DataGridViewTextBoxCell(),
+ ReadOnly = true
+ };
+
//设置文本对齐方式
Column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
+ Column.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
+
//设置该列背景颜色
dgvShow.Columns.Add(Column);
}
+ private void AddCheckBoxColumn(DataGridView dgvShow, string strColumnName, string strColumnHeaderText, int Width, bool bVisible = true)
+ {
+ DataGridViewCheckBoxColumn selectedColumn = new DataGridViewCheckBoxColumn()
+ {
+ HeaderText = strColumnHeaderText,
+ Name = strColumnName,
+ Visible = bVisible,
+ Width = Width,
+ ReadOnly = false
+ };
+
+ //设置文本对齐方式
+ selectedColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
+ selectedColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
+
+ //设置该列背景颜色
+ dgvShow.Columns.Add(selectedColumn);
+ }
+
///
/// 添加datagridview的单元格
///
///
///
///
- private void AddDataTextCell(DataGridViewRow dataGridViewRow, DataGridViewColumn dataGridViewColumn,DataRow dr)
+ private void AddDataTextCell(DataGridViewRow dataGridViewRow, DataGridViewColumn dataGridViewColumn, DataRow dr)
{
DataGridViewTextBoxCell txtCell = new DataGridViewTextBoxCell();
txtCell.Value = Convert.ToString(dr[dataGridViewColumn.Name]);
@@ -189,7 +233,11 @@ namespace CNAS_RunSync
DataTable dtReadySource = dtSource.Clone();
GetUpLoadData(ref dtReadySource);
if (dtReadySource.Rows.Count <= 0)
- MessageBox.Show("未能获得上传数据,请查询筛选后重试!");
+ {
+ string strMsg = "未能获得上传数据,请查询筛选后重试!";
+ MessageBox.Show(strMsg);
+ WriteMsgToRichTextBox(strMsg);
+ }
//执行上传
RunUpLoad(dtReadySource);
@@ -230,14 +278,15 @@ namespace CNAS_RunSync
if (dtTarget.Columns.Count <= 0)
{
MessageBox.Show("未能成功读取CNAS数据库列,请检查数据库配置。");
+ WriteMsgToRichTextBox("未能成功读取CNAS数据库列,请检查数据库配置。");
return;
}
//创建插入操作类
- CnasInsertOperation insertOperation = new CnasInsertOperation{syncInstrumentItem = syncInstrumentItem};
+ CnasInsertOperation insertOperation = new CnasInsertOperation { syncInstrumentItem = syncInstrumentItem };
//逐行插入数据到内存表
- string strErrorMsg = insertOperation.CreateInputData(dtReadySource,ref dtTarget);
+ string strErrorMsg = insertOperation.CreateInputData(dtReadySource, ref dtTarget);
if (strErrorMsg != "")
{
MessageBox.Show(strErrorMsg);
@@ -246,11 +295,12 @@ namespace CNAS_RunSync
if (dtTarget.Rows.Count <= 0)
{
MessageBox.Show("未能获取到符合要求的数据,请检查配置或联系管理员。");
+ WriteMsgToRichTextBox("未能获取到符合要求的数据,请检查配置或联系管理员。");
return;
- }
+ }
//检查数据合法性
- insertOperation.CheckInsertDataFormat(dtTarget, ref strErrorMsg);
+ insertOperation.CheckInsertDataFormat(dtTarget, ref strErrorMsg);
if (strErrorMsg != "")
{
MessageBox.Show(strErrorMsg);
@@ -261,16 +311,45 @@ namespace CNAS_RunSync
int ErrorCount = 0;
int SuccessCount = 0;
int OtherCount = 0;
- List lstError = new List();
+ List lstError = new List();
foreach (DataRow dr in dtTarget.Rows)
{
+
+ if (dr[11].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[11]}");
+ dr[11] = kxjsf(dr[11].ToString());
+
+ }
+ if (dr[12].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[12]}");
+ }
+ if (dr[13].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[13]}");
+ }
+ if (dr[14].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[14]}");
+ }
+ if (dr[15].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[15]}");
+ }
+ if (dr[16].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[16]}");
+ }
+
dr.AcceptChanges();
- int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(GlobalCommonOperation.ConvertDataRowToTable(dr), syncInstrumentItem.SyncTargetDBInfo,syncInstrumentItem.LstSyncPramas, syncInstrumentItem.CnasInstrumentColumn,syncInstrumentItem.lstFixedValue);
+ int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(GlobalCommonOperation.ConvertDataRowToTable(dr), syncInstrumentItem.SyncTargetDBInfo, syncInstrumentItem.LstSyncPramas, syncInstrumentItem.CnasInstrumentColumn, syncInstrumentItem.lstFixedValue);
if (iReturn <= 0) //此时出现问题
{
if (iReturn == -1)
{
AppLog.ServiceInfo("数据库连接中断,终止本次上传。");
+ WriteMsgToRichTextBox("数据库连接中断,终止本次上传。");
break; //此时数据库连接中断,直接跳出循环,结束本次数据同步传输
}
else if (iReturn == -2) //等于-2表示插入准备更新时发现数据一致,不再执行
@@ -300,11 +379,75 @@ namespace CNAS_RunSync
// AppLog.Error($"未成功上传的数据如下:{TransConvert.ListToString(lstError)}");
// MessageBox.Show("上传过程中发生异常,存在部分数据未成功上传,请联系管理员!");
//}
- MessageBox.Show( $"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。");
- if(lstError.Count> 0)
+ MessageBox.Show($"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。");
+ WriteMsgToRichTextBox($"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。");
+ if (lstError.Count > 0)
+ {
AppLog.Error($"未成功上传的数据如下:{TransConvert.ListToString(lstError)}");
+ WriteMsgToRichTextBox($"未成功上传的数据如下:{TransConvert.ListToString(lstError)}");
+ }
}
+ private string kxjsf(string sss)
+ {
+ double sd = Convert.ToDouble(sss);
+
+ //double sd = 123.123456;
+ string temps2 = "0";
+ string temps3 = "0";
+ string temps4 = "0";
+
+ int tempi2 = 0;
+ int tempi3 = 0;
+ int tempi4 = 0;
+ if (sss.Contains('.'))
+ {
+ string[] s1 = sss.Split('.');
+
+ if (s1[1].Length > 2)
+ {
+
+ if (s1[1].Length > 2)
+ {
+ temps2 = s1[1].Substring(1, 1);
+ temps3 = s1[1].Substring(2, 1);
+ }
+ tempi2 = int.Parse(temps2);
+ tempi3 = int.Parse(temps3);
+
+ if (s1[1].Length > 3)
+ {
+ temps4 = s1[1].Substring(3, 1);
+ }
+ tempi4 = int.Parse(temps4);
+
+ if (tempi3 > 5 || tempi3 < 5)
+ {
+ return sd.ToString("0.00");
+ }
+ else
+ {
+ if (tempi4 != 0)
+ {
+ return sd.ToString("0.00");
+ }
+ else
+ {
+ if (tempi2 == 0 || tempi2 == 2 || tempi2 == 4 || tempi2 == 6 || tempi2 == 8)
+ {
+ return sss.Substring(0, 5);
+ }
+ else
+ {
+ return sd.ToString("0.00");
+ }
+ }
+ }
+ }
+ }
+ return sss;
+
+ }
private void cmbColumns_SelectedIndexChanged(object sender, EventArgs e)
{
@@ -315,7 +458,7 @@ namespace CNAS_RunSync
Type selectType = DictComboBox[obj.Key];
switch (selectType.ToString())
- {
+ {
case "System.DateTime":
UseDateTimeControl();
break;
@@ -324,7 +467,7 @@ namespace CNAS_RunSync
case "System.Int32":
UseNormalControl();
//绑定条件ComboBox
- combCondition.DataSource = lstIntOrDouble ;
+ combCondition.DataSource = lstIntOrDouble;
break;
case "System.Byte[]":
case "System.String":
@@ -336,7 +479,6 @@ namespace CNAS_RunSync
}
}
}
-
///
/// 使用时间类型专用的查询控件组
///
@@ -367,11 +509,6 @@ namespace CNAS_RunSync
}
}
- ///
- /// 查询满足满足条件的项
- ///
- ///
- ///
private void btnFind_Click(object sender, EventArgs e)
{
if (cmbColumns.SelectedValue == null) return;
@@ -390,10 +527,10 @@ namespace CNAS_RunSync
{
btnCancelFind_Click(sender, e);
return;
- }
+ }
}
-
+
//2.将datagridview中满足条件的项修改背景色
//2.1 判断当前显示的datagridview是否含有旧的查询数据
//2.2 将满足条件的项背景色改为特殊颜色
@@ -402,7 +539,7 @@ namespace CNAS_RunSync
dgvrow.DefaultCellStyle.BackColor = Color.White;
//查询列的当前值
- string strGuid = dgvrow.Cells["GridGuid"].Value.ToString();
+ string strGuid = dgvrow.Cells["GridGuid"].Value.ToString();
if (DictField.Count > 0)
{
var query = DictField.Where(s => s.Value == cmbColumns.SelectedValue.ToString());
@@ -427,12 +564,11 @@ namespace CNAS_RunSync
}
}
}
-
private bool CheckMatchCondition(string strValue)
{
if (DictComboBox[cmbColumns.SelectedValue.ToString()].ToString().Equals("System.DateTime"))
{
- DateTime dt= DateTime.Now;
+ DateTime dt = DateTime.Now;
if (!DateTime.TryParse(strValue, out dt)) return false;
DateTime dtSource = dtpSource.Value;
@@ -495,7 +631,7 @@ namespace CNAS_RunSync
///
///
///
- private string GetSelectString(string strColumnName,string strCondition, string strValue)
+ private string GetSelectString(string strColumnName, string strCondition, string strValue)
{
string strCondi = "";
switch (strCondition)
@@ -528,46 +664,54 @@ namespace CNAS_RunSync
if (strCondi == "like" || strCondi == "not like")
return string.Format("{0} {1} '%{2}%'", strColumnName, strCondi, strValue);
else
- return string.Format("{0} {1} '{2}'",strColumnName,strCondi,strValue);
- }
- private void btnConfig_Click(object sender, EventArgs e)
- {
- if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
- {
- frmSyncParams frmSyncConfig = new frmSyncParams(syncInstrumentItem);
- frmSyncConfig.ParamsChangedDelegate = delegate (SyncInstrumentItemInfo instrumentItemInfo)
- {
- syncInstrumentItem = instrumentItemInfo;
-
- //重新绑定数据
- dgvSyncData.DataSource = null;
- dgvSyncData.Rows.Clear();
- dgvSyncData.Columns.Clear();
- combCondition.DataSource = null;
- cmbColumns.DataSource = null;
-
- BindData();
- };
- frmSyncConfig.ShowDialog();
- }
+ return string.Format("{0} {1} '{2}'", strColumnName, strCondi, strValue);
}
-
private void btnCancelFind_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow dgvrow in dgvSyncData.Rows)
{
- if (dgvrow.DefaultCellStyle.BackColor != Color.White)
+ if (dgvrow.Cells[0].Value != null && dgvrow.Cells[0].Value.ToString() == "True")
+ dgvrow.Cells[0].Value = false;
+
+ if (dgvrow.Index % 2 == 1)
+ {
+ dgvrow.DefaultCellStyle.BackColor = Color.WhiteSmoke;
+ }
+ else
+ {
dgvrow.DefaultCellStyle.BackColor = Color.White;
+ }
+
}
}
- private void btnAutoService_Click(object sender, EventArgs e)
+ private void dgvSyncData_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
- if (new frmOperationPwd().ShowDialog() == DialogResult.OK)
+ //只有第一列“选择列”时触发
+ if (e.ColumnIndex == 0)
{
- frmServiceConfig frmServiceConfig = new frmServiceConfig();
- frmServiceConfig.ShowDialog();
+ if (dgvSyncData.Rows[e.RowIndex].Cells[0].Value.ToString() == "True")
+ dgvSyncData.Rows[e.RowIndex].DefaultCellStyle.BackColor = FinedBackColor;
+ else
+ {
+ if (e.RowIndex % 2 == 1)
+ {
+ dgvSyncData.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.WhiteSmoke;
+ }
+ else
+ {
+ dgvSyncData.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
+ }
+ }
}
}
+
+ public void WriteMsgToRichTextBox(string strMsg)
+ {
+ Invoke(new MethodInvoker(delegate ()
+ {
+ this.rtxtLog.Text += string.Format("{0} 日期: {1}\n", strMsg,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+ }));
+ }
}
}
diff --git a/CNAS_RunSync/ucSynchrousMain.resx b/CNAS_RunSync/ucSynchrousMain.resx
new file mode 100644
index 0000000..5b69820
--- /dev/null
+++ b/CNAS_RunSync/ucSynchrousMain.resx
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH4wEJBBcNYFf1QQAAAUxJREFU
+ OE+F0t0qBlEUh/ERJV75vgc3QHKqlHLkzB0IcUxvwjHlo6Qo5U6cIicUh74SSbkFzzNmTTNjeP/1q5mp
+ vfbea1ZSk1Hs4QafmVscYAx/pgdNPOAa+1jJWPAKj1hHL0px8QlesIxhVDOERTzjFKUi7uzi6fTt/0zB
+ Ihto84N39tju3CrpArIArzPui/fzznXHLqaBTcygH5c4RNptGxbpQvvPY55u7OIds34gO7jzwd9kp427
+ HMPrxHFj8Rvm/JDFa3z5UCzQgTV8YAl2um6xyQs4JPYhYpFVuOgcr6guNtu498EJc0j8z5Eo8oS6xQO4
+ wJEvjqe/xCEpphMjiF4UMw+LT6RvxPF0OBySVpmEi7eQF7dZjqdFbM4gqvHYsfMZ+lCKRRxPr+OQ+J8t
+ JhvmnWPnX4sjHsnxdMIcEn+T7LYN886FniTJNztvSvHEs3jxAAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/CnasSynchronusClient/Local/SericalPortConfigBLL.cs b/CNAS_SerialPort/BLL/SericalPortConfigBLL.cs
similarity index 97%
rename from CnasSynchronusClient/Local/SericalPortConfigBLL.cs
rename to CNAS_SerialPort/BLL/SericalPortConfigBLL.cs
index 8afb438..baf4bfe 100644
--- a/CnasSynchronusClient/Local/SericalPortConfigBLL.cs
+++ b/CNAS_SerialPort/BLL/SericalPortConfigBLL.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
-namespace CnasSynchronusClient
+namespace CNAS_SerialPort
{
public class SericalPortConfigBLL
{
diff --git a/CNAS_SerialPort/BalancePortParsing.cs b/CNAS_SerialPort/BalancePortParsing.cs
new file mode 100644
index 0000000..a2ab6cc
--- /dev/null
+++ b/CNAS_SerialPort/BalancePortParsing.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CNAS_PortDataParsing
+{
+ public class BalancePortParsing
+ {
+ public string DataParsingString(string strData,List lstReadText)
+ {
+ return strData;
+ }
+ }
+}
diff --git a/CNAS_SerialPort/CNAS_SerialPort.csproj b/CNAS_SerialPort/CNAS_SerialPort.csproj
new file mode 100644
index 0000000..44ddfc6
--- /dev/null
+++ b/CNAS_SerialPort/CNAS_SerialPort.csproj
@@ -0,0 +1,86 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {ABB56058-B6FD-4747-A4E9-9C9361D6D993}
+ Library
+ Properties
+ CNAS_SerialPort
+ CNAS_SerialPort
+ v4.8
+ 512
+ true
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+ false
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ false
+
+
+
+
+
+ False
+ ..\dll\System.Data.SQLite.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {49f0f118-144f-4dc5-a980-e845572295ea}
+ CnasLocalIDAL
+
+
+ {8E0E5F2E-2BA2-4952-9F31-34C072CD86B3}
+ CnasSynchronousCommon
+
+
+ {CB9B6D92-3CC4-46C6-92E8-A6FD0AD48041}
+ CnasSynchronusBLL
+
+
+ {0C3243F5-729E-409C-B406-C6DE56E632E0}
+ CnasSynchrousModel
+
+
+ {E1052176-831E-4070-9356-CA0F8108DBDF}
+ SyncLocalDAL
+
+
+
+
+
\ No newline at end of file
diff --git a/SyncLocalDAL/SerialPortConfigInfoDAL.cs b/CNAS_SerialPort/DAL/SerialPortConfigInfoDAL.cs
similarity index 99%
rename from SyncLocalDAL/SerialPortConfigInfoDAL.cs
rename to CNAS_SerialPort/DAL/SerialPortConfigInfoDAL.cs
index 4093141..98abb7e 100644
--- a/SyncLocalDAL/SerialPortConfigInfoDAL.cs
+++ b/CNAS_SerialPort/DAL/SerialPortConfigInfoDAL.cs
@@ -1,13 +1,14 @@
using CnasLocalIDAL;
using CnasSynchronousCommon;
using CnasSynchrousModel;
+using SyncLocalDAL;
using System;
using System.Collections.Generic;
using System.Data.SQLite;
using System.Linq;
using System.Text;
-namespace SyncLocalDAL
+namespace CNAS_SerialPort
{
public class SerialPortConfigInfoDAL : LocalDBbase, ISerialPortConfigInfo
{
diff --git a/CNAS_SerialPort/Helper/AlgorithmHelper.cs b/CNAS_SerialPort/Helper/AlgorithmHelper.cs
new file mode 100644
index 0000000..484fa86
--- /dev/null
+++ b/CNAS_SerialPort/Helper/AlgorithmHelper.cs
@@ -0,0 +1,289 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CNAS_SerialPort
+{
+ ///
+ /// 16进制使用的隔离符枚举
+ ///
+ public enum Enum16Hex
+ {
+ None,//无
+ Blank,//空格
+ OX, //OX
+ Ox //Ox
+ }
+
+ ///
+ /// 计算进制类助手
+ ///
+ public class AlgorithmHelper
+ {
+ #region 十进制转十六进制
+ public string From10To16(int d)
+ {
+ string hex = "";
+ if (d < 16)
+ {
+ hex = BeginChange(d);
+ }
+ else
+ {
+ int c;
+ int s = 0;
+ int n = d;
+ int temp = d;
+ while (n >= 16)
+ {
+ s++;
+ n = n / 16;
+ }
+ string[] m = new string[s];
+ int i = 0;
+ do
+ {
+ c = d / 16;
+ m[i++] = BeginChange(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式
+ d = c;
+ } while (c >= 16);
+ hex = BeginChange(d);
+ for (int j = m.Length - 1; j >= 0; j--)
+ {
+ hex += m[j];
+ }
+ }
+ return hex;
+ }
+ //判断是否为10~15之间的数,如果是则进行转换
+ public string BeginChange(int d)
+ {
+ string hex = "";
+ switch (d)
+ {
+ case 10:
+ hex = "A";
+ break;
+ case 11:
+ hex = "B";
+ break;
+ case 12:
+ hex = "C";
+ break;
+ case 13:
+ hex = "D";
+ break;
+ case 14:
+ hex = "E";
+ break;
+ case 15:
+ hex = "F";
+ break;
+ default:
+ hex = d.ToString();
+ break;
+ }
+ return hex;
+ }
+ #endregion
+
+ #region 其他函数【16进制中的隔离符处理】
+
+ ///
+ /// 把16进制隔离符转换成实际的字符串
+ ///
+ /// 16进制隔离符枚举
+ ///
+ private string AddSplitString(Enum16Hex enum16)
+ {
+ switch (enum16)
+ {
+ case Enum16Hex.None:
+ return "";
+ case Enum16Hex.Ox:
+ return "0x";
+ case Enum16Hex.OX:
+ return "0X";
+ case Enum16Hex.Blank:
+ return " ";
+ default:
+ return "";
+ }
+ }
+ ///
+ /// 去掉16进制字符串中的隔离符【 如:" ", "0x", "0X"】
+ ///
+ /// 需要转换的字符串数据
+ ///
+ private string DeleteSplitString(string inString)
+ {
+ string outString = string.Empty;
+ string[] delArray = { " ", "0x", "0X" };
+ if (inString.Contains(" ") || inString.Contains("0x") || inString.Contains("0X"))//存在隔离符
+ {
+ string[] str = inString.Split(delArray,
+ System.StringSplitOptions.RemoveEmptyEntries);//以隔离符进行转换数组,去掉隔离符,去掉空格。
+ for (int i = 0; i < str.Length; i++)
+ {
+ outString += str[i].ToString();
+ }
+ return outString;
+ }
+ else//不存在隔离符就直接返回
+ {
+ return inString;
+ }
+ }
+ #endregion
+
+ #region 汉字、英文、纯16进制数、byte[]之间的各种转换方法
+
+ ///
+ /// 字符串转换成16进制
+ ///
+ ///
+ ///
+ ///
+ public string StringTo16(string inSting, Enum16Hex enum16)
+ {
+ string outString = "";
+ byte[] bytes = Encoding.Default.GetBytes(inSting);
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ int strInt = Convert.ToInt16(bytes[i] - '\0');
+ string s = strInt.ToString("X");
+ if (s.Length == 1)
+ {
+ s = "0" + s;
+ }
+ s = s + AddSplitString(enum16);
+ outString += s;
+ }
+ return outString;
+ }
+ ///
+ /// 字符串转换成byte[]
+ ///
+ ///
+ ///
+ public byte[] StringToBtyes(string inSting)
+ {
+ inSting = StringTo16(inSting, Enum16Hex.None);//把字符串转换成16进制数
+ return From16ToBtyes(inSting);//把16进制数转换成byte[]
+ }
+ ///
+ /// 把16进制字符串转换成byte[]
+ ///
+ ///
+ ///
+ public byte[] From16ToBtyes(string inSting)
+ {
+ inSting = DeleteSplitString(inSting);//去掉16进制中的隔离符
+ byte[] stringByte = new byte[inSting.Length / 2];
+ for (int a = 0, b = 0; a < inSting.Length; a = a + 2, b++)
+ {
+ try
+ {
+ string str = inSting.Substring(a, 2);
+ stringByte[b] = (byte)Convert.ToInt16(str, 16);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception("输入的数据不是纯16进制数! 参考错误信息:" + ex.Message);
+ }
+ }
+ return stringByte;
+ }
+ ///
+ /// 把16进制字符串转换成英文数字和汉字混合格式
+ ///
+ /// 需要转换的16进制字符串
+ ///
+ public string From16ToString(string inSting)
+ {
+ inSting = DeleteSplitString(inSting);
+ return Encoding.Default.GetString(From16ToBtyes(inSting));
+ }
+ ///
+ /// 把byte[]转换成String
+ ///
+ /// 需要转换的byte[]
+ /// 隔离符
+ ///
+ public string BytesToString(byte[] bytes, Enum16Hex enum16)
+ {
+ return From16ToString(BytesTo16(bytes, enum16));
+ }
+ ///
+ /// byte[]转换成16进制字符串
+ ///
+ /// 需要转换的byte[]
+ ///
+ ///
+ public string BytesTo16(byte[] bytes, Enum16Hex enum16)
+ {
+ string outString = "";
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ if (bytes[i].ToString("X").Length < 2)//16进制数为一位时前面填充0
+ {
+ outString += "0" + bytes[i].ToString("X") + AddSplitString(enum16);//转成16进制数据
+ }
+ else
+ {
+ outString += bytes[i].ToString("X") + AddSplitString(enum16);//转成16进制数据
+ }
+ }
+ return outString;
+ }
+ ///
+ /// 把byte[]直接转换成字符串,直接以2进制形式显示出来。
+ ///
+ ///
+ ///
+ public string BytesTo2String(byte[] bytes, Enum16Hex enum16)
+ {
+ string outString = "";
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ string tempString = Convert.ToString(bytes[i], 2);
+ if (tempString.Length != 8)
+ {
+ string add0 = "";
+ for (int j = 0; j < 8 - tempString.Length; j++)
+ {
+ add0 += "0";
+ }
+ outString += add0 + tempString + AddSplitString(enum16);
+ }
+ else
+ {
+ outString += tempString + AddSplitString(enum16);
+ }
+ }
+ return outString;
+ }
+
+ ///
+ /// 把字符串传进来,输出一个byte数组【可以把此byte数组直接发送到串口中】
+ ///
+ /// 要转换的字符串
+ /// 是否已经是16进制数据,true时已经是(已经转换好的数据),false时不是(需要内部转换)
+ /// 输出一个byte数组
+ public byte[] StringToBytes(string inString, bool is16)
+ {
+ if (is16)
+ {
+ return From16ToBtyes(inString);
+ }
+ else
+ {
+ return StringToBtyes(inString);
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/CNAS_SerialPort/Helper/SerialPortHelper.cs b/CNAS_SerialPort/Helper/SerialPortHelper.cs
new file mode 100644
index 0000000..e3c7580
--- /dev/null
+++ b/CNAS_SerialPort/Helper/SerialPortHelper.cs
@@ -0,0 +1,163 @@
+using System;
+using System.Collections.Generic;
+using System.IO.Ports;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CNAS_SerialPort
+{
+ public class SerialPortHelper
+ {
+ ///
+ /// 串口助手通用类
+ ///
+ #region 相关属性
+
+ ///
+ /// 创建一个串口操作对象
+ ///
+ private SerialPort serialPort = null;
+ public SerialPort SerialPortObject
+ {
+ get { return serialPort; }
+ }
+
+ ///
+ /// 获取当前计算机上可用的端口列表【只读】
+ ///
+ public string[] PortNames
+ {
+ get { return System.IO.Ports.SerialPort.GetPortNames(); }
+ }
+
+ ///
+ /// 进制转换对象属性
+ ///
+ private AlgorithmHelper algorithmHelper = null;
+ public AlgorithmHelper AlgorithmHelperObject
+ {
+ get { return algorithmHelper; }
+ }
+
+ ///
+ /// 构造方法中初始化相关数据
+ ///
+ public SerialPortHelper()
+ {
+ this.serialPort = new SerialPort();
+ this.algorithmHelper = new AlgorithmHelper();
+
+ //串口基本参数初始化
+ this.serialPort.BaudRate = 9600;
+ this.serialPort.Parity = System.IO.Ports.Parity.None;//校验位默认NONE
+ this.serialPort.DataBits = 8;//数据位默认8位
+ this.serialPort.StopBits = System.IO.Ports.StopBits.One;//停止位默认1位
+
+ }
+
+ #endregion
+
+ #region 打开或关闭端口
+
+ ///
+ /// 根据端口名称打开端口或关闭端口
+ ///
+ /// 端口名称
+ /// 操作状态:1表示打开,0表示关闭
+ /// 返回当前端口的打开状态true或false
+ public bool OpenSerialPort(string portName, int status)
+ {
+ if (status == 1)
+ {
+ this.serialPort.PortName = portName;//只有在端口没有打开的时候,才能设置名称。
+ this.serialPort.Open();
+ }
+ else
+ {
+ this.serialPort.Close();
+ }
+ return this.serialPort.IsOpen;//返回串口打开的状态
+ }
+
+
+ #endregion
+
+ #region 发送数据
+
+ ///
+ /// 判断十六进制字符串hex是否正确
+ ///
+ /// 十六进制字符串
+ /// true:正确,false:不正确
+ private bool IsIIlegalHex(string hex)
+ {
+ return System.Text.RegularExpressions.Regex.IsMatch(hex, @"([^A-Fa-f0-9]|\s+?)+");
+ }
+ ///
+ /// 发送数据(可以是16进制,也可以是字符串)
+ ///
+ /// 要发送的数据
+ /// 发送的数据格式
+ public void SendData(string data, SendFormat format)
+ {
+ if (!this.serialPort.IsOpen)
+ {
+ throw new Exception("端口未打开!请打开相关端口!");//让调用者处理
+ }
+ else
+ {
+ byte[] byteData;
+
+ if (format == SendFormat.Hex)//如果是16进制
+ {
+ if (this.IsIIlegalHex(data))
+ {
+ byteData = algorithmHelper.From16ToBtyes(data);//将16进制转换成byte[]数组
+ }
+ else
+ {
+ throw new Exception("数据不是16进制格式!");
+ }
+ }
+ else //发送字符串
+ {
+ byteData = algorithmHelper.StringToBytes(data, false);
+ }
+ this.serialPort.Write(byteData, 0, byteData.Length);//发送数据(数据,从0开始,结束位置)
+ }
+ }
+
+ #endregion
+
+ #region 接收数据
+
+ ///
+ /// 串口接收数据
+ ///
+ ///
+ public byte[] ReceiveData()
+ {
+ //定义一个接收数组,获取接收缓冲区数据的字节数
+ byte[] byteData = new byte[this.serialPort.BytesToRead];
+ //读取数据
+ this.serialPort.Read(byteData, 0, serialPort.BytesToRead);
+ return byteData;
+ }
+
+ #endregion
+ }
+
+ #region 发送格式选择枚举
+
+ ///
+ /// 发送格式选择
+ ///
+ public enum SendFormat
+ {
+ Hex,//十六进制
+ String
+ }
+
+ #endregion
+}
diff --git a/CnasLocalIDAL/ISerialPortConfigInfo.cs b/CNAS_SerialPort/IDAL/ISerialPortConfigInfo.cs
similarity index 93%
rename from CnasLocalIDAL/ISerialPortConfigInfo.cs
rename to CNAS_SerialPort/IDAL/ISerialPortConfigInfo.cs
index 18cc5b8..34377f0 100644
--- a/CnasLocalIDAL/ISerialPortConfigInfo.cs
+++ b/CNAS_SerialPort/IDAL/ISerialPortConfigInfo.cs
@@ -4,7 +4,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
-namespace CnasLocalIDAL
+namespace CNAS_SerialPort
{
public interface ISerialPortConfigInfo
{
diff --git a/CNAS_SerialPort/Properties/AssemblyInfo.cs b/CNAS_SerialPort/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..45048d7
--- /dev/null
+++ b/CNAS_SerialPort/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("CNAS_SerialPort")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CNAS_SerialPort")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("abb56058-b6fd-4747-a4e9-9c9361d6d993")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CNAS_SerialPort/SerialPortDataReceive.cs b/CNAS_SerialPort/SerialPortDataReceive.cs
new file mode 100644
index 0000000..a0e0c7a
--- /dev/null
+++ b/CNAS_SerialPort/SerialPortDataReceive.cs
@@ -0,0 +1,45 @@
+using CnasSynchronousCommon;
+using System;
+using System.Collections.Generic;
+using System.IO.Ports;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace CNAS_SerialPort
+{
+ public class SerialPortDataReceive
+ {
+ public static string ReceivePortData(Control thisControl, SerialPort sPortBalance,List lstReadTxt)
+ {
+ string strReceiveData = "";
+ //读取缓冲区三次数据,类似{N +} {0.0000}{ g},这里只要第二部分的内容
+ try
+ {
+ //读取数据
+ thisControl.Invoke((EventHandler)(delegate
+ {
+ string strReadTxt = sPortBalance.ReadExisting();
+ if (strReadTxt.StartsWith("N"))
+ {
+ lstReadTxt.Clear();
+ }
+ lstReadTxt.Add(strReadTxt);
+ if (lstReadTxt.Count == 3)
+ {
+ strReceiveData = lstReadTxt[1];
+ }
+ }
+ )
+ );
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error($"接收数据失败:{ex.Message}");
+ throw ex;
+ }
+ return strReceiveData;
+ }
+ }
+}
diff --git a/CNAS_SyncService/App.config b/CNAS_SyncService/App.config
index a5570a7..12752ef 100644
--- a/CNAS_SyncService/App.config
+++ b/CNAS_SyncService/App.config
@@ -1,66 +1,68 @@
-
+
-
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/CNAS_SyncService/CNAS_SyncService.csproj b/CNAS_SyncService/CNAS_SyncService.csproj
index 2974942..4ffd40e 100644
--- a/CNAS_SyncService/CNAS_SyncService.csproj
+++ b/CNAS_SyncService/CNAS_SyncService.csproj
@@ -8,9 +8,10 @@
WinExe
CNAS_SyncService
CNAS_SyncService
- v4.0
+ v4.8
512
true
+
x86
@@ -21,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -30,6 +32,10 @@
TRACE
prompt
4
+ false
+
+
+ upload_16px_1215335_easyicon.net.ico
@@ -50,6 +56,8 @@
+
+
Component
@@ -99,5 +107,8 @@
CnasSynchrousModel
+
+
+
\ No newline at end of file
diff --git a/CNAS_SyncService/FileWatcherItem.cs b/CNAS_SyncService/FileWatcherItem.cs
new file mode 100644
index 0000000..83aa8af
--- /dev/null
+++ b/CNAS_SyncService/FileWatcherItem.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CNAS_SyncService
+{
+ public class FileWatcherItem
+ {
+ ///
+ /// 监控同步项唯一标识
+ ///
+ public string SyncItemId { get; set; }
+
+ ///
+ /// 监控同步项的来源数据库是文件?文件夹?
+ ///
+ public string SyncFileOrFolder { get; set; }
+
+ ///
+ /// 监控同步项的文件/文件夹路径
+ ///
+ public string SyncPath { get; set; }
+
+ ///
+ /// 监控同步项的来源数据库是否是本地?【远程文件不能使用监控】
+ ///
+ public bool SyncIfLocal { get; set; }
+
+ ///
+ /// 监控同步项是否发生了变化
+ ///
+ public bool SyncIfChanged { get; set; }
+ }
+}
diff --git a/CNAS_SyncService/FileWatcherOperation.cs b/CNAS_SyncService/FileWatcherOperation.cs
new file mode 100644
index 0000000..8d5856d
--- /dev/null
+++ b/CNAS_SyncService/FileWatcherOperation.cs
@@ -0,0 +1,105 @@
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace CNAS_SyncService
+{
+ public class FileWatcherOperation
+ {
+ ///
+ /// 所有的同步项
+ ///
+ private List LstSyncInstrument { get; set; }
+
+ ///
+ /// 需要监控的同步项集合
+ ///
+ public List LstWatcherItems { get; set; }
+
+ ///
+ /// 需要监控的数据源类型
+ ///
+ private List lstWatchedataSourceType = new List {
+ DataSourceType.Access,
+ DataSourceType.Excel,
+ DataSourceType.FoxPro,
+ DataSourceType.SQLLite,
+ DataSourceType.TXT
+ };
+
+ ///
+ /// 构造函数
+ ///
+ public FileWatcherOperation(List LstSyncInstrument)
+ {
+ this.LstSyncInstrument = LstSyncInstrument;
+ }
+
+ ///
+ /// 获取需要监控的同步项
+ ///
+ public void GetFileWatcherItems()
+ {
+ LstWatcherItems=new List();
+
+ foreach (var item in LstSyncInstrument)
+ {
+ if (lstWatchedataSourceType.Contains(item.SyncInstrumentDSInfo.InstrumentDataSourceType)&&item.SyncInstrumentDSInfo.DsPathType == PathType.Local)
+ {
+ FileWatcherItem watcherItem = new FileWatcherItem() {
+ SyncItemId = item.GUID,
+ SyncPath = item.SyncInstrumentDSInfo.Path,
+ SyncIfLocal = item.SyncInstrumentDSInfo.DsPathType == PathType.Local ? true : false,
+ SyncIfChanged=false
+ };
+
+ if (!LstWatcherItems.Contains(watcherItem))
+ LstWatcherItems.Add(watcherItem);
+ }
+ }
+ }
+
+ ///
+ /// 启动文件/文件夹监控
+ ///
+ public void StartFileWatcher()
+ {
+ foreach (var item in LstWatcherItems)
+ {
+ FileSystemWatcher watcher = new FileSystemWatcher();
+
+ var file = new FileInfo(item.SyncPath);
+ watcher.Path = file.DirectoryName; //监视文件的文件夹所在目录
+ watcher.Filter = file.Name; //表示监视的是文件夹里面的哪个文件
+
+ //设置监视文件的哪些修改行为
+ watcher.NotifyFilter = NotifyFilters.LastAccess
+ | NotifyFilters.LastWrite|NotifyFilters.FileName;
+
+ watcher.Changed += new FileSystemEventHandler(OnChanged);
+ watcher.Created += new FileSystemEventHandler(OnChanged);
+
+ watcher.EnableRaisingEvents = true;
+ }
+ }
+
+ ///
+ /// 任何一个同步项的文件/文件夹发生变化/新增时触发该方法
+ ///
+ ///
+ ///
+ private void OnChanged(object sender, FileSystemEventArgs e)
+ {
+ foreach (var item in LstWatcherItems)
+ {
+ if (e.FullPath == item.SyncPath)
+ {
+ item.SyncIfChanged = true;
+ }
+ }
+ }
+ }
+}
diff --git a/CNAS_SyncService/SyncServiceOperation.cs b/CNAS_SyncService/SyncServiceOperation.cs
index 96f8317..a6adaed 100644
--- a/CNAS_SyncService/SyncServiceOperation.cs
+++ b/CNAS_SyncService/SyncServiceOperation.cs
@@ -18,17 +18,40 @@ namespace CNAS_SyncService
System.Timers.Timer timerSync;
ServiceConfig config = new ServiceConfig();
bool bRunComplete = true;
+ int WaitCount = 0;
+ string strNowDate = "";
+ FileWatcherOperation fileWatcherOperation;
+
public void Start()
{
AppLog.ServiceInfo("SyncSerivce:服务启动");
+
+ //读取全局配置信息
+ SystemFormatConfig systemFormat = FileOperation.GetSystemFormatConfigData();
+ GlobalCommonOperation.strStartGeneralVersion = systemFormat.StartGeneralVersion;
+ GlobalCommonOperation.strStartWebApi = systemFormat.StartWebApi;
+ GlobalCommonOperation.strWebApiUrl = systemFormat.WebApiUrl;
+ GlobalCommonOperation.strTargetDbType = systemFormat.TargetDBType;
+
+ //读取服务配置信息
config = ReadServiceConfigData();
+ AppLog.Error("打印日志1" + config.Minutes);
if (config.Minutes != 0)
{
+ //启动文件/文件夹监控
+ if (config.IfStartFileWatcher == "1")
+ {
+ fileWatcherOperation = new FileWatcherOperation(ReadSyncInstruments());
+ fileWatcherOperation.GetFileWatcherItems();
+ fileWatcherOperation.StartFileWatcher();
+ }
+
// 启动定时器
timerSync = new System.Timers.Timer();
timerSync.Interval = config.Minutes * 60 * 1000; //设置计时器事件间隔执行时间
timerSync.Elapsed += new System.Timers.ElapsedEventHandler(timerSync_Elapsed);
timerSync.Enabled = true;
+ timerSync.AutoReset = true;
}
else
{
@@ -40,22 +63,66 @@ namespace CNAS_SyncService
private void timerSync_Elapsed(object sender, ElapsedEventArgs e)
{
AppLog.ServiceInfo("定时器启动");
+ //如果等待执行次数超出最大数值,则认为当前正在执行出现未知名问题,直接回收当前执行,执行下次
+ if (WaitCount >= config.MaxWaitCount)
+ {
+ //回收垃圾
+ GC.Collect();
+
+ bRunComplete = true;
+ }
+
if (bRunComplete)
{
+ WaitCount = 0; //只要正常执行,等待标识都将恢复为0
bRunComplete = false;
+
+ //清理过期日志
+ if (strNowDate != DateTime.Now.ToString("yyyyMMdd"))
+ {
+ AppLog.ServiceInfo("清理过期日志");
+ strNowDate = DateTime.Now.ToString("yyyyMMdd");
+ //删除日志文件
+ string logDays = FileOperation.GetSystemFormatConfigData().ShowLogDays;
+ int logday;
+ if (int.TryParse(logDays, out logday))
+ AppLog.DeleteLog(logday);
+ }
+
//执行同步程序
//1.读取配置信息
List lstSyncInstrument = ReadSyncInstruments();
//2 遍历仪器列表,逐个列表进行同步
foreach (var instrumentItem in lstSyncInstrument)
{
- RunSyncByInstrument(instrumentItem);
+ //如果是文件,使用FileSystemWatcher查看文件是否发生了变化
+ if (fileWatcherOperation != null && fileWatcherOperation.LstWatcherItems.Count > 0)
+ {
+ var watcherItem = fileWatcherOperation.LstWatcherItems.Where(p => p.SyncItemId == instrumentItem.GUID && p.SyncIfChanged == true).FirstOrDefault();
+ if (watcherItem!=null)
+ {
+ RunSyncByInstrument(instrumentItem,watcherItem);
+ }
+ else
+ {
+ AppLog.ServiceInfo("检测到文件/文件夹没有发生变化,跳过本次同步执行");
+ }
+ }
+ else
+ {
+ RunSyncByInstrument(instrumentItem);
+ }
}
bRunComplete = true;
//回收垃圾
GC.Collect();
- }
+ }
+ else
+ {
+ WaitCount++;
+ AppLog.ServiceInfo($"等待标识:{WaitCount}");
+ }
}
private List ReadSyncInstruments()
@@ -66,7 +133,7 @@ namespace CNAS_SyncService
return lstSyncInstrument;
}
- private void RunSyncByInstrument(SyncInstrumentItemInfo syncInstrumentItem)
+ private void RunSyncByInstrument(SyncInstrumentItemInfo syncInstrumentItem,FileWatcherItem fileWatcherItem=null)
{
//0.读取目标库表数据的最大时间 1.读取来源的数据 2.对读取到的数据进行逻辑处理,整理格式 3.执行同步
AppLog.ServiceInfo("准备根据日期字段查询筛选");
@@ -79,7 +146,7 @@ namespace CNAS_SyncService
//strDateTime = "2016-07-01 00:00:00";
if (strDateTime == "1899-1-1")
{
- AppLog.ServiceInfo($"读取上次最晚执行时间数据库连接失败。");
+ AppLog.ServiceInfo($"读取上次最晚执行时间失败,请检查原因。");
return;
}
else if (strDateTime == "")
@@ -102,12 +169,16 @@ namespace CNAS_SyncService
DataTable dtReadySource = instrumentData.GetInstrumentDataByDate();
AppLog.ServiceInfo($"根据日期读取准备插入的来源数据,共{dtReadySource.Rows.Count}条数据");
- string strMsg = "";
- RunUpLoad(syncInstrumentItem, dtReadySource, ref strMsg);
- if (strMsg != "")
+ string strErrorMsg = "";
+ RunUpLoad(syncInstrumentItem, dtReadySource, ref strErrorMsg);
+ if (strErrorMsg != "")
{
//写入日志
- AppLog.ServiceInfo(strMsg);
+ AppLog.ServiceInfo(strErrorMsg);
+ }
+ else
+ {
+ if (fileWatcherItem != null) fileWatcherItem.SyncIfChanged = false;
}
}
else
@@ -156,6 +227,34 @@ namespace CNAS_SyncService
AppLog.ServiceInfo($"逐行插入目标数据,最终准备插入(更新)数据行{dtTarget.Rows.Count}");
foreach (DataRow dr in dtTarget.Rows)
{
+
+ if (dr[11].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[11]}");
+ dr[11] = kxjsf(dr[11].ToString());
+
+ }
+ if (dr[12].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[12]}");
+ }
+ if (dr[13].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[13]}");
+ }
+ if (dr[14].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[14]}");
+ }
+ if (dr[15].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[15]}");
+ }
+ if (dr[16].ToString().Length > 1)
+ {
+ AppLog.Error($"逐行插入目标数据,最终准备插入(更新)数据行{dr[16]}");
+ }
+
dr.AcceptChanges();
int iReturn = CnasDataOperationFact.CnasDataOperation().InsertDataToCNASTable(GlobalCommonOperation.ConvertDataRowToTable(dr), syncInstrumentItem.SyncTargetDBInfo, syncInstrumentItem.LstSyncPramas, syncInstrumentItem.CnasInstrumentColumn, syncInstrumentItem.lstFixedValue);
if (iReturn <= 0) //此时出现问题
@@ -181,18 +280,72 @@ namespace CNAS_SyncService
AppLog.Info("成功插入(更新)1条数据。");
}
}
-
- //if (lstError.Count <= 0)
- //{
- // strMsg = "上传完成!...................................................................................................................................";
- //}
- //else
- //{
- // //log.ErrorFormat("未成功上传的数据如下:{0}", ListToString(lstError));
- // strMsg = "上传过程中发生异常,存在部分数据未成功上传,请联系管理员!";
- //}
- strMsg= $"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。............................................................................................................";
+
+ AppLog.ServiceInfo($"上传操作完成!其中成功{SuccessCount}条,失败{ErrorCount}条,其他{OtherCount}条。............................................................................................................");
}
+
+ private string kxjsf(string sss)
+ {
+ double sd = Convert.ToDouble(sss);
+
+ //double sd = 123.123456;
+ string temps2 = "0";
+ string temps3 = "0";
+ string temps4 = "0";
+
+ int tempi2 = 0;
+ int tempi3 = 0;
+ int tempi4 = 0;
+ if (sss.Contains('.'))
+ {
+ string[] s1 = sss.Split('.');
+
+ if (s1[1].Length > 2)
+ {
+
+ if (s1[1].Length > 2)
+ {
+ temps2 = s1[1].Substring(1, 1);
+ temps3 = s1[1].Substring(2, 1);
+ }
+ tempi2 = int.Parse(temps2);
+ tempi3 = int.Parse(temps3);
+
+ if (s1[1].Length > 3)
+ {
+ temps4 = s1[1].Substring(3, 1);
+ }
+ tempi4 = int.Parse(temps4);
+
+ if (tempi3 > 5 || tempi3 < 5)
+ {
+ return sd.ToString("0.00");
+ }
+ else
+ {
+ if (tempi4 != 0)
+ {
+ return sd.ToString("0.00");
+ }
+ else
+ {
+ if (tempi2 == 0 || tempi2 == 2 || tempi2 == 4 || tempi2 == 6 || tempi2 == 8)
+ {
+ return sss.Substring(0, 5);
+ }
+ else
+ {
+ return sd.ToString("0.00");
+ }
+ }
+ }
+ }
+ }
+ return sss;
+
+ }
+
+
private ServiceConfig ReadServiceConfigData()
{
ServiceConfig config = new ServiceConfig();
@@ -200,7 +353,7 @@ namespace CNAS_SyncService
{
//读取本地文件中存储的配置信息
XmlSerializer serializer = new XmlSerializer(config.GetType());
- FileStream stream = new FileStream(FileHelper.getBasePath() + "/Data/SyncServiceData.xml", FileMode.Open);
+ FileStream stream = new FileStream(FileHelper.getBasePath() + "/DataConfig/SyncServiceData.xml", FileMode.Open);
config = (ServiceConfig)serializer.Deserialize(stream);
stream.Close();
}
diff --git a/CNAS_SyncService/upload_16px_1215335_easyicon.net.ico b/CNAS_SyncService/upload_16px_1215335_easyicon.net.ico
new file mode 100644
index 0000000..254d635
Binary files /dev/null and b/CNAS_SyncService/upload_16px_1215335_easyicon.net.ico differ
diff --git a/CnasLocalIDAL/CnasLocalIDAL.csproj b/CnasLocalIDAL/CnasLocalIDAL.csproj
index 0c0183b..3bba098 100644
--- a/CnasLocalIDAL/CnasLocalIDAL.csproj
+++ b/CnasLocalIDAL/CnasLocalIDAL.csproj
@@ -9,7 +9,7 @@
Properties
CnasLocalIDAL
CnasLocalIDAL
- v4.0
+ v4.8
512
true
@@ -23,6 +23,7 @@
prompt
4
x86
+ false
pdbonly
@@ -31,6 +32,7 @@
TRACE
prompt
4
+ false
@@ -44,7 +46,6 @@
-
diff --git a/CnasSynchronousCommon/AppLog.cs b/CnasSynchronousCommon/AppLog.cs
index 50fd007..b62f53a 100644
--- a/CnasSynchronousCommon/AppLog.cs
+++ b/CnasSynchronousCommon/AppLog.cs
@@ -1,4 +1,5 @@
using log4net;
+using log4net.Appender;
using log4net.Config;
using System;
using System.Collections.Generic;
@@ -13,9 +14,9 @@ namespace CnasSynchronousCommon
public static class AppLog
{
//private static ILog log;
- private static ILog logInfo;
- private static ILog logErr;
- private static ILog logServiceInfo;
+ public static ILog logInfo;
+ public static ILog logErr;
+ public static ILog logServiceInfo;
static AppLog()
{
XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile));
@@ -24,6 +25,46 @@ namespace CnasSynchronousCommon
logErr = LogManager.GetLogger("Err");
logServiceInfo = LogManager.GetLogger("ServiceLog");
}
+ public static void DeleteLog(int days)
+ {
+ DeleteLog(logInfo, days);
+ DeleteLog(logErr, days);
+ DeleteLog(logServiceInfo, days);
+ }
+ private static void DeleteLog(ILog _log, int days)
+ {
+ var apps = _log.Logger.Repository.GetAppenders();
+ if (apps.Length <= 0)
+ {
+ return;
+ }
+ var now = DateTime.UtcNow.AddDays(days);
+ foreach (var item in apps)
+ {
+ if (item is RollingFileAppender)
+ {
+ RollingFileAppender roll = item as RollingFileAppender;
+ var dir = Path.GetDirectoryName(roll.File);
+ var files = Directory.GetFiles(dir, "*.txt");
+
+ foreach (var filePath in files)
+ {
+ var file = new FileInfo(filePath);
+ if (file.CreationTimeUtc < now)
+ {
+ try
+ {
+ file.Delete();
+ }
+ catch (Exception ex)
+ {
+ Error(ex.Message);
+ }
+ }
+ }
+ }
+ }
+ }
public static void Info()
{
diff --git a/CnasSynchronousCommon/CnasSynchronousCommon.csproj b/CnasSynchronousCommon/CnasSynchronousCommon.csproj
index def2503..f56d7ab 100644
--- a/CnasSynchronousCommon/CnasSynchronousCommon.csproj
+++ b/CnasSynchronousCommon/CnasSynchronousCommon.csproj
@@ -9,7 +9,7 @@
Properties
CnasSynchronousCommon
CnasSynchronousCommon
- v4.0
+ v4.8
512
true
@@ -23,6 +23,7 @@
prompt
4
x86
+ false
pdbonly
@@ -31,6 +32,7 @@
TRACE
prompt
4
+ false
@@ -44,6 +46,7 @@
+
@@ -60,6 +63,7 @@
+
diff --git a/CnasSynchronousCommon/ComputeMessage.cs b/CnasSynchronousCommon/ComputeMessage.cs
index c4fd7a8..5521e4c 100644
--- a/CnasSynchronousCommon/ComputeMessage.cs
+++ b/CnasSynchronousCommon/ComputeMessage.cs
@@ -126,8 +126,6 @@ namespace CnasSynchronousCommon
macs.Add(ni.GetPhysicalAddress().ToString());
}
return macs;
- }
-
-
+ }
}
}
diff --git a/CnasSynchronousCommon/ReturnJsonResult.cs b/CnasSynchronousCommon/ReturnJsonResult.cs
new file mode 100644
index 0000000..7213c61
--- /dev/null
+++ b/CnasSynchronousCommon/ReturnJsonResult.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchronousCommon
+{
+ public class ReturnJsonResult
+ {
+ public static JsonResult GetJsonResult(int code, string msg, T data)
+ {
+ JsonResult jsonResult = new JsonResult();
+ jsonResult.code = code;
+ jsonResult.msg = msg;
+ jsonResult.data = data;
+ return jsonResult;
+ }
+ }
+
+ ///
+ /// 定义统计返回json格式数据
+ ///
+ ///
+ public class JsonResult
+ {
+ ///
+ /// 编码
+ ///
+ public int code { get; set; }
+
+ ///
+ /// 信息
+ ///
+ public string msg { get; set; }
+
+ ///
+ ///数据
+ ///
+ public T data { get; set; }
+ }
+
+ ///
+ /// 定义统计返回json格式数据
+ ///
+ ///
+ public class JsonSend
+ {
+ ///
+ /// 编码
+ ///
+ public int code { get; set; }
+
+ ///
+ /// 信息
+ ///
+ public string msg { get; set; }
+
+ ///
+ ///数据
+ ///
+ public T data { get; set; }
+ }
+}
diff --git a/CnasSynchronousCommon/ReturnValue.cs b/CnasSynchronousCommon/ReturnValue.cs
index 9b3af6f..ff6d2aa 100644
--- a/CnasSynchronousCommon/ReturnValue.cs
+++ b/CnasSynchronousCommon/ReturnValue.cs
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
+using System.Data;
using System.Linq;
using System.Text;
-using System.Data;
namespace CnasSynchronousCommon
{
diff --git a/CnasSynchronousCommon/TransConvert.cs b/CnasSynchronousCommon/TransConvert.cs
index d8393f4..9989f18 100644
--- a/CnasSynchronousCommon/TransConvert.cs
+++ b/CnasSynchronousCommon/TransConvert.cs
@@ -1,9 +1,14 @@
using Newtonsoft.Json;
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Data;
+using System.IO;
using System.Linq;
using System.Text;
+using System.Web.Script.Serialization;
+using System.Xml;
+using System.Xml.Serialization;
namespace CnasSynchronousCommon
{
@@ -14,28 +19,64 @@ namespace CnasSynchronousCommon
///
///
///
+ // public static string DataTableToJSON(DataTable dt)
+ //{
+ // StringBuilder jsonBuilder = new StringBuilder();
+ // jsonBuilder.Append("[");
+ // for (int i = 0; i
/// List转Json
@@ -55,6 +96,6 @@ namespace CnasSynchronousCommon
public static List StringToList(string strList)
{
return JsonConvert.DeserializeObject>(strList);
- }
+ }
}
}
diff --git a/CnasSynchronusClient/App.config b/CnasSynchronusClient/App.config
index 3a6488b..150af98 100644
--- a/CnasSynchronusClient/App.config
+++ b/CnasSynchronusClient/App.config
@@ -1,19 +1,19 @@
-
+
-
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/CnasSynchronusClient/CnasInsertOperation.cs b/CnasSynchronusClient/CnasInsertOperation.cs
index 53d4e0d..450e6e1 100644
--- a/CnasSynchronusClient/CnasInsertOperation.cs
+++ b/CnasSynchronusClient/CnasInsertOperation.cs
@@ -136,7 +136,7 @@ namespace CnasSynchronusClient
///
///
///
- private void FixConditonParamsInsertOperation(DataTable dtReadySource,DataTable dtTarget,DataRow drSource,DataRow drNewTarget)
+ public void FixConditonParamsInsertOperation(DataTable dtReadySource,DataTable dtTarget,DataRow drSource,DataRow drNewTarget)
{
try
{
@@ -158,24 +158,31 @@ namespace CnasSynchronusClient
case MapCondition.SubString:
ChangeSubStringConditonValue(item, drNewTarget);
break;
+ case MapCondition.SubstringStartEnd:
+ ChangeStartEndSubStringConditonValue(item, drNewTarget);
+ break;
case MapCondition.Divided:
- if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db1))
+ double db1, db2;
+ if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db1))
{
- if (double.TryParse(item.Value.ToString(), out double db2))
+ if (double.TryParse(item.Value.ToString(), out db2))
drNewTarget[item.ColumnName] = db1 / db2;
}
break;
case MapCondition.Multiplied:
- if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db3))
+ double db3, db4;
+ if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db3))
{
- if (double.TryParse(item.Value.ToString(), out double db4))
+ if (double.TryParse(item.Value.ToString(), out db4))
drNewTarget[item.ColumnName] = db3 * db4;
}
break;
case MapCondition.DecimalDigits:
- if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db5))
+ double db5;
+ int count;
+ if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db5))
{
- if (int.TryParse(item.Value.ToString(), out int count))
+ if (int.TryParse(item.Value.ToString(), out count))
drNewTarget[item.ColumnName] = Math.Round(db5, count);
}
break;
@@ -192,51 +199,54 @@ namespace CnasSynchronusClient
}
}
-
-
- ///
- /// 尝试将值插入到目标表单的各个行中
- ///
- ///
- private string TestConvertValueToTarget(DataRow drTarget, DataRow drSource, string strTargetColumn, string strSourceColumn, string strDateColumn)
+ private void ChangeStartEndSubStringConditonValue(CnasConditionMapValue item, DataRow drNewTarget)
{
- string strErrorMsg = "";
try
{
- if (strTargetColumn.ToLower() != strDateColumn.ToLower())
- {
- string strTargetColumnType = drTarget.Table.Columns[strTargetColumn].DataType.ToString();
- switch (strTargetColumnType)
- {
- case "System.Decimal":
- if (drSource[strSourceColumn] == null || (drSource[strSourceColumn] != null && drSource[strSourceColumn].ToString() == ""))
- drTarget[strTargetColumn] = 0;
- else
- drTarget[strTargetColumn] = Convert.ToDouble(drSource[strSourceColumn]);
- break;
- default:
- drTarget[strTargetColumn] = drSource[strSourceColumn];
- break;
- }
- }
- else //日期字段需要单独处理
+ if (item.Value != null && item.Value.ToString() != "")
{
- DateTime dt = DateTime.Now;
- if (DateTime.TryParse(drSource[strSourceColumn].ToString(), out dt))
- {
- drTarget[strTargetColumn] = dt.ToString("yyyy-MM-dd HH:mm:ss");
- }
- else
+ string[] strValues = item.Value.ToString().Split(new string[] { "{", ",", "}" }, StringSplitOptions.RemoveEmptyEntries);
+ if (strValues.Length == 2)
{
- drTarget[strTargetColumn] = drSource[strSourceColumn];
+ string[] strConfigValues = strValues[0].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
+
+ if (strValues[1] == "S")
+ {
+ //Regex reg = new Regex($"^[{strValues[0]}]");
+ //if (reg.IsMatch(drNewTarget[item.ColumnName].ToString()))
+ // drNewTarget[item.ColumnName] = drNewTarget[item.ColumnName].ToString().(0, drNewTarget[item.ColumnName].ToString().Length - 1);
+
+ foreach (string strConfigValue in strConfigValues)
+ {
+ if (drNewTarget[item.ColumnName].ToString().StartsWith(strConfigValue))
+ {
+ drNewTarget[item.ColumnName] = drNewTarget[item.ColumnName].ToString().Substring(strConfigValue.Length, drNewTarget[item.ColumnName].ToString().Length - strConfigValue.Length);
+ break;
+ }
+ }
+ }
+ else if (strValues[1] == "E")
+ {
+ //Regex reg = new Regex($"[{strValues[0]}]$");
+ //if (reg.IsMatch(drNewTarget[item.ColumnName].ToString()))
+ // drNewTarget[item.ColumnName] = drNewTarget[item.ColumnName].ToString().Substring(0, drNewTarget[item.ColumnName].ToString().Length-1);
+
+ foreach (string strConfigValue in strConfigValues)
+ {
+ if (drNewTarget[item.ColumnName].ToString().EndsWith(strConfigValue))
+ {
+ drNewTarget[item.ColumnName] = drNewTarget[item.ColumnName].ToString().Substring(0, drNewTarget[item.ColumnName].ToString().Length - strConfigValue.Length);
+ break;
+ }
+ }
+ }
}
}
}
catch (Exception ex)
{
- strErrorMsg = ex.Message;
+ AppLog.Error(ex.Message);
}
- return strErrorMsg;
}
@@ -315,7 +325,7 @@ namespace CnasSynchronusClient
}
private bool SourceDataFilterOperation(DataRow dr)
- {
+ {
//如果过滤器为空或没有任何条件,我们认为用户允许所有数据通过过滤审核
if (syncInstrumentItem.SourceFilter == null) return true;
if (syncInstrumentItem.SourceFilter.lstFilterConditions == null) return true;
@@ -332,12 +342,14 @@ namespace CnasSynchronusClient
if (strConditionValue == null) continue;
if (strConditionValue.StartsWith("RegEx")) //此时使用正则表达式匹配
{
- string[] strRegExs = strConditionValue.Split(new string[] { "RegEx:{", "}" }, StringSplitOptions.RemoveEmptyEntries);
+ string[] strRegExs = strConditionValue.Split(new string[] { "RegEx:" }, StringSplitOptions.RemoveEmptyEntries);
if (strRegExs.Length != 1) continue;
bIsMatch = Regex.IsMatch(dr[item.ColumnName].ToString(), strRegExs[0]);
}
else
{
+ double result;
+ double conditionresult;
switch (item.Algorithm)
{
case "=":
@@ -354,22 +366,22 @@ namespace CnasSynchronusClient
break;
case ">":
if (dr[item.ColumnName] != null)
- if (double.TryParse(dr[item.ColumnName].ToString(), out double result)&& double.TryParse(item.ConditionValue, out double conditionresult))
+ if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult))
bIsMatch = result > conditionresult ? true : false;
break;
case "<":
if (dr[item.ColumnName] != null)
- if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult))
+ if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult))
bIsMatch = result < conditionresult ? true : false;
break;
case ">=":
if (dr[item.ColumnName] != null)
- if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult))
+ if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult))
bIsMatch = result >= conditionresult ? true : false;
break;
case "<=":
if (dr[item.ColumnName] != null)
- if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult))
+ if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult))
bIsMatch = result <= conditionresult ? true : false;
break;
}
@@ -471,7 +483,7 @@ namespace CnasSynchronusClient
{
AppLog.Error(ex.Message);
}
- }
+ }
private void ChangeAddSubtractConditonValue(List lstConditionMaps, CnasConditionMapValue item, DataTable dtReadySource, DataRow drSource, DataRow drNewTarget)
{
@@ -484,6 +496,7 @@ namespace CnasSynchronusClient
{
string strParam1 = strValues[0];
string strParam2 = strValues[2];
+ double db1, db2;
string[] strParam1s = strParam1.Split(new string[] { "[", "]" }, StringSplitOptions.RemoveEmptyEntries);
if (strParam1s.Length >= 1)
@@ -492,9 +505,9 @@ namespace CnasSynchronusClient
if (strParam2s.Length >= 1)
{
if (dtReadySource.Columns.Contains(strParam1s[0]) && dtReadySource.Columns.Contains(strParam2s[0]))
- if (double.TryParse(drSource[strParam1s[0]].ToString(), out double db1))
+ if (double.TryParse(drSource[strParam1s[0]].ToString(), out db1))
{
- if (double.TryParse(drSource[strParam2s[0]].ToString(), out double db2))
+ if (double.TryParse(drSource[strParam2s[0]].ToString(), out db2))
{
if (strParam1s.Length == 3)
db1 = GetDividedMultipliedData(db1, strParam1s[1], strParam1s[2]);
@@ -523,9 +536,10 @@ namespace CnasSynchronusClient
///
///
///
- public double GetDividedMultipliedData(double db1,string strExpresstion,string strValue)
+ public double GetDividedMultipliedData(double db1, string strExpresstion, string strValue)
{
- if (double.TryParse(strValue, out double db2))
+ double db2;
+ if (double.TryParse(strValue, out db2))
{
db1 = strExpresstion == "*" ? db1 * db2 : db1 / db2;
}
@@ -537,7 +551,7 @@ namespace CnasSynchronusClient
///
///
///
- public void CheckInsertDataFormat(DataTable dtTarget,ref string strErrorMsg)
+ public void CheckInsertDataFormat(DataTable dtTarget, ref string strErrorMsg)
{
//检查数据合法性
CnasDataCheck check = new CnasDataCheck
@@ -552,7 +566,7 @@ namespace CnasSynchronusClient
var item = syncInstrumentItem.LstSyncPramas.Where(s => s.TargetField == check.LstIllegalMsg[0].ColumnName).ToList();
if (item.Count == 1)
{
- strErrorMsg=string.Format("数据不满足上传条件,请修改后再上传。错误数据:当前列名【{0}】,列值【{1}】", item[0].SourceField, check.LstIllegalMsg[0].ColumnValue);
+ strErrorMsg = string.Format("数据不满足上传条件,请修改后再上传。错误数据:当前列名【{0}】,列值【{1}】", item[0].SourceField, check.LstIllegalMsg[0].ColumnValue);
}
else
{
@@ -561,5 +575,52 @@ namespace CnasSynchronusClient
return;
}
}
+
+ ///
+ /// 尝试将值插入到目标表单的各个行中
+ ///
+ ///
+ private string TestConvertValueToTarget(DataRow drTarget, DataRow drSource, string strTargetColumn, string strSourceColumn, string strDateColumn)
+ {
+ string strErrorMsg = "";
+ try
+ {
+ if (strTargetColumn.ToLower() != strDateColumn.ToLower())
+ {
+ string strTargetColumnType = drTarget.Table.Columns[strTargetColumn].DataType.ToString();
+ switch (strTargetColumnType)
+ {
+ case "System.Decimal":
+ if (drSource[strSourceColumn] == null || (drSource[strSourceColumn] != null && drSource[strSourceColumn].ToString() == ""))
+ drTarget[strTargetColumn] = 0;
+ else
+ drTarget[strTargetColumn] = Convert.ToDouble(drSource[strSourceColumn]);
+ break;
+ default:
+ drTarget[strTargetColumn] = drSource[strSourceColumn];
+ break;
+ }
+ }
+ else //日期字段需要单独处理
+ {
+ DateTime dt = DateTime.Now;
+ if (DateTime.TryParse(drSource[strSourceColumn].ToString(), out dt))
+ {
+ drTarget[strTargetColumn] = dt.ToString("yyyy-MM-dd HH:mm:ss");
+ }
+ else
+ {
+ drTarget[strTargetColumn] = drSource[strSourceColumn];
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ strErrorMsg = ex.Message;
+ }
+ return strErrorMsg;
+ }
+
+
}
}
diff --git a/CnasSynchronusClient/CnasSynchronusBLL.csproj b/CnasSynchronusClient/CnasSynchronusBLL.csproj
index 419ccba..3a71dc6 100644
--- a/CnasSynchronusClient/CnasSynchronusBLL.csproj
+++ b/CnasSynchronusClient/CnasSynchronusBLL.csproj
@@ -9,11 +9,12 @@
Properties
CnasSynchronusClient
CnasSynchronusClient
- v4.0
+ v4.8
512
true
+
true
@@ -24,6 +25,7 @@
prompt
4
x86
+ false
pdbonly
@@ -32,12 +34,15 @@
TRACE
prompt
4
+ false
+
+
@@ -45,8 +50,8 @@
-
-
+
+
@@ -56,21 +61,23 @@
-
+
-
+
-
-
+
+
+
+
-
+
diff --git a/CnasSynchronusClient/CnasDataOperationFact.cs b/CnasSynchronusClient/Factory/CnasDataOperationFact.cs
similarity index 65%
rename from CnasSynchronusClient/CnasDataOperationFact.cs
rename to CnasSynchronusClient/Factory/CnasDataOperationFact.cs
index 13ef34b..d44005e 100644
--- a/CnasSynchronusClient/CnasDataOperationFact.cs
+++ b/CnasSynchronusClient/Factory/CnasDataOperationFact.cs
@@ -17,7 +17,8 @@ namespace CnasSynchronusClient
public class CnasDataOperationFact
{
//从Config中获取目标数据库的的类型
- private static string strDataType = ConfigurationManager.AppSettings["TargetDBType"].ToString();
+ private static string strStartWebApi = GlobalCommonOperation.strStartWebApi;
+ private static string strDataType = GlobalCommonOperation.strTargetDbType;
//private static string strDataType = "DB2";
public static ICnasDataOperation CnasDataOperation()
@@ -27,7 +28,13 @@ namespace CnasSynchronusClient
switch (strDataType.ToUpper())
{
case "MYSQL":
- operation = new MySQLCNASDataOperation();
+ if (strStartWebApi == "1")
+ operation = new MySQLCNASDataOperationByWeb();
+ else
+ operation = new MySQLCNASDataOperation();
+ break;
+ case "ORACLE":
+ operation = new OracleCnasDataOperation();
break;
case "DB2":
default:
diff --git a/CnasSynchronusClient/InstrumentDataSourceFact.cs b/CnasSynchronusClient/Factory/InstrumentDataSourceFact.cs
similarity index 100%
rename from CnasSynchronusClient/InstrumentDataSourceFact.cs
rename to CnasSynchronusClient/Factory/InstrumentDataSourceFact.cs
diff --git a/CnasSynchronusClient/Local/FileOperation.cs b/CnasSynchronusClient/FileOperation.cs
similarity index 70%
rename from CnasSynchronusClient/Local/FileOperation.cs
rename to CnasSynchronusClient/FileOperation.cs
index 76e5a45..6bd1775 100644
--- a/CnasSynchronusClient/Local/FileOperation.cs
+++ b/CnasSynchronusClient/FileOperation.cs
@@ -10,10 +10,10 @@ namespace CnasSynchronusClient
{
public class FileOperation
{
- private static readonly string strLocalConfigPath = FileHelper.getBasePath() + "/Data/";
- private static readonly string strLocalDocumentPath= FileHelper.getBasePath() + "/Document/";
+ private static readonly string strLocalConfigPath = FileHelper.getBasePath() + @"\Data\";
+ private static readonly string strLocalDocumentPath= FileHelper.getBasePath() + @"\Document\";
private static readonly string strInitalPwd = ConfigurationManager.AppSettings["InitalOperationPwd"].ToString(); //默认初始密码
- private static readonly string strLocalConfigPath_2 = FileHelper.getBasePath() + "/DataConfig/";
+ private static readonly string strLocalConfigPath_2 = FileHelper.getBasePath() + @"\DataConfig\";
///
/// 从本地读取CNAS数据库连接
@@ -25,8 +25,11 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncCnasDataBase.mes");
- string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
- dataBase = FileHelper.DeserializeToObject(strDncryptString);
+ if (strLocalFileString != "")
+ {
+ string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
+ dataBase = FileHelper.DeserializeToObject(strDncryptString);
+ }
}
catch (Exception ex)
{
@@ -66,8 +69,11 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncPlatDataBase.mes");
- string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
- dataBase = FileHelper.DeserializeToObject(strDncryptString);
+ if (strLocalFileString != "")
+ {
+ string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
+ dataBase = FileHelper.DeserializeToObject(strDncryptString);
+ }
}
catch (Exception ex)
{
@@ -107,9 +113,17 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncOperationPwd.mes");
- strPwd = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
- if (strPwd == "")
+ if (strLocalFileString != "")
+ {
+ strPwd = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
+ if (strPwd == "")
+ strPwd = strInitalPwd;
+ }
+ else //如果没有获取到,认为本地没有符合要求的配置文件,则重新构建一个保存起来
+ {
strPwd = strInitalPwd;
+ SaveLocalOperationPwd(strInitalPwd);
+ }
}
catch (Exception ex)
{
@@ -149,8 +163,27 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncInStrumentData.mes");
- string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
- lstSyncInstrument = FileHelper.DeserializeToObject>(strDncryptString);
+ if (strLocalFileString != "")
+ {
+ string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
+ lstSyncInstrument = FileHelper.DeserializeToObject>(strDncryptString);
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return lstSyncInstrument;
+ }
+
+ public static List GetLocalSyncInStrumentData_NoDecrypt()
+ {
+ List lstSyncInstrument = new List();
+ try
+ {
+ string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncInStrumentData.mes");
+ if(strLocalFileString!="")
+ lstSyncInstrument = FileHelper.DeserializeToObject>(strLocalFileString);
}
catch (Exception ex)
{
@@ -190,8 +223,11 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncBalanceData.mes");
- string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
- lstBalanceData = FileHelper.DeserializeToObject>(strDncryptString);
+ if (strLocalFileString != "")
+ {
+ string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ");
+ lstBalanceData = FileHelper.DeserializeToObject>(strDncryptString);
+ }
}
catch (Exception ex)
{
@@ -238,7 +274,8 @@ namespace CnasSynchronusClient
try
{
string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, "SystemFormatConfig.xml");
- systemFormatConfig = FileHelper.DeserializeToObject(strLocalFileString);
+ if(strLocalFileString!="")
+ systemFormatConfig = FileHelper.DeserializeToObject(strLocalFileString);
}
catch (Exception ex)
{
@@ -247,6 +284,22 @@ namespace CnasSynchronusClient
return systemFormatConfig;
}
+ public static bool SaveSystemFormatConfigData(SystemFormatConfig systemFormatConfig)
+ {
+ bool bIfSuccess = false;
+ try
+ {
+ string strString = FileHelper.SerializeToXml(systemFormatConfig);
+
+ bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath_2, "SystemFormatConfig.xml", strString);
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return bIfSuccess;
+ }
+
//public static AutoInstrumentDSView GetAutoInstrumentDSViewData()
//{
// AutoInstrumentDSView autoInstrumentDSView = new AutoInstrumentDSView();
@@ -262,6 +315,12 @@ namespace CnasSynchronusClient
// return autoInstrumentDSView;
//}
+ ///
+ /// 获取配置文件信息
+ ///
+ ///
+ ///
+ ///
public static T GetFormatConfigData(string strFileName)
{
T t ;
@@ -277,5 +336,20 @@ namespace CnasSynchronusClient
}
return default(T);
}
+
+ public static bool SaveFormatConfigData(T t, string strFileName)
+ {
+ bool bIfSuccess = false;
+ try
+ {
+ string strString = FileHelper.SerializeToXml(t);
+ bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath_2, strFileName, strString);
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return bIfSuccess;
+ }
}
}
diff --git a/CnasSynchronusClient/GlobalCommonOperation.cs b/CnasSynchronusClient/GlobalCommonOperation.cs
index df4e9ba..5a1acb4 100644
--- a/CnasSynchronusClient/GlobalCommonOperation.cs
+++ b/CnasSynchronusClient/GlobalCommonOperation.cs
@@ -17,6 +17,10 @@ namespace CnasSynchronusClient
{
public static string strUserName = "";
public static string strLoginName = "";
+ public static string strStartWebApi = "";
+ public static string strStartGeneralVersion = "";
+ public static string strWebApiUrl = "";
+ public static string strTargetDbType = "MYSQL";
///
/// 定义的一些静态全局参数,后面将改成配置参数存储
///
@@ -196,6 +200,11 @@ namespace CnasSynchronusClient
return lstparams;
}
+ ///
+ /// datarow转换成datatable
+ ///
+ ///
+ ///
public static DataTable ConvertDataRowToTable(DataRow dr)
{
DataTable dt = dr.Table.Clone();
@@ -206,6 +215,12 @@ namespace CnasSynchronusClient
}
+ ///
+ /// 对象的复制方法
+ ///
+ ///
+ ///
+ ///
public static T Clone(T RealObject)
{
using (Stream objectStream = new MemoryStream())
diff --git a/CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs b/CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs
index c0f211e..8fbbbe4 100644
--- a/CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/AccessInstrumentData.cs
@@ -60,6 +60,14 @@ namespace CnasSynchronusClient
LstFileFullName.Add(StrLocalPath);
LstFileName.Add(System.Text.RegularExpressions.Regex.Replace(dataSourceInfo.Path, "[ \\[ \\] \\^ \\-_*×――(^)|'$%~!@#$…&%¥—+=<>《》!!???::•`·、。,;,.;\"‘’“”-]", "").Replace(@"\", ""));
+ AppLog.Error("打印日志 " + this.strTableName);
+ AppLog.Error("打印日志 " + this.strDateColumn);
+ AppLog.Error("打印日志 " + this.strDate);
+ AppLog.Error("打印日志 " + this.StrPwd);
+ AppLog.Error("打印日志 " + this.StrUser);
+ AppLog.Error("打印日志 " + this.StrLocalPath);
+ AppLog.Error("打印日志 " + FileHelper.getBasePath());
+ AppLog.Error("打印日志 " + dataSourceInfo.Path);
}
else
{
@@ -124,16 +132,16 @@ namespace CnasSynchronusClient
{
dictReturn.Add(item.Key, item.Value);
}
- else //如果已经存在相同名字的表单,则合并数据
- {
- DataTable dtCompine = item.Value.Clone();
- foreach (DataRow drs in item.Value.Rows)
- {
- DataRow drNew = dictReturn[item.Key].NewRow();
- drNew.ItemArray = drs.ItemArray;
- dictReturn[item.Key].Rows.Add(drNew);
- }
- }
+ //else //如果已经存在相同名字的表单,则合并数据
+ //{
+ // DataTable dtCompine = item.Value.Clone();
+ // foreach (DataRow drs in item.Value.Rows)
+ // {
+ // DataRow drNew = dictReturn[item.Key].NewRow();
+ // drNew.ItemArray = drs.ItemArray;
+ // dictReturn[item.Key].Rows.Add(drNew);
+ // }
+ //}
}
}
}
@@ -147,59 +155,6 @@ namespace CnasSynchronusClient
public override DataTable GetInstrumentDataByDate()
{
- ///*获取数据源数据*/
- //DataTable dt = accessDatabaseService.GetInstrumentDataByDate(
- // new AccessOpenParams
- // {
- // StrPath = StrLocalPath,
- // StrUser = StrUser,
- // StrPwd = StrPwd,
- // AccessVersionInfo = AccessFormat.AccessFileVersion,
- // AccessSpecialDateFormat = AccessFormat.AccessFileDateColumnFormat,
- // autoSql = AccessFormat.AutoSql
- // },
- // new ConditionParams
- // {
- // TableName = strTableName,
- // DateColumn = strDateColumn,
- // DateValue = strDate
- // }
- // );
- ///*如果日期关键字段格式不合法,将不无法使用,此时需要将其转换为可识别的格式*/
- //DataTable dtReturn = new DataTable();
- //try
- //{
- // if (AccessFormat.AccessFileDateColumnFormat != "")
- // {
- // dtReturn = dt.Clone();
- // foreach (DataRow dr in dt.Rows)
- // {
- // DataRow drNew = dtReturn.NewRow();
- // foreach (DataColumn dc in dtReturn.Columns)
- // {
- // if (dc.ColumnName.Trim().ToLower() == strDateColumn.Trim().ToLower())
- // {
- // DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), AccessFormat.AccessFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
- // drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
- // }
- // else
- // {
- // drNew[dc.ColumnName] = dr[dc.ColumnName];
- // }
- // }
- // dtReturn.Rows.Add(drNew);
- // }
- // }
- // else
- // dtReturn = dt;
- //}
- //catch (Exception ex)
- //{
- // AppLog.Error(ex.Message);
- //}
- //return dtReturn;
-
-
DataTable dtCompine = new DataTable();
List dataTables = new List();
for (int i = 0; i < LstFileFullName.Count; i++)
@@ -226,41 +181,54 @@ namespace CnasSynchronusClient
}
if (dataTables.Count > 0)
{
- dtCompine = dataTables[0].Clone();
- try
+ if (dataTables.Count == 1) //如果只有一个表,不需要再重复循环一次了
+ dtCompine = dataTables[0];
+ else
{
- foreach (DataTable dt1 in dataTables)
+ dtCompine = dataTables[0].Clone();
+ try
{
- foreach (DataRow dr in dt1.Rows)
+ foreach (DataTable dt1 in dataTables)
{
- DataRow drNew = dtCompine.NewRow();
- foreach (DataColumn dc in dtCompine.Columns)
+ foreach (DataRow dr in dt1.Rows)
{
- if (dc.ColumnName.Trim().ToLower() == strDateColumn.Trim().ToLower())
- {
- DateTime dt = DateTime.Now;
- if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
- {
- drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
- }
- else
- {
- DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), AccessFormat.AccessFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
- }
- }
- else
+ DataRow drNew = dtCompine.NewRow();
+ foreach (DataColumn dc in dtCompine.Columns)
{
+ //if (dc.ColumnName.Trim().ToLower() == strDateColumn.Trim().ToLower())
+ //{
+ // DateTime dt = DateTime.Now;
+ // //AppLog.Info("4-" + dr[dc.ColumnName].ToString());
+ // if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
+ // {
+ // drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
+ // }
+ // else
+ // {
+ // //AppLog.Info("5-" + AccessFormat.AccessFileDateColumnFormat);
+ // DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), AccessFormat.AccessFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ // if (dtTime.ToString("HH:mm:ss") == "00:00:00")
+ // drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ // else
+ // drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ // }
+ //}
+ //else
+ //{
+ // drNew[dc.ColumnName] = dr[dc.ColumnName];
+ //}
+
drNew[dc.ColumnName] = dr[dc.ColumnName];
}
+ dtCompine.Rows.Add(drNew);
}
- dtCompine.Rows.Add(drNew);
}
}
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ }
}
return dtCompine;
}
diff --git a/CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs b/CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs
index ced68b9..b28dd70 100644
--- a/CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs
@@ -49,7 +49,7 @@ namespace CnasSynchronusClient
RemoteFileCopy remoteFileCopy = new RemoteFileCopy(dataSourceInfo);
remoteFileCopy.CopyFileFromRemote(".xls", strFileName + ".xls");
- this.StrLocalPath = FileHelper.getBasePath() + "\\Cache\\" + System.Text.RegularExpressions.Regex.Replace(dataSourceInfo.Path, "[ \\[ \\] \\^ \\-_*×――(^)|'$%~!@#$…&%¥—+=<>《》!!???::•`·、。,;,.;\"‘’“”-]", "").Replace(@"\", "") + ".xls";
+ this.StrLocalPath = FileHelper.getBasePath() + "\\Cache\\" + System.Text.RegularExpressions.Regex.Replace(dataSourceInfo.Path+ strFileName + ".xls", "[ \\[ \\] \\^ \\-_*×――(^)|'$%~!@#$…&%¥—+=<>《》!!???::•`·、。,;,.;\"‘’“”-]", "").Replace(@"\", "") + ".xls";
this.strTableName = $"'{strFileName}$'";
this.strDateColumn = vs[1].ToString();
this.strDate = vs[2].ToString();
@@ -64,6 +64,9 @@ namespace CnasSynchronusClient
public override Dictionary GetInstrumentData()
{
+ if (StrLocalPath == null || ExcelFormat == null || ExcelFormat == null)
+ return new Dictionary();
+
return dataBaseService.GetInstrumentData(
new ExcelOpenParams
{
diff --git a/CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs b/CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs
index 2be7d24..be27bd7 100644
--- a/CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/FoxProInstrumentData.cs
@@ -175,8 +175,19 @@ namespace CnasSynchronusClient
{
if (dc.ColumnName.Trim().ToLower() == strDateColumn.Trim().ToLower())
{
- DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), FoxProFormat.FoxProFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
- drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ DateTime dt = DateTime.Now;
+ if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
+ {
+ drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
+ }
+ else
+ {
+ DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString().Trim(), FoxProFormat.FoxProFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ if (dtTime.ToString("HH:mm:ss") == "00:00:00")
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ else
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ }
}
else
{
diff --git a/CnasSynchronusClient/InsturmentData/InstrumentData.cs b/CnasSynchronusClient/InsturmentData/InstrumentData.cs
index 416d9ec..e01be49 100644
--- a/CnasSynchronusClient/InsturmentData/InstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/InstrumentData.cs
@@ -9,7 +9,7 @@ namespace CnasSynchronusClient
public abstract class InstrumentData
{
///
- /// 获取数据源数据
+ /// 获取所有数据源的表和表结构
///
public abstract Dictionary GetInstrumentData();
diff --git a/CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs b/CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs
index cade7b5..7000a84 100644
--- a/CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/OracleInstrumentData.cs
@@ -99,7 +99,7 @@ namespace CnasSynchronusClient
public override DataTable GetInstrumentDataStruct()
{
- return oracleDataBaseService.GetInstrumentDataByDate(
+ return oracleDataBaseService.GetInstrumentDataStruct(
new OracleOpenParams
{
StrHost = StrHost,
diff --git a/CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs b/CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs
index 3e91f85..e229887 100644
--- a/CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/SQLiteInstrumentData.cs
@@ -166,8 +166,19 @@ namespace CnasSynchronusClient
{
if (dc.ColumnName.Trim().ToLower() == strDateColumn.Trim().ToLower())
{
- DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), SqliteFormat.SqliteFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
- drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ DateTime dt = DateTime.Now;
+ if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
+ {
+ drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
+ }
+ else
+ {
+ DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), SqliteFormat.SqliteFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ if (dtTime.ToString("HH:mm:ss") == "00:00:00")
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ else
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ }
}
else
{
diff --git a/CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs b/CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs
index 97de9f4..86a84bb 100644
--- a/CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs
+++ b/CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs
@@ -66,7 +66,7 @@ namespace CnasSynchronusClient
string name = f.Name;
string fullName = f.FullName;
string type = f.Extension;
- if (type.ToLower() == strSuffix.ToLower() && name.StartsWith(DateTime.Now.ToString("yyMMdd"))) //“今天”产生的数据,并且格式是txt
+ if (type.ToLower() == strSuffix.ToLower() && name.StartsWith(DateTime.Now.ToString(normalFileFormat.NormalFileNameFormat))) //“今天”产生的数据,并且格式是txt
{
RemoteFileCopy remoteFileCopy = new RemoteFileCopy(dataSourceInfo);
remoteFileCopy.CopyFileFromRemote(strSuffix, $"{name}");
@@ -91,7 +91,17 @@ namespace CnasSynchronusClient
List dataTables = new List();
foreach (var item in LstFileFullName)
{
- DataTable dt = txtDatabaseService.GetInstrumentData(new TXTOpenParams { StrPath = item, TxtFileMode = normalFileFormat.NormalFileDataMode })["txt"];
+ DataTable dt = txtDatabaseService.GetInstrumentData(
+ new TXTOpenParams
+ {
+ StrPath = item,
+ TxtFileMode = normalFileFormat.NormalFileDataMode,
+ SplitType = normalFileFormat.NormalFileSplitType,
+ StartLineIndex = ChangeStringToInt(normalFileFormat.NormalFileStartLineIndex),
+ Suffix = normalFileFormat.NormalFileSuffix,
+ FileNameFormat = normalFileFormat.NormalFileNameFormat,
+ IfCustomCreateDateColumn = normalFileFormat.IfCustomCreateDateColumn == "0" ? true : false
+ })["txt"];
dataTables.Add(dt);
}
@@ -110,7 +120,7 @@ namespace CnasSynchronusClient
}
}
}
- return new Dictionary() { { "txt", dtCompine } };
+ return new Dictionary() { { "TXT", dtCompine } };
}
public override DataTable GetInstrumentDataByDate()
@@ -127,7 +137,12 @@ namespace CnasSynchronusClient
new TXTOpenParams
{
StrPath = item,
- TxtFileMode = normalFileFormat.NormalFileDataMode
+ TxtFileMode = normalFileFormat.NormalFileDataMode,
+ SplitType = normalFileFormat.NormalFileSplitType,
+ StartLineIndex = ChangeStringToInt(normalFileFormat.NormalFileStartLineIndex),
+ Suffix = normalFileFormat.NormalFileSuffix,
+ FileNameFormat = normalFileFormat.NormalFileNameFormat,
+ IfCustomCreateDateColumn = normalFileFormat.IfCustomCreateDateColumn == "0" ? true : false
},
new ConditionParams
{
@@ -150,11 +165,19 @@ namespace CnasSynchronusClient
{
if (dc.ColumnName.ToString().ToLower() == strDateColumn.ToLower())
{
- DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), normalFileFormat.NormalFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
- if(dtTime.ToString("HH:mm:ss")=="00:00:00")
- drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ DateTime dt = DateTime.Now;
+ if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
+ {
+ drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
+ }
else
- drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ {
+ DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), normalFileFormat.NormalFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ if (dtTime.ToString("HH:mm:ss") == "00:00:00")
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ else
+ drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ }
}
else
{
@@ -181,7 +204,17 @@ namespace CnasSynchronusClient
List dataTables = new List();
foreach (var item in LstFileFullName)
{
- DataTable dt = txtDatabaseService.GetInstrumentData(new TXTOpenParams { StrPath = item, TxtFileMode = normalFileFormat.NormalFileDataMode })["txt"];
+ DataTable dt = txtDatabaseService.GetInstrumentData(
+ new TXTOpenParams
+ {
+ StrPath = item,
+ TxtFileMode = normalFileFormat.NormalFileDataMode,
+ SplitType = normalFileFormat.NormalFileSplitType,
+ StartLineIndex = ChangeStringToInt(normalFileFormat.NormalFileStartLineIndex),
+ Suffix=normalFileFormat.NormalFileSuffix,
+ FileNameFormat=normalFileFormat.NormalFileNameFormat,
+ IfCustomCreateDateColumn = normalFileFormat.IfCustomCreateDateColumn == "0" ? true : false
+ })["TXT"];
dataTables.Add(dt);
}
@@ -209,5 +242,12 @@ namespace CnasSynchronusClient
}
return dtCompine;
}
+
+ private int ChangeStringToInt(string strValue)
+ {
+ int value = 0;
+ Int32.TryParse(strValue, out value);
+ return value;
+ }
}
}
diff --git a/CnasSynchronusClient/RemoteFileCopy.cs b/CnasSynchronusClient/RemoteFileCopy.cs
index 09ec5ea..51ae020 100644
--- a/CnasSynchronusClient/RemoteFileCopy.cs
+++ b/CnasSynchronusClient/RemoteFileCopy.cs
@@ -31,9 +31,15 @@ namespace CnasSynchronusClient
string[] strRemoteHostMsgs=SyncInstrumentDSInfo.Path.Split(new char[1] { '\\'}, StringSplitOptions.RemoveEmptyEntries);
if (strRemoteHostMsgs.Length > 0)
{
+ AppLog.Error("CopyFileFromRemote打印日志 "+ SyncInstrumentDSInfo.DsPathType);
+ AppLog.Error("CopyFileFromRemote打印日志 " + PathType.Remote);
+ AppLog.Error("CopyFileFromRemote打印日志 " + SyncInstrumentDSInfo.RemoteUser);
+ AppLog.Error("CopyFileFromRemote打印日志 " + SyncInstrumentDSInfo.RemoteUser);
+ AppLog.Error("CopyFileFromRemote打印日志 " + strRemoteHostMsgs[0]);
//执行net user,否则没有权限
if (SyncInstrumentDSInfo.DsPathType == PathType.Remote)
- Connect(@"\\"+strRemoteHostMsgs[0], SyncInstrumentDSInfo.RemoteUser, SyncInstrumentDSInfo.RemotePwd);
+ Connect(@"\\"+strRemoteHostMsgs[0], SyncInstrumentDSInfo.RemoteUser, SyncInstrumentDSInfo.RemoteUser);
+ AppLog.Error("CopyFileFromRemote打印日志 " + PathType.Remote);
//执行复制
string strPath = SyncInstrumentDSInfo.Path;
string strCatchPath = FileHelper.getBasePath() + "\\Cache\\";
@@ -141,6 +147,9 @@ namespace CnasSynchronusClient
/// 保存文件的名称以及扩展名
public static void Transport(string src, string dst, string fileName)
{
+ AppLog.Error("CopyFileFromRemote src 打印日志 " + src);
+ AppLog.Error("CopyFileFromRemote dst 打印日志 " + dst);
+ AppLog.Error("CopyFileFromRemote fileName 打印日志 " + fileName);
try
{
FileStream inFileStream = new FileStream(src, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
@@ -149,6 +158,7 @@ namespace CnasSynchronusClient
Directory.CreateDirectory(dst);
}
dst = dst + fileName;
+ AppLog.Error("CopyFileFromRemote dst 打印日志 " + dst);
FileStream outFileStream = new FileStream(dst, FileMode.OpenOrCreate);
byte[] buf = new byte[inFileStream.Length];
int byteCount;
@@ -165,7 +175,7 @@ namespace CnasSynchronusClient
{
AppLog.Error(ex.Message);
}
- }
+ }
}
}
diff --git a/CnasSynchronusClient/SendDataOperation.cs b/CnasSynchronusClient/SendDataOperation.cs
new file mode 100644
index 0000000..5d931ac
--- /dev/null
+++ b/CnasSynchronusClient/SendDataOperation.cs
@@ -0,0 +1,82 @@
+using CnasSynchronousCommon;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Web.Script.Serialization;
+
+namespace CnasSynchronusClient
+{
+ ///
+ /// 发送到API的相关操作类
+ ///
+ public class SendDataOperation
+ {
+ public string Url { get; set; }
+
+ public string Route { get; set; }
+
+ public string SendMethod { get; set; }
+
+ public string RequestData { get; set; }
+
+ public object SendContent{ get; set; }
+
+ public bool IfSuccess { get; set; }
+
+ public string ErrorMessage { get; set; }
+
+ public void SendData()
+ {
+ try
+ {
+ string jsonData = new JavaScriptSerializer().Serialize(SendContent);
+ byte[] byteArray = Encoding.UTF8.GetBytes(jsonData);
+
+ //3.创建请求对象,并设置相关的属性;
+ WebRequest webRequest = WebRequest.Create(Url + Route);
+ webRequest.Method = SendMethod;
+ webRequest.ContentType = "application/json";
+ webRequest.ContentLength = byteArray.Length;
+
+ //4.获取字节流对象,并向流中写入数据(请求对象和流对象关联)
+ Stream byteStream = webRequest.GetRequestStream();
+ byteStream.Write(byteArray, 0, byteArray.Length);
+ byteStream.Close();
+
+ //5.创建响应对象
+ WebResponse webResponse = webRequest.GetResponse();
+
+ //6.响应对应转换成http请求响应
+ var httpWebResponse = (HttpWebResponse)webResponse;
+
+ //7.如果请求成功,则读取所有数据
+ if (httpWebResponse.StatusCode == HttpStatusCode.OK)
+ {
+ //7.1 获取返回的数据流
+ byteStream = webResponse.GetResponseStream();
+
+ //7.2 根据返回的数据流创建读取器
+ StreamReader reader = new StreamReader(byteStream, Encoding.UTF8);
+
+ //7.3 读取所有数据
+ RequestData = reader.ReadToEnd();
+
+ IfSuccess = true;
+ }
+ else
+ {
+ IfSuccess = false;
+ ErrorMessage = "未能成功发送请求";
+ }
+ }
+ catch (Exception ex)
+ {
+ IfSuccess = false;
+ ErrorMessage = ex.Message;
+ }
+ }
+ }
+}
diff --git a/CnasSynchronusClient/CnasData/DB2CNASDataOperation.cs b/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs
similarity index 82%
rename from CnasSynchronusClient/CnasData/DB2CNASDataOperation.cs
rename to CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs
index c8cf6b1..8a7a8b6 100644
--- a/CnasSynchronusClient/CnasData/DB2CNASDataOperation.cs
+++ b/CnasSynchronusClient/TargetCnasData/DB2CNASDataOperation.cs
@@ -21,6 +21,12 @@ namespace CnasSynchronusClient
return new Db2DBService();
}
}
+
+ public bool CheckLoginNameAndPwd(DataBaseInfo dataBase, string strUserName, string strPwd)
+ {
+ throw new NotImplementedException();
+ }
+
///
/// 验证MAC
///
@@ -57,14 +63,19 @@ namespace CnasSynchronusClient
return db2DataBaseService.GetMaxTimeByTableName(dataBase, strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
}
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ throw new NotImplementedException();
+ }
+
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInsturmentColumn, List lstFixedValue)
{
return db2DataBaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInsturmentColumn, lstFixedValue);
}
- public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort)
+ public bool TestConnect(DataBaseInfo dataBase)
{
- return db2DataBaseService.TestConnect(strHost, strName, strUser, strPwd, strPort);
+ return db2DataBaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
}
}
}
diff --git a/CnasSynchronusClient/CnasData/ICnasDataOperation.cs b/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs
similarity index 82%
rename from CnasSynchronusClient/CnasData/ICnasDataOperation.cs
rename to CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs
index 40a1b49..acae361 100644
--- a/CnasSynchronusClient/CnasData/ICnasDataOperation.cs
+++ b/CnasSynchronusClient/TargetCnasData/ICnasDataOperation.cs
@@ -1,4 +1,6 @@
-using CnasSynchrousModel;
+using CnasSynchronousCommon;
+using CnasSynchronusDAL;
+using CnasSynchrousModel;
using System;
using System.Collections.Generic;
using System.Data;
@@ -13,7 +15,7 @@ namespace CnasSynchronusClient
public interface ICnasDataOperation
{
//测试连接
- bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort);
+ bool TestConnect(DataBaseInfo dataBase);
//获取所有表名称
DataTable GetAllCNASTablesName(DataBaseInfo dataBase);
@@ -52,6 +54,14 @@ namespace CnasSynchronusClient
///
///
bool CheckMacMessage(DataBaseInfo dataBase, string strMac);
+
+ ///
+ /// 获取某个表的数据
+ ///
+ ///
+ ///
+ ///
+ DataTable GetTableData(DataBaseInfo dataBase, string strSql);
}
diff --git a/CnasSynchronusClient/CnasData/MySQLCNASDataOperation.cs b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs
similarity index 74%
rename from CnasSynchronusClient/CnasData/MySQLCNASDataOperation.cs
rename to CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs
index 65c872b..af2fd6c 100644
--- a/CnasSynchronusClient/CnasData/MySQLCNASDataOperation.cs
+++ b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperation.cs
@@ -1,4 +1,5 @@
-using CnasSynchronusDAL;
+using CnasSynchronousCommon;
+using CnasSynchronusDAL;
using CnasSynchronusIDAL;
using CnasSynchrousModel;
using System;
@@ -14,6 +15,7 @@ namespace CnasSynchronusClient
///
public class MySQLCNASDataOperation : ICnasDataOperation
{
+
public IMySqlDBService mysqlDataBaseService
{
get
@@ -21,6 +23,7 @@ namespace CnasSynchronusClient
return new MySqlDBService();
}
}
+
///
/// 验证MAC
///
@@ -66,5 +69,31 @@ namespace CnasSynchronusClient
{
return mysqlDataBaseService.TestConnect(strHost, strName, strUser, strPwd, strPort);
}
+
+ public bool TestConnect(DataBaseInfo dataBase)
+ {
+ return mysqlDataBaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ }
+
+
+ ///
+ /// 获取某个表的数据
+ ///
+ ///
+ ///
+ ///
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ DataTable dt = new DataTable();
+ try
+ {
+ dt = mysqlDataBaseService.GetTableData(dataBase, strSql);
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
}
}
diff --git a/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs
new file mode 100644
index 0000000..b6562d6
--- /dev/null
+++ b/CnasSynchronusClient/TargetCnasData/MySQLCNASDataOperationByWeb.cs
@@ -0,0 +1,330 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Web.Script.Serialization;
+using CnasSynchronousCommon;
+using CnasSynchrousModel;
+
+namespace CnasSynchronusClient
+{
+ public class MySQLCNASDataOperationByWeb : ICnasDataOperation
+ {
+ public SendDataOperation SendDataToWeb { get; set; }
+
+ private readonly string URL=GlobalCommonOperation.strWebApiUrl;
+
+ public bool CheckMacMessage(DataBaseInfo dataBase, string strMac)
+ {
+ bool bReturn = false;
+ //组织数据
+ SendDataToWeb = new SendDataOperation {
+ Url = URL,
+ Route = "/CnasSync/CheckMacMessage",
+ SendMethod = "post",
+ SendContent = new ComputeMessageParam {
+ DbType=dataBase.DataBaseCode,
+ MacMessage=strMac
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData= new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ bReturn = RequestData.data;
+ }
+ }
+ return bReturn;
+ }
+
+ public DataTable GetAllCNASTablesName(DataBaseInfo dataBase)
+ {
+ DataTable dt = new DataTable();
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/GetAllTableNameByServerName",
+ SendMethod = "post",
+ SendContent = new ApiBaseParam
+ {
+ DbType=dataBase.DataBaseCode
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ dt =TransConvert.XMLToDataTable(RequestData.data);
+ }
+ }
+ return dt;
+ }
+
+ public DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase)
+ {
+ DataTable dt = new DataTable();
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/GetTableStructByTableName",
+ SendMethod = "post",
+ SendContent = new TableMessageParam
+ {
+ DbType = dataBase.DataBaseCode,
+ Condition=new ConditionParams {
+ TableName=strTableName
+ }
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ dt = TransConvert.XMLToDataTable(RequestData.data);
+ }
+ }
+ return dt;
+ }
+
+ public DataTable GetCNASTableTypeLenth(string strTableName, DataBaseInfo dataBase)
+ {
+ DataTable dt = new DataTable();
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/GetCNASTableTypeLength",
+ SendMethod = "post",
+ SendContent = new TableMessageParam
+ {
+ DbType = dataBase.DataBaseCode,
+ Condition = new ConditionParams
+ {
+ TableName = strTableName
+ }
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ dt = TransConvert.XMLToDataTable(RequestData.data);
+ }
+ }
+ return dt;
+ }
+
+
+ public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
+ {
+ string strReturnValue = "";
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/GetMaxTimeByTableName",
+ SendMethod = "post",
+ SendContent = new TableMessageParam
+ {
+ DbType = dataBase.DataBaseCode,
+ Condition = new ConditionParams
+ {
+ TableName = strTableName,
+ DateColumn=strDateColumn,
+ ExColumnName=strInstrumentColumn,
+ ExColumnValue=strInstrumentValue
+ }
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ strReturnValue = RequestData.data;
+ }
+ }
+ return strReturnValue;
+ }
+
+ public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInstrumentColumn, List lstFixedValue = null)
+ {
+ int ReturnValue = 0;
+ //获取发送数据
+ if (dt.Rows.Count <= 0) return 0;
+ if (syncParamasInfos.Count <= 0) return 0;
+ //获取唯一健组(关键字段)
+ var query = from p in syncParamasInfos
+ where p.IfPrimaryKey == true
+ select new
+ {
+ p.TargetField
+ };
+ List lstKeyColumns = new List();
+ foreach (var item in query)
+ {
+ lstKeyColumns.Add(item.TargetField);
+ }
+
+ //构建SQL语句
+ string strSql_part1 = "";
+ string strSql_part2 = "";
+ List lstColumnName = new List();
+ foreach (var item in syncParamasInfos)
+ {
+ if (!lstColumnName.Contains(item.TargetField.ToLower()))
+ {
+ strSql_part1 += item.TargetField + ",";
+ strSql_part2 += string.Format("@{0},", item.TargetField.ToLower());
+ lstColumnName.Add(item.TargetField.ToLower());
+ }
+ }
+
+ //如果映射列中不包含固定列,则需要将这些列添加到SQL语句中
+ if (lstFixedValue != null)
+ {
+ foreach (var cnasfield in lstFixedValue)
+ {
+ if (cnasfield.TableName != syncParamasInfos[0].TargetTable) continue;
+ if (!lstColumnName.Contains(cnasfield.ColumnName.ToLower()))
+ {
+ strSql_part1 += cnasfield.ColumnName + ",";
+ strSql_part2 += string.Format("@{0},", cnasfield.ColumnName.ToLower());
+
+ lstColumnName.Add(cnasfield.ColumnName.ToLower());
+ }
+ }
+ }
+ //增加仪器编号数据
+ if (!string.IsNullOrWhiteSpace(strInstrumentColumn) && !lstColumnName.Contains(strInstrumentColumn.ToLower()))
+ {
+ strSql_part1 += strInstrumentColumn + ",";
+ strSql_part2 += string.Format("@{0},", strInstrumentColumn);
+
+ lstColumnName.Add(strInstrumentColumn.ToLower());
+ }
+
+ //组织发送数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/InsertDataToCNASTable",
+ SendMethod = "post",
+ SendContent = new InsertValueMessageParam
+ {
+ DbType = dataBase.DataBaseCode,
+ Data = TransConvert.DataTableToXML(dt),
+ TableName= syncParamasInfos[0].TargetTable,
+ ColumnNames=lstColumnName,
+ KeyColumnNames=lstKeyColumns
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ ReturnValue = RequestData.data;
+ }
+ }
+ return ReturnValue;
+ }
+
+
+ public bool TestConnect(DataBaseInfo dataBase)
+ {
+ bool bReturn = false;
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/CheckDatabaseLink",
+ SendMethod = "post",
+ SendContent = new ApiBaseParam {
+ DbType=dataBase.DataBaseCode
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ bReturn = RequestData.data;
+ }
+ }
+ return bReturn;
+ }
+
+ public DataTable GetLoginNameByPwd(DataBaseInfo dataBase, string strUserName, string strPwd)
+ {
+ DataTable dt=new DataTable();
+ //组织数据
+ SendDataToWeb = new SendDataOperation
+ {
+ Url = URL,
+ Route = "/CnasSync/GetLoginMessage",
+ SendMethod = "post",
+ SendContent = new LoginMessageParam
+ {
+ DbType = dataBase.DataBaseCode,
+ LoginName = strUserName,
+ LoginPwd = strPwd
+ }
+ };
+ //发送数据并接收
+ SendDataToWeb.SendData();
+
+ //处理接收数据
+ if (SendDataToWeb.IfSuccess)
+ {
+ JsonResult RequestData = new JavaScriptSerializer().Deserialize>(SendDataToWeb.RequestData);
+ if (RequestData.code > 0)
+ {
+ dt = TransConvert.XMLToDataTable(RequestData.data);
+ }
+ }
+ return dt;
+ }
+
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs b/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs
new file mode 100644
index 0000000..10ace0f
--- /dev/null
+++ b/CnasSynchronusClient/TargetCnasData/OracleCnasDataOperation.cs
@@ -0,0 +1,64 @@
+using System.Collections.Generic;
+using System.Data;
+using CnasSynchronusDAL;
+using CnasSynchronusIDAL;
+using CnasSynchrousModel;
+
+namespace CnasSynchronusClient
+{
+ internal class OracleCnasDataOperation : ICnasDataOperation
+ {
+ public IOracleService oracleDatabaseService
+ {
+ get
+ {
+ return new OracleDBService();
+ }
+ }
+
+ public bool CheckMacMessage(DataBaseInfo dataBase, string strMac)
+ {
+ return oracleDatabaseService.CheckMacMessage(dataBase, strMac);
+ }
+
+ public DataTable GetAllCNASTablesName(DataBaseInfo dataBase)
+ {
+ return oracleDatabaseService.GetAllCNASTablesName(dataBase);
+ }
+
+ public DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase)
+ {
+ return oracleDatabaseService.GetCNASTablesStruct(strTableName, dataBase);
+ }
+
+ public DataTable GetCNASTableTypeLenth(string strTableName, DataBaseInfo dataBase)
+ {
+ return oracleDatabaseService.GetCNASTableTypeLenth(strTableName, dataBase);
+ }
+
+ public DataTable GetLoginNameByPwd(DataBaseInfo dataBase, string strUserName, string strPwd)
+ {
+ return oracleDatabaseService.GetLoginNameByPwd(dataBase, strUserName, strPwd);
+ }
+
+ public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
+ {
+ return oracleDatabaseService.GetMaxTimeByTableName(dataBase, strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
+ }
+
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ throw new System.NotImplementedException();
+ }
+
+ public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInstrumentColumn, List lstFixedValue = null)
+ {
+ return oracleDatabaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInstrumentColumn, lstFixedValue);
+ }
+
+ public bool TestConnect(DataBaseInfo dataBase)
+ {
+ return oracleDatabaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ }
+ }
+}
\ No newline at end of file
diff --git a/CnasSynchronusDAL/App.config b/CnasSynchronusDAL/App.config
index 9680365..40af1b7 100644
--- a/CnasSynchronusDAL/App.config
+++ b/CnasSynchronusDAL/App.config
@@ -1,12 +1,9 @@
-
+
-
+
-
+
@@ -20,19 +17,16 @@
-
+
-
-
+
+
-
-
+
+
@@ -50,4 +44,4 @@
-
\ No newline at end of file
+
diff --git a/CnasSynchronusDAL/BaseReadFileMode.cs b/CnasSynchronusDAL/BaseReadFileMode.cs
index faac4a0..61264ed 100644
--- a/CnasSynchronusDAL/BaseReadFileMode.cs
+++ b/CnasSynchronusDAL/BaseReadFileMode.cs
@@ -12,7 +12,6 @@ namespace CnasSynchronusDAL
///
public class BaseReadFileMode
{
-
#region 得到文本的编码格式,避免因解析问题造成的乱码
public static System.Text.Encoding GetType(string FILE_NAME)
diff --git a/CnasSynchronusDAL/CnasSynchronusDAL.csproj b/CnasSynchronusDAL/CnasSynchronusDAL.csproj
index 2eaafdd..4431eb2 100644
--- a/CnasSynchronusDAL/CnasSynchronusDAL.csproj
+++ b/CnasSynchronusDAL/CnasSynchronusDAL.csproj
@@ -9,7 +9,7 @@
Properties
CnasSynchronusDAL
CnasSynchronusDAL
- v4.0
+ v4.8
512
true
@@ -25,6 +25,7 @@
prompt
4
x86
+ false
pdbonly
@@ -33,8 +34,15 @@
TRACE
prompt
4
+ false
+
+ ..\packages\dotConnect.Express.for.SQLite.5.15.1541\lib\Devart.Data.dll
+
+
+ ..\packages\dotConnect.Express.for.SQLite.5.15.1541\lib\Devart.Data.SQLite.dll
+
..\packages\EntityFramework.6.2.0\lib\net40\EntityFramework.dll
@@ -66,10 +74,9 @@
+
-
-
-
+
diff --git a/CnasSynchronusDAL/DAL/ExcelDAL.cs b/CnasSynchronusDAL/DAL/ExcelDAL.cs
index 6cd3c7a..75e13a6 100644
--- a/CnasSynchronusDAL/DAL/ExcelDAL.cs
+++ b/CnasSynchronusDAL/DAL/ExcelDAL.cs
@@ -65,7 +65,7 @@ namespace CnasSynchronusDAL
string sql = "";
OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSQL + " where 1=0";
else
sql = string.Format("SELECT * FROM [{0}$] where 1=0", strTableName); //查询字符串
@@ -107,7 +107,7 @@ namespace CnasSynchronusDAL
string sql = "";
OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSQL;
else
sql = string.Format("SELECT * FROM [{0}$]", strTableName); //查询字符串
@@ -224,7 +224,7 @@ namespace CnasSynchronusDAL
string sql = "";
OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSQL;
else
sql = string.Format("SELECT * FROM [{0}]", strTableName); //查询字符串
diff --git a/CnasSynchronusDAL/DAL/FoxProDAL.cs b/CnasSynchronusDAL/DAL/FoxProDAL.cs
index e3ede9d..3ae9db3 100644
--- a/CnasSynchronusDAL/DAL/FoxProDAL.cs
+++ b/CnasSynchronusDAL/DAL/FoxProDAL.cs
@@ -171,7 +171,7 @@ namespace CnasSynchronusDAL
bool bIfTrue = true;
try
{
- dtTime = DateTime.ParseExact(strValue, strTimeFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ dtTime = DateTime.ParseExact(strValue.Trim(), strTimeFormat, new System.Globalization.CultureInfo("zh-CN", true));
}
catch (Exception e)
{
@@ -195,7 +195,7 @@ namespace CnasSynchronusDAL
string sql = "";
OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSql;
else
sql = string.Format("SELECT * FROM [{0}]", strTableName); //查询字符串
diff --git a/CnasSynchronusDAL/DAL/Helper/MySQLHelper.cs b/CnasSynchronusDAL/DAL/Helper/MySQLHelper.cs
index cdaba73..79cc219 100644
--- a/CnasSynchronusDAL/DAL/Helper/MySQLHelper.cs
+++ b/CnasSynchronusDAL/DAL/Helper/MySQLHelper.cs
@@ -18,6 +18,11 @@ namespace CnasSynchronusDAL
mConnStr = "server=" + strServerIP + ";port=" + strServerPort + ";user=" + strServerUser + ";password=" + strServerPwd + ";database=" + strServerHost + ";CharSet=utf8;Allow User Variables=True";
}
+ public static void InitConnectionString(string strConnectiong)
+ {
+ mConnStr = strConnectiong;
+ }
+
///
/// 对SQLite数据库执行增删改操作,返回受影响的行数。
///
@@ -25,9 +30,10 @@ namespace CnasSynchronusDAL
///
public static int ExecuteNonQuery(String sql)
{
+ MySqlConnection connection = new MySqlConnection(mConnStr);
try
{
- using (MySqlConnection connection = new MySqlConnection(mConnStr))
+ using (connection)
{
connection.Open();
MySqlTransaction transaction = connection.BeginTransaction();
@@ -66,6 +72,14 @@ namespace CnasSynchronusDAL
AppLog.Error(e.Message);
throw e;
}
+ finally
+ {
+ if (connection != null)
+ {
+ //关闭数据库连接
+ connection.Close();
+ }
+ }
}
///
@@ -288,10 +302,11 @@ namespace CnasSynchronusDAL
///
public static DataSet ExecuteDataSet(String sql)
{
+ MySqlConnection connection = new MySqlConnection(mConnStr);
try
{
//创建一个MySqlConnection对象
- using (MySqlConnection connection = new MySqlConnection(mConnStr))
+ using (connection)
{
connection.Open();
MySqlTransaction transaction = connection.BeginTransaction();
@@ -301,20 +316,22 @@ namespace CnasSynchronusDAL
{
try
{
+ AppLog.Error("===-3113-==="+ sql + mConnStr);
PrepareCommand(cmd, connection, transaction, CommandType.Text, sql, null);
+ AppLog.Error("===-3223-==="+ sql + mConnStr);
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = cmd;
DataSet ds = new DataSet();
-
+ AppLog.Error("===-3223-==="+ sql + ds);
adapter.Fill(ds);
-
+AppLog.Error("===-3333-==="+ sql + ds);
transaction.Commit();
-
+AppLog.Error("===-3443-==="+ sql + ds);
//清除参数
cmd.Parameters.Clear();
return ds;
-
+AppLog.Error("===-3553-==="+ sql + ds);
}
catch (MySqlException e1)
{
@@ -338,6 +355,13 @@ namespace CnasSynchronusDAL
{
AppLog.Error(e.Message);
throw e;
+ }finally
+ {
+ if (connection != null)
+ {
+ //关闭数据库连接
+ connection.Close();
+ }
}
}
@@ -350,11 +374,12 @@ namespace CnasSynchronusDAL
///
public static DataTable ExecuteDataTable(string sqlText, params MySqlParameter[] parameters)
{
+ DataTable dt = null;
try
{
using (MySqlDataAdapter adapter = new MySqlDataAdapter(sqlText, mConnStr))
{
- DataTable dt = new DataTable();
+ dt = new DataTable();
adapter.SelectCommand.Parameters.AddRange(parameters);
adapter.Fill(dt);
return dt;
@@ -374,10 +399,11 @@ namespace CnasSynchronusDAL
///
public static DataSet ExecuteDataSet(String sql, MySqlParameter[] cmdParams)
{
+ MySqlConnection connection = new MySqlConnection(mConnStr);
try
{
//创建一个MySqlConnection对象
- using (MySqlConnection connection = new MySqlConnection(mConnStr))
+ using (connection)
{
connection.Open();
MySqlTransaction transaction = connection.BeginTransaction();
@@ -424,6 +450,13 @@ namespace CnasSynchronusDAL
{
AppLog.Error(e.Message);
throw e;
+ }finally
+ {
+ if (connection != null)
+ {
+ //关闭数据库连接
+ connection.Close();
+ }
}
}
diff --git a/CnasSynchronusDAL/DAL/MdbDAL.cs b/CnasSynchronusDAL/DAL/MdbDAL.cs
index c8e7382..b06574f 100644
--- a/CnasSynchronusDAL/DAL/MdbDAL.cs
+++ b/CnasSynchronusDAL/DAL/MdbDAL.cs
@@ -68,8 +68,13 @@ namespace CnasSynchronusDAL
//DataTable TablesName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string sql = "";
OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
- sql = strViewSQL + "where 1=0";
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
+ {
+ if(strViewSQL.ToUpper().Contains("WHERE"))
+ sql = strViewSQL + " and 1=0";
+ else
+ sql = strViewSQL + " where 1=0";
+ }
else
sql = string.Format("select * from [{0}] where 1=0", strTableName); //查询字符串
ada = new OleDbDataAdapter(sql, connstring);
@@ -92,52 +97,107 @@ namespace CnasSynchronusDAL
DataTable dt = new DataTable();
try
{
+ AppLog.Info("开始执行");
//连接字符串
string connstring = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Persist Security Info=False;Jet OLEDB:Database Password={1}", strPath, strPwd);
if (!string.IsNullOrWhiteSpace(strAccessVersion) && strAccessVersion != "0")
connstring = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Jet OLEDB:Database Password={1}", strPath, strPwd);
+ //执行sql语句
+ string sql = "";
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
+ sql = strViewSQL;
+ else
+ sql = string.Format("select * from [{0}] where {1} is not null", strTableName, strDateColumn); //查询字符串
+
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
+
+ //获取数据库表结构
+ DataTable dtStruct = new DataTable();
+ dtStruct=ReadAccessTableStruct(strPath, strPwd, strAccessVersion, strViewName, strViewSQL, strTableName);
- DataTable TablesName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
- string sql = "";
- OleDbDataAdapter ada = null;
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
- sql = strViewSQL + $" where {strDateColumn} is not null";
- else
- sql = string.Format("select * from [{0}] where {1} is not null", strTableName, strDateColumn); //查询字符串
- ada = new OleDbDataAdapter(sql, connstring);
- DataSet set = new DataSet();
- ada.Fill(set);
-
- /*将日期字段转换成可识别的数据,然后比较日期大小*/
- DataTable dt_Middle = set.Tables[0].Clone();
+ //获取数据,并插入到表中
+ OleDbCommand command = new OleDbCommand(sql, conn);
+ OleDbDataReader reader = command.ExecuteReader();
DateTime dtTime = DateTime.Now;
- foreach (DataRow dr in set.Tables[0].Rows)
+ bool bIfSuccess = true;
+ while (reader.Read())
{
- if (DateTime.TryParse(dr[strDateColumn].ToString(), out dtTime))
+ bIfSuccess = true;
+ DataRow row = dtStruct.NewRow();
+ //填充一行数据
+ for (int i = 0; i < dtStruct.Columns.Count; i++)
{
- if (dtTime > Convert.ToDateTime(strDate))
+
+ string columnName = dtStruct.Columns[i].ColumnName;
+
+ //判断是否能够正常读取单元格数据
+ object objValue = null;
+ try
{
- DataRow drNew = dt_Middle.NewRow();
- drNew.ItemArray = dr.ItemArray;
- dt_Middle.Rows.Add(drNew);
+ objValue = reader.GetValue(i);
}
- }
- else if (IfSepcialDateFormat(dr[strDateColumn].ToString(), strSpecialDateFormat, ref dtTime))
- {
- if (dtTime > Convert.ToDateTime(strDate))
+ catch (Exception ee)
+ {
+ AppLog.Error("读取数据行时发生错误,无法正常读取,错误提示:"+ee.Message);
+ bIfSuccess = false;
+ break;
+ }
+
+ if (columnName.ToLower() == strDateColumn.ToLower()) //处理关键日期字段 --将日期字段转换成可识别的数据,然后比较日期大小
{
- DataRow drNew = dt_Middle.NewRow();
- drNew.ItemArray = dr.ItemArray;
- dt_Middle.Rows.Add(drNew);
+ if (DateTime.TryParse(objValue.ToString(), out dtTime))
+ {
+ if (dtTime > Convert.ToDateTime(strDate))
+ {
+ row[i] = objValue;
+ }
+ else
+ {
+ bIfSuccess = false;
+ }
+ }
+ else if (IfSepcialDateFormat(objValue.ToString(), strSpecialDateFormat, ref dtTime))
+ {
+ if (dtTime > Convert.ToDateTime(strDate))
+ {
+ row[i] = objValue;
+ }
+ else
+ {
+ bIfSuccess = false;
+ }
+ }
+ else
+ bIfSuccess = false;
}
+ else //处理标准字段
+ {
+ row[i] = objValue;
+ }
+
+ //如果有一个列没有成功,后续的列不需要再插入,直接退出循环
+ if (!bIfSuccess)
+ break;
+ }
+
+ //添加一行数据
+ if (bIfSuccess)
+ {
+ dtStruct.Rows.Add(row);
}
+ row = null;
}
+ reader.Close();
+ AppLog.Info("ReadAccessTablesByDate执行的参数:" + strDate+","+ sql);
+ AppLog.Info("ReadAccessTablesByDate读取到的数据行数:" + dtStruct.Rows.Count);
+
/*将数据库中某些特殊类型的日期数据转换一下格式,便于后续处理*/
- dt = DateAndTimeTypeOpera(dt_Middle);
+ dt = DateAndTimeTypeOpera(dtStruct, strDateColumn,strSpecialDateFormat);
+
+ AppLog.Info("结束执行");
}
}
catch (Exception ex)
@@ -197,7 +257,7 @@ namespace CnasSynchronusDAL
///
/// 获取数据时,单独处理某些(Date和Time)类型数据,并把数据类型转换为字符串类型
///
- private static DataTable DateAndTimeTypeOpera(DataTable dt)
+ private static DataTable DateAndTimeTypeOpera(DataTable dt,string strDateColumn,string strSpecialDateFormat)
{
DataTable dtNewFormat = new DataTable();
List lstChangeColumn = new List();
@@ -239,12 +299,31 @@ namespace CnasSynchronusDAL
drNewRow[dc.ColumnName] = Convert.ToDateTime(dr[dc.ColumnName]).ToString("yyyy-MM-dd");
else
drNewRow[dc.ColumnName] = Convert.ToDateTime(dr[dc.ColumnName]).ToString("yyyy-MM-dd HH:mm:ss");
- }
+ }
}
}
else
{
- drNewRow[dc.ColumnName] = dr[dc.ColumnName];
+ if (dc.ColumnName.ToLower() == strDateColumn.ToLower())
+ {
+ DateTime dt1 = DateTime.Now;
+ if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt1))
+ {
+ drNewRow[dc.ColumnName] = dr[dc.ColumnName].ToString();
+ }
+ else
+ {
+ DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), strSpecialDateFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ if (dtTime.ToString("HH:mm:ss") == "00:00:00")
+ drNewRow[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
+ else
+ drNewRow[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ }
+ }
+ else
+ {
+ drNewRow[dc.ColumnName] = dr[dc.ColumnName];
+ }
}
}
dtNewFormat.Rows.Add(drNewRow);
diff --git a/CnasSynchronusDAL/DAL/MySQLDAL.cs b/CnasSynchronusDAL/DAL/MySQLDAL.cs
index b285456..df82858 100644
--- a/CnasSynchronusDAL/DAL/MySQLDAL.cs
+++ b/CnasSynchronusDAL/DAL/MySQLDAL.cs
@@ -17,6 +17,11 @@ namespace CnasSynchronusDAL
MySQLHelper.InitConnectionString(strIP,strPort,strName,strUser,strPwd);
}
+ public void CreateConnectString(string strConnectString)
+ {
+ MySQLHelper.InitConnectionString(strConnectString);
+ }
+
//获取所有表单名称
public DataTable GetTableNames(string strName)
{
@@ -43,13 +48,15 @@ namespace CnasSynchronusDAL
DataTable dt = new DataTable();
if (strTableName.Length <= 0) return dt;
string strSql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
strSql = strViewSql + " where 0=1";
else
strSql = string.Format("SELECT * FROM {0} Where 0=1", strTableName);
try
{
+ AppLog.Error("===-222-==="+ strTableName + strSql);
dt = MySQLHelper.ExecuteDataSet(strSql).Tables[0];
+ AppLog.Error("===-333-==="+ strTableName + "MySQLHelper.ExecuteDataSet(strSql)" + dt);
}
catch (Exception ex)
{
@@ -154,7 +161,8 @@ namespace CnasSynchronusDAL
parameters[i++] = new MySqlParameter(item, dr[item]);
}
//插入时发现已经在数据库中存在该值,则进行更新操作
- if (ExistSingleCnasData(lstKeyColumns, syncParamasInfos[0].TargetTable, dr,ref dtSelect))
+ int ifHavaValue = ExistSingleCnasData(lstKeyColumns, syncParamasInfos[0].TargetTable, dr, ref dtSelect);
+ if (ifHavaValue==1)
{
if (dtSelect.Rows.Count == 1)
{
@@ -177,7 +185,7 @@ namespace CnasSynchronusDAL
AppLog.Error("更新时发现在数据库中多条相同关键字段数据,请重新配置关键字段。");
}
}
- else
+ else if(ifHavaValue==0)
{
//执行InsertSQL语句
iReturn += MySQLHelper.ExecuteNonQuery(strInsertSql, parameters);
@@ -248,9 +256,17 @@ namespace CnasSynchronusDAL
return bIfChecked;
}
- private bool ExistSingleCnasData(List lstPrimaryColumn, string strTableName, DataRow dr,ref DataTable dtSelect)
+ ///
+ /// 是否数据库中已经存在数据,如果存在返回1,并且传递返回的数据;如果不存在,返回0;如果发生了异常,返回-1
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private int ExistSingleCnasData(List lstPrimaryColumn, string strTableName, DataRow dr,ref DataTable dtSelect)
{
- bool bIfHaveValue = false;
+ int bIfHaveValue = 0; //如果存在,返回1;如果不存在,返回0;如果发生了异常,返回-1
string strsql_partial = "";
string strSql = "";
foreach (var item in lstPrimaryColumn)
@@ -264,14 +280,22 @@ namespace CnasSynchronusDAL
if (strsql_partial.Length > 3)
strSql = $"select * from {strTableName} where {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+ if (strsql_partial.Length > 3 && (strTableName.Equals("tcoalweight") || strTableName.Equals("TCOALWEIGHT")))
+ strSql = $"select * from {strTableName} where (idbatch is null or idbatch = '') and {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+
if (strSql != "")
{
DataTable dt = MySQLHelper.ExecuteDataTable(strSql,new MySqlParameter[] { });
if (dt != null && dt.Rows.Count > 0)
{
- bIfHaveValue = true;
+ bIfHaveValue = 1;
dtSelect = dt;
- AppLog.Info($"插入时存在重复数据:{strSql}");
+ AppLog.Info($"插入前查询时存在重复数据:{strSql}");
+ }
+ else if (dt == null)
+ {
+ bIfHaveValue = -1;
+ AppLog.Info($"插入前查询时发生了异常:{strSql}");
}
}
return bIfHaveValue;
@@ -351,10 +375,12 @@ namespace CnasSynchronusDAL
}
catch (Exception ex)
{
- if (!LinkCnasTest())
- {
- strReturnTime = "1899-1-1"; //用于表示插入时无法正常数据库连接问题
- }
+ //if (!LinkCnasTest())
+ //{
+ // strReturnTime = "1899-1-1"; //用于表示插入时无法正常数据库连接问题
+ //}
+ //只要发生异常,就返回这个结果
+ strReturnTime = "1899-1-1";
AppLog.Error(ex.Message);
}
return strReturnTime;
@@ -366,7 +392,7 @@ namespace CnasSynchronusDAL
try
{
string strSql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
strSql = strViewSql + $" where {strDateColumn} >convert( '{strDate}',datetime)";
else
strSql = $"select * from {strDBName}.{strTableName} where {strDateColumn} >convert( '{strDate}',datetime)";
@@ -396,8 +422,10 @@ namespace CnasSynchronusDAL
foreach (DataRow dr in TablesName.Rows)
{
string strTableName = dr[0].ToString();
+ AppLog.Error("===---==="+ strTableName + "GetTableStruct(strTableName, )");
dictTables.Add(strTableName.ToUpper(), GetTableStruct(strTableName,"",""));
}
+
}
catch (Exception ex)
{
@@ -525,5 +553,21 @@ namespace CnasSynchronusDAL
//返回数据
return dtNewFormat;
}
+
+ //获取某个表的数据
+ public DataTable GetTableData(string strSql)
+ {
+ DataTable dt = new DataTable();
+ try
+ {
+ dt = MySQLHelper.ExecuteDataSet(strSql).Tables[0];
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
}
}
diff --git a/CnasSynchronusDAL/DAL/OracleDAL.cs b/CnasSynchronusDAL/DAL/OracleDAL.cs
index d93b272..b36501e 100644
--- a/CnasSynchronusDAL/DAL/OracleDAL.cs
+++ b/CnasSynchronusDAL/DAL/OracleDAL.cs
@@ -1,6 +1,6 @@
using CnasSynchronousCommon;
+using CnasSynchrousModel;
using Oracle.ManagedDataAccess.Client;
-//using Oracle.DataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
@@ -21,6 +21,333 @@ namespace CnasSynchronusDAL
OracleDAL.connectionStr= $"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={strHost})(PORT={strPort}))" +$"(CONNECT_DATA=(SID={strName})));User Id={strUserId};Password={strPwd};";
}
+ internal static DataTable GetTableNames(string dBName)
+ {
+ DataTable dt = new DataTable();
+ string strSql = string.Format("select table_name from user_tab_comments");
+ try
+ {
+ dt = GetDataTable(strSql, new OracleParameter[] { });
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ internal static DataTable GetTableTypeAndLenth(string strTableName)
+ {
+ DataTable dt = new DataTable();
+ string strSql = string.Format("select COLUMN_NAME AS ColumnName,NULLABLE AS IsNullable,DATA_TYPE AS DataType,DATA_LENGTH AS CharMaxLenth,DATA_LENGTH AS CharOcterLenth,DATA_PRECISION AS NumericPrecision,DATA_SCALE AS NumericScale from user_tab_columns where table_name='{0}'", strTableName.ToUpper());
+ try
+ {
+ dt = GetDataTable(strSql, new OracleParameter[] { });
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ public static DataTable GetTableStruct(string strTableName, string strViewName, string strViewSql)
+ {
+ DataTable dt = new DataTable();
+ if (strTableName.Length <= 0) return dt;
+ string strSql = "";
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
+ strSql = strViewSql + " where 0=1";
+ else
+ strSql = string.Format("SELECT * FROM {0} Where 0=1", strTableName);
+ try
+ {
+ dt = GetDataTable(strSql, new OracleParameter[] { });
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ internal static DataTable GetLoginNameByPwd(string strUserName, string strPwd)
+ {
+ DataTable dt = new DataTable();
+ string strSql = string.Format("select * FROM user WHERE userid='{0}' and password='{1}'", strUserName, strPwd);
+ try
+ {
+ dt = GetDataTable(strSql, new OracleParameter[] { });
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ internal static string GetMaxTimeByTableName(string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
+ {
+ string strReturnTime = "";
+ //因为数据库用varchar存储日期字段,从而格式不固定,需要使用多种格式读取
+ try
+ {
+ string strSql = string.Format("SELECT Convert(max(Convert({0},datetime)) using utf8) FROM {1}", strDateColumn, strTableName, strInstrumentColumn, strInstrumentValue);
+ if (!string.IsNullOrWhiteSpace(strInstrumentColumn) && !string.IsNullOrWhiteSpace(strInstrumentValue))
+ strSql += string.Format(" where {0}='{1}'", strInstrumentColumn, strInstrumentValue);
+ string strDateTime = GetMaxTimeByTableName(strSql);
+ DateTime dateTime = DateTime.Now;
+ if (DateTime.TryParse(strDateTime, out dateTime))
+ {
+ strReturnTime = strDateTime;
+ }
+ }
+ catch (Exception ex)
+ {
+ //if (!LinkCnasTest())
+ //{
+ // strReturnTime = "1899-1-1"; //用于表示插入时无法正常数据库连接问题
+ //}
+ //只要发生异常,就返回这个结果
+ strReturnTime = "1899-1-1";
+ AppLog.Error(ex.Message);
+ }
+ return strReturnTime;
+ }
+
+ internal static int InsertCnasData(DataTable dt, List syncParamasInfos, List lstFixedValue, string strInsumentColumn)
+ {
+ int iReturn = 0;
+ if (dt.Rows.Count <= 0) return 0;
+ try
+ {
+ //获取唯一健组(关键字段)
+ var query = from p in syncParamasInfos
+ where p.IfPrimaryKey == true
+ select new
+ {
+ p.TargetField
+ };
+ List lstKeyColumns = new List();
+ foreach (var item in query)
+ {
+ lstKeyColumns.Add(item.TargetField);
+ }
+
+ //构建SQL语句
+ string strSql_part1 = "";
+ string strSql_part2 = "";
+ List lstColumnName = new List();
+ foreach (var item in syncParamasInfos)
+ {
+ if (!lstColumnName.Contains(item.TargetField.ToLower()))
+ {
+ strSql_part1 += item.TargetField + ",";
+ strSql_part2 += string.Format(":{0},", item.TargetField.ToLower());
+ lstColumnName.Add(item.TargetField.ToLower());
+ }
+ }
+
+ //如果映射列中不包含固定列,则需要将这些列添加到SQL语句中
+ if (lstFixedValue != null)
+ {
+ foreach (var cnasfield in lstFixedValue)
+ {
+ if (cnasfield.TableName != syncParamasInfos[0].TargetTable) continue;
+ if (!lstColumnName.Contains(cnasfield.ColumnName.ToLower()))
+ {
+ strSql_part1 += cnasfield.ColumnName + ",";
+ strSql_part2 += string.Format(":{0},", cnasfield.ColumnName.ToLower());
+
+ lstColumnName.Add(cnasfield.ColumnName.ToLower());
+ }
+ }
+ }
+ //增加仪器编号数据
+ if (!string.IsNullOrWhiteSpace(strInsumentColumn) && !lstColumnName.Contains(strInsumentColumn.ToLower()))
+ {
+ strSql_part1 += strInsumentColumn + ",";
+ strSql_part2 += string.Format(":{0},", strInsumentColumn);
+
+ lstColumnName.Add(strInsumentColumn.ToLower());
+ }
+
+ string strInsertSql = string.Format("insert into {0}({1}) values({2})", syncParamasInfos[0].TargetTable, strSql_part1.Substring(0, strSql_part1.Length - 1), strSql_part2.Substring(0, strSql_part2.Length - 1));
+ string strUpdateSql = "";
+ DataTable dtSelect = new DataTable();
+ foreach (DataRow dr in dt.Rows)
+ {
+ //插入参数值
+ OracleParameter[] parameters = new OracleParameter[lstColumnName.Count];
+ int i = 0;
+ foreach (var item in lstColumnName)
+ {
+ parameters[i++] = new OracleParameter(item, dr[item]);
+ }
+ //插入时发现已经在数据库中存在该值,则进行更新操作
+ int ifHavaValue = ExistSingleCnasData(lstKeyColumns, syncParamasInfos[0].TargetTable, dr, ref dtSelect);
+ if (ifHavaValue == 1)
+ {
+ if (dtSelect.Rows.Count == 1)
+ {
+ //比对获取的数据跟准备更新的数据是否一样
+ if (!CompareObjectOperation.DataRowCompare(dtSelect.Rows[0], dr, lstColumnName))
+ {
+ //构造更新语句
+ strUpdateSql = GetUpdateSql(lstColumnName, lstKeyColumns, syncParamasInfos[0].TargetTable, dr);
+ //执行UpdateSql语句
+ iReturn += ExecuteNonQuery(strUpdateSql, parameters);
+ }
+ else
+ {
+ iReturn = -2;
+ AppLog.Info("更新时发现在数据库中相同关键字段数据一致。");
+ }
+ }
+ else
+ {
+ AppLog.Error("更新时发现在数据库中多条相同关键字段数据,请重新配置关键字段。");
+ }
+ }
+ else if (ifHavaValue == 0)
+ {
+ //执行InsertSQL语句
+ iReturn += ExecuteNonQuery(strInsertSql, parameters);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ if (!TestLink())
+ {
+ iReturn = -1; //用于表示插入时无法正常数据库连接问题
+ }
+ //此处添加错误日志
+ AppLog.Error(ex.Message);
+ }
+ return iReturn;
+ }
+ ///
+ /// 是否数据库中已经存在数据,如果存在返回1,并且传递返回的数据;如果不存在,返回0;如果发生了异常,返回-1
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private static int ExistSingleCnasData(List lstPrimaryColumn, string strTableName, DataRow dr, ref DataTable dtSelect)
+ {
+ int bIfHaveValue = 0; //如果存在,返回1;如果不存在,返回0;如果发生了异常,返回-1
+ string strsql_partial = "";
+ string strSql = "";
+ foreach (var item in lstPrimaryColumn)
+ {
+ if (dr.Table.Columns.Contains(item.ToString()))
+ if (dr[item.ToString()].ToString() != "")
+ strsql_partial += $"{item.ToString()}='{dr[item.ToString()].ToString()}' and ";
+ else
+ strsql_partial += $"({item.ToString()}='{dr[item.ToString()].ToString()}' or {item.ToString()} is null) and ";
+ }
+ if (strsql_partial.Length > 3)
+ strSql = $"select * from {strTableName} where {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+
+ if (strsql_partial.Length > 3 && (strTableName.Equals("tcoalweight") || strTableName.Equals("TCOALWEIGHT")))
+ strSql = $"select * from {strTableName} where (idbatch is null or idbatch = '') and {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+
+ if (strSql != "")
+ {
+ DataTable dt = GetDataTable(strSql, new OracleParameter[] { });
+ if (dt != null && dt.Rows.Count > 0)
+ {
+ bIfHaveValue = 1;
+ dtSelect = dt;
+ AppLog.Info($"插入前查询时存在重复数据:{strSql}");
+ }
+ else if (dt == null)
+ {
+ bIfHaveValue = -1;
+ AppLog.Info($"插入前查询时发生了异常:{strSql}");
+ }
+ }
+ return bIfHaveValue;
+ }
+ ///
+ /// 拼接Update语句
+ ///
+ ///
+ ///
+ ///
+ private static string GetUpdateSql(List lstColumnName, List lstPrimaryColumn, string strTableName, DataRow dr)
+ {
+ //构造关键字段条件
+ string strsql_partial = "";
+ foreach (var item in lstPrimaryColumn)
+ {
+ if (dr.Table.Columns.Contains(item.ToString()))
+ if (dr[item.ToString()].ToString() != "")
+ strsql_partial += $"{item.ToString()}='{dr[item.ToString()].ToString()}' and ";
+ else
+ strsql_partial += $"({item.ToString()}='{dr[item.ToString()].ToString()}' or {item.ToString()} is null) and ";
+ }
+
+ //构造Update语句
+ string strUpdateSql = "";
+ string strsql_partial2 = "";
+ foreach (var item in lstColumnName)
+ {
+ strsql_partial2 += $"{item}=:{item},";
+ }
+
+ if (strsql_partial.Length > 3 && strsql_partial2.Length > 0)
+ strUpdateSql = $"update {strTableName} set {strsql_partial2.Substring(0, strsql_partial2.Length - 1)} where {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+
+ return strUpdateSql;
+ }
+
+ private static string GetMaxTimeByTableName(string strSql)
+ {
+ string strDateTime = "";
+ try
+ {
+
+ DataTable dt = GetDataTable(strSql, new OracleParameter[] { });
+ AppLog.Info($"执行语句获得最晚时间:{strSql}");
+ if (dt != null && dt.Rows.Count == 1)
+ {
+ strDateTime = dt.Rows[0][0].ToString();
+ AppLog.Info($"执行语句获得最晚时间:行数-({dt.Rows.Count}),列数-({dt.Columns.Count}),值-({strDateTime})");
+ }
+ }
+ catch (Exception ex)
+ {
+ if (!TestLink())
+ {
+ strDateTime = "1899-1-1"; //用于表示插入时无法正常数据库连接问题
+ }
+ AppLog.Error(ex.Message);
+ }
+ return strDateTime;
+ }
+
+ internal static bool CheckMacMessage(string strMac)
+ {
+ bool bIfChecked = false;
+ string strSql = string.Format("select * FROM macaddress WHERE MAC_ADDRESS='{0}'", strMac);
+ try
+ {
+ DataTable dt = GetDataTable(strSql, new OracleParameter[] { });
+ if (dt != null && dt.Rows.Count > 0)
+ {
+ bIfChecked = true;
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return bIfChecked;
+ }
+
///
/// 查询操作
///
@@ -52,7 +379,7 @@ namespace CnasSynchronusDAL
internal static DataTable GetTableDataStruct(string strViewName,string strViewSQL,string strTableName)
{
string sql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSQL + " where 1=0";
else
sql = $"select * from {strTableName} where 1=0";
@@ -118,7 +445,7 @@ namespace CnasSynchronusDAL
try
{
string strSql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
strSql = strViewSQL + $" where {strColumnName}> '{strColumnValue}'";
else
strSql = $"select * from {strTableName} where to_char({strColumnName}, 'yyyy-mm-dd hh24:mi:ss') > '{strColumnValue}'";
@@ -205,7 +532,7 @@ namespace CnasSynchronusDAL
DataTable dt = new DataTable();
try
{
- string sql = string.Format("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='{0}'", strTableName); //查询字符串
+ string sql = string.Format("SELECT * FROM user_tab_columns WHERE TABLE_NAME='{0}'", strTableName.ToUpper()); //查询字符串
dt = GetDataTable(sql, new OracleParameter[] { });
foreach (DataRow dr in dt.Rows)
diff --git a/CnasSynchronusDAL/DAL/ReadFileCommon01.cs b/CnasSynchronusDAL/DAL/ReadFileCommon01.cs
new file mode 100644
index 0000000..30f231b
--- /dev/null
+++ b/CnasSynchronusDAL/DAL/ReadFileCommon01.cs
@@ -0,0 +1,167 @@
+using CnasSynchronousCommon;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchronusDAL
+{
+ public class ReadFileCommon01 : BaseReadFileMode
+ {
+ ///
+ /// 分割每个元素的依据。0代表“ ”,1代表“\t”,2代表0和1的集合,3代表逗号
+ ///
+ public static string SplitType { get; set; }
+
+ ///
+ /// 起始行数(部分txt文件中,表数据的起始位置不是第一行,而是从其他行开始)
+ ///
+ public static int StartLineIndex { get; set; }
+
+ ///
+ /// 是否自定义创建日期字段
+ ///
+ public static bool IfCustomCreateDateColumn { get; set; }
+
+ ///
+ /// 后缀名类似于(.txt)
+ ///
+ public static string Suffix { get; set; }
+
+ ///
+ /// 以日期命名文件名称时的日期格式(yyyyMMdd)
+ ///
+ public static string FileNameFormat { get; set; }
+
+ public static DataTable ReadTableStructure(string strFilePath)
+ {
+ DataTable dt = new DataTable();
+ try
+ {
+ List arryList = ReadFileMessage(strFilePath);
+
+ if (arryList.Count >= StartLineIndex)
+ {
+ string[] strRowDatas = arryList[StartLineIndex].Trim().Split(GetSplitStrings(), StringSplitOptions.RemoveEmptyEntries);
+ if (strRowDatas.Length > 0)
+ {
+ for (int i = 0; i < strRowDatas.Length; i++)
+ {
+ dt.Columns.Add($"F{i + 1}");
+ }
+
+ if (IfCustomCreateDateColumn)
+ dt.Columns.Add("日期(系统添加)");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ internal static DataTable ReadTableData(string strFilePath)
+ {
+ DataTable dt = new DataTable();
+ try
+ {
+ List arryList = ReadFileMessage(strFilePath);
+
+ if (arryList.Count >= StartLineIndex)
+ {
+ string[] strRowDatas = arryList[StartLineIndex].Trim().Split(GetSplitStrings(), StringSplitOptions.RemoveEmptyEntries);
+ if (strRowDatas.Length > 0)
+ {
+ for (int i = 0; i < strRowDatas.Length; i++)
+ {
+ dt.Columns.Add($"F{i + 1}");
+ }
+
+ if (IfCustomCreateDateColumn)
+ dt.Columns.Add("日期(系统添加)");
+ }
+ }
+
+ if (arryList.Count > 0)
+ {
+ for (int i = 0; i < arryList.Count; i++)
+ {
+ if (i+10)
+ {
+ DataRow dr = dt.NewRow();
+
+ for (int j = 0; j < strRowDatas.Length; j++)
+ {
+ dr[$"F{j + 1}"] = strRowDatas[j].Trim();
+ }
+
+ if (IfCustomCreateDateColumn)
+ {
+ if (FileNameFormat.Length > 0&&Suffix.Length>0)
+ {
+ int subLength = (Suffix.Length - 1) * 2 + 1 + FileNameFormat.Length;
+ DateTime dtTime = DateTime.ParseExact(string.Concat(strFilePath.Substring(strFilePath.Length - subLength, subLength).Take(FileNameFormat.Length)), FileNameFormat, new System.Globalization.CultureInfo("zh-CN", true));
+ dr["日期(系统添加)"] = dtTime.ToString(FileNameFormat);
+ }
+ }
+
+ dt.Rows.Add(dr);
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ private static List ReadFileMessage(string strFilePath)
+ {
+ List arryList = new List();
+ if (File.Exists(strFilePath))
+ {
+ FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
+ StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
+ string strLine = "";
+ while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
+ {
+ arryList.Add(strLine);
+ }
+
+ fileStream.Close();
+ }
+ return arryList;
+ }
+
+ private static string[] GetSplitStrings()
+ {
+ string[] splitStrings =null;
+ switch (SplitType)
+ {
+ case "0":
+ splitStrings = new string[] { " "};
+ break;
+ case "1":
+ splitStrings = new string[] { "\t" };
+ break;
+ case "2":
+ splitStrings = new string[] { " ","\t" };
+ break;
+ case "3":
+ splitStrings = new string[] { "," };
+ break;
+ }
+ return splitStrings;
+ }
+ }
+}
diff --git a/CnasSynchronusDAL/DAL/SQLDAL.cs b/CnasSynchronusDAL/DAL/SQLDAL.cs
index b4fad2d..d5d004a 100644
--- a/CnasSynchronusDAL/DAL/SQLDAL.cs
+++ b/CnasSynchronusDAL/DAL/SQLDAL.cs
@@ -17,8 +17,8 @@ namespace CnasSynchronusDAL
private static string connectionStr ="";
public static void CreateConnection(SqlServerOpenParams t)
{
- if (string.IsNullOrWhiteSpace(t.StrConnecttion))
- SqlServerDAL.connectionStr = $"Data Source = {t.StrHost}; Initial Catalog = {t.StrServer}; User Id = {t.StrUser}; Password = {t.StrPwd};";
+ if (!string.IsNullOrWhiteSpace(t.StrConnecttion))
+ SqlServerDAL.connectionStr = $"Data Source = {t.StrHost}; Initial Catalog = {t.StrServer}; User Id = {t.StrUser}; Password = {t.StrPwd};Port={t.StrPort}";
else
SqlServerDAL.connectionStr = t.StrConnecttion;
}
@@ -46,7 +46,7 @@ namespace CnasSynchronusDAL
internal static DataTable GetDataStruct(string strTableName,string strViewName,string strViewSql)
{
string strSql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
strSql = strViewSql + $" where 1=0";
else
strSql = $"select * from {strTableName} where 1=0";
@@ -112,7 +112,7 @@ namespace CnasSynchronusDAL
try
{
string strSql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
strSql = strViewSql+ $" where {strColumnName} > '{strColumnValue}'";
else
strSql = $"select * from {strTableName} where {strColumnName} > '{strColumnValue}'";
@@ -177,8 +177,6 @@ namespace CnasSynchronusDAL
return bIfSuccess;
}
-
-
///
/// 获取所有数据字段,然后记录其中是否存在需要特殊处理的字段
///
@@ -194,10 +192,16 @@ namespace CnasSynchronusDAL
foreach (DataRow dr in dt.Rows)
{
+ //AppLog.Info(string.Format("列名:{0},类型:{1}", dr["column_name"].ToString(), dr["data_type"].ToString()));
if (dr["data_type"].ToString().ToLower() == "date" || dr["data_type"].ToString().ToLower() == "time")
{
DictFiled.Add(dr["column_name"].ToString(), dr["data_type"].ToString());
}
+
+ if (dr["data_type"].ToString().ToLower() == "varbinary"|| dr["data_type"].ToString().ToLower() == "image")
+ {
+ DictFiled.Add(dr["column_name"].ToString(), dr["data_type"].ToString());
+ }
}
}
catch (Exception ex)
@@ -227,6 +231,10 @@ namespace CnasSynchronusDAL
case "TIME":
dtNewFormat.Columns.Add(dc.ColumnName, typeof(string)); //使用字符串来存储该字段,而不是采用它的数据库格式(C#无法区分Date, Time,DateTime,前两种格式会自动补充数据,导致数据的不准确)
break;
+ case "IMAGE":
+ case "VARBINARY":
+ dtNewFormat.Columns.Add(dc.ColumnName, typeof(string));
+ break;
default:
dtNewFormat.Columns.Add(dc.ColumnName, dc.DataType);
break;
@@ -258,6 +266,11 @@ namespace CnasSynchronusDAL
if (dr[dc.ColumnName] != null && dr[dc.ColumnName].ToString() != "")
drNewRow[dc.ColumnName] = Convert.ToDateTime(dr[dc.ColumnName].ToString()).ToString("HH:mm:ss");
break;
+ case "IMAGE":
+ case "VARBINARY":
+ if(dr[dc.ColumnName]!=null&& dr[dc.ColumnName].ToString()!="")
+ drNewRow[dc.ColumnName] = System.Text.Encoding.Default.GetString(dr[dc.ColumnName] as byte[]);
+ break;
default:
drNewRow[dc.ColumnName] = dr[dc.ColumnName];
break;
diff --git a/CnasSynchronusDAL/DAL/SQLDB2DAL.cs b/CnasSynchronusDAL/DAL/SQLDB2DAL.cs
index 4cb41d8..eb8aa55 100644
--- a/CnasSynchronusDAL/DAL/SQLDB2DAL.cs
+++ b/CnasSynchronusDAL/DAL/SQLDB2DAL.cs
@@ -21,7 +21,7 @@ namespace CnasSynchronusDAL
public DataTable GetTableNames(string strUser)
{
DataTable dt = new DataTable();
- string strSql = string.Format("SELECT TABNAME FROM SYSCAT.TABLES Where TABSCHEMA = '{0}'",strUser);
+ string strSql = string.Format("SELECT TABNAME FROM SYSCAT.TABLES Where TABSCHEMA = '{0}'",strUser.Trim().ToUpper());
try
{
dt= SQLDB2Helper.getDB2Table(strSql);
@@ -114,31 +114,53 @@ namespace CnasSynchronusDAL
if (!lstColumnName.Contains(strInsturmentColumn))
{
strSql_part1 += strInsturmentColumn + ",";
- strSql_part2 += string.Format("@{0},", strInsturmentColumn);
+ strSql_part2 += string.Format("?,");
lstColumnName.Add(strInsturmentColumn);
}
- string strSql = string.Format("insert into {0}({1}) values({2})",syncParamasInfos[0].TargetTable, strSql_part1.Substring(0, strSql_part1.Length - 1), strSql_part2.Substring(0, strSql_part2.Length - 1));
-
+ string strInsertSql = string.Format("insert into {0}({1}) values({2})",syncParamasInfos[0].TargetTable, strSql_part1.Substring(0, strSql_part1.Length - 1), strSql_part2.Substring(0, strSql_part2.Length - 1));
+ string strUpdateSql = "";
+ DataTable dtSelect = new DataTable();
foreach (DataRow dr in dt.Rows)
{
- //插入时发现已经在数据库中存在该值,则不进行进行插入
- if (ExistSingleCnasData(lstKeyColumns, syncParamasInfos[0].TargetTable, dr))
- {
- iReturn = 1;
- continue;
- }
- OleDbParameter[] parameters = new OleDbParameter[syncParamasInfos.Count];
+ //插入参数值
+ OleDbParameter[] parameters = new OleDbParameter[lstColumnName.Count];
int i = 0;
foreach (var item in lstColumnName)
{
parameters[i++] = new OleDbParameter(item, dr[item]);
}
-
- //执行SQL语句
- iReturn += SQLDB2Helper.ExequeryDB2Table(strSql, parameters);
-
+ //插入时发现已经在数据库中存在该值,则进行更新操作
+ int ifHavaValue = ExistSingleCnasData(lstKeyColumns, syncParamasInfos[0].TargetTable, dr, ref dtSelect);
+ if (ifHavaValue == 1)
+ {
+ if (dtSelect.Rows.Count == 1)
+ {
+ //比对获取的数据跟准备更新的数据是否一样
+ if (!CompareObjectOperation.DataRowCompare(dtSelect.Rows[0], dr, lstColumnName))
+ {
+ //构造更新语句
+ strUpdateSql = GetUpdateSql(lstColumnName, lstKeyColumns, syncParamasInfos[0].TargetTable, dr);
+ //执行UpdateSql语句
+ iReturn += SQLDB2Helper.ExequeryDB2Table(strUpdateSql, parameters);
+ }
+ else
+ {
+ iReturn = -2;
+ AppLog.Info("更新时发现在数据库中相同关键字段数据一致。");
+ }
+ }
+ else
+ {
+ AppLog.Error("更新时发现在数据库中多条相同关键字段数据,请重新配置关键字段。");
+ }
+ }
+ else if (ifHavaValue == 0)
+ {
+ //执行InsertSQL语句
+ iReturn += SQLDB2Helper.ExequeryDB2Table(strInsertSql, parameters);
+ }
}
}
catch (Exception ex)
@@ -159,7 +181,7 @@ namespace CnasSynchronusDAL
{
DataTable dt = new DataTable();
//string strSql = string.Format("select COLUMN_NAME AS 'ColumnName',IS_NULLABLE AS 'IsNullable',DATA_TYPE AS 'DataType',CHARACTER_MAXIMUM_LENGTH AS 'CharMaxLenth',CHARACTER_OCTET_LENGTH AS 'CharOcterLenth',NUMERIC_PRECISION AS 'NumericPrecision',NUMERIC_SCALE AS 'NumericScale' FROM information_schema.COLUMNS WHERE TABLE_NAME LIKE '{0}'", strTableName);
- string strSql = string.Format("SELECT NAME AS ColumnName,NULLS AS IsNullable,COLTYPE AS DataType,LENGTH AS CharMaxLenth,LONGLENGTH AS CharOcterLenth,LENGTH AS NumericPrecision,SCALE AS NumericScale FROM SYSIBM.SYSCOLUMNS WHERE TBCREATOR = '{0}' AND TBNAME = '{1}'", strUserId, strTableName);
+ string strSql = string.Format("SELECT NAME AS ColumnName,NULLS AS IsNullable,COLTYPE AS DataType,LENGTH AS CharMaxLenth,LONGLENGTH AS CharOcterLenth,LENGTH AS NumericPrecision,SCALE AS NumericScale FROM SYSIBM.SYSCOLUMNS WHERE TBCREATOR = '{0}' AND TBNAME = '{1}'", strUserId.Trim().ToUpper(), strTableName.ToUpper());
try
{
dt = SQLDB2Helper.getDB2Table(strSql);
@@ -261,26 +283,79 @@ namespace CnasSynchronusDAL
return bIfChecked;
}
- private bool ExistSingleCnasData(List lstPrimaryColumn, string strTableName,DataRow dr)
+ ///
+ /// 是否数据库中已经存在数据,如果存在返回1,并且传递返回的数据;如果不存在,返回0;如果发生了异常,返回-1
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private int ExistSingleCnasData(List lstPrimaryColumn, string strTableName, DataRow dr, ref DataTable dtSelect)
{
- bool bIfHaveValue = false;
+ int bIfHaveValue = 0; //如果存在,返回1;如果不存在,返回0;如果发生了异常,返回-1
string strsql_partial = "";
string strSql = "";
foreach (var item in lstPrimaryColumn)
{
- if(dr.Table.Columns.Contains(item.ToString()))
- strsql_partial += $"{item.ToString()}='{dr[item.ToString()].ToString()}' and ";
+ if (dr.Table.Columns.Contains(item.ToString()))
+ if (dr[item.ToString()].ToString() != "")
+ strsql_partial += $"{item.ToString()}='{dr[item.ToString()].ToString()}' and ";
+ else
+ strsql_partial += $"({item.ToString()}='{dr[item.ToString()].ToString()}' or {item.ToString()} is null) and ";
}
- if(strsql_partial.Length>3)
+ if (strsql_partial.Length > 3)
strSql = $"select * from {strTableName} where {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
if (strSql != "")
- {
+ {
DataTable dt = SQLDB2Helper.getDB2Table(strSql);
if (dt != null && dt.Rows.Count > 0)
- bIfHaveValue = true;
+ {
+ bIfHaveValue = 1;
+ dtSelect = dt;
+ AppLog.Info($"插入前查询时存在重复数据:{strSql}");
+ }
+ else if (dt == null)
+ {
+ bIfHaveValue = -1;
+ AppLog.Info($"插入前查询时发生了异常:{strSql}");
+ }
}
return bIfHaveValue;
}
+
+ ///
+ /// 拼接Update语句
+ ///
+ ///
+ ///
+ ///
+ public string GetUpdateSql(List lstColumnName, List lstPrimaryColumn, string strTableName, DataRow dr)
+ {
+ //构造关键字段条件
+ string strsql_partial = "";
+ foreach (var item in lstPrimaryColumn)
+ {
+ if (dr.Table.Columns.Contains(item.ToString()))
+ if (dr[item.ToString()].ToString() != "")
+ strsql_partial += $"{item.ToString()}='{dr[item.ToString()].ToString()}' and ";
+ else
+ strsql_partial += $"({item.ToString()}='{dr[item.ToString()].ToString()}' or {item.ToString()} is null) and ";
+ }
+
+ //构造Update语句
+ string strUpdateSql = "";
+ string strsql_partial2 = "";
+ foreach (var item in lstColumnName)
+ {
+ strsql_partial2 += $"{item}=@{item},";
+ }
+
+ if (strsql_partial.Length > 3 && strsql_partial2.Length > 0)
+ strUpdateSql = $"update {strTableName} set {strsql_partial2.Substring(0, strsql_partial2.Length - 1)} where {strsql_partial.Substring(0, strsql_partial.Length - 4)}";
+
+ return strUpdateSql;
+ }
}
}
diff --git a/CnasSynchronusDAL/DAL/SQLiteDAL.cs b/CnasSynchronusDAL/DAL/SQLiteDAL.cs
index d0c1ead..e91ba51 100644
--- a/CnasSynchronusDAL/DAL/SQLiteDAL.cs
+++ b/CnasSynchronusDAL/DAL/SQLiteDAL.cs
@@ -39,7 +39,7 @@ namespace CnasSynchronusDAL
try
{
string sql = "";
- if (strViewName == strTableName && string.IsNullOrWhiteSpace(strViewName))
+ if (strViewName == strTableName && !string.IsNullOrWhiteSpace(strViewName))
sql = strViewSql + "where 1=0";
else
sql = string.Format("SELECT * FROM [{0}] where 1=0", strTableName); //查询字符串
diff --git a/CnasSynchronusDAL/DAL/TXTDAL.cs b/CnasSynchronusDAL/DAL/TXTDAL.cs
index 372c5eb..6e76ec9 100644
--- a/CnasSynchronusDAL/DAL/TXTDAL.cs
+++ b/CnasSynchronusDAL/DAL/TXTDAL.cs
@@ -1,4 +1,5 @@
using CnasSynchronousCommon;
+using CnasSynchrousModel;
using System;
using System.Collections.Generic;
using System.Data;
@@ -13,61 +14,27 @@ namespace CnasSynchronusDAL
///
/// 获取表名表结构
///
- public static DataTable ReadTxtFileColumn(string strFilePath,string strTxtFileMode)
+ public static DataTable ReadTxtFileColumn(TXTOpenParams t)
{
DataTable dt = new DataTable();
try
{
- if (strTxtFileMode == "0" || strTxtFileMode == "1") //采用0号规则或1号规则读取数据
+ switch (t.TxtFileMode)
{
- //根据路径打开文件,并获取文件第一行数据,如果第一行数据是列名,则返回这些列名,如果不是,则返回F1,F2...
- List arryList = new List();
- if (File.Exists(strFilePath))
- {
- FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
- string strLine = "";
-
- /*这里只读取第一行数据*/
- strLine = _StreamReaderKey.ReadLine();
- arryList.Add(strLine);
-
- fileStream.Close();
- }
- if (arryList.Count >= 0)
- {
- string[] temp = arryList[0].Split('\t');
- if (strTxtFileMode == "0") //此时是文本模式1,此时第一行是数据列信息
- {
- for (int i = 0; i < temp.Length; i++)
- {
- dt.Columns.Add($"F{i + 1}");
- }
- }
- else if (strTxtFileMode == "1")//此时是文本模式2,此时第一行不是数据列信息,直接就是数据
- {
- foreach (string item in temp)
- {
- dt.Columns.Add(item);
- }
- }
- }
- }
- if (strTxtFileMode == "2") //此时是2号规则读取文件数据
- {
- dt = ReadFileSecond.ReadTableStructure();
- }
- if (strTxtFileMode == "3")
- {
- dt = ReadFileThird.ReadTableStructure();
- }
- if (strTxtFileMode == "4")
- {
- dt = ReadFileForth.ReadTableStructure();
- }
- if (strTxtFileMode == "5")
- {
- dt = ReadFileFifth.ReadTableStructure();
+ case "1":
+ ReadFileCommon01.SplitType = t.SplitType;
+ ReadFileCommon01.StartLineIndex = t.StartLineIndex;
+ ReadFileCommon01.IfCustomCreateDateColumn = t.IfCustomCreateDateColumn;
+ ReadFileCommon01.Suffix = t.Suffix;
+ ReadFileCommon01.FileNameFormat = t.FileNameFormat;
+ dt = ReadFileCommon01.ReadTableStructure(t.StrPath);
+ break;
+ case "2":
+ dt = ReadFileSecond.ReadTableStructure();
+ break;
+ case "3":
+ dt = ReadFileThirdth.ReadTableStructure();
+ break;
}
}
catch (Exception ex)
@@ -77,78 +44,28 @@ namespace CnasSynchronusDAL
return dt;
}
- public static DataTable ReadTxtFileData(string strFilePath, string strTxtFileMode)
+ public static DataTable ReadTxtFileData(TXTOpenParams t)
{
DataTable dt = new DataTable();
try
- {
- if (strTxtFileMode == "0" || strTxtFileMode == "1") //采用0号规则或1号规则读取数据
- {
- //根据路径打开文件,并获取文件第一行数据,如果第一行数据是列名,则返回这些列名,如果不是,则返回F1,F2...
- List arryList = new List();
- if (File.Exists(strFilePath))
- {
- FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
- string strLine = "";
- while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
- {
- arryList.Add(strLine);
- }
-
- fileStream.Close();
- }
- if (arryList.Count >= 0)
- {
- //1 .构建表结构
- string[] temp = arryList[0].Split('\t');
- if (strTxtFileMode == "0") //此时是文本模式1,此时第一行是数据列信息
- {
- for (int i = 0; i < temp.Length; i++)
- {
- dt.Columns.Add($"F{++i}");
- }
- }
- else if (strTxtFileMode == "1")//此时是文本模式2,此时第一行不是数据列信息,直接就是数据
- {
- foreach (string item in temp)
- {
- dt.Columns.Add(item);
- }
- }
- //插入表数据
- int index = 0;
- for (int j = 0; j < arryList.Count; j++)
- {
- if (strTxtFileMode == "1" && j == 0)
- continue;
- index = 0;
- DataRow drNew = dt.NewRow();
- temp = arryList[j].Split('\t');
- foreach (var item in temp)
- {
- drNew[index++] = item;
- }
- dt.Rows.Add(drNew);
- }
- }
- }
- if (strTxtFileMode == "2") //此时是2号规则读取文件数据
- {
- dt = ReadFileSecond.ReadTableData(strFilePath);
- }
- if (strTxtFileMode == "3")
+ {
+ switch (t.TxtFileMode)
{
- dt = ReadFileThird.ReadTableData(strFilePath);
- }
- if (strTxtFileMode == "4")
- {
- dt = ReadFileForth.ReadTableData(strFilePath);
- }
- if (strTxtFileMode == "5")
- {
- dt = ReadFileFifth.ReadTableData(strFilePath);
- }
+ case "1":
+ ReadFileCommon01.SplitType = t.SplitType;
+ ReadFileCommon01.StartLineIndex = t.StartLineIndex;
+ ReadFileCommon01.IfCustomCreateDateColumn = t.IfCustomCreateDateColumn;
+ ReadFileCommon01.Suffix = t.Suffix;
+ ReadFileCommon01.FileNameFormat = t.FileNameFormat;
+ dt = ReadFileCommon01.ReadTableData(t.StrPath);
+ break;
+ case "2":
+ dt = ReadFileSecond.ReadTableData(t.StrPath);
+ break;
+ case "3":
+ dt = ReadFileThirdth.ReadTableData(t.StrPath);
+ break;
+ }
}
catch (Exception ex)
{
diff --git a/CnasSynchronusDAL/ReadFileFifth.cs b/CnasSynchronusDAL/ReadFileFifth.cs
deleted file mode 100644
index 1a88083..0000000
--- a/CnasSynchronusDAL/ReadFileFifth.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using CnasSynchronousCommon;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.IO;
-using System.Linq;
-using System.Text;
-
-namespace CnasSynchronusDAL
-{
- public class ReadFileFifth: BaseReadFileMode
- {
- private static int ColumnCount = 46;
- public static DataTable ReadTableStructure()
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("Date");
- for (int i = 0; i < ColumnCount; i++)
- {
- dt.Columns.Add($"F{i+1}");
- }
- return dt;
- }
-
- internal static DataTable ReadTableData(string strFilePath)
- {
- DataTable dt = ReadTableStructure();
- try
- {
- List arryList = new List();
- if (File.Exists(strFilePath))
- {
- FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
- string strLine = "";
- while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
- {
- arryList.Add(strLine);
- }
-
- fileStream.Close();
- }
-
- if (arryList.Count > 0)
- {
- for (int i = 0; i < arryList.Count; i++)
- {
- if (i == 0) continue; //第一行不是数据行
-
- string strData = arryList[i].Trim();
- string[] strRowDatas = strData.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
- if (strRowDatas.Length == 46)
- {
- DataRow dr = dt.NewRow();
- dr["Date"] = DateTime.Now.ToString("yyMMdd");
- for (int j = 0; j < strRowDatas.Length; j++)
- {
- dr[$"F{j+1}"]= strRowDatas[j].Trim();
- }
- dt.Rows.Add(dr);
- }
- }
- }
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- }
- return dt;
- }
- }
-}
diff --git a/CnasSynchronusDAL/ReadFileForth.cs b/CnasSynchronusDAL/ReadFileForth.cs
deleted file mode 100644
index ae8fc4d..0000000
--- a/CnasSynchronusDAL/ReadFileForth.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using CnasSynchronousCommon;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.IO;
-using System.Linq;
-using System.Text;
-
-namespace CnasSynchronusDAL
-{
- public class ReadFileForth:BaseReadFileMode
- {
- public static DataTable ReadTableStructure()
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("F1");
- dt.Columns.Add("F2");
- dt.Columns.Add("F3");
- dt.Columns.Add("F4");
- dt.Columns.Add("F5");
- dt.Columns.Add("F6");
- dt.Columns.Add("F7");
- dt.Columns.Add("F8");
- dt.Columns.Add("F9");
- dt.Columns.Add("F10");
- return dt;
- }
-
- internal static DataTable ReadTableData(string strFilePath)
- {
- DataTable dt = ReadTableStructure();
- try
- {
- List arryList = new List();
- if (File.Exists(strFilePath))
- {
- FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
- string strLine = "";
- while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
- {
- arryList.Add(strLine);
- }
-
- fileStream.Close();
- }
-
- if (arryList.Count > 0)
- {
- for (int i = 0; i < arryList.Count; i++)
- {
- string strData = arryList[i].Trim();
- string[] strRowDatas = strData.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
- if (strRowDatas.Length == 10)
- {
- DataRow dr = dt.NewRow();
- dr["F1"] = strRowDatas[0].Trim();
- dr["F2"] = strRowDatas[1].Trim();
- dr["F3"] = strRowDatas[2].Trim();
- dr["F4"] = strRowDatas[3].Trim();
- dr["F5"] = strRowDatas[4].Trim();
- dr["F6"] = strRowDatas[5].Trim();
- dr["F7"] = strRowDatas[6].Trim();
- dr["F8"] = strRowDatas[7].Trim();
- dr["F9"] = strRowDatas[8].Trim();
- dr["F10"] = strRowDatas[9].Trim();
- dt.Rows.Add(dr);
- }
- }
- }
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- }
- return dt;
- }
- }
-}
diff --git a/CnasSynchronusDAL/ReadFileThird.cs b/CnasSynchronusDAL/ReadFileThird.cs
deleted file mode 100644
index 6fb4439..0000000
--- a/CnasSynchronusDAL/ReadFileThird.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using CnasSynchronousCommon;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.IO;
-using System.Linq;
-using System.Text;
-
-namespace CnasSynchronusDAL
-{
- public class ReadFileThird: BaseReadFileMode
- {
- public static DataTable ReadTableStructure()
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("称号");
- dt.Columns.Add("速度");
- dt.Columns.Add("毛重");
- dt.Columns.Add("皮重");
- dt.Columns.Add("载重");
- dt.Columns.Add("净重");
- dt.Columns.Add("路损");
- dt.Columns.Add("盈亏");
- dt.Columns.Add("时间");
- return dt;
- }
-
- internal static DataTable ReadTableData(string strFilePath)
- {
- DataTable dt = ReadTableStructure();
- try
- {
- List arryList = new List();
- if (File.Exists(strFilePath))
- {
- FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
- string strLine = "";
- while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
- {
- arryList.Add(strLine);
- }
-
- fileStream.Close();
- }
-
- if (arryList.Count > 0)
- {
- for (int i = 0; i < arryList.Count; i++)
- {
- string strData = arryList[i].Trim();
- string[] strRowDatas = strData.Split(new string[] { ""},StringSplitOptions.RemoveEmptyEntries);
- if (strRowDatas.Length == 14)
- {
- DataRow dr = dt.NewRow();
- dr["入厂批次号"] = arryList[0].Trim();
- dr["录入时间"] = arryList[2].Trim();
- dr["录入人"] = arryList[4].Trim();
- dr["车厢总数"] = arryList[7].Trim();
- dr["车厢序号"] = strRowDatas[0];
- dr["车厢型号"] = strRowDatas[1];
- dr["车厢编码"] = strRowDatas[2];
- dr["毛重"] = strRowDatas[3];
- dr["皮重"] = strRowDatas[4];
- dr["标重"] = strRowDatas[5];
- dr["净重"] = strRowDatas[6];
- dr["车速"] = strRowDatas[7];
- dr["运损"] = strRowDatas[8];
- dt.Rows.Add(dr);
- }
- }
- }
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- }
- return dt;
- }
- }
-}
diff --git a/CnasSynchronusDAL/ReadFileThirdth.cs b/CnasSynchronusDAL/ReadFileThirdth.cs
new file mode 100644
index 0000000..9b9e2ab
--- /dev/null
+++ b/CnasSynchronusDAL/ReadFileThirdth.cs
@@ -0,0 +1,110 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Data;
+using System.IO;
+using CnasSynchronousCommon;
+
+namespace CnasSynchronusDAL
+{
+ public class ReadFileThirdth : BaseReadFileMode
+ {
+ private static int ColumnCount = 10;
+ public static DataTable ReadTableStructure()
+ {
+ DataTable dt = new DataTable();
+ dt.Columns.Add("Date");
+ for (int i = 0; i < ColumnCount; i++)
+ {
+ dt.Columns.Add($"F{i + 1}");
+ }
+ return dt;
+ }
+
+ internal static DataTable ReadTableData(string strFilePath)
+ {
+ DataTable dt = ReadTableStructure();
+ try
+ {
+ List arryList = new List();
+ if (File.Exists(strFilePath))
+ {
+ FileStream fileStream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
+ StreamReader _StreamReaderKey = new StreamReader(fileStream, GetType(strFilePath));
+ string strLine = "";
+ while (!string.IsNullOrEmpty((strLine = _StreamReaderKey.ReadLine())))
+ {
+ arryList.Add(strLine);
+ }
+
+ fileStream.Close();
+ }
+
+ if (arryList.Count > 0)
+ {
+ for (int i = 0; i < arryList.Count; i++)
+ {
+ if (i == 0) continue; //第一行不是数据行
+
+ string strData = arryList[i].Trim();
+ string[] strRowDatas = strData.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
+ if (strRowDatas.Length == 10)
+ {
+ DataRow dr = dt.NewRow();
+
+ DateTime dtTime = DateTime.ParseExact(string.Concat(strFilePath.Substring(strFilePath.Length - 21, 21).Take(14)), "yyyyMMddHHmmss", new System.Globalization.CultureInfo("zh-CN", true));
+ dr["Date"] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ for (int j = 0; j < strRowDatas.Length; j++)
+ {
+ dr[$"F{j + 1}"] = strRowDatas[j].Trim();
+ }
+ dt.Rows.Add(dr);
+ }
+
+ if (strRowDatas.Length == 9) //内容中可能存在数据连接在一起的情况
+ {
+ DataRow dr = dt.NewRow();
+
+ DateTime dtTime = DateTime.ParseExact(string.Concat(strFilePath.Substring(strFilePath.Length - 21, 21).Take(14)), "yyyyMMddHHmmss", new System.Globalization.CultureInfo("zh-CN", true));
+ dr["Date"] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
+ int index = 0;
+ for (int j = 0; j < strRowDatas.Length; j++)
+ {
+ string strCurrentString = strRowDatas[j].Trim();
+ if (System.Text.RegularExpressions.Regex.IsMatch(strCurrentString, @"[\u4e00-\u9fa5]"))
+ {
+ var strArray = strCurrentString.ToCharArray();
+ string strString = "";
+ for (int indexs = 0; indexs < strArray.Length; indexs++)
+ {
+ if (strArray[indexs] >= 0x4e00 && strArray[indexs] <= 0x9fa5)
+ break;
+ strString += strArray[indexs];
+ }
+
+ dr[$"F{index + 1}"] = strString;
+ index++;
+
+ dr[$"F{index + 1}"]=strCurrentString.Replace(strString,"").Trim();
+ index++;
+ }
+ else
+ {
+ dr[$"F{index + 1}"] = strRowDatas[j].Trim();
+ index++;
+ }
+ }
+ dt.Rows.Add(dr);
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+ }
+}
diff --git a/CnasSynchronusDAL/Service/Db2DBService.cs b/CnasSynchronusDAL/Service/Db2DBService.cs
index a6c3d02..527548e 100644
--- a/CnasSynchronusDAL/Service/Db2DBService.cs
+++ b/CnasSynchronusDAL/Service/Db2DBService.cs
@@ -55,6 +55,11 @@ namespace CnasSynchronusDAL
return baseDAL.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
}
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ throw new NotImplementedException();
+ }
+
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos,string strInstrumentColumn, List lstFixedValue = null)
{
SQLDB2DAL baseDAL = new SQLDB2DAL();
diff --git a/CnasSynchronusDAL/Service/MySqlDBService.cs b/CnasSynchronusDAL/Service/MySqlDBService.cs
index 0106000..5be3d55 100644
--- a/CnasSynchronusDAL/Service/MySqlDBService.cs
+++ b/CnasSynchronusDAL/Service/MySqlDBService.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data;
+using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -19,7 +20,6 @@ namespace CnasSynchronusDAL
return mySQLBase.LinkCnasTest();
}
-
public Dictionary GetInstrumentData(MySQLOpenParams t)
{
MySQLDAL mySQL = new MySQLDAL();
@@ -36,7 +36,7 @@ namespace CnasSynchronusDAL
t.autoSql.MySqlViewName,
t.autoSql.MySqlViewSql,
u.TableName,
- u.DateColumn,
+ u.DateColumn,
u.DateValue);
}
@@ -95,6 +95,13 @@ namespace CnasSynchronusDAL
return mySQLBase.CheckMacMessage(strMac);
}
+ public bool CheckMacMessage(string strConnectionString, string strMac)
+ {
+ MySQLDAL mySQLBase = new MySQLDAL();
+ mySQLBase.CreateConnectString(strConnectionString);
+ return mySQLBase.CheckMacMessage(strMac);
+ }
+
public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
{
MySQLDAL mySQLBase = new MySQLDAL();
@@ -102,6 +109,15 @@ namespace CnasSynchronusDAL
return mySQLBase.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
}
-
+
+ //获取某个表的数据
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ MySQLDAL mySQLBase = new MySQLDAL();
+ mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
+
+ return mySQLBase.GetTableData(strSql);
+ }
+
}
}
diff --git a/CnasSynchronusDAL/Service/OracleDBService.cs b/CnasSynchronusDAL/Service/OracleDBService.cs
index 7239b79..c05eac2 100644
--- a/CnasSynchronusDAL/Service/OracleDBService.cs
+++ b/CnasSynchronusDAL/Service/OracleDBService.cs
@@ -1,4 +1,5 @@
-using CnasSynchronusIDAL;
+using CnasSynchronousCommon;
+using CnasSynchronusIDAL;
using CnasSynchrousModel;
using System;
using System.Collections.Generic;
@@ -10,6 +11,30 @@ namespace CnasSynchronusDAL
{
public class OracleDBService : IOracleService
{
+ public bool CheckMacMessage(DataBaseInfo dataBase, string strMac)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.CheckMacMessage(strMac);
+ }
+
+ public DataTable GetAllCNASTablesName(DataBaseInfo dataBase)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.GetTableNames(dataBase.DBName);
+ }
+
+ public DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.GetTableStruct(strTableName, "", "");
+ }
+
+ public DataTable GetCNASTableTypeLenth(string strTableName, DataBaseInfo dataBase)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.GetTableTypeAndLenth(strTableName);
+ }
+
public Dictionary GetInstrumentData(OracleOpenParams t)
{
OracleDAL.CreateConnection(t.StrHost, t.StrServer, t.StrUser, t.StrPwd, t.StrPort);
@@ -37,6 +62,30 @@ namespace CnasSynchronusDAL
);
}
+ public DataTable GetLoginNameByPwd(DataBaseInfo dataBase, string strUserName, string strPwd)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ strPwd = EncryptionOperation.GetMD5Hash(strPwd);
+ return OracleDAL.GetLoginNameByPwd(strUserName, strPwd);
+ }
+
+ public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
+ }
+
+ public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
+ {
+ throw new NotImplementedException();
+ }
+
+ public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInstrumentColumn, List lstFixedValue = null)
+ {
+ OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort);
+ return OracleDAL.InsertCnasData(dt, syncParamasInfos, lstFixedValue, strInstrumentColumn);
+ }
+
public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort)
{
OracleDAL.CreateConnection(strHost, strName, strUser, strPwd, strPort);
diff --git a/CnasSynchronusDAL/Service/TXTService.cs b/CnasSynchronusDAL/Service/TXTService.cs
index a023207..ea2de5d 100644
--- a/CnasSynchronusDAL/Service/TXTService.cs
+++ b/CnasSynchronusDAL/Service/TXTService.cs
@@ -12,17 +12,17 @@ namespace CnasSynchronusDAL
{
public Dictionary GetInstrumentData(TXTOpenParams t)
{
- return new Dictionary() { { "txt", TXTDAL.ReadTxtFileColumn(t.StrPath, t.TxtFileMode) } };
+ return new Dictionary() { { "txt", TXTDAL.ReadTxtFileColumn(t) } };
}
public DataTable GetInstrumentDataByDate(TXTOpenParams t, ConditionParams u)
{
- return TXTDAL.ReadTxtFileData(t.StrPath, t.TxtFileMode);
+ return TXTDAL.ReadTxtFileData(t);
}
public DataTable GetInstrumentDataStruct(TXTOpenParams t, ConditionParams u)
{
- return TXTDAL.ReadTxtFileColumn(t.StrPath, t.TxtFileMode);
+ return TXTDAL.ReadTxtFileColumn(t);
}
}
}
diff --git a/CnasSynchronusDAL/packages.config b/CnasSynchronusDAL/packages.config
index fa34bff..86ac758 100644
--- a/CnasSynchronusDAL/packages.config
+++ b/CnasSynchronusDAL/packages.config
@@ -1,9 +1,11 @@
-
+
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/CnasSynchronusIDAL/CnasSynchronusIDAL.csproj b/CnasSynchronusIDAL/CnasSynchronusIDAL.csproj
index 3dfe05d..bb183b2 100644
--- a/CnasSynchronusIDAL/CnasSynchronusIDAL.csproj
+++ b/CnasSynchronusIDAL/CnasSynchronusIDAL.csproj
@@ -9,7 +9,7 @@
Properties
CnasSynchronusIDAL
CnasSynchronusIDAL
- v4.0
+ v4.8
512
true
@@ -23,6 +23,7 @@
prompt
4
x86
+ false
pdbonly
@@ -31,6 +32,7 @@
TRACE
prompt
4
+ false
diff --git a/CnasSynchronusIDAL/IDBService.cs b/CnasSynchronusIDAL/IDBService.cs
index 87a8bdf..b682fb2 100644
--- a/CnasSynchronusIDAL/IDBService.cs
+++ b/CnasSynchronusIDAL/IDBService.cs
@@ -32,7 +32,7 @@ namespace CnasSynchronusIDAL
bool TestConnect(SqlServerOpenParams t);
}
- public interface IOracleService : ISourceDataBaseService
+ public interface IOracleService : ITargetDataBaseService, ISourceDataBaseService
{
///
/// 测试连接
@@ -43,7 +43,7 @@ namespace CnasSynchronusIDAL
///
///
///
- bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort);
+ new bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort);
}
public interface IAccessService : ISourceDataBaseService
diff --git a/CnasSynchronusIDAL/ISourceDataBaseService.cs b/CnasSynchronusIDAL/ISourceDataBaseService.cs
index b3d53e9..4910ecb 100644
--- a/CnasSynchronusIDAL/ISourceDataBaseService.cs
+++ b/CnasSynchronusIDAL/ISourceDataBaseService.cs
@@ -10,7 +10,7 @@ namespace CnasSynchronusIDAL
public interface ISourceDataBaseService where T: class where U:class
{
///
- /// 获取数据源数据
+ /// 获取数据源数据表结构
///
Dictionary GetInstrumentData(T t);
@@ -24,7 +24,7 @@ namespace CnasSynchronusIDAL
///
- /// 获取表结构信息
+ ///根据表名获取表结构信息
///
///
///
diff --git a/CnasSynchronusIDAL/ITargetDataBaseService.cs b/CnasSynchronusIDAL/ITargetDataBaseService.cs
index 70ca9da..0b03c45 100644
--- a/CnasSynchronusIDAL/ITargetDataBaseService.cs
+++ b/CnasSynchronusIDAL/ITargetDataBaseService.cs
@@ -37,7 +37,7 @@ namespace CnasSynchronusIDAL
DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase);
///
- /// 向第一张表的表中插入数据
+ /// 向表中插入数据
///
///
///
@@ -79,5 +79,13 @@ namespace CnasSynchronusIDAL
///
///
bool CheckMacMessage(DataBaseInfo dataBase, string strMac);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ DataTable GetTableData(DataBaseInfo dataBase, string strSql);
}
}
diff --git a/CnasSynchrousModel/ApiParams/ApiBaseParam.cs b/CnasSynchrousModel/ApiParams/ApiBaseParam.cs
new file mode 100644
index 0000000..e6c9f74
--- /dev/null
+++ b/CnasSynchrousModel/ApiParams/ApiBaseParam.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ public class ApiBaseParam
+ {
+ ///
+ /// 数据库选型(cnas/platform)
+ ///
+ public string DbType { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/ApiParams/ComputeMessageParam.cs b/CnasSynchrousModel/ApiParams/ComputeMessageParam.cs
new file mode 100644
index 0000000..4a67acd
--- /dev/null
+++ b/CnasSynchrousModel/ApiParams/ComputeMessageParam.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ public class ComputeMessageParam : ApiBaseParam
+ {
+ ///
+ /// Mac地址
+ ///
+ public string MacMessage { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/ApiParams/InsertValueMessageParam.cs b/CnasSynchrousModel/ApiParams/InsertValueMessageParam.cs
new file mode 100644
index 0000000..4bf2d26
--- /dev/null
+++ b/CnasSynchrousModel/ApiParams/InsertValueMessageParam.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ public class InsertValueMessageParam : ApiBaseParam
+ {
+ ///
+ /// 数据
+ ///
+ public string Data { get; set; }
+
+ ///
+ /// 表名
+ ///
+ public string TableName { get; set; }
+
+ ///
+ /// 列名集合
+ ///
+ public List ColumnNames { get; set; }
+
+ ///
+ /// 关键字段列集合
+ ///
+ public List KeyColumnNames { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/ApiParams/LoginMessageParam.cs b/CnasSynchrousModel/ApiParams/LoginMessageParam.cs
new file mode 100644
index 0000000..f174881
--- /dev/null
+++ b/CnasSynchrousModel/ApiParams/LoginMessageParam.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ public class LoginMessageParam : ApiBaseParam
+ {
+ ///
+ /// 名称
+ ///
+ public string LoginName { get; set; }
+
+ ///
+ /// 密码
+ ///
+ public string LoginPwd { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/ApiParams/TableMessageParam.cs b/CnasSynchrousModel/ApiParams/TableMessageParam.cs
new file mode 100644
index 0000000..c62be87
--- /dev/null
+++ b/CnasSynchrousModel/ApiParams/TableMessageParam.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ public class TableMessageParam : ApiBaseParam
+ {
+ ///
+ /// 自定义查询
+ ///
+ public AutoSql AutoSql { get; set; }
+
+ ///
+ /// 条件参数
+ ///
+ public ConditionParams Condition { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/AutoSql.cs b/CnasSynchrousModel/AutoSql.cs
new file mode 100644
index 0000000..1438b77
--- /dev/null
+++ b/CnasSynchrousModel/AutoSql.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CnasSynchrousModel
+{
+ ///
+ /// 自定义SQL语句类
+ ///
+ public class AutoSql
+ {
+ ///
+ /// 名称(描述)
+ ///
+ public string ViewName { get; set; }
+
+ ///
+ /// sql语句
+ ///
+ public string ViewSql { get; set; }
+ }
+}
diff --git a/CnasSynchrousModel/BalanceClient/LaboratoryTest.cs b/CnasSynchrousModel/BalanceClient/LaboratoryTest.cs
index 13b3db1..18ca723 100644
--- a/CnasSynchrousModel/BalanceClient/LaboratoryTest.cs
+++ b/CnasSynchrousModel/BalanceClient/LaboratoryTest.cs
@@ -162,8 +162,8 @@ namespace CnasSynchrousModel
public string Granularity { get; set; }
}
- //public class DetailAttribute : Attribute
- //{
- // public string ApplyType { get; set; }
- //}
+ public class DetailAttribute : Attribute
+ {
+ public string ApplyType { get; set; }
+ }
}
diff --git a/CnasSynchrousModel/BalanceClient/SyncBalanceItem.cs b/CnasSynchrousModel/BalanceClient/SyncBalanceItem.cs
index 3f2db34..0c9f638 100644
--- a/CnasSynchrousModel/BalanceClient/SyncBalanceItem.cs
+++ b/CnasSynchrousModel/BalanceClient/SyncBalanceItem.cs
@@ -5,8 +5,13 @@ using System.Text;
namespace CnasSynchrousModel
{
+ ///
+ /// 同步天平数据任务项
+ ///
public class SyncBalanceItem
{
+ public string GUID { get; set; }
+
///
/// 类型(全水分/水分。。。)
///
@@ -16,5 +21,15 @@ namespace CnasSynchrousModel
/// 映射字段
///
public List syncParamasInfos { get; set; }
+
+ ///
+ /// CNAS固定值
+ ///
+ public List lstFixedValue { get; set; }
+
+ ///
+ /// 仪器信息列
+ ///
+ public string CnasInstrumentColumn { get; set; }
}
}
diff --git a/CnasSynchrousModel/CnasFixedValue.cs b/CnasSynchrousModel/CnasFixedValue.cs
index e3eb510..60698d0 100644
--- a/CnasSynchrousModel/CnasFixedValue.cs
+++ b/CnasSynchrousModel/CnasFixedValue.cs
@@ -5,6 +5,9 @@ using System.Text;
namespace CnasSynchrousModel
{
+ ///
+ /// 条件映射类
+ ///
public class CnasConditionMapValue
{
///
@@ -37,6 +40,7 @@ namespace CnasSynchrousModel
Divided,
Multiplied,
DecimalDigits,
- AddSubtract
+ AddSubtract,
+ SubstringStartEnd
}
}
diff --git a/CnasSynchrousModel/CnasSynchrousModel.csproj b/CnasSynchrousModel/CnasSynchrousModel.csproj
index 59ec7be..bda58a8 100644
--- a/CnasSynchrousModel/CnasSynchrousModel.csproj
+++ b/CnasSynchrousModel/CnasSynchrousModel.csproj
@@ -9,7 +9,7 @@
Properties
CnasSynchrousModel
CnasSynchrousModel
- v4.0
+ v4.8
512
true
@@ -23,6 +23,7 @@
prompt
4
x86
+ false
pdbonly
@@ -31,6 +32,7 @@
TRACE
prompt
4
+ false
@@ -42,12 +44,17 @@
+
+
+
+
+
+
-
@@ -56,7 +63,6 @@
-
diff --git a/CnasSynchrousModel/DataBaseInfo.cs b/CnasSynchrousModel/DataBaseInfo.cs
index 2a17afe..fa7ef94 100644
--- a/CnasSynchrousModel/DataBaseInfo.cs
+++ b/CnasSynchrousModel/DataBaseInfo.cs
@@ -10,6 +10,7 @@ namespace CnasSynchrousModel
///
public class DataBaseInfo
{
+ public string DataBaseCode { get; set; }
///
/// 服务器
///
diff --git a/CnasSynchrousModel/GlobalConfig.cs b/CnasSynchrousModel/GlobalConfig.cs
deleted file mode 100644
index 0d01c05..0000000
--- a/CnasSynchrousModel/GlobalConfig.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace CnasSynchrousModel
-{
- public class GlobalConfig
- {
- public string LocalInstrumentType { get; set; }
- }
-}
diff --git a/CnasSynchrousModel/InsertDataMapping.cs b/CnasSynchrousModel/InsertDataMapping.cs
deleted file mode 100644
index 4057011..0000000
--- a/CnasSynchrousModel/InsertDataMapping.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace CnasSynchrousModel
-{
- ///
- /// 插入数据映射
- ///
- public class InsertDataMapping
- {
- public string GUID { get; set; }
-
- public string InstrumentCode { get; set; }
-
- public string InstrumentKeyColumn { get; set; }
-
- public string InstrumentKeyValue { get; set; }
-
- public string CNASKeyColumn { get; set; }
-
- public string CNASKeyValue { get; set; }
- }
-}
diff --git a/CnasSynchrousModel/InstrumentDataSourceInfo.cs b/CnasSynchrousModel/InstrumentDataSourceInfo.cs
index 5c20ad3..98946c4 100644
--- a/CnasSynchrousModel/InstrumentDataSourceInfo.cs
+++ b/CnasSynchrousModel/InstrumentDataSourceInfo.cs
@@ -37,7 +37,7 @@ namespace CnasSynchrousModel
///
public DataSourceType InstrumentDataSourceType { get; set; }
- ///
+ ///
/// 用户名
///
public string UserId { get; set; }
diff --git a/CnasSynchrousModel/Param/AccessOpenParams.cs b/CnasSynchrousModel/Param/AccessOpenParams.cs
index ce3a8d2..d4596f8 100644
--- a/CnasSynchrousModel/Param/AccessOpenParams.cs
+++ b/CnasSynchrousModel/Param/AccessOpenParams.cs
@@ -8,6 +8,9 @@ namespace CnasSynchrousModel
{
public class AccessOpenParams: OpenSourceParams
{
+ ///
+ /// 版本
+ ///
public string AccessVersionInfo { get; set; }
///
diff --git a/CnasSynchrousModel/Param/ConditionParams.cs b/CnasSynchrousModel/Param/ConditionParams.cs
index 7b41d54..ce4f7d8 100644
--- a/CnasSynchrousModel/Param/ConditionParams.cs
+++ b/CnasSynchrousModel/Param/ConditionParams.cs
@@ -8,10 +8,30 @@ namespace CnasSynchrousModel
{
public class ConditionParams
{
+ ///
+ /// 表 名
+ ///
public string TableName { get; set; }
+ ///
+ /// 数据列
+ ///
public string DateColumn { get; set; }
+ ///
+ /// 数据值
+ ///
public string DateValue { get; set; }
+
+
+ ///
+ /// 补充列名
+ ///
+ public string ExColumnName { get; set; }
+
+ ///
+ /// 补充列值
+ ///
+ public string ExColumnValue { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/ExcelOpenParams.cs b/CnasSynchrousModel/Param/ExcelOpenParams.cs
index c17fcad..b62d4a9 100644
--- a/CnasSynchrousModel/Param/ExcelOpenParams.cs
+++ b/CnasSynchrousModel/Param/ExcelOpenParams.cs
@@ -8,8 +8,14 @@ namespace CnasSynchrousModel
{
public class ExcelOpenParams:OpenSourceParams
{
+ ///
+ /// Excel文件版本
+ ///
public string ExcelFileVersion { get; set; }
+ ///
+ /// 自定义查询语句
+ ///
public ExcelAutoSql autoSql { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/FoxProOpenParams.cs b/CnasSynchrousModel/Param/FoxProOpenParams.cs
index c71ea44..0b3058a 100644
--- a/CnasSynchrousModel/Param/FoxProOpenParams.cs
+++ b/CnasSynchrousModel/Param/FoxProOpenParams.cs
@@ -7,8 +7,19 @@ namespace CnasSynchrousModel
{
public class FoxProOpenParams: OpenSourceParams
{
+ ///
+ /// 时间格式
+ ///
public string timeFormat { get; set; }
+
+ ///
+ /// 自定义查询语句
+ ///
public FoxProAutoSql autosql { get; set; }
+
+ ///
+ /// 特殊补充方法
+ ///
public FoxProSpecialDataTableOpera specialMethod { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/MySQLOpenParams.cs b/CnasSynchrousModel/Param/MySQLOpenParams.cs
index 252a015..a94404b 100644
--- a/CnasSynchrousModel/Param/MySQLOpenParams.cs
+++ b/CnasSynchrousModel/Param/MySQLOpenParams.cs
@@ -8,12 +8,24 @@ namespace CnasSynchrousModel
{
public class MySQLOpenParams:OpenSourceParams
{
+ ///
+ /// 服务器IP
+ ///
public string StrHost { get; set; }
-
+
+ ///
+ /// 服务器实例名
+ ///
public string StrServer { get; set; }
+ ///
+ /// 端口
+ ///
public string StrPort { get; set; }
+ ///
+ /// 自定义查询
+ ///
public MySqlAutoSql autoSql{ get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/OpenSourceParams.cs b/CnasSynchrousModel/Param/OpenSourceParams.cs
index eb0b507..3c5bfb3 100644
--- a/CnasSynchrousModel/Param/OpenSourceParams.cs
+++ b/CnasSynchrousModel/Param/OpenSourceParams.cs
@@ -8,10 +8,20 @@ namespace CnasSynchrousModel
{
public class OpenSourceParams
{
+ ///
+ /// 路径
+ ///
public string StrPath { get; set; }
+ ///
+ /// 用户名
+ ///
public string StrUser { get; set; }
+
+ ///
+ /// 密码
+ ///
public string StrPwd { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/OracleOpenParams.cs b/CnasSynchrousModel/Param/OracleOpenParams.cs
index d72bc83..48945d8 100644
--- a/CnasSynchrousModel/Param/OracleOpenParams.cs
+++ b/CnasSynchrousModel/Param/OracleOpenParams.cs
@@ -7,12 +7,24 @@ namespace CnasSynchrousModel
{
public class OracleOpenParams: OpenSourceParams
{
+ ///
+ /// 服务器IP
+ ///
public string StrHost { get; set; }
+ ///
+ /// 数据库实例名
+ ///
public string StrServer { get; set; }
+ ///
+ /// 端口
+ ///
public string StrPort { get; set; }
+ ///
+ /// 自定义查询语句
+ ///
public OracleAutoSql autoSql { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/SqlServerOpenParams.cs b/CnasSynchrousModel/Param/SqlServerOpenParams.cs
index 135df3f..bda574a 100644
--- a/CnasSynchrousModel/Param/SqlServerOpenParams.cs
+++ b/CnasSynchrousModel/Param/SqlServerOpenParams.cs
@@ -8,12 +8,25 @@ namespace CnasSynchrousModel
{
public class SqlServerOpenParams:OpenSourceParams
{
+ ///
+ /// 数据库服务器IP
+ ///
public string StrHost { get; set; }
+ ///
+ /// 数据库实例名
+ ///
public string StrServer { get; set; }
+
+ ///
+ /// 端口
+ ///
public string StrPort { get; set; }
+ ///
+ /// 自定义查询语句
+ ///
public SqlServerAutoSql autoSql { get; set; }
//直接使用连接字符串
diff --git a/CnasSynchrousModel/Param/SqliteOpenParams.cs b/CnasSynchrousModel/Param/SqliteOpenParams.cs
index a46b448..41cde37 100644
--- a/CnasSynchrousModel/Param/SqliteOpenParams.cs
+++ b/CnasSynchrousModel/Param/SqliteOpenParams.cs
@@ -8,6 +8,9 @@ namespace CnasSynchrousModel
{
public class SqliteOpenParams: OpenSourceParams
{
+ ///
+ /// 自定义查询语句
+ ///
public SqliteAutoSql autoSql { get; set; }
}
}
diff --git a/CnasSynchrousModel/Param/TXTOpenParams.cs b/CnasSynchrousModel/Param/TXTOpenParams.cs
index f449b52..ebf39be 100644
--- a/CnasSynchrousModel/Param/TXTOpenParams.cs
+++ b/CnasSynchrousModel/Param/TXTOpenParams.cs
@@ -7,6 +7,34 @@ namespace CnasSynchrousModel
{
public class TXTOpenParams : OpenSourceParams
{
+ ///
+ /// 文件模式
+ ///
public string TxtFileMode { get; set; }
+
+ ///
+ /// 分割每个元素的依据。0代表“ ”,1代表“\t”,2代表0和1的集合
+ ///
+ public string SplitType { get; set; }
+
+ ///
+ /// 起始行数(部分txt文件中,表数据的起始位置不是第一行,而是从其他行开始)
+ ///
+ public int StartLineIndex { get; set; }
+
+ ///
+ /// 是否自定义创建日期字段
+ ///
+ public bool IfCustomCreateDateColumn { get; set; }
+
+ ///
+ /// 后缀名类似于(.txt)
+ ///
+ public string Suffix { get; set; }
+
+ ///
+ /// 以日期命名文件名称时的日期格式(yyyyMMdd)
+ ///
+ public string FileNameFormat { get; set; }
}
}
diff --git a/CnasSynchrousModel/SourceConfigFile/NormalFileFormatConfig.cs b/CnasSynchrousModel/SourceConfigFile/NormalFileFormatConfig.cs
index 581b8cb..dcc0d2e 100644
--- a/CnasSynchrousModel/SourceConfigFile/NormalFileFormatConfig.cs
+++ b/CnasSynchrousModel/SourceConfigFile/NormalFileFormatConfig.cs
@@ -31,5 +31,20 @@ namespace CnasSynchrousModel
/// 一般文件数据组织形式,0表示第一行就是数据,1表示第一行是数据列信息,2表示其他组织形式(长沙电厂轨道衡:第一行入常批次号,第三行时间,后面每个车厢数据)
///
public string NormalFileDataMode { get; set; }
+
+ ///
+ /// 分割每个元素的依据。0代表“ ”,1代表“\t”,2代表0和1的集合
+ ///
+ public string NormalFileSplitType { get; set; }
+
+ ///
+ /// 起始行数(部分txt文件中,表数据的起始位置不是第一行,而是从其他行开始)
+ ///
+ public string NormalFileStartLineIndex { get; set; }
+
+ ///
+ /// 是否自定义创建日期字段
+ ///
+ public string IfCustomCreateDateColumn { get; set; }
}
}
diff --git a/CnasSynchrousModel/SourceConfigFile/ServiceConfig.cs b/CnasSynchrousModel/SourceConfigFile/ServiceConfig.cs
index 53c5c73..6780fc3 100644
--- a/CnasSynchrousModel/SourceConfigFile/ServiceConfig.cs
+++ b/CnasSynchrousModel/SourceConfigFile/ServiceConfig.cs
@@ -7,8 +7,24 @@ namespace CnasSynchrousModel
{
public class ServiceConfig
{
+ ///
+ /// 服务间隔时间
+ ///
public int Minutes{ get; set; }
+ ///
+ /// 初始日期
+ ///
public DateTime InitalDT { get; set; }
+
+ ///
+ /// 最多等待次数
+ ///
+ public int MaxWaitCount { get; set; }
+
+ ///
+ /// 是否启动文件/文件夹变化监控(为1时启动,其他数值不启动)
+ ///
+ public string IfStartFileWatcher { get; set; }
}
}
diff --git a/CnasSynchrousModel/SourceConfigFile/SqlServerFormatConfig.cs b/CnasSynchrousModel/SourceConfigFile/SqlServerFormatConfig.cs
index 101ac59..669c7ba 100644
--- a/CnasSynchrousModel/SourceConfigFile/SqlServerFormatConfig.cs
+++ b/CnasSynchrousModel/SourceConfigFile/SqlServerFormatConfig.cs
@@ -12,6 +12,9 @@ namespace CnasSynchrousModel
///
public string SqlServerFileDateColumnFormat { get; set; }
+ ///
+ /// 连接字符串
+ ///
public string SqlServerConnection { get; set; }
///
diff --git a/CnasSynchrousModel/SourceConfigFile/SystemFormatConfig.cs b/CnasSynchrousModel/SourceConfigFile/SystemFormatConfig.cs
index d2ff284..5e1600e 100644
--- a/CnasSynchrousModel/SourceConfigFile/SystemFormatConfig.cs
+++ b/CnasSynchrousModel/SourceConfigFile/SystemFormatConfig.cs
@@ -17,5 +17,30 @@ namespace CnasSynchrousModel
/// 获取表信息的方式,1表示手动输入表信息,0表示自动获取表信息。
///
public string TableInfoMode { get; set; }
+
+ ///
+ /// 自动执行同步时,只记录最近多少天的日志数据,超出时间的日志将会被删除
+ ///
+ public string ShowLogDays { get; set; }
+
+ ///
+ /// 目标数据库类型
+ ///
+ public string TargetDBType { get; set; }
+
+ ///
+ /// 启动通用模式
+ ///
+ public string StartGeneralVersion { get; set; }
+
+ ///
+ /// 启动WebAPI模式写入数据
+ ///
+ public string StartWebApi { get; set; }
+
+ ///
+ /// WebApi的Url
+ ///
+ public string WebApiUrl { get; set; }
}
}
diff --git a/CnasSynchrousModel/SyncInstrumentItemInfo.cs b/CnasSynchrousModel/SyncInstrumentItemInfo.cs
index 1afb54e..c77f301 100644
--- a/CnasSynchrousModel/SyncInstrumentItemInfo.cs
+++ b/CnasSynchrousModel/SyncInstrumentItemInfo.cs
@@ -36,7 +36,7 @@ namespace CnasSynchrousModel
public List LstSyncPramas { get; set; }
///
- /// CNAS固定值
+ /// CNAS条件映射
///
public List lstFixedValue { get; set; }
diff --git a/CnasSynchrousModel/SyncParamasInfo.cs b/CnasSynchrousModel/SyncParamasInfo.cs
index 11b7b2e..20551ed 100644
--- a/CnasSynchrousModel/SyncParamasInfo.cs
+++ b/CnasSynchrousModel/SyncParamasInfo.cs
@@ -10,16 +10,34 @@ namespace CnasSynchrousModel
///
public class SyncParamasInfo
{
+ ///
+ /// 来源表名
+ ///
public string SourceTable { get; set; }
+ ///
+ /// 来源字段
+ ///
public string SourceField { get; set; }
+ ///
+ /// 目标表名
+ ///
public string TargetTable { get; set; }
+ ///
+ /// 目标字段
+ ///
public string TargetField { get; set; }
+ ///
+ /// 是否是关键字段
+ ///
public bool IfPrimaryKey { get; set; }
+ ///
+ /// 是否是关键日期字段
+ ///
public bool IfDateField { get; set; }
}
}
diff --git a/SyncLocalDAL/App.config b/SyncLocalDAL/App.config
index 22022ef..a17b583 100644
--- a/SyncLocalDAL/App.config
+++ b/SyncLocalDAL/App.config
@@ -1,27 +1,27 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/SyncLocalDAL/LaboratoryTestDAL.cs b/SyncLocalDAL/LaboratoryTestDAL.cs
index dd8299e..85a0e22 100644
--- a/SyncLocalDAL/LaboratoryTestDAL.cs
+++ b/SyncLocalDAL/LaboratoryTestDAL.cs
@@ -17,7 +17,7 @@ namespace SyncLocalDAL
{
List laboratoryTests = new List();
try
- {
+ {
//构建数据库连接
SQLiteHelper.SetConnectionString(ConnectString);
diff --git a/SyncLocalDAL/SyncLocalDAL.csproj b/SyncLocalDAL/SyncLocalDAL.csproj
index 9208472..900eb3b 100644
--- a/SyncLocalDAL/SyncLocalDAL.csproj
+++ b/SyncLocalDAL/SyncLocalDAL.csproj
@@ -9,7 +9,7 @@
Properties
SyncLocalDAL
SyncLocalDAL
- v4.0
+ v4.8
512
true
@@ -25,6 +25,7 @@
prompt
4
x86
+ false
pdbonly
@@ -33,6 +34,7 @@
TRACE
prompt
4
+ false
@@ -64,7 +66,6 @@
-
diff --git a/SyncLocalDAL/UpLoadRecordDAL.cs b/SyncLocalDAL/UpLoadRecordDAL.cs
index 9fe1ed5..4fc346c 100644
--- a/SyncLocalDAL/UpLoadRecordDAL.cs
+++ b/SyncLocalDAL/UpLoadRecordDAL.cs
@@ -11,6 +11,11 @@ namespace SyncLocalDAL
{
public class UpLoadRecordDAL : LocalDBbase, IUpLoadRecord
{
+ ///
+ /// 插入一条记录数据
+ ///
+ ///
+ ///
public int InsertUpLoadRecord(UpLoadRecord record)
{
int iReturn = 0;
diff --git a/SyncLocalDAL/packages.config b/SyncLocalDAL/packages.config
index 37b20e1..6f92f24 100644
--- a/SyncLocalDAL/packages.config
+++ b/SyncLocalDAL/packages.config
@@ -1,8 +1,8 @@
-
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/WF-ChangeGUID/App.config b/WF-ChangeGUID/App.config
index 899c9bd..b8bf9e1 100644
--- a/WF-ChangeGUID/App.config
+++ b/WF-ChangeGUID/App.config
@@ -1,7 +1,7 @@
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/WF-ChangeGUID/Form1.Designer.cs b/WF-ChangeGUID/Form1.Designer.cs
deleted file mode 100644
index 862739c..0000000
--- a/WF-ChangeGUID/Form1.Designer.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-namespace WF_ChangeGUID
-{
- partial class Form1
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows 窗体设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- this.button1 = new System.Windows.Forms.Button();
- this.SuspendLayout();
- //
- // button1
- //
- this.button1.Location = new System.Drawing.Point(401, 35);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(75, 23);
- this.button1.TabIndex = 0;
- this.button1.Text = "执行";
- this.button1.UseVisualStyleBackColor = true;
- this.button1.Click += new System.EventHandler(this.button1_Click);
- //
- // Form1
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(512, 260);
- this.Controls.Add(this.button1);
- this.Name = "Form1";
- this.Text = "Form1";
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.Button button1;
- }
-}
-
diff --git a/WF-ChangeGUID/Form1.cs b/WF-ChangeGUID/Form1.cs
deleted file mode 100644
index c945f32..0000000
--- a/WF-ChangeGUID/Form1.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using CnasSynchronusClient;
-using CnasSynchrousModel;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace WF_ChangeGUID
-{
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
-
- private void button1_Click(object sender, EventArgs e)
- {
- List lstSyncInstrument = FileOperation.GetLocalSyncInStrumentData();
- if (lstSyncInstrument != null)
- {
- foreach (SyncInstrumentItemInfo item in lstSyncInstrument)
- {
- item.GUID = Guid.NewGuid().ToString();
- }
- //保存
- if (FileOperation.SaveLocalSyncInStrumentData(lstSyncInstrument))
- MessageBox.Show("保存成功");
- else
- MessageBox.Show("保存失败");
- }
- }
- }
-}
diff --git a/WF-ChangeGUID/Program.cs b/WF-ChangeGUID/Program.cs
index c641d19..ed95c6d 100644
--- a/WF-ChangeGUID/Program.cs
+++ b/WF-ChangeGUID/Program.cs
@@ -15,7 +15,7 @@ namespace WF_ChangeGUID
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
+ Application.Run(new frmMain());
}
}
}
diff --git a/WF-ChangeGUID/Properties/Resources.Designer.cs b/WF-ChangeGUID/Properties/Resources.Designer.cs
index 437351b..20c13cf 100644
--- a/WF-ChangeGUID/Properties/Resources.Designer.cs
+++ b/WF-ChangeGUID/Properties/Resources.Designer.cs
@@ -1,69 +1,61 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行时版本: 4.0.30319.42000
+// 运行时版本:4.0.30319.42000
//
-// 对此文件的更改可能导致不正确的行为,如果
-// 重新生成代码,则所做更改将丢失。
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace WF_ChangeGUID.Properties
-{
-
-
+namespace WF_ChangeGUID.Properties {
+ using System;
+
+
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WF_ChangeGUID.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// 覆盖当前线程的 CurrentUICulture 属性
- /// 使用此强类型的资源类的资源查找。
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
diff --git a/WF-ChangeGUID/Properties/Settings.Designer.cs b/WF-ChangeGUID/Properties/Settings.Designer.cs
index 1e3bd16..e2a2d23 100644
--- a/WF-ChangeGUID/Properties/Settings.Designer.cs
+++ b/WF-ChangeGUID/Properties/Settings.Designer.cs
@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
-namespace WF_ChangeGUID.Properties
-{
-
-
+namespace WF_ChangeGUID.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
diff --git a/WF-ChangeGUID/WF-ChangeGUID.csproj b/WF-ChangeGUID/WF-ChangeGUID.csproj
index df7804f..4f87587 100644
--- a/WF-ChangeGUID/WF-ChangeGUID.csproj
+++ b/WF-ChangeGUID/WF-ChangeGUID.csproj
@@ -8,9 +8,10 @@
WinExe
WF_ChangeGUID
WF-ChangeGUID
- v4.0
+ v4.8
512
true
+
x86
@@ -21,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -30,6 +32,7 @@
TRACE
prompt
4
+ false
@@ -44,16 +47,16 @@
-
+
Form
-
- Form1.cs
+
+ frmMain.cs
-
- Form1.cs
+
+ frmMain.cs
ResXFileCodeGenerator
@@ -63,6 +66,7 @@
True
Resources.resx
+ True
diff --git a/WF-ChangeGUID/frmMain.Designer.cs b/WF-ChangeGUID/frmMain.Designer.cs
new file mode 100644
index 0000000..42b691a
--- /dev/null
+++ b/WF-ChangeGUID/frmMain.Designer.cs
@@ -0,0 +1,124 @@
+namespace WF_ChangeGUID
+{
+ partial class frmMain
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows 窗体设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.btnSave = new System.Windows.Forms.Button();
+ this.listBox1 = new System.Windows.Forms.ListBox();
+ this.listBox2 = new System.Windows.Forms.ListBox();
+ this.btnNewGUID = new System.Windows.Forms.Button();
+ this.btnOpenNoJiaMi = new System.Windows.Forms.Button();
+ this.btnOpenJiaMi = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // btnSave
+ //
+ this.btnSave.Location = new System.Drawing.Point(422, 134);
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Size = new System.Drawing.Size(78, 28);
+ this.btnSave.TabIndex = 0;
+ this.btnSave.Text = "加密保存";
+ this.btnSave.UseVisualStyleBackColor = true;
+ this.btnSave.Click += new System.EventHandler(this.button1_Click);
+ //
+ // listBox1
+ //
+ this.listBox1.FormattingEnabled = true;
+ this.listBox1.ItemHeight = 12;
+ this.listBox1.Location = new System.Drawing.Point(34, 22);
+ this.listBox1.Name = "listBox1";
+ this.listBox1.Size = new System.Drawing.Size(178, 136);
+ this.listBox1.TabIndex = 1;
+ //
+ // listBox2
+ //
+ this.listBox2.FormattingEnabled = true;
+ this.listBox2.ItemHeight = 12;
+ this.listBox2.Location = new System.Drawing.Point(218, 22);
+ this.listBox2.Name = "listBox2";
+ this.listBox2.Size = new System.Drawing.Size(182, 136);
+ this.listBox2.TabIndex = 2;
+ //
+ // btnNewGUID
+ //
+ this.btnNewGUID.Location = new System.Drawing.Point(422, 95);
+ this.btnNewGUID.Name = "btnNewGUID";
+ this.btnNewGUID.Size = new System.Drawing.Size(78, 33);
+ this.btnNewGUID.TabIndex = 3;
+ this.btnNewGUID.Text = "生成新标识";
+ this.btnNewGUID.UseVisualStyleBackColor = true;
+ this.btnNewGUID.Click += new System.EventHandler(this.button2_Click);
+ //
+ // btnOpenNoJiaMi
+ //
+ this.btnOpenNoJiaMi.Location = new System.Drawing.Point(422, 55);
+ this.btnOpenNoJiaMi.Name = "btnOpenNoJiaMi";
+ this.btnOpenNoJiaMi.Size = new System.Drawing.Size(78, 34);
+ this.btnOpenNoJiaMi.TabIndex = 4;
+ this.btnOpenNoJiaMi.Text = "以非加密方式打开";
+ this.btnOpenNoJiaMi.UseVisualStyleBackColor = true;
+ this.btnOpenNoJiaMi.Click += new System.EventHandler(this.button3_Click);
+ //
+ // btnOpenJiaMi
+ //
+ this.btnOpenJiaMi.Location = new System.Drawing.Point(422, 12);
+ this.btnOpenJiaMi.Name = "btnOpenJiaMi";
+ this.btnOpenJiaMi.Size = new System.Drawing.Size(78, 37);
+ this.btnOpenJiaMi.TabIndex = 5;
+ this.btnOpenJiaMi.Text = "以加密方式打开";
+ this.btnOpenJiaMi.UseVisualStyleBackColor = true;
+ this.btnOpenJiaMi.Click += new System.EventHandler(this.btnOpenJiaMi_Click);
+ //
+ // frmMain
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(512, 174);
+ this.Controls.Add(this.btnOpenJiaMi);
+ this.Controls.Add(this.btnOpenNoJiaMi);
+ this.Controls.Add(this.btnNewGUID);
+ this.Controls.Add(this.listBox2);
+ this.Controls.Add(this.listBox1);
+ this.Controls.Add(this.btnSave);
+ this.Name = "frmMain";
+ this.Text = "标识工具";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnSave;
+ private System.Windows.Forms.ListBox listBox1;
+ private System.Windows.Forms.ListBox listBox2;
+ private System.Windows.Forms.Button btnNewGUID;
+ private System.Windows.Forms.Button btnOpenNoJiaMi;
+ private System.Windows.Forms.Button btnOpenJiaMi;
+ }
+}
+
diff --git a/WF-ChangeGUID/frmMain.cs b/WF-ChangeGUID/frmMain.cs
new file mode 100644
index 0000000..08a7f78
--- /dev/null
+++ b/WF-ChangeGUID/frmMain.cs
@@ -0,0 +1,83 @@
+using CnasSynchronusClient;
+using CnasSynchrousModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace WF_ChangeGUID
+{
+ public partial class frmMain : Form
+ {
+ List lstSyncInstrument = new List();
+ public frmMain()
+ {
+ InitializeComponent();
+ }
+
+ ///
+ /// 保存
+ ///
+ ///
+ ///
+ private void button1_Click(object sender, EventArgs e)
+ {
+ if (FileOperation.SaveLocalSyncInStrumentData(lstSyncInstrument))
+ MessageBox.Show("保存成功");
+ else
+ MessageBox.Show("保存失败");
+ }
+ ///
+ /// 非加密方式打开
+ ///
+ ///
+ ///
+ private void button3_Click(object sender, EventArgs e)
+ {
+ listBox1.Items.Clear();
+ lstSyncInstrument = FileOperation.GetLocalSyncInStrumentData_NoDecrypt();
+ if (lstSyncInstrument.Count > 0)
+ {
+ foreach (SyncInstrumentItemInfo item in lstSyncInstrument)
+ {
+ listBox1.Items.Add(item.Code);
+ listBox1.Items.Add(item.GUID);
+ }
+ }
+ }
+
+ private void button2_Click(object sender, EventArgs e)
+ {
+ if (lstSyncInstrument.Count <= 0)
+ {
+ MessageBox.Show("没有读取到配置数据!");
+ return;
+ }
+
+ foreach (SyncInstrumentItemInfo item in lstSyncInstrument)
+ {
+ item.GUID = Guid.NewGuid().ToString();
+ listBox2.Items.Add(item.Code);
+ listBox2.Items.Add(item.GUID);
+ }
+ }
+
+ private void btnOpenJiaMi_Click(object sender, EventArgs e)
+ {
+ lstSyncInstrument = FileOperation.GetLocalSyncInStrumentData();
+ if (lstSyncInstrument.Count > 0)
+ {
+ foreach (SyncInstrumentItemInfo item in lstSyncInstrument)
+ {
+ //item.GUID = Guid.NewGuid().ToString();
+ listBox1.Items.Add(item.Code);
+ listBox1.Items.Add(item.GUID);
+ }
+ }
+ }
+ }
+}
diff --git a/WF-ChangeGUID/Form1.resx b/WF-ChangeGUID/frmMain.resx
similarity index 100%
rename from WF-ChangeGUID/Form1.resx
rename to WF-ChangeGUID/frmMain.resx
diff --git a/dll.zip b/dll.zip
new file mode 100644
index 0000000..4cb07ea
Binary files /dev/null and b/dll.zip differ
diff --git a/dll/BalanceHelper.CHM b/dll/BalanceHelper.CHM
new file mode 100644
index 0000000..ac8c81e
Binary files /dev/null and b/dll/BalanceHelper.CHM differ
diff --git a/dll/CNASBalanceDBManage.exe b/dll/CNASBalanceDBManage.exe
index 8a9419e..4753767 100644
Binary files a/dll/CNASBalanceDBManage.exe and b/dll/CNASBalanceDBManage.exe differ
diff --git a/dll/CNASBalanceDBManage.exe.config b/dll/CNASBalanceDBManage.exe.config
index 774fe69..b24213d 100644
--- a/dll/CNASBalanceDBManage.exe.config
+++ b/dll/CNASBalanceDBManage.exe.config
@@ -1,48 +1,49 @@
-
+
-
+
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/dll/CNASBalanceDBManage.vshost.exe b/dll/CNASBalanceDBManage.vshost.exe
new file mode 100644
index 0000000..681ab77
Binary files /dev/null and b/dll/CNASBalanceDBManage.vshost.exe differ
diff --git a/dll/CNASBalanceDBManage.vshost.exe.config b/dll/CNASBalanceDBManage.vshost.exe.config
new file mode 100644
index 0000000..b24213d
--- /dev/null
+++ b/dll/CNASBalanceDBManage.vshost.exe.config
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dll/CNASBalanceDBManage.vshost.exe.manifest b/dll/CNASBalanceDBManage.vshost.exe.manifest
new file mode 100644
index 0000000..061c9ca
--- /dev/null
+++ b/dll/CNASBalanceDBManage.vshost.exe.manifest
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dll/CNAS_BalanceClient.exe b/dll/CNAS_BalanceClient.exe
index 4ddfc3f..13ea583 100644
Binary files a/dll/CNAS_BalanceClient.exe and b/dll/CNAS_BalanceClient.exe differ
diff --git a/dll/CNAS_BalanceClient.exe.config b/dll/CNAS_BalanceClient.exe.config
index 4dffbab..4c0c27d 100644
--- a/dll/CNAS_BalanceClient.exe.config
+++ b/dll/CNAS_BalanceClient.exe.config
@@ -1,48 +1,56 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/dll/CNAS_DBSync.exe b/dll/CNAS_DBSync.exe
index b7b0b59..e0af08e 100644
Binary files a/dll/CNAS_DBSync.exe and b/dll/CNAS_DBSync.exe differ
diff --git a/dll/CNAS_DBSync.exe.config b/dll/CNAS_DBSync.exe.config
index a395129..1eff40e 100644
--- a/dll/CNAS_DBSync.exe.config
+++ b/dll/CNAS_DBSync.exe.config
@@ -1,74 +1,87 @@
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/dll/CNAS_DBSync.vshost.exe b/dll/CNAS_DBSync.vshost.exe
new file mode 100644
index 0000000..681ab77
Binary files /dev/null and b/dll/CNAS_DBSync.vshost.exe differ
diff --git a/dll/CNAS_DBSync.vshost.exe.config b/dll/CNAS_DBSync.vshost.exe.config
new file mode 100644
index 0000000..1eff40e
--- /dev/null
+++ b/dll/CNAS_DBSync.vshost.exe.config
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dll/CNAS_RunSync.exe b/dll/CNAS_RunSync.exe
index 7d2c9a4..60b81a9 100644
Binary files a/dll/CNAS_RunSync.exe and b/dll/CNAS_RunSync.exe differ
diff --git a/dll/CNAS_RunSync.exe.config b/dll/CNAS_RunSync.exe.config
index 64e317f..82607d6 100644
--- a/dll/CNAS_RunSync.exe.config
+++ b/dll/CNAS_RunSync.exe.config
@@ -1,50 +1,53 @@
-
+
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
diff --git a/dll/CNAS_SerialPort.dll b/dll/CNAS_SerialPort.dll
new file mode 100644
index 0000000..4f0869c
Binary files /dev/null and b/dll/CNAS_SerialPort.dll differ
diff --git a/dll/CNAS_SyncService.InstallLog b/dll/CNAS_SyncService.InstallLog
index 394c0f4..9ca6541 100644
--- a/dll/CNAS_SyncService.InstallLog
+++ b/dll/CNAS_SyncService.InstallLog
@@ -379,3 +379,355 @@ System.Security.SecurityException: 未找到源,但未能搜索某些或全部
正在移除 EventLog 源 SyncService。
正在从系统中移除服务 SyncService...
已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在回滚程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在将事件日志还原到源 SyncService 的前一状态。
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+尝试停止服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在回滚程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在将事件日志还原到源 SyncService 的前一状态。
+在 System.Diagnostics.EventLogInstaller 安装程序的“回退”阶段发生异常。
+System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。 不可访问的日志: Security。
+在安装的“回退”阶段发生异常。将忽略该异常并继续回退。但是,在完成回退后计算机可能无法完全还原到它的初始状态。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+尝试停止服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+已成功安装服务 SyncService。
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在提交程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
+正在安装程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在安装服务 SyncService...
+正在日志 Application 中创建 EventLog 源 SyncService...
+正在回滚程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ i =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+ logtoconsole =
+正在将事件日志还原到源 SyncService 的前一状态。
+正在卸载程序集“E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe”。
+受影响的参数是:
+ logtoconsole =
+ logfile = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog
+ assemblypath = E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe
+正在移除 EventLog 源 SyncService。
+警告: 源 SyncService 未在本地计算机上注册。
+正在从系统中移除服务 SyncService...
+已成功地从系统中移除服务 SyncService。
diff --git a/dll/CNAS_SyncService.exe b/dll/CNAS_SyncService.exe
index c81ff83..e09911b 100644
Binary files a/dll/CNAS_SyncService.exe and b/dll/CNAS_SyncService.exe differ
diff --git a/dll/CNAS_SyncService.exe.config b/dll/CNAS_SyncService.exe.config
index a5570a7..12752ef 100644
--- a/dll/CNAS_SyncService.exe.config
+++ b/dll/CNAS_SyncService.exe.config
@@ -1,66 +1,68 @@
-
+
-
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/dll/Cache/CUsersLiDesktopCalWin191211KWT.kwt b/dll/Cache/CUsersLiDesktopCalWin191211KWT.kwt
deleted file mode 100644
index 01ca093..0000000
--- a/dll/Cache/CUsersLiDesktopCalWin191211KWT.kwt
+++ /dev/null
@@ -1,11 +0,0 @@
-10
-9121101 0.97390 0 0 1 1 10923.8 2.8632 70 16 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 31910 ________ 07B 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.353730
-9121102 0.92050 0 0 1 1 10923.8 2.1567 70 16 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 25377 ________ 04 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.388763
-9121103 0.93870 0 0 1 1 10923.8 2.1094 70 16 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24334 ________ 03 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.407764
-9121104 0.92050 0 0 1 1 10923.8 2.1567 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 25377 ________ 1210CDNW04 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.435696
-9121105 0.93870 0 0 1 1 10923.8 2.1094 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24334 ________ 1210CDNW03 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.436505
-9121106 0.93870 0 0 1 1 10923.8 2.1022 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24251 ________ 1210CDNW03 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.436799
-9121107 0.96230 0 0 1 1 10923.8 2.2195 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24987 ________ 1210CDNW02 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.437233
-9121110 0.94070 0 0 1 1 10923.8 2.1793 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 25094 ________ 1210CDNW05 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.662672
-9121112 0.92530 0 0 1 1 10923.8 2.0789 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24327 ________ 191210CDNWHC 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.695697
-9121113 0.96040 0 0 1 1 10923.8 2.1511 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24259 ________ 191210CDNWHC 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43810.696108
diff --git a/dll/Cache/CUsersLiDesktopCalWin191217KWT.kwt b/dll/Cache/CUsersLiDesktopCalWin191217KWT.kwt
deleted file mode 100644
index 44feb17..0000000
--- a/dll/Cache/CUsersLiDesktopCalWin191217KWT.kwt
+++ /dev/null
@@ -1,5 +0,0 @@
-4
-9121702 0.98220 0 0 1 1 10923.8 2.4005 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 39 26454 ________ BJS 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43816.387205
-9121703 0.92220 0 0 1 2 10098.0 2.2571 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24498 ________ 1217CDNW01 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43816.407990
-9121707 0.91540 0 0 1 1 10923.8 2.0673 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24451 ________ 1217CDNW02 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43816.599062
-9121708 0.98730 0 0 1 2 10098.0 2.4166 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24514 ________ 1217CDNW02 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43816.599742
diff --git a/dll/Cache/CUsersLiDesktopCalWin191218KWT.kwt b/dll/Cache/CUsersLiDesktopCalWin191218KWT.kwt
deleted file mode 100644
index 580058e..0000000
--- a/dll/Cache/CUsersLiDesktopCalWin191218KWT.kwt
+++ /dev/null
@@ -1,6 +0,0 @@
-5
-9121801 0.91470 0 0 1 1 10923.8 2.6896 70 16 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 31902 ________ 07B 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43817.349423
-9121806 0.98570 0 0 1 1 10923.8 2.2379 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24598 ________ 1217CDNW04 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43817.567940
-9121808 0.95040 0 0 1 2 10098.0 2.3039 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24268 ________ 1217CDNW03 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43817.568785
-9121811 0.94090 0 0 1 2 10098.0 2.3402 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24903 ________ 1217CDNW05 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43817.569853
-9121814 0.98100 0 0 1 1 10923.8 2.2247 70 144 0 0 0 130 0.00 0.00 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0 24569 ________ 1217CDNWHE 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 25.0000 0.00 0.00 0.0000 0.0000 0.0000 ________ 43817.574618
diff --git a/dll/Cache/CUsersLiDesktopCalWin191219KWT.kwt b/dll/Cache/CUsersLiDesktopCalWin191219KWT.kwt
deleted file mode 100644
index 573541a..0000000
--- a/dll/Cache/CUsersLiDesktopCalWin191219KWT.kwt
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911200037dbf.dbf b/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911200037dbf.dbf
deleted file mode 100644
index 358886c..0000000
Binary files a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911200037dbf.dbf and /dev/null differ
diff --git a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911202150dbf.dbf b/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911202150dbf.dbf
deleted file mode 100644
index cfe8e52..0000000
Binary files a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911202150dbf.dbf and /dev/null differ
diff --git a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911211009dbf.dbf b/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911211009dbf.dbf
deleted file mode 100644
index 10f0bb4..0000000
Binary files a/dll/Cache/ECNAS工作资料10轨道衡数据石家庄石家庄热电轨道衡数据num201911211009dbf.dbf and /dev/null differ
diff --git a/dll/Cache/E取数端数据源112DTDatamdb.mdb b/dll/Cache/E取数端数据源112DTDatamdb.mdb
new file mode 100644
index 0000000..4083b10
Binary files /dev/null and b/dll/Cache/E取数端数据源112DTDatamdb.mdb differ
diff --git a/dll/CnasLocalIDAL.dll b/dll/CnasLocalIDAL.dll
index f448b8a..ed82ee4 100644
Binary files a/dll/CnasLocalIDAL.dll and b/dll/CnasLocalIDAL.dll differ
diff --git a/dll/CnasSynchronousCommon.dll b/dll/CnasSynchronousCommon.dll
index 6b4e095..5d04e65 100644
Binary files a/dll/CnasSynchronousCommon.dll and b/dll/CnasSynchronousCommon.dll differ
diff --git a/dll/CnasSynchronusClient.dll b/dll/CnasSynchronusClient.dll
index d7a083d..30aec90 100644
Binary files a/dll/CnasSynchronusClient.dll and b/dll/CnasSynchronusClient.dll differ
diff --git a/dll/CnasSynchronusClient.dll.config b/dll/CnasSynchronusClient.dll.config
index 3a6488b..150af98 100644
--- a/dll/CnasSynchronusClient.dll.config
+++ b/dll/CnasSynchronusClient.dll.config
@@ -1,19 +1,19 @@
-
+
-
+
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/dll/CnasSynchronusDAL.dll b/dll/CnasSynchronusDAL.dll
index 2ea4664..a755133 100644
Binary files a/dll/CnasSynchronusDAL.dll and b/dll/CnasSynchronusDAL.dll differ
diff --git a/dll/CnasSynchronusDAL.dll.config b/dll/CnasSynchronusDAL.dll.config
index 9680365..40af1b7 100644
--- a/dll/CnasSynchronusDAL.dll.config
+++ b/dll/CnasSynchronusDAL.dll.config
@@ -1,12 +1,9 @@
-
+
-
+
-
+
@@ -20,19 +17,16 @@
-
+
-
-
+
+
-
-
+
+
@@ -50,4 +44,4 @@
-
\ No newline at end of file
+
diff --git a/dll/CnasSynchronusIDAL.dll b/dll/CnasSynchronusIDAL.dll
index 385db30..7f06cca 100644
Binary files a/dll/CnasSynchronusIDAL.dll and b/dll/CnasSynchronusIDAL.dll differ
diff --git a/dll/CnasSynchrousModel.dll b/dll/CnasSynchrousModel.dll
index 679f18d..9c9044f 100644
Binary files a/dll/CnasSynchrousModel.dll and b/dll/CnasSynchrousModel.dll differ
diff --git a/dll/Data/FormSize.xml b/dll/Data/FormSize.xml
new file mode 100644
index 0000000..e138443
--- /dev/null
+++ b/dll/Data/FormSize.xml
@@ -0,0 +1,4 @@
+
+
+0,0,1727,1032,400
+
\ No newline at end of file
diff --git a/dll/Data/SyncCnasDataBase.mes b/dll/Data/SyncCnasDataBase.mes
index 0170e31..f98f77b 100644
--- a/dll/Data/SyncCnasDataBase.mes
+++ b/dll/Data/SyncCnasDataBase.mes
@@ -1 +1 @@
-/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtVtdmrzpENRhgI7H4I7XBoH9hDOJzoj3OEyUpwsooAdzQ8bDplU49tEx/+m5qFkktsntSFQcwqdcGPd4y00oqLeZpHxg+bvOmBfJLH62QVmHEGW69VKVzXyAfvGyvlU9Y2nrTWSlSXfT2v2ZhPwRP3h7W+KY4bXjt4K1Jr5FjvO8c9BIqP01Hm8
\ No newline at end of file
+/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtUxembAlb3j7elM+qBGcYnXd5Pb8M4TpopE/5fZCldOXIhfqAk5bYu6iMgHtcRH42D9X1cWE/19FUCq04Rt4BZKODKJAiSIU3YFyq7VBU+Ii3NHnw592fpfu09SHAs65vjpijd31AKUJzpTkvhBIBo3sJhknfamWRI=
\ No newline at end of file
diff --git a/dll/Data/SyncInStrumentData.mes b/dll/Data/SyncInStrumentData.mes
index dda2e01..7a4496e 100644
--- a/dll/Data/SyncInStrumentData.mes
+++ b/dll/Data/SyncInStrumentData.mes
@@ -1 +1 @@
-/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCW1I/HueTuOJOcD40MLI2D0tMGBACgOQKJ6uY/zxinGkLrJDCtdmDmvCeR1n1Hv+sdVxRY8tWYGGLijvZWhOzTx+NIPsCCPxG2JhtyMdOmPXaw9rO2jOmxYYzqi+uTe4RSnvmlg2X5u1T39xZueFOnurq+m5Q3v1PRYgqU2LlZXdR+P4SwRnjM07xrUsBgEyB6DIJlrLWpuf3zIYTNaGpb3704fKb+n4W5hRbjQz7XafXZAYbxvY7wKGpTpwioKicZ85PKGoZVvapRXU1Cp3aKWYYVTftqLJ4jx/vAeLsFNd+EnhOEr8yRqZhYTkaL6BDi+GKR8z50/qvrMYfqQtzgAm/kCk9lwRW+i5mpUPdEd3qafqQNTsW8ncBIzz0+oXnVEf9E6qlBVq8ML/gTdb//yl1T0Kw+YmRxZHd8nIV5u+yYeklc/TplAfwWv4HLS4hHMGehX9/N6sOwUn2nOTEcj8OovhbrJnXWV4QoXBsrzuUhS7dXju3x+hg5D82jpwXbD+NTYMfeLzJI5E4GR3aDHTxEbM1HX5vLIQnYAUaSHiG7XATkXqSmmLT98//ObOe9NmQHI5K87j4oiAz3J2ddXCCxlb81DUj0ntI3ShgS7S/Z8rf+0F7dLEACD0+DY/8oVViWcAlPEmecXC2BweVjjqy71eLMlADzB68mKYrTrFo1AvJOH7x9dwuogX+/w86d5CAgTzFcQ6p78J5Gq9brdFrMaSGvtFKbLn+BEK+uZC5ccOZhiL7xT1oHp/u0gKCpUrMLFjMhUCdglje90+PP47GbrdHrtL4vTZ9sJDEpV8toWeEtcaxAsK6htZBWshWG4Laot1P2YAKtjyXvF3IqTcLXWXYCGryH+TtrTmA3p2Gkkq4eRwasocQ2rMyOcTfTtAzKUhtut5WBGzIWg0i7v5f6O8mV/HT4VSDmqDqQCyak2Fe9pSriqa0hgl7NXhTVkJ55SCW8wQbKNxApbC2JyPTBEeaZ5lUl11YAzDljpwqlr4rwf4EXgK5tH19lBzJPIsAnhiYBs5lHHK962+kBS2EULjmfPzg2CuW43/EDIEni1/kd8Cj8SIBTVZXVPOGc5wKsVLK7mf2zo/7t0cECQi58FWSHxauPB4mVR5jdPifnU9ohingnBaP+5uGMaVn0Gzm9bWbXjAazw6ASzjKC4woB3i3VYRRdet3FaeTjV2AJDusrt/ml2QsF7jpGQPG454J+eawNILAmpXJy6lU6Ktdd4AmMi1R8PeCule4+09X9FSaLHWTAFkmNqJP6QVIjx3jpFLSibZkNRZk8bx1e5seuq8Pe8/jL/ePsyaoPt+W6WdOafjUmcVPxOabgc0M74lbw8HRNo62alM9AK67hOnX+wUWWcbgGAvkRizAL1KW9bAsFMBTxjqqINOBhjHb3Q8TMNao2ZCzJt3/WsNgB4lM4kdHPzOnfnCWmrP9kVYt7R9fjN31NIC9BD6gfplfZwmymS3nUBjoyf+TWAZWa+wjzbAedENuUQvk61sNhotXq8yuzTmDbQMEehMV06ox9uARfiaoGrCOEc0cX+qJrxuu9tC1x9uVnTGilZ9IfVxGL1YcfTkr4diT0jxh+q9+QfksL5oapw/yFk6W8j8rHuREtqZjEcOklxjnBFa9FV0jyNBOLQ94aZKEth57T+wjbfRX7YjwgnI7d8klAG89nX8ydyLYd165lzDPE1fuMOW2Tk9PtWGNWOWcRroojXnilfr7WxmBDVsQSrZjtcY9SyziHQ1ACLOc+MnLcep+jjzpDUiFV8D9nsoD4LFSrPcluEB2ZGyAV3e7vhnrdSAq5lrgZrRNUlzLrWeOjbe1iQ33OugrIUwlr4NjilQt1T1XvNDlpdq0sNB7wXZKgdPrM0KiZ9N7N431oypoNlg+Gnf3quNB/QMsfCgoDorGcJSl8S+PEphbYzCybLfdJGrEsFOws2I+aeqhgaGO9LxA8QUrOKDoK2PCGZfYu2fpsRNidgTZMbXNyaCxDN5vlK3fNnHQTPbfgl+cEIzqDLBGDj2hyn//kcajdvGlbDwyLP9R6ZIrN6F6uK55PQorm/kI7XZeab5CmEowBzazNgfkWmEdwhNWaQkSDj10HtzXHkyknNDOiCTUjzZmRztnMoo4XL0MLgSjzQDNeMkqa/1bislNHM/gSDdFObOIpHyYX74L6hgQaNOA6gzNL86NDNxbB0WMAQnbTy0h/7MN+aZ/gYr0Hr/cmO58VXjl32lg7ol/qmsSq25SygTPuLnjbc1KuBvpyojHvtjji37qLl09xb7L22o6wJXof8x+Wb8ZkfbFio97m8Afb8Rd1BzS5g3ddMZE9y3g2cLOapH+9A70e5h0j4KbmVokvz62+tLuu2Msa1uXEc0UWAuOfYVHSce/vKcxSTHBYfCqTDHM9LnxkyQ1Bv0RNUlA6JPDirrt5+98sjqtOpU96vZvqODn/nnc1s8QwBOTNG+wH0e1aN3pGOkPtNLV26NehWRfbKLAQmIQyx1EPmgEnhof7PJ5SlxidO0sE9BcrdBx0IQh8MXsftOxZjxdO0L0uM+4Tv+kdlKCPK9bZLJq3n0lFUkw4oqVp6PpxbO3GwSHuPl7D2XhNTy6oKnSw3UC/smVE0N61OsuASkNBw5q+soWFRt7SwZwC9/HAcOfb5FLE70IFGIW7IZOkOsP3UM0VZ4jRubPcvXfB3X/ebJdHVXnVwoi455p3+FK1q9TxTzeS/lSmD41rcIZDN88pboMAdVeVlIqOgDbwKOwyJwO6Bi/4xsMaJh1d8LtYIh0ZrLU6TtrrLRYHMj7kAf6Q/q6PMbh9fXh3MBI8fPD4HA0mSec8BFuOZFDzoGVA6lBHf88G7OJtu/wpJS2v7158QO6zgvBuBU0W3cwXdovkbRSq4bRiarwxx6p/TItjSzIr7LR67PTXUTJ6+GZ6MHRm25OVpg1hnq+u+e3EvGX5DD8J+hrNu0BVvcHOxqSNTDY4JUh7Jo2f/8Zmq1YgqYWDViPhmG/jUJVg9MMNGhi4KM0XqpWEefUM7Pasx9xU/0b+DYjWKChqf72ODqLCOcymNKxdIx7wKc/QrI/WNuG6DhJrC/5JkcllzynFRjOk/sMTYxogel503gq0oUoJHfBC6WSr7JsMwcORMdb6Zt6NtToIpq8Zdj+eoOM45GcBEYr61PzlkF8NMzoKz3fVsh0jDI791PjJ5kHpsg3LkTqd8mryz3edafxmDYMnbmYiAvV8cnDaAllQ4NSB9fd10ALbAAQhVzrXhbw3Sjctt9c6csaOvbUa4P6Kctl679/jwr4lhG0CKd8wtAAJlgxJi82iM8PMVcMjfpa7UB4sITtHEaTixZPheoxkdqk93RVpWyAgpavbHqKULG5qvLGeRYcjQzt7xKGTd2/cVHD2albTJZEqspSteXgE+rpF31PE0x2vDViMD3JktWAjp7hLx9Krvpf1WNfOD8XGHH2B4FHuPrGL++lQibgaEsGGMXb/ZTq4aC81iIMWKObBlpxOc0Yf9/DyVUuBbwaqP6B7BKgPbaz3/y70UVfDZ1cJR5QKXm37+YK0rQ7hk+SASkMYmbGwd3ub3PPn9zVrEB4lp4AOKZXncoZn39R5OwbHnOvTd9oErR1/gfiCFf5q8uetVeJAGJW9UmY81ahTQdOxLjiQVM5v4aSupojTA8Hbo871w0Pi1LF+r4NhUlvb2D6cfRTMViZVMOKuaOYr+Kg229y2p8QHc4QubSAptFu8KlFaLHDLigvgjKJzZm7H7tlrSTQNKvXPgrnQiVL8DLWsjTrtTEQUBZxBW2tb3ywo4ym4aGuptCZmZcs6+dfq7Jd/LdH+ZYVbDl03QjnVG47SdCBQSMQnnkON4jtEAH+RpTS/ULCHjvyPX5zlyMN3U391H8z9LEeFCZDmNIYfffk09v6rCg2sBzFgNZAfeMfdxsiEnq0glhv7fUjy3ujWcn65khamRqcrH+raImp10WTyPYb6DJ3EeT5/pH0DqWUyBP4cwfhS7cZGP/J0c/faAj+UJKT053qDfmbxQXH+nuJ/PlmT6Zifm4B5/747XBkGQYP6KHI1gG7LNf+hSO1/guKY3EDpO5nRflupq4oEzEM3+nDLbzwCXtXRQTRFRO9uHKLmARg0jumteZmUf68zCigznkyWEi40t1a/5EkeAi2jEwTTDRKznnmepIBuKZhKFrD+S/54K92qnvtK823SHDnFEFG6nAe2
\ No newline at end of file
+/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCW1I/HueTuOJOcD40MLI2D0tMGBACgOQKJ6uY/zxinGkLrJDCtdmDmvCeR1n1Hv+sdVxRY8tWYGGLijvZWhOzTx+NIPsCCPxG2JhtyMdOmPXaw9rO2jOmxYYzqi+uTe4RSnvmlg2X5u1T39xZueFOnurq+m5Q3v1PRYgqU2LlZXdR+P4SwRnjM07xrUsBgEyB6DIJlrLWpuf3zIYTNaGpbsC4ELycWtPudfCVNDLSxlrKZyc9NpAT04XeJAwX8Lq2tp4OKijLU76pLxi1ISQOg2kkl+XdtRfktDNPOFSDAsFtMo4DoqH/YXyMh/Pa0dVcaDEkCdaDGD6QLi7OMnDephI7djzAxy1gTzaF3z4mGYx2zBU4lgOKBQi4IqPYP34yJnakvc7w6vYlbWwTSIZveu98wVuSo+z3C0CSK8MwitpWfFKvL9fb3kyvXuRKe9EU9gFfugDOl+kNbphhBR6eC+t6WLC0fERVA9bl+2/DQ5EoyM0s8xVUX+liTfQv8DXLga1OUYM3gxVZRZwinrRvpxbp3f/qQVDuIlrHqy7yof99P1QOsnNYewbDjgzEt3/dFK08t0wTIVPl/T4YYkdC2NmO5/vaQHRQjF/nedaeI+AucsteqE4/UqD8B6wUL00+UX5iD4SxDJjeeRWAxBmH8Z9JKRDr7ZjICWxEDT5/X2rRYyPRdug4XaSJyTfVsJ/5B58UBJph5BWhOhsZ90gkHojhKXd7LtMfe66eunn2OMlI0aaAqT822QSZQqI8fN7KkKppg/iAIOmW/ZrH1s+RTjpMOb9lQWDZewXHaZrG8Plakm/JSxKTlUm/bO+1VhEesz9NuXDRMhoC+iQwRUpJV3xepenueVhHZcfAzOdkAFOVwPnbDXjhMPzi6nJFiZU4OsjXSj7D+LGKAg3COv2r9Ao+Sxyi+XEhcw8XBPv3eq6vWN4jcVeijI1Sgv8dn8ywOaceEP4lh8lgj9T8ozFMG7dAdaeD6D4yp0zwe33XnfeNgKfBChft7gcrkJa+6EjWnzpUBUmA5VOF4OIXMp51vi+QdV2qfqvGsh04/twSDhx01qlP0lSrjDqbPj5FCsdONu3y33o/AIAj+OTHaapQBpodxTdPxSzv4iTMvd7/AhEtELnMPmul6NMksb79/Lnovul5oeRPZYewGLWaNHg1vs+grrNZXcZ4bKoWBn7ep2nte4Cu0glkAw6YyvgFxMrSlI7mf5mJZJuQlu7WcQxCBQIyP7+nBFoMuVM1VKar0KcxCfN1tOeHw3HEW+IQA6bN89b4Eubbzfy+FviSCT4tZ943lZ/1f409dTnHN1EBO7T4vYaY2Cvb2GpkYUDPF89wicWLEvnl0JEiyA39RAnYOna+JbluiifgNcxMea77nPIyJFeRpRLso9Cf3r1Xhpqrrf8xnTSJJt0nni5FkVHZ3tzHbTPVQBHmQ5Bb5DZ05RLG8kO2jHV+CKPvDQ+wv0ycr71CnobJAOs/W4j3kVUtBhO7kbLO1w/kyZpKNzZU/Qrm91T9h7S4mJvImq7UIP24N16s08xk/03UEMTQXj70KOER86iPln8TuiT1oM/TZWcVhhK9Vo7UUSteHGOrnyw1kp54xD/74dNxEAXDkuXfuPq9T0i0Q74au412DUgi5/taF/SUeLU0JFPdIXhgM2dWMmXnOepBSZGD6S2WuxJOPdOTuaVCI8z6AZptO4ksb3os23WJJdPAzj3zHkMD5jG32BOECF1IUa049JKPhFC5jEqTN5R0C2NkDnkBEYKg9ASNTNComyyRGCTW+2mFzXFzv1iqdXH/gEaQ+DPTqJGc1JiH+Qf1YVjnSTW1m5XeFW4aiotV7UfNYWrgporzeJeOHs84zBKHVfDlcN6h56J3d29eZqfBByd5yi/XX1OO9s7o60EtSOEieLRR5t4tsmXO7NqWivEhFYLzniRVmuzUZzKtKXjlESID2/DhjP9zpn3b+4UPjBoCupbSeYGGTD+K77bOxNBpZbklavi9LOE+oA7YFvzzc9ElhwhDt91GNql3Dwg12+pxiMB1r8Pt8/Gd8dvfXKDHaTVUvTA2BLA9pNJQBIRtv3SM+SoIwY7LNvegPA2Bqp60XH2f8UDQJaCuY3A1S+ZuLSXOomlOe28CR0A/luBggT3mEawLcIs4PdgCC8wycEmIIW1geIxh4QvOS/U8VbbkDNnel8KzYCHEr4nbUl6HYAQ/ZOHuyILiX7ZxSIomC87vicE+yYyVhH/gOplE9K/bm+2RDaf2uhVbOv9bszV3dVyjOGFXkszmSX/s3/AnQ8fi2oqKln8LdIygWqBIox824BHupei/ietH6hUFcYSTsFmY=
\ No newline at end of file
diff --git a/dll/Data/SyncOperationPwd.mes b/dll/Data/SyncOperationPwd.mes
new file mode 100644
index 0000000..5f8c718
--- /dev/null
+++ b/dll/Data/SyncOperationPwd.mes
@@ -0,0 +1 @@
+PIiCmqDq6wk=
\ No newline at end of file
diff --git a/dll/Data/SyncPlatDataBase.mes b/dll/Data/SyncPlatDataBase.mes
index c66a491..f64ae67 100644
--- a/dll/Data/SyncPlatDataBase.mes
+++ b/dll/Data/SyncPlatDataBase.mes
@@ -1 +1 @@
-/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtVtdmrzpENRhgI7H4I7XBoH9hDOJzoj3OEyUpwsooAdzdscE3sZzewDtWeEjhyjeeQ0FH2+4473Tp42m/LVJh7/7gp1Uq+LEsx0idyEmsV6C6NQIwlnojXBHAFylsjXixYRuwrL7/nencFsFonB/IHcAYj/2WYlIn9Z9H4t6Ad5mbNaVIkoKwlT
\ No newline at end of file
+/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtUxembAlb3j7elM+qBGcYnXd5Pb8M4TpopE/5fZCldOXIzUoHW/wcqpiG3docnnCSsnNwonHPryUY00lQgo/ytfhc4ATmWyfe3XFi5eKUPysKgSA6SVxVNPKtHiMsDbUPWowwduuXkpX/OLQH4aBGWMnYIRob6ZzWMGg+f97YPw6g==
\ No newline at end of file
diff --git a/dll/Data/SyncServiceData.xml b/dll/Data/SyncServiceData.xml
deleted file mode 100644
index b09528c..0000000
--- a/dll/Data/SyncServiceData.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- 1
- 2019-10-15T00:00:00
-
\ No newline at end of file
diff --git a/dll/DataConfig/AccessFormatConfig.xml b/dll/DataConfig/AccessFormatConfig.xml
index c87e18a..53b8971 100644
--- a/dll/DataConfig/AccessFormatConfig.xml
+++ b/dll/DataConfig/AccessFormatConfig.xml
@@ -1,20 +1 @@
-
-
-
- 0
-
- 0
-
- yyyyMMdd
-
- .db
-
- MM
-
- yyyy/MM/dd/dddd HH:mm:ss
-
-
-
-
-
-
\ No newline at end of file
+.mdb0yyyyMMddHHmmssMM1ssssselect * from Alltables
\ No newline at end of file
diff --git a/dll/DataConfig/ExcelFormatConfig.xml b/dll/DataConfig/ExcelFormatConfig.xml
index 8261ba7..2ce1a73 100644
--- a/dll/DataConfig/ExcelFormatConfig.xml
+++ b/dll/DataConfig/ExcelFormatConfig.xml
@@ -1,11 +1 @@
-
-
- 0
-
-
-
-
-
-
-
-
\ No newline at end of file
+01
\ No newline at end of file
diff --git a/dll/DataConfig/NormalFileFormatConfig.xml b/dll/DataConfig/NormalFileFormatConfig.xml
index 2af3363..d8d3b41 100644
--- a/dll/DataConfig/NormalFileFormatConfig.xml
+++ b/dll/DataConfig/NormalFileFormatConfig.xml
@@ -1,8 +1 @@
-
-
- .kwt
- yyMMdd
- yyMMdd
- 1
- 5
-
\ No newline at end of file
+.txtyyyyMMddyyyyMMdd17110
\ No newline at end of file
diff --git a/dll/DataConfig/SqlServerFormatConfig.xml b/dll/DataConfig/SqlServerFormatConfig.xml
index 4cc6cbe..c16c5f6 100644
--- a/dll/DataConfig/SqlServerFormatConfig.xml
+++ b/dll/DataConfig/SqlServerFormatConfig.xml
@@ -1,14 +1 @@
-
-
- yyyyMMddHHmm
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/dll/DataConfig/SyncServiceData.xml b/dll/DataConfig/SyncServiceData.xml
new file mode 100644
index 0000000..99a772d
--- /dev/null
+++ b/dll/DataConfig/SyncServiceData.xml
@@ -0,0 +1,7 @@
+
+
+ 2
+ 2020-01-01T00:00:00
+ 3
+ 0
+
\ No newline at end of file
diff --git a/dll/DataConfig/SystemFormatConfig.xml b/dll/DataConfig/SystemFormatConfig.xml
index 1ff6860..cbfdcd1 100644
--- a/dll/DataConfig/SystemFormatConfig.xml
+++ b/dll/DataConfig/SystemFormatConfig.xml
@@ -1,7 +1 @@
-
-
-
- -40
-
- 0
-
\ No newline at end of file
+-100-10mysql00http://localhost:8080/api
\ No newline at end of file
diff --git a/dll/Devart.Data.SQLite.dll b/dll/Devart.Data.SQLite.dll
index 4383d97..d7f6615 100644
Binary files a/dll/Devart.Data.SQLite.dll and b/dll/Devart.Data.SQLite.dll differ
diff --git a/dll/Devart.Data.dll b/dll/Devart.Data.dll
index 23c74ee..499fbc2 100644
Binary files a/dll/Devart.Data.dll and b/dll/Devart.Data.dll differ
diff --git a/dll/Document/AshMeltingPoint.xls b/dll/Document/AshMeltingPoint.xls
index 5223685..403dbc6 100644
Binary files a/dll/Document/AshMeltingPoint.xls and b/dll/Document/AshMeltingPoint.xls differ
diff --git a/dll/Document/CalorimetricApparatus.xls b/dll/Document/CalorimetricApparatus.xls
index 6fd85ab..5cff54f 100644
Binary files a/dll/Document/CalorimetricApparatus.xls and b/dll/Document/CalorimetricApparatus.xls differ
diff --git a/dll/ErrorLog/20191113.txt b/dll/ErrorLog/20191113.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/dll/ErrorLog/20191119.txt b/dll/ErrorLog/20191119.txt
deleted file mode 100644
index 1dbf3ea..0000000
--- a/dll/ErrorLog/20191119.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-¼ʱ䣺2019-11-19 10:21:45,048 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-19 10:21:45,070 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-19 10:21:59,156 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-19 10:21:59,158 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-19 10:21:59,240 ߳ID:[1]- :frmServiceConfig :getServiceStartType Ϣ:עȨ
-¼ʱ䣺2019-11-19 10:22:02,894 ߳ID:[1]- :frmServiceConfig :StartService Ϣ:.ϵ SyncService
-¼ʱ䣺2019-11-19 10:22:18,918 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-19 10:22:18,937 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191120.txt b/dll/ErrorLog/20191120.txt
deleted file mode 100644
index 8367970..0000000
--- a/dll/ErrorLog/20191120.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-¼ʱ䣺2019-11-20 16:05:29,399 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-20 16:05:29,497 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-20 16:05:29,748 ߳ID:[1]- :frmServiceConfig :getServiceStartType Ϣ:δõʵ
diff --git a/dll/ErrorLog/20191120.txt20191120.txt b/dll/ErrorLog/20191120.txt20191120.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/dll/ErrorLog/20191121.txt b/dll/ErrorLog/20191121.txt
deleted file mode 100644
index 2ced873..0000000
--- a/dll/ErrorLog/20191121.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-¼ʱ䣺2019-11-21 15:09:12,844 ߳ID:[1]- :FoxProDAL :ReadFoxProTablesByDate Ϣ:СSHIPCOUNTRYڱ Table
-¼ʱ䣺2019-11-21 15:13:18,352 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-21 15:13:18,442 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-21 15:13:47,734 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-21 15:13:48,529 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-21 15:14:47,854 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-21 15:14:48,063 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191129.txt b/dll/ErrorLog/20191129.txt
deleted file mode 100644
index a32ae9a..0000000
--- a/dll/ErrorLog/20191129.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-¼ʱ䣺2019-11-29 18:25:53,425 ߳ID:[8]- :MySQLHelper :ExecuteDataSet Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-11-29 18:26:08,452 ߳ID:[8]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-11-29 18:26:08,452 ߳ID:[8]- :MySQLDAL :GetMaxTimeByTableName Ϣ:Unable to connect to any of the specified MySQL hosts.
diff --git a/dll/ErrorLog/20191202.txt b/dll/ErrorLog/20191202.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/dll/ErrorLog/20191204.txt b/dll/ErrorLog/20191204.txt
deleted file mode 100644
index 42eccd3..0000000
--- a/dll/ErrorLog/20191204.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-¼ʱ䣺2019-12-04 17:35:34,661 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-04 17:35:34,786 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-04 17:35:38,133 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-04 17:35:38,158 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191205.txt b/dll/ErrorLog/20191205.txt
deleted file mode 100644
index b69e2ca..0000000
--- a/dll/ErrorLog/20191205.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-¼ʱ䣺2019-12-05 08:46:50,982 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-05 08:46:51,120 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-03 08:47:49,791 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-03 08:47:49,824 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-15 08:48:26,350 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-15 08:48:26,380 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-15 08:48:42,967 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-15 08:48:43,000 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-11-13 08:50:50,017 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-11-13 08:50:50,063 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191206.txt b/dll/ErrorLog/20191206.txt
deleted file mode 100644
index 2547e64..0000000
--- a/dll/ErrorLog/20191206.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-¼ʱ䣺2019-12-06 09:02:58,353 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-06 09:02:58,459 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-06 09:03:02,075 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-06 09:03:02,101 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-06 09:03:12,256 ߳ID:[1]- :SQLiteDAL :ExecuteQuery Ϣ:file is not a database
-file is not a database
-¼ʱ䣺2019-12-06 09:03:12,279 ߳ID:[1]- :SQLiteDAL :ReadSQLiteTables Ϣ:file is not a database
-file is not a database
-¼ʱ䣺2019-12-06 09:03:37,236 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:δȷýԶ
-¼ʱ䣺2019-12-06 09:04:19,472 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-06 09:04:19,566 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-04 08:07:29,276 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:ûпõĴϢ: DB_SEC_E_AUTH_FAILED(0x80040E4D)
-¼ʱ䣺2019-12-04 08:19:31,255 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:ûпõĴϢ: DB_SEC_E_AUTH_FAILED(0x80040E4D)
-¼ʱ䣺2019-12-06 10:45:05,140 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-06 10:45:05,160 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191209.txt b/dll/ErrorLog/20191209.txt
deleted file mode 100644
index 31eb99c..0000000
--- a/dll/ErrorLog/20191209.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-¼ʱ䣺2019-12-09 11:09:03,193 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-09 11:09:03,292 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-09 11:09:41,280 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-09 11:09:41,402 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-09 11:10:13,948 ߳ID:[1]- :OracleDAL :TestLink Ϣ:ORA-12541: TNS:
-¼ʱ䣺2019-12-09 11:30:32,128 ߳ID:[1]- :OracleDAL :TestLink Ϣ:ORA-12541: TNS:
-¼ʱ䣺2019-12-09 11:31:49,868 ߳ID:[1]- :OracleDAL :GetDataTable Ϣ:ORA-12541: TNS:
-¼ʱ䣺2019-12-09 11:37:13,333 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-09 11:37:13,433 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-09 11:37:41,056 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-09 11:37:41,078 ߳ID:[1]- :MySQLDAL :GetTableNames Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-09 11:42:55,730 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-09 11:42:55,923 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-09 11:44:30,069 ߳ID:[1]- :OracleDAL :GetDataTable Ϣ:ORA-00942: ͼ
-¼ʱ䣺2019-12-09 17:37:45,994 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-09 17:37:46,089 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191210.txt b/dll/ErrorLog/20191210.txt
deleted file mode 100644
index 460ed9b..0000000
--- a/dll/ErrorLog/20191210.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-¼ʱ䣺2019-12-10 09:23:18,042 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'T_WEIGHT_INFO$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 09:23:34,491 ߳ID:[1]- :OracleDAL :GetDataTable Ϣ:ʱ
-¼ʱ䣺2019-12-10 09:23:49,661 ߳ID:[1]- :OracleDAL :GetDataTable Ϣ:ʱ
-¼ʱ䣺2019-12-10 09:23:58,913 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 09:23:58,967 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 09:24:49,143 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'T_WEIGHT_INFO$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 09:41:00,045 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 09:41:00,128 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 09:41:03,931 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 09:41:03,955 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 09:41:28,356 ߳ID:[1]- :OracleDAL :GetDataTable Ϣ:ʱ
-¼ʱ䣺2019-12-10 09:49:10,550 ߳ID:[1]- :SqlServerDAL :GetAllTableNameAndStructure Ϣ:Login failed for user ''.
-¼ʱ䣺2019-12-10 10:33:10,746 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 10:33:10,827 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 10:34:33,349 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 10:34:33,441 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 10:36:49,145 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 10:36:49,232 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 10:37:29,493 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:ʶݿʽ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktopTPaccdb.mdb'
-¼ʱ䣺2019-12-10 10:39:02,230 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 10:39:02,316 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 10:48:18,712 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 10:48:18,809 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 10:48:42,419 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ч
-¼ʱ䣺2019-12-10 10:49:59,183 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TP_COLLECTDATA$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 10:50:46,366 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TP_COLLECTDATA$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 10:52:46,025 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TP_COLLECTDATA$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 10:56:45,622 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TP_COLLECTDATA$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 11:02:51,717 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 11:02:51,867 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 11:05:17,852 ߳ID:[1]- :OracleDAL :TestLink Ϣ:ʱ
-¼ʱ䣺2019-12-10 11:53:09,614 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 11:53:09,760 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 11:55:07,482 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 11:55:07,582 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 11:55:37,318 ߳ID:[1]- :SqlServerDAL :GetAllTableNameAndStructure Ϣ: SQL Server ʱصĻضʵĴδҵʷ֤ʵǷȷ SQL Server ΪԶӡ (provider: SQL Network Interfaces, error: 26 - λָķ/ʵʱ)
-¼ʱ䣺2019-12-10 11:57:43,824 ߳ID:[1]- :SqlServerDAL :GetAllTableNameAndStructure Ϣ: SQL Server ʱصĻضʵĴδҵʷ֤ʵǷȷ SQL Server ΪԶӡ (provider: SQL Network Interfaces, error: 26 - λָķ/ʵʱ)
-¼ʱ䣺2019-12-10 11:59:42,735 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:51:31,628 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 13:51:31,697 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 13:51:45,261 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:54:05,912 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:56:13,868 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:57:20,029 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 13:57:20,059 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 13:57:58,403 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:58:03,638 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 13:58:22,149 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'TEST$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-10 14:24:19,224 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 14:24:19,308 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 14:32:44,980 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 14:32:45,088 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 14:46:46,285 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 14:46:46,373 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 16:52:55,239 ߳ID:[1]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-10 16:53:19,229 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 16:53:19,354 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 16:53:38,604 ߳ID:[1]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-10 16:54:32,028 ߳ID:[1]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-10 16:59:51,213 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 16:59:51,339 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 17:01:15,663 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 17:01:15,771 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 17:01:51,036 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:01:51,543 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:02:18,617 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:02:18,768 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:02:46,965 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:02:47,125 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:02:54,174 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:02:54,341 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:03:42,915 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:03:43,063 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:08:34,770 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:08:34,975 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\192168109146ddd20191205mdb.mdb'
-¼ʱ䣺2019-12-10 17:11:53,426 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ӧó汾ݿ⡣
-¼ʱ䣺2019-12-10 17:12:37,506 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ӧó汾ݿ⡣
-¼ʱ䣺2019-12-10 17:12:58,485 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ӧó汾ݿ⡣
-¼ʱ䣺2019-12-10 17:14:28,185 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:·\\192.168.109.146\ddd\20191205.mdbķʱܾ
-¼ʱ䣺2019-12-10 17:14:30,476 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ӧó汾ݿ⡣
-¼ʱ䣺2019-12-10 17:46:53,412 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 17:46:53,542 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-10 17:47:17,268 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ӧó汾ݿ⡣
-¼ʱ䣺2019-12-10 17:49:12,720 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-10 17:49:12,821 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191211.txt b/dll/ErrorLog/20191211.txt
deleted file mode 100644
index f06c10f..0000000
--- a/dll/ErrorLog/20191211.txt
+++ /dev/null
@@ -1,468 +0,0 @@
-¼ʱ䣺2019-12-11 09:25:15,868 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-11 09:25:15,995 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-11 09:26:47,945 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'1$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-11 09:27:10,880 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-11 09:27:10,936 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-11 09:27:17,012 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'1$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-11 09:28:23,430 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-11 09:28:23,461 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-11 09:28:26,654 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'1$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-11 09:29:23,021 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'12$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-11 09:29:33,143 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,173 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,206 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,240 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,270 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,302 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,335 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,369 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,401 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,431 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,461 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,491 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,521 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,554 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,584 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,612 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,646 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,677 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,707 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,739 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,774 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,805 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,835 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,870 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,903 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,935 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,966 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:33,997 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,026 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,057 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,089 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,131 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,168 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,203 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,235 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,263 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,291 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,324 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,356 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,390 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,424 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,453 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,485 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,519 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,549 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,582 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,612 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,646 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,679 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,708 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,740 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,770 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,810 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,844 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,875 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,903 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,933 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:34,965 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,008 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,037 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,069 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,102 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,132 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,163 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,194 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,229 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,261 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,295 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,326 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,358 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,389 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,421 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,453 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,484 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,514 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,545 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,578 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,615 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,654 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,686 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,719 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,749 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,781 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,813 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,853 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,886 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,917 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,949 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:35,978 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,012 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,045 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,086 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,115 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,144 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,181 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,215 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,252 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,291 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,322 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,355 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,384 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,412 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,443 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,473 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,511 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,541 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,569 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,598 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,626 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,658 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,691 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,724 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,757 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,786 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,815 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,845 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,884 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,920 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,951 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:36,982 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,012 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,042 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,071 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,102 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,134 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,166 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,199 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,230 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,261 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,291 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,325 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,354 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,385 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,421 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,452 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,482 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,514 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,546 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,578 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,606 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,638 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,669 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,700 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,734 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,772 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,805 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,841 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,872 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,907 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,939 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:29:37,977 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:03,957 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:44,953 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:44,986 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,018 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,048 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,078 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,109 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,142 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,181 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,215 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,243 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,275 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,305 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,336 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,368 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,399 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,432 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,465 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,496 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,531 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,566 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,600 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,629 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,662 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,692 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,723 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,755 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,790 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,821 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,852 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,884 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,918 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,947 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:45,977 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,011 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,044 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,080 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,115 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,146 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,178 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,209 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,236 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,265 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,296 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,327 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,358 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,391 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,424 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,455 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,485 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,517 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,547 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,577 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,609 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,643 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,672 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,701 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,730 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,760 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,791 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,822 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,860 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,921 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:46,965 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,001 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,031 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,065 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,100 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,131 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,161 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,190 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,220 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,254 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,288 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,317 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,346 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,375 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,406 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,435 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,487 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,519 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,548 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,580 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,613 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,643 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,678 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,707 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,736 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,765 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,795 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,827 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,862 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,897 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,928 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,962 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:47,992 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,023 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,055 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,086 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,129 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,164 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,197 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,230 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,260 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,293 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,331 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,363 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,393 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,425 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,457 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,486 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,523 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,560 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,592 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,622 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,653 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,683 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,714 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,750 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,780 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,809 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,842 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,874 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,904 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,935 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,969 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:48,999 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,030 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,066 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,098 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,128 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,164 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,193 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,224 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,253 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,283 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,314 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,346 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,383 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,418 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,450 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,484 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,515 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,548 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,590 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,633 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,663 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,693 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,723 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,751 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:49,789 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:59,815 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'12$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-11 09:30:59,925 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:59,960 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:30:59,995 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,032 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,062 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,092 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,123 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,152 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,184 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,221 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,257 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,286 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,327 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,358 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,389 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,423 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,459 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,491 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,525 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,556 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,585 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,621 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,655 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,688 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,719 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,749 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,783 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,817 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,849 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,879 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,908 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,944 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:00,977 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,014 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,051 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,090 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,123 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,157 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,188 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,220 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,254 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,291 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,324 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,356 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,388 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,419 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,457 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,491 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,525 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,555 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,587 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,619 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,657 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,692 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,723 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,757 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,788 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,819 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,850 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,888 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,920 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,954 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:01,983 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,015 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,049 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,087 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,118 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,146 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,178 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,211 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,243 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,277 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,310 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,340 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,374 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,403 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,435 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,468 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,504 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,538 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,569 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,600 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,633 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,666 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,703 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,737 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,772 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,804 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,834 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,863 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,896 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,931 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,960 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:02,988 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,021 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,057 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,087 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,119 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,152 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,187 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,220 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,250 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,281 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,314 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,351 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,385 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,416 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,448 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,479 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,511 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,542 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,577 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,611 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,643 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,676 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,711 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,742 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,779 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,812 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,840 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,871 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,904 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,935 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,965 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:03,997 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,025 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,054 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,084 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,117 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,146 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,180 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,226 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,259 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,289 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,319 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,351 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,383 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,422 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,456 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,488 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,517 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,547 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,577 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,607 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,639 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,669 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,698 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,728 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,756 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,786 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:04,816 ߳ID:[1]- :MdbDAL :IfSepcialDateFormat Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-11 09:31:56,315 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'12$' һЧơȷЧַ㣬Ʋ̫
diff --git a/dll/ErrorLog/20191212.txt b/dll/ErrorLog/20191212.txt
deleted file mode 100644
index 9cd87c3..0000000
--- a/dll/ErrorLog/20191212.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-¼ʱ䣺2019-12-12 09:39:42,689 ߳ID:[1]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-12 09:40:52,487 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 09:40:52,600 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 09:41:26,026 ߳ID:[1]- :ExcelDAL :ReadExcelByNameToTable Ϣ:'12$' һЧơȷЧַ㣬Ʋ̫
-¼ʱ䣺2019-12-12 09:41:43,327 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 09:41:43,382 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 09:46:08,618 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 09:46:08,698 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:15:59,054 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:15:59,150 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:18:15,940 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:18:16,017 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:21:32,179 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:21:32,274 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:29:03,778 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:29:03,868 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:32:57,947 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:32:58,031 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 11:58:36,478 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 11:58:36,586 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 12:39:23,373 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 12:39:23,416 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 12:40:40,402 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 12:40:40,433 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 15:57:21,929 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-12 15:57:21,947 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-12 15:57:57,671 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:ļC:\Users\Li\Desktop\GDH.mdbһʹã˸ýʴļ
-¼ʱ䣺2019-12-12 15:57:57,748 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktopGDHmdb.mdb'
diff --git a/dll/ErrorLog/20191213.txt b/dll/ErrorLog/20191213.txt
deleted file mode 100644
index 52f535e..0000000
--- a/dll/ErrorLog/20191213.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-¼ʱ䣺2019-12-13 09:32:49,425 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 09:56:48,922 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 09:56:49,012 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 09:56:51,836 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:06:26,428 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:08:40,662 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:09:23,768 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:09:42,209 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:10:25,833 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 11:10:25,890 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 11:10:28,073 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:14:51,270 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 11:15:12,520 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:06:42,585 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:07:03,543 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 14:07:03,604 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 14:07:11,396 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:07:19,803 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:07:40,932 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:07:54,310 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:10:17,792 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:10:36,116 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 14:10:36,187 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 14:11:29,514 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:11:43,990 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:11:45,631 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:26:13,266 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:33:07,150 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 14:33:07,197 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 14:33:08,869 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:33:25,665 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:37:13,650 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-13 14:37:13,689 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-13 14:37:15,816 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-13 14:37:32,915 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdbһ֡
diff --git a/dll/ErrorLog/20191216.txt b/dll/ErrorLog/20191216.txt
deleted file mode 100644
index 91d4319..0000000
--- a/dll/ErrorLog/20191216.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-¼ʱ䣺2019-12-16 17:58:17,560 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-16 17:58:17,653 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191217.txt b/dll/ErrorLog/20191217.txt
deleted file mode 100644
index aaece3d..0000000
--- a/dll/ErrorLog/20191217.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-¼ʱ䣺2019-12-17 15:19:10,967 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\ȡ˲20191212.01dd\ȡ˲20191212.01\Cache\DczdatabaseGDHmdb.mdb\DczdatabaseGDHmdb.mdbһ֡
-¼ʱ䣺2019-12-17 15:20:17,493 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:20:17,582 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:20:17,822 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncInStrumentData.mes
-¼ʱ䣺2019-12-17 15:20:17,860 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:20:18,068 ߳ID:[1]- :FileOperation :GetLocalSyncInStrumentData Ϣ:XML ĵ(0, 0)д
-¼ʱ䣺2019-12-17 15:21:10,480 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\2019comDatabase.mdb\2019comDatabase.mdbһ֡
-¼ʱ䣺2019-12-17 15:22:20,485 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:22:43,653 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵ·C:\Users\Li\Desktop\2019comDatabase.mdb\2019comDatabase.mdbһ֡
-¼ʱ䣺2019-12-17 15:23:08,065 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:23:16,973 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:23:34,361 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:27:43,275 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:27:43,362 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:27:43,596 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncInStrumentData.mes
-¼ʱ䣺2019-12-17 15:27:43,635 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:27:43,817 ߳ID:[1]- :FileOperation :GetLocalSyncInStrumentData Ϣ:XML ĵ(0, 0)д
-¼ʱ䣺2019-12-17 15:28:49,777 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:30:47,488 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:31:01,153 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:33:57,109 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:33:57,199 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:35:33,284 ߳ID:[1]- :MdbDAL :ReadAccessTables Ϣ:Ҳļ 'E:\JXD\CNASClient\CNAS_DBSync\dll\Cache\CUsersLiDesktop2019comDatabasemdb.mdb'
-¼ʱ䣺2019-12-17 15:36:47,481 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:36:47,577 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:37:51,068 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:37:51,149 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:38:45,149 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-17 15:38:45,181 ߳ID:[1]- :MySQLDAL :GetTableNames Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-17 15:42:02,059 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:42:02,144 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:44:09,444 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:44:09,527 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:48:35,796 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:48:35,825 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 15:49:12,495 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 15:49:12,528 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191218.txt b/dll/ErrorLog/20191218.txt
deleted file mode 100644
index d38ea82..0000000
--- a/dll/ErrorLog/20191218.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-¼ʱ䣺2019-12-18 09:43:04,670 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 09:43:04,776 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 11:24:07,054 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 11:24:07,158 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:14:03,776 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:14:03,907 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:17:25,535 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵļC:\Users\Li\Desktop\\201912180908.ddd
-¼ʱ䣺2019-12-18 17:17:29,678 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵļC:\Users\Li\Desktop\\201912180947.ddd
-¼ʱ䣺2019-12-18 17:17:31,538 ߳ID:[1]- :TXTDAL :ReadTxtFileColumn Ϣ:ΧΪǸֵСڼϴС
-: index
-¼ʱ䣺2019-12-18 17:17:31,565 ߳ID:[1]- :TXTDAL :ReadTxtFileColumn Ϣ:ΧΪǸֵСڼϴС
-: index
-¼ʱ䣺2019-12-18 17:18:12,321 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵļC:\Users\Li\Desktop\\201912180908.ddd
-¼ʱ䣺2019-12-18 17:18:13,951 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵļC:\Users\Li\Desktop\\201912180947.ddd
-¼ʱ䣺2019-12-18 17:19:07,521 ߳ID:[1]- :TXTDAL :ReadTxtFileColumn Ϣ:ΧΪǸֵСڼϴС
-: index
-¼ʱ䣺2019-12-18 17:19:07,551 ߳ID:[1]- :TXTDAL :ReadTxtFileColumn Ϣ:ΧΪǸֵСڼϴС
-: index
-¼ʱ䣺2019-12-18 17:20:49,918 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:δҵļC:\Users\Li\Desktop\\201912180908.ddd
-¼ʱ䣺2019-12-18 17:22:24,087 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:22:24,211 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:31:56,482 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:31:56,617 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:35:23,095 ߳ID:[1]- :TXTInstrumentData :GetInstrumentDataByDate Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-18 17:35:45,206 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:35:45,317 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:37:43,304 ߳ID:[1]- :TXTInstrumentData :GetInstrumentDataByDate Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-18 17:38:03,212 ߳ID:[1]- :TXTInstrumentData :GetInstrumentDataByDate Ϣ:ַδʶΪЧ DateTime
-¼ʱ䣺2019-12-18 17:43:41,634 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:43:41,716 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 17:46:29,580 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 17:46:29,661 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 17:47:43,965 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 17:47:44,023 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 17:47:45,331 ߳ID:[1]- :TXTInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\\2019\12\17һ֡
-¼ʱ䣺2019-12-16 17:48:30,884 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-16 17:48:30,931 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-16 17:50:41,700 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-16 17:50:41,753 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 11:29:51,264 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 11:29:51,324 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-18 11:31:32,191 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-18 11:31:32,246 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-17 11:40:17,255 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-17 11:40:17,285 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-11 11:41:01,303 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-11 11:41:01,334 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-11 11:41:31,006 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-11 11:41:31,036 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191219.txt b/dll/ErrorLog/20191219.txt
deleted file mode 100644
index 63aba93..0000000
--- a/dll/ErrorLog/20191219.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-¼ʱ䣺2019-12-19 10:41:21,565 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-19 10:41:21,670 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-19 10:41:34,725 ߳ID:[1]- :TXTInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\CalWin\2019\12\19һ֡
-¼ʱ䣺2019-12-19 10:51:14,415 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-19 10:51:14,492 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-19 11:17:48,946 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-19 11:17:49,040 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20191220.txt b/dll/ErrorLog/20191220.txt
deleted file mode 100644
index 0a8957a..0000000
--- a/dll/ErrorLog/20191220.txt
+++ /dev/null
@@ -1,476 +0,0 @@
-¼ʱ䣺2019-12-20 09:16:50,009 ߳ID:[1]- :MySQLHelper :TestConnectMySql Ϣ:Unable to connect to any of the specified MySQL hosts.
-¼ʱ䣺2019-12-20 09:22:41,874 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-20 09:22:41,967 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-20 09:24:58,699 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-20 09:24:58,768 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-20 09:34:26,594 ߳ID:[1]- :SqlServerDAL :GetDataByDateColumn Ϣ:Invalid object name 'TEST'.
-¼ʱ䣺2019-12-20 09:35:36,275 ߳ID:[1]- :SqlServerDAL :GetDataByDateColumn Ϣ:Invalid object name 'TEST'.
-¼ʱ䣺2019-12-20 09:35:50,545 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-20 09:35:50,631 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
-¼ʱ䣺2019-12-20 09:37:29,772 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,794 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,814 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,867 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,885 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,906 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,962 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:29,982 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,003 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,404 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,425 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,447 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,502 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,519 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,538 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,594 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,618 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,642 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,702 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,721 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,740 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:30,889 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:30,952 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:31,108 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,127 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,146 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,203 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,222 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,245 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,300 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,317 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,336 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:31,546 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:31,563 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:31,581 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:31,640 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:31,664 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:31,686 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:32,057 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,077 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,097 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,150 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,168 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,189 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,248 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,441 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,508 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,568 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,754 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,815 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:32,975 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:32,993 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,011 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,065 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,085 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,107 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,163 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,182 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,202 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:33,259 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,323 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,385 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,513 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,576 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,635 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:33,838 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:34,030 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,048 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,068 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,424 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,444 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,463 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,521 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,544 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,567 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,625 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,646 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,668 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,937 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,959 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:34,981 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:35,039 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:35,057 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:35,079 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:35,180 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:35,244 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:35,306 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:35,551 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:35,622 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,151 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,223 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,285 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,437 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,456 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,474 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,528 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,547 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,567 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,642 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,664 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,685 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:36,868 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,928 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:36,991 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,056 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,115 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,242 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,261 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,280 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,335 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,354 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,375 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,524 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,588 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,656 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:37,740 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,762 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,782 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,841 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,862 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,883 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,943 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,965 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:37,985 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,090 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,111 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,130 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,187 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,208 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,228 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,291 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,310 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,330 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,414 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:38,489 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:38,547 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:38,655 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,677 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,703 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,766 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,787 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,807 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,872 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,892 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,915 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,980 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:38,999 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:39,019 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:39,085 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:39,107 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:39,132 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:39,198 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:39,268 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:39,481 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:39,566 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:39,635 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:39,993 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,059 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,219 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:40,238 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:40,258 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:40,443 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,509 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,580 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,642 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,709 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,780 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:40,902 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:40,921 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:40,946 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,014 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,032 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,051 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,223 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,241 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,263 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,318 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,338 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,356 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:41,753 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:41,806 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:41,828 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:41,848 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:41,905 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:41,957 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:41,978 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:41,999 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,059 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,110 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,130 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,150 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,211 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,266 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,286 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,306 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,401 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,451 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,474 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,506 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,560 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,615 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,633 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,652 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,720 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,770 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,788 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,807 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:42,866 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,932 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:42,992 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:43,050 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:43,347 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:43,418 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,436 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,454 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,511 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,532 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,554 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,730 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:43,839 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,856 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,875 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,931 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,955 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:43,978 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,221 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,239 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,259 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,311 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,330 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,349 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,409 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,428 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,449 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:44,565 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:44,763 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,783 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,807 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,861 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,880 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:44,902 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:45,264 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:45,328 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:45,405 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:45,914 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,148 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,212 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,313 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,331 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,351 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,408 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,433 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,455 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:46,676 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,738 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,860 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,931 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:46,988 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,202 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,265 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,333 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,417 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,521 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,618 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:47,961 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:48,020 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:48,085 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:48,149 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:48,277 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:48,297 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:48,317 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:48,690 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,710 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,732 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,804 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,825 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,846 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:48,989 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:49,050 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:49,223 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,242 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,263 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,320 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,339 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,359 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,420 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,438 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,459 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,516 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,535 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:49,555 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,055 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:50,108 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,125 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,144 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,206 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Head Gourmet Provisioners' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:50,266 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,286 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,307 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:50,363 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,384 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,402 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,460 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,482 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,502 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,558 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,577 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,596 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,654 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,675 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,694 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:50,787 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:50,849 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:50,993 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,052 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,117 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,178 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,266 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,337 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,801 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,860 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:51,920 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,055 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,075 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,094 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,155 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,175 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,195 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:52,361 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,423 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,486 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,614 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,676 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,825 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,888 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:52,947 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Stop N Shop' and WEIGHTTIME='USA'' at line 1
-¼ʱ䣺2019-12-20 09:37:53,216 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,236 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,255 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,309 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,328 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,349 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,414 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,433 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,452 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,509 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,526 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,543 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:53,874 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:53,932 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:53,997 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,092 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,111 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,131 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,190 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,207 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,228 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,300 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,322 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,342 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,398 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,417 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,438 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'TIMEMARK' at row 1
-¼ʱ䣺2019-12-20 09:37:54,499 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,562 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,622 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,756 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,816 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,883 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:54,945 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,101 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,170 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,266 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,346 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,422 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,559 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,747 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,816 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:55,971 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:55,991 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,012 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,075 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,096 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,118 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,175 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,197 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,217 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,285 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,308 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,329 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,386 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,406 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,427 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,500 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,527 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,549 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,620 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,641 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,662 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,728 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,751 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:56,769 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,059 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:57,130 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:57,206 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:57,278 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:57,361 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abondance' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:37:57,442 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,461 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,480 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,729 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,754 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,774 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,832 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,851 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,872 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,927 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,950 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:57,971 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,029 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,047 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,066 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,569 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,597 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,622 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,679 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,697 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,718 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,782 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,804 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:58,825 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:37:59,170 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:59,235 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Futterkiste' and WEIGHTTIME='Germany'' at line 1
-¼ʱ䣺2019-12-20 09:37:59,474 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:37:59,537 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Beverages' and WEIGHTTIME='UK'' at line 1
-¼ʱ䣺2019-12-20 09:38:00,016 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Asie' and WEIGHTTIME='France'' at line 1
-¼ʱ䣺2019-12-20 09:38:00,131 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,150 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,171 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,241 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,259 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,277 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,333 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,352 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,372 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,447 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,469 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,489 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,722 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,741 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,761 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,818 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,839 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:00,861 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,017 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,035 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,056 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,116 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,134 ߳ID:[1]- :MySQLHelper :ExecuteNonQuery Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,153 ߳ID:[1]- :MySQLDAL :InsertCnasData Ϣ:Data too long for column 'VERSION' at row 1
-¼ʱ䣺2019-12-20 09:38:01,269 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:38:01,335 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:38:01,392 ߳ID:[1]- :MySQLHelper :ExecuteDataTable Ϣ:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'France'' at line 1
-¼ʱ䣺2019-12-20 09:40:31,421 ߳ID:[1]- :ucSyncShow :RunUpLoad Ϣ:δɹϴ£[{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Trail's Head Gourmet Provisioners","VERSION":"722 DaVinci Blvd.","ITEMID":"Kirkland","WFINFO":"WA","PLANTCODE":"98034","WEIGHTTIME":"USA","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Trail's Head Gourmet Provisioners","722 DaVinci Blvd.","Kirkland","WA","98034","USA",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ana Trujillo Emparedados y helados","VERSION":"Avda. de la Constitucin 2222","ITEMID":"Mxico D.F.","WFINFO":null,"PLANTCODE":"05021","WEIGHTTIME":"Mexico","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ana Trujillo Emparedados y helados","Avda. de la Constitucin 2222","Mxico D.F.",null,"05021","Mexico",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"Ocano Atlntico Ltda.","VERSION":"Ing. Gustavo Moncada 8585 Piso 20-A","ITEMID":"Buenos Aires","WFINFO":null,"PLANTCODE":"1010","WEIGHTTIME":"Argentina","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"Ocano Atlntico Ltda.","Ing. Gustavo Moncada 8585 Piso 20-A","Buenos Aires",null,"1010","Argentina",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"HILARION-Abastos","VERSION":"Carrera 22 con Ave. Carlos Soublette #8-35","ITEMID":"San Cristbal","WFINFO":"Tchira","PLANTCODE":"5022","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"HILARION-Abastos","Carrera 22 con Ave. Carlos Soublette #8-35","San Cristbal","Tchira","5022","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false},{"RowError":"","RowState":4,"Table":[{"ID":null,"TIMEMARK":"LILA-Supermercado","VERSION":"Carrera 52 con Ave. Bolvar #65-98 Llano Largo","ITEMID":"Barquisimeto","WFINFO":"Lara","PLANTCODE":"3508","WEIGHTTIME":"Venezuela","VENDORNAME":null,"STATIONNAME":null,"COALDESC":null,"CARNO":null,"FULLWEIGHT":null,"EMPTYWEIGHT":null,"ROCKWEIGHT":null,"WATERWEIGHT":null,"FACTWEIGHT":null,"BILLWEIGHT":null,"DIFFWEIGHT":null,"SPEED":null,"SAMPLECODE":null,"TRANSMODE":null,"COLLECTWEIGHT":null,"ROUTE":null,"COLLECTFLAG":null,"OPERATETIME":null,"OPERATOR":null,"IDBATCH":null,"OLEID":null,"FIXWEIGHT":null,"FIXHIGH":null,"FIXLOW":null,"HIGHL1":null,"HIGHL2":null,"HIGHL3":null,"HIGHR1":null,"HIGHR2":null,"HIGHR3":null,"HIGHAVG":null,"HIGHDIFF":null,"HIGHDIFFWEIGHT":null,"LOWL1":null,"LOWL2":null,"LOWL3":null,"LOWR1":null,"LOWR2":null,"LOWR3":null,"LOWAVG":null,"LOWDIFF":null,"LOWDIFFWEIGHT":null,"REMARK":null,"ORGCODE":null,"BALANCECODE":null,"GAUGE":null,"task_id":null,"STATUS":null,"dfid":null,"role":null,"CREATETIME":null,"TID":null,"LAST_UPDATE_TIME":null,"device_guid":"3323db60-8646-4ce5-9c50-a0897a0e15f2","state":null}],"ItemArray":[null,"LILA-Supermercado","Carrera 52 con Ave. Bolvar #65-98 Llano Largo","Barquisimeto","Lara","3508","Venezuela",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3323db60-8646-4ce5-9c50-a0897a0e15f2",null],"HasErrors":false}]
diff --git a/dll/ErrorLog/20191227.txt b/dll/ErrorLog/20191227.txt
deleted file mode 100644
index 2cce2dd..0000000
--- a/dll/ErrorLog/20191227.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-¼ʱ䣺2019-12-27 15:03:18,637 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncOperationPwd.mes
-¼ʱ䣺2019-12-27 15:03:18,764 ߳ID:[1]- :EncryptionOperation :Decrypt Ϣ:ȷݡ
-
diff --git a/dll/ErrorLog/20210809.txt b/dll/ErrorLog/20210809.txt
new file mode 100644
index 0000000..4a87f67
--- /dev/null
+++ b/dll/ErrorLog/20210809.txt
@@ -0,0 +1,4 @@
+¼ʱ䣺2021-08-09 12:00:17,391 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncCnasDataBase.mes
+¼ʱ䣺2021-08-09 12:00:17,398 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncPlatDataBase.mes
+¼ʱ䣺2021-08-09 12:18:37,634 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncCnasDataBase.mes
+¼ʱ䣺2021-08-09 12:18:37,644 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncPlatDataBase.mes
diff --git a/dll/ErrorLog/20210809.txt20210809.txt b/dll/ErrorLog/20210809.txt20210809.txt
new file mode 100644
index 0000000..a75d2a1
--- /dev/null
+++ b/dll/ErrorLog/20210809.txt20210809.txt
@@ -0,0 +1,2 @@
+¼ʱ䣺2021-08-09 12:04:19,916 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncCnasDataBase.mes
+¼ʱ䣺2021-08-09 12:04:19,925 ߳ID:[1]- :FileHelper :GetLocalFile Ϣ:ûҵSyncPlatDataBase.mes
diff --git a/dll/ErrorLog/20240202.txt b/dll/ErrorLog/20240202.txt
new file mode 100644
index 0000000..431d622
--- /dev/null
+++ b/dll/ErrorLog/20240202.txt
@@ -0,0 +1,55 @@
+¼ʱ䣺2024-02-02 09:24:30,896 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Local
+¼ʱ䣺2024-02-02 09:24:30,912 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Remote
+¼ʱ䣺2024-02-02 09:24:30,912 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־
+¼ʱ䣺2024-02-02 09:24:30,912 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־
+¼ʱ䣺2024-02-02 09:24:30,913 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ E:
+¼ʱ䣺2024-02-02 09:24:30,913 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Remote
+¼ʱ䣺2024-02-02 09:24:30,915 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote src ӡ־ E:\ȡԴ\1\12\DTData.mdb
+¼ʱ䣺2024-02-02 09:24:30,916 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote dst ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\
+¼ʱ䣺2024-02-02 09:24:30,916 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote fileName ӡ־ EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:30,916 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote dst ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:30,919 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\
+¼ʱ䣺2024-02-02 09:24:30,921 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ E:\ȡԴ\1\12\DTData.mdb
+¼ʱ䣺2024-02-02 09:24:32,451 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:Access denied for user ''@'localhost' (using password: NO)
+¼ʱ䣺2024-02-02 09:24:32,460 ߳ID:[1]- :MySQLDAL :GetTableNames Ϣ:Access denied for user ''@'localhost' (using password: NO)
+¼ʱ䣺2024-02-02 09:24:48,283 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Local
+¼ʱ䣺2024-02-02 09:24:48,283 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Remote
+¼ʱ䣺2024-02-02 09:24:48,283 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־
+¼ʱ䣺2024-02-02 09:24:48,284 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־
+¼ʱ䣺2024-02-02 09:24:48,284 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ E:
+¼ʱ䣺2024-02-02 09:24:48,284 ߳ID:[1]- :RemoteFileCopy :CopyFileFromRemote Ϣ:CopyFileFromRemoteӡ־ Remote
+¼ʱ䣺2024-02-02 09:24:48,296 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote src ӡ־ E:\ȡԴ\1\12\DTData.mdb
+¼ʱ䣺2024-02-02 09:24:48,296 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote dst ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\
+¼ʱ䣺2024-02-02 09:24:48,296 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote fileName ӡ־ EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:48,296 ߳ID:[1]- :RemoteFileCopy :Transport Ϣ:CopyFileFromRemote dst ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:48,299 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:48,300 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:48,300 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:48,300 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:48,300 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־
+¼ʱ䣺2024-02-02 09:24:48,300 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\\Cache\EȡԴ112DTDatamdb.mdb
+¼ʱ䣺2024-02-02 09:24:48,301 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ I:\0 Դ\0 Դ\CNASClient\CNAS_DBSync\dll\
+¼ʱ䣺2024-02-02 09:24:48,301 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:ӡ־ E:\ȡԴ\1\12\DTData.mdb
+¼ʱ䣺2024-02-02 09:24:48,486 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'server=127.0.0.1;port=3306;user=cnas;password=cnas;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2024-02-02 09:24:48,486 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'server=127.0.0.1;port=3306;user=cnas;password=cnas;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2024-02-02 09:24:48,486 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,497 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,499 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,529 ߳ID:[1]- :MySQLDAL :GetTableStruct Ϣ:===-222-===abilitysupervisionrecordSELECT * FROM abilitysupervisionrecord Where 0=1
+¼ʱ䣺2024-02-02 09:24:48,530 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===SELECT * FROM abilitysupervisionrecord Where 0=1server=127.0.0.1;port=3306;user=cnas;password=cnas;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2024-02-02 09:24:48,530 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===SELECT * FROM abilitysupervisionrecord Where 0=1server=127.0.0.1;port=3306;user=cnas;password=cnas;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2024-02-02 09:24:48,530 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===SELECT * FROM abilitysupervisionrecord Where 0=1System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,575 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===SELECT * FROM abilitysupervisionrecord Where 0=1System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,576 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===SELECT * FROM abilitysupervisionrecord Where 0=1System.Data.DataSet
+¼ʱ䣺2024-02-02 09:24:48,576 ߳ID:[1]- :MySQLDAL :GetTableStruct Ϣ:===-333-===abilitysupervisionrecordMySQLHelper.ExecuteDataSet(strSql)Table
+¼ʱ䣺2024-02-02 09:26:47,190 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:Ŀ¼Ч
+
+¼ʱ䣺2024-02-02 09:26:51,491 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:Ŀ¼Ч
+
+¼ʱ䣺2024-02-02 11:13:20,127 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
diff --git a/dll/ErrorLog/20241231.txt b/dll/ErrorLog/20241231.txt
new file mode 100644
index 0000000..d712162
--- /dev/null
+++ b/dll/ErrorLog/20241231.txt
@@ -0,0 +1,6 @@
+¼ʱ䣺2024-12-31 17:11:59,040 ߳ID:[9]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
+¼ʱ䣺2024-12-31 17:12:11,445 ߳ID:[9]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
+¼ʱ䣺2024-12-31 17:12:15,138 ߳ID:[9]- :MySQLDAL :GetTableStruct Ϣ:===-222-===CNAS_ANALYSIS_ASHSELECT * FROM CNAS_ANALYSIS_ASH Where 0=1
+¼ʱ䣺2024-12-31 17:12:17,284 ߳ID:[9]- :MySQLHelper :ExecuteDataSet Ϣ:Unable to connect to any of the specified MySQL hosts.
+¼ʱ䣺2024-12-31 17:12:17,312 ߳ID:[9]- :MySQLDAL :GetTableStruct Ϣ:Unable to connect to any of the specified MySQL hosts.
+¼ʱ䣺2024-12-31 17:12:55,175 ߳ID:[9]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
diff --git a/dll/ErrorLog/20250131.txt b/dll/ErrorLog/20250131.txt
new file mode 100644
index 0000000..59a4092
--- /dev/null
+++ b/dll/ErrorLog/20250131.txt
@@ -0,0 +1 @@
+¼ʱ䣺2025-01-31 22:35:47,976 ߳ID:[9]- :FormSizeHelper :Init Ϣ:<ıǡӦΪ> 4 Уλ 1
diff --git a/dll/ErrorLog/20250212.txt b/dll/ErrorLog/20250212.txt
new file mode 100644
index 0000000..b4a9f67
--- /dev/null
+++ b/dll/ErrorLog/20250212.txt
@@ -0,0 +1,22 @@
+¼ʱ䣺2025-02-12 08:27:08,398 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:27:08,404 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:27:08,406 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:27:08,475 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:27:08,476 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:27:47,053 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:27:47,058 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:27:47,059 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:27:47,084 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:27:47,085 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:34:55,503 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:34:55,509 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:34:55,510 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:34:55,540 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:34:55,540 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:41:01,437 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:41:01,442 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True
+¼ʱ䣺2025-02-12 08:41:01,444 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:41:01,482 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:41:01,483 ߳ID:[1]- :MySQLHelper :ExecuteDataSet Ϣ:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet
+¼ʱ䣺2025-02-12 08:41:10,942 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
+¼ʱ䣺2025-02-12 11:09:03,674 ߳ID:[1]- :AccessInstrumentData :.ctor Ϣ:δҵ·C:\Users\Li\Desktop\calorimeter.mdbһ֡
diff --git a/dll/Helper.CHM b/dll/Helper.CHM
new file mode 100644
index 0000000..6ebd9b8
Binary files /dev/null and b/dll/Helper.CHM differ
diff --git a/dll/InstallUtil.InstallLog b/dll/InstallUtil.InstallLog
index b67d24e..c9dc617 100644
--- a/dll/InstallUtil.InstallLog
+++ b/dll/InstallUtil.InstallLog
@@ -33,3 +33,20 @@ System.InvalidOperationException: 无法打开计算机“.”上的服务控制
“回退”阶段已成功完成。
已完成事务处理安装。
+
+正在运行事务处理安装。
+
+正在开始安装的“安装”阶段。
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+
+在“安装”阶段发生异常。
+System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。 不可访问的日志: Security。
+
+正在开始安装的“回退”阶段。
+查看日志文件的内容以获得 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.exe 程序集的进度。
+该文件位于 E:\JXD\CNASClient\CNAS_DBSync\dll\CNAS_SyncService.InstallLog。
+
+“回退”阶段已成功完成。
+
+已完成事务处理安装。
diff --git a/dll/ServiceLog/20191113.txt b/dll/ServiceLog/20191113.txt
deleted file mode 100644
index 02607fd..0000000
--- a/dll/ServiceLog/20191113.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-¼ʱ䣺2019-11-13 08:51:18,542 ߳ID:[4]- Ϣ:SyncServiceOperation :Start Ϣ:SyncSerivce:
-¼ʱ䣺2019-11-13 08:52:18,668 ߳ID:[5]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:52:18,741 ߳ID:[5]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:52:18,755 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:52:18,947 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:52:20,098 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:53:18,670 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:53:18,678 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:53:18,678 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:53:18,683 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:53:20,513 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:54:18,678 ߳ID:[3]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:54:18,684 ߳ID:[3]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:54:18,684 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:54:18,690 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:54:20,301 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:55:18,679 ߳ID:[5]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:55:18,682 ߳ID:[5]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:55:18,682 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:55:18,685 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:55:19,856 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:56:18,680 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:56:18,683 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:56:18,683 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:56:18,687 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:56:19,786 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:57:18,692 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:57:18,696 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:57:18,697 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:57:18,700 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:57:19,862 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:58:18,696 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:58:18,701 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:58:18,701 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:58:18,704 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:58:19,815 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 08:59:18,710 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 08:59:18,713 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 08:59:18,713 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 08:59:18,717 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 08:59:19,959 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:00:18,711 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:00:18,714 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:00:18,714 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:00:18,717 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:00:19,679 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:01:18,725 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:01:18,729 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:01:18,729 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:01:18,733 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:01:19,715 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:02:18,727 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:02:18,732 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:02:18,732 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:02:18,736 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:02:19,759 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:03:18,728 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:03:18,731 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:03:18,731 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:03:18,733 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:03:19,708 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:04:18,741 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:04:18,748 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:04:18,748 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:04:18,752 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:04:19,839 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:05:18,742 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:05:18,747 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:05:18,748 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:05:18,751 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:05:19,776 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:06:18,755 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:06:18,758 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:06:18,759 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:06:18,762 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:06:19,842 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:07:18,756 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:07:18,761 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:07:18,761 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:07:18,764 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:07:19,729 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:08:18,757 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:08:18,760 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:08:18,760 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:08:18,763 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:08:19,793 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:09:18,758 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:09:18,762 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:09:18,762 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:09:18,765 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:09:19,779 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
-¼ʱ䣺2019-11-13 09:10:18,770 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-13 09:10:18,774 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-13 09:10:18,774 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-13 09:10:18,777 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-12-02 13:57:04
-¼ʱ䣺2019-11-13 09:10:20,053 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,0
diff --git a/dll/ServiceLog/20191114.txt b/dll/ServiceLog/20191114.txt
deleted file mode 100644
index fd07ba9..0000000
--- a/dll/ServiceLog/20191114.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-¼ʱ䣺2019-11-14 09:11:18,613 ߳ID:[10]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-14 09:11:18,623 ߳ID:[10]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-14 09:11:18,623 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-14 09:11:18,629 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-10-15 00:00:00
-¼ʱ䣺2019-11-14 09:11:19,909 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,179
-¼ʱ䣺2019-11-14 09:11:19,914 ߳ID:[10]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-14 09:11:19,915 ߳ID:[10]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-14 09:11:19,954 ߳ID:[10]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-14 09:11:19,987 ߳ID:[10]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()179
-¼ʱ䣺2019-11-14 09:11:21,646 ߳ID:[10]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ125ʧ054............................................................................................................
-¼ʱ䣺2019-11-14 09:12:18,615 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-14 09:12:18,624 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-14 09:12:18,624 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-14 09:12:18,633 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-11 10:39:03
-¼ʱ䣺2019-11-14 09:12:19,775 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,179
-¼ʱ䣺2019-11-14 09:12:19,780 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-14 09:12:19,781 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-14 09:12:19,800 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-14 09:12:19,823 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()179
-¼ʱ䣺2019-11-14 09:12:20,465 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0179............................................................................................................
diff --git a/dll/ServiceLog/20191115.txt b/dll/ServiceLog/20191115.txt
deleted file mode 100644
index 20e00d0..0000000
--- a/dll/ServiceLog/20191115.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-¼ʱ䣺2019-11-15 09:13:17,832 ߳ID:[12]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-15 09:13:17,839 ߳ID:[12]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-15 09:13:17,839 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-15 09:13:17,844 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-11 10:39:03
-¼ʱ䣺2019-11-15 09:13:18,017 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,5
-¼ʱ䣺2019-11-15 09:13:18,021 ߳ID:[12]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-15 09:13:18,022 ߳ID:[12]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-15 09:13:18,023 ߳ID:[12]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-15 09:13:18,049 ߳ID:[12]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()5
-¼ʱ䣺2019-11-15 09:13:18,088 ߳ID:[12]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ5ʧ00............................................................................................................
diff --git a/dll/ServiceLog/20191119.txt b/dll/ServiceLog/20191119.txt
deleted file mode 100644
index d961fac..0000000
--- a/dll/ServiceLog/20191119.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-¼ʱ䣺2019-11-19 10:22:22,028 ߳ID:[4]- Ϣ:SyncServiceOperation :Start Ϣ:SyncSerivce:
-¼ʱ䣺2019-11-19 10:24:22,193 ߳ID:[8]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-19 10:24:22,280 ߳ID:[8]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-19 10:24:22,292 ߳ID:[8]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-19 10:24:22,480 ߳ID:[8]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-15 23:43:33
-¼ʱ䣺2019-11-19 10:24:23,073 ߳ID:[8]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,54
-¼ʱ䣺2019-11-19 10:24:23,080 ߳ID:[8]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-19 10:24:23,080 ߳ID:[8]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-19 10:24:23,096 ߳ID:[8]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-19 10:24:23,128 ߳ID:[8]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()54
-¼ʱ䣺2019-11-19 10:24:23,938 ߳ID:[8]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ54ʧ00............................................................................................................
diff --git a/dll/ServiceLog/20191120.txt b/dll/ServiceLog/20191120.txt
deleted file mode 100644
index 6eb32f3..0000000
--- a/dll/ServiceLog/20191120.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-¼ʱ䣺2019-11-20 10:26:21,533 ߳ID:[4]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:26:21,544 ߳ID:[4]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:26:21,544 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:26:21,837 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-16 10:50:21
-¼ʱ䣺2019-11-20 10:26:23,218 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:26:23,229 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:26:23,230 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:26:23,249 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:26:23,277 ߳ID:[4]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:26:25,511 ߳ID:[4]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ174ʧ00............................................................................................................
-¼ʱ䣺2019-11-20 10:28:21,534 ߳ID:[3]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:28:21,538 ߳ID:[3]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:28:21,538 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:28:21,544 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-17 16:12:04
-¼ʱ䣺2019-11-20 10:28:22,797 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:28:22,801 ߳ID:[3]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:28:22,801 ߳ID:[3]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:28:22,821 ߳ID:[3]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:28:22,843 ߳ID:[3]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:28:24,326 ߳ID:[3]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0174............................................................................................................
-¼ʱ䣺2019-11-20 10:30:21,540 ߳ID:[13]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:30:21,543 ߳ID:[13]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:30:21,543 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:30:21,546 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-17 16:12:04
-¼ʱ䣺2019-11-20 10:30:22,731 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:30:22,735 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:30:22,735 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:30:22,754 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:30:22,780 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:30:23,691 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0174............................................................................................................
-¼ʱ䣺2019-11-20 10:32:21,540 ߳ID:[6]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:32:21,543 ߳ID:[6]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:32:21,543 ߳ID:[6]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:32:21,546 ߳ID:[6]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-17 16:12:04
-¼ʱ䣺2019-11-20 10:32:22,974 ߳ID:[6]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:32:22,978 ߳ID:[6]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:32:22,978 ߳ID:[6]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:32:23,005 ߳ID:[6]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:32:23,039 ߳ID:[6]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:32:23,874 ߳ID:[6]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0174............................................................................................................
-¼ʱ䣺2019-11-20 10:34:21,550 ߳ID:[5]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:34:21,553 ߳ID:[5]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:34:21,554 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:34:21,557 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-17 16:12:04
-¼ʱ䣺2019-11-20 10:34:22,845 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:34:22,849 ߳ID:[5]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:34:22,849 ߳ID:[5]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:34:22,871 ߳ID:[5]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:34:22,896 ߳ID:[5]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:34:24,027 ߳ID:[5]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0174............................................................................................................
-¼ʱ䣺2019-11-20 10:36:21,551 ߳ID:[13]- Ϣ:SyncServiceOperation :timerSync_Elapsed Ϣ:ʱ
-¼ʱ䣺2019-11-20 10:36:21,554 ߳ID:[13]- Ϣ:SyncServiceOperation :ReadSyncInstruments Ϣ:ȡϢ1
-¼ʱ䣺2019-11-20 10:36:21,554 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ֶβѯɸѡ
-¼ʱ䣺2019-11-20 10:36:21,557 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ȡϴִʱΪ2019-11-17 16:12:04
-¼ʱ䣺2019-11-20 10:36:22,780 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ڶȡԴ,174
-¼ʱ䣺2019-11-20 10:36:22,784 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ȡĿݵݽṹ
-¼ʱ䣺2019-11-20 10:36:22,785 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:Դݣ
-¼ʱ䣺2019-11-20 10:36:22,802 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:ǷϷ
-¼ʱ䣺2019-11-20 10:36:22,831 ߳ID:[13]- Ϣ:SyncServiceOperation :RunUpLoad Ϣ:вĿݣ()174
-¼ʱ䣺2019-11-20 10:36:23,550 ߳ID:[13]- Ϣ:SyncServiceOperation :RunSyncByInstrument Ϣ:ϴɣгɹ0ʧ0174............................................................................................................
diff --git a/dll/SyncLocalDAL.dll b/dll/SyncLocalDAL.dll
index ee81918..4f3ec9d 100644
Binary files a/dll/SyncLocalDAL.dll and b/dll/SyncLocalDAL.dll differ
diff --git a/dll/SyncLocalDAL.dll.config b/dll/SyncLocalDAL.dll.config
index 22022ef..a17b583 100644
--- a/dll/SyncLocalDAL.dll.config
+++ b/dll/SyncLocalDAL.dll.config
@@ -1,27 +1,27 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/dll/WF-ChangeGUID.exe b/dll/WF-ChangeGUID.exe
index ed99a44..425e9bf 100644
Binary files a/dll/WF-ChangeGUID.exe and b/dll/WF-ChangeGUID.exe differ
diff --git a/dll/WF-ChangeGUID.exe.config b/dll/WF-ChangeGUID.exe.config
index 899c9bd..b8bf9e1 100644
--- a/dll/WF-ChangeGUID.exe.config
+++ b/dll/WF-ChangeGUID.exe.config
@@ -1,7 +1,7 @@
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/dll/database.db b/dll/database.db
index 4f7bdc6..6127ac0 100644
Binary files a/dll/database.db and b/dll/database.db differ
diff --git a/dll23.zip b/dll23.zip
new file mode 100644
index 0000000..4014560
Binary files /dev/null and b/dll23.zip differ