Beispiel #1
0
        public List<RepairRecipe> GetCombineFaultRecipes(CombineFault cmbFault, int palletId, int actionId)
        {
            List<RepairRecipe> recipes = new List<RepairRecipe>();
            List<TorqueRepair> trqRepairs = new List<TorqueRepair>();
            List<BarcodeRepair> bcRepairs = new List<BarcodeRepair>();
            ReworkFactory factory = new ReworkFactory();

            var skuInfo = factory.GetSkuInfoByPalletId(palletId);

            foreach (var t in cmbFault.TorqueFaults)
            {
                var tmpTrqRepair = GetTorqueRepair(t);
                trqRepairs.Add(tmpTrqRepair);
            }

            foreach (var b in cmbFault.BarcodeFaults)
            {
                var tmpBcRepair = GetBarcodeRepair(b);
                bcRepairs.Add(tmpBcRepair);
            }

            var dispRecipes = GetRepairRecipes(skuInfo, cmbFault.Disposition, actionId);
            foreach (var r in dispRecipes)
            {
                if (r.RequireRepaired)
                {
                    foreach (var t in r.TorqueRepairs)
                    {
                        
                    }

                    foreach (var b in r.BarcodeRepairs)
                    {
                        if (!bcRepairs.Where(bc => bc.CSType == bc.CSType).Any())
                            bcRepairs.Add(b);
                    }
                }
                else
                {
                    recipes.Add(r);
                }
            }

            if (bcRepairs.Any() || trqRepairs.Any())
            {
                recipes.Add(new RepairRecipe
                {
                    Title = "Combine Fault Recipe",
                    TorqueRepairs = trqRepairs,
                    BarcodeRepairs = bcRepairs,
                    Repaired = false,
                    RequireRepaired = true,
                    Priority = 1,
                    RecipeId = 100
                });
            }

            return recipes.OrderByDescending(r=>r.Priority).ToList();
        }
        public RepairRecipeResponse GetReworkRecipes([FromBody]ReworkRecipeRequest request, int actionId)
        {
            ItemDetailsModel model = new ItemDetailsModel();
            RecipeFactory recipeFactory = new RecipeFactory();
            ReworkFactory reworkFactory = new ReworkFactory();

            var recipes = recipeFactory.GetRepairRecipes(request.SkuInfo, request.Disposition, actionId);
            return new RepairRecipeResponse
            {
                RepairRecipes = recipes
            };

        }
        public RepairPalletInfo RepairPalletInfo(int id, int mode, int testerMode)
        {
            ReworkFactory factory = new ReworkFactory();

            var palletInfo = factory.GetPalletInfo(id, testerMode, mode);

            if (palletInfo == null)
            {
                throw new HttpResponseException(
                    HttpErrorResponse.GetHttpErrorResponse(
                    HttpStatusCode.NotFound, "No Pallet Data", string.Format("Pallet ID = {0} Has No Data", id)));
            }

            return palletInfo;

        }
Beispiel #4
0
        public PalletChange GetPalletChange(int palletId)
        {
            DispositionDataContext db = new DispositionDataContext();
            IntegramMESDataContext trackDb = new IntegramMESDataContext();
            MesDataContext dbMes = new MesDataContext();
            ItemDetailsModel itemDetailModel = new ItemDetailsModel();
            ReworkFactory reworkFactory = new ReworkFactory();

            var palletHdr = (from p in dbMes.PalletInfos
                             where p.PalletNbr == palletId && (p.Pallet_Type == "S1" || p.Pallet_Type == "S2")
                             select p).FirstOrDefault();

            if (palletHdr == null)
                return null;

            var jobInfo = (from j in dbMes.MasterJobTables
                           where j.Job_ID == palletHdr.Job_ID
                           select j).FirstOrDefault();

            if (jobInfo == null)
                return null;

            var item = itemDetailModel.GetItemInfo(jobInfo.SKU);
            var convertSkuInfo = reworkFactory.GetSkuInfo(item).OrderBy(s=>s.PartIndex).ToList();

            var palletChangeHistory = trackDb.PalletChangeHistories.Where(p => p.JobId == jobInfo.Job_ID).ToList();

            PalletChange palletChange = new PalletChange
            {
                PalletId = palletId,
                Sku = jobInfo.SKU,
                JobId = jobInfo.Job_ID,
                OrderNumber = jobInfo.Order_Nbr,
                SkuInfo = convertSkuInfo,
                FinishDTM = (DateTime)jobInfo.FinishBld_DTTM,
                PalletChangeHistory = palletChangeHistory
            };

            return palletChange;
        }
Beispiel #5
0
        private RepairRecipe GetGenericRepairRecipe(List<SkuInfo> skuInfo)
        {
            ReworkFactory factory = new ReworkFactory();
            //var palletValidationRequirements = factory.GetPalletValidationRequirements(skuInfo);
            int lineId = skuInfo[0].LineId;
            
            ReworkDataContext db = new ReworkDataContext();
            int genericrecipeid = 4;
            if (lineId == 1)
                genericrecipeid = 3;

            RepairRecipe recipe = new RepairRecipe
            {
                RecipeId = genericrecipeid,
                Priority = 0,
                Title = "Generic Repair",
                RequireRepaired = false,
                BarcodeRepairs = (from t in db.IWS_SP_GetSerialRequirementByRecipeDefinitionId(genericrecipeid)
                                  select new BarcodeRepair
                                  {
                                      Description = t.Description,
                                      LineId = t.LineId,
                                      Repaired = false,
                                  }).ToList(),
                TorqueRepairs = (from t in db.IWS_SP_GetTorqueRequirementByRecipeDefinitionId(genericrecipeid)
                                 select new TorqueRepair
                                 {
                                     ControllerName = t.ControllerName.Trim(),
                                     Repaired = t.Pset == 0 ? true : false,
                                     Description = t.Description,
                                     Pset = t.Pset,
                                     TorquesPresent = 0,
                                     TorquesRequired = (int)t.TorquesRequired
                                 }).ToList()

            };
            return recipe;
        }
 public HttpResponseMessage CompleteRepair([FromBody]RepairFaults repairFaults, int palletId, string userId)
 {
     ReworkFactory factory = new ReworkFactory();
     factory.CompleteRepair(repairFaults, palletId, userId);
     return new HttpResponseMessage(HttpStatusCode.OK);
 }
Beispiel #7
0
        public List<SkuInfo> GetSkuInfo(string sku)
        {
            ItemDetailsModel itemDetailModel = new ItemDetailsModel();
            ReworkFactory reworkFactory = new ReworkFactory();
            var item = itemDetailModel.GetItemInfo(sku);
            if (item == null)
                return null;

            var convertSkuInfo = reworkFactory.GetSkuInfo(item).OrderBy(s => s.PartIndex).ToList();
            return convertSkuInfo;
        }
Beispiel #8
0
        //public void GetRepairInfo(int jobId)
        //{
        //    RepairReportingDataContext db = new RepairReportingDataContext();
        //    var repairHeader = db.RPT_GetRepairInfoHeader(jobId).ToList();
            
        //    foreach(var header in repairHeader)
        //    {
        //        dynamic Repair = new
        //        {
        //            HeaderInfo = header,
        //            RepairHistory = new
        //            {

        //            }
        //        };
        //    }


        //}

        public PalletHistoryInfo GetPalletInfoByJobId(long jobId)
        {
            ReworkFactory reworkFactory = new ReworkFactory();
            RepairFaults faults = new RepairFaults();
            DispositionDataContext db = new DispositionDataContext();
            REWORK_REPORTINGEntities reworkEntities = new REWORK_REPORTINGEntities();
            MesDataContext dbMes = new MesDataContext();
            ItemDetailsModel itemDetailModel = new ItemDetailsModel();

            var jobInfo = (from j in dbMes.MasterJobTables
                           where j.Job_ID == jobId
                           select j).FirstOrDefault();

            if (jobInfo == null)
                return null;

            var palletInfo = GetPalletInfo(jobInfo);
            return palletInfo;
        }
Beispiel #9
0
        private PalletHistoryInfo GetPalletInfo(MasterJobTable jobInfo)
        {
            ReworkFactory reworkFactory = new ReworkFactory();
            RepairFaults faults = new RepairFaults();
            DispositionDataContext db = new DispositionDataContext();
            REWORK_REPORTINGEntities reworkEntities = new REWORK_REPORTINGEntities();
            MesDataContext dbMes = new MesDataContext();
            ItemDetailsModel itemDetailModel = new ItemDetailsModel();

            var item = itemDetailModel.GetItemInfo(jobInfo.SKU);

            var convertSkuInfo = reworkFactory.GetSkuInfo(item).OrderBy(x => x.PartIndex).ToList();
            var lineInfos = reworkFactory.GetLineInfo(jobInfo);

            //RepairTorqueDetails = Count = 0

            reworkEntities.Configuration.ProxyCreationEnabled = false;
            reworkEntities.Configuration.LazyLoadingEnabled = false;
            var repairHistory = reworkEntities.RepairHistories
                .Include("RepairFaultXrefRepairHistories")
                .Include("RepairFaultXrefRepairHistories.RepairFault")
                .Include("RepairFaultXrefRepairHistories.RepairFault.FaultType")
                .Include("RepairFaultXrefRepairHistories.RepairFault.RepairFaultDetails")
                .Include("RepairFaultXrefRepairHistories.RepairFault.RepairDispositionDetails")
                .Include("RepairFaultXrefRepairHistories.RepairFault.RepairRecipes")
                //.Include("RepairFaultXrefRepairHistories.RepairFault.RepairRecipes.RepairBarcodeDetails")
                //.Include("RepairFaultXrefRepairHistories.RepairFault.RepairRecipes.RepairTorqueDetails")
                .Include("RepairTestRequirements")
                .Include("RepairTestRequirements.RepairTestRequirementDetails")
                .Where(r => r.JobId == jobInfo.Job_ID)
                .Select(i => new
                {
                    i.ArriveDtm,
                    i.CompletedDtm,
                    i.EmployeeId,
                    i.EmployeeName,
                    i.JobId,
                    i.PalletId,
                    RepairFaultXrefRepairHistories = i.RepairFaultXrefRepairHistories.Select(j => new
                    {
                        RepairFault = new
                        {
                            FaultType = j.RepairFault.FaultType,
                            RepairDispositionDetails = j.RepairFault.RepairDispositionDetails,
                            RepairFaultDetails = j.RepairFault.RepairFaultDetails,
                            RepairRecipes = j.RepairFault.RepairRecipes
                        }
                    }).ToList(),
                    RepairTestRequirements = i.RepairTestRequirements.Select(k => new
                    {
                        k.TestId,
                        k.TestName,
                        k.TestResult,
                        k.TestStatus,
                        k.Buildcode,
                        RepairTestRequirementDetails = k.RepairTestRequirementDetails
                    }).ToList(),
                }).ToList();

            dynamic extract = new List<dynamic>();
            foreach (var j in repairHistory)
            {
                dynamic onejob = new
                {
                    PalletId = j.PalletId,
                    JobId = j.JobId,
                    CompletedDtm = j.CompletedDtm,
                    EmployeeName = j.EmployeeName,
                    RepairTestRequirements = (from t in j.RepairTestRequirements
                                             select new {
                                                 TestId = t.TestId,
                                                 TestName = t.TestName,
                                                 TestResult = t.TestResult,
                                                 TestStatus = t.TestStatus,
                                                 Buildcode = t.Buildcode,
                                                 RepairTestRequirementDetails = (from d in t.RepairTestRequirementDetails
                                                                                select new
                                                                                {
                                                                                    BitNo = d.BitNo,
                                                                                    Description = d.Description,
                                                                                    Result = d.Result
                                                                                }).ToList(),
                                             }).ToList(),
                    RepairFaultXrefRepairHistories = from s in j.RepairFaultXrefRepairHistories
                                                     select new
                                                     {
                                                         RepairFault = new {
                                                             FaultType = new {
                                                                 Id = s.RepairFault.FaultType.Id,
                                                                 Description = s.RepairFault.FaultType.Description,
                                                             },
                                                             RepairRecipes = from r in s.RepairFault.RepairRecipes
                                                                             select new {
                                                                                 Description = r.Description,
                                                                                 RepairBarcodeDetails = (from b in r.RepairBarcodeDetails
                                                                                                        select new
                                                                                                        {
                                                                                                            Description = b.Description,
                                                                                                            OriginalBarcode = b.OriginalBarcode,
                                                                                                            ReplaceBarcode = b.ReplaceBarcode
                                                                                                        }).ToList(),
                                                                                 RepairTorqueDetails = (from t in r.RepairTorqueDetails
                                                                                                        select new
                                                                                                        {
                                                                                                            Angle = t.Angle,
                                                                                                            AngleStatus = t.AngleStatus,
                                                                                                            CompletedDTM = t.CompletedDTM,
                                                                                                            ControllerName = t.ControllerName,
                                                                                                            Pset = t.Pset,
                                                                                                            TighteningID = t.TighteningID,
                                                                                                            TighteningStatus = t.TighteningStatus,
                                                                                                            Torque = t.Torque,
                                                                                                            TorqueStatus = t.TorqueStatus
                                                                                                        }).ToList(),
                                                                             },
                                                             RepairFaultDetails = (from d in s.RepairFault.RepairFaultDetails
                                                                                  select new
                                                                                  {
                                                                                      Station = d.Station,
                                                                                      Description = d.Description
                                                                                  }).ToList(),
                                                             RepairDispositionDetails = (from disp in s.RepairFault.RepairDispositionDetails
                                                                                        select new
                                                                                        {
                                                                                            Type = disp.Type,
                                                                                            Side = disp.Side,
                                                                                            SeatPortion = disp.SeatPortion,
                                                                                            Commodity = disp.Commodity,
                                                                                            Defect = disp.Defect,
                                                                                            DefectDetail = disp.DefectDetail,
                                                                                            Responsibility = disp.Responsibility
                                                                                        }).ToList()
                                                         }
                                                     }
                };
                extract.Add(onejob);
            }

            PalletHistoryInfo palletInfo = new PalletHistoryInfo
            {
                OrderNumber = jobInfo.Order_Nbr,
                FinishDTM = (DateTime)jobInfo.FinishBld_DTTM,
                JobId = jobInfo.Job_ID,
                Sku = jobInfo.SKU,
                PalletId = (int)jobInfo.Ship_Pallet,
                SkuInfo = convertSkuInfo,
                LineInfo = lineInfos,
                RepairHistory = extract
            };

            return palletInfo;
        }
Beispiel #10
0
        public PalletHistoryInfo GetPalletInfoByPalletId(int palletId)
        {
            ReworkFactory reworkFactory = new ReworkFactory();
            RepairFaults faults = new RepairFaults();
            DispositionDataContext db = new DispositionDataContext();
            REWORK_REPORTINGEntities reworkEntities = new REWORK_REPORTINGEntities();
            MesDataContext dbMes = new MesDataContext();
            ItemDetailsModel itemDetailModel = new ItemDetailsModel();

            var palletHdr = (from p in dbMes.PalletInfos
                             where p.PalletNbr == palletId && (p.Pallet_Type == "S1" || p.Pallet_Type == "S2")
                             select p).FirstOrDefault();

            if (palletHdr == null)
                return null;

            var jobInfo = (from j in dbMes.MasterJobTables
                           where j.Job_ID == palletHdr.Job_ID
                           select j).FirstOrDefault();

            if (jobInfo == null)
                return null;

            var palletInfo = GetPalletInfo(jobInfo);
            return palletInfo;
        }