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", ]; function bodyToModelNew(req) { var kifmb=new KifCert(); kifmb.jkvTitle = req.body.jkvtitle; kifmb.deviceId=req.params.id; kifmb.certType='KIF'; kifmb.megnevezes=req.body.megnevezes; kifmb.mennyiseg=req.body.mennyiseg; kifmb.mennyisegegyseg=req.body.mennyisegegyseg; kifmb.gyariszam=req.body.gyartasiszam; kifmb.rajzszam=req.body.rajzszam; kifmb.vedettseg=req.body.vedettseg; kifmb.tipus=req.body.tipus; kifmb.egyebazonosito=req.body.egyebazonosito; kifmb.feszUe=req.body.ueff; kifmb.feszEgyseg=req.body.fesz; kifmb.aramIe=req.body.ieff; kifmb.megrendelo=req.body.megrendelo; kifmb.vizsgfesz=req.body.vizsgfesz; kifmb.megjegyzes=req.body.megjegyzes; kifmb.minosites=req.body.minositestxt; kifmb.munkaszam=req.body.munkaszam; if (req.body.minositescbo==='valid') { kifmb.vegeredmeny=true; } else { kifmb.vegeredmeny=false; } kifmb.szabvanyok[0]=req.body.msz1; kifmb.szabvanyok[1]=req.body.msz2; kifmb.szabvanyok[2]=req.body.msz3; kifmb.vizsgalat1[0]=req.body.chk11; kifmb.vizsgalat1[1]=req.body.chk12; kifmb.vizsgalat1[2]=req.body.chk13; kifmb.vizsgalat1[3]=req.body.chk14; kifmb.vizsgalat1[4]=req.body.chk15; kifmb.vizsgalat1[5]=req.body.chk16; kifmb.vizsgalat1[6]=req.body.chk17; kifmb.vizsgalat1[7]=req.body.chk18; kifmb.vizsgalat1[8]=req.body.chk19; kifmb.vizsgalat2[0]=req.body.chk21; kifmb.vizsgalat2[1]=req.body.chk22; kifmb.vizsgalat3[0]=req.body.chk31; kifmb.vizsgalat3[1]=req.body.chk32; kifmb.vizsgalat4[0]=req.body.chk411; kifmb.vizsgalat4[1]=req.body.chk412; kifmb.vizsgalat4[2]=req.body.chk421; kifmb.vizsgalat4[3]=req.body.chk422; kifmb.vizsgalat5[0]=req.body.chk51; kifmb.vizsgalat5[1]=req.body.chk52; kifmb.vizsgalat6[0]=req.body.chk61; kifmb.vizsgalat8[0]=req.body.chk81; kifmb.vizsgalat8[1]=req.body.chk82; kifmb.vizsgalat8[2]=req.body.chk83; kifmb.vizsgalat8[3]=req.body.chk84; kifmb.vizsgalat8[4]=req.body.chk85; kifmb.vizsgalat8[5]=req.body.chk86; kifmb.vizsgalat8[6]=req.body.chk87; kifmb.vizsgalat8[7]=req.body.chk88; kifmb.vizsgalat8[8]=req.body.chk89; kifmb.vizsgalat8[9]=req.body.chk90; kifmb.vizsgalat8[10]=req.body.chk91; kifmb.vizsgalat8[11]=req.body.chk92; kifmb.vizsgalat8[12]=req.body.chk93; kifmb.vizsgalat8[13]=req.body.chk94; kifmb.vizsgalat8[14]=req.body.chk95; return kifmb; } function bodyToModelUpdate(req) { let kifmb={}; kifmb.jkvTitle = req.body.jkvtitle; //kifmb.deviceId=req.params.id; kifmb.certType='KIF'; kifmb.megnevezes=req.body.megnevezes; kifmb.mennyiseg=req.body.mennyiseg; kifmb.mennyisegegyseg=req.body.mennyisegegyseg; kifmb.gyariszam=req.body.gyartasiszam; kifmb.rajzszam=req.body.rajzszam; kifmb.vedettseg=req.body.vedettseg; kifmb.tipus=req.body.tipus; kifmb.egyebazonosito=req.body.egyebazonosito; kifmb.feszUe=req.body.ueff; //kifmb.feszEgyseg=req.body.fesz; kifmb.aramIe=req.body.ieff; kifmb.megrendelo=req.body.megrendelo; kifmb.vizsgfesz=req.body.vizsgfesz; kifmb.megjegyzes=req.body.megjegyzes; kifmb.minosites=req.body.minositestxt; kifmb.munkaszam=req.body.munkaszam; if (req.body.minositescbo==='valid') { kifmb.vegeredmeny=true; } else { kifmb.vegeredmeny=false; } var szv=[Boolean(req.body.msz1),Boolean(req.body.msz2),Boolean(req.body.msz3)]; kifmb.szabvanyok=szv; var v1=[Boolean(req.body.chk11),Boolean(req.body.chk12),Boolean(req.body.chk13),Boolean(req.body.chk14),Boolean(req.body.chk15), Boolean(req.body.chk16),Boolean(req.body.chk17),Boolean(req.body.chk18),Boolean(req.body.chk19)]; kifmb.vizsgalat1=v1; var v2=[Boolean(req.body.chk21),Boolean(req.body.chk22)]; kifmb.vizsgalat2=v2; var v3=[Boolean(req.body.chk31),Boolean(req.body.chk32)]; kifmb.vizsgalat3=v3; var v4=[Boolean(req.body.chk411),Boolean(req.body.chk412),Boolean(req.body.chk421),Boolean(req.body.chk422)]; kifmb.vizsgalat4=v4; var v5=[Boolean(req.body.chk51),Boolean(req.body.chk52)]; kifmb.vizsgalat5=v5 var v6=[Boolean(req.body.chk61)]; kifmb.vizsgalat6=v6; var v8=[ Boolean(req.body.chk81),Boolean(req.body.chk82),Boolean(req.body.chk83),Boolean(req.body.chk84), Boolean(req.body.chk85),Boolean(req.body.chk86),Boolean(req.body.chk87),Boolean(req.body.chk88), Boolean(req.body.chk89),Boolean(req.body.chk90),Boolean(req.body.chk91),Boolean(req.body.chk92), Boolean(req.body.chk93),Boolean(req.body.chk94),Boolean(req.body.chk95)]; kifmb.vizsgalat8=v8; return kifmb; } // Bizonylatok lekérdezése KIFCERT router.get('/kifcert/:id', utils.ensureAuthenticated,function (req,res) { var t='Kisfeszültségű berendezések nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Kisfeszültségű berendezések nyilatkozata (egyéni)'; } else { KifCert.findById(req.params.id,function(err,cert) { if (err) { console.log(err); } else { console.log(cert.title); res.render('kifcert', { view: 'modify', certId: cert.id, vfeszOptions: 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], 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 KIFCERT router.get('/kifcertnew/:id', utils.ensureAuthenticated,function (req,res) { var chkVal={}; var IchkVal={}; var IIchkVal={}; var IIchkVal={}; var IIIchkVal={}; var IVchkVal={}; var VchkVal={}; var VIchkVal={}; var VIIIchkVal={}; chkVal[1]='checked'; IVchkVal[2]='checked'; VIIIchkVal[5]='checked'; var t='Kisfeszültségű berendezések nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Kisfeszültségű berendezések nyilatkozata (egyéni)'; } else { Article.findById(req.params.id,function(err,article) { if (err) { console.log(err); } else { console.log(article.title); res.render('kifcert', { view: 'new', vfeszOptions: vfeszOptions, minositesOptions: minositesOptions, title: t, articleId: article.id, vmegnevezes: article.title, vmennyiseg: 1, vgyartasiszam: article.deviceNumber, vmunkaszam: article.workNumber, vmennyisegegyseg: 'db', vrajzszam: '', vvedettseg: 'IP55', vtipus: '', vegyebazonosito: article.workSign, vueff: '400', vfesz: 'V', vieff: '0', 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: '', 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 // KIF Bizonylat Módosítás és mentés router.post('/kifceupdate/: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(); // Get errors let errors = req.validationErrors(); if(errors) { res.render('kifcert', { title: 'Kisfeszültségű berendezések EU megfelelőségi nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: kifmb.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 kifmb = bodyToModelUpdate(req); KifCert.update(query, kifmb, function(err){ if(err){ console.log(err); return; }else{ console.log('Jegyzőkönyv Módosítva! '); } }); if (req.params.type!='single') { // Save cert id to article /* Article.update( // Hozzáadjuk a munkához a devId-t, majd mentjük a devicet! {"_id": req.params.id}, {"$push": {"certificates": kifmb.id}}, function(err) { if (err) { console.log(err); return; } else { console.log('Jegyzőkönyv hozzáadva! '); // req.flash('success','Berendezés sikeresen hozzáadva'); // res.redirect('/'); } } ); */ } //console.log(kifmb); var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10); 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/kif/kifmbcetemplate.docx', 'binary'); var zip = new JSZip(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,kifmb){ //set the templateVariables var gyev=kifmb.gyariszam.substring(0,4); if (err) { console.log(err); } else { console.log('Megvan!'); doc.setData({ device_name: kifmb.megnevezes, mennyiseg: kifmb.mennyiseg, mennyisegiegyseg: kifmb.mennyisegegyseg, gyartasiszam: kifmb.gyariszam, munkaszam: kifmb.munkaszam, gyartasiev: gyev, rajzszam: kifmb.rajzszam, egyebazonosito: kifmb.egyebazonosito, author: kifmb.author, datum: deviceDate, feszeff: kifmb.feszUe+kifmb.feszEgyseg, arameff: kifmb.aramIe+'A', vedettseg: kifmb.vedettseg, serial: kifmb.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,kifmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kifmbce.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kifmbce.docx'),'kif_CE_megfelelőségi.docx'); }); } }); // Bizonylatok KIFEU generálás router.post('/kifeuupdate/: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('kifmb', { title: 'Kisfeszültségű berendezések EU megfelelőségi nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: kifmb.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 kifmb = bodyToModelUpdate(req); KifCert.update(query, kifmb, 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'); 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/kif/kifmbeutemplate.docx', 'binary'); var zip = new JSZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kifmb){ //set the templateVariables doc.setData({ tipus: kifmb.tipus, gyartasiszam: kifmb.gyariszam, munkaszam: kifmb.munkaszam, author: kifmb.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,kifmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kifmbeu.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kifmbeu.docx'),'kif_EU_megfelelőségi.docx'); }); } }); // KIF mérőlap update router.post('/kifmerolapupdate/: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('kifmb', { title: 'Kisfeszültségű berendezések EU megfelelőségi nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vmunkaszam: kifmb.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 kifmb = bodyToModelUpdate(req); KifCert.update(query, kifmb, 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'); 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/kif/kifmerolaptemplate.docx', 'binary'); var zip = new JSZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kifmb){ //set the templateVariables var eredmeny; if(kifmb.vegeredmeny==true) eredmeny='Megfelelt'; else eredmeny='Nem felelt meg'; var szabvanyok=''; if (kifmb.szabvanyok[0]==true) szabvanyok+='MSZ EN 61439 '; if (kifmb.szabvanyok[1]==true) szabvanyok+='MSZ EN 62271-200 '; if (kifmb.szabvanyok[2]==true) szabvanyok+='MSZ EN 60947 '; var p1=[]; kifmb.vizsgalat1.forEach(element => { if (element==true) p1.push('megfelelt'); else p1.push('nem felelt meg'); }); var p2=[]; kifmb.vizsgalat2.forEach(element => { if (element==true) p2.push('megfelelt'); else p2.push('nem felelt meg'); }); var p3=[]; kifmb.vizsgalat3.forEach(element => { if (element==true) p3.push('megfelelt'); else p3.push('nem felelt meg'); }); var p4=[]; if (kifmb.vizsgalat4[0]==true) p4.push('csengetéssel'); else p4.push(' '); if (kifmb.vizsgalat4[1]==true) p4.push('villamos működtetéssel'); else p4.push(' '); if (kifmb.vizsgalat4[2]==true) p4.push('primer oldali nyomatással'); else p4.push(' '); if (kifmb.vizsgalat4[3]==true) p4.push('szekunder oldali nyomatással'); else p4.push(' '); var p5=[]; kifmb.vizsgalat5.forEach(element => { if (element==true) p5.push('megfelelt'); else p5.push('nem felelt meg'); }); var p6=[]; kifmb.vizsgalat6.forEach(element => { if (element==true) p6.push('megfelelt'); else p6.push('nem felelt meg'); }); var p8=[' ',' ',' ',' ',' ',' ',' ']; var i=0; kifmb.vizsgalat8.forEach(element => { if (element==true) { if (i<6) { p8[i]=muszerek[i]; i++; } } }); doc.setData({ tipus: kifmb.tipus, mennyiseg: kifmb.mennyiseg, mennyisegegyseg: kifmb.mennyisegegyseg, gyartasiszam: kifmb.gyariszam, msz: kifmb.munkaszam, author: kifmb.author, datum: deviceDate, bizonylatszam: kifmb.gyariszam, rsz: kifmb.rajzszam, megrendelo: kifmb.megrendelo, szabvanyok: szabvanyok, vizsgfesz: kifmb.vizsgfesz, megjegyzes: kifmb.megjegyzes, minosites: kifmb.minosites, eredmeny: eredmeny, berendezesnev: kifmb.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], 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,kifmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kifmerolap.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kifmerolap.docx'),'kif_mérőlap.docx'); }); } }); router.post('/kifkkupdate/: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('kifmb', { title: 'Kisfeszültségű berendezések EU megfelelőségi nyilatkozata', errors:errors, vmegnevezes: req.body.megnevezes, vmennyiseg: req.body.mennyiseg, vgyartasiszam: req.body.gyartasiszam, vmunkaszam: kifmb.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 kifmb = bodyToModelUpdate(req); KifCert.update(query, kifmb, 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'); 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/kif/kifkezelesitemplate.docx', 'binary'); var zip = new JSZip(content); var doc = new Docxtemplater(); doc.loadZip(zip); var year=new Date().getFullYear(); KifCert.findById(req.params.id, function(err,kifmb){ //set the templateVariables doc.setData({ device_name: kifmb.megnevezes, author: kifmb.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,kifmb.id,KifCert.db.name,'CERTEDIT'); fs.writeFileSync(__dirname+'/../docs/kifkezelesi.docx', buf); //req.flash('success','Berendezés sikeresen hozzáadva'); res.download(path.normalize(__dirname+'/../docs/kifkezelesi.docx'),'kif_kezelési_karbantartási.docx'); }); } }); // Új Kif jegyzőkönyv router.post('/kifgen/: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('kifmb', { title: 'Kisfeszültségű berendezések EU megfelelőségi 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 kifmb = bodyToModelNew(req); //let cert=new KifCert(); kifmb.bornDate=bornDate; kifmb.author=req.user.name; kifmb.feszEgyseg='V'; kifmb.save(function(err){ if(err){ console.log(err); return; }else{ logging.logAppend("Jegyzőkönyv létrehozva.",req.user,kifmb.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_kif/kifcert/'+kifmb.id); } }); } }); module.exports = router;