public void GenerateWorkProcesses(WorkProcess process) { var workprocess = this.Queryable().Include(x => x.SKU).Where(x => x.Id == process.Id).First(); workprocess.Status = 1; this.Update(workprocess); var steps = _setpservice.Queryable().Where(x => x.ProductionProcessId == process.ProductionProcessId).ToList(); var list = new List <WorkProcessDetail>(); foreach (var setp in steps) { if (!_processdetailservice.Queryable().Where(x => x.ProcessStepId == setp.Id).Any()) { WorkProcessDetail item = new WorkProcessDetail(); item.WorkProcessId = process.Id; item.Operator = ""; item.SKUId = workprocess.SKUId; item.ComponentSKU = workprocess.SKU.Sku; item.GraphSKU = workprocess.GraphSKU; item.ProcessStepId = setp.Id; item.StandardElapsedTime = setp.ElapsedTime; item.StationId = setp.StationId; item.StepName = setp.StepName; item.Status = 0; list.Add(item); } } _processdetailservice.InsertRange(list); }
public IEnumerable <ProductionTask> GenerateProductionTask(int[] plansid) { var planlist = this.Queryable().Include(x => x.ProductionProcess).Where(x => plansid.Contains(x.Id)).ToList(); var newitems = new List <ProductionTask>(); foreach (var planitem in planlist) { var setps = _stepservice.Queryable().Include(x => x.ProductionProcess).Where(x => x.ProductionProcessId == planitem.ProductionProcessId && planitem.ProductionProcessId > 0).ToList(); foreach (var setp in setps) { var isexist = _taskservice.Queryable().Where(x => x.OrderId == planitem.OrderId && x.ProcessName == setp.ProductionProcess.Name && x.ProcessOrder == setp.Order).Any(); if (!isexist) { ProductionTask item = new ProductionTask(); item.OrderId = planitem.OrderId; item.OrderKey = planitem.OrderKey; item.OrderPlanDate = planitem.OrderPlanDate; item.ParentBomComponentId = planitem.ParentBomComponentId; item.BomComponentId = planitem.BomComponentId; item.ComponentSKU = planitem.ComponentSKU; item.ProcessSetp = setp.StepName; item.ProductionLine = setp.ProductionProcess.ProductionLine; item.ProcessOrder = setp.Order; item.ProductionQty = planitem.RequirementQty; item.SKUId = planitem.SKUId; item.GraphSKU = planitem.GraphSKU; item.ALTSku = planitem.ALTSku; item.AltElapsedTime = planitem.RequirementQty * setp.ElapsedTime; item.Equipment = setp.Equipment; item.DesignName = planitem.DesignName; item.OrderPlanDate = planitem.OrderPlanDate; item.PlanStartDateTime = planitem.PlanedStartDate; item.PlanCompletedDateTime = planitem.PlanedStartDate.Value.AddHours((double)item.AltElapsedTime); item.ProcessName = setp.ProductionProcess.Name; item.Owner = ""; newitems.Add(item); } } } _taskservice.InsertRange(newitems); return(newitems); }