From e1b6b2dba0e81ffc03aaccb879a5112c1f20ea4b Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 16 May 2025 22:54:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/controller/PlanPbsController.java | 1 + .../plan/controller/PlanRecordController.java | 22 +++++++++++------- .../service/impl/PlanRecordServiceImpl.java | 2 +- .../excel/plan/计划编制模板导出.xlsx | Bin 10979 -> 11050 bytes 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanPbsController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanPbsController.java index 1277d20cb..68576302d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanPbsController.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanPbsController.java @@ -131,6 +131,7 @@ public class PlanPbsController { }) @GetMapping(value = "/tree/page") public Result> queryTreePage(@ApiIgnore @RequestParam HashMap param) { + param.put("seeI", null); return Result.success(planPbsService.queryTreePage(param)); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanRecordController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanRecordController.java index f6cf581d8..95c8597cd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/controller/PlanRecordController.java @@ -1,4 +1,5 @@ package com.zhgd.xmgl.modules.baotou.plan.controller; +import java.math.RoundingMode; import java.util.Date; import cn.afterturn.easypoi.excel.ExcelExportUtil; @@ -790,17 +791,22 @@ public class PlanRecordController { } //将项目清单集合添加到map中 map.put("listMap", listMap); + Map> root = new HashMap<>(3); + root.put(0, map); + root.put(1, new HashMap<>()); + Map userMap = new HashMap<>(); + List> userListMap = new ArrayList<>(); + userMap.put("userList", userListMap); + root.put(2, userMap); File out = Fileutils.getExportTemplateFile("excel/plan/计划编制模板导出.xlsx"); - TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath(), 0); - Workbook workbook = ExcelExportUtil.exportExcel(params, map); + TemplateExportParams params = new TemplateExportParams(out.getAbsolutePath(), root.keySet().toArray(new Integer[]{})); + Workbook workbook = ExcelExportUtil.exportExcel(root, params); //下拉 - XSSFSheet sheet7 = (XSSFSheet) workbook.getSheet("责任人"); if (users.size() > 0) { for (int i = 0; i < users.size(); i++) { - XSSFRow row1 = sheet7.createRow(i); - XSSFCell cell1 = row1.createCell(0); - cell1.setCellType(CellType.STRING); - cell1.setCellValue(users.get(i).getRealName()); + HashMap hashMap = new HashMap<>(); + hashMap.put("userName", users.get(i).getRealName()); + userListMap.add(hashMap); } } ExcelUtils.downLoadExcel("计划编制模板导出.xlsx", response, workbook); @@ -828,7 +834,7 @@ public class PlanRecordController { mp.put("plannedFinish", DateUtil.formatDateTime(planRecord.getPlannedFinish())); mp.put("actualStart", DateUtil.formatDateTime(planRecord.getActualStart())); mp.put("actualFinish", DateUtil.formatDateTime(planRecord.getActualFinish())); - mp.put("weightRate", planRecord.getWeightRate()); + mp.put("weightRate", Optional.ofNullable(planRecord.getWeightRate()).map(m -> m.multiply(new BigDecimal("0.01")).setScale(2, RoundingMode.HALF_UP)).orElse(null)); mp.put("chargerName", Optional.ofNullable(userIdMap.get(planRecord.getChargerId())).map(SystemUser::getRealName).orElse("")); mp.put("plannedDuration", planRecord.getPlannedDuration()); Optional.ofNullable(ridToMilestoneListMap.get(planRecord.getId())).ifPresent(planMilestones -> { diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/service/impl/PlanRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/service/impl/PlanRecordServiceImpl.java index 0ef59227b..a6b8dc7ca 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/plan/service/impl/PlanRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/plan/service/impl/PlanRecordServiceImpl.java @@ -893,7 +893,7 @@ public class PlanRecordServiceImpl extends ServiceImplGJiYwcMQwOKqIZ+3sdM?SJ~!5uG&C zS+(*5g^KNxi629_@(P9mODHN3^iK5@F(NaYI>Yp9Nl}Oec#Rz{fmBCjWDH)_roien zXqlg>htr_)CR+7}pmvxM13=y!GZtSWRM{odeXUnQQl5-yClv?NK5*Y+;8%?1Vtu$P zsY89SA5=4PK0hH!Whi|9S7eUAH*6kvvbwyes05$g@~eB-3KvlAh7qst%6KX1nY8e$~#9uvOmngT34 z3Ugv7r)x7I@#W%U-xVbs)5mBEiu2vh<``~#^^!S;{h@FHI1-s|`=(D7=6_CoLuF?B z?Gtb(lmI7d`rXpFYncP!G&vH$kNPagvqqofY^vmEx(nGkTQ}Y^8^Bl2CCh+u3y)k5`q6iU7_Qr|$-Z)b)k%|J zg%n@V`jN7v;59B~^4ytbMX-n|tN_|+eQ`Eg$ogGpM|6f-&>7tmTm>97ufGZ~GA$Gl zEaj|skJ68eHflaF!-(p*mu3VP?B)fEI&k_kefcgY)#pFz*uw6eHmTprpYBtr-ua$j zGegV;E&KJ5q7Ky!xk7P|W+(e-4Jpq|*!2qfEQ}n}f(+kd@f?d<4|3hEQOi17=zca$ z>x}AB(*Ks`U1Goe_z|FP*5o}>mz~l4yzlPI)uH_RU+%P{GuStuKg2zweGzUnX^ml~ z#5|uC(rIGqp!;%SN_T|+(evAx-F$(j6vDEoqvaMfI*Spcm5|w0c?}J8u}3 z$iU0G@3@Cn75lXsReam4ZlTIQH@EE;uV7j!>nlkuSU3hUi@|A6TMD?Io2``EnKr~~9RCxk6};SSHNU~z8G-tZ>-ObW|u ztk&zb@i9NJU3Jxd+tRm_s<_MiL}Rs3F9go4K0f`EsTlB^iO7%(j5thL8#7xdZoIph z6()x}w6Ra(zrHXlq&1U72;nJD&56<)4U7vpT6z+x5|gN|BS*?dihcn zS+Q~^Is@{aO*EU&xEb!g%NU5oVn)Oa>#j7doD{Z=eZL75>!#&gPe{X!JQ9uCHfynV z=6N?84)}yAt3-sqwZGM^QxhTyAXmJ+FiYgV0e`X?O!aJyoZ7E_j5=s#3cNi3Iey}` z)B&7Bq3TOUGe@6$c<>QYd~qM7uvt?QncGIL@P|52sNUDHH&;cut3v55!_FIGRIfq@ zQ6KKZJ)$O#s6L2@d?TCDO7=-NJ?*-nyj)3VOz&338$62i6=*=}ztCF7dAPIwID8It zufdG<$jDhC5C}CS#&A{5w1wYenFInEA%j5R5YPk71tft6DK8`$qj#U4@rf^SXguGM zXR6U<(W;u(ttjVvFi6)Ozf;i2;(r-Rg_^IQ@8xAYraRc{_~adS`H)^E9L8naO+c>E zW%uZ|hIRuXON$}P;+mUiw+Z#`JpR3(-*;ZLX#mvpYR;P2f@Oom9h2C6t{Q3N9Ii+| zX>mjwuy*y-T9$ybv7$mQ{8~0FE66txE)I+B(w=j^6b?NuC(i~ zXxkpzDqg?2>iRZ2aQ>HW-pq(om$C@73jWfz)h4!I^+r_-Y5Rn@*!jxbBI6rjUlotX zAza&rIQ|>HE!BE0^2m{Mb8lk)wxOC0pN3{Dkap+0G@s#ecY^e5S-)D9uCe7WU9m}TM2>(2_-51)XXPD+Sx)kC=D*I*f=ycW_V!NUE=D}nl zKMdoR2u1y(VBa10?Ve!p)s-9=h#tLD^JYpvVuD_`O<5Rw?nsc z79&X}$M$lVhvuXx!JDO)2l-8Ml7xOV8bgyhQ2*qv(14ppD7Wu|z+BT&2<@oqKN+BK zrEl&3%|PJ48Q6p(08lSwN|JGKS387i^dt#%;j7oJ!&$I#r&>_s30wMH6^(;)o`jz} zS;*qY<_y7Q(y&v7%fR}OfW~MZ0nMc9RV}TD^(y13 z#`%Tqywltu1HY8u8>@Yca3`x^IYVV4XAm~SP0A{3h+YL?3Wdxkrc^S`28La!oK7~1 zbP1p(Td)wbDpIz>y5YzrrPD6v-1r{6_dO7?V{tZWe;4!)SzY=z&hmrJ2H_q>;#`S- z0UKC9is5kFFE^^ds9kd6pE>}0mgL9NA1n|#b_4zo)Kf3K&pO6~_+-{D$`ujD-dFjn z7^DhpN0C6FZ89Q&t`LJTFy*!wC#`3@G{ZuZH?Po#UL(xc>`JVLX@_{Ab7B0F`O(8N zI(fgheP%q+Q2?G^CmlxSD>9AmWOZ;}{VY{Oc`s1XE$YiNPZP_1iae*K+Dp=)Sz%=& zY<@>)ZNk`=a+_14HNVb|q0~y8)}%C=zoBo#{5JB^%6{qTsx}wv`3AAlwJ@ML!b^I) zKH;sJUds3F3p_z`CMP>GOuW8d^MHFS*^{fx#IVIGA=5QRInU>Xlp@{gVd<+&NGdO( zn@)|ArWsM4%SH-;7=ut2Zor)Q$Fv%2D95iD$&G|%*QR(~ok=Q}JTuKLs<*DCFNnkX z+0F9}cpPdn%A*!dty@(#1nqHDFWYVeK=&44#hG9$s}uUYN`qN?{e#NM+jbD~XtQ=a zQ9dmm>REK}WjtMvEwQ-GrReAAQNnC$0pvi$6~}_8VvfRR6CQ{IFS{l>Z03i^sM!rn zn|b$Z%VYnQ?u%Sa(9NU-l)PH)mt^XF#yn<|V3RomE(H9?{?0?g;Ht;tGjxef=q-)EgM!%LA1Z=D43U zUEa`G?u+<1+{&>QCR07_^=swS*=Z{zthp%9zL1FGVxR>yOS~?(0@j^!U%0!AECmg( zTLwCM?0kUUbvEmk;D#GJ6dPDAQlncO(ge@cWIdfaBR8l|v4L_Z2hwPzD`UZb3bS%# z*ZPgT`W`RqFVMG5zLa=vxIyFLXhbVqSGKt&ydhS6X+(cA$=Gp1q75}tnuwZc4-UO< za6S$U-v2fKc~WJv6~R-Z)R*jRW=S1GtiO^ z3EY2vEE^nU+wgiS;rc)_OTNClY4y95&V$qJ@hhCR-{QGL9ZbCMP|kh32d|Z8r@1;y z64sfhOqQ5Y;&RjXP8|erf!Zf8b#Qt_h5Qol6C%Z#P$*8da4{FICbF6NY4z(W>O_f` zMH^Sgl_QJdM&MIghTNkq{1j`#p77{8dLTyIl$Y=-R)IpyPebsop++fgCe-|@hkkrz`iTS;xbHorLKB|l-#>5B z{>31+u}#14IQ)t-ZOzn4u-eS$MX8Q=vO{0rgpTi}u_WK4UM`nFZ((+m6y;H#+j4*` zX$Q9t_OqWOB3h>27bo9Q!Zk1!kS>{eY-N+;d+*oQddjo)^=GA}U=ZV){gLO#FayZ- zLD`gDq;$!*$tHIS84HJ=><04N75J`-g;SqJ=3p7?u%OuYxGM)(Ww(?(adt3ebUvn+?el9K zbAa#McJC}YE+T5=3W5*_sET3-J4Luitiksp;D25$pDSi0aB%R7 z8kH|O1QOtW73>t{2GJ-6k_b=5~7diNm qoJ-7DkA#%<|LXjISIz&XX#?HSVu*iky#Mu2f^}#y%5agtZT|uv2fa4{ delta 3657 zcmZ9Pc|6qH|Ho(S8OFY=W@H&;cgZfs7GZ3O>@rhXhii$9eHZ2ZA)9Jq$%5Gv=y<gH3DHXjc{uIyVxHB4mXSNb?nF4CTsBWc|0+a5xM z7@w?oM@M7xogAe+ia(BAP9vdAs%hbwDVQ8hVszT!bV?(A-NiF4zt3#l5WFQ;-{2r3 z7?kO-v4}&3*YHr+gQ3@Vf)hHZK_GKR5QrB9cuVl(>TCwE(@MPWg9wxeS1j|HyFF3g zsw=B(;-LbNIK9IJq{qk^R)G*x5AvFI%zD2s4R!a>YYTVg_wJ8Cu0|zyy7J(*g9iBw zLM6C3LQ-^PS`)q|8s2P9-MZLPNq**5sMu@yLC@6fScfaTet-9Ih{zH!g(_i_U6SZh zD^JEfp_IBCD7;ih4GErl#(YeOGkd#h4Hq}^Do8m(vF0A|xu^s(DID-a-%M7;R3I%p z6vrPTEld?xZm8K5=d7zd;Bt~MqIE0Z6*Ri_R*TswSbpg78ziHM(v&gstJ7Hy}Gq^i1my2!dk^wCPNu&Y%8Pg_r z301onI4(mtXMGiqy|DOQHtNpKkD9hn5 z_xPnw6$V_+=t|7=rCUl*c-^EpDo1Aw^P#Of(v#iWlMTUBFZ99ZCSf0>T~(G6-X)B( z%B>1j#5d&zuziOw)FuaOA#?v^Q`YUMO>Q_Z^rX(1R@LsluV^-d**ejSBj{

tm?%Q6!l~LQ4W51t+%u-9HU;2nTMCGlRVcQ zQ#h?0jm6zxjpPZHVu*~FTmZKPeg2fp>4+SCHc#(=5y#xkYtXNe~aWd+@m0# zfernolRb(Sx#hvp>8>P#=7E;=H~>N0g1f?mvHh*LO_iOobJykYxDBRSiXA7BdnBBb z|KaiBJ$hvs#%V;ZGp|?7&@O$hXxv`pTD3N^R#BpFAU9dcCmGyRroOBv~ucPf8JS78&dFHvV-qez*oP4r3*9^Gjv^;8Slb z)eJ}64^Sgh#l-NI$=npssh^wa=T6xa4|IM#@>~HYWWGY234$UuB2vEATt51kYMzzK z1lhX)_2d_EiN*S~#$|Lwa!2kQ+58#q8d^f`yrDJ>j2jI;=@_+D`MEsKbC`mMYAC@U zVfGR0Bg?siPWy^KqgGNq_~rwTHj)z5q}QoPcO+E3L?%a$ed=Nz7&|IN5d;vs7Eh16v3^|$#GINCZd zYN@qXJ8>cnEOs~dq4Yymg*&LQT01W2Q4DSjRHqVE6#kCAp9!meC*Y=IBR6 zR^dZzDxn-klN>+4a$$FrPFpza_u(@(H}f$VhRmXR;h9wFE|{~j;f(WhKIZPMjdST; zm*07^wsQ`7c1_(kwCG9Wd2>krZz_CA3J;$Drb6j|Q~;Zdd^r5y0K`$K51~;TbwBDH zo(h@D2}6kO5w0u58dnmL)#$S@!J8ajtAXaL)-@B=+a{e^-qL)3Me-S3G`cxcFUuI* z{9$UJm`TnjJ`S=F9%&xq*2w(Hg%7iJcyIrUckeYdtc@oB+9X?SXpzNeBuTs-^h}aj z|5YMsq6Eh&v~u4QYtuBi&C+*gaT(c==Huc_%4SruJueuX17j-_9m`kc7%>TbP3|Zy z*qHoY_6@not5FNTnL5z-s) zb`T$_nb+YOOgX<0jtF~g{DcKoWzG!nB7tZf0qDqc1jhu-WB|&t#fSX4N{-|Feqi0wl_NzVu=FmXR%Hzf!%iDMQFq z%2G&&x4}N?JUfdUlbWO9oL(=VI6pFn!^5<0J@`uS74PFU<@5_R-g zAQ3tch!cbt=f*8(y4)ja^LCRV;qksJ0&Rpmd3WJSND+l|_yAn7TCUPG)7dCi?$3ne zlMHBo4MX_96yl0m(9W)%uD_GBYae{4I?3p(BzfJCYVS;AaQ5tibXwhU2U`EBp&o5L zs@y`4ZoUFz@uhk=`qAO2K#zGu2!}#jV(M6ePXDJ)2rkRQdF57x=MtF4nDF{m+P0?mcD9R;jF`7Jz9lwNGrLJc=>yjE-S#{l;IUe zUft?JD&o)rk^Y_X@Fyps{zLJjyV;WmT1WcygNrU&YvK76A5kttN8g2l`r-ce%-oW1 z#Y&5dOgh19Ng7aX|o6xw3?OY`ewz&*9ov1F~5zUbXu z<5KrT6m7kqvvzETlFI?CcqL9RX-#*yA^L=Ui0$WapPji5Rh)|0z)^$cBQF+}x-_!k{Oseo;A&(8w)EbmzMXzzJFOU>KJ$cP7Rg#i5 zx*l>oH!-oS_>|VNeW3PjqM+X)qrk^RLb?w$?EtxC(@5%1hyJiBGmyt#4SB#Q;`4QFj@ZbBeFY=M<;NIV^R& zDT7#;J1)ezAf|nB35v^dPm_Wzt1Og-@yk}xVUM=1&2J%=RqX#b54W?fuLaFE3Krx_ zXc#wm7)3ZRbY?Y)sHZFu7?suIEy;C)CSBd46k!^|G#A=_H%l2l^;4d0n*Q0!K{A^wsC18hG)vco z^mjR^rVQInXm>%J7p8hxGt`7|-BoL{MVeQdKzQ_E_bg&>lLb4*E?90yRq6e$Kg9UQ zfak$7{4V6#$M)4ijqqw)6HOU(KJ-R94w~8eX@32Jk{Q$qcl@{81A^lGHE(zhq2Mf_ zOjMg{6Ao;M%7ZxpxES!ivFfdu6_^izBDBE)fEhv-tPVsVl)!F4Jwi(G-yZXup5F@$ zg8kmN+417qU=!e~xGJ~+2oqPL>SF>}nYn;oaaMu