Example #1
0
        public void IssuePurchOrderLine()
        {
            PurchOrderLine poLine = new PurchOrderLine(Session);
            Vendor vendor = this.Item.MainVendor;

            if (vendor == null)
            {
                throw new Exception(string.Format("补料单 {0}. {1}此产品({2})没有预设的供应商资料, 所以不能发采购单", this.OrderNo, Environment.NewLine, Item.ItemNo));
            }

            poLine.WorkOrder = this.WorkOrder;
            poLine.Item = this.Item;
            poLine.NeedDate = this.NeedDate;
            poLine.NeedQty = this.NeedQty;

            if (vendor.FreeSpareRate > 0)
                poLine.FreeSpareQty = (this.NeedQty * vendor.FreeSpareRate) / 100;
            else
                poLine.FreeSpareQty = 0;

            PriceDisc vendDisc = Item.GetPurchPrice(vendor);

            if (vendDisc != null)
            {
                poLine.Price = vendDisc.Price;
                poLine.PriceQty = vendDisc.PriceQty;
                poLine.PriceUnit = vendDisc.PriceUnit;
            }

            poLine.Priority = 0;
            poLine.Unit = Item.Unit;
            poLine.Vendor = vendor;
            poLine.Warehouse = Item.Warehouse;
            poLine.OrderType = OrderType;
            poLine.ReplenishOrder = this;
            poLine.Save();

            _PurchOrderLine = poLine;
            OnChanged("PurchOrderLine");

            _Status = ReplenishStatus.Complete;
            OnChanged("Status");
            Save();
        }
Example #2
0
        public void CancelApproveOrder()
        {
            if (Status == ReplenishStatus.Approval)
            {
                _Status = ReplenishStatus.Waiting;
                OnChanged("Status");

                _ApprovedBy = "";
                OnChanged("ApprovedBy");

                _ApprovedDate = Convert.ToDateTime(null);
                OnChanged("ApprovedDate");

                AddHistory("取消核准补料单");
                Save();
            }
        }
Example #3
0
        public void CancelOrder()
        {
            if (Status == ReplenishStatus.Waiting)
            {
                _Status = ReplenishStatus.Cancel;
                OnChanged("Status");

                AddHistory("取消补料单");

                Save();
            }
        }
Example #4
0
        public void ApproveOrder()
        {
            if (Status == ReplenishStatus.Waiting)
            {
                _Status = ReplenishStatus.Approval;
                OnChanged("Status");

                _ApprovedBy = base.CurrentUser;
                OnChanged("ApprovedBy");

                _ApprovedDate = ServerHelper.GetCurrentDateTime();
                OnChanged("ApprovedDate");
                Save();
            }
        }