From fe482506cbf23c124c46b8704ca2e4a3c4d8150d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Th=C3=A0nh=20=C4=90=E1=BA=A1t?= <91755733+lds217@users.noreply.github.com> Date: Wed, 6 Aug 2025 11:33:40 +0700 Subject: [PATCH] [update] Add new dependency for Times New Roman fonts in pom.xml. Update config.properties with new clinic details and toggle for auto status change. Enhance LocalStorage to track unread message count. Refactor CheckUpPage to remove PDF upload logic and improve video recording settings. Update NavBar to display unread message count and reset it upon opening chat. Modify AddDialog to include additional validation for patient information. Adjust MedicineDialog to allow editing of the route field. Implement custom close confirmation in ServerDashboard. Clean up ServerHandler by removing obsolete PDF upload logic. Update ultrasound report templates for better layout and presentation. --- config/config.properties | 12 +- database/BSK.db | Bin 1339392 -> 1339392 bytes database/BSK.db-shm | Bin 32768 -> 32768 bytes database/BSK.db-wal | Bin 539752 -> 98912 bytes .../4/ultrasound_4_20250805_095053_712.jpg | Bin 0 -> 9055 bytes .../4/ultrasound_4_20250805_095206_513.jpg | Bin 0 -> 9388 bytes .../checkup_media/6/IMG_6_20250806_014621.jpg | Bin 0 -> 38193 bytes .../checkup_media/6/IMG_6_20250806_111037.jpg | Bin 0 -> 36060 bytes pom.xml | 7 ++ src/main/java/BsK/client/LocalStorage.java | 1 + .../ui/component/CheckUpPage/CheckUpPage.java | 90 ++++---------- .../component/common/AddDialog/AddDialog.java | 2 +- .../common/MedicineDialog/MedicineDialog.java | 2 +- .../client/ui/component/common/NavBar.java | 73 +++++++++-- src/main/java/BsK/server/ServerDashboard.java | 82 +++++++++---- .../server/network/handler/ServerHandler.java | 116 +----------------- .../print_forms/ultrasoundresult.jrxml | 62 +++++----- .../ultrasoundresult_potrait.jrxml | 58 ++++----- temp/barcodes/invoice_barcode.png | Bin 103 -> 102 bytes temp/qrcodes/invoice_qrcode.png | Bin 524 -> 516 bytes 20 files changed, 212 insertions(+), 293 deletions(-) create mode 100644 image/checkup_media/4/ultrasound_4_20250805_095053_712.jpg create mode 100644 image/checkup_media/4/ultrasound_4_20250805_095206_513.jpg create mode 100644 image/checkup_media/6/IMG_6_20250806_014621.jpg create mode 100644 image/checkup_media/6/IMG_6_20250806_111037.jpg diff --git a/config/config.properties b/config/config.properties index c4b479c..714f407 100644 --- a/config/config.properties +++ b/config/config.properties @@ -1,13 +1,13 @@ #BSK Clinic Management System Configuration - Updated via Settings Dialog -#Sat Aug 02 11:33:13 ICT 2025 -clinic.address=So ABC, Duong XYZ, Quan 1, TP.HCM -clinic.name=Phong kham BSK -clinic.phone=0123456789 -clinic.prefix=BSK +#Tue Aug 05 09:52:46 ICT 2025 +app.auto_change_status_to_finished=false +clinic.address=112B/1 Khu ph\u1ED1 2, x\u00E3 \u0110\u1EE9c H\u00F2a, t\u1EC9nh T\u00E2y Ninh +clinic.name=BS. NGUY\u1EC4N TH\u1ECA KH\u1EAEP +clinic.phone=0908410007 +clinic.prefix=PH\u00D2NG KH\u00C1M S\u1EA2N PH\u1EE4 KHOA google.drive.enabled=true google.drive.root.folder=BSK_Clinic_Patient_Files server.address=127.0.0.1 server.port=1999 storage.checkup_media_base_dir=image/checkup_media storage.ultrasound_folder_path=ANH SIEU AM -app.auto_change_status_to_finished=false \ No newline at end of file diff --git a/database/BSK.db b/database/BSK.db index 22cc96963fad223e0495cba09038ad824c29e98d..c8e4bcd3192fbf7f9eb4ed64719ddaff7f8ab0a6 100644 GIT binary patch delta 1851 zcma)+eQXnD9LJyQ^}3hq^?I#M>=xLSy1`_lcYPZj(Ly)qaIWiEy8(_!X}hknU29*! z%|upGqM}_kFXWb(piD#J#4#w?WDUB|NbnCe#u)!WSQFG3`D0>S6invRvata%n0vn0 z-gDpI({De&C(rO)$M9UoXeDtI0K^Vu1^|3IwxI#Jd1}9Ior*G}>yb9UFX#<&{`QE^ zA8C~8&^1U?JQ@oP_#+bjsLobtWy(oZjWmb6u~0;eo6t(6sn72{7!PCo4V_jN24dN9 zgiOn>$&Qm7(-bo#(>T#mP^|;C8iOsmiFO3ygZb<+&efOCzD4hj=O#G5*;=>WU~V)q zZ6au`ec0*<y+KQI3^uuUY-jw=hF-JXXlx&9+4Wq&Vi;gp=Rvo{(ak>2kZ@!7a#ax>FqdX^ zuJByru+d<;cX`8~!r1zy*hZ6i zX%tc)h=%$*ZHL-lF>ukYm%H7uo%(+E;P!!DQ?n-&Zg1JaKF*MEi{(JIOp~mJsa+ut zSHKB=*th%iRo90Su~2Xm0JxUEl&m`od4P#qW7`#G5`h zvX??9NMBm^em5zz;s`*HCLj_awT&YF#@V%1Dv7v&fG(1t;n(^t1yfnkM40*Mvt8mO zAd_ioe}EiwmTyUj5X^d5(`_3ne%fuFaNpY9d-B<&gLbv#v&ZSymi)|=lV$Zb9ZR?N z#py8I&ttTnpZ>gpapfikX-AOjV=T;OBg-&MgR>>~j>8Via)~y&Ge0xopq+4`58+Jv zw)3+;wj-*{brPwUW7Fgtqz6XnAbYCyxCZ_i04mi8Sm_cbcKSJAkPEoEuqWsf)if4u zB4`7vY+|uW@_@0%yvq0bB^?4KfTyQj@{a7qw~vEcLhyfjy3^zuY3e|N9c&cGXnKAQ5JNrPc}Df>Kfv?`L|vy{s_2 zpnOs|^gFfjh`Yx-^9?E(Q-fX|3s!=#J~O*+P^_6 delta 1550 zcmZvc|8Emz9LJxhch|M+uD9FWb(T{1ly)pjHEr$H(d)9c z;C?V{V*>#`_vgt?KHM?+aL0m;egpvAg4G59&^~V303V$j_N+0oZNzJEdoq!Zr=?{7SRy&* zs__tZ*qtBGWi!b!Ql9oiZR@<%3}J;Ev+-PZj5LJ^8|)U7@sa!}DL?QyX&)fXOOR2` zOUx*vvcun)>!T5!0dP*x>rcK9cz^5k0LkDVKWdo3OK+J2+&~4P7fx>bA7Q4oOt~1wMlPB zAQ)=f(B9$Qni!FPKH5aLxqW`*^LP4vouLky{jjO*Gl=^-4H~RvA14S16(6xwIEi|) zvCYX$>_8Ig&g?_L=U?%=y-+HA700}I*6;O)+}<{~H;BB!&R~0|KQti5q!;G4mZ^8h zTCiTAXa~Iu1Z<5{_Wr?aOhO}KR!X5P>v)nfyx1-(34C*eb==MVK2KHUvG1{6yJ+TS( z>iiy-NHFJB^VuQB+-!mX!fslpgUwEz{9y6b20>584kcm;>ret=x!08s87qfqmwaXM zEn*fhO01T3sc3jNb9e$$;iO|Iy0aDarScP{!mNY_E1~s@r5lT*y<#36EETTCQK$vI zSG<55TaK)FE!Ki^rNVJZMBB;{L?my=O0olD@f!YXL@b`mptzWyD1I%WouwNWBs74{ zFQQ&C8>8^PRPyG%erVM0Gtga2e8616&o#y1C&Go+I!z8dpN_U!X?l4(?RYyRDd-21 zQX(y-c1feLbYiXRrE|xYJP=EVMPQLw6qX*V3d?|H#H!YoJf)9jZ+PGQPP84LyvuL>GzcxwD^R3ZXx3cFP2S3Xa3qsrdvb%L_}a-CTj zcxIBdraw&G24(**Y_+l}%P~syxoJDOr|#fI<&Ma&SAKYIiaJlY$?_c#glTpm>9kIn z3{VHHFW;dIr+J$a`IQZ7i)sD|p|qalY)V&(S7&Nw=o#}2GgCXmUa!-m8Wk{4m=g0N zbBj?|g6m{xif|bJ4eZ!0Pn~wl!)-#;cjd2+Rx`l;)ldzYr#OFblXj$OyYkfH{wXyhav@@yd zVP=EO{f`8o;^_<^2@qfgVqqXw23oET#2`n2Feg+T#wLaaYGYsnVlyDa0&LFahm5k0 zlRq&2W)uN3f3q?&0;!)IjG~htGS&*R0#$P|a5L~S@G}SkT_FLK%;w-`XW(MsVc=sB oU=RWd%w}N}15!Y};y_B1k&ziledlIm0aEI0%uEa%K!!3q0Mlhkt^fc4 literal 32768 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 DlCn#d literal 539752 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 literal 0 HcmV?d00001 diff --git a/image/checkup_media/4/ultrasound_4_20250805_095206_513.jpg b/image/checkup_media/4/ultrasound_4_20250805_095206_513.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3b954e632c3cb11fb4a7f33d86f119cc40319e3 GIT binary patch literal 9388 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 N_5%{d*l16y{|gIR63YMp literal 0 HcmV?d00001 diff --git a/image/checkup_media/6/IMG_6_20250806_014621.jpg b/image/checkup_media/6/IMG_6_20250806_014621.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a69aa9c2d859d581556639c4b61fa2449d1a254d GIT binary patch literal 38193 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�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 K984 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 B?oR*! literal 0 HcmV?d00001 diff --git a/image/checkup_media/6/IMG_6_20250806_111037.jpg b/image/checkup_media/6/IMG_6_20250806_111037.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6a36e5d61b7127ad02a56d27a926c1f56c87d3d GIT binary patch literal 36060 zcmbTd1yCGa^FF%E;x3CVF2Nyaa1ZXTNr1%`m*ByJ26q;h#U;2Vf#4)a@L<6;KyWAj zec$g&)va6q-*@k9^-R^wnc4I7={fzJ?w-F3f7bwns){O#03Zqg07U)(f0qFA08Dgr z40JS13=9k`EKF=%Fdi-r4lX4z2?3Y}LPtvjp{Ay1=3%90|89W)V*{dqP|?saFtM<4kPTW00VqHa2n7{{hK7oYY#oTa4nQSBBWB=}MJLg* z#9(v>^M@uEVKT`z^pfiS_`@t<Z33z-5xTF+OR$ftA)!5YB z(%RPE(fPHne_(KEcw}^HdS-TRe&Ofh`o`wg_Rj9!{=wTv^A^;ZzL=GN^2p|o(I8{?ogQIeDKSK#2 z%Sg!xp=O7%EAWzKBkuocGw z{tma~YpQB$g>A}Kh!V?g4`jDT6rv)EV=cJZ z4plV4fad0~JQ)CjvJ^o*EyoP5^LzB>|3NT^z|C{iv0l6s zU$Yz(sr7B)97BAo8E`yq6;LPwoYo9z{#3~xpbd&rHMK{8G2IYlv0fl-Q&skmbtHHh z{8GW`;dvoMenRaU(Kk1DaTf6dmSVJG}&z_Oxrr?5@s$#U7#)@7n}r(rXI zW*wO_P$i75lBJ^J+azEq#=iiX{*cAZJxWVm(sKps^+9wFQ9%2xFOl0p%LCDc!r}}t}*q1$m17zp-H7jP;8U|$r z|9Hv(x27&iKG9offdT6>hw45{J*cUZdYK4b8YKt09`|2UAy`|JC<*=-h~Xnu0Md@P zt`IvJp)!ENsY!dJV*k<90ef*SdrU$Z`(J=EooOI5^tuBviGx(StueBb|8(@f5#SKE zslDKV6V(nd!KM!OAZBttDlxd*0pK8C!cAy&!CMq0Uq(({Wl$~6PJZaL*)V3c4; zl8+aSN+Fg9y62=G@JZ^|RH4cHqjcO+0&S6p{pqpo3N#P15UeuPqVC>7w?Ou-_ph_6 ztd24r)_v&KDVKw>Ei#UN@kei(+gUiZZOV|RhcLH#ULaQKj@utZg;aPLCQev%gR=hu zAX%?W?P#53?vwBU#ySZh1^!96j~u9QVUhURae)xON?=e==!vp*A%Utnw#7SwoJ4jyI(31ByE)?X*}M=J4_GI z^YYs7!N1;&w&X-ZB!Oiwot`(N$<0zONNZOm;?oWj#IcW)+kmDp&a z^60LIc2%EgonUWsZ`ozbll4lq{1||t#*rrv2;oG0v$B5rgS=TExj*RKpX?$^9s0yD z%?QYC+tuhX;`Xb2Tvug&bAnx*LDXR4) z^!8Va#-iTsk5LR$3jgVF>@BHTUg<-ET~$}Rp}XmS&RbCUPaV^?4E_b!kE2WUDP5)a z&>b`Tuhx8A1!FizVp zsyuwNo$+@wJ@4{W?sP1~iv9KXZ$+TVd|ora2wCux;Y`fGvWt44(+5F%fr8(JsV~ zjUwG@`hM2I$p-p(QFc33yz9Mva%3>9F=3rJnBh@4Fxuvtc0{LcAYMRerog}yDSDgU z6uKwyM7qr>Jd!R-GlbB3-$b*Gl-Zh<*Q1aP0KClha;Xx^B~Nb z8n1_~98>UFEYCvB?jw^^@u9G|=L@2PK~V_ZFw*gSXYaib${3L$mXfE{uF>DA7PQfv zd1vLCiMjVvL+`A_nP2sl7nP5ai!Hg5I}pB5Q=&gg10?nv86a-1SYxE-D6vGw{L-vA zi|$i={sO#nc2o#$EYEh!5v-`<`S&)pCa)rJ_#gV1gi4z6l~n)G2%Eu24fv$=BudUW zTc_WdHKQk(FrhvUK14{c%}>A-Pb5SfgT_O8~@o?&xv`Oe)AM$x#_>6|7R1tw33QG$HZ%1dUeiq`i7W#cFFx|&jA0@o1 zGi1kgfiwrVn73Q@lBz5i3a6+LO;8H)t4mq*)mp>uO4LM*hJ>m=3P1v4`%m8=aB>=E z_eJOon9J$sJLFe0-m1#(eo_NLEZj8YWO^EiFA75w(%%0VV~7OfhN@yp!Xgq89HFbB*fNs-dg}IpuNrSn8}KBPU8Dr*KbN_w%qm_Cc*=VR{vk)N-vOKno5ejdOomhr~S`e7u3ZhXvd zolbAP>#PDzVWpzp%%>?1;pEBV3X)86z4~YV=To(um;tK-fYPli$$jUSP2(s$`gB=q z1>16_SkI`!*)GQ%6@x|y2_H)1h{dLXN&C?`-G`x+sB6y51$`}2zMHrv@=(wTHN2Lo zJ4$j$?@&h~p#n3o{IhSlrFqj%LUouJp}2m)uoc#5es!k$2^H1Pk&*7r`G77uv)Ko-#N-FHC-AN=AM-ofS)iM7 z)+CSUpr(R)D!QQw)`V-VIH43f(bCT25`k=Q?XwI4{E?mvu4~G_fJ;O9)Hv!O{hO8H z6)MXpS5u2IN=9GkSWT@U=!Pn#<&_KR8MFCc0H5~2JEAsTYnN>;i~|lo1TkBBf=(2^ zXc>dlW@LQyv1s+_%7-2@yZ(}p-7j;E;aKF6l)shyJ#zDNUZ+QSED^ttM<`3&8+@Zt z8%ZMr{gT8pP`p=lhMtFp=3l;6U|XWF>f=3NldUjTK4N2D+#;Prt2@XltMBUvPGeN0vbubrh!AbOY1NSr# zJ#INJC%+0T?Dwrx{Rw)da9Q_x*-C7@tj{b}M}ai7@V}r+Ku!HOd>%a48S*%oSZAY%5`YnVnc>=5Tl(n8Kx0pk(EoLSx zloFo6*+ULN2d~+HT`>ql!9OKnXD}cnd@-(;XW6IJ8r59}tJ@oaHzsUH1M78{A;85G zA)5gAa42kqX8g7#(yaN}Qx`^~$~eS5*Ab#rt6U#GGu^?px6?jONq}DYn$P~WtdE|z zR%|OA4W&WOMc;F=ddvAxZ&-v*_5IMGJw;5MeiiUU9cw_+D2WZ20B~tuSvVPxQs}Md zr5ON`d)r$94z(yys>k?`7jyG(3ejxQ8uF#{pogYgrq&p^xTWuk3#t#)$`@}NExcc1 zWC-mVwGjlmO{)%Z1wVJFC?fjx#{9sDnwWLrlTmj=#*9^M-3=px zV-e|fbwwPqc;8{B3L#56-^&Xjhkb56abr9r6$!XT! zHo#8gzV}|s01YF=pli^tLo(z@K-}+NmAr8 z8<7X=H?LkHr>fN+MR#|)71|crVUf4{swvGLQF`IZ_PX0<`2_xpE$zaFVJ|#)7{1&6 zn%)ck+H_o`mi74u`Rakv7yqy+PjJZAW>M*-0#jAfEJ#k`sL0>-H$h2&_XPA6wJ^VF zRnzV;6L3Ob>Z!P0j}LFBa#@R*;puts&?m=z)4oL@PDg;@9>KG~Plv1|3QV6`(w1M= zQsOR*XnWqoHg}(!ue413RGk2UAh}z#;dilnmU*_(s(d4Tz=bK95di&kB&^#DBUXD> z?zxHe>L6$Bdn-P3M97M7R$VJ!^ni`F`?42U$2jA^S*FSj<)>4zZNam`k;m}x0sCwg zvKn{PEXjD+MV@aW~KeuD4wis6_glRA2ZO#PlRg3I?m+O<&&bKfFR z^Jgho()bE7QV*5Q64-&P6{V~RY{0cOUGkk`=1GE20FBRi?Hk3YlPZ^mSZ%iXbq;9I z<>}t*LYxoc6|}RKE)eAeM?t>J+5jk(LYy9vc?0JZ+*aH@fn#xv4B*B=F4>CBg{r!C zRUWzJt}#xaD$9bk@d2RzQwVEIACcauT$Q@aScz(*WRA4{gn*id%8QB03sT*UV@`_K zilQ9+eibe!#cdzPlE5^+2U>-7R0gv)U-H7@81q9e%F=r@)O0d+Kk+N~??zDG7gscx z=XV9zec}zA(vtr*7d_c!eL;ivDkP68w{7L3d_1CYvy7hui)wp7@KqyC)zBown-JCG z{)$*hl0*K>4#1hJ(F5bWQf<)r+c&UB!uzPcpjQqITdKj{gf{LiBN*rV8bGoB$#*A= z6p7NzAqCTd?JZfvRR&$uYmiE6S!N;;Dyqkt#P9kAb}38l=FQe?r^!!&2Q{2N(wT5*P?#`hp{%3`EH(_G6V*F{P)lkt5E)u?>Zl4 zITT+0xGfNbQXDkbJp&*hzDTUa@Uei zzAPgeAW9u)kNA-MVwJDAB*|S}K5e*Cpob-t#7y%vH#}UEMc66Cpz97&*G(N8q!y^a zu-wqmdY^F7FuE}4AmjoB)8g@VOzpvYqy30K4q2^m)-`p#=;zplQXh>gP4Dl&Hcv3< zMekf8*D(r_XS>ZzeCPe3bXK!XXK2xZI>&fI>!>5}<+&&g16u1`UfWu#a)t840@X2qb zA!2MEbkS6%^isSD)%mBs;M+a6|Lj4``Tjaxi!Foicb`nLn+PIJbqboR?uiNxWhfZh z_qFtnUJ2ar^;^z8@dv&@lAwbwU( zvf=>FzWc`NFO)-Vwd68($_G7h5tlWGkuq}ajL&+RI)sAG#?6dNQxvs%-2zC=GuqxR zEzS~TtvzhH3G6=!x(JZGnK8XObb9$7ME$ns$>2RXpxkLYu@<&c(b`4`Tz~0Y!at(L{=mV*X6YQ(vTQ@Q6Vb>kR!GQuQd2lT6nH_K$NQCNah15 zatNxqow-`fnuriJ4NXL^H(9>*;PGQhtf;wK5BC=0AT(NyszNIfr{WCL=6(16HXJle zd%0x%>O(ZR;dT&sUC%jvoJS)g5kBAzK`*WjVss-lhcY3oX5;lbB}raVe%YPstlGKo z&2|ar&n4;=nldC6=3w||efXcX-~T3F&9Dc9VGa)fy<{05x*_?>F|Rpl8a}?h ztWn`GB^FAfKn1(*o27@A6^Z>29bZU1P;i~maxWQ|MU?49@DYR5bf!ZKF?6T-VaRZ$ z)J4b?L=})k=kI1EJ|mZl2T)}WKA{`WrD>X(k(mmYA#s&z@t%_n!>R)8AQG7neB`BR zoTs`Om3YE6l_<){+K#tP5NP+D%r!&8u7+a1)V1dK8POn6s_a(bK z?vDx#B~1O~T8@|rY@y87k#r#s6K8e6(j{><5xZEf2Bs2e%Yyndp_aN|E0nD5tH$^V zTDtt?_4Ai?ayuKpm)_fbS3xomAsre0?1%m3FfCE$yP2dSZ3-SU$v}4QLMX*bZkKH{ zgs{O*0tzr#z^yFUVY;kvGfCS`)belO-~J<(dW&uSj96Xd);+QO3z8v{#Gg_>uHVfX zZVVTEt?Pbf^thSi&^*$*z)l@0T8KR?WlbAa8vRFw5~EfKd^~(ia8_wy-m~&YK%a32 z$X|H&9xA>2aH{jo0o?78m!m~654gV5qj!?(%R~6j-h#iO`e4f@OZzb9M+DIIAuzFj zn5(%`Mnpc-RC4>a9L$Jk52TsF)(B2%k`pF|J`t3)xE(zF3PQOG-)H6i+qYA)m z7~HTx6nk3bbMUbpS|f~4sy|NDLu2%}HcJR}wEeoMRpOE(X*Z`rXvsax@8w+-%t#*V za61#Fc&PsZ-UZyx+PujtF~1xQR`nWZYFDfH3z+@RkEEFvFTX>rjE?g$FKN@_Mu)c7 zyurIeF0vH_rZS?P)3E+6Pi6Ly!c$FBI{#!X!G2YOZ-x{*%+jG%C84o-npTV<?YG$9n|Fg z;Aa&P0O7BjlN;gPS5HN*UAhraI*uZc*Yc44Q9$Qmj58Li_L?CuG6$ zG1z=Ij}5cL_u4`^POCu|Q@XMm64CeZRleo)CLm@L`N`LLHpoTSpttct9XiFiF;La81R&5VNF7{xQHFwe(eO)5B^@=_-a821;@l^>iR zEEc5|oEN2w?tW2u0_8jM0wtz*#R4iYMxm@26=fvJ6RTkB6bzk(DP=|R<3gY&d%&r> z9^4DS4T=>|l9eF_^$Kwmq%s!D&y~tQ2m-G5mGlPK_QMrdgVHcFr_ygl%j{ykJw(dh zt58Zn{G6UhiK*!vlA}byK>pkWj+GoMS!BpcC*NUNLPWAjk2^NzFc`lsUwnj~m17jM zUaOww54fhYAEzKal;ZN3bD=sR;NMpV`+w$>|4Gk5KA9bAmetE&3LXH?#e4<7Pwmts zUldLQ%dus|1)C@TaXEszB#N+*19kyq+7tus?I7lT00@F92nephLViz$YmBi80_n>{ z@CJjL3xCWc*%M{@;7D{$rem++`nwTa)=3+Mm>!~You3EMVA9q4lhAW0wQ|Os3Ljs> zR1ChMQPPfn*)*W(&Amw6Vi-PNc#;dFw0t$R<37FAqF7fXYng7qg;B{`epZRO{0c5( z&a)nRLHB)bIF-}D9RkX2{Sm5fCq4@u!VH%_Ay#=xe^Iy-P)hxlI!NLvtI`@^b|xzE zBp+*G7cRig*1@u5ipa4n|l1@UMcly{VoiUXL$NUU4Q%Ak;9tZrKa#V4~Ap{ z0Ud(Ap$IoB2FT=ZP2irKIF+H2G+cVrONn%Pe*v$X26_qU>HO$8A5QhKNQ+F2sQFL> zXq!jKv{sb$w<>=-G?(yr{;HpgdiMf{>~%=NREe!ql9nK@bIljKZlysPX@rCF+Rx~o zTXU$?AuJGTMMXYh3#aAX920I0XaMg$;&85thktm1urf5b%q3hq}ZQ{Ez7gr0q(iQ(2;sE~d;FS)PiIen<}(tXfDTk*FpMQ!g@ zsbSHL#1ud**4~h1Ko#AvNK?5ovj~h9As=}+J8a~MR;4O#uw=+hPq7D6uE-BvGyDsP z8G!GC+$SE-v@Yr$3~~AKeCtF12z~QVluOZ~5vjLMjI%g3Z!*nc^k*w>{3kj3Uu0pK zsM)1v05R8SV#(-4N-f*~za+sHLRSYjSE#-$ym2^5U9o$WbHZXBp6-yHMP=TU89a?cq z_cfTqyg*)t*fvv$f^~8#@=6eJKGmKGh8}r1zg9jD*rc24k{gL;P;wVYgh>ZkVt7kkNn^)#$jFMote0hew!7%Y_6pg3x_ z4N)#a$FT#&r6LIiasgLu%3{-$+{OMH>Agp4?6XRHgzIWB|b&W6?1z&8tBM?Fv=|Qc;(r{@y9Z%1(H3C5M@! zk9;z*6=5b639)4IM-y7}q>8$Rmj*G+;<(pGPtpjp>4Lys)Z9+eq##j@+u2tNn4R*u zFV@O`VNg~xtKrnM1iY7El9~g&Ws-PGJN)LGyv6-so(sj5RH{F}o3-GRIJaY4HTw(r zg^aN?I`kyJ#$0P3oEmGnAN04|KT@{U|AA@j?3GOLoq}#h9OCpm!e(f+@3ImRscf^b zhK_;J&NLHX0L|LM_$VZ2pGq|-mO`+@p3{f{lEf2}Z5bEy0*|0i#V;g2wEz?!An$mL zI0)MBrlh5Xp*jf^5I_U(vM}5F7kO>`7Dm2pSPj5M3|V=h8!L~DPt26S-%~@9wRUA< zz-t?s6cTSs2Njh}-9+!EfPEE}eBtmo+`j--cUD0_-OutteqcrCPK_LY8VWUkb@HKV zjV4UrmS2*c@dR$6Motg!vPM7Cs?|%3{${ZB?0Jh(h82LebY{3BKYdM{UAT6gjx|f) z?hE=S!xv*7v?Q&{g5qy`Z}lziPGk2=(g0`{v)=^uxAdyunrO!7n}cf5Llcq4ROaF& zLVxP1nYe$8ehPDO;SS0vxFzVcgCR5uU>&#rS2trlMA&duJ{!=s1gZD7kT!L6lfJuDS?I=)ekyuWa6%s}h(4A*jAMIn5RVdA4&evm z>NW2q2!%GfH@61%^h|83xKfR{vsQYrztDY&O5znFW_Z-uRIJp*6`s04Z6I1pCVn$b zk1qusx<%5WIYcr$EI&AZ}i7j8ro7ikGjef}tDV#Jg{1)tHD8-GKU;2AodI&`RC z&)vE-yz9=kZI%$LPZ+FoJ6nxRq$48@0-LwoP=*=xfcff&ar;5*M;Z4`;4Z7vsn@}iSO)iA41UFUiq zi2(t#eo)RK2NIf4KiSkJx=0wc4d#KO@?U^-1TUXD0rX-2`@-UiY!yqtk~mCYfc->c z5RVTZ1HDw5_qw7Bo~{MBn*_1*CX9#iZ@VCJ~Gm>xJuv zuO>|bWXnm;ek?<<#sD}YmFv>aHw`9p!}XTVY9#H6MAmaAXVks7yoDI{4SJVvihv$` zPw|O*ub#iJ8JKHL|JWnb zxh4D95BN&|S~9|n*s2gCH1^eO);CUe@FtHN$H!pP+6sq^J8Kk^oE>R*3`4<5Dx&cv z%1J()d61B|@HvxFFC}F!#elnE5Knrl)9Da3v>?p`qoa07i@3K^F}TTjyCcb)nVv32 zdKfb9=BP8Myi~Qc{ub-Fyk`ib^!Yg+|oa*0b} zcuRy4Cr#oAyKfS6g9g@Kv!z>Y)!b8@ElF%F+1$oy4v3we3ie%EfYN)O#11v$8qxK(HrH(P%7Ib%S71UO zsSTg!g6+4?Cep5{x}Ge8^zW%WcWUHa)2g?+@Y^L^9{xx}s_{#3Z^${Cj?uLtQjK#rW;p?QqTGpo)a5u zjVgV|sIPeRyfOUL=$uV~Tk|0o=`l4FN1TswE0b!&_zn|b$TYUKaskKS0nyNk`;X5p zI36!X`hvyg+C$Z$W3O+B{R17P?A3kog`ZoowF}yPZ%?{+S1y#`A$g{MM*8{$q8O3VDsa?ZWQl%T8 zqeH`&UVfV#EDbV9YvaZr7oQFtduf$#!vdhZ=kcF4c7?FRIfwJfj*@l7$)BZL#+16m z3YeoE-Tzt@jL+STyCPlqrA5(_{vlGgoVH~rGqckE)wlJgp6ck*nh*0nr%G7wQ_LoP zs^-LE7u9*};Q9#y?WHb8J`DqQuN)Sk#y!r4dcNPDlC1Zr9t#|T3J?=j3lshWXw7s1 zT>L|m*fYajbvNh6bJtd$&i42V>(NlZOX$oTBC^S^^pFgmV>3OBt=FM`esd`_s9NwP zel(f56@zrYEuT96qL%+ayaK+e?5!dtWgyB-x36-B7=^TXR<=z(2yCEk@8D?^|C}wtcE}s{WH)QIGrFZlux8(+$zaofuVtr-u z^AUc>fR(Ukvg_yJ!;yknz?nxg^V~_mbG#S;c=Irwdi%8g?|(7*4JLUm6o0j zcXmkB4D_DcH457})}bcn&e)Bh804&K|50Y&-x)a7ZEa&Pff~SDPZDd`Jx!x3dX^v$ za4SDFqb0uy_bF86E|<1%7?)_3DDN!T*JB%0X^7-(|%{)$yC3 z<5#2*%j^Y(>oC3g_$Yz7iwL55ra72oe~h@g_ z+_)`Edzg>qM;9_-Z$5AHNqH-qFv1R)Q^=C@taG@O%(6hWzH+f;rAY}A^kf5%|f}{4OTB=eaL9CEwn9agMm6RxskVN>J~*f)dADyc{!{ zr|N9AK38~$&ZPE~nGV7=lc}A4o~7=vh7EN*96Z*f>^P0+e0Wz$aW}SHv9bJFH9@)N z)kcA*hh26lbVNwbPsI|OS{ye;`h9TxyCa8$S|!$oOJ9HNT(FKZ#2g+i#B*>5+K%zj zJ+5feLFTQy_I_y}Uzd0R)ZYkVRJ8qQ_n$<)Z%3>cTu--YqpnSd8@SCB?Z-7Dt0hCn z41TFT8=&V-NT;VZ@O|@r--rl(RRh2u8#juGrct2U4`mRX1Ey8(DdGux@s(mCvO_=} zh4{e({*VK2Tz$Z4>mRM6^)L9B+q%YTuHLO@3g_ZZ9IG8e=k=QN@7~y0QgJyoN?{%j zxLu{zb=AwT=n89Q(+H$+q<)-gKMa(J>)f?xrN08zI_xikubXTLqnFZ{y)NrA=KB(y zt}Xm*5`O2KEd;!ssB^3f*Cg7nsw!%IK1^Vqu=;CVN%UPge8rc4y%F^J5fP~=L(}o# zn4Uj)HDw1JW^={Unv_C^U^engT@imfi|#d3Diow8K^6AAl{IibfWF zky9`BoJH?`p;wo{ec{R6khapvxo%amlwI^q(Y|Tsi|1(lJ~~n$n({-#7IEoTSW$Yg zAMr8941V$Z-@VmEZ=Ev@-O<-b2W7X2OdG$l#vJVq{t>Yp3_Q&H^Lt%bZpFjcNVk`V z5%9R?LDgOv09SZLq0_|ND9dWFS+GHhdbLK<@{z!0*87YS^mHogB_VcUX>#HoM$|4D zbE1Kjq~hS767ExVs$a)#68RF!)H%Cf|MCrwr~cv%^_pRFM_i39FPlHzV0yY1r=FT{ zc5ZBxvwbvWEW7_@;bj>o2C~$i`VTBxd!dpaQoIM-^SuTG${Q++Ei^eKKsVFrs+)(( zT(NWjY zD>9d)2h@xfZ$Yu+*BogT8TQhfQgnFPmT)qjg|Y#{3?HZFp zJ>9}xdMQbN__ZEeA3F`Flr+%+NFCzvs-cmfTgE*kIL~0R=I!ApTO4Q2{iE7aCra%E zX|aow8~x8T>GJY*%bt@lOwv63z!hn$fyQhIT; zoJCXbRBW7sK?kjaJ7WT$pABkJ2eo|XA}3D~GG8`dNXRg7Hdv`ZXwDwqA2eij#RX`Sl{onq_JHX~8?X z(|Q711CJWbUpj_I5&aSBYG))N{WF>zW^ldNc0UN*3w;OCV_0!K$QeTVV{R`=Qwwht zcV$i)Uujk6ba@%xn#diomV3Syt#Fuzb#_rVXWLo$Gt14$y#`bX!c)P`^SM46;V%Vytl=5#Glp?1iO#xtZ9t>F@M z<@-ssi2Irz8-80cEyGY=W0HDwq*nK<^yoS0)sGNco?h6scB?SX2NOHARB}^hXnkR2 zUGOGttG;>tByN%Mn+NBkF4$S*!2h1Wbfmqty;;h9vfD|Vf1^7}PRF!luhNQL|HdQ- zZhk*Q^|<%zgtT?+S|_-G#adnC3J(*V&^#%;AL}SCaVu7yT%>6*R{8^XV|;dRHdMk#Bq4$ zsq(h2f-Q}V(AH7qiZZWV@ObMx_P2dHX~Rb4I_~C*B>j7&XBtvz`14r2y0Y5GgJ3Gs=aG_ax4zG{&9f}I ziQQoS_4daxz5-Gym!;Pc4(XfVfuxFvhRNVS;rbHniMM1$5~JMMy6(IfljS7a@^U>B%$455TANWbd|y z7yC?|ZLfc#63i7elDCMNJSQ_+3(dzoG2*Vf3aK5Jbc_uwZtdJO|JkJJ#+)1`1vTH({_gEgM<55xiU4nPZEy*PPUld6 zWjFy25q6@8nJe{?Ji`)N%d zXZYUR9^Dwb-d?Fml;XmwKmLzK<$yPzES6-I3U`UfMrO0+aH2%VRK5^bVSz*W zmFNDAQGk~P)-z3DO?4g{F?Jj;je==~TA3#u)OHW^ZpPJ-F&IB6eF}%Myyf}A4yyZu68}Qiddrn>Nwb6sd>o!ZtUn%VzC8;Nd+tzaN zKNazWvd%)EelM#J07(41P{MFH!E<2%dWJ@I3fRQjTr9gjaDw4r{cUuAB!RI4<1jI%sODB!i3tE$>uK3@F=g&5L^PEbWY4|*Z7ZMn6YqIJpQ{Ove`njAjRRJe(JrAcJ z=d;$&{;AQrqhHqToj_TvNLbYuRXh;rNP2DgBz9_Q-s=WWm$D;IGu~ z@>74&Qf_SjmZvToE~pwmG65CdNKH3hZFZx3IKca&r1H(Ju#=mS+n%JOMh3~8>|a2j zE^4R}G4R5HDrq)O^ohprWkG9cfi6ee15=~vyP|pf3!xt$qv#GX9xru>TvwtVFZE7H zeXm3}*V(;9!?AR)c}#HwAqby4wTk zlTNLR;M;>Q*DEYJh7cId@7H9L-silmtLAfq={99BTDza+GRz>imHpQSp9%iGL3j!I z;TV!{e6AKoH{v^}^#On8Y&Nzr0XCFi8&RWUedJNWKG%n4lMasP&L!Cj|&FMNkXs;oUweyA;zz6P_Q{*#4P&FdBG z?xP!bt@P-N5Aptkzr+#diSi~sv;xhEkEY~8yJPIo4Cd5BmCx1bz4yhJJ zSF$(55sI@D{<~_#FkvFiVI0q2E9S)3={ctr!ZSAG>;md9kx2l369l*?jZSrLvUK2N zb?Dpe9IueW)Ekx^;R(RGJm|BDxeA@g*c(5&T5G?q_X--X@Vc#9?cXvvUc{Qw7&q>rdewYjaY#${u_ME%g@v6m29R6lnEPienU*7r5*^p+Cv8;uW!)Gvt9a+U zG?tkwO$jtcS=v1Dl(foupv<#&d__pjUSLN(oc6NXvO>X2Pz@(?bzPSBa>u7Z@-srR zGyJRr0Gu&0`?GGkYj*atvEg}6ocj>n_t@;AbW)7(?-TLE@tB8-j9o= zzK-&A-QjT`uv{^5a$fQ@VHb2A^$`1V-H4#W{c&-(p3BHxye$wp?aG&q8wgfAe((Q0EcWE04H@CRy3)uLSB2V<8Y_7zVE+>Qw^0GGAN#rp@MZ7WabBr1cL2=+!y33*)Z zQBm53N|$cUrV6vbQ~d2n4JmG6EnQC=5(~E%vpP2TM}t$yul2%Gv@N#z>5i(ClrlXC zcT;-uISfvD5LD3bt?5d2`g4P|#S66&pJvk=Iga|fJm=>=qBTF87#S+8-ufWmnT()| zg~+!CIDg)!XRP6=b`*YS#ty`@HM9TmT3OrWO%UFT&Av#qm0boJUhPV{%F4GJLWYV% zBhNW{5*<(-Fl5a~rpx5Be)iI>1i_?cE6s9oGAByIA7BBjKhmn|%2f}w8+}OQ;M>37 zX*pAu%wp+1I=F9$2PHc4(>{bhkxHZ}+$%TwHToN1jSk{8U~~A))|SP6uox3}tLUSw zUVIVu{P`w%;?8%EZ6$W%gl-?nsE#U~WA(C5O7A%%^6DKvUSv)*Fp71L^EF#xn?}Zm z2&N2)rbi8p0GuH&W)I@;IB-V%clf*BvKgg;LAls{jQxT?u98LbmA zb$fB)itub|6#rnI=;a?B&ehLGyBm86!x|Tuv}zB=++RQWJo(6Y`-OIPiEo&txrB-{ z_oky#^IOrl<5%6n-=lZ2J4>8rA5D=V2zcXE19C;jwkpKiJ6XOsT=sctQv z2EiP9)EhzTT6;1S*5bVPToXL2o=41SBfGecK*o6(4#la?rLmmwDmIHEhe?#GBSCeB z?hofr8nT|Me>%$Y53MJXNAXnqIS-yD$M%$Gs-Mo9*U^#pTl1`~gbuWZO}$M^gG1(v zF3EGd?z4~h5vV-*v;MLF0Pm`LzV1c{>X=9>}QD9Jsl z@z8YjKocl?9Mmm!iNSnrs4lf=<($C+yU4r{2TGO9&G{gjP1w!VESk<;j6qiASa+^7 zQ)6wa*SpOn z;!8tkRfaUy48}ekLoA-hpX*&;!?;m(E9WS_VU0%d{7O&%09v`*Nf%V`{+~G;zjx(7 z)ql_FT_1s=Yb*JK%1Dwdg(Id2@A%ep)!f<*a`K**v8h4`teezKpGvyZ;w*z$cb7Q_ znpXs!%&X*Fo_{LCxsR=B+{j5iYcf@4YDR`+iStypwq{4^R}#}an!Rff4TT(vtCGw= z8KT?xD)o5zjA}FMy-)Nt!}utRX1%|Y{ag`+QR>Wpz#8j5C*6yE3ewacp5k)EdmzX2 zdgnYNqTTBsX47qf3nLk(_8kU)0iVXU+MSFduTtagR$W?VmPo?`{>^jRwwNs4TrSYZ z1Pb;|M@6;LV)9}D>=-7z^TepKz}OtA$f>6*O2(C9oNi`m#Hz*zMTHJOJpQ$)TXKRc zBTthiCiOy}ktg{zX~c3$nsZu_4TlVd&1gdC$+W1ddppvCRMeGYNg|K}B5#qnDBUYE zT^#v^glxY~m7{4cPd#fyIU}BFb2JVKnAY*Vx^0d;9^{T{8Lgyq^BmUOu;&7+NzZCI z*tslZ8#MzsrkE9wqo`y&6=9KA+!NZO^2t3Z^D%OxnAGeIiCH7hkmm!QRQgtLo~MS# z;w!V&;a~Vhbp|6POf09+`G9{SYm~6j?lm0BjIqU>Zf}z(xe|Aaq ztKKToR7-EDz@T}p$ViqZUAvnJMoI?O3KFzch!on7*m=hl?t%PHHUwE)>kOwmF_EI(&jsu zgpsfy(-LMLqo%YBT?ZAMlax3)uF=tDLaZ_kbDFM}(Gu~FDs~xJZgM)*y?LyBy0{0{ zwZZvE(y0>3qi`1)q>;fDp4S^>BQzVF_o_l@nYz?3N#_GiX9vA873Kp5xhX(xVqalh zRL{Y#Qa0bJT%UT{g4E~4yFgo*L#_zxSd&B}l&H=HZ(OjA3m$^7rI1SO%h1=CkfoA4sGzSzh3_@G@8(W{f| zHBR5D)3JzrCw>RZBt-rqs?Fj3P6LwwasI<+`PW#Ngn{#ND&4f^dBP6#NvsfaoRjnNqmbM6T6PMuKo`WYHJ4liJWI{?rS?-&_#?(eWvBDTb??lYIsM) z(oW+~yL`9&vvPX-R`a9odq_K@2-dv$B&^JjHW)7qT7*(42Mhth71`Knwi8$@*v$T0 z4hUn#Qt@_@x0Zivg)=;Tan*%lcw+wNN@rWBq)SKsA~;r}P=x8J!+ylZbBx?4w{g0y z-lw7JK3hy(Gn6Nz3hFfNMKygO+`_9J$OIAxMirfY`frK|wvJLIkLC#<=rPn>6+;+JW}?PM{DAH380-oRhg8l5!;{Q zADvoitZs>vT`5_fu_XThxokIT#g={91mMx9>$+9^1IoKbIPPjIq}s)hh6mE8m95I= zOoB!SHC(MLN;`^c$O_<47XraXD%G~SXD=P803$yAbu6=z6S8x_-{iECCms-^(@h+q{qDaON-^U^3x8a}6`&X`B%wV?KG1H}MIdokN>BZXbsl<4Wa#{K6 zYt8jjzj!=@UDmrOa@E9MCi23vPR!m)=;mzMk~u&;!ojiaoFC>tD%iGT=I1%hV!M5h zQ#;4V;D#Qcj34vuSM=Gpuu?`;Vz-{E=Oi?CH&t>oN>e@Q5RJ6(b6FcASQl$%wPEFO zYK5>2Yf3c$RI#8j1KOc@D(Dqm%Zb8;`7z0)GOI)FP&xrxETa`tRRrRJSjh1M`Cb>h z{{W_w!k?D*Kgdy|+ZeRFb;b!mPvcDSY0jOb>FR%Zb#n6&{>Z`)ukRmr0SlZvS6ilH$?ht`+QsA;Tek|o5rLTj0_efKvH{?%<>KG>Z5RtB2KWR2?8 z(?fHc74X=%cAjiSGmO>|K^9bYHMt{kSh8}>^{x7tQP_R4`Hfg0p4CMs@=kG@Ni|^~ z{Ikt@^}Xq~kDiR zE(AG4$ie2Lvxa-rEfR1&XyjseihagRGPZG_-sRh=s|Q5~q^C7)CT8zX zG85Xkr8zftcETzu$jXyOoq0(C`qc}FuC2cOWRF#@m`HKWMJV$Zr4gIzRhi5s;_m^n z3H7d@Mrcw4G>ifD^sI}U6>>>Ynx`t=CA(X~=jQEQR9qa9h9ybC*wOJ9iU|hJ-d;Ku z2D9`H8f{WxG>e!N^UvO^S|)*Kzs@V%Eb zxui*`U%{r>Exp8KB!gnr3vUWRZ~l-be>8mPLBGZWZT7 zQx2#Hq`%g?>$!Z*K2hr#{#5I`Rg93SNB3?lycIbksfKb#=nZ-t@GBBdD=OmMGHSW}h3ve}GPfDy9X+pa;10n(b_~=rsFa zktkeo?r8Rpp-PI~lIgY<`fY?ZcF~1~B?{F7i0NRr8Tt%;PLgbQ+f|YYo?vP-xN2YnG&-l|J(GRdmNzA<@2YFv;AH{U-BucRE>G zi+EUlqHYe-4%P3-{J%QntsUc&axqitDc72c>5#R{ozjv@gZxcao%BXhg}vruc#lw2 zxcf9tF&_<%=CLEZWgx2&fmLOZq?pLZEXQ&B(?R2&=QY65QFkD@ndS z>U}G-vDWQ%C<{W{8>Yf}uO|(`Be~+Iw!50rZ!#w!ue~;|N_IV-Ewe?nxdc}+s%dSf z+$BR_@S4{+R;$DcJ zM&O@n$zz<>l+B3S=~--WD^^7`Lj5Z~rY!3tG*xeUU?=QAOxDsb}c)x?#8vGw=vb?0Z;xafB7OWy3nC#%WeoKXhiQZUBs? zYIx?xFqp13j*FKg-;A-vJW0=5sAo9lg`InKrD3LCSKUfn^u<&AMg=?VC5ACj(X2_F z795JM@PKl?YGs!zgHf|>YEimnyIAD)Ic6G+r+X>(HQng3`C4VUEK3v_B-anFoMA}S;-vcyCDA8pPr{R+-Nh0(Czu?fLEOBQ+b-Ct)BJN z=(mdomlBu87PZ7m@QN{|8%dbnAW)jT{^vE?>C$IMi1q#0{#ECi)$pHEk;4PeTIsZX zPHF99g4!c11;@ANO1!Taj+9z#=H|iG8~(cg09x&DB?+gw+y}{Ao9MceYUN~u%VOJ) zIThCpA~u8zmM@XW&lNSQ#kAK#>CuP!7K$Gk604A#uBn4b{9!ExDZsnhIj zts?!@D5Ka^(ncg~?EqIbYL2Va=%Brp#}rcXSKA%CA9KL3M)+~(+pX=jzyonvKnL(Y z(z8SWbO2Vaf?C&BiShEjQND-&0ImgMl3N`f(Y?;=BvT!M98gIkie~OUl}JT-P862v zcmQ^)Hvk0SRryBhp>y{cd({kwNS!V9WRbcsDW6RL0Q#$TeMTuI*seDY*{o{|679K% zC#5@6@bq^WoHHz{bCFKWtD{|S-ZUUF0M-VlKbXfSwOWOMghs^f9m%YXRmzjaEki_L z-#8?U)>#0PR<21bO=q>j#(4z&C?Sg0`_6Gyr?6HZcbc@igi1zYlk1AMra6;(5Jdwy zJL@qTEHQc ztVgEnP?PpuSRZKt{{ZZ(Rv5S(R)i3WIoTf0CIFAcfN^(f{{WZ&01zqY{xFOUlG_i( zfB2f|L|}HLBbqtby_z}JZy3%oCZ`lidhLCu{{S6K{JLzPz~s6UCV z_p0&{8nY9?=98${)i|NY+MI%;jf0?J$Rn*hWE#xSlA2Exy+uaHngDAOYBpCPytORY z;YU+a5zS)jH)ai}7^%*9szt&a^5r2q&D1iqB0a7%kju*c6`ON)ad#$Vc4ALM(zR^$ zyLTQ|r*1CdBLSFv>-0To=T6cu2|9MB(M|j?-V6im9Dh+;!lW0FtKciGW2!mwq-Tz% zlWx*aR{FJ!meU|1hAYH%y%K#3P-}TNY|rl7)K|Wt%7a**DDdPu_L}I*1j;gwI)hQL z+2kG^V<(6$LF~u*SE@48oMTvbae z&45PzJ66;VKKD=sQ|5upm%LIolXgSJBzDeaUot)iT-42|%ednhrup+s+;ugP)QBhY zv$f6!eo(b5S`i3mImqi)tt}&(UPVyG?r$T2idzwI)SQMK8XxXJod`!i2y znSJkBsmpk%GEX&<#%4G~Ii{N{rsSS#y_$Q8)V9Xg+t8l5H6q`!;a3%cwl|$o8Nc1; zwY1+3>i6ha289Pg>UpVjQA-is7e(IDx!foe_rG7VG_ChZ`A@BCPvOK(7CV0}Uf{4U z=dWIBTm2kdO$DbXfw<@)SK+V(V+N;7T*5CAlcK_hkv z^c0Q&UT_a#O6R8xnwt2e&g$A_xwejF=;{yBr6Y`vYYW3yqH9*SVhhG|!R=d{{{a0} zM~_;Qr8fuAYh!Itc*Dqh)#p4DRe>ILQf5W_C=LT3PAcQ5=tW0wAW=@0!((qbtq>I? zwTE^}iptiaf=C7tO99s$*6XJk9PwQ4ttXZmhBc|pUTFqPZ!jI8_7%%qL||r6ITh$K zyET+v%gC-nREu=2fl@P{Y1wm;nsC%7L?R>uKDA-(#yWFMSa|70z@)KFaW9)Q7HZbC zwFH7iF(TXAv@L)fQn;CMZ53nSQml9tVm1vPDmDNU=}EF|G?7s^tv$0*ImI9t+=_^( zJarWIZ%RNjKnN58fyFx%QAh(grW2D-IHsBq4OPo?(zu;!=*_4%KX-v$xyW1r$rb1K z@W_{Pq>5GZ-n2_YqYv>8x0q)QQ>?Pu%(6t~NaPV&gL0p7SD=_oo?CV8Qqk*EozO0&Ev}zTyF3`fWCQN4{SA4nprd^&dq$Se zQriXeOC-oJg#Q2#^fc7k*v@!*RbRffIyrtDTr%#n)vWFm58@3O{`{?%)7bu=gM zLnXuHeKKkYMw71xV4i%$e9%sj7ykf&u}*6KvE3L?CzAMNX!twCX{_nt9D#8c%Ioi4 zTJ)|1Pt){!O;|RcI@nx}8s6$AjJM(&Y5c3Tx4HufGb+F00s3aCRf{<)W%b~%Ynd9q zhhmpghf|F)EO`Wh)Ec39cG}PDu<>1~{{WA7KGno(Z{^!uKcbUXaW!MdE;*h|j&~Za zc;mHf-a#GmwavHQAAKt%^TFyXM9HxaC~_*?R~v>H^HqrKX}BY$F&8A03VEg@5Ce|X z*mlfzH|I}~EGJ;;R~cBAu3h_AodT&pFg(Csc2=?7-bD)Y%E6b!7P%kn{{Z$?B78o)KtlL} z*9Wg3{goW39GPlQ3urBH6zXl0)t3N&D&aMYYfC*<;j@1-By4W=uF!Y_?;BfNv~lU5 z{>qvE01EDG@u}G#$NvDYPv$Lq8P~TVyge2_ivqCW<+-h`bHlefExck|$Yza?%CWX_ z`qnf<=K{JR@EK2YsJYVCT%Cnm)Kvkd-bE+~!IwSjrX|>5QWOdS?_M3*>y>Wop@T$s znH89iO5#@C1gy#w3h!r{CbwwjakPvOYnC?pZLQNtk~D?Cgq(_@!KBLemJ;2*AdH`U zaa}f@;dBLB;BRkE)dh|8p}>MItMsmx4N@C*SD20dlnzpCbedw?L<|rwgQY?( z9_ryxbfm^imj3{20zJKbDwd(6ojtt3`qqtuT}pPe1R(0|z@}UwDzBCb>~yfITqoJWtR#HHx}Q;7 zT3(@d0|j*wMbjYFQysc;M)Ey+QZ&W5UW2fyx$EKbY0Fx!#k+|iGc%7~f}ne%MigLG zDQ8H&`;Vnn`%JUG*p!9!qO!cms;&r#RRbn?|)~dxu zaka}j9qVbjta29p+nugGje0&qV1vQtymmW=n{#yA&sy|93TmfO(n3lYO##|>3~pY= znn%v&@Qa$M9=n@TzR*W%ryQWla&c4KH^^&0cn!}0cczaOn-NS|NLS?d$4b2iPyyn( zwA3Ptjlg=6Y2VwC#NX>PS9=L7okI|cPHURgfoI9@(yPm_vt)+AKJ{8nKwJRCkCv6o zQL#1t7R(NuS0R5Y?*JOuzty9VZO;SJxx1nya?0GAR|^IMb4h{FRA?A|>VAJZWD)?i zJVO;sHzz%6NaiDs)L1TRB%4NQ9zc3kWs@t4jL3R(#Y+OqK6t1Zxir%+81G0}8U!wL zN)0zOcc2H34LclC3Q}+>0L)^Mj}#M8yJX^;0(&v$Org4FtLyqIUq(WJv#;H6Uuts9 zARGGvKb>q$Jk64Sd23iJqbW_sNu$bUf#Gr;NM$%-P@mn(2b_c4NFG7u=(z7-52}#%Kl=racgtF7@Aczi`2X4L9E0XonpQm5_nlZz|>Hi zojz^K?HjK`rxl6|M%8I%Vg}|URJ3(MrOvwB#Vd0k+4TSwk4e;jFUvOCn;w~At6RvWB9ZN! z^@c;0{4-9y)9vpqCWN`Sl0_g%%cf7SdgNo(tna|{K#E^pfYtbQ3!6cW{$xK~)hRWx zjZ7^XzY;jzOTrre0Ec8Zg4|r%gY!#lcdk9hQTbLq-Ll*#+Uw`_a({z1VjI!ILHwUcH0Hpm#L-^LwuGZ(3UnqOhXNmO`!Z3NRdJ!-Kj1&%Tzf~Ht0`7fhEgy=_pX>tOJm5ZLUf&`tU#x01{6;w_T52Jr=FC!2CBv) z#UagKQV1REKVYe$l!LUMD_BdTB2m7^lA{m^rv-fV{b|U-y)+N|Kv*~$=CAkOvY@hehr;D4F{{WVbf8a)&ns78K z&Am`O6e6yh5w7NuJhx)QIpp-GLCk`y=jJtL)NYUudhU|4JU6R4=_I?hjakWj^a?uG zWB7tkw3~0S$YjniYh>zDO%BMSCYH^`d00mMk2xtnl59OLGr1fS1}Ewar~q_=$?eZ4|j{u4Qs_{h%lHWU;spK@RkyFPUlD1Dy z=C-VSJ$-ryl^2y6>m%`>@uYRo!>KNMkCs2y#t)MmT(Jy&I|_D#N1{$^6YeR(es)@VI5mMmPKqE4R|Gu7>EXCXr7dsuB%c zi^0Aiy=|)mc9H)8erMEOUJ$%ibAidrdP5f9)Bv* z5LeXUtBc0fSLSci{sBGCg`(S$w@kC=u3`uI)rjV1DfCm#H}*cF)CQzZEtiL{b`W=S+SDfEE-Ji*v48#6`Y(d+AcUOTe9V6 zq1~#&5m84x915>@Vx}|-NoMX(O5!yiielMvbcJJ#b20w_3QJ#!x0i6Nk?FSTpnnsw z{{RY~Xp*tCa;#&Q!fIWs!z;xgD(Y}StV^j5;yJX*0ryOtQI^fe8-cLdeYhui-T8^Qyxe^O42ej ziqylu(;C83xe~@X1P-3nnJvP{lE-L1ykfhEZtdrV)^!|%jP|TOUe4IIBMMa2w2p-o z^k<#jB&O_;!~^e9JC(-g0Q;KjBk<&Rt0aZWh+AqX9C8UK^cBxv_<2j543Ao#QK%=> zs<)*&kl&3xZxQ)CR%H4)jGhRp!oZB+u=*24jO9+o@0^E_YG|UIsVO` z=s%rw@i97etADh=$kz1sIqLjHEoS@sE;z14eqrB@xy5B#c(%~om7WPA+}X;Vz<(;z z@fD1^gb>@pP&WP9bAi&i8?OxNaJ!X>Wh>e@{{S3QZKt8rho^^~Ki)etzO~hCu9$fj zQMo_EoFB;6fhuwsWFDgx%;n0;XZAgdG$|}{*{q8f^DB73#pUYfN$`ska*g3P%f=e{{Y%UwEk74YvUa{ zL;JxrN7Sz2`cdw)FK3FR^tqhg3c6k+yM&MS)ra!UP@lp2v~QG1CI0|&U-1IFNVT0l z;C|}%5>H~=PwQ7BnPmfGD-ZTaGC8qbGr^rkG> zn%lIlzBGwceh&i>t-meaE$RQm=g^csSg# z(_HkmU5;XuaYwyPY#}!(_JTxN`LSEv@vUM=u1cr|r(2b)vrnO*`6Fhki1yORe3;P{ zMt*Metsbb^Vk)I%!|edm#lm8?bZK-cl#NE!5QF!}dfi)p1Y?#_pHWWG>>paK+~R)F zxTgK3eMNVM-@yhwqHsS7t!t)uKXZw17C=wS@{TCAKEnFVe&-wZg*3i;*KsD5;NkaN zkN6E>>d|O$qpgH;OCT8pbQE&aeF|8*%c+bdT7LDx=AlN7VhrOCpS$f{EsmYx`|D+Q zzLE#-4k%EjoyPH%TDFHb-mmGXUg|Oa(5{uVzYW2sN`BZToB~wzHI<;iCDfx)({@E| zI-JPh?90;8cYmgaag*$6-h#y143gtvzh*;X9;l=eVyN^(;#b`IGln>9;-V z*`4i|=aX|)6Edd}AW`d8<&@_ovqi$in~SEL^NgC*(e$Np=gId)V_3$wHwp>wU9ws< zR_Sho1G%9HqcCfkL~1b_^{kyxd6R97{Hw)mUrM%+n4&*9>T3@y$0Tz=A~@%Gz*0I@ zyE|#MOT@Q=Hg|8x4^!wVY-}ggF4Ecv!${t}0Pat5B`GHTV|HF;b5{0~99_<>^7E@t*U52$7MW&6u~ z*^>{A^_$t5Wz?q};|kkH=~*5iyS#E_dzqYdA)K7oOBcf3N;%BaUt7Yt=!(vNrF3w7 zH?q8hE!FJu6&O1dCV!n@B<*t-kIQMRM%VI3m}s}E`Huh=;Nr5is7hRtGhWqe;13V! z@{pGDGp|D=&HRQalS$GA!Bo@i_W_O15OevQ){74()aR?8P;ljp8RJ@A*O?Kwen)Dr zbEe$+N=xEmaX3?+? zO*e*1sg$$o&8DJ{H@o@ZtwduLJ)e*nhNQwPPt^3ahi%Syrlg&Jd%OsdN z9@rn_U2$|@yvjbNs9tNjWs*Bhc@|Mi6;{dP=~AMMDq^uXi$+bqk>{$!8nTo8xF?#s zso2JrHg~a;x_HC5KK$mhRWn0Y6eV?Ve4bR*3z;2`-g8#nBv49&R3~ZFme@@-Bce4` zwI#QmppC|Hlh5T;?yf^2Tnu|uGTk=P9Y{5v@~+kdw(j25R~nijzmXi0Pc@e1dsUf` zxafZxiEY3+W6dVWl**zOX6eOBA;)U9fICxLidQirQqdfOYW2O=@0F^V6euCMq{M0x z4IXJ*k5#UjGMYWP&qt5>isi3Q`a2I?57xSgkC&ududJ~T{CHOM_BrZnB5D5sbkJqI;#gXi*($!z&WZrlxY#*}SqmIic+J7VqS{WDCCJ*`! ze@gUtrjAuF9ElaY&($d1gZ50 z73=cH9ILg}U40!v6`gV6y(Z_AWQcuYB|kyMFJ&%_=#FIu{rH?czle29Tm-$4sQwo_ zhwEC_zBss#<-50vMfFdV{{ULhpTSlR50^agpK=KPRfT=v>-bOZB#w3e0KQxDKjTHG z65U)KUDdw>qJzddT(}O>!cX^?Bl8upZ>ic`sQW$CGH0-1pUbUzT-trrlj7puNYDFA z$LCQOE66yb+P0055VTI?z|Iu9!;gp zR|B%J^4s;u{c8Q6jP&V%6D+pv?l%w2S3zliZ+L;N=Z<0i%Vhpkxgjltu{f$975-HR+EW7cm&8jU+?W9daw1)VvuSfXSx6mj3|r$<9>$ z4{ye^l_s`5EIw-q=}}wqIDKnNM~vRtr~|C1J9~=e*n+`(*K9=gHw^{EY>vD#ue z(*Db+B=HQ}%y|C*WcpT=s(qGn<~TJU-&5J{WwJP7v{sd*YRX$CsQ|B&(S`z~Owujk)LXuGVch z5OB55>RLlaT2)3Tr~;`lAy`4$iyq_Oxiti~<|~y@r9*RrOC94v0g@IET2}E-e$mS$ zTSD~0@_w{j3ZGyvgN|#Z@YD+((wPR<9SQGJTiEn2IIT!+(-;ekbTqCZ(fy^H=6o$h zJBZF1=!WK4*eru0rMk9Di1!Zl=bnI(0W5h}1l4PVbq6A*6r5G7TZtZjCUwX@ zv;k*9o*%RiHMZc_e>SOZwt=H{X2v+LH^0(nu$3o>lLUh*!}(Da+{yqfX@#zIH#2$C zmfhBw6mK-C9Ak62+NwH|Yd#CipPT|cYtTG1ra`CK9cuIBESZQf`-*%0Px7X2iapk-yb*S{x#Cs zcpFK!aU|jHpZ=O0FXTV1bftoVSbzsoYZCXyJ|ENMF;A*N=8xb*xxXPzMC7fRV(|{i z+Wi;xb6y);du7`M5yU+aK&cN-E6=rmiP6CWzMEoX$48v)2k;!%7JPf+4Qf&)zxy;q z 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 ROpC=aQ<|`P-XxC literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index c1073c2..8ad3f8f 100644 --- a/pom.xml +++ b/pom.xml @@ -246,5 +246,12 @@ sqlite-jdbc 3.45.1.0 + + com.yourcompany + jasper-fonts-timesnewroman + 1.0 + system + ${project.basedir}/src/main/resources/fonts/timesnewroman-fonts.jar + \ No newline at end of file diff --git a/src/main/java/BsK/client/LocalStorage.java b/src/main/java/BsK/client/LocalStorage.java index f749397..746c4b4 100644 --- a/src/main/java/BsK/client/LocalStorage.java +++ b/src/main/java/BsK/client/LocalStorage.java @@ -27,6 +27,7 @@ public class LocalStorage { public static Date dataDialogToDate = new Date(); public static String dataDialogDoctorName = "Tất cả"; public static String dataDialogIdSearchTerm = ""; + public static int unreadMessageCnt = 0; public static List doctorsName = new ArrayList<>(); public static String[] provinces = new String[]{}; diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java index e49b0cf..89ba94a 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java @@ -1929,8 +1929,6 @@ public class CheckUpPage extends JPanel { JOptionPane.showMessageDialog(this, "Không thể hiển thị hộp thoại in: " + e.getMessage(), "Lỗi In", JOptionPane.ERROR_MESSAGE); } - // Step 5: Upload PDF to backend after successful print dialog - uploadPdfToBackend(ultrasoundResultPrint, "ultrasound_result", checkupIdField.getText()); afterSaveActions(statusToSavePrint, "Đã lưu. Đang gửi lệnh in..."); break; case "loupe": // This case now handles "Lưu & Xem" @@ -2004,8 +2002,6 @@ public class CheckUpPage extends JPanel { // Step 4: Finally, show the viewer with the pre-made object. JasperViewer.viewReport(jasperPrintToView, false); - // Step 5: Upload PDF to backend after successful view - uploadPdfToBackend(ultrasoundResultView, "ultrasound_result", checkupIdField.getText()); afterSaveActions(statusToSaveView, "Đã lưu. Đang tạo bản xem trước..."); break; } @@ -3700,44 +3696,6 @@ public class CheckUpPage extends JPanel { } } - /** - * Uploads PDF to backend asynchronously - * @param ultrasoundResult The UltrasoundResult object to export as PDF - * @param pdfType The type of PDF ("ultrasound_result" or "medserinvoice") - */ - private void uploadPdfToBackend(UltrasoundResult ultrasoundResult, String pdfType, String checkupId) { - log.info("uploadPdfToBackend"); - // Run PDF export and upload in background thread to avoid blocking UI - CompletableFuture.runAsync(() -> { - try { - // Export PDF as bytes - byte[] pdfBytes = ultrasoundResult.exportToPdfBytes(); - - // Create filename with override behavior (same name = override) - String fileName = pdfType + ".pdf"; - - // Create and send upload request - UploadCheckupPdfRequest request = new UploadCheckupPdfRequest( - checkupId, - pdfBytes, - fileName, - pdfType - ); - - NetworkUtil.sendPacket(ClientHandler.ctx.channel(), request); - log.info("Sent PDF upload request for checkup: {}, type: {}", checkupId, pdfType); - - } catch (Exception e) { - log.error("Failed to export or upload PDF for checkup: {}", checkupId, e); - SwingUtilities.invokeLater(() -> { - JOptionPane.showMessageDialog(this, - "Lỗi khi tạo hoặc tải PDF: " + e.getMessage(), - "Lỗi PDF", - JOptionPane.ERROR_MESSAGE); - }); - } - }); - } private void handleRecordVideo() { if (currentCheckupMediaPath == null) { @@ -3765,28 +3723,25 @@ public class CheckUpPage extends JPanel { } catch (ClassNotFoundException e) { throw new Exception("Không tìm thấy thư viện JavaCV cần thiết. Vui lòng kiểm tra cài đặt Maven.", e); } - + // Initialize frame converter frameConverter = new Java2DFrameConverter(); - + // Get webcam's actual frame rate double webcamFPS = selectedWebcam.getFPS(); - // If webcam doesn't report FPS or reports an invalid value, default to 15 + // If webcam doesn't report FPS or reports an invalid value, default to a base value like 15 if (webcamFPS <= 0 || Double.isNaN(webcamFPS)) { webcamFPS = 15.0; } - // captureRate is used by the capture loop logic for polling interval - final double captureRate = webcamFPS; - - // If observed playback is 2x faster, the actual sustainable FPS for the recorder - // should be half the reported/assumed FPS. - double recorderFrameRate = webcamFPS / 2.0; - if (recorderFrameRate < 1.0) { // Ensure a minimum frame rate of 1.0 - recorderFrameRate = 1.0; - } - log.info("Setting recorder frame rate to: {} (derived from webcam FPS: {})", String.format("%.2f", recorderFrameRate), String.format("%.2f", webcamFPS)); - + // FIX FOR TIMING ISSUE: We double the reported FPS to match the actual frame delivery speed. + final double recorderFrameRate = webcamFPS * 2.0; + + // The capture loop will now also target this corrected frame rate to avoid missing frames. + final double captureRate = recorderFrameRate; + + log.info("Setting recorder frame rate to: {} (Corrected from webcam's reported FPS of {})", String.format("%.2f", recorderFrameRate), String.format("%.2f", webcamFPS)); + // Initialize the recorder with optimized settings try { Dimension size = selectedWebcam.getViewSize(); @@ -3795,23 +3750,24 @@ public class CheckUpPage extends JPanel { // Video format and codec settings recorder.setVideoCodec(org.bytedeco.ffmpeg.global.avcodec.AV_CODEC_ID_H264); recorder.setFormat("mp4"); - // Use the adjusted effective frame rate for the recorder - recorder.setFrameRate(recorderFrameRate); - recorder.setVideoQuality(1); - // Pixel format and color space settings + // Set the corrected frame rate + recorder.setFrameRate(recorderFrameRate); + + // Pixel format recorder.setPixelFormat(org.bytedeco.ffmpeg.global.avutil.AV_PIX_FMT_YUV420P); - // Encoding settings for better performance - recorder.setVideoOption("preset", "medium"); + // --- QUALITY SETTINGS --- + // Using CRF is the best way to control quality for H.264. + // The setVideoQuality(0) call is removed to avoid conflicts. + recorder.setVideoOption("crf", "18"); // High quality + recorder.setVideoOption("preset", "slow"); // Better compression recorder.setVideoOption("tune", "zerolatency"); - recorder.setVideoOption("crf", "23"); - // Buffer size settings - increased for smoother recording - recorder.setVideoOption("bufsize", "5000k"); - recorder.setVideoOption("maxrate", "5000k"); + // Buffer size settings + recorder.setVideoOption("bufsize", "20000k"); + recorder.setVideoOption("maxrate", "20000k"); - // Remove the speed filter and start recorder recorder.start(); } catch (Exception e) { throw new Exception("Lỗi khởi tạo FFmpeg recorder: " + e.getMessage(), e); diff --git a/src/main/java/BsK/client/ui/component/common/AddDialog/AddDialog.java b/src/main/java/BsK/client/ui/component/common/AddDialog/AddDialog.java index 06d4b24..685e90f 100644 --- a/src/main/java/BsK/client/ui/component/common/AddDialog/AddDialog.java +++ b/src/main/java/BsK/client/ui/component/common/AddDialog/AddDialog.java @@ -721,7 +721,7 @@ public class AddDialog extends JDialog { // Validate required fields if (patientName.isEmpty() || patientPhone.isEmpty() || customerAddress.isEmpty() || - dobPicker.getJFormattedTextField().getText().isEmpty()) { + dobPicker.getJFormattedTextField().getText().isEmpty() || cccd.isEmpty()) { JOptionPane.showMessageDialog(this, "Vui lòng điền đầy đủ thông tin"); return; } diff --git a/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java b/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java index 4f9c9f2..4a82a03 100644 --- a/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java +++ b/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java @@ -271,7 +271,7 @@ public class MedicineDialog extends JDialog { routeField = new JTextField(20); routeField.setFont(textFont); routeField.setPreferredSize(textFieldSize); - routeField.setEditable(false); + routeField.setEditable(true); medicineInfoPanel.add(routeField, gbc); gbc.weightx = 0.0; // --- END ADDED --- diff --git a/src/main/java/BsK/client/ui/component/common/NavBar.java b/src/main/java/BsK/client/ui/component/common/NavBar.java index 7105dc5..038173f 100644 --- a/src/main/java/BsK/client/ui/component/common/NavBar.java +++ b/src/main/java/BsK/client/ui/component/common/NavBar.java @@ -31,6 +31,8 @@ public class NavBar extends JPanel { private JLabel activeNavItem = null; private final MainFrame mainFrame; + private JLabel unreadCountLabel; // NEW: Label to display unread count + private RoundedPanel messageButtonPanel; // NEW: Reference to message button panel for repainting // Listener for incoming emergency alerts private final ResponseListener emergencyResponseListener = this::handleEmergencyResponse; @@ -275,6 +277,10 @@ public class NavBar extends JPanel { private void showNotificationForMessage(SimpleMessageResponse response) { SwingUtilities.invokeLater(() -> { + // Increment unread message count + LocalStorage.unreadMessageCnt++; + updateUnreadCountDisplay(); + // Create a borderless window for the notification JWindow notificationWindow = new JWindow(mainFrame); @@ -336,6 +342,26 @@ public class NavBar extends JPanel { log.info("NavBar message listener re-enabled."); } + // NEW: Method to reset unread count when chat dialog opens + public void resetUnreadMessageCount() { + LocalStorage.unreadMessageCnt = 0; + updateUnreadCountDisplay(); + log.info("Unread message count reset to 0."); + } + + // NEW: Method to update the unread count display + private void updateUnreadCountDisplay() { + SwingUtilities.invokeLater(() -> { + if (LocalStorage.unreadMessageCnt > 0) { + unreadCountLabel.setText(String.valueOf(LocalStorage.unreadMessageCnt)); + unreadCountLabel.setVisible(true); + } else { + unreadCountLabel.setVisible(false); + } + messageButtonPanel.repaint(); + }); + } + private Component createEmergencyButton() { Color emergencyColor = new Color(220, 38, 38); RoundedPanel buttonPanel = new RoundedPanel(15, emergencyColor, true); @@ -435,22 +461,23 @@ public class NavBar extends JPanel { private Component createMessageButton() { Color messageColor = new Color(150, 150, 150); // Muted gray color - RoundedPanel buttonPanel = new RoundedPanel(15, messageColor, true); - buttonPanel.setLayout(new BorderLayout(2, 2)); - buttonPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); - buttonPanel.setToolTipText("Tin nhắn"); // Add a tooltip + messageButtonPanel = new RoundedPanel(15, messageColor, true); // Store reference + messageButtonPanel.setLayout(null); // Use null layout for absolute positioning + messageButtonPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + messageButtonPanel.setToolTipText("Tin nhắn"); // Add a tooltip // Make the button smaller and square-like - buttonPanel.setPreferredSize(new Dimension(55, 55)); - buttonPanel.setBorder(BorderFactory.createCompoundBorder( + messageButtonPanel.setPreferredSize(new Dimension(55, 55)); + messageButtonPanel.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createEmptyBorder(2, 2, 2, 2), BorderFactory.createEmptyBorder(5, 10, 5, 10) )); - // Create the label without text + // Create the main icon label JLabel buttonLabel = new JLabel(); buttonLabel.setHorizontalAlignment(SwingConstants.CENTER); buttonLabel.setOpaque(false); + buttonLabel.setBounds(0, 0, 55, 55); // Position the main icon try { String iconPath = "src/main/java/BsK/client/ui/assets/icon/chat.png"; @@ -463,11 +490,33 @@ public class NavBar extends JPanel { buttonLabel.setText("Msg"); // Fallback text if icon fails } - buttonPanel.add(buttonLabel, BorderLayout.CENTER); + // Create the unread count badge + unreadCountLabel = new JLabel(); + unreadCountLabel.setOpaque(true); + unreadCountLabel.setBackground(Color.RED); + unreadCountLabel.setForeground(Color.WHITE); + unreadCountLabel.setFont(new Font("Arial", Font.BOLD, 10)); + unreadCountLabel.setHorizontalAlignment(SwingConstants.CENTER); + unreadCountLabel.setBounds(35, 5, 18, 18); // Position in top-right corner + unreadCountLabel.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); + + // Make the badge circular + unreadCountLabel.setPreferredSize(new Dimension(18, 18)); + unreadCountLabel.setMinimumSize(new Dimension(18, 18)); + unreadCountLabel.setMaximumSize(new Dimension(18, 18)); + + // Initially hide the badge + unreadCountLabel.setVisible(false); - buttonPanel.addMouseListener(new MouseAdapter() { + messageButtonPanel.add(buttonLabel); + messageButtonPanel.add(unreadCountLabel); + + messageButtonPanel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { + // Reset unread count when opening chat + resetUnreadMessageCount(); + // Open the SimpleChatDialog SimpleChatDialog chatDialog = new SimpleChatDialog(mainFrame, NavBar.this); chatDialog.setVisible(true); @@ -475,16 +524,16 @@ public class NavBar extends JPanel { @Override public void mouseEntered(MouseEvent e) { - buttonPanel.setBackground(messageColor.darker()); + messageButtonPanel.setBackground(messageColor.darker()); } @Override public void mouseExited(MouseEvent e) { - buttonPanel.setBackground(messageColor); + messageButtonPanel.setBackground(messageColor); } }); - return buttonPanel; + return messageButtonPanel; } /** diff --git a/src/main/java/BsK/server/ServerDashboard.java b/src/main/java/BsK/server/ServerDashboard.java index efcba66..b3da0f0 100644 --- a/src/main/java/BsK/server/ServerDashboard.java +++ b/src/main/java/BsK/server/ServerDashboard.java @@ -5,6 +5,8 @@ import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; import javax.swing.text.*; import java.awt.*; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.OperatingSystemMXBean; @@ -35,8 +37,6 @@ public class ServerDashboard extends JFrame { private boolean isAutoScrollEnabled = true; private JTable networkTable; private DefaultTableModel networkTableModel; - - // --- NEW --- private JButton backupDbButton; public static ServerDashboard getInstance() { @@ -49,8 +49,11 @@ public class ServerDashboard extends JFrame { private ServerDashboard() { setTitle("BSK Server Dashboard"); setSize(1200, 800); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); + + // --- MODIFICATION START: Add custom close logic --- + addCustomCloseListener(); + // --- MODIFICATION END --- // Main container panel JPanel mainPanel = new JPanel(new BorderLayout(10, 10)); @@ -66,7 +69,12 @@ public class ServerDashboard extends JFrame { startSystemStatsTimer(); startNetworkStatsTimer(); } - + + // Unchanged methods from your original code are here... + // createHeaderPanel(), performDatabaseBackup(), createMainContentPanel(), etc. + // I've omitted them for brevity but they should remain in your file. + + // --- START OF UNCHANGED METHODS (for context) --- private JPanel createHeaderPanel() { JPanel headerPanel = new JPanel(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); @@ -127,7 +135,6 @@ public class ServerDashboard extends JFrame { return headerPanel; } - // --- NEW: Method to handle the backup action --- private void performDatabaseBackup() { // Disable button to prevent multiple clicks backupDbButton.setEnabled(false); @@ -153,10 +160,10 @@ public class ServerDashboard extends JFrame { // Update UI on failure SwingUtilities.invokeLater(() -> { addLog("❌ Database backup failed: " + e.getMessage()); - JOptionPane.showMessageDialog(this, - "Failed to backup the database.\nError: " + e.getMessage() + "\n\nCheck logs for more details.", - "Backup Failed", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(this, + "Failed to backup the database.\nError: " + e.getMessage() + "\n\nCheck logs for more details.", + "Backup Failed", + JOptionPane.ERROR_MESSAGE); }); } finally { // Always re-enable the button on the UI thread @@ -166,7 +173,6 @@ public class ServerDashboard extends JFrame { } private JSplitPane createMainContentPanel() { - // ... (This method remains unchanged) // --- Log Panel --- JPanel logPanel = new JPanel(new BorderLayout()); logPanel.setBorder(BorderFactory.createTitledBorder("Server Logs")); @@ -197,7 +203,6 @@ public class ServerDashboard extends JFrame { } private JPanel createLogControlsPanel() { - // ... (This method remains unchanged) JPanel logControlsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); searchField = new JTextField(20); JButton searchButton = new JButton("Search"); @@ -218,7 +223,6 @@ public class ServerDashboard extends JFrame { } private void startSystemStatsTimer() { - // ... (This method remains unchanged) MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); @@ -240,13 +244,11 @@ public class ServerDashboard extends JFrame { } private void startNetworkStatsTimer() { - // ... (This method remains unchanged) networkStatsTimer = new Timer(1000, e -> refreshNetworkTable()); networkStatsTimer.start(); } public void refreshNetworkTable() { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { networkTableModel.setRowCount(0); for (ClientConnection conn : SessionManager.getAllConnections()) { @@ -263,7 +265,6 @@ public class ServerDashboard extends JFrame { } private void searchInLogs() { - // ... (This method remains unchanged) String searchText = searchField.getText().toLowerCase(); if (searchText.isEmpty()) { return; @@ -288,7 +289,6 @@ public class ServerDashboard extends JFrame { } private void clearLogs() { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { try { logArea.getDocument().remove(0, logArea.getDocument().getLength()); @@ -300,7 +300,6 @@ public class ServerDashboard extends JFrame { } public void updateStatus(String status, Color color) { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { statusLabel.setText("Status: " + status); statusLabel.setForeground(color); @@ -308,26 +307,22 @@ public class ServerDashboard extends JFrame { } public void updatePort(int port) { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> portLabel.setText("Port: " + port) ); } public static void incrementClients() { - // ... (This method remains unchanged) connectedClients++; updateClientCount(); } public static void decrementClients() { - // ... (This method remains unchanged) connectedClients = Math.max(0, connectedClients - 1); updateClientCount(); } private static void updateClientCount() { - // ... (This method remains unchanged) if (instance != null) { SwingUtilities.invokeLater(() -> { instance.clientsLabel.setText("Connected Clients: " + connectedClients); @@ -337,7 +332,6 @@ public class ServerDashboard extends JFrame { } public void addLog(String message) { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { try { Document doc = logArea.getDocument(); @@ -360,7 +354,6 @@ public class ServerDashboard extends JFrame { } public void updateGoogleDriveStatus(boolean connected, String statusMessage) { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { if (connected) { googleDriveLabel.setText("✅ " + statusMessage); @@ -377,7 +370,6 @@ public class ServerDashboard extends JFrame { } private void retryGoogleDriveConnection() { - // ... (This method remains unchanged) SwingUtilities.invokeLater(() -> { googleDriveLabel.setText("🔄 Connecting..."); googleDriveLabel.setForeground(Color.ORANGE); @@ -413,7 +405,6 @@ public class ServerDashboard extends JFrame { @Override public void dispose() { - // ... (This method remains unchanged) if (statsTimer != null) { statsTimer.stop(); } @@ -422,4 +413,45 @@ public class ServerDashboard extends JFrame { } super.dispose(); } + // --- END OF UNCHANGED METHODS --- + + // --- MODIFICATION START: Add new methods for close confirmation --- + /** + * Overrides the default close operation to show a confirmation dialog. + */ + private void addCustomCloseListener() { + // This tells the frame to do nothing automatically when the 'X' is clicked. + // We will handle the closing manually. + setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + showExitConfirmationDialog(); + } + }); + } + + /** + * Displays the confirmation dialog and exits the application if confirmed. + */ + private void showExitConfirmationDialog() { + String title = "Xác nhận thoát"; + String message = "Nếu tắt bạn sẽ đóng tất cả các máy con. Bạn có chắc chắn không?"; + + int result = JOptionPane.showConfirmDialog( + this, + message, + title, + JOptionPane.YES_NO_OPTION, + JOptionPane.WARNING_MESSAGE); + + if (result == JOptionPane.YES_OPTION) { + // User confirmed, so exit the entire application. + // This will trigger the graceful shutdown logic in your Server's main() method. + System.exit(0); + } + // If the user chooses "No", the dialog closes and nothing else happens. + } + // --- MODIFICATION END --- } \ No newline at end of file diff --git a/src/main/java/BsK/server/network/handler/ServerHandler.java b/src/main/java/BsK/server/network/handler/ServerHandler.java index 8575195..721ee39 100644 --- a/src/main/java/BsK/server/network/handler/ServerHandler.java +++ b/src/main/java/BsK/server/network/handler/ServerHandler.java @@ -1168,43 +1168,6 @@ public class ServerHandler extends SimpleChannelInboundHandler { - try { - if (!Server.isGoogleDriveConnected()) { - log.info("Google Drive not connected - skipping PDF upload for checkup {}", checkupId); - return; - } - - // --- SỬA LỖI: Lấy thông tin drive_folder_id từ CSDL một cách an toàn --- - String checkupDriveFolderId = null; - String sql = "SELECT drive_folder_id FROM Checkup WHERE checkup_id = ?"; - - try (Connection conn = DatabaseManager.getConnection(); - PreparedStatement stmt = conn.prepareStatement(sql)) { - - // Giả định checkup_id trong CSDL là kiểu số (integer) - stmt.setInt(1, Integer.parseInt(checkupId)); - - try (ResultSet rs = stmt.executeQuery()) { - if (rs.next()) { - checkupDriveFolderId = rs.getString("drive_folder_id"); - } - } - } - - if (checkupDriveFolderId == null || checkupDriveFolderId.trim().isEmpty()) { - log.warn("Checkup {} has no Google Drive folder ID - cannot upload PDF", checkupId); - return; - } - - log.info("Uploading PDF {} ({}) to Google Drive for checkup {}", fileName, pdfType, checkupId); - - // Logic tạo và dọn dẹp file tạm của bạn đã tốt, chúng ta giữ lại - java.io.File tempFile = null; - try { - tempFile = createTempFileFromBytes(pdfData, fileName); - - String uploadedFileId = Server.getGoogleDriveService().uploadFileToFolder( - checkupDriveFolderId, tempFile, fileName - ); - - log.info("PDF uploaded successfully to Google Drive for checkup {}: FileID={}", checkupId, uploadedFileId); - - if (ServerDashboard.getInstance() != null) { - ServerDashboard.getInstance().addLog( - String.format("Uploaded PDF %s (%s) to Google Drive for checkup %s", fileName, pdfType, checkupId) - ); - } - } finally { - if (tempFile != null && tempFile.exists()) { - if (!tempFile.delete()) { - log.warn("Could not delete temporary PDF file: {}", tempFile.getAbsolutePath()); - } - } - } - - } catch (NumberFormatException e) { - log.error("Invalid checkupId format '{}' for PDF upload.", checkupId); - } catch (Exception e) { - log.error("Failed to upload PDF to Google Drive for checkup {}: {}", checkupId, e.getMessage(), e); - if (ServerDashboard.getInstance() != null) { - ServerDashboard.getInstance().addLog( - String.format("Failed to upload PDF %s (%s) for checkup %s: %s", fileName, pdfType, checkupId, e.getMessage()) - ); - } - } - }); - } - + private void broadcastQueueUpdate() { // SỬA ĐỔI: Sử dụng một kết nối duy nhất, an toàn cho tất cả các truy vấn bên trong try (Connection conn = DatabaseManager.getConnection()) { diff --git a/src/main/resources/print_forms/ultrasoundresult.jrxml b/src/main/resources/print_forms/ultrasoundresult.jrxml index c8c1d3e..402865c 100644 --- a/src/main/resources/print_forms/ultrasoundresult.jrxml +++ b/src/main/resources/print_forms/ultrasoundresult.jrxml @@ -51,55 +51,49 @@ - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -108,31 +102,31 @@ - + - + - + - + - - + + - + - + - + - + @@ -249,14 +243,14 @@ - + - + - + diff --git a/src/main/resources/print_forms/ultrasoundresult_potrait.jrxml b/src/main/resources/print_forms/ultrasoundresult_potrait.jrxml index 5f9e1f6..6f320f6 100644 --- a/src/main/resources/print_forms/ultrasoundresult_potrait.jrxml +++ b/src/main/resources/print_forms/ultrasoundresult_potrait.jrxml @@ -56,55 +56,49 @@ - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -113,31 +107,31 @@ - + - + - + - - + + - + - + - + - + @@ -163,10 +157,10 @@ - + - + diff --git a/temp/barcodes/invoice_barcode.png b/temp/barcodes/invoice_barcode.png index caa8d35842b85c30f19625adc451f13f7279c6ea..e407d72b0b7ef931775ce4d1be45112329ad886f 100644 GIT binary patch delta 71 zcmYdKo1o&P>*?YcQW2N@9d W&&B_YlkN*J0D-5gpUXO@geCxkiyck? delta 72 zcmYdGpP=Hb=jq}YQW2N@!Te`hN~@2P7L|^>j;C4w#mR9^!KII*o=YD=zoAB#qI-zf%(ku>kEQZ&7Oiuk*fT^ zDH0B@;1sFOJqfL!B4O{*Qo)(o89IeR_w&+NTlO+4Rm)c>^n9Y_9ZC~SA*X1_E#Ot8 zQw7$%^BDr`MSs&oe#&@8sr^7G-Dbu6_1&mXddVLLA!8~tHGwy$j(kTO0y#}6-qK2~ zaC=P%f|Ww{Dm&&g0y3YBR*Rc7L8Z1&_UVxGHY+^(izaO6N(7v4^t1bBRlN2jHe)E{ z-d~wFo@+T(bGvJv58XKJq?Nt=%Vyz@fGT!YyvAGEm}6WWBB80+Id3(2RqWcBLZN@O zG1^={NuZ95hdg9R9W?E_L$nc4D^gl#uBIReWp5T5^? zPN!wmEgp@CL`(frDav=g9nsHYm1E>(Tu?7)ReUk-2l3oX$czo^ zRO--Tey~cst8{v|h}4_({;-5a=M;8K`x}rU>M4@^p;FH}Ab-IgZ!P8rvBbXA8}_h$ zaLu0ZF?NG8Jp*nKtBteB4IgTUaaqUY36WcIlfY@3WlYf1rn$kQ3+x~;9(MSrAor6i z3^`&CJKaQg96=e(t{kD7KV=vLObQ#BTbB93+99Karw`V-3H00;_k$?9y;_Jf)XJ|X zY`+Y`I+&{fY82?gsU-X*hlKa_i%stM!4M z&A|4d#*Ocu-~lb;3tkX{I~?@%fT;W?AgT#GA$@l#e$cvrKnFKHIXAgNR$j)b?8-g~ z`Q{4kSD>D3xUrj&F+XU7GbXm)+|8GU+XFJe`eKHOOKThNNO4ZCP`PucCZ^}e2IWo9 z^I^NRWnQ+Mo-*+d&d{6yt~uF^!)iSsjv!Q|F|a8}t`JW