public WIPWHTotal(Session session, ProdRouteListTransfer rTransfer) : base(session) { _Warehouse = rTransfer.ProdOrder.Warehouse; OnChanged("Warehouse"); _PhysicalQty = 0; OnChanged("PhysicalQty"); _AvailQty = 0; OnChanged("AvailQty"); _Item = rTransfer.ProdOrder.Item; OnChanged("Item"); }
private void btnCancelProdRouteListTransfer_Execute(object sender, SimpleActionExecuteEventArgs e) { UnitOfWork uow = (UnitOfWork)((XPObjectSpace)View.ObjectSpace).Session; uow.BeginTransaction(); try { rListTransfer = (ProdRouteListTransfer)View.CurrentObject; rListTransfer.Cancel(); uow.CommitTransaction(); View.ObjectSpace.Refresh(); } catch (Exception ex) { DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message, "錯誤", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); uow.RollbackTransaction(); } UpdateViewState(); }
private void btnAllocatePO_Click(object sender, EventArgs e) { XPCollection<SalesOrderLine> salesOrderLines; uow.BeginTransaction(); if (chkAllPO.Checked == true) salesOrderLines = SalesOrderLine.GetOpenSalesOrderLine(uow, ProdRoute.Item, DateTime.Today.AddYears(1)); else salesOrderLines = SalesOrderLine.GetOpenSalesOrderLine(uow, ProdRoute.Item); float balQty = this.IssueQty; float soQty = 0; float invQty = 0; ProdOrder prodOrder = uow.FindObject<ProdOrder>(new BinaryOperator("OrderNo", ProdRoute.ProdOrder.OrderNo)); ArrayList shipmentList = new ArrayList(); soList = new ArrayList(); if (chkAllWarehouse.Checked != true) { foreach (SalesOrderLine soLine in salesOrderLines) { if (soLine.LackQty > 0) { Shipment shipment; if (soLine.LackQty > balQty) { shipment = soLine.CreateShipment(uow, balQty); shipment.ProdOrder = prodOrder; shipment.ProdRoute = this.ProdRoute; soQty = soQty + balQty; balQty = 0; } else { balQty = balQty - soLine.LackQty; soQty = soQty + soLine.LackQty; shipment = soLine.CreateShipment(uow, soLine.LackQty); shipment.ProdOrder = prodOrder; shipment.ProdRoute = this.ProdRoute; } shipmentList.Add(shipment); shipment.Save(); SoGrid soGrid = new SoGrid(shipment); soList.Add(soGrid); } } } invQty = balQty; if (invQty > 0) { // Change to Create RoutListTransfer // ProdRouteListTransfer rListTransfer = new ProdRouteListTransfer(uow); rListTransfer.ProdOrder = this.ProdRoute.ProdOrder; rListTransfer.FromProdRoute = this.ProdRoute; rListTransfer.Qty = invQty; rListTransfer.ScrapQty = 0; rListTransfer.ToProdRoute = this.ProdRoute; //rListTransfer.IRNo = this. .ProdRoute mpFQC.IrNo; rListTransfer.Save(); } uow.CommitTransaction(); txtTotalPOQty.Text = soQty.ToString(); txtTotalWHQty.Text = invQty.ToString(); btnAllocatePO.Enabled = false; btnPrintLabel.Enabled = true; gridPO.DataSource = soList; }
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"); }
private void CreateRListTransfer() { ProdRouteListTransfer sorListTransfer = new ProdRouteListTransfer(Session); sorListTransfer.ProdOrder = this.ProdOrder; sorListTransfer.FromProdRoute = this.ProdRoute; sorListTransfer.Qty = this.Qty; sorListTransfer.ScrapQty = 0; sorListTransfer.IsToSO = true; sorListTransfer.Remark = "出货单号 - " + this.PackingListNo; sorListTransfer.Save(); sorListTransfer.Post(); }
private void btnSplitProdRouteListTransfer_Execute(object sender, SimpleActionExecuteEventArgs e) { if (View.CurrentObject == null) return; UnitOfWork uow = (UnitOfWork)((XPObjectSpace)View.ObjectSpace).Session; uow.BeginTransaction(); rListTransfer = (ProdRouteListTransfer)View.CurrentObject; float SplitQty = 0; try { SplitQty = float.Parse(Microsoft.VisualBasic.Interaction.InputBox( string.Format("你已选取了单号 : {0}, 产品编码 : {1}, 数量 : {2}\n请输入要分单数量 !! ", rListTransfer.ProdOrder.OrderNo, rListTransfer.ProdOrder.Item.ItemNo, rListTransfer.Qty), "分单", "", 0, 0)); if (SplitQty >= rListTransfer.Qty) { XtraMessageBox.Show(string.Format("不能分单, 分单数量 {0} 大于原有数量 {1}", SplitQty, rListTransfer.Qty), "错误"); uow.RollbackTransaction(); return; } rListTransfer.Qty = rListTransfer.Qty - SplitQty; rListTransfer.Save(); ProdRouteListTransfer newListTransfer = new ProdRouteListTransfer(uow); newListTransfer.FromCellLine = rListTransfer.FromCellLine; newListTransfer.FromProdRoute = rListTransfer.FromProdRoute; newListTransfer.IRNo = rListTransfer.IRNo; newListTransfer.IsToSO = rListTransfer.IsToSO; newListTransfer.Qty = SplitQty; newListTransfer.ProdOrder = rListTransfer.ProdOrder; newListTransfer.Remark = rListTransfer.Remark; newListTransfer.ToCellLine = rListTransfer.ToCellLine; newListTransfer.ToProdRoute = rListTransfer.ToProdRoute; newListTransfer.Save(); uow.CommitTransaction(); View.ObjectSpace.Refresh(); } catch (Exception ex) { XtraMessageBox.Show(string.Format("不能分单, 错误信息如下: \n{0}", ex.Message), "错误"); uow.RollbackTransaction(); } }
private void CreateProdOrderFinishToHKWarehouse(SimpleActionExecuteEventArgs e) { UnitOfWork uow = new UnitOfWork(); uow.BeginTransaction(); rListTransfer = (ProdRouteListTransfer)View.CurrentObject; ProdOrder prodOrder = uow.GetObjectByKey<ProdOrder>(rListTransfer.ProdOrder.Oid); WareHouse hkWH = WareHouse.Find(uow, "HK良品仓"); prodOrderFinish = new ProdOrderFinish(uow); prodOrderFinish.ProdOrder = prodOrder; prodOrderFinish.Qty = rListTransfer.Qty; prodOrderFinish.Warehouse = hkWH; prodOrderFinish.ScrapQty = rListTransfer.ScrapQty; prodOrderFinish.ScrapWarehouse = hkWH; prodOrderFinish.Save(); uow.CommitChanges(); ProdRouteListTransfer rL = uow.GetObjectByKey<ProdRouteListTransfer>(rListTransfer.Oid); prodOrderFinish.Post(uow); rL.Post(); uow.CommitTransaction(); View.ObjectSpace.Refresh(); }
private void ConfirmProdRouteListTransfer_Execute(object sender, SimpleActionExecuteEventArgs e) { try { rListTransfer = (ProdRouteListTransfer)View.CurrentObject; if (rListTransfer.ToProdRoute == null) CreateProdOrderFinish(e); else { uow = (UnitOfWork)((XPObjectSpace)View.ObjectSpace).Session; uow.BeginTransaction(); rListTransfer.Post(); uow.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "錯誤", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); uow.RollbackTransaction(); } UpdateViewState(); //View.ObjectSpace.Refresh(); }