def division(a, b): b1 = Conjugado.conjugado(b) axb1 = producto.producto(a,b1) bxb1 = producto.producto(b,b1) axb1 = componentes.componentes(axb1) bxb1 = componentes.componentes(bxb1)[0] real = axb1[0]/bxb1 imaginario = axb1[1]/bxb1 return resultado(real, imaginario)
def agregar_producto(self, codigo, cantidad, descuento): r = 1 #regresar para ver si pasa el producto True para pasa false para algun error codigo = str(codigo) if codigo in self.productos.keys(): self.productos[codigo].cantidad += cantidad self.productos[codigo].descuento = descuento self.productos[codigo].actualizar_subtotal() else: self.productos[codigo] = producto(codigo) if self.productos[codigo].existe: self.productos[codigo].cantidad = cantidad self.productos[codigo].descuento = descuento if self.productos[codigo].existencia - self.productos[codigo].cantidad < 0: r = 0 self.productos[codigo].cantidad -= cantidad del(self.productos[codigo]) return 0 self.productos[codigo].actualizar_subtotal() else: del(self.productos[codigo]) r = -1 self.actualizar_total() return r
def recuperar_datos(self): query = QSqlQuery() sql = "select cliente_id,fecha,hora,notas from ventas where venta_id=%d" % self.id if not query.exec_(sql): print "Error al obtener venta." return g = lambda x:query.value(x).toString() query.next() self.cliente_id = int(g(0)) self.fecha = g(1) self.hora = g(2) self.notas = g(3) self.productos = {} sql = """ select codigo,cantidad,descuento from detalle_ventas where venta_id=%d""" % self.id query.exec_(sql) for i in range(query.size()): query.next() asd = str(g(0)) self.productos[asd] = producto(g(0)) self.productos[asd].cantidad = int(g(1)) self.productos[asd].descuento = int(g(2)) self.productos[asd].actualizar_subtotal() self.actualizar_total()
def agregar_producto(self): codigo = self.line_codigo.text() if len(codigo) < 3: self.line_codigo.clear() return cantidad = 1 if len(codigo.split('*')) == 1: cantidad = 1 else: cantidad = int(codigo.split('*')[0]) codigo = str(codigo.split('*')[1]) descuento = 0 if len(codigo.split('/')) == 2: descuento = int(codigo.split('/')[0]) codigo = str(codigo.split('/')[1]) if producto(codigo).existe: resultado = self.venta.agregar_producto(codigo, cantidad, descuento) if resultado == 0: gg = QMessageBox() gg.setText("Error al agregar producto, no existe o la cantidad excedio la existencia") gg.setStandardButtons(gg.Ok) gg.setWindowTitle("CopyTodo - Advertencia") gg.exec_() self.line_codigo.clear() self.line_codigo.setFocus() else: self.line_codigo.clear() self.line_codigo.setFocus() self.actualizar_productos() else: gg = QMessageBox() gg.setText("Producto no existe desea Agregarlo??") gg.setStandardButtons(gg.Ok | gg.Cancel) gg.setWindowTitle("CopyTodo - Producto Nuevo?") gg.exec_() if gg.result() == gg.Ok: self.vap = ventana_nuevo_producto() self.vap.line_codigo.setText(codigo) self.vap.line_codigo.setEnabled(False) self.vap.llamado = True self.vap.show() else: self.line_codigo.setFocus() self.line_codigo.clear()
def __init__(self,codigo=None,edicion=False): QDialog.__init__(self) self.setupUi(self) if codigo==None: self.producto=producto(-1) else: self.producto=producto(codigo) if edicion==False: self.pb_aceptar.clicked.connect(self.nuevo_producto) else: self.llenar_campos() self.line_codigo.setEnabled(False) self.pb_aceptar.clicked.connect(self.finalizar_edicion) self.sb_existencia.setMaximum(999) self.dsb_precio.setMaximum(99999) self.pb_cancelar.clicked.connect(self.salir) self.llamado=False self.pb_aceptar.setIcon(QIcon("imagenes/enviar.png")) self.pb_cancelar.setIcon(QIcon("imagenes/cancelar.png"))
def ProductoMatrices(matrizA, matrizB): if len(matrizA[0]) != len(matrizB): return (-1) else: matrizProducto = [["" for j in range(len(matrizA[0]))] for i in range(len(matrizA))] for i in range(len(matrizA)): for j in range(len(matrizA[0])): res = "0+0i" for k in range(len(matrizA[0])): multi = producto.producto(matrizA[i][k], matrizB[k][j]) res = Suma.suma(res, str(multi)) matrizProducto[i][j] = res return matrizProducto
def eliminar_producto(self): codigo = self.modelo.record(self.table_resultados.currentIndex().row()).value("codigo").toString() if len(codigo)>=3: gg=QMessageBox() gg.setText("Seguro que deseas eliminar este producto??") gg.setStandardButtons(gg.Ok|gg.Cancel) gg.setDefaultButton(gg.Cancel) gg.setWindowTitle("Eliminar Producto.") gg.exec_() if gg.result()==gg.Ok: p=producto(codigo) if p.eliminar_producto(): gg.setText("Producto eliminado.") gg.setStandardButtons(gg.Ok) gg.exec_() self.actualizar_tabla() else: gg.setText("Error al Eliminar producto.") gg.setStandardButtons(gg.Ok) gg.exec_()
def test_mult1(self): self.assertEqual(producto.producto("15-28i", "24-44i"), "-872 - 1332i")
def test_mult(self): self.assertEqual(producto.producto("2+2i", "2+4i"), "-4 + 12i")
def test_mult4(self): self.assertEqual(producto.producto("-0+0i", "-0+0i"), "0 + 0i")
def test_mult3(self): self.assertEqual(producto.producto("-100-1i", "-9-8i"), "892 + 809i")
def test_mult2(self): self.assertEqual(producto.producto("78+26i", "27-98i"), "4654 - 6942i")
def ProductoInterno(vector1,vector2): res = "0+0i" for i in range(len(vector1)): res = Suma.suma(res,producto.producto(vector1[i],vector2[i])) return res