while question is not "y" and question is not "n":
                question = input(
                    "    Personal card ID already assigned. Replace? (y/n): ")
            if question is "n":
                continue

        print("    Press card...")
        card = IDCardAdapter(kcy125.SerialRead())
        if card is "":
            kcy125.ThrowError("disconn")
        else:
            print("    Card ID: " + card + "\n\r")

            queryResult = database.QueryExecute(SelectEmpByPACS(card))
            if queryResult is 1:
                res = database.QueryResult()[0]
                input("\n\r    ID card already in use by \n\r    " +
                      res["Fullname"] + " (person ID: " + str(res["Emp_ID"]) +
                      ")\n\r")
            else:
                try:
                    print("    Updating...")
                    database.QueryExecute(UpdatePACS(person, card))
                    database.QueryCommit()
                    input("    Card ID assigned to current person (ID:" +
                          str(person) + ")\n\r")
                except dbException.IntegrityError as error:
                    if card != "":
                        code = error.args[0]
                        database.ThrowError(DBErrorMessageHandler(code, card))
Exemple #2
0
configFile = "config.json"
kcy125 = SerialListener(configFile)
database = DBConnector(configFile)

print("    Initialisation finished!\n\r")

while True:
    print("\n\r\n\r\n\r    Person handling...")
    print("    ---------------------------------------------------------")
    print("    Press card...\n\r")
    card = IDCardAdapter(kcy125.SerialRead())
    database.Necromancy()

    queryResult = database.QueryExecute(SelectCurrentCard(card))
    if queryResult:
        database.ThrowError(DBErrorMessageHandler(1062, card))
    else:
        queryResult = database.QueryExecute(
            SelectTodayOrder(str(datetime.date.today()), card))
        if queryResult is 0:
            database.ThrowError(DBErrorMessageHandler(9001, card))
        else:
            queryResult = database.QueryExecute(SelectMaxID())

            if queryResult:
                result = int(database.QueryResult()[0]['Elem_ID'])
                newID = result + 1
            else:
                newID = 1

            try: