using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web.Services;
using SDK = WebService.SDK;
using Newtonsoft.Json.Linq;
using OperatingData.SDK;
namespace RevenueInterfaceService
{
///
/// Service 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
protected static string _OracleConnStr = ConfigurationManager.AppSettings["OracleConnStr"].ToString();
//protected static string _OracleConnStrPayList = ConfigurationManager.AppSettings["OracleConnStrPayList"].ToString();
protected static string _OracleHelperString = ConfigurationManager.AppSettings["OracleHelperString"].ToString();
protected static string _LogUrl = ConfigurationManager.AppSettings["LogUrl"];
protected static string _ColudUrl = ConfigurationManager.AppSettings["ColudUrl"];
protected static string _IsUploadColud = ConfigurationManager.AppSettings["IsUploadColud"];
protected static string _IsLog = ConfigurationManager.AppSettings["IsLog"];
protected static string _IsSaleSplit = ConfigurationManager.AppSettings["IsSaleSplit"];
#region 方法 -> 添加结账数据
///
/// 添加结账数据
///
///
///
[WebMethod]
public string AddEndaccountData(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "ENDACCOUNT_STARTDATE", "ENDACCOUNT_DATE",
"TOTALCOUNT", "TOTALSELLAMOUNT", "CASHPAY" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(
jsonString, "(ENDACCOUNT_STARTDATE|ENDACCOUNT_DATE)");
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.ENDACCOUNT _ENDACCOUNT in _Data)
{
if (string.IsNullOrEmpty(_ENDACCOUNT.SERVERPARTCODE))
{
_ENDACCOUNT.SERVERPARTCODE = codes[0];
}
if (string.IsNullOrEmpty(_ENDACCOUNT.SHOPCODE))
{
_ENDACCOUNT.SHOPCODE = codes[1];
}
OperationDataHelper.InsertTableData(_OracleHelper, _ENDACCOUNT,
"HIGHWAY_EXCHANGE.T_ENDACCOUNT", "ENDACCOUNT_ID", "HIGHWAY_EXCHANGE.SEQ_ENDACCOUNT.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 添加单品报表
///
/// 添加COMMODITYSALE表
///
///
///
[WebMethod]
public string AddCommoditysaleData(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "COMMODITY_CODE",
"TOTALCOUNT", "TOTALSELLAMOUNT" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(
jsonString, "(STARTDATE|ENDDATE)");
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.COMMODITYSALE _COMMODITYSALE in _Data)
{
if (string.IsNullOrEmpty(_COMMODITYSALE.SERVERPARTCODE))
{
_COMMODITYSALE.SERVERPARTCODE = codes[0];
}
if (string.IsNullOrEmpty(_COMMODITYSALE.SHOPCODE))
{
_COMMODITYSALE.SHOPCODE = codes[1];
}
OperationDataHelper.InsertTableData(_OracleHelper, _COMMODITYSALE,
"HIGHWAY_EXCHANGE.T_COMMODITYSALE", "COMMODITYSALE_ID", "HIGHWAY_EXCHANGE.SEQ_COMMODITYSALE.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 添加收银员报表
///
/// 添加收银员报表
///
///
///
[WebMethod]
public string AddPersonsellData(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "STARTDATE", "ENDDATE", "TOTALCOUNT",
"TOTALSELLAMOUNT", "CASHPAY" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(
jsonString, "(STARTDATE|ENDDATE)");
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.PERSONSELL _PERSONSELL in _Data)
{
if (string.IsNullOrEmpty(_PERSONSELL.SERVERPARTCODE))
{
_PERSONSELL.SERVERPARTCODE = codes[0];
}
if (string.IsNullOrEmpty(_PERSONSELL.SHOPCODE))
{
_PERSONSELL.SHOPCODE = codes[1];
}
OperationDataHelper.InsertTableData(_OracleHelper, _PERSONSELL,
"HIGHWAY_EXCHANGE.T_PERSONSELL", "PERSONSELL_ID", "HIGHWAY_EXCHANGE.SEQ_PERSONSELL.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 添加销售流水集合
///
/// 添加销售流水集合
///
///
///
[WebMethod]
public string AddTransfer_selldata(string code, string jsonString)
{
string _UpLoadServerPart = ConfigurationManager.AppSettings["UpLoadServerPart"];
//string _LogUrl = "http://183.129.232.107:7080/DataServices/Service.asmx";//日志请求地址
OracleHelper _OracleHelper = new OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
WebService.SDK.LogHelper.WriteSendLog("添加销售流水集合:" + code);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "SELLDATA_DATE", "TICKETCODE", "SELLCOUNT",
"OFFPRICE", "FACTAMOUNT","TRANSFER_FIRSTDATAS" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
//启动单品云平台上传
if (!string.IsNullOrEmpty(_UpLoadServerPart) && _UpLoadServerPart.Contains(codes[0]))
{
if (!string.IsNullOrEmpty(_IsUploadColud) && _IsUploadColud == "1" && !string.IsNullOrEmpty(_ColudUrl))
{
Thread _Thread = new Thread(() => UpLoadSaleCloud(code, jsonString))
{
IsBackground = true
};
_Thread.Start();
}
}
List _Data = JsonHelper.JSONStringToList(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.TRANSFER_SELLDATA _TRANSFER_SELLDATA in _Data)
{
_TRANSFER_SELLDATA.SERVERPARTCODE = codes[0];
_TRANSFER_SELLDATA.SHOPCODE = codes[1];
OperationDataHelper.InsertTableData(_OracleHelper, _TRANSFER_SELLDATA,
"HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA", "TRANSFER_ID", "HIGHWAY_EXCHANGE.SEQ_TRANSFER_SELLDATA.NEXTVAL");
}
//启动流水拆解
if (!string.IsNullOrEmpty(_IsSaleSplit) && _IsSaleSplit == "1")
{
Thread _Thread = new Thread(() => SellDataSplit(_Data, codes))
{
IsBackground = true
};
_Thread.Start();
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
if (!string.IsNullOrEmpty(_IsLog) && _IsLog == "1" && !string.IsNullOrEmpty(_LogUrl))
{
Hashtable hashtable = new Hashtable
{
{ "jsonString", "添加失败:JSON参数解析异常!" }
};
SoapWSHelper.QuerySoapWebServiceString(_LogUrl, "LogWriteSendLog", hashtable);
}
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
if (!string.IsNullOrEmpty(_IsLog) && _IsLog == "1" && !string.IsNullOrEmpty(_LogUrl))
{
Hashtable hashtable = new Hashtable
{
{ "jsonString", "添加失败:" + ex.ToString() }
};
SoapWSHelper.QuerySoapWebServiceString(_LogUrl, "LogWriteSendLog", hashtable); ;
}
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 查询数据
///
/// 查询数据
///
///
///
[WebMethod]
public string SearchData(string code, string DataType, string MachineCode, string StartDate, string EndDate)
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
DataTable _DataTable = new DataTable();
string SqlString = "";
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
if (!string.IsNullOrEmpty(DataType))
{
switch (DataType)
{
case "Endaccount":
#region 结账数据
if (!string.IsNullOrEmpty(MachineCode))
{
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
}
if (!string.IsNullOrEmpty(StartDate))
{
SqlString += " AND ENDACCOUNT_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(EndDate))
{
SqlString += " AND ENDACCOUNT_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
SERVERPARTCODE,SHOPCODE,MACHINECODE,ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,
ENDPERSONCODE,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY
FROM HIGHWAY_EXCHANGE.T_ENDACCOUNT_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
ORDER BY ENDACCOUNT_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE",
code, codes[0], codes[1], SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
JsonHelper.DataTableToJson(_DataTable) + "}";
}
else
{
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
#endregion
case "Personsell":
#region 收银员报表
if (!string.IsNullOrEmpty(MachineCode))
{
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
}
if (!string.IsNullOrEmpty(StartDate))
{
SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(EndDate))
{
SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
SERVERPARTCODE,SHOPCODE,MACHINECODE,STARTDATE,ENDDATE,CASHWORKER_CODE,
TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
CASH,CREDITCARD,TICKETBILL,VIPPERSON,COSTBILL,OTHERPAY,CASHPAY
FROM HIGHWAY_EXCHANGE.T_PERSONSELL_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
ORDER BY ENDDATE,SERVERPARTCODE,SHOPCODE,MACHINECODE",
code, codes[0], codes[1], SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
JsonHelper.DataTableToJson(_DataTable) + "}";
}
else
{
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
#endregion
case "Commoditysale":
#region 单品报表
if (!string.IsNullOrEmpty(StartDate))
{
SqlString += " AND ENDDATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(EndDate))
{
SqlString += " AND ENDDATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
SERVERPARTCODE,SHOPCODE,STARTDATE,ENDDATE,COMMODITY_TYPE,COMMODITY_CODE,
COMMODITY_NAME,TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT
FROM HIGHWAY_EXCHANGE.T_COMMODITYSALE_EX WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
ORDER BY SERVERPARTCODE,SHOPCODE,ENDDATE",
code, codes[0], codes[1], SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
JsonHelper.DataTableToJson(_DataTable) + "}";
}
else
{
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
#endregion
case "Transfer_sell":
#region 销售流水
if (!string.IsNullOrEmpty(MachineCode))
{
SqlString += " AND MACHINECODE = '" + MachineCode + "'";
}
if (!string.IsNullOrEmpty(StartDate))
{
SqlString += " AND SELLDATA_DATE >= TO_DATE('" + StartDate + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(EndDate))
{
SqlString += " AND SELLDATA_DATE <= TO_DATE('" + EndDate + "','YYYY/MM/DD HH24:MI:SS')";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT '{0}' AS code,
SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE,TICKETCODE,WORKERCODE,
SELLCOUNT,OFFPRICE,FACTAMOUNT,TRANSFER_FIRSTDATAS,TRANSFER_SECONDDATAS,
TRANSFER_THIRDDATAS,TRANSFER_FORTHDATAS,TRANSFER_FIFTHDATAS
FROM HIGHWAY_EXCHANGE.T_TRANSFER_SELLDATA WHERE SERVERPARTCODE = '{1}' AND SHOPCODE = '{2}'{3}
ORDER BY SERVERPARTCODE,SHOPCODE,MACHINECODE,SELLDATA_DATE",
code, codes[0], codes[1], SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" +
JsonHelper.DataTableToJson(_DataTable) + "}";
}
else
{
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
#endregion
default:
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 查询流水数据
///
/// 查询流水主表数据
///
///
///
[WebMethod]
public string getStreamByCode(string serverpartcode, string shopcode, string sellmaster_code)
{
if (!string.IsNullOrEmpty(serverpartcode) && !string.IsNullOrEmpty(sellmaster_code))
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
DataSet _DataSetSellmaster = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLMASTER
WHERE SERVERPARTCODE = '{0}' AND SHOPCODE = '{1}' AND SELLMASTER_CODE = '{2}'",
serverpartcode, shopcode, sellmaster_code));
if (_DataSetSellmaster != null && _DataSetSellmaster.Tables.Count > 0)
{
DataSet _DataSetSelldetails = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
@"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLDETAILS WHERE SELLMASTER_CODE = '{0}'", sellmaster_code));
if (_DataSetSelldetails != null && _DataSetSelldetails.Tables.Count > 0)
{
return "{\"SELLMASTER\":" + JsonHelper.DataSetToJson(_DataSetSellmaster) +
",\"SELLDETAILS\":" + JsonHelper.DataSetToJson(_DataSetSelldetails) + "}";
}
}
}
return "";
}
#endregion
#region 方法 -> 获取实时流水数据(一小时)
///
/// 获取实时流水数据(一小时)
///
/// 授权码
/// 查询参数
///
[WebMethod]
public string GetSellMasterByCode(string code, string jsonString)
{
SDK.OracleHelper _OracleHelper = new SDK.OracleHelper(
_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
return new SDK.SellMasterHelper().GetSellMaster(_OracleHelper, code, jsonString);
}
#endregion
#region 方法 -> 添加商品数据
///
/// 添加商品数据
///
///
///
[WebMethod]
public string AddGoodsInfo(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
WebService.SDK.LogHelper.WriteSendLog("添加商品数据:" + code);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
//WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "COMMODITY_TYPE", "COMMODITY_CODE", "COMMODITY_NAME", "COMMODITY_BARCODE",
"COMMODITY_UNIT", "COMMODITY_RULE", "COMMODITY_RETAILPRICE",
"COMMODITY_PURCHASEPRICE", "COMMODITY_MEMBERPRICE", "BUSINESSTYPE" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.COMMODITYEX _COMMODITYEX in _Data)
{
_COMMODITYEX.SERVERPARTCODE = codes[0];
_COMMODITYEX.SHOPCODE = codes[1];
OperationDataHelper.InsertTableData(_OracleHelper, _COMMODITYEX,
"HIGHWAY_STORAGE.T_COMMODITYEX", "COMMODITYEX_ID", "HIGHWAY_STORAGE.SEQ_COMMODITYEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.Message.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 实时库存
[WebMethod]
public string AddStockInfo(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
//WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "COMMODITY_CODE", "COMMODITY_NAME", "COMMODITY_BARCODE", "COMMODITY_UNIT",
"COMMODITY_RULE", "PURCHASE_TAXPRICE", "PURCHASE_PRICE", "OVERPLUSCOUNT",
"SURPLUS_TAXPRICE", "SURPLUS_PRICE", "OPERATE_STATE", "CHECK_INDEX" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.GOODSSTOCKEX _GOODSSTOCKEX in _Data)
{
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
_GOODSSTOCKEX.SHOPCODE = codes[1];
OperationDataHelper.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
"HIGHWAY_STORAGE.T_GOODSSTOCKEX", "GOODSSTOCKEX_ID", "HIGHWAY_STORAGE.SEQ_GOODSSTOCKEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 进销存数据
[WebMethod]
public string AddInSaleInfo(string code, string jsonString)
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
WebService.SDK.LogHelper.WriteSendLog("添加进销存数据:" + code);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
//WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
//必填项
string[] _RequiredDatas = { "COMMODITY_CODE","COMMODITY_NAME","COMMODITY_BARCODE","COMMODITY_UNIT","COMMODITY_RULE",
"PURCHASE_COUNT","PURCHASE_TAXAMOUNT","PURCHASE_AMOUNT","SELL_COUNT","SELL_TOTALTAXAMOUNT",
"SELL_TOTALAMOUNT","SELL_TAXCOST","SELL_COST","TRANSFER_COUNT","TRANSFER_TAXAMOUNT",
"TRANSFER_AMOUNT","RECEIVE_COUNT","RECEIVE_TAXAMOUNT","RECEIVE_AMOUNT","BACK_COUNT",
"BACK_TAXAMOUNT","BACK_AMOUNT","LOSSPROFIT_COUNT","LOSSPROFIT_TAXAMOUNT",
"LOSSPROFIT_AMOUNT","LOSSPROFIT_CHECKCOUNT","LOSSPROFIT_CHECKTAXAMOUNT"};
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.INSALES_STATISTICEX _GOODSSTOCKEX in _Data)
{
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
_GOODSSTOCKEX.SHOPCODE = codes[1];
OperationDataHelper.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
"HIGHWAY_STORAGE.T_INSALES_STATISTICEX", "INSALES_STATISTICEX_ID", "HIGHWAY_STORAGE.SEQ_INSALES_STATISTICEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 配送单数据
[WebMethod]
public string SearchDeliverData(string code, string jsonString)//string StartDate, string EndDate, string ShopCode
{
//记载传入参数信息
//WebService.SDK.LogHelper.WriteSendLog(code + "," + jsonString);
WebService.SDK.LogHelper.WriteSendLog("添加配送单数据:" + code);
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
string _AUTHORIZATION_CODE = ConfigurationManager.AppSettings["AUTHORIZATION_CODE"].ToString();
string SqlString = "", TableName = "SELLER_STORAGE.V_GOODSDELIVER", StartDate = "", EndDate = "",
ShopCode = "", SearchType = "", Deliver_Code = "", OtherCondition = "";
DataTable _DataTable = new DataTable(), _DetailDataTable = new DataTable();
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0], _OracleConnStr.Split(',')[1],
_OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//读取参数信息
if (code.Split('|').Length > 1)
{
jsonString = code.Split('|')[1];
code = code.Split('|')[0];
}
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
#region 解析参数内容
try
{
code = _Json["code"].ToString();
}
catch { }
try
{
StartDate = _Json["StartDate"].ToString();
}
catch { }
try
{
EndDate = _Json["EndDate"].ToString();
}
catch { }
try
{
ShopCode = _Json["ShopCode"].ToString();
}
catch { }
try
{
SearchType = _Json["SearchType"].ToString();
}
catch { }
try
{
Deliver_Code = _Json["Deliver_Code"].ToString();
}
catch { }
#endregion
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null && code != _AUTHORIZATION_CODE)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
try
{
if (_AUTHORIZATION_CODE == code)
{
TableName = "SELLER_STORAGE.V_GOODSDELIVER_GAS";
if (!string.IsNullOrEmpty(ShopCode))
{
SqlString = "SHOPCODE = '" + ShopCode + "'";
OtherCondition = " AND SHOPCODE = '" + ShopCode + "'";
}
else
{
SqlString = "1 = 1";
}
}
else
{
SqlString = "SERVERPART_CODE = '" + codes[0] + "' AND SHOPCODE = '" + codes[1] + "'";
OtherCondition = " AND SERVERPART_CODE = '" + codes[0] + "' AND SHOPCODE = '" + codes[1] + "'";
}
switch (SearchType)
{
case "0":
if (_OracleHelper.ExcuteSqlGetDataSet("SELECT 1 FROM HIGHWAY_EXCHANGE.T_GOODSDELIVER WHERE SHOPCODE = '" +
ShopCode + "' AND GOODSDELIVER_CODE = '" + Deliver_Code + "'").Tables[0].Rows.Count > 0)
{
return "{\"error\": 0 ,\"msg\": \"单据已更新!\",\"rows\":[{}]}";
}
else
{
try
{
SqlString = @"INSERT INTO HIGHWAY_EXCHANGE.T_GOODSDELIVER (GOODSDELIVER_CODE,SHOPCODE)
VALUES ('" + Deliver_Code + "','" + ShopCode + "')";
_OracleHelper.ExcuteSql(SqlString);
return "{\"error\": 1 ,\"msg\": \"更新成功!\",\"rows\":[{}]}";
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message + "\r\n" + SqlString);
return "{\"error\": -1 ,\"msg\": \"更新失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
default:
//必填项
if (!string.IsNullOrEmpty(StartDate) || !string.IsNullOrEmpty(EndDate))
{
DataTable OtherConditionTable = null;
#region 配送单数据
#region 查询条件
if (!string.IsNullOrEmpty(StartDate))
{
try
{
SqlString += " AND DELIVER_DATE >= TO_DATE('" + DateTime.Parse(StartDate).ToString() +
"','YYYY/MM/DD HH24:MI:SS')";
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + DateTime.Parse(StartDate).ToString() +
"','YYYY/MM/DD HH24:MI:SS')";
}
catch
{
SqlString += " AND DELIVER_DATE >= TO_DATE('" + StartDate.Substring(0, 4) + "/" + StartDate.Substring(4, 2) +
"/" + StartDate.Substring(6, 2) + " " + StartDate.Substring(8, 2) + ":" + StartDate.Substring(10, 2) +
":" + StartDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + StartDate.Substring(0, 4) + "/" +
StartDate.Substring(4, 2) + "/" + StartDate.Substring(6, 2) + " " +
StartDate.Substring(8, 2) + ":" + StartDate.Substring(10, 2) + ":" +
StartDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
}
}
if (!string.IsNullOrEmpty(EndDate))
{
try
{
SqlString += " AND DELIVER_DATE <= TO_DATE('" + DateTime.Parse(EndDate).ToString() +
"','YYYY/MM/DD HH24:MI:SS')";
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + DateTime.Parse(EndDate).ToString() +
"','YYYY/MM/DD HH24:MI:SS')";
}
catch
{
SqlString += " AND DELIVER_DATE <= TO_DATE('" + EndDate.Substring(0, 4) + "/" + EndDate.Substring(4, 2) +
"/" + EndDate.Substring(6, 2) + " " + EndDate.Substring(8, 2) + ":" + EndDate.Substring(10, 2) +
":" + EndDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
OtherCondition += " AND DELIVER_DATE < TO_DATE('" + EndDate.Substring(0, 4) + "/" +
EndDate.Substring(4, 2) + "/" + EndDate.Substring(6, 2) + " " +
EndDate.Substring(8, 2) + ":" + EndDate.Substring(10, 2) + ":" +
EndDate.Substring(12, 2) + "','YYYY/MM/DD HH24:MI:SS')";
}
}
#endregion
SqlString = string.Format(@"SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
FROM {1} WHERE {2}", !string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, SqlString);
if (SearchType == "1")
{
OtherConditionTable = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT WM_CONCAT(GOODSDELIVER_CODE || SHOPCODE) FROM HIGHWAY_EXCHANGE.T_GOODSDELIVER").Tables[0];
if (OtherConditionTable.Rows.Count > 0 && OtherConditionTable.Rows[0][0].ToString() != "")
{
SqlString += string.Format(@" UNION ALL
SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
FROM {1} WHERE GOODSDELIVER_CODE || SHOPCODE NOT IN ({2}){3}",
!string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, "'" +
OtherConditionTable.Rows[0][0].ToString().Replace(",", "','") + "'", OtherCondition);
}
else
{
SqlString += string.Format(@" UNION ALL
SELECT '{0}' AS code, SERVERPART_NAME,SERVERPARTSHOP_NAME,
TO_CHAR(DELIVER_DATE,'YYYYMMDDHH24MISS') AS DELIVER_DATE,GOODSDELIVER_CODE,GOODSDELIVER_STAFF,
GOODSDELIVER_STAFFTEL,ACTUAL_TAXAMOUNT,GOODSDELIVER_DESC,SERVERPARTSHOP_ID
FROM {1} WHERE 1 = 1{2}", !string.IsNullOrEmpty(ShopCode) ? ShopCode : code, TableName, OtherCondition);
}
}
_OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0], _OracleHelperSeller.Split(',')[1],
_OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(SqlString).Tables[0];
if (_DataTable.Rows.Count > 0)
{
object[] GOODSDELIVER_CODE = _DataTable.AsEnumerable().Select(r => r.Field("GOODSDELIVER_CODE")).ToArray();
string _GOODSDELIVER_CODE = "", GOODSDELIVER_CODES = string.Format("'{0}'", string.Join("','", GOODSDELIVER_CODE));
_DetailDataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
@"SELECT NEWSHOPCODE AS code,GOODSDELIVER_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
COMMODITY_RULE,DELIVER_UNIT,UNIT_COUNT,DELIVER_COUNT,DELIVER_TOTALCOUNT,
AVERAGE_PRICE,DELIVER_PRICE AS DELIVER_TAXPRICE,GUARANTEE_MONTHS
FROM SELLER_STORAGE.V_GOODSDELIVERBILL_GAS
WHERE GOODSDELIVER_CODE IN ({1}) AND SERVERPARTSHOP_ID = {2}
ORDER BY GOODSDELIVER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,COMMODITY_RULE,DELIVER_UNIT,UNIT_COUNT,
DELIVER_COUNT,DELIVER_TOTALCOUNT,AVERAGE_PRICE,DELIVER_TAXPRICE,GUARANTEE_MONTHS",
!string.IsNullOrEmpty(ShopCode) ? ShopCode : code, GOODSDELIVER_CODES,
_DataTable.Rows[0]["SERVERPARTSHOP_ID"].ToString())).Tables[0];
int RowNum = 1;
for (int RowCount = 0; RowCount < _DetailDataTable.Rows.Count; RowCount++)
{
if (_GOODSDELIVER_CODE != _DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"].ToString())
{
_GOODSDELIVER_CODE = _DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"].ToString();
RowNum = 1;
}
_DetailDataTable.Rows[RowCount]["GOODSDELIVER_CODE"] = _DetailDataTable.Rows[RowCount]["code"].ToString() +
"-" + _GOODSDELIVER_CODE + "-" + RowNum.ToString().PadLeft(3, '0');
RowNum++;
}
return "{\"error\": 1 ,\"msg\": \"查询成功!\",\"rows\":" + JsonHelper.DataTableToJson(_DataTable) +
",\"details\":" + JsonHelper.DataTableToJson(_DetailDataTable) + "}";
}
else
{
return "{\"error\": 0 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
#endregion
}
else
{
return "{\"error\": -1 ,\"msg\": \"查询失败:数据类型解析异常!\",\"rows\":[{}]}";
}
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message + "\r\n" + SqlString);
return "{\"error\": -1 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 添加订单数据
///
/// 添加订单数据
///
///
///
[WebMethod]
public string AddPurchaseData(string code, string jsonString)
{
try
{
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
//WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
WebService.SDK.LogHelper.WriteSendLog("添加订单数据:" + code);
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelper, code);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": -1 ,\"msg\": \"添加失败:授权码错误或已过期\",\"rows\":[{}]}";
}
//必填项
string[] _RequiredDatas = { "SHOPCODE", "FUUID", "TOTAL_COUNT" };
if (!string.IsNullOrEmpty(jsonString))
{
JArray _JsonArray = JArray.Parse(jsonString);
for (int i = 0; i < _JsonArray.Count; i++)
{
JObject _Json = JObject.Parse(_JsonArray[i].ToString());
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData.ToUpper()) == null &&
_Json.Property(_RequiredData.ToLower()) == null)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:第" + (i + 1) +
"组数据中,JSON缺少必要参数:" + _RequiredData + "\",\"rows\":[{}]}";
}
}
}
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
List _Data = JsonHelper.JSONStringToList(jsonString, "(PURCHASE_DATE)");
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.PURCHASEDETAIL _PURCHASEDETAIL in _Data)
{
if (string.IsNullOrEmpty(_PURCHASEDETAIL.SERVERPARTCODE))
{
_PURCHASEDETAIL.SERVERPARTCODE = codes[0];
}
if (string.IsNullOrEmpty(_PURCHASEDETAIL.SHOPCODE))
{
_PURCHASEDETAIL.SHOPCODE = codes[1];
}
OperationDataHelper.InsertTableData(_OracleHelper, _PURCHASEDETAIL,
"HIGHWAY_STORAGE.T_PURCHASEDETAIL", "PURCHASEDETAIL_ID", "HIGHWAY_STORAGE.SEQ_PURCHASEDETAIL.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 海鼎相关接口
#region 方法 -> 获取企业信息
///
/// 获取企业信息
///
///
///
[WebMethod]
public string GetCompanyInfo(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "Start_Date", "End_Date", "time_stamp", "Membership_Company" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
_Dictionary.Clear();
_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
_Dictionary.Add("Membership_Company", _Json["Membership_Company"].ToString());
_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
string SqlString = "";
DataTable _DataTable = new DataTable();
if (!string.IsNullOrEmpty(_Dictionary["Membership_Company"].ToString()))
{
SqlString += " AND Membership_Company = '" + _Dictionary["Membership_Company"].ToString() + "'";
}
if (!string.IsNullOrEmpty(_Dictionary["Start_Date"].ToString()))
{
SqlString += " AND OPERATE_DATE >= TO_DATE('" + _Dictionary["Start_Date"].ToString() + "','YYYY/MM/DD')";
}
if (!string.IsNullOrEmpty(_Dictionary["End_Date"].ToString()))
{
SqlString += " AND OPERATE_DATE < TO_DATE('" + _Dictionary["End_Date"].ToString() + "','YYYY/MM/DD') + 1";
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
TO_CHAR(COMPANY_ID) AS MEMBERSHIP_COMPANY,COMPANY_NAME,COMPANY_SHORTNAME,OPERATE_DATE
FROM MEMBERSHIP_STORAGE.T_COMPANY WHERE 1 = 1{0}
ORDER BY OPERATE_DATE,COMPANY_NAME", SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
foreach (DataRow _DataRow in _DataTable.Rows)
{
_DataRow["MEMBERSHIP_COMPANY"] = _DataRow["MEMBERSHIP_COMPANY"].ToEncrypt();
}
_DataTable.Columns["MEMBERSHIP_COMPANY"].ColumnName = "Membership_Company";
_DataTable.Columns["COMPANY_NAME"].ColumnName = "Company_Name";
_DataTable.Columns["COMPANY_SHORTNAME"].ColumnName = "Company_Shortname";
_DataTable.Columns["OPERATE_DATE"].ColumnName = "Operate_Date";
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":" +
JsonHelper.DataTableToJson(_DataTable) + "}";
}
else
{
return "{\"error\": 101 ,\"msg\": \"查询成功!\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 获取会员信息
///
/// 获取会员信息
///
///
///
[WebMethod]
public string GetMembershipInfo(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Card", "Membership_Name", "Membership_Mobilephone" };
//"Membership_Type", "Start_Date", "End_Date", "Membership_ID", "Membership_Company",
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
int EmptyCount = 0;
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "Membership_Card":
case "Membership_Name":
case "Membership_Mobilephone":
EmptyCount++;
if (EmptyCount == 3)
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
}
_Dictionary.Add(_RequiredData, "");
break;
default:
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
//_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
//_Dictionary.Add("Membership_ID", _Json["Membership_ID"].ToString());
//_Dictionary.Add("Membership_Company", _Json["Membership_Company"].ToString());
//_Dictionary.Add("Membership_Type", _Json["Membership_Type"].ToString());
//_Dictionary.Add("Membership_Name", _Json["Membership_Name"].ToString());
//_Dictionary.Add("Membership_Mobilephone", _Json["Membership_Mobilephone"].ToString());
//_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
//_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "MemberQuery");
sb.AppendFormat("&Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
sb.AppendFormat("&Membership_Name={0}", _Dictionary["Membership_Name"].ToString());
sb.AppendFormat("&Membership_Mobilephone={0}", _Dictionary["Membership_Mobilephone"].ToString());
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["Result_Code"].ToString())
{
case "100":
info["Company_Name"] = _JObject["Result_Data"]["Company_Name"];
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
info["Membership_Sex"] = _JObject["Result_Data"]["Membership_Sex"];
info["Membership_Mobilephone"] = _JObject["Result_Data"]["Membership_Mobilephone"];
info["Membership_Card"] = _JObject["Result_Data"]["Membership_Card"];
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
default:
return "{\"error\": " + _JObject["Result_Code"].ToString() +
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 获取卡户信息
///
/// 获取卡户信息
///
///
///
[WebMethod]
public string GetICCardInfo(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "time_stamp", "Membership_Name", "Membership_Card" };
//"Membership_ID", "Start_Date", "End_Date",
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
int EmptyCount = 0;
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "Membership_Card":
case "Membership_Name":
EmptyCount++;
if (EmptyCount == 2)
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
}
_Dictionary.Add(_RequiredData, "");
break;
default:
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
//_Dictionary.Add("time_stamp", _Json["time_stamp"].ToString());
//_Dictionary.Add("Membership_ID", _Json["Membership_ID"].ToString());
//_Dictionary.Add("ICCard_Code", _Json["ICCard_Code"].ToString());
//_Dictionary.Add("Membership_Card", _Json["Membership_Card"].ToString());
//_Dictionary.Add("Start_Date", _Json["Start_Date"].ToString());
//_Dictionary.Add("End_Date", _Json["End_Date"].ToString());
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "ICCardQuery");
sb.AppendFormat("&Membership_Card={0}", _Dictionary["Membership_Card"].ToString());
sb.AppendFormat("&Membership_Name={0}", _Dictionary["Membership_Name"].ToString());
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["Result_Code"].ToString())
{
case "100":
info["Membership_Type"] = _JObject["Result_Data"]["Membership_Type"];
info["Membership_Name"] = _JObject["Result_Data"]["Membership_Name"];
info["ICCard_Statue"] = _JObject["Result_Data"]["ICCard_Statue"];
info["Account_Balance"] = _JObject["Result_Data"]["Account_Balance"];
info["Membership_Point"] = _JObject["Result_Data"]["Membership_Point"];
info["Operate_Date"] = _JObject["Result_Data"]["Operate_Date"];
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
default:
return "{\"error\": " + _JObject["Result_Code"].ToString() +
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 订单支付
///
/// 订单支付
///
///
///
[WebMethod]
public string OrderPay(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"支付失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"支付失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "time_stamp" , "ECode", "Membership_Card", "TicketCode", //"Membership_ID",
"MachineCode", "Recode_Type", "Recode_Amount" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
int EmptyCount = 0;
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "ECode": //会员电子码
case "Membership_Card": //会员实体卡号
EmptyCount++;
if (EmptyCount == 2)
{
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要支付参数\",\"rows\":[{}]}";
}
_Dictionary.Add(_RequiredData, "");
break;
default:
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
//实付金额
if (_Json["Fact_Amount"] != null)
{
_Dictionary.Add("Fact_Amount", _Json["Fact_Amount"].ToString());
}
//抵用积分
if (_Json["Consume_Point"] != null)
{
_Dictionary.Add("Consume_Point", _Json["Consume_Point"].ToString());
}
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"支付失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"支付失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
#region 参数定义
string _ServerpartCode = codes[0], _ShopCode = codes[1],
_SERVERPART_ID = "NULL", _SERVERPART_NAME = "",
_SERVERPARTSHOP_ID = "NULL", _SHOPNAME = "", _PROVINCE_CODE = "",
_TicketCode = _Dictionary["TicketCode"].ToString(),
_MachineCode = _Dictionary["MachineCode"].ToString(),
_ECode = _Dictionary.ContainsKey("ECode") ? _Dictionary["ECode"].ToString() : "",
_Membership_Card = _Dictionary.ContainsKey("Membership_Card") ? _Dictionary["Membership_Card"].ToString() : "",
_Recode_Type = _Dictionary["Recode_Type"].ToString(),
_Recode_Amount = _Dictionary["Recode_Amount"].ToString(),
_Recode_Date = DateTime.Now.ToString(),
_PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
if (!_Dictionary.TryGetValue("Fact_Amount", out string _Fact_Amount))
{
_Fact_Amount = _Recode_Amount;
}
if (!_Dictionary.TryGetValue("Consume_Point", out string _Consume_Point))
{
_Consume_Point = "0";
}
#endregion
//获取服务区门店信息
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
if (_SERVERPARTSHOP.Rows.Count > 0)
{
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
}
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "OrderPay");
sb.AppendFormat("&Membership_ECode={0}", _ECode);
sb.AppendFormat("&Membership_Card={0}", _Membership_Card);
sb.AppendFormat("&Fact_Amount={0}", _Fact_Amount);
sb.AppendFormat("&Consume_Point={0}", _Consume_Point);
sb.AppendFormat("&Recode_Amount={0}", _Recode_Amount);
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
sb.AppendFormat("&Recode_Type={0}", _Dictionary["Recode_Type"].ToString());
sb.AppendFormat("&Province_Code={0}", _PROVINCE_CODE);
sb.AppendFormat("&Serverpart_ID={0}", _SERVERPART_ID);
sb.AppendFormat("&Serverpart_Code={0}", _ServerpartCode);
sb.AppendFormat("&Serverpart_Name={0}", _SERVERPART_NAME);
sb.AppendFormat("&ServerpartShop_ID={0}", _SERVERPARTSHOP_ID);
sb.AppendFormat("&ServerpartShop_Code={0}", _ShopCode);
sb.AppendFormat("&ServerpartShop_Name={0}", _SHOPNAME);
sb.AppendFormat("&MachineCode={0}", _Dictionary["MachineCode"].ToString());
sb.AppendFormat("&Recode_Date={0}", _Recode_Date);
sb.AppendFormat("&PlatformCode={0}", _PlatformCode);
sb.AppendFormat("&RecordPoint={0}", 0); //海鼎饭卡支付不做积分
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["Result_Code"].ToString())
{
case "100":
Model.HIGHWAY.RECHARGERECORD _RECHARGERECORD = new Model.HIGHWAY.RECHARGERECORD();
_RECHARGERECORD.Serverpart_Name = _SERVERPART_NAME;
_RECHARGERECORD.ShopName = _SHOPNAME;
_RECHARGERECORD.MachineCode = _Dictionary["MachineCode"].ToString();
_RECHARGERECORD.TicketCode = _Dictionary["TicketCode"].ToString();
_RECHARGERECORD.PlatformCode = _PlatformCode;
_RECHARGERECORD.Recode_Type = int.Parse(_Dictionary["Recode_Type"].ToString());
_RECHARGERECORD.Recode_Amount = double.Parse(_Recode_Amount).Round(2);
_RECHARGERECORD.Fact_Amount = double.Parse(_Fact_Amount).Round(2);
_RECHARGERECORD.Consume_Point = double.Parse(_Consume_Point).Round(2);
_RECHARGERECORD.Current_Point = double.Parse(_JObject["Result_Data"]["Current_Point"].ToString()).Round(2);
_RECHARGERECORD.Total_Point = double.Parse(_JObject["Result_Data"]["Total_Point"].ToString()).Round(2);
//double.Parse(_Consume_Point).Round(2);
//_RECHARGERECORD.Account_Balance = decimal.Parse(_ACCOUNT_BALANCE) - decimal.Parse(_Recode_Amount);
_RECHARGERECORD.Pay_State = "Success";
_RECHARGERECORD.Recode_Date = DateTime.Parse(_Recode_Date);
return "{\"error\": 100 ,\"msg\": \"支付成功!\",\"rows\":[" +
JsonHelper.ObjectToJson(_RECHARGERECORD) + "]}";
default:
return "{\"error\": " + _JObject["Result_Code"].ToString() +
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"支付失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 订单查询
///
/// 订单查询
///
///
///
[WebMethod]
public string OrderQuery(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"查询失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "Start_Date", "End_Date", "time_stamp" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
int EmptyCount = 0, TimeCount = 0;
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "TicketCode":
case "PlatformCode":
EmptyCount++;
_Dictionary.Add(_RequiredData, "");
break;
case "Start_Date":
case "End_Date":
TimeCount++;
_Dictionary.Add(_RequiredData, "");
break;
default:
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
else if (_RequiredData.ToLower() != "sign")
{
switch (_RequiredData)
{
case "Start_Date":
case "End_Date":
try
{
DateTime.ParseExact(_Json[_RequiredData].ToString(), "yyyyMMddHHmmss",
System.Globalization.CultureInfo.InvariantCulture).ToString();
}
catch
{
return "{\"error\": 200 ,\"msg\": \"查询失败:时间格式不正确!\",\"rows\":[{}]}";
}
break;
}
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
if (EmptyCount == 2 && TimeCount == 2)
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON缺少必要查询参数\",\"rows\":[{}]}";
}
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"查询失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"查询失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "OrderQuery");
sb.AppendFormat("&Start_Date={0}", _Dictionary["Start_Date"].ToString());
sb.AppendFormat("&PlatformCode={0}", _Dictionary["PlatformCode"].ToString());
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
sb.AppendFormat("&End_Date={0}", _Dictionary["End_Date"].ToString());
sb.AppendFormat("&Serverpart_Code={0}", codes[0]);
sb.AppendFormat("&ShopCode={0}", codes[1]);
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["Result_Code"].ToString())
{
case "100":
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" +
_JObject["Result_Data"] + "]}";
default:
return "{\"error\": " + _JObject["Result_Code"].ToString() +
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 订单退款
///
/// 获取会员、卡户信息
///
///
///
[WebMethod]
public string OrderRefund(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"退款失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"退款失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "TicketCode", "PlatformCode", "time_stamp", "Refund_Amount" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"退款失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"退款失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "OrderRefund");
sb.AppendFormat("&TicketCode={0}", _Dictionary["TicketCode"].ToString());
sb.AppendFormat("&Refund_Amount={0}", _Dictionary["Refund_Amount"].ToString());
sb.AppendFormat("&Ori_PlatformCode={0}", _Dictionary["PlatformCode"].ToString());
sb.AppendFormat("&Serverpart_Code={0}", codes[0]);
sb.AppendFormat("&ShopCode={0}", codes[1]);
sb.AppendFormat("&PlatformCode={0}", code + DateTime.Now.ToString("yyyyMMddHHmmss"));
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["Result_Code"].ToString())
{
case "100":
return "{\"error\": 100 ,\"msg\": \"退款成功!\",\"rows\":[" +
_JObject["Result_Data"] + "]}";
default:
return "{\"error\": " + _JObject["Result_Code"].ToString() +
" ,\"msg\": \"" + _JObject["Result_Desc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"退款失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 优惠券验证接口
///
/// 会员电子优惠券验证接口
///
/// 授权码
///
///
[WebMethod]
public string CouponCheck(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"优惠券校验失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"优惠券校验失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string _UseType = ""; //0:查验优惠券,1:使用优惠券
string[] _RequiredDatas = { "sign", "time_stamp" , "UseType", "ECode", "Membership_Card",
"MachineCode", "TicketCode", "CouponCode", "ConsumeAmount" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
switch (_RequiredData)
{
case "Membership_Card":
case "ECode":
break;
case "MachineCode":
case "TicketCode":
case "ConsumeAmount":
if (_UseType == "1")
{
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON缺少必要支付参数\",\"rows\":[{}]}";
}
break;
default:
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
if (_RequiredData.ToLower() == "usetype")
{
_UseType = _Json[_RequiredData].ToString();
}
}
}
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"优惠券校验失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"优惠券校验失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
if (string.IsNullOrEmpty(_Dictionary["CouponCode"].ToString()))
{
return "{\"error\": 205 ,\"msg\": \"优惠券校验失败:找不到优惠券信息!\",\"rows\":[{}]}";
}
DataTable _CONSUMPTIONRECORD = new DataTable();
List SQLStringArray = new List();
string _ServerpartCode = codes[0]; //服务区编码
string _ShopCode = codes[1]; //门店编码
string _SERVERPART_ID = ""; //服务区ID
string _SERVERPART_NAME = ""; //服务区名称
string _SERVERPARTSHOP_ID = ""; //门店ID
string _SHOPNAME = ""; //门店名称
string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODE"]; //省份编码
string _MachineCode = _Dictionary["MachineCode"].ToString(); //机器号
string _TicketCode = _Dictionary["TicketCode"].ToString(); //订单号
string _CouponCode = _Dictionary["CouponCode"].ToString(); //优惠券编号
if (_CouponCode.Length < 6)
{
return "{\"error\": 208 ,\"msg\": \"优惠券核销失败:无效优惠券!\",\"rows\":[{}]}";
}
//_CouponCode = _CouponCode.Substring(0, 6);
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
if (_SERVERPARTSHOP.Rows.Count > 0)
{
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
}
if (_UseType == "0")
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "CheckCoupon");
sb.AppendFormat("&COUPON_CODE={0}", _CouponCode);
sb.AppendFormat("&PROVINCE_CODE={0}", _PROVINCE_CODE);
sb.AppendFormat("&SERVERPARTSHOP_ID={0}", _SERVERPARTSHOP_ID);
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["ResultCode"].ToString())
{
case "100":
info["Serverpart_Name"] = _SERVERPART_NAME; //优惠券ID
info["ShopName"] = _SHOPNAME; //门店名称
info["MachineCode"] = _MachineCode; //机器编码
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
info["PlatformCode"] = ""; //优惠券金额
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
info["CouponCode"] = _JObject["CouponCode"]; //优惠券编码
info["CouponType"] = _JObject["CouponType"]; //优惠形式(1000:满减券;2000:折扣券)
info["Threshold_Amount"] = _JObject["Threshold_Amount"]; //起付金额
info["CouponAmount"] = _JObject["CouponAmount"]; //优惠券价值(满100减20则为20;8折券则为0.8)
info["Coupon_State"] = _JObject["Coupon_State"]; //优惠券状态(0:未使用,1:已使用,2:已失效)
return "{\"error\": 100 ,\"msg\": \"查询成功!\",\"rows\":[" + info + "]}";
case "102":
return "{\"error\": 102 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
case "999":
default:
return "{\"error\": 999 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
}
}
else
{
string _ConsumeAmount = _Dictionary["ConsumeAmount"].ToString(); //实付金额
string _PlatformCode = code + DateTime.Now.ToString("yyyyMMddHHmmss");
if (string.IsNullOrEmpty(_ConsumeAmount) || decimal.Parse(_ConsumeAmount) < 0)
{
return "{\"error\": 204 ,\"msg\": \"优惠券核销失败:交易金额错误!\",\"rows\":[{}]}";
}
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "WriteOffCoupon");
//sb.AppendFormat("&CONSUMPTIONRECORD_ID={0}", _CONSUMPTIONRECORD_ID);
sb.AppendFormat("&CONSUMPTIONRECORD_TYPE={0}", 5050);
sb.AppendFormat("&COUPON_CODE={0}", _CouponCode);
sb.AppendFormat("&PROVINCE_CODE={0}", _PROVINCE_CODE);
sb.AppendFormat("&SERVERPARTSHOP_ID={0}", _SERVERPARTSHOP_ID);
sb.AppendFormat("&MACHINECODE={0}", _MachineCode);
sb.AppendFormat("&ORDERAMOUNT={0}", _ConsumeAmount);
sb.AppendFormat("&CONSUMEAMOUNT={0}", _ConsumeAmount);
sb.AppendFormat("&VIPRATEAMOUNT={0}", 0);
sb.AppendFormat("&TICKET_CODE={0}", _TicketCode);
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["ResultCode"].ToString())
{
case "100":
info["Serverpart_Name"] = _SERVERPART_NAME; //优惠券ID
info["ShopName"] = _SHOPNAME; //门店名称
info["MachineCode"] = _MachineCode; //机器编码
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
info["PlatformCode"] = _PlatformCode; //优惠券金额
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
info["CouponCode"] = _JObject["CouponCode"]; //优惠券编码
info["CouponType"] = _JObject["CouponType"]; //优惠形式(1000:满减券;2000:折扣券)
info["CouponAmount"] = _JObject["CouponAmount"]; //优惠券价值(满100减20则为20;8折券则为0.8)
info["Coupon_State"] = _JObject["Coupon_State"]; //优惠券状态(0:未使用,1:已使用,2:已失效)
return "{\"error\": 100 ,\"msg\": \"核销成功!\",\"rows\":[" + info + "]}";
case "999":
return "{\"error\": 999 ,\"msg\": \"核销失败!" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
default:
return "{\"error\": 305 ,\"msg\": \"核销失败!" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
}
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"优惠券验证失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#region 方法 -> 优惠券撤销接口
///
/// 会员电子优惠券验证接口
///
/// 授权码
///
///
[WebMethod]
public string CouponRevoke(string code, string jsonString)
{
try
{
string _OracleHelperSeller = ConfigurationManager.AppSettings["OracleHelperSeller"].ToString();
OracleHelper _OracleHelper = new OracleHelper(_OracleHelperSeller.Split(',')[0],
_OracleHelperSeller.Split(',')[1], _OracleHelperSeller.Split(',')[2], _OracleHelperSeller.Split(',')[3]);
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
return "{\"error\": 201 ,\"msg\": \"优惠券撤销失败:授权码错误\",\"rows\":[{}]}";
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
return "{\"error\": 201 ,\"msg\": \"优惠券撤销失败:授权码错误\",\"rows\":[{}]}";
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "time_stamp", "TicketCode", "CouponCode" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
return "{\"error\": 200 ,\"msg\": \"优惠券撤销失败:JSON缺少必要参数:" +
_RequiredData + "\",\"rows\":[{}]}";
}
else if (_RequiredData.ToLower() != "sign")
{
_Dictionary.Add(_RequiredData, _Json[_RequiredData].ToString());
}
}
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
return "{\"error\": 202 ,\"msg\": \"优惠券撤销失败:数据签名不通过!\",\"rows\":[{}]}";
}
}
else
{
return "{\"error\": 200 ,\"msg\": \"优惠券撤销失败:JSON参数解析异常!\",\"rows\":[{}]}";
}
#endregion
if (string.IsNullOrEmpty(_Dictionary["CouponCode"].ToString()))
{
return "{\"error\": 205 ,\"msg\": \"优惠券撤销失败:找不到优惠券信息!\",\"rows\":[{}]}";
}
DataTable _CONSUMPTIONRECORD = new DataTable();
List SQLStringArray = new List();
string _ServerpartCode = codes[0]; //服务区编码
string _ShopCode = codes[1]; //门店编码
string _SERVERPART_ID = ""; //服务区ID
string _SERVERPART_NAME = ""; //服务区名称
string _SERVERPARTSHOP_ID = ""; //门店ID
string _SHOPNAME = ""; //门店名称
string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODE"]; //省份编码
string _TicketCode = _Dictionary["TicketCode"].ToString(); //订单号
string _CouponCode = _Dictionary["CouponCode"].ToString(); //优惠券编号
if (_CouponCode.Length < 6)
{
return "{\"error\": 208 ,\"msg\": \"优惠券撤销失败:无效优惠券!\",\"rows\":[{}]}";
}
//_CouponCode = _CouponCode.Substring(0, 6);
//获取服务区、门店基础信息
DataTable _SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT A.PROVINCE_CODE,A.SERVERPART_ID,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPNAME
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE = '" +
_ServerpartCode + "' AND B.SHOPCODE = '" + _ShopCode + "'").Tables[0];
if (_SERVERPARTSHOP.Rows.Count > 0)
{
_PROVINCE_CODE = _SERVERPARTSHOP.Rows[0]["PROVINCE_CODE"].ToString();
_SERVERPART_ID = _SERVERPARTSHOP.Rows[0]["SERVERPART_ID"].ToString();
_SERVERPART_NAME = _SERVERPARTSHOP.Rows[0]["SERVERPART_NAME"].ToString();
_SERVERPARTSHOP_ID = _SERVERPARTSHOP.Rows[0]["SERVERPARTSHOP_ID"].ToString();
_SHOPNAME = _SERVERPARTSHOP.Rows[0]["SHOPNAME"].ToString();
}
StringBuilder sb = new StringBuilder();
sb.AppendFormat("?action_type={0}", "RevokeCoupon");
sb.AppendFormat("&CouponCode={0}", _CouponCode);
sb.AppendFormat("&TicketCode={0}", _TicketCode);
sb.AppendFormat("&provinceCode={0}", _PROVINCE_CODE);
sb.AppendFormat("&serverpartshopID={0}", _SERVERPARTSHOP_ID);
string parameters = sb.ToString();
string _BaseUrl = ConfigurationManager.AppSettings["MemberUrl"];
string RequestUrl = _BaseUrl + parameters;
string format = "application/json;charset=UTF-8";
string reString = SDK.CommonHelper.HttpUrlPost(parameters, RequestUrl, format, 0);
JObject _JObject = JObject.Parse(reString);
JObject info = new JObject();
switch (_JObject["ResultCode"].ToString())
{
case "100":
info["TicketCode"] = _TicketCode; //订单编号(商户系统)
info["CouponCode"] = _CouponCode; //优惠券编码
info["CouponName"] = _JObject["CouponName"]; //优惠券名称
return "{\"error\": 100 ,\"msg\": \"撤销成功!\",\"rows\":[" + info + "]}";
case "999":
return "{\"error\": 999 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
default:
return "{\"error\": 102 ,\"msg\": \"" + _JObject["ResultDesc"] + "\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
return "{\"error\": 999 ,\"msg\": \"优惠券撤销失败:" + ex.Message + "\",\"rows\":[{}]}";
}
}
#endregion
#endregion
#region 方法 -> 获取实时交易流水
///
/// 获取实时交易流水
///
///
///
[WebMethod]
public string GetSellMasterList(string code, string jsonString)
{
JObject info = new JObject();
try
{
if (string.IsNullOrEmpty(_OracleConnStr))
{
info["Error"] = "999";
info["Msg"] = "配置错误,请重试!";
return info.ToString();
}
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
info["Error"] = "200";
info["Msg"] = "查询失败:授权码错误!";
return info.ToString();
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
info["Error"] = "200";
info["Msg"] = "查询失败:授权码错误!";
return info.ToString();
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "StartDate", "EndDate", "Time_stamp", "SearchType" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
info["Error"] = "200";
info["Msg"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
return info.ToString();
}
}
_Dictionary.Clear();
_Dictionary.Add("Time_stamp", _Json["Time_stamp"].ToString());
_Dictionary.Add("SearchType", _Json["SearchType"].ToString());
_Dictionary.Add("StartDate", _Json["StartDate"].ToString());
_Dictionary.Add("EndDate", _Json["EndDate"].ToString());
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
info["Error"] = "200";
info["Msg"] = "查询失败:数据签名不通过!";
return info.ToString();
}
if (_Json.Property("SellMasterCode") != null)
{
_Dictionary.Add("SellMasterCode", _Json["SellMasterCode"].ToString());
}
else
{
_Dictionary.Add("SellMasterCode", "");
}
}
else
{
info["Error"] = "200";
info["Msg"] = "查询失败:JSON参数解析异常!";
return info.ToString();
}
#endregion
string _SERVERPARTCODE = codes[0];
string _SHOPCODE = codes[1];
//生成查询条件
string SqlString = "";
string DetilsSqlString = "";
DataTable _DataTable = new DataTable();
DataTable _DetilsDataTable = new DataTable();
if (!string.IsNullOrEmpty(_Dictionary["SellMasterCode"].ToString()))
{
SqlString += " AND SELLMASTER_CODE IN ('" + _Dictionary["SellMasterCode"].ToString().Replace(",", "','") + "')";
DetilsSqlString += " AND A.SELLMASTER_CODE IN ('" + _Dictionary["SellMasterCode"].ToString().Replace(",", "','") + "')";
}
if (!string.IsNullOrEmpty(_Dictionary["StartDate"].ToString()))
{
SqlString += " AND SELLMASTER_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
DetilsSqlString += " AND A.SELLMASTER_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(_Dictionary["EndDate"].ToString()))
{
SqlString += " AND SELLMASTER_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
DetilsSqlString += " AND A.SELLMASTER_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(_SERVERPARTCODE) && !string.IsNullOrEmpty(_SHOPCODE))
{
SqlString += " AND SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'";
DetilsSqlString += " AND A.SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND A.SHOPCODE = '" + _SHOPCODE + "'";
}
//查询主流水
_DataTable = _OracleHelperEx.ExcuteSqlGetDataSet(string.Format(
@"SELECT
A.SERVERPARTCODE,A.SERVERPART_NAME AS SERVERPARTNAME,A.SHOPCODE,A.SHOPNAME,
A.MACHINECODE,A.SELLWORKER_CODE AS SELLWORKERCODE,A.SELLWORKER_NAME AS SELLWORKERNAME,
A.SELLMASTER_CODE AS SELLMASTERCODE,A.SELLMASTER_COUNT AS TOTALCOUNT,
A.SELLMASTER_AMOUNT AS TOTALAMOUNT,A.SELLMASTER_OFFPRICE AS TOTALDISCOUNT,
A.CASHPAY,A.BANKPAY,CASE A.PAYMENT_TYPE WHEN 'WECHATPAY' THEN A.MOBILEPAY ELSE 0 END AS WECHATPAY,
CASE A.PAYMENT_TYPE WHEN 'ALIPAY' THEN A.MOBILEPAY ELSE 0 END AS ALIPAY,
(A.OTHERPAY + A.COUPONPAY + A.INTERNALPAY) AS OTHERPAY,A.SELLMASTER_DATE AS SELLMASTERDATE
FROM HIGHWAY_EXCHANGE.T_SELLMASTER A WHERE EXISTS (SELECT 1 FROM HIGHWAY_EXCHANGE.T_SELLDETAILS B
WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE HAVING SUM(B.SELLDETAILS_AMOUNT) = A.SELLMASTER_AMOUNT){0}
ORDER BY A.SELLMASTER_DATE,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE", SqlString)).Tables[0];
//查询明细
if (!string.IsNullOrEmpty(_Dictionary["SearchType"].ToString()) && _Dictionary["SearchType"].ToString() == "1")
{
_DetilsDataTable = _OracleHelperEx.ExcuteSqlGetDataSet(string.Format(
@"SELECT
B.COMMODITY_BARCODE,B.COMMODITY_NAME,B.SELLDETAILS_COUNT AS SELLCOUNT,
B.SELLDETAILS_PRICE AS PRICE,B.SELLDETAILS_OFFPRICE AS DISCOUNT,
B.SELLDETAILS_AMOUNT AS SELLAMOUNT,A.SELLMASTER_CODE
FROM HIGHWAY_EXCHANGE.T_SELLDETAILS B,HIGHWAY_EXCHANGE.T_SELLMASTER A
WHERE A.SELLMASTER_CODE = B.SELLMASTER_CODE{0}", DetilsSqlString)).Tables[0];
}
if (_DataTable.Rows.Count > 0 && _DetilsDataTable.Rows.Count <= 0)
{
//decimal.TryParse(_DataTable.Compute("SUM(TOTALCOUNT)", "").ToString(), out decimal _TotalCount);
decimal.TryParse(_DataTable.Compute("SUM(TOTALAMOUNT)", "").ToString(), out decimal _TotalAmount);
var SaleDateList = _DataTable.AsEnumerable().Select(p => new
{
ServerPartCode = p.Field("SERVERPARTCODE"),
ServerPartName = p.Field("SERVERPARTNAME"),
ShopCode = p.Field("SHOPCODE"),
ShopName = p.Field("SHOPNAME"),
MachineCode = p.Field("MACHINECODE"),
SellWorkerCode = p.Field("SELLWORKERCODE"),
SellWorerName = p.Field("SELLWORKERNAME"),
SellMasterCode = p.Field("SELLMASTERCODE"),
TotalCount = p.Field("TOTALCOUNT"),
TotalAmount = p.Field("TOTALAMOUNT"),
TotalDiscount = p.Field("TOTALDISCOUNT"),
CashPay = p.Field("CASHPAY"),
BankPay = p.Field("BANKPAY"),
WeChatPay = p.Field("WECHATPAY"),
AliPay = p.Field("ALIPAY"),
OtherPay = p.Field("OTHERPAY"),
SellMasterDate = p.Field("SELLMASTERDATE")
}).ToList();
info["Error"] = "100";
info["Msg"] = "查询成功";
info["TotalCount"] = _DataTable.Rows.Count;
info["TotalAmount"] = _TotalAmount;
info["Data"] = JsonHelper.ListToJObject(SaleDateList)["List"];
}
else if (_DataTable.Rows.Count > 0 && _DetilsDataTable.Rows.Count > 0)
{
//decimal.TryParse(_DataTable.Compute("SUM(TOTALCOUNT)", "").ToString(), out decimal _TotalCount);
decimal.TryParse(_DataTable.Compute("SUM(TOTALAMOUNT)", "").ToString(), out decimal _TotalAmount);
var SaleDetilsList = _DetilsDataTable.AsEnumerable().Select(p => new
{
CommodityBarcode = p.Field("COMMODITY_BARCODE"),
CommodityName = p.Field("COMMODITY_NAME"),
SellCount = p.Field("SELLCOUNT"),
Price = p.Field("PRICE"),
Discount = p.Field("DISCOUNT"),
SellAmount = p.Field("SELLAMOUNT"),
SellMasterCode = p.Field("SELLMASTER_CODE")
}).ToList();
var SaleDateList = from t in _DataTable.AsEnumerable()
group t by new
{
t1 = t.Field("SERVERPARTCODE"),
t2 = t.Field("SERVERPARTNAME"),
t3 = t.Field("SHOPCODE"),
t4 = t.Field("SHOPNAME"),
t5 = t.Field("MACHINECODE"),
t6 = t.Field("SELLWORKERCODE"),
t7 = t.Field("SELLWORKERNAME"),
t8 = t.Field("SELLMASTERCODE"),
t9 = t.Field("TOTALCOUNT"),
t10 = t.Field("TOTALAMOUNT"),
t11 = t.Field("TOTALDISCOUNT"),
t12 = t.Field("CASHPAY"),
t13 = t.Field("BANKPAY"),
t14 = t.Field("WECHATPAY"),
t15 = t.Field("ALIPAY"),
t16 = t.Field("OTHERPAY"),
t17 = t.Field("SELLMASTERDATE")
} into p
select new
{
ServerPartCode = p.Key.t1,
ServerPartName = p.Key.t2,
ShopCode = p.Key.t3,
ShopName = p.Key.t4,
MachineCode = p.Key.t5,
SellWorkerCode = p.Key.t6,
SellWorerName = p.Key.t7,
SellMasterCode = p.Key.t8,
TotalCount = p.Key.t9,
TotalAmount = p.Key.t10,
TotalDiscount = p.Key.t11,
CashPay = p.Key.t12,
BankPay = p.Key.t13,
WeChatPay = p.Key.t14,
AliPay = p.Key.t15,
OtherPay = p.Key.t16,
SellMasterDate = p.Key.t17,
SellDetails = SaleDetilsList.Where(l => l.SellMasterCode == p.Key.t8)
};
info["Error"] = "100";
info["Msg"] = "查询成功";
info["TotalCount"] = _DataTable.Rows.Count;
info["TotalAmount"] = _TotalAmount;
info["Data"] = JsonHelper.ListToJObject(SaleDateList.ToList())["List"];
}
else
{
info["Error"] = "100";
info["Msg"] = "查询成功";
info["TotalCount"] = 0;
info["TotalAmount"] = 0;
info["Data"] = "[]";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
//return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
info["Error"] = "999";
info["Msg"] = "查询失败:" + ex.Message;
}
return info.ToString();
}
#endregion
#region 方法 -> 获取日结营收数据
///
/// 获取日结营收数据
///
///
///
[WebMethod]
public string GetEndAccountList(string code, string jsonString)
{
JObject info = new JObject();
try
{
string _OracleEndConnStr = ConfigurationManager.AppSettings["OracleEndConnStr"];
if (string.IsNullOrEmpty(_OracleEndConnStr))
{
info["Error"] = "999";
info["Msg"] = "配置错误,请重试!";
return info.ToString();
}
OracleHelper _OracleHelperEx = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
WebService.SDK.LogHelper.WriteSendLog(code + "\r\n" + jsonString);
if (string.IsNullOrEmpty(code) || code.Length < 10)
{
info["Error"] = "200";
info["Msg"] = "查询失败:授权码错误!";
return info.ToString();
}
string MD5Key = (code.Substring(0, 6) + "|" + code.Substring(6) + "||").ToEncrypt();
string[] codes = OperationDataHelper.IsCorrectCode(_OracleHelperEx, MD5Key);
if (codes == null)
{
WebService.SDK.LogHelper.WriteSendLog(code);
info["Error"] = "200";
info["Msg"] = "查询失败:授权码错误!";
return info.ToString();
}
#region 必填项验证
string[] _RequiredDatas = { "sign", "StartDate", "EndDate", "Time_stamp" };
Dictionary _Dictionary = new Dictionary();
if (!string.IsNullOrEmpty(jsonString))
{
JObject _Json = JObject.Parse(jsonString);
foreach (string _RequiredData in _RequiredDatas)
{
if (_Json.Property(_RequiredData) == null)
{
info["Error"] = "200";
info["Msg"] = "查询失败:JSON缺少必要参数:" + _RequiredData;
return info.ToString();
}
}
_Dictionary.Clear();
_Dictionary.Add("Time_stamp", _Json["Time_stamp"].ToString());
_Dictionary.Add("StartDate", _Json["StartDate"].ToString());
_Dictionary.Add("EndDate", _Json["EndDate"].ToString());
if (_Json["sign"].ToString() != SDK.CommonHelper.ParamSign(_Dictionary, code, MD5Key))
{
info["Error"] = "200";
info["Msg"] = "查询失败:数据签名不通过!";
return info.ToString();
}
}
else
{
info["Error"] = "200";
info["Msg"] = "查询失败:JSON参数解析异常!";
return info.ToString();
}
#endregion
//生成查询条件
string _SERVERPARTCODE = codes[0];
string _SHOPCODE = codes[1];
string SqlString = "";
DataTable _DataTable = new DataTable();
if (!string.IsNullOrEmpty(_Dictionary["StartDate"].ToString()))
{
SqlString += " AND A.ENDACCOUNT_DATE >= TO_DATE('" + _Dictionary["StartDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(_Dictionary["EndDate"].ToString()))
{
SqlString += " AND A.ENDACCOUNT_DATE < TO_DATE('" + _Dictionary["EndDate"].ToString() + "','YYYY/MM/DD HH24:MI:SS')";
}
if (!string.IsNullOrEmpty(_SERVERPARTCODE) && !string.IsNullOrEmpty(_SHOPCODE))
{
SqlString += " AND A.SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND A.SHOPCODE = '" + _SHOPCODE + "'";
}
//查询结账数据
OracleHelper _OracleHelperEnd = new OracleHelper(_OracleEndConnStr.Split(',')[0],
_OracleEndConnStr.Split(',')[1], _OracleEndConnStr.Split(',')[2], _OracleEndConnStr.Split(',')[3]);
_DataTable = _OracleHelperEnd.ExcuteSqlGetDataSet(string.Format(
@"SELECT
A.SERVERPARTCODE,A.SERVERPART_NAME,A.SHOPCODE,A.SHOPNAME,
A.MACHINECODE,A.ENDACCOUNT_STARTDATE,A.ENDACCOUNT_DATE,A.ENDPERSONCODE,
A.WORKER_NAME,A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT,A.TOTALOFFAMOUNT,
A.CASH,A.CREDITCARD,A.TICKETBILL AS WECHATPAY,A.OTHERPAY AS ALIPAY,
(A.COSTBILL + A.VIPPERSON) AS OTHERPAY,A.CASHPAY,A.DIFFERENT_PRICE
FROM
HIGHWAY_SELLDATA.T_ENDACCOUNT A
WHERE VALID = 1 {0}
ORDER BY A.ENDACCOUNT_DATE,A.SERVERPARTCODE,A.SHOPCODE,A.MACHINECODE", SqlString)).Tables[0];
if (_DataTable.Rows.Count > 0)
{
var EndDateList = _DataTable.AsEnumerable().Select(p => new
{
ServerPartCode = p.Field("SERVERPARTCODE"),
ServerPartName = p.Field("SERVERPART_NAME"),
ShopCode = p.Field("SHOPCODE"),
ShopName = p.Field("SHOPNAME"),
MachineCode = p.Field("MACHINECODE"),
SellWorkerCode = p.Field("ENDPERSONCODE"),
SellWorerName = p.Field("WORKER_NAME"),
TicketCount = p.Field("TICKETCOUNT"),
TotalCount = p.Field("TOTALCOUNT"),
TotalAmount = p.Field("TOTALSELLAMOUNT"),
TotalDiscount = p.Field("TOTALOFFAMOUNT"),
CashPay = p.Field("CASH"),
BankPay = p.Field("CREDITCARD"),
WeChatPay = p.Field("WECHATPAY"),
AliPay = p.Field("ALIPAY"),
OtherPay = p.Field("OTHERPAY"),
CashPayment = p.Field("CASHPAY"),
DifferentAmount = p.Field("DIFFERENT_PRICE"),
StartDate = p.Field("ENDACCOUNT_STARTDATE"),
EndDate = p.Field("ENDACCOUNT_DATE")
}).ToList();
info["Error"] = "100";
info["Msg"] = "查询成功";
info["TotalCount"] = _DataTable.Rows.Count;
info["Data"] = JsonHelper.ListToJObject(EndDateList)["List"];
}
else
{
info["Error"] = "100";
info["Msg"] = "查询成功";
info["TotalCount"] = 0;
info["Data"] = "[]";
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog(ex.Message);
info["Error"] = "999";
info["Msg"] = "查询失败:" + ex.Message;
//return "{\"error\": 999 ,\"msg\": \"查询失败:" + ex.Message + "\",\"rows\":[{}]}";
}
return info.ToString();
}
#endregion
#region 方法 -> 上传单品集合到云平台
public void UpLoadSaleCloud(string code, string jsonString)
{
Hashtable hashtable = new Hashtable
{
{ "code", code },
{ "jsonString", jsonString }
};
SoapWSHelper.QuerySoapWebServiceString(_ColudUrl, "AddTransfer_selldata", hashtable);
}
#endregion
#region 方法 -> 单品拆解为流水数据
public void SellDataSplit(List _Data, string[] codes)
{
string _SaleSplitServerPart = ConfigurationManager.AppSettings["SaleSplitServerPart"];
//单品集合拆解到流水
if (!string.IsNullOrEmpty(_OracleConnStr))
{
string _SERVERPARTCODE = codes[0];
string _SHOPCODE = codes[1];
string _SERVERPART_NAME = "";
string _SHOPNAME = "";
OracleHelper _OracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
_OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
List SqlList = new List();
try
{
//获取服务区名称
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT SERVERPART_NAME FROM HIGHWAY_EXCHANGE.T_SERVERPART WHERE SERVERPART_CODE = '" + _SERVERPARTCODE + "'").Tables[0];
if (_DataTable.Rows.Count > 0)
{
_SERVERPART_NAME = _DataTable.Rows[0][0].ToString();
}
//获取门店名称
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
"SELECT SHOPNAME FROM HIGHWAY_EXCHANGE.T_SHOPMESSAGE WHERE SERVERPARTCODE = '" +
_SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'").Tables[0];
if (_DataTable.Rows.Count > 0)
{
_SHOPNAME = _DataTable.Rows[0][0].ToString();
}
_DataTable = _OracleHelper.ExcuteSqlGetDataSet(
@"SELECT SELLWORKERCODE,SELLWORKERNAME FROM HIGHWAY_EXCHANGE.T_SELLWORKER
WHERE SERVERPARTCODE = '" + _SERVERPARTCODE + "' AND SHOPCODE = '" + _SHOPCODE + "'").Tables[0];
foreach (Model.HIGHWAY.TRANSFER_SELLDATA _TRANSFER_SELLDATA in _Data)
{
string _SellMasterCode = _SERVERPARTCODE + _SHOPCODE + _TRANSFER_SELLDATA.MACHINECODE +
_TRANSFER_SELLDATA.WORKERCODE + _TRANSFER_SELLDATA.SELLDATA_DATE.Value.ToString("yyyyMMddHHmmss");
string _SellWorkName = "";
DataRow[] _DataRow = _DataTable.Select("SELLWORKERCODE = '" + _TRANSFER_SELLDATA.WORKERCODE + "'");
if (_DataRow.Length > 0)
{
_SellWorkName = _DataRow[0]["SELLWORKERNAME"].ToString();
}
string _InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLMASTER (
SELLMASTER_ID,SELLMASTER_CODE,SERVERPARTCODE,SERVERPART_NAME,SHOPCODE,SHOPNAME,MACHINECODE,
SELLWORKER_CODE,SELLWORKER_NAME,SELLMASTER_DATE,SELLMASTER_COUNT,SELLMASTER_OFFPRICE,
SELLMASTER_AMOUNT,CASHPAY,TRANSFER_STATE) VALUES(1,'{0}','{1}','{2}','{3}','{4}','{5}','{6}',
'{7}',TO_DATE('{8}','YYYY/MM/DD HH24:MI:SS'),{9},{10},{11},{11},0)", _SellMasterCode,
_SERVERPARTCODE, _SERVERPART_NAME, _SHOPCODE, _SHOPNAME, _TRANSFER_SELLDATA.MACHINECODE,
_TRANSFER_SELLDATA.WORKERCODE, _SellWorkName, _TRANSFER_SELLDATA.SELLDATA_DATE,
_TRANSFER_SELLDATA.SELLCOUNT, _TRANSFER_SELLDATA.OFFPRICE, _TRANSFER_SELLDATA.FACTAMOUNT);
SqlList.Add(_InsertSql);
int _LINENUM = 1;
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FIRSTDATAS))
{
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FIRSTDATAS.Split(",");
foreach (string _SaleDate in _str)
{
string[] _temp = _SaleDate.Split('^');
if (_temp.Length > 2)
{
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
_TRANSFER_SELLDATA.SELLDATA_DATE);
SqlList.Add(_InsertSql);
}
}
}
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_SECONDDATAS))
{
string[] _str = _TRANSFER_SELLDATA.TRANSFER_SECONDDATAS.Split(",");
foreach (string _SaleDate in _str)
{
string[] _temp = _SaleDate.Split('^');
if (_temp.Length > 2)
{
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
_TRANSFER_SELLDATA.SELLDATA_DATE);
SqlList.Add(_InsertSql);
}
}
}
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_THIRDDATAS))
{
string[] _str = _TRANSFER_SELLDATA.TRANSFER_THIRDDATAS.Split(",");
foreach (string _SaleDate in _str)
{
string[] _temp = _SaleDate.Split('^');
if (_temp.Length > 2)
{
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
_TRANSFER_SELLDATA.SELLDATA_DATE);
SqlList.Add(_InsertSql);
}
}
}
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FORTHDATAS))
{
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FORTHDATAS.Split(",");
foreach (string _SaleDate in _str)
{
string[] _temp = _SaleDate.Split('^');
if (_temp.Length > 2)
{
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
_TRANSFER_SELLDATA.SELLDATA_DATE);
SqlList.Add(_InsertSql);
}
}
}
if (!string.IsNullOrEmpty(_TRANSFER_SELLDATA.TRANSFER_FIFTHDATAS))
{
string[] _str = _TRANSFER_SELLDATA.TRANSFER_FIFTHDATAS.Split(",");
foreach (string _SaleDate in _str)
{
string[] _temp = _SaleDate.Split('^');
if (_temp.Length > 2)
{
_InsertSql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLDETAILS (
SELLDETAILS_ID,SELLMASTER_CODE,COMMODITY_BARCODE,COMMODITY_NAME,SELLDETAILS_COUNT,
SELLDETAILS_PRICE,SELLDETAILS_AMOUNT,LINENUM,CREATE_DATE,TRANSFER_STATE)
VALUES(1,'{0}','{1}','{2}',{3},{4},{5},{6},TO_DATE('{7}','YYYY/MM/DD HH24:MI:SS'),0)",
_SellMasterCode, _temp[0].Split("_")[0], _temp[0].Split("_")[1], _temp[1],
(double.Parse(_temp[2]) / double.Parse(_temp[1])), _temp[2], _LINENUM,
_TRANSFER_SELLDATA.SELLDATA_DATE);
SqlList.Add(_InsertSql);
}
}
}
}
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog("生成流水语句错误:" + ex.ToString());
}
try
{
_OracleHelper.ExecuteSqlTran(SqlList);
}
catch (Exception ex)
{
WebService.SDK.LogHelper.WriteSendLog("执行流水拆解插入错误:" + ex.ToString());
}
}
#region 弃用
////服务区采集到总部
//string _OracleSaleConnStr = ConfigurationManager.AppSettings["OracleSaleConnStr"];
//if (!string.IsNullOrEmpty(_OracleSaleConnStr) && !string.IsNullOrEmpty(_OracleConnStr))
//{
// OracleHelper _OracleHelper = new OracleHelper(_OracleSaleConnStr.Split(',')[0],
// _OracleSaleConnStr.Split(',')[1], _OracleSaleConnStr.Split(',')[2], _OracleSaleConnStr.Split(',')[3]);
// OracleHelper _LoaclOracleHelper = new OracleHelper(_OracleConnStr.Split(',')[0],
// _OracleConnStr.Split(',')[1], _OracleConnStr.Split(',')[2], _OracleConnStr.Split(',')[3]);
// string _whereSql = "";
// if (!string.IsNullOrEmpty(_SaleSplitServerPart))
// {
// _whereSql += " AND SERVERPARTCODE IN ('"+ _SaleSplitServerPart.Replace(",","','") + "')";
// }
// DataTable dataTable = _OracleHelper.ExcuteSqlGetDataSet(
// @"SELECT * FROM HIGHWAY_EXCHANGE.T_SELLMASTER WHERE TRANSFER_STATE = 0 "+ _whereSql).Tables[0];
// List SqlList = new List();
// foreach (DataRow _DataRow in dataTable.Rows)
// {
// SqlList.Add(string.Format(
// $@"INSERT INTO HIGHWAY_EXCHANGE.T_SELLMASTER (
// SELLMASTER_ID,SELLMASTER_CODE,SERVERPARTCODE,SERVERPART_NAME,SHOPCODE,
// SHOPNAME,MACHINECODE,SELLWORKER_CODE,SELLWORKER_NAME,SELLMASTER_DATE,
// TICKET_CODE,SELLMASTER_COUNT,SELLMASTER_OFFPRICE,SELLMASTER_AMOUNT,CASHPAY,
// BANKPAY,MEMBERPAY,COUPONPAY,MOBILEPAY,INTERNALPAY,OTHERPAY,PAYMENT_TYPE,
// MOBILEPAY_CODE,MERCHANT_ORDER,SELLMASTER_DESC,COUPON_TYPE)
// VALUES (
// 1,'{_DataRow["SELLMASTER_CODE"]}','{_DataRow["SERVERPARTCODE"]}',
// '{_DataRow["SERVERPART_NAME"]}','{_DataRow["SHOPCODE"]}',
// '{_DataRow["SHOPNAME"]}','{_DataRow["MACHINECODE"]}','{_DataRow["SELLWORKER_CODE"]}',
// '{_DataRow["SELLWORKER_NAME"]}',TO_DATE('{_DataRow["SELLMASTER_DATE"]}',
// 'YYYY/MM/DD HH24:MI:SS'),'{_DataRow["TICKET_CODE"]}',{_DataRow["SELLMASTER_COUNT"]},
// {_DataRow["SELLMASTER_OFFPRICE"]},{_DataRow["SELLMASTER_AMOUNT"]},{_DataRow["CASHPAY"]},
// {_DataRow["BANKPAY"]},{_DataRow["MEMBERPAY"]},{_DataRow["COUPONPAY"]},
// {_DataRow["MOBILEPAY"]},{_DataRow["INTERNALPAY"]},{_DataRow["OTHERPAY"]},
// '{_DataRow["PAYMENT_TYPE"]}','{_DataRow["MOBILEPAY_CODE"]}','{_DataRow["MERCHANT_ORDER"]}',
// '{_DataRow["SELLMASTER_DESC"]}','{_DataRow["COUPON_TYPE"]}')"));
// }
// try
// {
// _LoaclOracleHelper.ExecuteSqlTran(SqlList);
// _OracleHelper.ExcuteSql("UPDATE HIGHWAY_EXCHANGE.T_SELLMASTER SET TRANSFER_STATE = 9 WHERE TRANSFER_STATE = 0 " + _whereSql);
// }
// catch (Exception ex)
// {
// WebService.SDK.LogHelper.WriteSendLog("执行流水插入错误:" + ex.ToString());
// }
//}
#endregion
}
#endregion
#region 方法 -> 打印错误日志
///
/// 打印错误日志
///
///
///
[WebMethod]
public void LogWriteSendLog(string jsonString)
{
WebService.SDK.LogHelper.WriteSendLog(jsonString);
}
#endregion
}
}