From 6425d9c7c7cdda39d5531296031ffd470036e3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 18 Jun 2024 16:06:25 +0800 Subject: [PATCH 1/8] 'commit' --- .../ExcelExportTemplate/Query_Xxhsbcx.xlsx | Bin 0 -> 10923 bytes .../ExcelExportTemplate/Query_Yqsb.xlsx | Bin 0 -> 10380 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resource/ExcelExportTemplate/Query_Xxhsbcx.xlsx create mode 100644 src/main/resource/ExcelExportTemplate/Query_Yqsb.xlsx diff --git a/src/main/resource/ExcelExportTemplate/Query_Xxhsbcx.xlsx b/src/main/resource/ExcelExportTemplate/Query_Xxhsbcx.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2863716153e1d0ad0e31d50e4863896c642eb334 GIT binary patch literal 10923 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 literal 0 HcmV?d00001 diff --git a/src/main/resource/ExcelExportTemplate/Query_Yqsb.xlsx b/src/main/resource/ExcelExportTemplate/Query_Yqsb.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ece1752e8459a5e274de8ee0125513e93bef9ab5 GIT binary patch literal 10380 zcmeHt1y@|z)@|X1yF+ldAi*WLB?JlX4uv}ecXtAT0KozTC%8B68VK$Vg*!pMYPm1n zblxwx_tY3i#@TC)I!ouCdn?Mrz~TVl0YCr%Kmict2^h770svs)003+N5L#Q@&eqw~ z)>;3phrOwjE~~qZHF*v!G<_BT8Z!QW$A7T}O5XO{c09*uQQs4hXjKc(4lODIk~ETN zQ|};ra8J;nuH7W0zw@RuQ&O!2w$mtCk80DN2@;gf(Q1mlT(@Su)qF#3fLst=>Ubh_ zFY`$fyyjIa!cyX%}N}cYSiT)ok&$#ldhr}a4HoWs&C0;_XZ|# zvUDpg2>HdyURstw720r+p>T#EVpOu@oRXXS!Lv~}Ty_x#z)&SawMLtV)Isz&|)Ted1KS(04Z*U`0-`@7bvj) zC}43%iff6ExxnNS-}D!T=Qik)}1O&#BHKvG)q{78#PJ`i`d7 zPHe2dpZ}Mh|HV1^w@)ugc>SjHIZDWp%w1^T)zo4fhM2sYs7w>ZTOU8!1@xNeTx#OQ zHaZfFw?u(3(!MP|cLVc_g3)_@6qjpUC6QP-0#vnbr6DP|4lW3cw2sMA4kfEyn66V7 zQq)S z4XLQ($=XXC{pdTLoWF}I62|umJdujq=VW9)TjtegO>uEUq^e@UXIWvC>Bvv%p>JaS z+nL12Htc&Z7KQXaWlAorYmQOrUYe{6U#)7clfev+E*`|r;=belfJm~!B}m8mcaofs zjf*0{008~)0026~GVa!FZg!4VMs{{qzxS~c)nU;5ON>_hTQo5@NiEF;8%(}y>HLuD z4_qSn;u`W+R+V|GZqt?GeGQ{yD%sVF?<~l&#tJOup5<13HKjYDdCdsc9Uj@6w=)xt zzC=&fEYihbr5}VLJoDMmwUZ*TgHW2nc8MP~+7mU* z1?ZE^qEp6ewTz&rAjI=5A?I_ajWX8==r72p=WVZ)0mf^B=8`v43G*9T#g1=`pU;?x zQB4?+3sN=c_}eEKA)ZT$AuDB@jvKFV44I#GglVV&x<2H;)l1H5OqP5wNaKv@We94K zD68E#K3j=pCIIhI+aHj;9}nYfr*%Zn8phqtxQ;iabY_DaTqF@h>u2X{$SMjUR$K6- zWU>p~v}upKu;zlDV60gaKg|r=vaO$eXXPuV;@Fr_781FJI`a0jvaWn(oZ%~)aF`Y} zTJ5+4Xo>D^Npl62<2i*=vwbrws%;7c7|^l;%_?7V-k>9*vbKtES&1Cjw&P{j9Hs|P zLHch^FjxWh23_&7y+&cCIl~@AJG#Ekl;j;s0wWd*!5bPJ!h4wPi6sP!@#ITWKSaVX zq!|%tyIR(28+|{(WcA(4S%~+)s3$u|qnNcjfy;Y_L{h#y1hs)THF6gAW9P1Dz44&p zAXutxe1|w@9!#9kI>imvgP9VW|KirTXax-M^yxa*q1`WH+fIr z{Mo^@ludjXJ!HVG6k6?mKPe%2=DU9C+-cMnySASokseG=V~I7)tO2Xs5n;3`w6;#~ zY)K2Ha~i;OqY;D|R8|OgDL-OIRM|6F=w#UYs zyNA(UwmK1EQC~Hdnjv19dG+lR(Wrq4H4IFJT#D(*x3=eC+M+L{CJgAo%;s?idcDdh~3D~*uGLIeOpL2~BL-tza%`A?sLg1|sX z=KXgcCCabmyC5(K`62YV+ecSi%vonPO0eoaI~eq^@M-#fJo@$|pTtQ_Dj)*@1dtJb zm02eXQ&VRrwm&ZHzt`LJqg<}FWPyf*n5!k zWUJ@gmZ9clKg+mG(i;M=A0G%gFZWgpLFbH7?;HEsqm7~@I$bC}+Qj%ixMwaHn~+)| zsqIT`TvIdqXe@hckyg*n$^k?D#%4&=M`{QulGVl7iFehwDpWwZ9|GIVnF3^{ zsKeL!lwNVyQ<-exg|N!^cPDOn(hyCHMir(8-r3M-3yk5k!4-U%J(x$FE`sZl`aY2X zjYHL4m12{NIzOp+6|X=jEe*2_>$7Ws{k=RrX+ug|w-MNvH+a){N27_=Gn%)5Yu7Qx zz`mw>3)7sH5c^re++5Ak|1(+8@aS{jrdPEok};1x_vX;?w-l`?ol7Fkdbn5$GwQ)n z^iFp&Rcs8j`>H#i^p#1#ANd@u&vYjP1fZVbP%UQ?m%2T4;A=$qTXe!@T0EwwPIC4W z-nt4C2!=j;04Y+))s`>vcwaMb)H<$kMJEvAY&TIcDZJ@$w2-fe#2Vdfga<~+$htSL zWHP#VQEgK-!eQ=&q$`)y@|E|8hDDrd|w zW8g~9H_CD+dOw#Yo8JY)ia12QBl~D@;&dPszjM8KmA+Y z&j*KAbxA8%OL?y_bYcYSr^Bl~jcH#f7*o9IjonG&Y^VIe{jB6iE$(5j&wyrQxVk*v zuA2ayN4|S5nnX$z~ZAND7&Xl4Wu@H=Dar5i&P1?7WtjrYd!T zIiG|ba;y}^n0GxZ0WTjCtqv7=WvEK$)22=$!GycuEjQ8Z?z9uXQJypRv%}P2=6gYO zO!y8D*Z9RT7O|F`l5cB6l}<>E%o(Jw{Gv*{7V%>af_#@B(eK2p(hKfep*D?tGII;YX-nBn4Rr$iEpp)WKT722T#GqPr4{4`OOPd5vCfLQ|mVVu-b+} zs{69?)ljSodzXk94@p3%R2EkMB+P7tFozWXHudWnrVq1DC?)HPXz#`3C+)>HJxR}C zOk4r$7fso>OkkwIT}$1I)ZyNb3f>~eorgVb(2AAO#9Roga6*E^r(={BE^bLiB}ok-RIr@s}A@E5vtQUnv08 zag?IU(j|EAA+(C!m^mitnA>4P#`Mi_a)hB~<%g&(@OLR9`nq4jvV@|ztoo5Z9GBAe z_pT;JF-!EeAnNI&p4#t{JjYCw9WQn?(jdukF4Jzly_xrgOgwIW)P2$u`oVg1PMNuX zozmuWe;O;Izx}L73x2ixYE=K>;jSBf`R-znGxEwdq=(;20&6H^{(7OI7mFY*Smc?x zojH31COfktN-Ikl0tPRsyJv7A>U5_Wkjx~DjeDj2G`{_UdL%hO<6SE*9sKbJ_BrF! z7l1kweXStrL1)_|LG8VIPhiIEZHyv_+Py-@uLA4iAbk(~a1+jF=wXM5V5(1*Dp4%C zo-$#W)5aYA1m>Kpg47D=m{u}UCe}F0md-L*eS-s17|J$XTi5>Ij3>GGgoQcdkG04_ z6e1myz;!4sq@)?07)7xQKQao;d6~?Tui-Jo_E4#r#slf?I8L@z4THkAeU zAIh+>QxP3OXC6TW-{QSpiMr`EHTV*_zE|oWtI#WLESPq{ivkv1 zzcd_nVZ+~?wbW$)C^~$YYx)kq)9R~`xpxBiO~S#$5sl|`lh=iqE{L_sywZnQj%fIMXkQIZJo4O26z#Q3e4X;W?)(P z4^b{}?NgbvT1tD@gH=POyeEKr3FV|$|UI21A~C+d`Z-#>S(?ys9dT< zIrUR}}2 zOkL4M!{LV0P*#%cc~8G=j;CYsb}j%lHGT1E^Tk{*#3fY4Jp^(h32-?hShx6e!goSq z8t1!SHZk>}KrN!Jy0g;FTxGhjeJV2D;2LM%ekHEDQDTYz4V|aos$@WR(%`*(-5mF^ z^8TDvX`oom2v*8aqup}~i^+iz6i~uREsFdwtJZ6fdOi6VCFWt+yje_z)S9ljPeqeP zjbngDIg{#YaV+WW6_DEpc5OT~ahV2J=QCC-w+Rr>`)1aGmH0S95U-mEvn<_IivJLs zZRb`=D2!2$iQw&B$dRg+Xr0n7yl5^r5Tw_p?u&#S8J4IO=W9XOfr+Dw`$_xlkMDFT zCf)I|+Y^-5mWY8IU&)8Ob8h&2fL1Xf1n=Y!(tx(?$RjLvJ zON$l@dF}C=BZ1wBWrEobO+hErV;}eXcAkqx|EyPnEi$JBr;8 z9wFfM-_SP12}NQF0$4^MZ&CkjT29U$)}~Isq?I|vBUDcKEZOYv)l!j+*^&3| zdKf*F({t?YP$TWv{D6W!0jGFLcUGi|%RDLct*h45DbQ%& zW(bBU6l}RlwGv3cC7pjc4r$ulNS?PONlZ}Hnw1So@JsHfkCq7R#YUMZ?|tXyZ5#Kf3l z{UE%$CY`xU6J}rV;?vZdQmdhtYZT_fgK*dr${75|>GAeD@oMYCpW0e)_TPVJbda2F zeSfQE5U}_~6-TE$I3|BQfiOn)e1Ku-H^o^4O>wOnaKQ1|2;oPn>0%sH%@ue(gRIaq z{l_172O?}s_YdI3#HCC>@us3CsW!e z0Ryf{VBUW817l_I<9kIUP`{U&Vly5Ir#I&<>3W8ues)s6j7=8Kv!?Kvo}-mFOvHF0 zU6#5AbJ#+q3q;Oync9LUrU=fNfxH_*mGTFbWCP;QomH*mB9Dqnlw-*=kE3=eC($Y5 z7Asu51jeBVb8BX(W{wpq)Ks1w+fm^H+KltO3TGE>k?rcN%Li*&`wpxP9qm7em^cqJ zO%x58*MHI?rr1@PDMI!_+lO5eao@xpmd3L2RarXZBmb5dw7SA)aK@g{2)xrzT3sW% z*hd`D?=7coAkUEE^Q1CHZ!q6=V~{M@Z}s}o%SN?b=9(l*Dv(g>r^zM$@UgMndEVHz zXBDR&9**H8=1Xy>QAEf|U0zlbQoy{Ww{&?h2L=OCPppgX*$}og(M5fT7OcJ%on?ei zqsGFUWc*aS-b2dTPCp4(ES6+foJ_XlL1qWPV!qCyw zM8(5+ zFX%y#@)t|>XX&IOu*?der{B5vX8imLQ}5M_mFIX-qB5@$Zs19&p*jMF;>LJB@P=^b ziH4y>@&nnI18;O}VQ)hs{f!cUoTwY2{#b@?++yAOqUv9Yi(hRY@Ry4e#_clRy=|R3 zuTBHEoq|5{5G_V6>(SB`c$I%|09~48e5Vpw>aQ4ff#Lv-rk{ge@OfZS7;(2Q%BW{@ zw$8QBJF(=}UM)|9`bE#YbC-r;SGI|FHTvhT4=0V)uGx2*cint07 zWxeV)jM42J{CrB>70$h96^ZF@o16Bdo7^9N2!0_pLyKpgY=jQpFvhp2IQE=lX%nsF z-CMvxWD$%r{Kndv2BV-L7v3AEfs0%jtVDfJ(CO1PTN#7+B~Ey2RyN$@dH+o$@mNU_ z$mUcZp_)yh=7@R2TRo6pNLlj%9OF$UXq($MB6B(#B+D0PAeSrXn?{=AK z<&6fLZ!h-Q28%+6|LX$wvo zmRncE>3y`kD;zOm2HKjj3n6ur zS@#xDe*s#6zP)~v^jD|rW5$hO6@M(4I3X|G(s4(I~ zp~2)B?fI8B`>hK$BCes8yTEwcZ?|FhZzJA`e0E~(AZYmEB5G6ddKX7>*E8mz=m(gf zs&Rg34J-22(d=x#e^~Y$?y3D#Jw#5M_Cax6P}cdKv^ST;RLwK~$?~SJ%rP zabl$m<@l~>z%0#PIl|VP4!v%w#dMB(>#>K`0_=1}Ug@)#hG*Hs8@`-2WpKt@$r|edjbI&Cx5BfxbdiLK6tF>l7#PrE zFM&WP3i6*1{tiGvz_0u-JWl)V6~zBm5SkYgLi3u~87n&4**mcr+c}#4waEWJb{Aqg zuLRvUo#X_;N3ZYDQLk7`$y^d@Bgtmp%fBiacb8sSlwz)is-AC4snsqWaYx*4M&E9x z&^=To^a`l_IzdRO6a_ujjHPVHd9G8^0f$s#tX1)KA}$+7qk4#qO<7MxkIgYG)w%> zZMtih`{PMf)X%nV-B6ofR+5Mf$~bPK6_w@pUwO)%$XM2CaO{8gStUkXyF8xvvOV4? zlZi#Zytb%jb5z#Lcf0CF+D!Z~)X9su?jeeor1NbTTqT7Crr3+~h(%YGEQ2TM zCAp0lorrk?+o$4nDRj#A%MiS~3cagOl$1S0+TuuQT5M!s6MAT0}s;>fUE^Ke!xDjGbLm zc=xFb7R-uuB%PLyw@a!UoPxe&<217&<$MefMu%7D zz-|5%@kNa$s$T=ID2n{rMwBEFl+3L}E5QIFnaUaurcOhzuJulCR>vetkD6j6FpaNB zt7WxZpO8jzyx(8D9o-(DmT#9m0@=*i9rSKBkkq2$fVsKhNf8j6f;a-eSDgF=M>(QFL{`Q8Oy;DK{n?-GgahKFBBvCcz!<> zf%xms86*@m3j`$odPmiNy!xN(FZNd{%KuZrKlgh4NAUM+0VH+)w)5ku;M4W*pQ1w$ zBKFB@_*3D3E(HD*h1?FUr=O`ItI?@#<|t>~$ir|j`hEt(j=c^eOiLDT+`0r|8p}z*7xR@#aqrnpP>-pcsL6m Date: Tue, 18 Jun 2024 16:08:05 +0800 Subject: [PATCH 2/8] 'commit' --- .../java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index 32b2ccc8..03bce197 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -6,18 +6,12 @@ import java.math.RoundingMode; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; -import com.dsideal.QingLong.Interceptor.IsLoginInterface; -import com.dsideal.QingLong.Util.SessionKit; -import com.jfinal.aop.Before; -import com.jfinal.ext.interceptor.GET; -import com.jfinal.ext.interceptor.POST; import com.jfinal.kit.Kv; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; import com.jfinal.plugin.activerecord.SqlPara; -import kotlin.text._OneToManyTitlecaseMappingsKt; import java.util.*; import java.text.SimpleDateFormat; From 79037903e47d6367644a1de3c573a4a968e5d4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 18 Jun 2024 20:17:28 +0800 Subject: [PATCH 3/8] 'commit' --- .../QingLong/Zbdc/Model/ZbdcModel.java | 78 ++++++++++++++++++ .../ExcelExportTemplate/Query_Cgzb.xlsx | Bin 17328 -> 17337 bytes 2 files changed, 78 insertions(+) diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index 03bce197..14d00674 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -852,6 +852,84 @@ public class ZbdcModel { record.set("update_ts", DateTime.now()); Db.update("t_zbdc_fill", "year,templet_id,bureau_id", record); } + //回写数据表 t_zbdc_bureau_cgzb + // 问题:因为常规装备数据填写可能是在仪器设备填报之前进行,也可能是在之后进行,所以 t_zbdc_bureau_cgzb 中可能已经存在 year+bureau_id的记录,也可能不存在 + sql = "select count(1) as c from t_zbdc_bureau_cgzb where bureau_id=? and year=?"; + int count = Db.findFirst(sql, bureau_id, year).getInt("c"); + //如果不存在,则需要插入一条空的记录 + if (count == 0) { + //获取学校的学校名称等信息 + Record rBureau = getBureauBean(bureau_id); + String bureau_name = rBureau.getStr("org_name"); + String school_type_name = rBureau.getStr("school_type_name"); + saveCgzb(year, 0, bureau_id, bureau_name, school_type_name, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0); + } + + sql = "select km_code,km_name, from t_zbdc_templet where templet_id=?"; + Record r = Db.findFirst(sql, templet_id); + String km_code = r.getStr("km_code"); + + //仪器已配品种(个) 只统计必备 + //仪器已配件数(件) + boolean flag = false; + //小学科学(xxkx) 小学音乐(xxyl) 小学美术(xxms) 小学体育(xxty) + if (km_code.equals("xxkx") || km_code.equals("xxyl") || km_code.equals("xxms") || km_code.equals("xxty")) { + flag = true; + } + //初中音乐(czyl) 初中美术(czms) 初中体育(czty) + if (km_code.equals("czyl") || km_code.equals("czms") || km_code.equals("czty")) { + flag = true; + } + //高中音乐(gzyl) 高中美术(gzms) 高中体育(gzty) + if (km_code.equals("gzyl") || km_code.equals("gzms") || km_code.equals("gzty")) { + flag = true; + } + // 初中物理(czwl), 初中化学(czhx) 初中生物(czsw) + if (km_code.equals("czwl") || km_code.equals("czhx") || km_code.equals("czsw")) { + flag = true; + } + //高中物理(gzwl) 高中化学(gzhx) 高中生物(gzsw) + if (km_code.equals("gzwl") || km_code.equals("gzhx") || km_code.equals("gzsw")) { + flag = true; + } + + if (flag) { + //已配品种数 + String yppz = km_code.substring(0, 2) + "_" + km_code.substring(2, 4) + "yppz"; + //已配件数 + String ypjs = km_code.substring(0, 2) + "_" + km_code.substring(2, 4) + "ypjs"; + + //更新此bureau_id,此year,统计此科目的仪器已配品种(个) 只统计必备 + sql = "select count(1) as c,sum(t1.xysl) as s from t_zbdc_fill as t1 inner join t_zbdc_templet as t2 on t1.templet_id=t2.templet_id where " + + " t1.bureau_id=? and t1.year=? and t1.xysl>0 and t2.bp='√' and t2.km_code=?"; + Record r1 = Db.findFirst(sql, bureau_id, year, km_code); + int c = r1.getInt("c"); + float s = r1.getFloat("s"); + //更新字段 + sql = "update t_zbdc_bureau_cgzb set " + yppz + "=?," + ypjs + "=? where year=? and bureau_id=?"; + Db.update(sql, c, s, year, bureau_id); + } } /** diff --git a/src/main/resource/ExcelExportTemplate/Query_Cgzb.xlsx b/src/main/resource/ExcelExportTemplate/Query_Cgzb.xlsx index 39fe41460552f27d5074311aa29a4d8935d62a07..a00ec96cf81041cbe4ed13846d745ee1cf47bc6b 100644 GIT binary patch delta 11097 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 delta 11077 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 Date: Wed, 19 Jun 2024 07:54:20 +0800 Subject: [PATCH 4/8] 'commit' --- .../ExcelExportTemplate/Query_BaseInfo.xlsx | Bin 11091 -> 11106 bytes .../ExcelExportTemplate/Query_Cgzb.xlsx | Bin 17337 -> 17290 bytes .../ExcelExportTemplate/Query_Xxhsbcx.xlsx | Bin 10923 -> 10984 bytes .../ExcelExportTemplate/Query_Yqsb.xlsx | Bin 10380 -> 10417 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resource/ExcelExportTemplate/Query_BaseInfo.xlsx b/src/main/resource/ExcelExportTemplate/Query_BaseInfo.xlsx index 8a37cc5512d9c4f3e749db00c68b8aa4646e84ce..1f1a4842883e8b9aa01e89181970da1a8e425260 100644 GIT binary patch delta 3571 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 TBY{=Pv~XZC0cs(Uzf=DQ`)j2I delta 3530 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 diff --git a/src/main/resource/ExcelExportTemplate/Query_Cgzb.xlsx b/src/main/resource/ExcelExportTemplate/Query_Cgzb.xlsx index a00ec96cf81041cbe4ed13846d745ee1cf47bc6b..0f9705633285e02f0c7bd2e99e6b0f8d4ea309c9 100644 GIT binary patch delta 8155 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 delta 8217 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 Yoch0bQ}lh9Ji&K#DC{<{;_ub}0WLi%W&i*H delta 4871 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 J&iB{czX0zg&QkyY From 257dee25c510b0f43905506f22c1f3e1d58fa411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 19 Jun 2024 08:09:53 +0800 Subject: [PATCH 5/8] 'commit' --- .../com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java | 8 ++++---- src/main/resource/Sql/Zbdc.sql | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index 14d00674..6619e09a 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -1751,7 +1751,7 @@ public class ZbdcModel { Map hxPbl = calcPbl(year, new String[]{"初中化学", "高中化学"}); Map swPbl = calcPbl(year, new String[]{"初中生物", "高中生物"}); Map kxPbl = calcPbl(year, new String[]{"小学科学"}); - Map yyPbl = calcPbl(year, new String[]{"小学音乐", "初中音乐"}); + Map yyPbl = calcPbl(year, new String[]{"小学音乐", "初中音乐", "高中音乐"}); Map tyPbl = calcPbl(year, new String[]{"小学体育", "初中体育", "高中体育"}); Map msPbl = calcPbl(year, new String[]{"小学美术", "初中美术", "高中美术"}); //修改一下list @@ -1797,12 +1797,12 @@ public class ZbdcModel { * @return */ public List expandList(List list) { - if (list.size() == 0) return null; + if (list.isEmpty()) return null; //行政区划 List listXzqh = getQueryXzqh(); //有用的记录 - Record originalRecord = list.get(0); + Record originalRecord = list.getFirst(); // 遍历每个属性,如果不是area_name,那么给初值0 Map attrs = originalRecord.getColumns(); // 遍历Map中的所有属性 @@ -1847,7 +1847,7 @@ public class ZbdcModel { Map _map = new HashMap<>(); for (int i = 0; i < kmList.length; i++) { Kv kv = Kv.by("year", year); - kv.set("km", kmList[i]); + kv.set("km", kmList[i]); //每个科目分别计算配备率,按科目名计算获取 SqlPara sqlPara = Db.getSqlPara("Zbdc.calcPbl", kv); List list = Db.find(sqlPara); diff --git a/src/main/resource/Sql/Zbdc.sql b/src/main/resource/Sql/Zbdc.sql index 70a4218c..86492dca 100644 --- a/src/main/resource/Sql/Zbdc.sql +++ b/src/main/resource/Sql/Zbdc.sql @@ -130,13 +130,15 @@ sum(hyd_wgzjss) as hyd_wgzjss from t_zbdc_bureau_cgzb group by area_id,area_name; #end - -- 计算配备率 + -- 计算科目下每个区域+单位的配备率 #sql("calcPbl") - select bureau_id,area_name,nowcnt,needcnt,ROUND(1.0*nowCnt / needCnt, 2) AS radio from ( - select t1.bureau_id,t1.area_id,t1.area_name,count(1) as nowCnt, - (select count(1) from t_zbdc_templet where km_name=#para(km) and bp='√') needCnt - from t_zbdc_fill as t1 where year=#para(year) and xysl>0 and templet_id in ( - select templet_id from t_zbdc_templet where km_name=#para(km) and bp='√') group by t1.area_id,t1.area_name,t1.bureau_id + select bureau_id,area_name,nowcnt,needcnt,ROUND(1.0*nowCnt / needCnt, 2) AS radio from + ( + select t1.bureau_id,t1.area_id,t1.area_name,count(1) as nowCnt, + (select count(1) from t_zbdc_templet where km_name=#para(km) and bp='√') needCnt + from t_zbdc_fill as t1 where year=#para(year) and xysl>0 and templet_id in + (select templet_id from t_zbdc_templet where km_name=#para(km) and bp='√') + group by t1.area_id,t1.area_name,t1.bureau_id ) as t2 #end From f117a6458cad71fbf551ba0801ba0b385629bedc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 19 Jun 2024 10:00:22 +0800 Subject: [PATCH 6/8] 'commit' --- .../Zbdc/Controller/ZbdcController.java | 39 +++++++-------- .../QingLong/Zbdc/Model/ZbdcModel.java | 47 +++++++++++++------ src/main/resource/application.properties | 4 ++ 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java index dd5c359e..11755651 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java @@ -871,7 +871,7 @@ public class ZbdcController extends Controller { /** * 功能:上报审核标记 * - * @param year + * @param year 哪个年份的数据 */ @Before({POST.class}) @IsLoginInterface({}) @@ -898,34 +898,29 @@ public class ZbdcController extends Controller { renderJson(record); } - /** - * 功能:一键审核通过 - * - * @param year - */ - @Before({POST.class}) - @IsLoginInterface({}) - public void oneKeyPass(int year) { - if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份 - String bureau_id = SessionKit.get(getRequest(), getResponse(), "bureau_id"); - zm.oneKeyPass(year, bureau_id); - Kv kv = Kv.create(); - kv.set("success", true); - kv.set("message", "保存成功!"); - renderJson(kv); - } /** - * 功能:市审核区通过 + * 功能:审核 * - * @param year - * @param area_id + * @param year 年份 + * @param area_ids 区域IDS + * @param bureau_ids 单位IDS + * @param check_type_id 1:通过,-1:拒绝 + * @param message 领导批示内容 */ @Before({POST.class}) @IsLoginInterface({}) - public void ShiCheckQuPass(int year, String area_id) { + @IsNumericInterface({"check_type_id"}) + public void Check(int year, String area_ids, String bureau_ids, int check_type_id, String message) { if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份 - zm.ShiCheckQuPass(year, area_id); + if (StrKit.isBlank(bureau_ids) && StrKit.isBlank(area_ids)) { + Kv kv = Kv.create(); + kv.set("success", false); + kv.set("message", "参数area_ids和bureau_ids不能同时为空!"); + renderJson(kv); + return; + } + zm.Check(year, area_ids,bureau_ids, check_type_id, message); Kv kv = Kv.create(); kv.set("success", true); kv.set("message", "保存成功!"); diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index 6619e09a..b101dce7 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -7,6 +7,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.jfinal.kit.Kv; +import com.jfinal.kit.PropKit; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; @@ -2033,7 +2034,7 @@ public class ZbdcModel { /** * 功能:上报审核标记 * - * @param year + * @param year 数据上报年份 */ public void saveReport(int year, String bureau_id) { String sql = "select org_type_id,org_name from t_base_organization where org_id=?"; @@ -2043,14 +2044,15 @@ public class ZbdcModel { Map _map = getSchoolAreaName(); String area_id = _map.get(bureau_id).getStr("area_id"); String area_name = _map.get(bureau_id).getStr("area_name"); - int report_level = 2; - if (org_type_id == 9 || org_type_id == 16) { - report_level = 1; + int report_level = 2;//默认是县区上报的,1:学校 2:县区 + if (org_type_id == 9 || org_type_id == 16) { //市直属中小学,区属中小学 + report_level = 1;//是学校上报的 } - sql = "delete from t_zbdc_report where bureau_id=? and year=?"; + //以前的都修改为不是当前状态,现在是全新上报 + sql = "update t_zbdc_report set b_use=0 where bureau_id=? and year=?"; Db.update(sql, bureau_id, year); - - sql = "insert into t_zbdc_report(bureau_id,bureau_name,year,area_id,area_name,report_level,update_ts) values(?,?,?,?,?,?,now())"; + //插入数据 + sql = "insert into t_zbdc_report(bureau_id,bureau_name,year,area_id,area_name,report_level,update_ts,b_use) values(?,?,?,?,?,?,now(),1)"; Db.update(sql, bureau_id, bureau_name, year, area_id, area_name, report_level); } @@ -2126,7 +2128,7 @@ public class ZbdcModel { */ public void oneKeyPass(int year, String bureau_id) { String updateSql = "update t_zbdc_report set check_type_id=1 where year=? and area_id=? and report_level=1"; - if (bureau_id.equals("5CE95FA9-B866-473D-862F-55C813CCCA4C")) {//市直 + if (bureau_id.equals(PropKit.get("ZhuangBeiCenterId"))) {//市直 //如果是当前人员是张璐 Db.update(updateSql, year, "0"); } else { @@ -2138,14 +2140,31 @@ public class ZbdcModel { } /** - * 功能:市审核区通过 + * 功能:市审核区 * - * @param year - * @param area_id + * @param year 年份 + * @param area_ids 区域IDs + * @param bureau_ids 单位IDS + * @param check_type_id 1:通过 -1:不通过 + * @param message 领导批示内容 */ - public void ShiCheckQuPass(int year, String area_id) { - String updateSql = "update t_zbdc_report set check_type_id=1 where year=? and area_id=? and report_level=2"; - Db.update(updateSql, year, area_id); + public void Check(int year, String area_ids, String bureau_ids, int check_type_id, String message) { + for (String s : area_ids.split(",")) { + //1、多个区县 + //2、指定年份 + //3、指定审核状态 + //4、report_level=2 只处理区域报上来的数据 + String sql = "update t_zbdc_report set check_type_id=?,message=? where year=? and area_id=? and b_use=1 and report_level=2"; + Db.update(sql, check_type_id, message, year, s); + } + for (String s : bureau_ids.split(",")) { + //1、多个学校 + //2、指定年份 + //3、指定审核状态 + //4、report_level=1 只处理学校报上来的数据 + String sql = "update t_zbdc_report set check_type_id=?,message=? where year=? and bureau_id=? and b_use=1 and report_level=1"; + Db.update(sql, check_type_id, message, year, s); + } } /** diff --git a/src/main/resource/application.properties b/src/main/resource/application.properties index bd6d31df..0b0ced42 100644 --- a/src/main/resource/application.properties +++ b/src/main/resource/application.properties @@ -98,3 +98,7 @@ webHook=https://oapi.dingtalk.com/robot/send?access_token=4cf17e59830115b68c269c Secret=SECd1f1038b6958ab37b8ac8fd61e9e154106d72d7d4ef4dd435d10a11ffdf27215 # 日报发布的WEB服务器IP或域名 publishPath=http://10.10.21.20/QingLong/Logs/ + +# 装备中心 +ZhuangBeiCenterId=5CE95FA9-B866-473D-862F-55C813CCCA4C +ZhuangBeiCenterName=长春市教育技术装备与信息中心 From 35934e3c9863da71501e15dfd7adba5c5736be63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 19 Jun 2024 10:37:23 +0800 Subject: [PATCH 7/8] 'commit' --- .../Zbdc/Controller/ZbdcController.java | 72 +++++++++++-------- .../QingLong/Zbdc/Model/ZbdcModel.java | 58 +++++++-------- 2 files changed, 71 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java index 11755651..9885b010 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java @@ -636,11 +636,8 @@ public class ZbdcController extends Controller { /** * 功能:获取学校类型 - * - * @return */ @Before({GET.class}) -// @IsLoginInterface({}) //http://10.10.21.20:9000/QingLong/zbdc/getQuerySchoolType public void getQuerySchoolType() { List list = zm.getQuerySchoolType(); @@ -836,7 +833,7 @@ public class ZbdcController extends Controller { renderFile(new File(excelFile), "信息化装备汇总.xlsx"); } - /** + /* * 功能:待审核的学校列表 * * @param school_type_id @@ -845,17 +842,6 @@ public class ZbdcController extends Controller { * @param limit * @check_type_id int 1:已审核 0:待审核 -1:未上报 */ - - /** - * 张璐(市装备技术信息中心) - * http://10.10.21.20:9000/QingLong/zbdc/listSchool?check_type_id=1&school_type_id=341&keyword=&page=1&limit=10 - *

- * 南关区教育局装备信息管理员 - * ngzbxxgly - * 123456 - * http://10.10.21.20:9000/QingLong/zbdc/listSchool?check_type_id=-1&school_type_id=0&keyword=&page=1&limit=10 - */ - @Before({GET.class}) @IsLoginInterface({}) public void listSchool(int year, String area_id, int check_type_id, int school_type_id, String keyword, int page, int limit) { @@ -868,8 +854,22 @@ public class ZbdcController extends Controller { renderJson(CommonUtil.renderJsonForLayUI(list)); } + + /** + * 功能:获取当前登录人的区域信息 + */ + @Before({GET.class}) + @IsLoginInterface({}) + public void getCurrentPersonAreaInfo() { + //上报单位ID + String bureau_id = SessionKit.get(getRequest(), getResponse(), "bureau_id"); + Record record = zm.getCurrentPersonAreaInfo(bureau_id); + renderJson(record); + } + + /** - * 功能:上报审核标记 + * 功能:上报 * * @param year 哪个年份的数据 */ @@ -886,19 +886,6 @@ public class ZbdcController extends Controller { renderJson(kv); } - /** - * 功能:获取当前登录人的区域信息 - */ - @Before({GET.class}) - @IsLoginInterface({}) - public void getCurrentPersonAreaInfo() { - //上报单位ID - String bureau_id = SessionKit.get(getRequest(), getResponse(), "bureau_id"); - Record record = zm.getCurrentPersonAreaInfo(bureau_id); - renderJson(record); - } - - /** * 功能:审核 * @@ -911,7 +898,7 @@ public class ZbdcController extends Controller { @Before({POST.class}) @IsLoginInterface({}) @IsNumericInterface({"check_type_id"}) - public void Check(int year, String area_ids, String bureau_ids, int check_type_id, String message) { + public void checkReport(int year, String area_ids, String bureau_ids, int check_type_id, String message) { if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份 if (StrKit.isBlank(bureau_ids) && StrKit.isBlank(area_ids)) { Kv kv = Kv.create(); @@ -920,10 +907,33 @@ public class ZbdcController extends Controller { renderJson(kv); return; } - zm.Check(year, area_ids,bureau_ids, check_type_id, message); + //审核单位ID + String check_bureau_id = SessionKit.get(getRequest(), getResponse(), "bureau_id"); + zm.checkReport(year, area_ids, bureau_ids, check_type_id, message, check_bureau_id); Kv kv = Kv.create(); kv.set("success", true); kv.set("message", "保存成功!"); renderJson(kv); } + + /** + * 功能:查看审核日志 + * type_id: 1:我上报过的日志,查看被审核的结果 2:我审核过的日志,查看我审核的日志 + * 使用者: + * 1、市管理员 + * 所有我审核过的日志 + * 2、县区管理员 + * (1)所有我审核过的日志 + * (2)所有我上报的日志 + * 3、学校管理员 + * 所有我上报的日志 + */ + @IsLoginInterface({}) + @IsNumericInterface({"type_id","page","limit"}) + public void ViewReport(int type_id, int page, int limit) { + //审核单位ID + String bureau_id = SessionKit.get(getRequest(), getResponse(), "bureau_id"); + Page list = zm.ViewReport(bureau_id, type_id, page, limit); + renderJson(CommonUtil.renderJsonForLayUI(list)); + } } diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index b101dce7..6a45f568 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -1258,7 +1258,7 @@ public class ZbdcModel { * 功能:获取查询功能中的行政区划 */ public List getQueryXzqh() { - String sql = "select t1.id,t1.area_name,(select count(1) from t_base_organization as t2 where t2.org_id=t2.bureau_id and t2.area_id=t1.area_id and t2.org_type_id=16) as count,(select count(1) from t_zbdc_report as t3 where t3.year=2024 and t3.area_id=t1.area_id and t3.report_level=2) as pass from t_dm_area as t1 where t1.city_id='064BB3C9-E8DB-45ED-B0C1-6ABC5EA3B667' and t1.city_id<>t1.id order by t1.sort_id"; + String sql = "select t1.id,t1.area_name,(select count(1) from t_base_organization as t2 where t2.org_id=t2.bureau_id and t2.area_id=t1.area_id and t2.org_type_id=16) as count from t_dm_area as t1 where t1.city_id='064BB3C9-E8DB-45ED-B0C1-6ABC5EA3B667' and t1.city_id<>t1.id order by t1.sort_id"; List list = Db.find(sql); Record record = new Record(); record.set("id", 0); @@ -1266,7 +1266,6 @@ public class ZbdcModel { sql = "select count(1) as count from t_base_organization where city_id='064BB3C9-E8DB-45ED-B0C1-6ABC5EA3B667' and org_type_id=9 and org_id=bureau_id"; int count = Db.findFirst(sql).getInt("count"); record.set("count", count); - record.set("pass", 1); list.add(0, record); return list; } @@ -2075,7 +2074,7 @@ public class ZbdcModel { //如果当前人员是长春市教育局的审核员 String sql; - if (bureau_id.equals("5CE95FA9-B866-473D-862F-55C813CCCA4C")) { + if (bureau_id.equals(PropKit.get("ZhuangBeiCenterId"))) { if (StrKit.isBlank(area_id) || area_id.equals("0")) { sql = "from t_base_organization as t1 inner join t_dm_schooltype as t2 on t1.school_type_id=t2.school_type_id where t1.org_id=t1.bureau_id and t1.org_type_id=9 and t1.org_name like '%" + keyword + "%' "; if (school_type_id > 0) sql += " and t1.school_type_id=" + school_type_id; @@ -2121,26 +2120,7 @@ public class ZbdcModel { } /** - * 功能:一键审核通过 - * - * @param year - * @param bureau_id - */ - public void oneKeyPass(int year, String bureau_id) { - String updateSql = "update t_zbdc_report set check_type_id=1 where year=? and area_id=? and report_level=1"; - if (bureau_id.equals(PropKit.get("ZhuangBeiCenterId"))) {//市直 - //如果是当前人员是张璐 - Db.update(updateSql, year, "0"); - } else { - //当前登录人的区域,区县 - String sql = "select area_id from t_base_organization where org_id=?"; - String area_id = Db.findFirst(sql, bureau_id).getStr("area_id"); - Db.update(updateSql, year, area_id); - } - } - - /** - * 功能:市审核区 + * 功能:审核 * * @param year 年份 * @param area_ids 区域IDs @@ -2148,23 +2128,45 @@ public class ZbdcModel { * @param check_type_id 1:通过 -1:不通过 * @param message 领导批示内容 */ - public void Check(int year, String area_ids, String bureau_ids, int check_type_id, String message) { + public void checkReport(int year, String area_ids, String bureau_ids, int check_type_id, String message, String check_bureau_id) { for (String s : area_ids.split(",")) { //1、多个区县 //2、指定年份 //3、指定审核状态 //4、report_level=2 只处理区域报上来的数据 - String sql = "update t_zbdc_report set check_type_id=?,message=? where year=? and area_id=? and b_use=1 and report_level=2"; - Db.update(sql, check_type_id, message, year, s); + String sql = "update t_zbdc_report set check_type_id=?,message=?,check_bureau_id=? where year=? and area_id=? and b_use=1 and report_level=2"; + Db.update(sql, check_type_id, message, check_bureau_id, year, s); } for (String s : bureau_ids.split(",")) { //1、多个学校 //2、指定年份 //3、指定审核状态 //4、report_level=1 只处理学校报上来的数据 - String sql = "update t_zbdc_report set check_type_id=?,message=? where year=? and bureau_id=? and b_use=1 and report_level=1"; - Db.update(sql, check_type_id, message, year, s); + String sql = "update t_zbdc_report set check_type_id=?,message=?,check_bureau_id=? where year=? and bureau_id=? and b_use=1 and report_level=1"; + Db.update(sql, check_type_id, message, check_bureau_id, year, s); + } + } + + /** + * 功能:查看审核日志 + * type_id: 1:我上报过的日志,查看被审核的结果 2:我审核过的日志,查看我审核的日志 + * 使用者: + * 1、市管理员 + * 所有我审核过的日志 + * 2、县区管理员 + * (1)所有我审核过的日志 + * (2)所有我上报的日志 + * 3、学校管理员 + * 所有我上报的日志 + */ + public Page ViewReport(String bureau_id, int type_id, int page, int limit) { + String sql; + if (type_id == 1) { + sql = "from t_zbdc_report where bureau_id=? order by id desc"; + } else { + sql = "from t_zbdc_report where check_bureau_id=? order by id desc"; } + return Db.paginate(page, limit, "select *", sql, bureau_id); } /** From dd8cde4138a231e33c373fd5fe2daf5930df1071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 19 Jun 2024 10:39:12 +0800 Subject: [PATCH 8/8] 'commit' --- .../Zbdc/Controller/ZbdcController.java | 2 +- .../QingLong/Zbdc/Model/ZbdcModel.java | 94 +++++++++--------- .../exportSummaryCgzb.xlsx | Bin 12186 -> 0 bytes 3 files changed, 49 insertions(+), 47 deletions(-) delete mode 100644 src/main/resource/ExcelExportTemplate/exportSummaryCgzb.xlsx diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java index 9885b010..f7f02bd3 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Controller/ZbdcController.java @@ -794,7 +794,7 @@ public class ZbdcController extends Controller { public void exportSummaryCgzb(int year) throws URISyntaxException, IOException { if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份 List list = zm.getSummaryCgzb(year); - + //TODO String excelPath = CommonUtil.getClassPath() + PropKit.get("excelExportTemplatePathSuffix").replace("\\", "/"); String template = excelPath + "exportSummaryCgzb.xlsx"; //导出 diff --git a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java index 6a45f568..2debfc59 100644 --- a/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java +++ b/src/main/java/com/dsideal/QingLong/Zbdc/Model/ZbdcModel.java @@ -1742,52 +1742,54 @@ public class ZbdcModel { * @return */ public List getSummaryCgzb(int year) { - Kv kv = Kv.by("year", year); - SqlPara sqlPara = Db.getSqlPara("Zbdc.getSummaryCgzb", kv); - List list = Db.find(sqlPara); - list = expandList(list); - //共七个配备率,需要重新计算 - Map wlPbl = calcPbl(year, new String[]{"初中物理", "高中物理"}); //key:市直,二道区,南关区 Kv:count,radio - Map hxPbl = calcPbl(year, new String[]{"初中化学", "高中化学"}); - Map swPbl = calcPbl(year, new String[]{"初中生物", "高中生物"}); - Map kxPbl = calcPbl(year, new String[]{"小学科学"}); - Map yyPbl = calcPbl(year, new String[]{"小学音乐", "初中音乐", "高中音乐"}); - Map tyPbl = calcPbl(year, new String[]{"小学体育", "初中体育", "高中体育"}); - Map msPbl = calcPbl(year, new String[]{"小学美术", "初中美术", "高中美术"}); - //修改一下list - for (Record record : list) { - String area_name = record.getStr("area_name"); - if (wlPbl.containsKey(area_name)) {//物理配备率 - float value = wlPbl.get(area_name).getFloat("radio") / wlPbl.get(area_name).getInt("count"); - record.set("wl_pbl", String.format("%.2f%%", value * 100)); - } - if (hxPbl.containsKey(area_name)) {//化学配备率 - float value = hxPbl.get(area_name).getFloat("radio") / hxPbl.get(area_name).getInt("count"); - record.set("hx_pbl", String.format("%.2f%%", value * 100)); - } - if (swPbl.containsKey(area_name)) {//生物配备率 - float value = swPbl.get(area_name).getFloat("radio") / swPbl.get(area_name).getInt("count"); - record.set("sw_pbl", String.format("%.2f%%", value * 100)); - } - if (kxPbl.containsKey(area_name)) {//小学科学配备率 - float value = kxPbl.get(area_name).getFloat("radio") / kxPbl.get(area_name).getInt("count"); - record.set("kx_pbl", String.format("%.2f%%", value * 100)); - } - if (yyPbl.containsKey(area_name)) {//音乐配备率 - float value = yyPbl.get(area_name).getFloat("radio") / yyPbl.get(area_name).getInt("count"); - record.set("yy_pbl", String.format("%.2f%%", value * 100)); - } - if (tyPbl.containsKey(area_name)) {//体育配备率 - float value = tyPbl.get(area_name).getFloat("radio") / tyPbl.get(area_name).getInt("count"); - record.set("ty_pbl", String.format("%.2f%%", value * 100)); - } - if (msPbl.containsKey(area_name)) {//美术配备率 - float value = msPbl.get(area_name).getFloat("radio") / msPbl.get(area_name).getInt("count"); - record.set("ms_pbl", String.format("%.2f%%", value * 100)); - } - } - addSummaryRow(list); - return list; + //TODO + return null; +// Kv kv = Kv.by("year", year); +// SqlPara sqlPara = Db.getSqlPara("Zbdc.getSummaryCgzb", kv); +// List list = Db.find(sqlPara); +// list = expandList(list); +// //共七个配备率,需要重新计算 +// Map wlPbl = calcPbl(year, new String[]{"初中物理", "高中物理"}); //key:市直,二道区,南关区 Kv:count,radio +// Map hxPbl = calcPbl(year, new String[]{"初中化学", "高中化学"}); +// Map swPbl = calcPbl(year, new String[]{"初中生物", "高中生物"}); +// Map kxPbl = calcPbl(year, new String[]{"小学科学"}); +// Map yyPbl = calcPbl(year, new String[]{"小学音乐", "初中音乐", "高中音乐"}); +// Map tyPbl = calcPbl(year, new String[]{"小学体育", "初中体育", "高中体育"}); +// Map msPbl = calcPbl(year, new String[]{"小学美术", "初中美术", "高中美术"}); +// //修改一下list +// for (Record record : list) { +// String area_name = record.getStr("area_name"); +// if (wlPbl.containsKey(area_name)) {//物理配备率 +// float value = wlPbl.get(area_name).getFloat("radio") / wlPbl.get(area_name).getInt("count"); +// record.set("wl_pbl", String.format("%.2f%%", value * 100)); +// } +// if (hxPbl.containsKey(area_name)) {//化学配备率 +// float value = hxPbl.get(area_name).getFloat("radio") / hxPbl.get(area_name).getInt("count"); +// record.set("hx_pbl", String.format("%.2f%%", value * 100)); +// } +// if (swPbl.containsKey(area_name)) {//生物配备率 +// float value = swPbl.get(area_name).getFloat("radio") / swPbl.get(area_name).getInt("count"); +// record.set("sw_pbl", String.format("%.2f%%", value * 100)); +// } +// if (kxPbl.containsKey(area_name)) {//小学科学配备率 +// float value = kxPbl.get(area_name).getFloat("radio") / kxPbl.get(area_name).getInt("count"); +// record.set("kx_pbl", String.format("%.2f%%", value * 100)); +// } +// if (yyPbl.containsKey(area_name)) {//音乐配备率 +// float value = yyPbl.get(area_name).getFloat("radio") / yyPbl.get(area_name).getInt("count"); +// record.set("yy_pbl", String.format("%.2f%%", value * 100)); +// } +// if (tyPbl.containsKey(area_name)) {//体育配备率 +// float value = tyPbl.get(area_name).getFloat("radio") / tyPbl.get(area_name).getInt("count"); +// record.set("ty_pbl", String.format("%.2f%%", value * 100)); +// } +// if (msPbl.containsKey(area_name)) {//美术配备率 +// float value = msPbl.get(area_name).getFloat("radio") / msPbl.get(area_name).getInt("count"); +// record.set("ms_pbl", String.format("%.2f%%", value * 100)); +// } +// } +// addSummaryRow(list); +// return list; } /** diff --git a/src/main/resource/ExcelExportTemplate/exportSummaryCgzb.xlsx b/src/main/resource/ExcelExportTemplate/exportSummaryCgzb.xlsx deleted file mode 100644 index 28170a5cd5f35161263502b1aecd8c18268687ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12186 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