public void SaveWorkOrders(Sender sender, SaveWorkOrderArgs args) { try { using (ObjectProxy op = new ObjectProxy(true)) { if (args.WorkOrders != null) { foreach (WorkOrder Item in args.WorkOrders) { string key = "W" + DateTime.Now.ToString("yy"); int index = this.GetIncrease(sender, key); Item.WorkOrderNo = key + DateTime.Now.Month.ToString("00") + index.ToString("00000"); Item.Created = DateTime.Now; Item.CreatedBy = sender.UserCode + "." + sender.UserName; op.InsertWorkOrder(Item); } } if (args.ProductionOrder != null) { op.UpdateProductionOrderByProductionID(args.ProductionOrder); } op.CommitTransaction(); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void SaveWorkOrders() { try { using (ProxyBE p = new ProxyBE()) { SaveWorkOrderArgs args = new SaveWorkOrderArgs(); WorkOrder obj = new WorkOrder(); if (string.IsNullOrEmpty(Request["ProductionIDs"])) { throw new Exception("参数错误!"); } string[] array = Request["ProductionIDs"].TrimEnd(',').Split(','); for (int i = 0; i < array.Length; i++) { Guid ProductionID = new Guid(array[i]); ProductionOrder productionorder = p.Client.GetProductionOrder(SenderUser, ProductionID); if (productionorder == null) { throw new Exception(string.Format("生产订单{0}不存在!", productionorder.ProduceNo)); } if (productionorder.Status!= ProductionOrderStatus.Y.ToString()) { throw new Exception(string.Format("生产订单{0}未排单!", productionorder.ProduceNo)); } productionorder.Status = ProductionOrderStatus.K.ToString(); args.ProductionOrder = productionorder; #region 工单 //一阶组件 List<ProductComponent> componentlist = p.Client.GetProductComponentByOrderID(SenderUser, productionorder.OrderID); //组件对照表 List<ComponentType> typelist = p.Client.GetAllComponentTypes(SenderUser); pageValues = new List<ProductComponent>(); foreach (ProductComponent Item in componentlist) { FindLastChild(typelist, Item.ComponentTypeID, Item.ProductCode); } List <WorkOrder> list = new List<WorkOrder>(); foreach (ProductComponent Item in pageValues) { var componentmodel= p.Client.GetProductComponentByComponentTypeID(SenderUser, Item.ComponentTypeID, Item.ProductCode); if (componentmodel != null) { WorkOrder model = new WorkOrder() { WorkOrderID = Guid.NewGuid(), OrderID = productionorder.OrderID, ProductionID = productionorder.ProductionID, Status = "N", ComponentID= componentmodel.ComponentID, ComponentTypeID = componentmodel.ComponentTypeID, }; list.Add(model); } } args.WorkOrders = list; #endregion } if (args.WorkOrders.Count < 1) { throw new Exception("递归数据查询中未找到任何数据!"); } p.Client.SaveWorkOrders(SenderUser, args); } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }