From 2a12ecaf3cf30ca09b73a760ae1fa8b659345c9f Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sun, 24 Nov 2024 09:37:12 +0100 Subject: [PATCH] insert columns --- .../OPListExportAdapterByWeek.java | 71 ++++++------------ templates/op-liste_kw_template.xlsx | Bin 40217 -> 40219 bytes 2 files changed, 24 insertions(+), 47 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 6e9ce69..b0dd286 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 @@ -114,6 +114,11 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { "missing Currency configuration - please check parameters"); } + // compute all departments + List spaces = teamService.getSpaces(); + // sort by space.name + Collections.sort(spaces, new ItemCollectionComparator("space.name", true)); + // read the template options ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "opliste", document, @@ -143,7 +148,7 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { XSSFSheet sheet = doc.getSheetAt(0); // first add the columns for the currency list - addCurrencyColumns(doc, sheet, currencyList); + addCurrencyColumns(doc, sheet, currencyList, spaces); // insertInvoiceRows(sheet, document, targetName, filter, currencyList); @@ -186,50 +191,20 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { return document; - // logger.info("... loading poi configuration.."); - // // Process POI instructions - // // read the config - // ItemCollection poiConfig = workflowService.evalWorkflowResult(event, - // "poi-update", document, false); - // if (poiConfig == null || !poiConfig.hasItem("findreplace")) { - // throw new PluginException(POIFindReplaceAdapter.class.getSimpleName(), - // CONFIG_ERROR, - // "missing poi configuration"); - // } - // List replaceDevList = poiConfig.getItemValue("findreplace"); - // String eval = poiConfig.getItemValueString("eval"); - // try { - // logger.info("... update template with normal poi information.."); - // this.updateFileData(document.getFileData(targetName), document, - // replaceDevList, eval); - - // insertInvoiceRows(document, targetName, currencyList.get(0), - // currencyList.get(1)); - // } catch (PluginException | IOException | QueryException e) { - // throw new PluginException(OPListExportAdapterByWeek.class.getSimpleName(), - // InvoiceService.ERROR_CONFIG, - // "failed to update op-liste: " + e.getMessage()); - // } - // logger.info("... completed!"); - // return document; } /** * EIne OP Liste kann für eine oder mehrere Währungen erstellt werden. Diese - * Hilfsmethode fügt die Spalten anhand der Währungen ein. - * + * Hilfsmethode fügt die Spalten anhand der Währungen für jede Abteilung ein. * * @param sheet * @param currencyList */ - private void addCurrencyColumns(XSSFWorkbook doc, XSSFSheet sheet, List currencyList) { - if (currencyList == null || currencyList.size() <= 1) { - // no extra currencies defined! - return; - } + private void addCurrencyColumns(XSSFWorkbook doc, XSSFSheet sheet, List currencyList, + List spaces) { - // zusaetzliche Zellen einfuegen... - int newColumns = (currencyList.size() - 1) * 1; + // zusaetzliche spalten einfuegen... + int newColumns = (currencyList.size() * spaces.size()) - 1; for (int i = 0; i < newColumns; i++) { logger.fine(".. add currency column..."); POIUtil.insertColumn(sheet, 1, 2 + i); @@ -238,11 +213,18 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { // Beschriftungen eintragen int col = 1; XSSFCell cell = null; - XSSFRow labelRow = sheet.getRow(10); - for (String currency : currencyList) { - cell = labelRow.getCell(col); - cell.setCellValue(currency); - col++; + XSSFRow spaceRow = sheet.getRow(9); + XSSFRow currencyRow = sheet.getRow(10); + for (ItemCollection space : spaces) { + // Set Abteilung Beschriftung + String name = space.getItemValueString("space.name"); + spaceRow.getCell(col).setCellValue(name); + // add currencies + for (String currency : currencyList) { + cell = currencyRow.getCell(col); + cell.setCellValue(currency); + col++; + } } } @@ -261,7 +243,7 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { * @throws QueryException */ private void insertInvoiceRows(ItemCollection document, String fileName, String currency1, - String currency2) + String currency2, List spaces) throws PluginException, QueryException { Map totalsUeberfaelligCurrency1 = new HashMap(); @@ -270,11 +252,6 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter { Map totalsFaelligCurrency2 = new HashMap(); List spaceNames = new ArrayList(); - // compute all departments - List spaces = teamService.getSpaces(); - // sort by space.name - Collections.sort(spaces, new ItemCollectionComparator("space.name", true)); - Map weekDataMap = new HashMap(); FileData fileData = document.getFileData(fileName); diff --git a/templates/op-liste_kw_template.xlsx b/templates/op-liste_kw_template.xlsx index 220211b393fb8660ce6434bf205f2cea0aca3224..9d05546e73beb967bf68f0b81b1ce81edaf13d45 100644 GIT binary patch delta 2776 zcmY*bc|6o>7oTCQktIu6GWMlp7n6H4bthyWDuxWXX)?C4#gLy=BI}q8W+qFTEUy@h z2wBR_#n_iLwy2QG63Xsnx}W#oQvv!x)6BmImZsi&!XIi%qy;<+ zzD-zwWh$E}`&0%uj-i3f=gE$7w79_7jQK;P`PM1xr@2_q38=%vRR+753|80Eo`A*dL-EJ zYR={Q_rc$G`D49CTr}%9rUw<2dxVmhB1SH?GtF-i+WjY9zemU1s0jM{H+7*D?2aJ# zOdZ)ZUEN*jLtVXdu#Jm;ZIl(bS>(I{;JM#@$P}A~Y4t80!w*ff2W$^*lO_jXC z_oxXey!LQaGALrAc)cEOTd&J#Dix~R=tTwX$y$Xb)tq(vP9M6xvgkg{teYaQ{bPN9Ei)x5qkDxaMl1lG{8K)W?{tP~q zxvGhDv!Kid&!pOthnhM?OGeTg7oU+ytoJYRPNlWx1qBGa&P~qNFT%--KlBXsj1*oS z)=Na-jD#XeoXf(ZL!+)RfS}uovnwYtga*))oHU|>UJC8VnglARWr)^&C17?kQj*>b z`cfklIxG4D9unrgl6T9{;50*`q>2f1_|gatjr68_a{7*gv6^_PsCYw|0Sja5>*#Rm zFl%jK_)3S%k54I^4lbK_%mN}7eegnC-)DQj`Y+jTtYLFzdAE1~+matm{wc?;aR~sc z6}@Sd+yu-KPtfl<^~lbbwmn*gmD$jsR%4`d@i5~!al4cVT;rWT;bDJ z@_4>)5(!&PoOv+Q!?Ia)d##^_B>N-fNI8WJ7+fB95p@&wLA&WiALy8@%ImPOAi)bVb(el< zOE3G9cb<>ge(`SZAGq&&xTMR#l@&KM>UM*8i=%q?lF?LRlTS3%AiDlLKpwQUv*h6& zgWtf`LO`I;A|TNJv0$a!K}j|Z62pXa0qa#LvclzlAy4ydCzFD=pZuU%C0Q1|H$>`J ztiS)27=tIS8ZmbPIcDanr9eOv^LP9FE(uF6^AjQ28|QrG{B5+v=}vP#=690th>M@U zw`d<2(7@$$6L2(xI&l6+gcM=UD<_bFY#qfO)ng^|{1Fe&(aMm7p=|kGHI$No;^Z?s z&)*IH7?t||bRAg|#waBpyR9Qrt|h-JdXt+0XQAFwr=0?GiCRhDC^m{6?AhZPXRtf z03|DTrt`W?{AEwrN+`UYqH-!;&~LP?6#K3Icyb-7(D~eHKXpF8Q8F@Wyvi6cDv=na zMQuc{b>x}scurOrMQV&6t526^prY#lH%9F{)Z)x)j8(NkfpuVCUwf()TEwZ#`2f7P ze{s#R!UO^<7(h9IyQGp|p$y9iTQ#o7a_1xnonp{Yr5H4$tZ!I04 zQ-m{mG?jW^m+J_sdCWLOSSI4IZ!B}ByqN76R$paeVBJWkTdC`YD&_Qko$YSQ_SS(x zpdrp*>%8CN-x8I84x3ln!u8AIgoXI`j~VW?A_z@YL*5=T<@LoEYcA6fiUv}M`qytA zt@-*T@fx~IWwV0!nR`jez+r;gIk1`=U(rR+m5R)}C)Mc5>dp7hHy@U5dSnrmjHqlnM||Q?*Y*45AF*m#N%d#K1D&(djDVg3No*0ZiLo-xL; z*jIKxl4mjMVg5xYpI`(at#+n-?ao#TF}5h4Ck#nBeP&k0gZbRaM-0V?)$w+>nvt)M zF0;&U?m`+n<#H(YXN%@8;7r3qeeMKuGH>zLgMB+fm{|Pj%S^lMmNux8l2SfG)FIHC zFT8uP>_?RcAbm-t?Cqh&a!^OoK-UCa8Bj7gk%{u%dKm6m2}I zgB2{fv!1$sa=#L78P407y-JM!i#YC|KVp^9>4rZk=s9VS4M9T2z|RFtmLVI0d08;F z9M3Xh%OhkP!M!3n|Bu#)!DM5$hfbCTI}n*Xoz&_;HH+1;l6ZW)D;wOqKJLcEh?NRJ6ql>6Tg|cJLU6N*P z?s=$tSrGmu0t5;n`cdWBACpRz2A2{`s0wVWmnzK>n?cOY5SOsC%Oh HtbOahr5g7f delta 2823 zcmZ8j2{_c-8=hfgh>$fSBxAW_jV48w$}U^Ta+Qh{jlm^*LnvJP*k;L2#Z(wF*_Z4Z zF0Q@Cpe$vXG>nA*G~MUk`k&`H&-a~k-rskg^S$SL&kt9}hN)xYwKiu52?4-hFyKve zP$jP{kez9Xnm`RUmgB|#74+RfdxAGv){W~oRE{fh3NG|uZ3_l^JNC6=emrVL#xy%n ze^SW2j;+23+ADJ|P26EefYZ?KR`teGl8ksZnlfiFVD;7#f`T7Vmj67E@&kDm4K% zDVZwQ-$~iF+4hfmSuv8_W$?}2_-nXLRrU)R%uKqdR|c)jaO&!NrJP2`g`&9qtECFD zB|dShcGJ-Esv8bY$7q8iQqn=ZX3xOTWmJ#S_*L@7J!BgUZ0{IOJ+1jl-|o6t`CsCc zYxG9=+;T1|TK|-U(t<%4%|BOg@uA!XNJV7NFyP*ii*zB4IpqD?q0^i0J+)(iackN7 za5=_9>22O?Vufa!h;`Mb#@R0#aloCCqYTbyFIWB4K(4q`B%V!@1;UX@;Zwg6htN}sfo8eX{vF+>n)~|ANyTnK{$LY52IJi~b&rQm^*x-De)h0-{l`Y(TPZ%sBz*wKP8pirzNqq@ z8)tbFv=`=~;kwGUY&tAXay%D6Kh`Hsx=4>DoYc$O;rcp&E!bV#-SRoUusVi z>&UTDGM#g3D8fFXn|iL%hvkVqS*Jduw8mae6v(=k)FNJjoJA%&-c2B~=HLk@~c z+H@;AJI)-@o?g2VefLAlWcSEKH5F1Zcd0#@cd|dKMxYV0hlZa%iKvoC44Ku3JvLr? zI$>Lm3nR*F>zTjBGr$Nw-Gq116y4haJ7IeP+0Bp860N9pARQ(7ZIi16y1Ff2|7``| zBk=9e*x_Z5Un%yo;R&*Yt5xXc% za#F(A>Q&4qxbLt>1$tafbre*vNSfj@_8cZw*XXw^=EP9lJA}cS`0P&0r47x5QaAHi znrw1A2y5s29CbyCJJf1?WafgG(rUK`-0JRa*AzGBBbV$8v!LOT6A|$f z%1WY>P%vRMcstfgpzoL`uQNfRS5n1suSmA6Hc!$qsB6i?E%;!`+h8zeV+xUBeFII$V5k!aboj|==HYjnwl<M^XH%6Onpg8@3yA7c2!?)o1{2BlN z_zL_r8^9pqGk(=bmhw|l8UMThLg>}B<0zv~tK#0A2BM1GLMxJ3K5N-CBKZ%GDS9ug znQsGcL`h8M>R^vO6f(?{lq>2H4!0)5HJkesfH1t>W=+9BbDpl00#}+#PYrQ!FbMpm zU^f6;{G!Wu6SRSNLK`2{?JT&d6er2U7vux@(`%uDDv+|5X*ysW0LKbDIaI0zqh?Ng z0ni#00_b!5)SIL#m%Xcjb9I(nTH3UmEu9^&qdy3E3WS~nO_H|~i*~r3^_>6Gw$d+S zh>0i6nS2r-4)GL`#rqHir)D~Lm+RmI<+Byu@mPC@1|_gfwp zl>aT!umBZ(X?Chq)tT4IZ0->wG5$qs13-jE@yMMP(Oo(g8dpdO-y8|xK3_FY9|=J> zk$~=PHF=cS^sOVa4T|Q!S)_q8{`~AH2^--!kTId|!ZyCD!QgL>(vSsyvf{o_9KSFo zbxfte#iXzXdPCg0ZM0-FOAImgJX?3-O-`%>sl-!q`))0+@%L9>tX`s+_nZ^#mXIva z$Ygnx{a2=g&{Jqxl&e*nnoz{nWu*v8osUfEk>fV=riTU9#VKB4QOlzz5!cq&R^V{! zkoA?^Fw22mFZkPR!wU8r9wl;d7u31+X=Wxhx%t`ebs7w#0xh^4?6~C?0U{SS$`ieN zVeD3=LvDBwB>1?8;+SBypXH@QWr}{!oq6G2ba`(^f5@#-l%vL8$7m#4tEm;LC6{x9 zq|QU1iA&D9&zBYIoiM8J%fpe8kMEF`VH5|tnT62|`tXY8ONYc&%)4)6C6XVa`9|djzuJqFTy+id}$TqpJdjd^NOgj5yOWiMU zg$%5}*h;#F61^;k92Z=#1oS11kSP_%QL;KJInK!4wm*Q>PX(DgPd{XE5PhgAP3h9B zhu+Pdd%pHW=fj@5ZMsTNPO17uBhTaX0|*ax?TK%VI!9~lIj5@;wNiO4uBV0p;h&0O z`Q}^HJU$GH{W}v0Z&DuIVlpw!_Ae6$e*A_J?`Oh)NKk#&-`{JFh|V7QG2w-Qvx=|? zbB1MSFj_1N!CLY%flmL*8u~8wwAA+*tM%>BA!cbqncIjn?SIV%O~xv+Fh7^S(0>4? z=ZzM@9cS&JgM$F^Xvcp>_izw4aw>W?6^d@b@vwsYe6z%U3DSf9h?8ewem*l(cz