Beispiel #1
0
        public RepairPalletInfo GetPalletInfo(int palletId, int mode, int entryMode)
        {
            RepairFaults faults = new RepairFaults();
            DispositionDataContext db = new DispositionDataContext();
            DispositionDatabase dbDisposition = new DispositionDatabase();
            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) //Check by job id when in manual mode and no ship pallet exists
            {
                if (entryMode == 2)
                {
                    var jobInfo = (from j in dbMes.MasterJobTables
                                   where j.Job_ID == palletId
                                   select j).FirstOrDefault();

                    if (jobInfo == null)
                        return null;

                    var itemMaster = dbMes.ItemMasterTables.Where(c => c.Item_Nbr == jobInfo.SKU).FirstOrDefault();
                    var item = itemDetailModel.GetItemInfo(jobInfo.SKU);

                    var carline = (itemMaster == null) ? "UNKNOWN" : itemMaster.Carline;

                    var convertSkuInfo = GetSkuInfo(item);
                    var lineInfos = GetLineInfo(jobInfo);

                    return new RepairPalletInfo
                    {
                        RULabelVerification = (carline == "RU") ? GetRULabelVerification(jobInfo.Job_ID, item.LineId) : null,
                        Carline = carline,
                        PalletId = 0,
                        JobId = jobInfo.Job_ID,
                        LineInfos = lineInfos,
                        OrderNumber = jobInfo.Order_Nbr.Trim(),
                        SkuInfo = convertSkuInfo,
                        FinalQuestions = new List<FinalQuestionResult>(),
                        RepairFaults = GetEmptyRepairFaults(jobInfo, item, convertSkuInfo, lineInfos, 0, mode),
                        PalletDescription = new PalletDescription(convertSkuInfo, 0, jobInfo.Job_ID, jobInfo.Create_DTTM.ToString("yyyy-mm-dd h:mm:ss tt"), DateTime.Now.ToString("yyyy-mm-dd h:mm:ss tt")),
                    };
                }

                return null;
            }
            else
            {
                var jobInfo = (from j in dbMes.MasterJobTables
                               where j.Job_ID == palletHdr.Job_ID
                               select j).FirstOrDefault();

                if (jobInfo == null)
                    return null;

                var itemMaster = dbMes.ItemMasterTables.Where(c => c.Item_Nbr == jobInfo.SKU).FirstOrDefault();
                var item = itemDetailModel.GetItemInfo(jobInfo.SKU);

                if (item == null)
                {
                    throw new HttpResponseException(
                        HttpErrorResponse.GetHttpErrorResponse(
                        HttpStatusCode.NotFound, "SKU Error", string.Format("SKU = {0} is setup incorrectly", jobInfo.SKU)));
                }

                var carline = (itemMaster == null) ? "UNKNOWN" : itemMaster.Carline;

                var convertSkuInfo = GetSkuInfo(item);
                var lineInfos = GetLineInfo(jobInfo);

                return new RepairPalletInfo
                {
                    RULabelVerification = (carline == "RU") ? GetRULabelVerification(jobInfo.Job_ID, item.LineId) : null,
                    Carline = carline,
                    PalletId = palletId,
                    JobId = jobInfo.Job_ID,
                    LineInfos = lineInfos,
                    OrderNumber = jobInfo.Order_Nbr.Trim(),
                    SkuInfo = convertSkuInfo,
                    FinalQuestions = dbDisposition.GetFinalQuestionsResult(jobInfo.Group),
                    RepairFaults = GetRepairFaults(jobInfo, item, convertSkuInfo, lineInfos, palletId, mode, carline),
                    PalletDescription = new PalletDescription(convertSkuInfo, palletHdr.PalletNbr, jobInfo.Job_ID, jobInfo.Create_DTTM.ToString("yyyy-mm-dd h:mm:ss tt"), palletHdr.Assigned_DTTM.Value.ToString("yyy-mm-dd h:mm:ss tt")),
                };
            }
        }