2025-03-28 09:49:56 +08:00

1169 lines
70 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GetHttpData.SDK;
using GetHttpData.SDK.ThreadPool;
using Microsoft.Win32;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Windows.Forms;
using Lib = ESSupport.Lib;
namespace GetMembership
{
public partial class LodData : Form
{
ClientThread _ClientThread = new ClientThread();
QualityHelper _QualityHelper = new QualityHelper();
ConfigThread _ConfigThread = null; //配置类
List<string> _NotStartTable = null; //不启动的表
List<string> _TopStartTable = null; //启动的上传表
List<string> _DownStartTable = null;//启动的下发表
Timer _Timer = new Timer();
Timer _TimingStart = new Timer();
bool isDeBug = false;
public LodData()
{
try
{
_ClientThread.UploadStringEvent += new ClientThread.OutputResultsUploadArg(UploadStringEvent);//监听上传事件
_ClientThread.DownloadStringEvent += new ClientThread.OutputResultsDownArg(DownloadStringEvent);//监听下发事件
//数据传输定时器
_Timer.Interval = 60 * 1000;
_Timer.Tick += new System.EventHandler(this.timer1_Tick);
_Timer.Start();
//指定任务定时器
_TimingStart.Interval = 60 * 1000;
_TimingStart.Tick += new System.EventHandler(this.timer2_Tick);
_TimingStart.Start();
//TableDataService、DataServices
StringBuilder _ConfigSql = new StringBuilder();
_ConfigSql.Append("http://" + _QualityHelper.dbip + ":" + _QualityHelper.DataServicePort + "/DataServices/Service.asmx").Append(" ");
_ConfigSql.Append(_QualityHelper.authorization).Append(" ");
_ConfigSql.Append(_QualityHelper.serverpartcode).Append(" ");
_ConfigSql.Append(_QualityHelper.serverpartshop_id).Append(" ");
_ConfigSql.Append(_QualityHelper.shopcode).Append(" ");
_ConfigSql.Append(_QualityHelper.macaddress).Append(" ");
_ConfigSql.Append(_QualityHelper.machinecode);
LogHelper.WriteServiceLog(_ConfigSql.ToString());
}
catch (Exception ex)
{
try
{
if (isDeBug)
{
LogHelper.WriteServiceLog(ex.Message.ToString());
}
}
catch { }
}
InitializeComponent();
}
private void LodData_Load(object sender, EventArgs e)
{
this.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
bool falg = _ClientThread.onState();
}
#region ->
/// <summary>
/// 上传回调结果
/// </summary>
/// <param name="uploadResultInfo"></param>
/// <param name="resultString"></param>
private void UploadStringEvent(UploadResultInfo uploadResultInfo, string resultString)
{
//switch (uploadResultInfo.TableName)
//{
// case "HIGHWAY_EXCHANGE.T_SELLMASTER":
// if (uploadResultInfo.StartToEnd)
// {
// //开始
// }
// else
// {
// //结束
// }
// break;
// case "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW":
// break;
// case "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW":
// break;
//}
//System.Diagnostics.Debug.WriteLine(resultString, "OpenTopThreads_" + uploadResultInfo.TableName);
try
{
//启动后
if (uploadResultInfo.StartToEnd && uploadResultInfo.TableName.Equals("HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS"))
{
//启动统计线程
StartThread();
}
//结束前
if (!uploadResultInfo.StartToEnd && (uploadResultInfo.InterfaceError != null || uploadResultInfo.Error != null))
{
string serverpartcode = _QualityHelper.serverpartcode;
string shopcode = _QualityHelper.shopcode;
string machinecode = _QualityHelper.machinecode;
string macaddress = _QualityHelper.macaddress;
#region
Lib.SyBaseHelper.ExecuteSqlTran(new List<string> { string.Format(
@"INSERT INTO T_TRANSMISSIONERROR
(
TRANSMISSIONERROR_ID,
TRANSMISSIONERROR_CODE,PROVINCE_CODE,
SERVERPARTCODE,SHOPCODE,
MACHINECODE,MACHINE_MACADDRESS,
TABLENAME,ELAPSED,
TOTALNUMBER,UPNUMBER,
ADDNUMBER,IDENTICALNUMBER,
FILTERNUMBER,FILTERFIELDNUMBER,
INTERFACEERROR,ERROR,
TRANSMISSION_TYPE,RECORD_DATE,
STAFF_ID,STAFF_NAME,
OPERATE_DATE,TRANSMISSIONERROR_DESC,
TRANSFER_STATE,TRANSFER_ID
) VALUES (1,{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},
{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23})",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,
GetCheckNumber(serverpartcode,shopcode,machinecode)),"null",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,serverpartcode) ,
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,shopcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,machinecode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,macaddress),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,uploadResultInfo.TableName),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,uploadResultInfo.Elapsed.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,uploadResultInfo.TotalNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,uploadResultInfo.SuccessNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,uploadResultInfo.FilterNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,uploadResultInfo.InterfaceError),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,uploadResultInfo.Error),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"1"),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,uploadResultInfo.RecordDate.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,uploadResultInfo.CreateDate.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"0".ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"0".ToString()))});
#endregion
}
}
catch (Exception ex)
{
if (isDeBug)
{
LogHelper.WriteServiceLog(ex.Message.ToString());
}
}
try
{
if (isDeBug)
{
LogHelper.WriteServiceLog(resultString);
}
}
catch
{ }
}
/// <summary>
/// 下发回调结果
/// </summary>
/// <param name="downResultInfo"></param>
/// <param name="resultString"></param>
private void DownloadStringEvent(DownResultInfo downResultInfo, string resultString)
{
//switch (downResultInfo.TableName)
//{
// case "HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE":
// if (downResultInfo.StartToEnd)
// {
// //开始
// }
// else
// {
// //结束
// }
// break;
// case "HIGHWAY_EXCHANGE.T_COMMODITYEX":
// break;
//}
//System.Diagnostics.Debug.WriteLine(resultString, "OpenDownThreads_" + downResultInfo.TableName);
try
{
if (!downResultInfo.StartToEnd && (downResultInfo.InterfaceError != null || downResultInfo.Error != null))
{
string serverpartcode = _QualityHelper.serverpartcode;
string shopcode = _QualityHelper.shopcode;
string machinecode = _QualityHelper.machinecode;
string macaddress = _QualityHelper.macaddress;
#region
Lib.SyBaseHelper.ExecuteSqlTran(new List<string> { string.Format(
@"INSERT INTO T_TRANSMISSIONERROR
(
TRANSMISSIONERROR_ID,
TRANSMISSIONERROR_CODE,PROVINCE_CODE,
SERVERPARTCODE,SHOPCODE,
MACHINECODE,MACHINE_MACADDRESS,
TABLENAME,ELAPSED,
TOTALNUMBER,UPNUMBER,
ADDNUMBER,IDENTICALNUMBER,
FILTERNUMBER,FILTERFIELDNUMBER,
INTERFACEERROR,ERROR,
TRANSMISSION_TYPE,RECORD_DATE,
STAFF_ID,STAFF_NAME,
OPERATE_DATE,TRANSMISSIONERROR_DESC,
TRANSFER_STATE,TRANSFER_ID
) VALUES (1,{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},
{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23})",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,
GetCheckNumber(serverpartcode,shopcode,machinecode)),"null",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,serverpartcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,shopcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,machinecode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,macaddress),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,downResultInfo.TableName),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,downResultInfo.Elapsed.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.TotalNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.UpNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.AddNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.IdenticalNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.FilterNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,downResultInfo.FilterFieldNumber.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,downResultInfo.InterfaceError),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,downResultInfo.Error),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"2"),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,downResultInfo.RecordDate.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,downResultInfo.CreateDate.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"0".ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int,"0".ToString()))});
#endregion
}
}
catch (Exception ex)
{
if (isDeBug)
{
LogHelper.WriteServiceLog(ex.Message.ToString());
}
}
try
{
if (isDeBug)
{
LogHelper.WriteServiceLog(resultString);
}
}
catch { }
}
#endregion
#region -> 线
private void ThreadConfigure()
{
try
{
if (_ConfigThread == null)
{
_ConfigThread = new ConfigThread(_QualityHelper.serverpartcode);
}
if (_NotStartTable == null)
{
_NotStartTable = new List<string>();
}
else
{
_NotStartTable.Clear();
}
if (_TopStartTable == null)
{
_TopStartTable = new List<string>();
}
else
{
_TopStartTable.Clear();
}
if (_DownStartTable == null)
{
_DownStartTable = new List<string>();
}
else
{
_DownStartTable.Clear();
}
//_ClientThread.setConfiguration("http://192.168.10.123:7000/TableDataService/Service.asmx",
//_QualityHelper.authorization, _QualityHelper.serverpartcode, _QualityHelper.serverpartshop_id,
//_QualityHelper.shopcode, _QualityHelper.macaddress, _QualityHelper.machinecode, 100, 6);
_ClientThread.setConfiguration("http://" + _QualityHelper.dbip + ":" + _QualityHelper.DataServicePort + "/DataServices/Service.asmx",
_QualityHelper.authorization, _QualityHelper.serverpartcode, _QualityHelper.serverpartshop_id,
_QualityHelper.shopcode, _QualityHelper.macaddress, _QualityHelper.machinecode, int.Parse(_QualityHelper.maxdataquantity), 3);
#region
try
{
Hashtable _Hashtable = new Hashtable(); //启动时间比例集合
string threadconfigure = _QualityHelper.threadconfigure;
if (!string.IsNullOrWhiteSpace(threadconfigure))
{
foreach (string configure in threadconfigure.Split(','))
{
foreach (DictionaryEntry item in _ConfigThread.onTimeList())
{
string[] temps = configure.Split('|');
if (item.Key.ToString().Split('.')[1] == temps[0].ToUpper())
{
if (_Hashtable.ContainsKey(item.Key.ToString()))
{
_Hashtable[item.Key.ToString()] = temps[2];
}
else
{
_Hashtable.Add(item.Key.ToString(), temps[2]);
}
//temps[1] 1为启动、0为不启动
if (int.Parse(temps[1]) == 0)
{
_NotStartTable.Add(item.Key.ToString());
}
}
if (!_Hashtable.ContainsKey(item.Key.ToString()))
{
_Hashtable.Add(item.Key.ToString(), item.Value.ToString());
}
}
}
}
if (_Hashtable != null && _Hashtable.Count > 0)
{
//更新参数
_ConfigThread.setTimeList(_Hashtable);
}
else
{
_ConfigThread.setTimeList(null);
}
}
catch { }
#endregion
#region
string _strAuthMAC = "";
try
{
_strAuthMAC = _QualityHelper.authorization.ToDecrypt().Split('|')[3];
}
catch
{
_strAuthMAC = "";
}
if (_strAuthMAC == GetMacAddressByNetworkInformation())
{
if (_NotStartTable.Count > 0)
{
Hashtable _TableNameList = new Hashtable(_ConfigThread.onTableNameList());
foreach (DictionaryEntry item in _TableNameList)
{
string keyString = item.Key.ToString().Split('.')[1];
if (item.Value.Equals("TOP") && !_NotStartTable.Contains(item.Key.ToString()))
{
_TopStartTable.Add(keyString);
}
if (item.Value.Equals("DOWN") && !_NotStartTable.Contains(item.Key.ToString()))
{
_DownStartTable.Add(keyString);
}
}
//指定上传某些表
if (!IsListCompare(_ClientThread.getStartUpTypes(), _TopStartTable, true))
{
_ClientThread.IsUpload(true, _TopStartTable);
}
//指定下发某些表
if (!IsListCompare(_ClientThread.getStartDownTypes(), _DownStartTable, true))
{
_ClientThread.IsDownload(true, _DownStartTable);
}
}
else
{
_ClientThread.IsUpload(true);
_ClientThread.IsDownload(true);
}
}
else
{
_ClientThread.IsUpload(false);
_ClientThread.IsDownload(true, new List<string> { "T_CONFIGURATION" });
}
#endregion
//_ClientThread.IsUpload(true, new List<string>() { "T_BUSINESSTIME", "T_DATACOLLECTION", "T_EXCEPTION", "T_MOBILE_PAY", "T_MOBILE_PAYCHECK", "T_COMMODITYEX_NEW" });
//_ClientThread.IsDownload(true, new List<string>() { "T_CONFIGURATION", "T_ICCARDINFO", "T_MEMBERSHIP", "T_SALESPROMOTE", "T_SHOPMESSAGE", "T_SELLWORKER" });
//_ClientThread.IsUpload(true, new List<string>() { "T_MOBILE_PAYCHECK" });
//_ClientThread.IsUpload(false);
// _ClientThread.IsDownload(true);
_ClientThread.setVipStartUp(new List<string> { "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS" });
_ClientThread.setConfigThread(_ConfigThread);
}
catch (Exception ex) { ex.ToString(); }
}
#endregion
#region -> 线
private void timer1_Tick(object sender, EventArgs e)
{
try
{
ThreadConfigure();//线程配置
if(! _ClientThread.onState())
{
LogHelper.WriteServiceLog("传输预启动失败");
}
}
catch (Exception ex)
{
try
{
LogHelper.WriteServiceLog("传输启动异常:"+ex.Message);
}
catch { }
}
}
#endregion
#region ->
private void timer2_Tick(object sender, EventArgs e)
{
try
{
//重启程序
onRestartFrom();
//获取时间
DateTime _DateTime = DateTime.Now;
int intHour = _DateTime.Hour;
int intMinute = _DateTime.Minute;
//int intSecond = _DateTime.Second;
if (intMinute == 0)
{
//switch (intHour)
//{
// case 4:
// break;
// case 5:
// break;
// case 6:
// break;
// case 7:
// break;
// default:
// return;
//}
}
else
{
return;
}
//启动清除表数据线程
StartClearThread();
}
catch { }
}
#endregion
#region -> 线
private void StartClearThread()
{
//线程启动
System.Threading.Thread threadClear = new System.Threading.Thread(new System.Threading.ThreadStart(delegate ()
{
try
{
Lib.SyBaseHelper.ExecuteSqlTran(new List<string> { "DELETE FROM T_TRANSMISSIONERROR WHERE (RECORD_DATE < GETDATE() - 7)" });
}
catch (Exception ex)
{
try
{
if (isDeBug)
{
LogHelper.WriteServiceLog(ex.Message.ToString());
}
}
catch { }
}
}));
threadClear.IsBackground = true;
threadClear.Start();
}
#endregion
#region ->
private void StartThread()
{
for (int t = 0; t < 3; t++)
{
try
{
string serverpartcode = _QualityHelper.serverpartcode;
string shopcode = _QualityHelper.shopcode;
string machinecode = _QualityHelper.machinecode;
string macaddress = _QualityHelper.macaddress;
string sqlString = string.Empty;
string oldDate = DateTime.Now.AddDays(-t).Date.ToString();
string newDate = DateTime.Now.AddDays(-t + 1).Date.ToString();
StringBuilder _StatisticssStr = new StringBuilder();
if (_ClientThread != null)
{
Hashtable _TableNameList = new Hashtable(_ClientThread.getTableNameList());
Hashtable _CreateDateName = getEndDate();
Hashtable _AllDataSql = new Hashtable(_ClientThread.getAllDataSql());
Hashtable _TopCount; //上传统计参数
string _TRANSFERSTATISTICS_CODE = string.Empty;//父级唯一主键
if (_TableNameList != null && _CreateDateName != null && _AllDataSql != null)
{
string _DataSql = "SELECT TRANSFERSTATISTICS_CODE FROM T_TRANSFERSTATISTICS WHERE PID_CODE = '-1' AND OPERATE_DATE >= '" +
oldDate + "' AND OPERATE_DATE < '" + newDate + "'";
DataTable _DataTable = Lib.SyBaseHelper.QueryOdbc(_DataSql).Tables[0];
if (_DataTable != null && _DataTable.Rows.Count > 0)
{
Lib.SyBaseHelper.ExecuteSqlTran(new List<string> { string.Format(
@"UPDATE T_TRANSFERSTATISTICS SET LOCAL_UPDATETIME = {0},TRANSFER_STATE = 0,TRANSFER_ID = 0 WHERE TRANSFERSTATISTICS_CODE = {1}",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,DateTime.Now.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String,_DataTable.Rows[0]["TRANSFERSTATISTICS_CODE"].ToString()))});
_TRANSFERSTATISTICS_CODE = _DataTable.Rows[0]["TRANSFERSTATISTICS_CODE"].ToString();
}
else
{
_TRANSFERSTATISTICS_CODE = GetCheckNumber(serverpartcode, shopcode, machinecode);
_DataSql = string.Format(
@"INSERT INTO T_TRANSFERSTATISTICS
(
TRANSFERSTATISTICS_CODE,
PID_CODE,
PROVINCE_CODE,
SERVERPARTCODE,
SHOPCODE,
MACHINECODE,
MACHINE_MACADDRESS,
TABLENAME,
LOCAL_UPLOADNUM,
LOCAL_NOTUPLOADNUM,
LOCAL_UPDATETIME,
LOCAL_ENDTIME,
SERVICE_UPLOADNUM,
SERVICE_NOTUPLOADNUM,
SERVICE_UPDATETIME,
STAFF_ID,
STAFF_NAME,
OPERATE_DATE,
TRANSFERSTATISTICS_DESC,
TRANSFER_STATE,
TRANSFER_ID
) VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20})",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, _TRANSFERSTATISTICS_CODE),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, "-1"),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, serverpartcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, shopcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, machinecode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, macaddress),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, DateTime.Now.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, oldDate),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, "0".ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, "0".ToString()));
Lib.SyBaseHelper.ExecuteSqlTran(new List<string> { _DataSql });
}
List<string> _DateSqlLists = new List<string>();
foreach (DictionaryEntry item in _AllDataSql)
{
if (item.Key != null && item.Value != null && _TableNameList[item.Key.ToString()].ToString() == "TOP")
{
try
{
_TopCount = getTopCount(serverpartcode, _CreateDateName[item.Key.ToString()].ToString(),
oldDate, newDate, _CreateDateName[item.Key.ToString()].ToString());
if (!_TopCount.ContainsKey(item.Key.ToString()))
{
continue;
}
sqlString = item.Value.ToString();
DataTable _DataTop = Lib.SyBaseHelper.QueryOdbc(_TopCount[item.Key.ToString()].ToString()).Tables[0];
DataTable _Data = Lib.SyBaseHelper.QueryOdbc(sqlString).Tables[0];
if (_Data != null)
{
DataRow[] _DataRow = _Data.Select(string.Format("{0} >= '{1}' AND {0} < '{2}'",
_CreateDateName[item.Key.ToString()].ToString(), oldDate, newDate));
//查询该表是否存在子级
_DataSql = "SELECT TRANSFERSTATISTICS_CODE FROM T_TRANSFERSTATISTICS WHERE PID_CODE = '" +
_TRANSFERSTATISTICS_CODE + "' AND TABLENAME = '" + item.Key.ToString() + "'";
DataTable _DataTableSon = Lib.SyBaseHelper.QueryOdbc(_DataSql).Tables[0];
if (_DataTableSon != null && _DataTableSon.Rows.Count > 0)
{
_DataSql = string.Format(
@"UPDATE T_TRANSFERSTATISTICS SET LOCAL_UPLOADNUM = {0},LOCAL_ENDTIME = {1},LOCAL_NOTUPLOADNUM = {2},
LOCAL_UPDATETIME = {3},TRANSFER_STATE = 0,TRANSFER_ID = 0 WHERE TRANSFERSTATISTICS_CODE = {4} AND TABLENAME = {5}",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, _DataTop.Rows.Count.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,
(_DataTop.Rows.Count > 0 && !string.IsNullOrWhiteSpace(_DataTop.Rows[0][_CreateDateName[item.Key.ToString()].ToString()].ToString())) ?
_DataTop.Rows[0][_CreateDateName[item.Key.ToString()].ToString()].ToString() : null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, _DataRow.Length.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, DateTime.Now.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, _DataTableSon.Rows[0]["TRANSFERSTATISTICS_CODE"].ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, item.Key.ToString()));
_DateSqlLists.Add(_DataSql);
}
else
{
_DataSql = string.Format(
@"INSERT INTO T_TRANSFERSTATISTICS
(
TRANSFERSTATISTICS_CODE,
PID_CODE,
PROVINCE_CODE,
SERVERPARTCODE,
SHOPCODE,
MACHINECODE,
MACHINE_MACADDRESS,
TABLENAME,
LOCAL_UPLOADNUM,
LOCAL_NOTUPLOADNUM,
LOCAL_UPDATETIME,
LOCAL_ENDTIME,
SERVICE_UPLOADNUM,
SERVICE_NOTUPLOADNUM,
SERVICE_UPDATETIME,
STAFF_ID,
STAFF_NAME,
OPERATE_DATE,
TRANSFERSTATISTICS_DESC,
TRANSFER_STATE,
TRANSFER_ID
) VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20})",
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, GetCheckNumber(serverpartcode, shopcode, machinecode)),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, _TRANSFERSTATISTICS_CODE),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, serverpartcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, shopcode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, machinecode),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, macaddress),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, item.Key.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, _DataTop.Rows.Count.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, _DataRow.Length.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, DateTime.Now.ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr,
(_DataTop.Rows.Count > 0 && !string.IsNullOrWhiteSpace(_DataTop.Rows[0][_CreateDateName[item.Key.ToString()].ToString()].ToString())) ?
_DataTop.Rows[0][_CreateDateName[item.Key.ToString()].ToString()].ToString() : null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.DateTime_SqlSvr, oldDate),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.String, null),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, "0".ToString()),
DataCheckHelper.IsArrayType(DataCheckHelper.ValueType.Int, "0".ToString()));
_DateSqlLists.Add(_DataSql);
}
}
}
catch (Exception ex) { ex.ToString(); }
}
}
if (_DateSqlLists != null && _DateSqlLists.Count > 0)
{
Lib.SyBaseHelper.ExecuteSqlTran(_DateSqlLists);
}
}
}
}
catch (Exception ex) { ex.ToString(); }
}
}
#endregion
#region ->
private Hashtable getTopCount(string serverpartcode, string dateName, string oldDate, string newDate, string endDateName)
{
Hashtable _AllDataSql = new Hashtable();
//上传
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_SELLMASTER",
@"SELECT
SELLMASTER_ID, SELLMASTER_CODE, SERVERPARTCODE, SERVERPART_NAME, SHOPCODE, SHOPNAME,
MACHINECODE, SELLWORKER_CODE, SELLWORKER_NAME, SELLMASTER_DATE, TICKET_CODE,
SELLMASTER_COUNT, SELLMASTER_OFFPRICE, SELLMASTER_AMOUNT, CASHPAY, BANKPAY, MEMBERPAY,
COUPONPAY, MOBILEPAY, INTERNALPAY, OTHERPAY, PAYMENT_TYPE, MOBILEPAY_CODE, MERCHANT_ORDER,
SELLMASTER_DESC, TRANSFER_STATE
FROM T_SELLMASTER WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND SELLMASTER_CODE IS NOT NULL AND SELLMASTER_DATE IS NOT NULL " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_SELLDETAILS",
@"SELECT
SELLDETAILS_ID, SELLMASTER_CODE, COMMODITY_CODE, COMMODITY_BARCODE, COMMODITY_NAME,
SELLDETAILS_COUNT, SELLDETAILS_PRICE, SELLDETAILS_OFFPRICE,SELLDETAILS_AMOUNT,
LINENUM, PAYMENT_TYPE, CREATE_DATE, SELLDETAILS_DESC, TRANSFER_STATE
FROM T_SELLDETAILS WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND SELLMASTER_CODE IS NOT NULL" +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW",
@"SELECT
COMMODITYSALE_ID, ENDACCOUNT_CODE, COMMODITY_TYPE, COMMODITY_CODE,COMMODITY_BARCODE, COMMODITY_NAME,
TICKTE_COUNT, TOTAL_COUNT,TOTAL_AMOUNT, TOTAL_OFFAMOUNT, WOKER_NUMBER, ISNULL(CREATE_DATE,NOW()) AS CREATE_DATE,
COMMODITYSALE_DESC, TRANSFER_STATE
FROM T_COMMODITYSALE_NEW WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND
ENDACCOUNT_CODE IS NOT NULL AND COMMODITYSALE_ID IS NOT NULL " +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_PERSONSELL_NEW",
@"SELECT
PERSONSELL_ID, ENDACCOUNT_CODE, SERVERPARTCODE, SHOPCODE, MACHINECODE, STARTDATE, ENDDATE,
SELLWORKER_CODE, TICKET_COUNT, TOTAL_COUNT, TOTAL_AMOUNT,TOTAL_OFFAMOUNT, CASHPAY, BANKPAY,
MEMBERPAY,COUPONPAY,MOBILEPAY,INTERNALPAY,OTHERPAY,CONTRIBUTION_AMOUNT, PAYMENT_DETAILS,
WOKER_NUMBER, PERSONSELL_DESC, TRANSFER_STATE
FROM T_PERSONSELL_NEW WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND ENDACCOUNT_CODE IS NOT NULL AND ENDDATE IS NOT NULL " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW",
@"SELECT
ENDACCOUNT_ID, ENDACCOUNT_CODE, SERVERPARTCODE, SHOPCODE, MACHINECODE, ENDPERSON_CODE,
STARTDATE, ENDDATE,TICKET_COUNT,TOTAL_COUNT,TOTAL_AMOUNT,TOTAL_OFFAMOUNT, CASHPAY,BANKPAY,
MEMBERPAY, COUPONPAY, MOBILEPAY,INTERNALPAY, CONTRIBUTION_AMOUNT, PAYMENT_DETAILS,ENDACCOUNT_TYPE,
ENDACCOUNT_DESC, TRANSFER_STATE
FROM T_ENDACCOUNT_NEW WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND ENDACCOUNT_CODE IS NOT NULL AND ENDDATE IS NOT NULL " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_TRANSFER_SALE",
@"SELECT
TRANSFER_ID, SERVERPARTCODE, SHOPCODE, STARTDATE, ENDDATE, TRANSFER_FIRSTDATAS, TRANSFER_SECONDDATAS,
TRANSFER_THIRDDATAS, TRANSFER_FORTHDATAS, TRANSFER_FIFTHDATAS, TRANSFER_SIXTHDATAS, TRANSFER_SEVENTHDATAS,
TRANSFER_EIGHTHDATAS, TRANSFER_NINTHTDATAS, TRANSFER_TENTHDATAS, TRANSFER_ELEVENTHDATAS, TRANSFER_TWELFTHDATAS,
TRANSFER_THIRTEENTHDATAS, TRANSFER_FOURTEENTHDATAS, TRANSFER_FIFTEENTHDATAS, TRANSFER_STATE
FROM T_TRANSFER_SALE WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND TRANSFER_FIRSTDATAS IS NOT NULL AND TRANSFER_ID IS NOT NULL AND ENDDATE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_BUSINESSTIME",
@"SELECT
BUSINESSTIME_ID,SERVERPARTCODE,
SHOPCODE,MACHINECODE ,
ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,
BUSINESS_OPENTIME,BUSINESS_CLOSETIME,
BUSINESS_STARTTIME,BUSINESS_ENDTIME,
BUSINESS_STARTINFO,BUSINESS_ENDINFO,
BUSINESSTIME_STATE,BUSINESSTIME_DESC,
BUSINESS_TIME
FROM T_BUSINESSTIME WHERE ISNULL(BUSINESSTIME_STATE,0) <> 0 AND ISNULL(BUSINESSTIME_STATE,0) <> 2 AND
BUSINESSTIME_ID IS NOT NULL AND SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND
MACHINECODE IS NOT NULL AND ENDACCOUNT_STARTDATE IS NOT NULL AND ENDACCOUNT_DATE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_DATACOLLECTION",
@"SELECT
DATACOLLECTION_ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, MACADDRESS, MACHINENAME,DATACOLLECTION_TYPE,
DATACOLLECTION_DATE, TOTAL_COUNT,TOTALSELL_AMOUNT, TICKET_COUNT,
TICKET_INFO, DATACOLLECTION_STATE, DATACOLLECTION_DESC, RESERVE_FIRSTNUM,
RESERVE_SECONDNUM,RESERVE_THIRDNUM, RESERVE_FIRSTCHAR, RESERVE_SECONDCHAR,
RESERVE_THIRDCHAR, RESERVE_FIRSTDATE, RESERVE_SECONDDATE, RESERVE_THIRDDATE
FROM T_DATACOLLECTION WHERE ISNULL(DATACOLLECTION_STATE,0) <> 0 AND DATACOLLECTION_ID IS NOT NULL AND MACADDRESS IS NOT NULL AND
DATACOLLECTION_DATE IS NOT NULL AND DATACOLLECTION_TYPE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_EXCEPTION",
@"SELECT
EXCEPTION_ID, EXCEPTION_DATE, SERVERPARTCODE, SHOPCODE, MACHINECODE, WORKERCODE, EXCEPTIONTYPE, COMMODITY_CODE,
EXCEPTIONCOUNT,EXCEPTIONAMOUNT,FLAG, REMARK,
RESERVE_FIRSTNUM,RESERVE_SECONDNUM,RESERVE_THIRDNUM,
RESERVE_FIRSTCHAR, RESERVE_SECONDCHAR, RESERVE_THIRDCHAR, RESERVE_FIRSTDATE, RESERVE_SECONDDATE, RESERVE_THIRDDATE,EXCEPTION_STATE
FROM T_EXCEPTION WHERE ISNULL(EXCEPTION_STATE,0) <> 0 AND EXCEPTION_ID IS NOT NULL AND EXCEPTION_DATE IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND MACHINECODE IS NOT NULL AND WORKERCODE IS NOT NULL AND EXCEPTIONTYPE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_MOBILE_PAY",
@"SELECT
MOBILE_PAY_ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, WORKERCODE, MOBILEPAY_DATE, MOBILEPAY_TYPE, TICKET_CODE,
TICKET_AMOUNT,MOBILEPAY_RESULT, MOBILEPAY_FEEDBACK, MOBILEPAY_STATE
FROM T_MOBILE_PAY WHERE ISNULL(MOBILEPAY_STATE,0) <> 0 AND MOBILE_PAY_ID IS NOT NULL AND MOBILEPAY_TYPE IS NOT NULL AND
ISNULL(MOBILEPAY_RESULT,0) <> 9 AND TICKET_CODE IS NOT NULL AND MOBILEPAY_DATE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
//_AllDataSql.Add("HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK",
// @"SELECT
// MOBILE_PAYCHECK_ID, MOBILEPAY_DATE, MOBILEPAY_TYPE, TICKET_CODE,TICKET_PRICE, TRADE_NO,
// TRADE_NUM, RESULT_CODE, RESULT_DESC, JSON_STRING, TRADE_FSPARE, TRADE_SSPARE, TRADE_TSPARE, MOBILE_PAYCHECK_STATE
// FROM T_MOBILE_PAYCHECK WHERE ISNULL(MOBILE_PAYCHECK_STATE,0) <> 0 AND MOBILE_PAYCHECK_ID IS NOT NULL AND
// MOBILEPAY_TYPE IS NOT NULL AND TICKET_CODE IS NOT NULL " +
// (string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
// (string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW",
@"SELECT
COMMODITYEX_ID, SERVERPARTCODE, COMMODITY_TYPE, COMMODITY_CODE, COMMODITY_BARCODE,
COMMODITY_NAME, COMMODITY_RULE, COMMODITY_UNIT, COMMODITY_RETAILPRICE,
COMMODITY_MEMBERPRICE, CANCHANGEPRICE, ISVALID, GUARANTEE_DAY, REMINDER_DAY,
COMMODITY_EN,ISBULK, METERINGMETHOD, DOWNLOADDATE,FLAG,BUSINESSTYPE, SERVERPARTSHOP_ID,
COMMODITY_SYMBOL, COMMODITY_HOTKEY,USERDEFINEDTYPE_ID, TRANSFER_STATE
FROM T_COMMODITYEX WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND COMMODITYEX_ID IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SERVERPARTSHOP_ID IS NOT NULL AND COMMODITY_CODE <> '' " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_ENDACCOUNT",
@"SELECT
ENDACCOUNT_ID, ENDACCOUNT_STARTDATE, ENDACCOUNT_DATE, SERVERPARTCODE, SHOPCODE, MACHINECODE,
ENDPERSONCODE, TICKETCOUNT, TOTALCOUNT, TOTALSELLAMOUNT, TOTALOFFAMOUNT, CASH, CREDITCARD,
TICKETBILL, VIPPERSON, COSTBILL, OTHERPAY, CASHPAY, FLAG, WORKNUMBER,ENDACCOUNT_STATE
FROM T_ENDACCOUNT WHERE ISNULL(ENDACCOUNT_STATE,0) <> 0 AND ENDACCOUNT_ID IS NOT NULL AND ENDACCOUNT_DATE IS NOT NULL AND
ENDACCOUNT_STARTDATE IS NOT NULL AND SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND
MACHINECODE IS NOT NULL AND FLAG IS NOT NULL AND ENDACCOUNT_STARTDATE > DATETIME('2018/01/01') " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
//_AllDataSql.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE",
// @"SELECT
// COMMODITYSALE_ID, STARTDATE, ENDDATE, SERVERPARTCODE, SHOPCODE, COMMODITY_TYPE,
// COMMODITY_CODE, COMMODITY_NAME, TICKETCOUNT, TOTALCOUNT, TOTALSELLAMOUNT, TOTALOFFAMOUNT,
// FLAG, COMMODITYSALE_STATE
// FROM T_COMMODITYSALE WHERE ISNULL(COMMODITYSALE_STATE,0) <> 0 AND COMMODITYSALE_ID IS NOT NULL AND STARTDATE IS NOT NULL AND
// ENDDATE IS NOT NULL AND SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND COMMODITY_CODE IS NOT NULL AND ENDDATE > DATETIME('2018/01/01') " +
// (string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
// (string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
// (string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_PERSONSELL",
@"SELECT
PERSONSELL_ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, STARTDATE, ENDDATE, CASHWORKER_CODE,
TICKETCOUNT, TOTALCOUNT, TOTALSELLAMOUNT, TOTALOFFAMOUNT, CASH, TICKETBILL, CREDITCARD, VIPPERSON,
COSTBILL, OTHERPAY, CASHPAY, ENDPERSONCODE, WORKNUMBER, CASHAMOUNT,PERSONSELL_STATE
FROM T_PERSONSELL WHERE ISNULL(PERSONSELL_STATE,0) <> 0 AND ENDDATE IS NOT NULL AND
PERSONSELL_ID IS NOT NULL AND SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND
MACHINECODE IS NOT NULL AND STARTDATE IS NOT NULL AND STARTDATE > DATETIME('2018/01/01') " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR",
@"SELECT COMMODITYSALE_ID, STARTDATE, ENDDATE, SERVERPARTCODE, SHOPCODE, MACHINECODE, COMMODITY_TYPE,
COMMODITY_CODE, COMMODITY_NAME, TICKETCOUNT, TOTALCOUNT, TOTALSELLAMOUNT, TOTALOFFAMOUNT,
FLAG,TRANSFER_STATE, TRANSFER_ID, MERGE_STATE
FROM T_COMMODITYSALE_EXTAR WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND COMMODITYSALE_ID IS NOT NULL AND STARTDATE IS NOT NULL AND
ENDDATE IS NOT NULL AND SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND MACHINECODE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_SELLDATA",
@"SELECT SELLDATA_ID, SELLDATA_DATE, SERVERPARTCODE, SHOPCODE, MACHINECODE, TICKETCODE, WORKERCODE,
COMMODITY_CODE, SELLCOUNT, SELLPRICE, OFFPRICE, FACTAMOUNT, LINENUM, FLAG, CASH, CREDITCARD, TICKETBILL,
VIPPERSON, COSTBILL, OTHERPAY, ORDERCODE,SELLDATA_STATE
FROM T_SELLDATA WHERE ISNULL(SELLDATA_STATE,0) <> 0 AND SELLDATA_ID IS NOT NULL AND SELLDATA_DATE IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND MACHINECODE IS NOT NULL AND TICKETCODE IS NOT NULL AND
TICKETCODE <> '' AND WORKERCODE IS NOT NULL AND COMMODITY_CODE IS NOT NULL AND SELLDATA_DATE > DATETIME('2018/01/01')" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR",
@"SELECT TRANSMISSIONERROR_ID,TRANSMISSIONERROR_CODE,PROVINCE_CODE,SERVERPARTCODE,SHOPCODE,MACHINECODE,MACHINE_MACADDRESS,
TABLENAME,ELAPSED,TOTALNUMBER,UPNUMBER,ADDNUMBER,IDENTICALNUMBER,FILTERNUMBER,FILTERFIELDNUMBER,INTERFACEERROR,ERROR,
TRANSMISSION_TYPE,RECORD_DATE,STAFF_ID,STAFF_NAME,OPERATE_DATE,TRANSMISSIONERROR_DESC,TRANSFER_STATE,TRANSFER_ID
FROM T_TRANSMISSIONERROR WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND RECORD_DATE IS NOT NULL AND TRANSMISSIONERROR_CODE IS NOT NULL" +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
//_AllDataSql.Add("HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS",
// @"SELECT TRANSFERSTATISTICS_CODE,PID_CODE,PROVINCE_CODE,SERVERPARTCODE,SHOPCODE,MACHINECODE,MACHINE_MACADDRESS,
// TABLENAME,LOCAL_UPLOADNUM,LOCAL_NOTUPLOADNUM,LOCAL_UPDATETIME,LOCAL_ENDTIME,SERVICE_UPLOADNUM,SERVICE_NOTUPLOADNUM,
// SERVICE_UPDATETIME,STAFF_ID,STAFF_NAME,OPERATE_DATE,TRANSFERSTATISTICS_DESC,TRANSFER_STATE,TRANSFER_ID
// FROM T_TRANSFERSTATISTICS WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND OPERATE_DATE IS NOT NULL AND TRANSFERSTATISTICS_CODE IS NOT NULL" +
// (string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
// (string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
// (string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
_AllDataSql.Add("HIGHWAY_EXCHANGE.T_CUSTOMERINFO",
@"SELECT CUSTOMERINFO_ID,SELLMASTER_CODE,ACQUISITION_TIME,SERVERPARTCODE,
SHOPCODE,MACHINECODE,SELLMASTER_AMOUNT,CUSTOMER_AGE,CUSTOMER_GENDER ,
CUSTOMER_RACE,CUSTOMERINFO_DESC,TRANSFER_STATE,CUSTOMER_FACE
FROM T_CUSTOMERINFO WHERE ISNULL(TRANSFER_STATE,0) <> 0 AND SELLMASTER_CODE IS NOT NULL AND
ACQUISITION_TIME IS NOT NULL AND SERVERPARTCODE IS NOT NULL " +
(string.IsNullOrWhiteSpace(serverpartcode) ? "" : (" AND SERVERPARTCODE = '" + serverpartcode + "'")) +
(string.IsNullOrWhiteSpace(dateName) ? "" : (string.Format(" AND {0} >= '{1}' AND {0} < '{2}'", dateName, oldDate, newDate))) +
(string.IsNullOrWhiteSpace(endDateName) ? "" : (" ORDER BY " + endDateName + " DESC")));
return _AllDataSql;
}
#endregion
#region ->
private Hashtable getEndDate()
{
Hashtable _EndDate = new Hashtable();
_EndDate.Add("HIGHWAY_EXCHANGE.T_SELLMASTER", "SELLMASTER_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_SELLDETAILS", "CREATE_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW", "CREATE_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_PERSONSELL_NEW", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_TRANSFER_SALE", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_BUSINESSTIME", "ENDACCOUNT_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_DATACOLLECTION", "DATACOLLECTION_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_EXCEPTION", "EXCEPTION_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_MOBILE_PAY", "MOBILEPAY_DATE");
//_EndDate.Add("HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK", "MOBILEPAY_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW", "DOWNLOADDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_ENDACCOUNT", "ENDACCOUNT_DATE");
//_EndDate.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_PERSONSELL", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR", "ENDDATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_SELLDATA", "SELLDATA_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR", "RECORD_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS", "OPERATE_DATE");
_EndDate.Add("HIGHWAY_EXCHANGE.T_CUSTOMERINFO", "ACQUISITION_TIME");
return _EndDate;
}
#endregion
#region ->
private void onRestartFrom()
{
try
{
Process CurrentProcess = Process.GetCurrentProcess();
//CurrentProcess.Id.ToString();//PID
//string _Working = (CurrentProcess.WorkingSet64 / 1024 / 1024).ToString() +
//"M (" + (CurrentProcess.WorkingSet64 / 1024).ToString() + "KB)";//占用内存
//((Double)(CurrentProcess.TotalProcessorTime.TotalMilliseconds - CurrentProcess.UserProcessorTime.TotalMilliseconds)).ToString();//CPU
//CurrentProcess.Threads.Count.ToString();//线程
Double _Working = CurrentProcess.WorkingSet64 / 1024 / 1024;
if (isDeBug)
{
LogHelper.WriteServiceLog("内存占用:" + _Working.ToString());
}
//大于500M内存占用重启当前传输工具
if (_Working > 500)
{
if (isDeBug)
{
LogHelper.WriteServiceLog("---------------程序重启----------------");
}
System.Windows.Forms.Application.Restart(); //重启当前程序
return;
}
}
catch { }
}
#endregion
#region ->
/// <summary>
/// luhn计算校验位
/// </summary>
/// <param name="time">时间</param>
/// <returns></returns>
public string GetCheckNumber(string serverpartcode, string shopcode, string machinecode)
{
try
{
Random _random = new Random();
string code = serverpartcode + shopcode + machinecode + DateTime.Now.ToString("yyyyMMddHHmmssfff")
+ RandomNum.getRandomNum(1, 0, 100)[0].ToString().PadLeft(2, '0');
int i, checkSum = 0;
for (i = code.Length - 1; i >= 0; i--)
{
if (i % 2 == 0)
{
int val = ((code[i] - '0') * 2);
while (val > 0)
{
checkSum += (val % 10);
val /= 10;
}
}
else
{
checkSum += (code[i] - '0');
}
}
checkSum = checkSum % 10;
return code + (10 - checkSum).ToString();
}
catch
{
return "";
}
}
#endregion
#region ->
/// <summary>
/// 方法 -> 比较两集合值
/// </summary>
/// <param name="listOne">集合</param>
/// <param name="listTwo">集合</param>
/// <param name="isCase">是否区分大小写</param>
private bool IsListCompare(List<string> listOne, List<string> listTwo, bool isCase = false)
{
if (listOne == null && listTwo == null)
{
return true;
}
if (listOne != null && listTwo != null)
{
if (listOne.Count == listTwo.Count)
{
foreach (string tempOne in listOne)
{
foreach (string tempTwo in listTwo)
{
if (isCase)
{
if (!tempOne.Equals(tempTwo))
{
return false;
}
}
else
{
if (!tempOne.ToUpper().Equals(tempTwo.ToUpper()))
{
return false;
}
}
}
}
return true;
}
}
return false;
}
#endregion
/// <summary>
/// 获取物理网卡mac地址
/// </summary>
/// <returns></returns>
public string GetMacAddressByNetworkInformation()
{
string key = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\";
string macAddress = string.Empty;
try
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet
&& adapter.GetPhysicalAddress().ToString().Length != 0)
{
string fRegistryKey = key + adapter.Id + "\\Connection";
RegistryKey rk = Registry.LocalMachine.OpenSubKey(fRegistryKey, false);
if (rk != null)
{
string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();
int fMediaSubType = Convert.ToInt32(rk.GetValue("MediaSubType", 0));
if (fPnpInstanceID.Length > 3 &&
fPnpInstanceID.Substring(0, 3) == "PCI")
{
macAddress = adapter.GetPhysicalAddress().ToString();
for (int i = 1; i < 6; i++)
{
macAddress = macAddress.Insert(3 * i - 1, ":");
}
break;
}
}
}
}
}
catch (Exception ex)
{
macAddress = string.Empty;
}
return macAddress;
}
}
}