public void ToInsertXMOrderInfoOperatingRecord(string PropertyName, string OldValue, string NewValue)
        {
            XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();

            record.PropertyName = PropertyName;
            record.OldValue     = OldValue;
            record.NewValue     = NewValue;
            record.OrderInfoId  = XMOrderInfoID;
            record.UpdatorID    = HozestERPContext.Current.User.CustomerID;
            record.UpdateTime   = DateTime.Now;
            base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);
        }
        public void AddXMOrderInfoOperatingRecord(string PropertyName, string OldValue, string NewValue)
        {
            XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();
            var OrderInfo = base.XMOrderInfoService.GetXMOrderInfoByOrderCode(OrderCode);

            if (OrderInfo != null)
            {
                record.OrderInfoId  = OrderInfo.ID;
                record.PropertyName = PropertyName;
                record.OldValue     = OldValue;
                record.NewValue     = NewValue;
                record.UpdatorID    = HozestERPContext.Current.User.CustomerID;
                record.UpdateTime   = DateTime.Now;
                base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);
            }
        }
Esempio n. 3
0
        protected void grdvClients_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                #region  除
                if (e.CommandName.Equals("XMOrderInfoDelete"))
                {
                    var xMOrderInfo = base.XMOrderInfoService.GetXMOrderInfoByID(Convert.ToInt32(e.CommandArgument));

                    if (xMOrderInfo != null)//删除
                    {
                        XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();
                        record.PropertyName = "IsEnable";
                        record.OldValue     = System.Convert.ToString(xMOrderInfo.IsEnable);
                        bool IsEnable = true;
                        record.NewValue    = System.Convert.ToString(IsEnable);
                        record.OrderInfoId = Convert.ToInt32(e.CommandArgument);
                        record.UpdatorID   = HozestERPContext.Current.User.CustomerID;
                        record.UpdateTime  = DateTime.Now;
                        base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);

                        xMOrderInfo.IsEnable   = true;
                        xMOrderInfo.UpdateID   = HozestERPContext.Current.User.CustomerID;
                        xMOrderInfo.UpdateDate = DateTime.Now;
                        base.XMOrderInfoService.UpdateXMOrderInfo(xMOrderInfo);
                        this.BindGrid(this.Master.PageIndex, this.Master.PageSize);
                        base.ShowMessage("操作成功.");
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                base.ProcessException(ex);
            }
        }
        public void btnGetDelivery_Click(object sender, EventArgs e)
        {
            int WarehouseID = int.Parse(this.ddlWarehouseID.SelectedValue.Trim());

            if (WarehouseID == -1)
            {
                base.ShowMessage("你没有选择发货仓库!");
                return;
            }

            List <int> list = this.Master.GetSelectedIds(this.grdvClients);

            list.Remove(0);
            if (list.Count <= 0)
            {
                base.ShowMessage("你没有选择任何记录!");
                return;
            }
            else
            {
                string msg  = "";
                var    Info = base.XMOrderInfoService.GetXMOrderInfoByID(XMOrderInfoID);
                if (Info != null)
                {
                    int OrderInfoProductCount = 0; //有效的订单产品条数
                    int DeliveryProductCount  = 0; //能排单的订单产品条数

                    DeliveryList     = new List <HozestERP.BusinessLogic.ManageProject.XMDelivery>();
                    XLMInventoryList = new List <XMXLMInventory>();
                    //XMInventoryInfoList = new
                    InventoryList = new List <int>();

                    List <XMOrderInfoProductDetails> OrderInfoProductUnSpare = new List <XMOrderInfoProductDetails>(); //无备用地址产品
                    List <XMOrderInfoProductDetails> OrderInfoProductSpare   = new List <XMOrderInfoProductDetails>(); //有备用地址产品
                    List <XMOrderInfoProductDetails> LatexPillowUnSpare      = new List <XMOrderInfoProductDetails>(); //乳胶枕,U型枕,无备用地址产品
                    List <XMOrderInfoProductDetails> LatexPillowSpare        = new List <XMOrderInfoProductDetails>(); //乳胶枕,U型枕,有备用地址产品

                    foreach (int OrderInfoProductID in list)
                    {
                        var info = base.XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsByID(OrderInfoProductID);
                        if (info != null)
                        {
                            if (info.ProductName.IndexOf("床笠") != -1 || info.ProductName.IndexOf("运费") != -1 || info.ProductName.IndexOf("邮费") != -1 || info.ProductName.IndexOf("无产品") != -1)
                            {
                                continue;
                            }

                            if ((bool)info.IsAudit && (info.IsSingleRow == null || !(bool)info.IsSingleRow))
                            {
                                OrderInfoProductCount++;
                                var spareAddress = base.XMSpareAddressService.GetXMSpareAddressByParm(info.ID, 709);
                                if (info.ProductName.IndexOf("乳胶枕") != -1 || info.ProductName.IndexOf("U型枕") != -1 || info.ProductName.IndexOf("凝胶枕") != -1)
                                {
                                    if (spareAddress != null)
                                    {
                                        LatexPillowSpare.Add(info);
                                    }
                                    else
                                    {
                                        LatexPillowUnSpare.Add(info);
                                    }
                                }
                                else
                                {
                                    if (spareAddress != null)
                                    {
                                        OrderInfoProductSpare.Add(info);
                                    }
                                    else
                                    {
                                        OrderInfoProductUnSpare.Add(info);
                                    }
                                }
                            }
                            else
                            {
                                msg += "订单:" + Info.OrderCode + ",产品编码:" + info.TManufacturersCode + "的产品未审核或已排单!<br/>";
                            }
                        }
                    }

                    if (OrderInfoProductUnSpare.Count > 0)
                    {
                        msg = ToPlanBill(OrderInfoProductUnSpare, Info, WarehouseID, 1, msg);//无备用地址产品
                    }
                    if (LatexPillowUnSpare.Count > 0)
                    {
                        msg = ToPlanBill(LatexPillowUnSpare, Info, WarehouseID, 3, msg);//乳胶枕,U型枕,无备用地址产品
                    }
                    if (OrderInfoProductSpare.Count > 0)
                    {
                        msg = ToPlanBill(OrderInfoProductSpare, Info, WarehouseID, 2, msg);//有备用地址产品
                    }
                    if (LatexPillowSpare.Count > 0)
                    {
                        msg = ToPlanBill(LatexPillowSpare, Info, WarehouseID, 4, msg);//乳胶枕,U型枕,有备用地址产品
                    }

                    foreach (var item in DeliveryList)
                    {
                        if (item.XM_Delivery_Details != null && item.XM_Delivery_Details.Count > 0)
                        {
                            DeliveryProductCount += item.XM_Delivery_Details.Count;
                        }
                    }

                    if (OrderInfoProductCount > 0 && OrderInfoProductCount == DeliveryProductCount)
                    {
                        foreach (var item in DeliveryList)
                        {
                            base.XMDeliveryService.InsertXMDelivery(item);
                        }
                        //订单产品排单状态变为true
                        foreach (int OrderInfoProductID in list)
                        {
                            //订单信息
                            var info = base.XMOrderInfoProductDetailsService.GetXMOrderInfoProductDetailsByID(OrderInfoProductID);
                            if (info != null)
                            {
                                info.IsSingleRow = true;
                                info.IsAudit     = true;
                                base.XMOrderInfoProductDetailsService.UpdateXMOrderInfoProductDetails(info);
                            }
                        }
                        if (!Info.IsAudit.GetValueOrDefault(false))//订单中审核状态不是已审核的改为已审核
                        {
                            Info.IsAudit = true;
                            base.XMOrderInfoService.UpdateXMOrderInfo(Info);
                        }
                        if (canXMLProject)
                        {
                            //减喜临门当日库存
                            for (int i = 0; i < XLMInventoryList.Count; i++)
                            {
                                XLMInventoryList[i].Inventory = InventoryList[i];
                                base.XMXLMInventoryService.UpdateXMXLMInventory(XLMInventoryList[i]);
                            }
                        }
                        else
                        {//扣减库存管理中的库存数据
                            for (int i = 0; i < XMInventoryInfoList.Count; i++)
                            {
                                XMInventoryInfoList[i].StockNumber = InventoryList[i];
                                base.XMInventoryInfoService.UpdateXMInventoryInfo(XMInventoryInfoList[i]);
                            }
                        }
                        //操作记录
                        XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();
                        record.PropertyName = "手动排单";
                        record.OldValue     = "IsSingleRow - false";
                        record.NewValue     = "IsSingleRow - true";
                        record.OrderInfoId  = Info.ID;
                        record.UpdatorID    = HozestERPContext.Current.User.CustomerID;
                        record.UpdateTime   = DateTime.Now;
                        base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);
                    }

                    if (msg != "")
                    {
                        base.ShowMessage(msg);
                        return;
                    }
                    else
                    {
                        BindGrid(this.Master.PageIndex, this.Master.PageSize);
                        base.ShowMessage("排单成功!");
                    }
                }
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            string     msg         = "";
            bool       isExist     = false;
            string     errMessage  = "";
            List <int> Ids         = new List <int>();
            string     WareHourses = this.ddlWareHourses.SelectedValue;

            if (Session["SaveOrderInfoIDs"] != null)
            {
                string[] IDs = (string[])Session["SaveOrderInfoIDs"];
                if (IDs.Count() > 0)
                {
                    foreach (var ID in IDs)
                    {
                        Ids.Add(int.Parse(ID));
                    }
                }
            }

            if (WareHourses == "-1" || WareHourses == "")
            {
                base.ShowMessage("请先选择出库仓库!");
                return;
            }

            var list = base.XMOrderInfoService.GetXMOrderInfoListByIds(Ids);

            if (list != null && list.Count > 0)
            {
                foreach (var info in list)
                {
                    var saleDeliverys = base.XMSaleDeliveryService.GetXMSaleDeliveryListByOrderInfoID(info.ID);
                    if (saleDeliverys != null && saleDeliverys.Count > 0)
                    {
                        isExist    = true;
                        errMessage = errMessage + " " + info.OrderCode;
                        break;
                    }
                }
            }
            //订单对应的出库单已经存在,无法再次生成出库单
            if (isExist)
            {
                base.ShowMessage("订单号为:" + errMessage + "的订单出库单已经存在,操作失败!");
                return;
            }


            if (list != null && list.Count > 0)
            {
                foreach (var info in list)
                {
                    bool OldValue = info.IsAudit == null ? false : (bool)info.IsAudit;
                    if (info.IsAudit != null && (bool)info.IsAudit)
                    {
                        msg += "订单号:" + info.OrderCode + ",已审核,不能生成出库单!<br/>";
                        continue;
                    }

                    decimal        Total = 0;
                    XMSaleDelivery Item  = new XMSaleDelivery();
                    Item.XM_SaleDeliveryProductDetails = new List <XMSaleDeliveryProductDetails>();
                    foreach (var detail in info.XM_OrderInfoProductDetails)
                    {
                        XMSaleDeliveryProductDetails details = new XMSaleDeliveryProductDetails();
                        var productDetail = base.XMProductService.GetXMProductListByPlatformMerchantCode(detail.PlatformMerchantCode, (int)info.PlatformTypeId);
                        details.SaleCount = detail.ProductNum;
                        if (productDetail != null && productDetail.Count > 0)
                        {
                            var product = base.XMProductService.GetXMProductById(productDetail[0].ProductId.Value);
                            if (product != null)
                            {
                                details.PlatformMerchantCode = product.ManufacturersCode;
                                details.ProductId            = product.Id;
                            }
                            details.ProductPrice = productDetail[0].Saleprice;
                            details.ProductMoney = details.ProductPrice * details.SaleCount;
                        }
                        Total             += details.ProductMoney == null ? 0 : (decimal)details.ProductMoney;
                        details.IsEnable   = false;
                        details.UpdateDate = details.CreateDate = DateTime.Now;
                        details.UpdateID   = details.CreateID = HozestERPContext.Current.User.CustomerID;
                        Item.XM_SaleDeliveryProductDetails.Add(details);
                    }

                    Item.Ref           = AutoSaleDeliveryNumber();
                    Item.SaleInfoId    = 0;
                    Item.OrderInfoID   = info.ID;
                    Item.WareHouseId   = int.Parse(WareHourses);
                    Item.BillStatus    = 0;
                    Item.SaleMoney     = Total;
                    Item.ReceivingType = 701;//支付宝
                    Item.Remarks       = info.CustomerServiceRemark;
                    Item.BizUserId     = HozestERPContext.Current.User.CustomerID;
                    Item.BizDt         = DateTime.Now;
                    Item.IsEnable      = false;
                    Item.IsAudit       = false;
                    Item.UpdateDate    = Item.CreateDate = DateTime.Now;
                    Item.UpdateID      = Item.CreateID = HozestERPContext.Current.User.CustomerID;
                    base.XMSaleDeliveryService.InsertXMSaleDelivery(Item);

                    base.ShowMessage("保存成功!");

                    #region 修改审核状态

                    foreach (XMOrderInfoProductDetails xmpd in info.XM_OrderInfoProductDetails)
                    {
                        xmpd.IsAudit    = true;
                        xmpd.UpdateID   = HozestERPContext.Current.User.CustomerID;
                        xmpd.UpdateDate = DateTime.Now;
                    }
                    info.IsAudit    = true;
                    info.UpdateID   = HozestERPContext.Current.User.CustomerID;
                    info.UpdateDate = DateTime.Now;
                    base.XMOrderInfoService.UpdateXMOrderInfo(info);//修改审核状态

                    //操作记录
                    XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();
                    record.PropertyName = "生成出库单-自动审核";
                    record.OldValue     = System.Convert.ToString(OldValue);
                    record.NewValue     = System.Convert.ToString(true);
                    record.OrderInfoId  = info.ID;
                    record.UpdatorID    = HozestERPContext.Current.User.CustomerID;
                    record.UpdateTime   = DateTime.Now;
                    base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);

                    #endregion
                }

                if (msg != "")
                {
                    base.ShowMessage(msg);
                    return;
                }
            }
        }
Esempio n. 6
0
        protected void grdvSaleDelivery_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            #region  除
            if (e.CommandName.Equals("Del"))
            {
                var id = e.CommandArgument.ToString();
                if (!string.IsNullOrEmpty(id))//删除
                {
                    //删除出库单主表和产品明细表
                    var saleDelivery = base.XMSaleDeliveryService.GetXMSaleDeliveryById(int.Parse(id));
                    if (saleDelivery != null)
                    {
                        //删除主表
                        saleDelivery.IsEnable   = true;
                        saleDelivery.UpdateDate = DateTime.Now;
                        saleDelivery.UpdateID   = HozestERPContext.Current.User.CustomerID;
                        base.XMSaleDeliveryService.UpdateXMSaleDelivery(saleDelivery);
                        var details = base.XMSaleDeliveryProductDetailsService.GetXMSaleDeliveryProductDetailsBySaleDeliveryID(saleDelivery.Id);
                        if (details != null && details.Count > 0)
                        {
                            foreach (XMSaleDeliveryProductDetails parm in details)
                            {
                                parm.IsEnable   = true;
                                parm.UpdateDate = DateTime.Now;
                                parm.UpdateID   = HozestERPContext.Current.User.CustomerID;
                                base.XMSaleDeliveryProductDetailsService.UpdateXMSaleDeliveryProductDetails(parm);
                            }
                        }

                        //判断是否是线上订单  如是线上订单需更新订单审核状态
                        var orderInfo = base.XMOrderInfoService.GetXMOrderByOrderCode(saleDelivery.SaleRef);
                        if (orderInfo != null)         //线上订单
                        {
                            if (saleDelivery.OrderInfoID > 0)
                            {
                                orderInfo.IsAudit    = false;
                                orderInfo.UpdateID   = HozestERPContext.Current.User.CustomerID;
                                orderInfo.UpdateDate = DateTime.Now;
                                foreach (XMOrderInfoProductDetails xmpd in orderInfo.XM_OrderInfoProductDetails)
                                {
                                    xmpd.IsAudit    = false;
                                    xmpd.UpdateID   = HozestERPContext.Current.User.CustomerID;
                                    xmpd.UpdateDate = DateTime.Now;
                                }
                                base.XMOrderInfoService.UpdateXMOrderInfo(orderInfo);//修改审核状态

                                //操作记录
                                XMOrderInfoOperatingRecord record = new XMOrderInfoOperatingRecord();
                                record.PropertyName = "删除出库单-订单自动反审核";
                                record.OldValue     = System.Convert.ToString(true);
                                record.NewValue     = System.Convert.ToString(false);
                                record.OrderInfoId  = orderInfo.ID;
                                record.UpdatorID    = HozestERPContext.Current.User.CustomerID;
                                record.UpdateTime   = DateTime.Now;
                                base.XMOrderInfoOperatingRecordService.InsertXMOrderInfoOperatingRecord(record);
                            }
                        }
                        base.ShowMessage("操作成功!");
                    }
                    else
                    {
                        base.ShowMessage("未查到该数据!");
                    }
                    this.BindGrid(this.Master.PageIndex, this.Master.PageSize);
                }
            }
            #endregion
        }