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 kofmb=new KifCert(); kofmb.jkvTitle = req.body.jkvtitle; kofmb.deviceId=req.params.id; kofmb.certType='KOFMC'; 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; kofmb.szabvanyok[1]=req.body.msz2; kofmb.szabvanyok[2]=req.body.msz3; kofmb.vizsgalat1[0]=req.body.chk11; kofmb.vizsgalat1[1]=req.body.chk12; kofmb.vizsgalat1[2]=req.body.chk13; kofmb.vizsgalat1[3]=req.body.chk14; kofmb.vizsgalat1[4]=req.body.chk15; kofmb.vizsgalat1[5]=req.body.chk16; kofmb.vizsgalat1[6]=req.body.chk17; kofmb.vizsgalat1[7]=req.body.chk18; kofmb.vizsgalat1[8]=req.body.chk19; kofmb.vizsgalat2[0]=req.body.chk21; kofmb.vizsgalat2[1]=req.body.chk22; kofmb.vizsgalat3[0]=req.body.chk31; kofmb.vizsgalat3[1]=req.body.chk32; kofmb.vizsgalat3[2]=req.body.chk33; kofmb.vizsgalat4[0]=req.body.chk411; kofmb.vizsgalat4[1]=req.body.chk412; kofmb.vizsgalat4[2]=req.body.chk421; kofmb.vizsgalat4[3]=req.body.chk422; kofmb.vizsgalat5[0]=req.body.chk51; kofmb.vizsgalat5[1]=req.body.chk52; kofmb.vizsgalat6[0]=req.body.chk61; kofmb.vizsgalat8[0]=req.body.chk81; kofmb.vizsgalat8[1]=req.body.chk82; kofmb.vizsgalat8[2]=req.body.chk83; kofmb.vizsgalat8[3]=req.body.chk84; kofmb.vizsgalat8[4]=req.body.chk85; kofmb.vizsgalat8[5]=req.body.chk86; kofmb.vizsgalat8[6]=req.body.chk87; kofmb.vizsgalat8[7]=req.body.chk88; kofmb.vizsgalat8[8]=req.body.chk89; kofmb.vizsgalat8[9]=req.body.chk90; kofmb.vizsgalat8[10]=req.body.chk91; kofmb.vizsgalat8[11]=req.body.chk92; kofmb.vizsgalat8[12]=req.body.chk93; kofmb.vizsgalat8[13]=req.body.chk94; kofmb.vizsgalat8[14]=req.body.chk95; return kofmb; } function bodyToModelUpdate(req) { let kofmb={}; kofmb.jkvTitle = req.body.jkvtitle; //kofmb.deviceId=req.params.id; kofmb.certType='KOFMC'; 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,req.body.msz2,req.body.msz3]; kofmb.szabvanyok=szv; var v1=[req.body.chk11,req.body.chk12,req.body.chk13,req.body.chk14,req.body.chk15,req.body.chk16,req.body.chk17,req.body.chk18,req.body.chk19]; kofmb.vizsgalat1=v1; var v2=[req.body.chk21,req.body.chk22]; kofmb.vizsgalat2=v2; var v3=[req.body.chk31,req.body.chk32, req.body.chk33]; kofmb.vizsgalat3=v3; var v4=[req.body.chk411,req.body.chk412,req.body.chk421,req.body.chk422]; kofmb.vizsgalat4=v4; var v5=[req.body.chk51,req.body.chk52]; kofmb.vizsgalat5=v5 var v6=[req.body.chk61]; kofmb.vizsgalat6=v6; var v8=[ req.body.chk81,req.body.chk82,req.body.chk83,req.body.chk84, req.body.chk85,req.body.chk86,req.body.chk87,req.body.chk88, req.body.chk89,req.body.chk90,req.body.chk91,req.body.chk92, req.body.chk93,req.body.chk94,req.body.chk95]; kofmb.vizsgalat8=v8; return kofmb; } // Bizonylatok lekérdezése KOFCERT TR router.get('/kofcert/:id', utils.ensureAuthenticated,function (req,res) { var t='Légszigetelésű mérőcella nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Légszigetelésű mérőcella 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_mc', { view: 'modify', dev: 'MC', 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[1]='checked'; IVchkVal[2]='checked'; VIIIchkVal[1]='checked'; VIIIchkVal[3]='checked'; VIIIchkVal[11]='checked'; var t='Légszigetelésű mérőcella nyilatkozata'; console.log('Jegyzokonyvek'); if (req.params.id==='single') { t='Légszigetelésű mérőcella 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_mc', { view: 'new', dev: 'MC', 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: 'KOFMC', 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: ' ', 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_mc', { title: 'Légszigetelésű mérőcella 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); 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/mc/kof_mc_ce_template.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,kofmb){ //set the templateVariables var gyev=kofmb.gyariszam.substring(0,4); if (err) { console.log(err); } else { //console.log('Megvan!'); doc.setData({ tipus: 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_MC_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_mc', { title: 'Légszigetelésű mérőcella 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'); 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/mc/kof_mc_eu_template.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,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_MC_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_mc', { title: 'Légszigetelésű mérőcella 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'); 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/mc/kof_mc_merolaptemplate.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,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-200 '; 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_MC_mérőlap.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_mc', { title: 'Légszigetelésű mérőcella 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); 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/mc/kof_mc_kktemplate.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,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_MC_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_mc', { title: 'Légszigetelésű mérőcella 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='KOFMC'; 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_mc/kofcert/'+kofmb.id); } }); } }); module.exports = router;