108 lines
5.2 KiB
C#
108 lines
5.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace WebService.SDK.MemberService
|
|
{
|
|
public class MallService
|
|
{
|
|
/// <summary>
|
|
/// 获取在线订单主表数据
|
|
/// </summary>
|
|
/// <param name="oracleHelper">数据库连接对象</param>
|
|
/// <param name="provinceCode">省份编码</param>
|
|
/// <param name="serverPartShopID">门店内码</param>
|
|
/// <param name="salebillType">订单类型</param>
|
|
/// <param name="saleBillState">订单状态</param>
|
|
/// <param name="orderDate">最小订单时间</param>
|
|
/// <returns></returns>
|
|
public static string GetOnlineOrder(OracleHelper oracleHelper, int provinceCode,
|
|
int serverPartShopID, int salebillType, string saleBillState, DateTime? orderDate)
|
|
{
|
|
if (orderDate == null || orderDate.Value == DateTime.MinValue)
|
|
{
|
|
orderDate = DateTime.Today.AddDays(-1);
|
|
}
|
|
DataTable _SaleBillTable = oracleHelper.ExcuteSqlGetDataSet(
|
|
$@"SELECT SALEBILL_ID,SALEBILL_CODE,MEMBERSHIP_ID,SALEBILL_TYPE,
|
|
TABLE_NUMBER,TAKE_TYPE,PROVINCE_CODE,SERVERPART_ID,SERVERPART_CODE,
|
|
SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,ORDER_PERSON,
|
|
ORDER_PERSONTEL,ORDER_DATE,RESERVATION_DATE,RECORD_COUNT,TOTAL_COUNT,
|
|
ORDER_AMOUNT,SALEBILL_STATE,SALEBILL_DESC,COUPON_AMOUNT,WECHAT_UNIONID,
|
|
WECHAT_OPENID,COUPON_SEND_ID,COUPON_ID,PAY_AMOUNT,MAKE_DATE,
|
|
CHANNEL_TYPE,PACK_TYPE,PACK_AMOUNT
|
|
FROM HIGHWAY_EXCHANGE.T_SALEBILL
|
|
WHERE PROVINCE_CODE = {provinceCode} AND SERVERPARTSHOP_ID = {serverPartShopID} AND
|
|
SALEBILL_STATE IN ({saleBillState}) AND SALEBILL_TYPE = {salebillType} AND
|
|
ORDER_DATE >= TO_DATE('{orderDate.Value.ToString("yyyy/MM/dd HH:mm:ss")}','YYYY/MM/DD HH24:MI:SS')
|
|
ORDER BY SALEBILL_ID ").Tables[0];
|
|
return JSonHelper.DataTableToJson(_SaleBillTable, "SALEBILLINFO");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取在线订单详情
|
|
/// </summary>
|
|
/// <param name="oracleHelper">数据库连接对象</param>
|
|
/// <param name="saleBillID">订单内码</param>
|
|
/// <returns></returns>
|
|
public static string GetOnlineOrderDetail(OracleHelper oracleHelper, int saleBillID)
|
|
{
|
|
DataTable _SaleDetailTable = oracleHelper.ExcuteSqlGetDataSet(
|
|
$@"SELECT SALEDETAIL_ID,SALEBILL_ID,PROVINCE_CODE,COMMODITY_ID,
|
|
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
|
COMMODITY_UNIT,COMMODITY_RULE,ORDER_COUNT,AVERAGE_PRICE,
|
|
DISCOUNT_AMOUNT,ORDER_AMOUNT,SALEDETAIL_DESC
|
|
FROM HIGHWAY_EXCHANGE.T_SALEDETAIL
|
|
WHERE SALEBILL_ID = {saleBillID}").Tables[0];
|
|
return JSonHelper.DataTableToJson(_SaleDetailTable, "SALEDETAILINFO");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新在线订单状态
|
|
/// </summary>
|
|
/// <param name="oracleHelper">数据库连接对象</param>
|
|
/// <param name="saleBillID">订单内码</param>
|
|
/// <param name="orderState">更新的订单状态</param>
|
|
/// <param name="machineCode">接收的收银机号</param>
|
|
/// <param name="printTime">操作时间</param>
|
|
/// <returns></returns>
|
|
public static string UpdateOnlineOrderState(OracleHelper oracleHelper, int saleBillID,
|
|
int orderState, string machineCode, DateTime? printTime)
|
|
{
|
|
if (printTime == null || printTime.Value == DateTime.MinValue)
|
|
{
|
|
printTime = DateTime.Now;
|
|
}
|
|
try
|
|
{
|
|
DataTable _SaleBillTable = oracleHelper.ExcuteSqlGetDataSet(
|
|
$@"SELECT SALEBILL_ID,SALEBILL_STATE
|
|
FROM HIGHWAY_EXCHANGE.T_SALEBILL
|
|
WHERE SALEBILL_ID = {saleBillID}
|
|
ORDER BY SALEBILL_ID DESC").Tables[0];
|
|
if (_SaleBillTable.Rows.Count > 0)
|
|
{
|
|
if (int.Parse(_SaleBillTable.Rows[0]["SALEBILL_STATE"].ToString()) < orderState)
|
|
oracleHelper.ExcuteSql(
|
|
$@"UPDATE HIGHWAY_EXCHANGE.T_SALEBILL
|
|
SET {(orderState == 2000 ? $@"MACHINECODE = '{machineCode}',
|
|
MAKE_DATE = TO_DATE('{printTime.Value.ToString("yyyy/MM/dd HH:mm:ss")}','YYYY/MM/DD HH24:MI:SS')," : "")}
|
|
SALEBILL_STATE = {orderState},TRANSFER_STATE = 0
|
|
WHERE SALEBILL_ID = {saleBillID}");
|
|
return "{\"error\": 1 ,\"msg\": \"更新成功!\",\"rows\":[]}";
|
|
}
|
|
else
|
|
{
|
|
return "{\"error\": -1 ,\"msg\": \"更新失败,订单不存在!\",\"rows\":[]}";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return "{\"error\": -2 ,\"msg\": \"更新失败:" + ex.Message + "\",\"rows\":[]}";
|
|
}
|
|
}
|
|
}
|
|
}
|