Ejemplo n.º 1
0
def signin_form():
    #finger_id = readserial.get_finger_id()
    print("finger_id:", finger_id)
    ret = dbhepler.get_info_by_finger_id(finger_id)
    if len(ret) == 0:
        dbhepler.update_finger_id(0)
        return render_template("gohome.html")
        #return render_template('error.html')
    L = ret[0]
    print(L)
    level = L[-1]
    name_ = L[1]
    department_ = L[2]
    global car_id
    car_id = L[3]

    today = datetime.date.today()
    y = today.year
    m = today.month
    d = today.day
    w, items = dbhepler.get_compent_by_car_id(car_id)
    not_check_, checked_, not_mechanic_, mechanic_ = get_plate_data()
    if level == 1:
        #return render_template('driver.html')
        task_ = dbhepler.get_car_state_by_car_id(car_id)
        return render_template('driver.html',
                               car_state=task_.result,
                               level=level,
                               department=department_,
                               name=name_,
                               car=L[4],
                               t=w,
                               year=y,
                               month=m,
                               day=d,
                               items=items)
    elif level == 2:
        return render_template('mechanic.html',
                               checked=checked_,
                               not_check=not_check_)
    elif level == 3:
        return render_template('mechanic.html',
                               checked=checked_,
                               not_check=not_check_)
    else:
        dbhepler.update_finger_id(0)
        return render_template("gohome.html")
Ejemplo n.º 2
0
def get_data():
    print("======read_serail ......")
    test = Ser("COM2", int(115200), 1)
    while True:
        cmd = [0xFF, 0x21, 0x80, 0x00, 0x00, 0xA1, 0xFE]
        test.write(cmd)
        ret = test.read(1024).hex()
        if len(ret) >= 34 and ret[0] == 'f' and ret[1] == 'f' and ret[
                -1] == 'e' and ret[-2] == 'f':
            id = int(ret[-12:-4], 16)
            print("++++++++++++++++++++Id:", id)
            if id != int(0):
                dbhepler.update_finger_id(id)

        #s = int(ret[-12:-4], 16)
        #print(len(ret), "----->", ret, "====", s)
        #print("================",ret[0], ret[1], ret[-1], ret[-2])
        time.sleep(0.5)
Ejemplo n.º 3
0
def go_home():
    global finger_id
    finger_id = 0
    dbhepler.update_finger_id(0)
    return render_template("gohome.html")
Ejemplo n.º 4
0
def go_sucess():
    finger_id = 0
    dbhepler.update_finger_id(0)
    return render_template("success.html")
Ejemplo n.º 5
0
def commit():
    print("commit ......................")
    #items = request.form['table_items']
    #print(items)
    dbhepler.update_finger_id(0)
    return render_template("jump.html")
Ejemplo n.º 6
0
def signin():
    print("***********qr_code***************")
    qr_code = request.form['qr_code_text']
    qr_lst = qr_code.split('\n')
    tmp = []
    for line in qr_lst:
        s = line.strip()
        if s:
            tmp.append(s)
    qr_s = set(tmp)
    qr_L = list(qr_s)
    print(qr_L)
    bFinished = 0

    finger_id = readserial.get_finger_id()
    ret = dbhepler.get_info_by_finger_id(finger_id)
    L = ret[0]
    print(L)
    level = L[-1]
    name_ = L[1]
    department_ = L[2]

    print(request.values)
    table_cxt_ = request.form['table_cxt']
    print(table_cxt_)
    print("********************")
    rows = table_cxt_.split("#")
    result = 0
    ret = []
    if len(rows) > 0:
        ret = rows[1:]
        tmp = rows[0].split(',')
        if len(tmp) >= 2:
            result = tmp[2].strip()

    for l in ret:
        if len(l) > 0:
            cols = l.split(',')
            print(cols)
            desc = cols[2].strip()
            dec_ = "正常"
            if desc:
                dec_ = desc
            compent = dbhepler.get_compent_id_by_name(car_id, cols[1].strip())
            dbhepler.update_record_desc(car_id, compent.id, dec_)

    for qr in qr_L:
        print("compent_qr_code--->", qr)
        compent = dbhepler.get_compent_by_qr_code(qr)
        for c in compent:
            print(L[0], car_id, c.id)
            dbhepler.update_record(L[0], car_id, c.id)

    compent_lst = []
    if level == 1:
        compent_lst = dbhepler.get_compent_lst_by_plate(L[4])
    else:
        compent_lst = dbhepler.get_compent_lst_by_plate(plate)

    compent_set = set(compent_lst)
    compent_l = list(compent_set)
    qr_L.sort()
    compent_l.sort()
    if len(compent_l) > 0:
        bFinished = 0
    else:
        bFinished = 1

    if bFinished == 1:
        print("finished .....")
        #更新task 表
        dbhepler.update_task(car_id, 3, int(result))
        if level == 1:
            finger_id = 0
            dbhepler.update_finger_id(0)
            return render_template("success.html")
        elif level == 2:
            not_check_, checked_, not_mechanic_, mechanic_ = get_plate_data()
            return render_template('mechanic.html',
                                   checked=checked_,
                                   not_check=not_check_)

        elif level == 3:
            not_check_, checked_, not_mechanic_, mechanic_ = get_plate_data()
            return render_template('mechanic.html',
                                   checked=checked_,
                                   not_check=not_check_)
        else:
            dbhepler.update_finger_id(0)
            return render_template("gohome.html")
    else:
        print("unfinished .....")
        today = datetime.date.today()
        y = today.year
        m = today.month
        d = today.day
        w, items = dbhepler.get_compent_by_car_id(car_id)
        task_ = dbhepler.get_car_state_by_car_id(car_id)
        return render_template("driver_not_finished.html",
                               car_state=task_.result,
                               level=level,
                               department=department_,
                               name=name_,
                               car=L[4],
                               t=w,
                               year=y,
                               month=m,
                               day=d,
                               items=items)
Ejemplo n.º 7
0
                           items=items)


## 查看已检查车辆
@app.route('/viewcar', methods=['POST'])
def goto_view_car():
    print("viewcar ....")
    global plate
    plate = request.form['plate_num']
    print("plate:", plate)
    today = datetime.date.today()
    y = today.year
    m = today.month
    d = today.day
    car_ = dbhepler.get_car_id_by_plate(plate)
    w, items = dbhepler.get_compent_by_car_id(car_.id)
    return render_template('view_car.html',
                           car=plate,
                           t=w,
                           year=y,
                           month=m,
                           day=d,
                           items=items)


if __name__ == '__main__':
    #重启后重置为无人使用状态
    dbhepler.update_finger_id(0)
    #readserial.start_get_finger()
    app.run(host="0.0.0.0", port=5000)