998 lines
31 KiB
JavaScript
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; |