using System;
using System.Configuration;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Text;
using System.Net;
using System.IO;
using System.Web;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using NJ = Newtonsoft.Json;
using NJL = Newtonsoft.Json.Linq;
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
using SuperMap.RealEstate.ExchangeData.Business;
using SuperMap.RealEstate.MemberShip.Storage.Business;
using SRSSB = SuperMap.RealEstate.Seller.Storage.Business;
using SRHSB = SuperMap.RealEstate.HighWay.SellData.Business;
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
using Model = SuperMap.RealEstate.HighWay.Storage.Model;
using HZQR.Common;
using QRWL.Common;
namespace SuperMap.RealEstate.HighWay.Handler
{
///
/// handler_ajax 的摘要说明
///
public class handler_ajax : IHttpHandler
{
//AppID(应用ID)
public const string AppID = "wx85e69a5fb601be16";
//AppSecret(应用密钥)
public const string AppSecret = "dfcf7748e6c7027695cbec8ffedc04dc";
public const string charSet = "1,2,3,4,5,6,7,8,9";
protected string _serverpart_id = ConfigurationManager.AppSettings["UmiformCommodity"].ToString().Split('|')[0];
protected string _PROVINCE_CODE = ConfigurationManager.AppSettings["UmiformCommodity"].ToString().Split('|')[2];
protected string _CigaretteType = ConfigurationManager.AppSettings["CigaretteType"].ToString().Split('|')[0];
protected string _UrlAddress = ConfigurationManager.AppSettings["UrlAddress"].ToString();
protected string _FilePath = ConfigurationManager.AppSettings["FilePath"].ToString();
protected string _CopyPath = ConfigurationManager.AppSettings["CopyPath"].ToString();
public void ProcessRequest(HttpContext context)
{
DataTable _DataTable = null;
DataTable _DataTablePoint = null;
ServiceModel.Transaction _Transaction = new ServiceModel.Transaction();
string action_type = HttpContext.Current.Request.Form["action_type"];
string action_data = HttpContext.Current.Request.Form["action_data"];
string action_record = "";
List _ListServerPartObject = null;
string reString = string.Empty;
string StrSql = string.Empty;
List _ListTreeItem = null;
if (string.IsNullOrEmpty(action_type))
{
action_type = HttpContext.Current.Request.Params["action_type"];
action_data = HttpContext.Current.Request.Params["action_data"];
}
//耗时监听
Stopwatch sw = new Stopwatch();
sw.Start();
try
{
switch (action_type)
{
case "getServerPart":
reString = getServerPart(action_data);
break;
//获得对应的子类
case "getServerPartTypeByCode":
action_record = HttpContext.Current.Request.Form["action_record"];
reString = getServerPartTypeByCode(action_data, _Transaction, action_record);
break;
case "getServerPartByType":
reString = getServerPartByType(action_data, _Transaction);
break;
case "getServerPartByName":
reString = getServerPartByName(action_data, _Transaction);
break;
#region 获得服务区名称
case "getServerPartName":
try
{
bool HasFlag = false;
string ProwerString = "";
action_data = action_data.Replace("|", ",");
_ListServerPartObject = new List();
_ListTreeItem = new List();
foreach (FieldEnum _FieldEnum in (new FieldEnum(_Transaction)).FillCollection(
"where FieldEnum_Value in(" + action_data + ")"))
{
ProwerString += ProwerString == "" ? _FieldEnum.FieldEnum_ID.ToString() : "," + _FieldEnum.FieldEnum_ID;
}
foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(_Transaction)).FillCollection(
"where FieldEnum_ID in(" + ProwerString + ") order by SERVERPART_INDEX,SERVERPART_CODE"))
{
TreeItem _TreeItem = new TreeItem();
_TreeItem.id = _SERVERPART.SERVERPART_ID_Encrypt;
_TreeItem.pid = "0";
_TreeItem.open = false;
_TreeItem.name = _SERVERPART.SERVERPART_NAME;
_TreeItem.tag = _SERVERPART.SERVERPART_X.ToString() + "|" + _SERVERPART.SERVERPART_Y.ToString();
_TreeItem.icon = "/HighWay/Resources/v1_0/TreeView/css/zTreeStyle/img/diy/car.png";
if (_SERVERPART.SERVERPART_X == null)
continue;
if (_SERVERPART.SERVERPART_NAME == "高速驿网")
{
HasFlag = true;
}
_ListTreeItem.Add(_TreeItem);
}
if (!HasFlag)
{
//添加高速驿网
Business.SERVERPART _SERVERPART = new Business.SERVERPART(_Transaction);
_SERVERPART.AddSearchParameter("SERVERPART_CODE", "330001");
if (_SERVERPART.Search())
{
TreeItem _TreeItem = new TreeItem();
_TreeItem.id = _SERVERPART.SERVERPART_ID_Encrypt;
_TreeItem.pid = "0";
_TreeItem.open = false;
_TreeItem.name = _SERVERPART.SERVERPART_NAME;
_TreeItem.icon = "/HighWay/Resources/v1_0/TreeView/css/zTreeStyle/img/diy/car.png";
_TreeItem.tag = _SERVERPART.SERVERPART_X.ToString() + "|" + _SERVERPART.SERVERPART_Y.ToString();
_ListTreeItem.Add(_TreeItem);
}
}
reString = JsonHelper.ListToJson(_ListTreeItem, "TreeItem");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获得销售数据
case "getSellDataObject":
try
{
List _ListSellDataObject = new List();
StrSql = "SELECT * FROM (SELECT COMMODITY_NAME,SELLCOUNT,SELLPRICE,FACTAMOUNT,SELLDATA_DATE " +
"FROM HIGHWAY_SELLDATA.T_SELLDATA WHERE SERVERPART_ID = " + action_data.ToDecrypt() +
" ORDER BY SELLDATA_DATE DESC) WHERE ROWNUM < 20 ";
DataTable dt = (new Business.COMMODITY(_Transaction)).ExecuteDataTable(StrSql);
foreach (DataRow _DataRow in dt.Rows)
{
SellDataObject _SellDataObject = new SellDataObject();
_SellDataObject.name = _DataRow["COMMODITY_NAME"].ToString();
_SellDataObject.price = _DataRow["SELLPRICE"].ToString();
_SellDataObject.commoditycount = _DataRow["SELLCOUNT"].ToString();
_SellDataObject.totalprice = _DataRow["FACTAMOUNT"].ToString();
_SellDataObject.selltime = DateTime.Parse(_DataRow["SELLDATA_DATE"].ToString()).ToLongTimeString();
//if (DateTime.Parse(dt.Rows[0]["SELLDATA_DATE"].ToString()) < DateTime.Now.AddMinutes(-20))
//{
// _SellDataObject.selltime = DateTime.Parse(_DataRow["SELLDATA_DATE"].ToString()).AddMinutes(
// (DateTime.Now - DateTime.Parse(dt.Rows[0]["SELLDATA_DATE"].ToString())).TotalMinutes).ToLongTimeString();
//}
_ListSellDataObject.Add(_SellDataObject);
}
reString = JsonHelper.ListToJson(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取实时销售信息
case "GetCurSellData":
try
{
List _ListSellDataObject = new List();
StrSql = "SELECT * FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE SERVERPART_ID = " + action_data.ToDecrypt() +
" AND CONTENT LIKE '%|%|%|%' ORDER BY CONNECT_DATE DESC";
DataTable dt = (new Business.COMMODITY(_Transaction)).ExecuteDataTable(StrSql);
foreach (DataRow _DataRow in dt.Rows)
{
if (_DataRow["CONTENT"].ToString().Split('|').Length == 5)
{
//解析对应的商品 1.最后销售日期 + 销售时间 + 销售商品 + 销售金额 + 版本号
//商品 + 销售时间 + 金额
string SellString = "";
// 7 最后销售商品
string CodeString = "";
//foreach (string str in _DataRow["CONTENT"].ToString().Split('|')[2].Split(','))
//{
// CodeString += (CodeString == "" ? "" : ",") + "'" + str + "'";
//}
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ")"))
{
if (SellString.Length > 20)
{
SellString = SellString.Substring(0, 20) + "...";
break;
}
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME;
}
// 9 最后销售金额
reString = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
SellDataObject _SellDataObject = new SellDataObject();
_SellDataObject.name = reString;
_SellDataObject.selltime = _DataRow["CONNECT_DATE"].ToString();
_ListSellDataObject.Add(_SellDataObject);
break;
}
else if (_DataRow["CONTENT"].ToString().Split('|').Length == 6)
{
string SellString = "";
// 7 最后销售商品
string CodeString = "";
//foreach (string str in _DataRow["CONTENT"].ToString().Split('|')[2].Split(','))
//{
// CodeString += (CodeString == "" ? "" : ",") + "'" + str + "'";
//}
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
int i = 0;
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ")"))
{
if (SellString.Length > 20)
{
SellString = SellString.Substring(0, 20) + "...";
break;
}
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME +
_DataRow["CONTENT"].ToString().Split('|')[4].Split(',')[i];
i++;
}
// 9 最后销售金额
reString = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
SellDataObject _SellDataObject = new SellDataObject();
_SellDataObject.name = reString;
_SellDataObject.selltime = _DataRow["CONNECT_DATE"].ToString();
_ListSellDataObject.Add(_SellDataObject);
break;
}
}
reString = JsonHelper.ListToJson(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurTotalSellData":
try
{
List _ListSellDataObject = new List();
StrSql = @"SELECT * FROM(SELECT SERVERPART_ID,SERVERPART_NAME,CONNECT_DATE,SHOPNAME,SHOPCODE,CONTENT,
PROVINCE_CODE,ROW_NUMBER()OVER(PARTITION BY SERVERPART_ID ORDER BY CONNECT_DATE DESC)COLNUM
FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE CONTENT LIKE '%|%|%|%') WHERE COLNUM = 1";
DataTable dt = (new Business.COMMODITY(_Transaction)).ExecuteDataTable(StrSql);
foreach (DataRow _DataRow in dt.Rows)
{
if (_DataRow["CONTENT"].ToString().Split('|').Length == 5)
{
//解析对应的商品 1.最后销售日期 + 销售时间 + 销售商品 + 销售金额 + 版本号
string SellString = "";
// 7 最后销售商品
//string CodeString = "";
//CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN('" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") +
"' AND PROVINCE_CODE = '" + _DataRow["PROVINCE_CODE"].ToString() + "')"))
{
if (SellString.Length > 20)
{
SellString = SellString + "...";
break;
}
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME;
}
// 9 最后销售金额
reString = "当前交易:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
SellDataObject _SellDataObject = new SellDataObject();
_SellDataObject.name = _DataRow["SERVERPART_ID"].ToEncrypt();
_SellDataObject.totalprice = reString;
_SellDataObject.selltime = _DataRow["CONNECT_DATE"].ToString();
_ListSellDataObject.Add(_SellDataObject);
}
else if (_DataRow["CONTENT"].ToString().Split('|').Length == 6)
{
string SellString = "";
// 7 最后销售商品
string CodeString = "";
//CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
//int i = 0;
//foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
// "WHERE COMMODITY_CODE IN('" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "')"))
//{
// if (SellString.Length > 20)
// {
// SellString = SellString + "...";
// break;
// }
// CodeString = _DataRow["CONTENT"].ToString().Split('|')[4].Split(',')[i];
// SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME +
// "(" + double.Parse(CodeString.Split('*')[0].Split('(')[1]) + "*" +
// double.Parse(CodeString.Split('*')[1].Split(')')[0]) + ")";
// i++;
//}
CodeString = _DataRow["CONTENT"].ToString().Split('|')[2];
for (int i = 0; i < CodeString.Split(',').Length; i++)
{
if (SellString.Length > 20)
{
SellString = SellString + "...";
break;
}
Business.COMMODITY _COMMODITY = new Business.COMMODITY(_Transaction);
_COMMODITY.AddSearchParameter("COMMODITY_CODE", CodeString.Split(',')[i]);
_COMMODITY.AddSearchParameter("PROVINCE_CODE", _DataRow["PROVINCE_CODE"].ToString());
if (_COMMODITY.Search())
{
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME +
"(" + _DataRow["CONTENT"].ToString().Split('|')[4].Split(',')[i] + ")";
}
}
// 9 最后销售金额
reString = "当前交易:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
SellDataObject _SellDataObject = new SellDataObject();
_SellDataObject.ServerpartName = _DataRow["SERVERPART_NAME"].ToString();
_SellDataObject.price = _DataRow["CONTENT"].ToString().Split('|')[3];
_SellDataObject.name = _DataRow["SERVERPART_ID"].ToEncrypt();
_SellDataObject.totalprice = reString;
_SellDataObject.selltime = _DataRow["CONNECT_DATE"].ToString();
_ListSellDataObject.Add(_SellDataObject);
}
}
reString = JsonHelper.ListToJson(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取实时稽核信息
case "GetCurCheckInfo":
try
{
List _ListCheckInfoObject = new List();
StrSql = "SELECT * FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE SERVERPARTSHOP_ID = " + action_data +
" AND CONTENT LIKE '%|%|%|%' ORDER BY CONNECT_DATE DESC";
_DataTable = (new CONFIGURATION(_Transaction)).ExecuteDataTable(StrSql);
foreach (DataRow _DataRow in _DataTable.Rows)
{
if (_DataRow["CONTENT"].ToString().Split('|').Length == 5)
{
CheckInfoObject _CheckInfoObject = new CheckInfoObject();
_CheckInfoObject.SHOPNAME = _DataRow["SHOPNAME"].ToString();
_CheckInfoObject.CURRCOMMCOUNT = _DataRow["CURRCOMMCOUNT"].ToString();
_CheckInfoObject.CONNECT_DATE = _DataRow["CONNECT_DATE"].ToString();
_CheckInfoObject.CURRAMOUNT = _DataRow["CURRAMOUNT"].ToString();
_CheckInfoObject.CURRSELLCOUNT = _DataRow["CURRSELLCOUNT"].ToString();
_CheckInfoObject.CURRPRESON = _DataRow["CURRPRESON"].ToString();
_CheckInfoObject.MACHINENAME = _DataRow["MACHINENAME"].ToString();
_CheckInfoObject.CONNECT_IP = _DataRow["CONNECT_IP"].ToString();
//_CheckInfoObject.CONTENT = _DataRow["CONTENT"].ToString();
//解析对应的商品 1.最后销售日期 + 销售时间 + 销售商品 + 销售金额 + 版本号
//商品 + 销售时间 + 金额
string SellString = "";
// 7 最后销售商品
string CodeString = "";
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ") AND PROVINCE_CODE = " + _DataRow["PROVINCE_CODE"].ToString()))
{
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME;
}
// 9 最后销售金额
_CheckInfoObject.CONTENT = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
_CheckInfoObject.VERSION_NUMBER = _DataRow["CONTENT"].ToString().Split('|')[4];
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
_ListCheckInfoObject.Add(_CheckInfoObject);
//break;
}
else if (_DataRow["CONTENT"].ToString().Split('|').Length == 6)
{
string SellString = "";
// 7 最后销售商品
string CodeString = "";
CheckInfoObject _CheckInfoObject = new CheckInfoObject();
_CheckInfoObject.SHOPNAME = _DataRow["SHOPNAME"].ToString();
_CheckInfoObject.CURRCOMMCOUNT = _DataRow["CURRCOMMCOUNT"].ToString();
_CheckInfoObject.CONNECT_DATE = _DataRow["CONNECT_DATE"].ToString();
_CheckInfoObject.CURRAMOUNT = _DataRow["CURRAMOUNT"].ToString();
_CheckInfoObject.CURRSELLCOUNT = _DataRow["CURRSELLCOUNT"].ToString();
_CheckInfoObject.CURRPRESON = _DataRow["CURRPRESON"].ToString();
_CheckInfoObject.MACHINENAME = _DataRow["MACHINENAME"].ToString();
_CheckInfoObject.CONNECT_IP = _DataRow["CONNECT_IP"].ToString();
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
int i = 0;
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ") AND PROVINCE_CODE = " + _DataRow["PROVINCE_CODE"].ToString()))
{
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME +
_DataRow["CONTENT"].ToString().Split('|')[4].Split(',')[i];
i++;
}
// 9 最后销售金额
_CheckInfoObject.CONTENT = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
_CheckInfoObject.VERSION_NUMBER = _DataRow["CONTENT"].ToString().Split('|')[5];
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
_ListCheckInfoObject.Add(_CheckInfoObject);
//break;
}
}
reString = JsonHelper.ListToJson(_ListCheckInfoObject, "CheckInfoObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurCheckInfoByServerpart":
try
{
List _ListCheckInfoObject = new List();
StrSql = "SELECT * FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE SERVERPART_ID = " + action_data +
" AND CONTENT LIKE '%|%|%|%' ORDER BY CONNECT_DATE DESC";
_DataTable = (new CONFIGURATION(_Transaction)).ExecuteDataTable(StrSql);
foreach (DataRow _DataRow in _DataTable.Rows)
{
if (_DataRow["CONTENT"].ToString().Split('|').Length == 5)
{
CheckInfoObject _CheckInfoObject = new CheckInfoObject();
_CheckInfoObject.SHOPNAME = _DataRow["SHOPNAME"].ToString();
_CheckInfoObject.CURRCOMMCOUNT = _DataRow["CURRCOMMCOUNT"].ToString();
_CheckInfoObject.CONNECT_DATE = _DataRow["CONNECT_DATE"].ToString();
_CheckInfoObject.CURRAMOUNT = _DataRow["CURRAMOUNT"].ToString();
_CheckInfoObject.CURRSELLCOUNT = _DataRow["CURRSELLCOUNT"].ToString();
_CheckInfoObject.CURRPRESON = _DataRow["CURRPRESON"].ToString();
_CheckInfoObject.MACHINENAME = _DataRow["MACHINENAME"].ToString();
_CheckInfoObject.CONNECT_IP = _DataRow["CONNECT_IP"].ToString();
//_CheckInfoObject.CONTENT = _DataRow["CONTENT"].ToString();
//解析对应的商品 1.最后销售日期 + 销售时间 + 销售商品 + 销售金额 + 版本号
//商品 + 销售时间 + 金额
string SellString = "";
// 7 最后销售商品
string CodeString = "";
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ") AND PROVINCE_CODE = " + _DataRow["PROVINCE_CODE"].ToString()))
{
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME;
}
// 9 最后销售金额
_CheckInfoObject.CONTENT = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
_CheckInfoObject.VERSION_NUMBER = _DataRow["CONTENT"].ToString().Split('|')[4];
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
_ListCheckInfoObject.Add(_CheckInfoObject);
}
else if (_DataRow["CONTENT"].ToString().Split('|').Length == 6)
{
string SellString = "";
// 7 最后销售商品
string CodeString = "";
CheckInfoObject _CheckInfoObject = new CheckInfoObject();
_CheckInfoObject.SHOPNAME = _DataRow["SHOPNAME"].ToString();
_CheckInfoObject.CURRCOMMCOUNT = _DataRow["CURRCOMMCOUNT"].ToString();
_CheckInfoObject.CONNECT_DATE = _DataRow["CONNECT_DATE"].ToString();
_CheckInfoObject.CURRAMOUNT = _DataRow["CURRAMOUNT"].ToString();
_CheckInfoObject.CURRSELLCOUNT = _DataRow["CURRSELLCOUNT"].ToString();
_CheckInfoObject.CURRPRESON = _DataRow["CURRPRESON"].ToString();
_CheckInfoObject.MACHINENAME = _DataRow["MACHINENAME"].ToString();
_CheckInfoObject.CONNECT_IP = _DataRow["CONNECT_IP"].ToString();
CodeString = "'" + _DataRow["CONTENT"].ToString().Split('|')[2].Replace(",", "','") + "'";
int i = 0;
foreach (Business.COMMODITY _COMMODITY in new Business.COMMODITY(_Transaction).FillCollection(
"WHERE COMMODITY_CODE IN(" + CodeString + ") AND PROVINCE_CODE = " + _DataRow["PROVINCE_CODE"].ToString()))
{
SellString += (SellString == "" ? "" : ",") + _COMMODITY.COMMODITY_NAME +
_DataRow["CONTENT"].ToString().Split('|')[4].Split(',')[i];
i++;
}
// 9 最后销售金额
_CheckInfoObject.CONTENT = "金额:" + _DataRow["CONTENT"].ToString().Split('|')[3] + "元," + SellString;
_CheckInfoObject.VERSION_NUMBER = _DataRow["CONTENT"].ToString().Split('|')[5];
// 8 最后销售时间
//reString += _DataRow["CONTENT"].ToString().Split('|')[1].Split(' ')[1] + ",";
//reString += (SellString.Length > 20 ? SellString.Substring(0, 20) + "..." : SellString);
_ListCheckInfoObject.Add(_CheckInfoObject);
}
}
reString = JsonHelper.ListToJson(_ListCheckInfoObject, "CheckInfoObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取服务区信息
case "getTotalServerPart":
try
{
List _SERVERPARTList = new List();
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(_Transaction).FillCollection(
@"WHERE SERVERPART_ID IN (SELECT SERVERPART_ID FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP WHERE ISVALID = 1)
ORDER BY SERVERPART_INDEX,SERVERPART_CODE"))
{
_SERVERPART.SERVERPART_DESC = null;
_SERVERPART.SERVERPART_INFO = null;
_SERVERPARTList.Add(_SERVERPART);
}
reString = JsonHelper.ListToJson(_SERVERPARTList, "SERVERPARTObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getTotalServerPartWidthRegion":
try
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(@"SELECT REGION_ID,
TYPE_NAME,SERVERPART_ID,SERVERPART_NAME,SERVERPART_ADDRESS,SERVERPART_INDEX,
SERVERPART_CODE,PROVINCE_CODE,REGIONTYPE_ID,STATISTIC_TYPE,SERVERPARTTYPE_ID
FROM HIGHWAY_STORAGE.V_REGIONSERVERPART"));
reString = JsonHelper.DataTableToJson(_DataTable, "ServerPartRegion");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取门店信息
case "getServerPartShop":
try
{
DataTable _SERVERPARTSHOPList = new Business.SERVERPARTSHOP(_Transaction).FillDataTable(
"WHERE ISVALID = 1 AND SERVERPART_ID = " + action_data +
" ORDER BY SERVERPART_ID,SHOPREGION,SHOPTRADE,SHOPCODE");
reString = JsonHelper.DataTableToJson(_SERVERPARTSHOPList, "ServerPartShopObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取移动支付信息
case "getMobilePay":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = (new Business.SERVERPART(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_MOBILEPAYMENT WHERE 1 = 1" + (string.IsNullOrEmpty(action_data) ?
"" : " AND SERVERPART_ID = " + action_data) + (string.IsNullOrEmpty(action_record) ?
"" : " AND SELLDATA_DATE >= TO_DATE('" + action_record.Split(',')[0] +
"','YYYY/MM/DD') AND SELLDATA_DATE < TO_DATE('" + action_record.Split(',')[1] +
"','YYYY/MM/DD') + 1") + " ORDER BY SERVERPARTCODE,SHOPCODE"));
reString = JsonHelper.DataTableToJson(_DataTable, "MobilePay");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getTotalMobilePay":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = (new Business.SERVERPART(_Transaction).ExecuteDataTable(
@"SELECT TRUNC(SELLDATA_DATE) AS SELLDATA_DATE,SUM(SELLCOUNT) AS SELLCOUNT,
SUM(OFFPRICE) AS OFFPRICE,SUM(FACTAMOUNT) AS FACTAMOUNT,
SUM(TICKETBILL) AS TICKETBILL,SUM(OTHERPAY) AS OTHERPAY,COUNT(1) AS ROWCOUNT
FROM HIGHWAY_SELLDATA.V_MOBILEPAYMENT WHERE 1 = 1" + (string.IsNullOrEmpty(action_data) ?
"" : " AND SERVERPART_ID = " + action_data) + (string.IsNullOrEmpty(action_record) ?
"" : " AND SELLDATA_DATE >= TO_DATE('" + action_record.Split(',')[0] +
"','YYYY/MM/DD') AND SELLDATA_DATE < TO_DATE('" + action_record.Split(',')[1] +
"','YYYY/MM/DD') + 1") + " GROUP BY TRUNC(SELLDATA_DATE) ORDER BY SELLDATA_DATE"));
reString = JsonHelper.DataTableToJson(_DataTable, "MobilePay");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getTotalMobilePayByServerpart":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
if (string.IsNullOrEmpty(action_data))
{
_DataTable = (new Business.SERVERPART(_Transaction).ExecuteDataTable(
@"SELECT SERVERPART_ID,SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE,
SUM(SELLCOUNT) AS SELLCOUNT,SUM(OFFPRICE) AS OFFPRICE,SUM(FACTAMOUNT) AS FACTAMOUNT,
SUM(TICKETBILL) AS TICKETBILL,SUM(OTHERPAY) AS OTHERPAY,COUNT(1) AS ROWCOUNT
FROM HIGHWAY_SELLDATA.V_MOBILEPAYMENT" + (string.IsNullOrEmpty(action_record) ?
"" : " WHERE SELLDATA_DATE >= TO_DATE('" + action_record.Split(',')[0] +
"','YYYY/MM/DD') AND SELLDATA_DATE < TO_DATE('" + action_record.Split(',')[1] +
"','YYYY/MM/DD') + 1") + " GROUP BY SERVERPART_ID,SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE"));
}
else
{
_DataTable = (new Business.SERVERPART(_Transaction).ExecuteDataTable(
@"SELECT SERVERPART_ID,SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE,SHOPCODE,SHOPNAME,
SUM(SELLCOUNT) AS SELLCOUNT,SUM(OFFPRICE) AS OFFPRICE,SUM(FACTAMOUNT) AS FACTAMOUNT,
SUM(TICKETBILL) AS TICKETBILL,SUM(OTHERPAY) AS OTHERPAY,COUNT(1) AS ROWCOUNT
FROM HIGHWAY_SELLDATA.V_MOBILEPAYMENT WHERE SERVERPART_ID = " + action_data +
(string.IsNullOrEmpty(action_record) ? "" : " AND SELLDATA_DATE >= TO_DATE('" +
action_record.Split(',')[0] + "','YYYY/MM/DD') AND SELLDATA_DATE < TO_DATE('" +
action_record.Split(',')[1] + "','YYYY/MM/DD') + 1") +
" GROUP BY SERVERPART_ID,SERVERPARTCODE,SERVERPART_NAME,PROVINCE_CODE,SHOPCODE,SHOPNAME"));
}
reString = JsonHelper.DataTableToJson(_DataTable, "MobilePay");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 根据单个服务器或者对应的百度地图解析
case "getPointPos":
_DataTable = new DataTable();
_DataTable.Columns.Add("MAPINFO");
_DataTable.Columns.Add("MAP_ADDRESS");
_DataTable.Columns.Add("MAP_TEL");
_DataTable.Columns.Add("MAP_OBJECTCODE");
_DataTable.Columns.Add("MAPX");
_DataTable.Columns.Add("MAPY");
try
{
//获得服务区数据
Storage.Business.SERVERPART _SERVERPART = new Storage.Business.SERVERPART(_Transaction);
_SERVERPART.AddSearchParameter("SERVERPART_ID", action_data.ToDecrypt());
if (_SERVERPART.Search())
{
//检测对应的服务区图片
//string imagePath = "SELECT A.IMAGE_PATH FROM T_IMAGE A,T_SERVERPARTTYPE B WHERE B.STATIC_TYPE = A.IMAGE_ID AND "
DataRow _DataRow = _DataTable.NewRow();
_DataRow["MAPINFO"] = _SERVERPART.SERVERPART_NAME + " " + _SERVERPART.SERVERPART_INFO;
_DataRow["MAP_ADDRESS"] = _SERVERPART.SERVERPART_ADDRESS;
_DataRow["MAP_TEL"] = _SERVERPART.SERVERPART_TEL;
_DataRow["MAP_OBJECTCODE"] = _SERVERPART.SERVERPART_ID_Encrypt;
if (_SERVERPART.SERVERPART_X == null)
reString = "error";
_DataRow["MAPX"] = _SERVERPART.SERVERPART_X;
_DataRow["MAPY"] = _SERVERPART.SERVERPART_Y;
_DataTable.Rows.Add(_DataRow);
}
string PointString = string.Empty;
PointString = BaiDuMapHelper.GetBaiduPointString(PointString, _DataTable);
string imagePath = "";
try
{
imagePath = HttpContext.Current.Request.Form["imagepath"];
}
catch
{ }
PointString = PointString.Replace("isOpen: 0", "isOpen: 0,imagepath:\"" + imagePath + "\"");
reString = PointString;//"{\"markerArr\":[" + PointString + "]}";
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 根据类型获取点位
case "getPointPosByServerPartType":
string OutTypeString = action_data.ToDecrypt();
_DataTablePoint = new DataTable();
_DataTablePoint.Columns.Add("MAPINFO");
_DataTablePoint.Columns.Add("MAP_ADDRESS");
_DataTablePoint.Columns.Add("MAP_TEL");
_DataTablePoint.Columns.Add("MAP_OBJECTCODE");
_DataTablePoint.Columns.Add("MAPX");
_DataTablePoint.Columns.Add("MAPY");
_DataTablePoint.Columns.Add("IMAGEPATH");
try
{
//根据类别获得服务区
GetSubServerPartType(ref OutTypeString, action_data.ToDecrypt(), "", true, _Transaction);
//获得类别对应的某一个类别下面的数据
foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(_Transaction)).FillCollection(
"where SERVERPART_ID in (select SERVERPART_ID from HIGHWAY_STORAGE.T_SPSTATICTYPE where SERVERPARTTYPE_ID IN( " +
OutTypeString + ")) order by SERVERPART_INDEX,SERVERPART_CODE"))
{
DataRow _DataRow = _DataTablePoint.NewRow();
_DataRow["MAPINFO"] = _SERVERPART.SERVERPART_NAME + " " + _SERVERPART.SERVERPART_INFO;
_DataRow["MAP_ADDRESS"] = _SERVERPART.SERVERPART_ADDRESS;
_DataRow["MAP_TEL"] = _SERVERPART.SERVERPART_TEL;
_DataRow["MAP_OBJECTCODE"] = _SERVERPART.SERVERPART_ID_Encrypt;
if (_SERVERPART.SERVERPART_X == null)
continue;
_DataRow["MAPX"] = _SERVERPART.SERVERPART_X;
_DataRow["MAPY"] = _SERVERPART.SERVERPART_Y;
//获得图片的路径
string sqlString = @"SELECT * FROM (select A.IMAGE_PATH FROM T_IMAGE A,T_SERVERPARTTYPE B,T_SPSTATICTYPE C
WHERE A.IMAGE_ID = B.STATIC_TYPE AND B.SERVERPARTTYPE_ID = C.SERVERPARTTYPE_ID AND C.SERVERPART_ID=" +
_SERVERPART.SERVERPART_ID + " AND C.SERVERPARTTYPE_ID IN( " + OutTypeString +
") ORDER BY C.SERVERPARTTYPE_ID DESC) where ROWNUM =1";
DataTable _DataTableNew = (new Business.SERVERPART(_Transaction)).ExecuteDataTable(sqlString);
if (_DataTableNew.Rows.Count != 0)
{
_DataRow["IMAGEPATH"] = _DataTableNew.Rows[0][0].ToString();
}
else
{
_DataRow["IMAGEPATH"] = "";
}
_DataTablePoint.Rows.Add(_DataRow);
}
string PointString = string.Empty;
PointString = BaiDuMapHelper.GetBaiduPointString(PointString, _DataTablePoint);
//string imagePath = "";
//try
//{
// imagePath = HttpContext.Current.Request.Form["imagepath"];
//}
//catch
//{ }
//PointString = PointString.Replace("isOpen: 0", "isOpen: 0,imagepath:\"" + imagePath + "\"");
reString = PointString;//"{\"markerArr\":[" + PointString + "]}";
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 根据查询内容获取点位
case "getPointPosByServerPartName":
string Parameter = action_data;
Parameter = "WHERE SERVERPART_NAME LIKE '%" + Parameter + "%' OR SERVERPART_ADDRESS LIKE '%" + Parameter +
"%' OR EXPRESSWAY_NAME LIKE '%" + Parameter + "%' OR OWNEDCOMPANY LIKE '%" + Parameter +
"%' OR MANAGERCOMPANY LIKE '%" + Parameter + "%'";
_DataTablePoint = new DataTable();
_DataTablePoint.Columns.Add("MAPINFO");
_DataTablePoint.Columns.Add("MAP_ADDRESS");
_DataTablePoint.Columns.Add("MAP_TEL");
_DataTablePoint.Columns.Add("MAP_OBJECTCODE");
_DataTablePoint.Columns.Add("MAPX");
_DataTablePoint.Columns.Add("MAPY");
_DataTablePoint.Columns.Add("IMAGEPATH");
try
{
//获得类别对应的某一个类别下面的数据
foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(_Transaction)).FillCollection(Parameter))
{
DataRow _DataRow = _DataTablePoint.NewRow();
_DataRow["MAPINFO"] = _SERVERPART.SERVERPART_NAME + " " + _SERVERPART.SERVERPART_INFO;
_DataRow["MAP_ADDRESS"] = _SERVERPART.SERVERPART_ADDRESS;
_DataRow["MAP_TEL"] = _SERVERPART.SERVERPART_TEL;
_DataRow["MAP_OBJECTCODE"] = _SERVERPART.SERVERPART_ID_Encrypt;
if (_SERVERPART.SERVERPART_X == null)
continue;
_DataRow["MAPX"] = _SERVERPART.SERVERPART_X;
_DataRow["MAPY"] = _SERVERPART.SERVERPART_Y;
_DataTablePoint.Rows.Add(_DataRow);
}
string PointString = string.Empty;
PointString = BaiDuMapHelper.GetBaiduPointString(PointString, _DataTablePoint);
reString = PointString;//"{\"markerArr\":[" + PointString + "]}";
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获得设置图片的信息
case "getImageDataObject":
try
{
List _ListImageObject = new List();
StrSql = "SELECT * FROM (SELECT IMAGE_PATH,TABLE_ID FROM HIGHWAY_STORAGE.T_IMAGE WHERE TABLE_ID = " +
action_data.ToDecrypt() + " AND TABLE_NAME='T_SERVERPART' ORDER BY IMAGE_INDEX ASC) WHERE ROWNUM = 1";
//图片信息
foreach (DataRow _DataRow in (new Business.COMMODITY(_Transaction)).ExecuteDataTable(StrSql).Rows)
{
ImageObject _ImageObject = new ImageObject();
_ImageObject.path = _DataRow["IMAGE_PATH"].ToString();
_ImageObject.code = _DataRow["TABLE_ID"].ToEncrypt();
_ListImageObject.Add(_ImageObject);
}
reString = JsonHelper.ListToJson(_ListImageObject, "ImageObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获得一品多码商品
case "getCommodityDetail":
try
{
//获得枚举信息
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.V_RTMULTIBARCODE where MULTIBARCODE_ID = " + action_data.ToDecrypt()));
reString = JsonHelper.DataTableToJson(_DataTable, "COMMODITY");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获得商品销售排行
case "getServerpartCommoditySale":
try
{
string COMMODITY_BARCODE = action_data.ToDecrypt().Split('&')[0];
string StatisticStart_Date = action_data.ToDecrypt().Split('&')[1];
string StatisticEnd_Date = action_data.ToDecrypt().Split('&')[2];
//string SERVERPARTTYPE_ID = action_data.ToDecrypt().Split('&')[3];
string SERVERPART_ID = action_data.ToDecrypt().Split('&')[3];
string SHOPTRADE = action_data.ToDecrypt().Split('&')[4];
string SERVERPARTSHOP_ID = action_data.ToDecrypt().Split('&')[5];
string ROWNUMS = action_data.ToDecrypt().Split('&')[6];
string rowWhere = "";
//获得枚举信息
string WhereSQL = string.Empty;
string OtherSQL = string.Empty;
if (COMMODITY_BARCODE != "")
{
WhereSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
OtherSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
}
if (StatisticStart_Date != "")
{
WhereSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
}
if (StatisticEnd_Date != "")
{
WhereSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
}
//if (!string.IsNullOrEmpty(SERVERPARTTYPE_ID))
//{
// WhereSQL += "AND SERVERPARTTYPE_ID IN(" + SERVERPARTTYPE_ID + ")";
//}
if (!string.IsNullOrEmpty(SERVERPART_ID))
{
WhereSQL += "AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
OtherSQL += "AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
}
if (!string.IsNullOrEmpty(SERVERPARTSHOP_ID))
{
WhereSQL += "AND SERVERPARTSHOP_ID IN(" + SERVERPARTSHOP_ID + ")";
OtherSQL += "AND SERVERPARTSHOP_ID IN(" + SERVERPARTSHOP_ID + ")";
}
if (!string.IsNullOrEmpty(SHOPTRADE) && SHOPTRADE != "1=1")
{
WhereSQL += "AND BUSINESSTYPE = " + SHOPTRADE;
OtherSQL += "AND BUSINESSTYPE = " + SHOPTRADE;
}
if (ROWNUMS != "全部")
{
rowWhere = " WHERE ROWNUM <= " + ROWNUMS;
}
string strSql = @"SELECT ROWNUM,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,TOTALSELLAMOUNT,TOTALCOUNT
FROM (SELECT SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,MAX(COMMODITY_NAME) AS COMMODITY_NAME,
COMMODITY_BARCODE,MAX(COMMODITY_RULE) AS COMMODITY_RULE,MAX(COMMODITY_UNIT) AS COMMODITY_UNIT,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS WHERE 1=1 " + WhereSQL +
" GROUP BY SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,COMMODITY_BARCODE" +
" ORDER BY TOTALSELLAMOUNT DESC) " + rowWhere;
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(strSql);
int ROWNUM = 0;
foreach (DataRow dr in _DataTable.Rows)
{
ROWNUM = int.Parse(dr["ROWNUM"].ToString());
SERVERPART_ID += (SERVERPART_ID == "" ? "" : ",") + dr["SERVERPART_ID"].ToString();
SERVERPARTSHOP_ID += (SERVERPARTSHOP_ID == "" ? "" : ",") + dr["SERVERPARTSHOP_ID"].ToString();
}
string otherSql = @"SELECT ROWNUMS,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM (SELECT 0 AS ROWNUMS,1 AS SERVERPART_ID,'其他服务区' as SERVERPART_NAME,
1 AS SERVERPARTSHOP_ID,'其他门店' AS SHOPNAME,
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RULE,
COMMODITY_UNIT,SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS WHERE 1=1 " + OtherSQL + " AND SERVERPART_ID NOT IN (" +
SERVERPART_ID + ")" + " AND SERVERPARTSHOP_ID NOT IN (" + SERVERPARTSHOP_ID + ")" +
" GROUP BY SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,COMMODITY_ID,COMMODITY_CODE," +
"COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RULE,COMMODITY_UNIT,COMMODITY_CURRPRICE" +
" ORDER BY TOTALSELLAMOUNT DESC) GROUP BY ROWNUMS,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME";
foreach (DataRow dr in new Business.COMMODITY(_Transaction).ExecuteDataTable(otherSql).Rows)
{
DataRow _DataRow = _DataTable.NewRow();
for (int rownum = 0; rownum < dr.ItemArray.Length; rownum++)
{
_DataRow[rownum] = dr[rownum];
}
_DataRow[0] = (ROWNUM + 1).ToString();
_DataTable.Rows.Add(_DataRow);
}
reString = JsonHelper.DataTableToJson(_DataTable, "SALERANKS");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getSaleRanks":
try
{
string COMMODITY_BARCODE = action_data.ToDecrypt().Split('&')[0];
string StatisticStart_Date = action_data.ToDecrypt().Split('&')[1];
string StatisticEnd_Date = action_data.ToDecrypt().Split('&')[2];
//string SERVERPARTTYPE_ID = action_data.ToDecrypt().Split('&')[3];
string SERVERPART_ID = action_data.ToDecrypt().Split('&')[3];
string SHOPTRADE = action_data.ToDecrypt().Split('&')[4];
string SERVERPARTSHOP_ID = action_data.ToDecrypt().Split('&')[5];
string ROWNUMS = action_data.ToDecrypt().Split('&')[6];
string rowWhere = "";
//获得枚举信息
string WhereSQL = string.Empty;
string OtherSQL = string.Empty;
if (COMMODITY_BARCODE != "")
{
WhereSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
OtherSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
}
if (StatisticStart_Date != "")
{
WhereSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
}
if (StatisticEnd_Date != "")
{
WhereSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
}
//if (!string.IsNullOrEmpty(SERVERPARTTYPE_ID))
//{
// WhereSQL += "AND SERVERPARTTYPE_ID IN(" + SERVERPARTTYPE_ID + ")";
//}
if (!string.IsNullOrEmpty(SERVERPART_ID))
{
WhereSQL += " AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
OtherSQL += " AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
}
if (!string.IsNullOrEmpty(SERVERPARTSHOP_ID))
{
WhereSQL += " AND " + SERVERPARTSHOP_ID;
OtherSQL += " AND " + SERVERPARTSHOP_ID;
}
if (!string.IsNullOrEmpty(SHOPTRADE) && SHOPTRADE != "1=1")
{
WhereSQL += " AND BUSINESSTYPE = " + SHOPTRADE;
OtherSQL += " AND BUSINESSTYPE = " + SHOPTRADE;
}
if (ROWNUMS != "全部")
{
rowWhere = " WHERE ROWNUM <= " + ROWNUMS;
}
string strSql = string.Format(@"SELECT ROWNUM,SERVERPARTSHOP_ID,
SERVERPART_NAME,SHOPNAME,TOTALSELLAMOUNT,TOTALCOUNT
FROM (SELECT SERVERPART_NAME,SHOPNAME,SERVERPARTSHOP_ID,
MAX(COMMODITY_NAME) AS COMMODITY_NAME,COMMODITY_BARCODE,
MAX(COMMODITY_RULE) AS COMMODITY_RULE,MAX(COMMODITY_UNIT) AS COMMODITY_UNIT,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS
WHERE 1 = 1 {0}
GROUP BY SERVERPARTSHOP_ID,SERVERPART_NAME,SHOPNAME,COMMODITY_BARCODE
ORDER BY TOTALSELLAMOUNT DESC) {1}", WhereSQL, rowWhere);
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(strSql);
int ROWNUM = 0;
SERVERPARTSHOP_ID = ""; //初始化门店内码
foreach (DataRow dr in _DataTable.Rows)
{
ROWNUM = int.Parse(dr["ROWNUM"].ToString());
SERVERPARTSHOP_ID += (SERVERPARTSHOP_ID == "" ? "" : ",") + dr["SERVERPARTSHOP_ID"].ToString();
}
if (!string.IsNullOrWhiteSpace(SERVERPARTSHOP_ID))
{
string otherSql = string.Format(@"SELECT '其他服务区' as SERVERPART_NAME,'其他门店' AS SHOPNAME,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS
WHERE 1 = 1 {0} AND SERVERPARTSHOP_ID NOT IN ({1})", OtherSQL, SERVERPARTSHOP_ID);
DataTable dtOtherData = new Business.COMMODITY(_Transaction).ExecuteDataTable(otherSql);
if (dtOtherData.Rows.Count > 0 && dtOtherData.Rows[0][3].ToString() != "")
{
DataRow _DataRow = _DataTable.NewRow();
_DataRow["SERVERPART_NAME"] = dtOtherData.Rows[0]["SERVERPART_NAME"];
_DataRow["SHOPNAME"] = dtOtherData.Rows[0]["SHOPNAME"];
_DataRow["TOTALSELLAMOUNT"] = dtOtherData.Rows[0]["TOTALSELLAMOUNT"];
_DataRow["TOTALCOUNT"] = dtOtherData.Rows[0]["TOTALCOUNT"];
_DataRow[0] = (ROWNUM + 1).ToString();
_DataTable.Rows.Add(_DataRow);
}
}
reString = JsonHelper.DataTableToJson(_DataTable, "SALERANKS");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获得服务区商品销售排行
case "getCommoditySale":
try
{
string COMMODITY_ID = action_data.ToDecrypt().Split('&')[0];
string StatisticsStartDay = action_data.ToDecrypt().Split('&')[1];
string StatisticsEndDay = action_data.ToDecrypt().Split('&')[2];
//获得枚举信息
string WhereSQL = string.Empty;
string SERVERPART_ID = string.Empty;
if (COMMODITY_ID != "")
{
WhereSQL += " AND COMMODITY_ID = " + COMMODITY_ID;
}
if (StatisticsStartDay != "")
{
WhereSQL += " AND ENDDATE >= TO_DATE('" + StatisticsStartDay + "','YYYY/MM/DD')";
}
if (StatisticsEndDay != "")
{
WhereSQL += " AND ENDDATE < TO_DATE('" + StatisticsEndDay + "','YYYY/MM/DD') + 1";
}
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(
@"SELECT ROWNUM,SERVERPART_ID,SERVERPART_NAME,TICKETCOUNT,TOTALCOUNT,CASHPAY FROM (
SELECT SERVERPART_ID,NVL(SUM(TICKETCOUNT),0) AS TICKETCOUNT,NVL(SUM(TOTALCOUNT),0) AS TOTALCOUNT,
SERVERPART_NAME,NVL(SUM(TOTALSELLAMOUNT),0) AS CASHPAY
FROM HIGHWAY_SELLDATA.V_COMMODITYSALE WHERE 1 = 1" + WhereSQL +
" GROUP BY SERVERPART_ID,SERVERPART_NAME ORDER BY TOTALCOUNT DESC)WHERE ROWNUM <= 10");
int ROWNUM = 0;
foreach (DataRow dr in _DataTable.Rows)
{
ROWNUM = int.Parse(dr["ROWNUM"].ToString());
SERVERPART_ID += (SERVERPART_ID == "" ? "" : ",") + dr["SERVERPART_ID"].ToString();
}
foreach (DataRow dr in new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT 1,0,'其它服务区合计',NVL(SUM(TICKETCOUNT),0) AS TICKETCOUNT,NVL(SUM(TOTALCOUNT),0) AS TOTALCOUNT,
NVL(SUM(TOTALSELLAMOUNT),0) AS CASHPAY FROM HIGHWAY_SELLDATA.V_COMMODITYSALE WHERE 1 = 1" +
WhereSQL + " AND SERVERPART_ID NOT IN (" + SERVERPART_ID + ")").Rows)
{
DataRow _DataRow = _DataTable.NewRow();
for (int rownum = 0; rownum < dr.ItemArray.Length; rownum++)
{
_DataRow[rownum] = dr[rownum];
}
_DataRow[0] = (ROWNUM + 1).ToString();
_DataTable.Rows.Add(_DataRow);
}
reString = JsonHelper.DataTableToJson(_DataTable, "DAILYSALES");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getCommoditySaleByName":
try
{
string COMMODITY_NAME = action_data.Split('|')[0];
string StatisticsStartDay = action_data.Split('|')[1];
string StatisticsEndDay = action_data.Split('|')[2];
string province_code = HttpContext.Current.Request.Form["province_code"];
//获得枚举信息
string WhereSQL = string.Empty;
string SERVERPART_ID = string.Empty;
if (string.IsNullOrEmpty(province_code))
{
province_code = HttpContext.Current.Request.Params["province_code"];
if (!string.IsNullOrEmpty(province_code))
{
FieldExplain _FieldExplain = new FieldExplain(_Transaction);
_FieldExplain.AddSearchParameter("FIELDEXPLAIN_FIELD", "DIVISION_CODE");
if (_FieldExplain.Search())
{
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
_FieldEnum.AddSearchParameter("FieldExplain_ID", _FieldExplain.FieldExplain_ID);
_FieldEnum.AddSearchParameter("FIELDENUM_VALUE", province_code);
if (_FieldEnum.Search())
{
WhereSQL += " AND PROVINCE_CODE = '" + _FieldEnum.FieldEnum_ID + "'";
}
}
}
}
if (COMMODITY_NAME != "")
{
WhereSQL += " AND COMMODITY_NAME = '" + COMMODITY_NAME + "'";
}
if (StatisticsStartDay != "")
{
WhereSQL += " AND ENDDATE >= TO_DATE('" + StatisticsStartDay + "','YYYY/MM/DD')";
}
if (StatisticsEndDay != "")
{
WhereSQL += " AND ENDDATE < TO_DATE('" + StatisticsEndDay + "','YYYY/MM/DD') + 1";
}
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(
@"SELECT ROWNUM,SERVERPART_ID,SERVERPART_NAME,TOTALCOUNT,CASHPAY FROM (
SELECT SERVERPART_ID,NVL(SUM(TOTALCOUNT),0) AS TOTALCOUNT,
SERVERPART_NAME,NVL(SUM(TOTALSELLAMOUNT),0) AS CASHPAY
FROM HIGHWAY_SELLDATA.V_COMMODITYSALE WHERE 1 = 1" + WhereSQL +
" GROUP BY SERVERPART_ID,SERVERPART_NAME ORDER BY TOTALCOUNT DESC) WHERE ROWNUM <= 10");
int ROWNUM = 0;
foreach (DataRow dr in _DataTable.Rows)
{
ROWNUM = int.Parse(dr["ROWNUM"].ToString());
SERVERPART_ID += (SERVERPART_ID == "" ? "" : ",") + dr["SERVERPART_ID"].ToString();
}
foreach (DataRow dr in new Business.COMMODITY(_Transaction).ExecuteDataTable(@"SELECT
1,0,'其它服务区合计',NVL(SUM(TOTALCOUNT),0) AS TOTALCOUNT,NVL(SUM(TOTALSELLAMOUNT),0) AS CASHPAY
FROM HIGHWAY_SELLDATA.V_COMMODITYSALE WHERE 1 = 1" + WhereSQL + " AND SERVERPART_ID NOT IN (" +
(string.IsNullOrEmpty(SERVERPART_ID) ? "0" : SERVERPART_ID) + ")").Rows)
{
DataRow _DataRow = _DataTable.NewRow();
for (int rownum = 0; rownum < dr.ItemArray.Length; rownum++)
{
_DataRow[rownum] = dr[rownum];
}
_DataRow[0] = (ROWNUM + 1).ToString();
_DataTable.Rows.Add(_DataRow);
}
reString = JsonHelper.DataTableToJson(_DataTable, "DAILYSALES");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取门店结账信息
case "GetEndaccount":
try
{
DataTable ENDACCOUNTList = new SRHSB.ENDACCOUNT(_Transaction).FillDataTable(
"WHERE SERVERPART_ID = " + action_data.Split(',')[0].ToDecrypt() + " AND SHOPCODE = '" +
action_data.Split(',')[1].ToDecrypt() + "' AND MACHINECODE = '" + action_data.Split(',')[2].ToDecrypt() +
"' AND ENDACCOUNT_STARTDATE = TO_DATE('" + action_data.Split(',')[3].ToDecrypt() + "','YYYY/MM/DD HH24:MI:SS')");
foreach (DataRow _ENDACCOUNTRow in ENDACCOUNTList.Rows)
{
if (string.IsNullOrWhiteSpace(_ENDACCOUNTRow["FACT_AMOUNT"].ToString()))
{
_ENDACCOUNTRow["FACT_AMOUNT"] = (_ENDACCOUNTRow["TICKETBILL"].TryParseToDouble() +
_ENDACCOUNTRow["OTHERPAY"].TryParseToDouble()).Round(2);
}
}
reString = JsonHelper.DataTableToJson(ENDACCOUNTList, "EndaccountObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getServerPartEndaccount":
try
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_ENDACCOUNT WHERE SERVERPARTSHOP_ID IN (" +
action_data + ") AND ENDACCOUNT_ID > 0 ORDER BY ENDACCOUNT_DATE"));
reString = JsonHelper.DataTableToJson(_DataTable, "EndaccountObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "getServerPartEndaccountByDate":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_ENDACCOUNT WHERE SERVERPARTSHOP_ID IN (" +
action_data + ") " + (string.IsNullOrEmpty(action_record) ? "" :
" AND TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) = TO_DATE('" +
action_record.Split(' ')[0] + "','YYYY/MM/DD')") + " ORDER BY ENDACCOUNT_DATE"));
reString = JsonHelper.DataTableToJson(_DataTable, "EndaccountObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountTotalAmount":
try
{
if (string.IsNullOrEmpty(action_data))
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT NVL(CASHPAY,0) AS TOTALPRICE,TICKETCOUNT AS TOTALTICKET,TOTALCOUNT AS CURSELLCOUNT
FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES
WHERE SERVERPART_NAME = '合计' AND TRUNC(STATISTICS_DATE) = TRUNC(SYSDATE) - 1"));
}
else
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT TRUNC(STATISTICS_DATE) AS STATISTICS_DATE,SUM(NVL(CASHPAY,0)) AS TOTALPRICE,
SUM(TICKETCOUNT) AS TOTALTICKET,SUM(TOTALCOUNT) AS CURSELLCOUNT
FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES
WHERE SERVERPART_NAME = '合计' AND TRUNC(STATISTICS_DATE) BETWEEN TO_DATE('" +
action_data.Split(',')[0].Split(' ')[0] + "','YYYY/MM/DD') AND TO_DATE('" +
action_data.Split(',')[1].Split(' ')[0] +
"','YYYY/MM/DD') GROUP BY TRUNC(STATISTICS_DATE) ORDER BY STATISTICS_DATE"));
}
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountAmount":
try
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT * FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES
WHERE SERVERPART_NAME <> '合计' AND TRUNC(STATISTICS_DATE) = TRUNC(SYSDATE) - 1
ORDER BY CASHPAY DESC"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountByRegion":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
if (string.IsNullOrEmpty(action_data))
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,
SUM(TOTALCOUNT) AS CURSELLCOUNT,C.TYPE_NAME
FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES A,
HIGHWAY_STORAGE.T_SPSTATICTYPE B,
HIGHWAY_STORAGE.T_SERVERPARTTYPE C
WHERE TRUNC(STATISTICS_DATE) = TRUNC(SYSDATE) - 1 AND A.SERVERPART_ID = B.SERVERPART_ID AND
B.SERVERPARTTYPE_ID = C.SERVERPARTTYPE_ID AND C.TYPE_PID = 1 GROUP BY C.TYPE_NAME"));
}
else
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,
SUM(TOTALCOUNT) AS CURSELLCOUNT,TRUNC(STATISTICS_DATE) AS STATISTICS_DATE
FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES A,
HIGHWAY_STORAGE.V_REGIONSERVERPART B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND REGION_ID = " + action_data +
" AND TRUNC(STATISTICS_DATE) BETWEEN TO_DATE('" + action_record.Split(',')[0].Split(' ')[0] +
"','YYYY/MM/DD') AND TO_DATE('" + action_record.Split(',')[1].Split(' ')[0] +
"','YYYY/MM/DD') GROUP BY TRUNC(STATISTICS_DATE) ORDER BY STATISTICS_DATE"));
}
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountByBusiness":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,
SUM(TOTALCOUNT) AS CURSELLCOUNT,NVL(STATISTICS_DATE,ENDACCOUNT_DATE) AS STATISTICS_DATE
FROM HIGHWAY_SELLDATA.V_ENDACCOUNT A WHERE SERVERPARTSHOP_ID IN (" + action_data +
") AND NVL(STATISTICS_DATE,ENDACCOUNT_DATE) BETWEEN TO_DATE('" +
action_record.Split(',')[0].Split(' ')[0] + "','YYYY/MM/DD') AND TO_DATE('" +
action_record.Split(',')[1].Split(' ')[0] + "','YYYY/MM/DD') AND SERVERPART_ID = " +
action_record.Split(',')[2] + " GROUP BY NVL(STATISTICS_DATE,ENDACCOUNT_DATE) ORDER BY STATISTICS_DATE"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountByBusinessType":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
if (string.IsNullOrEmpty(action_record))
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(string.Format(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,SUM(TOTALCOUNT) AS CURSELLCOUNT,
CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END AS SHOPTRADE
FROM HIGHWAY_SELLDATA.V_ENDACCOUNT
WHERE TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) = TRUNC(SYSDATE) - 1 AND PROVINCE_CODE = {0}
GROUP BY CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END", _PROVINCE_CODE)));
}
else
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(string.Format(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,SUM(TOTALCOUNT) AS CURSELLCOUNT,
CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END AS SHOPTRADE
FROM HIGHWAY_SELLDATA.V_ENDACCOUNT A,HIGHWAY_STORAGE.V_REGIONSERVERPART B
WHERE A.SERVERPART_ID = B.SERVERPART_ID {0} AND TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE))
BETWEEN TO_DATE('{1}','YYYY/MM/DD') AND TO_DATE('{2}','YYYY/MM/DD') AND B.PROVINCE_CODE = {3}
GROUP BY CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END",
(string.IsNullOrEmpty(action_data) ? "" : " AND B.REGION_ID = " + action_data),
action_record.Split(',')[0].Split(' ')[0], action_record.Split(',')[1].Split(' ')[0], _PROVINCE_CODE)));
}
reString = JsonHelper.DataTableToJson(_DataTable, "Endaccount");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountByType":
try
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT SUM(CASHPAY) AS TOTALPRICE,SUM(TICKETCOUNT) AS TOTALTICKET,
SUM(TOTALCOUNT) AS CURSELLCOUNT,TYPE_NAME,TYPE_INDEX
FROM HIGHWAY_SELLDATA.V_SERVERPARTDAILYSALES A,
HIGHWAY_STORAGE.V_SERVERPARTBYTYPE B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND TRUNC(STATISTICS_DATE) BETWEEN TO_DATE('" +
action_data.Split(',')[0].Split(' ')[0] + "','YYYY/MM/DD') AND TO_DATE('" +
action_data.Split(',')[1].Split(' ')[0] +
"','YYYY/MM/DD') GROUP BY TYPE_NAME,TYPE_INDEX ORDER BY TYPE_INDEX"));
reString = JsonHelper.DataTableToJson(_DataTable, "Endaccount");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取会员码消费信息
case "GetWechatInfo":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
string url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + AppID +
"&secret=" + AppSecret + "&code=" + action_data + "&grant_type=authorization_code";
List _WechatInfoObjectObject = new List();
WechatInfoObject _WechatInfoObject = new WechatInfoObject();
//根据url创建HttpWebRequest对象
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "get";
//读取服务器返回信息
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
//using作为语句,用于定义一个范围,在此范围的末尾将释放对象
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
//ReadToEnd适用于小文件的读取,一次性的返回整个文件
NJL.JObject _JObject = (NJL.JObject)NJ.JsonConvert.DeserializeObject(sr.ReadToEnd());
try
{
_WechatInfoObject.WECHAT_OPENID = _JObject["openid"].ToString();
if (string.IsNullOrEmpty(action_record))
{
USERMATCHING _USERMATCHING = new USERMATCHING(_Transaction);
_USERMATCHING.AddSearchParameter("WECHAT_OPENID", _JObject["openid"].ToString());
if (_USERMATCHING.Search())
{
_WechatInfoObject.RTWECHATPUSH_ID = _USERMATCHING.MEMBERSHIP_ID.ToString();
_WechatInfoObject.LINE_NUMBER = "1";
MACHINEINFO _MACHINEINFO = new MACHINEINFO(_Transaction);
_DataTable = _MACHINEINFO.ExecuteDataTable(
@"SELECT MAX(SUBSTR(TICKETCODE,LENGTH(TICKETCODE) - 5,2))
FROM HIGHWAY_EXCHANGE.T_OPERATELOG WHERE MEMBERSHIP_ID = " +
_USERMATCHING.MEMBERSHIP_ID + " AND TRUNC(RECODE_DATE) = TRUNC(SYSDATE)");
if (_DataTable.Rows.Count > 0 && _DataTable.Rows[0][0].ToString() != "")
{
_WechatInfoObject.LINE_NUMBER = (int.Parse(_DataTable.Rows[0][0].ToString()) + 1).ToString();
}
}
}
else
{
if (action_record.Split('|')[0] == "ScanAudit")
{
Business.RTWECHATPUSH _RTWECHATPUSH = new Business.RTWECHATPUSH(_Transaction);
_RTWECHATPUSH.AddSearchParameter("WECHAT_OPENID", _JObject["openid"].ToString());
if (_RTWECHATPUSH.Search())
{
if (_RTWECHATPUSH.PUSH_MODULE.Contains("W2VClFsAnvma-1412lx-fCxd_wWyxfN293TXAugG76c"))
{
_WechatInfoObject.RTWECHATPUSH_ID = _RTWECHATPUSH.RTWECHATPUSH_ID.ToString();
_WechatInfoObject.LINE_NUMBER = _RTWECHATPUSH.USER_NAME;
}
}
}
}
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
sr.Close();
_WechatInfoObjectObject.Add(_WechatInfoObject);
reString = JsonHelper.ListToJson(_WechatInfoObjectObject, "WechatInfoObject");
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetMembershipConsumption":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(@"SELECT
B.SERVERPART_NAME,C.SHOPNAME,A.RECODE_AMOUNT
FROM T_OPERATELOG@NEWEX A,HIGHWAY_STORAGE.T_SERVERPART B,HIGHWAY_STORAGE.T_SERVERPARTSHOP C
WHERE A.SERVERPARTCODE = B.SERVERPART_CODE AND A.SHOPCODE = C.SHOPCODE AND
B.SERVERPART_ID = C.SERVERPART_ID AND A.MEMBERSHIP_ID = " + action_data +
" AND SUBSTR(TICKETCODE,LENGTH(TICKETCODE) - 5,2) = '" + action_record.Split(',')[1] +
"' AND TRUNC(RECODE_DATE) = TO_DATE('" + action_record.Split(',')[0] + "','YYYY/MM/DD')");
reString = JsonHelper.DataTableToJson(_DataTable, "MembershipConsumption");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetMembershipConsumptionList":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(
"SELECT * FROM MEMBERSHIP_STORAGE.V_RECHARGERECORD WHERE MEMBERSHIP_ID = " +
action_data + (action_record == "1000" ? " AND RECODE_TYPE IN (1000,1010)" :
(action_record == "3000" ? "RECODE_TYPE IN (2000,2010,3000,3010)" :
" AND RECODE_TYPE NOT IN (1020,1030) AND RECODE_TYPE < 4000")) +
" ORDER BY RECODE_DATE DESC");
reString = JsonHelper.DataTableToJson(_DataTable, "MembershipConsumption");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetMembershipInfo":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = new MACHINEINFO(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.T_MEMBERSHIP WHERE MEMBERSHIP_ID = " + action_data);
reString = JsonHelper.DataTableToJson(_DataTable, "MEMBERSHIP");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取短信验证码
case "SearchSMSIdentityCode":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
_DataTable = new MACHINEINFO(_Transaction).ExecuteDataTable(
"SELECT 1 FROM HIGHWAY_EXCHANGE.T_SMSIDENTITY WHERE CELLPHONE_NUMBER = '" + action_data +
"' AND IDENTITY_DATE > SYSDATE - 5/1440 AND IDENTITY_CODE = '" + action_record + "'");
reString = JsonHelper.DataTableToJson(_DataTable, "SMSIdentity");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetSMSIdentityCode":
try
{
string querys = "ParamString={0}&RecNum=" + action_data + "&SignName=" +
HttpUtility.UrlEncode("驿商科技") + "&TemplateCode=SMS_65555007";
string bodys = "", host = "http://sms.market.alicloudapi.com";
string url = host + "/singleSendSms";
HttpWebRequest httpRequest = null;
HttpWebResponse httpResponse = null;
string _IDENTITY_CODE = CreateRandomCode(6);
querys = string.Format(querys, System.Web.HttpUtility.UrlEncode("{\"code\":\"" +
_IDENTITY_CODE + "\",\"product\":\"骋客\"}"));
if (0 < querys.Length)
{
url = url + "?" + querys;
}
if (host.Contains("https://"))
{
ServicePointManager.ServerCertificateValidationCallback =
new RemoteCertificateValidationCallback(CheckValidationResult);
httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
}
else
{
httpRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpRequest.Method = "get";
httpRequest.Headers.Add("Authorization", "APPCODE " + "99f7d21d35e647e98706f75109f4b655");
if (0 < bodys.Length)
{
byte[] data = Encoding.UTF8.GetBytes(bodys);
using (Stream stream = httpRequest.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
}
try
{
httpResponse = (HttpWebResponse)httpRequest.GetResponse();
//using作为语句,用于定义一个范围,在此范围的末尾将释放对象
using (StreamReader sr = new StreamReader(httpResponse.GetResponseStream()))
{
//ReadToEnd适用于小文件的读取,一次性的返回整个文件
NJL.JObject _JObject = (NJL.JObject)NJ.JsonConvert.DeserializeObject(sr.ReadToEnd());
try
{
if (_JObject["success"].ToString().ToLower() == "true")
{
MACHINEINFO _MACHINEINFO = new MACHINEINFO(_Transaction);
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SMSIDENTITY (
SMSIDENTITY_ID,CELLPHONE_NUMBER,IDENTITY_DATE,IDENTITY_CODE)
VALUES (HIGHWAY_EXCHANGE.SEQ_SMSIDENTITY.NEXTVAL,'" + action_data +
"',SYSDATE,'" + _IDENTITY_CODE + "')", null);
}
reString = _JObject.ToString();
}
catch (Exception _Exception)
{
reString = "error:" + _Exception.Message;
}
sr.Close();
}
}
catch (WebException ex)
{
httpResponse = (HttpWebResponse)ex.Response;
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取会员内码
case "GetMembership_ID":
try
{
string MobileNumber = action_data.Split(',')[0], Membership_Card = action_data.Split(',')[1];
action_record = HttpContext.Current.Request.Params["action_record"];
if (string.IsNullOrEmpty(action_record))
{
reString = "";
}
else
{
MEMBERSHIP _MEMBERSHIP = new MEMBERSHIP(_Transaction);
_MEMBERSHIP.AddSearchParameter("MEMBERSHIP_CARD", Membership_Card);
_MEMBERSHIP.AddSearchParameter("MEMBERSHIP_MOBILEPHONE", MobileNumber);
if (_MEMBERSHIP.Search())
{
List _WechatInfoObjectObject = new List();
WechatInfoObject _WechatInfoObject = new WechatInfoObject();
_WechatInfoObject.WECHAT_OPENID = action_record;
_WechatInfoObject.LINE_NUMBER = "1";
_WechatInfoObject.RTWECHATPUSH_ID = _MEMBERSHIP.MEMBERSHIP_ID.ToString();
USERMATCHING _USERMATCHING = new USERMATCHING(_Transaction);
_USERMATCHING.AddSearchParameter("WECHAT_OPENID", action_record);
if (_USERMATCHING.Search())
{
reString = "已关联会员信息,请刷新后重试!";
}
else
{
_USERMATCHING.ResetProperty();
_USERMATCHING.MEMBERSHIP_ID = _MEMBERSHIP.MEMBERSHIP_ID;
_USERMATCHING.MEMBERSHIP_NAME = _MEMBERSHIP.MEMBERSHIP_NAME;
_USERMATCHING.MEMBERSHIP_CARD = _MEMBERSHIP.MEMBERSHIP_CARD;
_USERMATCHING.REALNAME = _MEMBERSHIP.MEMBERSHIP_NAME;
_USERMATCHING.CELLPHONE = string.IsNullOrEmpty(MobileNumber) ?
_MEMBERSHIP.MEMBERSHIP_MOBILEPHONE : MobileNumber;
_USERMATCHING.USERMATCHING_STATE = 1;
_USERMATCHING.WECHAT_OPENID = action_record;
Seller.Storage.Business.USERSERVERPART _USERSERVERPART = new Seller.Storage.Business.USERSERVERPART(_Transaction);
_USERSERVERPART.AddSearchParameter("WECHAT_OPENID", action_record);
if (_USERSERVERPART.Search())
{
_USERMATCHING.MALLUSER_ID = _USERSERVERPART.MALLUSER_ID;
_USERMATCHING.USERNAME = _USERSERVERPART.USERNAME;
_USERMATCHING.NICK = _USERSERVERPART.NICK;
}
else
{
Storage.Business.RTWECHATPUSH _RTWECHATPUSH = new Storage.Business.RTWECHATPUSH(_Transaction);
_RTWECHATPUSH.AddSearchParameter("WECHAT_OPENID", action_record);
if (_RTWECHATPUSH.Search())
{
_USERMATCHING.NICK = _RTWECHATPUSH.NICK_NAME;
}
}
_USERMATCHING.Insert();
_WechatInfoObjectObject.Add(_WechatInfoObject);
reString = JsonHelper.ListToJson(_WechatInfoObjectObject, "WechatInfoObject");
}
}
else
{
reString = "未找到会员信息,请至发卡处办理会员!";
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取实时营收数据
case "GetCurrentTotalAmount":
try
{
string provincecode = HttpContext.Current.Request.Form["provincecode"];
if (string.IsNullOrEmpty(provincecode))
{
provincecode = HttpContext.Current.Request.Params["provincecode"];
if (string.IsNullOrEmpty(provincecode))
{
provincecode = _PROVINCE_CODE;
}
else
{
FieldExplain _FieldExplain = new FieldExplain(_Transaction);
_FieldExplain.AddSearchParameter("FIELDEXPLAIN_FIELD", "DIVISION_CODE");
if (_FieldExplain.Search())
{
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
_FieldEnum.AddSearchParameter("FieldExplain_ID", _FieldExplain.FieldExplain_ID);
_FieldEnum.AddSearchParameter("FIELDENUM_VALUE", provincecode);
if (_FieldEnum.Search())
{
provincecode = _FieldEnum.FieldEnum_ID.ToString();
}
}
}
}
else
{
FieldExplain _FieldExplain = new FieldExplain(_Transaction);
_FieldExplain.AddSearchParameter("FIELDEXPLAIN_FIELD", "DIVISION_CODE");
if (_FieldExplain.Search())
{
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
_FieldEnum.AddSearchParameter("FieldExplain_ID", _FieldExplain.FieldExplain_ID);
_FieldEnum.AddSearchParameter("FIELDENUM_VALUE", provincecode);
if (_FieldEnum.Search())
{
provincecode = _FieldEnum.FieldEnum_ID.ToString();
}
}
}
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
@"SELECT NVL(TOTALCURRSELLCOUNT,0) AS TOTALPRICE,
TOTALCURRAMOUNT AS TOTALTICKET,CURSELLCOUNT
FROM HIGHWAY_STORAGE.V_SERVERCONNECTPOINTS
WHERE SERVERPART_NAME = '合计' AND PROVINCE_CODE = " + provincecode));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentAmount":
try
{
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.V_SERVERCONNECTPOINTS WHERE " +
(string.IsNullOrEmpty(action_data) ? "SERVERPART_NAME <> '合计'" : "SERVERPART_ID = " +
action_data) + " AND TOTALCURRSELLCOUNT IS NOT NULL ORDER BY TOTALCURRSELLCOUNT DESC"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentAmountByRegion":
try
{
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
@"SELECT SUM(TOTALCURRSELLCOUNT) AS TOTALPRICE,SUM(TOTALCURRAMOUNT) AS TOTALTICKET,
C.TYPE_NAME,SUM(CURSELLCOUNT) AS CURSELLCOUNT
FROM HIGHWAY_STORAGE.V_SERVERCONNECTPOINTS A,HIGHWAY_STORAGE.V_REGIONSERVERPART C
WHERE A.SERVERPART_ID = C.SERVERPART_ID GROUP BY C.TYPE_NAME"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentAmountByBusinessType":
try
{
_DataTable = new CONFIGURATION(_Transaction).ExecuteDataTable(string.Format(
@"SELECT SUM(CURRAMOUNT) AS TOTALPRICE,SUM(CURRSELLCOUNT) AS TOTALTICKET,
CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END AS SHOPTRADE,
SUM(CURSELLCOUNT) AS CURSELLCOUNT
FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE TRUNC(CONNECT_DATE) = TRUNC(SYSDATE) AND
SERVERPARTCODE NOT IN ('888888','330005') AND PROVINCE_CODE = {0}
GROUP BY CASE WHEN SHOPTRADE = 1000 THEN 'MARKET' WHEN SHOPTRADE LIKE '2%' THEN 'SNACK'
WHEN SHOPTRADE LIKE '3%' THEN 'RESTAURANT' ELSE 'OTHER' END", _PROVINCE_CODE));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentCount":
try
{
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
@"SELECT COUNT(DISTINCT SERVERPART_ID) AS SERVERPARTCOUNT,
COUNT(DISTINCT SERVERPARTSHOP_ID || MACHINECODE) AS MACHINECOUNT,
SUM(CURSELLCOUNT) AS CURSELLCOUNT
FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE CONNECT_DATE > TRUNC(SYSDATE) AND
SERVERPARTCODE NOT IN ('888888','330005') AND PROVINCE_CODE = " + _PROVINCE_CODE));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentCountByShop":
try
{
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
@"SELECT COUNT(DISTINCT SERVERPARTSHOP_ID) AS SERVERPARTSHOPCOUNT,
COUNT(DISTINCT SERVERPARTSHOP_ID || MACHINECODE) AS MACHINECOUNT,
SERVERPART_ID,SERVERPARTSHOP_ID,SHOPNAME,SUM(CURSELLCOUNT) AS CURSELLCOUNT
FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE CONNECT_DATE > SYSDATE - 1/144 AND
SERVERPARTCODE NOT IN ('888888','330005') AND PROVINCE_CODE = " + _PROVINCE_CODE +
" GROUP BY SERVERPART_ID,SERVERPARTSHOP_ID,SHOPNAME"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurrentAmountByType":
try
{
_DataTable = (new CONFIGURATION(_Transaction).ExecuteDataTable(
@"SELECT SUM(CURRAMOUNT) AS TOTALPRICE,SUM(CURRSELLCOUNT) AS TOTALTICKET,SHOPNAME,
SUM(CURSELLCOUNT) AS CURSELLCOUNT
FROM (SELECT CURRAMOUNT,CURRSELLCOUNT,CURSELLCOUNT,
CASE WHEN SHOPNAME LIKE '%驿佰购%' THEN '驿佰购'
WHEN SHOPNAME LIKE '%驿佰味%' THEN '驿佰味'
WHEN SHOPNAME LIKE '%五芳斋%' THEN '五芳斋'
WHEN SHOPNAME LIKE '%唯新小吃%' THEN '唯新小吃' END AS SHOPNAME
FROM HIGHWAY_STORAGE.V_CONNECTPOINT WHERE TRUNC(CONNECT_DATE) = TRUNC(SYSDATE) AND
SERVERPARTCODE NOT IN ('888888','330005') AND PROVINCE_CODE = " + _PROVINCE_CODE +
") GROUP BY SHOPNAME"));
reString = JsonHelper.DataTableToJson(_DataTable, "CurrentData");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取异常数据
case "GetException":
try
{
_DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(@"SELECT * FROM (
SELECT A.*,B.FIELDENUM_NAME FROM HIGHWAY_SELLDATA.V_SALEEXCEPTION A,PLATFORM_DICTIONARY.V_FIELDENUM B
WHERE TRUNC(EXCEPTION_DATE) = TRUNC(SYSDATE) AND A.EXCEPTIONTYPE = B.FIELDENUM_VALUE AND
B.FIELDEXPLAIN_FIELD = 'EXCEPTION_TYPE' AND EXCEPTIONTYPE NOT IN ('1019','1029','2029') AND
SERVERPARTCODE NOT IN ('888888','330005') AND EXCEPTIONTYPE < '9000'
ORDER BY EXCEPTION_DATE DESC) WHERE ROWNUM <= 100"));
reString = JsonHelper.DataTableToJson(_DataTable, "Exception");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取微信人员
case "GetWechatInfoByCode":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
string url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + AppID +
"&secret=" + AppSecret + "&code=" + action_data + "&grant_type=authorization_code";
List _WechatInfoObjectObject = new List();
WechatInfoObject _WechatInfoObject = new WechatInfoObject();
//根据url创建HttpWebRequest对象
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "get";
//读取服务器返回信息
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
//using作为语句,用于定义一个范围,在此范围的末尾将释放对象
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
//ReadToEnd适用于小文件的读取,一次性的返回整个文件
NJL.JObject _JObject = (NJL.JObject)NJ.JsonConvert.DeserializeObject(sr.ReadToEnd());
try
{
_WechatInfoObject.WECHAT_OPENID = _JObject["openid"].ToString();
Business.RTWECHATPUSH _RTWECHATPUSH = new Business.RTWECHATPUSH(_Transaction);
_RTWECHATPUSH.AddSearchParameter("WECHAT_OPENID", _WechatInfoObject.WECHAT_OPENID);
if (_RTWECHATPUSH.Search() && !string.IsNullOrEmpty(action_record))
{
UniformSend.Storage.Business.PURCHASE _PURCHASE = new UniformSend.Storage.Business.PURCHASE(_Transaction);
_PURCHASE.PURCHASE_ID_Encrypt = action_record.Split(',')[1].ToEncrypt();
if (_PURCHASE.Select())
{
if (_RTWECHATPUSH.PUSH_MODULE.Contains("3RK4FPn6JMBOByVXU8CruLpBbNUr8iCSMdFlt6ukBKM") &&
(("," + _RTWECHATPUSH.SERVERPART_IDS + ",").Contains("," + _serverpart_id + ",") ||
("," + _RTWECHATPUSH.SERVERPART_IDS + ",").Contains("," + _PURCHASE.SERVERPART_ID + ",")))
{
_WechatInfoObject.LINE_NUMBER = _RTWECHATPUSH.USER_NAME;
_WechatInfoObject.RTWECHATPUSH_ID = _RTWECHATPUSH.RTWECHATPUSH_ID.ToString();
}
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message + "(" + _JObject + ")";
break;
//SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
sr.Close();
}
_WechatInfoObjectObject.Add(_WechatInfoObject);
reString = JsonHelper.ListToJson(_WechatInfoObjectObject, "WechatInfoObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "WechatPushPerson":
try
{
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.T_RTWECHATPUSH WHERE " + (string.IsNullOrEmpty(action_data) ?
"RTWECHATPUSH_STATE = 1" : "WECHAT_OPENID = '" + action_data + "'"));
reString = JsonHelper.DataTableToJson(_DataTable, "RTWECHATPUSHObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetAccessToken":
try
{
string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" +
AppID + "&secret=" + AppSecret;
//根据url创建HttpWebRequest对象
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "get";
//读取服务器返回信息
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
//using作为语句,用于定义一个范围,在此范围的末尾将释放对象
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
//ReadToEnd适用于小文件的读取,一次性的返回整个文件
NJL.JObject _JObject = (NJL.JObject)NJ.JsonConvert.DeserializeObject(sr.ReadToEnd());
try
{
reString = _JObject["access_token"].ToString();
}
catch (Exception ex)
{
reString = "错误代码:" + _JObject["errcode"].ToString() + ",错误原因:" +
_JObject["errmsg"].ToString() + "(" + ex.Message + ")";
}
sr.Close();
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "WechatPersonInfo":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
string url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + action_data +
"&openid=" + action_record + "&lang=zh_CN";
//根据url创建HttpWebRequest对象
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "get";
//读取服务器返回信息
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
//using作为语句,用于定义一个范围,在此范围的末尾将释放对象
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
//ReadToEnd适用于小文件的读取,一次性的返回整个文件
NJL.JObject _JObject = (NJL.JObject)NJ.JsonConvert.DeserializeObject(sr.ReadToEnd());
if (!string.IsNullOrEmpty(_JObject["headimgurl"].ToString()))
{
Business.RTWECHATPUSH _RTWECHATPUSH = new Business.RTWECHATPUSH(_Transaction);
if (_RTWECHATPUSH.GetCount(
"WHERE headimgurl IS NULL AND WECHAT_OPENID = '" + action_record + "'") > 0)
{
_RTWECHATPUSH.ExecuteNonQuery("UPDATE HIGHWAY_STORAGE.T_RTWECHATPUSH SET headimgurl = '" +
_JObject["headimgurl"].ToString() + "' WHERE WECHAT_OPENID = '" + action_record + "'", null);
}
}
reString = _JObject.ToString();
sr.Close();
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取配送单信息
case "CopyDeliverIndex":
try
{
string FileName = _FilePath + _CopyPath + action_data + ".html";
FileInfo _FileInfo = new FileInfo(FileName);
if (_FileInfo.Exists)
{
reString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx85e69a5fb601be16&redirect_uri=" +
HttpUtility.UrlEncode(_UrlAddress + action_data + ".html") +
"&response_type=code&scope=snsapi_base&connect_redirect=1#wechat_redirect";
}
else
{
DirectoryInfo _DirectoryInfo = new DirectoryInfo(_FilePath);
if (_DirectoryInfo.Exists)
{
foreach (FileInfo fileinfo in _DirectoryInfo.GetFiles("index.html", SearchOption.TopDirectoryOnly))
{
//FileStream _FileStream = new FileStream(FileName, FileMode.Create);
//fileinfo.CopyTo(_FileStream.Name);
//_FileStream.Flush();
//_FileStream.Close();
fileinfo.CopyTo(FileName);
reString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx85e69a5fb601be16&redirect_uri=" +
HttpUtility.UrlEncode(_UrlAddress + action_data + ".html") +
"&response_type=code&scope=snsapi_base&connect_redirect=1#wechat_redirect";
break;
}
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetGoodsDeliver":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
if (string.IsNullOrEmpty(action_record))
{
reString = "";
}
else
{
_DataTable = (new SRSSB.GOODSDELIVER(_Transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.V_GOODSDELIVER WHERE GOODSDELIVER_CODE = '" +
action_data + "' AND PURCHASE_ID = " + action_record));
reString = JsonHelper.DataTableToJson(_DataTable, "Exception");
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetGoodsDeliverDtail":
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
if (string.IsNullOrEmpty(action_record))
{
reString = "";
}
else
{
_DataTable = (new SRSSB.GOODSDELIVER(_Transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.V_GOODSDELIVERBILL WHERE GOODSDELIVER_CODE = '" +
action_data + "' AND PURCHASE_ID = " + action_record));
reString = JsonHelper.DataTableToJson(_DataTable, "Exception");
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取入库信息
case "DeliverCodeCheck":
try
{
if (action_data.Split(',').Length != 5)
{
reString = "单据无效";
}
else
{
SRSSB.GOODSDELIVER _GOODSDELIVER = new SRSSB.GOODSDELIVER(_Transaction);
_DataTable = _GOODSDELIVER.ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.V_GOODSDELIVER WHERE GOODSDELIVER_CODE = '" +
action_data.Split(',')[0] + "' AND PURCHASE_ID = " + action_data.Split(',')[1]);
if (_DataTable.Rows.Count > 0)
{
switch (_DataTable.Rows[0]["PURCHASE_STATE"].ToString())
{
case "2000":
reString = "等待配送中";
break;
case "2010":
reString = "单据有效";
if (_GOODSDELIVER.ExecuteDataTable(
"SELECT 1 FROM SELLER_STORAGE.T_OPERATELOG WHERE GOODSDELIVER_CODE = '" +
action_data.Split(',')[0] + "' AND PURCHASE_ID = " +
action_data.Split(',')[1]).Rows.Count == 0)
{
_GOODSDELIVER.ExecuteNonQuery(@"INSERT INTO SELLER_STORAGE.T_OPERATELOG
(OPERATELOG_ID,GOODSDELIVER_CODE,PURCHASE_ID,SERVERPARTSHOP_ID,
CASHWORKER_NAME,RTWECHATPUSH_ID,WECHAT_OPENID,OPERATELOG_DATE)
SELECT SELLER_STORAGE.SEQ_OPERATELOG.NEXTVAL,GOODSDELIVER_CODE,
PURCHASE_ID,SERVERPARTSHOP_ID,'" + action_data.Split(',')[2] +
"'," + action_data.Split(',')[3] + ",'" + action_data.Split(',')[4] +
"',SYSDATE FROM SELLER_STORAGE.V_GOODSDELIVER WHERE GOODSDELIVER_CODE = '" +
action_data.Split(',')[0] + "' AND PURCHASE_ID = " + action_data.Split(',')[1], null);
}
break;
case "3000":
reString = "单据已接收";
break;
case "4000":
reString = "单据已入库";
break;
}
}
else
{
reString = "单据无效";
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取结账、收银员、单品数据
case "ScanCodeUpdate":
try
{
action_data = HttpUtility.UrlDecode(action_data);
action_record = HttpContext.Current.Request.Params["action_record"];
bool Flag = true;
decimal CONTENT_LENGTH = 0, _Length = 0, _RowCount = 0, _RecordCount = 0;
string _EndAccount = "", _PersonSell = "", _CommoditySale = "", TimeString = "";
DateTime _MaxDate = DateTime.Parse("2000/01/01");
foreach (string str in action_data.Split('&'))
{
switch (str.Split('=')[0].ToUpper())
{
case "ENDACCOUNT":
CONTENT_LENGTH += str.Split('=')[1].Length;
_EndAccount = str.Split('=')[1];
break;
case "PERSONSELL":
CONTENT_LENGTH += str.Split('=')[1].Length;
_PersonSell = str.Split('=')[1];
break;
case "COMMODITYSALE":
CONTENT_LENGTH += str.Split('=')[1].Length;
_CommoditySale = str.Split('=')[1];
break;
case "LENGTH":
_Length = decimal.Parse(str.Split('=')[1]);
break;
case "ROWCOUNT":
_RowCount = decimal.Parse(str.Split('=')[1]);
break;
case "RECORDCOUNT":
_RecordCount = decimal.Parse(str.Split('=')[1]);
break;
}
}
if (_Length != CONTENT_LENGTH)
{
reString = "0";
}
else
{
MACHINEINFO _MACHINEINFO = new MACHINEINFO(_Transaction);
if (!string.IsNullOrEmpty(_EndAccount))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
_EndAccount + "' AND SCAN_TYPE = 'EndAccount' AND CONTENT_LENGTH = " + _Length + " AND ROW_COUNT = " +
_RowCount + " AND RECORD_COUNT = " + _RecordCount).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (
SCANCODEUPDATE_ID,SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,RECORD_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'EndAccount','" + _EndAccount +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ")", null);
}
else
{
Flag = false;
}
}
TimeString = _EndAccount.Split('|')[2];
TimeString = TimeString.Substring(0, 4) + "/" + TimeString.Substring(4, 2) + "/" +
TimeString.Substring(6, 2) + " " + TimeString.Substring(8, 2) + ":" +
TimeString.Substring(10, 2) + ":" + TimeString.Substring(12, 2);
if (DateTime.Parse(TimeString) > _MaxDate)
{
_MaxDate = DateTime.Parse(TimeString);
reString = ConvertDataTimeLong(_MaxDate).ToString() + _EndAccount.Split('|')[4];
}
}
if (!string.IsNullOrEmpty(_PersonSell))
{
foreach (string PersonSellString in _PersonSell.Split(','))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
PersonSellString + "' AND SCAN_TYPE = 'PersonSell' AND CONTENT_LENGTH = " + _Length +
" AND ROW_COUNT = " + _RowCount + " AND RECORD_COUNT = " + _RecordCount).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (
SCANCODEUPDATE_ID,SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,RECORD_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'PersonSell','" + PersonSellString +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ")", null);
}
else
{
Flag = false;
}
}
TimeString = PersonSellString.Split('|')[5];
TimeString = TimeString.Substring(0, 4) + "/" + TimeString.Substring(4, 2) + "/" +
TimeString.Substring(6, 2) + " " + TimeString.Substring(8, 2) + ":" +
TimeString.Substring(10, 2) + ":" + TimeString.Substring(12, 2);
if (DateTime.Parse(TimeString) > _MaxDate)
{
_MaxDate = DateTime.Parse(TimeString);
reString = ConvertDataTimeLong(_MaxDate).ToString() + PersonSellString.Split('|')[2];
}
}
}
if (!string.IsNullOrEmpty(_CommoditySale))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
_CommoditySale + "' AND SCAN_TYPE = 'CommoditySale' AND CONTENT_LENGTH = " + _Length +
" AND ROW_COUNT = " + _RowCount + " AND RECORD_COUNT = " + _RecordCount).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (
SCANCODEUPDATE_ID,SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,RECORD_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'CommoditySale','" + _CommoditySale +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ")", null);
}
else
{
Flag = false;
}
}
DataTable DataTableSale = _MACHINEINFO.ExecuteDataTable(
"SELECT DISTINCT ROW_COUNT FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT LIKE '%|" +
_CommoditySale.Split('|')[1] + "|" + _CommoditySale.Split('|')[2] + "|" +
_CommoditySale.Split('|')[3] + "|" + _CommoditySale.Split('|')[4] +
"|%' AND SCAN_TYPE = 'CommoditySale' ORDER BY ROW_COUNT");
if (DataTableSale.Rows.Count == _RecordCount)
{
TimeString = _CommoditySale.Split('|')[4];
TimeString = TimeString.Substring(0, 4) + "/" + TimeString.Substring(4, 2) + "/" +
TimeString.Substring(6, 2) + " " + TimeString.Substring(8, 2) + ":" +
TimeString.Substring(10, 2) + ":" + TimeString.Substring(12, 2);
if (DateTime.Parse(TimeString) > _MaxDate)
{
_MaxDate = DateTime.Parse(TimeString);
reString = ConvertDataTimeLong(_MaxDate).ToString() + _CommoditySale.Split('|')[2];
}
}
else
{
foreach (DataRow _DataRow in DataTableSale.Rows)
{
if (!("," + reString + ",").Contains("," + _DataRow["ROW_COUNT"].ToString() + ","))
{
reString += (string.IsNullOrEmpty(reString) ? "" : ",") + _DataRow["ROW_COUNT"].ToString();
}
}
reString = "2:" + reString;
}
}
if (!Flag)
{
reString = "0";
}
}
}
catch (Exception ex)
{
_Transaction.Rollback();
reString = "error:" + ex.Message;
}
break;
case "ScanCodeUpdate_New":
try
{
action_data = HttpUtility.UrlDecode(action_data);
action_record = HttpContext.Current.Request.Params["action_record"];
bool Flag = true;
decimal CONTENT_LENGTH = 0, _Length = 0, _RowCount = 0, _RecordCount = 0, _ScanIndex = 0, _ScanCount = 0;
string _ScanAudit = "", _EndAccount = "", _PersonSell = "", _CommoditySale = "", TimeString = "", _CheckCode = "", _WeChatCode = "";
DateTime _MaxDate = DateTime.Parse("2000/01/01");
foreach (string str in action_data.Split('&'))
{
switch (str.Split('=')[0].ToUpper())
{
case "SCANAUDIT":
//CONTENT_LENGTH += str.Split('=')[1].Length;
//_ScanAudit = str.Split('=')[1];
//break;
case "ENDACCOUNT":
CONTENT_LENGTH += str.Split('=')[1].Length;
_EndAccount = str.Split('=')[1];
break;
case "PERSONSELL":
CONTENT_LENGTH += str.Split('=')[1].Length;
_PersonSell = str.Split('=')[1];
break;
case "COMMODITYSALE":
CONTENT_LENGTH += str.Split('=')[1].Length;
_CommoditySale = str.Split('=')[1];
break;
case "LENGTH":
_Length = decimal.Parse(str.Split('=')[1]);
break;
case "ROWCOUNT":
_RowCount = decimal.Parse(str.Split('=')[1]);
break;
case "RECORDCOUNT":
_RecordCount = decimal.Parse(str.Split('=')[1]);
break;
case "CHECKCODE":
_CheckCode = str.Split('=')[1];
break;
case "SCANINDEX":
_ScanIndex = decimal.Parse(str.Split('=')[1]);
break;
case "SCANCOUNT":
_ScanCount = decimal.Parse(str.Split('=')[1]);
break;
case "CODE":
_WeChatCode = str.Split('=')[1];
break;
}
}
if (_Length != CONTENT_LENGTH)
{
reString = "0";
}
else
{
MACHINEINFO _MACHINEINFO = new MACHINEINFO(_Transaction);
if (!string.IsNullOrEmpty(_EndAccount))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
_EndAccount + "' AND SCAN_TYPE = 'EndAccount' AND CONTENT_LENGTH = " + _Length).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (
SCANCODEUPDATE_ID,SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,
RECORD_COUNT,CHECK_CODE,SCAN_INDEX,SCAN_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'EndAccount','" + _EndAccount +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ",'" + _CheckCode + "'," +
_ScanIndex + "," + _ScanCount + ")", null);
}
else
{
Flag = false;
}
}
else
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"UPDATE HIGHWAY_EXCHANGE.T_SCANCODEUPDATE SET CHECK_CODE = '" +
_CheckCode + "',SCAN_INDEX = " + _ScanIndex + ",SCAN_COUNT = " + _ScanCount +
" WHERE SCAN_TYPE = 'EndAccount' AND SCAN_CONTENT = '" + _EndAccount +
"' AND CONTENT_LENGTH = " + _Length, null);
}
else
{
Flag = false;
}
}
if (!string.IsNullOrEmpty(_PersonSell))
{
foreach (string PersonSellString in _PersonSell.Split(','))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
PersonSellString + "' AND SCAN_TYPE = 'PersonSell' AND CONTENT_LENGTH = " + _Length).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (
SCANCODEUPDATE_ID,SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,
RECORD_COUNT,CHECK_CODE,SCAN_INDEX,SCAN_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'PersonSell','" + PersonSellString +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ",'" + _CheckCode +
"'," + _ScanIndex + "," + _ScanCount + ")", null);
}
else
{
Flag = false;
}
}
else
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"UPDATE HIGHWAY_EXCHANGE.T_SCANCODEUPDATE SET CHECK_CODE = '" +
_CheckCode + "',SCAN_INDEX = " + _ScanIndex + ",SCAN_COUNT = " + _ScanCount +
" WHERE SCAN_CONTENT = '" + PersonSellString +
"' AND SCAN_TYPE = 'PersonSell' AND CONTENT_LENGTH = " + _Length, null);
}
else
{
Flag = false;
}
}
}
}
string strMd5 = _MACHINEINFO.ExecuteDataTable("SELECT WM_CONCAT(SCAN_CONTENT) FROM (" +
"SELECT SCAN_CONTENT FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE CHECK_CODE = '" +
_CheckCode + "' AND SCAN_TYPE = 'EndAccount' ORDER BY SCAN_INDEX)").Rows[0][0].ToString();
if (strMd5 != "")
{
strMd5 = CreateMD5(strMd5);
if (strMd5 == _CheckCode)
{
reString = strMd5;
}
else
{
TimeString = _EndAccount.Split('|')[2];
TimeString = TimeString.Substring(0, 4) + "/" + TimeString.Substring(4, 2) + "/" +
TimeString.Substring(6, 2) + " " + TimeString.Substring(8, 2) + ":" +
TimeString.Substring(10, 2) + ":" + TimeString.Substring(12, 2);
reString = "3|" + TimeString;
}
}
}
if (!string.IsNullOrEmpty(_CommoditySale))
{
if (_MACHINEINFO.ExecuteDataTable("SELECT 1 FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT = '" +
_CommoditySale + "' AND SCAN_TYPE = 'CommoditySale' AND CONTENT_LENGTH = " + _Length +
" AND ROW_COUNT = " + _RowCount + " AND RECORD_COUNT = " + _RecordCount).Rows.Count == 0)
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"INSERT INTO HIGHWAY_EXCHANGE.T_SCANCODEUPDATE (SCANCODEUPDATE_ID,
SCAN_TYPE,SCAN_CONTENT,CONTENT_LENGTH,ROW_COUNT,RECORD_COUNT,CHECK_CODE,SCAN_INDEX,SCAN_COUNT)
VALUES (HIGHWAY_EXCHANGE.SEQ_SCANCODEUPDATE.NEXTVAL,'CommoditySale','" + _CommoditySale +
"'," + _Length + "," + _RowCount + "," + _RecordCount + ",'" + _CheckCode + "'," +
_ScanIndex + "," + _ScanCount + ")", null);
}
else
{
Flag = false;
}
}
else
{
if (action_record == "1")
{
_MACHINEINFO.ExecuteNonQuery(@"UPDATE HIGHWAY_EXCHANGE.T_SCANCODEUPDATE SET CHECK_CODE = '" +
_CheckCode + "',SCAN_INDEX = " + _ScanIndex + ",SCAN_COUNT = " + _ScanCount +
" WHERE SCAN_CONTENT = '" + _CommoditySale + "' AND CONTENT_LENGTH = " + _Length +
" AND SCAN_TYPE = 'CommoditySale' AND ROW_COUNT = " + _RowCount +
" AND RECORD_COUNT = " + _RecordCount, null);
}
else
{
Flag = false;
}
}
DataTable DataTableSale = _MACHINEINFO.ExecuteDataTable(
"SELECT DISTINCT ROW_COUNT FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE SCAN_CONTENT LIKE '%|" +
_CommoditySale.Split('|')[1] + "|" + _CommoditySale.Split('|')[2] + "|" +
_CommoditySale.Split('|')[3] + "|" + _CommoditySale.Split('|')[4] +
"|%' AND SCAN_TYPE = 'CommoditySale' ORDER BY ROW_COUNT");
if (DataTableSale.Rows.Count == _RecordCount)
{
string strMd5 = _MACHINEINFO.ExecuteDataTable("SELECT WM_CONCAT(SCAN_CONTENT) FROM (" +
"SELECT SCAN_CONTENT FROM HIGHWAY_EXCHANGE.T_SCANCODEUPDATE WHERE CHECK_CODE = '" +
_CheckCode + "' AND SCAN_TYPE = 'CommoditySale' ORDER BY SCAN_INDEX)").Rows[0][0].ToString();
if (strMd5 != "")
{
strMd5 = CreateMD5(strMd5);
if (strMd5 == _CheckCode)
{
reString = strMd5;
}
else
{
TimeString = _CommoditySale.Split('|')[4];
TimeString = TimeString.Substring(0, 4) + "/" + TimeString.Substring(4, 2) + "/" +
TimeString.Substring(6, 2) + " " + TimeString.Substring(8, 2) + ":" +
TimeString.Substring(10, 2) + ":" + TimeString.Substring(12, 2);
reString = "3|" + TimeString;
}
}
}
else
{
foreach (DataRow _DataRow in DataTableSale.Rows)
{
if (!("," + reString + ",").Contains("," + _DataRow["ROW_COUNT"].ToString() + ","))
{
reString += (string.IsNullOrEmpty(reString) ? "" : ",") + _DataRow["ROW_COUNT"].ToString();
}
}
reString = "2|" + reString;
}
}
if (!Flag)
{
reString = "0";
}
}
}
catch (Exception ex)
{
_Transaction.Rollback();
reString = "0";
}
break;
#endregion
#region 数据采集
case "CurDayCollection":
try
{
_DataTable = new CONFIGURATION(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.V_CURDATACOLLECTION WHERE PROVINCE_CODE = '" +
(string.IsNullOrEmpty(action_data) ? _PROVINCE_CODE : action_data) + "'");
reString = JsonHelper.DataTableToJson(_DataTable, "CollectionObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "CurHalfCollection":
try
{
_DataTable = new CONFIGURATION(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.V_DATACOLLECTION_AVRHALF WHERE PROVINCE_CODE = '" +
(string.IsNullOrEmpty(action_data) ? _PROVINCE_CODE : action_data) + "' ORDER BY AVR_TICKET DESC");
reString = JsonHelper.DataTableToJson(_DataTable, "CollectionObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetWechatPushDtail":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
switch (action_data)
{
case "1010":
case "1020":
if (action_record.Split(',').Length < 2)
{
_DataTable = null;
}
else
{
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
@"SELECT * FROM HIGHWAY_STORAGE.T_WECHATPUSHDETAIL WHERE DIRECTION_IDS = '" +
action_record.Split(',')[0] + "' AND GROUP_TYPE = " + action_data +
" AND TRUNC(STATISTICS_DATE) = TO_DATE('" + action_record.Split(',')[1].Split(' ')[0] +
"','YYYY/MM/DD')" + (action_record.Split(',').Length > 2 ? " AND PROVINCE_CODE = '" +
action_record.Split(',')[2] + "'" : "") + " ORDER BY STATISTICS_DATE DESC");
}
break;
case "2000":
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
@"SELECT * FROM HIGHWAY_STORAGE.T_WECHATPUSHDETAIL WHERE GROUP_TYPE = " + action_data +
" AND RTWECHATPUSH_ID = " + action_record.Split(',')[2] + " AND DIRECTION_IDS = '" +
action_record.Split(',')[0] + "' AND TRUNC(STATISTICS_DATE) = TO_DATE('" +
action_record.Split(',')[1].Split(' ')[0] + "','YYYY/MM/DD')" +
(action_record.Split(',').Length > 3 ? " AND PROVINCE_CODE = '" +
action_record.Split(',')[3] + "'" : "") + " ORDER BY STATISTICS_DATE DESC");
break;
case "1000":
default:
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
@"SELECT * FROM HIGHWAY_STORAGE.T_WECHATPUSHDETAIL WHERE DIRECTION_IDS IS NULL AND
GROUP_TYPE = " + (string.IsNullOrEmpty(action_data) ? "1000" : action_data) +
" AND " + (string.IsNullOrEmpty(action_record) ? "STATISTICS_DATE > TRUNC(SYSDATE - 3/2)" :
"TRUNC(STATISTICS_DATE) = TO_DATE('" + action_record.Split(',')[0].Split(' ')[0] +
"','YYYY/MM/DD')" + (action_record.Split(',').Length > 1 ? " AND PROVINCE_CODE = '" +
action_record.Split(',')[1] + "'" : "")) + " ORDER BY STATISTICS_DATE DESC");
/*for (int RowCount = 0; RowCount < _DataTable.Rows.Count; RowCount++)
{
DataTable UploadData = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(string.Format(
@"SELECT COUNT(DISTINCT SERVERPARTSHOP_ID) AS TOTALCOUNT,
CASE WHEN SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%' THEN 95
ELSE SERVERPART_ID END AS SERVERPART_ID
FROM HIGHWAY_SELLDATA.V_ENDACCOUNT_TEMP
WHERE NVL(BUSINESS_STATE,1000) = 1000 AND NVL(STATISTIC_TYPE,1000) = 1000 AND
ENDACCOUNT_ID <> 0 AND TRUNC(ENDACCOUNT_DATE) = TO_DATE('{0}','YYYY/MM/DD')
GROUP BY CASE WHEN SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%' THEN 95
ELSE SERVERPART_ID END", _DataTable.Rows[RowCount]["STATISTICS_DATE"].ToString().Split(' ')[0]));
DataTable TotalCount = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(string.Format(
@"SELECT COUNT(1) AS TOTALCOUNT,CASE WHEN A.SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%'
THEN 95 ELSE A.SERVERPART_ID END AS SERVERPART_ID
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND NVL(BUSINESS_STATE,1000) = 1000 AND
NVL(B.STATISTIC_TYPE,1000) = 1000 AND ISVALID = 1 AND
NVL(B.BUSINESS_ENDDATE,SYSDATE) >= TO_DATE('{0}','YYYY/MM/DD') AND
TRUNC(NVL(B.BUSINESS_DATE,TO_DATE('2015/06/01','YYYY/MM/DD'))) <= TO_DATE('{0}','YYYY/MM/DD')
GROUP BY CASE WHEN A.SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%' THEN 95
ELSE A.SERVERPART_ID END", _DataTable.Rows[RowCount]["STATISTICS_DATE"].ToString().Split(' ')[0]));
DataTable Revenue = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(string.Format(
@"SELECT A.TYPE_NAME,A.TYPE_INDEX,SUM(CASHPAY) AS CASHPAY,
CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%'
THEN '金华服务区' ELSE A.SERVERPART_NAME END AS SERVERPART_NAME,
CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%'
THEN 95 ELSE A.SERVERPART_ID END AS SERVERPART_ID,
CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%'
THEN 4010 ELSE A.SERVERPART_INDEX END AS SERVERPART_INDEX,
CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%'
THEN '334010' ELSE A.SERVERPART_CODE END AS SERVERPART_CODE
FROM HIGHWAY_STORAGE.V_REGIONSERVERPART A,HIGHWAY_SELLDATA.V_ENDACCOUNT_TEMP B
WHERE NVL(B.BUSINESS_STATE,1000) = 1000 AND NVL(B.STATISTIC_TYPE,1000) = 1000 AND
A.SERVERPART_ID = B.SERVERPART_ID AND A.PROVINCE_CODE = {0} AND
TRUNC(ENDACCOUNT_DATE) = TO_DATE('{1}','YYYY/MM/DD')
GROUP BY A.TYPE_NAME,A.TYPE_INDEX,CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%'
THEN '金华服务区' ELSE A.SERVERPART_NAME END,CASE WHEN A.SERVERPART_ID = 123 AND
A.SERVERPART_NAME LIKE '金华%' THEN 95 ELSE A.SERVERPART_ID END,
CASE WHEN A.SERVERPART_ID = 123 AND A.SERVERPART_NAME LIKE '金华%' THEN 4010
ELSE A.SERVERPART_INDEX END, CASE WHEN A.SERVERPART_ID = 123 AND
A.SERVERPART_NAME LIKE '金华%' THEN '334010' ELSE A.SERVERPART_CODE END
ORDER BY A.TYPE_INDEX,SERVERPART_INDEX,SERVERPART_CODE", _PROVINCE_CODE,
_DataTable.Rows[RowCount]["STATISTICS_DATE"].ToString().Split(' ')[0]));
string _TYPE_NAME = "", _SERVERPART_REVENUE = "";
foreach (DataRow _DataRow in Revenue.Rows)
{
string _SERVERPART_ID = _DataRow["SERVERPART_ID"].ToString();
if (_TYPE_NAME != _DataRow["TYPE_NAME"].ToString())
{
_TYPE_NAME = _DataRow["TYPE_NAME"].ToString();
_SERVERPART_REVENUE += (string.IsNullOrEmpty(_SERVERPART_REVENUE) ? "" : "|") +
_DataRow["TYPE_NAME"].ToString();
}
_SERVERPART_REVENUE += "," + _DataRow["SERVERPART_NAME"].ToString().Replace(
"(便利店)", "").Replace("(便利店)", "").Replace("(便利店)", "").Replace("(便利店)", "") +
"&&" + _DataRow["CASHPAY"].ToString() + "&&" + (UploadData.Select("SERVERPART_ID = " +
_SERVERPART_ID).Length > 0 ? UploadData.Select("SERVERPART_ID = " +
_SERVERPART_ID)[0]["TOTALCOUNT"].ToString() : "0") + "/" + (TotalCount.Select(
"SERVERPART_ID = " + _SERVERPART_ID).Length > 0 ? TotalCount.Select("SERVERPART_ID = " +
_SERVERPART_ID)[0]["TOTALCOUNT"].ToString() : "0") + "&&" + _SERVERPART_ID;
}
if (!string.IsNullOrEmpty(_SERVERPART_REVENUE))
{
_DataTable.Rows[RowCount]["SERVERPART_REVENUE"] = _SERVERPART_REVENUE;
}
}*/
break;
}
reString = JsonHelper.DataTableToJson(_DataTable, "CollectionObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetWechatPushSales":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.T_WECHATPUSHSALES WHERE WECHATPUSHDETAIL_ID = " + action_data +
(string.IsNullOrEmpty(action_record) ? "" : " AND PROVINCE_CODE = '" + action_record + "'"));
reString = JsonHelper.DataTableToJson(_DataTable, "WechatPushSalesObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetYestdayEndaccount":
try
{
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
@"SELECT SERVERPART_ID,SERVERPART_NAME,COUNT(DISTINCT SHOPCODE) AS CheckCount,
COUNT(CASE WHEN TOTALSELLAMOUNT <> 0 AND ((DIFFERENT_PRICE < 0 AND
TOTALSELLAMOUNT > CASHPAY) OR (DIFFERENT_PRICE > 0 AND
CASHPAY_DOWNLORD + COSTBILL + TICKETBILL + OTHERPAY > CASHPAY)) THEN 1 END) AS AbnormalCount
FROM HIGHWAY_SELLDATA.T_ENDACCOUNT WHERE TREATMENT_MARK = 2 AND
TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) = " + (string.IsNullOrEmpty(action_data) ?
"TRUNC(SYSDATE - 1)" : "TO_DATE('" + action_data.Split(' ')[0] +
"','YYYY/MM/DD'") + " GROUP BY SERVERPART_ID,SERVERPART_NAME");
reString = JsonHelper.DataTableToJson(_DataTable, "WechatPushSalesObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndaccountByServerpart":
try
{
try
{
action_record = HttpContext.Current.Request.Params["action_record"];
}
catch
{
action_record = "";
}
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
@"SELECT TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) AS ENDACCOUNT_DATE,
NVL(SUM(CASHPAY),0) AS CASHPAY,NVL(SUM(DIFFERENT_PRICE),0) AS DIFFERENT_PRICE,
NVL(SUM(TICKETCOUNT),0) AS TICKETCOUNT,NVL(SUM(TOTALCOUNT),0) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.T_ENDACCOUNT WHERE SERVERPART_ID IN (" + action_data +
") AND TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) BETWEEN TO_DATE('" +
action_record.Split(',')[0].Split(' ')[0] + "','YYYY/MM/DD') AND TO_DATE('" +
action_record.Split(',')[1].Split(' ')[0] + "','YYYY/MM/DD') " +
"GROUP BY TRUNC(NVL(STATISTICS_DATE,ENDACCOUNT_DATE)) ORDER BY ENDACCOUNT_DATE");
reString = JsonHelper.DataTableToJson(_DataTable, "WechatPushSalesObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndAccountSale":
try
{
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(
"SELECT COUNT(1) AS SALECOUNT,COUNT(CASE WHEN COMMODITYTYPE_CODE IN (" + _CigaretteType +
") THEN 1 END) AS cigaretteCount FROM HIGHWAY_SELLDATA.V_COMMODITYSALE_CHECK WHERE ENDACCOUNT_ID = " + action_data);
reString = JsonHelper.DataTableToJson(_DataTable, "EndAccountSaleObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetEndAccountMobilePay":
try
{
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(@"SELECT COUNT(1) AS MobilePayCount
FROM HIGHWAY_SELLDATA.T_SELLDATA_EXTRA A WHERE A.SELLDATA_TYPE IN('ALIPAY','WECHAT') AND
EXISTS(SELECT 1 FROM HIGHWAY_SELLDATA.T_ENDACCOUNT B WHERE A.SERVERPART_ID = B.SERVERPART_ID AND
A.SHOPCODE = B.SHOPCODE AND A.MACHINECODE = B.MACHINECODE AND
A.SELLDATA_DATE BETWEEN B.ENDACCOUNT_STARTDATE AND B.ENDACCOUNT_DATE AND
B.ENDACCOUNT_ID = " + action_data + ")");
reString = JsonHelper.DataTableToJson(_DataTable, "EndAccountMobilePayObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 微信模块权限获取
case "GetModuleAuthority":
try
{
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
"SELECT * FROM MOBILESERVICE_PLATFORM.V_MODULEAUTHORITY WHERE WECHAT_OPENID = '" + action_data + "'");
reString = JsonHelper.DataTableToJson(_DataTable, "ModuleAuthorityObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取上传门店数量
case "GetUploadShops":
try
{
_DataTable = new Business.RTWECHATPUSH(_Transaction).ExecuteDataTable(
string.Format(@"SELECT COUNT(DISTINCT SHOPCODE) AS SHOPCOUNT,
CASE WHEN SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%'
THEN 95 ELSE SERVERPART_ID END AS SERVERPART_ID,
CASE WHEN SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%'
THEN '金华服务区' ELSE SERVERPART_NAME END AS SERVERPART_NAME,
COUNT(CASE WHEN DESCRIPTION_DATE IS NOT NULL AND TOTALSELLAMOUNT <> 0 AND
((DIFFERENT_PRICE < 0 AND TOTALSELLAMOUNT > CASHPAY) OR
(DIFFERENT_PRICE > 0 AND CASHPAY_DOWNLORD + COSTBILL + TICKETBILL + OTHERPAY > CASHPAY))
THEN 1 ELSE NULL END) AS EXCEPTION_COUNT,SUM(CASHPAY) AS CASHPAY
FROM HIGHWAY_SELLDATA.T_ENDACCOUNT_TEMP WHERE VALID = 1 AND TRUNC(ENDACCOUNT_DATE) = {0}
GROUP BY CASE WHEN SERVERPART_ID = 123 AND SERVERPART_NAME LIKE '金华%'
THEN 95 ELSE SERVERPART_ID END,CASE WHEN SERVERPART_ID = 123 AND
SERVERPART_NAME LIKE '金华%' THEN '金华服务区' ELSE SERVERPART_NAME END",
(string.IsNullOrEmpty(action_data) ? "TRUNC(SYSDATE) - 1" : "TO_DATE('" +
action_data.Split(' ')[0] + "','YYYY/MM/DD')")));
reString = JsonHelper.DataTableToJson(_DataTable, "DataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取商品流程详情
case "GetCommodityList":
try
{
string SqlString = @"SELECT COMMODITYTYPE_NAME,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_UNIT,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('BUSINESSTYPE',TO_CHAR(BUSINESSTYPE)) AS BUSINESSTYPE,
COMMODITY_RULE,COMMODITY_CURRPRICE,COMMODITY_RETAILPRICE,COMMODITY_PURCHASEPRICE,OPERATE_DATE,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('COMMODITYSTATE',TO_CHAR(COMMODITY_STATE)) AS COMMODITY_STATE
FROM HIGHWAY_STORAGE.V_COMMODITYAPPROVAL WHERE HIGHWAYPROINST_ID = " + action_data.ToDecrypt();
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(SqlString);
reString = JsonHelper.DataTableToJson(_DataTable, "CommodityList");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 商品信息列表
case "GetApproveCommodity":
try
{
Running.Business.HIGHWAYPROINST _HIGHWAYPROINST = new Running.Business.HIGHWAYPROINST(_Transaction);
Business.HIGHWAYPROINST _StorageHIGHWAYPROINST = new Business.HIGHWAYPROINST(_Transaction);
_HIGHWAYPROINST.HIGHWAYPROINST_ID_Encrypt = action_data;
_StorageHIGHWAYPROINST.HIGHWAYPROINST_ID_Encrypt = action_data;
if (_HIGHWAYPROINST.Select())
{
string SqlString = @"SELECT COMMODITYTYPE_NAME,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_UNIT,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('BUSINESSTYPE',TO_CHAR(BUSINESSTYPE)) AS BUSINESSTYPE,
COMMODITY_RULE,COMMODITY_CURRPRICE,COMMODITY_RETAILPRICE,COMMODITY_PURCHASEPRICE,OPERATE_DATE,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('BUSINESSTYPE',TO_CHAR(BUSINESSTYPE)) AS BUSINESSTYPE_NAME,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('COMMODITYSTATE',TO_CHAR(COMMODITY_STATE)) AS COMMODITY_STATE,
NULL AS COMMODITY_ISVALID
FROM HIGHWAY_STORAGE.V_COMMODITYAPPROVAL WHERE HIGHWAYPROINST_ID = " + action_data.ToDecrypt();
_DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(SqlString);
}
else if (_StorageHIGHWAYPROINST.Select() && _StorageHIGHWAYPROINST.HIGHWAYPROINST_NEXTID == 9000)
{
#region 获取商品
string SqlString = string.Format(
@"SELECT COMMODITY_TYPE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_UNIT,COMMODITY_RULE,
COMMODITYTYPE_NAME,COMMODITY_CURRPRICE,COMMODITY_RETAILPRICE,COMMODITY_PURCHASEPRICE,
OPERATE_DATE,NULL AS COMMODITY_ISVALID,BUSINESSTYPE,SERVERPART_ID,HIGHWAYPROINST_ENDDATE,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('COMMODITYSTATE',TO_CHAR(COMMODITY_STATE)) AS COMMODITY_STATE ,
HIGHWAY_STORAGE.FUNC_GETENUMVALUE('BUSINESSTYPE',TO_CHAR(BUSINESSTYPE)) AS BUSINESSTYPE_NAME
FROM
(SELECT D.SERVERPART_ID,D.SERVERPART_NAME,D.COMMODITYTYPE_NAME,D.COMMODITYTYPE_CODE,
D.HIGHWAYPROINST_ID,D.MODIFYFROMSTORAGE_ID,D.COMMODITY_ID,D.COMMODITY_TYPE,
D.COMMODITY_CODE,D.COMMODITY_NAME,D.COMMODITY_BARCODE,D.COMMODITY_SERVERCODE,
D.COMMODITY_ALLNAME,D.COMMODITY_EN,D.COMMODITY_UNIT,D.COMMODITY_RULE,
D.COMMODITY_ORI,D.COMMODITY_GRADE,D.COMMODITY_CURRPRICE,D.COMMODITY_ORIPRICE,
D.COMMODITY_RETAILPRICE,D.COMMODITY_MAXPRICE,D.COMMODITY_MINPRICE,
D.COMMODITY_PROMOTIONPRICE,D.COMMODITY_UNIFORMPRICE,D.COMMODITY_GROUPPRICE,
D.COMMODITY_MEMBERPRICE,D.COMMODITY_PURCHASEPRICE,D.COMMODITY_STATE,
D.COMMODITY_DESC,D.SUPPLIER_ID,D.COMMODITY_BRAND,D.DUTY_PARAGRAPH,D.RETAIL_DUTY,
D.COMMODITY_COUNT,D.COMMODITY_FROZENCOUNT,D.ADDTIME,D.CANSALE,D.PROVINCE_CODE,
D.BUSINESSTYPE,D.ISBULK,D.METERINGMETHOD,D.OPERATE_DATE,D.COMMODITY_SYMBOL,D.HIGHWAYPROINST_ENDDATE
FROM
(SELECT * FROM (SELECT A.SERVERPART_ID,A.SERVERPART_NAME,E.COMMODITYTYPE_NAME,
E.COMMODITYTYPE_CODE,B.HIGHWAYPROINST_ID,C.MODIFYFROMSTORAGE_ID,D.COMMODITY_ID,
D.COMMODITY_TYPE,D.COMMODITY_CODE,D.COMMODITY_NAME,D.COMMODITY_BARCODE,
D.COMMODITY_SERVERCODE,D.COMMODITY_ALLNAME,D.COMMODITY_EN,D.COMMODITY_UNIT,
D.COMMODITY_RULE,D.COMMODITY_ORI,D.COMMODITY_GRADE,D.COMMODITY_CURRPRICE,
D.COMMODITY_ORIPRICE,D.COMMODITY_RETAILPRICE,D.COMMODITY_MAXPRICE,D.COMMODITY_MINPRICE,
D.COMMODITY_PROMOTIONPRICE,D.COMMODITY_UNIFORMPRICE,D.COMMODITY_GROUPPRICE,
D.COMMODITY_MEMBERPRICE,D.COMMODITY_PURCHASEPRICE,D.COMMODITY_STATE,
D.COMMODITY_DESC,D.SUPPLIER_ID,D.COMMODITY_BRAND,D.DUTY_PARAGRAPH,D.RETAIL_DUTY,
D.COMMODITY_COUNT,D.COMMODITY_FROZENCOUNT,D.ADDTIME,D.CANSALE,D.PROVINCE_CODE,
D.BUSINESSTYPE,D.ISBULK,D.METERINGMETHOD,D.OPERATE_DATE,D.COMMODITY_SYMBOL,
B.HIGHWAYPROINST_ENDDATE,ROW_NUMBER()OVER(PARTITION BY COMMODITY_ID
ORDER BY B.HIGHWAYPROINST_ENDDATE DESC) AS COLNUM
FROM
HIGHWAY_STORAGE.T_SERVERPART A,
HIGHWAY_STORAGE.T_HIGHWAYPROINST B,
HIGHWAY_STORAGE.T_MODIFYFROMSTORAGE C,
HIGHWAY_STORAGE.T_COMMODITY D,
HIGHWAY_STORAGE.T_COMMODITYTYPE E
WHERE
A.SERVERPART_ID = B.DEPT_ID AND D.COMMODITY_TYPE = E.COMMODITYTYPE_ID AND
B.HIGHWAYPROINST_ID = C.HIGHWAYPROINST_ID AND C.TABLE_NAME = 'T_COMMODITY' AND
C.FIELD_NAME = 'COMMODITY_ID' AND C.FIELD_VALUE = D.COMMODITY_ID AND
B.HIGHWAYPROINST_ID = {0})) D
LEFT JOIN
(SELECT * FROM (SELECT COMMODITY_ID,COMMODITY_TYPE,E.COMMODITYTYPE_NAME,
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_SERVERCODE,
COMMODITY_ALLNAME,COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_ORI,
COMMODITY_GRADE,COMMODITY_CURRPRICE,COMMODITY_ORIPRICE,COMMODITY_RETAILPRICE,
COMMODITY_MAXPRICE,COMMODITY_MINPRICE,COMMODITY_PROMOTIONPRICE,COMMODITY_UNIFORMPRICE,
COMMODITY_GROUPPRICE,COMMODITY_MEMBERPRICE,COMMODITY_PURCHASEPRICE,
COMMODITY_STATE,COMMODITY_DESC,SUPPLIER_ID,COMMODITY_BRAND,DUTY_PARAGRAPH,
RETAIL_DUTY,COMMODITY_COUNT,COMMODITY_FROZENCOUNT,ADDTIME,CANSALE,PROVINCE_CODE,
BUSINESSTYPE,ISBULK,METERINGMETHOD,OPERATE_DATE,COMMODITY_SYMBOL,
ROW_NUMBER()OVER(PARTITION BY COMMODITY_ID
ORDER BY OPERATE_DATE DESC) AS COLNUM
FROM HIGHWAY_HISTORY.T_COMMODITY C,HIGHWAY_STORAGE.T_COMMODITYTYPE E
WHERE C.COMMODITY_TYPE = E.COMMODITYTYPE_ID AND EXISTS(SELECT 1
FROM HIGHWAY_STORAGE.T_HIGHWAYPROINST A,HIGHWAY_STORAGE.T_MODIFYFROMSTORAGE B
WHERE B.HIGHWAYPROINST_ID = A.HIGHWAYPROINST_ID AND
B.TABLE_NAME = 'T_COMMODITY' AND B.FIELD_NAME = 'COMMODITY_ID' AND
B.FIELD_VALUE = C.COMMODITY_ID AND B.HIGHWAYPROINST_ID = {0}))
WHERE COLNUM = 1) F
ON
D.COMMODITY_ID = F.COMMODITY_ID
WHERE
D.COLNUM = 1
UNION ALL
SELECT
SERVERPART_ID,SERVERPART_NAME,COMMODITYTYPE_NAME,COMMODITYTYPE_CODE,
HIGHWAYPROINST_ID,MODIFYFROMSTORAGE_ID,COMMODITY_ID,COMMODITY_TYPE,COMMODITY_CODE,
COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_SERVERCODE,COMMODITY_ALLNAME,COMMODITY_EN,
COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_ORI,COMMODITY_GRADE,COMMODITY_CURRPRICE,
COMMODITY_ORIPRICE,COMMODITY_RETAILPRICE,COMMODITY_MAXPRICE,COMMODITY_MINPRICE,
COMMODITY_PROMOTIONPRICE,COMMODITY_UNIFORMPRICE,COMMODITY_GROUPPRICE,
COMMODITY_MEMBERPRICE,COMMODITY_PURCHASEPRICE,COMMODITY_STATE,COMMODITY_DESC,
SUPPLIER_ID,COMMODITY_BRAND,DUTY_PARAGRAPH,RETAIL_DUTY,COMMODITY_COUNT,
COMMODITY_FROZENCOUNT,ADDTIME,CANSALE,PROVINCE_CODE,BUSINESSTYPE,ISBULK,
METERINGMETHOD,OPERATE_DATE,COMMODITY_SYMBOL,HIGHWAYPROINST_ENDDATE
FROM
(SELECT A.SERVERPART_ID,A.SERVERPART_NAME,E.COMMODITYTYPE_NAME,E.COMMODITYTYPE_CODE,
B.HIGHWAYPROINST_ID,C.MODIFYFROMSTORAGE_ID,D.COMMODITY_ID,D.COMMODITY_TYPE,
D.COMMODITY_CODE,D.COMMODITY_NAME,D.COMMODITY_BARCODE,D.COMMODITY_SERVERCODE,
D.COMMODITY_ALLNAME,D.COMMODITY_EN,D.COMMODITY_UNIT,D.COMMODITY_RULE,D.COMMODITY_ORI,
D.COMMODITY_GRADE,D.COMMODITY_CURRPRICE,D.COMMODITY_ORIPRICE,D.COMMODITY_RETAILPRICE,
D.COMMODITY_MAXPRICE,D.COMMODITY_MINPRICE,D.COMMODITY_PROMOTIONPRICE,D.COMMODITY_UNIFORMPRICE,
D.COMMODITY_GROUPPRICE,D.COMMODITY_MEMBERPRICE,D.COMMODITY_PURCHASEPRICE,D.COMMODITY_STATE,
D.COMMODITY_DESC,D.SUPPLIER_ID,D.COMMODITY_BRAND,D.DUTY_PARAGRAPH,D.RETAIL_DUTY,
D.COMMODITY_COUNT,D.COMMODITY_FROZENCOUNT,D.ADDTIME,D.CANSALE,D.PROVINCE_CODE,
D.BUSINESSTYPE,D.ISBULK,D.METERINGMETHOD,D.OPERATE_DATE,D.COMMODITY_SYMBOL,B.HIGHWAYPROINST_ENDDATE
FROM
HIGHWAY_STORAGE.T_SERVERPART A,
HIGHWAY_STORAGE.T_HIGHWAYPROINST B,
HIGHWAY_STORAGE.T_MODIFYFROMSTORAGE C,
(SELECT * FROM (SELECT COMMODITY_ID,COMMODITY_TYPE,
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_SERVERCODE,
COMMODITY_ALLNAME,COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_ORI,
COMMODITY_GRADE,COMMODITY_CURRPRICE,COMMODITY_ORIPRICE,COMMODITY_RETAILPRICE,
COMMODITY_MAXPRICE,COMMODITY_MINPRICE,COMMODITY_PROMOTIONPRICE,COMMODITY_UNIFORMPRICE,
COMMODITY_GROUPPRICE,COMMODITY_MEMBERPRICE,COMMODITY_PURCHASEPRICE,
COMMODITY_STATE,COMMODITY_DESC,SUPPLIER_ID,COMMODITY_BRAND,DUTY_PARAGRAPH,
RETAIL_DUTY,COMMODITY_COUNT,COMMODITY_FROZENCOUNT,ADDTIME,CANSALE,PROVINCE_CODE,
BUSINESSTYPE,ISBULK,METERINGMETHOD,OPERATE_DATE,COMMODITY_SYMBOL,
ROW_NUMBER()OVER(PARTITION BY COMMODITY_ID ORDER BY OPERATE_DATE) AS COLNUM
FROM HIGHWAY_HISTORY.T_COMMODITY WHERE OPERATE_DATE > TO_DATE('{1}','YYYY-MM-DD HH24:MI:SS'))
WHERE COLNUM = 1) D
LEFT JOIN
(SELECT * FROM (SELECT COMMODITY_ID,COMMODITY_TYPE,E.COMMODITYTYPE_NAME,
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_SERVERCODE,
COMMODITY_ALLNAME,COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_ORI,
COMMODITY_GRADE,COMMODITY_CURRPRICE,COMMODITY_ORIPRICE,COMMODITY_RETAILPRICE,
COMMODITY_MAXPRICE,COMMODITY_MINPRICE,COMMODITY_PROMOTIONPRICE,COMMODITY_UNIFORMPRICE,
COMMODITY_GROUPPRICE,COMMODITY_MEMBERPRICE,COMMODITY_PURCHASEPRICE,
COMMODITY_STATE,COMMODITY_DESC,SUPPLIER_ID,COMMODITY_BRAND,DUTY_PARAGRAPH,
RETAIL_DUTY,COMMODITY_COUNT,COMMODITY_FROZENCOUNT,ADDTIME,CANSALE,PROVINCE_CODE,
BUSINESSTYPE,ISBULK,METERINGMETHOD,OPERATE_DATE,COMMODITY_SYMBOL,
ROW_NUMBER()OVER(PARTITION BY COMMODITY_ID
ORDER BY OPERATE_DATE DESC) AS COLNUM
FROM HIGHWAY_HISTORY.T_COMMODITY C,HIGHWAY_STORAGE.T_COMMODITYTYPE E
WHERE C.COMMODITY_TYPE = E.COMMODITYTYPE_ID AND EXISTS(SELECT 1
FROM HIGHWAY_STORAGE.T_HIGHWAYPROINST A,HIGHWAY_STORAGE.T_MODIFYFROMSTORAGE B
WHERE B.HIGHWAYPROINST_ID = A.HIGHWAYPROINST_ID AND
B.TABLE_NAME = 'T_COMMODITY' AND B.FIELD_NAME = 'COMMODITY_ID' AND
B.FIELD_VALUE = C.COMMODITY_ID AND B.HIGHWAYPROINST_ID = {0}))) F
ON
D.COMMODITY_ID = F.COMMODITY_ID AND F.OPERATE_DATE < TO_DATE('{1}','YYYY-MM-DD HH24:MI:SS'),
HIGHWAY_STORAGE.T_COMMODITYTYPE E
WHERE
A.SERVERPART_ID = B.DEPT_ID AND D.COMMODITY_TYPE = E.COMMODITYTYPE_ID AND
B.HIGHWAYPROINST_ID = C.HIGHWAYPROINST_ID AND C.TABLE_NAME = 'T_COMMODITY' AND
C.FIELD_NAME = 'COMMODITY_ID' AND C.FIELD_VALUE = D.COMMODITY_ID AND
D.OPERATE_DATE > B.HIGHWAYPROINST_ENDDATE AND B.HIGHWAYPROINST_ID = {0})
WHERE ROWNUM <= 1)", _StorageHIGHWAYPROINST.HIGHWAYPROINST_ID,
_StorageHIGHWAYPROINST.HIGHWAYPROINST_ENDDATE);
DataTable COMMODITYAPPROVALLIST = _StorageHIGHWAYPROINST.ExecuteDataTable(SqlString);
_DataTable = COMMODITYAPPROVALLIST.Clone();
#endregion
//门店信息
DataTable ServerpartShop = _StorageHIGHWAYPROINST.ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP");
Business.SERVERPART _SERVERPART = new Business.SERVERPART(_Transaction);
_SERVERPART.SERVERPART_ID = _StorageHIGHWAYPROINST.Dept_ID;
if (_SERVERPART.Select())
{
//基础信息信息
CONFIGURATION _CONFIGURATION = new CONFIGURATION(_Transaction);
DataTable HighwayProinstMachine = _CONFIGURATION.ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.T_BASEINFOFEEDBACK WHERE SERVERPART_CODE = '" +
_SERVERPART.SERVERPART_CODE + "' AND TABLE_NAME = 'T_COMMODITY'");
for (int RowCount = 0; RowCount < COMMODITYAPPROVALLIST.Rows.Count; RowCount++)
{
string commodityisvalid = null;
foreach (DataRow shopid in ServerpartShop.Select("SERVERPART_ID = " +
COMMODITYAPPROVALLIST.Rows[RowCount]["SERVERPART_ID"].ToString() + " AND SHOPTRADE = '" +
COMMODITYAPPROVALLIST.Rows[RowCount]["BUSINESSTYPE"].ToString() + "'"))
{
string restring = null, errorstring = null;
foreach (DataRow machine in HighwayProinstMachine.Select("SERVERPARTSHOP_ID = " + shopid.ItemArray[0]))
{
DateTime HIGHWAYPROINST_ENDDATE = Convert.ToDateTime(
COMMODITYAPPROVALLIST.Rows[RowCount]["HIGHWAYPROINST_ENDDATE"].ToString());
DateTime MACHINE_ENDDATE = Convert.ToDateTime(machine.ItemArray[10].ToString());
if (DateTime.Compare(MACHINE_ENDDATE, HIGHWAYPROINST_ENDDATE) >= 0)
{
restring += (string.IsNullOrEmpty(restring) ? "" : ",") + machine.ItemArray[6].ToString();
}
else
{
errorstring += (string.IsNullOrEmpty(errorstring) ? "" : ",") + machine.ItemArray[6].ToString();
}
}
if (!string.IsNullOrEmpty(restring))
{
commodityisvalid += shopid.ItemArray[2].ToString() + "(已生效)" +
(string.IsNullOrEmpty(restring) ? "" : ":") + restring + "
";
}
if (!string.IsNullOrEmpty(errorstring))
{
commodityisvalid += shopid.ItemArray[2].ToString() + "(未生效)" +
(string.IsNullOrEmpty(errorstring) ? "" : ":") + errorstring + "
";
}
}
COMMODITYAPPROVALLIST.Rows[RowCount]["COMMODITY_ISVALID"] = commodityisvalid;
_DataTable.Rows.Add(COMMODITYAPPROVALLIST.Rows[RowCount].ItemArray);
}
}
}
reString = JsonHelper.DataTableToJson(_DataTable, "CommodityList");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 按员工内码获取账号反馈
case "GetApproveCashWorkerByID":
try
{
//判断存在商品
Business.CASHWORKER _CASHWORKER = new Business.CASHWORKER(_Transaction);
_CASHWORKER.CASHWORKER_ID_Encrypt = action_data;
if (_CASHWORKER.Select())
{
DataTable CashWorker = _CASHWORKER.ExecuteDataTable(
"SELECT OPERATE_ID,OPERATE_NAME,OPERATE_DATE FROM HIGHWAY_STORAGE.T_CASHWORKER WHERE CASHWORKER_ID =" +
action_data.ToDecrypt());
Business.SERVERPART _SERVERPART = new Business.SERVERPART(_Transaction);
_SERVERPART.SERVERPART_ID = _CASHWORKER.SERVERPART_ID;
if (_SERVERPART.Select())
{
//基础信息信息
CONFIGURATION _CONFIGURATION = new CONFIGURATION(_Transaction);
DataTable HighwayProinstMachine = _CONFIGURATION.ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.T_BASEINFOFEEDBACK WHERE SERVERPART_CODE = '" +
_SERVERPART.SERVERPART_CODE + "' AND TABLE_NAME = 'T_CASHWORKER'");
//获取关联门店
DataTable RTCASHSHOP = _SERVERPART.ExecuteDataTable(
"SELECT SERVERPARTSHOP_ID FROM HIGHWAY_STORAGE.T_RTCASHSHOP WHERE CASHWORKER_ID = " + action_data.ToDecrypt());
//新建datatabel
DataTable tblDatas = new DataTable("Datas");
tblDatas.Columns.Add("SHOPNAME", Type.GetType("System.String"));
tblDatas.Columns.Add("CASHWORKER_VAILD", Type.GetType("System.String"));
tblDatas.Columns.Add("CASHWORKER_INVAILD", Type.GetType("System.String"));
if (RTCASHSHOP.Rows.Count > 0)
{
//获取下发情况
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(_Transaction).FillCollection(
@"WHERE SERVERPARTSHOP_ID IN(SELECT SERVERPARTSHOP_ID FROM HIGHWAY_STORAGE.T_RTCASHSHOP
WHERE CASHWORKER_ID = " + action_data.ToDecrypt() + ")"))
{
string restring = "", errorstring = "";
for (int RowCount = 0; RowCount < HighwayProinstMachine.Rows.Count; RowCount++)
{
if (HighwayProinstMachine.Rows[RowCount]["SERVERPARTSHOP_ID"].ToString() == _SERVERPARTSHOP.SERVERPARTSHOP_ID.ToString() &&
!string.IsNullOrEmpty(CashWorker.Rows[0][2].ToString()))
{
DateTime HIGHWAYPROINST_ENDDATE = Convert.ToDateTime(CashWorker.Rows[0][2].ToString());
DateTime MACHINE_ENDDATE = Convert.ToDateTime(
HighwayProinstMachine.Rows[RowCount]["MACHINE_ENDDATE"].ToString());
if (DateTime.Compare(MACHINE_ENDDATE, HIGHWAYPROINST_ENDDATE) >= 0)
{
restring += (string.IsNullOrEmpty(restring) ? "" : ",") + HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString();
}
else
{
errorstring += (string.IsNullOrEmpty(errorstring) ? "" : ",") + HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString(); ;
}
}
}
tblDatas.Rows.Add(new object[] { _SERVERPARTSHOP.SHOPNAME, restring, errorstring });
}
}
else
{
//获取下发情况
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(_Transaction).FillCollection(
"WHERE SERVERPART_ID = " + _SERVERPART.SERVERPART_ID))
{
string restring = "", errorstring = "";
for (int RowCount = 0; RowCount < HighwayProinstMachine.Rows.Count; RowCount++)
{
if (HighwayProinstMachine.Rows[RowCount]["SERVERPARTSHOP_ID"].ToString() == _SERVERPARTSHOP.SERVERPARTSHOP_ID.ToString() &&
!string.IsNullOrEmpty(CashWorker.Rows[0][2].ToString()))
{
DateTime HIGHWAYPROINST_ENDDATE = Convert.ToDateTime(CashWorker.Rows[0][2].ToString());
DateTime MACHINE_ENDDATE = Convert.ToDateTime(
HighwayProinstMachine.Rows[RowCount]["MACHINE_ENDDATE"].ToString());
if (DateTime.Compare(MACHINE_ENDDATE, HIGHWAYPROINST_ENDDATE) >= 0)
{
restring += (string.IsNullOrEmpty(restring) ? "" : ",") + HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString();
}
else
{
errorstring += (string.IsNullOrEmpty(errorstring) ? "" : ",") + HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString(); ;
}
}
}
tblDatas.Rows.Add(new object[] { _SERVERPARTSHOP.SHOPNAME, restring, errorstring });
}
}
reString = JsonHelper.DataTableToJson(tblDatas, "CashWorkList");
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 按商品获取快捷键反馈
case "GetApproveHotKeyByID":
try
{
//判断存在商品
Business.COMMODITY _COMMODITY = new Business.COMMODITY(_Transaction);
_COMMODITY.COMMODITY_ID_Encrypt = action_data;
if (_COMMODITY.Select())
{
//判断存在服务区
Business.SERVERPART _SERVERPART = new Business.SERVERPART(_Transaction);
_SERVERPART.SERVERPART_ID = _COMMODITY.SERVERPART_ID;
if (_SERVERPART.Select())
{
DataTable V_UNIQUECOMMODITY = _COMMODITY.ExecuteDataTable(
@"SELECT OPERATE_ID,OPERATE_NAME,OPERATE_DATE,SERVERPART_ID,BUSINESSTYPE
FROM HIGHWAY_STORAGE.V_UNIQUECOMMODITY WHERE COMMODITY_ID = " + action_data.ToDecrypt());
//基础信息信息
CONFIGURATION _CONFIGURATION = new CONFIGURATION(_Transaction);
DataTable HighwayProinstMachine = _CONFIGURATION.ExecuteDataTable(
"SELECT * FROM HIGHWAY_EXCHANGE.T_BASEINFOFEEDBACK WHERE SERVERPART_CODE = '" +
_SERVERPART.SERVERPART_CODE + "' AND TABLE_NAME = 'T_HOTKEYSET'");
//+ (V_UNIQUECOMMODITY.Rows.Count == 1 ? " AND STAFF_ID = " +
// V_UNIQUECOMMODITY.Rows[0]["OPERATE_ID"].ToString() + " AND STAFF_NAME = '" +
// V_UNIQUECOMMODITY.Rows[0]["OPERATE_NAME"].ToString() + "' AND TABLE_NAME = 'T_HOTKEYSET'" : ""))
//新建datatable
DataTable tblDatas = new DataTable("Datas");
tblDatas.Columns.Add("SHOPNAME", Type.GetType("System.String"));
tblDatas.Columns.Add("HotKey_VAILD", Type.GetType("System.String"));
tblDatas.Columns.Add("HotKey_INVAILD", Type.GetType("System.String"));
//获取下发情况
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(_Transaction).FillCollection(
"WHERE SHOPTRADE = " + V_UNIQUECOMMODITY.Rows[0]["BUSINESSTYPE"].ToString() +
" AND SERVERPART_ID = " + V_UNIQUECOMMODITY.Rows[0]["SERVERPART_ID"].ToString()))
{
string restring = "", errorstring = "";
for (int RowCount = 0; RowCount < HighwayProinstMachine.Rows.Count; RowCount++)
{
if (HighwayProinstMachine.Rows[RowCount]["SERVERPARTSHOP_ID"].ToString() ==
_SERVERPARTSHOP.SERVERPARTSHOP_ID.ToString())
{
DateTime HIGHWAYPROINST_ENDDATE = Convert.ToDateTime(
V_UNIQUECOMMODITY.Rows[0]["OPERATE_DATE"].ToString());
DateTime MACHINE_ENDDATE = Convert.ToDateTime(
HighwayProinstMachine.Rows[RowCount]["MACHINE_ENDDATE"].ToString());
if (DateTime.Compare(MACHINE_ENDDATE, HIGHWAYPROINST_ENDDATE) >= 0)
{
restring += (string.IsNullOrEmpty(restring) ? "" : ",") +
HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString();
}
else
{
errorstring += (string.IsNullOrEmpty(errorstring) ? "" : ",") +
HighwayProinstMachine.Rows[RowCount]["MACHINECODE"].ToString();
}
}
}
tblDatas.Rows.Add(new object[] { _SERVERPARTSHOP.SHOPNAME, restring, errorstring });
restring = ""; errorstring = "";
}
reString = JsonHelper.DataTableToJson(tblDatas, "HotKeyList");
}
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 按商品获取业务流程
case "GetProinstByCommodity":
try
{
_DataTable = new Business.COMMODITY(_Transaction).ExecuteDataTable(
@"SELECT A.DEPT_NAME,A.HIGHWAYPROINST_ID,A.STAFF_NAME,A.HIGHWAYPROINST_CREATEDATE,
CASE WHEN A.HIGHWAYPROINST_NEXTID = 1000 THEN '业务受理'
WHEN A.HIGHWAYPROINST_NEXTID = 2000 THEN '业务审核'
WHEN A.HIGHWAYPROINST_NEXTID = 3000 THEN '业务复审' END AS HIGHWAYPROINST_NEXTID,
CASE WHEN A.ACCEPT_CODE = '100100' THEN '商品新增审批'
WHEN A.ACCEPT_CODE = '100200' THEN '信息修改审批'
WHEN A.ACCEPT_CODE = '100201' THEN '商品调价审批' END AS ACCEPT_CODE
FROM
HIGHWAY_RUNNING.T_HIGHWAYPROINST A,
HIGHWAY_RUNNING.T_MODIFYFROMSTORAGE B,
HIGHWAY_RUNNING.T_COMMODITY C,
HIGHWAY_STORAGE.T_COMMODITYTYPE D
WHERE
A.HIGHWAYPROINST_ID = B.HIGHWAYPROINST_ID AND B.TABLE_NAME = 'T_COMMODITY' AND
B.FIELD_NAME = 'COMMODITY_ID' AND B.FIELD_VALUE = C.COMMODITY_ID AND
C.COMMODITY_TYPE = D.COMMODITYTYPE_ID(+) AND C.COMMODITY_ID = " + action_data);
if (_DataTable.Rows.Count == 1)
{
reString = JsonHelper.DataTableToJson(_DataTable, "PRONISTCOMMPDITY");
}
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取同条码商品信息
case "getServerpartCommodityList":
try
{
//获得枚举信息
_DataTable = new Business.COMMODITY(_Transaction).ExecuteDataTable(
"SELECT * FROM V_COMMODITY A WHERE COMMODITY_STATE = 1 AND COMMODITY_ID != " + action_data.ToDecrypt() +
" AND EXISTS (SELECT 1 FROM T_COMMODITY B WHERE B.COMMODITY_ID = " + action_data.ToDecrypt() +
" AND A.COMMODITY_BARCODE = B.COMMODITY_BARCODE AND A.PROVINCE_CODE = B.PROVINCE_CODE)");
reString = JsonHelper.DataTableToJson(_DataTable, "COMMODITY");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region 获取视频图像信息
case "GetVedioImg":
reString = CommonInterface.BaseInformation.GetVedioImg(_Transaction);
break;
#endregion
#region 获取数据校验的单品数据、香烟数据、移动支付、促销数据
case "GetEndAccountDate":
reString = CommonInterface.BaseInformation.GetEndAccountDate(_Transaction);
break;
#endregion
#region 阳光公示点赞操作
case "ThumbUp":
reString = CommonInterface.Publicity.ThumbUp(_Transaction);
break;
#endregion
#region 阳光公示添加评论
case "AddComment":
reString = CommonInterface.Publicity.AddComment(_Transaction);
break;
#endregion
default:
reString = "error";
break;
}
sw.Stop();
HZQR.Common.LogUtil.WriteLog(null, action_type + "接口耗时:" + sw.Elapsed.TotalSeconds.ToString());
if (_Transaction.IsOpen)
{
_Transaction.Commit();
}
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
finally
{
_Transaction.Release();
_Transaction.Dispose();
}
context.Response.ContentType = "text/plain";
context.Response.Write(reString);
context.Response.End();
}
#region 方法 -> 获取服务区类型
private string getServerPart(string param)
{
//
string RetString = "";
switch (param)
{
case "第一区域":
break;
case "第二区域": break;
case "第三区域": break;
case "第四区域": break;
case "A类": break;
case "B类": break;
case "C类": break;
}
return RetString;
}
#endregion
#region 方法 -> 根据分类方式 或得对应的分类
private string getServerPartTypeByCode(string param, ServiceModel.Transaction _Transaction, string action_record)
{
List _ListSERVERPARTTYPE = new List();
if (action_record != "all")
{
foreach (Business.SERVERPARTTYPE _SERVERPARTTYPE in (new Business.SERVERPARTTYPE(_Transaction)).FillCollection(
"where TYPE_PID=" + param.ToDecrypt() + " AND ISMAP =1 and rownum <= " + action_record + " order by TYPE_INDEX"))
{
_ListSERVERPARTTYPE.Add(_SERVERPARTTYPE.PropertyObject);
}
}
else
{
foreach (Business.SERVERPARTTYPE _SERVERPARTTYPE in (new Business.SERVERPARTTYPE(_Transaction)).FillCollection(
"where TYPE_PID=" + param.ToDecrypt() + " AND ISMAP =1 order by TYPE_INDEX"))
{
_ListSERVERPARTTYPE.Add(_SERVERPARTTYPE.PropertyObject);
}
}
return JsonHelper.ListToJson(_ListSERVERPARTTYPE, "SERVERPARTTYPE");
}
#endregion
#region 方法 -> 根据分类获得对应的服务区
private string getServerPartByType(string param, ServiceModel.Transaction _Transaction)
{
//根据类别获得对应的服务区
List _ListSERVERPART = new List();
string OutTypeString = param.ToDecrypt();
//获得子类
GetSubServerPartType(ref OutTypeString, param.ToDecrypt(), "", true, _Transaction);
//获得类别对应的某一个类别下面的数据
foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(_Transaction)).FillCollection(
"where SERVERPART_ID in (select SERVERPART_ID from HIGHWAY_STORAGE.T_SPSTATICTYPE where SERVERPARTTYPE_ID IN( " +
OutTypeString + ")) order by SERVERPART_INDEX,SERVERPART_CODE"))
{
//获得图片的路径
// string sqlString = @"SELECT * FROM (select A.IMAGE_PATH FROM T_IMAGE A,T_SERVERPARTTYPE B,T_SPSTATICTYPE C
// WHERE A.IMAGE_ID = B.STATIC_TYPE AND B.SERVERPARTTYPE_ID = C.SERVERPARTTYPE_ID AND C.SERVERPART_ID=" +
// _SERVERPART.SERVERPART_ID + " AND C.SERVERPARTTYPE_ID IN( " + OutTypeString +
// ") ORDER BY C.SERVERPARTTYPE_ID DESC) where ROWNUM =1";
//DataTable _DataTable = (new Business.SERVERPART(_Transaction)).ExecuteDataTable(sqlString);
//if (_DataTable.Rows.Count != 0)
//{
// _SERVERPART. SERVERPART_IPADDRESS = _DataTable.Rows[0][0].ToString();
//}
//else
//{
// _SERVERPART.SERVERPART_IPADDRESS = "";
//}
_SERVERPART.SERVERPART_IPADDRESS = "";
_SERVERPART.PropertyObject.SERVERPART_DESC = "";
_ListSERVERPART.Add(_SERVERPART.PropertyObject);
}
return JsonHelper.ListToJson(_ListSERVERPART, "SERVERPART");
}
#endregion
#region 方法 -> 根据查询条件获得对应的服务区
private string getServerPartByName(string param, ServiceModel.Transaction _Transaction)
{
//根据类别获得对应的服务区
List _ListSERVERPART = new List();
string OutTypeString = param;
OutTypeString = "SERVERPART_NAME LIKE '%" + OutTypeString + "%' OR SERVERPART_ADDRESS LIKE '%" + OutTypeString +
"%' OR EXPRESSWAY_NAME LIKE '%" + OutTypeString + "%' OR OWNEDCOMPANY LIKE '%" + OutTypeString +
"%' OR MANAGERCOMPANY LIKE '%" + OutTypeString + "%'";
foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(_Transaction)).FillCollection(
"WHERE " + OutTypeString + " ORDER BY SERVERPART_INDEX,SERVERPART_CODE"))
{
//获得图片的路径
// string sqlString = @"SELECT * FROM (select A.IMAGE_PATH FROM T_IMAGE A,T_SERVERPARTTYPE B,T_SPSTATICTYPE C
// WHERE A.IMAGE_ID = B.STATIC_TYPE AND B.SERVERPARTTYPE_ID = C.SERVERPARTTYPE_ID AND C.SERVERPART_ID=" +
// _SERVERPART.SERVERPART_ID + " AND C.SERVERPARTTYPE_ID IN( " + OutTypeString +
// ") ORDER BY C.SERVERPARTTYPE_ID DESC) where ROWNUM =1";
//DataTable _DataTable = (new Business.SERVERPART(_Transaction)).ExecuteDataTable(sqlString);
//if (_DataTable.Rows.Count != 0)
//{
// _SERVERPART. SERVERPART_IPADDRESS = _DataTable.Rows[0][0].ToString();
//}
//else
//{
// _SERVERPART.SERVERPART_IPADDRESS = "";
//}
_SERVERPART.SERVERPART_IPADDRESS = "";
_SERVERPART.PropertyObject.SERVERPART_DESC = "";
_ListSERVERPART.Add(_SERVERPART.PropertyObject);
}
return JsonHelper.ListToJson(_ListSERVERPART, "SERVERPART");
}
#endregion
#region 方法 -> 获得服务区类别
public void GetSubServerPartType(ref string RetString, string Pid, string obscureName, bool isValid,
ServiceModel.Transaction _Transaction, DataTable _SearchDataTable = null)
{
//由于数据量商品类别不可能太多,所以一次性全部取出
if (_SearchDataTable == null)
{
_SearchDataTable = GetServerPartTypeDataSource(_Transaction);
}
string SearchString = "TYPE_PID = '" + Pid + "'" + (obscureName == "" ? "" : " AND TYPE_NAME LIKE '" + obscureName +
"'") + (isValid == true ? " AND TYPE_STATE = '1'" : "");
//("columnname1 like '%xx%'");
DataRow[] _DataRowList = _SearchDataTable.Select(SearchString);
if (_DataRowList.Length == 0)
{
return;
}
else
{
foreach (DataRow _CurrRow in _DataRowList)
{
RetString += RetString == "" ? _CurrRow["SERVERPARTTYPE_ID"].ToString() : "," +
_CurrRow["SERVERPARTTYPE_ID"].ToString();
GetSubServerPartType(ref RetString, _CurrRow["SERVERPARTTYPE_ID"].ToString(),
obscureName, isValid, _Transaction, _SearchDataTable);
}
}
}
private DataTable GetServerPartTypeDataSource(ServiceModel.Transaction _Transaction)
{
string StrSql = "select SERVERPARTTYPE_ID,TYPE_NAME,TYPE_STATE,TYPE_PID from HIGHWAY_STORAGE.T_SERVERPARTTYPE order by TYPE_PID,TYPE_INDEX,TYPE_NAME";
return (new Business.SERVERPARTTYPE(_Transaction)).ExecuteDataTable(StrSql, null, 0, 0);
}
#endregion
public bool IsReusable
{
get
{
return false;
}
}
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
#region 方法 -> 生成验证码
///
/// 生成验证码
/// 位数
/// 验证码字符串
private string CreateRandomCode(int n)
{
string[] CharArray = charSet.Split(',');
string randomCode = "";
int temp = -1;
Random rand = new Random();
for (int i = 0; i < n; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
}
int t = rand.Next(CharArray.Length - 1);
if (temp == t)
{
return CreateRandomCode(n);
}
temp = t;
randomCode += CharArray[t];
}
return randomCode;
}
#endregion
#region 方法 -> 日期格式转换
///
/// 将DateTime类型转换为long类型
///
/// 时间
///
public static long ConvertDataTimeLong(DateTime dt)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
TimeSpan toNow = dt.Subtract(dtStart);
long timeStamp = toNow.Ticks;
timeStamp = long.Parse(timeStamp.ToString().Substring(0, timeStamp.ToString().Length - 7));
return timeStamp;
}
///
/// 将Long类型转换为DateTime类型
///
/// long
/// s
public static DateTime ConvertLongDateTime(long d)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(d + "0000000");
TimeSpan toNow = new TimeSpan(lTime);
DateTime dtResult = dtStart.Add(toNow);
return dtResult;
}
#endregion
#region 创建md5 16位大写加密
public static string CreateMD5(string text)
{
var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
//换成utf8后对于中文加密也适用
byte[] output = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(text));
string pass2md5 = BitConverter.ToString(output, 4, 8).Replace("-", "");
//pass2md5 = pass2md5.ToUpper();
return pass2md5;
}
#endregion
}
}