722 lines
38 KiB
C#
722 lines
38 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Configuration;
|
|
using System.ComponentModel;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Net;
|
|
using System.Net.NetworkInformation;
|
|
using System.Net.Sockets;
|
|
using System.Windows.Forms;
|
|
using SocketTransfer.SDK;
|
|
|
|
namespace SocketReceive
|
|
{
|
|
public partial class Receiver : Form
|
|
{
|
|
protected string _OracleConnStr = ConfigurationManager.AppSettings["OracleConnStr"].ToString();
|
|
protected string _ConnectString = ConfigurationManager.AppSettings["ConnectString"].ToString(); //日常营收上传地址
|
|
protected string _HostIP = ConfigurationManager.AppSettings["HostIP"].ToString();
|
|
protected string _HostPort = ConfigurationManager.AppSettings["HostPort"].ToString();
|
|
public Receiver()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
#region 方法 -> 启动/停止监听
|
|
bool isStart = false;
|
|
private void BtnListen_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (!isStart)
|
|
{
|
|
//socketor1.Start(new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[0]), int.Parse(_HostPort.Split(',')[0])));
|
|
//socketor2.Start(new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[1]), int.Parse(_HostPort.Split(',')[1])));
|
|
//socketor3.Start(new IPEndPoint(IPAddress.Parse(_HostIP.Split(',')[2]), int.Parse(_HostPort.Split(',')[2])));
|
|
socketor1.Start(new IPEndPoint(IPAddress.Any, int.Parse(_HostPort.Split(',')[0])));
|
|
socketor2.Start(new IPEndPoint(IPAddress.Any, int.Parse(_HostPort.Split(',')[1])));
|
|
socketor3.Start(new IPEndPoint(IPAddress.Any, int.Parse(_HostPort.Split(',')[2])));
|
|
BtnListen.Text = "停止";
|
|
isStart = true;
|
|
return;
|
|
}
|
|
|
|
if (isStart)
|
|
{
|
|
socketor1.Stop();
|
|
socketor2.Stop();
|
|
socketor3.Stop();
|
|
BtnListen.Text = "监听";
|
|
isStart = false;
|
|
return;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 功能加载
|
|
private void Receiver_Load(object sender, EventArgs e)
|
|
{
|
|
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";
|
|
|
|
BtnListen_Click(BtnListen, e);
|
|
}
|
|
#endregion
|
|
|
|
#region 监听1 -> socketor1_Receive
|
|
private void socketor1_Receive(object sender, SocketEventArgs e)
|
|
{
|
|
ListenInfo(e);
|
|
}
|
|
#endregion
|
|
|
|
#region 监听2 -> socketor2_Receive
|
|
private void socketor2_Receive(object sender, SocketEventArgs e)
|
|
{
|
|
ListenInfo(e);
|
|
}
|
|
#endregion
|
|
|
|
#region 监听3 -> Socketor3_Receive
|
|
private void Socketor3_Receive(object sender, SocketEventArgs e)
|
|
{
|
|
ListenInfo(e);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 监听事件
|
|
protected void ListenInfo(SocketEventArgs e)
|
|
{
|
|
int _ReceiveType = 0;
|
|
string[] Files = null;
|
|
try
|
|
{
|
|
if (e.Buffer == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Files = (string[])EventsCommodityNew.BytesToObject(e.Buffer);
|
|
if (Files != null && Files.Length > 0)
|
|
{
|
|
_ReceiveType = int.Parse(Files[0]);
|
|
|
|
LogHelper.WriteReceiveLog(string.Join(",", (string[])EventsCommodityNew.BytesToObject(e.Buffer)),
|
|
"日志_Receive" + DateTime.Now.ToString("yyyyMMdd"), true);
|
|
if (_ReceiveType != 100 && _ReceiveType != 62 && _ReceiveType != 63 &&
|
|
_ReceiveType != 64 && _ReceiveType != 65 && _ReceiveType != 70)
|
|
{
|
|
#if DEBUG
|
|
string dir = Application.StartupPath + "//Log";
|
|
string fil = dir + "//" + CommonHelperNew.GetSendType(_ReceiveType) +
|
|
"Listen" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
|
if (!Directory.Exists(dir))
|
|
{
|
|
System.IO.Directory.CreateDirectory(dir);
|
|
}
|
|
LogHelper.DeleteFiles("*.log", dir, -15);
|
|
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}", DateTime.Now + ":ReceiveType[" + CommonHelperNew.GetSendType(_ReceiveType) +
|
|
"],Primary key[" + Files[1] + "],Size[" + Files.Length + "]");
|
|
writer.Flush();
|
|
writer.Close();
|
|
filestream.Close();
|
|
#endif
|
|
}
|
|
|
|
switch (_ReceiveType)
|
|
{
|
|
case 0:
|
|
#region 结账数据
|
|
if (string.IsNullOrEmpty(Files[3]) || string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertEndAccount(_ConnectString, Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 1:
|
|
#region 销售流水集合
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertTransfer_Selldata(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 2:
|
|
#region 收银员报表
|
|
if (string.IsNullOrEmpty(Files[5]) || string.IsNullOrEmpty(Files[6]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertPersonsell(_ConnectString, Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 3:
|
|
#region 单品集合
|
|
if (string.IsNullOrEmpty(Files[4]) || string.IsNullOrEmpty(Files[5]) || string.IsNullOrEmpty(Files[18]) ||
|
|
string.IsNullOrEmpty(Files[19]) || string.IsNullOrEmpty(Files[20]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertTransfer_Sale(_ConnectString, Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 4:
|
|
#region 推送营收数据
|
|
if (string.IsNullOrEmpty(Files[41]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertWeChatPushDetail(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 5:
|
|
#region 推送单品数据
|
|
if (string.IsNullOrEmpty(Files[15]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertWeChatPushSale(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 6:
|
|
#region HIGHWAY_EXCHANGE.T_DATACOLLECTION 数据采集(门店版)
|
|
if (string.IsNullOrEmpty(Files[15]) || string.IsNullOrEmpty(Files[2]) || string.IsNullOrEmpty(Files[5]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_DataCollectionShop(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 7:
|
|
#region 服务区数据
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertServerpart(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 8:
|
|
#region 门店数据
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertServerpartShop(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 9:
|
|
#region 系统日志
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertWinSystemLog(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 10:
|
|
#region 平台用户数据
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (Files[Files.Length - 1] == "1" || Files[Files.Length - 1] == "0")
|
|
{
|
|
if (Files[Files.Length - 1] == "1")
|
|
{
|
|
//新增、更新
|
|
if (CommonHelperNew.InsertUser(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//删除
|
|
if (CommonHelperNew.DeleteUser(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
#endregion
|
|
case 11:
|
|
#region 平台用户分类数据
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertUserType(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 12:
|
|
#region 省份机器信息
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (Files[Files.Length - 1] == "1" || Files[Files.Length - 1] == "0")
|
|
{
|
|
if (Files[Files.Length - 1] == "1")
|
|
{
|
|
//新增、更新
|
|
if (CommonHelperNew.InsertMachinemanage(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//删除
|
|
if (CommonHelperNew.DeleteMachinemanage(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
#endregion
|
|
case 13:
|
|
#region HIGHWAY_EXCHANGE.T_CUSTOMERINFO
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[2]) || string.IsNullOrEmpty(Files[4]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_CustomerInfo(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 14:
|
|
#region HIGHWAY_EXCHANGE.T_PASSENGERFLOW
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_PassengerFlow(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 15:
|
|
#region HIGHWAY_EXCHANGE.T_VEHICLEFLOW
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_VehicleFlow(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 16:
|
|
#region HIGHWAY_EXCHANGE.T_SATISFACTIONFLOW(暂未启用)
|
|
if (string.IsNullOrEmpty(Files[1]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_SatisfactionFlow(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 17:
|
|
#region HIGHWAY_EXCHANGE.T_SATISFACTIONFLOW(DAY)
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_SatisfactionFlowDay(Files))
|
|
{
|
|
//e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
//string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
//propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 18:
|
|
#region HIGHWAY_EXCHANGE.T_DATACOLLECTION 数据采集(服务区版)
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_DataCollectionServerPart(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 20:
|
|
#region 结账数据 新表
|
|
if (string.IsNullOrEmpty(Files[7]) || string.IsNullOrEmpty(Files[8]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertEndAccount_New(_ConnectString, Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 21:
|
|
#region 收银员报表
|
|
if (string.IsNullOrEmpty(Files[6]) || string.IsNullOrEmpty(Files[7]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertPersonsell_New(_ConnectString, Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 23:
|
|
#region HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW
|
|
if (string.IsNullOrEmpty(Files[2]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertCommodityex_new(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 24:
|
|
#region HIGHWAY_EXCHANGE.T_UPLOADSTATISTICS
|
|
if (string.IsNullOrEmpty(Files[1]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertTransferstatistics(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 25:
|
|
#region HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR
|
|
if (string.IsNullOrEmpty(Files[1]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertCommoditysale_extar(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 26:
|
|
case 27:
|
|
#region HIGHWAY_EXCHANGE.T_MOBILE_PAY
|
|
if (string.IsNullOrEmpty(Files[1]) || string.IsNullOrEmpty(Files[7]) || string.IsNullOrEmpty(Files[8]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_Mobile_pay(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 61:
|
|
#region 服务器门店数据删除
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.DeleteServerData(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 62:
|
|
case 63:
|
|
case 64:
|
|
case 65:
|
|
#region 服务器门店数据返回
|
|
propertyGrid1.SelectedObject = Files;
|
|
string[] backFilesALL = CommonHelperNew.SelectServerData(Files);
|
|
if (backFilesALL != null && backFilesALL.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.ObjectToBytes(backFilesALL);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 70:
|
|
#region 下发执行语句
|
|
try
|
|
{
|
|
propertyGrid1.SelectedObject = Files;
|
|
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
|
|
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
|
|
string SQLString = "SELECT * FROM HIGHWAY_EXCHANGE.T_EXECUTESQL WHERE NVL(SERVERPARTCODE,'" + Files[1] +
|
|
"') LIKE '%" + Files[1] + "%' AND NVL(EXECUTESQL_DATE,SYSDATE) <= SYSDATE AND EXECUTESQL_STATE = 1";
|
|
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(SQLString).Tables[0].Rows)
|
|
{
|
|
string[] BackFile = new string[4];
|
|
SQLString = "SELECT * FROM HIGHWAY_EXCHANGE.T_EXECUTEFEEDBAK WHERE SERVERPARTCODE = '" +
|
|
Files[1] + "' AND EXECUTESQL_ID = " + _DataRow["EXECUTESQL_ID"].ToString();
|
|
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(SQLString).Tables[0];
|
|
if (_DataTable.Rows.Count > 0)
|
|
{
|
|
if (_DataTable.Rows[0]["EXECUTEFEEDBAK_STATE"].ToString() == "" ||
|
|
int.Parse(_DataTable.Rows[0]["EXECUTEFEEDBAK_STATE"].ToString()) < 2)
|
|
{
|
|
BackFile[0] = Files[0];
|
|
BackFile[1] = _DataTable.Rows[0]["EXECUTEFEEDBAK_ID"].ToString();
|
|
BackFile[2] = _DataTable.Rows[0]["SERVERPARTCODE"].ToString();
|
|
BackFile[3] = _DataRow["EXECUTESQL_CONTENT"].ToString();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string _EXECUTEFEEDBAK_ID = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT HIGHWAY_EXCHANGE.SEQ_EXECUTEFEEDBAK.NEXTVAL FROM DUAL").Tables[0].Rows[0][0].ToString();
|
|
SQLString = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_EXECUTEFEEDBAK (
|
|
EXECUTEFEEDBAK_ID,EXECUTESQL_ID,SERVERPARTCODE) VALUES ({0},{1},{2})",
|
|
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, _EXECUTEFEEDBAK_ID),
|
|
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.Int, _DataRow["EXECUTESQL_ID"].ToString()),
|
|
CommonHelperNew.IsArrayType(CommonHelperNew.ValueType.String, Files[1]));
|
|
_OracleHelper.ExcuteSql(SQLString);
|
|
BackFile[0] = Files[0];
|
|
BackFile[1] = _EXECUTEFEEDBAK_ID;
|
|
BackFile[2] = Files[1];
|
|
BackFile[3] = _DataRow["EXECUTESQL_CONTENT"].ToString();
|
|
}
|
|
if (BackFile != null && CommonHelper.ObjectEmpty(BackFile) && BackFile.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.ObjectToBytes(BackFile);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteReceiveLog("(ExcuteSql)" + ex.Message);
|
|
string dir = Application.StartupPath + "//ErrorData";
|
|
string fil = dir + "//ExcuteSql" + DateTime.Now.ToString("yyyyMMdd") + ".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.Default);
|
|
writer.BaseStream.Seek(0, SeekOrigin.End);
|
|
writer.WriteLine("{0}", string.Join(",", Files));
|
|
writer.Flush();
|
|
writer.Close();
|
|
filestream.Close();
|
|
}
|
|
#endregion
|
|
break;
|
|
case 71:
|
|
#region 语句执行信息反馈
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (!string.IsNullOrEmpty(Files[0]) && !string.IsNullOrEmpty(Files[1]) && !string.IsNullOrEmpty(Files[2]) &&
|
|
!string.IsNullOrEmpty(Files[3]) && !string.IsNullOrEmpty(Files[4]))
|
|
{
|
|
CommonHelperNew.ExcuteSql(Files);
|
|
}
|
|
#endregion
|
|
break;
|
|
case 91:
|
|
#region HIGHWAY_EXCHANGE.T_CONNECTPOINT 旧版状态反馈
|
|
if (string.IsNullOrEmpty(Files[5]) || string.IsNullOrEmpty(Files[6]) || string.IsNullOrEmpty(Files[7]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_ConnectPoint(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 92:
|
|
#region HIGHWAY_EXCHANGE.T_STATEFEEDBACK 新版状态反馈
|
|
if (string.IsNullOrEmpty(Files[3]) || string.IsNullOrEmpty(Files[7]))
|
|
{
|
|
break;
|
|
}
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.Insert_StateFeedback(Files))
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
#endregion
|
|
break;
|
|
case 99:
|
|
#region 心跳数据
|
|
propertyGrid1.SelectedObject = Files;
|
|
if (CommonHelperNew.InsertTransferTool(Files) && Files.Length > 0)
|
|
{
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] backFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = backFiles;
|
|
}
|
|
break;
|
|
#endregion
|
|
case 100:
|
|
#region 程序监听
|
|
propertyGrid1.SelectedObject = Files;
|
|
|
|
e.Feedback = EventsCommodityNew.DoEvent(e.Buffer, 1);
|
|
string[] FeedbackFiles = (string[])EventsCommodityNew.BytesToObject(e.Feedback);
|
|
propertyGrid2.SelectedObject = FeedbackFiles;
|
|
|
|
break;
|
|
#endregion
|
|
}
|
|
}
|
|
else
|
|
{
|
|
LogHelper.WriteSendLog("数组参数不可为空!");
|
|
return;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteReceiveLog("(socketor_Receive)" + ex.Message, "日志_Receive" + DateTime.Now.ToString("yyyyMMdd"));
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
private void Receiver_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
socketor1.Stop();
|
|
socketor2.Stop();
|
|
socketor3.Stop();
|
|
}
|
|
}
|
|
}
|