Esempio n. 1
0
        private void PrintRetail(RetailOrder retailOrder)
        {
            OrderPrintUtil      printHelper      = new OrderPrintUtil();
            List <RetailDetail> retailDetailList = CommonGlobalCache.ServerProxy.GetRetailDetailList(retailOrder.ID);

            foreach (var item in retailDetailList)
            {
                Costume costume = CommonGlobalCache.GetCostume(item.CostumeID);
                // 显示自己设置的尺码组和对应的尺码列表
                item.SizeDisplayName = CostumeStoreHelper.GetCostumeSizeName(item.SizeName, CommonGlobalCache.GetSizeGroup(costume.SizeGroupName));
            }

            RetailCostume retailCostume = new RetailCostume()
            {
                RetailDetailList = retailDetailList,
                RetailOrder      = retailOrder
            };
            int          times = CommonGlobalUtil.ConvertToInt32(CommonGlobalCache.GetParameter(ParameterConfigKey.PrintCount).ParaValue);
            DataGridView dgv   = deepCopyDataGridView();

            printHelper.Print(retailCostume, times, dgv);
        }
Esempio n. 2
0
        private void BaseButton_Submit_Click(object sender, EventArgs e)
        {
            try
            {
                BaseButton_Submit.Enabled = false;
                if (GlobalUtil.EngineUnconnectioned(this))
                {
                    return;
                }

                if (this.member != null && this.m_MoneyStoredCard > this.member.Balance)
                {
                    GlobalMessageBox.Show("卡余额不足!");
                    return;
                }
                decimal moneyIntegration = string.IsNullOrEmpty(this.skinLabel_JFToMoeny.Text) ? 0 : decimal.Parse(this.skinLabel_JFToMoeny.Text);

                if (m_MoneyIntegration != 0)
                {
                    if (moneyIntegration < this.m_MoneyIntegration)
                    {
                        GlobalMessageBox.Show("积分不足!");
                        return;
                    }
                }

                if (this.m_MoneyStoredCard + this.m_MoneyIntegration > this.totalMoneyReceived)
                {
                    GlobalMessageBox.Show("输入的积分返现金额与卡余额之和不能大于应收金额!");
                    return;
                }
                decimal refundAmount = decimal.Parse(this.skinLabel_MoneyChange.Text);
                if (!skinCheckBoxNew.Checked)
                {
                    if (refundAmount < 0)
                    {
                        GlobalMessageBox.Show("付款金额不足!");
                        return;
                    }
                }
                string  id = GlobalCache.ServerProxy.GetRetailOrderID(); //IDHelper.GetID(OrderPrefix.RetailOrder, GlobalCache.GetShop(GlobalCache.CurrentShopID).AutoCode);
                decimal moneyVipCardMain   = this.member == null ? this.m_MoneyStoredCard : this.m_MoneyStoredCard * (1 - (decimal)this.member.DonateCoef);
                decimal moneyVipCardDonate = this.member == null ? 0 : this.m_MoneyStoredCard * (decimal)this.member.DonateCoef;
                this.totalMoneyReceivedActual = this.totalMoneyReceived - this.m_MoneyIntegration - moneyVipCardDonate - this.discountMoney;

                CommonGlobalUtil.WriteLog("应收总金额:" + totalMoneyReceived);
                CommonGlobalUtil.WriteLog("积分:" + m_MoneyIntegration);
                CommonGlobalUtil.WriteLog("vip赠送金额:" + moneyVipCardDonate);
                CommonGlobalUtil.WriteLog("优惠券:" + discountMoney);
                CommonGlobalUtil.WriteLog("满减金额:" + this.mjMoney);
                CommonGlobalUtil.WriteLog("实收总金额:" + totalMoneyReceivedActual);
                if (this.skinCheckBoxNew.Checked)
                {
                    if (this.salesPromotion != null)
                    {
                        this.salesPromotion.ID = String.Empty;
                    }
                    this.discountMoney            = 0;
                    this.totalMoneyReceivedActual = 0;
                    this.totalMoneyReceived       = Convert.ToDecimal(this.skinLabel_TotalMoneySupposed.Text);
                    this.promotionText            = "未付款,不参与任何促销优惠";
                }
                //  String orderId =
                //重新获取订单编号
                //  bool isNotPay = this.skinCheckBoxNew.Checked;

                retailOrder = new RetailOrder()
                {
                    ID                       = id,
                    MemeberID                = this.member == null ? string.Empty : this.member.PhoneNumber,
                    MoneyCash                = this.m_MoneyCash,
                    MoneyCash2               = this.m_MoneyCash - this.moneyChange,
                    MoneyVipCard             = this.m_MoneyStoredCard,
                    MoneyVipCardMain         = moneyVipCardMain,
                    MoneyVipCardDonate       = moneyVipCardDonate,
                    MoneyBankCard            = this.m_MoneyBankCard,
                    MoneyWeiXin              = this.m_MoneyWeiXin,
                    MoneyAlipay              = this.m_MoneyAlipay,
                    MoneyOther               = this.m_MoneyElse,
                    MoneyIntegration         = this.m_MoneyIntegration,
                    SmallMoneyRemoved        = this.m_SmallMoneyRemoved,
                    TotalPrice               = this.totalOriginalAmount,
                    MoneyDiscounted          = this.moneyDiscounted,
                    TotalMoneyReceived       = this.totalMoneyReceived,
                    TotalMoneyReceivedActual = this.totalMoneyReceivedActual,
                    ShopID                   = shopID,
                    Remarks                  = this.rtfRichTextBox_Remarks.Text,
                    TotalCount               = this.totalCount,
                    CreateTime               = createTime,

                    EntryTime        = DateTime.Now,
                    EntryUserID      = CommonGlobalCache.CurrentUserID,
                    MoneyChange      = this.moneyChange,
                    SalesPromotionID = this.salesPromotion == null ? String.Empty : this.salesPromotion.ID,
                    GuideID          = this.guideID,
                    TotalCost        = this.totalCost,
                    //已经满减了
                    Benefit               = this.totalMoneyReceivedActual - this.totalCost,
                    PromotionText         = this.promotionText,
                    IsRefundOrder         = false,
                    OperateGuideID        = this.guideID,
                    MoneyDeductedByTicket = this.discountMoney,
                    IsNotPay              = this.skinCheckBoxNew.Checked,
                    GiftTicket            = this.giftTicketList,
                };


                List <RetailDetail> retailDetailListWithoutBuyout = retailDetailList.FindAll(t => !t.IsBuyout);
                List <RetailDetail> retailDetailListBuyout        = retailDetailList.FindAll(t => t.IsBuyout);

                if (skinCheckBoxNew.Checked)

                {
                    foreach (RetailDetail detail in retailDetailListWithoutBuyout)
                    {
                        List <CostumeItem> resultList = CommonGlobalCache.ServerProxy.GetCostumeStoreList(
                            new CostumeStoreListPara()
                        {
                            CostumeID       = detail.CostumeID,
                            ShopID          = shopID,
                            IsOnlyShowValid = true,
                            IsAccurateQuery = true,
                        });
                        decimal      saleprice  = 0;
                        CostumeStore reslutList = new CostumeStore();
                        if (resultList != null && resultList.Count > 0)
                        {
                            List <CostumeStore> lStore = resultList[0].CostumeStoreList;
                            reslutList = lStore.Find(t => t.ColorName == detail.ColorName);
                            if (reslutList.SalePrice < reslutList.Price)
                            {
                                saleprice = reslutList.Price;
                            }
                            else
                            {
                                saleprice = reslutList.SalePrice;
                            }
                            //saleprice = resultList[0].CostumeStoreList[].Price;
                        }
                        detail.Price    = saleprice;
                        detail.Discount = saleprice / reslutList.Price * 100;

                        detail.SumMoney = detail.Price * detail.BuyCount;
                    }
                }
                RetailCostume retailCostume = new RetailCostume()
                {
                    RetailDetailList = this.retailDetailList,
                    RetailOrder      = retailOrder
                };

                foreach (var item in retailDetailList)
                {
                    item.RetailOrderID = id;
                    CostumeSalePriceConfiguration costumeSalePrice = new CostumeSalePriceConfiguration();
                    costumeSalePrice.price = item.SinglePrice;
                    //  item.SalePrice = item.SinglePrice;
                    costumeSalePrice.Save(CommonGlobalUtil.AgileConfiguration("Pos//SalePrice//" + GlobalCache.CurrentShopID + "//" + item.CostumeID));
                }



                InteractResult result = GlobalCache.ServerProxy.RetailCostume(retailCostume);

                switch (result.ExeResult)
                {
                case ExeResult.Success:
                    GlobalMessageBox.Show("结算成功!");
                    this.DialogResult = DialogResult.OK;
                    if (skinCheckBoxPrint.Checked)
                    {
                        OrderPrintUtil printHelper = new OrderPrintUtil();
                        int            times       = CommonGlobalUtil.ConvertToInt32(GlobalCache.GetParameter(ParameterConfigKey.PrintCount).ParaValue);
                        DataGridView   dgv         = deepCopyDataGridView();
                        printHelper.Print(retailCostume, times, dgv);
                    }

                    break;

                case ExeResult.Error:
                    GlobalMessageBox.Show(result.Msg);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ee)
            {
                GlobalUtil.ShowError(ee);
            }
            finally
            {
                BaseButton_Submit.Enabled = true;
                GlobalUtil.UnLockPage(this);
            }
        }