klnodekb/routes/certificates_kif.js

998 lines
31 KiB
JavaScript

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;