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))
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 '', '', '', '', '', ''
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