AntonSangho / moya_attendance

이 프로젝트는 어린이작업장 '모야'에 설치될 입출력관리시스템입니다.
1 stars 0 forks source link

[세종] 등록이 안된 카드를 입장했는데 db에 기록이됨. #90

Closed AntonSangho closed 2 years ago

AntonSangho commented 2 years ago

sj_attendance table에 기록이됨

AntonSangho commented 2 years ago

/api/v1.0/entry를 보면 set_attendance 실행하는 부분있음. rst.append("db true" if set_attendance_test(db, userid) else "db false") 이 부분이 외 실행되는지 모르겠음..

AntonSangho commented 2 years ago

application_sj.py 중 add_newcard(db, rfid_uid, '이름없음', 7) 의 번호를 지정해줘야함

# 새로운 카드등록시 RFID카드와 DB 대조작업
@application.route('/api/v1.0/newcard', methods=['GET'])
def endpoint_rfid_read():
    try:
        print("rpi buzz")
        rfid_uid = ""
        uid = 0
        rst = rfid_read()
        if rst[0] != "not support the platform.":
            db = get_conn()
            if rst[1] != None:
                rfid_uid = rst[1]
                # rfid_uid가 user_mh테이블에 있는지 확인하는 함수
                if is_rfid_sj(db, rfid_uid)['cnt'] == 0:
                    # 새로운 카드 등록시 세종시립도서관은 7번의 db 번호로 강제정의
                    add_newcard(db, rfid_uid, '이름없음', 7)
                    time.sleep(1)
                    buzzer_call()
                    # DB에 접속해서 배정된 카드번호 표시
                else:
                    uid = get_rfid_sj(db, rfid_uid)['id']
                    # 이미카드가 있는 경우
                    rfid_write(str(uid))
                    # print("uid write %d", uid)
                    rfid_uid = 00000
                    buzzer_call()
    except Exception as e:
        print("error", e)
        return abort(500)
    return jsonify({'ps': rfid_uid, 'uid': uid})