From 8bd3b5b7e7f09fa958433d6eac7990cb163a2c74 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Mon, 11 Sep 2023 10:29:04 +0200 Subject: [PATCH] Unload Job sos_gewichtung #1 --- .classpath | 6 + .../schluesseltabellen/etl_step_fuellen.sql | 38 ++++-- src/de/superx/etl/bin/SxTransformer.java | 116 +----------------- superx/WEB-INF/lib/superx-etl.jar | Bin 82183 -> 82054 bytes 4 files changed, 39 insertions(+), 121 deletions(-) diff --git a/.classpath b/.classpath index cdbd67d..c2c8751 100644 --- a/.classpath +++ b/.classpath @@ -8,5 +8,11 @@ + + + + + + diff --git a/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql b/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql index ce8e9f6..cf40c03 100644 --- a/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql +++ b/src-modules/module/etl/schluesseltabellen/etl_step_fuellen.sql @@ -4,9 +4,11 @@ <#assign etl_jobs = [ - {"uniquename":"sx_select_mask", "name":"Maske entladen", "systeminfo_id":9 ,"logfile":""}, - {"uniquename":"sx_insert_mask", "name":"Maske hochladen", "systeminfo_id":9 ,"logfile":""}, - {"uniquename":"kern_konstanten_update", "name":"Konstanten aktualisieren", "systeminfo_id":9 ,"logfile":""} + {"uniquename":"sx_select_mask", "name":"Maske entladen", "systeminfo_id":270 ,"logfile":""}, + {"uniquename":"sx_insert_mask", "name":"Maske hochladen", "systeminfo_id":270 ,"logfile":""}, + {"uniquename":"kern_konstanten_update", "name":"Konstanten aktualisieren", "systeminfo_id":270 ,"logfile":""}, + {"uniquename":"sichten_unload", "name":"Sichten entladen", "systeminfo_id":270 ,"logfile":""}, + {"uniquename":"sos_gewichtung_unload", "name":"Gewichtungen entladen", "systeminfo_id":270 ,"logfile":""} ] /> @@ -21,9 +23,16 @@ {"etl_job":"sx_insert_mask","param_name":"FORMAT", "name":"Format", "param_default":"XML"}, {"etl_job":"kern_konstanten_update","param_name":"SUPERX_DIR", "name":"Superx-Pfad zu WEB-INF/conf/edustore", "param_default":"$WEBAPP/WEB-INF/conf/edustore"}, - {"etl_job":"kern_konstanten_update","param_name":"PATH_TO_INPUTFILE", "name":"Eingabepfad", "param_default":"$SUPERX_DIR/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql"} - + {"etl_job":"kern_konstanten_update","param_name":"PATH_TO_INPUTFILE", "name":"Eingabepfad", "param_default":"$SUPERX_DIR/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql"}, + {"etl_job":"sichten_unload","param_name":"SYSTEMINFO_ID", "name":"Komponente", "param_default":""}, + {"etl_job":"sichten_unload","param_name":"PATH_TO_OUTPUTFILE", "name":"Ausgabedatei", "param_default":"$SUPERX_DIR/db/masken/sichten_$SYSTEMINFO_ID.xml"}, + {"etl_job":"sichten_unload","param_name":"FORMAT", "name":"Ausgabeformat", "param_default":"XML"}, + + {"etl_job":"sos_gewichtung_unload","param_name":"SYSTEMINFO_ID", "name":"Komponente", "param_default":""}, + {"etl_job":"sos_gewichtung_unload","param_name":"PATH_TO_OUTPUTFILE", "name":"Ausgabedatei", "param_default":"$SUPERX_DIR/db/db/module/sos/schluesseltabellen/sichten_$SYSTEMINFO_ID.xml"}, + {"etl_job":"sos_gewichtung_unload","param_name":"FORMAT", "name":"Ausgabeformat", "param_default":"XML"} + ] /> <#assign etl_steps = [ @@ -53,7 +62,15 @@ {"etl_job":"sx_insert_mask", "uniquename":"delete_maske_system_bez", "name":"maske_system_bez löschen", "type":"DOQUERY" }, {"etl_job":"sx_insert_mask", "uniquename":"upload_maske_system_bez", "name":"maske_system_bez hochladen", "type":"LOAD" }, - {"etl_job":"kern_konstanten_update", "uniquename":"kern_konstanten_update", "name":"Kern Konstanten aktualisieren", "type":"DOSQL" } + {"etl_job":"kern_konstanten_update", "uniquename":"kern_konstanten_update", "name":"Kern Konstanten aktualisieren", "type":"DOSQL" }, + + {"etl_job":"sichten_unload", "uniquename":"unload_sichten_ges", "name":"Sichten entladen", "type":"MSG"}, + {"etl_job":"sichten_unload", "uniquename":"unload_sichtentab", "name":"Sichten entladen", "type":"UNLOAD", "parent":"unload_sichten_ges"}, + {"etl_job":"sichten_unload", "uniquename":"unload_sichten_sachgeb", "name":"Sachgebiete von Sichtarten entladen", "type":"UNLOAD", "parent":"unload_sichten_ges"}, + + + {"etl_job":"sos_gewichtung_unload", "uniquename":"unload_sos_gewichtung_ges", "name":"Gewichtungen entladen", "type":"MSG"}, + {"etl_job":"sos_gewichtung_unload", "uniquename":"unload_sos_gewichtung", "name":"Gewichtungen entladen", "type":"UNLOAD", "parent":"unload_sos_gewichtung_ges"} ] /> @@ -98,7 +115,14 @@ {"etl_step":"upload_maske_system_bez","prop_name":"search_path", "prop_value":"/etlAction/unload [@name=\"unload_maske_system_bez\"]/rs/row" }, {"etl_step":"upload_maske_system_bez","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, - {"etl_step":"kern_konstanten_update","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" } + {"etl_step":"kern_konstanten_update","prop_name":"path_to_inputfile", "prop_value":"$PATH_TO_INPUTFILE" }, + + {"etl_step":"unload_sichten_ges","prop_name":"msg", "prop_value":"Entlade Sichten Komponente $SYSTEMINFO_ID" }, + {"etl_step":"unload_sichtentab","prop_name":"select_stmt", "prop_value":"SELECT S.systeminfoid,S.art,S.type,S.name_intern,S.name,S.sortnr,S.quelle,S.standbutton FROM sichten S where S.systeminfoid= $SYSTEMINFO_ID and position(''<#'' in quelle) =0 order by art,sortnr ,name;" }, + {"etl_step":"unload_sichten_sachgeb","prop_name":"select_stmt", "prop_value":"SELECT A.sichtart,A.sachgebiete_id FROM sachgeb_sichtarten A where A.sichtart in (select distinct S.art from sichten S where S.systeminfoid= $SYSTEMINFO_ID) order by 1,2;" }, + + {"etl_step":"unload_sos_gewichtung_ges","prop_name":"msg", "prop_value":"Entlade Gewichtungen Komponente $SYSTEMINFO_ID" }, + {"etl_step":"unload_sos_gewichtung","prop_name":"select_stmt", "prop_value":" SELECT art, ch35_ang_abschluss, fach_nr, kz_fach, text, faktor FROM sos_gewichtung where ch35_ang_abschluss in (''B5'',''B6'',''B7'',''B8'',''M3'',''M4'',''M7'',''M8'') and art=''vzae'' order by 1,2,3,4,5 ;" } diff --git a/src/de/superx/etl/bin/SxTransformer.java b/src/de/superx/etl/bin/SxTransformer.java index 5374cb7..58529b3 100644 --- a/src/de/superx/etl/bin/SxTransformer.java +++ b/src/de/superx/etl/bin/SxTransformer.java @@ -35,13 +35,6 @@ import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; -import org.apache.fop.apps.FOUserAgent; -import org.apache.fop.apps.Fop; -import org.apache.fop.apps.FopConfParser; -import org.apache.fop.apps.FopFactory; -import org.apache.fop.apps.FopFactoryBuilder; -import org.apache.fop.apps.MimeConstants; -import org.jfor.jfor.converter.Converter; import org.xml.sax.InputSource; import de.superx.bin.SxDBUtils; @@ -371,113 +364,8 @@ public class SxTransformer { } } - if (methode.equals("pdf")) { //Sichern um zurücksetzen zu können. - Level logLevel = myLogger.getParent().getLevel(); - myLogger.getParent().setLevel(Level.SEVERE); - - // configure fopFactory as desired - //akt. Pfad muss WEB-INF sein oder vorher als -fopxconf Param übergeben worden sein - - - FopFactory fopFactory ; - FOUserAgent foUserAgent; - - // in fop.xconf fopFactory.setSourceResolution(96); // =96dpi (dots/pixels per Inch) - if (fopxconfFile==null) - fopxconfFile=new File ("conf" + File.separator + "fop.xconf"); - if (!fopxconfFile.exists()) - { - String msg=fopxconfFile.getAbsolutePath()+" nicht gefunden"; - System.out.println(msg); - throw new IllegalStateException(msg); - } - - FopConfParser parser = new FopConfParser(fopxconfFile); //parsing configuration - - FopFactoryBuilder builder = parser.getFopFactoryBuilder(); //building the factory with the user options - String fa=fopxconfFile.getCanonicalPath(); - - URI uri=new File(fa).getParentFile().getParentFile().toURI(); - // System.out.println(uri); - builder.setBaseURI(uri); - builder.setStrictFOValidation(false); - fopFactory = builder.build(); - - foUserAgent = fopFactory.newFOUserAgent(); - - - try { - myOutputStream = new java.io.FileOutputStream(outfile); - } catch (FileNotFoundException e) { - myLogger.severe("Ausgabedatei " + outfile + " kann nicht erzeugt werden:" + e.toString()); - System.exit(-1); - } - - try { - // Construct fop with desired output format - Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, myOutputStream); - - // Setup input for XSLT transformation - Source src = new StreamSource(quellstring); - - // Resulting SAX events (the generated FO) must be piped through to FOP - Result res = new SAXResult(fop.getDefaultHandler()); - - // Start XSLT transformation and FOP processing - try { - transformer.transform(src, res); - System.out.println("Success!"); - } catch (TransformerException ex) { - throw new Exception(ex); - } - } catch (Exception e) { - e.printStackTrace(System.err); - myLogger.severe("FOP-Transformation Fehler: " + e.toString()); - } finally { - myOutputStream.close(); - myLogger.getParent().setLevel(logLevel); - } - - } else { - if (methode.equals("rtf")) { - String zielstring = ""; - myLogger.info("Ausgabedatei " + outfile + " vorbereiten"); - Writer myWriter = null; - try { - myWriter = new BufferedWriter(new FileWriter(outfile)); - } catch (IOException e) { - e.printStackTrace(); - } - try { - myLogger.info("Transformiere nach fo "); - transformer.transform(new javax.xml.transform.stream.StreamSource(quellstring), new StreamResult("tmp.fo")); - - myLogger.info("Transformiere nach rtf "); - - new Converter(new InputSource("tmp.fo"), myWriter, Converter.createConverterOption()); - } catch (Exception e1) { - - e1.printStackTrace(); - } - } else { - if (methode.equals("xls")) { - - } else { - //Normal xml Transformation, not fop or rtf - try { - - FileWriter myFile = new FileWriter(outfile); - myOutwriter = new PrintWriter(myFile); - transformer.transform(new javax.xml.transform.stream.StreamSource(quellstring), new javax.xml.transform.stream.StreamResult(myOutwriter)); - } catch (IOException e) { - myLogger.severe("Datei " + outfile + " kann nicht erzeugt werden: " + e.toString()); - } catch (TransformerException e) { - myLogger.severe("Datei " + outfile + " kann nicht transformiert werden: " + e.toString()); - } - //new javax.xml.transform.stream.StreamResult( myOutwriter)); - } - } - } + + } diff --git a/superx/WEB-INF/lib/superx-etl.jar b/superx/WEB-INF/lib/superx-etl.jar index 7b9dee466008905259e9b905adc6ea34f22cbe11..de0975e22d9799863e893548046c31ed9183d1ef 100644 GIT binary patch delta 1924 zcmaJ=3rtg27(Ra=&`K%vVatj<1=@iF79QnMpr|9^;b0>JXHcgD!eB6lKxD`a#>Wyx zz{@y$&xl9Y88zrIu()h)QC!9_5JaPiL!Iv2d)kspvXk80FW>+D&-0%{ z`-BJUh0?5azF-wXB7`heZn@1;t!#|^_aBu;oj4;ONUPBjN4`9vYu+ zNb#!3o60FR=ct{Nvqm>{G-!(6PR*YD@n+edzUy)P?#0^0vYxN|Z{N5-P(9H9`#!NT zE$wl4iz)7Aq|26Y;Yi!D13!hx`^$l%nkCN!d(Sji#;^K0=Mo%u`K7pHY3r>h(Z#PQWQ@Vf*A^GV_Zn zrngs#uf&14@4CtHU|Zp(q# zB;VoV(ctIveCY}Y(G0#74gM=cG6#_g@6dzNeK|GVQhZoX>UxDo>I%iz^gx#d&$H|= zB9>+H#IEa}cgqP5QDu;e^CC0R+w&mQRbMUPLbb(!+LtYRF?Bw%{m*9MFx#cUa4k zo_Q_CYsGZdZ#{JK2Xc`Ufe5W}h~2u8gi_$bcu>f=e6k8+vm+z@;z-rB{-n^XDO zCep^GcX4C4QWe>!R#_wk|ygp`uKL{2Y|Wu+aeFoT#;+`I&$`Rk7yzaBFa* z0YYgd7YwA5t-ZL(04nBkuNXfu*m{*D5R+ht8J<%zjW6uKEQZJZS_4-s}r9ZXTRolfE#V??j%21fc-Cntc|2 r0aSk^02C|srF8tKz{_HU?vkDHc5t%KgO>7Wc?<{)t0)A?99y>0gxE2hpvc6r0>L0; z$hvXn(8N#%Gb$M)StZ~=Ah5{B!{{HI2IG8?$(Sy(7)Qo-?mcZu$xd?9Uw`NKedl|f z(_(Ns+2|xHEO2lXA|yaa*Rxd8DT-_;C%;vq{QKV^gx1I>A)hvHnyo2%>C={6ykG(XSScr`ar{HFLqrMbl4C9`l!yDvboFnuGer=VfvLX+TJ(47;t z9k*lj1HaULc=Kw4XSdHBGEHnm=k&+dYJ2>&qS(obTl$Abw6o7&%4^tmRu@{qKG?U= z%{JbbWcgn5toLfX)>v}7^XGx2`7d79$+ha4iqVY&zh?EX`{#Clr?0tqdB0|(ZzXRz zn`vrx_4-usL!I)PXgaC$c1L)B>v{mw{%-T4%Vw(bJxe7dE8B7)s9Y!G1+IKCIE7IG zVUAo?jAal-K`SUJn1omgodrbn(6+Yjddx zB59E3CKhTe?79@>G%>R*40KxkX)Z7l z2RiEfW;@wTj;EW|M-J%@A0r*w)Nm==27~~S?T;5)%`Cxp6%fdW(4_>HX$0fjOb|{{ z0?h%x#<8PdTm(N{uLMi9r#SX^FaqO`uiDsI!a^W^q=cY?{}~~>gLg4}HkN>^j~&)k z*T}5%WsROr7#1dx(+muWED^t+WR2_~$BJDE8*dDD_3+wE+G4iI3BGmb1>^2+_;?z) zOSy79$zRF*j14BToK;I4grJ6YDeavrNSA&$gUgcQj z3!V+sSlJ8>VTBBSLql#cHyrphVc;gdr~w%zmN-d^2w&2`c6^xy0S-zBmhPny#0;{w zJyGn|Sq(j3QME>oKsw0zwz37Q##l%%{sZ$(H7Ni9