From 20c3410489bff8717b68dd2b57401ebcdd2acdbb Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sun, 24 Nov 2024 15:50:30 +0100 Subject: [PATCH] weitere optimierung --- .../OPListExportAdapterByWeek.java | 30 ++++++++++++++++-- templates/op-liste_kw_template.xlsx | Bin 40332 -> 40336 bytes 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapterByWeek.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapterByWeek.java index 7d4bf37..359caaf 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapterByWeek.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListExportAdapterByWeek.java @@ -393,12 +393,13 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { column = 1; double kwTotalEUR = 0; double kwTotalUSD = 0; - + WeekInvoiceData weekDataTotal = weekDataMap.get("TOTAL/" + week); for (String name : spaceNames) { String key = name + "/" + week; logger.info("search WeekInvoiceData for " + key); // list of invoices WeekInvoiceData weekData = weekDataMap.get(key); + if (weekData != null) { // logger.fine(" " + currency1 + "=" + weekData.totalCurrency1 + " " + currency2 // + "=" @@ -414,8 +415,12 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { } else { totalDataMapFaellig.get(name).add(betrag, currency); } + weekDataTotal.add(betrag, currency); + column++; + } + // row.getCell(column).setCellValue(weekData.totalCurrency1); // column++; // row.getCell(column).setCellValue(weekData.totalCurrency2); @@ -450,6 +455,12 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { } } // KW Summe anzeigen + + for (String currency : currencyList) { + row.getCell(column).setCellValue(weekDataTotal.getTotal(currency)); + column++; + } + // if (week.equals(currentWeekCategory)) { // XSSFCell kwTotalCell = row.getCell(column); // // kwTotalCell.copyCellFrom(cellKWTotalReference, new CellCopyPolicy()); @@ -545,9 +556,10 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { // totalCell.setCellValue(totalsUeberfaelligCurrency2.get("TOTAL") + // totalsFaelligCurrency2.get("TOTAL")); - // delete placeholder rows + // delete placeholder rows (Never change these lines) sheet.shiftRows(_rowNo, _rowNo + 3, -1); sheet.shiftRows(_rowNo - 1, _rowNo - 1 + 3, -1); + sheet.shiftRows(12, _rowNo + 3, -1); logger.finest("......invoices added"); } @@ -593,6 +605,11 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { if (weekData == null) { weekData = new WeekInvoiceData(spaceName, weekCategory); } + WeekInvoiceData weekDataTotal = weekDataCache.get("TOTAL/" + weekCategory); + if (weekDataTotal == null) { + weekDataTotal = new WeekInvoiceData("TOTAL", weekCategory); + weekDataCache.put("TOTAL/" + weekCategory, weekDataTotal); + } // Jetzt Rechnung addieren weekData.add(invoice); weekDataCache.put(key, weekData); @@ -668,6 +685,15 @@ class WeekInvoiceData { totals.put(currency, InvoiceUtil.round(totalCurrency)); } + public void add(double total, String currency) { + Double totalCurrency = totals.get(currency); + if (totalCurrency == null) { + totalCurrency = 0.0; + } + totalCurrency = totalCurrency + total; + totals.put(currency, InvoiceUtil.round(totalCurrency)); + } + public double getTotal(String currency) { Double result = totals.get(currency); if (result != null) { diff --git a/templates/op-liste_kw_template.xlsx b/templates/op-liste_kw_template.xlsx index 6ba86b29270b46365de317edf087e07a310dc909..bd582ab76e8f243d76e9bbebc96fa89681bc66ca 100644 GIT binary patch delta 2906 zcmZ8j2{@EnA0IRJZ7f6feT<>8hRBkw!o5r)S&AsGt&v6<#n5JK*D@mva_#E~gCZ$Q zQ)C%rvNNU<5hLN+`b^*ReRc17p7Z|B`#=BxIq&=XJ?HnFq^H2tr$BzBJ%}9w;O6EA zV9<5^P&Ob2P1a*O0%TzTNSWgR@s4R?_#*B()-aC849hf_0*>_+c3+Qe8x#=}F0jrh zURLp%QLNxY7@a_>MB8@JL;JJ!iYo@^zMiqjll^$RHf(`Yc_utGyOuxz+i%YAeJjiU z%pKnYIem7nWGCs~4(8j0&%jpEYn=yz>}oHE`bw%bO&nE>G*cz&cr&%}Iu{gptoCQ) z6MPAaHdu~tmNWSg97-iYN}j8ayS&{_i0s~jP5?89*y&kHJnJ?N>Vwud?PefaAN~MW z7~DFX;MMz^v=)w&$(tUkdQSBuk49i%=i&M3U4;Rd-2U@Z7W@@oaFx!Z>>BBhFS#k~ zKOvb}Eb$V?h3wvw9Y)V1(7W=J-P{>jSYJ5A$O`N1omE8zwRNufm&|`K-C?`$H|~LG zjbsL>8RoAuy4$jg|>gF(7QyGgu-7RD9IRLtTsm z8{^wrw-Un~LS#IISk~KFRO^(eJHE3etmF$}MVkBhd|#fwtyT_UZ`0qe$=oE_4M?x| zHo1#ueY<#8mL%Yt(o;OQU1?{`SAx3tR;SwSi6HQ^pkc7(gg4E2Zl*=$qN}dhc=VNo zYa~Mf=chCvddtQsTVuK?LWYZ}lH^f>{Y%rU&PlekQ+OBIdfZgX{ydvsaa;Sb-`c(O z>O*3@b=L*CtHl+nsMw4b5EsjgT0vs)y-PNIy%0DoAmL3>trYpV;|q~}ywmqXYi@^l z-Wy!(_~VEx@R^p+IpzB&h3<5}PMMJp^R)Ui#iIWN<5O~K<8nxc1BF~JyqVP!xr6<* z=f4;j?UQC*#o>Q5F31anYC0YVPQiyl1hOPn{GLk2axQTi0YQM^(=ZtFPTlx0?6jBY z2kzj)Sxq*_Pg8(Ij&nCOu=HiZ;l@`POsac8=eVv6GXG)b_DF+c@HTJV7~F@x6J$JW zqC^U)&`+KVmD@n;U$}a5MpuTKkIm2C_x#FTjSy~l3&vICFsgeYe^LF5OK7f*;Q^OP zh~e0p_6pH`#dT2MCBH%W%?0rJLaWU1W!=Y~bFPb`50AA|gJqw)e6Q5uparb%NRF7% zYpogA{Iw07DQ7tw;l>#j%X%iQfnyjw+ZRET7QbIt9#vWv zNZsalGR9OyTibn1;9v4JSuQ&gpdPAJ(p}|Zj2UBv!vvP{^W4m#4AJc}r@$yqc-{_C zu=k!cC(Twei^ipDHA=o9uHj&Z@mRP%(_Nr^SNz#$1^JdQb*NZ_rl>@}+}2trr4|Zw zy_LqdDtOH{oqpFp5=%$n%!L4@Ew9#34v!tFksi3hO>#3F)#f3FGdvCJ0%f?``HAhJ zCOlT=w{XiHrPYR)BGl60;l7)PHZ z>&%octUSFU`bhln?|qrX9FJFSNk}CyPAy3dWBkQca<7m@CuS*oi!BBN zRdY{*;)$16CQj<6OCViLDv3VKOyH5&rk-;W_`A{D?q2k_;4nZ}e z5nEp)nbzI+=TzOUgkDA_qvTFG#NSm|4fqtO&$WW-zDF8LUPwIKi64r9nfcBIX=}yU z?B2+RJ-+7{iIXe*WSDQNpVyIk7-JefU95ElkR7@_f1}`i)cvEVo^;+bD!>ngt>y%d zMIfkW$v&fxE!cHa@)mC9g=9M5I)~Cw*VoS}LYY*A%HVjqj)2<5&rUb(lbV9w+2=3$ z^;&974(X-bdOFc}p~iC?Het@v-*Qo;td$J_pn?7=KmK1lt3O?~x z$UDB@w7JVViSl@Sx=x)?x=h(vL1>S@HQl;CU|KdGt)IP8H8c@xQ1}3@WPvkDt^Q~! z4v*~4+()b>m81{XKS(VENgNrd5h?XK8x%3r2n^wn7?89T)ypVMZd9j?)(SYkWp_}N zZLSHoA>C24KI5zN29tHDI2?o8Ms%HG>?J$wF$`B22Om;ES`3| zruQY6?6uPByQXSS)MQ_uerD(cG5B5d2;O0F8@3hlZEG@lk#DRffvqRqS6OHHI3jdF zvMZ`N7LzxrwFd1e)Fy7<-FmN@(vj8cV>vCl`#CCT6#J^N-+hDKv$tIvK?pZo>Xzq; zvsX_fc|=g!y-d*QIwKG3izzjegYSS_Q|%bf*8;LGuO`h;B$PJi`0FP6)5lKTv2bcGyrz2Mg} zpjcFgHvj#V9Wj@#Mq7{Y4^{!x(g0ZTGPPi;^6*u~Gdb3_2|drf00KuD_~mzz!OzjA z0#RXr`HVsRo~!pos2!(DZs>0ZP7ia~-I{e@oBpGGP}szs4BK8v;y47^QW0r*G-$^D zRH-Y`lz)<;_PHEQ5isc*TE;CHLudPNSFr%uQ)!pQV&O3l6wch_DCD~u&YfaeB3!n! z+hjEU+P5LLeZvG$^!|Z?>T26*Q0=Yeq>jd7E!u|Ns*veL>2Hi#M(f?)tMT(svO)-Q zWg9n7H@aj`3N$d|y@X;3V@u)A&wk^x`*IPsw&7#&CjY89!(?@)=>12H9T1Bf(xER& zA-ezoAoqZvUp)%1kx4u7Au=dySB3dS?R;`oO-{H#cIjtmACVh{*g`t#AF`KF%SBI!~fEh@$z{}KXM)=E1?Jn U)Mjw~J7)*)ou|r4&1RMT2gYt95C8xG delta 2867 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 QJMNHtsft|vx$J-c4I-)zH2?qr