Esempio n. 1
0
    def estadoConexion(self, url_entrega, url_confirm, user, password):
        """
        Cambio de estado inicializacion a estado conexion, se crean las conexiones a los Web services.
        """
        if self.state == "Inicializacion":

            try:
                self.conexion = WSHandler_InfoEntrega(url_entrega, user, password)
                self.conexion2 = WSHandler_ConfirmarEntrega(url_confirm, user, password)
                self.state = "Conexion"
            except:
                self.estadoInicializacion()
                self.message = "Error al crear la conexion"
Esempio n. 2
0
class Model(object):
    """
    classdocs
    """

    def __init__(self):
        """
        Constructor
        """
        self.estadoInicializacion()

    def estadoInicializacion(self):
        # estos datos se deberan tomar de alguna parte por ahora van quemados
        self.state = "Inicializacion"
        self.message = ""
        self.conexion = None
        self.entrega = None
        self.conexion2 = None

    def estadoConexion(self, url_entrega, url_confirm, user, password):
        """
        Cambio de estado inicializacion a estado conexion, se crean las conexiones a los Web services.
        """
        if self.state == "Inicializacion":

            try:
                self.conexion = WSHandler_InfoEntrega(url_entrega, user, password)
                self.conexion2 = WSHandler_ConfirmarEntrega(url_confirm, user, password)
                self.state = "Conexion"
            except:
                self.estadoInicializacion()
                self.message = "Error al crear la conexion"

    def estadoDatosDeEntrega(self, entrega):
        """
        Si se esta en el estado conexion, busca un numero de entrega y trae la informacion de SAP 
        """
        if self.state == "Conexion":

            """
            result = self.conexion.getInfo(entrega)
            print result
            data = DatosDeEntrega(result)
            self.entrega = Entrega(data,entrega)
            self.state = "Entrega Lista"

                
            if  self.entrega.picking == 'X':
                self.estadoInicializacion()
                self.message = "Error: Entrega con Picking"
                
            else:
                self.message = "Entrega = " + entrega

            
            """
            try:
                result = self.conexion.getInfo(entrega)
                print result
                data = DatosDeEntrega(result)
                self.entrega = Entrega(data, entrega)
                self.state = "Entrega Lista"

                if self.entrega.picking == "X":
                    self.estadoInicializacion()
                    self.message = "Error: Entrega con Picking"

                else:
                    self.message = "Entrega = " + entrega

            except:
                self.estadoInicializacion()
                self.message = "Error: No se puede realizar la conexion con el servidor"

    def estadoIngresarCodigo(self, codigo, modo):
        """
        Aqui se ingresan los Codigos de barra y se suman las cantidades
        """
        if self.state == "Entrega Lista":

            try:
                # print self.state
                if modo == "agregar":
                    self.entrega.agregarCodigo(codigo)

            except:
                self.message = "Error: Codigo incorrecto"

    def estadoConfirmarEntrega(self):
        """
        Se prepara el paquete a ser enviado por web service a SAP
        """
        if self.state == "Entrega Lista":

            try:
                self.numero_entrega, self.items_entrega = self.entrega.finalizarEntrega()

                if self.items_entrega == []:
                    raise Exception
                else:
                    self.state = "Paquete Listo"
            except:
                self.message = "Error: no se pueden preparar los datos de la entrega"

    def estadoEnviarEntrega(self):
        """
        Se envia el paquete por webservice a SAP.
        """
        if self.state == "Paquete Listo":
            try:
                result = self.conexion2.confirmarEntrega(self.numero_entrega, self.items_entrega)

                if result.OKDATA == "X":
                    self.message = (
                        "Error: La entrega " + str(self.numero_entrega) + " se debe confirmar de manera manual"
                    )
                else:
                    self.estadoInicializacion()
                    self.message = "Entrega Confirmada"
            except:
                self.message = "Error: no se puede comunicar con el servidor"