Exemple #1
0
    def __init__(self, ticket_type_id, allow_manual, parent):
        super(NewTicket, self).__init__(parent)
        config = configparser.ConfigParser()
        settings_path = os.path.abspath(os.path.dirname(__file__))
        config.read(os.path.join(settings_path, 'settings.ini'))

        self.api = parent.api
        self.ticket_type_id = ticket_type_id
        self.ui = Ui_NewTicket()
        self.ui.setupUi(self)
        if ticket_type_id == 1:
            self.setWindowTitle("Nueva Recepción")
        else:
            self.setWindowTitle("Nuevo Despacho")
        self.setModal(True)

        self.driver = None
        self.truck = None

        if not allow_manual:
            self.ui.manualCheckBox.hide()

        self.api.createDriverFinished.connect(self.setDriver)
        self.api.createTruckFinished.connect(self.setTruck)
        self.ui.addDriverButton.clicked.connect(self.addDriver)
        self.ui.addTruckButton.clicked.connect(self.addTruck)
        self.ui.manualCheckBox.stateChanged.connect(self.setManualCapture)
        self.ui.createTicketButton.clicked.connect(self.createTicket)
        self.ui.cancelButton.clicked.connect(self.reject)

        self.st = SerialThread(config.get('Serial', 'PortName'),
                               config.get('Serial', 'Regex'),
                               config.getint('Serial', 'Baudrate'),
                               config.get('Serial', 'Parity'),
                               config.getint('Serial', 'Bytesize'),
                               config.getboolean('Serial', 'Simulate'))
        self.st.dataReady.connect(self.getWeight, QtCore.Qt.QueuedConnection)
        self.st.start()
Exemple #2
0
    def __init__(self, ticket_data, allow_manual, parent):
        super(CloseTicket, self).__init__(parent)
        config = configparser.ConfigParser()
        settings_path = os.path.abspath(os.path.dirname(__file__))
        config.read(os.path.join(settings_path, 'settings.ini'))

        self.tolerance = config.getint('Other', 'Tolerance')
        self.api = parent.api

        self.ticket = ticket_data['ticket']
        self.previous_incoming_weight = self.ticket.incoming_weight
        self.allow_manual = allow_manual
        self.ui = Ui_CloseTicket()
        self.ui.setupUi(self)
        self.setModal(True)

        if hasattr(self.ticket, 'client'):
            self.setClient(self.ticket.client)

        if ticket_data['weight_captured']:
            self.ui.captureWeightButton.setChecked(True)
            self.ui.outgoingWeightSpinBox.setValue(self.ticket.outgoing_weight)

        self.old_driver = self.ticket.driver
        self.old_truck = self.ticket.truck

        self.reception_diff = self.dispatch_diff = self.max_diff = 0.5
        self.diff_ok = False
        self.transactions_diff_ok = False
        self.transactions_diff = 999

        self.api.getSettingsFinished.connect(self.updateSettings)
        self.api.get_settings()

        self.api.getFeaturesFinished.connect(self.updateFeatures)
        self.api.get_features()

        self.api.getDocumentTypesFinished.connect(self.updateDocumentTypes)
        self.api.get_document_types()

        if not self.allow_manual:
            self.ui.manualCheckBox.hide()

        self.ui.addressWidget.hide()
        self.ui.documentTypeWidget.hide()
        self.ui.numberLineEdit.setText(str(self.ticket.number))
        self.ui.driverLineEdit.setText(
            "%s - %s" % (self.ticket.driver.ci, self.ticket.driver.name))
        self.ui.truckLineEdit.setText(
            "%s - %s" %
            (self.ticket.truck.license_plate, self.ticket.truck.carrier.name))
        self.ui.incomingWeightSpinBox.setValue(self.ticket.incoming_weight)
        self.ui.commentPlainTextEdit.setPlainText(self.ticket.comment)

        self.transactionsTableModel = TransactionsTableModel(
            self.ticket.transactions_attributes, ticket_data['lots'], self)
        self.ui.transactionsTableView.setModel(self.transactionsTableModel)

        horizontalHeader = self.ui.transactionsTableView.horizontalHeader()
        horizontalHeader.resizeSection(0, 80)
        horizontalHeader.resizeSection(1, 80)
        horizontalHeader.setResizeMode(2, QtGui.QHeaderView.Stretch)
        horizontalHeader.resizeSection(3, 50)
        horizontalHeader.resizeSection(4, 50)
        horizontalHeader.resizeSection(5, 80)

        if self.ticket.ticket_type_id == 1:
            self.ui.receptionButton.setChecked(True)
        else:
            self.ui.dispatchButton.setChecked(True)

        self.ui.changeDriverButton.clicked.connect(self.changeDriver)
        self.ui.changeTruckButton.clicked.connect(self.changeTruck)
        self.ui.addClientButton.clicked.connect(self.addClient)
        self.ui.manualCheckBox.stateChanged.connect(self.setManualCapture)
        self.ui.outgoingWeightSpinBox.valueChanged.connect(self.weightChanged)
        self.ui.incomingWeightSpinBox.valueChanged.connect(
            self.updateTicketType)
        self.ui.netWeightSpinBox.valueChanged.connect(self.updateDiff)
        self.ui.providerWeightSpinBox.valueChanged.connect(self.updateDiff)
        self.ui.diffSpinBox.valueChanged.connect(self.updateDiffStyle)
        self.ui.receptionButton.clicked.connect(self.updateTicketType)
        self.ui.dispatchButton.clicked.connect(self.updateTicketType)
        self.ui.addTransactionButton.clicked.connect(self.addTransaction)
        self.ui.cancelButton.clicked.connect(self.cancel)
        self.ui.saveButton.clicked.connect(self.saveTicket)
        self.ui.closeTicketButton.clicked.connect(self.closeTicket)
        self.ui.transactionsTableView.clicked.connect(
            self.enableDeleteTransaction)
        self.ui.removeTransactionButton.clicked.connect(self.removeTransaction)
        self.transactionsTableModel.totalChanged.connect(self.updateTotal)
        self.transactionsTableModel.recalculateTotal()
        self.updateTicketType()

        self.st = SerialThread(config.get('Serial', 'PortName'),
                               config.get('Serial', 'Regex'),
                               config.getint('Serial', 'Baudrate'),
                               config.get('Serial', 'Parity'),
                               config.getint('Serial', 'Bytesize'),
                               config.getboolean('Serial', 'Simulate'))
        self.st.dataReady.connect(self.getWeight, QtCore.Qt.QueuedConnection)
        self.st.start()