diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 43a7fbc..ab28f1d 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -16,6 +16,7 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index b9e49da..6199cc2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/1.txt b/1.txt new file mode 100644 index 0000000..69406e3 --- /dev/null +++ b/1.txt @@ -0,0 +1,11 @@ +ITOMINVC.EST="T" +ITOMINVC.FEC="2020-09-30 12:18:00" fecha de exportacion + + +ITOMINVD.CON="2" EL VALOR CONTADO EN EL DISPOSITIVO +ITOMINVD.CON="-1" SI NO SE PUSO NINGUN VALOR O SEA SI NO SE CONTO +ITOMINVD.FECTOM="2020-09-30 12:16:00" FECHA Y HORA EN LA QUE SE TOMO +ITOMINVD.FECTOMFIN="2020-09-30 12:16:00" FECHA Y HORA SI SE MODIFICO LO TOMADO + + + diff --git "a/API Guardar Inventario Din\303\241mico-Insercion.xlsx" "b/API Guardar Inventario Din\303\241mico-Insercion.xlsx" index 61d6f52d45e863de7e08c943d4f516d13ab3c09c..5523cc3871ed9b3857dc137f48b6f631585f97f1 100644 GIT binary patch delta 2714 zcmV;L3T5@JTd7;H+6Dvc zmA?nBqUwL9ZQNW|4L~fp;O4diMNXB+i|bk{x)k8{mW0k$!4tusU}*e)CosL)s^Ynl zTCU6vz806`U8JJkT-dh z^NDf_wxX>tXCUMr9x5Y>#(rp5f-t7SFjZ5-=CU@R!w0`UtGNz)UP@57bIN|VTrnst z&=>d$EzM)P)F;%GPOC(M()coEnkprQkeA1D%>_&><)U5#C#twS_wnU3nbNm4@ee|! zx%GeE1NV0ncki!50Zdigi}A!L2i_OyH%Q12x`y=J z;fJ4V`&UhGySEP8Gwz(TjegRI9Xi_!UKf9IlOUJ);MDEQ;ifZQ@WPZJG8_f4WH)!j z_;m@42_ccK2<2O53A!UenvDlD-wndq+zp~|?3Evys&JPCw0G5+U3{e6HCX<{DzJH%9 zOi2{xX_21F2}GXqoYm$pri*D1-Xp2)9~6ez)11CWtOM&%=I2r(&OMe{2eUpI%)JL= za^=gH=(yJZF@7=@3v2QCU=VlqV3V!)u$cM&!_4uvwqb7PEvKio z{z#U4%h0ErRaHQLMD(p_ylZ7}cz>cX4ND3nMAuk-9@6xg0l&gW281js01Fv}W%Nq7 zG>#!MG`0APlbB1-WE|5wN%Q?i=vPJkORgP)f^O6J&*)fQfE5PMk)DE=xcoJJ+tcWL zDdAHG8qca{dHnEb5klEQHWSlfJYgC`Q241O5gUI{cELN(pT~43&djg~pnqW)ey~ae z%z+lAAF$3GIt!?ozFfK4mz<42Tu`>INy++EyBT5 zgtP6*j2H{+Q`td_s_fu-%Z^NJ)0xd>@wn(*AXj_`p7nRkxkDWHQ-aS#Ja~Q&g<$Hf zngq|ALi5Qtq_?#ly?SFcmZ54SkpG39uR&QnlbI57J_kktE!jNfruQ zNrCAXgU9I?L*=s2w6tsCQpHfYoVrlu!Wd;I*`5IVNwhp}1*TsN)#;f^WvE;h-aWK% zsbaKnbr>pk2r**zRQ(=a;I>snf7k&w4LG*f0@FWzws=bvXV=1|iqT?YyTlk}FNx~= z2sW4kBh8-(;|WavFlq6ac(>8QrHY}tOtVW2=EVj(ETZ~9f{muYNMaz2CouhDs9ZMQ zb+mA)VyJGjQw(G`KX<4&QJ<(j5m(GkVEQU%FEB$AG{;y)ze1y}6W-SeOy9m?FEGsn-MZW5Gpp}# zg65mtBQ?v+#tvLynq`J}zI%a@%FOLJoG_8u8Z|!P_6m0$jlc56?vy2n05e4q9CmKw%JtZUoe}s}zOT#b}h2I7LL&GWr7RRAq8R6M`Zz zqLRvNa`d`d#CIrio*T)_%0P||;LyCdzRE<+L}lUGRyA0!z(s*%920epw%*qaV<)zt zxl4k>1aVzif6aY3+6}I`_~aYFDIrs=!E?zy$1O0f2O>Hmr5KR)&XyfO3JfJ^Fy3LB zQ2gulV70qA&?zIQR{l_jPRF=owiLZMxc5#C#-?eKX41t7`6+&1KD~5RV`bW12|z_A z1rrvyuWX_D&MKj*$OUZ+-x(f>?IKI={4(r(tw7!%NG|x#J%QiV=^p_Zg@CNDb5hLrF=K|0;nA-y7V{4+j7MmXnDqR{?jE;VVE4{u%%Pcx*3o zba`xLlW!~)le!-e3jhEB000000001`lU*!90X&nREKmVHlkhA$1@5jV8cdTfEfoPH UlSM5)0j86LEh7ePDgXcg0Ka<-)&Kwi delta 2707 zcmV;E3T*YMTdiBL+6DxV2!)V6qUv_iRbCOWEItWvSBq? zR#H{ez))R#x>1Z4x@62$!t*hXyo&M~?GO_69t^o!@tkEcZ!1=t9f)Fr8lbOB-sm2! z%HIQ5QFVXQHf}Df1|XJPaC6&%BB#oe#dR$eT?%k}OG0O>;ECW*Ff@L@6PVs?RqS$r zTKLG#M+f^WF4*}_x(;oc@3gX+637u$n_0mPD^hVB&MEuda>byq zKwsc1v@}oXQlC&$I;|2Z%96{BX{wYILS7!rH5V|kl#6-|oT%dR+{c&CWJ=%G#6Jj? z=GK3E58U5T+`YdJ1u#`fFUAw29C%-3-yk7B=o-=kA}AiJcLDJygR44M3Awr><7kfK zFmfkkI&^~>p19-rVCu%>Y(AUL<7^lV?!g%qCAp-nDIYR#p;Huue=!}?ZEqnsX?gKP z;|@RkT-(2DdfUBq*q(9coNe@zM(ohpUhsdqked{_#0RHtUk*2&@q!no1d-t=fF--R zBgU^wU`z;!Y(*&FGE31N39{K}F!9|WoJ`#y3S&3M^C55x$vh+DK|C3CjJ#)*y3-V> zb-hz}6>ubfQ39v7J!rcaBS$563$-Xnm&5+6oQfO-Z@X?`Ot3$)E7;b2)28b|YrIHf zhsQ%a3S2xJgl-Uzd^ZjTzB>&ve-;jB*=!Qp^w`TF`5#AOC;6nmWh~2*Ds!f2egk*Y zDO*jb20iT@0=^)}p0(G1b?^t1p#v1N4GJ>?3A=WB3l;|e0F{$T3{e6n43nG;zJKo( zrX&jUv`A0o1R_s)&T8`))5SCh?~&B@4+=x^K&T?=N`+fgIS*p=H7!b zx$@;pbX@EI7(W?{g|&EmFo-*Qu*ueYSj>F?Vdi*S+c39t^0@d{->i-i^e}6cmebQ( ze4ElNAvl{=T|lTORgP)f^O6J&*)fQfE2@wn(*AXj_`KI`w8bB8$Yrv#sgc<}i>6oQ$z zY7%_j6q--IA-%<|x?F2stA9?qWSa8gtVV(tl)+||r*9feQc!h87O*MbTtaTV$S17V z%1abJKc>7gTZ-O-F&MHCkEE(p_PDJdz53CwA9wZRzIvQO9`|IRxSPqekF*;r14I7M zcu28;WL`IpyPCejAP)s*D=>U`vIITx#=WQPi#O2Eb)14`qMG z;Oehu29`xIkq8_iiGb4gIHW0piA7L(EL;mML`dzuN@Uk{DOCb=>u?bmSQf!TB5*`g z1QVt2afmdaQ53(0hoDMOi3k=!C9-RXBmyKeTm%M|MX-?w93hE-()Tz-ssubMs5}-b zxt&U+h@cYLbyZ3tu-(Vt;lRMM2&jLMw;a)12^=C-0+P~Kc?cFkB~nCaA*!oV5&;(O z;UX}wECOEPIHGrA#Pj@*pin8A-yenPj1` zl@yqMF?gJQF;p%KO-s8LE>#Sb%c%=hE{sujlI;nwpG3>!R$%(YP@SHsREElB;oUqFrL8l50e&;iFX?BxBiLvPj3fracmmTehRS8* zT}KO-Du(JdJH$_ zO`_P(2u#;n&6VYsiu@`iq4~MGek`;wePLIE>~7@#R$O_SOSpW1c@w?&%_UqWsP7+5 z3%+1g_X{<_W|akJ`g4$C=FH}({6 zL5vB^Zl^RYZ@)kQJ&XH9%a=^cf{f-*(cf@C2|A^D1h<^kmHb-I(!9)rsMOj2GAN@k zh`lUg*Rfi@WcR`O*CW5xx&McP&3^#1aTCB11)uygEJ?FAB_siVjFQVv!!Q&?_elIh zeQ!Xh4GU z4rfV*f4m;7bbk)?%E&2&-<#0s7>v*AofCtxZQGI$_}%_R5C6F*@cTN4M}S8mAUV`I zDX+!-!*Y)5Jk8TMoyPgqGR;VylWg+dMff$}1wLHJV~~FmZ%9#)>*1sjteEI9(KACti! z7L#x+Dgi^2n=DWPMU(6-Ivbz-Gb~8~0040U000pH000000000000000Dw9DiJ^`we NfGr~iaVh`+005o%`O5$R diff --git "a/API Guardar Inventario Din\303\241mico.docx" "b/API Guardar Inventario Din\303\241mico.docx" index 466c0ad3ed257456e185999fbf6a551b79cdbd7b..7117e58aba92a18789fcfe58f58638f7a69c480f 100644 GIT binary patch delta 4529 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 P(36HWBL?R(00000$Nie^ delta 4546 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 diff --git "a/Guardar Cabecera de Inventario Din\303\241mico(INV_PALM_REA).docx" "b/Guardar Cabecera de Inventario Din\303\241mico(INV_PALM_REA).docx" new file mode 100644 index 0000000000000000000000000000000000000000..a5bf072c3cd4f0d35f19403a00d351f602e0a06a GIT binary patch literal 13492 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 C{Bu+Q literal 0 HcmV?d00001 diff --git a/Guardar Cabecera de Inventarios Sectorizados.docx b/Guardar Cabecera de Inventarios Sectorizados.docx new file mode 100644 index 0000000000000000000000000000000000000000..2bb17aacb8d80b6451d1bf01e3772d57281564d3 GIT binary patch literal 13738 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 literal 0 HcmV?d00001 diff --git "a/Guardar Detalle Inventario Din\303\241mico (ITOMINVD).docx" "b/Guardar Detalle Inventario Din\303\241mico (ITOMINVD).docx" new file mode 100644 index 0000000000000000000000000000000000000000..84908333d4af9ea5744ad15ff4d3c31cd3d66be7 GIT binary patch literal 13710 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�+`5aV4-XV8tvNy%W+tOq8^g zHBwyL3_tqkO!GQ&)A*o%)rY3+??#5*JXUBWq}RyDU%N#bGVw~;65dCahXd#W2Kw~J zB1nVRtPDBLmL#I@*;;T{D&WoPi?xkNCr(tveYJa-+%qLQ)##~9?KN%~lI$rr)%nhY zBRB@*Y4l1c@4*gZv}0aliW6v1YE>5muQCn}%^-YnYO$Mz>KIWd!&h66NTs_#mSHvy zPIkG?v=!CQtK%QWZ+LC0FXe#mGjU z#)B@lnPZ^dd0k&WQ@)jfAQ1~}#c1GtF-~lpNkL$DPc9F@X%#MCnVR$q(eX`N?tovN zr^THf(e9!d^uI*?!5(SqWQKqJfE4kVUKC z8UHNY_-g+^&NVpctkSLJOL;d`{3ImPvXYMEXA!f z^oQ@IsY!$O5&a z&k}_BScvF@P9^+y1>-YEmY`dzd{#@OJYlz3VU+K`+TRd@?|#4S$L_+4$qA{lxBx5~ z(U@QWRJHuEtBtpO7O!mK*vcDXgZQu42tjF;gFn38DlZ7Wqb(SKS}p%aQ%&>qm`>ps zKDn~-=^Nx6i7NMBUHjufzxU_AyJ#whj(|v2-3yJj@Cb#b=-wwRC*REK7ol=?p4jk5O_*U5YQrM_wsru@MG?M2I_0fulr}|oy zKRBsZa6xD)V)8(yw1ouJVdL^qExW z$a-oZJ6t4KY^shX@D{gV|KUOL!yZg8#Cn&^9*opp5f`4&mn(;qZ)3A=mV!F$jnEWc zT#U}WjS9x^n-n}t1DQG-7jz0OL1(6;*0xQ(&z)F>U7E17pFY8(5Wlr~JJfjDI-)dx zf@gRs4WzJA6N<|yT2~HqU?usi1rM#R_C7T#4b$tbxvq$CV07BrCg?wxgnSc=KzdfE z5x0*`gD>n@3uDGh1K$-F5rQ0=il5oC{=9p8P_q`if>vp*m_qHR@C)ls+&U;T%nh=w zKteiBb~xT2d4V-XHB$u6s#0TWHKR7uijyX9uW{M{?XkQ^mie^bwT5>nn#Fr0df$Mp zMqAVH$Gg;<_V1g1s+sza*m7ho{b*|UyZGac!iy5PwEiuYN_$kKEdC@W!yMhig;$XPQio9uhj)lSUVi*4pZ}$u2o0U_NI98hcs$=!I@xl&Y5eA4 zlgk_Txzq|rEt$cxZt>=peii7Rtc-zI?_;_-$VW_20pQlYy?%U-B5K6U%0Ag>rzi+xC~B7$=!{O2y(1 z%!u~Z&%jg07E|>YScy-^FArMW4hT9&+6$k)J=!EL*|)NC-M<5(E~LUgP)hxjq>0no zK00<7|5i>S`~@~^TyVq`%ABvMIZ0Imd=Miz+A+`{6^Dt~t~O%aAQiF!f>;oUr~aUk z%}%7ar?v$3T4BQ*(i2jcAX%h-`6VS{KH_|rLOnsU1AZVJ1ZUCxL?AYptvDXmt%OUg zXbfW{#~-l}nB&Dm9LLMxSA^0>vCsG!>v3wRG&>>tN?@V%>kGK(viCYPLqhqnp|m4J z!H}L9+H&f7yFz#LWt(nS zOU+(3(*Z2{UKy_{2#*!tZT)uuza< z!X{m5_7JO#h4&9|c+Wcpq46MgX>#R;kFR4d7BS&dnV-Awt3VW99?v8r;l+D;!WQSf zo4=99TA51@eP#1_-q|TXHRDW>WR*FVom+D25luqy@jEAtIXygt*&)kqy}e9!!=uOE zssA+Zt!Ww8wwy%IT#78_Eq-W;8R?c9HNr=1;3WzOD#Wqgf?oQ@$^YdrV6EymeWYxKS7Hc1=DBuu8E?*#QYW#{dtE~Oy!c} z5LQe@Ewzn$2L@n^PsBe9LXKydD{@}KICJh1MDir|&VmdHSG1VTeFL@5s=$*}=u3T% zKYg>3TY+xoZjY}tqvMvAghr1eO)q0JbuApROo!;WEhN*2o^bOxvr-i&t|A5sZ^kid z`h_abE!hCwUc^EOFvz*87`_tB!E{G%E-FgZUU`jWuk<*YRJ07a*ve)K8VVxY4JJHJ zB3nAQvmt%^wVn{8JkltjEdhVY&JMg7Q>`eu?G-UcRqA$d*pfzs|Klo$ZCn3q2(gk? z)aehC=Wlq(4;%c)Q6`{^{Qu~G4|nQH9&eTa{pNp2Z~K~Wo0;;qR@Qd(dRDf-8^T+O zs+^8`$2jYNM(G?)~Eole4tP?|0>@~-Z*RoX`ygQAOoB#9MWm{B z%+-oks!5Jh9WQLxe1L)BM9mzZ^emH$r17PG>i6Zk^rJyNp-B~f-=DDJI_+zqaWfEx z4gY+*KlpT#)oNO7&q@tKB9$jD{{=xqGIFr|;;`;L;+%P%fI2KBZusDi`*EB+nJZL2 zn!AV`4`gJ-EE?pGlvna2$<5sNrLw3D(ApdZjLoKYiblj^oVOhBN1sYRXrI1tU9o?f z=AJ7&7}f7gG48Z~1<2$O;IQS=hbuweim@Wn_@Gx7l9L7(H#5h%tmv2zjIQ={<8#Pzs{wTU61|-P# zQC5IXoH38YR81vs3DVBP3cwTL0=fkVZ$>C9ZmbTa#zWwk&l39zYt z!aMg0tJOC0+OOaQ|3NMS=1~qK;Mq@qTzowT%lAF|ywF_FHEJ;BDkQ|M#*bvzH}V6| z{Ty-`rJ28Om70P{F48~|bqp*Wpa17@Rq@XFjPMA)dxWB-_Pn*(n~113S5S&Nt(FOTBY`WJZMLA!67tw=WYx!ADRT3bYIjgWYgdVeg)3lR zET--4ul*O10s*CcBTfJO>B;XF@E7q9AEL-h{awM|3+4ZU1;oC2+F#1%e+B+pLHsAQ z>WyIhS3U8s@W0pA{0RmC=HBwh|G!F`Up4(&Z}F!tgg2V=kJT5ys`zzR?N1eEn187F z>mJ*$@L!YPf5O4={tf?6D*RXQuVna7FazZu;9scmuNri_`lPE yKhXd{ISl~tU*zCd_}^#dzrywD{{sJGo|cyae>0EYKFWXvw7-3v;llLW+5ZDPQH*;4 literal 0 HcmV?d00001 diff --git a/Obtener cuerpo de Inventarios Sectorizados.docx b/Obtener cuerpo de Inventarios Sectorizados.docx new file mode 100644 index 0000000000000000000000000000000000000000..6edb6a1c5704d1a7a5b62a42a8e2ef94acf680a2 GIT binary patch literal 15018 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 + + @Query("UPDATE $TABLA_INV_SEC_H SET CONT=:cant WHERE INV_NUM=:inven") + suspend fun updateCantArtInvSecHead(inven: Int,cant: Int) + + @Query("DELETE FROM $TABLA_INV_SEC_H WHERE INV_NUM=:inven") + suspend fun deleteinvSecHead(inven: String) + + @Query("SELECT * FROM $TABLA_INV_SEC_H WHERE INV_NUM=:inven") + suspend fun foundInvSecHead (inven: String): InvHeadSec + + @Query("UPDATE $TABLA_INV_SEC_H SET FET=:fecha, FEC=:fecha WHERE INV_NUM=:inven") + suspend fun updateFETinvSecHead(inven: String, fecha:String) + + @Query("UPDATE $TABLA_INV_SEC_H SET FEC=:fecha WHERE INV_NUM=:inven") + suspend fun updateFECinvSecHead(inven: String, fecha:String) +} + +@Dao +interface InvBodySecDAO { + @Insert() + suspend fun insertInvBodySec(invBody: InvBodySec?) + + @Query("DELETE FROM $TABLA_INV_SEC_B WHERE INV = :inven") + suspend fun deleteAllInvBodySec(inven: Int) + + @Query("SELECT * FROM $TABLA_INV_SEC_B WHERE INV =:inven GROUP BY SEC, ART") + suspend fun buscarInvSecBody(inven: Int): List + + @Query("UPDATE $TABLA_INV_SEC_B SET CON=:cant , FECTOM=:actFechaHora WHERE INV =:inven AND SEC=:sec AND ART=:cod") + suspend fun updateInvSecBody(inven: String, cant: Float, sec: Long, cod: Long, actFechaHora:String) + + @Query("DELETE FROM $TABLA_INV_SEC_B WHERE INV =:inven") + suspend fun deleteInvSecBody(inven: String) + + @Query("SELECT * FROM $TABLA_INV_SEC_B WHERE INV =:inven GROUP BY SEC, ART") + suspend fun fetchInvSecBody(inven: String): List + + @Query("UPDATE $TABLA_INV_SEC_B SET FECTOM=:fecha, FECTOMFIN=:fecha WHERE INV =:inven") + suspend fun updateFECTOMyFECTOMFINinvSecBody(inven: String, fecha:String) + + @Query("UPDATE $TABLA_INV_SEC_B SET CON=:cant ,FECTOMFIN=:actFechaHora WHERE INV =:inven AND SEC=:sec AND ART=:cod") + suspend fun updateFECTOMFINinvSecBody(inven: String, cant: Float, sec: Long, cod: Long, actFechaHora:String) + + @Query("SELECT * FROM $TABLA_INV_SEC_B WHERE INV =:inven ") + suspend fun verificoExisteInvSec(inven: Int): List + + @Query("SELECT * FROM $TABLA_INV_SEC_B WHERE INV =:inven AND SEC=:sec AND ART=:cod") + suspend fun fetchArticuloByCodSec(inven: String, sec: String, cod: String):InvBodySec + + @Query("SELECT * FROM $TABLA_INV_SEC_B WHERE INV =:inven GROUP BY SEC, ART") + suspend fun fetchInvSecBodyGroup(inven: String): List + + +} diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/DB/DataBase/AppDb.kt b/app/src/main/java/com/focasoftware/deboinventariov20/DB/DataBase/AppDb.kt index 5e53c8f..b9c9124 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/DB/DataBase/AppDb.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/DB/DataBase/AppDb.kt @@ -6,18 +6,17 @@ import androidx.room.Room import androidx.room.RoomDatabase import com.focasoftware.deboinventariov20.DB.Constans.Constans import com.focasoftware.deboinventariov20.DB.DAO.* -import com.focasoftware.deboinventariov20.Model.Articles -import com.focasoftware.deboinventariov20.Model.InvBody -import com.focasoftware.deboinventariov20.Model.InvHead -import com.focasoftware.deboinventariov20.Model.ServeInv +import com.focasoftware.deboinventariov20.Model.* -@Database(entities = [Articles::class, InvHead::class, InvBody::class, ServeInv::class], version = 1, exportSchema = false) +@Database(entities = [InvBodySec::class, InvHeadSec::class, Articles::class, InvHead::class, InvBody::class, ServeInv::class], version = 1, exportSchema = false) abstract class AppDb : RoomDatabase() { abstract fun ArticulosDAO(): ArticulosDAO? abstract fun InvHeadDAO(): InvHeadDAO? abstract fun InvBodyDAO(): InvBodyDAO? abstract fun ServeInvDao(): ServeInvDao? + abstract fun InvHeadSecDAO(): InvHeadSecDAO? + abstract fun InvBodySecDAO(): InvBodySecDAO? companion object { private var INSTANCE: AppDb? = null diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/Model/DefaultResponse.kt b/app/src/main/java/com/focasoftware/deboinventariov20/Model/DefaultResponse.kt new file mode 100644 index 0000000..114333c --- /dev/null +++ b/app/src/main/java/com/focasoftware/deboinventariov20/Model/DefaultResponse.kt @@ -0,0 +1,7 @@ +package com.focasoftware.deboinventariov20.Model + +import retrofit2.Callback + +data class DefaultResponse(val message:String, val success: Boolean, val status:Int) { + +} \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/Model/ItomInv.kt b/app/src/main/java/com/focasoftware/deboinventariov20/Model/ItomInv.kt new file mode 100644 index 0000000..47cc0fa --- /dev/null +++ b/app/src/main/java/com/focasoftware/deboinventariov20/Model/ItomInv.kt @@ -0,0 +1,34 @@ +package com.focasoftware.deboinventariov20.Model + +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.util.concurrent.TimeUnit + +object ItomInv { + + private val TIME_OUT: Long + get() { + return 200 + } + private val interceptor = run { + val httpLoggingInterceptor = HttpLoggingInterceptor() + httpLoggingInterceptor.apply { + httpLoggingInterceptor.level = HttpLoggingInterceptor.Level.BODY + } + } + private val okHttpClient = OkHttpClient.Builder() + .addNetworkInterceptor(interceptor) // same for .addInterceptor(...) + .connectTimeout(TIME_OUT, TimeUnit.SECONDS) //Backend is really slow + .writeTimeout(TIME_OUT, TimeUnit.SECONDS) + .readTimeout(TIME_OUT, TimeUnit.SECONDS) + .build() + + private val retrofit: Retrofit = Retrofit.Builder() + .client(okHttpClient) + .baseUrl(BASE_URL) + .addConverterFactory(GsonConverterFactory.create()) + .build() + val request: WebServiceApi = retrofit.create(WebServiceApi::class.java) +} \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/Model/Tablas.kt b/app/src/main/java/com/focasoftware/deboinventariov20/Model/Tablas.kt index 4f38d60..55b57c9 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/Model/Tablas.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/Model/Tablas.kt @@ -6,85 +6,129 @@ import androidx.room.PrimaryKey import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_ART import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_INV_B import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_INV_H +import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_INV_SEC_B +import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_INV_SEC_H import com.focasoftware.deboinventariov20.DB.Constans.Constans.Companion.TABLA_SERV_INV import com.google.gson.annotations.SerializedName import java.io.Serializable -//data class Productos(@SerializedName("SEC") var sector: String?, -// @SerializedName("COD") var codigo: String?, -// @SerializedName("DESC") var descripcion: String?, -// @SerializedName("CB") var codBar: String?, -// @SerializedName("CBC") var codOrigen: String?, -// @SerializedName("PRE_VTA") var precio: String?, -// @SerializedName("PRE_COS") var costo: String?, -// @SerializedName( "EV") var exiVenta: String?, -// @SerializedName( "ED") var exiDeposito: String?, -// @SerializedName( "DE") var de: String?, -// @SerializedName( "BAL") var balanza: Int?, -// @SerializedName("DEPSN") var depSn: Int?, -// @SerializedName("FOTO") var imagen: String?) -data class Productos(@SerializedName("CODSEC") var sector: String?, - @SerializedName("CODART") var codigo: String?, - @SerializedName("DETART") var descripcion: String?, - @SerializedName("CODBAR") var codBar: String?, - @SerializedName("COO") var codOrigen: String?, - @SerializedName("PREVEN") var precio: String?, - @SerializedName("COSTO") var costo: String?, - @SerializedName( "EXIVTA") var exiVenta: String?, - @SerializedName( "EXIDEP") var exiDeposito: String?, - @SerializedName( "DVE") var de: String?, - @SerializedName( "UNIVEN") var balanza: Int?, - @SerializedName("DEPSN") var depSn: Boolean?, - @SerializedName("FOTO") var imagen: String?) - -data class InvToSend ( var fechaInicio: String?, - var fechaFinal: String?, - var lugar: Int?, - var sector: String?, - var codigo: String?, - var descripcion: String?, - var cantTomada: String?, - var fechaInicioArt: String?, - var fechaFinArt: String?) -//@Entity(tableName = TABLA_ART) -//data class Articles(@ColumnInfo(name = "SEC") var sector: String?, -// @ColumnInfo(name = "COD") var codigo: String?, -// @ColumnInfo(name = "DES") var descripcion: String?, -// @ColumnInfo(name = "CB") var codBar: String?, -// @ColumnInfo(name = "CBC") var codOrigen: String?, -// @ColumnInfo(name = "PRE_VTA") var precio: String?, -// @ColumnInfo(name = "PRE_COS") var costo: String?, -// @ColumnInfo(name = "EV") var exiVenta: String?, -// @ColumnInfo(name = "ED") var exiDeposito: String?, -// @ColumnInfo(name = "DE") var de: String?, -// @ColumnInfo(name = "BAL") var balanza: Int?, -// @ColumnInfo(name = "DEPSN") var depSn: Int?, -// @ColumnInfo(name = "FOTO") var imagen: String?) : Serializable { -// @PrimaryKey(autoGenerate = true) -// @ColumnInfo(name = "id") -// var id: Long = 0 -//} +data class Productos( + @SerializedName("CODSEC") var sector: String?, + @SerializedName("CODART") var codigo: String?, + @SerializedName("DETART") var descripcion: String?, + @SerializedName("CODBAR") var codBar: String?, + @SerializedName("COO") var codOrigen: String?, + @SerializedName("PREVEN") var precio: String?, + @SerializedName("COSTO") var costo: String?, + @SerializedName("EXIVTA") var exiVenta: String?, + @SerializedName("EXIDEP") var exiDeposito: String?, + @SerializedName("DVE") var de: String?, + @SerializedName("UNIVEN") var balanza: Int?, + @SerializedName("DEPSN") var depSn: Boolean?, + @SerializedName("FOTO") var imagen: String? +) + +data class Time( + @SerializedName("DIA") var dia: String?, + @SerializedName("MES") var mes: String?, + @SerializedName("ANO") var ano: String?, + @SerializedName("HORA") var hora: String?, + @SerializedName("MIN") var minutos: String?, + @SerializedName("SEG") var segundos: String? +) + +data class InvHeadSecR( + @SerializedName("INV_NUM") var invNum: Int, + @SerializedName("DET") var detalle: String, + @SerializedName("FET") var fechaInicio: String, + @SerializedName("DEP") var depsn: Int +) + +data class InvBodySecR( + @SerializedName("INV") var INV: String, + @SerializedName("SEC") var SEC: String?, + @SerializedName("ART") var ART: String?, + @SerializedName("DET") var DET: String?, + @SerializedName("PRE") var PRE: String?, + @SerializedName("COS") var COS: String?, + @SerializedName("DVE") var DVE: String?, + @SerializedName("EXIVTA") var EXIVTA: String?, + @SerializedName("EXIDEP") var EXIDEP: String?, + @SerializedName("CODBAR") var CODBAR: String?, + @SerializedName("COO") var COO: String?, + @SerializedName("DEPSN") var DEPSN: String?, + @SerializedName("UNIVEN") var uniVta: String? +) + +data class ItomInvD( + var Sector: String?, + var Codigo: String?, + var Descripcion: String?, + var CantTomada: String?, + var FechaInicioArt: String?, + var FechaFinArt: String? +) + +data class InvToSend( + var FechaInicio: String?, + var FechaFinal: String?, + var Lugar: Int?, + var Sector: String?, + var Codigo: String?, + var Descripcion: String?, + var CantTomada: String?, + var FechaInicioArt: String?, + var FechaFinArt: String? +) + +data class ItomInvC( + var FechaInicio: String?, + var FechaFinal: String?, + var Lugar: Int?, +) + +data class InvSecHeadToSend( + var ID: String?, + var EST: String?, + var FEC: String? +) + +data class InvSecBodyToSend( + var INV: String?, + var SEC: String?, + var ART: String?, + var CON: String?, + var FECTOM: String?, + var FECTOMFIN: String? +) + +data class NumInvSec(var inv_num: String?) + @Entity(tableName = TABLA_ART) -data class Articles(@ColumnInfo(name = "CODSEC") var sector: String?, - @ColumnInfo(name = "CODART") var codigo: String?, - @ColumnInfo(name = "DETART") var descripcion: String?, - @ColumnInfo(name = "CODBAR") var codBar: String?, - @ColumnInfo(name = "COO") var codOrigen: String?, - @ColumnInfo(name = "PREVEN") var precio: String?, - @ColumnInfo(name = "COSTO") var costo: String?, - @ColumnInfo(name = "EXIVTA") var exiVenta: String?, - @ColumnInfo(name = "EXIDEP") var exiDeposito: String?, - @ColumnInfo(name = "DVE") var de: String?, - @ColumnInfo(name = "UNIVEN") var balanza: Int?, - @ColumnInfo(name = "DEPSN") var depSn: Boolean?, - @ColumnInfo(name = "FOTO") var imagen: String?) : Serializable { +data class Articles( + @ColumnInfo(name = "CODSEC") var sector: String?, + @ColumnInfo(name = "CODART") var codigo: String?, + @ColumnInfo(name = "DETART") var descripcion: String?, + @ColumnInfo(name = "CODBAR") var codBar: String?, + @ColumnInfo(name = "COO") var codOrigen: String?, + @ColumnInfo(name = "PREVEN") var precio: String?, + @ColumnInfo(name = "COSTO") var costo: String?, + @ColumnInfo(name = "EXIVTA") var exiVenta: String?, + @ColumnInfo(name = "EXIDEP") var exiDeposito: String?, + @ColumnInfo(name = "DVE") var de: String?, + @ColumnInfo(name = "UNIVEN") var balanza: Int?, + @ColumnInfo(name = "DEPSN") var depSn: Boolean?, + @ColumnInfo(name = "FOTO") var imagen: String? +) : Serializable { @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") var id: Long = 0 } + @Entity(tableName = TABLA_INV_H) -data class InvHead(@PrimaryKey(autoGenerate = true) @ColumnInfo(name = "INV_NUM") var invNum: Int, +data class InvHead( + @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "INV_NUM") var invNum: Int, @ColumnInfo(name = "INV_DESC") var descripcion: String?, @ColumnInfo(name = "ESTADO") var estado: Int?, @ColumnInfo(name = "INV_FEI") var fechaInicio: String?, @@ -96,23 +140,26 @@ data class InvHead(@PrimaryKey(autoGenerate = true) @ColumnInfo(name = "INV_NUM" // Ajusta productos no incluidos en el conteo con stock en cero=1 @ColumnInfo(name = "PRO_NO_CONTA") var stDesc: Int?, // Mostror stock en el sistema al momento de la descarga del maestro. - @ColumnInfo(name = "MOSTRAR_STOCK") var proNoCont: Int?) + @ColumnInfo(name = "MOSTRAR_STOCK") var proNoCont: Int? +) @Entity(tableName = TABLA_INV_B) -data class InvBody(@ColumnInfo(name = "INV_NUM") var invNum: Int, - @ColumnInfo(name = "SEC") var sector: String?, - @ColumnInfo(name = "COD") var codigo: String?, - @ColumnInfo(name = "DES") var descripcion: String?, - @ColumnInfo(name = "CANT") var cantTomada: String?, - @ColumnInfo(name = "CB") var codBar: String?, - @ColumnInfo(name = "CBC") var codOrigen: String?, - @ColumnInfo(name = "PRE_VTA") var precio: String?, - @ColumnInfo(name = "PRE_COS") var costo: String?, - @ColumnInfo(name = "BAL") var balanza: Int?, - @ColumnInfo(name = "DSN") var depSn: Boolean?, - @ColumnInfo(name = "INV_FEI") var fechaInicio: String?, - @ColumnInfo(name = "INV_FEF") var fechaFinal: String?) : Serializable { +data class InvBody( + @ColumnInfo(name = "INV_NUM") var invNum: Int, + @ColumnInfo(name = "SEC") var sector: String?, + @ColumnInfo(name = "COD") var codigo: String?, + @ColumnInfo(name = "DES") var descripcion: String?, + @ColumnInfo(name = "CANT") var cantTomada: String?, + @ColumnInfo(name = "CB") var codBar: String?, + @ColumnInfo(name = "CBC") var codOrigen: String?, + @ColumnInfo(name = "PRE_VTA") var precio: String?, + @ColumnInfo(name = "PRE_COS") var costo: String?, + @ColumnInfo(name = "BAL") var balanza: Int?, + @ColumnInfo(name = "DSN") var depSn: Boolean?, + @ColumnInfo(name = "INV_FEI") var fechaInicio: String?, + @ColumnInfo(name = "INV_FEF") var fechaFinal: String? +) : Serializable { @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") var id: Long = 0 @@ -122,11 +169,48 @@ data class InvBody(@ColumnInfo(name = "INV_NUM") var invNum: Int, data class ServeInv( @ColumnInfo(name = "SER_DESC") var descripcion: String?, @ColumnInfo(name = "SER_DIR") var direccion: String?, - @ColumnInfo(name = "SER_PUERTO") var puerto: String?, - @ColumnInfo(name = "SER_PRE") var predeterminado: Int?): - Serializable { @PrimaryKey(autoGenerate = true) -@ColumnInfo(name = "SER_NUM") -var servNum: Int=0 + @ColumnInfo(name = "SER_PUERTO_SUBIDA") var puertoSubida: String?, + @ColumnInfo(name = "SER_PUERTO_BAJADA") var puertoBajada: String?, + @ColumnInfo(name = "SER_PRE") var predeterminado: Int? +) : + Serializable { + @PrimaryKey(autoGenerate = true) + @ColumnInfo(name = "SER_NUM") + var servNum: Int = 0 } +@Entity(tableName = TABLA_INV_SEC_H) +data class InvHeadSec( + @PrimaryKey() @ColumnInfo(name = "INV_NUM") var invNum: Int, + @ColumnInfo(name = "DET") var detalle: String?, + @ColumnInfo(name = "FET") var fechaInicio: String?, + @ColumnInfo(name = "DEP") var depsn: Boolean?, + @ColumnInfo(name = "EST") var estado: String?, + @ColumnInfo(name = "FEC") var fechaFinal: String?, + @ColumnInfo(name = "CONT") var prodContados: Int? +) + + +@Entity(tableName = TABLA_INV_SEC_B) +data class InvBodySec( + @ColumnInfo(name = "INV") var invNum: Int, + @ColumnInfo(name = "SEC") var sector: String?, + @ColumnInfo(name = "ART") var codigo: String?, + @ColumnInfo(name = "DET") var descripcion: String?, + @ColumnInfo(name = "PRE") var precio: String?, + @ColumnInfo(name = "UNIVTA") var uniVenta: String?, + @ColumnInfo(name = "COS") var costo: String?, + @ColumnInfo(name = "CON") var contado: String?, + @ColumnInfo(name = "DSN") var depSn: Boolean?, + @ColumnInfo(name = "EXIVTA") var EXIVTA: String?, + @ColumnInfo(name = "EXIDEP") var EXIDEP: String?, + @ColumnInfo(name = "CODBAR") var CODBAR: String?, + @ColumnInfo(name = "FECTOM") var fechaTomado: String?, + @ColumnInfo(name = "FECTOMFIN") var fechaFinal: String? +) : + Serializable { + @PrimaryKey(autoGenerate = true) + @ColumnInfo(name = "ID") + var id: Int = 0 +} diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebService.kt b/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebService.kt index eab88e9..49c6106 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebService.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebService.kt @@ -1,32 +1,97 @@ package com.focasoftware.deboinventariov20.Model -import com.focasoftware.deboinventariov20.UI.actualizacionMaestros.BASE_URL + import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import java.util.concurrent.TimeUnit -object WebService { - private var instance: WebService? = null - private var retrofit: Retrofit? = null - private val TIME_OUT: Long - get() { - return 15 - } - private val interceptor = run { - val httpLoggingInterceptor = HttpLoggingInterceptor() - httpLoggingInterceptor.apply { - httpLoggingInterceptor.level = HttpLoggingInterceptor.Level.BODY - } +var BASE_URL: String = "" + +class WebService private constructor() { + + private val retrofit: Retrofit + private val loggingInterceptor: HttpLoggingInterceptor = HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY) + private val httpClientBuilder: OkHttpClient.Builder + +// private val interceptor = run { +// val httpLoggingInterceptor = HttpLoggingInterceptor() +// httpLoggingInterceptor.apply { +// httpLoggingInterceptor.level = HttpLoggingInterceptor.Level.BODY +// } +// } +// private val TIME_OUT: Long +// get() { +// return 200 +// } +// private val okHttpClient = OkHttpClient.Builder() +// .addNetworkInterceptor(interceptor) +// .connectTimeout(TIME_OUT, TimeUnit.SECONDS) +// .writeTimeout(TIME_OUT, TimeUnit.SECONDS) +// .readTimeout(TIME_OUT, TimeUnit.SECONDS) +// .build() + + fun createService(): WebServiceApi { + return retrofit.create(WebServiceApi::class.java) } - private val okHttpClient = OkHttpClient.Builder() - .addNetworkInterceptor(interceptor) - .connectTimeout(TIME_OUT, TimeUnit.SECONDS) - .writeTimeout(TIME_OUT, TimeUnit.SECONDS) - .readTimeout(TIME_OUT, TimeUnit.SECONDS) - .build() + fun createService(serviceClass: Class): S { + return retrofit.create(serviceClass) + } + + companion object { + + + @get:Synchronized + var instance: WebService? = null + get() { + if (field == null) { + field = WebService() + } + return field + } + private set + } + + init { + httpClientBuilder = OkHttpClient.Builder().addInterceptor(loggingInterceptor) + retrofit = Retrofit.Builder() + .baseUrl(BASE_URL) +// .client(okHttpClient) + .client(httpClientBuilder.build()) + .addConverterFactory(GsonConverterFactory.create()) + .build() + } +} +//object WebService2 { +// private var instance: WebService? = null +// private val TIME_OUT: Long +// get() { +// return 15 +// } +// private val interceptor = run { +// val httpLoggingInterceptor = HttpLoggingInterceptor() +// httpLoggingInterceptor.apply { +// httpLoggingInterceptor.level = HttpLoggingInterceptor.Level.BODY +// } +// } +// private val okHttpClient = OkHttpClient.Builder() +// .addNetworkInterceptor(interceptor) +// .connectTimeout(TIME_OUT, TimeUnit.SECONDS) +// .writeTimeout(TIME_OUT, TimeUnit.SECONDS) +// .readTimeout(TIME_OUT, TimeUnit.SECONDS) +// .build() +// +// fun getProductosService(): WebServiceApi { +// return Retrofit.Builder() +// .client(okHttpClient) +// .baseUrl(BASE_URL) +// .addConverterFactory(GsonConverterFactory.create()) +// .build() +// .create(insertarItominvc::class.java) +// } +//} // private fun WebService() { // retrofit = Retrofit.Builder() // .client(okHttpClient) @@ -56,12 +121,3 @@ object WebService { // } - fun getProductosService(): WebServiceApi { - return Retrofit.Builder() - .client(okHttpClient) - .baseUrl(BASE_URL) - .addConverterFactory(GsonConverterFactory.create()) - .build() - .create(WebServiceApi::class.java) - } -} diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebServiceApi.kt b/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebServiceApi.kt index c0d5c04..7e63082 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebServiceApi.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/Model/WebServiceApi.kt @@ -1,18 +1,40 @@ package com.focasoftware.deboinventariov20.Model import retrofit2.Call -import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.POST - interface WebServiceApi { @GET("articulos/articulosCodBarra") - fun getProductos(): Call> + fun getProductos():Call?>? + + @GET("articulos/time") + fun getTime():Call?>? + + @POST("api/insertar-itominvc") + fun insertarItominvc(@Body itomInvC: ItomInvC): Call + + @POST("api/insertar-itominvd") + fun insertarItominvd(@Body itominvd: ItomInvD): Call + + + + +// @POST("api/insertar-inventario") +// fun inventarioToSend(@Body invToSend: InvToSend): Call + + @GET("api/get-cabecera-inventario") + fun getHeadInvSec():Call?>? + + @POST("api/get-detalle-inventario") + fun getBodyInvSec(@Body inv_num: NumInvSec?): Call?>? + + @POST("api/update-cabecera-inventario") + fun inventarioSecToSendHead(@Body invSecHeadToSend: InvSecHeadToSend): Call + @POST("api/update-detalle-inventario") + fun inventarioSecToSendBody(@Body invSecBodyToSend: InvSecBodyToSend): Call - @POST("articulos/articulosCodBarra") - fun inventarioToSend(@Body invToSend: List?): Call? } \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/UI/MainActivity.kt b/app/src/main/java/com/focasoftware/deboinventariov20/UI/MainActivity.kt index eaf1132..5bf934b 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/UI/MainActivity.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/UI/MainActivity.kt @@ -43,4 +43,5 @@ class MainActivity : AppCompatActivity() { val navController = findNavController(R.id.nav_host_fragment) return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp() } + } \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/UI/SplashActivity.kt b/app/src/main/java/com/focasoftware/deboinventariov20/UI/SplashActivity.kt index 4d46324..ea5b9ef 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/UI/SplashActivity.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/UI/SplashActivity.kt @@ -1,29 +1,38 @@ package com.focasoftware.deboinventariov20.UI import android.app.Activity +import android.content.Context import android.content.Intent +import android.content.SharedPreferences import android.os.Bundle import com.focasoftware.deboinventariov20.R +private lateinit var sharedPreferences: SharedPreferences + class SplashActivity : Activity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_splash) - //window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_splash) + + sharedPreferences = baseContext.getSharedPreferences("SP_INFO", Context.MODE_PRIVATE) + val editor = sharedPreferences.edit() + editor?.putString("inicio", "inicio") + editor?.apply() + editor.commit() + val bac = object : Thread() { + override fun run() { + try { + sleep(3000) + val intent = Intent(baseContext, MainActivity::class.java) + startActivity(intent) + finish() + } catch (e: Exception) { + e.printStackTrace() + } + } + } + bac.start() - val bac = object : Thread(){ - override fun run(){ - try { - Thread.sleep(3) - val intent = Intent(baseContext, MainActivity:: class.java) - startActivity(intent) - finish() - } catch (e : Exception){ - e.printStackTrace() - } - } - } - bac.start() - } + } } diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/BaseViewHolder.kt b/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/BaseViewHolder.kt index face3b7..094a5ba 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/BaseViewHolder.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/BaseViewHolder.kt @@ -5,5 +5,4 @@ import androidx.recyclerview.widget.RecyclerView abstract class BaseViewHolder(itemView: View):RecyclerView.ViewHolder(itemView) { abstract fun bind(item: T, position: Int) -} - +} \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/Utils.kt b/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/Utils.kt index 15757f8..4488952 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/Utils.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/UI/Utils/Utils.kt @@ -1,11 +1,25 @@ package com.focasoftware.deboinventariov20.UI.Utils +import android.app.Activity import android.app.AlertDialog import android.app.Dialog import android.content.Context +import android.content.Intent import android.os.Bundle +import android.provider.Settings +import android.view.LayoutInflater +import android.view.View +import android.view.WindowManager +import android.view.inputmethod.InputMethodManager +import androidx.core.content.ContextCompat.getSystemService import androidx.fragment.app.DialogFragment +import androidx.fragment.app.FragmentActivity import com.focasoftware.deboinventariov20.DB.DataBase.AppDb +import com.focasoftware.deboinventariov20.Model.ServeInv +import com.focasoftware.deboinventariov20.R +import com.focasoftware.deboinventariov20.UI.inventario.InventarioFragment +import kotlinx.android.synthetic.main.fragment_inventario.* +import kotlinx.android.synthetic.main.solicitar_fecha.view.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async @@ -14,6 +28,9 @@ import java.net.UnknownHostException import java.time.LocalDateTime import java.time.format.DateTimeFormatter + +private var serverPre: ServeInv? = null + fun modificarCantidadEnCabecera(inventarioActual: Int, b: Boolean, context: Context) { GlobalScope.async(Dispatchers.IO) { var cantProductos = 0 @@ -21,10 +38,10 @@ fun modificarCantidadEnCabecera(inventarioActual: Int, b: Boolean, context: Cont AppDb.getAppDb(context)!!.InvHeadDAO()!!.consultaCantidadInvH(inventarioActual) if (b) { AppDb.getAppDb(context)!!.InvHeadDAO()!! - .updateInvBody(inventarioActual, cantProductos + 1) + .updateInvCantHead(inventarioActual, cantProductos + 1) } else { AppDb.getAppDb(context)!!.InvHeadDAO()!! - .updateInvBody(inventarioActual, cantProductos - 1) + .updateInvCantHead(inventarioActual, cantProductos - 1) } } } @@ -60,12 +77,16 @@ class NoEncontradoSimple : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let { val builder: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) + .setCancelable(true) + builder.show() val title = "" val content = "¡El producto buscado NO fue encontrado!" builder.setTitle(title).setMessage(content) - .setPositiveButton(android.R.string.ok) { _, _ -> } + .setPositiveButton(android.R.string.ok) { _, _ -> + + } return builder.create() } ?: throw IllegalStateException("Activity cannot be null") } @@ -105,6 +126,7 @@ fun isConnectedToThisServer(host: String): Boolean { return false } + class ServerValido : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let { @@ -117,6 +139,7 @@ class ServerValido : DialogFragment() { } ?: throw IllegalStateException("Activity cannot be null") } } + class ServerNoValido : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let { @@ -129,6 +152,7 @@ class ServerNoValido : DialogFragment() { } ?: throw IllegalStateException("Activity cannot be null") } } + class ServerNoConf : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let { @@ -141,6 +165,7 @@ class ServerNoConf : DialogFragment() { } ?: throw IllegalStateException("Activity cannot be null") } } + class ExportacionExitosa : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let { @@ -153,10 +178,125 @@ class ExportacionExitosa : DialogFragment() { } ?: throw IllegalStateException("Activity cannot be null") } } + +class ExportacionFracasada : DialogFragment() { + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return activity?.let { + val title = "Exportación de Inventarios" + val content = "!No se pudo realizar la expotación¡" + val builder: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) + builder.setTitle(title).setMessage(content) + .setPositiveButton(android.R.string.ok) { _, _ -> } + return builder.create() + } ?: throw IllegalStateException("Activity cannot be null") + } +} + +fun obtenerFechaActualFormatoFoca(): String { + //TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD + val current = LocalDateTime.now() + val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + val dFechaHora = current.format(formatter) + return dFechaHora.toString() +} fun obtenerFechaActual(): String { - //TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD - val current = LocalDateTime.now() - val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm:ss") - val dFechaHora = current.format(formatter) - return dFechaHora.toString() - } \ No newline at end of file + //TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD + val current = LocalDateTime.now() + val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss") + val dFechaHora = current.format(formatter) + return dFechaHora.toString() +} +fun obtenerHoraActual(): String { + //TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD + val current = LocalDateTime.now() + val formatter = DateTimeFormatter.ofPattern("HHmmss") + val dFechaHora = current.format(formatter) + return dFechaHora.toString() +} + +fun obtenerDiaActual(): String { + //TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD + val current = LocalDateTime.now() + val formatter = DateTimeFormatter.ofPattern("ddMMyyyy") + val dFechaHora = current.format(formatter) + return dFechaHora.toString() +} +class SelAreaInventarioVentas : DialogFragment() { + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return activity?.let { + val title = "Inventarios de Ventas" + val content = "!En busqueda de articulos no estaran disponibles los articulos de DEPOSITO¡" + val builder: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) + builder.setTitle(title).setMessage(content) + .setPositiveButton(android.R.string.ok) { _, _ -> } + return builder.create() + } ?: throw IllegalStateException("Activity cannot be null") + } +} + +class SelAreaInventarioDeposito : DialogFragment() { + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return activity?.let { + val title = "Inventarios de Depositos" + val content = "!En busqueda de articulos no estaran disponibles los articulos de VENTAS¡" + val builder: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) + builder.setTitle(title).setMessage(content) + .setPositiveButton(android.R.string.ok) { _, _ -> } + return builder.create() + } ?: throw IllegalStateException("Activity cannot be null") + } +} + +fun dialogoHoraServer(reqActivity: FragmentActivity, context: Context, fechaHoraDispositivo: String, fechaHoraServer: String) { + val mDialogView: View = LayoutInflater.from(context).inflate(R.layout.solicitar_fecha, null) + val mBuilder = AlertDialog.Builder(context).setView(mDialogView).setCancelable(false) + + + mDialogView.tvHoraDispositivo.text = fechaHoraDispositivo + mDialogView.tvHoraServidor.text = fechaHoraServer + val mAlertDialog = mBuilder.show() + +// mAlertDialog?.window!!.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM) +// mAlertDialog.window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) +// +// val imm = reqActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager? +// imm!!.hideSoftInputFromWindow(reqActivity.currentFocus?.windowToken, InputMethodManager.HIDE_NOT_ALWAYS) + + mDialogView.btnCambiarHora.setOnClickListener { + context.startActivity(Intent(Settings.ACTION_DATE_SETTINGS)) + mAlertDialog.dismiss() + } + + mDialogView.btnSalir.setOnClickListener { + mAlertDialog.dismiss() + } +} + +class InvSecImp : DialogFragment() { + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + return activity?.let { + val title = "Inventarios de Sectorizados" + val content = "!Inventario importado correctamente¡" + val builder: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) + builder.setTitle(title).setMessage(content) + .setPositiveButton(android.R.string.ok) { _, _ -> } + return builder.create() + } ?: throw IllegalStateException("Activity cannot be null") + } +} + +suspend fun fetchServerPreOne(reqActivity: FragmentActivity): ServeInv? { + return GlobalScope.async(Dispatchers.IO) { + return@async AppDb.getAppDb(reqActivity)!!.ServeInvDao()!!.fetchServerPreOne() + }.await() +} + +//fun hideSoftKeyboard(reqActivity: FragmentActivity) { +// val imm = reqActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager? +// imm!!.hideSoftInputFromWindow(reqActivity.currentFocus?.windowToken, InputMethodManager.HIDE_NOT_ALWAYS) +// +// +//} +fun Context.hideSoftKeyboard(view: View) { +val inputMethodManager = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager +inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0) } \ No newline at end of file diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/UI/actualizacionMaestros/ActuaMaestrosFragment.kt b/app/src/main/java/com/focasoftware/deboinventariov20/UI/actualizacionMaestros/ActuaMaestrosFragment.kt index 59dde5f..631732d 100644 --- a/app/src/main/java/com/focasoftware/deboinventariov20/UI/actualizacionMaestros/ActuaMaestrosFragment.kt +++ b/app/src/main/java/com/focasoftware/deboinventariov20/UI/actualizacionMaestros/ActuaMaestrosFragment.kt @@ -6,74 +6,156 @@ import android.view.View import android.view.ViewGroup import android.widget.Button import android.widget.RadioButton +import android.widget.Toast import androidx.fragment.app.Fragment -import androidx.lifecycle.lifecycleScope +import androidx.navigation.NavController +import androidx.navigation.Navigation import com.focasoftware.deboinventariov20.DB.DataBase.AppDb -import com.focasoftware.deboinventariov20.Model.Articles -import com.focasoftware.deboinventariov20.Model.ServeInv +import com.focasoftware.deboinventariov20.Model.* import com.focasoftware.deboinventariov20.R +import com.focasoftware.deboinventariov20.UI.MainActivity import com.focasoftware.deboinventariov20.UI.Utils.NoServerConf import com.focasoftware.deboinventariov20.UI.Utils.ServerNoConf +import com.focasoftware.deboinventariov20.UI.Utils.fetchServerPreOne import kotlinx.android.synthetic.main.fragment_actua_maestros.* import kotlinx.coroutines.* import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response +import java.net.SocketTimeoutException -var BASE_URL = "" -var serverPre: ServeInv? = null +private var serverPre: ServeInv? = null +private lateinit var navController: NavController + class ActuaMaestrosFragment : Fragment() { + private val job: Job = Job() + private val fragmentScopeAM = CoroutineScope(IO + job) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - GlobalScope.launch(Main) { - - serverPre = fetchServerPreOne() - if (serverPre != null) { - btnConfirmarAct.isEnabled = true - if (serverPre!!.direccion.isNullOrEmpty()) { - val modalDialog = NoServerConf() - modalDialog.show(requireActivity().supportFragmentManager, "confirmDialog") - } else { - BASE_URL = serverPre!!.direccion.toString() + ":" + serverPre!!.puerto.toString() + "/" - tvServerConectado.text = "Conectado al servidor: ${serverPre!!.descripcion}" - } - } else { - val modalDialog = ServerNoConf() - modalDialog.show(requireActivity().supportFragmentManager, "confirmDialog") - - btnConfirmarAct.isEnabled = false - - } - } - -// mostrarArticulos() +// val servidor = urlBajada((activity as MainActivity)) +// if (servidor != "") { +// tvServerConectado.text = "Conectado al servidor: $servidor" +// } } - private suspend fun fetchServerPreOne(): ServeInv? { - return GlobalScope.async(IO) { - return@async AppDb.getAppDb(requireActivity())!!.ServeInvDao()!!.fetchServerPreOne() - }.await() + override fun onDestroy() { + super.onDestroy() + fragmentScopeAM.cancel() } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - // Inflate the layout for this fragment val v = inflater.inflate(R.layout.fragment_actua_maestros, container, false) val bConfirmarAct = v.findViewById