Пример #1
0
        public void UpdateStatus()
        {
            if (_Status != OrderStartStatus.Waiting)
                return;
            _Status = OrderStartStatus.Waiting;
            foreach (ProdOrderPickList pickList in ProdOrderPickLists)
            {
                if (pickList.Status == ProdOrderPickList.PickListStatus.Complete)
                {
                    _Status = OrderStartStatus.Active;
                    break;
                }
            }

            OnChanged("Status");
        }
Пример #2
0
        public void Post()
        {
            ProdRoute ToProdRoute = this.ProdOrder.GetFirstProdRoute();

            if (ToProdRoute == null)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("不能開始生產單{0}, 因為没有流程", this.ProdOrder.OrderNo), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                return;
            }

            if (this.Status != OrderStartStatus.Active)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("不能開始生產單{0}, 因為狀態不是{1}", this.ProdOrder.OrderNo, ProdOrderStart.OrderStartStatus.Active.ToString()), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                return;
            }

            ProdRouteListTransfer rListTransfer = new ProdRouteListTransfer(Session);
            rListTransfer.ProdOrder = this.ProdOrder;
            //rListTransfer.FromProdRoute = null ; // No FromProdRoute for the first Start.
            rListTransfer.ToProdRoute = ToProdRoute;
            rListTransfer.ToCellLine = this.ProdOrder.CellLine;
            rListTransfer.Qty = this.Qty;
            rListTransfer.ScrapQty = 0;
            rListTransfer.Save();
            rListTransfer.Post();

            _Status = OrderStartStatus.Complete;
            OnChanged("Status");

            _StartedDate = ServerHelper.GetCurrentDateTime();
            OnChanged("StartedDate");

            _StartedBy = base.CurrentUser;
            OnChanged("StartedBy");
        }
Пример #3
0
        public void ResetStatus()
        {
            if (Status == OrderStartStatus.Cancel)
            {
                foreach (ProdOrderPickList pickList in ProdOrderPickLists)
                    pickList.ResetPickListStatus();

                _Status = OrderStartStatus.Waiting;
                OnChanged("Status");

                _CancelBy = "";
                OnChanged("CancelBy");

            //                _CancelDate = ServerHelper.GetCurrentDateTime();
            //                OnChanged("CancelDate");

                Save();
            }
        }
Пример #4
0
        public void CancelProdOrderStart()
        {
            if (Status == OrderStartStatus.Waiting || Status == OrderStartStatus.Active )
            {
                foreach (ProdOrderPickList pickList in ProdOrderPickLists)
                {
                    if (pickList.Status == ProdOrderPickList.PickListStatus.Waiting)
                    {
                        pickList.CancelPickList();
                        pickList.Save();
                    }
                }
                _Status = OrderStartStatus.Cancel;
                OnChanged("Status");

                _CancelBy = base.CurrentUser;
                OnChanged("CancelBy");

                _CancelDate = ServerHelper.GetCurrentDateTime();
                OnChanged("CancelDate");

                Save();
            }
        }