Exemple #1
0
        /// <summary>
        /// 创建工单WIP
        /// </summary>
        /// <param name="Order"></param>
        public void CreateOrderWip(Model.BPM_Order Order)
        {
            BPM_Daily bll_Daily = new BPM_Daily();
            var       lsDaily   = bll_Daily.GetModelList("OrderID='" + Order.OrderID + "'");

            if (Order != null && Order.Product != null && Order.Product.ProcessList.Count > 0)
            {
                foreach (var process in Order.Product.ProcessList)
                {
                    var Model = new Model.BPM_WIP()
                    {
                        OrderID            = Order.OrderID,
                        ClientName         = Order.ClientName,
                        ProductName        = Order.ProductName,
                        Spec               = Order.Spec,
                        Count              = Convert.ToInt32(Order.Count),
                        ProcessCount       = Convert.ToInt32(Order.Count) * process.ConnectorQty,
                        ProcessID          = process.ProcessID,
                        ProcessName        = process.ProcessName,
                        StandardHours      = Convert.ToDouble(process.StandardHours),
                        ConnectorQty       = process.ConnectorQty,
                        ProcessSign        = process.ProcessSign,
                        TotalStandatdHours = Order.Count * process.ConnectorQty * Convert.ToDouble(process.StandardHours),
                        Qty_OK             = lsDaily.Where(x => x.ProcessID == process.ProcessID).Sum(p => p.QtyOK),
                        Qty_NG             = lsDaily.Where(x => x.ProcessID == process.ProcessID).Sum(p => p.QtyNG),
                        Qty       = lsDaily.Where(x => x.ProcessID == process.ProcessID).Sum(p => p.Qty),
                        WorkHours = Convert.ToDouble(lsDaily.Where(x => x.ProcessID == process.ProcessID).Sum(p => p.WorkHours)),
                    };
                    Model.Qty_NotInput = Model.ProcessCount - Model.Qty;
                    Model.GetTime      = Model.Qty * Model.StandardHours;
                    if (Model.GetTime == 0 || Model.WorkHours == 0)
                    {
                        Model.Efficiency = 0;
                    }
                    else
                    {
                        Model.Efficiency = Convert.ToDouble(Model.GetTime / Model.WorkHours);
                    }

                    dal.Add(Model);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Model.BPM_WIP model)
 {
     return(dal.Update(model));
 }