def confirmar_produccion(cls, id, cant, kind):
        try:
            fecha = datetime.now()
            idNuevaProd = DatosProduccion.add(id, fecha, cant, kind)
            if kind == "art":
                #sumar stock art
                DatosArticulo.addStock(id, cant)

                #restar stock ins
                insumos = DatosCantInsumo.get_from_TAid(id)
                for i in insumos:
                    DatosCantInsumo.addComponenteUtilizado(
                        i.idInsumo, idNuevaProd, i.cantidad * cant)
                    DatosInsumo.removeStock(i.idInsumo, i.cantidad * cant)

            elif kind == "ins":
                #sumar stock ins
                DatosInsumo.addStock(id, cant)

                #restar stock mat
                materiales = DatosCantMaterial.get_from_Insid(id)
                for m in materiales:
                    DatosCantMaterial.addComponenteUtilizado(
                        m.idMaterial, idNuevaProd, m.cantidad * cant)
                    DatosMaterial.removeStock(m.idMaterial, m.cantidad * cant)
        except Exception as e:
            raise e
    def update_estado(cls, id, estado):
        try:
            DatosPedido.update_estado(id, estado)
            if estado == "cancelado":
                result = DatosPedido.get_one(id)
                pedido = result[0]
                id_usuario = result[1]

                #Devovler EPs a User
                NegocioUsuario.addEP(id_usuario, pedido.totalEP)

                #Devolver Stock al articulo
                for art in pedido.articulos:
                    DatosArticulo.addStock(art.idTipoArticulo, art.cantidad)

        except Exception as e:
            raise e