2025-03-27 15:05:14 +08:00

3696 lines
238 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// handler_ajax 的摘要说明
/// </summary>
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<ServerPartObject> _ListServerPartObject = null;
string reString = string.Empty;
string StrSql = string.Empty;
List<TreeItem> _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<ServerPartObject>();
_ListTreeItem = new List<TreeItem>();
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<TreeItem>(_ListTreeItem, "TreeItem");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region
case "getSellDataObject":
try
{
List<SellDataObject> _ListSellDataObject = new List<SellDataObject>();
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<SellDataObject>(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region
case "GetCurSellData":
try
{
List<SellDataObject> _ListSellDataObject = new List<SellDataObject>();
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<SellDataObject>(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurTotalSellData":
try
{
List<SellDataObject> _ListSellDataObject = new List<SellDataObject>();
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<SellDataObject>(_ListSellDataObject, "SellDataObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region
case "GetCurCheckInfo":
try
{
List<CheckInfoObject> _ListCheckInfoObject = new List<CheckInfoObject>();
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<CheckInfoObject>(_ListCheckInfoObject, "CheckInfoObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
case "GetCurCheckInfoByServerpart":
try
{
List<CheckInfoObject> _ListCheckInfoObject = new List<CheckInfoObject>();
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<CheckInfoObject>(_ListCheckInfoObject, "CheckInfoObject");
}
catch (Exception ex)
{
reString = "error:" + ex.Message;
}
break;
#endregion
#region
case "getTotalServerPart":
try
{
List<Business.SERVERPART> _SERVERPARTList = new List<Business.SERVERPART>();
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<Business.SERVERPART>(_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<ImageObject> _ListImageObject = new List<ImageObject>();
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<ImageObject>(_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<WechatInfoObject> _WechatInfoObjectObject = new List<WechatInfoObject>();
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<WechatInfoObject>(_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<WechatInfoObject> _WechatInfoObjectObject = new List<WechatInfoObject>();
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<WechatInfoObject>(_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<WechatInfoObject> _WechatInfoObjectObject = new List<WechatInfoObject>();
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<WechatInfoObject>(_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 + "<br />";
}
if (!string.IsNullOrEmpty(errorstring))
{
commodityisvalid += shopid.ItemArray[2].ToString() + "(未生效)" +
(string.IsNullOrEmpty(errorstring) ? "" : "") + errorstring + "<br />";
}
}
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<Model.SERVERPARTTYPE> _ListSERVERPARTTYPE = new List<Model.SERVERPARTTYPE>();
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<Model.SERVERPARTTYPE>(_ListSERVERPARTTYPE, "SERVERPARTTYPE");
}
#endregion
#region ->
private string getServerPartByType(string param, ServiceModel.Transaction _Transaction)
{
//根据类别获得对应的服务区
List<Model.SERVERPART> _ListSERVERPART = new List<Model.SERVERPART>();
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<Model.SERVERPART>(_ListSERVERPART, "SERVERPART");
}
#endregion
#region ->
private string getServerPartByName(string param, ServiceModel.Transaction _Transaction)
{
//根据类别获得对应的服务区
List<Model.SERVERPART> _ListSERVERPART = new List<Model.SERVERPART>();
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<Model.SERVERPART>(_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 ->
/// <summary>
/// 生成验证码
/// <param name="n">位数</param>
/// <returns>验证码字符串</returns>
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 ->
/// <summary>
/// 将DateTime类型转换为long类型
/// </summary>
/// <param name="dt">时间</param>
/// <returns></returns>
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;
}
/// <summary>
/// 将Long类型转换为DateTime类型
/// </summary>
/// <param name="d">long</param>
/// <returns></returns>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
}
}