Beispiel #1
0
        public void loadF820(string path, out Dictionary <String, F820> hF820)
        {
            hF820 = new Dictionary <string, F820>();
            String[] lines = File.ReadAllLines(path);
            String   key;
            Int32    recordCount = 0;

            foreach (String item in lines)
            {
                recordCount++;
                F820 f = new F820();
                if (Array.FindAll(notValidString, x => x == item).Count() == 0)
                {
                    f   = defineF820Layout(item);
                    key = f.MntcWork;
                    if (!hF820.ContainsKey(key))
                    {
                        hF820.Add(key, f);
                    }
                    else
                    {
                        Console.WriteLine("F820 Contains" + key);
                    }
                }
            }
            Console.WriteLine("F741 Contains {0} records", recordCount);
        }
Beispiel #2
0
        private F820 defineF820Layout(String record)
        {
            F820 f820 = new F820();

            f820.MntcWork    = record.Substring(0, 3);
            f820.SubType     = record.Substring(3, 2);
            f820.Description = record.Substring(5, 60);
            f820.CycleYear   = record.Substring(65, 2);
            f820.Category    = record.Substring(67, 5);
            return(f820);
        }
Beispiel #3
0
        private void btnProcess_Click(object sender, RoutedEventArgs e)
        {
            String               workCode;
            List <F741>          f741s    = new List <F741>();
            List <F741>          outF741s = null;
            ExcelFilesProcessing xfp      = new ExcelFilesProcessing();

            foreach (ListViewItemList o in listView.Items)
            {
                XSSFWorkbook workbook = new XSSFWorkbook(OPCPackage.open(o.inFile));
                for (int sheetCount = 0; sheetCount < workbook.getNumberOfSheets(); sheetCount++)
                {
                    XSSFSheet sheet = workbook.getSheetAt(sheetCount);
                    F820      f820  = lstF820.Find(x => x.Description.Trim().Equals(sheet.getSheetName().Trim()));
                    if (f820 != null)
                    {
                        workCode = f820.MntcWork;
                    }
                    if (!sheet.getSheetName().ToUpper().Contains("ESC") &&
                        !sheet.getSheetName().ToUpper().Contains("LIFT"))
                    {
                        xfp.CritNonCritNonLiftWorks(sheet, lstF820, out outF741s);
                    }
                    if (sheet.getSheetName().ToUpper().Contains("LIFT"))
                    {
                        xfp.CritNonCritLiftWorks(sheet, lstF820, out outF741s);
                    }
                    if (sheet.getSheetName().ToUpper().Contains("ESC"))
                    {
                        xfp.CritNonCritEscalatorWorks(sheet, lstF820, out outF741s);
                    }
                    f741s.AddRange(outF741s);
                }
                workbook = null;
                WriteFiles wf = new WriteFiles();
                wf.WriteF741(f741s, txtF741.Text, pb1);
            }
        }
        public void CritNonCritEscalatorWorks(XSSFSheet sheet, List <F820> F820s, out List <F741> F741s)
        {
            F741s = new List <F741>();
            F741 f741;
            Cell cell = null;

            String[] workArray;
            foreach (Row row in sheet)
            {
                f741 = new F741();
                cell = row.getCell(2);
                if (String.IsNullOrEmpty(cell.ToString()))
                {
                    continue;
                }
                f741.BldngGl = cell.ToString().Trim();
                cell         = row.getCell(9); //Last Done Date
                lastDone     = cell.ToString().Trim();

                DateTime.TryParse(lastDone, out result);
                if (result == null)
                {
                    lastDone = "000101";
                }
                else
                {
                    if ((!lastDone.Equals("/") && !String.IsNullOrEmpty(lastDone)) &&
                        result.Year.ToString("0000") == "0001")
                    {
                        continue;
                    }
                    lastDone = result.Year.ToString("0000") + result.Month.ToString("00");
                }
                f741.WorkStatus = "A";
                if (lastDone.Equals("000101"))
                {
                    f741.WorkStatus = "Q";
                }
                f741.LastDone = lastDone;
                cell          = row.getCell(13); //Text Remarks
                if (String.IsNullOrEmpty(cell.ToString()))
                {
                    f741.TextRemarks = String.Empty;
                }
                else
                {
                    if (cell.ToString().Trim().Length >= 118)
                    {
                        f741.TextRemarks = cell.ToString().Trim().Substring(0, 115);
                    }
                    else
                    {
                        f741.TextRemarks = cell.ToString().Trim();
                    }
                }
                cell      = row.getCell(8); //ESC - Work
                workArray = cell.ToString().Split(new char[] { '-' });
                label     = workArray[0].ToString().Substring(5, 2);
                works     = "ESC - " + workArray[1].ToString().Trim();

                cell = row.getCell(14); //Last Date Inspect
                if (!String.IsNullOrEmpty(cell.ToString()))
                {
                    dateInspect = cell.ToString().Trim();
                    DateTime.TryParse(dateInspect, out result);
                    if (result == null)
                    {
                        dateInspect = "";
                    }
                    else
                    {
                        dateInspect = result.Year.ToString("0000") + result.Month.ToString("00");
                    }
                }
                else
                {
                    dateInspect = "";
                }
                f741.LastDateInspect = dateInspect;

                F820 f820 = F820s.Find(x => x.Description.Trim().Equals(works));
                workCode         = f820.MntcWork;
                f741.MntcWork    = workCode;
                f741.MntcLabel   = label;
                f741.LastHistory = "";
                f741.NextPlan    = "";
                F741s.Add(f741);
                //Test
            }
        }
Beispiel #5
0
        private void btnProcess_Click(object sender, RoutedEventArgs e)
        {
            if (lstOldF741.Count == 0 ||
                lstF820.Count == 0 ||
                lstNewF741.Count == 0 ||
                lstTurnOnDate.Count == 0)
            {
                MessageBox.Show("Please load input files.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            gbProgrss.Visibility = Visibility.Visible;
            pb1.Maximum          = lstOldF741.Count;
            Object        countLock = new Object();
            String        key;
            F741          outF741 = null, newF741;
            List <F741>   lstOutputF741 = new List <F741>();
            List <F741>   lstWriteF741  = new List <F741>();
            Int32         tmpNextSched;
            List <String> liftWorks = new List <String> {
                "10A", "100", "101", "102", "103",
                "104", "105", "106", "109", "110", "111"
            };
            String keyTurnedOn = "";

            foreach (F741 f741 in lstOldF741)
            {
                ExcelUtilities.App.DoEvents();

                //pb1.Dispatcher.Invoke(DispatcherPriority.Normal,
                //     new Action(() =>
                //     {
                //         ExcelUtilities.App.DoEvents();
                //         pb1.Value++;
                //         gbProgrss.Header = String.Format("Processing {0} of {1}", pb1.Value, pb1.Maximum);
                //     }));
                //ExcelUtilities.App.DoEvents();
                pb1.Value++;
                gbProgrss.Header = String.Format("Processing {0} of {1}", pb1.Value, pb1.Maximum);
                key = f741.BldngGl + f741.MntcWork + f741.MntcLabel;
                F741 value;

                if (hNewF741.TryGetValue(key, out value))
                {
                    newF741 = value;
                }
                else
                {
                    newF741 = null;
                }

                if (newF741 != null)
                {
                    if (liftWorks.Contains(newF741.MntcWork))
                    {
                        keyTurnedOn = f741.BldngGl + f741.MntcLabel;
                        outF741     = activateLift(keyTurnedOn, f741, newF741);
                        //Lift
                    }
                    else
                    {
                        //Non Lift
                        if (!f741.LastDone.Trim().Equals(""))
                        {
                            if (f741.LastDone.Trim().Equals(""))
                            {
                                f741.LastDone = "000101";
                            }
                            if (Int32.Parse(newF741.LastDone.Substring(0, 4)) >= Int32.Parse(f741.LastDone.Substring(0, 4)))
                            {
                                if (newF741.LastDone == "000101")
                                {
                                    outF741            = newF741;
                                    outF741.WorkStatus = "Q";
                                }
                                else
                                {
                                    outF741 = newF741;
                                    F820 f820 = lstF820.Find(x => x.MntcWork == outF741.MntcWork);
                                    tmpNextSched = Int32.Parse(newF741.LastDone) +
                                                   (Int32.Parse(f820.CycleYear) * 100);
                                    outF741.LastHistory = f741.LastDone.ToString();
                                    outF741.NextPlan    = tmpNextSched.ToString("000000");
                                }
                            }
                            else if (newF741.LastDone == "000101")
                            {
                                outF741            = newF741;
                                outF741.WorkStatus = "Q";
                            }
                            else if (Int32.Parse(newF741.LastDone.Substring(0, 4)) <= Int32.Parse(f741.LastDone.Substring(0, 4)))
                            {
                                outF741 = newF741;
                                outF741.LastDateInspect = "      ";
                            }
                        }
                        else
                        {
                            outF741 = f741;
                            outF741.LastDateInspect = "";
                        }
                    }
                }
                else
                {
                    outF741 = f741;
                    outF741.LastDateInspect = "      ";
                }
                lstOutputF741.Add(outF741);
            }

            maxBatteryDate(lstOutputF741, out lstWriteF741);
            WriteFiles writeFiles = new WriteFiles();

            writeFiles.WriteF741(lstWriteF741, txtOutput.Text, pb1);
        }
Beispiel #6
0
        private F741 activateLift(String key, F741 f741, F741 newF741)
        {
            F741   liftF741 = new F741();
            F741   value;
            F741   f7, f7Old;
            Int32  tmpSched   = 0;
            String keyOldF741 = f741.BldngGl + "10A" + f741.MntcLabel;

            if (hTurnOnDate.TryGetValue(key, out value))
            {
                f7 = value;
            }
            else
            {
                f7 = null;
            }
            if (hOldF741.TryGetValue(keyOldF741, out value))
            {
                f7Old = value;
            }
            else
            {
                f7Old = null;
            }

            if (f7 == null)
            {
                if (newF741.LastDone.Trim().Equals("000101") && !(newF741.MntcWork.Trim().Equals("104")))
                {
                    liftF741             = newF741;
                    liftF741.LastHistory = f741.LastDone;
                    liftF741.WorkStatus  = "Q";
                }
                else if (Int32.Parse(newF741.LastDone.Substring(0, 4)) > Int32.Parse(f741.LastDone.Substring(0, 4)))
                {
                    if (Int32.Parse(newF741.LastDone.Substring(0, 6)) > Int32.Parse(dtpUpdate.Text))
                    {
                        liftF741 = f741;
                    }
                    else
                    {
                        liftF741 = newF741;
                        F820 f820 = lstF820.Find(f8 => f8.MntcWork == liftF741.MntcWork);
                        tmpSched             = Int32.Parse(newF741.LastDone) + (Int32.Parse(f820.CycleYear) * 100);
                        liftF741.LastHistory = f741.LastDone.ToString();
                        liftF741.NextPlan    = tmpSched.ToString("000000");
                    }
                }
                else
                {
                    liftF741 = f741;
                }
            }
            else if (f7 != null && f7Old == null)
            {
                liftF741 = f741;
            }
            else if (f7 != null && f7Old != null)
            {
                if (!f7.LastDone.Trim().Equals("000101"))
                {
                    if (newF741.LastDone.Trim().Equals("000101") && !newF741.LastDone.Trim().Equals("104"))
                    {
                        liftF741             = newF741;
                        liftF741.LastHistory = f741.LastDone;
                        liftF741.WorkStatus  = "Q";
                    }
                    else if (Int32.Parse(f7.LastDone.Substring(0, 4)) > Int32.Parse(f741.LastDone.Substring(0, 4)))
                    {
                        if (Int32.Parse(f7.LastDone.Substring(0, 6)) > Int32.Parse(dtpUpdate.Text))
                        {
                            liftF741 = f741;
                        }
                        else
                        {
                            liftF741             = new F741();
                            liftF741.BldngGl     = f7.BldngGl;
                            liftF741.WorkStatus  = "A";
                            liftF741.TextRemarks = f7.TextRemarks;
                            liftF741.MntcLabel   = f7.MntcLabel;
                            liftF741.MntcWork    = f7.MntcWork;
                            F820 f820 = lstF820.Find(f8 => f8.MntcWork == liftF741.MntcWork);
                            tmpSched             = Int32.Parse(f7.LastDone) + (Int32.Parse(f820.CycleYear) * 100);
                            liftF741.LastDone    = f7.LastDone;
                            liftF741.LastHistory = f741.LastDone.ToString();
                            liftF741.NextPlan    = tmpSched.ToString("000000");
                        }
                    }
                    else if (Int32.Parse(newF741.LastDone.Substring(0, 4)) > Int32.Parse(f741.LastDone.Substring(0, 4)))
                    {
                        if (Int32.Parse(newF741.LastDone.Substring(0, 6)) > Int32.Parse(dtpUpdate.Text))
                        {
                            liftF741 = f741;
                        }
                        else
                        {
                            liftF741 = newF741;
                            F820 f820 = lstF820.Find(f8 => f8.MntcWork == liftF741.MntcWork);
                            tmpSched             = Int32.Parse(newF741.LastDone) + (Int32.Parse(f820.CycleYear) * 100);
                            liftF741.LastHistory = f741.LastDone.ToString();
                            liftF741.NextPlan    = tmpSched.ToString("000000");
                        }
                    }
                }
                else
                {
                    liftF741 = newF741;
                }
            }
            return(liftF741);
        }