public void IssuePurchOrder(UnitOfWork uow) { if (_OrderStatus == PurchOrderStatus.Approval || _OrderStatus == PurchOrderStatus.Active) { _IssuedDate = ServerHelper.GetCurrentDateTime(); OnChanged("IssuedDate"); _IssuedBy = CurrentUser; OnChanged("IssuedBy"); NoOfIssue++; _OrderStatus = PurchOrderStatus.Active; OnChanged("OrderStatus"); Save(); } }
// Tmp for data conversion. public void SetReceivedQty(float rQty) { _ReceivedQty = rQty; OnChanged("ReceivedQty"); UpdateBalQty(); OnChanged("_BalQty"); if (_BalQty < 0) { _ReceivedQty = _NeedQty; _BalQty = 0; OnChanged("BalQty"); OnChanged("ReceivedQty"); } if (_BalQty == 0) { _OrderStatus = PurchOrderStatus.Complete; OnChanged("_OrderStatus"); } }
public void ApproveOrder() { if (OrderStatus == PurchOrderStatus.Waiting) { _ApprovedBy = CurrentUser; OnChanged("ApprovedBy"); _ApprovedDate = ServerHelper.GetCurrentDateTime(); OnChanged("ApprovedDate"); _OrderStatus = PurchOrderStatus.Approval; OnChanged("OrderStatus"); Save(); } }
public void CancelApproveOrder() { if (OrderStatus == PurchOrderStatus.Active || OrderStatus == PurchOrderStatus.Approval) { _ApprovedBy = ""; OnChanged("ApprovedBy"); _ApprovedDate = Convert.ToDateTime(null); OnChanged("ApprovedDate"); _OrderStatus = PurchOrderStatus.Waiting; OnChanged("OrderStatus"); Save(); } }
private void UpdateBalQty() { _BalQty = _NeedQty - _ReceivedQty - _CancelQty - _PendingReceivedQty; _FreeSpareBalQty = _FreeSpareQty - _FreeSpareReceivedQty; if (_FreeSpareBalQty < 0) _FreeSpareBalQty = 0; OnChanged("BalQty"); OnChanged("FreeSpareBalQty"); if (_BalQty < 0) { throw new Exception(String.Format("订单({0}), 产品({1}) 余数不能小于0.", PurchOrderNo, Item.ItemNo)); } if (_BalQty == 0 && _FreeSpareBalQty == 0 && OrderStatus != PurchOrderStatus.Complete) { _OrderStatus = PurchOrderStatus.Complete; OnChanged("_OrderStatus"); } if (_BalQty > 0 && OrderStatus == PurchOrderStatus.Complete) { _OrderStatus = PurchOrderStatus.Active; OnChanged("_OrderStatus"); } }
protected override void OnSaving() { UpdatePurchReceive(); if (PurchOrderNo == "" && Item.ItemType.UsedForPONo) { _PurchOrderNo = Item.ItemType.GetNextPurchOrderNo(); OnChanged("PurchOrderNo"); } else if (PurchOrderNo == "" && WorkOrder != null) { _PurchOrderNo = WorkOrder.GetNextPurchOrderNo(); OnChanged("PurchOrderNo"); } else if (PurchOrderNo == "" && ReplenishOrder != null) { _PurchOrderNo = ReplenishOrder.OrderNo; OnChanged("PurchOrderNo"); } else if (PurchOrderNo == "") { if (poType == PurchOrderType.Normal) _PurchOrderNo = Barcode.GetNextBarcode("PurchOrder"); else _PurchOrderNo = Barcode.GetNextBarcode("ReturnOrder"); OnChanged("PurchOrderNo"); } if (_FreeSpareBalQty == 0 && _BalQty == 0 && (OrderStatus == PurchOrderStatus.Active || OrderStatus == PurchOrderStatus.Waiting)) { _OrderStatus = PurchOrderStatus.Complete; OnChanged("OrderStatus"); } if ((_FreeSpareBalQty > 0 || _BalQty > 0) && (OrderStatus == PurchOrderStatus.Complete || OrderStatus == PurchOrderStatus.Waiting)) { _OrderStatus = PurchOrderStatus.Waiting; OnChanged("OrderStatus"); } base.OnSaving(); }
public void UpdateQty() { _ReceivedQty = 0; _ReceivedDefectQty = 0; _ReceivedNWDefectQty = 0; _BalQty = 0; _LostQty = 0; foreach (SubPurchOrderReceive poReceive in SubPurchOrderReceives) { if (poReceive.OrderStatus == SubPurchOrderReceive.ReceiveStatus.Complete) { _ReceivedQty = _ReceivedQty + poReceive.Qty; _ReceivedDefectQty = _ReceivedDefectQty + poReceive.DefectQty; _ReceivedNWDefectQty = _ReceivedNWDefectQty + poReceive.NWDefectQty; _LostQty = _LostQty + poReceive.LostQty; } } _BalQty = _NeedQty - _ReceivedQty - _ReceivedDefectQty - _ReceivedNWDefectQty - LostQty; if (_BalQty < 0) throw new Exception(string.Format("������ {0} , ����Ʒ {1} , ���� {2} ��������0", PurchOrderNo, SubItem.ItemNo, _BalQty)); OnChanged("ReceivedQty"); OnChanged("ReceivedDefectQty"); OnChanged("ReceivedNWDefectQty"); OnChanged("LostQty"); OnChanged("BalQty"); if (OrderStatus != PurchOrderStatus.Cancel && OrderStatus != PurchOrderStatus.Waiting) { if (_BalQty == 0) _OrderStatus = PurchOrderStatus.Complete; else _OrderStatus = PurchOrderStatus.Active; OnChanged("OrderStatus"); } }
public void ReActivePurchOrder() { if (BalQty > 0) { _OrderStatus = PurchOrderStatus.Active; } else { _OrderStatus = PurchOrderStatus.Complete; } OnChanged("OrderStatus"); }
public void CancelPurchOrder() { _OrderStatus = PurchOrderStatus.Cancel; OnChanged("OrderStatus"); }