def exit(self): if (self.__input.get_string() in ["y", "Y"]): Console.puts("ユーザ情報を登録しました。") AccountLedger(True).update(cmn_res.user) else: Console.puts("ユーザ情報を登録せずに戻ります。") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state(state.StandbyUserIdInput())
def exit(self): if( self.__input.get_string() in ["y","Y"]): Console.puts("RFIDとの関連付けが完了しました。") EquipmentLedger(True).update(cmn_res.equipment) else: Console.puts("関連付けをキャンセルしました。") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state(state.AppendNewEquipment())
def Check(inputplace): if inputplace == UsePlace.InAISW: return True elif inputplace == UsePlace.OutAISW: return True elif inputplace == UsePlace.Outsourcer: return True else: Console.puts(inputplace + "は無効な場所です。") return False
def ReturnName(inputplace): if inputplace == UsePlace.InAISW: return "1:社内" elif inputplace == UsePlace.OutAISW: return "2:社外" elif inputplace == UsePlace.Outsourcer: return "3:委託" else: Console.puts(inputplace + "は無効な場所です。") return ""
def get_next_state(self): if self.__hasSuccessLoggedIn(): Console.puts("Login successful.") self.__logger.info("Login successful.") return state.Admin() else: Console.puts("Login failed.") self.__logger.info("Login failed. User input is '%s'", self.__text_field.get_string()) next = state.GotoNextAfterWaiting() next.set_next_state(state.LoginAsAdmin()) return next
def debug_this_module(): Console.clear() temp = SuccessUpdateEquipment() temp.entry() while True: temp.do() if (temp.should_exit()): temp.exit() break
def exit(self): return_date = self.__input.get_string() # 返却日の内容が正しいかチェック checkresult = edchk.ExpirationDateCheck(return_date, 90) if checkresult == True: cmn_res.equipment.data = {EquipmentRecord.END_DATE: return_date} self.__get_next_state = state.ConfirmToUpdateProcedure() else: Console.puts("返却予定日は今日を含めた90日以内を指定してください。") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state( state.StandbyExpirationDateInputWhenUpdate())
def debug_this_module(): Console.clear() uir = input.DateFormatedString(input.SunitizedString(UserInputReader())) while not uir.submitted(): uir.capture() time.sleep(0.010) Console.puts("Your input is :", uir.get_string()) time.sleep(1) del uir
def capture(self): self._pressed_key.capture() if self._pressed_key.exists(): if self._pressed_key.is_enter(): # Submit keyboard input self._submitted = True if self._is_real_time_display_mode: Console.puts("") # New line elif self._pressed_key.is_escape(): # Clear buffer self._string = "" if self._is_real_time_display_mode: Console.remove_line() elif self._pressed_key.is_delete(): # Remove a last charcter if (len(self._string) > 0): self._string = self._string[:-1] if self._is_real_time_display_mode: Console.remove_char() else: # Join a character to last position key = chr(ord(self._pressed_key.get())) if key.isascii(): self._string += key if self._is_real_time_display_mode: Console.puts('*', end='') else: self._updated = False
def exit(self): use_place = self.__input.get_string() # 返却日の内容が正しいかチェック checkresult = UsePlace.Check(use_place) if checkresult == True: result = UserProcedure(True).borrow_equipment( cmn_res.user.data[AccountRecord.EMPLOYEE_ID], cmn_res.equipment.data[EquipmentRecord.RFID], cmn_res.equipment.data[EquipmentRecord.END_DATE], use_place + "X") if result == True: place_name = UsePlace.ReturnName(use_place) Console.puts("使用場所", place_name, "を受理しました") cmn_res.equipment.data = {EquipmentRecord.USE_PLACE: use_place} self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state( state.SuccessBarrowEquipment()) else: Console.puts("借用の受理に失敗しました。") Console.puts("再度試しても失敗する場合、システム管理者に問い合わせてください。", "\n") self.__get_next_state = state.ErrorHasOccurred() else: Console.puts("使用場所を正しく入力してください。") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state( state.StandbyUsePlaceInputWhenBarrow())
def exit(self): employee_id = self.__input.get_string() if (employee_id != ""): record = UserProcedure().get_user_record_by( employee_id=employee_id) if record is None: Console.puts("存在しない社員番号です") Console.puts("システム管理者に問い合わせてください") self.__get_next_state = state.ErrorHasOccurred() return rfid = record[AccountRecord.RFID] if type(rfid) is float: if math.isnan(record[AccountRecord.RFID]): rfid = "" if rfid == "": rfid = cmn_res.user.data[AccountRecord.RFID] cmn_res.user.data = record cmn_res.user.data[AccountRecord.RFID] = rfid self.__get_next_state = state.ConfirmToAppendNewUser() else: Console.puts("社員番号", employee_id, "には既にRFID", record[AccountRecord.RFID], "が関連付けられています") Console.puts("システム管理者に問い合わせてください") self.__get_next_state = state.ErrorHasOccurred() else: self.__get_next_state = state.AppendNewUser()
def exit(self): # キーボード情報取得 equipment_id = self.__input.get_string() if (equipment_id != ""): record = UserProcedure().get_equipment_record_by( equipment_id=equipment_id) if record is None: # IDがDB上登録されていない場合 Console.puts("登録されていない備品です。", "\n") Console.puts("認識と異なる場合は、システム管理者に問い合わせください") self.__get_next_state = state.ErrorHasOccurred() else: cmn_res.equipment.data = record if (cmn_res.equipment.data[EquipmentRecord.RFID] != "0"): Console.puts(equipment_id, "は既にRFID:", cmn_res.equipment.data[EquipmentRecord.RFID], "が関連付けられています。", "\n") Console.puts("認識と異なる場合は、システム管理者に問い合わせください") self.__get_next_state = state.ErrorHasOccurred() else: #登録処理へ self.__get_next_state = state.StandbyAppendEquipmentIdRead( )
def ExpirationDateCheck(inputdate, maxday): try: UserIn = datetime.datetime.strptime(inputdate, '%Y/%m/%d') except ValueError: Console.puts(inputdate + "は無効な日付です。") return False MinDate = datetime.date.today() InputDay = datetime.date(UserIn.year, UserIn.month, UserIn.day) LongDay = MinDate + datetime.timedelta(days=maxday) if MinDate <= InputDay <= LongDay: return True else: return False
def debug_this_module(): keyboard = SingletonKeyboard() keyboard.start() prev = 0 while keyboard.get_pressed_count() < 30: keyboard.get_lock_object().acquire() now = keyboard.get_pressed_count() key = keyboard.get_last_pressed_key() keyboard.get_lock_object().release() if prev != now: Console.puts(chr(ord(key)), end="") prev = now time.sleep(0.010) keyboard.terminate()
def entry(self): Console.clear() Console.puts("まだ利用者登録されていません。") Console.puts("この社員証で登録しますので、7桁の社員番号を入力してください。") Console.puts(">", end="") self.__input = input.SunitizedString(input.ConsoleTextField()) self.__get_next_state = state.ErrorHasOccurred()
def entry(self): self.__logger = getLogger(__name__) self.__logger.info("LoginAsAdmin starts.") self.__text_field = input.PasswordTextField() Console.clear() Console.puts("[Login as admin]") Console.puts("Please enter the password.") Console.puts(">", end="")
def exit(self): equipment_rfid = self.__input.get_string() record = UserProcedure().get_equipment_record_by(rfid=equipment_rfid) if record is None: #登録処理 cmn_res.equipment.data[EquipmentRecord.RFID] = equipment_rfid self.__get_next_state = state.ConfirmToAppendNewEquipment() else: cmn_res.equipment.data = record Console.puts("このRFIDは既に", cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_ID], "と関連付けられています。", "\n") Console.puts("認識と異なる場合は、システム管理者に問い合わせください") self.__get_next_state = state.ErrorHasOccurred()
def entry(self): Console.clear() Console.puts("返却予定日を入力してください", "(yyyy/mm/dd)") Console.puts(">", end="") self.__input = input.DateFormatedString( input.SunitizedString(input.ConsoleTextField())) self.__get_next_state = state.ErrorHasOccurred()
def entry(self): self.__text_field = input.ConsoleTextField() if not isinstance(cmn_res.prev_state, state.Admin): Console.puts("") Console.puts("[Start admin mode]") Console.puts("# ", end="")
def exit(self): rfid = self.__input.get_string() if (rfid != ""): record = UserProcedure().get_user_record_by(rfid=rfid) if record is None: cmn_res.user.data[AccountRecord.RFID] = rfid self.__get_next_state = state.AppendNewUser() else: cmn_res.user.data = record Console.puts("ようこそ、社員番号", cmn_res.user.data[AccountRecord.EMPLOYEE_ID], "の", cmn_res.user.data[AccountRecord.LAST_NAME], cmn_res.user.data[AccountRecord.FIRST_NAME], "さん", "\n") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state( state.StandbyUserProcedureInput()) else: self.__get_next_state = state.StandbyUserIdInput()
def entry(self): Console.clear() Console.puts("手続き内容を選択してください", "{}:借用 {}:返却 {}:更新".format( Enquiry.Borrow, Enquiry.Return, Enquiry.Update)) Console.puts(">", end="") self.__input = input.SunitizedString( input.ConsoleTextField() ) self.__get_next_state = state.ErrorHasOccurred()
def entry(self): Console.clear() Console.puts( "使用場所を入力して下さい。", "{}:社内 {}:社外 {}:委託".format(UsePlace.InAISW, UsePlace.OutAISW, UsePlace.Outsourcer)) Console.puts(">", end="") self.__input = input.SunitizedString(input.ConsoleTextField()) self.__get_next_state = state.ErrorHasOccurred()
def entry(self): if config.is_debug_mode(): self.__input = input.SunitizedString(input.UserInputReader()) else: self.__input = input.SunitizedString(input.RFIDReader()) self.__get_next_state = state.ErrorHasOccurred() Console.clear() Console.puts("返却する備品のRFIDをかざしてください") Console.puts(">", end="")
def exit(self): procedure_type = self.__input.get_string() if(Enquiry.Borrow == procedure_type): self.__get_next_state = state.StandbyBarrowEquipmentIdRead() elif(Enquiry.Return == procedure_type): self.__get_next_state = state.StandbyReturnEquipmentIdRead() elif(Enquiry.Update == procedure_type): self.__get_next_state = state.StandbyUpdateEquipmentIdInput() else: Console.puts("不正なデータが入力されました。") Console.puts("再度入力してください。") Console.puts("")
def exit(self): if (self.__input.get_string() in ["y", "Y"]): result = UserProcedure(True).update_equipment_return_date( cmn_res.user.data[AccountRecord.EMPLOYEE_ID], cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_ID], cmn_res.equipment.data[EquipmentRecord.END_DATE]) if result == True: self.__get_next_state = state.SuccessUpdateEquipment() else: Console.puts("更新の受理に失敗しました。") Console.puts("再度試しても失敗する場合、システム管理者に問い合わせてください。", "\n") self.__get_next_state = state.ErrorHasOccurred() else: Console.puts("更新手続きをキャンセルしました。") self.__get_next_state = state.GotoNextAfterWaiting() self.__get_next_state.set_next_state( state.StandbyUpdateEquipmentIdInput())
def entry(self): self.__start_time = time.time() self.__pressed_key = input.PressedKey() Console.clear() Console.puts("一定時間操作がなかったか終了コードを受け付けたためエントランスに戻ります。")
def entry(self): Console.clear() Console.puts("ユーザID :", cmn_res.user.data[AccountRecord.EMPLOYEE_ID]) Console.puts("機材ID :", cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_ID]) Console.puts("機材名 :", cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_NAME]) Console.puts("返却予定日:", cmn_res.equipment.data[EquipmentRecord.END_DATE], "\n") Console.puts("上記の情報で備品の更新手続きが完了しました。\n") Console.puts("続けて他の機器の更新処理が実施できます。") self.__get_next_state = state.ErrorHasOccurred()
def entry(self): Console.clear() Console.puts("以下の情報で登録します。よろしいですか?(Y/N)") Console.puts("RFID :", cmn_res.user.data[AccountRecord.RFID]) Console.puts("USER ID :", cmn_res.user.data[AccountRecord.EMPLOYEE_ID]) Console.puts("LAST NAME :", cmn_res.user.data[AccountRecord.LAST_NAME]) Console.puts("FIRST NAME :", cmn_res.user.data[AccountRecord.FIRST_NAME]) Console.puts(">", end="") self.__input = input.SunitizedString(input.ConsoleTextField()) self.__get_next_state = state.ErrorHasOccurred()
def entry(self): cmn_res.initialize() self.__pressed_key = input.PressedKey() Console.clear() Console.puts("備品管理システムにようこそ") Console.puts("何かキーを押すとサービスを開始します")
def entry(self): Console.puts("プログラムを終了します")