コード例 #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 SubmissionTicketItem ReceiptTicketItemToSubmissionTicketItem(ReceiptTicketItem receiptTicketItem, int submissionTicketID)
        {
            //WMSEntities wmsEntities = new WMSEntities();
            SubmissionTicketItem submissionTicketItem = new SubmissionTicketItem();

            //ReceiptTicketItemView receiptTicketItemView = (from rti in wmsEntities.ReceiptTicketItemView where rti.ID == receiptTicketItem.ID select rti).Single();
            //submissionTicketItem.ComponentID = receiptTicketItem.ComponentID;
            submissionTicketItem.SubmissionTicketID = submissionTicketID;
            submissionTicketItem.ID                  = 0;
            submissionTicketItem.State               = "送检中";
            submissionTicketItem.SubmissionAmount    = receiptTicketItem.ReceiviptAmount;
            submissionTicketItem.ReceiptTicketItemID = receiptTicketItem.ID;

            return(submissionTicketItem);
        }
コード例 #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 ButtonDelete_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("确认删除,并取消送检?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                Search();
                return;
            }
            var         worksheet   = this.reoGridControl1.Worksheets[0];
            WMSEntities wmsEntities = new WMSEntities();

            try
            {
                if (worksheet.SelectionRange.Rows != 1)
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                int submissionTicketID;
                try
                {
                    submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
                }
                catch
                {
                    MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).FirstOrDefault();
                if (submissionTicket == null)
                {
                    MessageBox.Show("此送检单已被删除");
                    this.Search();
                    return;
                }
                else
                {
                    if (submissionTicket.State != "待检")
                    {
                        MessageBox.Show("该送检单状态为" + submissionTicket.State + ",不能删除送检单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    new Thread(() =>
                    {
                        try
                        {
                            SubmissionTicketItem[] submissionTicketItems = (from sti in wmsEntities.SubmissionTicketItem where sti.SubmissionTicketID == submissionTicketID select sti).ToArray();

                            foreach (SubmissionTicketItem sti in submissionTicketItems)
                            {
                                ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == sti.ReceiptTicketItemID select rti).FirstOrDefault();
                                if (receiptTicketItem != null)
                                {
                                    if (receiptTicketItem.ReceiptTicket.State == "送检中" || receiptTicketItem.ReceiptTicket.State == "过检" || receiptTicketItem.ReceiptTicket.State == "未过检")
                                    {
                                        receiptTicketItem.State = "待收货";
                                        StockInfo stockInfo     = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == receiptTicketItem.ID select si).FirstOrDefault();
                                        if (stockInfo != null)
                                        {
                                            stockInfo.ReceiptAreaAmount += stockInfo.SubmissionAmount;
                                            stockInfo.SubmissionAmount  -= stockInfo.SubmissionAmount;
                                        }
                                        receiptTicketItem.State = "待收货";
                                    }
                                }
                            }
                            ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault();

                            if (receiptTicket.State == "送检中" || receiptTicket.State == "过检" || receiptTicket.State == "未过检")
                            {
                                if (receiptTicket != null)
                                {
                                    receiptTicket.State         = "待收货";
                                    receiptTicket.HasSubmission = 0;
                                }
                            }
                            else
                            {
                                MessageBox.Show("该送检单对应收货单已收货或上架,无法改变收货单状态,但删除送检单成功。");
                            }
                            wmsEntities.Database.ExecuteSqlCommand("DELETE FROM SubmissionTicket WHERE ID = @submissionTicketID", new SqlParameter("submissionTicketID", submissionTicket.ID));
                            wmsEntities.SaveChanges();
                            this.Invoke(new Action(() =>
                            {
                                this.Search();
                            }));

                            //wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicketItem SET State = '待收货' WHERE ID = @receiptTicketItemID", new SqlParameter("receiptTicketItemID", sti.ReceiptTicketItemID));
                        }
                        catch
                        {
                            MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                            return;
                        }
                    }).Start();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                return;
            }
            Search();
        }
コード例 #6
0
        private void buttonSubmission_Click(object sender, EventArgs e)
        {
            WMSEntities wmsEntities      = new WMSEntities();
            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 == "已收货" || 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
                    {
                        SubmissionTicketItem submissionTicketItem = ReceiptUtilities.ReceiptTicketItemToSubmissionTicketItem(i, this.submissionTicketID);
                        wmsEntities.SubmissionTicketItem.Add(submissionTicketItem);
                        i.State = "送检中";
                    }
                }
                new Thread(() =>
                {
                    try
                    {
                        wmsEntities.SaveChanges();
                        int count = wmsEntities.Database.SqlQuery <int>("SELECT COUNT(*) FROM ReceiptTicketItem WHERE State <> '送检中' AND ReceiptTicketID = @receiptTicketID", new SqlParameter("receiptTicketID", this.receiptTicketID)).FirstOrDefault();
                        if (count == 0)
                        {
                            wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicket SET State = '送检中' WHERE ID = @receiptTicketID", new SqlParameter("receiptTicketID", this.receiptTicketID));
                        }
                        wmsEntities.SaveChanges();
                    }
                    catch
                    {
                        MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                        return;
                    }
                    this.Invoke(new Action(() =>
                    {
                        this.Search();
                        CallBack();
                    }));
                    MessageBox.Show("添加成功");
                }).Start();
            }
        }
コード例 #7
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;
            }
        }
コード例 #8
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;
            }
        }
コード例 #9
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;
             * }*/
        }
コード例 #10
0
        private void toolStripButtonDelete_Click(object sender, EventArgs e)
        {
            var        worksheet = this.reoGridControlUser.Worksheets[0];
            List <int> deleteIDs = new List <int>();

            for (int i = 0; i < worksheet.SelectionRange.Rows; i++)
            {
                try
                {
                    int curID = int.Parse(worksheet[i + worksheet.SelectionRange.Row, 0].ToString());
                    deleteIDs.Add(curID);
                }
                catch
                {
                    continue;
                }
            }
            if (deleteIDs.Count == 0)
            {
                MessageBox.Show("请选择您要删除的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (MessageBox.Show("您真的要删除这些记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }

            WMSEntities wmsEntities = new WMSEntities();

            foreach (int id in deleteIDs)
            {
                //if (MessageBox.Show("确定删除该上架单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                //{
                PutawayTicket putawayTicket = (from pt in wmsEntities.PutawayTicket where pt.ID == id select pt).FirstOrDefault();
                if (putawayTicket == null)
                {
                    MessageBox.Show("该上架单已被删除,请刷新查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    return;
                }
                //if (putawayTicket.State != "待上架")
                //{
                //    MessageBox.Show("该上架单已有部分或者全部上架,无法删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
                //    continue;
                //}
                ReceiptTicket       receiptTicket      = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault();
                PutawayTicketItem[] putawayTicketItems = putawayTicket.PutawayTicketItem.ToArray();
                int n = 0;
                foreach (PutawayTicketItem pti in putawayTicketItems)
                {
                    ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault();
                    if (receiptTicketItem != null)
                    {
                        receiptTicketItem.HasPutwayAmount -= (pti.ScheduledMoveCount == null ? 0 : pti.ScheduledMoveCount) - (pti.PutawayAmount == null ? 0 : pti.PutawayAmount);
                        //receiptTicketItem.HasPutwayAmount += pti.PutawayAmount;
                        if (receiptTicketItem.HasPutwayAmount == 0)
                        {
                            n++;
                        }
                    }
                }
                if (n == putawayTicketItems.Length)
                {
                    receiptTicket.HasPutawayTicket = "未生成上架单";
                }
                else
                {
                    receiptTicket.HasPutawayTicket = "部分生成上架单";
                }
                try
                {
                    wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicket WHERE ID = @putawayTicketID", new SqlParameter("putawayTicketID", id));
                }
                catch
                {
                    MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    return;
                }
                //}
            }
            MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            try
            {
                new Thread(() =>
                {
                    wmsEntities.SaveChanges();
                    this.Invoke(new Action(() =>
                    {
                        if (this.key != null || this.value != null)
                        {
                            pagerWidget.AddCondition(this.key, this.value);
                        }
                        pagerWidget.Search();
                    }));
                }).Start();
            }
            catch
            {
                MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                return;
            }
            //var worksheet = this.reoGridControlUser.Worksheets[0];
            //try
            //{

            /*
             * if (worksheet.SelectionRange.Rows != 1)
             * {
             *  MessageBox.Show("请选择一项进行查看", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *  return;
             * }
             * int putawayTicketID;
             * try
             * {
             *  putawayTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString());
             * }
             * catch
             * {
             *  MessageBox.Show("请选择一项进行查看", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             *  return;
             * }  */
            //FormShelvesItem formShelvesItem = new FormShelvesItem(putawayTicketID);

            /*
             * if (MessageBox.Show("确定删除该上架单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             * {
             *  PutawayTicket putawayTicket = (from pt in wmsEntities.PutawayTicket where pt.ID == putawayTicketID select pt).FirstOrDefault();
             *  if (putawayTicket == null)
             *  {
             *      MessageBox.Show("该上架单已被删除,请刷新查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
             *      return;
             *  }
             *  if (putawayTicket.State != "待上架")
             *  {
             *      MessageBox.Show("该上架单已有部分或者全部上架,无法删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
             *      return;
             *  }
             *  ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault();
             *  PutawayTicketItem[] putawayTicketItems = putawayTicket.PutawayTicketItem.ToArray();
             *  int n = 0;
             *  foreach (PutawayTicketItem pti in putawayTicketItems)
             *  {
             *      ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault();
             *      if (receiptTicketItem != null)
             *      {
             *          receiptTicketItem.HasPutwayAmount -= pti.ScheduledMoveCount;
             *          if (receiptTicketItem.HasPutwayAmount == 0)
             *          {
             *              n++;
             *          }
             *      }
             *  }
             *  if (n == putawayTicketItems.Length)
             *  {
             *      receiptTicket.HasPutawayTicket = "未生成上架单";
             *  }
             *  else
             *  {
             *      receiptTicket.HasPutawayTicket = "部分生成上架单";
             *  }
             *  try
             *  {
             *      new Thread(() =>
             *      {
             *          wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicket WHERE ID = @putawayTicketID", new SqlParameter("putawayTicketID", putawayTicketID));
             *          wmsEntities.SaveChanges();
             *          MessageBox.Show("成功");
             *          this.Invoke(new Action(() =>
             *          {
             *              if (this.key != null || this.value != null)
             *              {
             *                  pagerWidget.AddCondition(this.key, this.value);
             *              }
             *              pagerWidget.Search();
             *          }));
             *      }).Start();
             *  }
             *  catch (EntityException)
             *  {
             *      MessageBox.Show("该上架单已被删除!");
             *  }
             *  catch (Exception)
             *  {
             *      MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
             *      return;
             *  }
             * }
             * }
             * catch
             * {
             * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
             * return;
             * }*/
        }
コード例 #11
0
        private void OK_Click(object sender, EventArgs e)
        {
            var worksheet = this.reoGridControlUser.Worksheets[0];

            worksheet.FocusPos = new CellPosition(0, 0);
            WMSEntities   wmsEntities   = new WMSEntities();
            ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault();

            if (receiptTicket == null)
            {
                MessageBox.Show("该收货单已被删除,送检失败");
                return;
            }
            else
            {
                if (receiptTicket.State != "待收货")
                {
                    MessageBox.Show("该收货单状态为" + receiptTicket.State + ",无法送检!");
                }
            }
            SortedDictionary <int, decimal> idsAndSubmissionAmount = SelectReceiptTicketItem();

            if (idsAndSubmissionAmount == null)
            {
                return;
            }
            Dictionary <ReceiptTicketItem, decimal> receiptTicketItemsAndSubmissionAmount = new Dictionary <ReceiptTicketItem, decimal>();

            foreach (KeyValuePair <int, decimal> kv in idsAndSubmissionAmount)
            {
                ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == kv.Key select rti).FirstOrDefault();
                if (receiptTicketItem != null)
                {
                    if (receiptTicketItem.ReceiviptAmount < kv.Value)
                    {
                        MessageBox.Show("送检数量不应大于收货数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    if (kv.Value < 0)
                    {
                        MessageBox.Show("送检数量不应为负数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    receiptTicketItemsAndSubmissionAmount.Add(receiptTicketItem, kv.Value);
                }
            }
            if (this.formMode == FormMode.ADD)
            {
                SubmissionTicket submissionTicket = new SubmissionTicket();
                string           errorInfo;
                if (Utilities.CopyTextBoxTextsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName, out errorInfo) == false)
                {
                    MessageBox.Show(errorInfo);
                    return;
                }
                else
                {
                    Utilities.CopyComboBoxsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName);
                    submissionTicket.PersonID                  = this.PersonIDGetter();
                    submissionTicket.ReceivePersonID           = this.ReceivePersonIDGetter();
                    submissionTicket.SubmissionPersonID        = this.SubmissionPersonIDGetter();
                    submissionTicket.DeliverSubmissionPersonID = this.DeliverSubmissionPersonIDGetter();
                    //ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault();

                    submissionTicket.SubmissionDate   = receiptTicket.ReceiptDate;
                    submissionTicket.CreateTime       = DateTime.Now;
                    submissionTicket.ReceiptTicketID  = this.receiptTicketID;
                    submissionTicket.CreateUserID     = this.userID;
                    submissionTicket.LastUpdateTime   = DateTime.Now;
                    submissionTicket.LastUpdateUserID = this.userID;
                    submissionTicket.ProjectID        = receiptTicket.ProjectID;
                    submissionTicket.WarehouseID      = receiptTicket.WarehouseID;
                    submissionTicket.State            = "待检";
                    //////////////////////////// Begin
                    if (string.IsNullOrWhiteSpace(submissionTicket.No))
                    {
                        if (submissionTicket.CreateTime.HasValue == false)
                        {
                            MessageBox.Show("单号生成失败(未知创建日期)!请手动填写单号", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }

                        DateTime createDay      = new DateTime(submissionTicket.CreateTime.Value.Year, submissionTicket.CreateTime.Value.Month, submissionTicket.CreateTime.Value.Day);
                        DateTime nextDay        = createDay.AddDays(1);
                        int      maxRankOfToday = Utilities.GetMaxTicketRankOfDay((from s in wmsEntities.SubmissionTicket
                                                                                   where s.CreateTime >= createDay && s.CreateTime < nextDay
                                                                                   select s.No).ToArray());
                        if (maxRankOfToday == -1)
                        {
                            MessageBox.Show("单号生成失败!请手动填写单号", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                        submissionTicket.No = Utilities.GenerateTicketNo("J", submissionTicket.CreateTime.Value, maxRankOfToday + 1);
                    }
                    /////////////////////////////////////////////////////////////// End
                    wmsEntities.SubmissionTicket.Add(submissionTicket);


                    try
                    {
                        wmsEntities.SaveChanges();
                        //submissionTicket.No = Utilities.GenerateTicketNo()

                        wmsEntities.SaveChanges();
                        foreach (KeyValuePair <ReceiptTicketItem, decimal> vp in receiptTicketItemsAndSubmissionAmount)
                        {
                            SubmissionTicketItem submissionTicketItem = new SubmissionTicketItem();
                            StockInfo            stockInfo            = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == vp.Key.ID select si).FirstOrDefault();
                            if (stockInfo == null)
                            {
                                MessageBox.Show("找不到对应的库存信息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else
                            {
                                if (stockInfo.ReceiptAreaAmount != null)
                                {
                                    submissionTicketItem.ArriveAmount = stockInfo.ReceiptAreaAmount;
                                }
                                stockInfo.SubmissionAmount               = vp.Value;
                                stockInfo.ReceiptAreaAmount             -= vp.Value;
                                submissionTicketItem.ArriveAmount        = vp.Key.ReceiviptAmount;
                                submissionTicketItem.ReceiptTicketItemID = vp.Key.ID;

                                submissionTicketItem.State = "待检";
                                vp.Key.State = "送检中";
                                submissionTicketItem.SubmissionAmount   = vp.Value;
                                submissionTicketItem.SubmissionTicketID = submissionTicket.ID;
                                wmsEntities.SubmissionTicketItem.Add(submissionTicketItem);
                            }
                        }
                        receiptTicket.HasSubmission = 1;
                        receiptTicket.State         = "送检中";
                        wmsEntities.SaveChanges();

                        /*
                         * int count = wmsEntities.Database.SqlQuery<int>(
                         *  "SELECT COUNT(*) FROM ReceiptTicketItem " +
                         *  "WHERE ReceiptTicketID = @receiptTicketID AND State <> '送检中'",
                         *  new SqlParameter("receiptTicketID", receiptTicketID)).FirstOrDefault();
                         * if (count == 0)
                         * {
                         *  wmsEntities.Database.ExecuteSqlCommand(
                         *      "UPDATE ReceiptTicket SET State='送检中' " +
                         *      "WHERE ID = @receiptTicketID",
                         *      new SqlParameter("receiptTicketID", receiptTicketID));
                         * }
                         * else
                         * {
                         *  wmsEntities.Database.ExecuteSqlCommand(
                         *      "UPDATE ReceiptTicket SET State='部分送检中' " +
                         *      "WHERE ID = @receiptTicketID",
                         *      new SqlParameter("receiptTicketID", receiptTicketID));
                         * }
                         */

                        this.Search();
                        CallBack();
                        this.Hide();

                        MessageBox.Show("收货单条目送检成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch
                    {
                        MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            else
            {
            }
        }
コード例 #12
0
 public FormSubmissionTicketItemModify(int submissionTicketID, ReceiptTicketItem receiptTicketItem)
 {
     InitializeComponent();
     this.submissionTicketID = submissionTicketID;
     this.receiptTicketItem  = receiptTicketItem;
 }
コード例 #13
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     if (this.formMode == FormMode.ALTER)
     {
         ReceiptTicketItem receiptTicketItem = (from s in this.wmsEntities.ReceiptTicketItem
                                                where s.ID == this.receiptTicketItemID
                                                select s).Single();
         string errorInfo;
         if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicketItem, ReceiptMetaData.itemsKeyName, out errorInfo) == true)
         {
             try
             {
                 wmsEntities.SaveChanges();
                 MessageBox.Show("Successful");
                 CallBack();
                 this.Close();
             }
             catch
             {
                 MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                 return;
             }
         }
         else
         {
             MessageBox.Show(errorInfo);
             CallBack();
         }
     }
     else if (this.formMode == FormMode.ADD)
     {
         //this.Controls.Find("textBoxReceiptTicketID", true)[0].Text = this.receiptTicketID.ToString();
         ReceiptTicketItem receiptTicketItem = new ReceiptTicketItem();
         string            errorInfo;
         if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicketItem, ReceiptMetaData.itemsKeyName, out errorInfo) == true)
         {
             try
             {
                 receiptTicketItem.State           = "待送检";
                 receiptTicketItem.ReceiptTicketID = this.receiptTicketID;
                 receiptTicketItem.ID       = 0;
                 receiptTicketItem.SupplyID = this.componentID;
                 wmsEntities.ReceiptTicketItem.Add(receiptTicketItem);
                 wmsEntities.SaveChanges();
                 MessageBox.Show("Successful");
                 CallBack();
             }
             catch
             {
                 MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                 return;
             }
             this.Close();
         }
         else
         {
             MessageBox.Show(errorInfo);
             CallBack();
         }
     }
 }