From 2e63d60e14c9a0d6f078ef9c8f8a212c394e26d2 Mon Sep 17 00:00:00 2001 From: Reginaldo Date: Wed, 19 Apr 2023 19:26:57 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20envio=20das=20tabelas,=20=20cria?= =?UTF-8?q?=C3=A7=C3=A3o=20e=20edi=C3=A7=C3=A3o=20de=20cidad=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/error.png | Bin 0 -> 67879 bytes assets/images/send-done.png | Bin 0 -> 74367 bytes assets/images/sync-done.png | Bin 0 -> 68873 bytes lib/config/routes.dart | 1 - lib/controllers/main_controllers.dart | 75 +++++ .../configurations/sinc_data_screen.dart | 316 +++++++++++++++++- lib/screens/home_screen.dart | 19 +- lib/screens/login/login_load_screen.dart | 4 +- lib/screens/login/login_saved_screen.dart | 4 +- lib/screens/login/sync_login_screen.dart | 4 +- .../register_citizen_screen.dart | 268 ++++++++++++--- lib/service/api/api_data_post.dart | 12 + lib/service/api/encrypt_password.dart | 42 --- lib/service/db/db_querys.dart | 269 ++++++++++++++- lib/service/db/db_sqlite_sync.dart | 4 +- lib/widgets/alert_dialog_search_stateful.dart | 120 ------- lib/widgets/input_text.dart | 3 +- lib/widgets/onbackbutton.dart | 48 +-- lib/widgets/subtitle_appbar_citizen.dart | 2 +- pubspec.lock | 7 + pubspec.yaml | 1 + 21 files changed, 932 insertions(+), 267 deletions(-) create mode 100644 assets/images/error.png create mode 100644 assets/images/send-done.png create mode 100644 assets/images/sync-done.png create mode 100644 lib/service/api/api_data_post.dart delete mode 100644 lib/service/api/encrypt_password.dart delete mode 100644 lib/widgets/alert_dialog_search_stateful.dart diff --git a/assets/images/error.png b/assets/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a53796130867be53d78119312adb405fff4a9c GIT binary patch literal 67879 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 z z+-wC-V|vBr0qZNOYBq5O4z0=O*K-=xS<^W9n2^ zc5`YiIt@<{$+}uxx#pvR<%{>%wf~V)uG8YZ1d>I_s|Dchqb;cU)ApvE%Qgw&A2fgY zHw}%Nd4i3v%VvET7WKTwj!Im8U*ace?M6QS>~TA#g|G4Mf?!a?Kzm?0Gt}P7UIh_E zEQ3Rzu0b58C!X3S+#7#>U;@r|>hPZ!e0aE0+thrtHB*yN%4r&4VGLF#6j(pxw^;K^ zeRussV?MhIUvlR@pLCwYHh)TerAJHZ6ZXQ^%Xs;YHEaItu@!|1bx*=~FXzS)Dn&g( zG>R3n=ArQuv{Vu>`sQ)L?X~ZH;I1Y;-z3{KtB>S~MXUDat>}i2J!|+N+B21KJB;jD zNMkPu4avgUeDieCAa=QKY~$4uH$QUqv{q1BbOaqKxm z})eHi1ysR$S{5=~pFdjMrC+g=IL_BW{#~x%jEB78}K3()SjB9W= z!*^#jq+tTGxU|(5*G8s}jp6^qM{jxF(EBnGeH9%oeGuEK%W5lzmxJ7@98U^bW%oeG z+O~>jin;_3JZ5{czn?!hk848CaX^FnbpQMx%TGLpQi@>UC0@HR(Wm)i|tSAE}WhDsn&NNycwRZ82cdW*o+e> zGpR~nqx%OQev+VZ2uIPcp*scl7w+h>zP$L02!i%y#MG<^Y7~D!yS8zDD0qMQ;T8MV z@zmV&tMh8jjK_M@=eqMhOxLa0%0a!z)1%h%tgMlTHRe078$RMkX>SdWd7uBSM_O8a zYf;93KETXjz~!NOIrZEic-;m75j|=(IYl zF)H}2;mV@;#gdFnIQ|~-tEQzC^kYRPhK%`!w1k?3+8aZ0NNWqWFmf{t{ zlE~x>ey`}qgq^|{Xj?_lr$wW>?e3EPppUG9duu14Z?lX8xQ$1`$Qd!C#l0Ykm@woN z|8rzhe;K-2apd+_j^yW>NWn+c)I4m z-cZ_KEmoL`hTpYFkZQiXS38wZclIV~H^dhr-6_2SQAtngrH&#HV^P77;@<7hKf=GgrvKj7+Fs(sv8Np?q4mPc$lyou;>w*qJB@0h z?qPzOY6pQH*ldq%!*2E2l(1>(ih|AD^%r4Y1jUI*boB@E6D#51o97nwGM~$}NV*sl z@+Tj^-jb;Jh;Y0d*qWg4b$!T{#N%#rWw$TB{kCr2VNejv&=K_*6ia(~DfyOP*qdnd zQRX}JFSlRgGb!reTkacE*(bc86Ma-o!Cv(Cxox1EOd-;Ntx>Z`ku2a$(&z3shOy!f zuigXMDw${O`M8u%fkngGh*Mkjsna?Y<6JrQL$r`3L1ufib62iMqA~t!ztth_ zGLbMan9mi$<1jE+`G)mym~<`fJEb#|CoE9z%90@2XkGA`+#v3Dfs=M2$ybk;m0x3z z>`ZV}N88A&nyQq@1Qi=5ar~@n{qpUAeiW}-BISyTpVSkU%_GWSO-%|uHJnq~+7SR* z(96{rbI{EPwamHlU<;^So z;_PnCCm}NbFku8QWon1r+H&WvIp!t@)a+k1G{eI?^usz{3%5tOAb1GRg9q+pd|Q)p z)Yb==$GKHXAJd#Q7H9@V`)sP5?+Gbs)8Tndd?t6mH%L-mJ~W}aRlpG5VTU_~^)Kqo z*Hp!0?F2yWGc6l}^@*q9e@SO|DTE)^tO7({L!jfHI$qc>BdZ-wCk$78`|2(A_jGlu zLbS@UM4@Q`InO$1J67Rw!%#pO-kEe|>8j(pJwn&!u zyc@bUif0K6Gs^u=q8fE&?JbBj80OfyC1ND&8{&y{%`AD;(3IG#ST{ARG+7pn6UfD> zk3Hj@SCvcCSC#)iw3S`m0L&t7He_)Nay&e|DgWW3f*;uT|C5UfUv`^MUHtjr389vQ zLME3j(B~x1C|un4_g*@9=K7tZ_IGmJmLosR@Qf+utixDGV&8bWv0{2I{WG3CuG;_Yn9lT! zXHtfofir*K247hr$H83+oQ^;)VbuyK;lSqHBdjNiYw?jrN#|NfHUV<|aE&RzTWW{k z%U{|88$_U3@D;>wt}Q;8r9*%#fwmB8R*N7bO+dx&xFW-Q_O%qUlj8C zUzRP`6M1+JSN&(@*w+6ySN(4X?fDOL5>oKGLf7tHm%Jgb^k>4?og@dyG$`66MyCIsU~K$u zgP@RL6!#~6ve}bktM^l=jTPO9ouh4h;MO%%CyqiC;U(s_!jZ->_W0Q7P3}7217~h8 z;|LH!GlxxG=!G-C(8Q{cRHgH3m<4fCiY3RfWD;9831Os$n&XrE7Nlt8d9Vg`7r8W#RiD2C zuM$cLtP-W$&!e?wjhppf8T0hG8L5*ex`86D6(f`)v=lz?3@=nUg`2Ft!0EH=CPeTo zvC?vb+Xez}GZb*|Y@Ak&uY>6sE#bTN@6aLj^7uD9@e5$z_9sHX-QYQHV5OW>zg@Pk zTmjgVrDShEqa?!gU39{QUq~-6@|`>t@k+gW<>SA~GR#aIO-MB_#T5Ws5H*TDb($&b zxZ+)}y;BnQSMSo=QvvLv=k=V8547fn5A>}ZHgc*i78SMvqD+8SZi2>P|`dG?Pi$+k)escBd4`AqPm-q)L%gnrDs7q!9f|ZstkqI(Z_~ zxrY$E{hb(H0`LWUHO)5rf)b&TPVob(urBC82$&AsG*}HILHayz(pI- zO0F8ZS#i5LPOwQ7-o|e8^z5(S&B1D{dD9=L$nhCg$B-rHRljw#&>Q5)!9Hc$(DB{udO6S%_$FZ0*v zfdHApJAG3~t?35GHHRi*c+||qKJhlvPJ4oG&IopT7vae>&qDR~l--J)2mPa5E((#v z!L#0)%`K!?#+C1gyZaDQ_^D2@-H3U~!tULD;FugXT5Ol?c#lgIj4~`y0$ih_lRA1x zI?XNrZq$CNRcS%1ucRNr{{Z>4)16I;X@p}T-o-`ZO$sHmdxhb_O5U61Q>kgF>5LP= zOI6qX^4=(N_hGofThG=!wNTE=UVy+)dr+B%s>GgLm#o$m=X077eN-%MDflp=HQxuX ztlhvQgjB9)8D_r19c@F#3O9S}I00%t!){UzE*z^#8e_l@+JqxfKmJun5lk`fA*?2r z@qfg%M+7Awt91?`%xfsYK?b(IodG*qIcyooycQlzK?X6KGm=uQ*69&p^!UiS zv*T!a)=Q7N2vzP6b^|AeJuEiTae5Frxb_vkEnGLP&OR}=HQ%~v?ui4|B9(`d_-fw4 zak4(FP(xmh5!8ITi9C6&^Lw&0Q%P#6vN4hUkrUkn zk1mQJ>!W!ZJVjk&8I3PSV*QZ?nNNa!AB&}@8lzNEqugm|QAz(QHM<0s`-uGS8Y}(i z5L}7MQr^(ny%*wN)J7pMjuq3wF)vAnWtu=UFH+!1Q1R-|3)zx(3{vP?M|H|%NFRu> zP)hi*LElpZqLUa8@u?ds{%RjUgo;fg)QaJ;-ac4$d{(RihcK~N3`{IG7*`KZT=NFv z@u&T{yAh?l0mUfmCCDMY&h~)(3%jq^iwpev?HvrH*9stu`n*bT6OmdK7hHkLxK14V zTqH)SjDXC#H?&qT&1^71{;FCa>>w=WDSC2C>+G>lsP5WSxUq;n!mm|xS(J1b>;Qnz z!&iNSO5J?PZKlTa{$GK6+{%Posk=wf2Mx~-o8x1#L z5YdI(fo%E`cj`ZetH{}~-uO(%4*1O5Y1Ya!nJ`i{=prtzQA`2Q$|cP1Ml7NSlQLu6 zP)_+3<)6cjI5Ss#VyTUv(nJQ(=Z@nZGs*ycm>eR%cX%Stnb+sj6Oj%-l9r?%vf_tW zt}Pl1t8p|qfd_?f{SwpH8fc_<+8%uY-w1;o)Rv9wJy-~%fSc!BN4F8O(y=$zR7*bNrqtpRf&I0@`Yy)0?EEHmnN#Mrq(E;QCDPv zVs~~fmAtk->?7_VqN_s-5_?nC1d zjCB#qnj`6&H#_OSotQ%n4SORy!95mHX-O#|7_n0`Q|hF|(c6vMN4*bv zAUsqw&{-6w76YM|z9j>)a85L<{|bAfN5z&|Q_4#0OK{ifbU&=ZkBL}<7GMVYMmG)9 zDR=_+vkEzgXS2TjUAX1t87cI#X9L%in|R3aH_MVUXV+t~k{+m}xa@2Jcsj!7NE*;A z?KS8~1*+yZMX649%FoHFffX<#<1E!juXq{@dv&^IJyP!3V%;1=Lof8X_Iv43wEyQuW#XT!kUtG@A#0#$tef7~xdfE5~DQzvc zI#YTSiB+(|+C(TXwb}q6gLTevMqnao%KaluHe_?wvL-9`Y7R-~ysAB^P)a#Oe>mL3 zV0%}$7n%=S2BxE4)|4x^rOdpv%9= zFtgpToibxEydFyVtFY`jS}(omctm$#ge~el>v~D{7J2JI?4vMEfalW-=BZiKnY_Jq z?#KR9fsMZXzpbVIHz)2Xu-U!-_=_jZnp}9#Uq0ae**E0;5J6)66%aX+^TX+si7zt+`e8k|6TiviVq z!vYWG0X~M90vSI0m5X7&cRKgdRj^`jovb1n9OE%0cJi8^yyE{ ze2r1Gd4d`DDJYzgZm4~Rs29-(4)@G2QePZ7h-g!4YT8dt>b)l6-41vZ;*VsvX%%D_1(x(LmO8XP>%WjsIk8r^ zJyTY-cQz<{SiET-9Lcfr_d^whB%EYKZh@!>3gUs*`VPmFIFP~y^sBB-ez|7(3Nlxw zhcdNTFj#z#t73@8PT)u3?NVdz!6Z_up_nKc(=L zON5Zlv>D&2u%_8HLVyQa@1fbx*n5wg8vWbsgaM@Oy!)E98%MDblToGjE$JS5d`c4Q zicg9$9-F#P@bLF2mY(MgiF4#|}%|qCGL;yI5(|BK|J;i#k-diK@XNWES{m8A7 ziBHCdUhdN;JpSIm74#^*RTBebc}0!|a)oQlvLxdE*EYZR`%@r>qhlqS~S1kNwUfLTW^WyT4SW~v!|rOh*h%Of;S8XO)gyOi&KG7mJ{K4Zf zU>Tm%7~RKRfqcLBAe1Z}@c=rgIv1lhVEi2xZTKJ{q~651M;=5MwaMWylCix634o$5 zR@=c{GGr?3tj~Yrrg5M$b1l{5M%-%-r}nZ4dsVb;JsEdp>$7F1>PC&K@>)urvj^OL zgw({o1yOcz>`7>XjLe=O#-+n4eTR8^?$m zwgaQm{PMz>(Q)Sj<$&N#c4XD+tp^LEZ0;eF%{Pz|@W8luD0S-K~lQ}zjbo0#p`5&mS#*=^B=IZTE89zJh$EKjhd;@6h^Ru8v*?f%KMiedY2 zd{v-;$5c-)&?EctILkIWJ#eh2>4EfwA7fu zPgi#MELk{vZ5!4Re&BkcTYA^;8VwL2+YrG35D=H22!-QF@ra|;=x-y})3^IB=WFIJZ{L7#>ApgHRZv5z zJ??!&!MM=guI<_w8|fSLd0UeI`H-loX{`Mt=q%x!7w4#e-R zE^{~T!}Oo*9I9jI&%PCAVq?3MP3Q3$aiJ208ilI{)W;Eqm(fWngtwk#GI$wI@;Sy}7W9gR4{#E(L)_es zxeBTgGN`+*49On!~m>c#Tyz31~XmaKOFmWQz3mPr!S|2|zBwod8_< zKjWTx3Or9#F@E(M5frt&w;=QrEpFkIAMiZ)cOeGhS^u!#KFV-M-7>tRD9TKS>&^UU zPUxkeosuyiLd`pC3THfT_z?>jC16sZmWcj^2JvXjOGYlQ1lxEacn^dtb}#BFDnSmp zM@av>^PFFras=7xwwUL=>&3~*@nYxp**CCc`$qL&aE7o~MLi2?Zq1&Cae{p`4dwFM z=j#)r96)i^wo0^2yD8V-ZyXVsD-f_0OgbG}YdCb@dmE#gDZB0XDd1~bv)_W0)hvrL zYHUMJ$~X>li&eM}%G*>fS8NV(hU2x9vzb2z**TD+WtydlU;d%TwP7}J; zRXexO>J9@=P7;FoogsSJ2+WvYI#NK|JqKpJ4D^e#h2Hl(8|Lh`x}AFA+8XC&HJTw> z+BR5RdxToJU8PKXD`?o-11Km%)rdBsx>qoFy};NW%KTtdgQljui0_90M;#lzc;6Mm zxyX*eoM$P6xWyi6AE0>cMiO5u^6u1b7S63COVW6i^`^Y|!tekUESd*tQeM zsYn$4xq}LrvA^|vbrNEbc$86!z^GSvmg_xx;GAY&1vAcc0Pme&YiU(;k1ivD5Y_zm zSl9?}AuUZ(tZU!ZG&>MwDb2X?mO~*Pa4W|X-p;x_WABr`^Mx4lu0C{)s7IFL1sr)3 zf1i-FB0u|W@a zi_9$4+R9v}H7Hcl!}g{*6fW;eS$s<932NUVOAGo7CRFGPzpw9OaB8BRBmg zjeP$w3XihbqV9%t6ne1V>?xTU0bOr%F7Z|&&~iqJS(}lzE49pN^&u8(e~y9Cbj<=a zOnP$l_%oIP#Kf4H^}Z`(ng71yNFqmB*0d~@-{?Fgv%4@V17*H(Q^u;+v}b|O)`{^! zG%QhFwIY*J^+`kzY=#&p`!Ofn#CgE+M{{|1;5|g8kfC#=@5E0%DNrmKFd}2{M3U)COE*ry-4@vv67mvo8`(m*<+jA zb$y{u6M)XYDtWiz)2g@=cFJ3JV(mtJaB{PrBdW}|8j@ALPjSxQm0Y~`WjL;P zJs`)$15RG?cw7dECM{_nz9{hBC*mC<@bV0}ys=QcbX{a9Os8y&T$6Wx-3FSlUVOLY z%$9_5Q!UE0E9 zM%`+BxidGrbCCu#sI$3$tElTQeK<95J)YNWmoO4N^Nl(3=H$BA;^-GNd##9| z!lo2nr}X9nj(V&+(Yv^HSieJQp0^cnkY&qwLN<33g>@b zA3!~5^t#u%#f8+noO3nf%Wb{CXAV8!512=4x+*h52L<{d}b zZ_}QJU4-vm*-5WY+K0IB|5wR9HXH}=HE@p*-Y*+wwNZBA#SUk&Mr`mtluFiNtiD!EKRijghoEZy~Jo1R%H6=bUfvXJ!9E!p)jG37lLSez$z*f%OE(Q zn{Wm(^p|CTix24EQuE(~+~4-Z2L1Q3$iWHLc1kPkI8a1usz47Bo*Z+5+@gj5WgHCo z(MEXU=>LXnu@wac4pMlAL|8hx-S`}YnwmFNR->JW(C^BvT@A?>{G}_F*P)D zXY>_Q_Gs*w)O305E!KX9QK7Hx(h9XpBN+UZmQV!fjw3%TEF+#ma`z_fOO<=WXL_$P zcL{{D&osDi<0}p)RA9t-yX^>Bq2v?v2fp_tZl}gfzldyw|7>Mo2owQh`-=6h&PL)B9rFlFvmDy9LNu_EbRQ1*TMT5Ra{+r9|Zt6SfUzE9ak4R^!*jliFqdBT4--)@-N zBuz~4_M_<^kn`vyZ!T|80mb#6k;Wn`>f2BmHoVeu5)8FMu6y7Z?-x^=@JX~;&PLF! z+3b7T2!9t-V6E?|^kYt?<_Cq|<*Cv=BVbfr5LjNjzJ}yF(Lbh=-f(stPp{eb_RTmg zY!&rz*;WS48j2>(WTFWy$Xp7;)~_#Q|0G2&Ob18za94DAebwVcmolxL2zP9A6dRzsUk^6(rV{ZAA3^T7Yup8YQ_*fVkerZ_w!67SzVbZ7hupHKQ@!TA@$ZX3JC zM8WE^R_%`3chWY$>4=SGg3Hk_kQo37{7BYI)=hQ<*S#YTv z-|xiM8}hAmJ>sU;Q3IFAnPEBuqesi!%-qbb6W5F~kJy$$XcAaXxs;};bfV&Y8|a+8 z%fu}Ao#;%{%fhIt4sTs(gbR3(IrH(?&h)726!JHzaF=n|GTonfaphc!uA$Z);!NK; ziE)Rpct#X>!uCG;i9ms|C5pIh{E5I4mx%(Sms!p#BGfDV?kW$b?{RLr5>z}fQ+;x^ ztPJ(eI||Q(t}^>GR97=pBg4ymO@D%KELF&r^>g(C1OJE$IKMaap5o;8(K{(8!>rEg z{p1RHd@2%l%%2CnQjUfm0CDL)d1|psJ|+TZ4!$xBl(4;{?RFbpWkH1yZ{7jP;5a)) zFpYg@o6e+KVjGfZO&tv;uWy?eM%Q2G<~7cd<#g!b25y~uIEVB^8D(%1UKq-IkD-}e zy}TJc506&vgk7H6QFYUJ6JmT4<&r3;xTCL{tSZw#IjwwI2%6hDeuM~91`Z1p`6e3$Wx=%0nGS1 zoWi~et0lL2{LXuPM$);y z5FTIuYpa5HIS)T^vc?Ia50{2s{0s9SKjbaQnSq*RecAjwRxg9au!8q>Rb$U(WYbRp zpJDrb9i9QFMv(`7L7T7fY_F)+L)|EkhPXO#{*}LRk1zkgJ;a_E1-zxiL65Obeu5u_ zpiq;+@~YG3a<&a#pZ<(#jHFhgju)eo>lDGtF}-igges5uI?4JG&W)(Y+fa&7zr^Q05f*v2?VmGRnGY2s>Z5=QCoz+wVYe)7I z|5P|O5~uvNNf#W5Ke07YGd$Ov!A5bcB$?dk70B-UMm5{yn$wDpXb6wXXM0ObCB9tP zZ0z*Faiy>Wi~SEsZ|52<|BMC}|D*!B-RpRK?`80Vh2aZyB4KDC^!TMqGN<5fM&Tkh zWthik2wgsAFBbPWjoJ$U1*XtLdmuWV;%RLDyc&dIL$*gxW|5eKtDxL6gzeL*c>n=C zh($G7w1rXz2gYkdK&JDMCwJ0t^s@EG9VI|luLj#w^3=VqMUAWWZG@S;%c@er8xIzr z2ET2V;hAh!-?JaHae3`P)~j_qZFrWexG)deL0vLrG<6DW%S|mU51hb9k3AmhG^zFl zM4H5=DulW;das@D#J7L_9z!>&d!QJ(W`ZXORq^^eCmjZq1-#>=ngUt7G@pRF)c1J; zPrf%~y}IFH8HDK6m0&yf#TY0BabhOs8H^P=^}VC{q{xQRlO(fO5G75t;Us$nJ> zpW8Nm$ksv2_j-{G@@v)3mU2Gf*Ms(!hY+QPOn?3zNwEJHEmHH2`Y@qX=0gY%wuQ5* zHCJo@xn z`qqfk!WXQd%=|=I3P#T8>Wl%QFOKgqWmCF&*3p0gV}9uj^s+Byz^f3ic6B!B5rz^M z%;~Iif*xam6TW6gN-Uzkr}l@4vrL7vxh)xjs(%2Aa~sQ>RN%tuF}u z@1x7_JXT1DR^3XixML{s+Xy3U%o5)O?;%x|UB)7vEn4gFje*&zKK<|veirLVP(tD^c^}7oC0|~4`)|6@yUU(2zY>9IiJbe&6yQ}WR z+*^CRE9Qv?ZR1z5=$y_Tb8PBGtPVS2v zkQYQ$slPn=xp(2@-MOz0D3)-7B@CI^SG@XTF~cfWUq2iHXMsoVzEh$yi#)KA)dQ>p zlj_~e^|_Lv=c$0;@K!;?Pe+3ApZ36k0dyp_o8_t$j9|XL)?xf8s7wxqhcXpXY`d=e zGMK4^TuDP7ZKd8tEIyv&A&*PP(7%--D-?wd>WcIyJ>5?+vGOyA(8y;wdS`&x>jDi>w??e zlY$00aUDS0LjXMepceYQ;=uy-;$&Mz1!D-7j0TSySs%j%`hvpFKa(Az|Y|cwW#24BR`J3 zBB!GlfRq>MwuSAP#h;(=0Vt*a1W+y#mB z&*G8jH=Dr5%cWGCf{N;|`hYU%dSw1))F$oI4(jT76y@_%e?LzD@gdLx>x}Tm&2K`2eUd zzG%8u5^_lDXgUW?NRv*NDUpXe2nOAk$;EF8e@ZCKlfcFv>7iQBERZO-PXP1ud<|rHB1UWeQLa%DeX>r* z7kiK%_R2q+5C$Rq5&jDypLxt9!ax80>QO9{htA8~2c@HlfgWoEH&g?gGMVYU=2_H1^p=I+F6Ob&p6XSR4yBC2hCS&w72@;;*Whag(WS z)vfr};WU4o72Yu?F{98o^k0xV_UN8o;!;rF+0qxN@XZ_Uq1xZY)-3{S3EGdbga`SAc9t{|;I!{t0k<69ud1^A-j z5m|!*l#zvel?4iD?zbH7h9FlE)N6%!dVW0LRpqGva~W=j4xw*2VNU4jbmli0XY+>J zdP$<-I^?c{?~j#Zo?10OWg5!Oihk@z>NzASTXu+#r=8ieNqYYvK5;}yeJO%iBIe6; z_S6-v755nUF4WI}`KiMr-yHG%4yNi$E!Bg_kd z$8#n!&AvatfXAf2JzFn5FhpNOx7HQ#AAR_|d@_gl|DgdU9btkUC_{)c(3(O$& z*{6&8+Yjol=6v~(qy?81m~o$Wf2H zBa?<2%w2F)L$!g3uescX9RN61FA%2j*6=gwT7v%*zt#K?zv3;eVD%9tVFo*+`}+@k zDIey+->G^T-eRBAIi>Pc0qwgn-It{+R%BN!WtJ?}F4pr%LY(im_#VHa7#g>yHO;sl z>CmUmEaBkEw5_c`GyLFQeu!)UJ`*GC<>%X7AQUeY;E&qaMX{S<8ea(S_73d1E_8Htr+=mZKqzH6&usLivM82 zZL5*--Y3jh&Ut-cT&xu1BN!CWSBxdfNpN>4G1j4?-cv>NoIXx|{=pD16(p!gPshF% zh+g%W7(pUMjC>-SkKQpa@#YC$WaRv;>8MMdvEatsX<>d@3gJ-?oSnnmsw(K|D7$}X z5p1E#jWHZaSbbeTSH!y*ez+#@)ZIo!hDco0Itm8$HOZddZMtKM5@fMaFR(3V)H_|ZVV@fQ!$O|x+yr*$4)h3e4u-_gd&Kd*0@AvW^hjs;H- zkVD#s#$s<<4I%BAS4S6LQOccfOL})m+aAyruB@*atfKnR8VHW zLLZI>jrCC-Q_2KXs7sOByUsZthbJ8QbNqb;m%MGxNfD0*2jF*h-T@i@j`Xr6I3I7D z&P7mA*`KMUAshXI`Q8B~BH?vMu zh?KYC0f&EME@A(`T>S4K(o6cKrjF=?8)MumZ|z|&hI^O`Z_VyW(I*0+e_}4O2f~9S zcv~CJ;?D_qaNm~Y8}}I}&J&n7-NDP_&pOw3^;TzZ^a%^0KCPY`ODg4897{0_e=-RO zwAUDuD^{x_Q&zAY_9v!R!}n;H2#LLZeKt=;BrEqTxO+)crZ-qFDn6W*K|%M0$nST* zQcL(=FVywoR_LWw`a7V@R)dB4t3a0@&G?v8ghyvo&@&tKr@?MUAuomnp2H}6dDFKf z2oU0PWN&xg+ic%@2h4hxG1d3?K0K`X;9^1HxF7QO_7h87_~Ghe;$}2UE8d13b)ca4 zT`}>G|6`l=9KicaS?hy^S$qZ$&;IcLbnt!A{xAG>|Kq>*9DE<&_^w_&dcf)bfmyr; zY45rj`dptVbKm_aAQY55SJrEKx{9Fu?fu=GN`HTFaCADIySnOq^CcmsTsHj{>yKsd zJsZTdpU%Rb$OV{8W+1FLxIorsOvR=d9v-eYzV|p2S-cIfSS+=h!9@|EJm3inI}2nQ z8ymwWc>;NT^GcNCLt2Ahj;8F2Vw&tf2KVV!R5B}qEhUCPUv2Lg_o&|t{QB1R$pe7I zPT_!qEjG;LfH&CM*J=UTeT=+cufcO4JuT8~op5Ejnf+$=vQ#&po~;WG`H1`3_EOgy z?l)Z9lx(+l7Ja|x4qcOTe?|ehP53V336yNyl>5Kfd&{V}nyud# z3+@C-a7d8g?ldmJAq0ou?(S~E-61%^CAd35gS$)P4vjT^d7iz`-tT$Gd(XW&GRFCk z1!J&!jepIm`qivjy;xPVNayaY(8)-QcfizV0$=Cu0KsFawg6jhTPj;6WeGUubY{$SKbLq!mQtHtG{)x2bA;7r2n)U^N5;)cw19; zUP-P$$ykz?XIx)d(v0vNNNq|Y z?GG=Tp26ICd@8;cZdA~nxE!vY6vP450bT;h#teH^Hk|veOVZ{j7V$H&%(3{eCQoM1 zhvX8~#Xu2GzpSFS2KkaYI>cP2LhgMju4rx^S0Qz*Ic0{=6V1eY*FN#i3^y0F z-hrKABm51jcPy=@1Pwc2UZDPf-If9H2Zv|Y9UF)yCMnR@@`Bu&+Il#9aR`#nnsdcC zn*uH-eM3lsV=@ETLqj4FFtms+w~+LCh5-vHWxf{0WT-H2qr*43HKZ3C86~Q zSwbAZRd!M{s9wg*yj@73?>c>#im^w5df!>D&gZC8y@n&t&pbytyB=BIj{}RHExOa-5yy@*J;*%J-De3f ze+=<9UiLVhKU;19Ka7Hao#4)@2a|Hk{*OP&Aq;{|UIjK!uQe_s%k zD1=1okG^Ryd8Fx%Av%_=Y4O}7Kqtw%ie_wadVgq{=e7EHi<7>NedT|!DEb!cJ z-#XaIWdphc4V;ib)|ytg*9jXvpFFq!e~KVu#*aW-uI`bf*4M7BgAkKp?~Ndc9^q3J z-yK9_QBSAu_`_5ADkN~B!O)lF(^_SaA-dYk+wVb!IaO^6+%4A}py2ws)6S!bz8fqSbz6`XPgUXpj*q9{c-|B& zU*PZ&u<-#fdJf=M7=B`?%pJdX33gVl-)kr{$2$htI3BorWZLT{nYK4E`Cx)Ow;)~5_MR!%}x3Vn^W zN#+z!dxb2RpdlyV!6TEG35?HP>Y_S&QdttSzK3t1AbQIg>2yi_kg^;G@Utf5yL+aC z)!6f{8QvklIa{*|GM1*d(%V_PHzV(s`04>*S_w*iR^jOA_2n-{>V}x|4c?Au-cQWl zp+mmg6G66tz~s-*jvU$(zPY4tmtmWhU!q&}JOSsVME_Ei*xyl*cs9DPtk91_jCY9Y zk0B}?Gwq!-1eH$>H3C9fczXcFt7ir7&&~KM92U3sd&h+RNRIKq=SJekBl@)*o9tH) zRjbrWxAqQy&0=nXyv$-&21`iYRn|1Do^vKHxzC&^+cpf3c z>e-%asDmk^XCc~fAjjodb`%i6>sIOE<^R??8q*mb9mw849&CnAn!g!k*)|gEL5Q_* zD#l@+)+?-|a57IDbB@?Vd)jrcNY7(Mw>&L79a(KafFVd#Hfau+&-I(D=l~!j>~AZd=nM3sV5_+Nn;f;Xme(dybw#XLXrDx} zu9BuOFz9A1muXHV+~p~_Z<37^MMw2`@P?)Y72uhvtjgG%Vx+Cc%we#R(2cbHWK^V$23>^_ylOtGUjs_28MIe z&pkBtcXbC?qh}MtIV*g-J1gO_)4rPq^D_}*Fag@08k^+%c(Jn+G(0G*SN8?*F`$Z)Rgwf`NU4l?*kQ#@`HqnOXZNze{fTN zbyh@aesk{R>ZrIR(OGT-CL_k5FQSpFGh#7#O9oBH$dv=b<$%Hr>()C`&BOkoEETkmL@oXpJ)ff+50!UeCIeaJT?r@0R?#Wf+Tq;bEyfc-$|^ksPe&kV2Bp5o36HK6vtPqZWC8jTzUZzH!cShR{` zJ^E_cQV?*n|5J9!;tZn>SHN!-W9hwXpk|o4hr}m0cz?|6pm$jQRhEjk+!^AHvDTM& zNEX5hX%{o|4{Ls9*+haq&+#F` zjxc0V_IH7zZ7^qk?p3dHQGg^-d11LaO7@M^BT04mKECW@ab}1Z=JqbDSZs2>aSa1AI}bTCyB&LwnXw0L7O||tq|B?aSd7km0GY=8TiR^Dm0=NSxL1Kru<;Hx- z{3YN!JpJh>LHhcwyzC5%fiufcW|15%JDQuVcb&vgEun+o;+Ahm?ZE7)HY0CF?7t+c z4PJ*+f1@**fHW?C_i5D8K05fJki+Ie!noI6MkXi9s>hD8@rQ znV;7`CP)ei*V4p)!z;)?C@1tWpXUk&3{$@KZrWZ47djWpTR!Mh+YHk$KlI7IypbWPhiPd0ZQQ>C(+N z_Nvll!hT&|GY>_O5^ex3Feq|EL_7s4t&lb;poPkPLD<`A7a;O@h@x?9P1B<$ZMW(F zv*yz80;S2Toi&ASAH1Q>+IUNLvPK(gwZh#v=VV3jil|#ilToDIFaL}HF3I>JI3g-g zS!Mm&e<09W&?r^f|KQo``TCMt9!)>Qs4q{Ft@(XaNE>AtEnvTG;@vA~M^d77Bv?HT z0i40dYK$ftnEFIYX;XpS$tX8X($8mR4XilcRo)X_GWAzBnT5 zF1-ir6w4C6lRqJEyrt~GG;q8dK6mVdXebR4V>drSl6H@1#uJ-s*!Fy+-^Qrqu3*3M zd^5>Y$l*pYRSBuOFbOt9)j5N6C;`;_xhP}0 zx@nhLTqcg|gI6P%K&Q$x>xqj)Li=E*q4mK-X#w|}2l-~eAOeyzu9TnPDdeii*)F|y z>GtN+Vt%VFn<8!4-4Cq|-C54c$5yG=9*vS4W!0|nV?5rL zkAs07Szp0FUHD(7nQcez!(EVFKoD6ZKG<8QG4LgzNnb|2hT=j4z^;*ODIC*iIG`;W z84n^){FHzn#z)&tLz;S+EQBOG^e;#yW0H<^>mLseF6ZtS3K9%pLeb|YHC3@eA_&Ef zH4!74#V>{jDxs(B?az-Fxagf+)^9 zJ4INoFKzm1Ax#Im0zn8t;GfFC20i?co3uJw>-?ZW!7ed2N|K&@)HXe8G@$fz5An|m zXN<83(e7aecn{9#%aU?_NtyW1-WX$s-c$;j$igIwBZCFIO>KI!MKRX8iW1t}yKSEo6LVE{57K z?kqAbn8q7r!xpLbgjZ+3ym*~8@Q7;XE3f+JvendF6O7P39 z?j=NObADj2OWvML87kAG$N`1i)N`#FU)TJ_#REPN?pIB&ZRZiKsWOZ;S?{}Yj!t^A zMDakkCmKL0FHVDLm+Db{Fup_^dv@Ak7a7w21|H&7{d#k+ID4c&Jb7}RJpj{cClw*~ zM!50@JuC-L<0blmBd@hGNhysa0;F1V-F->YK8Vhh8H-ll+$ZpCO|uRolx6Y>YL0mm*hBstGx!K$+!i^j+*p_#6&5JT zz5}+^XrzsxdU?QIpYxi86H@k+``Vf{v#MM8-wn1&d$G(dn6u#s(|Fw%yI`8I^uyv5 z&Y{W6_=Tm*c8!(2U1H2Rnm&5jyK+&d*Iq>Bn=Yj--sSU4khAx29xz*5{t;+ZeISjg zZ6EWnoy0)JN~kbpnDGPN(YA%EI7Dm3JYc4T0GF-Bb)B2l=w`Ju%;tIutc`ga!??` z!2y*$3ikf^u=wdUlPMS@UA)Ty`?J(ibh(0=~1kr|rvH)5%9 z@-j)?g|9%PxvJansQH-_eIW2E-;Z?DQS38WAAK5~-KsTm5et`nnn{z(!5h;2&gN_F z#w(HCSKjf$&Qc)d+=6dd@Z&I0v!+L&)YG?eq^Bq){9K`^3K5OGLnp&pAZt$N6PMfQ z)j>YC=)HP@p{G+<;)7z>NE?#<$12F(Lre->K>?ec%=5ThUO_`)U`d(h6(f`rN+m@u z?3ImE`da|b#!-}!`9-zCs3>RMl|c2dI8xo4ZzL5Yv*^L}euadSl?p@1wV5}}&1TOo zp(8I(81Z~00xf4Za-ZK9;@pBVhD*a7o{FKmc6!*eqzKT6xgB;EXW(Uyqx^olwVVhO zUGomJqAg(=cQJl1hn|0lo-EIAnsu}jc$Y>URy2G%#+iQ*`o6nYa+GCmuF=~2G*{Q6 z(&l8UeOd*~j4J8@9Wi(!s~*Az&Kyz=ybY4$(|xt|tc&ZTZdlzO?FX$7{dV64R#NJf zGsPwljpgf=rTn}M_)`FYK5P-_5GZiE5*?!M%_%B^sm8h73Kc7{j$fjE%9d>H$xg1r z1KDh?m|ywGZgcQ@0f*z`v}2HKz=|$vsaOuktOO$<>N?WnHlVd3e;v#XN!lP%JWA9_ z@yNnIziMG=AapC-^1+9Cs{hDMY1r}Jf1(4Yve8h&)95ONaCIG)xTW2e7!)St+Rq%W zHCnx~x*MF8>AEXMMs5Gk<!tuP%E;6VI zas53%)f*>IHb7)PV!4+*JgprUmOY)ok+u9o8x z#O3~&dPf4__?q<18s6#9IZTHv^nJ8YG-x%L7oFXVdpWQvHMiBt`52$Ai|+w>JWip2 zMVQGUq7$wo?G-ZN0M>-^2ac|nTiVF6`3jW-k}LyrRZLJC$Jg4r-l@ zc?48HsO!R9q6qT>SP=6N_!dUZm}CgDKZ{V`AfP_EDA-_=zL|iNP`M0f`-yr3KTvR3 zeKxwLM&o3Pm{%S}yYHpfLWB=3S4Q!%ly|Ji z*_<}DR^ z=Rf_lvZskrm4ZDVt2c|mKy6)32F7jmkuza8qG4Uk>-v_t&yCh3VZoN3|1h%80a zYa=~(RMIow97}rkQxwV3WbmYcm>_-k1f#7bHU(IWFT{&0S&I>us9tPN^aNixGY4yj zGTeM{@4yQ3R24pvlPf(}{tNFCaqDW0RIJm!U59Rsz*rn9=`vZbjDg`>T3`{%QnlfC zqKvwIpr7ttXQAvhcB*|1ix1WjrfBTCXaXehE?YE#CpQ|=R6Yu8=L!sYe4B71H3Y{k zf@f)V2rT>99ZjiO!0_eav%hU|n%sy!8IJ=27XCXZoYUEs*RYxlZDv=NW|ySMqyW)` zca2Doy2%$#eKDX;9;25f6?lrP!8%I~>G|`nTG)Beu2uvG6MXfNMoBX^Df1!Mw&OBo z`%y+Odvw1oS_`5Pd#DPoda0Amlk_N=+}ZY%9u3sJe;fLn^S7Dt1gGa5w4B&dOt&|q z8e=S>O=LAn%6pNPr1Ul;bC2p$?G^CD;pgaafx{z!*Mbm&bR&}lIA|ahXPxiUQ@gIX zFYd==>j>=Er3X%HL!O1ADfJocqoU<7hF{uG7nz5HT}U{HdwbmYcLJ}pc{E@eS0RR* zkMqBFyjhl*IVt9Ukk7?jpDC!;>HNKth2OUXCDQ0bubaZKFCa5nG^lH*CA zu<%jD{v^3O)o>G@n3rKlali4k_A>J&O-D5%Ld&DjIiHw^EFU!^sx~v~Tb7v`7`U>s zmq!(WQvqpcIUf8Rp>Tx_RZlzD6>VEKV6Ilv{i*yx6@12koydWbsy|0V|J6H%RegNiyN+nM$ErcFWVI|2v@^nEOF9Q?wT;;Tkx?7<(U zC@p!3A({|S`N&)%w9kGr_}Ga8JG(~m$k7DDVOpQ$1~H62`P3T1h$XZ};uWpO8WBEk7 zy+||nhwi9-Ge1eUNYZMJ=a<@9bHD`3`J8yFkeYV!*zCtCt0xnSdTZU6Md0U{At;PH ziDsm*P^z)*BYa4IJ*GBg~M}TZxIE0`5XW-eTw!y2S z#}`r|SSexv9TPdv&zv6uRCf47GZvSP)1sK^zmbY zWLjr+53EP^Iz(i(zr2kVO{geHe`;e5M@A$C`Oa-p2KL%fzxyE(JJKmcKIO@rjsH0a zt4Krb`$CVcaRvSNuhgXxQq(P-pf5lNFw6MX(mrk=W%}5Qe=4gazg@+|(P)WT_l?&S zA^v67=auYM+bDGuY8B+Fgwu_RMYQQ1;BJqB@3>KMTu1(;td7*joidL> zfnXJ7Hm>xxF;_ZIJqZ+RJvV~&+PCc);i6>Jed5A@@+QaY?CArutx%pnq0VwbxGv2X zMGUNA`;)SsK$nIJW0OYcg9(>Y>U0HR0TI7PlE}c-0K1(t(S(nb$ZaKY|o;AwK}V#o^0hV4ZJ81=mdig^&xA$ z8gct$CLi?G&ZhK2si=`ZS~A-dhUZm@HM#A_Jo=&}YBNbCtc?B?L)~Ti#g5!4*r(fl*=1cp*(OPTSKNi?Aq;q%;z>7dg5 zPo*xCTj4dGB=;F#ap) z%n|yN^MI9c_f5P(y0Eu!)6w1uUiR3JXO?X+A#<0oC+Sa_`-I_C!q?L+ZB7=G2$zGu zjPPWo1st-GurTrzl})c62e0&G4Vske@(9TDYWaD=5OoJ`8fu zI0R{~r{TCM#bIjV2_hEyNPZJGCXr{j*}jKZXk4#wrA&3a%pkS_OgB>~HdeV!dE-?=4#T2td){Yv#CWxgY1k=Km^^{}FFG7yt5q)!?6`XoBB86VZZ(r_mu zcrxv#=3)gG`~=1qx3ZS(Db^Q=LBTgeyu|A%5s}o}a}KVX*Rat%E~}8xa3s4{J*cO^ z^^hZ^8sQyTm9%Mso^U>4yb)6me;fFdL*3>zQF?doEldXAns>uY*?V;bK)Vks)&1%M z(PV=c2z(0dxt!WIj* zb@No_-O{xp_7Q659MSzMB*pNXHu1W)X+ogr!c!>3^PB6WZ016Q^)fcKC8|+0@7ovO zyq_8+jEL`>0<1yUztqE(m%C=oljwOaa^(^cVK-w^T(2^hX`H}cR0<`Sc&8RN{Dc7e z6~!&8tcR9dc+ZrENQlEa;m)Sk9OOHyv|LB8vphCF+}3>MAVQ2V1msze=0J7{63Y`! zvbgH&Qvfo0lW!HXCaLMk95rcdKcRWW9rh+@GrT|CPmF&w3yME>5A43{zZ%v?GL&J$ zM;a;Ckeq2>mk&#|XTcSlIox@oH=vj4KH|BXw% zuWfb12NTl$T+pFhS@?@-@296(yjk$YC`FO!UGG~g0awJ-mnWKUkFzOZUxNS-(+7~z zhB#+zd15oq6;phSs|SFSeQ9=>^$GoMo^zfSNTcU!$<_%1pG$Y`_nN%S%w!43$f|R^ z+6)M#O3HK<-c%0z(IL^>*KyR)fu(9(5m1Kk9-L(~F=7QnSZ99cAF=do|C}P{NCo6f zQ_pb4W1t!*!P7YD2xg-xtVomOi7WRsocAA{D<6EhAMCC2<>yr#5V@?KKls`BQ>2U| zLZ2Aa6F1YswettgcZ{uEgc|FevozomKV{nO?}LEepfVPg>s1NLxOENnKz}>j0{ho* zby8LwqhG$?(QEa*|3F2Q3tuA?NG#T7a@9N4EF8L+X5yHL+CD;G61XPV`OKyu^AiWtVyl{`onjvD!HvhJfn4j%cnBffh`aDixp--v$w#9Zam zzrj={jJ|s5kDM&CYYhs3uE7-4g{-P+_6` zq{PM^jAn9VXjs>vXln=i$xlN+FjXffL^2{Gbl(6;{B zc6xuc6^V9%7EgfTBP-|CmMXe0svM^YeaqL&wh<`m4EzGDVEAm&Uvn4icjo+JARD;a zvs}tMx2Kd}b!bu^9Ka3?ty1J#z3&s)RKr+Gq^o7f`pReBTua%5I)tDt9brHcH=DA`B`(E#Nw5&0=3_@%2={kxM&qHsM^?YQx35At$WnvF zk6C{Dshf|pe+P6$@e`YVQ!j@QwuyJAZlcG{|K5uP3Wr#{IqHv*pqD?B=tA}wL;NVW!DpGxYd1FMTT6<*MHHnscfaXq zu@G(Vs`E}FG~b&Dl84*sUWPV5|445@Ks~!(Egw4mEHGo+d^>kN!%UBSQ!)r?Y2ETk z9*~P53G91B)<{zR5njl?#YsmVljtqv;~Z*HZRnIGI`gn`qsZ8=K?8P!%tyz3YoGV1 z2XJ9C52&e2tmJpt62e9jwl`Kquz8?I_=!qI&f9?lP#o6)qynwSt0)y>4wT=H*ef<5aXm>5JAYPldV!xE8}9n<||o*ao^J z&t=aFVB6a4IEp+Lxj$QyKY!)g;OCQoV|TX$dU8?Zy)=Vb#&3s+Rwi@vyWMxx=s{E6 z+GO)N;}a*_N2bp7nB#4YP3f)-OnBGpY|DlBEf**9)hAo(G#Q3yfzi`jwl{KEV&`#= z!*BBR8!4YCnLQ2Bx`(>X-`6{fsfmg};}mN82_KAUa<4SX={YTHA!u>{p6>Vf8Clg`V2fjTKY#ppyZ`P0a^2A@=z z+Dsv^y)j?zcoHiZbrE!OVtRAZ21HLr=>*e`+0Fv#l3sy1299(J;O(EU1wk zs(9+#B*ccwX?=K6xA$>ca#DCCtyhi{+*soa?->A&@W~GPk`(SPs&)Q$`h3b57%*kP zm-l{sftmPZqry4bRQM0g3CIvY6lEX6u?^Dl3GCRkiYjs_^1)g~ zT`5|@4%_;pp*Y5uZ3_|OW*P*f+*{vp{ZRSAAP3Wqy!mp=yykY#H*6TkN?R|s#|iRU zp+sEcptxuK6^9aPRc}q10#*&597bgtK+ykOfJ968T5_(*G`lOYpoT25~ z2Q@}39g)Iw$Kh5Oy`p9TUP7ZxB)5^L^H7ZMTS~;)Lh6>mG~KH0Ui%~-NsrJ2-F-iJ z1gIDMk|pP)?>h?p#x&?Sdsr%{)hO8T$1@tACl*AcJHNNg6tEsyy|hjs;5gU zyO*t4f4q-ZpV7qQbE;GV1mVRX%THbV|2*$j1oBzq~`&OBFb^+|+VO=0T+6RHR9 zp`jvtCMXmdvE~AEV#O!|!&^iF-RyBEU#W7V*Y|p37l_TMulmjb^9M`5#=i{5nt4^H!#Ai(M-QUQf zv>yv@uF8}PodzG#Q}w-22h2-G#{|PaF{Z28z62g}i%goRYSU=j8}bA;HbPm`BYdp& zG&S}9>Ec6ssDpt&x#vg@aJ}0Hsb_@y@9n3ONTx_s7g~{XMTe+n&UuO2Y~q=m)dll1 z3R&B~uk79rO{{tOb~CLEkM9gXU`&qTt=iWYIcl4086CwCr<5cLG^KV|FB98^IESjJ zwd|w~eifsQOl4)6pR9iq{<%I(-&C!9LovFp);_8oST->fKY;=}hUb__3h?b|ND|sL zrJyZ6DFuFa)SmlvxpnQi27Op&!e$Bzw}qK}o*>r6bmi4OYNLQkTJ>xuC^e$2!zCb} z2yxo*{!VW*;I1YiObf$s-mojMW+k(B_G zo7Le}v};oGE{NEsPUn~m`OOBM%JOs@z2|H;R29>&#I4UzxsR=M{QPJOqlg8SUAAN- zIa_PM{h3f>dAoaE1;{gA+v0t+f(wehasydDj;j>31l!}P|GI!JIEL@(i;rcz@&v4_ z==#J-ZK88e(e@k5Tnq739IwZ4`-$(-Gq2$SWIoeRplnQhccxmN7u zxO7^_jE0B~-lx){t?XEYv=|`dVN%Ba)lWv4&2~S3UCOSo_I`qfcILXfz+lO_qy?yB^kDF2Hm^tSROsziq|;15Ly!xsm~Y2Z zAiBpmUG3ti2zpPgbw41Q6AJ0vAwv;7{45ggvq#_1T>0kPNU9!$ z$|P-P*23jD>Ry4YExlR_6`Sqn^5b&{wDgzMp-bn5d)(HWCYHmof}f9# zh(i+~i0>|)-uT`bM?} z#*A*(c7IR#=i5i=kOL;gLt9ZzN zGW4)Cl@xBDl-6EiCl3o8Q)7cUztFEcaQKMx8) zM|T@1 zeK!UhN6LQ~`EPc_j2#Uf%+B>zLGf2c|2qCzFKfGhWn|;{Pj)X9 zncVd4m{=H@nf_(@B_aO{6JAjVV|^!EhflV)R)YVixrDicv8%0vr6ZZB3I`d>ORAS2 zc5ZeuHFFyyTUSSZrvIGo-v#-%Nn;)3Rn7l&{r`)hk>S4( z+BrK|{oPVVhD^p*#@5C*PL3}aS^j&BMuxm5whq?%PJ-sv`liNAb~dK`O#i<4KP=xr zO8w#~FHXwzFE9OXMgLdp{vSE{H~0S|=Ko>zPbR+w_YbZ=xPFVkZ;AhS*B@NJMc}u@ zf4u7tuHPc?TjD?7^#|8)5%?|fAMg5u>$eE}miUi%{lWEH1b$2W$GiUE`Yi&#CH~`G ze{lU4f!`AU@vc9(ev80wiT`-lA6&mh;J3toyz39H-y-l^;y>Q?2iI>A_$~1t@A`x5 zw+Q@}_>Xt}!S!1NeoOqvyZ+$%EdswK{^MPLaQzm6-xB}vu0Obbi@kqEqBJf+{|Dksw|9jnsvCYe357(Df9q&M7hfq*ND$-)YpI%~sXPL)p&n5wV zfgLFtNiyGmBz}6|6;ICc(A& ziix+kjqrfhJc`Ggftj8vpOPHWByBXUTPq2<1{Sh`iysWM6&Mr*43c*>DYAj?(JTWO z{8deNKTR|11ojZI0))n2`FjE%c6GW$#27J~K8Z1Yp2Y|sx-V@}6r1v^C=CmPjVwD< z!s7W>Y750g_k=au=${V+KP}cQ5;TU5!e=0!k!N!F^EJ7MzZg)Pec1^f>NAWZq0@KN zACp=>$P3U%Is*V4T_-ta+H-#Lba^o()sU)npn+Bs)d(ZhX)vk zmTVUz9}FwB^zM(RyQ?13!uV+^6mFi64`5HSW!~9g^%%^-oo+1QUg6r{G$A#$l@6Ch z7Rr@>z+qK2_VgPRn0P$B?_6-tlk=kRkHCCeM`0IgqwXGB>LV}qKxbTfc>nh62Q;n| z9y9MOUR*2{RZckmIZ$78=n_lS-{pFP+Z1T2Mh{DZ9S12W{oKD5hy;yj#mZS$#Y$^= zqpHf`!-wxCFLrwDX)rjRHp+zEgs5*X@pqAsHe9~Y#hynjTl0nlKeW+3Id-Xu?<{*O z9Gm^D!A8;!sy1uwB5u*2y)RvJ72lb*Tf$PV_--Z~$WdmSw^_8*LQdVS6cs8>1Oes#hE_qQR_5l&ew`nIBzS(Oy~V z4HV7=3s$a@dtrIf1C=**lBz&NSVCIyv$B zB0f|vi;IMbW1BhJslQr9;_YeHQHmbiQ$*Oc@|=Zcpqy5qZ{B{=ML`yi(?T=29=QcB?^Q*b^aU z8Lp`%oVV(00dquSNJOxI?t#;16iP>ol7S<^9~{;5}a=Q7P+ z1A}@FxUFil&BWVsR&8br|Eal=FeM8*JqrCo0x{I22c8@fk_#s<_WW5Dk~tmyYU9Uz zpR3R(Pm}jO`YIEF~ICNoc0ke+7Dvm>A90 ze?210X~R0|1Pd5g&Dc{N57YiQx=?}KPl)f>_Li##A=YE6Z=kO?Ssx1+_Aw|KI1$c}h z)v^+HP>CN>5M6q>K;tm`mcC{NyeYaL7x*D7e9x&Yn&(s22=1byou-}C%!rct^Eqsn zzCM4G%G^rj&PCYYOq29w4Q7XuG;mzr$tZD{kAKp{>$T(T2h478Hy|$*U4(Tp)h76( z;7bJu9=5Vl|H>Jw#38!mLzB&-)_q(I`4#@Rd}<}W&nYfZwZlF)Y@xR5_v&Xje5}HA zC)$3i06WrZDzOxm#HxY?SS!~Mc!ew!{=@SulyZ>obDnT3))&6>>KAWn$JIR%A@g_S zKVzk=&HM0~V>Uqzpqnh!y*4k_>D-ylv>HQyj57wL8XS)FA59&aO0pot0>)L9kqCwr z0K+_NtXmX03Go>|KhBNW?S5rNGc4-gEU3dlZwm%hJc@&!rKO$8iw|Co&yp!Z^!^bF^}Le6p#1MDRhg;?>e*`b8rD zrLc5>`$Wxb&#J`1hK6djkg{{VKSS^N>@|8vh5F|cpEQ;xhh|N}Q;COhQ8q)($@8r3V%T)UG-$k{$m=LQ%nal83#dY*mR0kzJ2bnQ0sfCl=PTA7%OA@r|a=&A93h-oCXYV0`MqK)zTj8&$K(ALjSsz z#&Lqt0ydOP&CWYCcGOVxY90}|d$-Mod+~=S#$pw?jB~ZvmeVW0hp6mBSLXHa7^xOc zH%JY>Y!89N>X{8ZL1@^@}X^jIslBJI%M@gv;8OLF02en_2 z>=>#gap?3TsR-0W%V#D~yFL0>7~S&6%%+jyMojB#B;1;jD~6AtDe5MGC_9t~Sy<@! zpDwF@ge!3EvSrqNErJ1htcjPVXC5l18ho9lFMDz;y)IN9RiNr>c;orZb8EdUdvK>z z?&RSCm=GTv+?b-P=30rOzsF1;OANOD8T#_+Rf?{EbWDK9w43Gud*Qa^Vxu*i;RFDo zVJzTNK*uNS3bt{RtCCU$vf6@OTwl<3N8Ql&Cg)XiHCmAaO{jvXKc7?YNBX#t;=WQU zA1=BwpU&5`<*AuE4*-^h!RGq!8%Ye6>3n{!lh zj0M5`c4F}|R{ylRISd?Dg*}Tu8VpXBm6_CqE>q1`K-e! z-aQDh5Pc<5A8T4Exyvy^u2W zFQtU*^Vf(d3*`(cTEco;HDl=*ce{XK+DYB?h(I1m>;(No6IUCN3fU8 z{O@vX*0(iKdZFFnCD@9kQJc)ZX0#<6lK*0PD<%}%e^3BJgl}X7oaSwF#*yiGux44k zN;J@S04UbJ8TD-v<5zvpr#pS4&;|=!(0{Y$(Hed1^)`)9;RR|7cNQG2Ere=7cw?KV ze$PKl`yGY-x0zFb6mdC{*~77Y2)t^}?hZ-gNa?*i*SQlGfl3(Vd+Ae&tAKNa^o%@97z~pTGc)A}rr7|OHCWoUhAizHQ<8y!C6{v* z*Ofax^T23PSNnPm)tA;2j^Tjg8pd)Jl0I_f2vZ&Q*G=)IXz#vf0eC3gN)dl$$g^-w zBGnL3b}s&WMmX!|afhi%@0>8!=j(n(=g)%1T`k)RLA4DaHD~WR{T1S2 z0gq{X;!*CVjNve3OyC0Ad91Q)(5xs~P3((3FRdeksMj;hfo2PleO8FmE6n+%%EFQG ziHr&Dk!tQNdZ2(jkjI>eW8k$32?a&Av&a4!M>)nXlOiS;brOGe?K0_K`fj7I(Z(ob z`c%$KReNQ#sF+s|a-j<2Zy7YjF0Kfj$8V18Bqd7CXA6$-E|;#-Ca@K#!XXo9-|jOl z=s!nLt2~Z(nFkafZjzGw#(eQklAayqsjKRDDp}lM!TE9Mj>a(_0+V8|Z5W=Ks`@!7 z$xbM$T4=1+<0fGk`m4CqyYN*9>hKu7P(EJdnNC-utv4^Z?LU`g*lpQop84W9XoL;Y zsRhmwNm4G2?Ln7DAElLVXGc&Om)&RKE3ex#<-STz3pgp2uy+f3Fp`mu@b3i zbn!f-P!O~FTCCf)AoCUo`5ZEN%rkbH2trA{Y{~Vb^Y0(5n}vNO7zcr#q!LK7OU8EpmN&ojMGC{iVs*`#G!79d2gOH5M3%0=-f$Pv(+kBy`I7A(TLZL`Xi%V2b5!gj3g zC!L*|-}^elcW)%~!fus0bLmMX=uIXkOuS<#nLqxXH@|d?Uih_#>G;5fXf8L!!GSV5 zf?T-_>$c4}-~9%9{HW5=S*~osX#%R*Qb`tj*;K{8gFjhMCRooqk8YgpI^#X`d|*PDj`Mhw}aL#9;P z{qV6un01~hF68uyfo4CSYlVUDtY~&<^Fq6SV0|m}+rT48sGu9z<7=UZfo}&KTD^dG zU19UFG3Cd*`!`>^HOq*B zkn7P@;4I`=-f;%UiUrK+^P3@@4FawM*>U_##L4{xOd?5s?`!P4e+!w{Uq$Q~3sXsY zQwhXRM6UFyBs?#w2wf~r_VriUw`~jgy{};sl>?{MJOm>G*)i~3K=?t}xR(=8{R}IW2Ed-vMfRna7~XO#xz}FC#5?IpC0LY7 zOuK_*Dk_?1Q7TDKsuL6MB=_1Y3~#xW>`O0V&*=idN~JmVe}2ZBU;i@4j~zwh9ifjz zTgEV6EJ>#5lq@4PzYX<0gdiH|bFF&m+Q4HS!7m7Eguiiy1|MxuKOB%wsIdf+o^&j> zr|7!Rj1&qut~+tBNtM|(;oYlxR^Jq(6qKi_zQp3y?6dS z+1Fmhq`P!sIzdmOQ$3wVYZ_euPgOn7qbHGMVLE|HcWL&uSJ`{#&5XbB2kn^K&GBD6 z&Vh%vkv(;aV~(ohxR~PVqL(RH6m#$xCEnX4Hh=w504+2G-umTPDp zVyK4^nhRS+69>_zp-vbC61agKf5^lv^W(8Xk?~SV48gs7o+>fRqA#5!o=D=1p5oy5 z9%BFZ|B1J@Z6QDW23Gex7A2GPBs!r=|1|Y}R!$oLJ&8^hC6id)^T-ds!CTw5u>bqt z=HL$=qBwGjj%1R>=_E1BDxWqF=%q9wjF(C>Rwxp)%#WAt_(MCt$m2{1@6;DLNI-XD z9R3R(#3NW8pq>pL6L5wGPx-Qf(D^G zsa_Q^BF8d$J(|s;rIKKbB7$vM^mV1^?&uKDE9cEjp+D2$Qe2?N~)DCD37;7GqAt`{A%EmuPWTrmrUyX zM2GKV48aT-FF70>8>i^HSYlX|O0po?c{(j?2B^ddk7x57$z*ZWC2rX)?n;r4#X{2; z&=a|WIh4&};DI%RFK(Sw9|>H9kO=1iQT>q-dHr}UCwXU*$1>1q0YvDE$E2?-O^0o> zD4mp^WT&5EQomm_x)U$H@73%{cCsj)l(-$EuPaSgJU;2#g&MS{l^GGqJDwcR=P@F$ ztLl$JtyP2wH4sYRuHN<1UV(phRXLo=h~s%$w&o_O$%dx|6tpXDvt;fZ<|jI<50y1O zWzf8S;%xpU}>+trN%ofZ(l^*lYC$%yND2>kQayI$H`qkV)3p%D6-0M~WD z2mCJUI2_I9q*_A+IxV2(3`*OWN={?&ehuoY>(md9$4vPeq&oSZb?E^d$>zwE54!%& zpL2u=Ge&5E`}lJ&=YZQqq;xW0kmK1rmN7N6{_C2Cm28s`CSwqjvbv740|aWAj5TPN z7sD8_jp2AM&&hm21WF=uyFcd$5oU~*F2Y$e_~J7HUjsOj$#6WIS4(PqQ)!*}R*?8z z*!m`YCzaK!_njnqB$KIp{@UuDL(jCbMiC;^Ld!Q#sp^A9zPP(t|0oU@AuMKmnd#MoFYXqRbpnS( zM2_ZiawwD4g5!#9EJUU|KU#5$gms$Ka*9-!*~XHB<8mmI)uY+0h=>@GLn5*+h_FS7 z&QU z)HmykDwZ+i9EW4sJfnpou6o$Uh^h_&|7FeKi$h`N8wp&5uxP8m0c>B^e?F?;1wLJl zajV9S#hlJK^AnxKjA={WWKdM{D@&foiCmu1d{K*@TVY9Uey8E7gVqr0O+I&DiW z5&V6Wiijwv`q!R&TKjkomE$y^Mkekk5m!}RRq~E2BZY!yizO7)Q#F1&57;Flcdp(! zv~wo&iv%u0Se#LTtKiqm`tMNH&xuHXrOflxQ&enYNX23#V>TVOg>4L$@7S;=Qm!gu zN;w@w@vmS2S3Nvc9M7ZRxMWKXnNkVI^AJRh5d#w%aR_*9_0FM(+A*(4;39;@tOy*y zzYSb6-@vT`pTo$<9Xlv%jaG`(XKf~0v91HW=-HKczXFq&R5k>sp?u0x$(4>Se86N zL@D1@;wK<0zDYT8EW2`&yzF6AOAN}y$?{4wRn?z~$de-S)T$PoBFzv9T!gTgb%CqE zcdT6QseV-86TnL9f740zARE2qr+^&_|7t{@SJmBTGCeC2xCmi!)&#B^zq;zfUBE&Y zK46P{L_{uD)enit`Kr25M7jXm*IW)Trm9Cp&A^Sw&!`aF~*cUHL4zQ%kluv^E}5G<9MD|Tr>FM`|ZmSBfLxT Z{{gpQ!yQJyhyVZp002ovPDHLkV1ldSP=5db literal 0 HcmV?d00001 diff --git a/assets/images/send-done.png b/assets/images/send-done.png new file mode 100644 index 0000000000000000000000000000000000000000..0223d579bd7f426fa0501092577e5913c6df7810 GIT binary patch literal 74367 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

o!s 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%0D1x zG#do#w36=~t-=_d)W-^scWZlUC{U}<1+IfwE5c;6wCZ*L$DM_sh3mFTR!p>$t*ID%8eoqOt%Foksp>D z3bAZ4LSD&W)6vOdaJ_g^O^pvDs%!pvzq;e~aE}|WK3P_ys&)C=!8#_5k(cLfZD_3$ zZwpozJ|p9L1^iNc!Xv$e=6r11_Ggue+fub?6HbrO>(od1<}M#6X{mWU00YQu(hAa% z<~V0;Y>z|JaPYHZOWCZIF0w?&8*RU%K$DnLU4DeGZBK(^HlBpPRy z8eYh0s=#2v7vroHAL684=0Np2lka%*uzm4(-gJ4>$xJHNCrM6+3y~ayb|hpk>mc-M zzV+QtrM0b}L_@-?WAO_KyFR{wD?ooq41Ih@j(zM3{)UveJ(f;h*Fm9LZ|=w>Hw_cWoZysh|C`lXxYYjq~VGZdqd)0pcIkX>)H(w#3 zFJ|Xno5Qfbo=5pr9Pm+fqdXyjcUd;9WI4%%gXN)UU5H?Tf@*J8$KEidPyMe~@asQs z8t00_6Jjg*s!|6!UZQB;`+erJGnM@PXV;K>o18I_R-0X7kHJ*@3XgWzWoh|@_ngia z9m|;=GJ4P4m><^OxasQVY$3w82pVSbjuxn}n9=p6r_FF#-s_kch&rJSiIgAb7TnKx z{(L*5aSs;9=ut4UPd@uvpNU}8caIP&GyfdFLK0)Sa4<;*WFp(N_65lmt?ZTW5=6s2 zV$H1cD0UxuE`I-MR~75ySC%ubwJcIQR;7oYz&y>im`_G^4LfgkF0#DFZwBw3HVmx- z&QNTK%6B`0_o{j6lR@aWGJ5b@v%rb-Q;+7)(=;XP>ArTn+}!ciqrJ$NPG5enaZMHj ze9qwy!p%N5AW7VlLP&(d)St(|Pvb@s9deSG%U6G>VQ$-w6sO$U(}p8}Lc)RiHyh_@ z{<6_SwG5^UQg_F?u4_{_%F8Y}bb!jIlNkQ1Lj+3N2-z7FzZlf7cETA4kvaBU(?EKi;j8c$7S5C^{L^~|p^ z)4l;#8p)1SS#JCUAwgG7V}>J5La?Wh0J@F~_qP{a&0mlA2%e$Xw8_UJ#%P!`{rB}Y zq!q(kz}k|k_q8BtVH!K>ZB0zODk4;&vtBCIsV(!sx(tV6n90kR1Uucv808Q1ebcWS z67zYuiZhiyZ-VmYD>Qw-w?qArNFAa%A-7(hl%pM)hCmk)XAit-*8BIs1g`d`r;yl3 zOrHBItHEE7j^F+zDK(|u!=FIH*lhM_PdqjlDF+wYBtXd0a{X|p_pI=FqZ=c-fo#Mq z5y!pv5su1z$HTKJI*U!dvixj>xlec3htZkO{jQ!4WPA_%;wraS%YwP=jXCzjJTA0R z|-M${E^P8#-&IQf@&h*xHvh72C*Li>*OJ>_{kQ?egQiA;rIee_>*sAdu)cYdH2BQ^gW)TE<^h6X_XodxJg z{{C>B!E#{Wq3~F?v34dBE`$I<=yq!6R+;fp1nK)1Lsac(aM9x>N}f`2S5tMl8kD@`8xd0RFQf&BxYpwz(~Fm*^|RiMkXh>NXot zL{0gH?DO~EX^L@|DH5Q&L~vayn}taKOXpy;Wt`r+%J&gU!&>bQ+*k5#SD}1kwVxR? z81;HeGSgOfeD4T12Fav$E~>|t-n>H~sVPmv;H{2qc){xY2SWmdg#x`TdWAGFpjAPD zYA%XbQ%Eo02j%rV#2;Fq1efEr9!A^OaqV$6OuLlLw29S@c4wzouwyqzY_7*KI=oTK~&aRmH za$K#7&$YC9^{N{8DUJxZk|pjhlm9Y@O|BY!W%?JG>L1O0rJ?b>9q4lvNvqtexyUHRDJooHkvwUEV)CN`)j5v~$Y_YmM53PL z_SoklW_u-@6O_(fM8#!mu~m|6dvAp1B{&0G#+)ED&1? zD^1Z%&88JK&~*4IY>AcqqC~Ml+}rMKtu=#NR?FmaJutw2i}M;trl>aJ-zr=&d3d`5k76;UtnoJqgMpicHIamZ3f)QZD537 z>ExS{{bvT9V$_HR)k?=X)P;J`8*qXiS;%cmgRoBBi|p3?@VI|43uvbqYOCYl@U;__ za^87Zq=*SwN^{$iZSUZn9Z4xH3F)|?rU(9xgzz$H#iJ7(zPPE$Xs^IvM7TxHS#FmB zv~-7ri|e}6sphycnRaR0@CMXbTOOU5r|N?GatzwlDJae{4&7I>o5A+foJ}wO36~_! zHH-#u%etEd2VYABUM2T7LulzQr>Cm=_1?zS0Tg;Lw1ZY@yMVdc*`sc(NP6x`n} zg6mtA0lmF{oxLxXECaV$OT5ZK{Wkxt8C1`5 z+6Cg8Jm~q50oGR@cd1orY67^|e`3{-%dr)LL+XwW9gZTxZDJc)k0Ku6U~FV3Dr&+y zJ^HdT0WbhypQb5)q33_9aQI5qz9l_+zZ==^`)H|LRh#NvO|KMO7tB9yb7d~TN#4pd zfKz#Z0;*jT#Ki(AEMm@I=x=(N+v=4=I9sNgL_Mfwgjq?WW5ZwK=g|(3Hd4zr_XipQsNNSL0VhA?=+$%-gqJ2i zurv&6Za4k&zo1>nF~C6*WntQy1o{auR5Y23%$my~p`!)M5;N6baV1aAo6!wn6vZ_O t*X@^Fr{;5?{>9S=asMX@PQv;FCb1w?>zT6=)!*Zg6<;a8ESED1_&?mFlTrWx literal 0 HcmV?d00001 diff --git a/assets/images/sync-done.png b/assets/images/sync-done.png new file mode 100644 index 0000000000000000000000000000000000000000..d18cf7aafaf2c5f23e02ec937bd9f396cc93eac2 GIT binary patch literal 68873 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 literal 0 HcmV?d00001 diff --git a/lib/config/routes.dart b/lib/config/routes.dart index 0d0e3f9..4421783 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -21,7 +21,6 @@ import '../screens/configurations/sinc_data_screen.dart'; var routes = { '/home': (context) => HomeScreen(), '/login_load': (context) => LoginLoadScreen(), - '/register_citizen': (context) => RegisterCitizenScreen(select: '',), '/attendance_list': (context) => AttendanceListScreen(), '/about': (context) => AboutScreen(), '/main_procedures': (context) => MainProceduresScreen(), diff --git a/lib/controllers/main_controllers.dart b/lib/controllers/main_controllers.dart index 28afa0b..3d8b458 100644 --- a/lib/controllers/main_controllers.dart +++ b/lib/controllers/main_controllers.dart @@ -1,7 +1,48 @@ +import 'dart:math'; + +import 'package:gainer_crypto/crypto.dart'; import 'package:get/get.dart'; import 'package:rkm/service/db/db_querys.dart'; class MainControllers{ + encrypt(String senhaDigitada,String senhaUsuario) { + // Deixa e senha digitada em maiuscula + var senha = senhaDigitada.toUpperCase(); + // Faz a criptografia da senha inserida + String senhaMD5 = grHashString(GRCryptoType.md5, senha); + // Retira o tipo (1, 2 ou 3) da senha do Usuário + int tipo = int.parse(senhaUsuario.substring(0, 1)); + // Define a possição inicial da quebra da senha + int posicaoInicialMin = 0; + int posicaoInicialMax= 0; + int posicaoFinalMin = 0; + int posicaoFinalMax = 0; + // Pra cada tipo (1, 2 ou 3) define a posição inicial da quebra da senha + if(tipo == 1){ + posicaoInicialMin = 0; + posicaoInicialMax = 16; + posicaoFinalMin = 16; + posicaoFinalMax = 32; + } else if(tipo == 2){ + posicaoInicialMin = 16; + posicaoInicialMax = 32; + posicaoFinalMin = 0; + posicaoFinalMax = 16; + } else if(tipo == 3){ + posicaoInicialMin = 0; + posicaoInicialMax = 1; + posicaoFinalMin = 31; + posicaoFinalMax = 32; + } + + String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax); + String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax); + + // Faz a criptografia e concatena ela com sha1 e md5 + String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim); + // Retorna a senha criptografada + return senhaCriptogradafa; + } validaCNS(String cns)async{ //valido provisório 783107557570002 //cns valido def 187455333020009 @@ -141,4 +182,38 @@ class MainControllers{ return 'CPF inválido'; } } + gerarCDUsuarioSus(){ + String mkTime = ((DateTime.now().millisecond)).toString(); + String seqID = ((Random().nextInt(10)*100).floor() + ((Random().nextInt(10) * 5).floor() + 1)).toString() + '00000'; + String cdUsuarioSUS = (grHashString(GRCryptoType.md5, mkTime) + seqID).toUpperCase(); + var codSize = cdUsuarioSUS.length; + cdUsuarioSUS = cdUsuarioSUS.substring(0,32); + 'cod sus recuperado api'; + // 571A22D79C24526537C7E4CE8C0D4046 + 'cod gerado para teste'; + // CA8155F4D27F205953F9D3D7974BDD70 + // 571A22D79C24526537C7E4CE8C0D4046 + // C73F93513A57571D2C7B6384A34AD22F + + return cdUsuarioSUS; + } + replaceDefaul(String text){ + String newText = text.toUpperCase() + .replaceAll('Ã', 'A') + .replaceAll('Á', 'A') + .replaceAll('À', 'A') + .replaceAll('Â', 'A') + .replaceAll('Ç', 'C') + .replaceAll('È', 'E') + .replaceAll('É', 'E') + .replaceAll('Ê', 'E') + .replaceAll('Í', 'I') + .replaceAll('Ô', 'O') + .replaceAll('Õ', 'O') + .replaceAll('Ó', 'O') + .replaceAll('Ú', 'U') + .replaceAll('Û', 'U') + ; + return newText; + } } \ No newline at end of file diff --git a/lib/screens/configurations/sinc_data_screen.dart b/lib/screens/configurations/sinc_data_screen.dart index 81f8f37..b37e5cf 100644 --- a/lib/screens/configurations/sinc_data_screen.dart +++ b/lib/screens/configurations/sinc_data_screen.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/button_default.dart'; - import '../../config/color_palette.dart'; -import '../../service/shared_preferences/shared_preferences_service.dart'; +import '../../service/api/api_data_post.dart'; +import '../../service/db/db_sqlite_load.dart'; import '../../widgets/text_default.dart'; class SincDataScreen extends StatefulWidget { @@ -16,15 +16,200 @@ class SincDataScreen extends StatefulWidget { class _SincDataScreenState extends State { String mode =''; + String urlAPI =''; + String nameCityApi =''; + List tableCIDADAOS = []; + List tableCIDADAO_DOMICILIO = []; + List tableDOMICILIOS_CIDADAOS = []; + List tableINNERJOINCIDADAO_DOMICILIO = []; + List tableCADASTROS_INDIVIDUAIS = []; + List tableATENDS_INDIV_COMPL = []; + List tableATENDS_INDIV_EXAMES = []; + List tableATENDS_INDIV_PROC = []; + List tableATENDS_INDIV_PROF = []; + List tableATENDS_INDIVIDUAIS = []; + List tablePROCEDIMENTOS_FICHAS = []; + List tablePROCEDIMENTOS_INDIV = []; + List tablePROCEDIMENTOS_INDIV_FICHA = []; + List tablePROCEDIMENTOS_INDIV_SIGTAP = []; + List tableVISITAS_DOMICILIARES = []; + List tableVISITAS_DOMICILIARES_COMPL = []; + List tableVISITAS_DOMICILIARES_PROC = []; + List tableFICHAS_COMPLEMENTARES = []; + List tableATENDIMENTOS_DOMICILIARES = []; + List tableATENDS_DOM_COMPL = []; + List tableATENDS_DOM_PROC = []; + List tableATENDS_DOM_SIGTAP = []; + List tableATENDS_ODONTOLOGICOS = []; + List tableATENDS_ODONTO_PROF = []; + List tableATENDS_ODONTO_PROC = []; + List tableATENDS_ODONTO_SIGTAP = []; + List tableATENDS_ODONTO_COMPL = []; + List tableMARCADORES_CON_QUEST = []; + List tableMARCADORES_CONSUMO = []; + List tableAVAL_ELEG_COND_AVAL = []; + List tableAVAL_ELEG_CONCL_INE = []; + List tableAVALIACOES_ELEGIBILIDADE = []; + String message = 'A Sincronização poderá demorar. Prosseguir?'; + bool upload = false; + bool done = false; - dataSQLite()async{ - final PrefService _preferences = PrefService(); - _preferences.readCacheModel('user', 'password', 'city', 'mode').then((list){ - setState(() { - mode = list[3]; + updateTable()async{ + setState(() { + upload = true; + message = 'Aguarde enquanto os dados são Sincronizados.'; + }); + await DBQuerys().cadCidadaos().then((response)async{ + tableCIDADAOS = response; + // print(tableCIDADAOS); + await DBQuerys().cadDomiciliares().then((response)async{ + tableCIDADAO_DOMICILIO = response; + // print(tableCIDADAO_DOMICILIO); + await DBQuerys().domCidadaos().then((response)async{ + tableDOMICILIOS_CIDADAOS = response; + // print(tableDOMICILIOS_CIDADAOS); + await DBQuerys().logrDomicilios().then((response)async{ + tableINNERJOINCIDADAO_DOMICILIO = response; + // print(tableINNERJOINCIDADAO_DOMICILIO); + await DBQuerys().cadIndividuais().then((response)async{ + tableCADASTROS_INDIVIDUAIS = response; + // print(tableCADASTROS_INDIVIDUAIS); + await DBQuerys().atendsIndivCompl().then((response)async{ + tableATENDS_INDIV_COMPL = response; + // print(tableATENDS_INDIV_COMPL); + await DBQuerys().atendsIndivExames().then((response)async{ + tableATENDS_INDIV_EXAMES =response; + // print(tableATENDS_INDIV_EXAMES); + await DBQuerys().atendsIndivProc().then((response)async{ + tableATENDS_INDIV_PROC = response; + // print(tableATENDS_INDIV_PROC); + await DBQuerys().atendsIndivProf().then((response)async{ + tableATENDS_INDIV_PROF = response; + // print(tableATENDS_INDIV_PROF); + await DBQuerys().atendsIndividuais().then((response)async{ + tableATENDS_INDIVIDUAIS = response; + // print(tableATENDS_INDIVIDUAIS); + await DBQuerys().procedimentosFichas().then((response)async{ + tablePROCEDIMENTOS_FICHAS = response; + // print(tablePROCEDIMENTOS_FICHAS); + await DBQuerys().procedimentosIndiv().then((response)async{ + tablePROCEDIMENTOS_INDIV = response; + // print(tablePROCEDIMENTOS_INDIV); + await DBQuerys().procedimentosIndivFicha().then((response)async{ + tablePROCEDIMENTOS_INDIV_FICHA = response; + // print(tablePROCEDIMENTOS_INDIV_FICHA); + await DBQuerys().procedimentosIndivSigtap().then((response)async{ + tablePROCEDIMENTOS_INDIV_SIGTAP = response; + // print(tablePROCEDIMENTOS_INDIV_SIGTAP); + await DBQuerys().visitasDomiciliares().then((response)async{ + tableVISITAS_DOMICILIARES = response; + // print(tableVISITAS_DOMICILIARES); + await DBQuerys().visitasDomiciliaresCompl().then((response)async{ + tableVISITAS_DOMICILIARES_COMPL = response; + // print(tableVISITAS_DOMICILIARES_COMPL); + await DBQuerys().visitasDomiciliaresProc().then((response)async{ + tableVISITAS_DOMICILIARES_PROC = response; + // print(tableVISITAS_DOMICILIARES_PROC); + await DBQuerys().fichasComplementares().then((response)async{ + tableFICHAS_COMPLEMENTARES = response; + // print(tableFICHAS_COMPLEMENTARES); + await DBQuerys().atendimentosDomiciliares().then((response)async{ + tableATENDIMENTOS_DOMICILIARES = response; + // print(tableATENDIMENTOS_DOMICILIARES); + await DBQuerys().atendDomCompl().then((response)async{ + tableATENDS_DOM_COMPL = response; + // print(tableATENDS_DOM_COMPL); + await DBQuerys().atendDomProcsFicha().then((response)async{ + tableATENDS_DOM_PROC = response; + // print(tableATENDS_DOM_PROC); + await DBQuerys().atendDomProcsSigtap().then((response)async{ + tableATENDS_DOM_SIGTAP = response; + // print(tableATENDS_DOM_SIGTAP); + await DBQuerys().atendsOdontologicos().then((response)async{ + tableATENDS_ODONTOLOGICOS = response; + // print(tableATENDS_ODONTOLOGICOS); + await DBQuerys().atendsOdontoProf().then((response)async{ + tableATENDS_ODONTO_PROF = response; + // print(tableATENDS_ODONTO_PROF); + await DBQuerys().atendsOdontoProc().then((response)async{ + tableATENDS_ODONTO_PROC = response; + // print(tableATENDS_ODONTO_PROC); + await DBQuerys().atendsOdontoSigtap().then((response)async{ + tableATENDS_ODONTO_SIGTAP = response; + // print(tableATENDS_ODONTO_SIGTAP); + await DBQuerys().atendsOdontoCompl().then((response)async{ + tableATENDS_ODONTO_COMPL = response; + // print(tableATENDS_ODONTO_COMPL); + await DBQuerys().marcadoresConQuest().then((response)async{ + tableMARCADORES_CON_QUEST = response; + // print(tableMARCADORES_CON_QUEST); + await DBQuerys().marcadoresConsumo().then((response)async{ + tableMARCADORES_CONSUMO = response; + // print(tableMARCADORES_CONSUMO); + await DBQuerys().avalElegCondAval().then((response)async{ + tableAVAL_ELEG_COND_AVAL = response; + // print(tableAVAL_ELEG_COND_AVAL); + await DBQuerys().avalElegConclIne().then((response)async{ + tableAVAL_ELEG_CONCL_INE = response; + // print(tableAVAL_ELEG_CONCL_INE); + await DBQuerys().avaliacoesElegibilidade().then((response)async{ + tableAVALIACOES_ELEGIBILIDADE = response; + // print(tableAVALIACOES_ELEGIBILIDADE); + // print('aqui2'); + syncData(); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); }); }); } + syncData()async{ + // ApiDataPost().sincronizacao(urlAPI, mode, nameCityApi).then((value){}); + setState(() { + upload = false; + done = true; + message = ''; + }); + } + + dataSQLite()async{ + await DbSqliteLoad().intialDB().then((db)async { + List list = await db.query('ARGS'); + urlAPI = list[0]['URLAPI']; + mode = list[0]['MODE']; + nameCityApi = list[0]['NAME_CITY_API']; + }); + // print(urlAPI); + // print(mode); + // print(nameCityApi); + } @override void initState() { @@ -35,6 +220,7 @@ class _SincDataScreenState extends State { @override Widget build(BuildContext context) { double width = MediaQuery.of(context).size.width; + double height = MediaQuery.of(context).size.height; return Scaffold( bottomSheet: Container( color: ColorPalette.appBar, @@ -71,20 +257,126 @@ class _SincDataScreenState extends State { Padding( padding: const EdgeInsets.symmetric(vertical: 5.0), child: TextDefault( - text: 'A Sincronização poderá demorar. Prosseguir?', + text: message, color: ColorPalette.black54, fontSize: 22, fontWeigth: FontWeight.bold, ), ), - ButtonDefault( + upload?Image.asset('assets/images/loading.gif',width: width*0.4):Container(), + done?Image.asset('assets/images/send-done.png',width: width*0.9):Container(), + !upload && !done?ButtonDefault( title: 'Enviar informações', width: width*0.9, textColor: ColorPalette.white, background: ColorPalette.appBar, borderColor: ColorPalette.appBar, - onPressed: ()=>Navigator.pushReplacementNamed(context, '/home'), - ) + onPressed: ()=>updateTable(), + ):Container(), + SizedBox(height: 20,), + done?Container( + color: ColorPalette.white, + width: width, + height: height*0.3, + child: ListView( + children: [ + TextDefault( + text: 'Atendimentos Domiciliares: ${tableATENDIMENTOS_DOMICILIARES.length}', + textAlign: TextAlign.center, + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + text: 'Atendimento Individuais: ${tableATENDS_INDIVIDUAIS.length}', + textAlign: TextAlign.center, + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Atendimentos Odontológicos: ${tableATENDS_ODONTOLOGICOS.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Avaliação Elegibilidade: ${tableAVALIACOES_ELEGIBILIDADE.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Cadastros Cidadãos Realizados / Atualizados : ${tableCIDADAOS.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Fichas Complementares: ${tableFICHAS_COMPLEMENTARES.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Marcadores de Consumo : ${tableMARCADORES_CONSUMO.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + //aqui verificar de qual tela seria esses dados + text: 'Procedimentos Consolidados: 0', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Procedimentos Individuais : ${tablePROCEDIMENTOS_INDIV.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + TextDefault( + textAlign: TextAlign.center, + text: 'Visitas Domiciliares: ${tableVISITAS_DOMICILIARES.length}', + fontWeigth: FontWeight.bold, + color: ColorPalette.black54, + fontSize: 18, + ), + ], + ) + ):Container(), + SizedBox(height: 30,), + done?Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: ButtonDefault( + title: 'Continuar (Mantendo os Dados)', + width: width*0.9, + textColor: ColorPalette.white, + background: ColorPalette.appBar, + borderColor: ColorPalette.appBar, + onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (Route route) => false), + ), + ):Container(), + done?Padding( + padding: const EdgeInsets.symmetric(horizontal: 30.0), + child: ButtonDefault( + title: 'Continuar (Limpando os Dados)', + width: width*0.9, + textColor: ColorPalette.white, + background: ColorPalette.red, + borderColor: ColorPalette.red, + onPressed: (){}, + ), + ):Container(), ], ), ), diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 5a3bf25..549e525 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:line_icons/line_icons.dart'; +import 'package:rkm/controllers/main_controllers.dart'; import 'package:rkm/screens/registers_citizen/register_citizen_screen.dart'; import 'package:rkm/config/const_variable.dart'; +import 'package:rkm/service/db/db_querys.dart'; import 'package:rkm/widgets/icon_button_default.dart'; import 'package:rkm/widgets/input_search_text.dart'; import '../service/db/db_sqlite_load.dart'; @@ -68,12 +70,12 @@ class _HomeScreenState extends State { searchCitizen(); } + @override void initState() { super.initState(); loadCitizen(); inputSearch.addListener(_searchInit); - } @override void dispose() { @@ -106,7 +108,7 @@ class _HomeScreenState extends State { icon: Icons.person_add, onPressed: ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: '')), + MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],)), ) ), IconButtonDefault( @@ -138,10 +140,15 @@ class _HomeScreenState extends State { mother:'${showResults[index]['NOME_MAE']}', numberCNS: '${showResults[index]['CNS']}'=='null'||'${showResults[index]['CNS']}'==''?'999999999999999':'${showResults[index]['CNS']}', numberMedicalRecord: '${showResults[index]['NUM_PRONTUARIO']}'==''?'-----':'${showResults[index]['NUM_PRONTUARIO']}', - onTap: ()=> Navigator.push( - context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: '')), - ), + onTap: ()async { + await DBQuerys().buscaCidadao(showResults[index]['NOME_CIDADAO']).then((list){ + Navigator.push( + context, + MaterialPageRoute(builder: + (context) => RegisterCitizenScreen(listData: list,)), + ); + }); + } ); } ) diff --git a/lib/screens/login/login_load_screen.dart b/lib/screens/login/login_load_screen.dart index 98f677a..5e5ebf9 100644 --- a/lib/screens/login/login_load_screen.dart +++ b/lib/screens/login/login_load_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:rkm/controllers/main_controllers.dart'; import 'package:rkm/service/api/url_api_const.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/const_variable.dart'; @@ -7,7 +8,6 @@ import 'package:rkm/widgets/dropdown_button_city.dart'; import 'package:rkm/widgets/input_text.dart'; import 'package:rkm/widgets/text_default.dart'; import '../../service/api/api_data_load.dart'; -import '../../service/api/encrypt_password.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; import '../load_init_screen.dart'; @@ -78,7 +78,7 @@ class _LoginLoadScreenState extends State { error = ''; }); //verificar se a criptografia identificou se a senha está correta - if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ + if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ // print(EncryptPassword().encrypt(inputPassword.text,response['userPass'])); setState(() { loading = false; diff --git a/lib/screens/login/login_saved_screen.dart b/lib/screens/login/login_saved_screen.dart index 7f8bde0..938ec23 100644 --- a/lib/screens/login/login_saved_screen.dart +++ b/lib/screens/login/login_saved_screen.dart @@ -7,8 +7,8 @@ import 'package:rkm/config/const_variable.dart'; import 'package:rkm/widgets/button_default.dart'; import 'package:rkm/widgets/input_text.dart'; import 'package:rkm/widgets/text_default.dart'; +import '../../controllers/main_controllers.dart'; import '../../service/api/api_data_load.dart'; -import '../../service/api/encrypt_password.dart'; import '../../service/db/db_sqlite_load.dart'; class LoginSavedScreen extends StatefulWidget { List listControl; @@ -74,7 +74,7 @@ class _LoginSavedScreenState extends State { error = ''; }); //verificar se a criptografia identificou se a senha está correta - if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ + if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ // print(EncryptPassword().encrypt(inputPassword.text,response['userPass'])); DbSqliteLoad().updateArgs(mode, inputUser.text, inputPassword.text).then((value){ setState(() { diff --git a/lib/screens/login/sync_login_screen.dart b/lib/screens/login/sync_login_screen.dart index 7091351..ede42a2 100644 --- a/lib/screens/login/sync_login_screen.dart +++ b/lib/screens/login/sync_login_screen.dart @@ -7,8 +7,8 @@ import 'package:rkm/widgets/dropdown_button_default.dart'; import 'package:rkm/widgets/input_text.dart'; import 'package:rkm/widgets/text_default.dart'; import 'package:sqflite/sqflite.dart'; +import '../../controllers/main_controllers.dart'; import '../../service/api/api_data_load.dart'; -import '../../service/api/encrypt_password.dart'; import '../../service/db/db_sqlite_load.dart'; import '../../service/shared_preferences/shared_preferences_service.dart'; class SyncLoginScreen extends StatefulWidget { @@ -74,7 +74,7 @@ class _SyncLoginScreenState extends State { setState((){ error = ''; }); - if(EncryptPassword().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ + if(MainControllers().encrypt(inputPassword.text,response['userPass']) == response['userPass']){ setState(() { loading = false; }); diff --git a/lib/screens/registers_citizen/register_citizen_screen.dart b/lib/screens/registers_citizen/register_citizen_screen.dart index 8ddaf05..bc787b8 100644 --- a/lib/screens/registers_citizen/register_citizen_screen.dart +++ b/lib/screens/registers_citizen/register_citizen_screen.dart @@ -1,4 +1,6 @@ +import 'package:brasil_fields/brasil_fields.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; import 'package:rkm/config/color_palette.dart'; import 'package:rkm/config/const_variable.dart'; @@ -21,10 +23,8 @@ import '../../widgets/subtitle_appbar_citizen.dart'; import '../../widgets/switch_with_subtitle.dart'; import '../../widgets/text_default.dart'; class RegisterCitizenScreen extends StatefulWidget { - String select; - - RegisterCitizenScreen({required this.select}); - + List listData; + RegisterCitizenScreen({required this.listData}); @override State createState() => _RegisterCitizenScreenState(); } @@ -87,6 +87,7 @@ class _RegisterCitizenScreenState extends State { String? selectTypeStreet; String? selectStreet; String? selectSubdivision; + int? selectSubdivisionCOD; String? selectZone; int? selectZoneCod; String? selectVillage; @@ -135,6 +136,7 @@ class _RegisterCitizenScreenState extends State { List listBreed = []; List listMaritalStatus = []; String idUnidade = ''; + String codSus = ''; escolherprazoInicio(BuildContext context,String type) async { @@ -190,6 +192,9 @@ class _RegisterCitizenScreenState extends State { cityController.text = '${listCity[0]['NAME_CITY_FRONT']} - ${listCity[0]['COD_STATE']}'.toUpperCase(); codIBGEController.text = listCity[0]['COD_IBGE'].toString(); }); + String city = MainControllers().replaceDefaul(listCity[0]['NAME_CITY_FRONT']); + print(city); + resultListResid = await DBQuerys().buscaMunicipioporNome(city); } loadVillgeDB()async{ @@ -247,11 +252,7 @@ class _RegisterCitizenScreenState extends State { } getCity()async{ - Database db = await DbSqliteLoad().intialDB(); - var query = "SELECT * FROM MUNICIPIOS ORDER BY NO_MUNICIPIO"; - List list = await db.rawQuery(query); - // print("SELECT * FROM UNIDADES"); - // print(await db.rawQuery("SELECT * FROM UNIDADES")); + List list = await DBQuerys().buscaTodosMunicipios(); for(int i=0; list.length > i;i++){ cityDB.add('${list[i]['NO_MUNICIPIO']} - ${list[i]['UF_ESTADO']}'); ibgeDB.add('${list[i]['CODIGO_IBGE']}'); @@ -334,23 +335,20 @@ class _RegisterCitizenScreenState extends State { }); }else{ print('passou'); - saveCitizen(); + if(widget.listData.length==0){ + codSus = MainControllers().gerarCDUsuarioSus(); + }else{ + codSus = widget.listData[0]['CD_USUARIO_SUS']; + } + if(codSus!=''){ + saveCitizen(); + } } } - gerarCDUsuarioSus(){ - var mkTime = ((int.parse(DateTime.now())/1000)).toString(); - var seqID = (Math.floor((Math.random() * 100) + int.parse((Math.floor((Math.random() * 5) + 1)) + '00000'))).toString(); - var cdUsuarioSUS = (md5(mkTime) + seqID).toUpperCase(); - var codSize = cdUsuarioSUS.length; - cdUsuarioSUS = cdUsuarioSUS.substr((codSize <= 58) ? (codSize * -1) : -58 , 58); - return cdUsuarioSUS; - } - saveCitizen()async{ - Map row = { - 'CD_USUARIO_SUS' : '0', + 'CD_USUARIO_SUS' : codSus, 'NOME_CIDADAO' : nameController.text, 'NOME_SOCIAL' : nameSocialController.text, 'SEXO' : selectGender=='MASCULINO'?'M':'F', @@ -365,15 +363,14 @@ class _RegisterCitizenScreenState extends State { 'ID_ESCOLARIDADE' : selectScoolingCod, 'ID_DEFICIENCIA' : selectDeficiencyCod, 'NOME_MAE' : nameMotherController.text, - 'DESCONHECE_MAE' : '${!enableMother}', + 'DESCONHECE_MAE' : enableMother?1:0, 'NOME_PAI' : nameFatherController.text, - 'DESCONHECE_PAI' : '${!enableFather}', + 'DESCONHECE_PAI' : enableFather?1:0, 'ID_UNIDADE' : idUnidade, 'NUM_PRONTUARIO' : medicalRecordController.text, 'NUM_PRONTUARIO_PROV' : medicalRecordProvController.text, 'CLASSIFICACAO' : selectClassificationCOD, - //aqui - 'CLASSIFICACAO_SUB' : '', + 'CLASSIFICACAO_SUB' : selectSubdivisionCOD, 'NUM_FAMILIA' : numberFamilyController.text, 'ID_PAIS_RESID' : selectCountry=='BRASIL'?33:0, 'ID_MUNICIPIO_RESID' : resultListResid[0]['ID_MUNICIPIO'], @@ -425,11 +422,11 @@ class _RegisterCitizenScreenState extends State { 'BLOQUEIO' : enableBlocked, 'ORIGEM' : 'A', 'DT_HORA_CADASTRO' : DateTime.now().toString(), - //aqui + //só depois de salvar o cidadão no banco 'ID_USUARIO_CADASTRO' : '', - //aqui + //só quando for feito o atendimento domicíliar 'ID_DOMICILIO' : '', - //aqui + //só quando for feito um atendimento 'ATENDIMENTOS' : '', 'SINCRONIZADO' : 'N', }; @@ -480,6 +477,144 @@ class _RegisterCitizenScreenState extends State { } } + getData()async{ + // print('passou'); + // print(widget.listData); + codSus = widget.listData[0]['CD_USUARIO_SUS']; + nameController.text = widget.listData[0]['NOME_CIDADAO']; + nameSocialController.text = widget.listData[0]['NOME_SOCIAL']; + selectGender = widget.listData[0]['SEXO']=='M'?'MASCULINO':'FEMININO'; + dateDB = widget.listData[0]['DT_NASCIMENTO']; + List splittedDate = dateDB.split('-'); + date = '${splittedDate[2]}/${splittedDate[1]}/${splittedDate[0]}'; + for(int i = 0;ConstVariable().listMaritalStatus.length >i;i++){ + if(ConstVariable().listMaritalStatus[i].cod == widget.listData[0]['ID_ESTADO_CIVIL']){ + selectMaritalStatusCod = ConstVariable().listMaritalStatus[i].cod; + selectMaritalStatus = ConstVariable().listMaritalStatus[i].title; + } + } + spouseController.text = widget.listData[0]['NOME_CONJUGE']; + selectNaturalityCod = widget.listData[0]['NACIONALIDADE']; + if(selectNaturalityCod==1){ + selectNaturality = 'BRASILEIRO'; + } + if(selectNaturalityCod==2){ + selectNaturality = 'ESTRANGEIRO'; + } + if(selectNaturalityCod==3){ + selectNaturality = 'NATURALIZADO'; + } + int codCityBirth = widget.listData[0]['ID_MUNICIPIO_NASC']; + List listCityBirth = await DBQuerys().buscaMunicipioporId(codCityBirth); + cityBirthController.text = listCityBirth[0]['NO_MUNICIPIO']; + resultListNasc = listCityBirth; + for(int i = 0;ConstVariable().listBreed.length >i;i++){ + if(ConstVariable().listBreed[i].cod == widget.listData[0]['ID_ETNIA']){ + selectBreedCod = ConstVariable().listBreed[i].cod; + selectBreed = ConstVariable().listBreed[i].title; + } + } + for(int i = 0;ConstVariable().listScooling.length >i;i++){ + if(ConstVariable().listScooling[i].cod == widget.listData[0]['ID_ESCOLARIDADE']){ + selectScoolingCod = ConstVariable().listScooling[i].cod; + selectScooling = ConstVariable().listScooling[i].title; + } + } + for(int i = 0;ConstVariable().itensDeficiency.length >i;i++){ + if(ConstVariable().itensDeficiency[i].cod == widget.listData[0]['ID_DEFICIENCIA']){ + selectDeficiencyCod = ConstVariable().itensDeficiency[i].cod; + selectDeficiency = ConstVariable().itensDeficiency[i].title; + }else{ + selectDeficiencyCod = 3; + selectDeficiency = 'NENHUMA'; + } + } + nameMotherController.text = widget.listData[0]['NOME_MAE']; + enableMother = widget.listData[0]['DESCONHECE_MAE']==0?false:true; + nameFatherController.text = widget.listData[0]['NOME_PAI']; + enableFather = widget.listData[0]['DESCONHECE_PAI']==0?false:true; + idUnidade = widget.listData[0]['ID_UNIDADE'].toString(); + medicalRecordController.text = widget.listData[0]['NUM_PRONTUARIO']; + medicalRecordProvController.text = widget.listData[0]['NUM_PRONTUARIO_PROV'].toString(); + selectClassificationCOD = widget.listData[0]['CLASSIFICACAO']; + if(selectClassificationCOD==1){ + selectClassification = 'MUNICIPE'; + } + if(selectClassificationCOD==2){ + selectClassification = 'PROVISORIO'; + } + if(selectClassificationCOD==3){ + selectClassification = 'OUTRO MUNICIPIO'; + } + changedCity(); + print('sub'); + if(widget.listData[0]['CLASSIFICACAO_SUB']!=null && widget.listData[0]['CLASSIFICACAO_SUB']!=''){ + selectSubdivisionCOD = widget.listData[0]['CLASSIFICACAO_SUB']=='null'?0:widget.listData[0]['CLASSIFICACAO_SUB']; + selectSubdivision = await DBQuerys().buscaLoteamentoPorID(selectSubdivisionCOD!).toString(); + subdivisionDB.add(selectSubdivision!); + } + + // 'NUM_FAMILIA' : numberFamilyController.text, + // 'ID_PAIS_RESID' : selectCountry=='BRASIL'?33:0, + // 'ID_MUNICIPIO_RESID' : resultListResid[0]['ID_MUNICIPIO'], + // 'NO_MUNICIPIO_RESID' : resultListResid[0]['NO_MUNICIPIO'], + // 'ESTADO_UF_RESID' : resultListResid[0]['UF_ESTADO'], + // 'CODIGO_IBGE_RESID' : codIBGEController.text, + // 'NO_BAIRRO_LOGR' : selectVillage, + // 'ID_LOGR_TIPO' : idTipo, + // 'NOME_LOGR' : selectStreet, + // 'CEP_LOGR' : cepController.text, + // 'NUMERO_LOGR' : numberController.text, + // 'LOTEAMENTO_LOGR' : selectSubdivision, + // 'COMPL_LOGR' : complementController.text, + // 'PONTO_REFERENCIA' : referencePointController.text, + // 'ZONA_LOGR' : selectZoneCod, + // 'DDD_TELEFONE' : foneDDDController.text, + // 'NUM_TELEFONE' : foneController.text, + // 'DDD_RECADO' : messageDDDController.text, + // 'NUM_RECADO' : messageController.text, + // 'EMAIL' : emailController.text, + // 'OBSERVACOES' : observationController.text, + // 'CPF' : CPFController.text, + // 'CNS' : checkCNS == 'ok'&& CNSController.text.isNotEmpty?CNSController.text:'999999999999999', + // 'TITULO_ELEITOR' : voterController.text, + // 'RG_NUMERO' : RGController.text, + // 'RG_COMPLEMENTO' : RGComplementController.text, + // 'RG_UF' : selectRGUF, + // 'RG_ORGAO' : RGOrganController.text, + // 'RG_DATA_EMISSAO' : RGDateController.text, + // 'TIPO_CERTIDAO' : selectTypeCertificateCod, + // 'NUM_CERTIDAO' : numberCertificateController.text, + // 'CARTORIO_CERTIDAO' : nameCertificateController.text, + // 'LIVRO_CERTIDAO' : bookCertificateController.text, + // 'FOLHA_CERTIDAO' : sheetCertificateController.text, + // 'TERMO_CERTIDAO' : termCertificateController.text, + // 'DT_EMISSAO_CERTIDAO' : dateCertificateController.text, + // 'NUM_CTPS' : CTPSController.text, + // 'NUM_SERIE_CTPS' : numberCTPSController.text, + // 'ESTADO_UF_CTPS' : selectCTPSUF, + // 'NUM_PIS_PASEP' : PISController.text, + // 'FL_RETIROU_CARTAO' : enableCityCard, + // 'NUM_NIS' : NISController.text, + // //aqui + // 'NUM_PROT_CROSS' : '', + // 'RENDA_MENSAL' : incomeController.text, + // 'PROFISSAO' : professionalController.text, + // 'DT_OBITO' : dateDeathController.text, + // 'DECLARACAO_OBITO' : '', + // 'BLOQUEIO' : enableBlocked, + // 'ORIGEM' : 'A', + // 'DT_HORA_CADASTRO' : DateTime.now().toString(), + // //só depois de salvar o cidadão no banco + // 'ID_USUARIO_CADASTRO' : '', + // //só quando for feito o atendimento domicíliar + // 'ID_DOMICILIO' : '', + // //só quando for feito um atendimento + // 'ATENDIMENTOS' : '', + // 'SINCRONIZADO' : 'N', + setState(() {}); + } + @override void initState() { super.initState(); @@ -491,9 +626,9 @@ class _RegisterCitizenScreenState extends State { loadTypeStreetDB(); loadSubdivisionsDB(); loadLists(); - setState(() { - cityBirthController.text = widget.select; - }); + if(widget.listData.length!=0){ + getData(); + } } @override @@ -635,7 +770,7 @@ class _RegisterCitizenScreenState extends State { child: TextDefault( text: date, color: ColorPalette.black54, - fontSize: 18, + fontSize: 16, ), ), ) @@ -755,7 +890,7 @@ class _RegisterCitizenScreenState extends State { print(splitted[0]); Navigator.pop(context); }); - resultListNasc = await DBQuerys().buscaMunicipio(splitted[0]); + resultListNasc = await DBQuerys().buscaMunicipioporNome(splitted[0]); print(resultListNasc[0]['ID_MUNICIPIO'],); print(resultListNasc[0]['NO_MUNICIPIO'],); print(resultListNasc[0]['UF_ESTADO'],); @@ -964,8 +1099,8 @@ class _RegisterCitizenScreenState extends State { widthDropdown: width*0.69, widthContainerDropdown: width*0.6, hintDropdown: 'Classificação', - onChanged: (value){ - setState(() { + onChanged: (value)async{ + selectClassification = value; if(selectClassification=='OUTRO MUNICIPIO'){ selectClassificationCOD = 3; @@ -995,7 +1130,7 @@ class _RegisterCitizenScreenState extends State { changedCity(); selectCountry = 'BRASIL'; } - }); + setState(() {}); }, list: [ 'MUNICIPE', @@ -1128,7 +1263,7 @@ class _RegisterCitizenScreenState extends State { // print("IBGE ${showResultSearchIbge[index]}"); Navigator.pop(context); }); - resultListResid = await DBQuerys().buscaMunicipio(splitted[0]); + resultListResid = await DBQuerys().buscaMunicipioporNome(splitted[0]); print(resultListResid[0]['ID_MUNICIPIO'],); print(resultListResid[0]['NO_MUNICIPIO'],); print(resultListResid[0]['UF_ESTADO'],); @@ -1285,10 +1420,11 @@ class _RegisterCitizenScreenState extends State { widthDropdown: width*0.69, widthContainerDropdown: width*0.6, hintDropdown: 'Loteamento/Subdistrito', - onChanged: (value){ + onChanged: selectClassification=='OUTRO MUNICIPIO' || selectVillage == null?null:(value)async{ setState(() { selectSubdivision = value; }); + selectSubdivisionCOD = await DBQuerys().buscaLoteamentoPorDesc(selectSubdivision!); }, list: subdivisionDB ), @@ -1613,7 +1749,7 @@ class _RegisterCitizenScreenState extends State { child: TextDefault( text: RGDateController.text, color: ColorPalette.black54, - fontSize: 18, + fontSize: 16, ), ), ), @@ -1709,7 +1845,7 @@ class _RegisterCitizenScreenState extends State { child: TextDefault( text: dateCertificateController.text, color: ColorPalette.black54, - fontSize: 18, + fontSize: 16, ), ), ), @@ -1805,16 +1941,46 @@ class _RegisterCitizenScreenState extends State { mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ - InputWithSubtitle( - controller: incomeController, - subtitle: 'Renda Mensal', - errorInput: 'Campo Obrigatório', - labelInput: 'Renda Mensal', - widthInput: width*0.7, - widthSubtitle: width*0.7, - hintInput: 'Escreva aqui', - mandatory: false, - onChanged: (v)=>setState((){}), + Container( + color: ColorPalette.white, + margin: EdgeInsets.only(top: 5), + width: width*0.7, + child: TextFormField( + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly, + CentavosInputFormatter(moeda: true), + ], + controller: incomeController, + style: TextStyle( + color: Colors.black, + fontSize: 16, + ), + decoration: InputDecoration( + fillColor: ColorPalette.appBar, + labelText: 'Renda Mensal', + border: OutlineInputBorder( + borderSide: BorderSide(width: 1,color: ColorPalette.black54) + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderRadius: BorderRadius.circular(3), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderRadius: BorderRadius.circular(3), + ), + disabledBorder: OutlineInputBorder( + borderSide: BorderSide(width: 1, color: ColorPalette.black54), + borderRadius: BorderRadius.circular(3), + ), + hintText: 'Escreva aqui', + hintStyle: TextStyle( + color: ColorPalette.gray, + fontSize: 16, + ) + ) + ), ), InputWithSubtitle( controller: professionalController, @@ -1844,7 +2010,7 @@ class _RegisterCitizenScreenState extends State { child: TextDefault( text: dateDeathController.text, color: ColorPalette.black54, - fontSize: 18, + fontSize: 16, ), ), ), diff --git a/lib/service/api/api_data_post.dart b/lib/service/api/api_data_post.dart new file mode 100644 index 0000000..b64f769 --- /dev/null +++ b/lib/service/api/api_data_post.dart @@ -0,0 +1,12 @@ +import 'dart:convert'; +import 'package:http/http.dart' as http; + +class ApiDataPost{ + Future sincronizacao(urlAPI,mode,nameCityApi)async{ + // http://192.168.0.42:8010/api/atb/desenvolvimento/corumbatai/sincronizacao + final url = '${urlAPI}${mode}/${nameCityApi}/sincronizacao'; + final response = await http.post(Uri.parse(url)); + final map = json.decode(response.body); + return map; + } +} \ No newline at end of file diff --git a/lib/service/api/encrypt_password.dart b/lib/service/api/encrypt_password.dart deleted file mode 100644 index e80131b..0000000 --- a/lib/service/api/encrypt_password.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:gainer_crypto/crypto.dart'; - -class EncryptPassword{ - encrypt(String senhaDigitada,String senhaUsuario) { - // Deixa e senha digitada em maiuscula - var senha = senhaDigitada.toUpperCase(); - // Faz a criptografia da senha inserida - String senhaMD5 = grHashString(GRCryptoType.md5, senha); - // Retira o tipo (1, 2 ou 3) da senha do Usuário - int tipo = int.parse(senhaUsuario.substring(0, 1)); - // Define a possição inicial da quebra da senha - int posicaoInicialMin = 0; - int posicaoInicialMax= 0; - int posicaoFinalMin = 0; - int posicaoFinalMax = 0; - // Pra cada tipo (1, 2 ou 3) define a posição inicial da quebra da senha - if(tipo == 1){ - posicaoInicialMin = 0; - posicaoInicialMax = 16; - posicaoFinalMin = 16; - posicaoFinalMax = 32; - } else if(tipo == 2){ - posicaoInicialMin = 16; - posicaoInicialMax = 32; - posicaoFinalMin = 0; - posicaoFinalMax = 16; - } else if(tipo == 3){ - posicaoInicialMin = 0; - posicaoInicialMax = 1; - posicaoFinalMin = 31; - posicaoFinalMax = 32; - } - - String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax); - String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax); - - // Faz a criptografia e concatena ela com sha1 e md5 - String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim); - // Retorna a senha criptografada - return senhaCriptogradafa; - } -} \ No newline at end of file diff --git a/lib/service/db/db_querys.dart b/lib/service/db/db_querys.dart index 1d63fa5..8bd8265 100644 --- a/lib/service/db/db_querys.dart +++ b/lib/service/db/db_querys.dart @@ -60,11 +60,278 @@ class DBQuerys{ List list = await db.rawQuery(query); return list; } - buscaMunicipio(String NO_MUNICIPIO)async{ + buscaMunicipioporNome(String NO_MUNICIPIO)async{ Database db = await DbSqliteLoad().intialDB(); var query = 'SELECT * FROM MUNICIPIOS WHERE NO_MUNICIPIO = "$NO_MUNICIPIO"'; List list = await db.rawQuery(query); + // print(list); + return list; + } + buscaMunicipioporId(int ID_MUNICIPIO)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = 'SELECT * FROM MUNICIPIOS WHERE ID_MUNICIPIO = $ID_MUNICIPIO'; + List list = await db.rawQuery(query); + // print(list); + return list; + } + buscaLoteamentoPorDesc(String DESC_LOGR_LOTEAMENTO)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE DESC_LOGR_LOTEAMENTO = "$DESC_LOGR_LOTEAMENTO"'; + List list = await db.rawQuery(query); + // print(list); + int result = list[0]['ID_LOGR_LOTEAMENTO']; + return result; + } + buscaLoteamentoPorID(int ID_LOGR_LOTEAMENTO)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = 'SELECT * FROM LOGRADOUROS_LOTEAMENTOS WHERE ID_LOGR_LOTEAMENTO = $ID_LOGR_LOTEAMENTO'; + List list = await db.rawQuery(query); print(list); + String result = list[0]['DESC_LOGR_LOTEAMENTO']; + return result; + } + buscaTodosMunicipios()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM MUNICIPIOS ORDER BY NO_MUNICIPIO"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future buscaCidadao(NOME_CIDADAO)async{ + Database db = await DbSqliteLoad().intialDB(); + var query = 'SELECT * FROM CIDADAOS WHERE NOME_CIDADAO = "$NOME_CIDADAO"'; + List list = await db.rawQuery(query); + // print(list); + return list; + } + ///////INICIO CIDADAO///// + Future cadCidadaos()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM CIDADAOS WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future cadDomiciliares()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM CIDADAO_DOMICILIO WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future domCidadaos()async{ + Database db = await DbSqliteLoad().intialDB(); + // Busca a relação de Domicilio e Cidadao + var query = "SELECT CC.* FROM DOMICILIOS_CIDADAOS CC INNER JOIN CIDADAO_DOMICILIO CD ON CD.ID_DOMICILIO = CC.ID_DOMICILIO WHERE CD.ORIGEM = 'A' AND CD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future logrDomicilios()async{ + Database db = await DbSqliteLoad().intialDB(); + // Busca os Endereços de cada Domicilio + var query = "SELECT DISTINCT CD.ID_DOMICILIO, C.NO_BAIRRO_LOGR, C.ID_LOGR_TIPO, C.NOME_LOGR, C.NUMERO_LOGR, C.COMPL_LOGR, C.LOTEAMENTO_LOGR FROM CIDADAO_DOMICILIO CD INNER JOIN CIDADAOS C ON CD.ID_DOMICILIO = C.ID_DOMICILIO WHERE C.ORIGEM = 'A' AND CD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future cadIndividuais()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT * FROM CADASTROS_INDIVIDUAIS WHERE ORIGEM = 'A' AND SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } +///////FIM CIDADAO///// + +///////ATENDIMENTOS - TODOS REGISTROS///// + Future atendsIndivCompl()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AIC.* FROM ATENDS_INDIV_COMPL AIC INNER JOIN ATENDS_INDIVIDUAIS AI ON AI.ID_ATEND_INDIVIDUAL = AIC.ID_ATEND_INDIVIDUAL WHERE AI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsIndivExames()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AIE.* FROM ATENDS_INDIV_EXAMES AIE INNER JOIN ATENDS_INDIVIDUAIS AI ON AI.ID_ATEND_INDIVIDUAL = AIE.ID_ATEND_INDIVIDUAL WHERE AI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsIndivProc()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AIP.* FROM ATENDS_INDIV_PROC AIP INNER JOIN ATENDS_INDIVIDUAIS AI ON AI.ID_ATEND_INDIVIDUAL = AIP.ID_ATEND_INDIVIDUAL WHERE AI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsIndivProf()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AIPR.* FROM ATENDS_INDIV_PROF AIPR INNER JOIN ATENDS_INDIVIDUAIS AI ON AI.ID_ATEND_INDIVIDUAL = AIPR.ID_ATEND_INDIVIDUAL WHERE AI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsIndividuais()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AI.*, CI.ID_AREA_CIDADAO, CI.ID_MICROAREA_CIDADAO FROM ATENDS_INDIVIDUAIS AI LEFT JOIN CADASTROS_INDIVIDUAIS CI ON AI.ID_CIDADAO = CI.ID_CIDADAO WHERE AI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future procedimentosFichas()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT PF.* FROM PROCEDIMENTOS_FICHAS PF WHERE PF.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future procedimentosIndiv()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT PI.* FROM PROCEDIMENTOS_INDIV PI WHERE PI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future procedimentosIndivFicha()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT PIF.* FROM PROCEDIMENTOS_INDIV_FICHA PIF INNER JOIN PROCEDIMENTOS_INDIV PI ON PI.ID_PROCEDIMENTOS_INDIV = PIF.ID_PROCEDIMENTOS_INDIV WHERE PI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future procedimentosIndivSigtap()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT PIS.* FROM PROCEDIMENTOS_INDIV_SIGTAP PIS INNER JOIN PROCEDIMENTOS_INDIV PI ON PI.ID_PROCEDIMENTOS_INDIV = PIS.ID_PROCEDIMENTOS_INDIV WHERE PI.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future visitasDomiciliares()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT VD.* FROM VISITAS_DOMICILIARES VD WHERE VD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future visitasDomiciliaresCompl()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT VDC.* FROM VISITAS_DOMICILIARES_COMPL VDC INNER JOIN VISITAS_DOMICILIARES VD ON VD.ID_VISITA_DOMICILIAR = VDC.ID_VISITA_DOMICILIAR WHERE VD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future visitasDomiciliaresProc()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT VDP.* FROM VISITAS_DOMICILIARES_PROC VDP INNER JOIN VISITAS_DOMICILIARES VD ON VD.ID_VISITA_DOMICILIAR = VDP.ID_VISITA_DOMICILIAR WHERE VD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future fichasComplementares()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT FC.* FROM FICHAS_COMPLEMENTARES FC WHERE FC.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendimentosDomiciliares()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AD.* FROM ATENDIMENTOS_DOMICILIARES AD WHERE AD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendDomCompl()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT ADC.* FROM ATENDS_DOM_COMPL ADC INNER JOIN ATENDIMENTOS_DOMICILIARES AD ON AD.ID_ATENDIMENTO_DOMICILIAR = ADC.ID_ATENDIMENTO_DOMICILIAR WHERE AD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendDomProcsFicha()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT ADP.* FROM ATENDS_DOM_PROC ADP INNER JOIN ATENDIMENTOS_DOMICILIARES AD ON AD.ID_ATENDIMENTO_DOMICILIAR = ADP.ID_ATENDIMENTO_DOMICILIAR WHERE AD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendDomProcsSigtap()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT ADS.* FROM ATENDS_DOM_SIGTAP ADS INNER JOIN ATENDIMENTOS_DOMICILIARES AD ON AD.ID_ATENDIMENTO_DOMICILIAR = ADS.ID_ATENDIMENTO_DOMICILIAR WHERE AD.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsOdontologicos()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AO.* FROM ATENDS_ODONTOLOGICOS AO WHERE AO.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsOdontoProf()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AOC.* FROM ATENDS_ODONTO_PROF AOC INNER JOIN ATENDS_ODONTOLOGICOS AO ON AO.ID_ATENDIMENTO_ODONTOLOGICO = AOC.ID_ATENDIMENTO_ODONTOLOGICO WHERE AO.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsOdontoProc()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AOC.* FROM ATENDS_ODONTO_PROC AOC INNER JOIN ATENDS_ODONTOLOGICOS AO ON AO.ID_ATENDIMENTO_ODONTOLOGICO = AOC.ID_ATENDIMENTO_ODONTOLOGICO WHERE AO.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsOdontoSigtap()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AOC.* FROM ATENDS_ODONTO_SIGTAP AOC INNER JOIN ATENDS_ODONTOLOGICOS AO ON AO.ID_ATENDIMENTO_ODONTOLOGICO = AOC.ID_ATENDIMENTO_ODONTOLOGICO WHERE AO.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future atendsOdontoCompl()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AOC.* FROM ATENDS_ODONTO_COMPL AOC INNER JOIN ATENDS_ODONTOLOGICOS AO ON AO.ID_ATENDIMENTO_ODONTOLOGICO = AOC.ID_ATENDIMENTO_ODONTOLOGICO WHERE AO.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future marcadoresConQuest()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT MCQ.* FROM MARCADORES_CON_QUEST MCQ INNER JOIN MARCADORES_CONSUMO MC ON MC.ID_MARCADOR_CONSUMO = MCQ.ID_MARCADOR_CONSUMO WHERE MC.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future marcadoresConsumo()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT MC.* FROM MARCADORES_CONSUMO MC WHERE MC.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future avalElegCondAval()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AECA.* FROM AVAL_ELEG_COND_AVAL AECA INNER JOIN AVALIACOES_ELEGIBILIDADE AA ON AA.ID_AVALIACAO_ELEGIBILIDADE = AECA.ID_AVALIACAO_ELEGIBILIDADE WHERE AA.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future avalElegConclIne()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AECI.* FROM AVAL_ELEG_CONCL_INE AECI INNER JOIN AVALIACOES_ELEGIBILIDADE AA ON AA.ID_AVALIACAO_ELEGIBILIDADE = AECI.ID_AVALIACAO_ELEGIBILIDADE WHERE AA.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); + return list; + } + Future avaliacoesElegibilidade()async{ + Database db = await DbSqliteLoad().intialDB(); + var query = "SELECT AA.* FROM AVALIACOES_ELEGIBILIDADE AA WHERE AA.SINCRONIZADO = 'N'"; + List list = await db.rawQuery(query); + // print(list); return list; } } \ No newline at end of file diff --git a/lib/service/db/db_sqlite_sync.dart b/lib/service/db/db_sqlite_sync.dart index 58d2725..8dd918b 100644 --- a/lib/service/db/db_sqlite_sync.dart +++ b/lib/service/db/db_sqlite_sync.dart @@ -66,7 +66,7 @@ class DbSqliteSync{ }; int id = await db.insert('LOGRADOUROS_ENDERECOS', row); // print('id increment $id PROCEDIMENTOS_SIGTAP_REGISTRO'); - print(await db.query('LOGRADOUROS_ENDERECOS')); + // print(await db.query('LOGRADOUROS_ENDERECOS')); } return db; } @@ -229,7 +229,7 @@ class DbSqliteSync{ } }else{ int id = await db.insert('CIDADAOS', value); - print('novo id $id'); + // print('novo id $id'); } return db; } diff --git a/lib/widgets/alert_dialog_search_stateful.dart b/lib/widgets/alert_dialog_search_stateful.dart deleted file mode 100644 index 7857229..0000000 --- a/lib/widgets/alert_dialog_search_stateful.dart +++ /dev/null @@ -1,120 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:rkm/widgets/text_default.dart'; -import 'package:sqflite/sqflite.dart'; -import '../screens/registers_citizen/register_citizen_screen.dart'; -import '../service/db/db_sqlite_load.dart'; -import '../config/color_palette.dart'; -import 'input_search_text.dart'; - -class AlertDialogSearchStateful extends StatefulWidget { - - @override - State createState() => _AlertDialogSearchStatefulState(); -} - -class _AlertDialogSearchStatefulState extends State { - - List cityDB = []; - List showResultSearchCity = []; - var controller = TextEditingController(); - - _searchCityBirth(){ - searchCity(); - } - getCity()async{ - Database db = await DbSqliteLoad().intialDB(); - var query = "SELECT * FROM MUNICIPIOS ORDER BY NO_MUNICIPIO"; - List list = await db.rawQuery(query); - // print("SELECT * FROM UNIDADES"); - // print(await db.rawQuery("SELECT * FROM UNIDADES")); - for(int i=0; list.length > i;i++){ - cityDB.add('${list[i]['NO_MUNICIPIO']} - ${list[i]['UF_ESTADO']}'); - } - searchCity(); - return 'complete'; - } - - searchCity()async{ - if(controller.text.isNotEmpty){ - showResultSearchCity =[]; - for (int i =0;cityDB.length>i;i++) { - String CIDADE = '${cityDB[i]}'; - - if(CIDADE.contains(controller.text.toUpperCase())){ - if(showResultSearchCity.length<10){ - showResultSearchCity.add(cityDB[i]); - } - } - } - setState(() { - print(showResultSearchCity); - }); - }else{ - setState(() { - for(int i = 0;i<10;i++){ - showResultSearchCity.add(cityDB[i]); - } - }); - } - } - - @override - void initState() { - super.initState(); - getCity(); - controller.addListener(_searchCityBirth); - } - - @override - Widget build(BuildContext context) { - - double width = MediaQuery.of(context).size.width; - double height = MediaQuery.of(context).size.height; - - return AlertDialog( - title: InputSearchText( - controller: controller, - width: width*0.3, - hint: 'Buscar...', - color: ColorPalette.titleContainer, - border: false, - ), - content: Container( - padding: EdgeInsets.symmetric(vertical: 10), - width: width*0.8, - child: Container( - width: width*0.8, - height: height*0.8, - padding: EdgeInsets.symmetric(horizontal: 10), - child: ListView.separated( - separatorBuilder:(context,index)=> Divider(color: ColorPalette.black54,height: 5,), - itemCount: showResultSearchCity.length, - itemBuilder: (context,index){ - return Container( - width: width*0.8, - color: ColorPalette.white, - child: ListTile( - onTap: (){ - setState(() { - controller.text = showResultSearchCity[index]; - Navigator.push( - context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: controller.text,)), - ); - }); - }, - title: TextDefault( - color: ColorPalette.black54, - text: showResultSearchCity[index], - fontSize: 16, - maxLines: 2, - ), - ), - ); - } - ), - ), - ), - ); - } -} diff --git a/lib/widgets/input_text.dart b/lib/widgets/input_text.dart index f0046a2..b343a9f 100644 --- a/lib/widgets/input_text.dart +++ b/lib/widgets/input_text.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:rkm/config/color_palette.dart'; import '../controllers/format_txt.dart'; @@ -26,7 +27,7 @@ class InputText extends StatelessWidget { this.textInputType = TextInputType.text, this.maxLines = 1, this.colorBorder = ColorPalette.black54, - this.onChanged = null + this.onChanged = null, }); @override diff --git a/lib/widgets/onbackbutton.dart b/lib/widgets/onbackbutton.dart index 1173ae9..52ecd57 100644 --- a/lib/widgets/onbackbutton.dart +++ b/lib/widgets/onbackbutton.dart @@ -5,30 +5,30 @@ import 'button_default.dart'; class OnBackButton{ onBackButton(context)async { - bool exiApp = await showDialog( - context: context, - builder: (context){ - return AlertDialog( - title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,), - content: TextDefault(text: 'Deseja sair e descartar as alterações?',color: ColorPalette.black54,), - actions: [ - ButtonDefault( - onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (route) => false), - title: 'Sim', - background: ColorPalette.appBar, - borderColor: ColorPalette.appBar, - textColor: ColorPalette.white, - ), - ButtonDefault( - onPressed: ()=>Navigator.of(context).pop(false), - title: 'Não', - background: ColorPalette.white, - borderColor: ColorPalette.white, - textColor: ColorPalette.black54, - ), - ], - ); - } + await showDialog( + context: context, + builder: (context){ + return AlertDialog( + title: TextDefault(text: 'Aviso',color: ColorPalette.black54,textAlign: TextAlign.center,), + content: TextDefault(text: 'Deseja sair e descartar as alterações?',color: ColorPalette.black54,), + actions: [ + ButtonDefault( + onPressed: ()=>Navigator.pushNamedAndRemoveUntil(context, '/home', (route) => false), + title: 'Sim', + background: ColorPalette.appBar, + borderColor: ColorPalette.appBar, + textColor: ColorPalette.white, + ), + ButtonDefault( + onPressed: ()=>Navigator.of(context).pop(false), + title: 'Não', + background: ColorPalette.white, + borderColor: ColorPalette.white, + textColor: ColorPalette.black54, + ), + ], ); + } + ); } } \ No newline at end of file diff --git a/lib/widgets/subtitle_appbar_citizen.dart b/lib/widgets/subtitle_appbar_citizen.dart index 905f88e..ec81e01 100644 --- a/lib/widgets/subtitle_appbar_citizen.dart +++ b/lib/widgets/subtitle_appbar_citizen.dart @@ -29,7 +29,7 @@ class SubtitleAppbarCitizen extends StatelessWidget { TextButton.icon( onPressed:edit? ()=> Navigator.push( context, - MaterialPageRoute(builder: (context) => RegisterCitizenScreen(select: '',)), + MaterialPageRoute(builder: (context) => RegisterCitizenScreen(listData: [],)), ):null, icon: Icon(Icons.person,color: title==1?Colors.black:ColorPalette.gray,), label: TextDefault(text: 'Cadastro Cidadão',fontSize: 14,color: title==1?Colors.black:ColorPalette.gray,) diff --git a/pubspec.lock b/pubspec.lock index 2a78a36..bda0c74 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,6 +29,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + brasil_fields: + dependency: "direct main" + description: + name: brasil_fields + url: "https://pub.dartlang.org" + source: hosted + version: "1.11.0" characters: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index ec5e3d7..8df8fc4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,6 +20,7 @@ dependencies: sqflite: ^2.0.0+3 shared_preferences: ^2.0.15 get: + brasil_fields: dev_dependencies: flutter_test: