division by zero

This commit is contained in:
fjrodriguez
2022-12-07 07:16:03 -06:00
parent 8ed7b3bef2
commit 864ef1117d
10 changed files with 152 additions and 17 deletions

View File

@@ -3,7 +3,7 @@ from .models import Timbres, saldoModel, Clientes,ErroresTimbres
class TimbresAdmin(admin.ModelAdmin):
list_display=['uuid','rfcc','rfcp','fecha','folio','serie','tipo','modo']
list_display=['uuid','rfcc','rfcp','fecha','folio','serie','tipo','modo','created_at']
class ClientesAdmin(admin.ModelAdmin):

View File

@@ -14,7 +14,7 @@ class ClienteForm(forms.ModelForm):
class Meta:
model = Clientes
fields = ('RFC','Nombre','Activo','fecha_baja')
fields = ('RFC','Nombre','Activo','fecha_baja', 'email',)
def clean(self):
super(ClienteForm,self).clean()

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.3 on 2022-12-06 17:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('Clientes', '0011_merge_0010_merge_20221205_1039_0010_timbres_modo'),
]
operations = [
migrations.AddField(
model_name='clientes',
name='email',
field=models.EmailField(blank=True, max_length=254),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.3 on 2022-12-06 20:04
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('Clientes', '0012_clientes_email'),
]
operations = [
migrations.AddField(
model_name='clientes',
name='conteo_mes',
field=models.IntegerField(blank=True, default=0, null=True),
),
]

View File

@@ -1,6 +1,6 @@
from django.db import models
import datetime
from django.db.models import Q
class saldoModel(models.Model):
saldo = models.IntegerField()
@@ -38,9 +38,37 @@ class Clientes(models.Model):
Nombre = models.CharField(max_length=100)
Activo = models.BooleanField(default=False)
fecha_baja = models.DateField(blank=True,null=True)
email = models.EmailField(max_length=254, blank=True)
conteo_mes = models.IntegerField(blank=True,null=True,default=0)
def timbres_X_MES(self, mes):
today = datetime.date.today()
year = today.year
print('mesmesmesmesmes',mes)
if mes==None:
mes = today.month
dat = datetime.datetime(int(year),int(mes),1)
if dat.month in (1,3,5,7,8,10,12):#31
findate = dat + datetime.timedelta(days=30)
findate += datetime.timedelta(days=0)
elif dat.month in (4,6,9,11):#30
findate = dat + datetime.timedelta(days=29)
findate += datetime.timedelta(days=0)
else:#28 or 29
findate = dat + datetime.timedelta(days=28)
findate += datetime.timedelta(days=0)
print(f'dat {(dat)} fdate={findate}')
cou = Timbres.objects.filter(rfcc=self.RFC, created_at__range=[dat,findate]).count()
print(cou)
self.conteo_mes =cou
self.save()
return cou
@property
def timbres_mes_count(self):
def timbres_mes_count(self):
today = datetime.date.today()
month = today.month
year = today.year

View File

@@ -16,16 +16,26 @@ from asgiref.sync import sync_to_async
#EXCEL
from openpyxl import Workbook
from openpyxl.styles import Alignment, Border, Font, PatternFill, Side
import json
@login_required
def index(request):
clientes_list = Clientes.objects.all()
mes = request.GET.get('mes', None)
page = request.GET.get('page', 1)
search = request.GET.get('search',None)
rfcc = request.GET.get('rfcc', None)
filters = {key:value[0] for (key,value) in dict(request.GET).items() if value !=[""]}
filters.pop('page', '')
filters.pop('datepicker','')
filters.pop('datepickerFin','')
print('filters------',filters)
if rfcc:
clientes_list = Clientes.objects.filter(Q(RFC__icontains=search))
clientes_list = Clientes.objects.filter(Q(RFC__icontains=search))
for i,ii in enumerate(clientes_list):
ii.timbres_X_MES(mes=mes)
paginator = Paginator(clientes_list, 5)
@@ -35,8 +45,11 @@ def index(request):
lista = paginator.page(1)
except EmptyPage:
lista = paginator.page(paginator.num_pages)
filters.pop('mes','')
context = {
'lista':lista,
'mes':mes,
'filters':filters
}
return render(request,'Clientes/index.html',context)
@@ -114,13 +127,15 @@ def timbres_cliente(request, RFC):
end += datetime.timedelta(days=1)
#datetime.date.today()
#print('FECHA',datetime.datetime.today(), 'HORA')
#print('start',start, 'end',end)
print('start',start, 'end',end)
lista = lista.filter(created_at__range=[start, end])
conteo = lista.count()
perPage = conteo // 2
if perPage == 0 :
perPage = conteo
print('conteo',conteo)
if conteo !=0 :
perPage = conteo // 2
else:
perPage = 1
lista =pageFunc(page,lista,perPage)
context ={