예제 #1
0
def ReporteCorteVentas(pagina, filtro, tituloR):
	#si no se manejan filtros especiales se puede quitar datos y usar 
	datos = CorteVentas(filtro)
	if datos:
		datos=repor.Paginador(datos,numElem,pagina)
		contenido=repor.RTitulos(['Folio','Fecha de Corte','Sucursal', 'Total de Venta', 'Total de Gastos',
			'Total', 'Observaciones', 'Usuario que cerro el corte', 'Revisado', 'Cerrado', 'Seleccionar'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.folioCorteVta),
				#repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
				repor.Rtd(comunes.FechaSTR(dato.fxCorte)),
				repor.Rtd(dato.sucursal),
				repor.Rtd(dato.totalVta),
				repor.Rtd(dato.totalGastos),
				repor.Rtd(dato.total),
				repor.Rtd(dato.observacion),
				repor.Rtd(dato.cierraCorte),
				repor.Rtd_B(dato.revisado),
				repor.Rtd_B(dato.cerrado),
				repor.Rtd('<a href=\"?filtro=%s\">Seleccionar</a>'%(dato.id))#Link de seleccion o contruccion compleja
				
				]))
		return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
	elif filtro:
		return repor.NoDatos()
	else:
		return repor.NoResultados()
예제 #2
0
def ReporteInventariosMinimo(pagina, filtro, tituloR, cerrado):
	#si no se manejan filtros especiales se puede quitar datos y usar 
	datos = Inventarios(filtro, cerrado)
	if datos:
		datos=repor.Paginador(datos,numElem,pagina)
		contenido=repor.RTitulos(['Folio','Fecha de Inicio','Fecha  de Finalizacion', 'Sucursal',
			'Determina', 'Observaciones', 'Terminada', 'Seleccionar'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.folio),
				repor.Rtd(comunes.FechaSTR(dato.fxInicio)),
				repor.Rtd(comunes.FechaSTR(dato.fxFinal)),
				repor.Rtd(dato.sucursal),
				repor.Rtd(dato.determina),
				repor.Rtd(dato.observaciones),
				repor.Rtd_B(dato.terminada),
				#repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
				repor.Rtd('<a href=\"?filtro=%s\">Seleccionar</a>'%(dato.id))#Link de seleccion o contruccion compleja
				
				]))
		return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
	elif filtro:
		return repor.NoResultados()
	else:
		return repor.NoDatos()
예제 #3
0
def ReporteAlmacenExpress(pagina, datos, filtro, tituloR):
    #si no se manejan filtros especiales se puede quitar datos y usar datos = Objetos(filtro)
    if datos:
        datos = repor.Paginador(datos, numElem, pagina)
        contenido = repor.RTitulos([
            'Sucursal', 'Express', 'Estado', 'Fecha de Transferencia',
            'Seleccionar'
        ])
        for dato in datos:
            contenido = '%s%s' % (
                contenido,
                repor.Rtr([
                    repor.Rtd(dato.sucursal),
                    repor.Rtd(dato.expres),
                    repor.Rtd_B(dato.estado),
                    repor.Rtd(comunes.FechaSTR(dato.fxTransf)),
                    repor.Rtd(
                        '<a href=\"?filtro=%s\">Seleccionar</a>' %
                        (dato.id))  #Link de seleccion o contruccion compleja
                ]))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, datos))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #4
0
def ReporteMovimientos(pagina, datos, filtro, tituloR):
	#si no se manejan filtros especiales se puede quitar datos y usar datos = Objetos(filtro)
	if datos:
		datos=repor.Paginador(datos,numElem,pagina)
		contenido=repor.RTitulos(['Folio','Tipo de Movimiento','Fecha de Movimiento', 'Sucursal de origen',
			'Sucursal Destino', 'Usuario que emitio', 'Usuario que resivio', 'Confirmacion'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.folio),
				repor.Rtd(dato.tipoMovimiento),
				#repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
				repor.Rtd(comunes.FechaSTR(dato.fx_movimiento)),
				repor.Rtd(dato.sucursalOrigen),
				repor.Rtd(dato.sucursalDestino),
				repor.Rtd(dato.usuarioOrigen),
				repor.Rtd(dato.usuarioDestino),
				repor.Rtd_B(dato.confirmacion),
				repor.Rtd('<a href=\"?filtro=%s\">Seleccionar</a>'%(dato.id))#Link de seleccion o contruccion compleja
				
				]))
		return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
	elif filtro:
		return repor.NoDatos()
	else:
		return repor.NoResultados()
예제 #5
0
def ReporteApartados(pagina, filtro, tituloR):
	#si no se manejan filtros especiales se puede quitar datos y usar
	datos = Apartados(filtro)
	if datos:
		datos=repor.Paginador(datos,numElem,pagina)
		contenido=repor.RTitulos(['Cliente','Equipo','Observaciones','Precio del equipo', 'Fecha de apartado',
			'Pagado', 'Estado de Apartado', 'Seleccionar'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.clienteApartado),
				repor.Rtd(dato.equipo),
				repor.Rtd(dato.observacion),
				repor.Rtd(dato.precioEquipo),
				repor.Rtd(comunes.FechaSTR(dato.fxApartado)),
				repor.Rtd_B(dato.pagado) #es para los booleanos, cambia el texto por una imagen
				repor.Rtd(dato.estado),
				repor.Rtd('<a href=\"?filtro=%s\">Seleccionar</a>'%(dato.id))#Link de seleccion o contruccion compleja
				
				]))
		return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
	elif filtro:
		return repor.NoDatos()
	else:
		return repor.NoResultados()
예제 #6
0
def ReporteGarantias(pagina, filtro, tituloR):
    #si no se manejan filtros especiales se puede quitar datos y usar
    datos = Garantias(filtro)
    if datos:
        datos = repor.Paginador(datos, numElem, pagina)
        contenido = repor.RTitulos([
            'Papeleta', 'Equipo', 'Falla', 'Sucursal', 'Fecha de ingreso',
            '¿LLego a almacen?', 'Fecha de LLegada a almacen', 'Fecha de CAC',
            'Observacion', 'Estado', 'Fecha de Revision'
        ])
        for dato in datos:
            contenido = '%s%s' % (
                contenido,
                repor.Rtr([
                    repor.Rtd(dato.papeleta),
                    repor.Rtd(dato.equipo),
                    repor.Rtd(dato.falla),
                    repor.Rtd(dato.sucursal),
                    #repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
                    repor.Rtd(comunes.FechaSTR(dato.fxSucursal)),
                    repor.Rtd_B(dato.llegoAlmacen),
                    repor.Rtd(comunes.FechaSTR(dato.fxAlmacen)),
                    repor.Rtd(comunes.FechaSTR(dato.fxCAC)),
                    repor.Rtd(dato.observacion),
                    repor.Rtd(dato.estado),
                    repor.Rtd(comunes.FechaSTR(dato.fxRevision))
                ]))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, datos))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #7
0
def ReporteLineaCreditos(pagina, filtro, tituloR):
    #si no se manejan filtros especiales se puede quitar datos y usar
    datos = LineaCreditos(filtro)
    if datos:
        datos = repor.Paginador(datos, numElem, pagina)
        contenido = repor.RTitulos([
            'Proveedor', 'Anotaciones del Credito', 'Total',
            'Fecha de Credito', 'Deuda', 'Pagado', 'Selecciona'
        ])
        for dato in datos:
            contenido = '%s%s' % (
                contenido,
                repor.Rtr([
                    repor.Rtd(dato.proveedor),
                    repor.Rtd(dato.notaCredito),
                    repor.Rtd(dato.total),
                    #repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
                    repor.Rtd(comunes.FechaSTR(dato.fxCredito)),
                    repor.Rtd(dato.deuda),
                    repor.Rtd_B(dato.pagado),
                    repor.Rtd(
                        '<a href=\"?filtro=%s\">Seleccionar</a>' %
                        (dato.id))  #Link de seleccion o contruccion compleja
                ]))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, datos))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #8
0
def ReporteHistorialCajas(pagina, caja, filtro):
    #si no se manejan filtros especiales se puede quitar datos y usar
    if caja:
        datos = HistorialCajas(caja)
        tituloR = 'Historial de la Caja %s' % (caja)
        if datos:
            datos = repor.Paginador(datos, numElem, pagina)
            contenido = repor.RTitulos(
                ['Fecha de Movimiento', 'Monto', 'Descripcion', 'Movimiento'])
            for dato in datos:
                contenido = '%s%s' % (contenido,
                                      repor.Rtr([
                                          repor.Rtd(
                                              comunes.FechaSTR(dato.FECHA)),
                                          repor.Rtd(dato.monto),
                                          repor.Rtd(dato.descripcion),
                                          repor.Rtd_B(dato.abono),
                                      ]))
            return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                                   repor.Paginas(filtro, datos))
        elif filtro:
            return repor.NoDatos()
        else:
            return repor.NoResultados()
    else:
        return 'No se encontro la Caja'
예제 #9
0
def ReporteNominas(pagina, filtro, tituloR, request):
    nominas = Nominas(filtro)
    x = csrf.get_token(request)
    if nominas:
        nominas = repor.Paginador(nominas, numElem, pagina)
        contenido = repor.RTitulos([
            'Folio', 'Fecha de Creacion', 'Descripcion', 'Imprimir',
            'Seleccionar', 'Cerrar'
        ])
        for nomina in nominas:
            rtr = [
                repor.Rtd(nomina.folio),
                repor.Rtd(comunes.FechaSTR(nomina.fxCreacion)),
                repor.Rtd(nomina.descripcion),
                repor.Rtd(
                    '<form  action=\".\" method=\"GET\" enctype=\"multipart/form-data\"><a href=\"\" class=\"tooltipbasic\" data-tooltip=\"Descargar Nomina seleccionada\"><input type=\"checkbox\" name=\"excel\" value=\"Exportar\">Descargar Reporte</a> || <input title=\"De clic para imprimir la consulta\" class=\"submit success\" type=\"submit\" value=\"Descargar\"><input type=\"hidden\" name=\"key\" value=\"%s\"/></form>'
                    % (nomina.id)),
                repor.Rtd('<a href=\"?filtro=%s\">Seleccionar</a>' %
                          (nomina.id))
            ]
            if nomina.cerrar:
                rtr.append(repor.Rtd_B(nomina.cerrar))
            else:
                rtr.append(
                    repor.Rtd(
                        '<form  name=formConfir%s action=\".\" method=\"POST\" enctype=\"multipart/form-data\"><input name=\"CerrarNomina\"title=\"De clic para cerrar la Nomina\" class=\"submit success\" type=\"submit\" onclick=\"Confirmacion(formConfir%s)\" value=\"Cerrar\"><input type=\"hidden\" name=\"nominaId\" value=\"%s\"/><input type=\"hidden\" name=\"csrfmiddlewaretoken\" value=\"%s\"/></form>'
                        % (nomina.id, nomina.id, nomina.id, x)))

            contenido = '%s%s' % (contenido, repor.Rtr(rtr))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, nominas))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #10
0
def ReporteComisiones(pagina, datos, filtro, tituloR):
    #si no se manejan filtros especiales se puede quitar datos y usar datos = Objetos(filtro)
    if datos:
        datos = repor.Paginador(datos, numElem, pagina)
        contenido = repor.RTitulos([
            'Empleado', 'Comisiones por Equipo Kit',
            'Comisiones por Equipo Tip', 'Comisiones de Planes',
            'Comisiones por Servicios', 'Mes', 'Pagado', 'Fecha de Pago'
        ])
        for dato in datos:
            contenido = '%s%s' % (
                contenido,
                repor.Rtr([
                    repor.Rtd(dato.empleado),
                    repor.Rtd(dato.comEquipoKit),
                    repor.Rtd(dato.comEquipoTip),
                    repor.Rtd(dato.comPlanes),
                    repor.Rtd(dato.comServicios),
                    #repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
                    repor.Rtd(comunes.FechaSTR(dato.mes)),
                    repor.Rtd_B(dato.pagado),
                    repor.Rtd(comunes.FechaSTR(dato.fxPago))
                ]))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, datos))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #11
0
def ReporteNominaEmpleados(pagina, filtro, tituloR, admin):
    #si no se manejan filtros especiales se puede quitar datos y usar
    datos = NominaEmpleados(filtro)
    if datos:
        datos = repor.Paginador(datos, numElem, pagina)
        titulos = [
            'Folio', 'Empleado', 'Salario', 'Dias Trabajados',
            'Bono de Puntualidad', 'Bono de Productividad',
            'Vales de despensa', 'SubTotal', 'Descuento', 'Total',
            'Fecha Pago', 'Observaciones', 'Pagado', 'Pagar'
        ]
        if admin:
            titulos.append('Editar')
        contenido = repor.RTitulos(titulos)
        for dato in datos:
            contenedor = [
                repor.Rtd(dato.dato.nomina.folio),
                repor.Rtd(dato.dato.empleado),
                repor.Rtd(dato.dato.salarioDia)
            ]
            if dato.diasTrab:
                contenedor.append(repor.Rtd(dato.diasTrab))
            else:
                contenedor.append(
                    repor.Rtd(
                        '<a href=\"/contabilidad/nomina/nueva_nomina/?nominaId=%s&amp;filtro=%s\">Asignar Dias</a>'
                        % (dato.id, dato.nomina.id)))
            contenedor.append(repor.Rtd(dato.bonoPuntualidad))
            contenedor.append(repor.Rtd(dato.bonoProductividad))
            contenedor.append(repor.Rtd(dato.bonoVales))
            contenedor.append(repor.Rtd((dato.total + dato.descuento)))
            contenedor.append(repor.Rtd(dato.descuento))
            contenedor.append(repor.Rtd(dato.total))
            contenedor.append(repor.Rtd(comunes.FechaSTR(dato.fxPago)))
            contenedor.append(repor.Rtd(dato.observacion))
            contenedor.append(repor.Rtd_B(dato.pagado))
            contenedor.append(
                repor.Rtd(
                    '<a href=\"/contabilidad/nomina/nominas/?nominaId=%s&amp;filtro=%s\">Pagar</a>\n'
                    % (dato.id, dato.nomina.id)))
            if admin:
                contenedor.append(
                    repor.Rtd(
                        '<td><a href=\"/contabilidad/nomina/nueva_nomina/?nominaId=%s&amp;filtro=%s\">Editar</a>\n'
                        % (dato.id, dato.nomina.id)))

            contenido = '%s%s' % (contenido, repor.Rtr(contenedor))
        return '%s\n%s\n%s' % (repor.EncabezadoR(tituloR), contenido,
                               repor.Paginas(filtro, datos))
    elif filtro:
        return repor.NoDatos()
    else:
        return repor.NoResultados()
예제 #12
0
def ReporteInvAccesorios(pagina, datos, filtro, tituloR):
	#si no se manejan filtros especiales se puede quitar datos y usar datos = Objetos(filtro)
	if datos:
		datos=repor.Paginador(datos,numElem,pagina)
		contenido=repor.RTitulos(['Inventario','Accesorio','Existencia', 'Observaciones', 'Revisado',
			'Fecha de revision'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.inventario),
				repor.Rtd(dato.accesorio),
				repor.Rtd_B(dato.existe),
				repor.Rtd(dato.observacion),
				repor.Rtd_B(dato.revisado),
				#repor.Rtd_B(boolean) es para los booleanos, cambia el texto por una imagen
				repor.Rtd(comunes.FechaSTR(dato.fxRevision))

				]))
		return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
	elif filtro:
		return repor.NoDatos()
	else:
		return repor.NoResultados()
예제 #13
0
def ReporteInventarioAuditores(inven, tituloR):
	#si no se manejan filtros especiales se puede quitar datos y usar datos = Objetos(filtro)
	if inven:
		try:
			datos=InventarioAuditores.objects.filter(inventario=inven)
		except :
			datos=None
	if datos:
		contenido=repor.RTitulos(['Auditor asignado','Auditando'])
		for dato in datos:
			contenido='%s%s'%(contenido ,repor.Rtr([

				repor.Rtd(dato.auditor),
				repor.Rtd_B(dato.turno)

				]))
		return '%s\n%s'%(repor.EncabezadoR(tituloR),contenido)
	else:
		return None
예제 #14
0
def ReporteListaEquipos(pagina, datos, movimiento, filtro):
	#si no se manejan filtros especiales se puede quitar datos y usar 
	if movimiento:
		datos = Objetos(filtro, movimiento)
		tituloR = 'Equipos en el Movimiento %s'%(movimiento)
		if datos:
			datos=repor.Paginador(datos,numElem,pagina)
			contenido=repor.RTitulos(['Equipo','Confirmacion'])
			for dato in datos:
				contenido='%s%s'%(contenido ,repor.Rtr([

					repor.Rtd(dato.equipo),
					repor.Rtd_B(dato.confirmacion)
					]))
			return '%s\n%s\n%s'%(repor.EncabezadoR(tituloR),contenido , repor.Paginas(filtro,datos))
		elif filtro:
			return repor.NoDatos()
		else:
			return repor.NoResultados()
	else:
		return 'No se Enontro el Movimiento'