filter in clientes timbres by year

This commit is contained in:
fjrodriguez
2023-01-06 10:16:29 -06:00
parent f437232861
commit 2f6478c37a
4 changed files with 64 additions and 26 deletions

View File

@@ -57,11 +57,10 @@ class Clientes(models.Model):
else:#28 or 29
findate = dat + datetime.timedelta(days=28)
findate += datetime.timedelta(days=1)
#print(f'dat {(dat)} fdate={findate}')
cou = Timbres.objects.filter(rfcc=self.RFC, created_at__range=[dat,findate]).count()
self.conteo_mes =cou
self.save()
#return cou
@property
def timbres_mes_count(self):
today = datetime.date.today()
@@ -82,4 +81,3 @@ class Maquinas_Conectadas(models.Model):
RFC = models.CharField(max_length=13)
class Meta:
abstract =True

View File

@@ -1,5 +1,4 @@
import requests
from asgiref.sync import sync_to_async
from .models import saldoModel
import datetime

View File

@@ -39,20 +39,20 @@ def read_env_file():
#env_file = os.listdir(settings.BASE_DIR)
storage = FileSystemStorage(location=settings.BASE_DIR)
env_file= os.path.join(settings.BASE_DIR,'.env')
print('EEEEE: ', env_file)
lista =['asds', 'asdasd','sss','com' ,'pol.com']
if storage.exists(env_file):
with open(env_file, 'r') as file:
data = file.read()
data =re.findall('"([^"]*)"',data)
print('data',data)
for x in lista:
data.append(x)
res= ' '.join(data)
final = '"'+res+'"'
print('final',final)
with open(env_file, 'w') as newFile:
newFile.write("export hosts="+final)
except:
@@ -98,7 +98,7 @@ def send_timbres_Email(request):
else:
findate = dat+datetime.timedelta(days=28)
findate +=datetime.timedelta(days=1)
#print(f'dat{dat} findate:{findate}')
if mes is not None and RFC is not None:
objeto_a_trabajar = Timbres.objects.filter(rfcc=RFC, created_at__range=[dat,findate])
else:
@@ -179,7 +179,7 @@ def index(request):
filters.pop('datepickerFin','')
filters.pop('mes','')
filters.pop('year','')
print('filters------',filters)
if rfcc and search:
clientes_list = Clientes.objects.filter(Q(RFC__icontains=search))
@@ -225,8 +225,13 @@ def timbres_cliente(request, RFC):
lista = Timbres.objects.filter(rfcc=RFC,modo='Normal')
mes = request.GET.get('mes', None)
today= datetime.date.today()
year =today.year
year = request.GET.get('year',None)
if year is None or year=='':
today= datetime.date.today()
year =today.year
search = request.GET.get('search',None)
page = request.GET.get('page', 1)
datepicker = request.GET.get('datepicker', None)
@@ -253,7 +258,7 @@ def timbres_cliente(request, RFC):
# fin = [int(i) for i in datepickerFin.split("/")]
inicio = [int(i) for i in datepicker.split("-")]
fin = [int(i) for i in datepickerFin.split("-")]
#print('inicio',inicio,' fin',fin)
#start = datetime.datetime(inicio[2],inicio[0],inicio[1])
start = datetime.datetime(inicio[0],inicio[1],inicio[2])
@@ -262,22 +267,25 @@ def timbres_cliente(request, RFC):
end = datetime.datetime(fin[0],fin[1],fin[2])
end += datetime.timedelta(days=1)
#print('start',start, 'end',end)
lista = lista.filter(created_at__range=[start, end])
if mes is None or mes =='None' or mes=='':
mes='00' #Todos
if mes != '00':
dat = datetime.datetime(int(year), int(mes),1)
if dat.month in(1,3,5,7,8,10,12):
findate = dat +datetime.timedelta(days=30)
findate = dat+datetime.timedelta(days=30)
elif dat.month in (4,6,9,11):
findate = dat+datetime.timedelta(days=29)
else:
findate = dat+datetime.timedelta(days=28)
findate +=datetime.timedelta(days=1)
lista = lista.filter(created_at__range=[dat,findate])
else:
lista = lista.filter(created_at__year=int(year))
conteo = lista.count()
@@ -316,7 +324,7 @@ def export_Excel(request):
else:
findate = dat+datetime.timedelta(days=28)
findate +=datetime.timedelta(days=1)
print(f'dat{dat} findate:{findate}')
if mes is not None and RFC is not None:
objeto_a_trabajar = Timbres.objects.filter(rfcc=RFC, created_at__range=[dat,findate])
else:
@@ -446,7 +454,7 @@ class check_host(APIView):
permission_classes = (IsAuthenticated,)
def post(self,request, format=None):
data = request.data
print(data)
return Response(data)
#---------------------------CLASS BASED VIEWS

View File

@@ -35,6 +35,10 @@
<th scope="col">
<input id="table_fecha" name="fecha" value="True" type="checkbox" class="form-check-input my_event_cls" >
Fecha
<select id="table_select_anio" class="form-control form-control-sm my_event_cls">
<!--option value="2023"></option-->
</select>
<select id="table_select_Meses" class="form-control form-control-sm my_event_cls">
<option value="00">Todos</option>
<option value="01">Enero</option>
@@ -75,6 +79,7 @@
{% block scripts %}
<script>
function get_pacs(){
let rfc = '{{request.path}}'
rfc= Object.values(rfc.split('/'))
url = `{% url 'PACS_Retrive_RFCS' %}?RFC=${rfc[2]}`
@@ -110,6 +115,7 @@
<script>
let filters = document.getElementById('id_filters').textContent
let mes = Object.values(filters.split('&'))
let year = Object.values(filters.split('&'))
let PAC = Object.values(filters.split('&'))
let tipo = Object.values(filters.split('&'))
let lsearch = Object.values(filters.split('&'))
@@ -118,6 +124,26 @@
let anc = document.getElementById('home_id')
let ref=''
/*Add years to select anio tag*/
let anio = parseInt('{{fecha|date:"Y"}}')
let fin = anio-5
console.log(anio)
for(var i = anio; i >= fin ;i--){
let option = document.createElement('option')
option.value=i
option.text=i
table_select_anio.add(option)
}
year.filter(val=> val.length>0)
.filter(val=>val.includes('year'))
.forEach((val,index)=>{
table_select_anio.value=val.split('=')[1]
})
mes.filter(val=> val.length >0)
.filter(val=>val.includes('mes'))
.forEach((val,index)=>{
@@ -153,6 +179,7 @@
item.addEventListener('focusout',event=>{
ref=`?PAC=${table_select_PAC.value}`
ref+=`&mes=${table_select_Meses.value}`
ref+=`&year=${table_select_anio.value}`
ref+=`&tipo=${table_tipo.checked}`
ref+=`&search=${search.value}`
ref+=`&datepicker=${datepicker.value}`
@@ -163,6 +190,7 @@
item.addEventListener('change', event=>{
ref=`?PAC=${table_select_PAC.value}`
ref+=`&mes=${table_select_Meses.value}`
ref+=`&year=${table_select_anio.value}`
ref+=`&tipo=${table_tipo.checked}`
ref+=`&search=${search.value}`
ref+=`&datepicker=${datepicker.value}`
@@ -184,6 +212,13 @@
anc.click()
})
table_select_anio.addEventListener('change',(event)=>{
anc.href=''
anc.href=ref
anc.click()
})
table_tipo.addEventListener('click', (event)=>{
document.getElementById('tipo').checked = table_tipo.checked? true:false;
if(table_fecha.checked){
@@ -192,8 +227,6 @@
})
table_fecha.addEventListener('click', (event)=>{
if(dates.hasAttribute("style")){
dates.removeAttribute('style')
datepicker.value=''