2025-03-28 09:49:56 +08:00

2915 lines
159 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

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

using System;
using System.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
{
/// <summary>
/// Service 的摘要说明
/// </summary>
[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 ->
/// <summary>
/// 添加结账数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.ENDACCOUNT> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.ENDACCOUNT>(
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<Model.HIGHWAY.ENDACCOUNT>.InsertTableData(_OracleHelper, _ENDACCOUNT,
"HIGHWAY_EXCHANGE.T_ENDACCOUNT", "ENDACCOUNT_ID", "HIGHWAY_EXCHANGE.SEQ_ENDACCOUNT.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.ENDACCOUNT>(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败JSON参数解析异常\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region ->
/// <summary>
/// 添加COMMODITYSALE表
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.COMMODITYSALE> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.COMMODITYSALE>(
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<Model.HIGHWAY.COMMODITYSALE>.InsertTableData(_OracleHelper, _COMMODITYSALE,
"HIGHWAY_EXCHANGE.T_COMMODITYSALE", "COMMODITYSALE_ID", "HIGHWAY_EXCHANGE.SEQ_COMMODITYSALE.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.COMMODITYSALE>(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败JSON参数解析异常\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region ->
/// <summary>
/// 添加收银员报表
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.PERSONSELL> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.PERSONSELL>(
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<Model.HIGHWAY.PERSONSELL>.InsertTableData(_OracleHelper, _PERSONSELL,
"HIGHWAY_EXCHANGE.T_PERSONSELL", "PERSONSELL_ID", "HIGHWAY_EXCHANGE.SEQ_PERSONSELL.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.PERSONSELL>(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败JSON参数解析异常\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region ->
/// <summary>
/// 添加销售流水集合
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.TRANSFER_SELLDATA> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.TRANSFER_SELLDATA>(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<Model.HIGHWAY.TRANSFER_SELLDATA>.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<Model.HIGHWAY.TRANSFER_SELLDATA>(_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 ->
/// <summary>
/// 查询数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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 ->
/// <summary>
/// 查询流水主表数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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 ->
/// <summary>
/// 获取实时流水数据(一小时)
/// </summary>
/// <param name="code">授权码</param>
/// <param name="jsonString">查询参数</param>
/// <returns></returns>
[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 ->
/// <summary>
/// 添加商品数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.COMMODITYEX> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.COMMODITYEX>(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.COMMODITYEX _COMMODITYEX in _Data)
{
_COMMODITYEX.SERVERPARTCODE = codes[0];
_COMMODITYEX.SHOPCODE = codes[1];
OperationDataHelper<Model.HIGHWAY.COMMODITYEX>.InsertTableData(_OracleHelper, _COMMODITYEX,
"HIGHWAY_STORAGE.T_COMMODITYEX", "COMMODITYEX_ID", "HIGHWAY_STORAGE.SEQ_COMMODITYEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.COMMODITYEX>(_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<string>.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<Model.HIGHWAY.GOODSSTOCKEX> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.GOODSSTOCKEX>(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.GOODSSTOCKEX _GOODSSTOCKEX in _Data)
{
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
_GOODSSTOCKEX.SHOPCODE = codes[1];
OperationDataHelper<Model.HIGHWAY.GOODSSTOCKEX>.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
"HIGHWAY_STORAGE.T_GOODSSTOCKEX", "GOODSSTOCKEX_ID", "HIGHWAY_STORAGE.SEQ_GOODSSTOCKEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.GOODSSTOCKEX>(_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<string>.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<Model.HIGHWAY.INSALES_STATISTICEX> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.INSALES_STATISTICEX>(jsonString);
if (_Data != null && _Data.Count > 0)
{
foreach (Model.HIGHWAY.INSALES_STATISTICEX _GOODSSTOCKEX in _Data)
{
_GOODSSTOCKEX.SERVERPARTCODE = codes[0];
_GOODSSTOCKEX.SHOPCODE = codes[1];
OperationDataHelper<Model.HIGHWAY.INSALES_STATISTICEX>.InsertTableData(_OracleHelper, _GOODSSTOCKEX,
"HIGHWAY_STORAGE.T_INSALES_STATISTICEX", "INSALES_STATISTICEX_ID", "HIGHWAY_STORAGE.SEQ_INSALES_STATISTICEX.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.INSALES_STATISTICEX>(_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<string>.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<string>("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 ->
/// <summary>
/// 添加订单数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<Model.HIGHWAY.PURCHASEDETAIL> _Data = JsonHelper.JSONStringToList<Model.HIGHWAY.PURCHASEDETAIL>(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<Model.HIGHWAY.PURCHASEDETAIL>.InsertTableData(_OracleHelper, _PURCHASEDETAIL,
"HIGHWAY_STORAGE.T_PURCHASEDETAIL", "PURCHASEDETAIL_ID", "HIGHWAY_STORAGE.SEQ_PURCHASEDETAIL.NEXTVAL");
}
return "{\"error\": 1 ,\"msg\": \"添加成功!\",\"rows\":" +
JsonHelper.ListToJson<Model.HIGHWAY.PURCHASEDETAIL>(_Data, "rows", false) + "}";
}
else
{
return "{\"error\": -1 ,\"msg\": \"添加失败JSON参数解析异常\",\"rows\":[{}]}";
}
}
catch (Exception ex)
{
return "{\"error\": -1 ,\"msg\": \"添加失败:" + ex.ToString() + "\",\"rows\":[{}]}";
}
}
#endregion
#region ->
#region ->
/// <summary>
/// 获取企业信息
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 ->
/// <summary>
/// 获取会员信息
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 ->
/// <summary>
/// 获取卡户信息
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 ->
/// <summary>
/// 订单支付
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 ->
/// <summary>
/// 订单查询
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 -> 退
/// <summary>
/// 获取会员、卡户信息
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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 ->
/// <summary>
/// 会员电子优惠券验证接口
/// </summary>
/// <param name="code">授权码</param>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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<string> SQLStringArray = new List<string>();
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 ->
/// <summary>
/// 会员电子优惠券验证接口
/// </summary>
/// <param name="code">授权码</param>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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<string> SQLStringArray = new List<string>();
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 ->
/// <summary>
/// 获取实时交易流水
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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<string>("SERVERPARTCODE"),
ServerPartName = p.Field<string>("SERVERPARTNAME"),
ShopCode = p.Field<string>("SHOPCODE"),
ShopName = p.Field<string>("SHOPNAME"),
MachineCode = p.Field<string>("MACHINECODE"),
SellWorkerCode = p.Field<string>("SELLWORKERCODE"),
SellWorerName = p.Field<string>("SELLWORKERNAME"),
SellMasterCode = p.Field<string>("SELLMASTERCODE"),
TotalCount = p.Field<decimal?>("TOTALCOUNT"),
TotalAmount = p.Field<decimal?>("TOTALAMOUNT"),
TotalDiscount = p.Field<decimal?>("TOTALDISCOUNT"),
CashPay = p.Field<decimal?>("CASHPAY"),
BankPay = p.Field<decimal?>("BANKPAY"),
WeChatPay = p.Field<decimal?>("WECHATPAY"),
AliPay = p.Field<decimal?>("ALIPAY"),
OtherPay = p.Field<decimal?>("OTHERPAY"),
SellMasterDate = p.Field<DateTime?>("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<string>("COMMODITY_BARCODE"),
CommodityName = p.Field<string>("COMMODITY_NAME"),
SellCount = p.Field<decimal?>("SELLCOUNT"),
Price = p.Field<decimal?>("PRICE"),
Discount = p.Field<decimal?>("DISCOUNT"),
SellAmount = p.Field<decimal?>("SELLAMOUNT"),
SellMasterCode = p.Field<string>("SELLMASTER_CODE")
}).ToList();
var SaleDateList = from t in _DataTable.AsEnumerable()
group t by new
{
t1 = t.Field<string>("SERVERPARTCODE"),
t2 = t.Field<string>("SERVERPARTNAME"),
t3 = t.Field<string>("SHOPCODE"),
t4 = t.Field<string>("SHOPNAME"),
t5 = t.Field<string>("MACHINECODE"),
t6 = t.Field<string>("SELLWORKERCODE"),
t7 = t.Field<string>("SELLWORKERNAME"),
t8 = t.Field<string>("SELLMASTERCODE"),
t9 = t.Field<decimal?>("TOTALCOUNT"),
t10 = t.Field<decimal?>("TOTALAMOUNT"),
t11 = t.Field<decimal?>("TOTALDISCOUNT"),
t12 = t.Field<decimal?>("CASHPAY"),
t13 = t.Field<decimal?>("BANKPAY"),
t14 = t.Field<decimal?>("WECHATPAY"),
t15 = t.Field<decimal?>("ALIPAY"),
t16 = t.Field<decimal?>("OTHERPAY"),
t17 = t.Field<DateTime?>("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 ->
/// <summary>
/// 获取日结营收数据
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[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<string>.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<string, string> _Dictionary = new Dictionary<string, string>();
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<string>("SERVERPARTCODE"),
ServerPartName = p.Field<string>("SERVERPART_NAME"),
ShopCode = p.Field<string>("SHOPCODE"),
ShopName = p.Field<string>("SHOPNAME"),
MachineCode = p.Field<string>("MACHINECODE"),
SellWorkerCode = p.Field<string>("ENDPERSONCODE"),
SellWorerName = p.Field<string>("WORKER_NAME"),
TicketCount = p.Field<decimal?>("TICKETCOUNT"),
TotalCount = p.Field<decimal?>("TOTALCOUNT"),
TotalAmount = p.Field<decimal?>("TOTALSELLAMOUNT"),
TotalDiscount = p.Field<decimal?>("TOTALOFFAMOUNT"),
CashPay = p.Field<decimal?>("CASH"),
BankPay = p.Field<decimal?>("CREDITCARD"),
WeChatPay = p.Field<decimal?>("WECHATPAY"),
AliPay = p.Field<decimal?>("ALIPAY"),
OtherPay = p.Field<decimal?>("OTHERPAY"),
CashPayment = p.Field<decimal?>("CASHPAY"),
DifferentAmount = p.Field<decimal?>("DIFFERENT_PRICE"),
StartDate = p.Field<DateTime?>("ENDACCOUNT_STARTDATE"),
EndDate = p.Field<DateTime?>("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<Model.HIGHWAY.TRANSFER_SELLDATA> _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<string> SqlList = new List<string>();
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<string> SqlList = new List<string>();
// 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 ->
/// <summary>
/// 打印错误日志
/// </summary>
/// <param name="jsonString"></param>
/// <returns></returns>
[WebMethod]
public void LogWriteSendLog(string jsonString)
{
WebService.SDK.LogHelper.WriteSendLog(jsonString);
}
#endregion
}
}