From 6a07ec3c18a9fd7822a6b4cf212a7489906a523c Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Thu, 9 Feb 2023 13:41:53 +0100 Subject: [PATCH] update oplisten formatierung --- .../OPListExportAdapter.java | 40 ++++++++++++------ pom.xml | 2 +- templates/op-liste_template.xlsx | Bin 42179 -> 42154 bytes 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java index 6befc60..b9525ac 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapter.java @@ -15,6 +15,7 @@ import javax.inject.Inject; import org.apache.poi.ss.usermodel.CellCopyPolicy; import org.apache.poi.ss.util.CellReference; +import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -132,7 +133,8 @@ public class OPListExportAdapter extends POIFindReplaceAdapter { */ private void insertInvoiceRows(ItemCollection document, String fileName) throws PluginException, QueryException { - double saldo = 0; + double saldoUSD = 0; + double saldoEUR = 0; // load dummy rechnungen String spaceID = document.getItemValueString("space.ref"); @@ -180,12 +182,20 @@ public class OPListExportAdapter extends POIFindReplaceAdapter { categoryRow.getCell(1).setCellValue(debitorName); // calculate summ of all invoices - double catSum = 0; + double catSumEUR = 0; + double catSumUSD = 0; for (ItemCollection invoice : invoices) { - catSum = catSum + invoice.getItemValueDouble("invoice.saldo"); + if ("EUR".equals(invoice.getItemValueString("invoice.currency"))) { + catSumEUR = catSumEUR + invoice.getItemValueDouble("invoice.saldo"); + + } else { + catSumUSD = catSumUSD + invoice.getItemValueDouble("invoice.saldo"); + + } } - logger.fine("......... sum=" + catSum); - categoryRow.getCell(10).setCellValue(catSum); + + categoryRow.getCell(6).setCellValue(catSumEUR); + categoryRow.getCell(8).setCellValue(catSumUSD); rowPos++; // jetzt füge alle Rechnungen an. @@ -206,13 +216,15 @@ public class OPListExportAdapter extends POIFindReplaceAdapter { // EUR row.getCell(6).setCellValue(total); row.getCell(7).setCellValue(currency); + saldoEUR =roundD( saldoEUR + total); } else { // USD row.getCell(8).setCellValue(total); row.getCell(9).setCellValue(currency); + saldoUSD = roundD( saldoUSD + total); } row.getCell(10).setCellValue(invoice.getItemValueString("$workflowstatus")); - saldo = saldo + total; + rowPos++; } } @@ -220,19 +232,21 @@ public class OPListExportAdapter extends POIFindReplaceAdapter { sheet.shiftRows(referenceRowPos, lastRow + totalRowCount, -1, true, true); // finally update the total formula... - evalXSSFSheet(doc, sheet, "TOTALEUR"); - evalXSSFSheet(doc, sheet, "TOTALUSD"); + XSSFCell cTotalEUR = getCellByRef(doc, sheet, "TOTALEUR"); + XSSFCell cTotalUSD = getCellByRef(doc, sheet, "TOTALUSD"); + cTotalEUR.setCellValue(saldoEUR); + cTotalUSD.setCellValue(saldoUSD); - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); // write back the file - + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); doc.write(byteArrayOutputStream); byte[] newContent = byteArrayOutputStream.toByteArray(); FileData fileDataNew = new FileData(fileData.getName(), newContent, fileData.getContentType(), null); // update the fileData document.addFileData(fileDataNew); - document.setItemValue("space.saldo", saldo); + document.setItemValue("space.saldo.eur", saldoEUR); + document.setItemValue("space.saldo.usd", saldoUSD); logger.finest("......new document added"); } catch (IOException e) { @@ -350,5 +364,7 @@ public class OPListExportAdapter extends POIFindReplaceAdapter { return result; } - + private double roundD(double wert) { + return Math.round(wert * 100.0f) / 100.0f; + } } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8ccfd64..320ae4a 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ yyyyMMddHHmmss - 5.2.16 + 5.2.18 4.2.3 4.5.3 2.3.1 diff --git a/templates/op-liste_template.xlsx b/templates/op-liste_template.xlsx index 8769e24c91b97276de65cb15227e71d1f3f898a8..a60024fcb60272997cdd286781e6e4a0c54f222c 100644 GIT binary patch delta 4820 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 P0>hJX+3_|quYvyugX*!Z delta 4799 zcmZ8lcRbb6|GxHi(Y0mokxgc{bj@-RF0SmIE#o4RmAFI**NQ7U6t0nZvqO@ZtZQW? zn=gI8uivlw{Bh3fd|uD;8GZZ@$f+aVq#)|>fPJb6!bWFmo zjnU`x5gyR2#wXjUha8lI$FEOz43wZ?N#Kc(=3L ze|(1%4`DQRx1tg1!- zw2ySPJe@qu%wJLbkW907{#vlw)=4MeY}cJj zP|3n0Bt6xJW^PJ^@?Jg&+chi_)Rxr_yQNl}5RHV1t*j()vru3pXljAX%#<2|H+X^&o&Me_cWi~d)5}oymwc9DD!?)D z)}&3l&C@eQK}3-c(?aEe9Sfapx6xgjVNQv&xKoM`L93FZDaF;(RA2cpSWW4~CB$DP9$bay0&g^J$by{I|WUVKv3LGrzlZhnWLfwz5c zT=`jL2f`4a4!-tkt*aJtvACvEL>BfVvWvd|r+2-t-1A5D!yAGl>FRg9mkzS}ONEzJM zl*iPfah}Q8U@}Qq_CCToZ|ud53=Ba%U4(;atSCJkWNmX%oW~bBIpVTr^zp@1m7jSf zT;76y7~Qt(hlBMq5)w7^ZP%@+J*Ub0efS>ZFfzPk_;DC^n1k zcT4-z&gzDd26|4Etcly#q)B7jeL;Wd%b8$}*Bgu= zUXLz~jly~!AG9os!k%`6#<^3d&ST8&7FXbOgqw02w^DhZ!0q*`SrWLLn;I}3dp|+>X|#Z=N0%h)QkYXlhsduLa=;Ocg4-o ze{fP(u-coDglt6r1S`uyV%dDtkrlP6?h2n?%sut-#2+~9NOE`C&@tkb%F6H`lAuT_ zcgnUixVE>R-jy5SoGScrfxn3HWrk>>)Gb{&^R3Z^;P)I+jLnbVWM?pU@5YD0TP@vt zWdwtz_!wJjio0ZNPv;g&t(OU67f>TIn+h+M4jPP7Ue?6KFPI+Zt^3t*n)=pFr6geV zNmH~EfUVQqLC*R;X&+WTnDGg4b!jv0!72;ha-W*BDkT$rXjvZj`xPCwtYW=o&=Wcy zDF5tQ1-qp`me56-{YPO!WVL*6w~MHj67ENB7wf?T18uxk+9^>03EHbKRu5X z3$W4$k1cMA-><$$f6hZtu9~dqe#r2nH*>uF{?9{|yEV4lPd2v#gqH+?qEp(LGUnp< zwVP67RlStVS9yb#mt$X&INqD(8;I^sC@jq=b$+9zpz5vHIlg z_lD<{miJigbVE9Ms+}R2(ggz>Qfj~ZEOnuzZvr;Nghm&-V;kSPz>ON{_Jhv_q}I`G zTf@HPIewAZe$9`Hp(hb@WcnOy>!tEm6W#RLcBuNLK=aR@ysjLREz_%IGZ%ukBfgfy zjs+!J{9Q}IYUO;hmLUzYYIw;b$7kBlXelTMo+pKqeMSu$7zZ6s&1PXLqNXj)xMZqZ zaO2gf?#xfjn@7SZ;2xA&!Z=QP9$xjBI=h*Jn6P%={WvKd^m)DvD{$$M~+FDhvbT-o=- zlWntqe>1i*c4taFz9Ivrz&j?+`jq6W_=J2nkx=0tm_{%cHQD_krS<{Ld?iHsmX;UEpUn2jH+QEr{?#85531VM$ZPBe26h{|J!;Gd@e}ddb{iB!L)V2v^R9!>g>D1 zz(8g1_M><2N<@YNb63wla3#@OnKL7k}s{gRcVs% z@V?21vpjbt9`I9tN5Tbi!AD=mo%kA-eG~+9AbN+Q$`l$y2}Y^SPz_48-H&3rAsq>! zofjs3<}h-^DwfK|WeFjUW`GKf?c!;QJRB=m6S<|;bLusCI`4xuD?x!GAw>l$5SY{i zg(?Jg8NC@&Qh>_N4P^<8LwUOyLl_2VBjJ!}qY~y1FTe7~dtFW=?~--Dut2_Mb%V`O zz62#kD&A;PvP2YTzEENjZ60=0`|Rf4XnT=l8zh>I!58#KFlw1H%%+XscN_1q8WiH! zlH@S13%wlJ0Idsz_G*nB*A|4;DAJkQQQi;f-t)&F&s)Sb-}UV5A?^oi(Ne>fp^|{nO}FRdQ=aDKUr&2 zU!m37(?7q>X#HgnoVDf~{cds6-zI23$@z_d{Y?7tK4UV}W6?-IE@m;USCp=u@u}b4 zRNZXf!?#n)CQ2`N6=RPFF(&Yf&wLcR>b}9&#$0h&pI`RsHNji-Lmiyo{2|(Aybk(g zCK@E)CBX&b2Ytfl^*Uyu8eLE0iCGBmCriB=DZfc}FYY@FqhnKwFs1hE^#ZH+Ws20f zK4t?c(sr7A8igv5vrnCxOX<{n>(bVr6Ck()8B#4t-;Y{K8?hPP)r#L$Kh#n+FN@kI z(M(h#zxejQKJFhK<-b9bbGu7VxHYKEfK~5;=xSTNy}$E;fd~LVbN{=o#!zei_l96Z z0z$maXQxU`LX+Z(Q$+>ma=Ll`($_#-yY`Bab?|3+DF6Tf;rzo#V6I8RpQ2?`$G*_v zgH;W=G$Zo&kw<_h=9>72RJXfL&Rf7r>#b zSaW-8*TD0$pYQSM@~g^+2W=^SFw7&5d|524p&b}WR0A^q0YzwndRNeMB_`^v>F^g{ z27|abub&BdqTi*|j5PPcYm|VGwMU+?isv{G(kbn*xoGh>eZGLmR;;IXA`qU0?%A4( zF4WF+NK^H2hepTd#>$fYf;99VxdknoI)&7;s2g&x0vw(dj_Ua@y1uh*ZLE+>4XQRG zd1>~e!c~*hRCuQ=v}MY3+W3R#S^iW=d{XG%M$2^i#d64(H2b4u_}-cw-#+l#bY zXl)3(o3+y!vnu{EY<%+0r~tXnUE>EUdXGj4tE!)1n*hO;upHTKjRl66-1T1^6*5`H zbV!;`w~I1p4tXUHji_3YlEMUIppV2P^yzFIgQc!_BJ1=F*6&(NW>K|B_j)c1)#dLi z#`1p#&j>F@7UfnS;az1#d%<{4)1{(Ac>k)}L(7IERl7n948J;R)gGmB|4x!x_H=H7 z--j>lY%zE}xc`%{@CX(Grjsq$No=1)f{4XjThX8f`R}vuPA;~FW>nFKF0{w^D@7wd zmb%^vDn49=9?OT$!MOusyAjUqsUu=NN`cLJrqT_xvXq|(&Ae12wMTBB#7)V~#@Gm{ zDbA_)opRI2$9ZC9(vS^a)Jm~jXG=@O{!m$LF-hVX{i6MTl}>@fU0~TlxU)!L z*YzqJ7PMceuFzZj8!^%+nc1ay0&PBg?oTL?EF~ezb+$Dh{8auxQFk8L6fhrAJln&b^O&48?9=P-t#ewf zI9Ea$t&rdGz7*;`?jJ(oUtRDKhp!~yQS3r*Q*&@P+eOff5OY4kV|8<)mCdsH=Zn)* zl(ivEl5P!V_p;e}H=zcZC|-h_*fjr`oMwulr6(Yg=zAXmiIn8jITgZstO|fsM(TnR z?L|2()EzHAaVObmqG~p4B#)d392kLP28b8ii%V|p9PaCl1y$@f2~gzp>_=R14}(MN zlHJ{v)}PAR>dOyh!YQ=ay|gO7&l_c^TFehLV!AbJVyF^c;QH`|RNmrhK4nEh$Boxf z(9OE6^qmKzi8G-OYsHqStl5)g_SYVM)=Cp8Xb{t?MDKWB&3>s^_Urnk`GovyJ|>qh zFCTR5B@w*&e7|Xi`OG-U2)BH$ z-;6&!lj|?WB%&f;;y32cFYxcEqlk