klnodekb/js/enaploGen.js

122 lines
6.7 KiB
JavaScript

const { worker } = require('cluster');
const moment = require('moment');
function addMezo(arr,id,data){
arr+="<mezo eazon="+id+">"+data+"</mezo>\n";
}
function makeMezo(id,data){
var arr="<mezo eazon=\""+id+"\">"+data+"</mezo>\n";
return arr;
}
const zeroPad = (num, places) => String(num).padStart(places, '0')
exports.generateXML=function(enaploContent, callback){
//const fs = require('fs');
var resztvevok=enaploContent.resztvevok;
var docSaved="20230110074736900";
var docName=enaploContent.docName;// "OENY_ENAPLO_NAPI_370826709_2021_1513_53-5";
var docId=enaploContent.docId;//"OENY_ENAPLO_NAPI_370826709_2021_1513_53-5";
var enaploAzonosito=enaploContent.naploAzonosito;
var enaploAlnaploSzam=enaploContent.alnaploAzonosito;
var enaploAzonositoNev=enaploContent.enaploAzonositoNev;
var enaploAlnaploNev=enaploContent.enaploAlnaploNev;
var feltoltoNUJ=enaploContent.feltoltoNUJ;
var feltoltoNev=enaploContent.feltoltoNev;
var munkaidoKezdeteHH=enaploContent.munkaidoKezdeteHH;
var munkaidoVégeHH=enaploContent.munkaidoVégeHH;
var bejegyzesDatuma=enaploContent.bejegyzesDatuma;
var bejegyzesIdopont=enaploContent.bejegyzesIdopont;
let XML="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
let xmlHead=" <head filetype=\"zn1810\">\n"+
" <type>single</type>\n"+
" <saved>"+docSaved+"</saved>\n"+
"<docinfo name=\""+docName+"\" id=\""+docId+"\" count=\"1\" note=\"\" ver=\""+enaploContent.programVerzio+"\" org=\"OENY\""+
" templatever=\""+enaploContent.nyomtatvanyVerzio+"\" tax_number=\"\" from_date=\"\" to_date=\"\" person_name=\"\" account_name=\"\" calculated=\"true\" seq=\"1\" avdh_cst=\"\" />\n"+
" </head>\n";
let nyomtatvanyInfo="<nyomtatvanyinformacio>\n"+
"<nyomtatvanyazonosito>"+docId+"</nyomtatvanyazonosito>\n"+
// "<nyomtatvanyverzio>"+enaploContent.nyomtatvanyVerzio+"</nyomtatvanyverzio>\n"+
"</nyomtatvanyinformacio>\n";
let nyomtatvanyok= " <nyomtatvanyok xmlns=\"http://iop.gov.hu/2007/01/nyk/altalanosnyomtatvany\" "+
"template=\""+docId+"\" name=\""+docId+"\" id=\""+docId+"\">\n";//+
/* "<abev>\n"+
"<hibakszama>-1</hibakszama>\n"+
"<programverzio>"+enaploContent.programVerzio+"</programverzio>\n"+
"</abev>\n"; */
let nyomtatvanyMezok="<mezok>\n";
let closingElement=" </mezok>\n"+
"</nyomtatvany>\n"+
"</nyomtatvanyok>\n"+
"</file>";
// Első lap
nyomtatvanyMezok+=makeMezo("0_0A0001D001A",enaploAzonosito);
nyomtatvanyMezok+=makeMezo("0_0A0001D002A",enaploAzonositoNev);
nyomtatvanyMezok+=makeMezo("0_0A0001D003A",enaploAlnaploSzam);
nyomtatvanyMezok+=makeMezo("0_0A0001D004A",enaploAlnaploNev);
nyomtatvanyMezok+=makeMezo("0_0A0001D005A",feltoltoNUJ);
nyomtatvanyMezok+=makeMezo("0_0A0001D006A",feltoltoNev);
nyomtatvanyMezok+=makeMezo("0_0A0001D007A",enaploContent.epitesiHelyszin);
nyomtatvanyMezok+=makeMezo("0_0A0001D008A",bejegyzesDatuma);
nyomtatvanyMezok+=makeMezo("0_0A0001E001A",bejegyzesDatuma);
nyomtatvanyMezok+=makeMezo("0_0A0001E002A","X"); // Munkavégzés történt
nyomtatvanyMezok+=makeMezo("0_0A0001E003A",munkaidoKezdeteHH); // Munkavégzés kezdés óra
nyomtatvanyMezok+=makeMezo("0_0A0001E004A","0"); // Munkavégzés kezdés perc
nyomtatvanyMezok+=makeMezo("0_0A0001E005A",munkaidoVégeHH); // Munkavégzés kezdés óra
nyomtatvanyMezok+=makeMezo("0_0A0001E006A","0"); // Munkavégzés kezdés perc
// Második lap
nyomtatvanyMezok+=makeMezo("0_0B0001D001A",enaploAzonosito);
nyomtatvanyMezok+=makeMezo("0_0B0001D002A",enaploAzonositoNev);
nyomtatvanyMezok+=makeMezo("0_0B0001D003A",enaploAlnaploSzam);
nyomtatvanyMezok+=makeMezo("0_0B0001D004A",enaploAlnaploNev);
nyomtatvanyMezok+=makeMezo("0_0B0001D005A",feltoltoNUJ);
nyomtatvanyMezok+=makeMezo("0_0B0001D006A",feltoltoNev);
nyomtatvanyMezok+=makeMezo("0_0B0001D007A",enaploContent.epitesiHelyszin);
nyomtatvanyMezok+=makeMezo("0_0B0001D008A",bejegyzesDatuma);
var i=1;
var resztvevok=0;
enaploContent.resztvevok.forEach(resztvevo=>{
nyomtatvanyMezok+=makeMezo("0_0B0001E"+zeroPad(i,3)+"A",resztvevo.szakma);
nyomtatvanyMezok+=makeMezo("0_0B0001E"+zeroPad(i+1,3)+"A",resztvevo.szama);
resztvevok+=resztvevo.szama;
i+=2;
})
nyomtatvanyMezok+=makeMezo("0_0B0001E045A",resztvevok);
nyomtatvanyMezok+=makeMezo("0_0B0001E047A",resztvevok);
// Harmadik lap
nyomtatvanyMezok+=makeMezo("0_0C0001D001A",enaploAzonosito);
nyomtatvanyMezok+=makeMezo("0_0C0001D002A",enaploAzonositoNev);
nyomtatvanyMezok+=makeMezo("0_0C0001D003A",enaploAlnaploSzam);
nyomtatvanyMezok+=makeMezo("0_0C0001D004A",enaploAlnaploNev);
nyomtatvanyMezok+=makeMezo("0_0C0001D005A",feltoltoNUJ);
nyomtatvanyMezok+=makeMezo("0_0C0001D006A",feltoltoNev);
nyomtatvanyMezok+=makeMezo("0_0C0001D007A",enaploContent.epitesiHelyszin);
nyomtatvanyMezok+=makeMezo("0_0C0001D008A",bejegyzesDatuma);
nyomtatvanyMezok+=makeMezo("0_0C0001E046A",resztvevok);
nyomtatvanyMezok+=makeMezo("0_0C0001E047A",resztvevok);
// Negyedik lap
nyomtatvanyMezok+=makeMezo("0_0DXXXXD001A",enaploAzonosito);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD002A",enaploAzonositoNev);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD003A",enaploAlnaploSzam);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD004A",enaploAlnaploNev);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD005A",feltoltoNUJ);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD006A",feltoltoNev);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD007A",enaploContent.epitesiHelyszin);
nyomtatvanyMezok+=makeMezo("0_0DXXXXD008A",bejegyzesDatuma);
nyomtatvanyMezok+=makeMezo("0_0DXXXXE001A",bejegyzesIdopont); // óra
nyomtatvanyMezok+=makeMezo("0_0DXXXXE002A","0"); // perc
nyomtatvanyMezok+=makeMezo("0_0DXXXXE003A","napi jelentés");
nyomtatvanyMezok+=makeMezo("0_0DXXXXE004A","Kivitelező - napijelentésért felelős");
nyomtatvanyMezok+=makeMezo("0_0DXXXXE005A",enaploContent.jelentesSzovege);
XML+="<file>\n"+xmlHead+nyomtatvanyok+"<nyomtatvany sn=\"n0\">\n"+nyomtatvanyInfo+nyomtatvanyMezok+closingElement;
/* fs.writeFile("./enaplo/EN_"+enaploContent.workName+"_"+enaploContent.bejegyzesDatuma+'.frm.enyk', XML, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
}); */
callback({result: XML});
}