Example #1
0
 /// <summary>
 /// 修改发票状态
 /// </summary>
 /// <param name="fnInvoice">用于修改发票的实体</param>
 /// <returns>影像的行数</returns>
 /// <remarks>2013-07-10 周瑜 创建</remarks>
 public override int Update(FnInvoice fnInvoice)
 {
     return(Context.Update("FnInvoice", fnInvoice)
            .AutoMap(x => x.SysNo)
            .Where("SysNo", fnInvoice.SysNo)
            .Execute());
 }
Example #2
0
        /// <summary>
        /// 订单发票事务
        /// </summary>
        /// <param name="model">发票实体</param>
        /// <param name="user">操作人</param>
        /// <remarks>2013-12-05 周唐炬 创建</remarks>
        public void InvoiceTransaction(FnInvoice model, SyUser user)
        {
            var order = SoOrderBo.Instance.GetByTransactionSysNo(model.TransactionSysNo);

            if (order == null)
            {
                throw new HytException("未找到订单,请刷新重试!");
            }
            model.InvoiceAmount    = order.CashPay;
            model.TransactionSysNo = order.TransactionSysNo;
            //已经开具过发票
            if (model.SysNo > 0)
            {
                //如果订单已存在开票数据,并且跟本次发票号不匹配,不能在新开发票
                if (order.InvoiceSysNo > 0 && order.InvoiceSysNo != model.SysNo)
                {
                    throw new HytException("该订单已经开具过发票,请搜索订单号重新开具!");
                }
                if (order.Status == OrderStatus.销售单状态.作废.GetHashCode())
                {
                    throw new HytException("该订单已经作废,不能开票!");
                }
                SoOrderBo.Instance.UpdateOrderInvoice(model);
            }
            else //新开
            {
                model.CreatedBy   = user.SysNo;
                model.CreatedDate = DateTime.Now;
                var newInvoiceSysNo = SoOrderBo.Instance.InsertOrderInvoice(model);
                if (newInvoiceSysNo > 0)
                {
                    //发票信息更新到订单
                    SoOrderBo.Instance.UpdateOrderInvoice(order.SysNo, newInvoiceSysNo);

                    //更新应收金额大于0 的出库单的发票系统编号
                    var list = WhWarehouseBo.Instance.GetModelByTransactionSysNo(order.TransactionSysNo);

                    var master = list.Where(m => m.Receivable > 0).ToList();
                    if (master.Any())
                    {
                        master.ForEach(x =>
                        {
                            x.InvoiceSysNo = newInvoiceSysNo;
                            WhWarehouseBo.Instance.UpdateStockOut(x);
                        });
                    }
                }
            }
        }
Example #3
0
        /// <summary>
        /// 二期业务数据1段 财务
        /// </summary>
        /// <param name="listObject"></param>
        private void AddBaseTaskObject2ToList2(List <BaseTask> listObject)
        {
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();



            listObject.Add(fninvoice);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);


            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);
        }
Example #4
0
        private void AddBaseTaskObjectToList(List <BaseTask> listObject)
        {
            BaseTask bsAT                    = new BsArea();
            BaseTask bsDP                    = new BsDeliveryPayment();
            BaseTask bsPT                    = new BsPaymentType();
            BaseTask bsCode                  = new BsCode();
            BaseTask bsOrganization          = new BsOrganization();
            BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask dsMallType      = new DsMallType();
            BaseTask dsDealerLevel   = new DsDealerLevel();
            BaseTask feArticle       = new FeArticle();
            BaseTask feAC            = new FeArticleCategory();
            BaseTask feCS            = new FeCommentSupport();
            BaseTask fepc            = new FeProductComment();
            BaseTask fePCI           = new FeProductCommentImage();
            BaseTask fePCR           = new FeProductCommentReply();
            BaseTask feSearchKeyword = new FeSearchKeyword();
            BaseTask feadvertgroup   = new FeAdvertGroup();
            BaseTask feadvertitem    = new FeAdvertItem();
            BaseTask feproductgroup  = new FeProductGroup();
            BaseTask feproductitem   = new FeProductItem();

            BaseTask fnIT      = new FnInvoiceType();
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new  FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();

            BaseTask lgDelivery              = new LgDelivery();
            BaseTask lgDI                    = new LgDeliveryItem();
            BaseTask lgDS                    = new LgDeliveryScope();
            BaseTask lgDT                    = new LgDeliveryType();
            BaseTask lgDUC                   = new LgDeliveryUserCredit();
            BaseTask lgPT                    = new LgPickupType();
            BaseTask lgsettlement            = new LgSettlement();
            BaseTask lgSI                    = new LgSettlementItem();
            BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate();
            BaseTask pdAttribute             = new PdAttribute();
            BaseTask pdAG                    = new PdAttributeGroup();
            BaseTask pdAGA                   = new PdAttributeGroupAssociation();
            BaseTask pdAO                    = new PdAttributeOption();
            BaseTask pdBrand                 = new PdBrand();
            BaseTask pdCGA                   = new PdCatAttributeGroupAso();
            BaseTask pdCategory              = new PdCategory();
            BaseTask pdCA                    = new PdCategoryAssociation();
            BaseTask pdPrice                 = new PdPrice();
            BaseTask pdProduct               = new PdProduct();
            BaseTask pdPA                    = new PdProductAssociation();
            BaseTask pdProductAttribute      = new PdProductAttribute();
            BaseTask pdPI                    = new PdProductImage();
            BaseTask pdTemplate              = new PdTemplate();
            BaseTask pdProductStatistics     = new PdProductStatistics();

            BaseTask soOrder         = new SoOrder();
            BaseTask soOrderItem     = new SoOrderItem();
            BaseTask soRA            = new SoReceiveAddress();
            BaseTask SyUG            = new SyUserGroup();
            BaseTask syGU            = new SyGroupUser();
            BaseTask syMenu          = new SyMenu();
            BaseTask syMenuPrivilege = new SyMenuPrivilege();
            BaseTask syPrivilege     = new SyPrivilege();
            BaseTask syRole          = new SyRole();
            BaseTask syRoleMenu      = new SyRoleMenu();
            BaseTask syRolePrivilege = new SyRolePrivilege();
            BaseTask syPermission    = new SyPermission();
            BaseTask syUser          = new SyUser();
            BaseTask syUW            = new SyUserWarehouse();
            BaseTask syMyMenu        = new SyMyMenu();

            BaseTask spcombo                  = new SpCombo();
            BaseTask spComboItem              = new SpComboItem();
            BaseTask spcopon                  = new spcoupon();
            BaseTask sqpromotion              = new SPpromotion();
            BaseTask spromotiongift           = new SPpromotiongift();
            BaseTask sppromotionoverlay       = new SPpromotionoverlay();
            BaseTask sppromotionrule          = new SPpromotionrule();
            BaseTask sppromotionrulecondition = new SPpromotionrulecondition();
            BaseTask sppromotionrulekeyvalue  = new SPpromotionrulekeyvalue();
            BaseTask syTaskConfig             = new SyTaskConfig();

            BaseTask whStockOut     = new WhStockOut();
            BaseTask whStockOutItem = new WhstockOutItem();
            BaseTask whwarehouse    = new WhWarehouse();
            BaseTask whwa           = new WHwarehousearea();
            BaseTask whwdy          = new WHwarehouseDeliveryType();
            BaseTask whWPT          = new WhWarehousePickupType();
            BaseTask whstockin      = new WhStockIn();
            BaseTask whstockinItem  = new WHStockinItem();
            BaseTask rcReturn       = new RCReturn();
            BaseTask rcReturnItem   = new RcReturnItem();

            listObject.Add(bsAT);
            listObject.Add(bsDP);
            listObject.Add(bsPT);
            listObject.Add(bsCode);
            listObject.Add(bsOrganization);
            listObject.Add(bsOrganizationWarehouse);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);
            listObject.Add(dsMallType);
            listObject.Add(dsDealerLevel);
            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fePCI);
            listObject.Add(fePCR);
            listObject.Add(fepc);
            listObject.Add(feSearchKeyword);
            listObject.Add(feadvertgroup);
            listObject.Add(feadvertitem);
            listObject.Add(feproductgroup);
            listObject.Add(feproductitem);

            listObject.Add(fnIT);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);
            listObject.Add(fninvoice);

            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);

            listObject.Add(lgDelivery);
            listObject.Add(lgDI);
            listObject.Add(lgDS);
            listObject.Add(lgDT);
            listObject.Add(lgPT);
            listObject.Add(lgsettlement);
            listObject.Add(lgSI);
            listObject.Add(lgDeliveryPrintTemplate);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            listObject.Add(pdProductStatistics);

            listObject.Add(soOrder);
            listObject.Add(soOrderItem);

            listObject.Add(spcombo);
            listObject.Add(spComboItem);
            listObject.Add(spcopon);
            listObject.Add(sqpromotion);
            listObject.Add(spromotiongift);
            //listObject.Add(sppromotionoverlay);
            listObject.Add(sppromotionrule);
            listObject.Add(sppromotionrulecondition);
            listObject.Add(sppromotionrulekeyvalue);

            listObject.Add(syGU);
            listObject.Add(syUW);
            listObject.Add(SyUG);
            listObject.Add(syMenu);
            listObject.Add(syUser);
            listObject.Add(syPermission);

            listObject.Add(syMenuPrivilege);
            listObject.Add(syPrivilege);
            listObject.Add(syRole);
            listObject.Add(syRoleMenu);
            listObject.Add(syRolePrivilege);
            listObject.Add(syMyMenu);
            listObject.Add(syTaskConfig);

            listObject.Add(whStockOut);
            listObject.Add(whStockOutItem);
            listObject.Add(whwarehouse);
            listObject.Add(whwa);
            listObject.Add(whwdy);
            listObject.Add(whWPT);
            listObject.Add(whstockin);
            listObject.Add(whstockinItem);
            listObject.Add(rcReturn);
            listObject.Add(rcReturnItem);
            listObject.Add(lgDUC);
            listObject.Add(pdPI);
            listObject.Add(soRA);
        }
Example #5
0
 /// <summary>
 /// 更新发票信息
 /// </summary>
 /// <param name="entity">发票实体</param>
 /// <returns></returns>
 /// <remarks>2013-06-25 朱成果 创建</remarks>
 public abstract void  UpdateEntity(FnInvoice entity);
Example #6
0
 /// <summary>
 /// 插入发票信息
 /// </summary>
 /// <param name="entity">发票实体</param>
 /// <returns>发票编号</returns>
 /// <remarks>2013-06-25 朱成果 创建</remarks>
 public abstract int  InsertEntity(FnInvoice entity);
Example #7
0
 /// <summary>
 /// 修改发票状态
 /// </summary>
 /// <param name="fnInvoice">用于修改发票的实体</param>
 /// <returns>受影响的行数</returns>
 /// <remarks>2013-07-10 周瑜 创建</remarks>
 public abstract int Update(FnInvoice fnInvoice);
Example #8
0
        /// <summary>
        /// 门店提货转快递
        /// </summary>
        /// <param name="stockOutSysNo">出库单编号</param>
        /// <param name="receiveAddress">快递收货地址</param>
        /// <param name="reason">转快递原因</param>
        /// <param name="message">会员留言</param>
        /// <param name="invoice">发票 null表示不开发票</param>
        /// <param name="payType">付款方式,现金或者刷卡</param>
        /// <param name="receiveMoney">收款金额 null 表示无应收款</param>
        /// <param name="voucherNo">刷卡流水号</param>
        /// <param name="easReceiptCode">eas收款科目编号</param>
        /// <returns></returns>
        /// <remarks>
        /// 2013-07-08 朱成果 创建
        /// 2013/10/14 朱家宏 增加 voucherNo参数
        /// </remarks>
        public void SetOrderToCourier(int stockOutSysNo, SoReceiveAddress receiveAddress, string reason, string message, FnInvoice invoice, int payType, decimal?receiveMoney, SyUser user, string voucherNo, string easReceiptCode = null)
        {
            var model = SetOutOfStock(stockOutSysNo, reason, user, false);                                                                //作废出库单

            Hyt.BLL.Order.SoOrderBo.Instance.WriteSoTransactionLog(model.TransactionSysNo, "出库单门店自提转快递:" + stockOutSysNo, user.UserName); //转快递日志
            var order = SoOrderBo.Instance.GetEntity(model.OrderSysNO);                                                                   //更新订单信息

            if (order == null)
            {
                throw new Exception("订单信息不存在");
            }

            order.DeliveryTypeSysNo = DeliveryType.第三方快递;    //修改配送方式
            if (payType > 0)
            {
                order.PayTypeSysNo = payType;   //门店现付
            }
            else if (order.PayStatus == (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单支付状态.未支付)
            {
                order.PayTypeSysNo = (int)PaymentType.现金预付;
            }
            order.Status                       = (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单状态.待审核;
            order.InternalRemarks              = "【门店转快递】:" + reason;
            order.CustomerMessage              = message;                                                                            //会员留言
            order.ReceiveAddress               = Hyt.BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); //收货地址
            order.ReceiveAddress.AreaSysNo     = receiveAddress.AreaSysNo;                                                           //收货地区
            order.ReceiveAddress.StreetAddress = receiveAddress.StreetAddress;                                                       //详细收货地址
            if (invoice == null)
            {
                order.InvoiceSysNo = 0;    //发票
            }
            else
            {
                //以前没有创建发票
                if (order.InvoiceSysNo == 0)
                {
                    order.OrderInvoice = new FnInvoice
                    {
                        CreatedBy      = user.SysNo,
                        CreatedDate    = DateTime.Now,
                        InvoiceRemarks = invoice.InvoiceRemarks,
                        InvoiceTitle   = invoice.InvoiceTitle,

                        InvoiceTypeSysNo = invoice.InvoiceTypeSysNo,
                        InvoiceAmount    = order.CashPay,
                        Status           = 10,
                        TransactionSysNo = model.TransactionSysNo
                    };
                    order.InvoiceSysNo = Hyt.BLL.Order.SoOrderBo.Instance.InsertOrderInvoice(order.OrderInvoice);
                }
                else      //以前有发票
                {
                    order.OrderInvoice = Hyt.BLL.Order.SoOrderBo.Instance.GetFnInvoice(order.InvoiceSysNo);
                    order.OrderInvoice.LastUpdateBy   = user.SysNo;
                    order.OrderInvoice.LastUpdateDate = DateTime.Now;
                    order.OrderInvoice.InvoiceTitle   = invoice.InvoiceTitle;

                    order.OrderInvoice.InvoiceTypeSysNo = invoice.InvoiceTypeSysNo;
                    order.OrderInvoice.InvoiceAmount    = order.CashPay;
                    Hyt.BLL.Order.SoOrderBo.Instance.UpdateOrderInvoice(order.OrderInvoice);
                }
            }
            var warehouse = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.GetWhWareHouse(receiveAddress.AreaSysNo, null, (int)Hyt.Model.SystemPredefined.DeliveryType.第三方快递, WarehouseStatus.仓库状态.启用).FirstOrDefault();

            if (warehouse != null)
            {
                order.DefaultWarehouseSysNo = warehouse.SysNo; //快递仓库默认为当前仓库
            }
            SoOrderBo.Instance.UpdateOrder(order);             //更新订单 余勇 修改为调用业务层方法
            //Hyt.DataAccess.Order.ISoOrderDao.Instance.Update(order);//更新订单

            SoOrderBo.Instance.SaveSoReceiveAddress(order.ReceiveAddress);    //保存订单收货地址

            //更新收款明细
            if (receiveMoney.HasValue)
            {
                FnReceiptVoucherItem item = new FnReceiptVoucherItem()
                {
                    Amount               = receiveMoney.Value,
                    CreatedBy            = user.SysNo,
                    CreatedDate          = DateTime.Now,
                    PaymentTypeSysNo     = payType,
                    TransactionSysNo     = order.TransactionSysNo,
                    Status               = (int)Model.WorkflowStatus.FinanceStatus.收款单明细状态.效,
                    VoucherNo            = voucherNo,
                    EasReceiptCode       = easReceiptCode,
                    ReceivablesSideType  = (int)Hyt.Model.WorkflowStatus.FinanceStatus.收款方类型.仓库, //收款单仓库
                    ReceivablesSideSysNo = model.WarehouseSysNo                                  //仓库编号
                };
                Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.InsertOrderReceiptVoucher(order.SysNo, item);
                if (receiveMoney.HasValue && (payType == (int)Hyt.Model.SystemPredefined.PaymentType.现金 || payType == (int)Hyt.Model.SystemPredefined.PaymentType.现金预付))
                {
                    Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.AutoConfirmReceiptVoucher(order.SysNo, user);    //收现金自动确认收款单
                }
            }
            //同步支付时间的到订单主表
            ISoOrderDao.Instance.UpdateOrderPayDteById(order.SysNo);
            //写订单池记录
            SyJobPoolPublishBo.Instance.OrderAuditBySysNo(order.SysNo);
            SyJobDispatcherBo.Instance.WriteJobLog(string.Format("门店提货转快递创建订单审核任务,销售单编号:{0}",
                                                                 order.SysNo), order.SysNo, null, user.SysNo);
        }
Example #9
0
        /// <summary>
        /// 门店提货
        /// </summary>
        /// <param name="sysNo">出库单</param>
        /// <param name="payMoney">收款金额,如为空表已付款</param>
        /// <param name="PaymentType">PaymentType.现金或者 PaymentType.刷卡</param>
        /// <param name="user">操作人</param>
        /// <param name="invoice">发票 null表示不开发票</param>
        /// <param name="voucherNo">收款单明细-交易凭证号</param>
        /// <param name="withTran">是否事物方式提交</param>
        /// <param name="easReceiptCode">EAS收款科目编码</param>
        /// <returns></returns>
        /// <remarks>
        /// 2013-07-08 朱成果 创建
        /// 2013/10/14 朱家宏 增加 voucherNo参数
        /// </remarks>
        public void PickUp(int sysNo, decimal?payMoney, int PaymentType, Hyt.Model.SyUser user, FnInvoice invoice, string voucherNo, bool withTran = true, string easReceiptCode = null)
        {
            var entity = Hyt.DataAccess.Warehouse.IOutStockDao.Instance.GetModel(sysNo);

            if (entity == null)
            {
                throw new Exception("出库单不存在");
            }
            if (entity.Status == (int)Hyt.Model.WorkflowStatus.WarehouseStatus.出库单自提状态.已自提)
            {
                throw new Exception("该出库单商品已被提货。");
            }
            var mydel = new PickUpDel(delegate(WhStockOut xx)
            {
                if (invoice != null)                                                                                      //新开发票
                {
                    var fninvoice = Hyt.DataAccess.Order.IFnInvoiceDao.Instance.GetFnInvoiceByOrderID(entity.OrderSysNO); //是否已经设置了发票信息
                    if (fninvoice == null)
                    {
                        invoice.CreatedBy   = user.SysNo;
                        invoice.CreatedDate = DateTime.Now;
                        invoice.Status      = (int)Hyt.Model.WorkflowStatus.FinanceStatus.发票状态.已开票;

                        //2013/10/21 朱家宏 添加
                        invoice.LastUpdateDate   = DateTime.Now;
                        invoice.LastUpdateBy     = user.SysNo;
                        invoice.TransactionSysNo = SoOrderBo.Instance.GetEntity(xx.OrderSysNO).TransactionSysNo;

                        int newid       = Hyt.DataAccess.Order.IFnInvoiceDao.Instance.InsertEntity(invoice);
                        xx.InvoiceSysNo = newid;                                         //出库单关联发票
                        SoOrderBo.Instance.UpdateOrderInvoice(entity.OrderSysNO, newid); //更新订单关联发票 余勇修改为调用业务方法 Hyt.DataAccess.Order.ISoOrderDao.Instance.UpdateInvoiceNo(entity.OrderSysNO, newid);//订单关联发票
                    }
                    else
                    {
                        if (fninvoice.Status == (int)Hyt.Model.WorkflowStatus.FinanceStatus.发票状态.已开票)
                        {
                            throw new Exception("已经开具发票,不能重复开票");
                        }
                        else
                        {
                            invoice.LastUpdateBy   = user.SysNo;
                            invoice.LastUpdateDate = DateTime.Now;
                            invoice.InvoiceAmount  = fninvoice.InvoiceAmount;
                            invoice.Status         = (int)Hyt.Model.WorkflowStatus.FinanceStatus.发票状态.已开票;
                            invoice.SysNo          = fninvoice.SysNo;
                            Hyt.BLL.Order.SoOrderBo.Instance.UpdateOrderInvoice(invoice); //更新发票 余勇 修改 改为调用业务层方法
                            //Hyt.DataAccess.Order.IFnInvoiceDao.Instance.UpdateEntity(invoice);
                        }
                    }
                }
                xx.Status       = (int)Hyt.Model.WorkflowStatus.WarehouseStatus.出库单自提状态.已自提;
                xx.StockOutBy   = user.SysNo;
                xx.StockOutDate = DateTime.Now;
                xx.SignTime     = DateTime.Now;
                if (payMoney.HasValue)
                {
                    if (payMoney.Value > xx.Receivable)
                    {
                        throw new Exception("收款金额大于应收金额");
                    }
                    // xx.Receivable = xx.Receivable - payMoney.Value;
                }
                Hyt.DataAccess.Warehouse.IOutStockDao.Instance.Update(xx);       //更新出库单状态
                GenerateOtherDataForPickUp(entity, user, payMoney, PaymentType); //创建已签收配送单,已结算结算单
                //更新收款明细
                if (payMoney.HasValue)
                {
                    FnReceiptVoucherItem item = new FnReceiptVoucherItem()
                    {
                        Amount               = payMoney.Value,
                        CreatedBy            = user.SysNo,
                        CreatedDate          = DateTime.Now,
                        PaymentTypeSysNo     = PaymentType,
                        TransactionSysNo     = entity.TransactionSysNo,
                        Status               = (int)Model.WorkflowStatus.FinanceStatus.收款单明细状态.效,
                        VoucherNo            = voucherNo,
                        EasReceiptCode       = easReceiptCode,
                        ReceivablesSideType  = (int)Hyt.Model.WorkflowStatus.FinanceStatus.收款方类型.仓库, //收款单仓库
                        ReceivablesSideSysNo = entity.WarehouseSysNo                                 //仓库编号
                    };
                    Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.InsertOrderReceiptVoucher(xx.OrderSysNO, item);
                }
                //同步支付时间的到订单主表
                ISoOrderDao.Instance.UpdateOrderPayDteById(xx.OrderSysNO);
                Hyt.BLL.Order.SoOrderBo.Instance.UpdateSoStatusForSotckOutSign(xx, user);  //订单完成,并加积分
            });

            //外层都使用了事务将此方法包含起来,所以注释掉此段代码
            //if (withTran)
            //{
            //    using (var tran = new TransactionScope())
            //    {
            //        mydel(entity);
            //        tran.Complete();
            //    }
            //}
            //else
            //{
            mydel(entity);
            //}
            try
            {
                //a)	门店下单(付现)提货动作后自动确认收款单
                //b)	门店自提货到付款(付现)提货后自动确认收款单
                // 自动确认收款单,并写Eas数据
                if (payMoney.HasValue && (PaymentType == (int)Hyt.Model.SystemPredefined.PaymentType.现金 || PaymentType == (int)Hyt.Model.SystemPredefined.PaymentType.现金预付))
                {
                    Hyt.BLL.Finance.FnReceiptVoucherBo.Instance.AutoConfirmReceiptVoucher(entity.OrderSysNO, user);
                }



                //修改ERP库存
                //Hyt.BLL.Warehouse.WhWarehouseBo.Instance.UpdateErpProductNumber(sysNo);
                //修改库存
                //Hyt.BLL.Warehouse.WhWarehouseBo.Instance.UpdateWarehouseProductStock(sysNo);
            }
            catch (Exception ex)
            {
                Hyt.BLL.Log.SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "门店提货或者门店下单提货",
                                                     LogStatus.系统日志目标类型.EAS, sysNo, ex, string.Empty, user.SysNo);
            }
        }