public IHttpActionResult GetProductionProcessDetail1(int productID, int unitID, string userID) { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { Guid guidUserID = Guid.Parse(userID.Replace(" ", string.Empty)); List <ProductionPlanningUnitDetail> listOfProductionPlanningUnitDetail = new List <ProductionPlanningUnitDetail>(); try { List <UserProcessGroup> listProcessGroup = db.UserProcessGroups.Where(x => x.UserID == guidUserID).ToList(); foreach (Process processUnitList in db.Processes.Where(x => x.MasterProcess.ProductID == productID && x.UnitID == unitID).ToList()) { ProductionPlanningUnitDetail productionPlanningUnitDetail = new ProductionPlanningUnitDetail(); productionPlanningUnitDetail.ProcessID = processUnitList.ID; productionPlanningUnitDetail.ProcessGroupID = processUnitList.MasterProcess.ProcessGroupID; if (listProcessGroup.Where(x => x.ProcessGroupID == productionPlanningUnitDetail.ProcessGroupID).FirstOrDefault() != null) { productionPlanningUnitDetail.IsCanAccess = true; } else { productionPlanningUnitDetail.IsCanAccess = false; } productionPlanningUnitDetail.StatusID = processUnitList.Status; if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.NotStarted) { productionPlanningUnitDetail.StatusName = "Not Started"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.OnProcess) { productionPlanningUnitDetail.StatusName = "On Process"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.OnProcess && processUnitList.PlanEndDate < DateTime.Now) { productionPlanningUnitDetail.StatusName = "On Process (Late)"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.StopByOperator) { productionPlanningUnitDetail.StatusName = "Stopped By Operator"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.WaitForQC) { productionPlanningUnitDetail.StatusName = "Wait For QC"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.QCPassed) { productionPlanningUnitDetail.StatusName = "QC Passed"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.QCNotGood) { productionPlanningUnitDetail.StatusName = "QC Not Good"; } else if (productionPlanningUnitDetail.StatusID == (int)ProcessStatus.Finish) { productionPlanningUnitDetail.StatusName = "Finish"; } productionPlanningUnitDetail.ProcessName = processUnitList.MasterProcess.Name; productionPlanningUnitDetail.ManHour = processUnitList.MasterProcess.ManHour; productionPlanningUnitDetail.ManPower = processUnitList.MasterProcess.ManPower; decimal?totalMHActual = processUnitList.ProcessAssigns.Sum(x => x.ProcessActivities.Sum(y => y.ActualHours)); // db.ProcessActivities.Where(x => x.ProcessAssign.ProcessID == processUnitList.ID).Sum(x => x.ActualHours); productionPlanningUnitDetail.ManHourActual = totalMHActual; productionPlanningUnitDetail.MasterProcessID = processUnitList.MasterProcessID; listOfProductionPlanningUnitDetail.Add(productionPlanningUnitDetail); } return(Ok(listOfProductionPlanningUnitDetail)); } catch (Exception ex) { return(InternalServerError(ex)); } } }
public IHttpActionResult GetInspectorUnitDetailIT(int productID, int unitID) { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { List <ProductionPlanningUnitDetail> listInspectorUnitDetail = new List <ProductionPlanningUnitDetail>(); try { foreach (Process itemProcess in db.Processes.Where(x => x.MasterProcess.ProductID == productID && x.UnitID == unitID)) { ProductionPlanningUnitDetail inspectorPlanningUnitDetail = new ProductionPlanningUnitDetail(); inspectorPlanningUnitDetail.ProcessID = itemProcess.ID; inspectorPlanningUnitDetail.ProcessGroupID = itemProcess.MasterProcess.ProcessGroupID; inspectorPlanningUnitDetail.StatusID = itemProcess.Status; var statusID = inspectorPlanningUnitDetail.StatusID; if (statusID == (int)ProcessStatus.NotStarted) { inspectorPlanningUnitDetail.StatusName = "Not Started"; } else if (statusID == (int)ProcessStatus.OnProcess) { inspectorPlanningUnitDetail.StatusName = "On Process"; } else if (statusID == (int)ProcessStatus.ONProcessLate) { inspectorPlanningUnitDetail.StatusName = "On Process (Late)"; } else if (statusID == (int)ProcessStatus.StopByOperator) { inspectorPlanningUnitDetail.StatusName = "Stopped By Operator"; } else if (statusID == (int)ProcessStatus.WaitForQC) { inspectorPlanningUnitDetail.StatusName = "Wait For QC"; } else if (statusID == (int)ProcessStatus.QCPassed) { inspectorPlanningUnitDetail.StatusName = "QC Passed"; } else if (statusID == (int)ProcessStatus.QCNotGood) { inspectorPlanningUnitDetail.StatusName = "QC Not Good"; } else if (statusID == (int)ProcessStatus.Finish) { inspectorPlanningUnitDetail.StatusName = "Finish"; } inspectorPlanningUnitDetail.ProcessName = itemProcess.MasterProcess.Name; inspectorPlanningUnitDetail.ManHour = itemProcess.MasterProcess.ManHour; inspectorPlanningUnitDetail.ManPower = itemProcess.MasterProcess.ManPower; inspectorPlanningUnitDetail.MasterProcessID = itemProcess.MasterProcessID; inspectorPlanningUnitDetail.LastModifiedby = itemProcess.LastModifiedBy; listInspectorUnitDetail.Add(inspectorPlanningUnitDetail); } return(Ok(listInspectorUnitDetail)); } catch (Exception ex) { return(InternalServerError(ex)); } } }