3150 lines
201 KiB
C#
3150 lines
201 KiB
C#
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_Tick、timer96_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
|
||
}
|
||
}
|