def exit(self): equipment_rfid = self.__input.get_string() status = UserProcedure().get_equipment_status_by(rfid=equipment_rfid) # かざされたRFIDがDB照合結果、貸し出されているものでなく登録されているものだった場合 if status == UserProcedure.EquipmentStatus.AVAILABLE: cmn_res.equipment.data = UserProcedure().get_equipment_record_by(rfid=equipment_rfid) self.__get_next_state = state.StandbyExpirationDateInputWhenBarrow() # かざされたRFIDがDB上貸し出されている場合 elif status == UserProcedure.EquipmentStatus.ALREADY_RESERVED: Console.puts("貸し出されている備品です。", "\n") Console.puts("認識と異なる場合は、システム管理者に問い合わせください") self.__get_next_state = state.ErrorHasOccurred() # かざされたRFIDがDB上登録されていない場合 elif status == UserProcedure.EquipmentStatus.NOT_EXIST: Console.puts("登録されていない備品です。", "\n") Console.puts("認識と異なる場合は、システム管理者に問い合わせください") self.__get_next_state = state.ErrorHasOccurred() # かざされたRFIDが故障中の場合 elif status == UserProcedure.EquipmentStatus.OUT_OF_ORDER: Console.puts("故障中につき貸し出し対象外の備品です。") Console.puts("認識と異なる場合は、システム管理者に問い合わせください", "\n") self.__get_next_state = state.ErrorHasOccurred()
def exit(self): equipment_rfid = self.__input.get_string() status = UserProcedure().get_equipment_status_by(rfid=equipment_rfid) # かざされたRFIDがDB照合結果、貸し出されているものだった場合(今は仮値) if status == UserProcedure.EquipmentStatus.ALREADY_RESERVED: cmn_res.equipment.data = UserProcedure().get_equipment_record_by( rfid=equipment_rfid) if UserProcedure(True).return_equipment(equipment_rfid) == True: self.__get_next_state = state.SuccessReturnEquipment() else: Console.puts("返却処理に失敗しました") Console.puts("再度試しても失敗する場合、システム管理者に問い合わせください", "\n") self.__get_next_state = state.ErrorHasOccurred() # かざされたRFIDがDB上貸し出されていない場合 if status == UserProcedure.EquipmentStatus.AVAILABLE: Console.puts("貸し出されていない備品です。") Console.puts("認識と異なる場合は、システム管理者に問い合わせください", "\n") self.__get_next_state = state.ErrorHasOccurred() # かざされたRFIDがDB上登録されていない場合 if status == UserProcedure.EquipmentStatus.NOT_EXIST: Console.puts("登録されていない備品です。") Console.puts("認識と異なる場合は、システム管理者に問い合わせください", "\n") self.__get_next_state = state.ErrorHasOccurred() # かざされたRFIDが故障中の場合 if status == UserProcedure.EquipmentStatus.OUT_OF_ORDER: Console.puts("故障中につき貸し出し対象外の備品です。") Console.puts("認識と異なる場合は、システム管理者に問い合わせください", "\n") self.__get_next_state = state.ErrorHasOccurred()
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 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): 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 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 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()