klnodekb/routes/certificates_tr.js

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