From 44a9c694dc601813b06acafaf918c7714eed4ced Mon Sep 17 00:00:00 2001 From: Welton Moura Date: Tue, 18 Feb 2025 16:11:27 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20taxa=20de=20servi=C3=A7o=20part2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/htmx_views.cpython-313.pyc | Bin 6811 -> 6966 bytes .../__pycache__/views.cpython-313.pyc | Bin 8122 -> 8151 bytes gestaoRaul/comandas/htmx_views.py | 23 +++-- .../comandas/templates/viewcomanda.html | 26 ++++- gestaoRaul/comandas/views.py | 9 +- gestaoRaul/db.sqlite3 | Bin 315392 -> 319488 bytes .../htmx_list_products_in_comanda.html | 89 ++++++++++-------- .../static/comandas/js/viewcomanda.js | 13 ++- 8 files changed, 105 insertions(+), 55 deletions(-) diff --git a/gestaoRaul/comandas/__pycache__/htmx_views.cpython-313.pyc b/gestaoRaul/comandas/__pycache__/htmx_views.cpython-313.pyc index defa748f442c5a74c227539133456f08109cb8db..b9f030fd62df268f74ed2d435d25f2b05d0ec11d 100644 GIT binary patch delta 2232 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 diff --git a/gestaoRaul/comandas/__pycache__/views.cpython-313.pyc b/gestaoRaul/comandas/__pycache__/views.cpython-313.pyc index 9a4be23e8a8eb31aac6e3978583cc9641b9b3104..b702c5af9c754220f8fadee0967a2c4ea29890bc 100644 GIT binary patch delta 915 zcmYLHO-vI(6yDi(x47FsD3zu^G-$CYq$`L;V}wGWA*oOZrKFL>X45XEqy;jqVEjQ6 zO+0uZ&IKa}PKJ2WtT9GBc#{JrRAMv@F?#Z7n|ko*ysZf@nQy-L?c4Xw?Av$YuVGW& zWD*z}`$w;{2d_*`dO@U_j;{K=>eY9k*5pW#R?JzT3IcNCk|6}OG<;0J zL|TQjsGD3CE_$v|>9%z>r>v!y3-VG%mKI8de87Nv=>zgq@Q^)W!+VJ)6<%IhQI;|o zu7-IE0Wb5EIx5{p&03Q zdE7(bpvx;um;)x{GO7Q=rJpV1!h-e!KwACb`pi1DiNb6!d<+bS#bApI6)sSd*YDNmE{8s~)ue zpyI`pcj-ka=%IR2_9B8Hc<|cTgSrUfRZtS@ttifHEI!z8zMc2I`R47;$FbLA>b9!N z46L84#>MrQs$G!n@W#Wleb5L9J*1VEc(0d|)P z#IjEE^o=@h+_b&t5@|K%5McwNg0T#ileu$(KGw1vDDy;Lm~Nf^=*yD8w^=r`HVkr3UH z?*!tIHzjRxv9ORQcvT{y(nt5l z+!sYPHc$Eyu#<`tU_X_W9{D6NY@qVMh%2M)4`>Vbi}GO#lK#nE01 zZ~FRP+1@(p!^zD|w!ttr*l`X*p3^bR@N;~VVPYA6n_-lB9#Y~wZ>+0lSoX_NY$y?17fWE;Rw`7qtez)Hde#{hPebmQanCuxrLh`0 zg@AuPB9kfPR#}`Y;zbxka3LfSuq2sAu#ANNMx@6QQKcgw&H_DY#5#CBfF`DNJUN{j zPqcj6S~Xi{bjCBvPSaJ-0DGRk^Mu44=u^fI&vSuw(lu{fvK-TN%Nu5Oy5sGVis++L zzwZz`Nl*CvUD%?@7Yhpn=g5@xeD>c|z?Zt^BeHb@;ezqo_koMYumb)rf?tDRw*-9& zYMwFHaFcG}rhTLY^H3~|l800X%tTezU5hpt2pi#F7@FM-=UR)@* {% endfor %} + + + Taxa de serviço 10% + + + R$ {{valores.taxa}} + + {% if parcials%} Pagamentos parciais {% endif %} @@ -132,7 +140,7 @@ Detalhes {{comanda.name}} - Total R$ {{total}} - Taxa de serviso {{taxa}} + Total R$ {{valores.totalComTaxa}} @@ -178,8 +186,19 @@ Detalhes {{comanda.name}} diff --git a/gestaoRaul/comandas/views.py b/gestaoRaul/comandas/views.py index 6f19940..3ac9f3c 100644 --- a/gestaoRaul/comandas/views.py +++ b/gestaoRaul/comandas/views.py @@ -32,7 +32,9 @@ def somar(consumo:ProductComanda, comanda:Comanda): valores = { 'total':total, 'parcial':totalParcial, - 'taxaTotal': round(total * Decimal(0.1), 2) + 'taxa': round(total * Decimal(0.1), 2), + 'totalSemTaxa':total - totalParcial, + 'totalComTaxa': round((total - totalParcial)+(total * Decimal(0.1)),2) } return valores @@ -57,8 +59,7 @@ def viewComanda(request): if p.name == produto['nome'] and p.active == True: products_ordenados.append(p) valores = somar(consumo,comanda) - total = valores['total'] - valores['parcial'] - return render(request, 'viewcomanda.html', {'taxa': valores['taxaTotal'],'parcials':parcial,'clients':clients,'comanda': comanda, 'consumo': consumo, 'total': total, 'products': products_ordenados,'mesas':mesas}) + return render(request, 'viewcomanda.html', {'valores':valores,'parcials':parcial,'clients':clients,'comanda': comanda, 'consumo': consumo, 'products': products_ordenados,'mesas':mesas}) @group_required(groupName='Garçom') @@ -96,7 +97,7 @@ def addContaCliente(request): return redirect('comandas') def notificacao(request): - fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15) + fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=12) ordersPronto = Order.objects.filter(queue__gte=fifteen_hours_ago, finished__isnull=False) grupoGarcom = request.user.groups.filter(name='Garçom').exists() diff --git a/gestaoRaul/db.sqlite3 b/gestaoRaul/db.sqlite3 index 7c6cc5317e6dad2f4236494262cae1e15f82cd77..05cd14402d5825f92982f0cc8fadfc3fc66bb1bb 100644 GIT binary patch delta 2526 zcmai0e^3}pZEE`d++Z%|`2*Ac-7EeKr#meJ zE@tDqw>Io<+mZ}5@-x|t>hqajKQ z1=VoGU6?>O({esn69Z8>>{nzZ5RAB1CgAMcp_*TAc>h3FQuGV991Vp1DqZ1-Or3&R zcKPMbzpOr$o@95;YRgfPYAcE;${9HcmRiU#>Pp|+(9|T0awuP%rApCI$gfbllA0kU z7%H4;P>cTglJPmeZBJ8OOMLDaB`VVjC4WekWGUjz@1p8i#t@)q{1p7%)U|@y$`%9i zCK)D8WHs^PJMj(tI^B(pI7|4q@QN@d91<4TuiB^WC+!F9wf1H9dA2LImux*k%oedZ ztsh!nw4Shj$GX`nTkZV2{B!)H!Zv(_@8I)z&T`T6j777wTJEy2+?$pq{03XK?FsWC z^ET7ZO#`NSQ`tQ9JM?3eKw1k@#toat$ON~@e9im{w+j|P9$W&?fMcdY zup6uc*``0TZ*dc>&aDP4nqiyShs+C2AG5`%iuJKR=KApPk}lsstC^vdg1O5Pj*4nj zR{UW#6qZCMGv@OSv?Xcm%`_)<(%XU{N07C2FBDzv3STw8e_ z9E5JvuKoTzSVtOD=^fN9=S17|+$r!nD>~>L=`3DDE|6ErSu#X!!B62ok=t+Zs%@DD3td+7ZSo0upIjzCBIWoIp$KonP)OGXr@F%+R?ct%QPN{6ifaolfJY%mJ)XS)N*tvq=~6{Ia6ZGi zs7v?T-~-kU$Vb#RQ$nthkMy*6z`MjjU)NSpSQE5T^pUk1H$(duX(2mEJ*gt)|lQ6@gDu<^N|^tIG!y-}69( zmgD+7&EkQJ7Zi{jvWPf|3BQL=;|FmMegL=PCcGWjYlR+|scrH=FWaH_dEi?@o*5cf zNsR&322>ePX@>OlR#zC$_ZqO-fKA$AKRlkiDvGpV0i1@*@nL#7!3H-zh9AO*iJwmG z#s9)5@IUa&_*eL`ami!BZsYE8)+DhyiB$%=D)ke~VJ%Bl_G?@W-aQW=#Ru_z@)S8v zeu776<9nH$!9Duc7)-;N#t>Lz7-N;B3QVfN$_GbEpgvN9;tu5Id(E1q7Tsp&ukpRs zbM_2d6aOqVaTjk>)2;OEEoE3HQ$xE@?&_86?k-(*=Q6jE&NtHh+&-g5>HQ&=Z14B|}~#r$`^s9X_xY9glfzT}x}SYix|L zf)Z%|V&<+?IQm&fmO=qB?1VYhvqbP;M58N*{6RTv5LqR=YL~<6gAp}g&FySJM9bwc?RUU>Q z#?*|Dnnr^Xm=sT1XHse)F=i?uC_6Tp4oTXWc51~mP3;&{Yx8WY#Z2=WW7D%2I?YV_ zUw3wXXXiV={hi`a>%$c(RL(1?|mVYGWWX5s$`_F(YApZ%3E2qYM3NAk+BDlx1j1 z-AUa*$8{X0{Y+9}spljer~Q*!1P2`Jn{b!tiF9x6?Q!}mV0$DxOt)eB1^twMK>tGD z=GI@P`{_0(uMJKs&YwGB5P5A~wM~<4>xP3|bYNIQ<&&9PR#P^x6Z&}MAd_}M6kX=Q zW*(%d$+`R}6lUN&S!U7*SZvh@n5=CCGMv35@CS+MV^El@*}7%xv8biT&4j54g48SB zQY9dNj`cyn$XO+k#uLJd4*KS za4&|&Ap2%Bq8m29H6t1`Ez7Vt(|cx~nVnuMU*#m-*5kIBjOwbHFkD04$L2`|?762Q z&lS>aQ?pegswZ_Tkrry1=PYMe#~^QUnxk@CiKuFs$#_~Pf1Xn_`CnVebmU|3nP=w@ zg!QNt=mk1NJ7_H}B*o+gInPUHBN3Df%9JvsbOgT$z8Rbd9teIrSQX3*d>VK?@YBFL zr690C{-=CaJ|;gTuazx1tN!PDWX^|Ta-zZV}7H;9$^6MPOoiyy*kv4wAvdc56qN&@d&-YMx$xC*bq z5!eCE;&spF zld2X^#6w|c_X)Tktw{Y(CMRoAE3U?4S_l{JEBz`-E7Ns1t1-(~wWwjnblq}Et?W+| z5GH)P@q#f_BV-lsTgnEeAcyUqf_wa=UMO_G3bBfJAxqMe$wbkmyg3@5tF9ZS31>hAv{F-2uMg@srR(%HcbMNj}LTvhuNVTA5Z(DbFgS%7X-xPUR}oXJ83>p0&=v zqEIINF8!STjlM(2Xo~zusUXd4UL^g1C<#wB=^2T#)f`4{<#4!)!=XwJLlvy| zOBlp?bj`4Y<9H2yVt5rchud(*$-Ve#qMcVI56J}CLms3b@eH^bJWF4q zqx5m!FCL+{(PgxpwMB4I;9=6|zukX}-{X7N*&D%cDW%mbtE(cdHH|AP!ymu==$evG z77)L%$cq7q-)a@HfLdHwoer=AQT(K5?$IpAGuS4h{P@5dGH8^R@UHY386_W)H^_^V znp#4f(dD=eandl8D)CCfkC-RvGh~>zu{Y>Rr=t>QkfD)+hld-mGu$9{XNqB2^DtkV zxL6K!$e+tE1hbSq{80L(Uz9HharWg#UJt9PTIw2VnYKynf?y{5$tJN;o{J@Jk_C2S zlh`fkA(?Nh{6m|?Y?iZ04B?flYMdW$7W)xUia%(E3Z*DB>QS0V - Produto - Preço - + Produto + Preço + {% for item in consumo%} - - {{item.product.name}} - {% if item.product.cuisine == True %} - + + {{item.product.name}} + {% if item.product.cuisine == True %} + - - {% endif %} + + {% endif %} - - R$ {{item.product.price}} + +R$ {{item.product.price}} - {% if comanda.status != 'OPEN'%} - {% else %} - - - - + +{% if comanda.status != 'OPEN'%} +{% else %} + + + + {% endif %} -{% endfor %} -{% if parcials%} -Pagamentos parciais -{% endif %} -{% for parcial in parcials %} - - {{parcial.description}} ás {{parcial.datetime|date:"H:i"}} - R$ -{{parcial.value}} - -{% endfor %} + {% endfor %} + + + Taxa de serviço 10% + + + R$ {{valores.taxa}} + + + {% if parcials%} + Pagamentos parciais + {% endif %} + {% for parcial in parcials %} + + {{parcial.description}} ás {{parcial.datetime|date:"H:i"}} + R$ -{{parcial.value}} + + {% endfor %} + + + + - - Total R$ {{total}} - - - + + Total R$ {{valores.totalComTaxa}} + + + diff --git a/gestaoRaul/templates/static/comandas/js/viewcomanda.js b/gestaoRaul/templates/static/comandas/js/viewcomanda.js index f41da52..4890495 100644 --- a/gestaoRaul/templates/static/comandas/js/viewcomanda.js +++ b/gestaoRaul/templates/static/comandas/js/viewcomanda.js @@ -247,9 +247,20 @@ function addProductComanda(productId,comandaId, cuisine) { } +function taxa(){ + var taxa = document.getElementById('taxa') + var total = document.getElementById('first-total') + var totalComTaxa = document.getElementById('totalComTaxa').innerHTML + var totalSemTaxa = document.getElementById('totalSemTaxa').innerHTML + if (taxa.checked){ + total.innerHTML = totalComTaxa + }else{ + total.innerHTML = totalSemTaxa + } +} -// document.getElementById('openModal').addEventListener('click', openModal); +document.getElementById('taxa').addEventListener("change", taxa); // document.getElementById('productForm').addEventListener('submit', function(event) { // event.preventDefault();