def exit(self):
        # キーボード情報取得
        equipment_id = self.__input.get_string()

        status = UserProcedure().get_equipment_status_by(
            equipment_id=equipment_id)

        # かざされたRFIDがDB上貸し出されている場合
        if status == UserProcedure.EquipmentStatus.ALREADY_RESERVED:
            cmn_res.equipment.data = UserProcedure().get_equipment_record_by(
                equipment_id=equipment_id)
            self.__get_next_state = state.StandbyExpirationDateInputWhenUpdate(
            )

        # かざされたRFIDがDB照合結果、貸し出されているものでなく登録されているものだった場合
        if status == UserProcedure.EquipmentStatus.AVAILABLE:
            Console.puts("まだ貸し出しされていない備品です。", "\n")
            Console.puts("認識と異なる場合は、システム管理者に問い合わせください")
            self.__get_next_state = state.ErrorHasOccurred()

        # かざされたRFIDがDB上登録されていない場合
        if status == UserProcedure.EquipmentStatus.NOT_EXIST:
            Console.puts("登録されていない備品です。", "\n")
            Console.puts("認識と異なる場合は、システム管理者に問い合わせください")
            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):
        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()
Example #3
0
    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()
Example #4
0
    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(
                    )
Example #5
0
    def entry(self):
        self.__input = input.SunitizedString(
            input.ConsoleTextField()
        )
        self.__get_next_state = state.ErrorHasOccurred()

        Console.clear()
        Console.puts("以下の内容で手続きを行います。よろしいですか?(Y/N)")
        Console.puts("機材ID    :", cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_ID])
        Console.puts("機材名    :", cmn_res.equipment.data[EquipmentRecord.EQUIPMENT_NAME])
        Console.puts("RFID:", cmn_res.equipment.data[EquipmentRecord.RFID])
        Console.puts(">", end="")
        self.__get_next_state = state.ErrorHasOccurred()
Example #6
0
 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 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())
Example #8
0
 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("上記の情報で備品の返却手続きが完了しました。\n")
     Console.puts("続けて他の機器の返却処理が実施できます。")
     self.__get_next_state = state.ErrorHasOccurred()
Example #9
0
    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):
     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 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()
Example #13
0
    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()
Example #14
0
 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])
     Console.puts(
         "使用場所  :",
         UsePlace.ReturnName(
             cmn_res.equipment.data[EquipmentRecord.USE_PLACE]), "\n")
     Console.puts("上記の情報で備品の貸出手続きが完了しました。\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())
Example #16
0
    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()
Example #17
0
 def setUp(self):
     self.state = state.ErrorHasOccurred()
 def entry(self):
     Console.clear()
     Console.puts("更新する機材のIDをキーボードで入力してください")
     Console.puts(">", end="")
     self.__input = input.SunitizedString(input.ConsoleTextField())
     self.__get_next_state = state.ErrorHasOccurred()