public void PostReturnList(UnitOfWork uow) { if (this.Status == ProdOrderReturnListStatus.Waiting) { if (Qty > ProdBom.RemainReturnQty) throw new Exception(string.Format("入仓数 {0} 必需小于余数 {1}", Qty, ProdBom.RemainReturnQty)); WHHistory WHHistory = new WHHistory(uow); WHHistory.Item = this.Item; WHHistory.OriginalQty = this.Qty; WHHistory.Warehouse = this.Warehouse; WHHistory.OriginalUnit = this.Item.Unit; WHHistory.RefNo = ProdOrder.OrderNo; WHHistory.RefType = WHHistory.ReferenceType.Production; if (ProdOrder.GetFirstProdRoute() != null) WHHistory.FromTo = ProdOrder.GetFirstProdRoute().WorkCenter.WorkCenterNo; WHHistory.Save(); _Status = ProdOrderReturnListStatus.Complete; OnChanged("Status"); _PostedBy = base.CurrentUser; OnChanged("PostedBy"); _PostedDate = ServerHelper.GetCurrentDateTime(); OnChanged("PostedDate"); this.Save(); ProdBom.UpdateReturnQty(); ProdBom.Save(); ProdOrder.UpdateKitQty(); ProdOrder.Save(); } }
public void CancelProdOrderReturnList(UnitOfWork uow) { if (Status == ProdOrderReturnListStatus.Waiting) { _Status = ProdOrderReturnListStatus.Cancel; OnChanged("Status"); _CancelBy = base.CurrentUser; OnChanged("CancelBy"); _CancelDate = ServerHelper.GetCurrentDateTime(); OnChanged("CancelDate"); this.Save(); } }