using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using HIGHWAY = TableDataService.Model.HIGHWAY; using EXCHANGE = TableDataService.Model.EXCHANGE; using Newtonsoft.Json.Linq; using OperatingData.SDK; namespace TableDataService { /// /// Service 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class Service : System.Web.Services.WebService { protected static string _OracleConnStr = ConfigurationManager.AppSettings["OracleConnStr"].ToString(); protected string _OracleHelperString = ConfigurationManager.AppSettings["OracleHelperString"].ToString(); //protected string _IsUpLoad = ConfigurationManager.AppSettings["IsUpload"].ToString(); //protected string _IsDownload = ConfigurationManager.AppSettings["IsDownload"].ToString(); protected string _IsCheckAuth = ConfigurationManager.AppSettings["IsCheckAuth"].ToString(); private static int _MaxDataQuantity = 4; private static int _MaxDataDownload = 10; #region 数据上传 #region 方法 -> 数据上传 /// /// 数据上传 /// /// /// /// /// [WebMethod] public string UploadTableData(string code, string tableName, string jsonString, string orderString = "") { //if (_IsUpLoad == "0") //{ // return "{\"error\": -1 ,\"msg\": \"上传接口已关闭!\",\"rows\":[]}"; //} bool IsCheck = true; try { IsCheck = _IsCheckAuth.ToDecrypt() == "0" ? false : true; } catch { try { IsCheck = _IsCheckAuth == "0" ? false : true; } catch { } } OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); OracleHelper _AuthorCode; try { _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3], _OracleHelperString.Split(',')[4]); } catch { _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3]); } if (!string.IsNullOrEmpty(orderString)) { try { JObject _OrderString = JObject.Parse(orderString); if (_OrderString.Property("SERVERPARTCODE") == null || _OrderString.Property("SERVERPARTSHOP_ID") == null || _OrderString.Property("SHOPCODE") == null || _OrderString.Property("MACHINECODE") == null || _OrderString.Property("ENDDATE") == null) { return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON参数解析异常!\",\"rows\":[]}"; } string _SERVERPARTCODE = _OrderString.Property("SERVERPARTCODE").Value.ToString(); //服务区编码 string _SHOPCODE = _OrderString.Property("SHOPCODE").Value.ToString(); //门店编码 string _SERVERPARTSHOP_ID = _OrderString.Property("SERVERPARTSHOP_ID").Value.ToString(); //门店ID string _MACHINECODE = _OrderString.Property("MACHINECODE").Value.ToString(); //收银机编码 string _MACADDRESS = _OrderString.Property("MACADDRESS").Value.ToString(); //Mac地址 string _ENDDATE = _OrderString.Property("ENDDATE").Value.ToString(); //最早时间 _ENDDATE = string.IsNullOrWhiteSpace(_ENDDATE) ? "2018/04/01 00:00:00" : _ENDDATE; //设置最小默认时间 //如果门店ID是空的,则从数据库直接读取对应门店的ID if (string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID) && !string.IsNullOrWhiteSpace(_SHOPCODE) && !string.IsNullOrWhiteSpace(_SERVERPARTCODE)) { try { string _strSelect = String.Format( @"SELECT SERVERPARTSHOP_ID FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}'", _SERVERPARTCODE, _SHOPCODE); _SERVERPARTSHOP_ID = _OracleHelper.ExcuteSqlGetDataSet(_strSelect).Tables[0].Rows[0]["SERVERPARTSHOP_ID"].ToString(); } catch { } } string[] codes = null; if (tableName != "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR" && tableName != "HIGHWAY_EXCHANGE.T_UPLOADSTATISTICS") { //暂注释 if (IsCheck) { codes = OperationDataHelper.IsCorrectCode(_AuthorCode, code); if (codes == null) { return "{\"error\": -1 ,\"msg\": \"授权码错误或已过期\",\"rows\":[]}"; } } if (string.IsNullOrWhiteSpace(_SERVERPARTCODE) || string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID) || string.IsNullOrWhiteSpace(_SHOPCODE) || string.IsNullOrWhiteSpace(_ENDDATE) || _MACHINECODE == null) { return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON缺少必要参数:" + "SERVERPARTCODE、SERVERPARTSHOP_ID、MACHINECODE、本地数据最早时间 \",\"rows\":[]}"; } else { if (IsCheck) { if (codes[0] != _SERVERPARTCODE || codes[3] != _MACADDRESS) { return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:非本设备授权码,禁止操作! \",\"rows\":[]}"; } } } } codes = new string[6]; codes[0] = _SERVERPARTCODE; codes[1] = _SHOPCODE; codes[2] = _SERVERPARTSHOP_ID; codes[3] = _MACHINECODE; codes[4] = _ENDDATE; codes[5] = _MACADDRESS; return DataUploading(_OracleHelper, tableName, jsonString, codes, orderString); } catch { } } else { return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:JSON参数解析异常!\",\"rows\":[]}"; } return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:发生异常!\",\"rows\":[]}"; } #endregion #region 方法 -> 数据上传子项 private string DataUploading(OracleHelper _OracleHelper, string tableName, string jsonString, string[] codes, string orderString) { string strBack = string.Empty; string _ISCheckData = string.Empty; string[] _RequiredDatas = null; try { switch (tableName) { case "HIGHWAY_EXCHANGE.T_SELLMASTER": #region HIGHWAY_EXCHANGE.T_SELLMASTER 销售流水主表 //必填项 _RequiredDatas = new string[] { "SELLMASTER_ID", "SELLMASTER_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataSellmaster = JsonHelper.JSONStringToListUTC(jsonString); if (_DataSellmaster != null && _DataSellmaster.Count > 0) { var _MaxDate = _DataSellmaster.Max(p => p.SELLMASTER_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLMASTER WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND SELLMASTER_DATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS') ", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.SELLMASTER _SELLMASTER in _DataSellmaster) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" SELLMASTER_CODE = '" + _SELLMASTER.SELLMASTER_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_SELLMASTER); continue; } } //需更新的集合 _InsertList.Add(_SELLMASTER); } if (_InsertList.Count + _UpdateList.Count == _DataSellmaster.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_SELLMASTER"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SELLDETAILS": #region HIGHWAY_EXCHANGE.T_SELLDETAILS 销售流水详情表 //必填项 _RequiredDatas = new string[] { "SELLDETAILS_ID", "SELLMASTER_CODE", "CREATE_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataSelldetails = JsonHelper.JSONStringToListUTC(jsonString); if (_DataSelldetails != null && _DataSelldetails.Count > 0) { var _MaxDate = _DataSelldetails.Max(p => p.CREATE_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLDETAILS WHERE CREATE_DATE BETWEEN TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS')", codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.SELLDETAILS _SELLDETAILS in _DataSelldetails) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" SELLMASTER_CODE = '" + _SELLDETAILS.SELLMASTER_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_SELLDETAILS); continue; } } //需更新的集合 _InsertList.Add(_SELLDETAILS); } if (_InsertList.Count + _UpdateList.Count == _DataSelldetails.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_SELLDETAILS"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW": #region HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW 单品销售表 //必填项 _RequiredDatas = new string[] { "COMMODITYSALE_ID", "ENDACCOUNT_CODE", "CREATE_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataCommoditysale_new = JsonHelper.JSONStringToListUTC(jsonString); if (_DataCommoditysale_new != null && _DataCommoditysale_new.Count > 0) { var _MaxDate = _DataCommoditysale_new.Max(p => p.CREATE_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW WHERE CREATE_DATE BETWEEN TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') ", codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.COMMODITYSALE_NEW _COMMODITYSALE_NEW in _DataCommoditysale_new) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" ENDACCOUNT_CODE = '" + _COMMODITYSALE_NEW.ENDACCOUNT_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_COMMODITYSALE_NEW); continue; } } //需更新的集合 _InsertList.Add(_COMMODITYSALE_NEW); } if (_InsertList.Count + _UpdateList.Count == _DataCommoditysale_new.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW": #region HIGHWAY_EXCHANGE.T_PERSONSELL_NEW 收银交班表 //必填项 _RequiredDatas = new string[] { "PERSONSELL_ID", "ENDACCOUNT_CODE", "WOKER_NUMBER" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataPersonsell_new = JsonHelper.JSONStringToListUTC(jsonString); if (_DataPersonsell_new != null && _DataPersonsell_new.Count > 0) { var _MaxDate = _DataPersonsell_new.Max(p => p.STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_PERSONSELL_NEW WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND STARTDATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.PERSONSELL_NEW _PERSONSELL_NEW in _DataPersonsell_new) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" ENDACCOUNT_CODE = '" + _PERSONSELL_NEW.ENDACCOUNT_CODE + "' AND WOKER_NUMBER = " + _PERSONSELL_NEW.WOKER_NUMBER); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_PERSONSELL_NEW); continue; } } //需更新的集合 _InsertList.Add(_PERSONSELL_NEW); } if (_InsertList.Count + _UpdateList.Count == _DataPersonsell_new.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW", new string[] { "ENDACCOUNT_CODE", "WOKER_NUMBER" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW": #region HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW 日结报表 //必填项 _RequiredDatas = new string[] { "ENDACCOUNT_ID", "ENDACCOUNT_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataEndaccount_new = JsonHelper.JSONStringToListUTC(jsonString); if (_DataEndaccount_new != null && _DataEndaccount_new.Count > 0) { var _MaxDate = _DataEndaccount_new.Max(p => p.STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND STARTDATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.ENDACCOUNT_NEW _ENDACCOUNT_NEW in _DataEndaccount_new) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" ENDACCOUNT_CODE = '" + _ENDACCOUNT_NEW.ENDACCOUNT_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_ENDACCOUNT_NEW); continue; } } //需更新的集合 _InsertList.Add(_ENDACCOUNT_NEW); } if (_InsertList.Count + _UpdateList.Count == _DataEndaccount_new.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW", new string[] { "ENDACCOUNT_CODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_TRANSFER_SALE": #region HIGHWAY_EXCHANGE.T_TRANSFER_SALE 单品数据集合 //必填项 _RequiredDatas = new string[] { "TRANSFER_ID", "SERVERPARTCODE", "TRANSFER_FIRSTDATAS" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataTransfer_sale = JsonHelper.JSONStringToListUTC(jsonString); if (_DataTransfer_sale != null && _DataTransfer_sale.Count > 0) { var _MaxDate = _DataTransfer_sale.Max(p => p.ENDDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE WHERE SERVERPARTCODE = '{0}' AND ENDDATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.TRANSFER_SALE _TRANSFER_SALE in _DataTransfer_sale) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" TRANSFER_ID = " + _TRANSFER_SALE.TRANSFER_ID + " AND TRANSFER_FIRSTDATAS = '" + _TRANSFER_SALE.TRANSFER_FIRSTDATAS + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_TRANSFER_SALE); continue; } } //需更新的集合 _InsertList.Add(_TRANSFER_SALE); } if (_InsertList.Count + _UpdateList.Count == _DataTransfer_sale.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_TRANSFER_SALE"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_BUSINESSTIME": #region HIGHWAY_EXCHANGE.T_BUSINESSTIME //必填项 _RequiredDatas = new string[] { "BUSINESSTIME_ID", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "ENDACCOUNT_STARTDATE", "ENDACCOUNT_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataBusinesstime = JsonHelper.JSONStringToListUTC(jsonString); if (_DataBusinesstime != null && _DataBusinesstime.Count > 0) { var _MaxDate = _DataBusinesstime.Max(p => p.ENDACCOUNT_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT BUSINESSTIME_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE, ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,BUSINESS_OPENTIME,BUSINESS_CLOSETIME, BUSINESS_STARTTIME,BUSINESS_ENDTIME,BUSINESS_STARTINFO,BUSINESS_ENDINFO,BUSINESSTIME_STATE, BUSINESSTIME_DESC,BUSINESS_TIME FROM HIGHWAY_EXCHANGE.T_BUSINESSTIME WHERE ENDACCOUNT_DATE BETWEEN TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS')", codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.BUSINESSTIME _BUSINESSTIME in _DataBusinesstime) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" BUSINESSTIME_ID = " + _BUSINESSTIME.BUSINESSTIME_ID + " AND SERVERPARTCODE = '" + _BUSINESSTIME.SERVERPARTCODE + "' AND SHOPCODE = '" + _BUSINESSTIME.SHOPCODE + "' AND MACHINECODE = '" + _BUSINESSTIME.MACHINECODE + "' AND ENDACCOUNT_STARTDATE = '" + _BUSINESSTIME.ENDACCOUNT_STARTDATE.ToString() + "' AND ENDACCOUNT_DATE = '" + _BUSINESSTIME.ENDACCOUNT_DATE.ToString() + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_BUSINESSTIME); continue; } } //需更新的集合 _InsertList.Add(_BUSINESSTIME); } if (_InsertList.Count + _UpdateList.Count == _DataBusinesstime.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_BUSINESSTIME"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_DATACOLLECTION": #region HIGHWAY_EXCHANGE.T_DATACOLLECTION //必填项 _RequiredDatas = new string[] { "DATACOLLECTION_ID", "MACADDRESS", "DATACOLLECTION_DATE", "DATACOLLECTION_TYPE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataDatacollection = JsonHelper.JSONStringToListUTC(jsonString); if (_DataDatacollection != null && _DataDatacollection.Count > 0) { var _MaxDate = _DataDatacollection.Max(p => p.DATACOLLECTION_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_DATACOLLECTION WHERE SERVERPARTCODE = '{0}' AND DATACOLLECTION_DATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.DATACOLLECTION _DATACOLLECTION in _DataDatacollection) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" MACADDRESS = '" + _DATACOLLECTION.MACADDRESS + "' AND DATACOLLECTION_DATE = '" + _DATACOLLECTION.DATACOLLECTION_DATE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_DATACOLLECTION); continue; } } //需更新的集合 _InsertList.Add(_DATACOLLECTION); } if (_InsertList.Count + _UpdateList.Count == _DataDatacollection.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_DATACOLLECTION"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_EXCEPTION": #region HIGHWAY_EXCHANGE.T_EXCEPTION //必填项 _RequiredDatas = new string[] { "EXCEPTION_ID", "EXCEPTION_DATE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "EXCEPTIONTYPE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataException = JsonHelper.JSONStringToListUTC(jsonString); if (_DataException != null && _DataException.Count > 0) { var _MaxDate = _DataException.Max(p => p.EXCEPTION_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT EXCEPTION_ID,EXCEPTION_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE, WORKERCODE,EXCEPTIONTYPE,COMMODITY_CODE,EXCEPTIONCOUNT,EXCEPTIONAMOUNT, FLAG,APPROVE_STAFF,APPROVE_INFO,APPROVE_DATE,EXCEPTION_DESC FROM HIGHWAY_EXCHANGE.T_EXCEPTION WHERE SERVERPARTCODE = '{0}' AND EXCEPTION_DATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.EXCEPTION _EXCEPTION in _DataException) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" EXCEPTION_ID = " + _EXCEPTION.EXCEPTION_ID + " AND EXCEPTION_DATE = '" + _EXCEPTION.EXCEPTION_DATE.ToString() + "'" + " AND SERVERPARTCODE = '" + _EXCEPTION.SERVERPARTCODE + "'" + " AND SHOPCODE = '" + _EXCEPTION.SHOPCODE + "'" + " AND MACHINECODE = '" + _EXCEPTION.MACHINECODE + "'" + " AND EXCEPTIONTYPE = '" + _EXCEPTION.EXCEPTIONTYPE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_EXCEPTION); continue; } } //需更新的集合 _InsertList.Add(_EXCEPTION); } if (_InsertList.Count + _UpdateList.Count == _DataException.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_EXCEPTION"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_MOBILE_PAY": #region HIGHWAY_EXCHANGE.T_MOBILE_PAY //必填项 _RequiredDatas = new string[] { "MOBILE_PAY_ID", "MOBILEPAY_TYPE", "TICKET_CODE", "MOBILEPAY_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataMobile_pay = JsonHelper.JSONStringToListUTC(jsonString); if (_DataMobile_pay != null && _DataMobile_pay.Count > 0) { var _MaxDate = _DataMobile_pay.Max(p => p.MOBILEPAY_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_MOBILE_PAY WHERE SERVERPARTCODE = '{0}' AND MOBILEPAY_DATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.MOBILE_PAY _MOBILE_PAY in _DataMobile_pay) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" MOBILE_PAY_ID = " + _MOBILE_PAY.MOBILE_PAY_ID + " AND MOBILEPAY_TYPE = '" + _MOBILE_PAY.MOBILEPAY_TYPE + "' AND TICKET_CODE = '" + _MOBILE_PAY.TICKET_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_MOBILE_PAY); continue; } } //需更新的集合 _InsertList.Add(_MOBILE_PAY); } if (_InsertList.Count + _UpdateList.Count == _DataMobile_pay.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_MOBILE_PAY"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_MOBILE_PAY", new string[] { "MOBILE_PAY_ID", "MOBILEPAY_TYPE", "TICKET_CODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK": #region HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK //必填项 _RequiredDatas = new string[] { "MOBILE_PAYCHECK_ID", "MOBILEPAY_TYPE", "TICKET_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataMobile_paycheck = JsonHelper.JSONStringToListUTC(jsonString); if (_DataMobile_paycheck != null && _DataMobile_paycheck.Count > 0) { var _MaxDate = _DataMobile_paycheck.Max(p => p.MOBILEPAY_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK WHERE MOBILEPAY_DATE BETWEEN TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS')", codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.MOBILE_PAYCHECK _MOBILE_PAYCHECK in _DataMobile_paycheck) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" MOBILE_PAYCHECK_ID = " + _MOBILE_PAYCHECK.MOBILE_PAYCHECK_ID + " AND MOBILEPAY_TYPE = '" + _MOBILE_PAYCHECK.MOBILEPAY_TYPE + "' AND TICKET_CODE = '" + _MOBILE_PAYCHECK.TICKET_CODE + "'"); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_MOBILE_PAYCHECK); continue; } } //需更新的集合 _InsertList.Add(_MOBILE_PAYCHECK); } if (_InsertList.Count + _UpdateList.Count == _DataMobile_paycheck.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK", new string[] { "MOBILE_PAYCHECK_ID", "MOBILEPAY_TYPE", "TICKET_CODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_RECHARGERECORD": #region HIGHWAY_EXCHANGE.T_RECHARGERECORD //必填项 _RequiredDatas = new string[] { "RECHARGERECORD_ID", "RECODE_TYPE", "RECODE_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataRechargerecord = JsonHelper.JSONStringToListUTC(jsonString); if (_DataRechargerecord != null && _DataRechargerecord.Count > 0) { var _MaxDate = _DataRechargerecord.Max(p => p.RECODE_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_RECHARGERECORD WHERE RECODE_DATE BETWEEN TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS')", codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.RECHARGERECORD _RECHARGERECORD in _DataRechargerecord) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" RECHARGERECORD_ID = " + _RECHARGERECORD.RECHARGERECORD_ID + " AND RECODE_TYPE = " + _RECHARGERECORD.RECODE_TYPE); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_RECHARGERECORD); continue; } } //需更新的集合 _InsertList.Add(_RECHARGERECORD); } if (_InsertList.Count + _UpdateList.Count == _DataRechargerecord.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_RECHARGERECORD"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW": #region HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW //必填项 _RequiredDatas = new string[] { "COMMODITYEX_ID", "SERVERPARTCODE", "SERVERPARTSHOP_ID", "DOWNLOADDATE", "COMMODITY_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataCommodityex_new = JsonHelper.JSONStringToListUTC(jsonString); if (_DataCommodityex_new != null && _DataCommodityex_new.Count > 0) { var _MaxDate = _DataCommodityex_new.Max(p => p.DOWNLOADDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW WHERE SERVERPARTCODE = '{0}' AND SERVERPARTSHOP_ID = {1} ", codes[0], codes[2])).Tables[0]; List _InsertList = new List(); //需插入的集合 List _UnchangedList = new List();//不需要操作的集合 List _UpdateList = new List(); //需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.COMMODITYEX_NEW _COMMODITYEX_NEW in _DataCommodityex_new) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(" COMMODITY_CODE = '" + _COMMODITYEX_NEW.COMMODITY_CODE + "' AND SERVERPARTCODE = '" + _COMMODITYEX_NEW.SERVERPARTCODE + "' AND SERVERPARTSHOP_ID = " + _COMMODITYEX_NEW.SERVERPARTSHOP_ID); if (_DataRows != null && _DataRows.Length > 0) { DataRow[] _Temp = _DataTable.Select(" COMMODITY_CODE = '" + _COMMODITYEX_NEW.COMMODITY_CODE + "' AND SERVERPARTCODE = '" + _COMMODITYEX_NEW.SERVERPARTCODE + "' AND SERVERPARTSHOP_ID = " + _COMMODITYEX_NEW.SERVERPARTSHOP_ID + " AND DOWNLOADDATE = '" + _COMMODITYEX_NEW.DOWNLOADDATE.ToString() + "'"); if (_Temp != null && _Temp.Length > 0) { //记录已存在、不需更新的数据 _UnchangedList.Add(_COMMODITYEX_NEW); } else { //时间不一致更新 _UpdateList.Add(_COMMODITYEX_NEW); } continue; } } //需更新的集合 _InsertList.Add(_COMMODITYEX_NEW); } if (_InsertList.Count + _UpdateList.Count + _UnchangedList.Count == _DataCommodityex_new.Count) { if (_InsertList.Count > 0) { for (int j = 0; j < _MaxDataQuantity; j++) { List _Temp = new List(); for (int i = j * 100; i < _InsertList.Count; i++) { if (i < (j + 1) * 100) { _Temp.Add(_InsertList[i]); } if (i == (j + 1) * 100) { break; } } OperationDataHelper.InsertTableData(_OracleHelper, _Temp, "HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW"); } } if (_UpdateList.Count > 0) { try { for (int j = 0; j < 4; j++) { List _Temp = new List(); for (int i = j * 100; i < _UpdateList.Count; i++) { if (i < (j + 1) * 100) { _Temp.Add(_UpdateList[i]); } if (i == (j + 1) * 100) { break; } } OperationDataHelper.UpdateTableData( _OracleHelper, _Temp, "HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW", new string[] { "COMMODITYEX_ID" }); } } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ENDACCOUNT": #region HIGHWAY_EXCHANGE.T_ENDACCOUNT //必填项 _RequiredDatas = new string[] { "ENDACCOUNT_ID", "ENDACCOUNT_STARTDATE", "SERVERPART_CODE", "SHOPCODE", "MACHINECODE" ,"FLAG" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataEndaccount = JsonHelper.JSONStringToListUTC(jsonString); if (_DataEndaccount != null && _DataEndaccount.Count > 0) { var _MaxDate = _DataEndaccount.Max(p => p.ENDACCOUNT_STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT ENDACCOUNT_ID,ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,SERVERPART_CODE, SHOPCODE,MACHINECODE,ENDPERSONCODE,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT, TOTALOFFAMOUNT,CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY,FLAG FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT WHERE SERVERPART_CODE = '{0}' AND ENDACCOUNT_STARTDATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (HIGHWAY.ENDACCOUNT _ENDACCOUNT in _DataEndaccount) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" ENDACCOUNT_ID = {0} AND ENDACCOUNT_STARTDATE = '{1}' AND SERVERPART_CODE = '{2}' AND SHOPCODE = '{3}' AND MACHINECODE = '{4}' AND FLAG = {5}", _ENDACCOUNT.ENDACCOUNT_ID, _ENDACCOUNT.ENDACCOUNT_STARTDATE.ToString(), _ENDACCOUNT.SERVERPART_CODE, _ENDACCOUNT.SHOPCODE, _ENDACCOUNT.MACHINECODE, _ENDACCOUNT.FLAG)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_ENDACCOUNT); continue; } } //需更新的集合 _InsertList.Add(_ENDACCOUNT); } if (_InsertList.Count + _UpdateList.Count == _DataEndaccount.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_ENDACCOUNT"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_ENDACCOUNT", new string[] { "ENDACCOUNT_ID", "ENDACCOUNT_STARTDATE", "SERVERPART_CODE", "SHOPCODE", "MACHINECODE", "FLAG" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYSALE": #region HIGHWAY_EXCHANGE.T_COMMODITYSALE //必填项 _RequiredDatas = new string[] { "COMMODITYSALE_ID", "STARTDATE", "ENDDATE", "SERVERPARTCODE", "SHOPCODE" ,"COMMODITY_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataCommoditysale = JsonHelper.JSONStringToListUTC(jsonString); if (_DataCommoditysale != null && _DataCommoditysale.Count > 0) { var _MaxDate = _DataCommoditysale.Max(p => p.ENDDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT COMMODITYSALE_ID,STARTDATE,ENDDATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,COMMODITY_TYPE, COMMODITY_CODE,COMMODITY_NAME,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,FLAG FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE WHERE SERVERPARTCODE = '{0}' AND ENDDATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (HIGHWAY.COMMODITYSALE _COMMODITYSALE in _DataCommoditysale) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format( @"STARTDATE = '{0}' AND ENDDATE = '{1}' AND SERVERPARTCODE = '{2}' AND SHOPCODE = '{3}' AND COMMODITY_CODE = '{4}'", _COMMODITYSALE.STARTDATE.ToString(), _COMMODITYSALE.ENDDATE.ToString(), _COMMODITYSALE.SERVERPARTCODE, _COMMODITYSALE.SHOPCODE, _COMMODITYSALE.COMMODITY_CODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_COMMODITYSALE); continue; } } //需更新的集合 _InsertList.Add(_COMMODITYSALE); } if (_InsertList.Count + _UpdateList.Count == _DataCommoditysale.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_COMMODITYSALE"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_COMMODITYSALE", new string[] { "STARTDATE", "ENDDATE", "SERVERPARTCODE", "SHOPCODE", "COMMODITY_CODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_PERSONSELL": #region HIGHWAY_EXCHANGE.T_PERSONSELL //必填项 _RequiredDatas = new string[] { "PERSONSELL_ID", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "STARTDATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataPersonsell = JsonHelper.JSONStringToListUTC(jsonString); if (_DataPersonsell != null && _DataPersonsell.Count > 0) { var _MaxDate = _DataPersonsell.Max(p => p.STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT PERSONSELL_ID,SERVERPARTCODE,SHOPCODE,MACHINECODE,STARTDATE,ENDDATE, CASHWORKER_CODE,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT, CASH,TICKETBILL,CREDITCARD,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY,ENDPERSONCODE FROM HIGHWAY_EXCHANGE.T_PERSONSELL WHERE SERVERPARTCODE = '{0}' AND STARTDATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (HIGHWAY.PERSONSELL _PERSONSELL in _DataPersonsell) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" PERSONSELL_ID = {0} AND STARTDATE = '{1}' AND SERVERPARTCODE = '{2}' AND SHOPCODE = '{3}' AND MACHINECODE = '{4}'", _PERSONSELL.PERSONSELL_ID, _PERSONSELL.STARTDATE.ToString(), _PERSONSELL.SERVERPARTCODE, _PERSONSELL.SHOPCODE, _PERSONSELL.MACHINECODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_PERSONSELL); continue; } } //需更新的集合 _InsertList.Add(_PERSONSELL); } if (_InsertList.Count + _UpdateList.Count == _DataPersonsell.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_PERSONSELL"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_PERSONSELL", new string[] { "PERSONSELL_ID", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "STARTDATE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR": #region HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR //必填项 _RequiredDatas = new string[] { "COMMODITYSALE_ID", "STARTDATE", "ENDDATE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataCommoditysale_extar = JsonHelper.JSONStringToListUTC(jsonString); if (_DataCommoditysale_extar != null && _DataCommoditysale_extar.Count > 0) { var _MaxDate = _DataCommoditysale_extar.Max(p => p.STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT COMMODITYSALE_ID,STARTDATE,ENDDATE,SERVERPARTCODE,SHOPCODE, MACHINECODE,COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,TICKETCOUNT, TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,FLAG,TRANSFER_STATE,TRANSFER_ID,MERGE_STATE FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR WHERE SERVERPARTCODE = '{0}' AND STARTDATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.COMMODITYSALE_EXTAR _COMMODITYSALE_EXTAR in _DataCommoditysale_extar) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" COMMODITYSALE_ID = {0} AND STARTDATE = '{1}' AND ENDDATE = '{2}' AND SERVERPARTCODE = '{3}' AND SHOPCODE = '{4}' AND MACHINECODE = '{5}'", _COMMODITYSALE_EXTAR.COMMODITYSALE_ID, _COMMODITYSALE_EXTAR.STARTDATE.ToString(), _COMMODITYSALE_EXTAR.ENDDATE.ToString(), _COMMODITYSALE_EXTAR.SERVERPARTCODE, _COMMODITYSALE_EXTAR.SHOPCODE, _COMMODITYSALE_EXTAR.MACHINECODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_COMMODITYSALE_EXTAR); continue; } } //需更新的集合 _InsertList.Add(_COMMODITYSALE_EXTAR); } if (_InsertList.Count + _UpdateList.Count == _DataCommoditysale_extar.Count) { if (_InsertList.Count > 0) { OperationDataHelper. InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_COMMODITYSALE_EXTAR", new string[] { "COMMODITYSALE_ID", "STARTDATE", "ENDDATE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SELLDATA": #region HIGHWAY_EXCHANGE.T_SELLDATA //必填项 _RequiredDatas = new string[] { "SELLDATA_ID", "SELLDATA_DATE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "TICKETCODE", "WORKERCODE", "COMMODITY_CODE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataSelldata = JsonHelper.JSONStringToListUTC(jsonString); if (_DataSelldata != null && _DataSelldata.Count > 0) { var _MaxDate = _DataSelldata.Max(p => p.SELLDATA_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT SELLDATA_ID,SELLDATA_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE, TICKETCODE,WORKERCODE,COMMODITY_CODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM, FLAG,CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,ORDERCODE FROM HIGHWAY_EXCHANGE.T_SELLDATA WHERE SERVERPARTCODE = '{0}' AND SELLDATA_DATE BETWEEN TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.SELLDATA _SELLDATA in _DataSelldata) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format( @"SELLDATA_DATE = '{0}' AND SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}' AND MACHINECODE = '{3}' AND TICKETCODE = '{4}' AND LINENUM = {5}", _SELLDATA.SELLDATA_DATE.ToString(), _SELLDATA.SERVERPARTCODE, _SELLDATA.SHOPCODE, _SELLDATA.MACHINECODE, _SELLDATA.TICKETCODE, _SELLDATA.LINENUM)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_SELLDATA); continue; } } //需更新的集合 _InsertList.Add(_SELLDATA); } if (_InsertList.Count + _UpdateList.Count == _DataSelldata.Count) { if (_InsertList.Count > 0) { OperationDataHelper. InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_SELLDATA"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_SELLDATA", new string[] { "SELLDATA_DATE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "TICKETCODE", "LINENUM" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR": #region HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR 异常记录表 //必填项 _RequiredDatas = new string[] { "TRANSMISSIONERROR_CODE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "RECORD_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataTransmissionerror = JsonHelper.JSONStringToListUTC(jsonString); if (_DataTransmissionerror != null && _DataTransmissionerror.Count > 0) { var _MaxDate = _DataTransmissionerror.Max(p => p.RECORD_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND RECORD_DATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.TRANSMISSIONERROR _TRANSMISSIONERROR in _DataTransmissionerror) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" TRANSMISSIONERROR_CODE = '{0}' AND RECORD_DATE = '{1}' AND SERVERPARTCODE = '{2}' AND SHOPCODE = '{3}' AND MACHINECODE = '{4}'", _TRANSMISSIONERROR.TRANSMISSIONERROR_CODE, _TRANSMISSIONERROR.RECORD_DATE.ToString(), _TRANSMISSIONERROR.SERVERPARTCODE, _TRANSMISSIONERROR.SHOPCODE, _TRANSMISSIONERROR.MACHINECODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_TRANSMISSIONERROR); continue; } } //需更新的集合 _InsertList.Add(_TRANSMISSIONERROR); } if (_InsertList.Count + _UpdateList.Count == _DataTransmissionerror.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS": #region HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS 上传统计表 //必填项 _RequiredDatas = new string[] { "TRANSFERSTATISTICS_CODE", "SERVERPARTCODE", "SHOPCODE", "MACHINECODE", "OPERATE_DATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataTransferstatistics = JsonHelper.JSONStringToListUTC(jsonString); if (_DataTransferstatistics != null && _DataTransferstatistics.Count > 0) { var _MaxDate = _DataTransferstatistics.Max(p => p.OPERATE_DATE); if (_MaxDate == null || _MaxDate.Value == DateTime.MinValue) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND OPERATE_DATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.TRANSFERSTATISTICS _TRANSFERSTATISTICS in _DataTransferstatistics) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" TRANSFERSTATISTICS_CODE = '{0}' AND OPERATE_DATE = '{1}' AND SERVERPARTCODE = '{2}' AND SHOPCODE = '{3}' AND MACHINECODE = '{4}'", _TRANSFERSTATISTICS.TRANSFERSTATISTICS_CODE, _TRANSFERSTATISTICS.OPERATE_DATE.ToString(), _TRANSFERSTATISTICS.SERVERPARTCODE, _TRANSFERSTATISTICS.SHOPCODE, _TRANSFERSTATISTICS.MACHINECODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_TRANSFERSTATISTICS); continue; } } //需更新的集合 _InsertList.Add(_TRANSFERSTATISTICS); } if (_InsertList.Count + _UpdateList.Count == _DataTransferstatistics.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS"); } if (_UpdateList.Count > 0) { try { OperationDataHelper.UpdateTableData( _OracleHelper, _UpdateList, "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS", new string[] { "TRANSFERSTATISTICS_CODE" }); } catch (Exception) { strBack = "{\"error\": 2 ,\"msg\": \"添加成功,更新失败!\",\"rows\":" + JsonHelper.ListToJson(_UpdateList, "rows", false) + "}"; break; } } //添加、更新成功无需传递任何参数。 strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_USERSATISFACTION": #region HIGHWAY_EXCHANGE.T_USERSATISFACTION 满意度评价 _RequiredDatas = new string[] { "USERSATISFACTION_ID", "SELLMASTER_CODE", "ACQUISITION_TIME" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataUserSatisfaction = JsonHelper.JSONStringToListUTC(jsonString); if (_DataUserSatisfaction != null && _DataUserSatisfaction.Count > 0) { var _MaxDate = _DataUserSatisfaction.Max(p => p.ACQUISITION_TIME); if (_MaxDate == null || _MaxDate.Value == DateTime.Now) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_USERSATISFACTION WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND ACQUISITION_TIME BETWEEN TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.USERSATISFACTION _USERSATISFACTION in _DataUserSatisfaction) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select("SELLMASTER_CODE = '" + _USERSATISFACTION.SELLMASTER_CODE + "'"); if (_DataRows != null && _DataRows.Count() > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_USERSATISFACTION); continue; } } //需更新的集合 _InsertList.Add(_USERSATISFACTION); } if (_InsertList.Count + _UpdateList.Count == _DataUserSatisfaction.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_USERSATISFACTION"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ADVERTFEEDBACK": #region HIGHWAY_EXCHANGE.T_ADVERTFEEDBACK 广告播放情况 _RequiredDatas = new string[] { "ADVERTFEEDBACK_ID", "ADVERTFEEDBACK_CODE", "STARTDATE" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataAdvertFeedback = JsonHelper.JSONStringToListUTC(jsonString); if (_DataAdvertFeedback != null && _DataAdvertFeedback.Count > 0) { var _MaxDate = _DataAdvertFeedback.Max(p => p.STARTDATE); if (_MaxDate == null || _MaxDate.Value == DateTime.Now) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_ADVERTFEEDBACK WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND STARTDATE BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.ADVERTFEEDBACK _ADVERTFEEDBACK in _DataAdvertFeedback) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select("ADVERTFEEDBACK_CODE = '" + _ADVERTFEEDBACK.ADVERTFEEDBACK_CODE + "'"); if (_DataRows != null && _DataRows.Count() > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_ADVERTFEEDBACK); continue; } } //需更新的集合 _InsertList.Add(_ADVERTFEEDBACK); } if (_InsertList.Count + _UpdateList.Count == _DataAdvertFeedback.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_ADVERTFEEDBACK"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_CUSTOMERINFO": #region HIGHWAY_EXCHANGE.T_CUSTOMERINFO 人脸识别信息表 //必填项 _RequiredDatas = new string[] { "SELLMASTER_CODE", "SERVERPARTCODE", "ACQUISITION_TIME" }; _ISCheckData = ISCheckData(jsonString, _RequiredDatas); if (_ISCheckData != null) { strBack = _ISCheckData; break; } List _DataCustomerinfo = JsonHelper.JSONStringToListUTC(jsonString); if (_DataCustomerinfo != null && _DataCustomerinfo.Count > 0) { var _MaxDate = _DataCustomerinfo.Max(p => p.ACQUISITION_TIME); if (_MaxDate == null || _MaxDate.Value == DateTime.Now) { _MaxDate = DateTime.Now; } //该服务区所有数据 DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_CUSTOMERINFO WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND ACQUISITION_TIME BETWEEN TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS')", codes[0], codes[1], codes[3], codes[4], _MaxDate.Value.ToString("yyyy/MM/dd HH:mm:ss"))).Tables[0]; List _InsertList = new List();//需插入的集合 List _UpdateList = new List();//需更新的集合 DataRow[] _DataRows = null; //临时DataRow数组 foreach (EXCHANGE.CUSTOMERINFO _CUSTOMERINFO in _DataCustomerinfo) { if (_DataTable != null && _DataTable.Rows.Count > 0) { _DataRows = _DataTable.Select(string.Format(@" SELLMASTER_CODE = '{0}' AND ACQUISITION_TIME = '{1}' AND SERVERPARTCODE = '{2}' AND SHOPCODE = '{3}' AND MACHINECODE = '{4}'", _CUSTOMERINFO.SELLMASTER_CODE, _CUSTOMERINFO.ACQUISITION_TIME.ToString(), _CUSTOMERINFO.SERVERPARTCODE, _CUSTOMERINFO.SHOPCODE, _CUSTOMERINFO.MACHINECODE)); if (_DataRows != null && _DataRows.Length > 0) { //记录已存在、需更新的数据 _UpdateList.Add(_CUSTOMERINFO); continue; } } //需更新的集合 _InsertList.Add(_CUSTOMERINFO); } if (_InsertList.Count + _UpdateList.Count == _DataCustomerinfo.Count) { if (_InsertList.Count > 0) { OperationDataHelper.InsertTableData_OracleParameter(_OracleHelper, _InsertList, "HIGHWAY_EXCHANGE.T_CUSTOMERINFO"); } strBack = "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":[]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:数据分割失败!\",\"rows\":[]}"; } } else { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } #endregion break; default: strBack = "{\"error\": -1 ,\"msg\": \"数据上传表类型不正确\",\"rows\":[]}"; break; } } catch (Exception ex) { strBack = "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.Message + "\",\"rows\":[]}"; } return strBack; } #endregion #endregion #region 数据下发 #region 方法 -> 数据下发 /// /// 数据下发 /// /// /// /// /// [WebMethod] public string DownloadTableData(string code, string tableName, string jsonString, string orderString = "") { //if (_IsDownload == "0") //{ // return "{\"error\": -1 ,\"msg\": \"下载接口已关闭!\",\"rows\":[]}"; //} bool IsCheck = true; try { IsCheck = _IsCheckAuth.ToDecrypt() == "0" ? false : true; } catch { try { IsCheck = _IsCheckAuth == "0" ? false : true; } catch { } } OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); OracleHelper _AuthorCode; try { _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3], _OracleHelperString.Split(',')[4]); } catch { _AuthorCode = new OracleHelper(_OracleHelperString.Split(',')[0], _OracleHelperString.Split(',')[1], _OracleHelperString.Split(',')[2], _OracleHelperString.Split(',')[3]); } if (!string.IsNullOrWhiteSpace(jsonString)) { try { JObject _JsonString = JObject.Parse(jsonString); if (_JsonString.Property("SERVERPARTCODE") == null || _JsonString.Property("SERVERPARTSHOP_ID") == null || _JsonString.Property("SHOPCODE") == null || _JsonString.Property("MACHINECODE") == null) { return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON参数解析异常!\",\"rows\":[]}"; } string _SERVERPARTCODE = _JsonString.Property("SERVERPARTCODE").Value.ToString(); //服务区编码 string _SHOPCODE = _JsonString.Property("SHOPCODE").Value.ToString(); //门店编码 string _SERVERPARTSHOP_ID = _JsonString.Property("SERVERPARTSHOP_ID").Value.ToString(); //门店ID string _MACADDRESS = _JsonString.Property("MACADDRESS").Value.ToString(); //Mac地址 string _MACHINECODE = _JsonString.Property("MACHINECODE").Value.ToString(); //收银机编码 //如果门店ID是空的,则从数据库直接读取对应门店的ID if (String.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID) && !String.IsNullOrWhiteSpace(_SERVERPARTCODE) && !String.IsNullOrWhiteSpace(_SHOPCODE)) { try { string _strSelect = String.Format( @"SELECT SERVERPARTSHOP_ID FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}'", _SERVERPARTCODE, _SHOPCODE); _SERVERPARTSHOP_ID = _OracleHelper.ExcuteSqlGetDataSet(_strSelect).Tables[0].Rows[0]["SERVERPARTSHOP_ID"].ToString(); } catch { } } string[] codes = null; if (tableName != "HIGHWAY_EXCHANGE.T_CONFIGURATION" && tableName != "HIGHWAY_EXCHANGE.T_ADVERTISING") { if (IsCheck) { //暂注释 codes = OperationDataHelper.IsCorrectCode(_AuthorCode, code); if (codes == null) { return "{\"error\": -1 ,\"msg\": \"授权码错误或已过期\",\"rows\":[]}"; } } if (string.IsNullOrWhiteSpace(_SERVERPARTCODE) || string.IsNullOrWhiteSpace(_SHOPCODE) || string.IsNullOrWhiteSpace(_SERVERPARTSHOP_ID)) { return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON缺少必要参数:" + "SERVERPARTCODE、SERVERPARTSHOP_ID \",\"rows\":[]}"; } else { if (IsCheck) { if (codes[0] != _SERVERPARTCODE || codes[3] != _MACADDRESS) { return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:非本设备授权码,禁止操作! \",\"rows\":[]}"; } } } } codes = new string[7]; codes[0] = _SERVERPARTCODE; codes[1] = _SHOPCODE; codes[2] = _SERVERPARTSHOP_ID; codes[3] = _MACHINECODE; codes[4] = _MACADDRESS; if (!string.IsNullOrWhiteSpace(orderString)) { JObject _OrderString = JObject.Parse(orderString); if (_OrderString.Property("TOTALNUMBER") != null && _OrderString.Property("TOTALNUMBER").Value.ToString() == "true") { //获取下发总数 return TotalCount(_OracleHelper, tableName, jsonString, codes); } else { try { if (_OrderString.Property("PAGE") != null) { //第几页 codes[5] = _OrderString.Property("PAGE").Value.ToString(); if (int.Parse(codes[5]) <= 0) { codes[5] = null; } } } catch { codes[5] = null; } try { if (_OrderString.Property("TABLENAME") != null) { //预下发表名 codes[6] = _OrderString.Property("TABLENAME").Value.ToString(); } } catch { codes[6] = null; } } } //获取下发数据 return DataGeneration(_OracleHelper, tableName, jsonString, codes); } catch { } } else { return "{\"error\": -1 ,\"msg\": \"获取数据分发失败:JSON参数解析异常!\",\"rows\":[]}"; } return "{\"error\": -1 ,\"msg\": \"获取数据上传失败:发生异常!\",\"rows\":[]}"; } /// /// 商品去重查询 /// /// 门店ID /// [WebMethod] public string CommodityDeduplication(string serverPartShop_id) { OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string _strSelect = string.Format("SELECT COMMODITYEX_ID FROM HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW A " + "WHERE NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX B " + "WHERE A.COMMODITYEX_ID = B.COMMODITYEX_ID) AND A.SERVERPARTSHOP_ID = {0}", serverPartShop_id); try { DataTable _CommodityTable = _OracleHelper.ExcuteSqlGetDataSet(_strSelect).Tables[0]; return JsonHelper.DataTableToJson(_CommodityTable); } catch { DataTable _DataTable = new DataTable(); _DataTable.Columns.Add("COMMODITYEX_ID", typeof(int)); return JsonHelper.DataTableToJson(_DataTable); } } #endregion #region 方法 -> 数据下发子项 (分页分发) private string DataGeneration(OracleHelper _OracleHelper, string tableName, string jsonString, string[] codes) { string strBack = string.Empty; string strIsServerPart = string.Empty; try { strIsServerPart = ConfigurationManager.AppSettings["IsServerPart"].ToString(); } catch { strIsServerPart = "1"; } int minimum = (string.IsNullOrWhiteSpace(codes[5]) ? 0 : (int.Parse(codes[5]) - 1)) * 100 * _MaxDataDownload; //默认分页启始值 int maximum = (string.IsNullOrWhiteSpace(codes[5]) ? 1 : int.Parse(codes[5])) * 100 * _MaxDataDownload; //默认分页结束值 DataSet _Data = null; try { switch (tableName) { case "HIGHWAY_EXCHANGE.T_DOWNUPDATE": #region HIGHWAY_EXCHANGE.T_DOWNUPDATE if (!string.IsNullOrWhiteSpace(codes[6])) { _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM HIGHWAY_EXCHANGE.T_DOWNUPDATE WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINE_MACADDRESS = '{2}' AND TABLENAME = '{3}'", codes[0], codes[1], codes[4], codes[6])); if (_Data != null && _Data.Tables[0].Rows.Count == 0) { DataRow _DataRow = _Data.Tables[0].NewRow(); _DataRow["DOWNUPDATE_ID"] = 1; _DataRow["SERVERPARTCODE"] = codes[0]; _DataRow["SHOPCODE"] = codes[1]; _DataRow["MACHINECODE"] = codes[3]; _DataRow["MACHINE_MACADDRESS"] = codes[4]; _DataRow["TABLENAME"] = codes[6]; _DataRow["VERSIONUPDATE_DATE"] = DateTime.Now; _Data.Tables[0].Rows.Add(_DataRow); } } else { strBack = "{\"error\": -1 ,\"msg\": \"缺少预下发表名\",\"rows\":[]}"; break; } if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ADVERTISING": #region HIGHWAY_EXCHANGE.T_ADVERTISING _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno,t.* FROM HIGHWAY_EXCHANGE.T_ADVERTISING t WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND ROWNUM <= {2}) table_alias WHERE table_alias.rowno > {3}", codes[0], codes[1], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_CONFIGURATION": #region HIGHWAY_EXCHANGE.T_CONFIGURATION _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_CONFIGURATION t WHERE MACADDRESS = '{0}' AND ROWNUM <= {1}) table_alias WHERE table_alias.rowno > {2} ", codes[4], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE": #region HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE t WHERE SERVERPARTCODE = '{0}' AND BUSINESSTYPE IN ( SELECT BUSINESSTYPE FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTSHOP_ID = {1} ) AND ROWNUM <= {2}) table_alias WHERE table_alias.rowno > {3} ", codes[0], codes[2], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYEX": #region HIGHWAY_EXCHANGE.T_COMMODITYEX _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT COMMODITYEX_ID, SERVERPARTCODE, COMMODITY_TYPE, COMMODITY_CODE, COMMODITY_BARCODE, COMMODITY_NAME, COMMODITY_RULE, COMMODITY_UNIT, COMMODITY_RETAILPRICE, COMMODITY_MEMBERPRICE, CANCHANGEPRICE, ISVALID, COMMODITY_EN, ISBULK, METERINGMETHOD, DOWNLOADDATE, FLAG, BUSINESSTYPE, SERVERPARTSHOP_ID, GUARANTEE_DAY, REMINDER_DAY, COMMODITY_SYMBOL, COMMODITY_HOTKEY, USERDEFINEDTYPE_ID,0 AS TRANSFER_STATE FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_COMMODITYEX t WHERE SERVERPARTCODE = '{0}' AND SERVERPARTSHOP_ID = {1} AND ROWNUM <= {2}) table_alias WHERE table_alias.rowno > {3} ", codes[0], codes[2], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ICCARDINFO": #region HIGHWAY_EXCHANGE.T_ICCARDINFO _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_ICCARDINFO t WHERE ROWNUM <= {0}) table_alias WHERE table_alias.rowno > {1}", maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_MEMBERSHIP": #region HIGHWAY_EXCHANGE.T_MEMBERSHIP _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_MEMBERSHIP t WHERE ROWNUM <= {0}) table_alias WHERE table_alias.rowno > {1}", maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SALESPROMOTE": #region HIGHWAY_EXCHANGE.T_SALESPROMOTE _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_SALESPROMOTE t WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND ROWNUM <= {2}) table_alias WHERE table_alias.rowno > {3}", codes[0], codes[1], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SHOPMESSAGE": #region HIGHWAY_EXCHANGE.T_SHOPMESSAGE _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno,t.SHOPMESSAGE_ID,t.SERVERPARTSHOP_ID, t.SERVERPART_CODE AS SERVERPARTCODE,t.SHOPCODE,t.SHOPNAME,t.BUSINESSTYPE, t.DOWNLOADDATE,t.FLAG,t.VALID FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE t WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}' AND ROWNUM <= {2}) table_alias WHERE table_alias.rowno > {3}", codes[0], codes[1], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SELLWORKER": //SHOPCODE = '{1}' #region HIGHWAY_EXCHANGE.T_SELLWORKER _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_SELLWORKER t WHERE SERVERPARTCODE = '{0}' {3} AND ROWNUM <= {1}) table_alias WHERE table_alias.rowno > {2}", codes[0], maximum, minimum, strIsServerPart == "0" ? string.Format(" AND SHOPCODE = '{0}'", codes[1]) : " ")); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_RECHARGERECORD.DOWN": #region HIGHWAY_EXCHANGE.T_RECHARGERECORD_DOWN _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_RECHARGERECORD t WHERE SERVERPARTCODE = '{0}' AND RECODE_TYPE IN (000,1010,2000,2010,3010) AND ROWNUM <= {1}) table_alias WHERE table_alias.rowno > {2}", codes[0], maximum, minimum)); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发成功\",\"rows\":" + JsonHelper.DataSetToJson(_Data) + "}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"暂无数据\",\"rows\":[]}"; } #endregion break; default: strBack = "{\"error\": -1 ,\"msg\": \"数据下发表类型不正确\",\"rows\":[]}"; break; } } catch (Exception ex) { strBack = "{\"error\": -1 ,\"msg\": \"获取数据分发失败:" + ex.Message + "\",\"rows\":[]}"; } return strBack; } #endregion #region 方法 -> 数据下发子项 (获取总数) private string TotalCount(OracleHelper _OracleHelper, string tableName, string jsonString, string[] codes) { string strBack = string.Empty; int numCount; int numPage; DataSet _Data = null; try { switch (tableName) { case "HIGHWAY_EXCHANGE.T_ADVERTISING": #region HIGHWAY_EXCHANGE.T_ADVERTISING _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT 1 FROM HIGHWAY_EXCHANGE.T_ADVERTISING WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}'", codes[0], codes[1])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_CONFIGURATION": #region HIGHWAY_EXCHANGE.T_CONFIGURATION _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT 1 FROM HIGHWAY_EXCHANGE.T_CONFIGURATION WHERE MACADDRESS = '{0}' ", codes[4])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE": #region HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE _Data = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT 1 FROM HIGHWAY_EXCHANGE.T_USERDEFINEDTYPE WHERE SERVERPARTCODE = '{0}' AND BUSINESSTYPE IN ( SELECT BUSINESSTYPE FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTSHOP_ID = {1} )", codes[0], codes[2])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_COMMODITYEX": #region HIGHWAY_EXCHANGE.T_COMMODITYEX _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( @"SELECT 1 FROM HIGHWAY_EXCHANGE.T_COMMODITYEX WHERE SERVERPARTCODE = '{0}' AND SERVERPARTSHOP_ID = {1}", codes[0], codes[2])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_ICCARDINFO": #region HIGHWAY_EXCHANGE.T_ICCARDINFO _Data = _OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_ICCARDINFO"); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_MEMBERSHIP": #region HIGHWAY_EXCHANGE.T_MEMBERSHIP _Data = _OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_MEMBERSHIP"); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SALESPROMOTE": #region HIGHWAY_EXCHANGE.T_SALESPROMOTE _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SALESPROMOTE WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' ", codes[0], codes[1])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SHOPMESSAGE": #region HIGHWAY_EXCHANGE.T_SHOPMESSAGE _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}'", codes[0], codes[1])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_SELLWORKER": #region HIGHWAY_EXCHANGE.T_SELLWORKER _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( "SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLWORKER WHERE SERVERPARTCODE = '{0}'", codes[0])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; case "HIGHWAY_EXCHANGE.T_RECHARGERECORD.DOWN": #region HIGHWAY_EXCHANGE.T_RECHARGERECORD_DOWN _Data = _OracleHelper.ExcuteSqlGetDataSet(string.Format( "SELECT 1 FROM HIGHWAY_EXCHANGE.T_RECHARGERECORD WHERE SERVERPARTCODE = '{0}' AND RECODE_TYPE IN (000,1010,2000,2010,3010)", codes[0])); if (_Data != null && _Data.Tables[0].Rows.Count > 0) { numCount = _Data.Tables[0].Rows.Count; numPage = (numCount % (100 * _MaxDataDownload) == 0 ? 0 : 1) + numCount / (100 * _MaxDataDownload); strBack = "{\"error\": 1 ,\"msg\": \"获取数据分发总数成功\",\"rows\":[{\"numcount\":" + numCount + ",\"numpage\":" + numPage + "}]}"; } else { strBack = "{\"error\": -1 ,\"msg\": \"分发总数暂无数据\",\"rows\":[]}"; } #endregion break; default: strBack = "{\"error\": -1 ,\"msg\": \"数据下发表类型不正确\",\"rows\":[]}"; break; } } catch (Exception ex) { strBack = "{\"error\": -1 ,\"msg\": \"获取数据分发总数失败:" + ex.Message + "\",\"rows\":[]}"; } return strBack; } #endregion #endregion #region 查询错误日志信息 [WebMethod] public string getTransferErrorList(string tableName, string jsonString) { try { JObject _JsonString = JObject.Parse(jsonString); if (_JsonString.Property("SERVERPARTCODE") == null || _JsonString.Property("SHOPCODE") == null || _JsonString.Property("MACHINECODE") == null) { return "{\"error\": -1 ,\"msg\": \"获取数据失败:JSON参数解析异常!\",\"rows\":[]}"; } string _SERVERPARTCODE = _JsonString.Property("SERVERPARTCODE").Value.ToString(); //服务区编码 string _SHOPCODE = _JsonString.Property("SHOPCODE").Value.ToString(); //门店编码 string _MACHINECODE = _JsonString.Property("MACHINECODE").Value.ToString(); //收银机编码 if (!string.IsNullOrWhiteSpace(tableName) && !string.IsNullOrWhiteSpace(_SERVERPARTCODE) && !string.IsNullOrWhiteSpace(_SHOPCODE) && !string.IsNullOrWhiteSpace(_MACHINECODE)) { OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); DataSet _DataSet = _OracleHelper.ExcuteSqlGetDataSet( string.Format(@"SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR t WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND TABLENAME = '{3}' AND ROWNUM <= 20 ORDER BY OPERATE_DATE DESC) table_alias WHERE table_alias.rowno > 0", _SERVERPARTCODE, _SHOPCODE, _MACHINECODE, tableName)); return JsonHelper.DataSetToJson(_DataSet); } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"获取数据失败:" + ex.ToString() + "\",\"rows\":[]}"; } return "{\"error\": -1 ,\"msg\": \"暂无数据!\",\"rows\":[]}"; } #endregion #region 方法 -> 检查必要参数 /// /// 检查必要参数 /// /// /// /// private string ISCheckData(string jsonString, string[] _RequiredDatas) { if (!string.IsNullOrEmpty(jsonString)) { JArray _JsonArray = JArray.Parse(jsonString); if (_JsonArray.Count > _MaxDataQuantity * 100) { return "{\"error\": -1 ,\"msg\": \"添加失败:json数据包不可超过400条数据\",\"rows\":[]}"; } for (int i = 0; i < _JsonArray.Count; i++) { JObject _Json = JObject.Parse(_JsonArray[i].ToString()); foreach (string _RequiredData in _RequiredDatas) { if ((_Json.Property(_RequiredData.ToUpper()) == null && _Json.Property(_RequiredData.ToLower()) == null) || (_Json.Property(_RequiredData.ToUpper()) != null && _Json.Property(_RequiredData.ToUpper()).Value.ToString() == "") || (_Json.Property(_RequiredData.ToLower()) != null && _Json.Property(_RequiredData.ToLower()).Value.ToString() == "")) { return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) + "组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[]}"; } } } return null; } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[]}"; } } #endregion #region 方法 -> 添加结账数据 /// /// 添加结账数据 /// /// /// [WebMethod] public string AddEndaccountData(string code, string jsonString) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code); if (codes == null) { WebService.SDK.LogHelper.WriteSendLog(code); return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}"; } try { //必填项 string[] _RequiredDatas = { "ENDACCOUNT_STARTDATE", "ENDACCOUNT_DATE", "TOTALCOUNT", "TOTALSELLAMOUNT", "CASHPAY" }; if (!string.IsNullOrEmpty(jsonString)) { JArray _JsonArray = JArray.Parse(jsonString); for (int i = 0; i < _JsonArray.Count; i++) { JObject _Json = JObject.Parse(_JsonArray[i].ToString()); foreach (string _RequiredData in _RequiredDatas) { if (_Json.Property(_RequiredData.ToUpper()) == null && _Json.Property(_RequiredData.ToLower()) == null) { return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) + "组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}"; } } } } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } List _Data = JsonHelper.JSONStringToList(jsonString); if (_Data != null && _Data.Count > 0) { foreach (HIGHWAY.ENDACCOUNT _ENDACCOUNT in _Data) { _ENDACCOUNT.SERVERPART_CODE = codes[0]; _ENDACCOUNT.SHOPCODE = codes[1]; OperationDataHelper.InsertTableData(_OracleHelper, _ENDACCOUNT, "HIGHWAY_EXCHANGE.T_ENDACCOUNT", "ENDACCOUNT_ID", "HIGHWAY_EXCHANGE.SEQ_ENDACCOUNT.NEXTVAL"); } return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" + JsonHelper.ListToJson(_Data, "rows", false) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}"; } } #endregion #region 方法 -> 添加单品报表 /// /// 添加COMMODITYSALE表 /// /// /// [WebMethod] public string AddCommoditysaleData(string code, string jsonString) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code); if (codes == null) { WebService.SDK.LogHelper.WriteSendLog(code); return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}"; } try { //必填项 string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "COMMODITY_CODE", "TOTALCOUNT", "TOTALSELLAMOUNT" }; if (!string.IsNullOrEmpty(jsonString)) { JArray _JsonArray = JArray.Parse(jsonString); for (int i = 0; i < _JsonArray.Count; i++) { JObject _Json = JObject.Parse(_JsonArray[i].ToString()); foreach (string _RequiredData in _RequiredDatas) { if (_Json.Property(_RequiredData.ToUpper()) == null && _Json.Property(_RequiredData.ToLower()) == null) { return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) + "组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}"; } } } } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } List _Data = JsonHelper.JSONStringToList(jsonString); if (_Data != null && _Data.Count > 0) { foreach (HIGHWAY.COMMODITYSALE _COMMODITYSALE in _Data) { _COMMODITYSALE.SERVERPARTCODE = codes[0]; _COMMODITYSALE.SHOPCODE = codes[1]; OperationDataHelper.InsertTableData(_OracleHelper, _COMMODITYSALE, "HIGHWAY_EXCHANGE.T_COMMODITYSALE", "COMMODITYSALE_ID", "HIGHWAY_EXCHANGE.SEQ_COMMODITYSALE.NEXTVAL"); } return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" + JsonHelper.ListToJson(_Data, "rows", false) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}"; } } #endregion #region 方法 -> 添加收银员报表 /// /// 添加收银员报表 /// /// /// [WebMethod] public string AddPersonsellData(string code, string jsonString) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code); if (codes == null) { WebService.SDK.LogHelper.WriteSendLog(code); return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}"; } try { //必填项 string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "TOTALCOUNT", "TOTALSELLAMOUNT", "CASHPAY" }; if (!string.IsNullOrEmpty(jsonString)) { JArray _JsonArray = JArray.Parse(jsonString); for (int i = 0; i < _JsonArray.Count; i++) { JObject _Json = JObject.Parse(_JsonArray[i].ToString()); foreach (string _RequiredData in _RequiredDatas) { if (_Json.Property(_RequiredData.ToUpper()) == null && _Json.Property(_RequiredData.ToLower()) == null) { return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) + "组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}"; } } } } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } List _Data = JsonHelper.JSONStringToList(jsonString); if (_Data != null && _Data.Count > 0) { foreach (HIGHWAY.PERSONSELL _PERSONSELL in _Data) { _PERSONSELL.SERVERPARTCODE = codes[0]; _PERSONSELL.SHOPCODE = codes[1]; OperationDataHelper.InsertTableData(_OracleHelper, _PERSONSELL, "HIGHWAY_EXCHANGE.T_PERSONSELL", "PERSONSELL_ID", "HIGHWAY_EXCHANGE.SEQ_PERSONSELL.NEXTVAL"); } return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" + JsonHelper.ListToJson(_Data, "rows", false) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}"; } } #endregion #region 方法 -> 添加销售流水集合 /// /// 添加收银员报表 /// /// /// [WebMethod] public string AddTransfer_selldata(string code, string jsonString) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString); string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code); if (codes == null) { //WebService.SDK.LogHelper.WriteSendLog(code); return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}"; } try { //必填项 string[] _RequiredDatas = { "SELLDATA_DATE", "TICKETCODE", "SELLCOUNT", "OFFPRICE", "FACTAMOUNT","TRANSFER_FIRSTDATAS" }; if (!string.IsNullOrEmpty(jsonString)) { JArray _JsonArray = JArray.Parse(jsonString); for (int i = 0; i < _JsonArray.Count; i++) { JObject _Json = JObject.Parse(_JsonArray[i].ToString()); foreach (string _RequiredData in _RequiredDatas) { if (_Json.Property(_RequiredData.ToUpper()) == null && _Json.Property(_RequiredData.ToLower()) == null) { return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) + "组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}"; } } } } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } List _Data = JsonHelper.JSONStringToList(jsonString); if (_Data != null && _Data.Count > 0) { foreach (HIGHWAY.TRANSFER_SELLDATA _TRANSFER_SELLDATA in _Data) { _TRANSFER_SELLDATA.SERVERPARTCODE = codes[0]; _TRANSFER_SELLDATA.SHOPCODE = codes[1]; OperationDataHelper.InsertTableData(_OracleHelper, _TRANSFER_SELLDATA, "HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA", "TRANSFER_ID", "HIGHWAY_EXCHANGE.SEQ_TRANSFER_SELLDATA.NEXTVAL"); } return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" + JsonHelper.ListToJson(_Data, "rows", false) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}"; } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}"; } } #endregion #region 方法 -> 获取指令 [WebMethod] public string GetCommand(string server_code) { try { if (!string.IsNullOrEmpty(server_code)) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string _SqlString = string.Format(@"SELECT * FROM HIGHWAY_EXCHANGE.T_COMMAND WHERE SERVER_CODE = '{0}' AND NVL(COMMAND_STATE,0) = 0 ", server_code); DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(_SqlString).Tables[0]; if (_DataTable != null && _DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"指令获取成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"暂无指令!\",\"rows\":\"\"}"; } } } catch { } return "{\"error\": -1 ,\"msg\": \"指令获取失败!\",\"rows\":\"\"}"; } #endregion #region 方法 -> 获取服务器密码 /// /// 获取收银机密码 /// /// [WebMethod] public string GetServerInfo(string server_code, string server_name) { try { if (!string.IsNullOrEmpty(server_code) && !string.IsNullOrEmpty(server_name)) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string _SqlString = string.Format(@"SELECT SERVER_USERNAME,SERVER_PASSWORD FROM HIGHWAY_EXCHANGE.T_SERVERBASEINFO WHERE SERVER_CODE = '{0}' AND SERVER_USERNAME = '{1}'", server_code, server_name); DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(_SqlString).Tables[0]; if (_DataTable != null && _DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"获取成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": -1 ,\"msg\": \"暂无数据!\",\"rows\":\"\"}"; } } } catch { } return "{\"error\": -1 ,\"msg\": \"获取失败!\",\"rows\":\"\"}"; } #endregion #region 方法 -> 更新操作命令状态 /// /// 获取收银机密码 /// /// [WebMethod] public string UpdateCommand(string servercode, string comid, string backinfo, string backstate, string backdate) { try { if (!string.IsNullOrEmpty(servercode) && !string.IsNullOrEmpty(comid) && !string.IsNullOrEmpty(backstate) && !string.IsNullOrEmpty(backdate)) { OracleHelper _OracleHelper = new OracleHelper( _OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); string _SqlString = string.Format(@"UPDATE HIGHWAY_EXCHANGE.T_COMMAND SET FEEDBACK_STATE = {0},FEEDBACK_DATE = {1} {2} WHERE COMMAND_ID = {3} AND SERVER_CODE = '{4}' ", backstate, "TO_DATE('" + backdate + "','YYYY/MM/DD HH24:MI:SS')", string.IsNullOrEmpty(backinfo) ? "" : " AND FEEDBACK_INFO = '" + backinfo + "'", comid, servercode); _OracleHelper.ExcuteSql(_SqlString); return "{\"error\": 1 ,\"msg\": \"更新成功!\",\"rows\":\"\"}"; } } catch { } return "{\"error\": -1 ,\"msg\": \" 更新失败!\",\"rows\":\"\"}"; } #endregion #region 方法 -> 查询数据 /// /// 查询数据 /// /// /// [WebMethod] public string SearchData(string code, string DataType, string MachineCode, string StartDate, string EndDate) { OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); DataTable _DataTable = new DataTable(); string SqlString = ""; string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code); if (codes == null) { return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}"; } try { //必填项 if (!string.IsNullOrEmpty(DataType)) { switch (DataType) { case "Endaccount": #region 结账数据 if (!string.IsNullOrEmpty(MachineCode)) { SqlString += " AND MACHINECODE = '" + MachineCode + "'"; } if (!string.IsNullOrEmpty(StartDate)) { SqlString += " AND ENDACCOUNT_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')"; } if (!string.IsNullOrEmpty(EndDate)) { SqlString += " AND ENDACCOUNT_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')"; } _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code, SERVERPARTCODE,SHOPCODE,MACHINECODE,ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE, ENDPERSONCODE,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT, CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3} ORDER BY ENDACCOUNT_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE", code, codes[0], codes[1], SqlString)).Tables[0]; if (_DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}"; } #endregion case "Personsell": #region 收银员报表 if (!string.IsNullOrEmpty(MachineCode)) { SqlString += " AND MACHINECODE = '" + MachineCode + "'"; } if (!string.IsNullOrEmpty(StartDate)) { SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')"; } if (!string.IsNullOrEmpty(EndDate)) { SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')"; } _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code, SERVERPARTCODE,SHOPCODE,MACHINECODE,STARTDATE,ENDDATE,CASHWORKER_CODE, TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT, CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY FROM HIGHWAY_EXCHANGE.T_PERSONSELL_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3} ORDER BY ENDDATE,SERVERPARTCODE,SHOPCODE,MACHINECODE", code, codes[0], codes[1], SqlString)).Tables[0]; if (_DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}"; } #endregion case "Commoditysale": #region 单品报表 if (!string.IsNullOrEmpty(StartDate)) { SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')"; } if (!string.IsNullOrEmpty(EndDate)) { SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')"; } _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code, SERVERPARTCODE,SHOPCODE,STARTDATE,ENDDATE,COMMODITY_TYPE,COMMODITY_CODE, COMMODITY_NAME,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3} ORDER BY SERVERPARTCODE,SHOPCODE,ENDDATE", code, codes[0], codes[1], SqlString)).Tables[0]; if (_DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}"; } #endregion case "Transfer_sell": #region 销售流水 if (!string.IsNullOrEmpty(MachineCode)) { SqlString += " AND MACHINECODE = '" + MachineCode + "'"; } if (!string.IsNullOrEmpty(StartDate)) { SqlString += " AND SELLDATA_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')"; } if (!string.IsNullOrEmpty(EndDate)) { SqlString += " AND SELLDATA_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')"; } _DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code, SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE,TICKETCODE,WORKERCODE, SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS, TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3} ORDER BY SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE", code, codes[0], codes[1], SqlString)).Tables[0]; if (_DataTable.Rows.Count > 0) { return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) + "}"; } else { return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}"; } #endregion default: return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}"; } } else { return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}"; } } catch (Exception ex) { return "{\"error\": -1 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}"; } } #endregion #region 方法 ->获取门店移动支付通道配置 /// /// 获取门店移动支付通道配置 /// /// 服务区编码 /// 业态编码 /// [WebMethod] public string MobilePayConfig(string serverPartCode, string businessType) { try { WebService.SDK.OracleHelper _OracleHelper = new WebService.SDK.OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]); return WebService.SDK.PayCommon.MobilePayConfig.ShopPaymentConfig(_OracleHelper, serverPartCode, businessType); } catch (Exception ex) { return ex.Message; } } #endregion } }