def buscar_garante(self):
        number= self.obj_form_cliente.lne_garante_nro_doc_nuevo.text()
        

       
        obj_N_datos_garante= N_datos_personales_cliente()
        if number != "":
            try:
                numero_documento_garante= int(number)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
                return False
            obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(str(numero_documento_garante))
            if obj_datos_garante != None:
                self.obj_form_cliente.lne_garante_apellido.setText(obj_datos_garante.apellido)
                self.obj_form_cliente.lne_garante_nombre.setText(obj_datos_garante.nombre)
                self.obj_form_cliente.lne_garante_estado.setText(obj_datos_garante.estado)
                
                obj_N_party_cliente = N_party_cliente(obj_datos_garante.id_party)
                nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(obj_datos_garante.id_party)
                self.obj_form_cliente.lne_garante_nro_cliente_nuevo.setText(str(nro_cliente_garante))

                
            else:

                msgBox = QMessageBox()
                msgBox.setText('Numero de documento inexistente')
                msgBox.exec_()
                



        else :
            if self.obj_form_cliente.lne_garante_nro_cliente_nuevo.text() != "":
                try:
                    garante_nro_cliente_nuevo = int(self.obj_form.lne_garante_nro_cliente_nuevo.text())
                    
                    obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar_nrocliente(garante_nro_cliente_nuevo)
                    self.obj_form_cliente.lne_garante_apellido.setText(obj_datos_garante.apellido)
                    self.obj_form_cliente.lne_garante_nombre.setText(obj_datos_garante.nombre)
                    self.obj_form_cliente.lne_garante_estado.setText(obj_datos_garante.estado)
                    self.obj_form_cliente.lne_garante_nro_doc_nuevo.setText(obj_datos_garante.num_doc)
                    

                except:
                    msgBox = QMessageBox()
                    msgBox.setText('Verificar Numero de cliente garante sin espacios y sin puntos ')
                    msgBox.exec_()
                    return False
示例#2
0
    def buscar_garante(self):

        number= self.obj_form.lne_garante_nro_doc_actualizar.text()
        obj_N_datos_garante= N_datos_personales_cliente()
        if number != "":
            try:
                numero_documento_garante= int(number)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
            obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(str(numero_documento_garante))
            if obj_datos_garante != None:
                self.obj_form.lne_garante_apellido_actualizar.setText(obj_datos_garante.apellido)
                self.obj_form.lne_garante_nombre_actualizar.setText(obj_datos_garante.nombre)
                self.obj_form.lne_garante_estado_actualizar.setText(obj_datos_garante.estado)
                obj_N_party_cliente = N_party_cliente(obj_datos_garante.id_party)
                nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(obj_datos_garante.id_party)
                self.obj_form.lne_garante_nro_cliente_actualizar.setText(str(nro_cliente_garante))
            else:
                msgBox = QMessageBox()
                msgBox.setText('Numero de documento inexistente')
                msgBox.exec_()

        else :
            if self.obj_form.lne_garante_nro_cliente_actualizar.text() != "":
                try:
                    garante_nro_cliente_nuevo = int(self.obj_form.lne_garante_nro_cliente_actualizar.text())

                    obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar_nrocliente(garante_nro_cliente_nuevo)
                    self.obj_form.lne_garante_apellido_actualizar.setText(obj_datos_garante.apellido)
                    self.obj_form.lne_garante_nombre_actualizar.setText(obj_datos_garante.nombre)
                    self.obj_form.lne_garante_estado_actualizar.setText(obj_datos_garante.estado)
                    self.obj_form.lne_garante_nro_doc_actualizar.setText(obj_datos_garante.num_doc)
                except:
                    msgBox = QMessageBox()
                    msgBox.setWindowTitle("Atencion")
                    msgBox.setText('Verificar Numero de cliente garante sin espacios y sin puntos ')
                    msgBox.exec_()
                    return False
    def buscar_cliente(self):

        numero_documento_cliente= self.obj_form.lne_dni_filtro_buscar.text()
        if numero_documento_cliente != "":
            try:
                numero_documento=int(numero_documento_cliente)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
                return False


            obj_N_datos_personales_cliente = N_datos_personales_cliente()
            obj_party_party=obj_N_datos_personales_cliente.buscar_party_party_por_nro_doc(numero_documento)

            if obj_party_party != False:
                #tabla party party
                self.id_party = obj_party_party.id_party
                self.obj_form.lne_apellido_buscar.setText(obj_party_party.apellido)
                self.obj_form.lne_nombre_buscar.setText(obj_party_party.nombre)
                self.obj_form.lne_tipo_doc_buscar.setText(obj_party_party.tipo_doc)
                self.obj_form.lne_nro_doc_cliente.setText(obj_party_party.num_doc)
                self.obj_form.lne_estado.setText(obj_party_party.estado)
                self.obj_form.lne_fecha_nac.setText(str(obj_party_party.fec_nac))
                self.obj_form.lne_estado_civil.setText(obj_party_party.estado_civil)
                self.obj_form.lne_limite_credito_buscar.setText(str(obj_party_party.limite_credito))

                #talba address
                obj_N_party_address= N_party_address(1)
                obj_party_address = obj_N_party_address.get_party_address(self.id_party)
                self.obj_form.lne_domicilio_buscar.setText(obj_party_address.domicilio)
                self.obj_form.lne_ciudad_buscar.setText(obj_party_address.ciudad)
                self.obj_form.lne_barrio_buscar.setText(obj_party_address.barrio)


                #table contacto

                obj_N_party_contacto= N_party_contacto(1)
                list_party_contacto= obj_N_party_contacto.get_list_party_contacto(self.id_party)
                for item in list_party_contacto:
                    if item.type_contacto == "Telefono":
                        self.obj_form.lne_telefono_buscar.setText(item.value)
                    if item.type_contacto=="Email":
                        self.obj_form.lne_email_buscar.setText(item.value)




                #party cliente
                obj_N_party_cliente= N_party_cliente(1)
                obj_party_cliente=obj_N_party_cliente.get_party_cliente(self.id_party)
                self.obj_form.lne_nro_cliente_buscar.setText(str(obj_party_cliente.nro_cliente))
                self.obj_form.txte_observaciones_buscar.setText(obj_party_cliente.comment)



                #terminar buscar propiedad para seteart cliente
                #self.obj_form.txte_observaciones_buscar.setText(obj_party_cliente.comment)
                #toPlainText
                obj_N_datos_laborales=N_datos_laborales()
                obj_datos_laborales= obj_N_datos_laborales.get_datos_laborales(self.id_party)
                self.obj_form.lne_ocupacion_buscar.setText(obj_datos_laborales.ocupacion)

                self.obj_form.lne_organismo_buscar.setText(obj_datos_laborales.organismo)
                self.obj_form.lne_telefono_laboral_buscar.setText(obj_datos_laborales.tel_laboral)
                self.obj_form.lne_domicilio_laboral_buscar.setText(obj_datos_laborales.dom_laboral)
                self.obj_form.lne_sueldo_buscar.setText(str(obj_datos_laborales.sueldo))
                self.obj_form.lne_antiguedad_buscar.setText(obj_datos_laborales.anti_laboral)
                self.obj_form.lne_categoria_buscar.setText(obj_datos_laborales.categoria)
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                self.obj_form.ckbx_posee_sueldo_buscar.setChecked(obj_datos_laborales.posee_recibo_sueldo)


                obj_N_garante= N_party_garante(1)
                self.list_garante = obj_N_garante.get_list_party_garante(obj_party_cliente.nro_cliente)
                for item in self.list_garante :
                    nro_cliente = item.nro_cliente
                    tipo_garante = item.tipo_garante
                    comment = item.comment
                    obj_N_datos_personales_cliente=N_datos_personales_cliente()
                    obj_datos_personales_cliente = obj_N_datos_personales_cliente.buscar_party_party_por_id(item.id_party_garante)

                    #AGREGAR REGISTROS EN LA GRILLA
                    #pyqtRemoveInputHook()
                    #import pdb; pdb.set_trace()
                    rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                    self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 0, QTableWidgetItem(obj_datos_personales_cliente.estado))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 1, QTableWidgetItem(item.tipo_garante))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 2, QTableWidgetItem(str(obj_party_cliente.nro_cliente)))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 3, QTableWidgetItem(obj_datos_personales_cliente.apellido))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 4, QTableWidgetItem(obj_datos_personales_cliente.nombre))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 5, QTableWidgetItem(obj_datos_personales_cliente.nro_doc))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 6, QTableWidgetItem(comment))


                #tabla party otros buscar/gonzalo
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                obj_N_otros_datos= N_party_otros(1)
                obj_party_otros=obj_N_otros_datos.get_party_otros(self.id_party)

                self.obj_form.lne_tipo_iva_buscar.setText(obj_party_otros.tipo_iva)
                self.obj_form.lne_cuit_buscar.setText(obj_party_otros.cuit)
                self.obj_form.lne_cbu_buscar.setText(obj_party_otros.cbu)
                self.obj_form.lne_nro_beneficio_buscar.setText(obj_party_otros.num_beneficio)

                self.obj_form.ckbx_facturas_buscar.setChecked(obj_party_otros.presento_factura)
                self.obj_form.ckbx_veraz_buscar.setChecked(obj_party_otros.figura_veraz)
                self.obj_form.ckbx_jub_pens_buscar.setChecked(obj_party_otros.es_jubilado_pensionado)

            else:

                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText("Error, el asociado no existe o el campo esta vacio.")
                msgBox.exec_()
                return False
示例#4
0
    def buscar_cliente_por_dni(self):
        self.limpiar()

        numero_dni = self.obj_form.lne_nro_doc_creditonuevo.text()
        obj_N_datos_cliente = N_creditos("a")
        if numero_dni != "":
            try:
                numero_documento_cliente = int(numero_dni)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText(
                    'Ingresar nuevamente el numero de documento sin espacios y sin puntos'
                )
                msgBox.exec_()
                return False
        elif numero_dni == "":
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Atencion")
            msgBox.setText(
                'Ingresar nuevamente el numero de documento sin espacios y sin puntos'
            )
            msgBox.exec_()
            return False

        obj_N_datos_personales_cliente = N_datos_personales_cliente()

        obj_party_party = obj_N_datos_personales_cliente.buscar_party_party_por_nro_doc(
            numero_documento_cliente)

        if obj_party_party != False:
            #self.obj_form.lne_party_party.setText()
            self.id_party = obj_party_party.id_party
            obj_party_cliente = N_party_cliente(1)
            self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
            obj_N_garante = N_party_garante(1)
            lista_garantes = obj_N_garante.get_list_party_garante(
                self.nro_cliente)
            for item in lista_garantes:
                obj_party_garante = obj_N_datos_personales_cliente.buscar_party_party_por_id(
                    item.id_party_garante)
                valor = str(
                    item.id_party_garante
                ) + ", " + obj_party_garante.nombre + ", " + obj_party_garante.apellido + ", " + obj_party_garante.nro_doc
                self.obj_form.cbx_garante_creditonuevo.addItem(valor)
                #.append(item)

            self.obj_form.lne_nom_ape.setText(obj_party_party.nombre + ", " +
                                              obj_party_party.apellido)
            self.obj_form.dte_fec_creditonuevo.setDate(datetime.datetime.now())
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setDate(
                datetime.datetime.now())

            self.id_party = obj_party_party.id_party
            self.obj_form.lne_nro_creditonuevo_2.setText(str(self.id_party))
            obj_party_cliente = N_party_cliente(1)
            self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
            self.obj_form.lne_nro_creditonuevo.text()
            self.obj_form.dte_fec_creditonuevo.setEnabled(True)
            self.obj_form.cbx_formula_creditonuevo.setEnabled(True)
            self.obj_form.spbx_tasa_creditonuevo.setEnabled(True)
            self.obj_form.lne_nro_creditonuevo.setEnabled(True)
            self.obj_form.lne_importe_prestamo_creditonuevo.setEnabled(True)
            self.obj_form.spbx_cantidad_cuotas_creditonuevo.setEnabled(True)
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setEnabled(True)
            self.obj_form.boton_generar_creditonuevo.setEnabled(True)
            self.obj_form.tw_lista_cuotas_creditonuevo.setEnabled(True)
            self.obj_form.lne_observaciones_creditonuevo.setEnabled(True)
            self.obj_form.lne_interes_creditonuevo.setEnabled(True)
            self.obj_form.lne_gastos_creditonuevo.setEnabled(True)
            self.obj_form.lne_credito_total_creditonuevo.setEnabled(True)
            self.obj_form.boton_grabar_creditonuevo.setEnabled(True)
            self.obj_form.boton_limpiar_creditonuevo.setEnabled(True)
        else:
            self.obj_form.dte_fec_creditonuevo.setEnabled(False)
            self.obj_form.lne_nro_creditonuevo.setEnabled(False)
            self.obj_form.cbx_formula_creditonuevo.setEnabled(False)
            self.obj_form.spbx_tasa_creditonuevo.setEnabled(False)
            self.obj_form.lne_importe_prestamo_creditonuevo.setEnabled(False)
            self.obj_form.spbx_cantidad_cuotas_creditonuevo.setEnabled(False)
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setEnabled(False)
            self.obj_form.boton_generar_creditonuevo.setEnabled(False)
            self.obj_form.tw_lista_cuotas_creditonuevo.setEnabled(False)
            self.obj_form.lne_observaciones_creditonuevo.setEnabled(False)
            self.obj_form.lne_interes_creditonuevo.setEnabled(False)
            self.obj_form.lne_gastos_creditonuevo.setEnabled(False)
            self.obj_form.lne_credito_total_creditonuevo.setEnabled(False)
            self.obj_form.boton_grabar_creditonuevo.setEnabled(False)
            self.obj_form.boton_limpiar_creditonuevo.setEnabled(False)
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Atencion")
            msgBox.setText('Error numero de DNI inexistente')
            msgBox.exec_()
示例#5
0
    def cuota_de_credito(self):
        #pyqtRemoveInputHook()
        #import pdb; pdb.set_trace()
        #self.limpiar()
        result2 = QMessageBox.Yes
        if self.obj_form.spbx_cantidad_cuotas_creditonuevo.text(
        ) == '3' or self.obj_form.spbx_cantidad_cuotas_creditonuevo.text(
        ) == '4' or self.obj_form.spbx_cantidad_cuotas_creditonuevo.text(
        ) == '5':
            if self.obj_form.spbx_tasa_creditonuevo.text() != '11':
                w = QWidget()
                result2 = QMessageBox.question(
                    w, 'Alerta', " Se cambio la tasa al 11%?",
                    QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
            else:
                result2 = QMessageBox.Yes

        if result2 == QMessageBox.Yes:
            self.obj_form.boton_agregar.setEnabled(True)
            numero_capital = self.obj_form.lne_importe_prestamo_creditonuevo.text(
            )
            obj_N_datos_cliente = N_creditos("a")
            if numero_capital == "":
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el capital a prestar')
                msgBox.exec_()
                return False

            if numero_capital != "":
                try:
                    capital = float(numero_capital)
                except:
                    msgBox = QMessageBox()
                    msgBox.setWindowTitle("Atencion")
                    msgBox.setText('Ingresar nuevamente el importe prestamo')
                    msgBox.exec_()
                    return False

                num_doc_cliente = self.obj_form.lne_nro_doc_creditonuevo.text()
                num_credito_nuevo = self.obj_form.lne_nro_creditonuevo.text()
                cantidad_cuotas = self.obj_form.spbx_cantidad_cuotas_creditonuevo.text(
                )
                tasa = self.obj_form.spbx_tasa_creditonuevo.text()

                interes = self.redondear(
                    str((float(capital) * float(tasa)) / 100))
                obj_capital = str(float(capital) / float(cantidad_cuotas))
                obj_capital = self.redondear(obj_capital)

                obj_n_party_cliente = N_party_cliente(1)
                self.obj_N_creditos.nro_cliente = self.nro_cliente
                self.obj_N_creditos.id_party = self.obj_form.lne_nro_creditonuevo_2.text(
                )
                self.obj_N_creditos.fecha_credito = self.obj_form.dte_fec_creditonuevo.text(
                )
                self.obj_N_creditos.tasa = self.obj_form.spbx_tasa_creditonuevo.text(
                )
                self.obj_N_creditos.formula = self.obj_form.cbx_formula_creditonuevo.currentText(
                )
                self.obj_N_creditos.importe_prestamo = capital
                self.obj_N_creditos.cantidad_cuotas = cantidad_cuotas
                self.obj_N_creditos.vto_primer_cuota = self.obj_form.dte_vto_primer_cuota_creditonuevo.text(
                )
                self.obj_N_creditos.interes = interes
                self.obj_N_creditos.observaciones = self.obj_form.lne_observaciones_creditonuevo.text(
                )

                obj_credito_total = 0
                interes_total = 0
                obj_N_cuotas = N_cuotas(1)
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                vencimiento_primer_cuota = self.obj_form.dte_vto_primer_cuota_creditonuevo.text(
                )
                obj_date_venc_1er_cuota = datetime.datetime.strptime(
                    vencimiento_primer_cuota, '%d/%m/%Y')
                gastos = self.calcular_Gastos(int(cantidad_cuotas))
                resultado_gatos = gastos * int(cantidad_cuotas)

                self.obj_N_creditos.gastos = resultado_gatos

                self.obj_form.lne_gastos_creditonuevo.setText(
                    str(resultado_gatos))

                hoy = obj_date_venc_1er_cuota
                contador = 0
                for item in range(0, int(cantidad_cuotas)):
                    obj_cuotas = N_cuotas(1)
                    #agrego registros en la grillaform_creditos_cuotas_buscar.ui
                    rowPosition = self.obj_form.tw_lista_cuotas_creditonuevo.rowCount(
                    )
                    self.obj_form.tw_lista_cuotas_creditonuevo.insertRow(
                        rowPosition)
                    valor_cuota = float(interes) + float(obj_capital) + float(
                        gastos)
                    obj_credito_total = obj_credito_total + float(
                        interes) + float(obj_capital) + float(gastos)
                    interes_total = interes_total + interes
                    #pyqtRemoveInputHook()
                    #import pdb; pdb.set_trace()
                    obj_cuotas.nro_cuota = str(item + 1)
                    obj_cuotas.capital = obj_capital
                    obj_cuotas.interes = self.redondear(str(interes))
                    obj_cuotas.gastos = gastos
                    self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                        rowPosition, 0,
                        QTableWidgetItem(str(obj_cuotas.nro_cuota)))
                    self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                        rowPosition, 2,
                        QTableWidgetItem(str(self.redondear(str(interes)))))
                    self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                        rowPosition, 1, QTableWidgetItem(str(obj_capital)))
                    self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                        rowPosition, 3, QTableWidgetItem(str(gastos)))

                    if contador == 0:
                        self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                            rowPosition, 4,
                            QTableWidgetItem(str(obj_date_venc_1er_cuota)))

                        obj_cuotas.primer_Vencimiento = vencimiento_primer_cuota
                    else:
                        #pyqtRemoveInputHook()
                        #pyqtRemoveInputHook()
                        #import pdb; pdb.set_trace()
                        nuevo_mes = hoy.month + contador
                        nuevo_year = hoy.year
                        nuevo_dia = 5
                        if nuevo_mes > 12 and nuevo_mes < 25:
                            nuevo_mes = nuevo_mes % 12
                            if nuevo_mes == 0:
                                nuevo_mes = 12
                            nuevo_year += 1
                        elif nuevo_mes > 24 and nuevo_mes < 37:
                            nuevo_mes = nuevo_mes % 12
                            if nuevo_mes == 0:
                                nuevo_mes = 12
                            nuevo_year += 2

                        obj_fecha_cuota = datetime.datetime(
                            nuevo_year, nuevo_mes, nuevo_dia)
                        self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                            rowPosition, 4,
                            QTableWidgetItem(str(obj_fecha_cuota)))
                        obj_cuotas.primer_Vencimiento = obj_fecha_cuota

                    self.obj_form.tw_lista_cuotas_creditonuevo.setItem(
                        rowPosition, 5,
                        QTableWidgetItem(str(self.redondear(str(valor_cuota))))
                    )  #self.obj_form.tw_lista_cuotas_creditonuevo.setItem(rowPosition , 4, QTableWidgetItem((str(float(capital) / float(tasa)))))
                    #pyqtRemoveInputHook()
                    #import pdb; pdb.set_trace()
                    obj_cuotas.id_usuario = 1
                    obj_cuotas.estado_cuota = "A pagar"
                    obj_cuotas.importe_cobrado = 0
                    obj_cuotas.importe_primer_vencimiento = self.redondear(
                        str(valor_cuota))
                    contador = contador + 1
                    self.lista_cuotas.append(obj_cuotas)

                self.obj_form.lne_interes_creditonuevo.setText(
                    str(interes_total))
                self.obj_form.lne_credito_total_creditonuevo.setText(
                    str(obj_credito_total))
                self.obj_N_creditos.cred_total = obj_credito_total
示例#6
0
    def buscar_garante(self):
        self.limpiar()
        number = self.obj_form.lne_garante_nro_doc_nuevo.text()
        obj_N_datos_garante = N_datos_personales_cliente()
        if number != "":
            try:
                numero_documento_garante = int(number)
            except:
                msgBox = QMessageBox()
                msgBox.about(
                    self,
                    'Error , Ingresar nuevamente el numero de documento sin espacios y sin puntos'
                )
                msgBox.exec_()
                return False
            obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(
                str(numero_documento_garante))
            if obj_datos_garante != None:
                self.obj_form.lne_garante_apellido.setText(
                    obj_datos_garante.apellido)
                self.obj_form.lne_garante_nombre.setText(
                    obj_datos_garante.nombre)
                self.obj_form.lne_garante_estado.setText(
                    obj_datos_garante.estado)
                self.obj_form.lne_garante_nro_doc.setText(
                    obj_datos_garante.num_doc)
                obj_N_party_cliente = N_party_cliente(
                    obj_datos_garante.id_party)
                nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(
                    obj_datos_garante.id_party)
                self.obj_form.lne_garante_nro_cliente_2.setText(
                    str(nro_cliente_garante))

                lista_garante_historial = list()
                obj_N_historial_garante = N_historial_garante(1)

                lista_garante_historial = obj_N_historial_garante.buscar_historial_garante(
                    obj_datos_garante.id_party)
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                for item in lista_garante_historial:
                    rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                    self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 0, QTableWidgetItem(item.tipo_garante))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 1, QTableWidgetItem(item.estado_credito))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 2,
                        QTableWidgetItem(str(item.nro_credito)))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 3,
                        QTableWidgetItem(str(item.importe_prestamo)))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 4,
                        QTableWidgetItem(str(item.nro_cliente)))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 5, QTableWidgetItem(item.num_doc))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 6, QTableWidgetItem(item.apellido))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 7, QTableWidgetItem(item.nombre))
            else:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msg = 'Advertencia , Numero de documento inexistente'
                msgBox.setText(msg)
                msgBox.exec_()
                return False

        else:

            if self.obj_form.lne_garante_nro_cliente.text() != "":
                try:
                    garante_nro_cliente = int(
                        self.obj_form.lne_garante_nro_cliente.text())
                    obj_N_party_cliente = N_party_cliente(1)
                    obj_party_cliente = obj_N_party_cliente.buscar_E_party_cliente_por_nro_cliente(
                        garante_nro_cliente)
                    obj_N_datos_personales_cliente = N_datos_personales_cliente(
                    )
                    obj_party = obj_N_datos_personales_cliente.buscar_party_party_por_id(
                        obj_party_cliente.id_party)
                    obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(
                        str(obj_party.nro_doc))
                    if obj_datos_garante != None:
                        self.obj_form.lne_garante_apellido.setText(
                            obj_datos_garante.apellido)
                        self.obj_form.lne_garante_nombre.setText(
                            obj_datos_garante.nombre)
                        self.obj_form.lne_garante_estado.setText(
                            obj_datos_garante.estado)
                        self.obj_form.lne_garante_nro_doc.setText(
                            obj_datos_garante.num_doc)
                        obj_N_party_cliente = N_party_cliente(
                            obj_datos_garante.id_party)
                        nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(
                            obj_datos_garante.id_party)
                        self.obj_form.lne_garante_nro_cliente_2.setText(
                            str(nro_cliente_garante))

                        lista_garante_historial = list()
                        obj_N_historial_garante = N_historial_garante(1)

                        lista_garante_historial = obj_N_historial_garante.buscar_historial_garante(
                            obj_datos_garante.id_party)
                        for item in lista_garante_historial:
                            rowPosition = self.obj_form.tw_garantes_lista.rowCount(
                            )
                            self.obj_form.tw_garantes_lista.insertRow(
                                rowPosition)
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 0,
                                QTableWidgetItem(item.tipo_garante))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 1,
                                QTableWidgetItem(item.estado_credito))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 2,
                                QTableWidgetItem(str(item.nro_credito)))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 3,
                                QTableWidgetItem(str(item.importe_prestamo)))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 4,
                                QTableWidgetItem(str(item.nro_cliente)))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 5, QTableWidgetItem(item.num_doc))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 6,
                                QTableWidgetItem(item.apellido))
                            self.obj_form.tw_garantes_lista.setItem(
                                rowPosition, 7, QTableWidgetItem(item.nombre))
                except:
                    msgBox = QMessageBox()
                    msgBox.setWindowTitle("Atencion")
                    msgBox.setText(
                        'Error, Verificar Numero de cliente garante sin espacios y sin puntos '
                    )
                    msgBox.exec_()
                    return False
示例#7
0
    def guardar(self):
        apellido = self.obj_form_cliente.lne_apellido.text()
        nombre = self.obj_form_cliente.lne_nombre_nuevo.text()
        nro_dni = self.obj_form_cliente.lne_nro_doc.text()
        if (apellido != "") and (nombre != "") and (nro_dni != ""):
            numero_documento_cliente = self.obj_form_cliente.lne_nro_doc.text()
            try:
                numero_documento = int(numero_documento_cliente)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText(
                    'Ingresar nuevamente el numero de documento sin espacios y sin puntos'
                )
                msgBox.exec_()
                return False

            obj_N_datos_personales_cliente = N_datos_personales_cliente()
            obj_N_datos_personales_cliente.nombre = nombre.upper()
            obj_N_datos_personales_cliente.apellido = self.obj_form_cliente.lne_apellido.text(
            ).upper()
            obj_N_datos_personales_cliente.fec_nac = self.obj_form_cliente.dte_nacimiento.text(
            )
            obj_N_datos_personales_cliente.tipo_doc = self.obj_form_cliente.cbx_tipo_doc.currentText(
            )
            obj_N_datos_personales_cliente.nro_doc = numero_documento
            obj_N_datos_personales_cliente.estado_civil = self.obj_form_cliente.cbx_estado_civil.currentText(
            )
            if self.obj_form_cliente.lne_limite_credito.text() != "":
                try:
                    limite_credito = float(
                        self.obj_form_cliente.lne_limite_credito.text())
                    obj_N_datos_personales_cliente.limite_credito = limite_credito
                except:
                    obj_N_datos_personales_cliente.limite_credito = 0

            obj_N_datos_personales_cliente.estado = self.obj_form_cliente.cbx_estado.currentText(
            )
            #boton guardar
            obj_N_datos_personales_cliente.id = self.id_usu

            self.id_party = N_datos_personales_cliente().guardar(
                obj_N_datos_personales_cliente)

            if self.id_party != "False":
                obj_party_cliente = N_party_cliente(self.id_party)

                obj_party_cliente.guardar_N_party_cliente(
                    self.obj_form_cliente.txte_observaciones.toPlainText(),
                    self.id_party)

                self.nro_cliente = obj_party_cliente.get_nro_cliente(
                    self.id_party)
                self.obj_form_cliente.lne_nro_cliente.setText(
                    str(self.nro_cliente))

                obj_party_contacto3 = N_party_contacto(1)

                obj_party_contacto3.type_contacto = "Telefono"
                obj_party_contacto3.value = self.obj_form_cliente.lne_telefono.text(
                )

                obj_party_contacto_email = N_party_contacto(1)
                obj_party_contacto_email.type_contacto = "Email"
                obj_party_contacto_email.value = self.obj_form_cliente.lne_email.text(
                )

                obj_N_party_contacto = N_party_contacto(1)
                obj_N_party_contacto.guardar(obj_party_contacto3,
                                             self.id_party)
                obj_N_party_contacto.guardar(obj_party_contacto_email,
                                             self.id_party)

                ciudad = self.obj_form_cliente.lne_barrio.text()
                obj_N_party_address = N_party_address(ciudad)
                obj_N_party_address.domicilio = self.obj_form_cliente.lne_domicilio.text(
                )
                obj_N_party_address.barrio = self.obj_form_cliente.lne_barrio.text(
                )
                obj_N_party_address.ciudad = self.obj_form_cliente.cbx_ciudad.currentText(
                )
                #boton guardar

                obj_party_address = N_party_address(ciudad)
                obj_party_address.guardar(obj_N_party_address, self.id_party)

                organismo = self.obj_form_cliente.lne_organismo.text()
                obj_N_datos_laborales = N_datos_laborales()
                if self.obj_form_cliente.lne_sueldo.text() != "":
                    try:
                        sueldo = float(self.obj_form_cliente.lne_sueldo.text())
                        obj_N_datos_laborales.sueldo = sueldo
                    except:
                        obj_N_datos_laborales.sueldo = 0

                obj_N_datos_laborales.anti_laboral = self.obj_form_cliente.lne_antiguedad.text(
                )
                obj_N_datos_laborales.tel_laboral = self.obj_form_cliente.lne_telefono_laboral.text(
                )
                obj_N_datos_laborales.dom_laboral = self.obj_form_cliente.lne_domicilio_laboral.text(
                )
                obj_N_datos_laborales.organismo = self.obj_form_cliente.lne_organismo.text(
                )
                obj_N_datos_laborales.ocupacion = self.obj_form_cliente.lne_ocupacion.text(
                )
                obj_N_datos_laborales.categoria = self.obj_form_cliente.lne_categoria.text(
                )

                if self.obj_form_cliente.ckbx_recibo_sueldo_nuevo.isChecked():
                    obj_N_datos_laborales.posee_recibo_sueldo = True
                else:
                    obj_N_datos_laborales.posee_recibo_sueldo = False

                #boton guardar
                obj_datos_laborales = N_datos_laborales()
                obj_datos_laborales.guardar(obj_N_datos_laborales,
                                            self.id_party)

                #//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7
                cuit = self.obj_form_cliente.lne_cuit.text()
                obj_N_party_otros = N_party_otros(cuit)
                obj_N_party_otros.tipo_iva = self.obj_form_cliente.cbx_tipo_iva.currentText(
                )
                obj_N_party_otros.cuit = self.obj_form_cliente.lne_cuit.text()
                obj_N_party_otros.cbu = self.obj_form_cliente.lne_cbu.text()
                obj_N_party_otros.num_beneficio = self.obj_form_cliente.lne_nro_beneficio.text(
                )

                if self.obj_form_cliente.ckbx_facturas.isChecked():
                    obj_N_party_otros.presento_factura = True

                if self.obj_form_cliente.ckbx_veraz.isChecked():
                    obj_N_party_otros.figura_veraz = True

                if self.obj_form_cliente.ckbx_jub_pens.isChecked():
                    obj_N_party_otros.es_jubilado_pensionado = True

                #boton guardar
                obj_party_otros = N_party_otros(cuit)
                obj_party_otros.guardar(obj_N_party_otros, self.id_party)

                #boton guardar

                obj_party_garante2 = N_party_garante("A")
                obj_party_garante2.guardar(self.list_garante, self.nro_cliente)

                self.obj_form_cliente.lne_nro_cliente.setText(
                    str(self.nro_cliente))

                msgBox = QMessageBox()
                msgBox.setWindowTitle("Aviso")
                msgBox.setText("Cliente se guardo correctamente. Nro. " +
                               str(self.nro_cliente))
                msgBox.exec_()

            else:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Error")
                msgBox.setText(
                    "No se pudo grabar: Numero de documento duplicado, actualice los datos"
                )
                msgBox.exec_()

        else:
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Advertencia")
            msgBox.setText(
                "Revisar campos obligatorios: Nombre, Apellido y Dni.")
            msgBox.exec_()
    def buscar_cliente(self):

        numero_documento_cliente = self.obj_form.lne_dni_filtro_buscar.text()
        if numero_documento_cliente != "":
            try:
                numero_documento = int(numero_documento_cliente)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText(
                    'Ingresar nuevamente el numero de documento sin espacios y sin puntos'
                )
                msgBox.exec_()
                return False

            obj_N_datos_personales_cliente = N_datos_personales_cliente()
            obj_party_party = obj_N_datos_personales_cliente.buscar_party_party_por_nro_doc(
                numero_documento)

            if obj_party_party != False:
                #tabla party party
                self.id_party = obj_party_party.id_party
                self.obj_form.lne_apellido_buscar.setText(
                    obj_party_party.apellido)
                self.obj_form.lne_nombre_buscar.setText(obj_party_party.nombre)
                self.obj_form.lne_tipo_doc_buscar.setText(
                    obj_party_party.tipo_doc)
                self.obj_form.lne_nro_doc_cliente.setText(
                    obj_party_party.num_doc)
                self.obj_form.lne_estado.setText(obj_party_party.estado)
                self.obj_form.lne_fecha_nac.setText(
                    str(obj_party_party.fec_nac))
                self.obj_form.lne_estado_civil.setText(
                    obj_party_party.estado_civil)
                self.obj_form.lne_limite_credito_buscar.setText(
                    str(obj_party_party.limite_credito))

                #talba address
                obj_N_party_address = N_party_address(1)
                obj_party_address = obj_N_party_address.get_party_address(
                    self.id_party)
                self.obj_form.lne_domicilio_buscar.setText(
                    obj_party_address.domicilio)
                self.obj_form.lne_ciudad_buscar.setText(
                    obj_party_address.ciudad)
                self.obj_form.lne_barrio_buscar.setText(
                    obj_party_address.barrio)

                #table contacto

                obj_N_party_contacto = N_party_contacto(1)
                list_party_contacto = obj_N_party_contacto.get_list_party_contacto(
                    self.id_party)
                for item in list_party_contacto:
                    if item.type_contacto == "Telefono":
                        self.obj_form.lne_telefono_buscar.setText(item.value)
                    if item.type_contacto == "Email":
                        self.obj_form.lne_email_buscar.setText(item.value)

                #party cliente
                obj_N_party_cliente = N_party_cliente(1)
                obj_party_cliente = obj_N_party_cliente.get_party_cliente(
                    self.id_party)
                self.obj_form.lne_nro_cliente_buscar.setText(
                    str(obj_party_cliente.nro_cliente))
                self.obj_form.txte_observaciones_buscar.setText(
                    obj_party_cliente.comment)

                #terminar buscar propiedad para seteart cliente
                #self.obj_form.txte_observaciones_buscar.setText(obj_party_cliente.comment)
                #toPlainText
                obj_N_datos_laborales = N_datos_laborales()
                obj_datos_laborales = obj_N_datos_laborales.get_datos_laborales(
                    self.id_party)
                self.obj_form.lne_ocupacion_buscar.setText(
                    obj_datos_laborales.ocupacion)

                self.obj_form.lne_organismo_buscar.setText(
                    obj_datos_laborales.organismo)
                self.obj_form.lne_telefono_laboral_buscar.setText(
                    obj_datos_laborales.tel_laboral)
                self.obj_form.lne_domicilio_laboral_buscar.setText(
                    obj_datos_laborales.dom_laboral)
                self.obj_form.lne_sueldo_buscar.setText(
                    str(obj_datos_laborales.sueldo))
                self.obj_form.lne_antiguedad_buscar.setText(
                    obj_datos_laborales.anti_laboral)
                self.obj_form.lne_categoria_buscar.setText(
                    obj_datos_laborales.categoria)
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                self.obj_form.ckbx_posee_sueldo_buscar.setChecked(
                    obj_datos_laborales.posee_recibo_sueldo)

                obj_N_garante = N_party_garante(1)
                self.list_garante = obj_N_garante.get_list_party_garante(
                    obj_party_cliente.nro_cliente)
                for item in self.list_garante:
                    nro_cliente = item.nro_cliente
                    tipo_garante = item.tipo_garante
                    comment = item.comment
                    obj_N_datos_personales_cliente = N_datos_personales_cliente(
                    )
                    obj_datos_personales_cliente = obj_N_datos_personales_cliente.buscar_party_party_por_id(
                        item.id_party_garante)

                    #AGREGAR REGISTROS EN LA GRILLA
                    #pyqtRemoveInputHook()
                    #import pdb; pdb.set_trace()
                    rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                    self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 0,
                        QTableWidgetItem(obj_datos_personales_cliente.estado))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 1, QTableWidgetItem(item.tipo_garante))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 2,
                        QTableWidgetItem(str(obj_party_cliente.nro_cliente)))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 3,
                        QTableWidgetItem(
                            obj_datos_personales_cliente.apellido))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 4,
                        QTableWidgetItem(obj_datos_personales_cliente.nombre))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 5,
                        QTableWidgetItem(obj_datos_personales_cliente.nro_doc))
                    self.obj_form.tw_garantes_lista.setItem(
                        rowPosition, 6, QTableWidgetItem(comment))

                #tabla party otros buscar/gonzalo
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                obj_N_otros_datos = N_party_otros(1)
                obj_party_otros = obj_N_otros_datos.get_party_otros(
                    self.id_party)

                self.obj_form.lne_tipo_iva_buscar.setText(
                    obj_party_otros.tipo_iva)
                self.obj_form.lne_cuit_buscar.setText(obj_party_otros.cuit)
                self.obj_form.lne_cbu_buscar.setText(obj_party_otros.cbu)
                self.obj_form.lne_nro_beneficio_buscar.setText(
                    obj_party_otros.num_beneficio)

                self.obj_form.ckbx_facturas_buscar.setChecked(
                    obj_party_otros.presento_factura)
                self.obj_form.ckbx_veraz_buscar.setChecked(
                    obj_party_otros.figura_veraz)
                self.obj_form.ckbx_jub_pens_buscar.setChecked(
                    obj_party_otros.es_jubilado_pensionado)

            else:

                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText(
                    "Error, el asociado no existe o el campo esta vacio.")
                msgBox.exec_()
                return False
    def buscar_garante(self):
        self.limpiar()
        number= self.obj_form.lne_garante_nro_doc_nuevo.text()
        obj_N_datos_garante= N_datos_personales_cliente()
        if number != "":
            try:
                numero_documento_garante= int(number)
            except:
                msgBox = QMessageBox()
                msgBox.about(self, 'Error , Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
                return False
            obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(str(numero_documento_garante))
            if obj_datos_garante != None:
                self.obj_form.lne_garante_apellido.setText(obj_datos_garante.apellido)
                self.obj_form.lne_garante_nombre.setText(obj_datos_garante.nombre)
                self.obj_form.lne_garante_estado.setText(obj_datos_garante.estado)
                self.obj_form.lne_garante_nro_doc.setText(obj_datos_garante.num_doc)
                obj_N_party_cliente = N_party_cliente(obj_datos_garante.id_party)
                nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(obj_datos_garante.id_party)
                self.obj_form.lne_garante_nro_cliente_2.setText(str(nro_cliente_garante))
                
                lista_garante_historial = list()
                obj_N_historial_garante = N_historial_garante(1)

                lista_garante_historial = obj_N_historial_garante.buscar_historial_garante(obj_datos_garante.id_party)
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                for item in lista_garante_historial:
                    rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                    self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 0, QTableWidgetItem(item.tipo_garante))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 1, QTableWidgetItem(item.estado_credito))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 2, QTableWidgetItem(str(item.nro_credito)))        
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 3, QTableWidgetItem(str(item.importe_prestamo)))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 4, QTableWidgetItem(str(item.nro_cliente)))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 5, QTableWidgetItem(item.num_doc))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 6, QTableWidgetItem(item.apellido))
                    self.obj_form.tw_garantes_lista.setItem(rowPosition , 7, QTableWidgetItem(item.nombre))
            else:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msg = 'Advertencia , Numero de documento inexistente'
                msgBox.setText(msg)
                msgBox.exec_()
                return False

        else :
            
            if self.obj_form.lne_garante_nro_cliente.text() != "":
                try:
                    garante_nro_cliente = int(self.obj_form.lne_garante_nro_cliente.text())
                    obj_N_party_cliente = N_party_cliente(1)
                    obj_party_cliente = obj_N_party_cliente.buscar_E_party_cliente_por_nro_cliente(garante_nro_cliente)
                    obj_N_datos_personales_cliente = N_datos_personales_cliente()
                    obj_party= obj_N_datos_personales_cliente.buscar_party_party_por_id(obj_party_cliente.id_party)
                    obj_datos_garante = obj_N_datos_garante.get_garante_habilitado_buscar(str(obj_party.nro_doc))
                    if obj_datos_garante != None:
                        self.obj_form.lne_garante_apellido.setText(obj_datos_garante.apellido)
                        self.obj_form.lne_garante_nombre.setText(obj_datos_garante.nombre)
                        self.obj_form.lne_garante_estado.setText(obj_datos_garante.estado)
                        self.obj_form.lne_garante_nro_doc.setText(obj_datos_garante.num_doc)
                        obj_N_party_cliente = N_party_cliente(obj_datos_garante.id_party)
                        nro_cliente_garante = obj_N_party_cliente.get_nro_cliente(obj_datos_garante.id_party)
                        self.obj_form.lne_garante_nro_cliente_2.setText(str(nro_cliente_garante))
                        
                        lista_garante_historial = list()
                        obj_N_historial_garante = N_historial_garante(1)

                        lista_garante_historial = obj_N_historial_garante.buscar_historial_garante(obj_datos_garante.id_party)
                        for item in lista_garante_historial:
                            rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                            self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 0, QTableWidgetItem(item.tipo_garante))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 1, QTableWidgetItem(item.estado_credito))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 2, QTableWidgetItem(str(item.nro_credito)))        
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 3, QTableWidgetItem(str(item.importe_prestamo)))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 4, QTableWidgetItem(str(item.nro_cliente)))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 5, QTableWidgetItem(item.num_doc))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 6, QTableWidgetItem(item.apellido))
                            self.obj_form.tw_garantes_lista.setItem(rowPosition , 7, QTableWidgetItem(item.nombre))
                except:
                    msgBox = QMessageBox()
                    msgBox.setWindowTitle("Atencion")
                    msgBox.setText('Error, Verificar Numero de cliente garante sin espacios y sin puntos ')
                    msgBox.exec_()
                    return False
示例#10
0
    def actualizar_cliente(self,id_party):

        #  party party
        if (self.obj_form.lne_apellido_actualizar.text() !="") and (self.obj_form.lne_nombre_actualizar.text() !="") and (self.obj_form.lne_nro_doc_actualizar.text() !="") and (self.obj_form.lne_nro_cliente.text() !=""):
            obj_N_datos_personales_cliente = N_datos_personales_cliente()

            obj_party_party=obj_N_datos_personales_cliente.buscar_party_party_por_id(self.obj_form.lne_id_party_actualizar.text())

            self.id_party = obj_party_party.id_party
            obj_party_party = N_datos_personales_cliente()

            obj_party_party.apellido = self.obj_form.lne_apellido_actualizar.text().upper()
            obj_party_party.nombre = self.obj_form.lne_nombre_actualizar.text().upper()


            obj_party_party.tipo_doc = self.obj_form.cbx_tipo_doc_actualizar.currentText()
            obj_party_party.nro_doc = self.obj_form.lne_nro_doc_actualizar.text()
            obj_party_party.estado_civil = self.obj_form.cbx_estado_civil_actualizar.currentText()
            obj_party_party.fec_nac = self.obj_form.dte_nacimiento_actualizar.text()
            obj_party_party.limite_credito = self.obj_form.lne_limite_credito_actualizar.text()
            obj_party_party.estado = self.obj_form.cbx_estado_actualizar.currentText()

            obj_N_datos_personales_cliente.actualizar_party_party(obj_party_party, self.id_party)
            obj_party_cliente = N_party_cliente(self.id_party)

            #pyqtRemoveInputHook()
            #import pdb; pdb.set_trace()
            obj_comentario = obj_party_cliente.actualizar_comentario(self.id_party, self.obj_form.txte_observaciones_actualizar.toPlainText())


            self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
            self.obj_form.lne_nro_cliente.setText(str(self.nro_cliente))
            #pyqtRemoveInputHook()
            #import pdb; pdb.set_trace()

            # tabla address
            ciudad = self.obj_form.lne_barrio_actualizar.text()
            obj_N_party_address = N_party_address(ciudad)
            obj_N_party_address.domicilio = self.obj_form.lne_domicilio_actualizar.text()
            obj_N_party_address.barrio = self.obj_form.lne_barrio_actualizar.text()
            obj_N_party_address.ciudad = self.obj_form.cbx_ciudad_actualizar.currentText()
            #boton guardar
            obj_party_address= N_party_address(ciudad)
            obj_party_address.actualizar_party_address(obj_N_party_address, self.id_party)

            # actualizo tabla contact

            obj_party_contacto3= N_party_contacto(1)

            obj_party_contacto3.type_contacto= "Telefono"
            obj_party_contacto3.value =self.obj_form.lne_telefono_actualizar.text()

            obj_party_contacto_email=N_party_contacto(1)
            obj_party_contacto_email.type_contacto="Email"
            obj_party_contacto_email.value= self.obj_form.lne_email_actualizar.text()


            obj_N_party_contacto=N_party_contacto(1)
            #obj_N_party_contacto.domicilio = self.obj_form.txte_observaciones_actualizar.text()
            obj_N_party_contacto.actualizar_party_contact(obj_party_contacto3, self.id_party)
            obj_N_party_contacto.actualizar_party_contact(obj_party_contacto_email, self.id_party)



            #actualizo party datos laborales



            organismo = self.obj_form.lne_organismo_actualizar.text()
            obj_N_datos_laborales = N_datos_laborales()
            obj_N_datos_laborales.sueldo = self.obj_form.lne_sueldo_actualizar.text()
            obj_N_datos_laborales.anti_laboral = self.obj_form.lne_antiguedad_actualizar.text()
            obj_N_datos_laborales.tel_laboral = self.obj_form.lne_telefono_laboral_actualizar.text()
            obj_N_datos_laborales.dom_laboral = self.obj_form.lne_domicilio_laboral_actualizar.text()
            obj_N_datos_laborales.organismo = self.obj_form.lne_organismo_actualizar.text()
            obj_N_datos_laborales.ocupacion = self.obj_form.lne_ocupacion_actualizar.text()
            obj_N_datos_laborales.categoria = self.obj_form.lne_categoria_actualizar.text()

            if self.obj_form.ckbx_recibo_sueldo_actualizar.isChecked():
                obj_N_datos_laborales.posee_recibo_sueldo = True
            else:
                obj_N_datos_laborales.posee_recibo_sueldo = False


            #boton guardar
            obj_datos_laborales= N_datos_laborales()
            obj_datos_laborales.actualizar_datos_laborales(obj_N_datos_laborales,self.id_party)


            # tabla party otros------------
            cuit = self.obj_form.lne_cuit_actualizar.text()
            obj_N_party_otros = N_party_otros(cuit)
            obj_N_party_otros.tipo_iva = self.obj_form.cbx_tipo_iva_actualizar.currentText()
            obj_N_party_otros.cuit = self.obj_form.lne_cuit_actualizar.text()
            obj_N_party_otros.cbu = self.obj_form.lne_cbu_actualizar.text()
            obj_N_party_otros.num_beneficio = self.obj_form.lne_nro_beneficio_actualizar.text()


            if self.obj_form.ckbx_facturas_actualizar.isChecked():
                obj_N_party_otros.presento_factura = True

            if self.obj_form.ckbx_veraz_actualizar.isChecked():
                obj_N_party_otros.figura_veraz = True

            if self.obj_form.ckbx_jub_pens_actualizar.isChecked():
                obj_N_party_otros.es_jubilado_pensionado = True

            #if self.obj_form.ckbx_monotributista_actualizar.isChecked():
             #   obj_N_party_otros.monotributista = True

            #if self.obj_form.ckbx_cliente_bloqueado_actualizar.isChecked():
             #   obj_N_party_otros.cliente_bloqueado = True

            #boton guardar
            obj_party_otros= N_party_otros(cuit)
            obj_party_otros.actualizar_party_otros(obj_N_party_otros,self.id_party)

            #grilla actualizar

            obj_N_garante = N_party_garante(1)
            obj_N_garante.actualizar_lista_garante(self.list_garante, self.nro_cliente)

            #lne_archivo
            if self.obj_form.lne_archivo.text() != self.descripcion_archivo:

                nom_archivo = self.get_nom_archivo()
                #Actualizar archivo


                obj_config = configuracion()


                file_path = obj_config.ruta_server()+"/comprobantes"
                if not os.path.exists(file_path):
                   os.makedirs(file_path)

                obj_archivo= E_archivo()
                obj_archivo.id_party= self.id_party
                obj_archivo.descripcion = file_path + nom_archivo
                obj_archivo.tipo_doc = "Comprobante creditos pre-existentes"
                obj_archivo.fec_create = datetime.date.today()

                obj_E_archivo = E_archivo()
                obj_E_archivo.actualizar(obj_archivo)

                cnopts = pysftp.CnOpts()
                cnopts.hostkeys = None

                try:
                    with pysftp.Connection(host=obj_config.host_server(), username=obj_config.usu_server(), password=obj_config.pass_server(),cnopts=cnopts) as sftp:
                        #sftp.put('/home/user/Documentos/credired/vencimientos/prueba.txt', '/home/user/Documentos/prueba.txt', confirm=True, preserve_mtime=False)  # upload file to public/ on remote
                        #sftp.put_r('/home/user/Documentos/credired/vencimientos', '/home/user/Documentos/', confirm=True, preserve_mtime=False)
                        sftp.put(self.obj_form.lne_archivo.text(), obj_archivo.descripcion, confirm=True, preserve_mtime=False)  # upload file to public/ on remote
                except:
                    msgBox = QMessageBox()
                    msgBox.setWindowTitle("Aviso")
                    msgBox.setText("No se pudo actulizar el archivo")
                    msgBox.exec_()


            msgBox = QMessageBox()
            msgBox.setWindowTitle("Aviso")
            msgBox.setText("Cliente actualizado.")
            msgBox.exec_()
        else:
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Advertencia")
            msgBox.setText("Revisar campos obligatorios: Nombre, Apellido y Dni.")
            msgBox.exec_()
示例#11
0
    def buscar_cliente(self,id_party):
        self.limpiar()
        numero_documento_cliente= self.obj_form.lne_dni_filtro_actualizar.text()
        try:
            numero_documento=int(numero_documento_cliente)
        except:
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Atencion")
            msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
            msgBox.exec_()

        obj_N_datos_personales_cliente = N_datos_personales_cliente()
        obj_party_party=obj_N_datos_personales_cliente.buscar_party_party_por_nro_doc(self.obj_form.lne_dni_filtro_actualizar.text())

        if obj_party_party != False:
            self.obj_form.tab_widget_actualizar_cliente.setEnabled(True)
            self.obj_form.lne_id_party_actualizar.setText(str(obj_party_party.id_party))
            self.id_party = obj_party_party.id_party
            self.obj_form.lne_apellido_actualizar.setText(obj_party_party.apellido)
            self.obj_form.lne_nombre_actualizar.setText(obj_party_party.nombre)
            index_tipo_doc=self.obj_form.cbx_tipo_doc_actualizar.findText(str(obj_party_party.tipo_doc))
            self.obj_form.cbx_tipo_doc_actualizar.setCurrentIndex(index_tipo_doc)
            self.obj_form.lne_dni_filtro_actualizar.setText(obj_party_party.num_doc)
            self.obj_form.lne_nro_doc_actualizar.setText(obj_party_party.num_doc)
            index_estado= self.obj_form.cbx_estado_actualizar.findText(str(obj_party_party.estado))
            self.obj_form.cbx_estado_actualizar.setCurrentIndex(index_estado)
            self.obj_form.dte_nacimiento_actualizar.setDate(obj_party_party.fec_nac)
            index_estado_civil= self.obj_form.cbx_estado_civil_actualizar.findText(obj_party_party.estado_civil)
            self.obj_form.cbx_estado_civil_actualizar.setCurrentIndex(index_estado_civil)
            self.obj_form.lne_limite_credito_actualizar.setText(str(obj_party_party.limite_credito))
            #tabla party adddreeeeeesssss actualizar
            obj_N_party_address= N_party_address(1)
            #pyqtRemoveInputHook()
            #import pdb; pdb.set_trace()
            obj_party_address = obj_N_party_address.get_party_address(self.id_party)
            self.obj_form.lne_domicilio_actualizar.setText(obj_party_address.domicilio)
            index_ciudad=self.obj_form.cbx_ciudad_actualizar.findText(str(obj_party_address.ciudad))
            self.obj_form.cbx_ciudad_actualizar.setCurrentIndex(index_ciudad)
            self.obj_form.lne_barrio_actualizar.setText(obj_party_address.barrio)
            #tabla contacto

            #VER EL OBSERVACIONES

            obj_n_cliente = N_party_cliente(1)
            obj_comentario = obj_n_cliente.get_party_cliente(self.id_party)
            self.obj_form.txte_observaciones_actualizar.setText(obj_comentario.comment)

            obj_N_party_contacto= N_party_contacto(1)
            list_party_contacto= obj_N_party_contacto.get_list_party_contacto(self.id_party)
            for item in list_party_contacto:
                if item.type_contacto == "Telefono":
                    self.obj_form.lne_telefono_actualizar.setText(item.value)
                if item.type_contacto=="Email":
                    self.obj_form.lne_email_actualizar.setText(item.value)

            #party cliente
            obj_N_party_cliente= N_party_cliente(1)
            obj_party_cliente=obj_N_party_cliente.get_party_cliente(self.id_party)
            self.obj_form.lne_nro_cliente.setText(str(obj_party_cliente.nro_cliente))
            #datos laborales
            obj_N_datos_laborales=N_datos_laborales()
            obj_datos_laborales= obj_N_datos_laborales.get_datos_laborales(self.id_party)
            self.obj_form.lne_ocupacion_actualizar.setText(obj_datos_laborales.ocupacion)
            self.obj_form.lne_organismo_actualizar.setText(obj_datos_laborales.organismo)
            self.obj_form.lne_telefono_laboral_actualizar.setText(obj_datos_laborales.tel_laboral)
            self.obj_form.lne_domicilio_laboral_actualizar.setText(obj_datos_laborales.dom_laboral)
            self.obj_form.lne_sueldo_actualizar.setText(str(obj_datos_laborales.sueldo))
            #pyqtRemoveInputHook()
            #import pdb; pdb.set_trace()
            self.obj_form.lne_antiguedad_actualizar.setText(obj_datos_laborales.anti_laboral)
            self.obj_form.lne_categoria_actualizar.setText(obj_datos_laborales.categoria)
            self.obj_form.ckbx_recibo_sueldo_actualizar.setChecked(obj_datos_laborales.posee_recibo_sueldo)
            #party otros
            obj_N_otros_datos_actualizar= N_party_otros(1)
            obj_party_otros=obj_N_otros_datos_actualizar.get_party_otros(self.id_party)
            index_tipo_iva=self.obj_form.cbx_tipo_iva_actualizar.findText(str(obj_party_otros.tipo_iva))
            self.obj_form.cbx_tipo_iva_actualizar.setCurrentIndex(index_tipo_iva)
            self.obj_form.lne_cuit_actualizar.setText(obj_party_otros.cuit)
            self.obj_form.lne_cbu_actualizar.setText(obj_party_otros.cbu)
            self.obj_form.lne_nro_beneficio_actualizar.setText(obj_party_otros.num_beneficio)
            self.obj_form.ckbx_facturas_actualizar.setChecked(obj_party_otros.presento_factura)
            self.obj_form.ckbx_veraz_actualizar.setChecked(obj_party_otros.figura_veraz)
            #self.obj_form.ckbx_monotributista_actualizar.setChecked(obj_party_otros.monotributista)
            #self.obj_form.ckbx_cliente_bloqueado_actualizar.setChecked(obj_party_otros.cliente_bloqueado)
            self.obj_form.ckbx_jub_pens_actualizar.setChecked(obj_party_otros.es_jubilado_pensionado)


            #busca ruta de archivo
            #pyqtRemoveInputHook()
            #import pdb; pdb.set_trace()
            obj_e_archivo = E_archivo()
            obj_archivo = obj_e_archivo.get_nombre_archivo(self.id_party)
            try:
                self.obj_form.lne_archivo.setText(obj_archivo.descripcion)
                self.descripcion_archivo = obj_archivo.descripcion
            except:
                self.obj_form.lne_archivo.setText("")


            #busca garantes y carga la grilla
            obj_N_garante= N_party_garante(1)
            self.list_garante = obj_N_garante.get_list_party_garante(obj_party_cliente.nro_cliente)
            for item in self.list_garante :
                nro_cliente = item.nro_cliente
                tipo_garante = item.tipo_garante
                comment = item.comment
                obj_N_datos_personales_cliente=N_datos_personales_cliente()
                obj_datos_personales_cliente = obj_N_datos_personales_cliente.buscar_party_party_por_id(item.id_party_garante)

                #AGREGAR REGISTROS EN LA GRILLA
                #pyqtRemoveInputHook()
                #import pdb; pdb.set_trace()
                rowPosition = self.obj_form.tw_garantes_lista.rowCount()
                self.obj_form.tw_garantes_lista.insertRow(rowPosition)
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 0, QTableWidgetItem(obj_datos_personales_cliente.estado))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 1, QTableWidgetItem(item.tipo_garante))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 2, QTableWidgetItem(str(obj_party_cliente.nro_cliente)))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 3, QTableWidgetItem(obj_datos_personales_cliente.apellido))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 4, QTableWidgetItem(obj_datos_personales_cliente.nombre))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 5, QTableWidgetItem(obj_datos_personales_cliente.nro_doc))
                self.obj_form.tw_garantes_lista.setItem(rowPosition , 6, QTableWidgetItem(comment))
        else:
            msgBox = QMessageBox()
            msgBox.setText('Error numero de DNI inexistente')
            msgBox.exec_()
    def buscar_cliente_por_dni(self):
        self.limpiar()

        numero_dni= self.obj_form.lne_nro_doc_creditonuevo.text()
        obj_N_datos_cliente= N_creditos("a")
        if numero_dni != "":
            try:
                numero_documento_cliente= int(numero_dni)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
                return False
        elif numero_dni == "" :
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Atencion")
            msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
            msgBox.exec_()
            return False

        obj_N_datos_personales_cliente = N_datos_personales_cliente()

        obj_party_party=obj_N_datos_personales_cliente.buscar_party_party_por_nro_doc(numero_documento_cliente)

        if obj_party_party != False:
            #self.obj_form.lne_party_party.setText()
            self.id_party = obj_party_party.id_party
            obj_party_cliente= N_party_cliente(1)
            self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
            obj_N_garante =N_party_garante(1)
            lista_garantes = obj_N_garante.get_list_party_garante(self.nro_cliente)
            for item in lista_garantes:
                obj_party_garante = obj_N_datos_personales_cliente.buscar_party_party_por_id(item.id_party_garante)
                valor = str(item.id_party_garante) + ", " + obj_party_garante.nombre + ", " + obj_party_garante.apellido + ", " + obj_party_garante.nro_doc
                self.obj_form.cbx_garante_creditonuevo.addItem(valor)
                #.append(item)

            self.obj_form.lne_nom_ape.setText(obj_party_party.nombre+ ", " + obj_party_party.apellido)
            self.obj_form.dte_fec_creditonuevo.setDate(datetime.datetime.now())
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setDate(datetime.datetime.now())

            self.id_party= obj_party_party.id_party
            self.obj_form.lne_nro_creditonuevo_2.setText(str(self.id_party))
            obj_party_cliente= N_party_cliente(1)
            self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
            self.obj_form.lne_nro_creditonuevo.text()
            self.obj_form.dte_fec_creditonuevo.setEnabled(True)
            self.obj_form.cbx_formula_creditonuevo.setEnabled(True)
            self.obj_form.spbx_tasa_creditonuevo.setEnabled(True)
            self.obj_form.lne_nro_creditonuevo.setEnabled(True)
            self.obj_form.lne_importe_prestamo_creditonuevo.setEnabled(True)
            self.obj_form.spbx_cantidad_cuotas_creditonuevo.setEnabled(True)
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setEnabled(True)
            self.obj_form.boton_generar_creditonuevo.setEnabled(True)
            self.obj_form.tw_lista_cuotas_creditonuevo.setEnabled(True)
            self.obj_form.lne_observaciones_creditonuevo.setEnabled(True)
            self.obj_form.lne_interes_creditonuevo.setEnabled(True)
            self.obj_form.lne_gastos_creditonuevo.setEnabled(True)
            self.obj_form.lne_credito_total_creditonuevo.setEnabled(True)
            self.obj_form.boton_grabar_creditonuevo.setEnabled(True)
            self.obj_form.boton_limpiar_creditonuevo.setEnabled(True)
        else:
            self.obj_form.dte_fec_creditonuevo.setEnabled(False)
            self.obj_form.lne_nro_creditonuevo.setEnabled(False)
            self.obj_form.cbx_formula_creditonuevo.setEnabled(False)
            self.obj_form.spbx_tasa_creditonuevo.setEnabled(False)
            self.obj_form.lne_importe_prestamo_creditonuevo.setEnabled(False)
            self.obj_form.spbx_cantidad_cuotas_creditonuevo.setEnabled(False)
            self.obj_form.dte_vto_primer_cuota_creditonuevo.setEnabled(False)
            self.obj_form.boton_generar_creditonuevo.setEnabled(False)
            self.obj_form.tw_lista_cuotas_creditonuevo.setEnabled(False)
            self.obj_form.lne_observaciones_creditonuevo.setEnabled(False)
            self.obj_form.lne_interes_creditonuevo.setEnabled(False)
            self.obj_form.lne_gastos_creditonuevo.setEnabled(False)
            self.obj_form.lne_credito_total_creditonuevo.setEnabled(False)
            self.obj_form.boton_grabar_creditonuevo.setEnabled(False)
            self.obj_form.boton_limpiar_creditonuevo.setEnabled(False)
            msgBox = QMessageBox()
            msgBox.setWindowTitle("Atencion")
            msgBox.setText('Error numero de DNI inexistente')
            msgBox.exec_()
    def guardar(self):
        apellido = self.obj_form_cliente.lne_apellido.text()
        nombre = self.obj_form_cliente.lne_nombre_nuevo.text()
        nro_dni =  self.obj_form_cliente.lne_nro_doc.text()
        if (apellido != "") and (nombre != "") and (nro_dni != ""):
            numero_documento_cliente= self.obj_form_cliente.lne_nro_doc.text()
            try:
                numero_documento= int(numero_documento_cliente)
            except:
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Atencion")
                msgBox.setText('Ingresar nuevamente el numero de documento sin espacios y sin puntos')
                msgBox.exec_()
                return False

            obj_N_datos_personales_cliente = N_datos_personales_cliente() 
            obj_N_datos_personales_cliente.nombre =  nombre.upper()
            obj_N_datos_personales_cliente.apellido = self.obj_form_cliente.lne_apellido.text().upper()
            obj_N_datos_personales_cliente.fec_nac = self.obj_form_cliente.dte_nacimiento.text()
            obj_N_datos_personales_cliente.tipo_doc = self.obj_form_cliente.cbx_tipo_doc.currentText()
            obj_N_datos_personales_cliente.nro_doc = numero_documento
            obj_N_datos_personales_cliente.estado_civil = self.obj_form_cliente.cbx_estado_civil.currentText()
            if self.obj_form_cliente.lne_limite_credito.text() !="":
                try:
                    limite_credito= float(self.obj_form_cliente.lne_limite_credito.text())
                    obj_N_datos_personales_cliente.limite_credito = limite_credito
                except:
                    obj_N_datos_personales_cliente.limite_credito = 0

            obj_N_datos_personales_cliente.estado = self.obj_form_cliente.cbx_estado.currentText()
            #boton guardar
            obj_N_datos_personales_cliente.id = self.id_usu

            self.id_party=N_datos_personales_cliente().guardar(obj_N_datos_personales_cliente)



            if self.id_party != "False" :
                obj_party_cliente = N_party_cliente(self.id_party)

                obj_party_cliente.guardar_N_party_cliente(self.obj_form_cliente.txte_observaciones.toPlainText(), self.id_party)
                
                self.nro_cliente = obj_party_cliente.get_nro_cliente(self.id_party)
                self.obj_form_cliente.lne_nro_cliente.setText(str(self.nro_cliente))

                obj_party_contacto3= N_party_contacto(1)

                obj_party_contacto3.type_contacto= "Telefono"
                obj_party_contacto3.value =self.obj_form_cliente.lne_telefono.text()

                obj_party_contacto_email=N_party_contacto(1)
                obj_party_contacto_email.type_contacto="Email"
                obj_party_contacto_email.value= self.obj_form_cliente.lne_email.text()

                
                obj_N_party_contacto=N_party_contacto(1)
                obj_N_party_contacto.guardar(obj_party_contacto3, self.id_party)
                obj_N_party_contacto.guardar(obj_party_contacto_email, self.id_party)
                  
                ciudad = self.obj_form_cliente.lne_barrio.text()
                obj_N_party_address = N_party_address(ciudad)
                obj_N_party_address.domicilio = self.obj_form_cliente.lne_domicilio.text()
                obj_N_party_address.barrio = self.obj_form_cliente.lne_barrio.text()
                obj_N_party_address.ciudad = self.obj_form_cliente.cbx_ciudad.currentText()
                    #boton guardar

                obj_party_address= N_party_address(ciudad)
                obj_party_address.guardar(obj_N_party_address, self.id_party)



                organismo = self.obj_form_cliente.lne_organismo.text()
                obj_N_datos_laborales = N_datos_laborales()
                if self.obj_form_cliente.lne_sueldo.text() != "":
                    try:
                        sueldo = float(self.obj_form_cliente.lne_sueldo.text()) 
                        obj_N_datos_laborales.sueldo = sueldo
                    except :
                        obj_N_datos_laborales.sueldo = 0
               
                obj_N_datos_laborales.anti_laboral = self.obj_form_cliente.lne_antiguedad.text()
                obj_N_datos_laborales.tel_laboral = self.obj_form_cliente.lne_telefono_laboral.text()
                obj_N_datos_laborales.dom_laboral = self.obj_form_cliente.lne_domicilio_laboral.text()
                obj_N_datos_laborales.organismo = self.obj_form_cliente.lne_organismo.text()
                obj_N_datos_laborales.ocupacion = self.obj_form_cliente.lne_ocupacion.text()
                obj_N_datos_laborales.categoria = self.obj_form_cliente.lne_categoria.text()

                if self.obj_form_cliente.ckbx_recibo_sueldo_nuevo.isChecked():
                    obj_N_datos_laborales.posee_recibo_sueldo = True
                else:
                    obj_N_datos_laborales.posee_recibo_sueldo = False
                

                #boton guardar
                obj_datos_laborales= N_datos_laborales()
                obj_datos_laborales.guardar(obj_N_datos_laborales,self.id_party)

                

                #//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7
                cuit = self.obj_form_cliente.lne_cuit.text()
                obj_N_party_otros = N_party_otros(cuit)
                obj_N_party_otros.tipo_iva = self.obj_form_cliente.cbx_tipo_iva.currentText()
                obj_N_party_otros.cuit = self.obj_form_cliente.lne_cuit.text()
                obj_N_party_otros.cbu = self.obj_form_cliente.lne_cbu.text()
                obj_N_party_otros.num_beneficio = self.obj_form_cliente.lne_nro_beneficio.text()


                if self.obj_form_cliente.ckbx_facturas.isChecked():
                    obj_N_party_otros.presento_factura = True

                if self.obj_form_cliente.ckbx_veraz.isChecked():
                    obj_N_party_otros.figura_veraz = True

                if self.obj_form_cliente.ckbx_jub_pens.isChecked():
                    obj_N_party_otros.es_jubilado_pensionado = True
            

                #boton guardar
                obj_party_otros= N_party_otros(cuit)
                obj_party_otros.guardar(obj_N_party_otros,self.id_party)


                #boton guardar

                obj_party_garante2 = N_party_garante("A")
                obj_party_garante2.guardar(self.list_garante,self.nro_cliente)

                self.obj_form_cliente.lne_nro_cliente.setText(str(self.nro_cliente))
               
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Aviso")
                msgBox.setText("Cliente se guardo correctamente. Nro. " + str(self.nro_cliente))
                msgBox.exec_()

            else: 
                msgBox = QMessageBox()
                msgBox.setWindowTitle("Error")
                msgBox.setText("No se pudo grabar: Numero de documento duplicado, actualice los datos")
                msgBox.exec_()

        else:
             msgBox = QMessageBox()
             msgBox.setWindowTitle("Advertencia")
             msgBox.setText("Revisar campos obligatorios: Nombre, Apellido y Dni.")
             msgBox.exec_()