Ejemplo n.º 1
0
        // Запись файлов CRS
        public void WriteCrs(string Path,
                             List <List <string> > Data,
                             string transmitNumber)
        {
            //путь к CRS
            GetPathsToTemplates ptt = new GetPathsToTemplates();
            string pathToCRS        = ptt.getPathsToTemplates()[3];

            var excel = new Application();

            excel.DisplayAlerts = false;
            Worksheet ws;
            Workbooks wbs;
            Workbook  wb;

            wbs = excel.Workbooks;
            wb  = wbs.Open(pathToCRS);
            ws  = wb.Sheets["Comment Review Sheet"];

            foreach (List <string> row in Data)
            {
                ws.Cells[7, 5]  = transmitNumber;               //transmit no
                ws.Cells[7, 9]  = DateTime.Now.ToString("d");   //date
                ws.Cells[22, 1] = row[1];                       //status
                ws.Cells[22, 2] = row[2];                       //doc No
                ws.Cells[22, 3] = row[3];                       //doc class
                ws.Cells[22, 4] = row[4];                       //doc title
                ws.Cells[22, 6] = row[5];                       //rev

                System.IO.Directory.CreateDirectory(String.Format("{0}\\CRS", Path));

                string filePath = String.Format("{0}\\CRS\\{1}", Path, row[0]);

                //if (File.Exists(filePath))
                //{
                //  File.Delete(filePath);
                //}
                wb.SaveAs(filePath);
            }

            wbs.Close();
            excel.Quit();

            Marshal.ReleaseComObject(ws);
            Marshal.ReleaseComObject(wb);
            Marshal.ReleaseComObject(wbs);
            Marshal.ReleaseComObject(excel);
        }
Ejemplo n.º 2
0
        public void GenerateParametersAndValues()
        {
            string transmitNumber = Path.Split('\\').Last();

            GetFilesInfo gf   = new GetFilesInfo();
            var          info = gf.getFiles(Path);

            DataTrm trm     = new DataTrm();
            var     dataTrm = trm.dataTrm(info, Status, Rev, Date);

            DataTrmCsv trmCsv     = new DataTrmCsv();
            var        dataTrmCsv = trmCsv.dataTrmCsv(info, transmitNumber, Status, Rev);

            DataCrs crs     = new DataCrs();
            var     dataCrs = crs.dataCrs(info, Status, Rev);

            WritterReader wr = new WritterReader();

            string pathToTRM = new GetPathsToTemplates().getPathsToTemplates()[1];
            string pathToCSV = new GetPathsToTemplates().getPathsToTemplates()[2];

            string fileName = String.Format("{0}.xlsx", transmitNumber);

            wr.Write(Path, pathToTRM, "TRM Template 08-Feb-2018",
                     8, 1,
                     dataTrm,
                     fileName,
                     transmitNumber);

            string fileCsvName = String.Format("{0}_CSV.xlsx", transmitNumber);

            wr.Write(Path, pathToCSV, "Document Load",
                     2, 1,
                     dataTrmCsv,
                     fileCsvName,
                     transmitNumber);

            wr.WriteCrs(Path, dataCrs, transmitNumber);
        }
Ejemplo n.º 3
0
        public List <List <string> > dataTrmCsv(List <FileInfo> filesInfo, string transmitNumber, string _status, string _rev)
        {
            //путь к VDR
            string pathToVDR = new GetPathsToTemplates().getPathsToTemplates()[0];

            List <List <string> > dataTrmCsv    = new List <List <string> >();
            WritterReader         writterReader = new WritterReader();
            List <List <string> > vdrCsvData    =
                writterReader.Read(pathToVDR, "VDR CSV");
            List <List <string> > vdrData = writterReader.Read(pathToVDR, "VDR");

            foreach (FileInfo fn in filesInfo)
            {
                string docTypeCode = fn.shortName.Split('-')[5];


                string docTypeCodeRu = null;
                string docTypeCodeEn = null;

                if (!docTypesDictRu.ContainsKey(docTypeCode) || !docTypesDictEn.ContainsKey(docTypeCode))
                {
                    string AlertMsg = String.Format("Неправильное наименование типа документа в имени файла:\n{0} ({1})", fn.electronicFilename, docTypeCode);
                    MessageBox.Show(AlertMsg, "Предупреждение");
                    Environment.Exit(0);
                }
                else
                {
                    docTypeCodeRu = docTypesDictRu[docTypeCode];
                    docTypeCodeEn = docTypesDictEn[docTypeCode];
                }

                List <string> vdrCsvDataRow = vdrCsvData.FirstOrDefault(x => x[0].Contains(fn.docNameForCSV));
                List <string> vdrDataRow    = vdrData.FirstOrDefault(x => x[28].Contains(fn.shortName));

                //Rev
                string Rev;
                if (_rev != null && _rev.Trim() != "")
                {
                    Rev = _rev;
                }
                else
                {
                    Rev = fn.rev;
                }

                //Status
                string Status = null;
                if (_status != null && _status.Trim() != "" && statusDict.ContainsKey(_status))
                {
                    Status = statusDict[_status];
                }
                else if (vdrDataRow != null)
                {
                    Status = statusDict[vdrDataRow[33]];
                }

                string[] sectionDescriptions = DataDictionaries.GetSectionDescriptions(fn.section);
                string   sectionRu           = sectionDescriptions[0];
                string   sectionEn           = sectionDescriptions[1];

                string docNumber  = null;
                string docTitleRu = null;
                string docTitleEn = null;

                if (fn.electronicFilename.Contains("_CKL"))
                {
                    docTitleRu    = "Контрольный перечень проверки дублирования";
                    docTitleEn    = "Duplication Review Checklist";
                    docTypeCode   = null;
                    docTypeCodeRu = null;
                    docTypeCodeEn = null;
                    Rev           = null;
                    Status        = null;
                }



                List <string> trmCsvRow = new List <string>();
                if (vdrCsvDataRow != null && vdrDataRow != null)
                {
                    if (!fn.electronicFilename.Contains("_CKL"))
                    {
                        docTitleRu = vdrDataRow[30];
                        docTitleEn = vdrDataRow[29];
                        docNumber  = vdrDataRow[27];
                    }

                    trmCsvRow.Add(null);                                  //Row Status
                    trmCsvRow.Add(docNumber);                             //doc No
                    trmCsvRow.Add(null);                                  //Vendor doc no
                    trmCsvRow.Add(docTitleRu);                            // doc title RU
                    trmCsvRow.Add(docTitleEn);                            // doc title EN
                    trmCsvRow.Add(docTypeCode);                           // doc type code
                    trmCsvRow.Add(docTypeCodeRu);                         // doc type code RU
                    trmCsvRow.Add(docTypeCodeEn);                         // doc type code EN
                    trmCsvRow.Add(vdrDataRow[40]);                        // doc date
                    trmCsvRow.Add(Rev);                                   // rev
                    trmCsvRow.Add(Status);                                // status
                    trmCsvRow.Add("CPECC");                               // originator
                    trmCsvRow.Add("0055");                                // contract number
                    trmCsvRow.Add("Joint-Stock Company\"ARMO - GROUP\""); //vendor
                    trmCsvRow.Add(vdrDataRow[35]);                        // PO NO
                    trmCsvRow.Add("4 - ГПЗ");                             // work phase
                    trmCsvRow.Add(fn.subPhase);                           // work sub-phase
                    trmCsvRow.Add(vdrCsvDataRow[1]);                      // subproject code
                    trmCsvRow.Add(vdrCsvDataRow[2]);                      // operation complex RU
                    trmCsvRow.Add(vdrCsvDataRow[3]);                      // operation complex EN
                    trmCsvRow.Add(vdrCsvDataRow[4]);                      // start complex RU
                    trmCsvRow.Add(vdrCsvDataRow[5]);                      // start complex EN
                    trmCsvRow.Add(vdrCsvDataRow[6]);                      // title object RU
                    trmCsvRow.Add(vdrCsvDataRow[7]);                      // title object EN
                    trmCsvRow.Add(vdrCsvDataRow[8]);                      // title number RU
                    trmCsvRow.Add(vdrCsvDataRow[9]);                      // title number EN
                    trmCsvRow.Add(sectionRu);                             // package name RU
                    trmCsvRow.Add(sectionEn);                             // package name EN
                    trmCsvRow.Add(null);                                  //sequence number
                    trmCsvRow.Add(vdrCsvDataRow[13]);                     // doc class code
                    trmCsvRow.Add(vdrCsvDataRow[14]);                     // discip RU
                    trmCsvRow.Add(vdrCsvDataRow[15]);                     // discip EN
                    trmCsvRow.Add(null);                                  //construction contractor
                    trmCsvRow.Add(vdrCsvDataRow[17]);                     // construction type
                    trmCsvRow.Add(fn.countSheets);                        // count of sheets
                    trmCsvRow.Add("1");                                   //sheet number
                    trmCsvRow.Add(null);                                  //number of copies
                    trmCsvRow.Add(null);                                  //ACRS
                    trmCsvRow.Add(null);                                  //status ACRS
                    trmCsvRow.Add(null);                                  //PEM
                    trmCsvRow.Add(null);                                  //equipment tag
                    trmCsvRow.Add(fn.lang);                               // language
                    trmCsvRow.Add(fn.formatPages);                        // format
                    trmCsvRow.Add(null);                                  //review code
                    trmCsvRow.Add(transmitNumber);                        // incomming transmittal N
                    trmCsvRow.Add(null);                                  //old transmittal N
                    trmCsvRow.Add("Latest");                              // doc status
                    trmCsvRow.Add("00.Holding Folder");                   //storage path
                    trmCsvRow.Add(fn.electronicFilename);                 //content
                    trmCsvRow.Add(fn.nativeStatus);                       //rendition name
                    trmCsvRow.Add(fn.nativeName);                         //rendition file
                    trmCsvRow.Add(null);                                  //link to
                    trmCsvRow.Add(null);                                  //stamped for construction
                }
                else
                {
                    trmCsvRow.Add(null);                                  //Row Status
                    trmCsvRow.Add(docNumber);                             //doc No
                    trmCsvRow.Add(null);                                  //Vendor doc no
                    trmCsvRow.Add(docTitleRu);                            // doc title RU
                    trmCsvRow.Add(docTitleEn);                            // doc title EN
                    trmCsvRow.Add(docTypeCode);                           // doc type code
                    trmCsvRow.Add(docTypeCodeRu);                         // doc type code RU
                    trmCsvRow.Add(docTypeCodeEn);                         // doc type code EN
                    trmCsvRow.Add(null);                                  // doc date
                    trmCsvRow.Add(Rev);                                   // rev
                    trmCsvRow.Add(Status);                                // status
                    trmCsvRow.Add("CPECC");                               // originator
                    trmCsvRow.Add("0055");                                // contract number
                    trmCsvRow.Add("Joint-Stock Company\"ARMO - GROUP\""); //vendor
                    trmCsvRow.Add(null);                                  // PO NO
                    trmCsvRow.Add("4 - ГПЗ");                             // work phase
                    trmCsvRow.Add(fn.subPhase);                           // work sub-phase
                    trmCsvRow.Add(null);                                  // subproject code
                    trmCsvRow.Add(null);                                  // operation complex RU
                    trmCsvRow.Add(null);                                  // operation complex EN
                    trmCsvRow.Add(null);                                  // start complex RU
                    trmCsvRow.Add(null);                                  // start complex EN
                    trmCsvRow.Add(null);                                  // title object RU
                    trmCsvRow.Add(null);                                  // title object EN
                    trmCsvRow.Add(null);                                  // title number RU
                    trmCsvRow.Add(null);                                  // title number EN
                    trmCsvRow.Add(sectionRu);                             // package name RU
                    trmCsvRow.Add(sectionEn);                             // package name EN
                    trmCsvRow.Add(null);                                  //sequence number
                    trmCsvRow.Add(null);                                  // doc class code
                    trmCsvRow.Add(null);                                  // discip RU
                    trmCsvRow.Add(null);                                  // discip EN
                    trmCsvRow.Add(null);                                  //construction contractor
                    trmCsvRow.Add(null);                                  // construction type
                    trmCsvRow.Add(fn.countSheets);                        // count of sheets
                    trmCsvRow.Add("1");                                   //sheet number
                    trmCsvRow.Add(null);                                  //number of copies
                    trmCsvRow.Add(null);                                  //ACRS
                    trmCsvRow.Add(null);                                  //status ACRS
                    trmCsvRow.Add(null);                                  //PEM
                    trmCsvRow.Add(null);                                  //equipment tag
                    trmCsvRow.Add(fn.lang);                               // language
                    trmCsvRow.Add(fn.formatPages);                        // format
                    trmCsvRow.Add(null);                                  //review code
                    trmCsvRow.Add(transmitNumber);                        // incomming transmittal N
                    trmCsvRow.Add(null);                                  //old transmittal N
                    trmCsvRow.Add("Latest");                              // doc status
                    trmCsvRow.Add("00.Holding Folder");                   //storage path
                    trmCsvRow.Add(fn.electronicFilename);                 //content
                    trmCsvRow.Add(fn.nativeStatus);                       //rendition name
                    trmCsvRow.Add(fn.nativeName);                         //rendition file
                    trmCsvRow.Add(null);                                  //link to
                    trmCsvRow.Add(null);                                  //stamped for construction
                }

                dataTrmCsv.Add(trmCsvRow);
            }

            return(dataTrmCsv);
        }
Ejemplo n.º 4
0
        public List <List <string> > dataTrm(List <FileInfo> filesInfo, string _status, string _rev, string _date)
        {
            //путь к VDR
            string pathToVDR = new GetPathsToTemplates().getPathsToTemplates()[0];

            List <List <string> > dataTrm       = new List <List <string> >();
            WritterReader         writterReader = new WritterReader();
            List <List <string> > vdrData       = writterReader.Read(pathToVDR, "VDR");



            foreach (FileInfo fn in filesInfo)
            {
                string        packageCode = fn.shortName.Split('-')[4];
                string        docTypeCode = fn.shortName.Split('-')[5];
                List <string> vdrDataRow  = vdrData.FirstOrDefault(x => x[28].Contains(fn.shortName));

                //Rev
                string Rev;
                if (_rev != null && _rev.Trim() != "")
                {
                    Rev = _rev;
                }
                else
                {
                    Rev = fn.rev;
                }

                //Status
                string Status = null;
                if (_status != null && _status.Trim() != "")
                {
                    Status = _status;
                }
                else if (vdrDataRow != null)
                {
                    Status = vdrDataRow[33];
                }

                //Date
                string Date = null;
                if (_date != null && _date.Trim() != "")
                {
                    Date = _date;
                }
                else if (vdrDataRow != null)
                {
                    Date = vdrDataRow[40];
                }

                string docNumber = null;

                if (fn.electronicFilename.Contains("_CKL"))
                {
                    docTypeCode = null;
                }


                string docTitleRu = null;
                string docTitleEn = null;

                if (fn.electronicFilename.Contains("_CKL"))
                {
                    docTitleRu = "Контрольный перечень проверки дублирования";
                    docTitleEn = "Duplication Review Checklist";
                }


                List <string> trmRow = new List <string>();
                if (vdrDataRow != null)
                {
                    if (!fn.electronicFilename.Contains("_CKL"))
                    {
                        docTitleRu = vdrDataRow[30];
                        docTitleEn = vdrDataRow[29];
                        docNumber  = vdrDataRow[27];
                    }
                    trmRow.Add(vdrDataRow[35]);        // PO NO
                    trmRow.Add(null);                  //Tag No
                    trmRow.Add(null);                  //supplier doc number
                    trmRow.Add(docNumber);             // doc No
                    trmRow.Add(fn.lang);               // language
                    trmRow.Add(docTitleRu);            // doc title RU
                    trmRow.Add(docTitleEn);            // doc title EN
                    trmRow.Add(vdrDataRow[24]);        // dics
                    trmRow.Add(packageCode);           // package Code
                    trmRow.Add(Status);                // status
                    trmRow.Add(Date);                  // doc date
                    trmRow.Add(vdrDataRow[15]);        // doc class
                    trmRow.Add(Rev);                   // rev
                    trmRow.Add(docTypeCode);           // doc type code
                    trmRow.Add(fn.countSheets);        // count of sheets
                    trmRow.Add(fn.formatPages);        // format
                    trmRow.Add(fn.fileExtension);      // file format
                    trmRow.Add(fn.electronicFilename); //filename
                }
                else
                {
                    trmRow.Add(null);                  // PO NO
                    trmRow.Add(null);                  //Tag No
                    trmRow.Add(null);                  //supplier doc number
                    trmRow.Add(docNumber);             //doc No
                    trmRow.Add(fn.lang);               // language
                    trmRow.Add(docTitleRu);            // doc title RU
                    trmRow.Add(docTitleEn);            // doc title EN
                    trmRow.Add(null);                  // dics
                    trmRow.Add(packageCode);           // package Code
                    trmRow.Add(Status);                // status
                    trmRow.Add(Date);                  // doc date
                    trmRow.Add(null);                  // doc class
                    trmRow.Add(Rev);                   // rev
                    trmRow.Add(docTypeCode);           // doc type code
                    trmRow.Add(fn.countSheets);        // count of sheets
                    trmRow.Add(fn.formatPages);        // format
                    trmRow.Add(fn.fileExtension);      // file format
                    trmRow.Add(fn.electronicFilename); //filename
                }
                dataTrm.Add(trmRow);
            }
            return(dataTrm);
        }
Ejemplo n.º 5
0
        public List <List <string> > dataCrs(List <FileInfo> filesInfo, string _status, string _rev)
        {
            List <List <string> > dataCrs       = new List <List <string> >();
            WritterReader         writterReader = new WritterReader();

            //путь к VRD
            string pathToVDR = new GetPathsToTemplates().getPathsToTemplates()[0];

            List <List <string> > vdrData = writterReader.Read(pathToVDR, "VDR");

            foreach (FileInfo fn in filesInfo)
            {
                //string excelDocName = Regex.Replace(f[0], ".pdf", "_CRS.xlsx", RegexOptions.IgnoreCase);
                string        excelDocName = String.Format("{0}_{1}_{2}_CRS.xlsx", fn.shortName, fn.rev, fn.lang);
                List <string> vdrDataRow   = vdrData.FirstOrDefault(x => x[28].Contains(fn.shortName));

                //Rev
                string Rev;
                if (_rev != null && _rev.Trim() != "")
                {
                    Rev = _rev;
                }
                else
                {
                    Rev = fn.rev;
                }

                //Status
                string Status = null;
                if (_status != null && _status.Trim() != "")
                {
                    Status = _status;
                }
                else if (vdrDataRow != null)
                {
                    Status = vdrDataRow[33];
                }

                List <string> crsRow = new List <string>();
                if (vdrDataRow != null)
                {
                    string docTitle = String.Format("{0} / {1}", vdrDataRow[30], vdrDataRow[29]);
                    crsRow.Add(excelDocName);   // excel name
                    crsRow.Add(Status);         // status
                    crsRow.Add(vdrDataRow[27]); // doc No
                    crsRow.Add(vdrDataRow[15]); // doc class
                    crsRow.Add(docTitle);       // doc title RU/EN
                    crsRow.Add(Rev);            // rev
                }
                else
                {
                    crsRow.Add(excelDocName); // excel name
                    crsRow.Add(Status);       // status
                    crsRow.Add(fn.gcDocN);    // doc No
                    crsRow.Add(null);         // doc class
                    crsRow.Add(null);         // doc title RU/EN
                    crsRow.Add(Rev);          // rev
                }
                dataCrs.Add(crsRow);
            }
            return(dataCrs);
        }