Beispiel #1
0
    def nombres_desde_db(self, transito=None):
        '''
        Devuelve los nombres de producto, poseedor, proveedor, cliente,
        agencia y conductor a traves del transito actual
        :param transito:
        :return:
        '''
        if transito is not None:
            #transito = Transito_actual()
            tproducto = TbProductos()
            producto = tproducto.get_producto(id_producto=transito.id_producto)

            tempresa = TbEmpresas()
            poseedor = tempresa.get_empresa(id_empresa=transito.id_poseedor)
            proveedor = tempresa.get_empresa(id_empresa=transito.id_proveedor)
            cliente = tempresa.get_empresa(id_empresa=transito.id_cliente)
            agencia = tempresa.get_empresa(id_empresa=transito.id_agencia)

            tconductores = TbConductores()
            conductor = tconductores.get_conductor(id_conductor=transito.id_conductor)

            if producto is None:
                producto = Producto()

            if poseedor is None:
                poseedor = Empresa()
            if proveedor is None:
                proveedor = Empresa()
            if cliente is None:
                cliente = Empresa()
            if agencia is None:
                agencia = Empresa()
            if conductor is None:
                conductor = Empresa()

            return producto.nombre, \
                   poseedor.nombre, \
                   proveedor.nombre, \
                   cliente.nombre, \
                   agencia.nombre, \
                   ('%s %s' % (conductor.nombre, conductor.apellidos))
        else:
            return '', '', '', '', '', ''
Beispiel #2
0
    def cargar_segun_lugar(self, lugar='', filtro=None):
        if '' != lugar:
            if 'PRODUCTOS' in lugar:
                tabla = TbProductos()
                if filtro is not None:
                    filtro = "nombre like '%@filtro%'".replace('@filtro', filtro)
                self.lista = tabla.get_productos(filtro=filtro)

                self.lstBuscado.clear()
                for producto in self.lista:
                    self.lstBuscado.addItem(producto.nombre)

            elif 'CLIENTES' in lugar \
                    or 'PROVEEDOR' in lugar \
                    or 'POSEEDOR' in lugar \
                    or 'AGENCIA' in lugar:

                tabla = TbEmpresas()
                if filtro is not None:
                    filtro = "nombre like '%@filtro%'".replace('@filtro', filtro)
                self.lista = tabla.get_empresas(filtro=filtro)

                self.lstBuscado.clear()
                for empresa in self.lista:
                    self.lstBuscado.addItem(empresa.nombre)
            elif 'CONDUCTOR' in lugar:
                tabla = TbConductores()
                if filtro is not None:
                    filtro = "nombre || ' ' || apellidos like '%@filtro%'".replace('@filtro', filtro)
                self.lista = tabla.get_conductores(filtro=filtro)

                self.lstBuscado.clear()
                for conductor in self.lista:
                    self.lstBuscado.addItem("%s %s" % (conductor.nombre,
                                                       conductor.apellidos))
            elif 'TRANSITO' in lugar:
                tabla = TbTransito_actuales()
                if filtro is not None:
                    filtro = "mat_cabina || ' ' || mat_remolque like '%@filtro%'".replace('@filtro', filtro)
                self.lista = tabla.get_transito_actuales(filtro=filtro)

                self.lstBuscado.clear()
                for transito in self.lista:
                    self.lstBuscado.addItem("%s  %s" % (transito.mat_cabina,
                                                        transito.mat_remolque))
Beispiel #3
0
    def guardar_a_historico(self, id=None):
        '''
        Guarda los datos de un transito a la base de datos como historico
        y lo borra de transitos actuales
        :param id:
        :return:
        '''
        if id is not None:
            transitos = TbTransito_actuales()
            transito_tmp = transitos.get_transito_actual(id_transito=id)

            historicos = TbHistoricos()

            historico = Historico()
            historico.fecha_entrada = transito_tmp.fecha_entrada
            historico.mat_cabina = transito_tmp.mat_cabina
            historico.mat_remolque = transito_tmp.mat_remolque
            historico.bruto = transito_tmp.bruto
            historico.tara = transito_tmp.tara
            historico.neto = transito_tmp.neto
            historico.destino = transito_tmp.destino
            historico.origen = transito_tmp.origen
            historico.fecha_salida = transito_tmp.fecha_salida
            historico.num_albaran = self.generar_numero_albaran()

            producto = TbProductos().get_producto(id_producto= transito_tmp.id_producto)
            historico.cod_conta_prod = producto.codigo_contable
            historico.nombre_producto = producto.nombre
            historico.iva_aplicable = producto.iva_aplicado
            historico.importe_producto = producto.precio
            historico.tipo_material = producto.tipo_material
            historico.importe_sin_iva = historico.importe_producto * historico.neto
            historico.importe_final = historico.iva_aplicable * historico.importe_sin_iva

            cliente = TbEmpresas().get_empresa(id_empresa=transito_tmp.id_cliente)
            historico.razon_social_cliente = cliente.razon_social
            historico.cif_cliente = cliente.cif
            historico.direccion_cliente = cliente.direccion
            historico.cod_conta_cliente = cliente.codigo_contable
            historico.tlf_cliente = cliente.telefono
            historico.ubicacion_cliente = ('%s (%s)' % (cliente.localidad, cliente.provincia))

            poseedor = TbEmpresas().get_empresa(id_empresa=transito_tmp.id_poseedor)
            historico.razon_social_poseedor = cliente.razon_social
            historico.cif_poseedor = cliente.cif
            historico.direccion_poseedor = cliente.direccion
            historico.cod_conta_poseedor = cliente.codigo_contable
            historico.tlf_poseedor = cliente.telefono
            historico.ubicacion_poseedor = ('%s (%s)' % (cliente.localidad, cliente.provincia))

            proveedor = TbEmpresas().get_empresa(id_empresa=transito_tmp.id_proveedor)
            historico.razon_social_proveedor = cliente.razon_social
            historico.cif_proveedor = cliente.cif
            historico.direccion_proveedor = cliente.direccion
            historico.cod_conta_proveedor = cliente.codigo_contable
            historico.tlf_proveedor = cliente.telefono
            historico.ubicacion_proveedor = ('%s (%s)' % (cliente.localidad, cliente.provincia))

            agencia = TbEmpresas().get_empresa(id_empresa=transito_tmp.id_agencia)
            historico.razon_social_agencia = cliente.razon_social
            historico.cif_agencia = cliente.cif
            historico.direccion_agencia = cliente.direccion
            historico.cod_conta_agencia = cliente.codigo_contable
            historico.tlf_agencia = cliente.telefono
            historico.ubicacion_agencia = ('%s (%s)' % (cliente.localidad, cliente.provincia))

            conductor = TbConductores().get_conductor(id_conductor=transito_tmp.id_conductor)
            historico.nombre_conductor = ('%s %s') % (conductor.nombre, conductor.apellidos)
            historico.tlf_conductor = conductor.telefono
            historico.nif_conductor = conductor.nif
            historico.direccion_conductor = conductor.direccion
            historico.ubicacion_conductor = ('%s (%s)' % (conductor.localidad, conductor.provincia))

            historicos.save(historico)
            #self.eliminar_transito(id=transito_tmp.id_transito)
            return historico
        else:
            print('No se pudo guardar el transito en el historico')
            return None