division by zero
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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()
|
||||
|
||||
18
Clientes/migrations/0012_clientes_email.py
Normal file
18
Clientes/migrations/0012_clientes_email.py
Normal 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),
|
||||
),
|
||||
]
|
||||
18
Clientes/migrations/0013_clientes_conteo_mes.py
Normal file
18
Clientes/migrations/0013_clientes_conteo_mes.py
Normal 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),
|
||||
),
|
||||
]
|
||||
@@ -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
|
||||
|
||||
@@ -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 ={
|
||||
|
||||
Reference in New Issue
Block a user