const express = require('express'); const router = express.Router(); // Bring in article module //let Tool = require('../models/tool') let Article = require('../models/article'); let KifCert = require('../models/kifcerts'); var logging=require('../js/helpers'); // User Model let User = require('../models/user'); var utils = require('../js/utils'); const path = require('path'); var vfeszOptions = [ {value: '1,89', text: '1,89'}, {value: '2,5', text: '2,5'}, {value: '10', text: '10'}, {value: '20', text: '20'}, {value: '28', text: '28'}, {value: '50', text: '50'} ]; var minositesOptions = [ {value: 'valid', text: 'Megfelelt'}, {value: 'not valid', text: 'Nem felelt meg'}, ]; var muszerek = [ "METRA HIT Digitális műszer gysz: 748818:", "SMA 2101 Lakatfogó gysz: 150302385", "MX -25306 Digitális műszer gysz: 00059080", "SMA MY 64 Digitális műszer gysz: 1500500489", "MS2101 Digitális műszer gysz: 070400128", "TESTBOY TV325 Digitális Hőmérő gysz: CO610071011", "Vanguard DMOM-200 Átmeneti ell. mérő gysz: 64174", "K-L 50 Nagyfeszültségű átütés vizsgáló gysz: 2014/", "MeggerProgramma SVERKER 780 áramnyomató gysz", "METREL Terra ohm Szigetelés vizsgáló gysz: 0849142", "METREL EUROTEST 61557 gysz: 08510155", "Megger VLF SIN-45 gysz: 12675050001" ]; function bodyToModelNew(req) { var kofmb=new KifCert(); kofmb.jkvTitle = req.body.jkvtitle; kofmb.deviceId=req.params.id; kofmb.certType='KOFTR'; kofmb.megnevezes=req.body.megnevezes; kofmb.mennyiseg=req.body.mennyiseg; kofmb.mennyisegegyseg=req.body.mennyisegegyseg; kofmb.gyariszam=req.body.gyartasiszam; kofmb.rajzszam=req.body.rajzszam; kofmb.vedettseg=req.body.vedettseg; kofmb.tipus=req.body.tipus; kofmb.egyebazonosito=req.body.egyebazonosito; kofmb.feszUe=req.body.ueff; kofmb.feszEgyseg=req.body.fesz; kofmb.aramIe=req.body.ieff; kofmb.megrendelo=req.body.megrendelo; kofmb.vizsgfesz=req.body.vizsgfesz; kofmb.vizsgfesz22=req.body.vizsgfesz22; kofmb.megjegyzes=req.body.megjegyzes; kofmb.minosites=req.body.minositestxt; kofmb.munkaszam=req.body.munkaszam; if (req.body.minositescbo==='valid') { kofmb.vegeredmeny=true; } else { kofmb.vegeredmeny=false; } kofmb.szabvanyok[0]=req.body.msz1 ? true : false; kofmb.szabvanyok[1]=req.body.msz2 ? true : false; kofmb.szabvanyok[2]=req.body.msz3 ? true : false; kofmb.vizsgalat1[0]=req.body.chk11 ? true : false; kofmb.vizsgalat1[1]=req.body.chk12 ? true : false; kofmb.vizsgalat1[2]=req.body.chk13 ? true : false; kofmb.vizsgalat1[3]=req.body.chk14 ? true : false; kofmb.vizsgalat1[4]=req.body.chk15 ? true : false; kofmb.vizsgalat1[5]=req.body.chk16 ? true : false; kofmb.vizsgalat1[6]=req.body.chk17 ? true : false; kofmb.vizsgalat1[7]=req.body.chk18 ? true : false; kofmb.vizsgalat1[8]=req.body.chk19 ? true : false; kofmb.vizsgalat2[0]=req.body.chk21 ? true : false; kofmb.vizsgalat2[1]=req.body.chk22 ? true : false; kofmb.vizsgalat3[0]=req.body.chk31 ? true : false; kofmb.vizsgalat3[1]=req.body.chk32 ? true : false; kofmb.vizsgalat3[2]=req.body.chk33 ? true : false; kofmb.vizsgalat4[0]=req.body.chk411 ? true : false; kofmb.vizsgalat4[1]=req.body.chk412 ? true : false; kofmb.vizsgalat4[2]=req.body.chk421 ? true : false; kofmb.vizsgalat4[3]=req.body.chk422 ? true : false; kofmb.vizsgalat5[0]=req.body.chk51 ? true : false; kofmb.vizsgalat5[1]=req.body.chk52 ? true : false; kofmb.vizsgalat6[0]=req.body.chk61 ? true : false; kofmb.vizsgalat8[0]=req.body.chk81 ? true : false; kofmb.vizsgalat8[1]=req.body.chk82 ? true : false; kofmb.vizsgalat8[2]=req.body.chk83 ? true : false; kofmb.vizsgalat8[3]=req.body.chk84 ? true : false; kofmb.vizsgalat8[4]=req.body.chk85 ? true : false; kofmb.vizsgalat8[5]=req.body.chk86 ? true : false; kofmb.vizsgalat8[6]=req.body.chk87 ? true : false; kofmb.vizsgalat8[7]=req.body.chk88 ? true : false; kofmb.vizsgalat8[8]=req.body.chk89 ? true : false; kofmb.vizsgalat8[9]=req.body.chk90 ? true : false; kofmb.vizsgalat8[10]=req.body.chk91 ? true : false; kofmb.vizsgalat8[11]=req.body.chk92 ? true : false; kofmb.vizsgalat8[12]=req.body.chk93 ? true : false; kofmb.vizsgalat8[13]=req.body.chk94 ? true : false; kofmb.vizsgalat8[14]=req.body.chk95 ? true : false; return kofmb; } function bodyToModelUpdate(req) { let kofmb={}; kofmb.jkvTitle = req.body.jkvtitle; //kofmb.deviceId=req.params.id; kofmb.certType='KOFTR'; kofmb.megnevezes=req.body.megnevezes; kofmb.mennyiseg=req.body.mennyiseg; kofmb.mennyisegegyseg=req.body.mennyisegegyseg; kofmb.gyariszam=req.body.gyartasiszam; kofmb.rajzszam=req.body.rajzszam; kofmb.vedettseg=req.body.vedettseg; kofmb.tipus=req.body.tipus; kofmb.egyebazonosito=req.body.egyebazonosito; kofmb.feszUe=req.body.ueff; //kofmb.feszEgyseg=req.body.fesz; kofmb.aramIe=req.body.ieff; kofmb.megrendelo=req.body.megrendelo; kofmb.vizsgfesz=req.body.vizsgfesz; kofmb.megjegyzes=req.body.megjegyzes; kofmb.minosites=req.body.minositestxt; kofmb.munkaszam=req.body.munkaszam; if (req.body.minositescbo==='valid') { kofmb.vegeredmeny=true; } else { kofmb.vegeredmeny=false; } var szv=[req.body.msz1 ? true : false,req.body.msz2 ? true : false,req.body.msz3 ? true : false]; kofmb.szabvanyok=szv; var v1=[ req.body.chk11 ? true : false, req.body.chk12 ? true : false, req.body.chk13 ? true : false, req.body.chk14 ? true : false, req.body.chk15 ? true : false, req.body.chk16 ? true : false, req.body.chk17 ? true : false, req.body.chk18 ? true : false, req.body.chk19 ? true : false]; kofmb.vizsgalat1=v1; var v2=[req.body.chk21 ? true : false,req.body.chk22 ? true : false]; kofmb.vizsgalat2=v2; var v3=[req.body.chk31 ? true : false,req.body.chk32 ? true : false, req.body.chk33 ? true : false]; kofmb.vizsgalat3=v3; var v4=[ req.body.chk411 ? true : false, req.body.chk412 ? true : false, req.body.chk421 ? true : false, req.body.chk422 ? true : false]; kofmb.vizsgalat4=v4; var v5=[req.body.chk51 ? true : false,req.body.chk52 ? true : false]; kofmb.vizsgalat5=v5 var v6=[req.body.chk61 ? true : false]; kofmb.vizsgalat6=v6; var v8=[ req.body.chk81 ? true : false, req.body.chk82 ? true : false, req.body.chk83 ? true : false, req.body.chk84 ? true : false, req.body.chk85 ? true : false, req.body.chk86 ? true : false, req.body.chk87 ? true : false, req.body.chk88 ? true : false, req.body.chk89 ? true : false, req.body.chk90 ? true : false, req.body.chk91 ? true : false, req.body.chk92 ? true : false, req.body.chk93 ? true : false, req.body.chk94 ? true : false, req.body.chk95 ? true : false]; kofmb.vizsgalat8=v8; return kofmb; } // Bizonylatok lekérdezése KOFCERT TR router.get('/kofcert/:id', utils.ensureAuthenticated,function (req,res) { var t='Transzformátor állomás nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Transzformátor állomás nyilatkozata (egyéni)'; } else { KifCert.findById(req.params.id,function(err,cert) { if (err) { console.log(err); } else { console.log(cert.title); res.render('kofcert_tr', { view: 'modify', dev: 'TR', certId: cert.id, vfeszOptions: vfeszOptions, vfeszOptions22: vfeszOptions, minositesOptions: minositesOptions, title: t, vjkvtitle: cert.jkvTitle, articleId: cert.deviceId, vmegnevezes: cert.megnevezes, vmennyiseg: cert.mennyiseg, vgyartasiszam: cert.gyariszam, vmunkaszam: cert.munkaszam, vmennyisegegyseg: cert.mennyisegegyseg, vrajzszam: cert.rajzszam, vvedettseg: cert.vedettseg, vtipus: cert.tipus, vegyebazonosito: cert.egyebazonosito, vueff: cert.feszUe, vfesz: cert.feszEgyseg, vieff: cert.aramIe, vmegrendelo: cert.megrendelo, vmsz1: cert.szabvanyok[0], vmsz2: cert.szabvanyok[1], vmsz3: cert.szabvanyok[2], vchk11: cert.vizsgalat1[0], vchk12: cert.vizsgalat1[1], vchk13: cert.vizsgalat1[2], vchk14: cert.vizsgalat1[3], vchk15: cert.vizsgalat1[4], vchk16: cert.vizsgalat1[5], vchk17: cert.vizsgalat1[6], vchk18: cert.vizsgalat1[7], vchk19: cert.vizsgalat1[8], vchk21: cert.vizsgalat2[0], vchk22: cert.vizsgalat2[1], vchk30: cert.vizsgalat3[0], vvizsgfesz22: cert.vizsgfesz22, vvizsgfesz: cert.vizsgfesz, vchk31: cert.vizsgalat3[1], vchk411: cert.vizsgalat4[0], vchk412: cert.vizsgalat4[1], vchk421: cert.vizsgalat4[2], vchk422: cert.vizsgalat4[3], vchk51: cert.vizsgalat5[0], vchk52: cert.vizsgalat5[1], vchk61: cert.vizsgalat6[0], vmegjegyzes: cert.megjegyzes, vchk81: cert.vizsgalat8[0], vchk82: cert.vizsgalat8[1], vchk83: cert.vizsgalat8[2], vchk84: cert.vizsgalat8[3], vchk85: cert.vizsgalat8[4], vchk86: cert.vizsgalat8[5], vchk87: cert.vizsgalat8[6], vchk88: cert.vizsgalat8[7], vchk89: cert.vizsgalat8[8], vchk90: cert.vizsgalat8[9], vchk91: cert.vizsgalat8[10], vchk92: cert.vizsgalat8[11], vchk93: cert.vizsgalat8[12], vchk94: cert.vizsgalat8[13], vchk95: cert.vizsgalat8[14], vminosites: cert.minosites, minositescbo: cert.vegeredmeny }); } }); } }); // Bizonylatok KOFCERT TR router.get('/kofcertnew/:id', utils.ensureAuthenticated,function (req,res) { var chkVal={}; var IchkVal={}; var IIchkVal={}; var IIchkVal={}; var IIIchkVal={}; var IVchkVal={}; var VchkVal={}; var VIchkVal={}; var VIIIchkVal={}; // Set default settings chkVal[0]='checked'; chkVal[1]='checked'; IVchkVal[2]='checked'; VIIIchkVal[0]='checked'; VIIIchkVal[5]='checked'; VIIIchkVal[10]='checked'; VIIIchkVal[11]='checked'; VIIIchkVal[12]='checked'; VIIIchkVal[13]='checked'; var t='Transzformátor állomás nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Transzformátor állomás nyilatkozata (egyéni)'; } else { Article.findById(req.params.id,function(err,article) { if (err) { console.log(err); } else { console.log(article.title); res.render('kofcert_tr', { view: 'new', dev: 'TR', vfeszOptions: vfeszOptions, vfeszOptions22: vfeszOptions, minositesOptions: minositesOptions, title: t, articleId: article.id, vmegnevezes: article.title, vmennyiseg: 1, vminosites: 'Ezen vizsgálat alkalmával hiányosságok nem voltak.', vgyartasiszam: article.deviceNumber, vmunkaszam: article.workNumber, vmennyisegegyseg: 'db', vrajzszam: '', vvedettseg: 'IP55', vtipus: 'KOFTR', vegyebazonosito: article.workSign, vvizsgfesz: '10', vvizsgfesz22: '50', vueff: '20', vfesz: 'kV', vieff: '630', vmegrendelo: '', vmsz1: chkVal[0], vmsz2: chkVal[1], vmsz3: chkVal[2], vchk11: IchkVal[0], vchk12: IchkVal[1], vchk13: IchkVal[2], vchk14: IchkVal[3], vchk15: IchkVal[4], vchk16: IchkVal[5], vchk17: IchkVal[6], vchk18: IchkVal[7], vchk19: IchkVal[8], vchk21: IIchkVal[0], vchk22: IIchkVal[1], vchk30: IIIchkVal[0], // vvizsgfesz: '2,5', vchk31: IIIchkVal[1], vchk411: IVchkVal[0], vchk412: IVchkVal[1], vchk421: IVchkVal[2], vchk422: IVchkVal[3], vchk51: VchkVal[0], vchk52: VchkVal[1], vchk61: VIchkVal[0], vmegjegyzes: 'Az önműködő villamos védelmi eszközök beállítását a berendezés beüzemelésekor kell elvégezni. Az egyéb berendezésekre ezen dokumentum helyett a saját gyártóműi vizsgálatok érvényesek.', vchk81: VIIIchkVal[0], vchk82: VIIIchkVal[1], vchk83: VIIIchkVal[2], vchk84: VIIIchkVal[3], vchk85: VIIIchkVal[4], vchk86: VIIIchkVal[5], vchk87: VIIIchkVal[6], vchk88: VIIIchkVal[7], vchk89: VIIIchkVal[8], vchk90: VIIIchkVal[9], vchk91: VIIIchkVal[10], vchk92: VIIIchkVal[11], vchk93: VIIIchkVal[12], vchk94: VIIIchkVal[13], vchk95: VIIIchkVal[14] }); } }); } }); // Bizonylatok KIFCE generálás // KoF Bizonylat Módosítás és mentés router.post('/kofceupdate/:id', utils.ensureAuthenticated,function (req,res) { req.checkBody('jkvtitle','Jegyzőkönyv megnevezése kötelező!').notEmpty(); req.checkBody('megnevezes','Megnevezés kötelező!').notEmpty(); req.checkBody('mennyiseg','Mennyiség megadása kötelező!').notEmpty(); req.checkBody('gyartasiszam','Berendezés gyártási szám kötelező!').notEmpty(); req.checkBody('rajzszam','Berendezés jel megadása kötelező!').notEmpty(); req.checkBody('vedettseg','Védettség megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kofcert_tr', { title: 'Transzformátor állomás nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: req.body.munkaszam, vrajzszam: req.body.rajzszam, vedettseg: req.body.vedettseg }); } else { var dt = new Date(); var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, ''); let query = {_id:req.params.id} console.log('Update!'+req.params.id); // CERT var kofmb = bodyToModelUpdate(req); KifCert.update(query, kofmb, function(err){ if(err){ console.log(err); return; }else{ console.log('Jegyzőkönyv Módosítva! '); } }); var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10); const PizZip = require("pizzip"); //var JSZip = require('jszip'); var Docxtemplater = require('docxtemplater'); var fs = require('fs'); var path = require('path'); //Load the docx file as a binary var content = fs .readFileSync(__dirname+'/../docs/templates/kof/tr/kof_tr_ce_template.docx', 'binary'); //var zip = new JSZip(content); const zip = new PizZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); console.log(req.params.id); KifCert.findById(req.params.id, function(err,kofmb){ //set the templateVariables var gyev=kofmb.gyariszam.substring(0,4); if (err) { console.log(err); } else { //console.log('Megvan!'); doc.setData({ device_name: kofmb.megnevezes, mennyiseg: kofmb.mennyiseg, mennyisegiegyseg: kofmb.mennyisegegyseg, gyartasiszam: kofmb.gyariszam, munkaszam: kofmb.munkaszam, gyartasiev: gyev, rajzszam: kofmb.rajzszam, egyebazonosito: kofmb.egyebazonosito, author: kofmb.author, datum: deviceDate, feszeff: kofmb.feszUe+kofmb.feszEgyseg, arameff: kofmb.aramIe+'A', vedettseg: kofmb.vedettseg, serial: kofmb.gyariszam }); } try { // render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...) console.log('Generálás kész!'); doc.render(); } catch (error) { var e = { message: error.message, name: error.name, stack: error.stack, properties: error.properties, } console.log(JSON.stringify({error: e})); // The error thrown here contains additional information when logged with JSON.stringify (it contains a property object). throw error; } var buf = doc.getZip() .generate({type: 'nodebuffer'}); logging.logAppend("Jegyzőkönyv módosítva.",req.user,kofmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kofmbce.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kofmbce.docx'),'köf_TR_CE_megfelelőségi.docx'); }); } }); // Bizonylatok KoFEU generálás router.post('/kofeuupdate/:id', utils.ensureAuthenticated,function (req,res) { req.checkBody('jkvtitle','Jegyzőkönyv megnevezése kötelező!').notEmpty(); req.checkBody('megnevezes','Megnevezés kötelező!').notEmpty(); req.checkBody('mennyiseg','Mennyiség megadása kötelező!').notEmpty(); req.checkBody('gyartasiszam','Berendezés gyártási szám kötelező!').notEmpty(); req.checkBody('rajzszam','Berendezés jel megadása kötelező!').notEmpty(); req.checkBody('vedettseg','Védettség megadása kötelező!').notEmpty(); req.checkBody('tipus','Védettség megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kofcert_tr', { title: 'Transzformátor állomás nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: kofmb.munkaszam, vrajzszam: req.body.rajzszam, vedettseg: req.body.vedettseg, tipus: req.body.tipus }); } else { console.log('Generálás!'); var dt = new Date(); var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, ''); let query = {_id:req.params.id} console.log('Update!'+req.params.id); // CERT var kofmb = bodyToModelUpdate(req); KifCert.update(query, kofmb, function(err){ if(err){ console.log(err); return; }else{ console.log('Jegyzőkönyv Módosítva! '); } }); var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10); //var JSZip = require('jszip'); const PizZip = require("pizzip"); var Docxtemplater = require('docxtemplater'); var fs = require('fs'); var path = require('path'); //Load the docx file as a binary var content = fs .readFileSync(__dirname+'/../docs/templates/kof/tr/kof_tr_eu_template.docx', 'binary'); var zip = new PizZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kofmb){ //set the templateVariables doc.setData({ tipus: kofmb.tipus, gyartasiszam: kofmb.gyariszam, munkaszam: kofmb.munkaszam, author: kofmb.author, datum: deviceDate, }); try { // render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...) console.log('Generálás kész!'); doc.render(); } catch (error) { var e = { message: error.message, name: error.name, stack: error.stack, properties: error.properties, } console.log(JSON.stringify({error: e})); // The error thrown here contains additional information when logged with JSON.stringify (it contains a property object). throw error; } var buf = doc.getZip() .generate({type: 'nodebuffer'}); logging.logAppend("Jegyzőkönyv módosítva.",req.user,kofmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kofmbeu.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kofmbeu.docx'),'kof_TR_EU_megfelelőségi.docx'); }); } }); // KoF mérőlap update router.post('/kofmerolapupdate/:id', utils.ensureAuthenticated,function (req,res) { req.checkBody('jkvtitle','Jegyzőkönyv megnevezése kötelező!').notEmpty(); req.checkBody('megnevezes','Megnevezés kötelező!').notEmpty(); req.checkBody('mennyiseg','Mennyiség megadása kötelező!').notEmpty(); req.checkBody('gyartasiszam','Berendezés gyártási szám kötelező!').notEmpty(); req.checkBody('rajzszam','Berendezés jel megadása kötelező!').notEmpty(); req.checkBody('vedettseg','Védettség megadása kötelező!').notEmpty(); req.checkBody('tipus','Védettség megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kofcert_tr', { title: 'Transzformátor állomás nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vmunkaszam: kofmb.munkaszam, vgyartasiszam: req.body.gyartasiszam, vrajzszam: req.body.rajzszam, vedettseg: req.body.vedettseg, tipus: req.body.tipus }); } else { console.log('Generálás!'); var dt = new Date(); var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, ''); let query = {_id:req.params.id} console.log('Update!'+req.params.id); // CERT var kofmb = bodyToModelUpdate(req); KifCert.update(query, kofmb, function(err){ if(err){ console.log(err); return; }else{ console.log('Jegyzőkönyv Módosítva! '); } }); var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10); //var JSZip = require('jszip'); const PizZip = require("pizzip"); var Docxtemplater = require('docxtemplater'); var fs = require('fs'); var path = require('path'); //Load the docx file as a binary var content = fs .readFileSync(__dirname+'/../docs/templates/kof/tr/kof_tr_merolaptemplate.docx', 'binary'); var zip = new PizZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kofmb){ //set the templateVariables var eredmeny; if(kofmb.vegeredmeny==true) eredmeny='Megfelelt'; else eredmeny='Nem felelt meg'; var szabvanyok=''; if (kofmb.szabvanyok[0]==true) szabvanyok+='MSZ EN 61439 '; if (kofmb.szabvanyok[1]==true) szabvanyok+='MSZ EN 62271-202 '; if (kofmb.szabvanyok[2]==true) szabvanyok+='MSZ EN 60947 '; var p1=[]; kofmb.vizsgalat1.forEach(element => { if (element==true) p1.push('megfelelt'); else p1.push('nem felelt meg'); }); var p2=[]; kofmb.vizsgalat2.forEach(element => { if (element==true) p2.push('megfelelt'); else p2.push('nem felelt meg'); }); var p3=[]; kofmb.vizsgalat3.forEach(element => { if (element==true) p3.push('megfelelt'); else p3.push('nem felelt meg'); }); var p4=[]; if (kofmb.vizsgalat4[0]==false && kofmb.vizsgalat4[1]==false) { p4.push('csengetéssel / villamos működtetéssel:'); p4.push('nem alkalmazható'); }else{ if (kofmb.vizsgalat4[0]==true) p4.push('csengetéssel'); else p4.push(' '); if (kofmb.vizsgalat4[1]==true) p4.push('villamos működtetéssel'); else p4.push(' '); } if (kofmb.vizsgalat4[2]==false && kofmb.vizsgalat4[3]==false) { p4.push('primer / szekunder oldali nyomatással:'); p4.push('nem alkalmazható'); }else{ if (kofmb.vizsgalat4[2]==true) p4.push('primer oldali nyomatással'); else p4.push(' '); if (kofmb.vizsgalat4[3]==true) p4.push('szekunder oldali nyomatással'); else p4.push(' '); } var p5=[]; kofmb.vizsgalat5.forEach(element => { if (element==true) p5.push('megfelelt'); else p5.push('nem felelt meg'); }); var p6=[]; kofmb.vizsgalat6.forEach(element => { if (element==true) p6.push('megfelelt'); else p6.push('nem felelt meg'); }); var p8=[' ',' ',' ',' ',' ',' ',' ']; var i=0; kofmb.vizsgalat8.forEach(element => { if (element==true) { if (i<6) { p8[i]=muszerek[i]; i++; } } }); doc.setData({ tipus: kofmb.tipus, mennyiseg: kofmb.mennyiseg, mennyisegegyseg: kofmb.mennyisegegyseg, gyartasiszam: kofmb.gyariszam, msz: kofmb.munkaszam, author: kofmb.author, datum: deviceDate, bizonylatszam: kofmb.gyariszam, rsz: kofmb.rajzszam, megrendelo: kofmb.megrendelo, szabvanyok: szabvanyok, vizsgfesz: kofmb.vizsgfesz, megjegyzes: kofmb.megjegyzes, minosites: kofmb.minosites, eredmeny: eredmeny, berendezesnev: kofmb.megnevezes, p11: p1[0], p12: p1[1], p13: p1[2], p14: p1[3], p15: p1[4], p16: p1[5], p17: p1[6], p18: p1[7], p19: p1[8], p21: p2[0], p22: p2[1], p31: p3[0], p32: p3[1], p33: p3[2], csengetessel: p4[0], villamosmukodtetessel: p4[1], nyomatasprimer: p4[2], nyomatasszekunder: p4[3], p51: p5[0], p61: p6[0], p81: p8[0], p82: p8[1], p83: p8[2], p84: p8[3], p85: p8[4], p86: p8[5], }); try { // render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...) console.log('Generálás kész!'); doc.render(); } catch (error) { var e = { message: error.message, name: error.name, stack: error.stack, properties: error.properties, } console.log(JSON.stringify({error: e})); // The error thrown here contains additional information when logged with JSON.stringify (it contains a property object). throw error; } var buf = doc.getZip() .generate({type: 'nodebuffer'}); logging.logAppend("Jegyzőkönyv módosítva.",req.user,kofmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kofmerolap.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kofmerolap.docx'),'kof_mérőlapTR.docx'); }); } }); router.post('/kofkkupdate/:id', utils.ensureAuthenticated,function (req,res) { req.checkBody('jkvtitle','Jegyzőkönyv megnevezése kötelező!').notEmpty(); req.checkBody('megnevezes','Megnevezés kötelező!').notEmpty(); req.checkBody('mennyiseg','Mennyiség megadása kötelező!').notEmpty(); req.checkBody('gyartasiszam','Berendezés gyártási szám kötelező!').notEmpty(); req.checkBody('rajzszam','Berendezés jel megadása kötelező!').notEmpty(); req.checkBody('vedettseg','Védettség megadása kötelező!').notEmpty(); req.checkBody('tipus','Védettség megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kofcert_tr', { title: 'Transzformátor állomás nyilatkozata', errors:errors, vjkvtitle: req.body.jkvtitle, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: kofmb.munkaszam, vrajzszam: req.body.rajzszam, vedettseg: req.body.vedettseg, tipus: req.body.tipus }); } else { console.log('Generálás!'); var dt = new Date(); var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, ''); let query = {_id:req.params.id} console.log('Update!'+req.params.id); // CERT var kofmb = bodyToModelUpdate(req); KifCert.update(query, kofmb, function(err){ if(err){ console.log(err); return; }else{ console.log('Jegyzőkönyv Módosítva! '); } }); var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10); const PizZip = require("pizzip"); //var JSZip = require('jszip'); var Docxtemplater = require('docxtemplater'); var fs = require('fs'); var path = require('path'); //Load the docx file as a binary var content = fs .readFileSync(__dirname+'/../docs/templates/kof/tr/kof_tr_kktemplate.docx', 'binary'); var zip = new PizZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kofmb){ //set the templateVariables doc.setData({ tipus: kofmb.tipus, author: kofmb.author, datum: deviceDate, }); try { // render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...) console.log('Generálás kész!'); doc.render(); } catch (error) { var e = { message: error.message, name: error.name, stack: error.stack, properties: error.properties, } console.log(JSON.stringify({error: e})); // The error thrown here contains additional information when logged with JSON.stringify (it contains a property object). throw error; } var buf = doc.getZip() .generate({type: 'nodebuffer'}); logging.logAppend("Jegyzőkönyv módosítva.",req.user,kofmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kofkezelesi.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kofkezelesi.docx'),'kof_TR_kezelési_karbantartási.docx'); }); } }); // Új Kof jegyzőkönyv router.post('/kofgen/:id', utils.ensureAuthenticated,function (req,res) { req.checkBody('megnevezes','Megnevezés kötelező!').notEmpty(); req.checkBody('mennyiseg','Mennyiség megadása kötelező!').notEmpty(); req.checkBody('gyartasiszam','Berendezés gyártási szám kötelező!').notEmpty(); req.checkBody('rajzszam','Berendezés jel megadása kötelező!').notEmpty(); req.checkBody('vedettseg','Védettség megadása kötelező!').notEmpty(); req.checkBody('tipus','Védettség megadása kötelező!').notEmpty(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kofcert_tr', { title: 'Transzformátor állomás nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vmunkaszam: req.body.munkaszam, vgyartasiszam: req.body.gyartasiszam, vrajzszam: req.body.rajzszam, vedettseg: req.body.vedettseg, tipus: req.body.tipus }); } else { console.log('Generálás!'); var dt = new Date(); var bornDate= dt.toISOString().replace(/T/, ' ').replace(/\..+/, ''); console.log('Generálás!'+req.params.id); // CERT var kofmb = bodyToModelNew(req); //let cert=new KifCert(); kofmb.bornDate=bornDate; kofmb.author=req.user.name; kofmb.feszEgyseg='kV'; kofmb.certType='KOFTR'; kofmb.save(function(err){ if(err){ console.log(err); return; }else{ logging.logAppend("Jegyzőkönyv létrehozva.",req.user,kofmb.id,KifCert.db.name,'CERTADD'); console.log('Jegyzőkönyv sikeresen létrehozva! '); req.flash('success','Jegyzőkönyv sikeresen létrehozva.'); res.redirect('/certificates_tr/kofcert/'+kofmb.id); } }); } }); module.exports = router;