Пример #1
0
        public bool OrderDeskOperate(DeskChange deskChange)
        {
            bool returnValue = false;

            _daoManager.BeginTransaction();
            try
            {
                SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo();
                if (systemConfig.IncludeKitchenPrint)
                {
                    //添加打印任务
                    _printTaskDao.InsertDeskOperatePrint(deskChange);
                }
                // 转台
                if (deskChange.OrderID1st != Guid.Empty && deskChange.OrderID2nd == Guid.Empty)
                {
                    //分单号
                    Int32 curSubOrderNo = _orderDao.GetCurrentSubOrderNo(deskChange.DeskName);
                    if (curSubOrderNo > 0)
                    {
                        curSubOrderNo++;
                    }
                    else
                    {
                        curSubOrderNo = 1;
                    }
                    Order order = new Order();
                    order.OrderID    = deskChange.OrderID1st;
                    order.DeskName   = deskChange.DeskName;
                    order.SubOrderNo = curSubOrderNo;
                    returnValue      = _orderDao.UpdateOrderDeskName(order);
                }
                // 合并
                if (deskChange.OrderID1st != Guid.Empty && deskChange.OrderID2nd != Guid.Empty)
                {
                    returnValue = _orderDao.MergeSalesOrder(deskChange);
                }
                _daoManager.CommitTransaction();
            }
            catch (Exception exception)
            {
                LogHelper.GetInstance().Error(string.Format("[OrderDeskOperate]参数:deskChange_{0}", JsonConvert.SerializeObject(deskChange)), exception);
                _daoManager.RollBackTransaction();
                returnValue = false;
            }
            return(returnValue);
        }
Пример #2
0
        public bool CreateReminderOrder(ReminderOrder reminderOrder)
        {
            if (reminderOrder == null || reminderOrder.OrderDetailsIDList == null || reminderOrder.OrderDetailsIDList.Count <= 0)
            {
                return(false);
            }
            bool returnValue = false;

            try
            {
                _daoManager.OpenConnection();
                //添加打印任务
                SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo();
                if (systemConfig.IncludeKitchenPrint)
                {
                    Order order = _orderDao.GetOrder(reminderOrder.OrderID);
                    if (order != null)
                    {
                        SalesOrder salesOrder = new SalesOrder
                        {
                            order            = order,
                            orderDetailsList = _orderDetailsDao.GetOrderDetailsList(reminderOrder.OrderDetailsIDList)
                        };
                        IList <PrintTask> printTaskList = PrintTaskService.GetInstance().GetPrintTaskList(salesOrder, systemConfig.PrintStyle, systemConfig.FollowStyle, systemConfig.PrintType, 3, reminderOrder.ReasonName);
                        foreach (PrintTask printTask in printTaskList)
                        {
                            _printTaskDao.InsertPrintTask(printTask);
                        }
                    }
                }
                returnValue = true;
            }
            catch (Exception exception)
            {
                LogHelper.GetInstance().Error(string.Format("[CreateReminderOrder]参数:reminderOrder_{0}", JsonConvert.SerializeObject(reminderOrder)), exception);
            }
            finally
            {
                _daoManager.CloseConnection();
            }
            return(returnValue);
        }
Пример #3
0
        public bool DeleteSingleOrder(DeletedSingleOrder deletedSingleOrder)
        {
            bool returnValue = false;

            _daoManager.BeginTransaction();
            try
            {
                Order order = new Order
                {
                    OrderID         = deletedSingleOrder.OrderID,
                    TotalSellPrice  = deletedSingleOrder.TotalSellPrice,
                    ActualSellPrice = deletedSingleOrder.ActualSellPrice,
                    DiscountPrice   = deletedSingleOrder.DiscountPrice,
                    CutOffPrice     = deletedSingleOrder.CutOffPrice
                };
                if (_orderDao.UpdateOrderPrice(order))
                {
                    foreach (DeletedOrderDetails item in deletedSingleOrder.deletedOrderDetailsList)
                    {
                        _orderDetailsDao.DeleteSingleOrderDetails(item);
                    }
                    //获取打印任务列表
                    Order tempOrder = _orderDao.GetOrder(deletedSingleOrder.OrderID);
                    if (tempOrder != null)
                    {
                        SalesOrder salesOrder = new SalesOrder();
                        salesOrder.order = tempOrder;
                        IList <OrderDetails> tempOrderDetailsList = new List <OrderDetails>();
                        string cancelReason = string.Empty;
                        foreach (DeletedOrderDetails item in deletedSingleOrder.deletedOrderDetailsList)
                        {
                            OrderDetails orderDetails = _orderDetailsDao.GetOrderDetails(item.OrderDetailsID);
                            orderDetails.ItemQty = item.DeletedQuantity;
                            tempOrderDetailsList.Add(orderDetails);
                            if (string.IsNullOrEmpty(cancelReason) && !string.IsNullOrEmpty(item.CancelReasonName))
                            {
                                cancelReason = item.CancelReasonName;
                            }
                        }
                        salesOrder.orderDetailsList = tempOrderDetailsList;
                        //添加打印任务
                        SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo();
                        if (systemConfig.IncludeKitchenPrint)
                        {
                            IList <PrintTask> printTaskList = PrintTaskService.GetInstance().GetPrintTaskList(salesOrder, systemConfig.PrintStyle, systemConfig.FollowStyle, systemConfig.PrintType, 2, cancelReason);
                            foreach (PrintTask printTask in printTaskList)
                            {
                                _printTaskDao.InsertPrintTask(printTask);
                            }
                        }
                    }
                    returnValue = true;
                }
                _daoManager.CommitTransaction();
            }
            catch (Exception exception)
            {
                _daoManager.RollBackTransaction();
                returnValue = false;
                LogHelper.GetInstance().Error(string.Format("[DeleteSingleOrder]参数:deletedSingleOrder_{0}", JsonConvert.SerializeObject(deletedSingleOrder)), exception);
            }
            return(returnValue);
        }
Пример #4
0
        public SysBasicData GetSysBasicData()
        {
            SysBasicData basicData = null;

            try
            {
                _daoManager.OpenConnection();
                basicData = new SysBasicData();
                // region
                IList <BizRegion> regionList = _regionDao.GetAllBizRegion();
                if (regionList != null && regionList.Count > 0)
                {
                    IList <BizDesk> deskList = _deskDao.GetAllBizDesks();
                    if (deskList != null && deskList.Count > 0)
                    {
                        foreach (BizRegion region in regionList)
                        {
                            IList <BizDesk> desks = deskList.Where(desk => desk.RegionID.Equals(region.RegionID)).ToList();
                            if (desks.Count > 0)
                            {
                                region.BizDeskList = desks;
                            }
                        }
                    }
                }
                // goodsGroup
                IList <GoodsGroup> goodsGroupList = _goodsGroupDao.GetAllGoodsGroup();
                if (goodsGroupList != null && goodsGroupList.Count > 0)
                {
                    foreach (GoodsGroup item in goodsGroupList)
                    {
                        IList <Goods> goodsList = _goodsDao.GetGoodsListInGroup(item.GoodsGroupID);
                        if (goodsList != null && goodsList.Count > 0)
                        {
                            IList <GoodsDetailsGroup> goodsDetailsGroupList = _goodsDao.GetDetailsGroupIdsInGoods();
                            if (goodsDetailsGroupList != null && goodsDetailsGroupList.Count > 0)
                            {
                                foreach (Goods goods in goodsList)
                                {
                                    IList <Guid> detailsGroupIds = goodsDetailsGroupList.Where(detail => detail.GoodsID.Equals(goods.GoodsID)).Select(detail => detail.DetailsGroupID).ToList();
                                    if (detailsGroupIds.Count > 0)
                                    {
                                        goods.DetailsGroupIDList = detailsGroupIds;
                                    }
                                }
                            }
                        }
                        item.GoodsList = goodsList;
                    }
                }
                // detailsGroup
                IList <DetailsGroup> detailsGroupList = _detailsGroupDao.GetAllDetailsGroup();
                if (detailsGroupList != null && detailsGroupList.Count > 0)
                {
                    IList <Details> detailsInfoList = _detailsDao.GetAllDetails();
                    if (detailsInfoList != null && detailsInfoList.Count > 0)
                    {
                        foreach (DetailsGroup item in detailsGroupList)
                        {
                            IList <Details> detailsList = detailsInfoList.Where(detail => detail.DetailsGroupID.Equals(item.DetailsGroupID)).ToList();
                            if (detailsList.Count > 0)
                            {
                                IList <DetailsDetailsGroup> detailsDetailsGroups = _detailsDao.GetDetailsGroupIdsInDetails();
                                if (detailsDetailsGroups != null && detailsDetailsGroups.Count > 0)
                                {
                                    foreach (Details details in detailsList)
                                    {
                                        IList <Guid> detailsGroupIdList = detailsDetailsGroups.Where(ddg => ddg.DetailsID.Equals(details.DetailsID)).Select(ddg => ddg.DetailsGroupID).ToList();
                                        if (detailsGroupIdList.Count > 0)
                                        {
                                            details.DetailsGroupIDList = detailsGroupIdList;
                                        }
                                    }
                                }
                                item.DetailsList = detailsList;
                            }
                        }
                    }
                }
                // SysBasicData
                basicData.NoticeList               = _noticeDao.GetAllNotice();
                basicData.RegionList               = regionList;
                basicData.DiscountList             = _discountDao.GetAllDiscount();
                basicData.PayoffWayList            = _payoffWayDao.GetAllPayoffWay();
                basicData.ReasonList               = _reasonDao.GetAllReason();
                basicData.GoodsGroupList           = goodsGroupList;
                basicData.DetailsGroupList         = detailsGroupList;
                basicData.GoodsSetMealList         = _goodsSetMealDao.GetAllGoodsSetMeal();
                basicData.GoodsCronTriggerList     = _goodsGroupDao.GetAllGoodsCronTrigger();
                basicData.ButtonStyleList          = _buttonStyleDao.GetButtonStyleList();
                basicData.SysConfig                = _sysConfigDao.GetSystemConfigInfo();
                basicData.PromotionList            = _promotionDao.GetPromotionList();
                basicData.PromotionConditionList   = _promotionDao.GetPromotionConditionList();
                basicData.PromotionCronTriggerList = _promotionDao.GetPromotionCronTriggerList();
                basicData.PromotionPresentList     = _promotionDao.GetPromotionPresentList();
                //限时特价
                basicData.TotalLimitedTimeSaleList = _goodsGroupDao.GetAllGoodsLimitedTimeSale();
                //组合销售
                basicData.TotalCombinedSaleList = _goodsGroupDao.GetAllGoodsCombinedSale();
            }
            catch (Exception exception)
            {
                LogHelper.GetInstance().Error("[GetSysBasicData]", exception);
            }
            finally
            {
                _daoManager.CloseConnection();
            }
            return(basicData);
        }
Пример #5
0
        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);
        }