Selaa lähdekoodia

Merge branch 'develop' of http://112.33.111.155:3000/yanh/CNAS into develop

develop
OCEAN 4 kuukautta sitten
vanhempi
commit
bf84ab53b0
4 muutettua tiedostoa jossa 262 lisäystä ja 128 poistoa
  1. +30
    -43
      CNAS_RunSync/app.config
  2. +18
    -19
      CNAS_RunSync/frmSynchrousMain.Designer.cs
  3. +45
    -22
      CNAS_RunSync/ucSynchrousMain.Designer.cs
  4. +169
    -44
      CNAS_RunSync/ucSynchrousMain.cs

+ 30
- 43
CNAS_RunSync/app.config Näytä tiedosto

@@ -1,66 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<appSettings>
<add key="TargetDBType" value="Mysql" />
<add key="InitalOperationPwd" value="zIU7s3Rawog=" />
<add key="DelayDays" value="-60" />
<add key="GetMacMethod" value="1" />
<add key="StartGeneralVersion" value="1" />
<add key="StartWebApiUrl" value="1" />
<add key="WebApiUrl" value="http://localhost:60101/api" />
<add key="TargetDBType" value="Mysql"/>
<add key="InitalOperationPwd" value="zIU7s3Rawog="/>
<add key="DelayDays" value="-60"/>
<add key="GetMacMethod" value="1"/>
<add key="StartGeneralVersion" value="1"/>
<add key="StartWebApiUrl" value="1"/>
<add key="WebApiUrl" value="http://localhost:60101/api"/>
</appSettings>
<log4net>
<logger name="Log">
<level value="INFO" />
<appender-ref ref="RollingLog" />
<level value="INFO"/>
<appender-ref ref="RollingLog"/>
</logger>
<logger name="Err">
<level value="ERROR" />
<appender-ref ref="RollingErr" />
<level value="ERROR"/>
<appender-ref ref="RollingErr"/>
</logger>
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
<file value="Log\" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<file value="Log\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n" />
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender">
<file value="ErrorLog\" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<file value="ErrorLog\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n" />
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="ERROR"/>
</filter>
</appender>
</log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

+ 18
- 19
CNAS_RunSync/frmSynchrousMain.Designer.cs Näytä tiedosto

@@ -54,7 +54,7 @@
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.Size = new System.Drawing.Size(5, 793);
this.pnlLeft.TabIndex = 0;
//
// pnlAll
@@ -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(944, 621);
this.pnlAll.Size = new System.Drawing.Size(1207, 793);
this.pnlAll.TabIndex = 1;
//
// pnlCenter
@@ -80,7 +80,7 @@
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.Size = new System.Drawing.Size(1197, 785);
this.pnlCenter.TabIndex = 4;
//
// pnlCenterCenter
@@ -89,7 +89,7 @@
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.Size = new System.Drawing.Size(1197, 751);
this.pnlCenterCenter.TabIndex = 3;
//
// pnlCenterTop
@@ -99,12 +99,11 @@
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.Size = new System.Drawing.Size(1197, 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,
@@ -113,7 +112,7 @@
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.Size = new System.Drawing.Size(1197, 27);
this.menuButton.TabIndex = 0;
this.menuButton.Text = "menuStrip1";
this.menuButton.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuButton_ItemClicked);
@@ -121,40 +120,40 @@
// tsmDbSeting
//
this.tsmDbSeting.Name = "tsmDbSeting";
this.tsmDbSeting.Size = new System.Drawing.Size(139, 28);
this.tsmDbSeting.Size = new System.Drawing.Size(96, 21);
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.Size = new System.Drawing.Size(83, 21);
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.Size = new System.Drawing.Size(61, 21);
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.Location = new System.Drawing.Point(0, 781);
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.Size = new System.Drawing.Size(1197, 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.Location = new System.Drawing.Point(5, 788);
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.Size = new System.Drawing.Size(1197, 5);
this.pnlBottom.TabIndex = 3;
//
// pnlTop
@@ -163,23 +162,23 @@
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.Size = new System.Drawing.Size(1197, 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.Location = new System.Drawing.Point(1202, 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.Size = new System.Drawing.Size(5, 793);
this.pnlRight.TabIndex = 1;
//
// frmSynchrousMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(944, 621);
this.ClientSize = new System.Drawing.Size(1207, 793);
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")));


+ 45
- 22
CNAS_RunSync/ucSynchrousMain.Designer.cs Näytä tiedosto

@@ -35,7 +35,7 @@
this.pnlCenterBody_Center = new System.Windows.Forms.Panel();
this.dgvSyncData = new System.Windows.Forms.DataGridView();
this.pnlCenterBody_Bottom = new System.Windows.Forms.Panel();
this.pnlSubmit_Right = new System.Windows.Forms.Panel();
this.lblTitleLastUpdateTime = new System.Windows.Forms.Label();
this.btnRunData = new System.Windows.Forms.Button();
this.pnlCenterBody_Top = new System.Windows.Forms.Panel();
this.tableTop = new System.Windows.Forms.TableLayoutPanel();
@@ -68,13 +68,13 @@
this.pnlLeft = new System.Windows.Forms.Panel();
this.pnlBottom = new System.Windows.Forms.Panel();
this.pnlTop = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.pnlAll.SuspendLayout();
this.pnlCenter.SuspendLayout();
this.pnlCenterBody.SuspendLayout();
this.pnlCenterBody_Center.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvSyncData)).BeginInit();
this.pnlCenterBody_Bottom.SuspendLayout();
this.pnlSubmit_Right.SuspendLayout();
this.pnlCenterBody_Top.SuspendLayout();
this.tableTop.SuspendLayout();
this.pnlSelect.SuspendLayout();
@@ -83,6 +83,7 @@
this.pnlDate.SuspendLayout();
this.pnlCenterBottom.SuspendLayout();
this.pnlCenterBottom_Top.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// pnlAll
@@ -147,29 +148,34 @@
// pnlCenterBody_Bottom
//
this.pnlCenterBody_Bottom.BackColor = System.Drawing.Color.White;
this.pnlCenterBody_Bottom.Controls.Add(this.pnlSubmit_Right);
this.pnlCenterBody_Bottom.Controls.Add(this.tableLayoutPanel1);
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
// lblTitleLastUpdateTime
//
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;
this.lblTitleLastUpdateTime.AutoSize = true;
this.lblTitleLastUpdateTime.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblTitleLastUpdateTime.Font = new System.Drawing.Font("微软雅黑", 8F);
this.lblTitleLastUpdateTime.Location = new System.Drawing.Point(3, 0);
this.lblTitleLastUpdateTime.Name = "lblTitleLastUpdateTime";
this.lblTitleLastUpdateTime.Size = new System.Drawing.Size(814, 41);
this.lblTitleLastUpdateTime.TabIndex = 2;
this.lblTitleLastUpdateTime.Text = "最近上传时间:<未知>";
this.lblTitleLastUpdateTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnRunData
//
this.btnRunData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
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.Location = new System.Drawing.Point(823, 3);
this.btnRunData.Name = "btnRunData";
this.btnRunData.Size = new System.Drawing.Size(90, 30);
this.btnRunData.Size = new System.Drawing.Size(90, 35);
this.btnRunData.TabIndex = 2;
this.btnRunData.Text = "执行上传";
this.btnRunData.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@@ -191,7 +197,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, 537F));
this.tableTop.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 540F));
this.tableTop.Controls.Add(this.pnlSelect, 0, 0);
this.tableTop.Controls.Add(this.pnlRunData, 1, 0);
this.tableTop.Controls.Add(this.pnlConfig, 2, 0);
@@ -210,16 +216,16 @@
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(357, 78);
this.pnlSelect.Size = new System.Drawing.Size(354, 78);
this.pnlSelect.TabIndex = 0;
//
// lblTitleMsg
//
this.lblTitleMsg.AutoSize = true;
this.lblTitleMsg.Font = new System.Drawing.Font("微软雅黑", 8F);
this.lblTitleMsg.Location = new System.Drawing.Point(7, 39);
this.lblTitleMsg.Location = new System.Drawing.Point(7, 50);
this.lblTitleMsg.Name = "lblTitleMsg";
this.lblTitleMsg.Size = new System.Drawing.Size(156, 16);
this.lblTitleMsg.Size = new System.Drawing.Size(155, 16);
this.lblTitleMsg.TabIndex = 1;
this.lblTitleMsg.Text = "类型:<未知> 路径:<未知>";
//
@@ -227,7 +233,7 @@
//
this.lblTitle.AutoSize = true;
this.lblTitle.Font = new System.Drawing.Font("微软雅黑", 10F, System.Drawing.FontStyle.Bold);
this.lblTitle.Location = new System.Drawing.Point(6, 13);
this.lblTitle.Location = new System.Drawing.Point(6, 15);
this.lblTitle.Name = "lblTitle";
this.lblTitle.Size = new System.Drawing.Size(119, 19);
this.lblTitle.TabIndex = 0;
@@ -236,7 +242,7 @@
// pnlRunData
//
this.pnlRunData.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlRunData.Location = new System.Drawing.Point(366, 3);
this.pnlRunData.Location = new System.Drawing.Point(363, 3);
this.pnlRunData.Name = "pnlRunData";
this.pnlRunData.Size = new System.Drawing.Size(9, 78);
this.pnlRunData.TabIndex = 1;
@@ -252,9 +258,9 @@
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(381, 3);
this.pnlConfig.Location = new System.Drawing.Point(378, 3);
this.pnlConfig.Name = "pnlConfig";
this.pnlConfig.Size = new System.Drawing.Size(532, 78);
this.pnlConfig.Size = new System.Drawing.Size(535, 78);
this.pnlConfig.TabIndex = 2;
//
// btnCancelFind
@@ -486,6 +492,21 @@
this.pnlTop.Size = new System.Drawing.Size(920, 5);
this.pnlTop.TabIndex = 0;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 96F));
this.tableLayoutPanel1.Controls.Add(this.btnRunData, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.lblTitleLastUpdateTime, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(916, 41);
this.tableLayoutPanel1.TabIndex = 4;
//
// ucSynchrousMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
@@ -502,7 +523,6 @@
this.pnlCenterBody_Center.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvSyncData)).EndInit();
this.pnlCenterBody_Bottom.ResumeLayout(false);
this.pnlSubmit_Right.ResumeLayout(false);
this.pnlCenterBody_Top.ResumeLayout(false);
this.tableTop.ResumeLayout(false);
this.pnlSelect.ResumeLayout(false);
@@ -516,6 +536,8 @@
this.pnlCenterBottom.ResumeLayout(false);
this.pnlCenterBottom_Top.ResumeLayout(false);
this.pnlCenterBottom_Top.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);

}
@@ -560,6 +582,7 @@
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;
private System.Windows.Forms.Label lblTitleLastUpdateTime;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
}
}

+ 169
- 44
CNAS_RunSync/ucSynchrousMain.cs Näytä tiedosto

@@ -9,6 +9,11 @@ using System.Windows.Forms;
using CnasSynchronusClient;
using CnasSynchrousModel;
using CnasSynchronousCommon;
using log4net.Repository.Hierarchy;
using System.Threading;
using System.IO;
using Newtonsoft.Json;
using System.Diagnostics;

namespace CNAS_RunSync
{
@@ -94,24 +99,75 @@ namespace CNAS_RunSync
string strColumnName = item.SourceField;
if (DictField.ContainsKey(strColumnName))
strColumnName = DictField[strColumnName];
AddDatagridColumn(dgvSyncData, item.SourceField, strColumnName, 150);
AddDatagridColumn(dgvSyncData, item.SourceField, strColumnName, 150, bSort: item.IfDateField);
}
//创建GUID列
AddDatagridColumn(dgvSyncData, "GridGuid", "GridGuid", 50, false);

//2.2获取数据源数据
this.RefreshData();

//3.初始化查询相关内容
//3.1 绑定Combobox数据源
foreach (DataColumn dc in dtSource.Columns)
{
if (syncInstrumentItem.LstSyncPramas.Where(s => s.SourceField == dc.ColumnName.ToUpper()).LongCount<SyncParamasInfo>() > 0)
{
string strColumnName = dc.ColumnName.ToUpper();
if (DictField.ContainsKey(strColumnName))
strColumnName = DictField[strColumnName];
DictComboBox.Add(strColumnName, dc.DataType);
}
}
if (DictComboBox.Count > 0)
{
BindingSource bsComboBox = new BindingSource
{
DataSource = DictComboBox
};
cmbColumns.DataSource = bsComboBox;
cmbColumns.ValueMember = "Key";
cmbColumns.DisplayMember = "Key";
}

//4.初始化最近上传时间
//4.1 获取目标表最近上传时间
Dictionary<string, string> times = this.ReadSyncTime();
if (true == times?.ContainsKey(this.syncInstrumentItem.Code))
{
this.lblTitleLastUpdateTime.Text = $"最近上传时间:{times[this.syncInstrumentItem.Code]}";
}
}

/// <summary>
///
/// </summary>
private void RefreshData()
{
//清空现有绑定
dictSource?.Clear();
dtSource?.Clear();
dtSource?.Dispose();
dtSource = null;
dgvSyncData?.Rows?.Clear();

//2.2 获取数据源数据,构建datagridviewcell
//2.2.1 获取数据源数据
var query = syncInstrumentItem.LstSyncPramas.Where(s => s.IfDateField == true).ToList<SyncParamasInfo>();
if (query.Count == 1)
{
object[] obj = new object[]
{
syncInstrumentItem.LstSyncPramas[0].SourceTable,
query[0].SourceField,
DateTime.Now.AddDays(Convert.ToInt32(delayDays)).ToString("yyyy-MM-dd HH:mm:ss")
};
{
syncInstrumentItem.LstSyncPramas[0].SourceTable,
query[0].SourceField,
DateTime.Now.AddDays(Convert.ToInt32(delayDays)).ToString("yyyy-MM-dd HH:mm:ss")
};
InstrumentData instrumentData = InstrumentDataFact.CreateInstrumentDataSource(syncInstrumentItem.SyncInstrumentDSInfo, obj);
dtSource = instrumentData.GetInstrumentDataByDate();

DataView dv = dtSource.DefaultView;
dv.Sort = $"{query[0].SourceField} DESC";
dtSource = dv.ToTable();
}

//2.2.2 构建datagridviewcell
@@ -140,29 +196,6 @@ namespace CNAS_RunSync

dictSource.Add(strGuid, dr);
}

//3.初始化查询相关内容
//3.1 绑定Combobox数据源
foreach (DataColumn dc in dtSource.Columns)
{
if (syncInstrumentItem.LstSyncPramas.Where(s => s.SourceField == dc.ColumnName.ToUpper()).LongCount<SyncParamasInfo>() > 0)
{
string strColumnName = dc.ColumnName.ToUpper();
if (DictField.ContainsKey(strColumnName))
strColumnName = DictField[strColumnName];
DictComboBox.Add(strColumnName, dc.DataType);
}
}
if (DictComboBox.Count > 0)
{
BindingSource bsComboBox = new BindingSource
{
DataSource = DictComboBox
};
cmbColumns.DataSource = bsComboBox;
cmbColumns.ValueMember = "Key";
cmbColumns.DisplayMember = "Key";
}
}

/// <summary>
@@ -173,7 +206,7 @@ namespace CNAS_RunSync
/// <param name="strColumnHeaderText"></param>
/// <param name="Width"></param>
/// <param name="bVisible"></param>
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, bool bSort = false)
{
DataGridViewColumn Column = new DataGridViewColumn()
{
@@ -182,7 +215,8 @@ namespace CNAS_RunSync
Width = Width,
Visible = bVisible,
CellTemplate = new DataGridViewTextBoxCell(),
ReadOnly = true
ReadOnly = true,
SortMode = bSort ? DataGridViewColumnSortMode.Automatic : DataGridViewColumnSortMode.NotSortable
};

//设置文本对齐方式
@@ -386,6 +420,15 @@ namespace CNAS_RunSync
AppLog.Error($"未成功上传的数据如下:{TransConvert.ListToString(lstError)}");
WriteMsgToRichTextBox($"未成功上传的数据如下:{TransConvert.ListToString(lstError)}");
}

// 记录上传时间
if (0 < SuccessCount)
{
DateTime time = DateTime.Now;

this.lblTitleLastUpdateTime.Text = $"最近上传时间:{time.ToString("yyyy-MM-dd HH:mm:ss")}";
this.WriteSyncTime(time);
}
}

private string kxjsf(string sss)
@@ -511,7 +554,14 @@ namespace CNAS_RunSync

private void btnFind_Click(object sender, EventArgs e)
{
if (cmbColumns.SelectedValue == null) return;
if (cmbColumns.SelectedValue == null)
{
return;
}

//0.获取数据源数据
this.RefreshData();

//1.合法性检测
if (DictComboBox[cmbColumns.SelectedValue.ToString()].ToString().Equals("System.DateTime"))
{
@@ -530,36 +580,34 @@ namespace CNAS_RunSync
}
}


//2.将datagridview中满足条件的项修改背景色
//2.1 判断当前显示的datagridview是否含有旧的查询数据
//2.2 将满足条件的项背景色改为特殊颜色
foreach (DataGridViewRow dgvrow in dgvSyncData.Rows)
for (int index = dgvSyncData.Rows.Count - 1; 0 <= index; --index)
{
dgvrow.DefaultCellStyle.BackColor = Color.White;

DataGridViewRow row = dgvSyncData.Rows[index];
//查询列的当前值
string strGuid = dgvrow.Cells["GridGuid"].Value.ToString();
string strGuid = row.Cells["GridGuid"].Value.ToString();
if (DictField.Count > 0)
{
var query = DictField.Where(s => s.Value == cmbColumns.SelectedValue.ToString());
if (query.Count() == 1)
{
string strValue = dgvrow.Cells[query.ElementAtOrDefault(0).Key].Value.ToString();
string strValue = row.Cells[query.ElementAtOrDefault(0).Key].Value.ToString();
//判断是否满足条件
if (CheckMatchCondition(strValue))
if (false == CheckMatchCondition(strValue))
{
dgvrow.DefaultCellStyle.BackColor = FinedBackColor;
dgvSyncData.Rows.RemoveAt(index);
}
}
}
else
{
string strValue = dgvrow.Cells[cmbColumns.SelectedValue.ToString()].Value.ToString();
string strValue = row.Cells[cmbColumns.SelectedValue.ToString()].Value.ToString();
//判断是否满足条件
if (CheckMatchCondition(strValue))
if (false == CheckMatchCondition(strValue))
{
dgvrow.DefaultCellStyle.BackColor = FinedBackColor;
dgvSyncData.Rows.RemoveAt(index);
}
}
}
@@ -712,6 +760,83 @@ namespace CNAS_RunSync
{
this.rtxtLog.Text += string.Format("{0} 日期: {1}\n", strMsg,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}));
}
}

/// <summary>
///
/// </summary>
/// <param name="message"></param>
private void WriteSyncTime(DateTime time)
{
try
{
/* 创建文件夹 */
string logDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Cache");
if (!Directory.Exists(logDirectory))
{
Directory.CreateDirectory(logDirectory);
}

/* 更新时间 */
string file = Path.Combine(logDirectory, $"SyncTime.bin");
Dictionary<string, string> times = this.ReadSyncTime() ?? new Dictionary<string, string>();
if (true == times.ContainsKey(this.syncInstrumentItem.Code))
{
times[this.syncInstrumentItem.Code] = time.ToString("yyyy-MM-dd HH:mm:ss");
}
else
{
times.Add(this.syncInstrumentItem.Code, time.ToString("yyyy-MM-dd HH:mm:ss"));
}

/* 写入文件 */
File.WriteAllText(file, JsonConvert.SerializeObject(times, Formatting.Indented));
}
catch (Exception exception)
{
Invoke(new MethodInvoker(delegate ()
{
this.rtxtLog.Text += $"记录同步时间出错!错误信息:{exception.Message} 日期: {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}\n";
}));
}
}

/// <summary>
///
/// </summary>
private Dictionary<string, string> ReadSyncTime()
{
Dictionary<string, string> times = null;

if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Cache", $"SyncTime.bin")))
{
try
{
using (StreamReader reader = new StreamReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Cache", $"SyncTime.bin"), Encoding.UTF8))
{
try
{
string json = reader.ReadToEnd();
times = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
}
catch
{

}
finally
{
reader.Close();
reader.Dispose();
}
}
}
catch (Exception exception)
{
Debug.WriteLine(exception.Message);
}
}

return times;
}
}
}

Loading…
Peruuta
Tallenna