public Int32 AddVIPCardStoredValue(VIPCardAddMoney cardMoney, out string tradePayNo) { int result = 0; tradePayNo = string.Empty; try { _daoManager.OpenConnection(); //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); VIPCardStoredVaule cardStoredVaule = _vipCardTradeDao.GetVIPCardStoredVaule(cardMoney.CardNo, cardMoney.StoreMoney); decimal giftAmount = 0M; int giftIntegral = 0; if (cardStoredVaule != null) { decimal multiple = 1M; if (cardStoredVaule.IsMultiple) { multiple = cardMoney.StoreMoney / cardStoredVaule.StoredVauleAmount; } if (cardStoredVaule.FixedAmount > 0) { giftAmount = cardStoredVaule.FixedAmount * multiple; } else { giftAmount = cardMoney.StoreMoney * cardStoredVaule.PresentAmountRate * multiple; } if (cardStoredVaule.FixedIntegral > 0) { giftIntegral = Convert.ToInt32(cardStoredVaule.FixedIntegral * multiple); } else { giftIntegral = Convert.ToInt32(cardMoney.StoreMoney * cardStoredVaule.PresentIntegralRate * multiple); } } result = _vipCardTradeDao.AddVIPCardStoredValue(cardMoney.CardNo, cardMoney.StoreMoney, giftAmount, giftIntegral, cardMoney.EmployeeNo, cardMoney.DeviceNo, dailyStatementNo, cardMoney.PayoffID, cardMoney.PayoffName, out tradePayNo); } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[AddVIPCardStoredValue]参数:cardMoney_{0}", JsonConvert.SerializeObject(cardMoney)), exception); } finally { _daoManager.CloseConnection(); } return(result); }
public bool CreatePrePayOrder(PayingOrder payingOrder) { bool returnValue = false; _daoManager.BeginTransaction(); try { if (payingOrder != null) { //日结 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); //更新Order if (_orderDao.UpdatePrePayOrder(payingOrder.order)) { //更新OrderDetails foreach (OrderDetails item in payingOrder.orderDetailsList) { _orderDetailsDao.UpdateOrderDetailsDiscount(item); } //插入OrderDiscount if (payingOrder.orderDiscountList != null && payingOrder.orderDiscountList.Count > 0) { foreach (OrderDiscount item in payingOrder.orderDiscountList) { item.DailyStatementNo = dailyStatementNo; _orderDiscountDao.CreateOrderDiscount(item); } } returnValue = true; } } _daoManager.CommitTransaction(); } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[CreatePrePayOrder]参数:payingOrder_{0}", JsonConvert.SerializeObject(payingOrder)), exception); _daoManager.RollBackTransaction(); returnValue = false; } return(returnValue); }
public bool ModifyForOrder(ModifiedPaidOrder modifiedOrder) { bool returnValue = false; _daoManager.BeginTransaction(); try { if (modifiedOrder != null) { //日结 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); //更新Order if (_orderDao.UpdatePaidOrderPrice(modifiedOrder.order)) { //更新OrderDetails foreach (OrderDetails item in modifiedOrder.orderDetailsList) { _orderDetailsDao.UpdateOrderDetailsDiscount(item); } if (modifiedOrder.orderDiscountList != null && modifiedOrder.orderDiscountList.Count > 0) { foreach (OrderDiscount item in modifiedOrder.orderDiscountList) { //删除OrderDiscount _orderDiscountDao.DeleteOrderSingleDiscount(item.OrderDetailsID); //插入OrderDiscount item.DailyStatementNo = dailyStatementNo; _orderDiscountDao.CreateOrderDiscount(item); } } _orderPayoffDao.DeleteOrderPayoff(modifiedOrder.order.OrderID); //插入OrderPayoff foreach (OrderPayoff item in modifiedOrder.orderPayoffList) { item.DailyStatementNo = dailyStatementNo; _orderPayoffDao.CreateOrderPayoff(item); } returnValue = true; } } _daoManager.CommitTransaction(); } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[ModifyForOrder]参数:modifiedOrder_{0}", JsonConvert.SerializeObject(modifiedOrder)), exception); _daoManager.RollBackTransaction(); returnValue = false; } return(returnValue); }
public Int32 CreateDailyBalance(DailyBalance dailyBalance, out string unCheckDeviceNo) { unCheckDeviceNo = string.Empty; int returnValue; //日结失败 _daoManager.BeginTransaction(); try { //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); //更新日结信息 DailyStatement dailyStatement = dailyBalance.dailyStatement; dailyStatement.DailyStatementNo = dailyStatementNo; returnValue = _dailyStatementDao.UpdateDailyStatement(dailyStatement, out unCheckDeviceNo); if (returnValue == 1) { //插入日结金额 DailyTurnover dailyTurnover = dailyBalance.dailyTurnover; dailyTurnover.DailyStatementNo = dailyStatementNo; _dailyTurnoverDao.CreateDailyTurnover(dailyTurnover); //创建新的日结 DailyStatement item = new DailyStatement(); item.DailyStatementID = Guid.NewGuid(); item.DailyStatementNo = DateTime.Now.ToString("yyMMddHHmmssff"); _dailyStatementDao.CreateDailyStatement(item); } _daoManager.CommitTransaction(); } catch (Exception exception) { _daoManager.RollBackTransaction(); returnValue = 0; LogHelper.GetInstance().Error(string.Format("[CreateDailyBalance]参数:dailyBalance_{0}", JsonConvert.SerializeObject(dailyBalance)), exception); } return(returnValue); }
public IList <DeliveryOrder> GetDeliveryOrderList() { IList <DeliveryOrder> deliveryOrderList = null; try { _daoManager.OpenConnection(); //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); if (!string.IsNullOrEmpty(dailyStatementNo)) { deliveryOrderList = _orderDao.GetDeliveryOrderList(dailyStatementNo); } } catch (Exception exception) { LogHelper.GetInstance().Error("[GetDeliveryOrderList]", exception); } finally { _daoManager.CloseConnection(); } return(deliveryOrderList); }
public bool DeletePaidSingleOrder(DeletedPaidOrder deletedPaidOrder) { bool returnValue = false; _daoManager.BeginTransaction(); try { if (deletedPaidOrder != null) { if (_orderDao.UpdatePaidOrderPrice(deletedPaidOrder.order)) { foreach (DeletedOrderDetails item in deletedPaidOrder.deletedOrderDetailsList) { _orderDetailsDao.DeleteSingleOrderDetails(item); } _orderPayoffDao.DeleteOrderPayoff(deletedPaidOrder.order.OrderID); //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); //插入OrderPayoff foreach (OrderPayoff item in deletedPaidOrder.orderPayoffList) { item.DailyStatementNo = dailyStatementNo; _orderPayoffDao.CreateOrderPayoff(item); } returnValue = true; } } _daoManager.CommitTransaction(); } catch (Exception exception) { _daoManager.RollBackTransaction(); returnValue = false; LogHelper.GetInstance().Error(string.Format("[DeletePaidSingleOrder]参数:deletedPaidOrder_{0}", JsonConvert.SerializeObject(deletedPaidOrder)), exception); } return(returnValue); }
public decimal GetLastCustomPrice(Guid goodsId) { decimal price = 0M; try { _daoManager.OpenConnection(); //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); if (!string.IsNullOrEmpty(dailyStatementNo)) { price = _orderDetailsDao.GetLastCustomPrice(dailyStatementNo, goodsId); } } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[GetLastCustomPrice]参数:goodsId_{0}", goodsId), exception); } finally { _daoManager.CloseConnection(); } return(price); }
public bool CreateHandover(HandoverInfo handover) { bool returnValue = false; _daoManager.BeginTransaction(); try { //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); if (!string.IsNullOrEmpty(dailyStatementNo)) { //交班记录 HandoverRecord handoverRecord = handover.handoverRecord; handoverRecord.DailyStatementNo = dailyStatementNo; _handoverRecord.CreateHandoverRecord(handoverRecord); //交班金额列表 if (handover.handoverTurnoverList != null && handover.handoverTurnoverList.Count > 0) { foreach (HandoverTurnover item in handover.handoverTurnoverList) { item.DailyStatementNo = dailyStatementNo; _handoverTurnover.CreateHandoverTurnover(item); } } returnValue = true; } _daoManager.CommitTransaction(); } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[CreateHandover]参数:handover_{0}", JsonConvert.SerializeObject(handover)), exception); _daoManager.RollBackTransaction(); returnValue = false; } return(returnValue); }
/// <summary> /// 获取营业额统计 /// </summary> /// <param name="deviceNo">设备号</param> /// <returns></returns> public BusinessReport GetReportDataByHandover(string deviceNo) { BusinessReport reportData = null; try { _daoManager.OpenConnection(); //日结 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); if (!string.IsNullOrEmpty(dailyStatementNo)) { BusinessReport businessReport = _businessReportDao.GetTurnoverByHandover(dailyStatementNo, deviceNo); int workSequence = businessReport.WorkSequence; IList <OrderDiscountSum> orderDiscountSumList = _businessReportDao.GetOrderDiscountSumByHandover(dailyStatementNo, workSequence); IList <OrderPayoffSum> orderPayoffSumList = _businessReportDao.GetOrderPayoffSumByHandover(dailyStatementNo, workSequence); IList <ItemsPrice> itemsPriceList = _businessReportDao.GetItemsPriceByHandover(dailyStatementNo, workSequence); IList <SalesPriceByDepart> priceByDepartList = new List <SalesPriceByDepart>(); if (itemsPriceList.Count > 0) { string curDepartName = itemsPriceList[0].DepartName; decimal totalDepartPrice = 0; decimal totalItemsNum = 0; IList <ItemsPrice> tempItemsPriceList = new List <ItemsPrice>(); foreach (ItemsPrice item in itemsPriceList) { if (item.DepartName != curDepartName) { SalesPriceByDepart salesPrice = new SalesPriceByDepart(); salesPrice.DepartName = curDepartName; salesPrice.TotalDepartPrice = totalDepartPrice; salesPrice.TotalItemsNum = totalItemsNum; salesPrice.ItemsPriceList = tempItemsPriceList; priceByDepartList.Add(salesPrice); curDepartName = item.DepartName; totalDepartPrice = item.ItemsTotalPrice; totalItemsNum = item.ItemsTotalQty; tempItemsPriceList = new List <ItemsPrice>(); } else { totalDepartPrice += item.ItemsTotalPrice; totalItemsNum += item.ItemsTotalQty; } tempItemsPriceList.Add(item); } SalesPriceByDepart tempSalesPrice = new SalesPriceByDepart { DepartName = curDepartName, TotalDepartPrice = totalDepartPrice, TotalItemsNum = totalItemsNum, ItemsPriceList = tempItemsPriceList }; priceByDepartList.Add(tempSalesPrice); } reportData = new BusinessReport { WorkSequence = businessReport.WorkSequence, LastHandoverTime = businessReport.LastHandoverTime, TotalRevenue = businessReport.TotalRevenue, CutOffTotalPrice = businessReport.CutOffTotalPrice, DiscountTotalPrice = businessReport.DiscountTotalPrice, ActualTotalIncome = businessReport.ActualTotalIncome, TotalServiceFee = businessReport.TotalServiceFee, BillTotalQty = businessReport.BillTotalQty, PeopleTotalNum = businessReport.PeopleTotalNum, orderDiscountSumList = orderDiscountSumList, orderPayoffSumList = orderPayoffSumList, salesPriceByDepartList = priceByDepartList }; } } catch (Exception exception) { reportData = null; LogHelper.GetInstance().Error("[GetReportDataByHandover]参数:deviceNo_" + deviceNo, exception); } finally { _daoManager.CloseConnection(); } return(reportData); }
public Int32 CreateSalesOrder(SalesOrder salesOrder) { Int32 tranSequence = 0; _daoManager.BeginTransaction(); try { //日结号 string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo(); if (!string.IsNullOrEmpty(dailyStatementNo)) { Order order = salesOrder.order; order.DailyStatementNo = dailyStatementNo; //分单号 Int32 curSubOrderNo = _orderDao.GetCurrentSubOrderNo(order.DeskName); if (curSubOrderNo > 0) { curSubOrderNo++; } else { curSubOrderNo = 1; } order.SubOrderNo = curSubOrderNo; //流水号 order.TranSequence = tranSequence = _sysDictionary.GetCurrentTranSequence(); string orderNo = _orderDao.CreateOrder(order); order.OrderNo = orderNo; //菜单品项序号 int seqNumber = _orderDetailsDao.GetSequenceNum(order.OrderID); foreach (OrderDetails item in salesOrder.orderDetailsList) { item.DailyStatementNo = dailyStatementNo; item.OrderBy = seqNumber; _orderDetailsDao.CreateOrderDetails(item); seqNumber++; } //折扣信息 if (salesOrder.orderDiscountList != null && salesOrder.orderDiscountList.Count > 0) { foreach (OrderDiscount item in salesOrder.orderDiscountList) { item.DailyStatementNo = dailyStatementNo; _orderDiscountDao.CreateOrderDiscount(item); } } //添加打印任务 SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo(); if (systemConfig.IncludeKitchenPrint) { IList <PrintTask> printTaskList = PrintTaskService.GetInstance().GetPrintTaskList(salesOrder, systemConfig.PrintStyle, systemConfig.FollowStyle, systemConfig.PrintType, 1, string.Empty); foreach (PrintTask printTask in printTaskList) { _printTaskDao.InsertPrintTask(printTask); } } } _daoManager.CommitTransaction(); } catch (Exception exception) { LogHelper.GetInstance().Error(string.Format("[CreateSalesOrder]参数:salesOrder_{0}", JsonConvert.SerializeObject(salesOrder)), exception); tranSequence = 0; _daoManager.RollBackTransaction(); } return(tranSequence); }