예제 #1
0
        public static PutawayTicketItem ReceiptTicketItemToPutawayTicketItem(ReceiptTicketItem receiptTicketItem, int putawayTicketID)
        {
            PutawayTicketItem putawayTicketItem = new PutawayTicketItem();

            putawayTicketItem.PutawayTicketID     = putawayTicketID;
            putawayTicketItem.ReceiptTicketItemID = receiptTicketItem.ID;
            putawayTicketItem.State = "待上架";
            putawayTicketItem.ID    = 0;

            return(putawayTicketItem);
        }
예제 #2
0
        public static StockInfo PutawayTicketItemToStockInfo(PutawayTicketItem putawayTicketItem)
        {
            WMSEntities wmsEntities = new WMSEntities();
            StockInfo   stockInfo   = new StockInfo();

            stockInfo.ID = 0;
            stockInfo.ReceiptTicketItemID = putawayTicketItem.ReceiptTicketItemID;
            stockInfo.OverflowAreaAmount  = 10000;
            ReceiptTicketItemView receiptTicketItemView = (from rti in wmsEntities.ReceiptTicketItemView where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault();

            //TODO stockInfo.ProjectID = receiptTicketItemView.ReceiptTicketProjectID;
            //TODO stockInfo.WarehouseID = receiptTicketItemView.ReceiptTicketWarehouse;

            return(stockInfo);
        }
예제 #3
0
        private void buttonReceiptCancel_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlUser.Worksheets[0];
            List <ReceiptTicketItem> ids = new List <ReceiptTicketItem>();
            bool result;

            for (int i = 0; i < this.countRow; i++)
            {
                result = (worksheet[i, this.checkColumn] as bool?) ?? false;
                if (result == true)
                {
                    int id;
                    if (int.TryParse(worksheet[i, 0].ToString(), out id) == false)
                    {
                        MessageBox.Show(worksheet[i, 0].ToString() + "加入失败");
                    }
                    else
                    {
                        ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == id select rti).FirstOrDefault();
                        if (receiptTicketItem.State != "已收货")
                        {
                            MessageBox.Show(receiptTicketItem.ID + "没有收货");
                            return;
                        }
                        else
                        {
                            ids.Add(receiptTicketItem);
                        }
                    }
                }
            }
            if (ids.Count == 0)
            {
                MessageBox.Show("请选择一项取消收货");
                return;
            }
            else
            {
                foreach (ReceiptTicketItem i in ids)
                {
                    //PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == i && pti.State != "已收货" && pti.State != "送检中" select pti).FirstOrDefault();
                    if (i == null)
                    {
                        MessageBox.Show(i + "不能取消");
                    }
                    else
                    {
                        PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ReceiptTicketItemID == i.ID select pti).FirstOrDefault();
                        if (putawayTicketItem == null)
                        {
                            MessageBox.Show("不能取消");
                        }
                        else
                        {
                            putawayTicketItem.State = "作废";
                        }
                        i.State = "待收货";
                    }
                }
                new Thread(() =>
                {
                    try
                    {
                        wmsEntities.SaveChanges();
                    }
                    catch
                    {
                        MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                        return;
                    }
                    this.Invoke(new Action(() =>
                    {
                        this.Search();
                    }));
                    MessageBox.Show("已取消");
                }).Start();
            }

            /*
             * var worksheet = this.reoGridControlUser.Worksheets[0];
             * bool result;
             * for (int i = 0; i < this.countRow; i++)
             * {
             *  result = (worksheet[i, this.checkColumn] as bool?) ?? false;
             *  if (result == true)
             *  {
             *      int id;
             *      if (int.TryParse(worksheet[i, 0].ToString(), out id) == false)
             *      {
             *          MessageBox.Show(worksheet[i, 0].ToString() + "取消失败");
             *      }
             *      else
             *      {
             *          ReceiptTicketItem receiptTicketItem = (from rti in this.wmsEntities.ReceiptTicketItem where rti.ID == id && rti.State != "作废" select rti).FirstOrDefault();
             *          PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ReceiptTicketItemID == id && pti.State != "作废" select pti).FirstOrDefault();
             *          if (putawayTicketItem != null)
             *          {
             *              putawayTicketItem.State = "作废";
             *              receiptTicketItem.State = "待检";
             *          }
             *          else
             *          {
             *              MessageBox.Show(id.ToString() +"收货单条目没有上架");
             *              return;
             *          }
             *      }
             *  }
             * }
             * new Thread(() =>
             * {
             *
             *  wmsEntities.SaveChanges();
             *  this.Invoke(new Action(() =>
             *  {
             *      this.Search();
             *  }));
             *  MessageBox.Show("取消成功");
             * }).Start();
             */
        }
예제 #4
0
        private void buttonPutaway_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlUser.Worksheets[0];
            List <ReceiptTicketItem> ids = new List <ReceiptTicketItem>();
            bool result;

            for (int i = 0; i < this.countRow; i++)
            {
                result = (worksheet[i, this.checkColumn] as bool?) ?? false;
                if (result == true)
                {
                    int id;
                    if (int.TryParse(worksheet[i, 0].ToString(), out id) == false)
                    {
                        MessageBox.Show(worksheet[i, 0].ToString() + "加入失败");
                    }
                    else
                    {
                        ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == id select rti).FirstOrDefault();
                        if (receiptTicketItem.State != "已收货")
                        {
                            MessageBox.Show(receiptTicketItem.ID + " " + receiptTicketItem.State + ",请先收货");
                            return;
                        }
                        else
                        {
                            ids.Add(receiptTicketItem);
                        }
                    }
                }
            }
            if (ids.Count == 0)
            {
                MessageBox.Show("请选择一项上架");
                return;
            }
            else
            {
                foreach (ReceiptTicketItem i in ids)
                {
                    //PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == i && pti.State != "已收货" && pti.State != "送检中" select pti).FirstOrDefault();
                    if (i == null)
                    {
                        MessageBox.Show(i + "不能添加此条目上架");
                    }
                    else
                    {
                        PutawayTicketItem putawayTicketItem = new PutawayTicketItem();
                        putawayTicketItem.ReceiptTicketItemID = i.ID;
                        putawayTicketItem.PutawayTicketID     = this.putawayTicketID;
                        putawayTicketItem.State = "待上架";
                        //putawayTicketItem.DisplacementPositionNo = "No";
                        //putawayTicketItem.TargetStorageLocation = "Location";

                        wmsEntities.PutawayTicketItem.Add(putawayTicketItem);
                        i.State = "已收货";
                    }
                }
                new Thread(() =>
                {
                    try
                    {
                        wmsEntities.SaveChanges();
                    }
                    catch
                    {
                        MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                        return;
                    }
                    this.Invoke(new Action(() =>
                    {
                        this.Search();
                    }));
                    MessageBox.Show("添加成功");
                }).Start();
            }

            /*
             * bool result;
             * for (int i = 0; i < this.countRow; i++)
             * {
             *  result = (worksheet[i, this.checkColumn] as bool?) ?? false;
             *  if (result == true)
             *  {
             *      int id;
             *      if (int.TryParse(worksheet[i, 0].ToString(), out id) == false)
             *      {
             *          MessageBox.Show(worksheet[i, 0].ToString() + "加入失败");
             *      }
             *      else
             *      {
             *
             *          PutawayTicketItem putawayTicketItem = new PutawayTicketItem();
             *          ReceiptTicketItemView receiptTicketItemView = (from rti in this.wmsEntities.ReceiptTicketItemView where rti.ID == id select rti).FirstOrDefault();
             *          if (receiptTicketItemView != null)
             *          {
             *              if (receiptTicketItemView.State == "送检中")
             *              {
             *                  MessageBox.Show("此条目已送检,不能收货");
             *              }
             *              else
             *              {
             *                  putawayTicketItem.ReceiptTicketItemID = id;
             *                  putawayTicketItem.PutawayTicketID = this.putawayTicketID;
             *                  putawayTicketItem.State = "待上架";
             *                  putawayTicketItem.DisplacementPositionNo = "No";
             *                  putawayTicketItem.TargetStorageLocation = "Location";
             *                  wmsEntities.PutawayTicketItem.Add(putawayTicketItem);
             *              }
             *          }
             *          else
             *          {
             *              MessageBox.Show(id.ToString() + "无此送检单条目");
             *              return;
             *          }
             *      }
             *  }
             * }
             * new Thread(() =>
             * {
             *
             *  wmsEntities.SaveChanges();
             *  this.Invoke(new Action(() =>
             *  {
             *      this.Search();
             *  }));
             *  MessageBox.Show("添加成功");
             * }).Start();*/
        }
예제 #5
0
        private void buttonFInished_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlPutaway.Worksheets[0];

            try
            {
                if (worksheet.SelectionRange.Rows != 1)
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                int putawayTicketItemID;
                try
                {
                    putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
                }
                catch
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault();
                decimal           oldPutawayAmount  = 0;
                if (putawayTicketItem.PutawayAmount == null)
                {
                    if (putawayTicketItem.PutawayAmount == null)
                    {
                        putawayTicketItem.PutawayAmount = 0;
                    }
                }

                oldPutawayAmount = (decimal)putawayTicketItem.PutawayAmount;
                if (putawayTicketItem == null)
                {
                    MessageBox.Show("此上架单条目不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                else
                {
                    if (this.Controls.Find("textBoxOperateTime", true)[0].Text == "")
                    {
                        this.Controls.Find("textBoxOperateTime", true)[0].Text = DateTime.Now.ToString();
                    }
                    string errorInfo;
                    if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false)
                    {
                        MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    else
                    {
                        if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName) == false)
                        {
                            MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }

                        if (putawayTicketItem.PutawayAmount == null)
                        {
                            MessageBox.Show("实际上架数量不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                        ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault();
                        if (putawayTicketItem.UnitAmount == null)
                        {
                            if (receiptTicketItem != null)
                            {
                                putawayTicketItem.UnitAmount = receiptTicketItem.UnitAmount;
                            }
                        }
                        if (putawayTicketItem.PutawayAmount > putawayTicketItem.ScheduledMoveCount)
                        {
                            MessageBox.Show("实际上架数量不能大于计划上架数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }


                        //putawayTicketItem.PutawayAmount = putawayTicketItem.UnitAmount * putawayTicketItem.MoveCount;
                        putawayTicketItem.MoveCount = putawayTicketItem.PutawayAmount / putawayTicketItem.UnitAmount;
                        StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == putawayTicketItem.ReceiptTicketItemID select si).FirstOrDefault();
                        if (stockInfo != null)
                        {
                            stockInfo.OverflowAreaAmount -= putawayTicketItem.PutawayAmount - oldPutawayAmount;
                            stockInfo.ShipmentAreaAmount += putawayTicketItem.PutawayAmount - oldPutawayAmount;
                        }


                        if (putawayTicketItem.ScheduledMoveCount == putawayTicketItem.PutawayAmount)
                        {
                            putawayTicketItem.State = "已上架";
                        }
                        else if (putawayTicketItem.PutawayAmount == 0)
                        {
                            putawayTicketItem.State = "待上架";
                        }
                        else
                        {
                            putawayTicketItem.State = "部分上架";
                        }

                        wmsEntities.SaveChanges();
                        this.modifyMode(putawayTicketItem.PutawayTicketID);
                        MessageBox.Show("上架成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        this.Search();
                        if (CallBack != null)
                        {
                            CallBack();
                        }
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                return;
            }
        }
예제 #6
0
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlPutaway.Worksheets[0];

            try
            {
                if (worksheet.SelectionRange.Rows != 1)
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                int putawayTicketItemID;
                try
                {
                    putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
                }
                catch
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault();
                if (putawayTicketItem == null)
                {
                    MessageBox.Show("错误 无法修改此条目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (putawayTicketItem.State != "待上架")
                    {
                        MessageBox.Show("改上架单状态为" + putawayTicketItem.State + ",无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault();
                    if (receiptTicketItem != null)
                    {
                        receiptTicketItem.HasPutwayAmount -= putawayTicketItem.ScheduledMoveCount;
                    }
                    new Thread(() =>
                    {
                        wmsEntities.SaveChanges();
                        PutawayTicket putawayTicket = putawayTicketItem.PutawayTicket;
                        int n = 0;
                        int m = 0;
                        foreach (PutawayTicketItem pti in putawayTicket.PutawayTicketItem)
                        {
                            ReceiptTicketItem rtii = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault();
                            if (rtii != null)
                            {
                                if (pti.ScheduledMoveCount == rtii.HasPutwayAmount)
                                {
                                    n++;
                                }
                                if (rtii.HasPutwayAmount == 0)
                                {
                                    m++;
                                }
                            }
                        }

                        if (m == putawayTicket.PutawayTicketItem.Count)
                        {
                            ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault();
                            if (receiptTicket != null)
                            {
                                receiptTicket.HasPutawayTicket = "没有生成上架单";
                            }
                        }
                        else
                        {
                            ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault();
                            if (receiptTicket != null)
                            {
                                receiptTicket.HasPutawayTicket = "部分生成上架单";
                            }
                            wmsEntities.SaveChanges();
                            wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicketItem WHERE ID = @putawayTicketItemID", new SqlParameter("putawayTicketItemID", putawayTicketItem.ID));
                        }
                        this.Invoke(new Action(() =>
                        {
                            this.pagerWidget.Search();
                        }));
                        MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }).Start();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                return;
            }
        }
예제 #7
0
        /*
         * private void Search()
         * {
         *  this.labelStatus.Text = "搜索中...";
         *  try
         *  {
         *      new Thread(new ThreadStart(() =>
         *      {
         *          var wmsEntities = new WMSEntities();
         *      //ReceiptTicketView[] receiptTicketViews = null;
         *      PutawayTicketItemView[] putawayTicketItemView = null;
         *      //
         *      //try
         *      //{
         *      //    putawayTicketItemView = wmsEntities.Database.SqlQuery<PutawayTicketItemView>("SELECT * FROM PutawayTicketItemView WHERE PutawayTicketID=@putawayTicketID", new SqlParameter("putawayTicketID", putawayTicketID)).ToArray();
         *      //}
         *      //catch
         *      //{
         *      //    MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
         *      //    return;
         *      //}
         *
         *          PutawayTicketItemView[] putawayTicketItemViews1;
         *          if (this.key != null && this.value != null)
         *          {
         *              putawayTicketItemViews1 = wmsEntities.Database.SqlQuery<PutawayTicketItemView>(string.Format("SELECT * FROM PutawayTicketItemView WHERE {0}=@value AND PutawayTicketWarehouseID = @warehouseID AND PutawayTicketProjectID = @projectID", key), new SqlParameter[] { new SqlParameter("value", value), new SqlParameter("warehouseID", this.warehouseID), new SqlParameter("projectID", this.projectID) }).ToArray();
         *          }
         *          else
         *          {
         *              putawayTicketItemViews1 = wmsEntities.Database.SqlQuery<PutawayTicketItemView>("SELECT * FROM PutawayTicketItemView WHERE PutawayTicketWarehouseID = @warehouseID AND PutawayTicketProjectID = @projectID", new SqlParameter[] { new SqlParameter("warehouseID", this.warehouseID), new SqlParameter("projectID", this.projectID) }).ToArray();
         *          }
         *          putawayTicketItemView =
         *          (from ptiv in putawayTicketItemViews1
         *           where ptiv.PutawayTicketProjectID == this.projectID && ptiv.PutawayTicketWarehouseID == this.warehouseID
         *           orderby ptiv.StockInfoShipmentAreaAmount / (ptiv.ComponentDailyProduction * ptiv.ComponentSingleCarUsageAmount) ascending,
         *           ptiv.ReceiptTicketItemInventoryDate ascending
         *           select ptiv).ToArray();
         *          S
         *      //
         *      //string sql = (from ptiv in wmsEntities.PutawayTicketItemView
         *      //              where ptiv.PutawayTicketProjectID == this.projectID && ptiv.PutawayTicketWarehouseID == this.warehouseID
         *      //              orderby ptiv.StockInfoShipmentAreaAmount / (ptiv.ComponentDailyProduction * ptiv.ComponentSingleCarUsageAmount) ascending,
         *      //              ptiv.ReceiptTicketItemInventoryDate ascending
         *      //              select ptiv).ToString();
         *      //Console.WriteLine(sql);
         *          this.reoGridControlPutaway.Invoke(new Action(() =>
         *          {
         *              this.labelStatus.Text = "搜索完成";
         *              var worksheet = this.reoGridControlPutaway.Worksheets[0];
         *              worksheet.DeleteRangeData(RangePosition.EntireRange);
         *              int n = 0;
         *              for (int i = 0; i < putawayTicketItemView.Length; i++)
         *              {
         *                  if (putawayTicketItemView[i].State == "作废")
         *                  {
         *                      continue;
         *                  }
         *                  PutawayTicketItemView curputawayTicketItemView = putawayTicketItemView[i];
         *                  object[] columns = Utilities.GetValuesByPropertieNames(curputawayTicketItemView, (from kn in ReceiptMetaData.putawayTicketItemKeyName select kn.Key).ToArray());
         *                  for (int j = 0; j < worksheet.Columns; j++)
         *                  {
         *                      worksheet[n, j] = columns[j];
         *                  }
         *                  n++;
         *              }
         *          }));
         *          this.Invoke(new Action(() => { this.RefreshTextBoxes(); }));
         *      })).Start();
         *  }
         *  catch
         *  {
         *      MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
         *      return;
         *  }
         *
         * }*/

        private void buttonModify_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlPutaway.Worksheets[0];

            try
            {
                if (worksheet.SelectionRange.Rows != 1)
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                int putawayTicketItemID;
                try
                {
                    putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
                }
                catch
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault();
                if (putawayTicketItem == null)
                {
                    MessageBox.Show("修改失败,该收货单可能已被删除,请刷新后查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                decimal oldPutawayAmount = 0;
                if (putawayTicketItem.PutawayAmount == null)
                {
                    if (putawayTicketItem.PutawayAmount == null)
                    {
                        putawayTicketItem.PutawayAmount = 0;
                    }
                }

                oldPutawayAmount = (decimal)putawayTicketItem.PutawayAmount;
                if (putawayTicketItem == null)
                {
                    MessageBox.Show("此上架单条目不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                else
                {
                    string errorInfo;
                    if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false)
                    {
                        MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    else
                    {
                        if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName) == false)
                        {
                            MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }

                        if (putawayTicketItem.PutawayAmount == null)
                        {
                            MessageBox.Show("实际上架数量不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                        ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault();
                        if (putawayTicketItem.UnitAmount == null)
                        {
                            if (receiptTicketItem != null)
                            {
                                putawayTicketItem.UnitAmount = receiptTicketItem.UnitAmount;
                            }
                        }
                        if (putawayTicketItem.PutawayAmount > putawayTicketItem.ScheduledMoveCount)
                        {
                            MessageBox.Show("实际上架数量不能大于计划上架数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }


                        //putawayTicketItem.PutawayAmount = putawayTicketItem.UnitAmount * putawayTicketItem.MoveCount;
                        putawayTicketItem.MoveCount = putawayTicketItem.PutawayAmount / putawayTicketItem.UnitAmount;
                        StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == putawayTicketItem.ReceiptTicketItemID select si).FirstOrDefault();
                        if (stockInfo != null)
                        {
                            stockInfo.OverflowAreaAmount -= putawayTicketItem.PutawayAmount - oldPutawayAmount;
                            stockInfo.ShipmentAreaAmount += putawayTicketItem.PutawayAmount - oldPutawayAmount;
                        }


                        if (putawayTicketItem.ScheduledMoveCount == putawayTicketItem.PutawayAmount)
                        {
                            putawayTicketItem.State = "已上架";
                        }
                        else if (putawayTicketItem.PutawayAmount == 0)
                        {
                            putawayTicketItem.State = "待上架";
                        }
                        else
                        {
                            putawayTicketItem.State = "部分上架";
                        }

                        wmsEntities.SaveChanges();
                        this.modifyMode(putawayTicketItem.PutawayTicketID);
                        MessageBox.Show("上架成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        this.Search();
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                return;
            }

            /*
             * decimal oldPutawayAmount = 0;
             * var worksheet = this.reoGridControlPutaway.Worksheets[0];
             * try
             * {
             *  if (worksheet.SelectionRange.Rows != 1)
             *  {
             *      MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *      return;
             *  }
             *  int putawayTicketItemID;
             *  try
             *  {
             *      putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
             *  }
             *  catch
             *  {
             *      MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *      return;
             *  }
             *  PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault();
             *  if (putawayTicketItem.ScheduledMoveCount != null)
             *  {
             *      oldPutawayAmount = (decimal)putawayTicketItem.ScheduledMoveCount;
             *      //return;
             *  }
             *  if (putawayTicketItem == null)
             *  {
             *      MessageBox.Show("错误 无法修改此条目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *  }
             *  else
             *  {
             *      string errorInfo;
             *      if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false)
             *      {
             *          MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *          return;
             *      }
             *      else
             *      {
             *          if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem,ReceiptMetaData.putawayTicketItemKeyName) == false)
             *          {
             *              MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *              return;
             *          }
             *          ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault();
             *          if (receiptTicketItem != null)
             *          {
             *              receiptTicketItem.HasPutwayAmount += putawayTicketItem.ScheduledMoveCount - oldPutawayAmount;
             *          }
             *          if (this.JobPersonIDGetter() != -1)
             *          {
             *              this.jobPersonID = JobPersonIDGetter();
             *          }
             *          if (this.ConfirmIDGetter() != -1)
             *          {
             *              this.confirmPersonID = ConfirmIDGetter();
             *          }
             *
             *          putawayTicketItem.JobPersonID = this.jobPersonID;
             *          putawayTicketItem.ConfirmPersonID = this.confirmPersonID;
             *          new Thread(() =>
             *          {
             *
             *              wmsEntities.SaveChanges();
             *              this.Invoke(new Action(() =>
             *              {
             *                  this.pagerWidget.Search();
             *              }));
             *              MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             *
             *
             *          }).Start();
             *      }
             *  }
             * }
             *
             * catch (Exception)
             * {
             *  MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
             *  return;
             * }*/
        }