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

3150 lines
201 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 System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Net.NetworkInformation;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using SocketTransfer.SDK;
namespace SocketTransfer
{
public partial class Sender : Form
{
protected string _TransferType = ConfigurationManager.AppSettings["TransferType"].ToString();
protected string _OracleConnStr = ConfigurationManager.AppSettings["OracleConnStr"].ToString();
protected string _HostIP = ConfigurationManager.AppSettings["HostIP"].ToString();
protected string _HostPort = ConfigurationManager.AppSettings["HostPort"].ToString();
protected string _ToolListen = ConfigurationManager.AppSettings["ToolListen"].ToString();
protected string _StartApp = ConfigurationManager.AppSettings["StartApp"].ToString();
protected string _Connectport = ConfigurationManager.AppSettings["Connectport"].ToString();
public Sender()
{
InitializeComponent();
}
#region ->
private void Sender_Load(object sender, EventArgs e)
{
bool StartUpdate = false;
Thread _Thread;
Assembly assembly = Assembly.LoadFrom("SocketTransfer.SDK.dll");
Type type = typeof(EndAccountReceive);
object _object = Activator.CreateInstance(type);
propertyGrid1.SelectedObject = _object;
string strIPAddress = string.Empty;
IPAddress[] arrIPAddresses = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName());
foreach (IPAddress _IPAddress in arrIPAddresses)
{
if (!_IPAddress.AddressFamily.Equals(AddressFamily.InterNetwork))
continue;
strIPAddress = _IPAddress.ToString();
break;
}
if (!string.IsNullOrEmpty(strIPAddress))
{
textBoxIP.Text = strIPAddress;
}
else
{
textBoxIP.Text = "127.0.0.1";
}
textBoxIP.Text = strIPAddress;
textBoxPort.Text = "6060";
//StartProcess(95);
foreach (string str in _TransferType.Split(','))
{
switch (str)
{
//系统异常日志
case "0":
timer5.Start();
StartUpdate = true;
break;
//服务区传输
case "1":
timer1.Start();
//timer2.Start();
timer3.Start();
timer30.Start();
timer97.Start();
timer98.Start();
timer94.Start();
StartProcess();
_Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(97))));
_Thread.Start();
break;
//总部传输 推送信息、单品详情
case "2":
timer2.Start();
break;
//总部传输 服务区、门店
case "3":
timer1.Start();
break;
//销售流水集合
case "4":
//timer4.Start();
//timer96.Start();
//_Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(96))));
//_Thread.Start();
break;
case "5":
timer6.Start();
timer95.Start();
_Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(95))));
_Thread.Start();
break;
//程序监听
case "100":
//timer0.Start();
break;
}
}
if (_TransferType != "100")
{
timer99.Start();
}
ExcuteSql();
//启动系统日志升级程序
if (StartUpdate)
{
OpenFileDownload();
RemoteDataThread _RemoteDataThread = new RemoteDataThread();
_RemoteDataThread.onStart(60);
}
}
#endregion
#region -> button1_Click
private void button1_Click(object sender, EventArgs e)
{
try
{
SocketReceive _SocketReceive = (SocketReceive)propertyGrid1.SelectedObject;
_SocketReceive.ResetSize();
byte[] _buffer = _SocketReceive.Source;
//(propertyGrid1.SelectedObject as SocketCommodityReceive).Source
byte[] feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(textBoxIP.Text), int.Parse(textBoxPort.Text)));
#if DEBUG
string dir = Application.StartupPath + "//Log";
string fil = dir + "//" + CommonHelper.GetSendType(_SocketReceive.ReceiveType) +
"Send" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".log";
if (!Directory.Exists(dir))
{
System.IO.Directory.CreateDirectory(dir);
}
FileStream filestream = new FileStream(fil, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter writer = new StreamWriter(filestream, System.Text.Encoding.UTF8);
writer.BaseStream.Seek(0, SeekOrigin.End);
writer.WriteLine("{0}", _SocketReceive.Encoding.GetString(_buffer));
writer.Flush();
writer.Close();
filestream.Close();
string dir2 = Application.StartupPath + "//Log";
string fil2 = dir2 + "//" + CommonHelper.GetSendType(_SocketReceive.ReceiveType) +
"Receive" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".log";
if (!Directory.Exists(dir2))
{
System.IO.Directory.CreateDirectory(dir2);
}
FileStream filestream2 = new FileStream(fil2, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter writer2 = new StreamWriter(filestream2, System.Text.Encoding.UTF8);
writer2.BaseStream.Seek(0, SeekOrigin.End);
writer2.WriteLine("{0}", _SocketReceive.Encoding.GetString(feedback));
writer2.Flush();
writer2.Close();
filestream2.Close();
#endif
//SocketSend s = new SocketSend(feedback);
EndAccountSend _EndAccountSend = new EndAccountSend(feedback);
propertyGrid2.SelectedObject = _EndAccountSend;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
#endregion
#region -> AutoSend
private void AutoSend(string[] Files)
{
try
{
byte[] _buffer = EventsCommodityNew.ObjectToBytes(Files);
byte[] feedback;
Ping pingSender = new Ping();
PingReply _PingReply;
PingOptions options = new PingOptions();
options.DontFragment = true;
string data = "";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 1000;
switch (Files[0])
{
case "1":
case "12":
_PingReply = pingSender.Send(_HostIP.Split(',')[2], timeout, buffer, options);
if (_PingReply.Status == IPStatus.Success || CommonHelper.ConnectState(
"http://" + _HostIP.Split(',')[2] + ":" + _Connectport.Split(',')[2]))
{
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[2]),
int.Parse(_HostPort.Split(',')[2])));
}
else
{
return;
}
break;
case "7":
case "8":
case "10":
case "11":
_PingReply = pingSender.Send(_HostIP.Split(',')[1], timeout, buffer, options);
if (_PingReply.Status == IPStatus.Success || CommonHelper.ConnectState(
"http://" + _HostIP.Split(',')[1] + ":" + _Connectport.Split(',')[1]))
{
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[1]),
int.Parse(_HostPort.Split(',')[1])));
}
else
{
return;
}
break;
default:
_PingReply = pingSender.Send(_HostIP.Split(',')[0], timeout, buffer, options);
if (_PingReply.Status == IPStatus.Success || CommonHelper.ConnectState(
"http://" + _HostIP.Split(',')[0] + ":" + _Connectport.Split(',')[0]))
{
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[0])));
}
else
{
return;
}
break;
}
#if DEBUG
string dir = Application.StartupPath + "//Log";
string fil = dir + "//" + CommonHelperNew.GetSendType(int.Parse(Files[0])) + "Send" +
DateTime.Now.ToString("yyyyMMdd") + ".log";
string fil2 = dir + "//" + CommonHelperNew.GetSendType(int.Parse(Files[0])) + "Receive" +
DateTime.Now.ToString("yyyyMMdd") + ".log";
string[] FeedBackFiles = null;
try
{
FeedBackFiles = (string[])EventsCommodityNew.BytesToObject(feedback);
}
catch { }
if (Files[0] == "60" || Files[0] == "61" || Files[0] == "62" || Files[0] == "63" ||
Files[0] == "64" || Files[0] == "65" || Files[0] == "70" || Files[0] == "71")
{
#region
if (FeedBackFiles != null && (((Files[0] == "70" || Files[0] == "71") &&
FeedBackFiles.Length > 3) || FeedBackFiles.Length > 8))
{
if (!Directory.Exists(dir))
{
System.IO.Directory.CreateDirectory(dir);
}
LogHelper.DeleteFiles("*.log", dir, -15);
FileStream FileStreamSend = new FileStream(fil, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter StreamWriterSend = new StreamWriter(FileStreamSend, System.Text.Encoding.UTF8);
StreamWriterSend.BaseStream.Seek(0, SeekOrigin.End);
StreamWriterSend.WriteLine("{0}", string.Join(",", (string[])EventsCommodityNew.BytesToObject(_buffer)));
StreamWriterSend.Flush();
StreamWriterSend.Close();
FileStreamSend.Close();
FileStream FileStreamReceive = new FileStream(fil2, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter StreamWriterReceive = new StreamWriter(FileStreamReceive, System.Text.Encoding.UTF8);
StreamWriterReceive.BaseStream.Seek(0, SeekOrigin.End);
StreamWriterReceive.WriteLine("{0}", string.Join(",", (string[])EventsCommodityNew.BytesToObject(feedback)));
StreamWriterReceive.Flush();
StreamWriterReceive.Close();
FileStreamReceive.Close();
UpdateDatas(int.Parse(Files[0]), feedback);
}
#endregion
}
else
{
#region
if (!Directory.Exists(dir))
{
System.IO.Directory.CreateDirectory(dir);
}
LogHelper.DeleteFiles("*.log", dir, -15);
FileStream FileStreamSend = new FileStream(fil, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter StreamWriterSend = new StreamWriter(FileStreamSend, System.Text.Encoding.UTF8);
StreamWriterSend.BaseStream.Seek(0, SeekOrigin.End);
StreamWriterSend.WriteLine("{0}", string.Join(",", (string[])EventsCommodityNew.BytesToObject(_buffer)));
StreamWriterSend.Flush();
StreamWriterSend.Close();
FileStreamSend.Close();
if (FeedBackFiles != null && FeedBackFiles.Length > 0)
{
FileStream FileStreamReceive = new FileStream(fil2, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
StreamWriter StreamWriterReceive = new StreamWriter(FileStreamReceive, System.Text.Encoding.UTF8);
StreamWriterReceive.BaseStream.Seek(0, SeekOrigin.End);
StreamWriterReceive.WriteLine("{0}", string.Join(",", (string[])EventsCommodityNew.BytesToObject(feedback)));
StreamWriterReceive.Flush();
StreamWriterReceive.Close();
FileStreamReceive.Close();
UpdateDatas(int.Parse(Files[0]), feedback);
}
#endregion
}
#endif
}
catch (Exception ex)
{
//MessageBox.Show(ex.ToString());
if (!Directory.Exists(Application.StartupPath + "\\ErrorLog"))
{
System.IO.Directory.CreateDirectory(Application.StartupPath + "\\ErrorLog");
}
LogHelper.WriteSendLog(ex.Message, "ErrorLog\\日志_Send" + DateTime.Now.ToString("yyyyMMdd"), true);
}
}
#endregion
#region -> StartProcess
protected void StartProcess(object _object = null, int _index = 0)
{
try
{
string SQLString = null;
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
if (_object == null)
{
if (_index == 1)
{
#region
SQLString = @"SELECT * FROM T_TRANSFERTOOL@NEWEX A WHERE EXISTS(SELECT 1
FROM HIGHWAY_EXCHANGE.T_SYSCODE B WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)";
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SQLString, "T_SYSCODE").Tables[0].Rows.Count > 0)
{
SQLString = @"UPDATE T_TRANSFERTOOL@NEWEX A SET (
SERVERPART_NAME,TRANSFERTOOL_DATE,TRANSFERTOOL_DESC) = (
SELECT SERVERPART_NAME,SYSDATE,'Sv3.0.4.16'
FROM HIGHWAY_EXCHANGE.T_SYSCODE B WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)
WHERE EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)";
}
else
{
SQLString = @"INSERT INTO T_TRANSFERTOOL@NEWEX(TRANSFERTOOL_ID,SERVERPARTCODE,
SERVERPART_NAME,TRANSFERTOOL_DATE,TRANSFERTOOL_DESC)
SELECT SEQ_TRANSFERTOOL.NEXTVAL@NEWEX,SERVERPARTCODE,SERVERPART_NAME,SYSDATE,'Sv3.0.4.16'
FROM HIGHWAY_EXCHANGE.T_SYSCODE";
}
_OracleHelper.ExcuteSql(SQLString);
}
catch { }
#endregion
}
else if (_index == 2)
{
#region
SQLString = @"SELECT SERVERPARTCODE,SERVERPART_NAME,SERVERPART_ID,PROVINCE_CODE
FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE";
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(SQLString, "T_SYSCODE").Tables[0].Rows)
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "99";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
files[files.Length - 2] = DateTime.Now.ToString(); //TRANSFERTOOL_DATE
files[files.Length - 1] = ""; //TRANSFERTOOL_DESC
byte[] _buffer = EventsCommodityNew.ObjectToBytes(files);
byte[] feedback;
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[0])));
}
}
catch { }
#endregion
}
}
else
{
switch (_object.ToString())
{
case "0":
#region
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_ENDACCOUNT SET TRANSFER_STATE = 1
WHERE TRANSFER_ID > 0 AND NVL(TRANSFER_STATE,0) = 0 AND ENDACCOUNT_DATE IS NOT NULL AND
ENDACCOUNT_STARTDATE IS NOT NULL AND ROWNUM <= 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.ENDACCOUNT_ID,A.ENDACCOUNT_STARTDATE,A.ENDACCOUNT_DATE,
A.SERVERPART_CODE,A.SHOPCODE,A.MACHINECODE,A.ENDPERSONCODE,
A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT,A.TOTALOFFAMOUNT,
A.CASH,A.CREDITCARD,A.TICKETBILL,A.VIPPERSON,A.COSTBILL,
A.OTHERPAY,A.CASHPAY,A.FLAG,A.TRANSFER_STATE,A.TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPART_CODE = B.SERVERPARTCODE AND A.TRANSFER_ID > 0 AND
A.TRANSFER_STATE = 1 AND ROWNUM <= 1", "T_ENDACCOUNT").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["ENDACCOUNT_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "0";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "1":
#region
foreach (DataRow _DataRowSysCode in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA SET TRANSFER_STATE = 1
WHERE TRANSFER_SELLDATA_ID > 0 AND NVL(TRANSFER_STATE,0) = 0 AND SERVERPARTCODE = '" +
_DataRowSysCode["SERVERPARTCODE"].ToString() + "'");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(@"SELECT
TRANSFER_ID ,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,
WORKERCODE,SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS,
TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS,
TRANSFER_STATE,TRANSFER_SELLDATA_ID
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA
WHERE TRANSFER_SELLDATA_ID > 0 AND TRANSFER_STATE < 9 AND
TRUNC(SYSDATE) - 1 < SELLDATA_DATE AND SERVERPARTCODE = '" +
_DataRowSysCode["SERVERPARTCODE"].ToString() + "'").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "1";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["TRANSFER_ID"].ToString(), true);
}
}
}
#endregion
break;
case "2":
#region
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_PERSONSELL SET TRANSFER_STATE = 1
WHERE TRANSFER_ID > 0 AND NVL(TRANSFER_STATE,0) = 0 AND ENDDATE IS NOT NULL AND
STARTDATE IS NOT NULL AND ROWNUM <= 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.PERSONSELL_ID,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE,A.STARTDATE,
A.ENDDATE,A.CASHWORKER_CODE,A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT,
A.TOTALOFFAMOUNT,A.CASH,A.TICKETBILL,A.CREDITCARD,A.VIPPERSON,A.COSTBILL,
A.OTHERPAY,A.CASHPAY,A.ENDPERSONCODE,A.RESERVE_FIRSTNUM,A.RESERVE_SECONDNUM,
A.RESERVE_THIRDNUM,A.RESERVE_FIRSTCHAR,A.RESERVE_SECONDCHAR,
A.RESERVE_THIRDCHAR,A.RESERVE_FIRSTDATE,A.RESERVE_SECONDDATE,
A.RESERVE_THIRDDATE,A.TRANSFER_STATE, A.TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_PERSONSELL A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_ID > 0 AND
A.TRANSFER_STATE = 1 AND ROWNUM <= 1", "T_PERSONSELL").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["PERSONSELL_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "2";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "3":
#region
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SALE SET TRANSFER_STATE = 1
WHERE TRANSFER_SALE_ID > 0 AND TRANSFER_FIFTEENTHDATAS IS NOT NULL AND
NVL(TRANSFER_STATE,0) = 0 AND ENDDATE > TRUNC(SYSDATE) - 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"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,TRANSFER_SALE_ID,MACHINECODE
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE WHERE TRANSFER_SALE_ID > 0 AND TRANSFER_STATE = 1 AND
TRANSFER_FIFTEENTHDATAS IS NOT NULL AND ROWNUM <= 1 AND ENDDATE > TRUNC(SYSDATE) - 1",
"T_TRANSFER_SALE").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "3";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "4":
#region
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_STORAGE.T_WECHATPUSHDETAIL SET TRANSFER_STATE = 1
WHERE NVL(TRANSFER_STATE,0) = 0 AND PROVINCE_CODE IS NOT NULL AND WECHATPUSHDETAIL_ID IS NOT NULL");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT WECHATPUSHDETAIL_ID ,RTWECHATPUSH_ID,DIRECTION_IDS,GROUP_TYPE,
USER_NAME ,STATISTICS_DATE,CURRENT_TOTALPRICE,CASHPAY ,DIFFERENT_PRICE_MORE,
DIFFERENT_PRICE_LESS,TICKETCOUNT,TOTALOFFAMOUNT,MOBILEPAYMENT,
COMMODITY_COUNT,PASS_COUNT,TOTAL_COUNT,HOLIDAY_REVENUE,
HOLIDAY_TICKETCOUNT,HOLIDAY_TOTALCOUNT,HOLIDAY_DAYS,PROMOTION_REVENUES,
WEEK_REVENUE,WEEK_AVERAGEPRICE,WEEK_YEARONYEAR, MONTH_REVENUE,
MONTH_AVERAGEPRICE,MONTH_YEARONYEAR,YEAR_REVENUE,YEAR_AVERAGEPRICE,
YEAR_YEARONYEAR,YEAR_TOTALPRICE,MARKET_REVENUE,RESTAURANT_REVENUE,
SNACK_REVENUE,OTHER_REVENUE,COMPREHENSIVE_REVENUE,THEME_REVENUE,
STANDARD_REVENUE,PAKINGZONE_REVENUE,SERVERPART_REVENUE,PROVINCE_CODE,
TRANSFER_STATE,WECHATPUSHDETAIL_DESC
FROM HIGHWAY_STORAGE.T_WECHATPUSHDETAIL WHERE TRANSFER_STATE = 1",
"T_WECHATPUSHDETAIL").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["WECHATPUSHDETAIL_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "4";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send(WECHATPUSHDETAIL_ID)_" +
_DataRow["WECHATPUSHDETAIL_ID"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "5":
#region
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_STORAGE.T_WECHATPUSHSALES SET TRANSFER_STATE = 1
WHERE NVL(TRANSFER_STATE,0) = 0 AND PROVINCE_CODE IS NOT NULL AND WECHATPUSHSALES_ID IS NOT NULL");
//SELLDATA_DATE > SYSDATE - 1/24 AND
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT * FROM HIGHWAY_STORAGE.T_WECHATPUSHSALES WHERE TRANSFER_STATE = 1",
"T_WECHATPUSHSALES").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["WECHATPUSHSALES_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "5";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send(WECHATPUSHSALES_ID)_" +
_DataRow["WECHATPUSHSALES_ID"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "6":
#region
try
{
_OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
SQLString = "SELECT * FROM HIGHWAY_EXCHANGE.T_DATACOLLECTION WHERE TRANSFER_ID IS NULL";
if (_OracleHelper.ExcuteSqlGetDataSet(SQLString).Tables[0].Rows.Count > 0)
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_DATACOLLECTION
SET TRANSFER_ID = DATACOLLECTION_ID
WHERE TRANSFER_ID IS NULL AND NVL(TRANSFER_STATE,0) < 9");
}
SQLString = @"SELECT * FROM HIGHWAY_EXCHANGE.T_DATACOLLECTION WHERE NVL(TRANSFER_STATE,0) < 9 AND
TRANSFER_ID IS NOT NULL AND DATACOLLECTION_DATE > TRUNC(SYSDATE)";
if (_OracleHelper.ExcuteSqlGetDataSet(SQLString).Tables[0].Rows.Count > 0)
{
SQLString = @"INSERT INTO T_DATACOLLECTION@NEWEX (DATACOLLECTION_ID,
SERVERPARTCODE,SHOPCODE,MACHINECODE,MACADDRESS,MACHINENAME,DATACOLLECTION_TYPE,
DATACOLLECTION_DATE,TOTAL_COUNT,TOTALSELL_AMOUNT,TICKET_COUNT,TICKET_INFO,TRANSFER_ID)
SELECT DATACOLLECTION_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE,MACADDRESS,MACHINENAME,DATACOLLECTION_TYPE,
DATACOLLECTION_DATE,TOTAL_COUNT,TOTALSELL_AMOUNT,TICKET_COUNT,TICKET_INFO,TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_DATACOLLECTION A
WHERE NVL(TRANSFER_STATE,0) < 9 AND DATACOLLECTION_DATE > TRUNC(SYSDATE) AND
TRANSFER_ID IS NOT NULL AND NOT EXISTS(SELECT 1 FROM T_DATACOLLECTION@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_ID = B.TRANSFER_ID)";
_OracleHelper.ExcuteSql(SQLString);
SQLString = @"UPDATE HIGHWAY_EXCHANGE.T_DATACOLLECTION A SET TRANSFER_STATE = 9
WHERE NVL(TRANSFER_STATE,0) < 9 AND TRANSFER_ID IS NOT NULL AND
EXISTS(SELECT 1 FROM T_DATACOLLECTION@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_ID = B.TRANSFER_ID)";
_OracleHelper.ExcuteSql(SQLString);
}
}
catch { }
#endregion
break;
case "7":
#region
try
{
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE").Tables[0];
SQLString = @"SELECT A.SERVERPART_ID,A.SERVERPART_TYPE,A.SERVERPART_CODE,A.SHORTNAME,
A.SERVERPART_NAME,A.SERVERPART_ADDRESS,A.EXPRESSWAY_NAME,A.SERVERPART_INDEX,
A.REGIONTYPE_ID,A.STATISTIC_TYPE,A.PROVINCE_CODE, A.CITY_CODE ,
A.COUNTY_CODE,A.SERVERPART_X , A.SERVERPART_Y,A.SELLERCOUNT ,
A.OWNEDCOMPANY,A.MANAGERCOMPANY ,A.SERVERPART_AREA,A.SERVERPART_DESC,
B.OPERATELOG_ID,B.OPERATEDATE
FROM HIGHWAY_STORAGE.T_SERVERPART A ,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.SERVERPART_ID = B.TABLE_ID AND B.TABLE_NAME = 'HIGHWAY_STORAGE.T_SERVERPART'";
//服务区
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_SERVERPART").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "7";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
if (i == 10)
{
//省份编码
files[i + 1] = _DataTable.Rows.Count > 0 ? _DataTable.Rows[0]["SERVERPARTCODE"].ToString() :
_DataRow["PROVINCE_CODE"].ToString();
continue;
}
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["PROVINCE_CODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "8":
#region
try
{
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE").Tables[0];
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(@"SELECT
A.SERVERPARTSHOP_ID,A.SHOPTRADE,A.SHOPNAME,A.SHOPSHORTNAME,A.ISVALID,
A.SERVERPARTSHOP_INDEX,A.TOPPERSON,A.TOPPERSON_MOBILE,A.LINKMAN,A.LINKMAN_MOBILE,
A.SERVERPART_ID,A.SHOPREGION,A.SHOPCODE,A.ROYALTYRATE,A.BUSINESS_UNIT,A.BUSINESS_DATE,
A.BUS_STARTDATE,A.BUSINESSAREA,A.SETTLINGACCOUNTS,A.SELLER_ID,A.BUSINESS_TYPE,
A.BUSINESS_STATE,A.BUSINESS_REGION,A.BUSINESS_NATURE,A.STATISTIC_TYPE,
A.BUSINESS_ENDDATE,A.REGISTERCOMPACT_ID,B.OPERATELOG_ID,B.OPERATEDATE
FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP A ,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.SERVERPARTSHOP_ID = B.TABLE_ID AND B.TABLE_NAME = 'HIGHWAY_STORAGE.T_SERVERPARTSHOP'",
"T_SERVERPARTSHOP").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 2];
files[0] = "8";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[files.Length - 1] = _DataTable.Rows.Count > 0 ?
_DataTable.Rows[0]["SERVERPARTCODE"].ToString() : _DataRow["PROVINCE_CODE"].ToString();
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "9":
#region
try
{
_OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//是否存在表
DataRow _DataRowTable = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT COUNT(*) AS ISTABLE FROM DBA_TABLES
WHERE OWNER = 'HIGHWAY_EXCHANGE' AND TABLE_NAME = 'T_WINSYSTEMLOG'").Tables[0].Rows[0];
if (_DataRowTable["ISTABLE"].ToString() != "1")
{
_OracleHelper.ExcuteSqlBackData(
@"CREATE TABLE HIGHWAY_EXCHANGE.T_WINSYSTEMLOG
(
WINSYSTEMLOG_ID NUMBER(9,0) NOT NULL,
LOG_EVENTID VARCHAR2(200),
LOG_CATEGORY VARCHAR2(200),
LOG_INDEX VARCHAR2(200),
LOG_ENTRYTYPE VARCHAR2(200),
LOG_TIMEGENERATED DATE,
LOG_MESSAGE VARCHAR2(2000),
SERVERPARTCODE VARCHAR2(10),
SHOPCODE VARCHAR2(10),
COMPUTERNAME VARCHAR2(50),
ADMINNAME VARCHAR2(50),
SERVERSEQUENCE VARCHAR2(50),
CREATE_DATE DATE,
WINSYSTEMLOG_DESC VARCHAR2(200),
DATASTATE NUMBER(2,0) DEFAULT 0
)");
}
//是否存在序列
DataRow _DataRowSEQ = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT COUNT(*) AS ISSEQ FROM ALL_SEQUENCES
WHERE SEQUENCE_OWNER = 'HIGHWAY_EXCHANGE' AND SEQUENCE_NAME = 'SEQ_WINSYSTEMLOG'").Tables[0].Rows[0];
if (_DataRowSEQ["ISSEQ"].ToString() != "1")
{
_OracleHelper.ExcuteSql(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_WINSYSTEMLOG");
}
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT WINSYSTEMLOG_ID,LOG_EVENTID,LOG_CATEGORY,LOG_INDEX,
LOG_ENTRYTYPE,LOG_TIMEGENERATED,LOG_MESSAGE,SERVERPARTCODE,
SHOPCODE,COMPUTERNAME,ADMINNAME,SERVERSEQUENCE,
CREATE_DATE,WINSYSTEMLOG_DESC,DATASTATE
FROM HIGHWAY_EXCHANGE.T_WINSYSTEMLOG
WHERE SERVERPARTCODE IS NOT NULL AND (DATASTATE IS NULL OR DATASTATE != 99)").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 2];
files[0] = "9";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send(WINSYSTEMLOG_ID)_" +
_DataRow["SERVERSEQUENCE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send(WINSYSTEMLOG_ID)", true);
}
#endregion
break;
case "10":
#region
try
{
DataTable _DataTableT_USER = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE").Tables[0];
if (_DataTableT_USER.Rows.Count > 0)
{
#region
SQLString = @"SELECT A.USER_ID,A.USERTYPE_ID,A.USER_NAME,A.USER_PASSPORT,A.USER_PASSWORD,A.USER_TIMEOUT,
A.USER_INDEX,A.USER_INDEFINIT,A.USER_EXPIRY,A.USER_STATUS,A.USER_DESC,A.USER_ENABLEDLICENSE,
A.USER_LICENSE,A.USER_ENABLEDCITYAUTHORITY,A.USER_CITYAUTHORITY,A.USER_REPEATLOGON,
B.OPERATELOG_ID,B.OPERATEDATE
FROM PLATFORM_FRAMEWORK.T_USER A ,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.USER_ID IS NOT NULL AND A.USER_ID = B.TABLE_ID AND
B.TABLE_NAME = 'PLATFORM_FRAMEWORK.T_USER'";
//服务区
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_USER").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "10";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[_DataRow.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRow.ItemArray.Length + 2] = "1";
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_USER_" +
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString(), true);
}
}
#endregion
#region
SQLString = @"SELECT C.TABLE_ID,C.OPERATELOG_ID,C.OPERATEDATE FROM HIGHWAY_STORAGE.T_OPERATELOG C
WHERE NOT EXISTS (SELECT 1 FROM PLATFORM_FRAMEWORK.T_USER A ,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.USER_ID IS NOT NULL AND A.USER_ID = B.TABLE_ID AND
B.TABLE_NAME = 'PLATFORM_FRAMEWORK.T_USER' AND B.OPERATELOG_ID = C.OPERATELOG_ID) AND
C.TABLE_NAME = 'PLATFORM_FRAMEWORK.T_USER' AND C.TABLE_ID IS NOT NULL";
//服务区
foreach (DataRow _DataRowDel in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_USER").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRowDel.ItemArray.Length + 3];
files[0] = "10";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRowDel.ItemArray.Length; i++)
{
files[i + 1] = _DataRowDel[i].ToString();
}
//省份编码
files[_DataRowDel.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRowDel.ItemArray.Length + 2] = "0";
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_USER_" +
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString(), true);
}
}
#endregion
}
else
{
LogHelper.WriteSendLog("微信用户数据获取不到省份编码");
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "11":
#region
try
{
DataTable _DataTableT_USER = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE").Tables[0];
if (_DataTableT_USER.Rows.Count > 0)
{
#region
SQLString = @"SELECT A.USERTYPE_ID,A.USERTYPE_NAME,A.USERTYPE_PID,A.USERTYPE_INDEX,
A.USERTYPE_DESC,A.USERTYPE_GUID,B.OPERATELOG_ID,B.OPERATEDATE
FROM PLATFORM_FRAMEWORK.T_USERTYPE A ,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.USERTYPE_ID IS NOT NULL AND A.USERTYPE_ID = B.TABLE_ID
AND B.TABLE_NAME = 'PLATFORM_FRAMEWORK.T_USERTYPE'";
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_USERTYPE").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 2];
files[0] = "11";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[_DataRow.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_USER_" + (_DataTableT_USER.Rows.Count > 0 ?
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString() : ""), true);
}
}
#endregion
}
else
{
LogHelper.WriteSendLog("微信用户分类数据获取不到省份编码");
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "12":
#region
try
{
DataTable _DataTableT_USER = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE WHERE SERVERPARTCODE IS NOT NULL ORDER BY SERVERPARTCODE").Tables[0];
if (_DataTableT_USER.Rows.Count > 0)
{
#region
//T_MACHINEINFO 表
SQLString = @"SELECT A.MACHINEINFO_ID,A.SERVERPARTCODE,C.SERVERPART_NAME,A.SHOPCODE,D.SHOPNAME,
A.MACHINECODE,A.MACHINENAME,A.MACHINE_MACADDRESS,A.MACHINE_SERNO,P.MACHINE_DISK,A.WARRANTY_DATE,
A.EXPIRY_DATE,A.EXPIRY_DAY,A.SETUP_DATE,A.USING_TYPE,A.RENT_DATE,A.RENT_REMIND_DAY,A.RENTPAY_STATE,
A.USERID,A.USERNAME,A.CREATE_DATE,1 AS MACHINEMANAGE_STATUS,
A.CASHIERCONTROL_DESC,B.OPERATELOG_ID,B.OPERATEDATE
FROM
HIGHWAY_EXCHANGE.V_MACHINEINFO@NEWEX A
LEFT JOIN
HIGHWAY_EXCHANGE.T_MACHINEPOINT@NEWEX P
ON
P.MACHINE_MACADDRESS IS NOT NULL AND P.SERVERPARTCODE IS NOT NULL AND
A.MACHINE_MACADDRESS = P.MACHINE_MACADDRESS AND A.SERVERPARTCODE = P.SERVERPARTCODE,
HIGHWAY_STORAGE.T_OPERATELOG B,
HIGHWAY_STORAGE.T_SERVERPART C,
HIGHWAY_STORAGE.T_SERVERPARTSHOP D
WHERE A.MACHINEINFO_ID IS NOT NULL AND A.SERVERPARTCODE = C.SERVERPART_CODE AND
CONCAT(CONCAT(A.SERVERPARTCODE,'|'),A.MACHINE_MACADDRESS) = B.OPERATE_DESC AND
A.MACHINEINFO_ID = B.TABLE_ID AND B.TABLE_NAME ='HIGHWAY_EXCHANGE.T_MACHINEINFO' AND
A.MACHINE_MACADDRESS IS NOT NULL AND A.SERVERPARTCODE IS NOT NULL AND
A.SHOPCODE = D.SHOPCODE AND C.SERVERPART_ID = D.SERVERPART_ID";
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_MACHINEINFO").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "12";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[_DataRow.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRow.ItemArray.Length + 2] = "1";
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_MACHINEINFO_" + (_DataTableT_USER.Rows.Count > 0 ?
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString() : ""), true);
}
}
//T_CASHIERCONTROL 表
SQLString = @"SELECT A.MACHINEINFO_ID,A.SERVERPARTCODE,C.SERVERPART_NAME,A.SHOPCODE,D.SHOPNAME,
A.MACHINECODE,A.MACHINENAME,A.MACHINE_MACADDRESS,A.MACHINE_SERNO,P.MACHINE_DISK,A.WARRANTY_DATE,
A.EXPIRY_DATE,A.EXPIRY_DAY,A.SETUP_DATE,A.USING_TYPE,A.RENT_DATE,A.RENT_REMIND_DAY,A.RENTPAY_STATE,
A.USERID,A.USERNAME,A.CREATE_DATE,1 AS MACHINEMANAGE_STATUS,
A.CASHIERCONTROL_DESC,B.OPERATELOG_ID,B.OPERATEDATE
FROM
HIGHWAY_EXCHANGE.V_MACHINEINFO@NEWEX A
LEFT JOIN
HIGHWAY_EXCHANGE.T_MACHINEPOINT@NEWEX P
ON
P.MACHINE_MACADDRESS IS NOT NULL AND P.SERVERPARTCODE IS NOT NULL AND
A.MACHINE_MACADDRESS = P.MACHINE_MACADDRESS AND A.SERVERPARTCODE = P.SERVERPARTCODE,
HIGHWAY_STORAGE.T_OPERATELOG B,
HIGHWAY_STORAGE.T_SERVERPART C,
HIGHWAY_STORAGE.T_SERVERPARTSHOP D
WHERE A.MACHINEINFO_ID IS NOT NULL AND A.CASHIERCONTROL_ID = B.TABLE_ID AND
B.TABLE_NAME ='HIGHWAY_EXCHANGE.T_CASHIERCONTROL' AND A.MACHINE_MACADDRESS IS NOT NULL AND
A.SERVERPARTCODE IS NOT NULL AND A.SERVERPARTCODE = C.SERVERPART_CODE AND
A.SHOPCODE = D.SHOPCODE AND C.SERVERPART_ID = D.SERVERPART_ID";
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_CASHIERCONTROL").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "12";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[_DataRow.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRow.ItemArray.Length + 2] = "1";
AutoSend(files);
Thread.Sleep(1000);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_MACHINEINFO_" + (_DataTableT_USER.Rows.Count > 0 ?
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString() : ""), true);
}
}
//T_MACHINEPOINT 表
SQLString = @"SELECT A.MACHINEINFO_ID,A.SERVERPARTCODE,C.SERVERPART_NAME,A.SHOPCODE,D.SHOPNAME,
A.MACHINECODE,A.MACHINENAME,A.MACHINE_MACADDRESS,A.MACHINE_SERNO,P.MACHINE_DISK,A.WARRANTY_DATE,
A.EXPIRY_DATE,A.EXPIRY_DAY,A.SETUP_DATE,A.USING_TYPE,A.RENT_DATE,A.RENT_REMIND_DAY,A.RENTPAY_STATE,
A.USERID,A.USERNAME,A.CREATE_DATE,1 AS MACHINEMANAGE_STATUS,
A.CASHIERCONTROL_DESC,B.OPERATELOG_ID,B.OPERATEDATE
FROM HIGHWAY_EXCHANGE.V_MACHINEINFO@NEWEX A LEFT JOIN HIGHWAY_EXCHANGE.T_MACHINEPOINT@NEWEX P ON
P.MACHINE_MACADDRESS IS NOT NULL AND P.SERVERPARTCODE IS NOT NULL AND
A.MACHINE_MACADDRESS = P.MACHINE_MACADDRESS AND A.SERVERPARTCODE = P.SERVERPARTCODE,
HIGHWAY_STORAGE.T_OPERATELOG B,
HIGHWAY_STORAGE.T_SERVERPART C,
HIGHWAY_STORAGE.T_SERVERPARTSHOP D
WHERE A.MACHINEINFO_ID IS NOT NULL AND P.MACHINEPOINT_ID = B.TABLE_ID AND
B.TABLE_NAME ='HIGHWAY_EXCHANGE.T_MACHINEPOINT' AND A.MACHINE_MACADDRESS IS NOT NULL AND
A.SERVERPARTCODE IS NOT NULL AND A.SERVERPARTCODE = C.SERVERPART_CODE AND
A.SHOPCODE = D.SHOPCODE AND C.SERVERPART_ID = D.SERVERPART_ID";
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_MACHINEPOINT").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "12";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
//省份编码
files[_DataRow.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRow.ItemArray.Length + 2] = "1";
AutoSend(files);
Thread.Sleep(1000);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_MACHINEINFO_" + (_DataTableT_USER.Rows.Count > 0 ?
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString() : ""), true);
}
}
#endregion
#region
SQLString = @"SELECT C.TABLE_ID,C.OPERATELOG_ID,C.OPERATEDATE,
SUBSTR(C.OPERATE_DESC,1,INSTR(C.OPERATE_DESC,'|',-1)-1) AS SERVERPARTCODE,
SUBSTR(C.OPERATE_DESC,INSTR(C.OPERATE_DESC,'|',-1)+1) AS MACHINE_MACADDRESS
FROM HIGHWAY_STORAGE.T_OPERATELOG C
WHERE NOT EXISTS (SELECT * FROM HIGHWAY_EXCHANGE.V_MACHINEINFO@NEWEX A,HIGHWAY_STORAGE.T_OPERATELOG B
WHERE A.MACHINEINFO_ID IS NOT NULL AND A.MACHINEINFO_ID = B.TABLE_ID AND
A.SERVERPARTCODE IS NOT NULL AND B.TABLE_NAME IN
('HIGHWAY_EXCHANGE.T_MACHINEINFO') AND
B.OPERATELOG_ID = C.OPERATELOG_ID) AND
C.TABLE_NAME IN ('HIGHWAY_EXCHANGE.T_MACHINEINFO') AND
C.TABLE_ID IS NOT NULL AND C.OPERATE_DESC IS NOT NULL";
//服务区
foreach (DataRow _DataRowDel in _OracleHelper.ExcuteSqlGetDataSet(
SQLString, "T_OPERATELOG").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRowDel.ItemArray.Length + 3];
files[0] = "12";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRowDel.ItemArray.Length; i++)
{
files[i + 1] = _DataRowDel[i].ToString();
}
//省份编码
files[_DataRowDel.ItemArray.Length + 1] = _DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString();
//是否为新增、更新、删除 1新增或更新 0删除
files[_DataRowDel.ItemArray.Length + 2] = "0";
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_T_MACHINEINFO_" +
_DataTableT_USER.Rows[0]["SERVERPARTCODE"].ToString(), true);
}
}
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "20":
#region HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(@"SELECT 1 FROM DBA_TABLES WHERE OWNER = 'HIGHWAY_EXCHANGE' AND
TABLE_NAME = 'T_ENDACCOUNT_NEW'").Tables[0].Rows.Count == 0)
{
break;
}
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW SET TRANSFER_STATE = 1
WHERE TRANSFER_ID > 0 AND NVL(TRANSFER_STATE,0) = 0 AND ENDDATE IS NOT NULL AND
STARTDATE IS NOT NULL AND ROWNUM <= 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT
A.ENDACCOUNT_ID,A.ENDACCOUNT_CODE,A.SERVERPARTCODE,
A.SHOPCODE,A.MACHINECODE,A.ENDPERSON_CODE,
A.STARTDATE,A.ENDDATE,A.TICKET_COUNT,
A.TOTAL_COUNT,A.TOTAL_AMOUNT,A.TOTAL_OFFAMOUNT,
A.CASHPAY,A.BANKPAY,A.MEMBERPAY,
A.COUPONPAY,A.MOBILEPAY,A.INTERNALPAY,
A.CONTRIBUTION_AMOUNT,A.PAYMENT_DETAILS,A.ENDACCOUNT_TYPE,
A.ENDACCOUNT_DESC,A.TRANSFER_STATE,A.TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_ID > 0 AND
A.TRANSFER_STATE = 1 AND ROWNUM <= 1", "T_ENDACCOUNT_NEW").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["ENDACCOUNT_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "20";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "21":
#region HIGHWAY_EXCHANGE.T_PERSONSELL_NEW
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(@"SELECT 1 FROM DBA_TABLES WHERE OWNER = 'HIGHWAY_EXCHANGE' AND
TABLE_NAME = 'T_PERSONSELL_NEW'").Tables[0].Rows.Count == 0)
{
break;
}
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_PERSONSELL_NEW SET TRANSFER_STATE = 1
WHERE TRANSFER_ID > 0 AND NVL(TRANSFER_STATE,0) = 0 AND ENDDATE IS NOT NULL AND
STARTDATE IS NOT NULL AND ROWNUM <= 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT
A.PERSONSELL_ID,A.ENDACCOUNT_CODE,A.SERVERPARTCODE,
A.SHOPCODE,A.MACHINECODE,A.STARTDATE,
A.ENDDATE,A.SELLWORKER_CODE,A.TICKET_COUNT,
A.TOTAL_COUNT,A.TOTAL_AMOUNT,A.TOTAL_OFFAMOUNT,
A.CASHPAY,A.BANKPAY,A.MEMBERPAY,
A.COUPONPAY,A.MOBILEPAY,A.INTERNALPAY,
A.OTHERPAY,A.CONTRIBUTION_AMOUNT,A.PAYMENT_DETAILS,
A.WOKER_NUMBER,A.PERSONSELL_DESC,A.TRANSFER_STATE,A.TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_PERSONSELL_NEW A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_ID > 0 AND
A.TRANSFER_STATE = 1 AND ROWNUM <= 1", "T_PERSONSELL_NEW").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["PERSONSELL_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "21";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SHOPCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "23":
#region HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW
try
{
if (!IsTableExists(_OracleHelper, "HIGHWAY_EXCHANGE", "T_COMMODITYEX_NEW"))
{
break;
}
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW SET TRANSFER_STATE = 1
WHERE NVL(TRANSFER_STATE,0) = 0 AND COMMODITY_CODE IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SERVERPARTSHOP_ID IS NOT NULL");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.COMMODITYEX_ID,A.SERVERPARTCODE,A.COMMODITY_TYPE,A.COMMODITY_CODE,A.COMMODITY_BARCODE,
A.COMMODITY_NAME,A.COMMODITY_RULE,A.COMMODITY_UNIT,A.COMMODITY_RETAILPRICE,A.COMMODITY_MEMBERPRICE,
A.CANCHANGEPRICE,A.ISVALID,A.COMMODITY_EN,A.ISBULK,A.METERINGMETHOD,A.DOWNLOADDATE,A.FLAG,
A.BUSINESSTYPE,A.SERVERPARTSHOP_ID,A.PRINT_DATE,A.CONTAINER_CODE,A.COMMODITY_SYMBOL,
A.COMMODITY_HOTKEY,A.USERDEFINEDTYPE_ID,A.TRANSFER_STATE
FROM HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_STATE = 1 AND
ROWNUM <= 1", "T_COMMODITYEX_NEW").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["COMMODITYEX_ID"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "23";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SERVERPARTCODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "24":
#region HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS
try
{
string CreateSql = @"CREATE TABLE HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS
(
TRANSFERSTATISTICS_CODE VARCHAR2(100),
PID_CODE VARCHAR2(100),
PROVINCE_CODE VARCHAR2(200),
SERVERPARTCODE VARCHAR2(200),
SHOPCODE VARCHAR2(200),
MACHINECODE VARCHAR2(200),
MACHINE_MACADDRESS VARCHAR2(500),
TABLENAME VARCHAR2(200),
LOCAL_UPLOADNUM NUMBER(9,0),
LOCAL_NOTUPLOADNUM NUMBER(9,0),
LOCAL_UPDATETIME DATE,
SERVICE_UPLOADNUM NUMBER(9,0),
SERVICE_NOTUPLOADNUM NUMBER(9,0),
SERVICE_UPDATETIME DATE,
STAFF_ID NUMBER(9,0),
STAFF_NAME VARCHAR2(100),
OPERATE_DATE DATE,
TRANSFERSTATISTICS_DESC VARCHAR2(1000),
TRANSFER_STATE NUMBER(4,0),
TRANSFER_ID NUMBER(9,0)
)
PCTFREE 10
MAXTRANS 255
TABLESPACE HIGHWAY_EXCHANGE
STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT)
NOCACHE
LOGGING";
CommonHelper.TableExists(_OracleHelper, "HIGHWAY_EXCHANGE", "T_TRANSFERSTATISTICS", CreateSql);
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS SET TRANSFER_STATE = 1
WHERE NVL(TRANSFER_STATE,0) = 0 AND TRANSFERSTATISTICS_CODE IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND ROWNUM <= 1");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT
A.TRANSFERSTATISTICS_CODE,A.PID_CODE,A.PROVINCE_CODE,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE,
A.MACHINE_MACADDRESS,A.TABLENAME,A.LOCAL_UPLOADNUM,A.LOCAL_NOTUPLOADNUM,A.LOCAL_UPDATETIME,
A.SERVICE_UPLOADNUM,A.SERVICE_NOTUPLOADNUM,A.SERVICE_UPDATETIME,A.STAFF_ID,A.STAFF_NAME,
A.OPERATE_DATE,A.TRANSFERSTATISTICS_DESC,A.TRANSFER_STATE,A.TRANSFER_ID
FROM HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_STATE = 1 AND ROWNUM <= 1 ORDER BY OPERATE_DATE ASC",
"T_TRANSFERSTATISTICS").Tables[0].Rows)
{
try
{
if (string.IsNullOrEmpty(_DataRow["TRANSFERSTATISTICS_CODE"].ToString()))
{
continue;
}
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "24";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["TRANSFERSTATISTICS_CODE"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "25":
#region HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR
try
{
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR SET TRANSFER_STATE = 1
WHERE NVL(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");
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(@"SELECT
A.COMMODITYSALE_ID, A.STARTDATE, A.ENDDATE, A.SERVERPARTCODE, A.SHOPCODE,
A.MACHINECODE, A.COMMODITY_TYPE, A.COMMODITY_CODE, A.COMMODITY_NAME,
A.TICKETCOUNT, A.TOTALCOUNT, A.TOTALSELLAMOUNT, A.TOTALOFFAMOUNT,
A.FLAG,A.TRANSFER_STATE, A.TRANSFER_ID, A.MERGE_STATE
FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR A,HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.COMMODITYSALE_ID IS NOT NULL AND
A.STARTDATE IS NOT NULL AND A.SERVERPARTCODE IS NOT NULL AND
A.SHOPCODE IS NOT NULL AND A.MACHINECODE IS NOT NULL AND A.TRANSFER_STATE = 1 AND
A.ENDDATE > TRUNC(SYSDATE) - 1 AND ROWNUM <= 1",
"T_COMMODITYSALE_EXTAR").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 1];
files[0] = "25";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["COMMODITYSALE_ID"].ToString(), true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "60":
#region
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
try
{
string[] files = new string[2];
//门店
files[0] = "62";// ReceiveType 类型int注意重要参数必填
files[1] = _DataRow["SERVERPARTCODE"].ToString();
AutoSend(files);
//收银员
files[0] = "63";// ReceiveType 类型int注意重要参数必填
files[1] = _DataRow["SERVERPARTCODE"].ToString();
AutoSend(files);
//商品
files[0] = "64";// ReceiveType 类型int注意重要参数必填
files[1] = _DataRow["SERVERPARTCODE"].ToString();
AutoSend(files);
//快捷键
files[0] = "65";// ReceiveType 类型int注意重要参数必填
files[1] = _DataRow["SERVERPARTCODE"].ToString();
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "", true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "70":
#region sql语句执行
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
try
{
string[] files = new string[2];
//门店
files[0] = "70";// ReceiveType 类型int注意重要参数必填
files[1] = _DataRow["SERVERPARTCODE"].ToString();
AutoSend(files);
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "", true);
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
#endregion
break;
case "95":
#region
try
{
string CreateSql = @"CREATE TABLE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL
(
SELLDATA_ID NUMBER(9,0) NOT NULL,
SELLDATA_TYPE VARCHAR2(50),
SELLDATA_DATE TIMESTAMP(7),
SERVERPARTCODE VARCHAR2(10),
SHOPCODE VARCHAR2(6),
MACHINECODE VARCHAR2(6),
TICKETCODE VARCHAR2(50),
WORKERCODE VARCHAR2(6),
COMMODITY_CODE VARCHAR2(4000),
SELLCOUNT NUMBER(16,2),
SELLPRICE NUMBER(16,2),
OFFPRICE NUMBER(16,2),
FACTAMOUNT NUMBER(16,2),
LINENUM NUMBER(9,0) DEFAULT 1,
FLAG NUMBER(1,0) DEFAULT 0,
SELLDATA_EXTRA_DESC VARCHAR2(2000)
)";
CommonHelper.TableExists(_OracleHelper, "HIGHWAY_EXCHANGE", "T_SELLDATA_EXTRADETAIL", CreateSql);
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) < 5").Tables[0].Rows.Count > 0)
{
_OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_SELLDATA SET TRANSFER_STATE = 5 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) < 5");
}
#region
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND TRANSFER_STATE = 5").Tables[0].Rows.Count > 0)
{
List<string> SQLStringArray = new List<string>();
SQLString = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL (SELLDATA_ID,
SELLDATA_TYPE,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,WORKERCODE,
COMMODITY_CODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC)
SELECT DISTINCT
SELLDATA_ID,CASE WHEN TICKETBILL <> 0 OR TICKETCODE LIKE '%微%' THEN 'WECHAT_PAY'
WHEN OTHERPAY <> 0 OR TICKETCODE LIKE '%(支)%' THEN 'ALI_PAY'
WHEN LENGTH(ORDERCODE) > 20 THEN 'MOBILE_PAY' ELSE 'SELLDATA' END,
SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,WORKERCODE,
COMMODITY_CODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,ORDERCODE
FROM
HIGHWAY_EXCHANGE.T_SELLDATA A
WHERE
TRANSFER_STATE = 5 AND (TICKETBILL <> 0 OR COSTBILL <> 0 OR OTHERPAY <> 0 OR
TICKETCODE LIKE '%(%)%' OR LENGTH(ORDERCODE) > 20) AND
NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL B
WHERE A.SELLDATA_DATE = B.SELLDATA_DATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND
A.SHOPCODE = B.SHOPCODE AND A.MACHINECODE = B.MACHINECODE AND
A.TICKETCODE = B.TICKETCODE AND A.LINENUM = B.LINENUM) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'";
SQLStringArray.Add(SQLString);
SQLString = @"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL (SELLDATA_ID,SELLDATA_TYPE,
SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,WORKERCODE,COMMODITY_CODE,
SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC)
SELECT DISTINCT
A.SELLDATA_ID,B.SELLDATA_TYPE,A.SELLDATA_DATE,A.SERVERPARTCODE,A.SHOPCODE,
A.MACHINECODE,A.TICKETCODE,A.WORKERCODE,A.COMMODITY_CODE,A.SELLCOUNT,
A.SELLPRICE,A.OFFPRICE,A.FACTAMOUNT,A.LINENUM,A.FLAG,A.ORDERCODE
FROM HIGHWAY_EXCHANGE.T_SELLDATA A,HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL B
WHERE A.SELLDATA_DATE = B.SELLDATA_DATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND
A.SHOPCODE = B.SHOPCODE AND A.TICKETCODE = B.TICKETCODE AND
A.LINENUM <> B.LINENUM AND TRANSFER_STATE = 5 AND
NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL C
WHERE A.SELLDATA_DATE = C.SELLDATA_DATE AND A.SERVERPARTCODE = C.SERVERPARTCODE AND
A.SHOPCODE = C.SHOPCODE AND A.TICKETCODE = C.TICKETCODE AND A.LINENUM = C.LINENUM) AND
A.SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'";
SQLStringArray.Add(SQLString);
SQLString = "UPDATE HIGHWAY_EXCHANGE.T_SELLDATA SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND TRANSFER_STATE = 5";
SQLStringArray.Add(SQLString);
SQLString = "UPDATE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL SET FLAG = 5 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG < 5";
SQLStringArray.Add(SQLString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
#endregion
#region
if (_OracleHelper.ExcuteSqlGetDataSet(
"SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG = 5").Tables[0].Rows.Count > 0)
{
List<string> SQLStringArray = new List<string>();
SQLString = @"INSERT INTO T_SELLDATA_EXTRADETAIL@SERVER_ORCL (SELLDATA_ID,SELLDATA_TYPE,
SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,WORKERCODE,COMMODITY_CODE,
SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC)
SELECT DISTINCT
SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,
WORKERCODE,COMMODITY_CODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,0,SELLDATA_EXTRA_DESC
FROM
HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL A
WHERE
NOT EXISTS(SELECT 1 FROM T_SELLDATA_EXTRADETAIL@SERVER_ORCL B
WHERE A.SELLDATA_DATE = B.SELLDATA_DATE AND --A.SELLDATA_TYPE = B.SELLDATA_TYPE AND
A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.MACHINECODE = B.MACHINECODE AND A.TICKETCODE = B.TICKETCODE AND
NVL(A.LINENUM,1) = NVL(B.LINENUM,1) AND A.SELLDATA_ID = B.SELLDATA_ID) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG = 5";
SQLStringArray.Add(SQLString);
SQLString = "UPDATE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRADETAIL SET FLAG = 9 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG = 5";
SQLStringArray.Add(SQLString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
#endregion
#region
if (_OracleHelper.ExcuteSqlGetDataSet(
"SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(FLAG,0) <> 1").Tables[0].Rows.Count > 0)
{
if (_OracleHelper.ExcuteSqlGetDataSet(
"SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(FLAG,0) IN (0,9)").Tables[0].Rows.Count > 0)
{
_OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA SET FLAG = 5 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(FLAG,0) IN (0,9)");
}
List<string> SQLStringArray = new List<string>();
SQLString = @"INSERT INTO T_SELLDATA_EXTRA@SERVER_ORCL (SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,
SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,WORKERCODE,COMMODITY_CODE,SELLCOUNT,
SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC)
SELECT DISTINCT
SELLDATA_ID,SELLDATA_TYPE,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,
WORKERCODE,COMMODITY_CODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,0,SELLDATA_EXTRA_DESC
FROM
HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA A
WHERE
NOT EXISTS(SELECT 1 FROM T_SELLDATA_EXTRA@SERVER_ORCL B
WHERE A.SELLDATA_DATE = B.SELLDATA_DATE AND --A.SELLDATA_TYPE = B.SELLDATA_TYPE AND
A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.MACHINECODE = B.MACHINECODE AND A.TICKETCODE = B.TICKETCODE AND
NVL(A.LINENUM,1) = NVL(B.LINENUM,1) AND A.SELLDATA_ID = B.SELLDATA_ID) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG = 5";
SQLStringArray.Add(SQLString);
SQLString = "UPDATE HIGHWAY_EXCHANGE.T_SELLDATA_EXTRA SET FLAG = 1 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND FLAG = 5";
SQLStringArray.Add(SQLString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
#endregion
#region
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_EXCEPTION WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) = 0").Tables[0].Rows.Count > 0)
{
_OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_EXCEPTION SET TRANSFER_STATE = 5 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) = 0");
}
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_EXCEPTION WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) = 5").Tables[0].Rows.Count > 0)
{
SQLString = @"INSERT INTO T_EXCEPTION@SERVER_ORCL(
EXCEPTION_ID,EXCEPTION_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,
WORKERCODE,EXCEPTIONTYPE,COMMODITY_CODE,EXCEPTIONCOUNT,EXCEPTIONAMOUNT)
SELECT DISTINCT
EXCEPTION_ID,EXCEPTION_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,
WORKERCODE,EXCEPTIONTYPE,COMMODITY_CODE,EXCEPTIONCOUNT,EXCEPTIONAMOUNT
FROM
HIGHWAY_EXCHANGE.T_EXCEPTION A
WHERE
SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND
MACHINECODE IS NOT NULL AND COMMODITY_CODE IS NOT NULL AND
TRIM(TRANSLATE(EXCEPTIONTYPE,'0123456789',' ')) IS NULL AND
EXCEPTION_DATE > TRUNC(SYSDATE) - 120 AND TRANSFER_STATE = 5 AND
NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_EXCEPTION@SERVER_ORCL B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.EXCEPTION_DATE = B.EXCEPTION_DATE AND A.MACHINECODE = B.MACHINECODE AND
A.EXCEPTIONTYPE = B.EXCEPTIONTYPE AND A.COMMODITY_CODE = B.COMMODITY_CODE AND
A.EXCEPTION_ID = B.EXCEPTION_ID) AND EXCEPTIONTYPE NOT IN('1010','2020') AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'";
_OracleHelper.ExcuteSql(SQLString);
}
_OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_EXCEPTION SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND NVL(TRANSFER_STATE,0) = 5");
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "T_SELLDATA_EXTRA");
}
#endregion
break;
case "96":
#region
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
_OracleHelper.ExcuteSql(@"INSERT INTO HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA@SELLDATA (
TRANSFER_ID ,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,
WORKERCODE,SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS,
TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS,
TRANSFER_STATE,TRANSFER_SELLDATA_ID)
SELECT TRANSFER_ID ,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,TICKETCODE,
WORKERCODE,SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS,
TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS,
TRANSFER_STATE,TRANSFER_SELLDATA_ID
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA A WHERE
TRANSFER_SELLDATA_ID > 0 AND NVL(TRANSFER_STATE,0) < 9 AND
SELLDATA_DATE >= SYSDATE - 30 AND SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA A SET A.TRANSFER_STATE = 9
WHERE TRANSFER_SELLDATA_ID > 0 AND NVL(TRANSFER_STATE,0) < 9 AND SELLDATA_DATE >= SYSDATE - 30 AND
EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA@SELLDATA B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_SELLDATA_ID = B.TRANSFER_SELLDATA_ID) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
}
}
catch { }
#endregion
break;
case "97":
#region
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
_OracleHelper.ExcuteSql(@"INSERT INTO T_TRANSFER_SALE@NEWEX (TRANSFER_ID,STARTDATE,ENDDATE,
SERVERPARTCODE,SHOPCODE,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)
SELECT TRANSFER_SALE_ID,STARTDATE,ENDDATE,SERVERPARTCODE,SHOPCODE,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
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE A WHERE TRANSFER_SALE_ID IS NOT NULL AND
NVL(TRANSFER_STATE,0) < 9 AND --ENDDATE <= SYSDATE - 1/24 AND
NOT EXISTS(SELECT 1 FROM T_TRANSFER_SALE@NEWEX B
WHERE A.TRANSFER_SALE_ID = B.TRANSFER_ID AND A.SERVERPARTCODE = B.SERVERPARTCODE) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SALE A SET A.TRANSFER_STATE = 9
WHERE NVL(TRANSFER_STATE,0) < 9 AND --ENDDATE <= SYSDATE - 1/24 AND
EXISTS(SELECT 1 FROM T_TRANSFER_SALE@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.TRANSFER_SALE_ID = B.TRANSFER_ID) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"INSERT INTO T_BUSINESSTIME@NEWEX (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)
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
FROM HIGHWAY_EXCHANGE.T_BUSINESSTIME A WHERE NOT EXISTS(SELECT 1 FROM T_BUSINESSTIME@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.ENDACCOUNT_STARTDATE = B.ENDACCOUNT_STARTDATE AND A.MACHINECODE = B.MACHINECODE AND
A.ENDACCOUNT_DATE = B.ENDACCOUNT_DATE) AND SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"INSERT INTO T_MOBILE_PAY@NEWEX (MOBILE_PAY_ID,SERVERPARTCODE,
SHOPCODE,MACHINECODE,WORKERCODE,MOBILEPAY_DATE,MOBILEPAY_TYPE,TICKET_CODE,
TICKET_AMOUNT,MOBILEPAY_RESULT,MOBILEPAY_FEEDBACK,MOBILEPAY_STATE,MOBILEPAY_DESC)
SELECT MOBILE_PAY_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE,WORKERCODE,MOBILEPAY_DATE,
MOBILEPAY_TYPE,TICKET_CODE,TICKET_AMOUNT,MOBILEPAY_RESULT,MOBILEPAY_FEEDBACK,
MOBILEPAY_STATE,MOBILEPAY_DESC
FROM HIGHWAY_EXCHANGE.T_MOBILE_PAY A WHERE NVL(MOBILEPAY_STATE,0) < 9 AND
NOT EXISTS(SELECT 1 FROM T_MOBILE_PAY@NEWEX B WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND
A.SHOPCODE = B.SHOPCODE AND A.MOBILEPAY_DATE = B.MOBILEPAY_DATE AND
A.MOBILEPAY_TYPE = B.MOBILEPAY_TYPE AND A.MACHINECODE = B.MACHINECODE AND
A.TICKET_CODE = B.TICKET_CODE AND A.MOBILEPAY_RESULT = B.MOBILEPAY_RESULT) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_MOBILE_PAY A SET A.MOBILEPAY_STATE = 9
WHERE NVL(MOBILEPAY_STATE,0) < 9 AND EXISTS(SELECT 1 FROM T_MOBILE_PAY@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.MACHINECODE = B.MACHINECODE AND
A.SHOPCODE = B.SHOPCODE AND A.MOBILEPAY_DATE = B.MOBILEPAY_DATE AND
A.MOBILEPAY_TYPE = B.MOBILEPAY_TYPE AND A.TICKET_CODE = B.TICKET_CODE AND
A.MOBILEPAY_RESULT = B.MOBILEPAY_RESULT) AND SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"INSERT INTO HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR@NEWEX (
COMMODITYSALE_ID,STARTDATE,ENDDATE,SERVERPARTCODE, SHOPCODE,
MACHINECODE, COMMODITY_TYPE, COMMODITY_CODE, COMMODITY_NAME,
TICKETCOUNT, TOTALCOUNT, TOTALSELLAMOUNT, TOTALOFFAMOUNT,
FLAG,TRANSFER_STATE, TRANSFER_ID, MERGE_STATE)
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 HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR A
WHERE COMMODITYSALE_ID IS NOT NULL AND STARTDATE IS NOT NULL AND
SERVERPARTCODE IS NOT NULL AND SHOPCODE IS NOT NULL AND
NVL(TRANSFER_STATE,0) < 9 AND ENDDATE <= TRUNC(SYSDATE) - 1 AND
NOT EXISTS (SELECT 1 FROM T_COMMODITYSALE_EXTAR@NEWEX B
WHERE A.COMMODITYSALE_ID = B.COMMODITYSALE_ID AND A.STARTDATE = B.STARTDATE AND
A.ENDDATE = B.ENDDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND
A.SHOPCODE = B.SHOPCODE AND A.MACHINECODE = B.MACHINECODE AND
A.COMMODITY_CODE = B.COMMODITY_CODE) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
_OracleHelper.ExcuteSql(@"UPDATE HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR A SET A.TRANSFER_STATE = 9
WHERE NVL(TRANSFER_STATE,0) < 9 AND EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR@NEWEX B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE AND A.STARTDATE = B.STARTDATE AND
A.ENDDATE = B.ENDDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.MACHINECODE = B.MACHINECODE AND A.COMMODITY_CODE = B.COMMODITY_CODE) AND
SERVERPARTCODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'");
}
}
catch { }
#endregion
break;
case "98":
#region
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(
"SELECT * FROM HIGHWAY_EXCHANGE.T_SYSCODE").Tables[0].Rows)
{
try
{
SQLString = @"DELETE FROM T_BASEINFOFEEDBACK@NEWEX A
WHERE EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_BASEINFOFEEDBACK B
WHERE A.SERVERPART_CODE = B.SERVERPART_CODE AND
A.MACHINE_MACADDRESS = B.MACHINE_MACADDRESS AND
A.TABLE_NAME = B.TABLE_NAME) AND SERVERPART_CODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'";
_OracleHelper.ExcuteSql(SQLString);
SQLString = @"INSERT INTO T_BASEINFOFEEDBACK@NEWEX (
BASEINFOFEEDBACK_ID,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,
SERVERPART_CODE,SERVERPART_ID,MACHINECODE,MACHINENAME,
MACHINE_MACADDRESS,MACHINE_IP,MACHINE_STARTDATE,
MACHINE_ENDDATE,SENDDATE,STAFF_ID,STAFF_NAME,
TABLE_NAME,RESERVE_FIRSTCHAR,RESERVE_SECONDCHAR,
RESERVE_THIRDCHAR,BASEINFOFEEDBACK_DESC)
SELECT BASEINFOFEEDBACK_ID,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,
SERVERPART_CODE,SERVERPART_ID,MACHINECODE,MACHINENAME,
MACHINE_MACADDRESS,MACHINE_IP,MACHINE_STARTDATE,
MACHINE_ENDDATE,SENDDATE,STAFF_ID,STAFF_NAME,
TABLE_NAME,RESERVE_FIRSTCHAR,RESERVE_SECONDCHAR,
RESERVE_THIRDCHAR,BASEINFOFEEDBACK_DESC
FROM HIGHWAY_EXCHANGE.T_BASEINFOFEEDBACK A
WHERE SERVERPART_CODE = '" + _DataRow["SERVERPARTCODE"].ToString() + "'";
_OracleHelper.ExcuteSql(SQLString);
}
catch { }
_OracleHelper.ExcuteSql(@"DELETE FROM HIGHWAY_EXCHANGE.T_CONNECTPOINT A WHERE EXISTS (SELECT 1
FROM HIGHWAY_EXCHANGE.T_CONNECTPOINT B WHERE A.MACHINECODE = B.MACHINECODE AND
A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE
GROUP BY MACHINECODE,SERVERPARTCODE,SHOPCODE HAVING COUNT(*) > 1) AND
ROWID NOT IN (SELECT MAX(ROWID) FROM HIGHWAY_EXCHANGE.T_CONNECTPOINT
GROUP BY MACHINECODE,SERVERPARTCODE,SHOPCODE HAVING COUNT(*)>1)");
_OracleHelper.ExcuteSql("DELETE FROM T_CONNECTPOINT@NEWEX WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'");
SQLString = @"INSERT INTO T_CONNECTPOINT@NEWEX(CONNECTPOINT_ID,MACHINECODE,
CONNECT_DATE,CONNECT_IP,SERVERPARTCODE,SHOPCODE,MACHINENAME,CONTENT,
CURRAMOUNT,CURRSELLCOUNT,CURRCOMMCOUNT,CURRPRESON,COMMODITYINFO)
SELECT CONNECTPOINT_ID,MACHINECODE,CONNECT_DATE,CONNECT_IP,SERVERPARTCODE,SHOPCODE,
MACHINENAME,CONTENT,CURRAMOUNT,CURRSELLCOUNT,CURRCOMMCOUNT,CURRPRESON,COMMODITYINFO
FROM HIGHWAY_EXCHANGE.T_CONNECTPOINT WHERE SHOPCODE IS NOT NULL AND SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND MACHINECODE IS NOT NULL";
_OracleHelper.ExcuteSql(SQLString);
_OracleHelper.ExcuteSql("DELETE FROM T_STATEFEEDBACK@NEWEX WHERE SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "'");
SQLString = @"INSERT INTO T_STATEFEEDBACK@NEWEX(STATEFEEDBACK_ID,CONNECT_DATE,
SERVERPARTCODE,SHOPCODE,MACHINECODE,MACHINENAME,MACHINE_MACADDRESS,
CONNECT_IP,CURRENT_SELLAMOUNT,CURRENT_SELLCOUNT,CURRENT_TICKETCOUNT,
CURRENT_GOODSCOUNT,CURRENT_PERSON,SELL_CONTENT,VERSION_NUM,
CONFIG_CONTENT,STATEFEEDBACK_DESC)
SELECT STATEFEEDBACK_ID,CONNECT_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,
MACHINENAME,MACHINE_MACADDRESS,CONNECT_IP,CURRENT_SELLAMOUNT,
CURRENT_SELLCOUNT,CURRENT_TICKETCOUNT,CURRENT_GOODSCOUNT,CURRENT_PERSON,
SELL_CONTENT,VERSION_NUM,CONFIG_CONTENT,STATEFEEDBACK_DESC
FROM HIGHWAY_EXCHANGE.T_STATEFEEDBACK WHERE SHOPCODE IS NOT NULL AND SERVERPARTCODE = '" +
_DataRow["SERVERPARTCODE"].ToString() + "' AND MACHINECODE IS NOT NULL";
_OracleHelper.ExcuteSql(SQLString);
}
}
catch { }
#endregion
break;
case "100":
#region
try
{
FileInfo _FileInfo = new FileInfo(_ToolListen);
if (_FileInfo.Exists)
{
string WriteTxt = File.ReadAllText(_ToolListen, Encoding.Default);
WriteTxt = WriteTxt.Replace("\r", "");
if (DateTime.Parse(WriteTxt).AddMinutes(10) < DateTime.Now)
{
CommonHelper.StartProc(_StartApp.Split('|'));
}
}
string[] files = new string[5];
files[0] = "100";// ReceiveType 类型int注意重要参数必填
files[1] = "Send";
byte[] _buffer = EventsCommodityNew.ObjectToBytes(files);
byte[] feedback;
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[0])));
//获取并展示返回的数据
files = (string[])EventsCommodityNew.BytesToObject(feedback);
propertyGrid2.SelectedObject = files;
if (files[0] == "100" && files[1] == "Recieve")
{
FileStream _FileStream = new FileStream(_ToolListen, FileMode.Create, FileAccess.Write);
try
{
DateTime.Parse(files[2]);
byte[] _data = new UTF8Encoding().GetBytes(files[2]);
_FileStream.Write(_data, 0, _data.Length);
_FileStream.Flush();
_FileStream.Close();
}
catch
{
_FileStream.Flush();
_FileStream.Close();
}
}
}
catch (Exception ex)
{
//MessageBox.Show(ex.ToString());
if (!Directory.Exists(Application.StartupPath + "\\ErrorLog"))
{
System.IO.Directory.CreateDirectory(Application.StartupPath + "\\ErrorLog");
}
LogHelper.WriteSendLog(ex.Message, "ErrorLog\\日志_Receive" + DateTime.Now.ToString("yyyyMMdd"), true);
}
#endregion
break;
default:
#region
if (_index == 1)
{
SQLString = @"SELECT * FROM T_TRANSFERTOOL@NEWEX A WHERE EXISTS(SELECT 1
FROM HIGHWAY_EXCHANGE.T_SYSCODE B WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)";
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SQLString, "T_SYSCODE").Tables[0].Rows.Count > 0)
{
SQLString = @"UPDATE T_TRANSFERTOOL@NEWEX A SET (
SERVERPART_NAME,TRANSFERTOOL_DATE,TRANSFERTOOL_DESC) = (
SELECT SERVERPART_NAME,SYSDATE,'Sv3.0.4.16'
FROM HIGHWAY_EXCHANGE.T_SYSCODE B WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)
WHERE EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_SYSCODE B
WHERE A.SERVERPARTCODE = B.SERVERPARTCODE)";
}
else
{
SQLString = @"INSERT INTO T_TRANSFERTOOL@NEWEX(TRANSFERTOOL_ID,SERVERPARTCODE,
SERVERPART_NAME,TRANSFERTOOL_DATE,TRANSFERTOOL_DESC)
SELECT SEQ_TRANSFERTOOL.NEXTVAL@NEWEX,SERVERPARTCODE,SERVERPART_NAME,SYSDATE,'Sv3.0.4.16'
FROM HIGHWAY_EXCHANGE.T_SYSCODE";
}
_OracleHelper.ExcuteSql(SQLString);
}
catch { }
}
if (_index == 2)
{
SQLString = @"SELECT SERVERPARTCODE,SERVERPART_NAME,SERVERPART_ID,PROVINCE_CODE
FROM HIGHWAY_EXCHANGE.T_SYSCODE ORDER BY SERVERPARTCODE";
try
{
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(SQLString, "T_SYSCODE").Tables[0].Rows)
{
try
{
string[] files = new string[_DataRow.ItemArray.Length + 3];
files[0] = "99";// ReceiveType 类型int注意重要参数必填
for (int i = 0; i < _DataRow.ItemArray.Length; i++)
{
files[i + 1] = _DataRow[i].ToString();
}
files[files.Length - 2] = DateTime.Now.ToString(); //TRANSFERTOOL_DATE
files[files.Length - 1] = ""; //TRANSFERTOOL_DESC
byte[] _buffer = EventsCommodityNew.ObjectToBytes(files);
byte[] feedback;
feedback = socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[0])));
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message, "日志_Send_" + _DataRow["SERVERPARTCODE"].ToString(), true);
}
}
}
catch { }
}
#endregion
break;
}
}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
}
#endregion
#region -> UpdateDatas
private void UpdateDatas(int ReceiveType, byte[] feedback)//EndAccountSend _EndAccountSend)
{
string SqlString = "";
try
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//获取并展示返回的数据
string[] files = (string[])EventsCommodityNew.BytesToObject(feedback);
propertyGrid2.SelectedObject = files;
try
{
if (files == null || ReceiveType != int.Parse(files[0]))
{
return;
}
}
catch
{
return;
}
switch (ReceiveType)
{
#region
case 0:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT WHERE SERVERPART_CODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_ENDACCOUNT").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_ENDACCOUNT SET TRANSFER_STATE = 9 WHERE SERVERPART_CODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_ENDACCOUNT:(SERVERPART_CODE:" + files[2] + ",TRANSFER_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
case 1:
if (files == null || (files != null && files.Length != 4))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_SELLDATA_ID = " + files[3];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_TRANSFER_SELLDATA").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_SELLDATA_ID = " + files[3];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_TRANSFER_SELLDATA:(SERVERPARTCODE:" + files[2] + ",TRANSFER_SELLDATA_ID:" + files[3] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
case 2:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_PERSONSELL WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_PERSONSELL").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_PERSONSELL SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_PERSONSELL:(SERVERPARTCODE:" + files[2] + ",TRANSFER_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
case 3:
if (files == null || (files != null && files.Length != 4))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_SALE_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_TRANSFER_SALE").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_TRANSFER_SALE SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_SALE_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_PERSONSELL:(SERVERPARTCODE:" + files[2] + ",TRANSFER_SALE_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
#endregion
case 4:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_STORAGE.T_WECHATPUSHDETAIL WHERE PROVINCE_CODE = '" +
files[2] + "' AND WECHATPUSHDETAIL_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_WECHATPUSHDETAIL").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_STORAGE.T_WECHATPUSHDETAIL SET TRANSFER_STATE = 9 WHERE PROVINCE_CODE = '" +
files[2] + "' AND WECHATPUSHDETAIL_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_WECHATPUSHDETAIL:(PROVINCE_CODE:" + files[2] + ",WECHATPUSHDETAIL_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(WECHATPUSHDETAIL_ID)");
}
break;
case 5:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_STORAGE.T_WECHATPUSHSALES WHERE PROVINCE_CODE = '" +
files[2] + "' AND WECHATPUSHSALES_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_WECHATPUSHSALES").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_STORAGE.T_WECHATPUSHSALES SET TRANSFER_STATE = 9 WHERE PROVINCE_CODE = '" +
files[2] + "' AND WECHATPUSHSALES_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_WECHATPUSHSALES:(PROVINCE_CODE:" + files[2] + ",WECHATPUSHSALES_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(WECHATPUSHSALES_ID)");
}
break;
case 7:
case 8:
case 10:
case 11:
case 12:
if (files == null || (files != null && files.Length != 3 && files.Length != 4))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_STORAGE.T_OPERATELOG WHERE OPERATELOG_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_OPERATELOG").Tables[0].Rows.Count > 0)
{
SqlString = "DELETE FROM HIGHWAY_STORAGE.T_OPERATELOG WHERE OPERATELOG_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_OPERATELOG:(OPERATELOG_ID:" + files[1] + "," + ex.Message +
")", "日志_Receive(OPERATELOG_ID)");
}
break;
case 9:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_WINSYSTEMLOG WHERE SERVERPARTCODE = '" +
files[2] + "' AND WINSYSTEMLOG_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_WINSYSTEMLOG").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_WINSYSTEMLOG SET DATASTATE = 99 WHERE SERVERPARTCODE = '" +
files[2] + "' AND WINSYSTEMLOG_ID =" + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_WINSYSTEMLOG:(PROVINCE_CODE:" + files[2] + ",WINSYSTEMLOG_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(WINSYSTEMLOG_ID)");
}
break;
case 20:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_ENDACCOUNT_NEW").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_ENDACCOUNT_NEW:(SERVERPARTCODE:" + files[2] + ",TRANSFER_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
case 21:
if (files == null || (files != null && files.Length != 3))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_PERSONSELL_NEW WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_PERSONSELL_NEW").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_PERSONSELL_NEW SET TRANSFER_STATE = 9 WHERE SERVERPARTCODE = '" +
files[2] + "' AND TRANSFER_ID = " + files[1];
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_PERSONSELL_NEW:(SERVERPARTCODE:" + files[2] + ",TRANSFER_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFER_ID)");
}
break;
case 23:
if (files == null || (files != null && files.Length != 4))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW WHERE COMMODITY_CODE = '" +
files[1] + "' AND SERVERPARTCODE = '" + files[2] + "' AND SERVERPARTSHOP_ID = '" + files[3] + "'";
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_COMMODITYEX_NEW").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW SET TRANSFER_STATE = 9 WHERE COMMODITY_CODE = '" +
files[1] + "' AND SERVERPARTCODE = '" + files[2] + "' AND SERVERPARTSHOP_ID = '" + files[3] + "'";
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_COMMODITYEX_NEW:(COMMODITY_CODE:" + files[1] + ",SERVERPARTCODE:" + files[2] +
",SERVERPARTSHOP_ID:" + files[3] + "," + ex.Message + ")", "日志_Receive(COMMODITY_CODE)");
}
break;
case 24:
if (files == null || (files != null && files.Length != 2))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS WHERE TRANSFERSTATISTICS_CODE = '" + files[1] + "'";
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_TRANSFERSTATISTICS").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS SET TRANSFER_STATE = 9 WHERE TRANSFERSTATISTICS_CODE = '" +
files[1] + "'";
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_TRANSFERSTATISTICS:(TRANSFERSTATISTICS_CODE:" + files[1] +
"," + ex.Message + ")", "日志_Receive(TRANSFERSTATISTICS_CODE)");
}
break;
case 25:
if (files == null || (files != null && files.Length != 8))
{
break;
}
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR WHERE COMMODITYSALE_ID = " + files[1] +
" AND STARTDATE = TO_DATE('" + files[2] + "','YYYY/MM/DD HH24:MI:SS')" +
" AND ENDDATE = TO_DATE('" + files[3] + "','YYYY/MM/DD HH24:MI:SS')" +
" AND SERVERPARTCODE = '" + files[4] + "'" + " AND SHOPCODE = '" + files[5] + "'" +
" AND MACHINECODE = '" + files[6] + "' AND COMMODITY_CODE = '" + files[7] + "'";
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_COMMODITYSALE_EXTAR").Tables[0].Rows.Count > 0)
{
SqlString = "UPDATE HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR SET TRANSFER_STATE = 9 WHERE COMMODITYSALE_ID = " +
files[1] + " AND STARTDATE = TO_DATE('" + files[2] + "','YYYY/MM/DD HH24:MI:SS')" +
" AND ENDDATE = TO_DATE('" + files[3] + "','YYYY/MM/DD HH24:MI:SS')" +
" AND SERVERPARTCODE = '" + files[4] + "'" + " AND SHOPCODE = '" + files[5] + "'" +
" AND MACHINECODE = '" + files[6] + "' AND COMMODITY_CODE = '" + files[7] + "'";
_OracleHelper.ExcuteSql(SqlString);
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_COMMODITYSALE_EXTAR:(COMMODITYSALE_ID:" + files[1] +
"," + ex.Message + ")", "日志_Receive(COMMODITYSALE_ID)");
}
break;
case 62:
#region
try
{
int MaxLength = int.Parse(files[1]); //传输数据条数
int FieldLength = int.Parse(files[2]); //查询出的字段长度
if (MaxLength > 0 && files.Length > 9)
{
string[] backFiles = new string[MaxLength * 2 + 3];
backFiles[0] = "61"; //删除
backFiles[1] = "62"; //门店
backFiles[2] = files[1];//传输数据条数
for (int i = 0; i < MaxLength; i++)
{
int j = i * FieldLength + 3;
if (string.IsNullOrEmpty(files[j + 1]))
{
continue;
}
try
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTCODE = '" +
files[j + 2] + "' AND SERVERPARTSHOP_ID = " + files[j + 1];
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_SHOPMESSAGE").Tables[0];
if (_DataTable.Rows.Count > 0)
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTCODE = '" +
files[j + 2] + "' AND SERVERPARTSHOP_ID = " + files[j + 1] + " AND DOWNLOADDATE >= TO_DATE('" +
files[j + 6] + "','YYYY/MM/DD HH24:MI:SS')";
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_SHOPMESSAGE").Tables[0].Rows.Count == 0)
{
List<string> SQLStringArray = new List<string>();
SqlString = "DELETE FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTCODE = '" +
files[j + 2] + "' AND SERVERPARTSHOP_ID = " + files[j + 1];
SQLStringArray.Add(SqlString);
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SHOPMESSAGE (SHOPMESSAGE_ID,
SERVERPARTSHOP_ID,SERVERPARTCODE,SHOPCODE,SHOPNAME,BUSINESSTYPE,DOWNLOADDATE,FLAG,VALID)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]));
SQLStringArray.Add(SqlString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
}
else
{
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SHOPMESSAGE (SHOPMESSAGE_ID,
SERVERPARTSHOP_ID,SERVERPARTCODE,SHOPCODE,SHOPNAME,BUSINESSTYPE,DOWNLOADDATE,FLAG,VALID)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]));
_OracleHelper.ExcuteSql(SqlString);
}
//数据删除数据
backFiles[i * 2 + 3] = files[j + 0];//SHOPMESSAGE_ID
backFiles[i * 2 + 4] = files[j + 2];//SERVERPARTCODE
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_SHOPMESSAGE:(SERVERPARTCODE:" + files[j + 2] +
",SHOPMESSAGE_ID:" + files[j + 0] + "," + ex.Message + ")", "日志_Receive(SHOPMESSAGE_ID)");
}
}
#region
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_SHOPMESSAGE:(ReceiveType:" + files[0] +
"," + ex.Message + ")", "日志_Receive(ReceiveType)");
}
#endregion
break;
case 63:
#region
try
{
int MaxLength = int.Parse(files[1]); //传输数据条数
int FieldLength = int.Parse(files[2]); //查询出的字段长度
if (MaxLength > 0 && files.Length > 11)
{
string[] backFiles = new string[MaxLength * 2 + 3];
backFiles[0] = "61"; //删除
backFiles[1] = "63"; //收银员
backFiles[2] = files[1];//传输数据条数
for (int i = 0; i < MaxLength; i++)
{
int j = i * FieldLength + 3;
if (string.IsNullOrEmpty(files[j + 2]))
{
continue;
}
try
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLWORKER WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND SELLWORKERCODE = '" + files[j + 2] + "'";
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_SELLWORKER").Tables[0];
if (_DataTable.Rows.Count > 0)
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLWORKER WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND SELLWORKERCODE = '" + files[j + 2] + "' AND DOWNLOADDATE >= TO_DATE('" +
files[j + 6] + "','YYYY/MM/DD HH24:MI:SS')";
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_SELLWORKER").Tables[0].Rows.Count == 0)
{
List<string> SQLStringArray = new List<string>();
SqlString = "DELETE FROM HIGHWAY_EXCHANGE.T_SELLWORKER WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND SELLWORKERCODE = '" + files[j + 2] + "'";
SQLStringArray.Add(SqlString);
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLWORKER (SELLWORKER_ID,
SERVERPARTCODE,SELLWORKERCODE,SELLWORKERNAME,PROWERRIGHT,SHOPCODE,DOWNLOADDATE,
FLAG,VALID,SELLWORKERPASSWORD,DISCOUNT_RATE)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 9]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 10]));
SQLStringArray.Add(SqlString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
}
else
{
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLWORKER (SELLWORKER_ID,
SERVERPARTCODE,SELLWORKERCODE,SELLWORKERNAME,PROWERRIGHT,SHOPCODE,DOWNLOADDATE,
FLAG,VALID,SELLWORKERPASSWORD,DISCOUNT_RATE)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 9]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 10]));
_OracleHelper.ExcuteSql(SqlString);
}
backFiles[i * 2 + 3] = files[j + 0];//SELLWORKER_ID
backFiles[i * 2 + 4] = files[j + 1];//SERVERPARTCODE
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_SELLWORKER:(SERVERPARTCODE:" + files[j + 1] +
",SELLWORKER_ID:" + files[j + 0] + "," + ex.Message + ")", "日志_Receive(SELLWORKER_ID)");
}
}
#region
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_SELLWORKER:(ReceiveType:" + files[0] +
"," + ex.Message + ")", "日志_Receive(ReceiveType)");
}
#endregion
break;
case 64:
#region
try
{
int MaxLength = int.Parse(files[1]); //传输数据条数
int FieldLength = int.Parse(files[2]); //查询出的字段长度
if (MaxLength > 0 && files.Length > 22)
{
string[] backFiles = new string[MaxLength * 2 + 3];
backFiles[0] = "61"; //删除
backFiles[1] = "64"; //商品
backFiles[2] = files[1];//传输数据条数
for (int i = 0; i < MaxLength; i++)
{
int j = i * FieldLength + 3;
if (string.IsNullOrEmpty(files[j + 18]) || string.IsNullOrEmpty(files[j + 3]))
{
continue;
}
try
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX WHERE SERVERPARTCODE = '" + files[j + 1] +
"' AND COMMODITY_CODE = '" + files[j + 3] + "' AND SERVERPARTSHOP_ID = " + files[j + 18];
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_COMMODITYEX").Tables[0];
if (_DataTable.Rows.Count > 0)
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND COMMODITY_CODE = '" + files[j + 3] + "' AND SERVERPARTSHOP_ID = " +
files[j + 18] + " AND DOWNLOADDATE >= TO_DATE('" + files[j + 15] + "','YYYY/MM/DD HH24:MI:SS')";
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_COMMODITYEX").Tables[0].Rows.Count == 0)
{
List<string> SQLStringArray = new List<string>();
SqlString = "DELETE FROM HIGHWAY_EXCHANGE.T_COMMODITYEX WHERE SERVERPARTCODE = '" + files[j + 1] +
"' AND COMMODITY_CODE = '" + files[j + 3] + "' AND SERVERPARTSHOP_ID = " + files[j + 18];
SQLStringArray.Add(SqlString);
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_COMMODITYEX
(COMMODITYEX_ID,SERVERPARTCODE,COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_BARCODE,
COMMODITY_NAME,COMMODITY_RULE,COMMODITY_UNIT,COMMODITY_RETAILPRICE,COMMODITY_MEMBERPRICE,
CANCHANGEPRICE,ISVALID,COMMODITY_EN,ISBULK,METERINGMETHOD,DOWNLOADDATE,FLAG,BUSINESSTYPE,
SERVERPARTSHOP_ID,PRINT_DATE,CONTAINER_CODE,COMMODITY_SYMBOL)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},
{14},{15},{16},{17},{18},{19},{20},{21})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 9]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 10]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 11]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 12]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 13]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 14]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 15]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 16]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 17]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 18]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 19]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 20]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 21]));
SQLStringArray.Add(SqlString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
}
else
{
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_COMMODITYEX
(COMMODITYEX_ID,SERVERPARTCODE,COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_BARCODE,
COMMODITY_NAME,COMMODITY_RULE,COMMODITY_UNIT,COMMODITY_RETAILPRICE,COMMODITY_MEMBERPRICE,
CANCHANGEPRICE,ISVALID,COMMODITY_EN,ISBULK,METERINGMETHOD,DOWNLOADDATE,FLAG,BUSINESSTYPE,
SERVERPARTSHOP_ID,PRINT_DATE,CONTAINER_CODE,COMMODITY_SYMBOL)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},
{14},{15},{16},{17},{18},{19},{20},{21})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 7]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 8]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 9]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 10]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 11]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 12]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 13]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 14]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 15]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 16]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 17]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 18]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 19]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 20]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 21]));
_OracleHelper.ExcuteSql(SqlString);
}
backFiles[i * 2 + 3] = files[j + 0];//COMMODITYEX_ID
backFiles[i * 2 + 4] = files[j + 1];//SERVERPARTCODE
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_COMMODITYEX:(SERVERPARTCODE:" + files[j + 1] +
",COMMODITYEX_ID:" + files[j + 0] + "," + ex.Message + ")", "日志_Receive(COMMODITYEX_ID)");
}
}
#region
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_COMMODITYEX:(ReceiveType:" + files[0] +
"," + ex.Message + ")", "日志_Receive(ReceiveType)");
}
#endregion
break;
case 65:
#region
try
{
int MaxLength = int.Parse(files[1]); //传输数据条数
int FieldLength = int.Parse(files[2]); //查询出的字段长度
if (MaxLength > 0 && files.Length > 8)
{
string[] backFiles = new string[MaxLength * 2 + 3];
backFiles[0] = "61"; //删除
backFiles[1] = "65"; //快捷键
backFiles[2] = files[1];//传输数据条数
for (int i = 0; i < MaxLength; i++)
{
int j = i * FieldLength + 3;
if (string.IsNullOrEmpty(files[j + 1]) || string.IsNullOrEmpty(files[j + 2]))
{
continue;
}
try
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_HOTKEYSET WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND COMMODITY_BARCODE = '" + files[j + 2] + "'";
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_HOTKEYSET").Tables[0];
if (_DataTable.Rows.Count > 0)
{
SqlString = "SELECT 1 FROM HIGHWAY_EXCHANGE.T_HOTKEYSET WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND COMMODITY_BARCODE = '" + files[j + 2] + "' AND DOWNLOADDATE >= TO_DATE('" +
files[j + 5] + "','YYYY/MM/DD HH24:MI:SS')";
if (_OracleHelper.ExcuteSqlGetDataSet(SqlString, "T_HOTKEYSET").Tables[0].Rows.Count == 0)
{
List<string> SQLStringArray = new List<string>();
SqlString = "DELETE FROM HIGHWAY_EXCHANGE.T_HOTKEYSET WHERE SERVERPARTCODE = '" +
files[j + 1] + "' AND COMMODITY_BARCODE = '" + files[j + 2] + "'";
SQLStringArray.Add(SqlString);
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_HOTKEYSET (HOTKEYSET_ID,
SERVERPARTCODE,COMMODITY_BARCODE,HOTKEY,BUSINESSTYPE,DOWNLOADDATE,FLAG,VALID)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]));
SQLStringArray.Add(SqlString);
_OracleHelper.ExecuteSqlTran(SQLStringArray);
}
}
else
{
SqlString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_HOTKEYSET (HOTKEYSET_ID,
SERVERPARTCODE,COMMODITY_BARCODE,HOTKEY,BUSINESSTYPE,DOWNLOADDATE,FLAG,VALID)
VALUES ({0},{1},{2},{3},{4},{5},{6},{7})",
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 0]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 1]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 2]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, files[j + 3]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 4]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.DateTime, files[j + 5]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 6]),
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, files[j + 7]));
_OracleHelper.ExcuteSql(SqlString);
}
backFiles[i * 2 + 3] = files[j + 0];//HOTKEYSET_ID
backFiles[i * 2 + 4] = files[j + 1];//SERVERPARTCODE
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_HOTKEYSET:(SERVERPARTCODE:" + files[j + 1] +
",HOTKEYSET_ID:" + files[j + 0] + "," + ex.Message + ")", "日志_Receive(HOTKEYSET_ID)");
}
}
#region
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog("T_HOTKEYSET:(ReceiveType:" + files[0] +
"," + ex.Message + ")", "日志_Receive(ReceiveType)");
}
#endregion
break;
case 70:
#region SQL语句执行
try
{
if (files != null && files.Length > 3 && !string.IsNullOrEmpty(files[3]))
{
_OracleHelper.ExcuteSql(files[3]);
string[] backFiles = new string[5];
backFiles[0] = "71"; //更新状态
backFiles[1] = files[1]; //EXECUTEFEEDBAK_ID
backFiles[2] = files[2]; //SERVERPARTCODE
backFiles[3] = "SUCCESS"; //EXECUTEFEEDBAK_CONTENT
backFiles[4] = DateTime.Now.ToString();
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog(ex.Message, "日志_Receive(EXECUTESQL_ID)_" + files[1]);
string[] backFiles = new string[5];
backFiles[0] = "71"; //更新状态
backFiles[1] = files[1]; //EXECUTEFEEDBAK_ID
backFiles[2] = files[2]; //SERVERPARTCODE
backFiles[3] = ex.Message; //EXECUTEFEEDBAK_CONTENT
backFiles[4] = DateTime.Now.ToString();
byte[] _buffer = EventsCommodityNew.ObjectToBytes(backFiles);
socketor1.Send(_buffer, new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]),
int.Parse(_HostPort.Split(',')[1])));
}
#endregion
break;
}
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog(ex.Message + ",ReceiveType:" + ReceiveType);
}
}
#endregion
#region 线1 -> timer1_Tick /
private void timer1_Tick(object sender, EventArgs e)
{
if (("," + _TransferType + ",").Contains(",1,"))
{
//结账数据、收银员报表、单品集合传输
StartProcess(0);
StartProcess(2);
StartProcess(3);
StartProcess(20);
StartProcess(21);
}
else if (("," + _TransferType + ",").Contains(",3,"))
{
//服务区、门店数据传输
StartProcess(7);
StartProcess(8);
StartProcess(10);
StartProcess(11);
StartProcess(12); //省份机器信息
}
}
#endregion
#region 线2 -> timer2_Tick
private void timer2_Tick(object sender, EventArgs e)
{
StartProcess(4); //推送信息
StartProcess(5); //单品详情
}
#endregion
#region 线3 -> timer3_Tick
private void timer3_Tick(object sender, EventArgs e)
{
StartProcess(6);
//Thread _Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(3))));
//_Thread.Start();
}
#endregion
#region 线4 -> timer4_Ticktimer96_Tick ()
private void timer4_Tick(object sender, EventArgs e)
{
}
private void timer96_Tick(object sender, EventArgs e)
{
StartProcess(96);
}
#endregion
#region 线6 -> timer6_Tick
private void timer6_Tick(object sender, EventArgs e)
{
StartProcess(60);
}
#endregion
#region 线30 ->
private void timer30_Tick(object sender, EventArgs e)
{
StartProcess(23);
StartProcess(25);
}
#endregion
#region 线94 -> sql语句执行
private void timer94_Tick(object sender, EventArgs e)
{
StartProcess(70);
}
#endregion
#region 线95 -> timer95_Tick
private void timer95_Tick(object sender, EventArgs e)
{
StartProcess(95);
}
#endregion
#region 线97 ->
private void timer97_Tick(object sender, EventArgs e)
{
StartProcess(97);
}
#endregion
#region 线98 ->
private void timer98_Tick(object sender, EventArgs e)
{
StartProcess(98);
//Thread _Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(98))));
//_Thread.Start();
}
#endregion
#region 线99 ->
private void timer99_Tick(object sender, EventArgs e)
{
foreach (string str in _TransferType.Split(','))
{
if (str == "1")
{
StartProcess(null, 1);
break;
}
else
{
Thread _Thread = new Thread(new ThreadStart(new ThreadStart(() => StartProcess(null, 2))));
_Thread.Start();
break;
}
}
}
#endregion
#region 线0 ->
private void timer0_Tick(object sender, EventArgs e)
{
}
#endregion
#region 线5 ->
private void timer5_Tick(object sender, EventArgs e)
{
StartProcess(9);
}
#endregion
#region ->
protected void ExcuteSql()
{
try
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(
// "SELECT * FROM HIGHWAY_EXCHANGE.T_TRANSFERTOOL WHERE TRANSFERTOOL_DESC = '201706122152'", "T_TRANSFERTOOL").Tables[0];
//if (_DataTable.Rows.Count == 0)
//{
FileInfo _FileInfo = new FileInfo("SQLString.txt");
if (_FileInfo.Exists)
{
string WriteTxt = File.ReadAllText("SQLString.txt", Encoding.Default);
WriteTxt = WriteTxt.Replace("\r", "");
try
{
_OracleHelper.ExecuteSqlTran(WriteTxt.Split("----------"));
//_OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_TRANSFERTOOL SET TRANSFERTOOL_DESC = '201706122152'");
_FileInfo.Delete();
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
}
//}
}
catch (Exception ex)
{
LogHelper.WriteSendLog(ex.Message);
}
}
#endregion
#region ->
private void OpenFileDownload()
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//是否存在表
DataRow _DataRowTable = _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT COUNT(*) AS ISTABLE FROM DBA_TABLES
WHERE OWNER = 'HIGHWAY_EXCHANGE' AND TABLE_NAME = 'T_WINSYSTEMLOG'").Tables[0].Rows[0];
if (_DataRowTable["ISTABLE"].ToString() != "1")
{
_OracleHelper.ExcuteSqlBackData(
@"CREATE TABLE HIGHWAY_EXCHANGE.T_WINSYSTEMLOG
(
WINSYSTEMLOG_ID NUMBER(9,0) NOT NULL,
LOG_EVENTID VARCHAR2(200),
LOG_CATEGORY VARCHAR2(200),
LOG_INDEX VARCHAR2(200),
LOG_ENTRYTYPE VARCHAR2(200),
LOG_TIMEGENERATED DATE,
LOG_MESSAGE VARCHAR2(2000),
SERVERPARTCODE VARCHAR2(10),
SHOPCODE VARCHAR2(10),
COMPUTERNAME VARCHAR2(500),
ADMINNAME VARCHAR2(500),
SERVERSEQUENCE VARCHAR2(500),
CREATE_DATE DATE,
WINSYSTEMLOG_DESC VARCHAR2(2000),
DATASTATE NUMBER(2,0) DEFAULT 0
)");
}
//是否存在序列
DataRow _DataRowSEQ = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT COUNT(*) AS ISSEQ FROM ALL_SEQUENCES
WHERE SEQUENCE_OWNER = 'HIGHWAY_EXCHANGE' AND SEQUENCE_NAME = 'SEQ_WINSYSTEMLOG'").Tables[0].Rows[0];
if (_DataRowSEQ["ISSEQ"].ToString() != "1")
{
_OracleHelper.ExcuteSql(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.SEQ_WINSYSTEMLOG
INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 2 NOORDER");
}
Process[] _ProcessRecord = Process.GetProcessesByName("FileDownload"); //系统日志程序
if (_ProcessRecord != null)
{
foreach (Process _Process in _ProcessRecord)
{
_Process.CloseMainWindow();
_Process.Kill();
_Process.Close();
}
}
try
{
Process exep = new Process();
exep.StartInfo.FileName = new DirectoryInfo(Application.StartupPath).FullName + @"\FileDownload.exe";
exep.StartInfo.Arguments = "FileDownload";
exep.StartInfo.CreateNoWindow = true;
exep.StartInfo.UseShellExecute = false;
exep.Start();
exep.WaitForExit(1000);//等待外部程序退出后才能往下低调执行
}
catch (Exception ex)
{
LogHelper.WriteReceiveLog(ex.Message, "系统日志升级程序启动报错:" + ex.Message);
}
}
#endregion
#region ->
public static bool IsTableExists(OracleHelper _OracleHelper, string UserName, string TableName)
{
//是否存在表
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM DBA_TABLES WHERE OWNER = '" +
UserName + "' AND TABLE_NAME = '" + TableName + "'").Tables[0];
if (_DataTable != null && _DataTable.Rows.Count > 0)
{
return true;
}
return false;
}
#endregion
}
}