(57)【特許請求の範囲】
【請求項１】
制御装置と、該制御装置に接続要求を送信し、該制御装置から接続応答を受信して印字データの受信待ちとなる印字装置を有する注文管理システムであって、
前記制御装置は、
注文を入力する装置から注文データを受信する注文受信部と、
前記注文受信部が受信した注文データと当該注文データが示す注文の注文時刻とを記憶部に登録する注文処理部と、
前記注文受信部が受信した注文データに基づいて伝票の印字データを生成するとともに当該印字データを識別する識別情報を生成して当該識別情報を前記注文データと対応付けて前記記憶部に登録し、前記印字データ及び前記識別情報を前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信する伝票処理部と、
前記印字装置から、前記接続要求とともに再送対象の前記印字データの識別情報を受信した場合、接続応答を送信するとともに、受信した前記識別情報により特定される前記注文データに基づいた伝票の印字データを未印字データとして、前記伝票処理部が生成して送信が完了していない印字データより先に前記印字装置に送信する伝票再発行処理部とを備え、
前記印字装置は、
印字を行う印字部と、
印字が完了していない印字データの識別情報を記憶する不揮発メモリと、
前記制御装置から前記印字データ及び当該印字データの識別情報を受信し、受信応答を返送する受信部と、
前記受信部が受信した前記印字データの識別情報を、受信した順に前記不揮発メモリに書き込む登録部と、
前記受信部が受信した前記印字データを前記印字部に印字させる印字処理部と、
印字が完了した前記印字データの識別情報を前記不揮発メモリから削除する削除部と、
当該印字装置の電源が投入されたときに、前記不揮発メモリに記憶されている前記印字データの識別情報を再送対象として前記接続要求とともに前記制御装置に送信する未印字伝票通知部と、
を備えることを特徴とする注文管理システム。
【請求項２】
制御装置の前記伝票再発行処理部は、前記接続要求とともに受信した前記識別情報により特定される前記注文データに基づいた伝票の印字データに、再送を示す情報を印字させるデータを付加した未印字データを生成し、接続応答を送信するとともに、当該未印字データを、前記伝票処理部が生成して送信が完了していない印字データより先に前記印字装置に送信する、
ことを特徴とする請求項１に記載の注文管理システム。
【請求項３】
制御装置の前記伝票再発行処理部は、前記接続要求とともに受信した前記識別情報により特定される前記注文データに基づいた伝票の印字データと、再送を示す情報に関する印字データとを合わせた未印字データを生成し、接続応答を送信するとともに、当該未印字データを、前記伝票処理部が生成して送信が完了していない印字データより先に印字装置に送信する、
ことを特徴とする請求項１または請求項２に記載の注文管理システム。
【請求項４】
再送を示す前記情報は、前記接続要求とともに受信した前記識別情報により特定される前記注文データが示す注文の注文時刻からの経過時間である、
ことを特徴とする請求項２または請求項３に記載の注文管理システム。
【請求項５】
前記印字装置は、
前記制御装置から接続応答とともに受信した前記未印字データに、再送を示す情報を印字させるデータを付加する印字情報付加部をさらに備える、
ことを特徴とする請求項１に記載の注文管理システム。
【請求項６】
前記印字データは、前記注文データが示す注文の明細を単一の伝票として印字させる短冊印字データを１以上含み、
前記印字装置は、
前記印字部が前記印字データに含まれる前記短冊印字データの印字を完了した数である印字完了数を、当該印字データの識別情報と対応付けて前記不揮発メモリに書き込む更新部をさらに備え、
前記印字情報付加部は、前記未印字データに、再送を示す情報として、前記識別情報に対応して前記不揮発メモリに記憶されている前記印字完了数に基づく情報を印字させるデータを付加する、
ことを特徴とする請求項５に記載の注文管理システム。
【請求項７】
前記印字情報付加部は、前記未印字データに含まれる前記短冊印字データに、再送を示す情報として、前記印字完了数に基づいて再印字であることを示す情報あるいは未印字であることを示す情報を印字させるデータを付加する、
ことを特徴とする請求項６に記載の注文管理システム。
【請求項８】
前記印字データは、前記注文データが示す注文の明細を単一の伝票として印字させる短冊印字データを１以上含み、
前記印字装置は、
前記印字部が前記印字データに含まれる前記短冊印字データの印字を完了した数である印字完了数を、当該印字データの識別情報と対応付けて前記不揮発メモリに書き込む更新部をさらに備え、
前記未印字伝票通知部は、前記印字装置の電源が投入されたときに、前記不揮発メモリに記憶されている前記印字データの識別情報及び前記印字完了数を、前記接続要求に含めて前記制御装置に送信し、
前記伝票再発行処理部は、前記接続要求とともに前記識別情報及び前記印字完了数を受信し、受信した前記識別情報により特定される前記注文データに基づいた伝票の印字データに含まれる短冊印字データのうち、受信した前記印字完了数から印字されていないと判断される短冊印字データのみを含む未印字データを生成し、接続応答を送信するとともに、当該未印字データを、前記伝票処理部が生成して送信が完了していない印字データより先に前記印字装置に送信する、
ことを特徴とする請求項１に記載の注文管理システム。
【請求項９】
前記伝票処理部は、前記注文受信部が受信した注文データに基づいて複数種類の伝票の印字データを生成するとともに当該印字データそれぞれを識別する識別情報を生成し、前記注文データと前記伝票の伝票番号と前記印字データそれぞれの識別情報とを対応付けて前記記憶部に登録し、前記印字データ及び当該印字データの識別情報の組それぞれを、当該印字データの伝票の種類に対応した前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信し、
前記伝票再発行処理部は、
前記印字装置から再送対象の伝票の伝票番号を受信し、受信した前記伝票番号により特定される前記注文データに基づいて生成した前記複数の種類の未印字データを前記印字装置に返送するとともに、返送した前記未印字データの識別情報と再送済みを示す情報とを対応付けて前記記憶部に登録し、
前記伝票処理部が再送対象の伝票の伝票番号を送信した前記印字装置とは異なる他の前記印字装置から前記識別情報を再送対象として受信し、受信した前記識別情報に対応して再送済みを示す情報が前記記憶部に登録されている場合、削除要求を前記他の印字装置に返送し、受信した前記識別情報に対応して再送済みを示す情報が前記記憶部に登録されていない場合、前記識別情報により特定される伝票の未印字データを、前記伝票処理部が生成して送信が完了していない印字データより先に、前記他の印字装置に送信し、
前記印字装置の未印字伝票通知部は、再発行対象の伝票の伝票番号を前記制御装置に送信し、
前記他の印字装置の前記削除部は、前記未印字伝票通知部が送信した前記印字データの識別情報に対応して前記制御装置から削除要求を受信した場合、送信した前記識別情報を前記不揮発メモリから削除する、
ことを特徴とする請求項１に記載の注文管理システム。
【請求項１０】
制御装置と、該制御装置に接続要求を送信し、該制御装置から接続応答を受信して印字データの受信待ちとなる印字装置を有する注文管理システムに用いられる前記制御装置であって、
注文を入力する装置から注文データを受信する注文受信部と、
前記注文受信部が受信した注文データと当該注文データが示す注文の注文時刻とを記憶部に登録する注文処理部と、
前記注文受信部が受信した注文データに基づいて伝票の印字データを生成するとともに当該印字データを識別する識別情報を生成して当該識別情報を前記注文データと対応付けて前記記憶部に登録し、前記印字データ及び前記識別情報を前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信する伝票処理部と、
前記印字装置から、前記接続要求とともに再送対象の前記印字データの識別情報を受信した場合、接続応答を送信するとともに、受信した前記識別情報により特定される前記注文データに基づいた伝票の印字データを未印字データとし、当該未印字データを、前記伝票処理部が生成して送信が完了していない印字データより先に前記印字装置に送信する伝票再発行処理部と
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外食産業等に用いられる注文管理システム、制御装置及び伝票印字制御方法に関する。
【背景技術】
【０００２】
ファミリーレストランや居酒屋などの外食産業では、注文管理システムを導入している。注文管理システムでは、接客担当の店員がハンディーターミナルにお客様の注文を入力すると、ハンディーターミナルは、入力された注文内容を無線によってコントローラへ送信する。コントローラは、受信した注文内容の伝票（調理伝票）を印字させるための印字データをプリンタへ送信する。プリンタは、コントローラから受信した印字データを印字し、厨房のスタッフは、印字された伝票によって注文内容を確認し、注文された料理の調理を行う。
【０００３】
伝票を印字するプリンタでは、印字データを受信してから印字を完了するまでに時間がかかる。そのため、コントローラからの印字データの送信が正常に完了したとしても、印字が完了するまでの間に何らかの原因によりプリンタの電源断が発生した場合、受信した印字データが消えて伝票を印字できず、厨房のスタッフが注文された料理を調理できないことがある。
【０００４】
その対策として、例えば、プリンタが、受信した印字データをデータバックアップ付きメモリに保持しておき、電源がオフになっても印字データが消えないようにしておくことが考えられる。プリンタは、電源が再投入されると、メモリに保持していた印字データを読み出して印字する。しかし、印字データに手書き文字の画像データやロゴマークなどの画像データが含まれていた場合、印字データのデータ量が大きくなる。よって、バックアップのために大容量の不揮発メモリが必要となり、プリンタのコストが高くなってしまう。
【０００５】
そこで、特許文献１では、注文管理システムのプリンタが、電源断等によって印字データを印字できなかった場合、電源が再投入されたときにコントローラへ印字データの再送を要求し、この要求に対応してコントローラから再送された印字データを印字している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１０２３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、コントローラは、印字データを特定するデータ特定情報、例えば、伝票番号を印字データに付加してプリンタに送信している。プリンタは、伝票の印字データを受信すると、その印字データに付加されたデータ特定情報をデータバックアップ付きメモリに保存し、印字完了後にメモリから削除する。プリンタは、印字データの印字完了前に電源断が発生し、再び電源が投入されてコントローラと接続できる状態になったときには、メモリに保存しているデータ特定情報を設定したリカバリ印字要求コマンドをコントローラに送信する。コントローラは、リカバリ印字要求コマンドに設定されているデータ特定情報により特定される印字データをプリンタに再送信する。これにより、プリンタに大きなメモリ容量の不揮発メモリを備える必要がないため、プリンタのコストを抑えながら、電源断によって印字されない伝票が発生しないようにすることができる。
【０００８】
しかし、通常コントローラは、送信対象の印字データが複数ある場合、印字データの送信トリガの発生順に送信を行う。そのため、コントローラは、プリンタにおける電源断の発生後、印字データの再送要求（リカバリ印字要求コマンド）を受信するまでの間に送信できなかった伝票印字データを、再送が要求された印字データよりも先にプリンタに送信してしまうことがある。
【０００９】
例えば、図３３に示すように、ハンディーターミナルがコントローラへ注文１を送信すると、コントローラは、注文１の伝票を印字させるための伝票１印字データをプリンタに送信する。プリンタは、伝票１印字データの受信応答を返送し、伝票１を印字する。さらに、ハンディーターミナルがコントローラへ注文２、注文３を送信すると、コントローラは注文２、注文３の伝票を印字させるための伝票２印字データ、伝票３印字データをプリンタに送信する。プリンタが受信応答をコントローラに返送した後、伝票２の印字が完了する前に電源断が発生しても、ハンディーターミナルからはさらに注文４、注文５がコントローラへ送信され、コントローラは注文４、注文５から伝票４印字データ、伝票５印字データを生成する。しかし、コントローラは、伝票４印字データをプリンタへ送信しても、受信応答が返送されないため、伝票４印字データを繰り返し再送する。
【００１０】
プリンタの電源が再投入されると、プリンタは接続要求をコントローラへ送信するとともに、印字が完了していないことを検出した伝票２印字データ及び伝票３印字データの再送要求をコントローラへ送信する。しかし、コントローラが、接続要求に対する応答を返送した時点で、伝票４印字データ、伝票５印字データをプリンタに送信してしまい、その後に、再送が要求された伝票２印字データ及び伝票３印字データを送信することがある。これによって、プリンタは、後から発生した注文４、注文５の伝票を、その前に発生した注文２、注文３の伝票よりも先に印字する。その結果、厨房では、注文順に調理が行われず、後から注文を受けたお客様へ先に注文を受けたお客様より早く料理を提供してしまうことがある。
【００１１】
本発明は、このような事情を考慮してなされたものであり、プリンタに大容量の不揮発メモリを搭載する必要なく、プリンタの電源断が発生した場合であっても、注文の発生順に伝票を印字することができる注文管理システム、制御装置及び伝票印字制御方法を提供する。
【課題を解決するための手段】
【００１２】
本発明の一態様は、制御装置及び印字装置を有する注文管理システムであって、制御装置及び印字装置を有する注文管理システムであって、前記制御装置は、注文を入力する装置から注文データを受信する注文受信部と、前記注文受信部が受信した注文データと当該注文データが示す注文の注文時刻とを記憶部に登録する注文処理部と、前記注文受信部が受信した注文データに基づいて伝票の印字データを生成するとともに当該印字データを識別する識別情報を生成して当該識別情報を前記注文データと対応付けて前記記憶部に登録し、前記印字データ及び前記識別情報を前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信する伝票処理部と、前記印字装置から再送対象の前記印字データの識別情報を受信し、受信した前記識別情報により特定される前記印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する伝票再発行処理部と、を備え、前記印字装置は、印字を行う印字部と、印字が完了していない印字データの識別情報を記憶する不揮発メモリと、前記制御装置から前記印字データ及び当該印字データの識別情報を受信し、受信応答を返送する受信部と、前記受信部が受信した前記印字データの識別情報を、受信した順に前記不揮発メモリに書き込む登録部と、前記受信部が受信した前記印字データを前記印字部に印字させる印字処理部と、印字が完了した前記印字データの識別情報を前記不揮発メモリから削除する削除部と、当該印字装置の電源が投入されたときに、前記不揮発メモリに記憶されている前記印字データの識別情報を再送対象として前記制御装置に送信する未印字伝票通知部と、を備える、ことを特徴とする注文管理システムである。
【００１３】
また、本発明の一態様は、上述した注文管理システムであって、前記伝票再発行処理部は、受信した前記識別情報により特定される前記印字データに、再送を示す情報を印字させるデータを付加した印字データを生成し、生成した前記印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する、ことを特徴とする。
【００１４】
また、本発明の一態様は、上述した注文管理システムであって、前記伝票再発行処理部は、受信した前記識別情報により特定される前記印字データにより印字される伝票に、再送を示す情報を示すヘッダを付加した印字データを生成し、生成した前記印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する、ことを特徴とする。
【００１５】
また、本発明の一態様は、上述した注文管理システムであって、再送を示す前記情報は、受信した前記識別情報により特定される前記印字データの生成元となった前記注文データが示す注文の注文時刻からの経過時間である、ことを特徴とする。
【００１６】
また、本発明の一態様は、上述した注文管理システムであって、前記印字装置は、前記未印字伝票通知部が送信した前記印字データの識別情報に対応して前記制御装置から受信した前記印字データに、再送された印字データによる印字であることを示す情報を印字させる印字データを付加する印字情報付加部をさらに備える、ことを特徴とする。
【００１７】
また、本発明の一態様は、上述した注文管理システムであって、前記印字データは、前記注文データが示す注文の明細を単一の伝票として印字させる短冊印字データを１以上含み、前記印字装置は、前記印字部が前記印字データに含まれる前記短冊印字データの印字を完了した数である印字完了数を、当該印字データの識別情報と対応付けて前記不揮発メモリに書き込む更新部をさらに備え、前記印字情報付加部は、前記未印字伝票通知部が送信した前記印字データの識別情報に対応して再送された前記印字データに、当該印字データの識別情報に対応して前記不揮発メモリに記憶されている前記印字完了数に基づく情報を印字させる印字データを追加する、ことを特徴とする。
【００１８】
また、本発明の一態様は、上述した注文管理システムであって、前記印字情報付加部は、前記再送された前記印字データに含まれる前記短冊印字データに、当該印字データの識別情報に対応して前記不揮発メモリに記憶されている前記印字完了数に基づいて、再印字であることを示す情報あるいは未印字であることを示す情報を印字させる印字データを追加する、ことを特徴とする。
【００１９】
また、本発明の一態様は、上述した注文管理システムであって、前記印字データは、前記注文データが示す注文の明細を単一の伝票として印字させる短冊印字データを１以上含み、前記印字装置は、前記印字部が前記印字データに含まれる前記短冊印字データの印字を完了した数である印字完了数を、当該印字データの識別情報と対応付けて前記不揮発メモリに書き込む更新部をさらに備え、前記未印字伝票通知部は、前記印字装置の電源が投入されたときに、前記不揮発メモリに記憶されている前記印字データの識別情報及び前記印字完了数を前記制御装置に送信し、前記伝票再発行処理部は、前記印字装置から受信した前記印字データの識別情報及び前記印字完了数を受信し、受信した前記識別情報により特定される前記印字データに含まれる短冊印字データのうち、受信した前記印字完了数から印字されていないと判断される短冊印字データのみを含む印字データを生成し、生成した印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する、ことを特徴とする。
【００２０】
なお、上述した注文管理システムにおいて、前記印字データは、前記短冊印字データの間に紙の切断を指示するコマンドを含み、前記更新部は、前記印字データの識別情報と対応付けて、前記印字部が当該印字データに含まれる前記コマンドが実行された数を前記印字完了数として前記不揮発メモリに書き込む、ようにしてもよい。
【００２１】
また、本発明の一態様は、上述した注文管理システムであって、前記伝票処理部は、前記注文受信部が受信した注文データに基づいて複数種類の伝票の印字データを生成するとともに当該印字データそれぞれを識別する識別情報を生成し、前記注文データと前記伝票の伝票番号と前記印字データそれぞれの識別情報とを対応付けて前記記憶部に登録し、前記印字データ及び当該印字データの識別情報の組それぞれを、当該印字データの伝票の種類に対応した前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信し、前記伝票再発行処理部は、前記印字装置から再送対象の伝票の伝票番号を受信し、受信した前記伝票番号により特定される前記注文データに基づいて生成した前記複数の種類の印字データを前記印字装置に返送するとともに、返送した前記印字データの識別情報と再送済みを示す情報とを対応づけて前記記憶部に登録し、前記伝票処理部が再送対象の伝票の伝票番号を送信した前記印字装置とは異なる他の前記印字装置から前記識別情報を再送対象として受信し、受信した前記識別情報に対応して再送済みを示す情報が前記記憶部に登録されている場合、削除要求を前記他の印字装置に返送し、受信した前記識別情報に対応して再送済みを示す情報が前記記憶部に登録されていない場合、前記識別情報により特定される前記印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記他の印字装置に送信し、前記印字装置の未印字伝票通知部は、再発行対象の伝票の伝票番号を前記制御装置に送信し、前記他の印字装置の前記削除部は、前記未印字伝票通知部が送信した前記印字データの識別情報に対応して前記制御装置から削除要求を受信した場合、送信した前記識別情報を前記不揮発メモリから削除する、ことを特徴とする。
【００２２】
また、本発明の一態様は、制御装置及び印字装置を有する注文管理システムに用いられる前記制御装置であって、注文を入力する装置から注文データを受信する注文受信部と、前記注文受信部が受信した注文データと当該注文データが示す注文の注文時刻とを記憶部に登録する注文処理部と、前記注文受信部が受信した注文データに基づいて伝票の印字データを生成するとともに当該印字データを識別する識別情報を生成して当該識別情報を前記注文データと対応付けて前記記憶部に登録し、前記印字データ及び前記識別情報を前記印字装置へ送信し、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信する伝票処理部と、前記印字装置から再送対象の前記印字データの識別情報を受信し、受信した前記識別情報により特定される前記印字データを、前記伝票処理部が送信後に受信応答を受信していない前記印字データ及び前記伝票処理部が未送信の前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する伝票再発行処理部と、を備えることを特徴とする制御装置である。
【００２３】
また、本発明の一態様は、制御装置及び印字装置を有する注文管理システムに用いられる伝票印字制御方法であって、前記制御装置において、注文受信部が、注文を入力する装置から注文データを受信する注文受信過程と、注文処理部が、前記注文受信部が受信した注文データと当該注文データが示す注文の注文時刻とを記憶部に登録する注文処理過程と、伝票処理部が、前記注文受信過程において受信した注文データに基づいて伝票の印字データを生成するとともに当該印字データを識別する識別情報を生成して当該識別情報を前記注文データと対応付けて前記記憶部に登録し、前記印字データ及び前記識別情報を前記印字装置へ送信する印字データ送信過程と、前記伝票処理部が、送信した前記印字データ及び前記識別情報に対応して前記印字装置から受信応答を受信する応答受信過程と、伝票再発行処理部が、前記印字装置から再送対象の前記印字データの識別情報を受信し、受信した前記識別情報により特定される前記印字データを、前記印字データ送信過程における送信後に前記応答受信過程において受信応答を受信していない前記印字データ及び前記印字データ送信過程において送信を行っていない前記印字データより先に、前記識別情報で特定される前記注文データの注文時刻の早い順に、前記印字装置に送信する伝票再発行過程と、前記印字装置において、受信部が、前記制御装置から前記印字データ及び当該印字データの識別情報を受信し、受信応答を返送する受信過程と、登録部が、前記受信過程において受信した前記印字データの識別情報を、受信した順に不揮発メモリに書き込む登録過程と、印字処理部が、前記受信過程において受信した前記印字データを印字部に印字させる印字処理過程と、削除部が、印字が完了した前記印字データの識別情報を前記不揮発メモリから削除する削除過程と、未印字伝票通知部が、当該印字装置の電源が投入されたときに、前記不揮発メモリに記憶されている前記印字データの識別情報を再送対象として前記制御装置に送信する未印字伝票通知過程と、を有することを特徴とする伝票印字制御方法である。
【発明の効果】
【００２４】
本発明によれば、プリンタに大容量の不揮発メモリを搭載する必要なく、プリンタの電源断が発生した場合であっても、注文の発生順に伝票を印字することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態による注文管理システムの構成を示すブロック図である。
【図２】同実施形態によるコントローラの内部構成を示すブロック図である。
【図３】同実施形態によるプリンタの内部構成を示すブロック図である。
【図４】同実施形態による注文管理システムにおいて異なる対象をプリンタに印字させる場合のシーケンス図である。
【図５】同実施形態による注文管理システムにおいて正常に伝票の印字が完了する場合のシーケンス図である。
【図６】図５の続きのシーケンス図である。
【図７】同実施形態による注文管理システムにおいて伝票印字中にプリンタの電源断が発生したときのシーケンス図である。
【図８】図７の続きのシーケンス図である。
【図９】同実施形態によるプリンタの電源起動時の処理フローである。
【図１０】同実施形態によるコントローラの注文処理フローである。
【図１１】第２の実施形態によるプリンタの内部構成を示すブロック図である。
【図１２】同実施形態による注文管理システムにおいて正常に伝票の印字が完了する場合のシーケンス図である。
【図１３】図１２の続きのシーケンス図である。
【図１４】同実施形態において正常に印字が完了した伝票の出力例を示す図である。
【図１５】同実施形態による注文管理システムにおいて伝票印字中にプリンタの電源断が発生したときのシーケンス図である。
【図１６】同実施形態において再送された伝票印字データに基づく伝票の出力例を示す図である。
【図１７】第３の実施形態によるコントローラの内部構成を示すブロック図である。
【図１８】同実施形態によるプリンタの内部構成を示すブロック図である。
【図１９】同実施形態による注文管理システムにおいて伝票印字中にプリンタの電源断が発生したときのシーケンス図である。
【図２０】同実施形態において再送された伝票印字データに基づく伝票の出力例を示す図である。
【図２１】第４の実施形態によるコントローラの内部構成を示すブロック図である。
【図２２】同実施形態のコントローラの注文処理フローを示す図である。
【図２３】同実施形態において再送された伝票印字データに基づく伝票の出力例を示す図である。
【図２４】第５の実施形態によるコントローラの内部構成を示すブロック図である。
【図２５】同実施形態によるプリンタの内部構成を示すブロック図である。
【図２６】同実施形態による他のプリンタの内部構成を示すブロック図である。
【図２７】同実施形態による注文管理システムにおいて伝票印字中にプリンタの電源断が発生したときのシーケンス図である。
【図２８】図２７の続きのシーケンス図である。
【図２９】図２８の続きのシーケンス図である。
【図３０】図２９の続きのシーケンス図である。
【図３１】図３０の続きのシーケンス図である。
【図３２】同実施形態によるコントローラの注文処理フローである。
【図３３】従来の注文管理装置のシーケンス図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【００２７】
［第１の実施形態］
図１は、本発明の第１の実施形態による注文管理システムの全体構成を示す図である。同図に示すように、注文管理システムは、ハンディーターミナル１０、コントローラ２０（制御装置）、及び、プリンタ３０（印字装置）を備えて構成される。同図においては、ハンディーターミナル１０及びプリンタ３０をそれぞれ１台のみ示しているが、複数台が備えられていてもよい。また、コントローラ２０への通信を中継するため、店舗内に、図示しない中継装置を配置してもよい。
コントローラ２０は、ハンディーターミナル１０及びプリンタ３０と無線により通信する。なお、同図において、コントローラ２０とハンディーターミナル１０の通信及びコントローラ２０とプリンタ３０の通信には無線を使用しているが、有線による通信であってもよい。また同図には含まれないが、ハンディーターミナル１０の代わりに据え置き型の入力端末でもよい。
【００２８】
飲食店において接客担当者は、お客様のテーブル番号、注文された料理や飲み物、食事セットなどの注文品とその注文数量、接客担当を特定する担当識別情報、お客様の人数や客層などをハンディーターミナル１０へ入力する。ハンディーターミナル１０は、それらの入力内容を設定した注文データをコントローラ２０へ送信する。
コントローラ２０は、注文データに基づいて調理伝票等の伝票を印字させるための印字データ（以下、「伝票印字データ」と記載する。）を生成し、プリンタ３０へ送信する。
プリンタ３０は、コントローラ２０から受信した伝票印字データを印字する。なお、コントローラ２０は、伝票印字データ以外の印字データをプリンタ３０へ送信することもある。
【００２９】
図２は、図１に示すコントローラ２０の内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。同図に示すように、コントローラ２０は、第１送受信部２１、処理部２２、記憶部２３及び第２送受信部２４を備えて構成される。
【００３０】
第１送受信部２１は、ハンディーターミナル１０との間で無線（または有線）によりデータの送受信を行う。第２送受信部２４は、プリンタ３０との間で無線（または有線）によりデータの送受信を行う。なお、図２においては、第１送受信部２１と第２送受信部２４を別々に記載しているが、ハードウエアとしては同一であってもよい。
記憶部２３は、注文管理データと、送信が完了していない印字データとを記憶する。注文管理データは、注文データと、注文時刻と、伝票番号と、注文データから生成された伝票印字データを特定する識別コードとを対応付けたデータである。伝票番号は、コントローラ２０がハンディーターミナル１０から受信した注文データを識別可能に、且つ、受信した順番を特定可能に、コントローラ２０により注文データ毎に生成される番号である。伝票印字データの識別コードは、コントローラ２０により生成され、伝票印字データごとに割り振られるユニークなコードである。重複を避けるために、その一例として、伝票番号に日付情報や伝票の種類に関する情報などを加えたものなどが使用される。伝票印字データ以外の印字データの場合、識別コードは所定の値をとる。注文データは、接客担当者を特定する担当者コード、お客様が利用しているテーブルのテーブル番号、明細データを含む。明細データは、注文品毎に生成され、注文品とその注文数量を含む注文の明細を示す。従って、注文データには、１以上の明細データが含まれる。
【００３１】
処理部２２は、印字要求受信部２２０（注文受信部）、注文処理部２２１、伝票処理部２２２、伝票再発行処理部２２３及び印字データ生成部２２４を備えて構成される。
印字要求受信部２２０は、他の装置から送信された印字要求を受信する。
注文処理部２２１は、記憶部２３に記憶されている注文管理データに、ハンディーターミナル１０から受信した注文データと、注文時刻とを対応付けて追加登録する。注文時刻は、コントローラ２０が注文データを受信した時刻でもよく、ハンディーターミナル１０が注文データに付加してコントローラ２０へ送信した注文時刻でもよい。
【００３２】
伝票処理部２２２は、受信した注文データに対して伝票番号を割り当てる。また、伝票処理部２２２は、注文データから伝票印字データを生成し、識別コードを割り当てる。伝票処理部２２２は、記憶部２３に記憶されている注文管理データに、伝票印字データの生成に用いた注文データと対応付けて割り当てた伝票番号及び識別コードを書き込むとともに、生成した伝票印字データと割り当てた識別コードとをプリンタ３０に送信するよう第２送受信部２４に指示する。
【００３３】
伝票再発行処理部２２３は、第２送受信部２４がプリンタ３０から受信した接続要求に識別コードが設定されている場合、記憶部２３に記憶されている注文管理データを検索して当該識別コードに対応した注文データを特定する。伝票再発行処理部２２３は、特定した注文データから伝票印字データを生成し、生成した伝票印字データと当該伝票印字データの識別コードを接続要求の送信元のプリンタ３０に送信するよう第２送受信部２４へ指示する。
印字データ生成部２２４は、伝票印字データ以外の各種印字データを生成し、生成した印字データと、伝票印字データではないことを示す識別コードとをプリンタ３０に送信するよう第２送受信部２４に指示する。
【００３４】
図３は、図１に示すプリンタ３０の内部構成を示すブロック図あり、本実施形態と関係する機能ブロックのみ抽出して示してある。同図に示すように、プリンタ３０は、送受信部３１（受信部）、処理部３２、揮発メモリ３３、不揮発メモリ３４、印字部３５及びカッター部３６を備えて構成される。
【００３５】
送受信部３１は、コントローラ２０との間で無線（または有線）によりデータの送受信を行う。揮発メモリ３３は、コントローラ２０から受信した印字データと、当該印字データの識別コードとを対応付けて記憶する。不揮発メモリ３４は、例えば、バックアップ電池付きＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、書き込み及び消去が可能なフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などである。不揮発メモリ３４は、印字が完了していない伝票印字データの識別コードを記憶する。印字部３５は、ロール紙への印字を行う。カッター部３６は、ロール紙の未印字の部分から、印字された部分の紙をカットする。
【００３６】
処理部３２は、通信処理部３２１（未印字伝票通知部）、記憶処理部３２２及び印字処理部３２３を備えて構成される。
通信処理部３２１は、プリンタ３０の図示しない電源が投入されたときに、不揮発メモリ３４に識別コードが記憶されている場合、当該識別コードと接続要求をコントローラ２０へ送信するよう送受信部３１に指示する。不揮発メモリ３４に識別コードが記憶されていない場合、接続要求のみをコントローラ２０へ送信するよう送受信部３１に指示する。
記憶処理部３２２は、登録部３２４及び削除部３２５を備える。登録部３２４は、送受信部３１を介してコントローラ２０から受信した印字データとその識別コードとを対応付けて揮発メモリ３３に書き込む。また、登録部３２４は、未印字の伝票印字データの識別コードを不揮発メモリ３４に書き込む。削除部３２５は、印字が完了した伝票印字データとその識別コードを揮発メモリ３３から削除するとともに、印字が完了した伝票印字データの識別コードを不揮発メモリ３４から削除する。
印字処理部３２３は、揮発メモリ３３から読み出した印字データを印字するよう印字部３５に指示する。また、印字処理部３２３は、印字完了後にロール紙をカットするようカッター部３６に指示するとともに、印字の完了を記憶処理部３２２へ通知する。
【００３７】
図４は、プリンタ３０に異なる対象を印字させる場合の注文管理システムのシーケンス図である。
同図において、コントローラ２０の印字要求受信部２２０は、印字要求の受信待ち状態である（ステップＳ１０２）。印字要求受信部２２０が、第１送受信部２１を介して他の装置から印字要求を受信すると（ステップＳ１０４）、要求された印字対象が伝票であるかを判断する（ステップＳ１０６）。
印字要求受信部２２０が、要求された印字対象が伝票であると判断した場合（ステップＳ１０６：ＹＥＳ）、伝票処理部２２２は、伝票番号及び識別コードを割り当て、注文データに基づいて伝票印字データを生成する（ステップＳ１０８）。ここでは、伝票処理部２２２は、伝票１の伝票印字データである伝票１印字データを生成する。
第２送受信部２４は、伝票処理部２２２が生成した伝票１印字データと、伝票１印字データに割り当てた識別コードである伝票１識別コード「０１２３」とをプリンタ３０へ送信する（ステップＳ１１０）。
【００３８】
プリンタ３０の通信処理部３２１は、送受信部３１を介してコントローラ２０から伝票１印字データ及び伝票１識別コードを受信すると（ステップＳ１１２）、受信した伝票１印字データ及び伝票１識別コードと保存依頼とを記憶処理部３２２に出力する（ステップＳ１１４）。
【００３９】
記憶処理部３２２の登録部３２４は、伝票１印字データと伝票１識別コードとを対応付けて揮発メモリ３３に書き込む。また、登録部３２４は、伝票１識別コードが不揮発メモリ３４へ記憶する対象外の識別コード「００００」とは一致しないため、伝票１識別コードを不揮発メモリ３４に書き込む（ステップＳ１１６）。登録部３２４は、書き込み終了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０へ応答を送信するよう送受信部３１へ指示する（ステップＳ１１８）。
送受信部３１は伝票１印字データの受信応答をコントローラ２０へ送信する（ステップＳ１２０）。
【００４０】
コントローラ２０の印字要求受信部２２０は、第２送受信部２４を介して伝票１印字データの受信応答を受信すると、ステップＳ１０２に戻り、再び印字要求の受信待ち状態となる。その一方、プリンタ３０の登録部３２４は、印字処理部３２３に伝票１識別コードを設定した印字依頼を出力する（ステップＳ１２２）。印字処理部３２３は、印字依頼に設定されている伝票１識別コードで特定される伝票１印字データを揮発メモリ３３から読み出し、伝票１印字データの印字を印字部３５に実行させる（ステップＳ１２４）。
【００４１】
コントローラ２０の印字要求受信部２２０は、印字要求待ち状態に戻った後、再び、印字要求を受信する（ステップＳ１０４）。印字要求受信部２２０が、要求された印字対象がメニューシートであり、伝票ではないと判断した場合（ステップＳ１０６：ＮＯ）、印字データ生成部２２４は、メニューシート印字データを生成し、伝票印字データではないことを示す識別コード「００００」を割り当てる（ステップＳ１２６）。
第２送受信部２４は、印字データ生成部２２４が生成したメニューシート印字データと、割り当てた識別コードとをプリンタ３０に送信する（ステップＳ１２８）。
【００４２】
プリンタ３０の通信処理部３２１は、送受信部３１を介してコントローラ２０からメニューシート印字データ及び識別コードを受信すると（ステップＳ１３０）、受信したメニューシート及び識別コードと保存依頼とを記憶処理部３２２に出力する（ステップＳ１３２）。
【００４３】
記憶処理部３２２の登録部３２４は、メニューシート印字データと識別コードとを対応付けて揮発メモリ３３に書き込むが、識別コードが不揮発メモリ３４へ記憶する対象外の識別コード「００００」と一致するため、不揮発メモリ３４への書き込みは行わない（ステップＳ１３４）。登録部３２４は、書き込み終了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０へ応答を送信するよう送受信部３１へ指示する（ステップＳ１３６）。
送受信部３１はメニューシート印字データの受信応答をコントローラ２０へ送信する（ステップＳ１３８）。
【００４４】
コントローラ２０の印字要求受信部２２０は、第２送受信部２４を介してメニューシート印字データの受信応答を受信すると、ステップＳ１０２に戻り、再び印字要求の受信待ち状態となる。その一方、プリンタ３０の登録部３２４は、印字処理部３２３にメニューシート印字データの印字依頼を出力する（ステップＳ１４０）。印字処理部３２３は、メニューシート印字データを印字部３５に印字させる（ステップＳ１４２）。
【００４５】
図５は、プリンタ３０の図示しない電源の投入後、正常に伝票の印字が完了する場合の注文管理システムのシーケンス図である。
同図において、プリンタ３０の電源が投入されると（ステップＳ２０１）、処理部３２の通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されているかを判断する。通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されていないため、接続要求の送信を送受信部３１に指示する（ステップＳ２０２）。送受信部３１は、接続要求をコントローラ２０へ送信する（ステップＳ２０４）。
コントローラ２０の第２送受信部２４は、接続要求を受信してプリンタ３０の起動を認識すると、プリンタ３０へ接続応答を返送する（ステップＳ２０６）。
【００４６】
コントローラ２０は、ハンディーターミナル１０から注文データを受信し、伝票１の伝票印字データである伝票１印字データと、伝票１識別コード「０００１」とをプリンタ３０へ送信する（ステップＳ２０８）。
【００４７】
プリンタ３０は、受信した伝票１印字データと伝票１識別コードについて、図４に示すステップＳ１１２〜Ｓ１２４の処理を実行する（ステップＳ２１０〜Ｓ２２２）。つまり、プリンタ３０の通信処理部３２１は、送受信部３１を介して伝票１印字データ及び伝票１識別コードを受信し、保存依頼とともに記憶処理部３２２へ出力する。
【００４８】
記憶処理部３２２の登録部３２４は、伝票１印字データと伝票１識別コードとを対応付けて揮発メモリ３３に書き込むとともに、伝票１識別コードを不揮発メモリ３４に書き込み、送受信部３１は伝票１印字データの受信応答をコントローラ２０へ送信する。登録部３２４は、印字処理部３２３に伝票１識別コードを設定した印字依頼を出力し、印字処理部３２３は、伝票１印字データの印字を印字部３５に実行させる。
【００４９】
コントローラ２０は、伝票１印字データの受信応答を受信した後、さらに、ハンディーターミナル１０から注文データを受信し、伝票２の伝票印字データである伝票２印字データと、伝票２印字データ２の識別コードである伝票２識別コード「０００２」とをプリンタ３０へ送信する（ステップＳ２２４）。
【００５０】
プリンタ３０は、受信した伝票２印字データと伝票２識別コードについて、図４に示すステップＳ１１２〜Ｓ１２２の処理を実行する（ステップＳ２２６〜Ｓ２３６）。つまり、プリンタ３０の通信処理部３２１は、送受信部３１を介して伝票２印字データ及び伝票２識別コードを受信し、保存依頼とともに記憶処理部３２２へ出力する。
【００５１】
記憶処理部３２２の登録部３２４は、伝票２印字データと伝票２識別コードとを対応付けて揮発メモリ３３に書き込むとともに、伝票２識別コードを不揮発メモリ３４に書き込み、送受信部３１は伝票２印字データの受信応答をコントローラ２０へ送信する。登録部３２４は、印字処理部３２３に伝票２識別コードを設定した印字依頼を出力する。印字処理部３２３は、伝票１印字データの印字処理が完了していないため、受信した印字依頼を記憶（バッファリング）しておく。
【００５２】
図６は、図５の続きのシーケンス図である。同図のステップＳ２２２及びＳ２３６の処理は、図５のステップＳ２２２及びＳ２３６の処理を表している。
コントローラ２０は、伝票２印字データの受信応答を受信した後、さらに、ハンディーターミナル１０から注文データを受信し、伝票３の伝票印字データである伝票３印字データと、伝票３印字データの識別コードである伝票３識別コード「０００３」とをプリンタ３０へ送信する（ステップＳ２５２）。
【００５３】
プリンタ３０は、受信した伝票３印字データと伝票３識別コードについて、図４に示すステップＳ１１２〜Ｓ１２０の処理を実行する（ステップＳ２５４〜Ｓ２６２）。つまり、プリンタ３０の通信処理部３２１が送受信部３１を介して伝票３印字データ及び伝票３識別コードを受信し、保存依頼とともに記憶処理部３２２に出力する。
【００５４】
記憶処理部３２２の登録部３２４は、伝票３印字データと伝票３識別コードとを対応付けて揮発メモリ３３に書き込むとともに、伝票３識別コードを不揮発メモリ３４に書き込み、送受信部３１は伝票３印字データの受信応答をコントローラ２０へ送信する。
【００５５】
プリンタ３０の印字部３５が伝票１印字データの印字を完了すると、プリンタ３０の印字処理部３２３は、記憶処理部３２２に伝票１印字データの印字完了応答を出力する（ステップＳ２６４）。記憶処理部３２２の削除部３２５は、伝票１印字データと伝票１識別コードを揮発メモリ３３から削除するとともに、不揮発メモリ３４から伝票１識別コードを削除する（ステップＳ２６６）。
【００５６】
印字処理部３２３は、記憶していた印字依頼から伝票２識別コードを取得する。印字処理部３２３は、伝票２識別コードで特定される伝票２印字データを揮発メモリ３３から読み出し、伝票２印字データの印字を印字部３５に実行させる（ステップＳ２６８）。
【００５７】
印字部３５が伝票２印字データの印字を完了すると、印字処理部３２３は、記憶処理部３２２に伝票２印字データの印字完了応答を出力する（ステップＳ２７０）。記憶処理部３２２の削除部３２５は、伝票２印字データと伝票２識別コードを揮発メモリ３３から削除するとともに、不揮発メモリ３４から伝票２識別コードを削除する（ステップＳ２７２）。
【００５８】
記憶処理部３２２の登録部３２４は、印字処理部３２３に伝票３識別コードを設定した印字依頼を出力する（ステップＳ２７４）。
印字処理部３２３は、伝票２印字データの印字完了応答の送信後、伝票３印字データの印字処理を印字部３５に実行させる（ステップＳ２７６）。
印字部３５が伝票３印字データの印字を完了すると、印字処理部３２３は、伝票３印字データの印字完了応答を記憶処理部３２２に出力する（ステップＳ２７８）。
記憶処理部３２２の削除部３２５は、伝票３印字データと伝票３識別コードを揮発メモリ３３から削除するとともに、不揮発メモリ３４から伝票３識別コードを削除する（ステップＳ２８０）。
【００５９】
図７は、伝票印刷途中でプリンタ３０の電源断が発生したときの注文管理システムのシーケンス図である。
同図において、プリンタ３０の電源が投入されると（ステップＳ３０２）、注文管理システムは、図５のステップＳ２０２〜Ｓ２０６の処理を行う（ステップＳ３０４〜Ｓ３０８）。その後、コントローラ２０が、ハンディーターミナル１０から注文データを受信すると、注文管理システムは、図５のステップＳ２０８〜Ｓ２２２の処理を行う（ステップＳ３１０〜Ｓ３２４）。さらに、コントローラ２０が、伝票１印字データの受信応答を受信した後、ハンディーターミナル１０から注文データを受信すると、注文管理システムは、図５のステップＳ２２４〜Ｓ２３６の処理を行う（ステップＳ３２６〜Ｓ３３８）。
【００６０】
コントローラ２０が、伝票２印字データの受信応答を受信した後、ハンディーターミナル１０から注文データを受信すると、注文管理システムは、図６のステップＳ２５２〜Ｓ２６２と同じ処理を行う（ステップＳ３４０〜Ｓ３５０）。そして、図６のステップＳ２６４〜Ｓ２６６の処理と同様に、プリンタ３０の印字部３５が伝票１印字データの印字を完了すると、印字処理部３２３が伝票１印字データの印字完了応答を記憶処理部３２２へ出力し（ステップＳ３５２）、記憶処理部３２２の削除部３２５は、伝票１印字データと伝票１識別コードを揮発メモリ３３から削除し、不揮発メモリ３４から伝票１識別コードを削除する（ステップＳ３５４）。そして、印字処理部３２３の指示により、印字部３５が伝票２印字データの印字を開始したところで（ステップＳ３５６）、プリンタ３０の電源断が発生する（ステップＳ３５８）。
【００６１】
例えば、プリンタ３０の印字中に不具合が発生し、電源をオフしないと復旧しない場合などに、従業員がプリンタ３０の電源をオフする。また、例えば、電源のトラブル等で、プリンタ３０が印字を完了する前に電源の供給が止まってしまう場合もある。電源断が発生すると、プリンタ３０の揮発メモリ３３に記憶されていた内容は消滅するが、不揮発メモリ３４に記憶されている内容は保持される。
【００６２】
図８は、図７の続きのシーケンス図である。同図において、プリンタ３０の電源が再び投入されると（ステップＳ４０２）、記憶処理部３２２は、不揮発メモリ３４に識別コードが記憶されているか否かを確認し、記憶されている場合、未印字伝票再送要求を通信処理部３２１に送出する（ステップＳ４０４）。
【００６３】
通信処理部３２１は、記憶処理部３２２から未印字伝票再送要求の入力を受け、不揮発メモリ３４に識別コードが記憶されているかを判断する。通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されていると判断すると、接続要求とともに、不揮発メモリ３４に記憶されている伝票２識別コード「０００２」、伝票３識別コード「０００３」を設定した未印字伝票通知情報とを送受信部３１に出力し、未印字伝票の再送を要求するよう送受信部３１に指示する（ステップＳ４０６）。
送受信部３１は、接続要求に未印字伝票通知情報を設定したものをコントローラ２０へ送信する（ステップＳ４０８）。コントローラ２０の第２送受信部２４は、プリンタ３０から接続要求を受信すると、接続応答をプリンタ３０へ返送する（ステップＳ４１０）。
【００６４】
コントローラ２０の伝票再発行処理部２２３は、接続要求に設定されている未印字伝票通知情報から伝票２識別コード及び伝票３識別コードを読み出す。伝票再発行処理部２２３は、まず、記憶部２３に記憶されている注文管理データから伝票２識別コードで特定される注文データを読み出し、読み出した注文データに基づいて伝票２印字データを生成する。伝票再発行処理部２２３は、生成した伝票２印字データと伝票２識別コードの送信を第２送受信部２４に指示し、第２送受信部２４は、伝票２印字データと伝票２識別コードをプリンタ３０に送信する（ステップＳ４１２）。
【００６５】
プリンタ３０の通信処理部３２１は、送受信部３１を介してコントローラ２０から伝票２印字データ及び伝票２識別コードを受信すると（ステップＳ４１４）、受信した伝票２印字データ及び伝票２識別コードと保存依頼とを記憶処理部３２２に出力する（ステップＳ４１６）。
【００６６】
記憶処理部３２２の登録部３２４は、伝票２印字データと伝票２識別コードとを対応付けて揮発メモリ３３に書き込む。登録部３２４は、不揮発メモリ３４に伝票２識別コードが記憶されているため、不揮発メモリ３４への書き込みは行わない（ステップＳ４１８）。登録部３２４は、書き込み終了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０への応答を送信するよう送受信部３１へ指示する（ステップＳ４２０）。送受信部３１は伝票２印字データの受信応答をコントローラ２０へ送信する（ステップＳ４２２）。
【００６７】
一方、プリンタ３０の登録部３２４は、印字処理部３２３に伝票２識別コードを設定した印字依頼を出力し（ステップＳ４２４）、印字処理部３２３は、伝票２印字データの印字処理を印字部３５に実行させる（ステップＳ４２６）。
【００６８】
なお、コントローラ２０の第２送受信部２４が、伝票２印字データの受信応答を受信すると、注文管理システムは、伝票２識別コードに代えて伝票３識別コードを用い、上記のステップＳ４１２〜Ｓ４２４の処理を実行する。
つまり、コントローラ２０の伝票再発行処理部２２３は、注文管理データから伝票３識別コードで特定される注文データを読み出して伝票３印字データを生成し、第２送受信部２４は、伝票３印字データと伝票３識別コードをプリンタ３０に送信する。プリンタ３０の通信処理部３２１は、送受信部３１を介してコントローラ２０から伝票３印字データ及び識別コードを受信し、保存依頼とともに記憶処理部３２２に出力する。記憶処理部３２２の登録部３２４は、伝票３印字データと伝票３識別コードとを対応付けて揮発メモリ３３に書き込み、不揮発メモリ３４への書き込みは行わない。送受信部３１は伝票３印字データの受信応答をコントローラ２０へ送信する。
【００６９】
図９は、電源起動時のプリンタ３０の処理フローを示す図である。
プリンタ３０の電源が投入されると（ステップＳ５０２）、通信処理部３２１は、不揮発メモリ３４に未印字の伝票印字データの識別コードが記憶されているかにより、未印字の伝票印字データがあるかを判断する（ステップＳ５０４）。
不揮発メモリ３４に未印字の伝票印字データの識別コードが記憶されていないと判断した場合（ステップＳ５０４：無し）、通信処理部３２１は、送受信部３１に接続要求の送信を指示する。送受信部３１は、接続要求をコントローラ２０へ送信する（ステップＳ５０６）。ステップＳ５０６の処理は、図５のステップＳ２０２〜Ｓ２０４の処理に相当する。送受信部３１が、コントローラ２０から接続応答を受信すると（図６のステップＳ２０６に相当）、印字データの受信待ちとなる（ステップＳ５０８）。
【００７０】
一方、ステップＳ５０４において、未印字の伝票印字データの識別コードが記憶されていると判断した場合（ステップＳ５０４：有り）、通信処理部３２１は、接続要求とともに、不揮発メモリ３４から読み出した識別コードを設定した未印字伝票通知情報を送受信部３１に出力し、未印字伝票の再送を要求するよう指示する。
【００７１】
送受信部３１は、未印字伝票通知情報を設定した接続要求をコントローラ２０へ送信する（ステップＳ５１０）。ステップＳ５１０の処理は、図８のステップＳ４０４〜Ｓ４０８の処理に相当する。送受信部３１が、コントローラ２０から接続応答を受信すると（図８のステップＳ４１０に相当）、印字データの受信待ちとなる（ステップＳ５０８）。
【００７２】
図１０は、コントローラ２０の注文処理フローを示す図である。注文処理は、ハンディーターミナル１０から注文データを受信し、受信した注文データに基づいて生成した伝票印字データをプリンタ３０に印字させる処理である。
【００７３】
コントローラ２０の印字要求受信部２２０は、第１送受信部２１がハンディーターミナル１０から注文データを受信したかを判断する（ステップＳ６０２）。印字要求受信部２２０が、注文データを受信しなかったと判断した場合（ステップＳ６０２：ＮＯ）、コントローラ２０はステップＳ６１０の処理を行う。
【００７４】
一方、印字要求受信部２２０が、注文データを受信したと判断した場合（ステップＳ６０２：ＹＥＳ）、受信した注文データを注文処理部２２１に出力する（ステップＳ６０４）。注文処理部２２１は、記憶部２３に記憶されている注文管理データに、受信した注文データと注文時刻とを対応付けて追加登録する（ステップＳ６０６）。伝票処理部２２２は、伝票番号を割り当てると、注文データから伝票印字データを生成し、識別コードを割り当てる。伝票処理部２２２は、記憶部２３に記憶されている注文管理データに、注文データと対応付けて割り当てた伝票番号及び識別コードを書き込むとともに、生成した伝票印字データと識別コードとを対応付けて記憶部２３に書き込む（ステップＳ６０８）。書き込み後、コントローラ２０は、ステップＳ６１０の処理を実行する。
【００７５】
第２送受信部２４は、プリンタ３０から接続要求を受信した場合（ステップＳ６１０：ＹＥＳ）、プリンタ３０との接続を確立し、受信した接続要求を印字要求受信部２２０へ出力する（ステップＳ６１２）。
印字要求受信部２２０は、接続要求に未印字伝票通知情報が含まれていると判断すると（ステップＳ６１４：ＹＥＳ）、未印字伝票通知情報を伝票再発行処理部２２３に出力する。伝票再発行処理部２２３は、未印字伝票通知情報から識別コードを取得し、取得した識別コードに対応して記憶部２３に記憶されている注文管理データから注文データを読み出すと、読み出した注文データに基づいて伝票印字データを生成する。以下、未印字伝票通知情報に設定されている識別コードに対応した注文データから生成された伝票印字データを「未印字伝票データ」と記載する。伝票再発行処理部２２３は、生成した未印字伝票データとその識別コードとを記憶部２３に書き込み（ステップＳ６１６）、コントローラ２０は、ステップＳ６０２からの処理を行う。
【００７６】
ステップＳ６１０において、第２送受信部２４がプリンタ３０の接続要求を受信しなかった場合（ステップＳ６１０：ＮＯ）、あるいは、ステップＳ６１４において、印字要求受信部２２０が、接続要求に未印字伝票通知情報が含まれてないと判断した場合（ステップＳ６１４：ＮＯ）、伝票再発行処理部２２３は、プリンタ３０へまだ送信していない未印字伝票データが記憶部２３に記憶されているかにより、未送信の未印字伝票データがあるかを判断する（ステップＳ６１８）。
【００７７】
記憶部２３に未印字伝票データが記憶されている場合（ステップＳ６１８：ＹＥＳ）、伝票再発行処理部２２３は、未送信の未印字伝票データがあると判断して記憶部２３から未印字伝票データとその識別コードを読み出す。伝票再発行処理部２２３は読み出した未印字伝票データとその識別コードとを第２送受信部２４に出力し、プリンタ３０への送信を指示する。
なお、未印字伝票データが複数記憶されている場合、伝票再発行処理部２２３は、注文管理データから未印字伝票データの識別コードに対応した注文時刻を読み出し、読み出した注文時刻が最も早い識別コードと、その識別コードに対応した未印字伝票データを第２送受信部２４に出力し、プリンタ３０への送信を指示する。第２送受信部２４は、伝票再発行処理部２２３から入力された未印字伝票データとその識別コードをプリンタ３０へ送信する（ステップＳ６２０）。
【００７８】
第２送受信部２４が、ステップＳ６２０において送信した未印字伝票データに対応してプリンタ３０からの受信応答を所定時間内に受信した場合（ステップＳ６２２：ＹＥＳ）、伝票再発行処理部２２３は、ステップＳ６２０において送信した未印字伝票データとその識別コードを記憶部２３から削除し（ステップＳ６２４）、コントローラ２０はステップＳ６０２からの処理を実行する。一方、第２送受信部２４が所定時間内にプリンタ３０からの受信応答を受信しなかった場合（ステップＳ６２２：ＮＯ）、コントローラ２０は未印字伝票データの削除は行わずにステップＳ６０２からの処理を実行する。
【００７９】
ステップＳ６１８において、伝票再発行処理部２２３が、記憶部２３に未印字伝票データは記憶されておらず、未送信の未印字伝票データはないと判断した場合（ステップＳ６１８：ＮＯ）、伝票処理部２２２は、プリンタ３０へまだ送信が完了していない伝票印字データが記憶部２３に記憶されているかにより、送信が完了していない伝票印字データがあるかを判断する（ステップＳ６２６）。記憶部２３に送信が完了していない伝票印字データが記憶されていない場合（ステップＳ６２６：ＮＯ）、コントローラ２０は、ステップＳ６０２からの処理を実行する。記憶部２３に伝票印字データが記憶されている場合（ステップＳ６２６：ＹＥＳ）、伝票処理部２２２は、ステップＳ６０８において書き込まれた後、まだ送信が完了していない伝票印字データとその識別コードを記憶部２３から読み出す。伝票処理部２２２は読み出した伝票印字データとその識別コードとを第２送受信部２４に出力し、プリンタ３０への送信を指示する。
なお、伝票印字データが複数記憶されている場合、伝票処理部２２２は、記憶部２３が記憶している注文管理データから伝票印字データの識別コードに対応した注文時刻を読み出し、読み出した注文時刻が最も早い識別コードと、その識別コードに対応した伝票印字データを第２送受信部２４に出力し、プリンタ３０への送信を指示する。第２送受信部２４は、伝票処理部２２２から入力された伝票印字データとその識別コードをプリンタ３０へ送信する（ステップＳ６２８）。
【００８０】
第２送受信部２４が、ステップＳ６２８において送信した伝票印字データに対応してプリンタ３０からの受信応答を所定時間内に受信した場合（ステップＳ６３０：ＹＥＳ）、伝票処理部２２２は、ステップＳ６２８において送信した伝票印字データとその識別コードを記憶部２３から削除し（ステップＳ６３２）、コントローラ２０はステップＳ６０２からの処理を実行する。一方、第２送受信部２４が所定時間内にプリンタ３０からの受信応答を受信しなかった場合（ステップＳ６３０：ＮＯ）、コントローラ２０は伝票印字データの削除は行わずにステップＳ６０２からの処理を実行する。
【００８１】
上記の処理により、コントローラ２０は、随時ハンディーターミナル１０からの注文データ、プリンタ３０からの接続要求を受信する。
プリンタ３０の電源断中に注文データを受信した場合、コントローラ２０は、受信した注文データから伝票印字データを生成し、生成した伝票印字データと識別コードとをプリンタ３０に送信する。
しかし、送信した伝票印字データと識別コードに対応してプリンタ３０から受信応答を受信しないため、コントローラ２０は、伝票印字データの再送を行う。そして、伝票印字データの再送中に、さらに注文データを受信した場合、コントローラ２０は、受信した注文データから伝票印字データを生成して記憶しておく。プリンタ３０の電源が再投入され、コントローラ２０がプリンタ３０から接続要求を受信し、受信した接続要求に未印字伝票通知情報が設定されているときには、プリンタ３０の電源断中に再送していた伝票印字データや、送信を行わずに記憶していた伝票印字データよりも、未印字伝票通知情報により要求された未印字伝票データを優先してプリンタ３０に送信する。
【００８２】
なお、ステップＳ６０８において伝票処理部２２２が生成する伝票印字データは、注文データに設定されている担当者コード、テーブル番号及び明細データと、伝票印字データの識別コードである伝票番号と、識別コードに対応して記憶部２３の注文管理データから読み出した注文時刻とを含む情報を所定のレイアウトで印字させる印字データである。注文データに手書き文字の情報など他の情報が含まれている場合、それらの情報をさらに印字させる印字データとしてもよい。
【００８３】
また、ステップＳ６１６において伝票再発行処理部２２３が生成する未印字伝票データは、ステップＳ６０８において伝票処理部２２２が生成する伝票印字データと同じであってもよく、伝票処理部２２２が生成する伝票印字データに、再送された伝票であることを示す情報をさらに印字させる伝票印字データであってもよい。再送伝票であることを示す情報は、例えば、所定の文字や記号、警告を示す言葉や文書、当該注文データの注文時刻から現在時刻までの経過時間などとすることができる。このような情報を付加して印字することにより、調理担当等が未印字伝票の存在を気付き易くなり、また、その伝票に関する作業についてどの程度迅速に対応すべきなのかを容易に把握することができる。
【００８４】
なお、コントローラ２０の伝票処理部２２２は、送信が成功した伝票印字データを記憶部２３から削除せず、伝票再発行処理部２２３は、未印字伝票通知情報に設定されている識別コードに対応した伝票印字データを記憶部２３から読み出してプリンタ３０に送信するようにしてもよい。
【００８５】
また、プリンタ３０の記憶処理部３２２は、コントローラ２０から再送された伝票印字データ（未印字伝票データ）に、再送された伝票印字データによる印字であることを示す情報を印字させる印字データを付加してもよい。
【００８６】
本実施形態によれば、プリンタ３０は、コントローラ２０から伝票印字データを受信した場合、受信した伝票印字データに付加されている識別コードを不揮発メモリ３４に保存し、印字部３５において伝票印字データの印字が完了したらその伝票印字データの識別コードを不揮発メモリ３４から削除する。
不揮発メモリ３４への伝票印字データ及び識別コードの書き込みから、印字部３５による伝票印字データの印字の完了までの間に電源断が発生した際でも、不揮発メモリ３４内の記憶内容は保存された状態となる。そして、プリンタ３０の電源が再度投入されたときに、プリンタ３０は不揮発メモリ３４に識別コードが保存されたまま残っている場合は、その識別コードにより特定される伝票印字データの印字が完了していないと判断し、不揮発メモリ３４から読み出した識別コードを接続要求に付加してコントローラ２０へ送信する。
コントローラ２０は、プリンタ３０から受信した接続要求に付加されている識別コードにより注文データを特定し、特定した注文データから伝票印字データを生成する。この際、コントローラ２０は、プリンタ３０の電源断が発生していたときにハンディーターミナル１０より受信した注文データから生成した伝票印字データよりも、接続要求により通知された識別コードで特定される注文データから生成した伝票印字データを優先し、且つ、注文時刻の早い順にプリンタ３０に送信する。これによって、コントローラ２０が注文データを受信した順に、注文データから生成した伝票印字データをプリンタ３０に印字させることができる。
【００８７】
［第２の実施形態］
次に、本発明の第２の実施形態を説明する。第１の実施形態では、コントローラ２０がプリンタ３０に印字させる伝票は、複数明細が１枚の伝票に含まれる複数明細伝票であってもよく、明細毎にパーシャルカットされた短冊伝票からなる一行明細伝票であってもよい。本実施形態では、コントローラは、プリンタに一行明細伝票を印字させ、プリンタは、短冊伝票の単位で印字が完了したかを管理する。以下、第１の実施形態との差分を中心に説明する。
【００８８】
本実施形態の注文管理システムは、第１の実施形態のプリンタ３０に代えて図１１に示すプリンタ３０ａを備える。コントローラ２０は、第１の実施形態と同様であるが、伝票処理部２２２及び伝票再発行処理部２２３は、一行明細伝票の伝票印字データを生成する。一行明細伝票の伝票印字データは、注文データに含まれる各明細データに対応した短冊伝票を印字させる短冊印字データと、短冊印字データ間に設定されたカットコマンドとを含む。各短冊印字データは、対応する明細データが示す注文品及び数量と、注文データに設定されている担当者コード及びテーブル番号と、伝票印字データの識別コードである伝票番号と、識別コードに対応して記憶部２３の注文管理データから読み出した注文時刻とを含む情報を所定のレイアウトで印字させる印字データである。
【００８９】
図１１は、本実施形態のプリンタ３０ａの内部構成を示すブロック図である。同図において、図３に示す第１の実施形態によるプリンタ３０と同一の部分には同一の符号を付し、その説明を省略する。同図に示すプリンタ３０ａが、図３に示す第１の実施形態のプリンタ３０と異なる点は、処理部３２に代えて処理部３２ａを備える点、揮発メモリ３３に代えて揮発メモリ３３ａを備える点、不揮発メモリ３４に代えて不揮発メモリ３４ａを備える点である。
【００９０】
揮発メモリ３３ａは、コントローラ２０から受信した印字データと、当該印字データの識別コードと、当該識別コードの伝票印字データに含まれる短冊印字データのうち印字が完了した短冊印字データの数を記憶する。不揮発メモリ３４ａは、バックアップ電池付きＲＡＭや、書き込み及び消去が可能なフラッシュＲＯＭなどであり、印字が完了していない伝票印字データの識別コードと、当該識別コードの伝票印字データに含まれる短冊印字データのうち印字が完了した短冊印字データの数を記憶する。
印字された短冊印字データの数は、伝票印字データの印字中に、当該伝票印字データに設定されているカットコマンドを実行した回数（カット回数）により示す。
【００９１】
処理部３２ａが、第１の実施形態のプリンタ３０ａの処理部３２と異なる点は、記憶処理部３２２に代えて記憶処理部３２２ａを備える点、印字処理部３２３に代えて印字処理部３２３ａを備える点である。
記憶処理部３２２ａは、登録部３２４ａ、削除部３２５ａ、更新部３２６及び印字情報付加部３２７を備える。登録部３２４ａは、コントローラ２０から受信した印字データ及びその識別コードと、カット回数の初期値とを対応付けて揮発メモリ３３ａに書き込む。また、登録部３２４ａは、受信した識別コードとカット回数の初期値とを不揮発メモリ３４ａに書き込む。更新部３２６は、印字処理部３２３ａから短冊伝票の印字完了の通知を受信し、カット回数を更新する。削除部３２５ａは、印字が完了した伝票印字データとその識別コード及びカット回数とを揮発メモリ３３ａから削除するとともに、印字が完了した伝票印字データの識別コード及びカット回数を不揮発メモリ３４ａから削除する。印字情報付加部３２７は、コントローラ２から再送された伝票印字データの識別コードに対応して不揮発メモリ３４ａから読み出したカット回数に基づいて、当該伝票印字データ内の短冊印字データがどこまで印字済みかを判断する。印字情報付加部３２７は、伝票印字データに含まれる各短冊印字データに、印字済みであるか否かの情報を印字させる印字データを追加する。
印字処理部３２３ａは、揮発メモリ３３ａから読み出した印字データを印字するよう印字部３５に指示する。また、印字処理部３２３ａは、印字データに含まれるカットコマンドに従って、ロール紙をカットするようカッター部３６に指示するとともに、短冊印字データの印字完了（カットコマンドの実行）、及び、伝票印字データの印字完了を記憶処理部３２２ａに通知する。
【００９２】
図１２は、プリンタ３０ａの電源投入後、正常に伝票の印字が完了する場合の注文管理システムのシーケンス図である。
同図において、プリンタ３０ａの電源が投入されると（ステップＳ７０１）、通信処理部３２１は、不揮発メモリ３４ａに識別コードが記憶されているかを判断する。通信処理部３２１は、不揮発メモリ３４ａに識別コードが記憶されていないため、接続要求の送信を送受信部３１に指示する（ステップＳ７０２）。送受信部３１は、接続要求をコントローラ２０へ送信する（ステップＳ７０４）。コントローラ２０の第２送受信部２４は、接続要求を受信してプリンタ３０ａの起動を認識すると、プリンタ３０ａへ接続応答を返送する（ステップＳ７０６）。
【００９３】
コントローラ２０は、ハンディーターミナル１０から注文データを受信すると、第１の実施形態と同様に、伝票３の伝票印字データである伝票３印字データを生成し、伝票３印字データと伝票３識別コード「０００３」とをプリンタ３０ａに送信する（ステップＳ７０８）。生成された伝票３印字データは、３つの短冊印字データを含んだ一行明細伝票の印字データである。
【００９４】
プリンタ３０ａの通信処理部３２１は、送受信部３１を介してコントローラ２０から伝票３印字データ及び伝票３識別コードを受信すると（ステップＳ７１０）、受信した伝票３印字データ及び伝票３識別コードと保存依頼とを記憶処理部３２２ａに出力する（ステップＳ７１２）。記憶処理部３２２ａの登録部３２４ａは、伝票３印字データと伝票３識別コードとカット回数「０」とを対応付けて揮発メモリ３３ａに書き込むとともに、伝票３識別コードとカット回数「０」とを対応付けて不揮発メモリ３４ａに書き込む（ステップＳ７１４）。登録部３２４ａは、書き込み終了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０へ応答を送信するよう送受信部３１へ指示する（ステップＳ７１６）。
送受信部３１は伝票３印字データの受信応答をコントローラ２０へ送信する（ステップＳ７１８）。
【００９５】
一方、プリンタ３０ａの登録部３２４ａは、印字処理部３２３ａに伝票３識別コードを設定した印字依頼を出力する（ステップＳ７２０）。印字処理部３２３ａは、印字依頼に設定されている伝票３識別コードで特定される伝票３印字データを揮発メモリ３３ａから読み出し、伝票３印字データに含まれる最初の短冊印字データの印字処理を印字部３５に実行させる（ステップＳ７２２）。
【００９６】
印字部３５が伝票印字データに含まれる最初の短冊印字データの印字を完了すると、印字処理部３２３ａは、この短冊印字データの後に伝票印字データに記述されているカットコマンドに従ってロール紙のパーシャルカットをカッター部３６に実行させるとともに、短冊完了応答を記憶処理部３２２ａに出力する（ステップＳ７２４）。
【００９７】
記憶処理部３２２ａの更新部３２６は、伝票３識別コードに対応して揮発メモリ３３ａ及び不揮発メモリ３４ａに記憶されているカット回数を、現在の値「０」に１を加算した値「１」に更新する（ステップＳ７２６）。印字処理部３２３ａは短冊完了応答の出力後、続いて、伝票３印字データに含まれる２番目の短冊印字データの印字処理を印字部３５に実行させる（ステップＳ７２８）。
【００９８】
図１３は、図１２の続きのシーケンス図である。プリンタ３０の印字部３５が図１２のステップＳ７２８における２番目の短冊印字データの印字を完了すると、印字処理部３２３ａは、この短冊印字データの後に伝票印字データに記述されているカットコマンドに従ってロール紙のパーシャルカットをカッター部３６に実行させるとともに、短冊完了応答を記憶処理部３２２ａに出力する（ステップＳ７５２）。
【００９９】
記憶処理部３２２ａの更新部３２６は、伝票３識別コードに対応して揮発メモリ３３ａ及び不揮発メモリ３４ａに記憶されているカット回数を、現在の値「１」に１を加算した値「２」に更新する（ステップＳ７５４）。印字処理部３２３ａは短冊完了応答の出力後、続いて、伝票３印字データに含まれる３番目の短冊印字データの印字処理を印字部３５に実行させる（ステップＳ７５６）。
【０１００】
コントローラ２０は、図１２のステップＳ７１８においてプリンタ３０ａが送信した伝票３印字データの受信応答を受信した後、さらに、ハンディーターミナル１０から注文データを受信し、伝票４の伝票印字データである伝票４印字データと、伝票４識別コード「０００４」とをプリンタ３０ａに送信する（ステップＳ７５８）。
【０１０１】
プリンタ３０ａは、受信した伝票４印字データと伝票４識別コードについて、図１２に示すステップＳ７１０〜Ｓ７２０の処理を実行する（ステップＳ７６０〜Ｓ７７０）。つまり、プリンタ３０ａの送受信部３１は、受信した伝票４印字データ及び伝票４識別コードを保存依頼とともに記憶処理部３２２ａに出力する。記憶処理部３２２ａの登録部３２４ａは、伝票４印字データと伝票４識別コードとカット回数「０」とを対応付けて揮発メモリ３３ａに書き込むとともに、伝票４識別コードとカット回数「０」とを対応付けて不揮発メモリ３４ａに書き込み、送受信部３１は伝票４印字データの受信応答をコントローラ２０へ送信する。登録部３２４ａは、印字処理部３２３ａに伝票４識別コードを設定した印字依頼を出力する。
【０１０２】
印字部３５が、伝票３印字データに含まれる３番目の短冊印字データの印字を完了すると、印字処理部３２３ａは、伝票３印字データに含まれる全ての短冊印字データの印字を完了したと判断し、伝票３印字データの印字完了応答を記憶処理部３２２ａに出力する（ステップＳ７７２）。
記憶処理部３２２ａの削除部３２５ａは、伝票３印字データとその識別コード及びカット回数を揮発メモリ３３ａから削除するとともに、伝票３識別コードとカット回数の組を不揮発メモリ３４ａから削除する（ステップＳ７７４）。
印字処理部３２３ａは、記憶していた印字依頼に設定されている伝票４識別コードに対応した伝票印字データを揮発メモリ３３ａから読み出すと、伝票４印字データの最初の短冊印字データの印字を印字部３５に実行させる（ステップＳ７７６）。
【０１０３】
図１４は、プリンタ３０ａが正常に印字を完了したときの一行明細伝票である調理伝票の出力例を示す図である。同図は、３つの短冊印字データを含んだ伝票印字データに基づいて印字された調理伝票であり、短冊伝票ｒ１、ｒ２、ｒ３からなる。短冊伝票ｒ１と短冊伝票ｒ２、短冊伝票ｒ２と短冊伝票ｒ３の間は、短冊印字データ間に記述されているカットコマンドの実行により、パーシャルカットされている。各短冊伝票ｒ１、ｒ２、ｒ３には、伝票番号、テーブル番号、注文時刻、担当者コードが印字されている。また、短冊伝票ｒ１、ｒ２、ｒ３のそれぞれには、対応する明細データが示す注文品及び注文数量が印字されている。
【０１０４】
図１５は、伝票印字中にプリンタ３０ａの電源断が発生したときの注文管理システムのシーケンス図である。同図においては、図１３のステップＳ７６４の後、ステップＳ７７２までの間にプリンタ３０ａの電源断が発生した場合を示している。つまり、プリンタ３０ａのカッター部３６が伝票３印字データの２番目の短冊伝票のパーシャルカットを完了して、印字部３５が伝票３印字データの３番目の短冊印字データを印字中、記憶処理部３２２ａの更新部３２６が伝票４識別コード及び印字データとカット回数の初期値とを揮発メモリ３３ａに、伝票４識別コード及びカット回数の初期値を不揮発メモリ３４ａに書き込んだところで、プリンタ３０ａの電源断が発生した場合である。
例えば、伝票３の２枚目の短冊伝票の印字が完了し、最後の１枚の短冊伝票の印字途中で紙詰まりが発生したために、従業員がプリンタ３０ａの電源を落とし、再び電源投入した場合である。この場合、プリンタ３０ａは、電源投入後の接続要求により、コントローラ２０に伝票３印字データの再発行の依頼を送信し、コントローラ２０から伝票３印字データを再取得後、最初の短冊印字データから再印字を行う。
【０１０５】
同図において、プリンタ３０ａの電源が再び投入されると（ステップＳ８０２）、記憶処理部３２２ａは、不揮発メモリ３４ａに識別コードが記憶されているか否かを確認し、記憶されている場合、未印字伝票再送要求を通信処理部３２１に送出する（ステップＳ８０４）。
通信処理部３２１は、記憶処理部３２２ａから未印字伝票再送要求の入力を受け、不揮発メモリ３４ａに識別コードが記憶されているかを判断する。通信処理部３２１は、不揮発メモリ３４ａに識別コードが記憶されていると判断した場合、接続要求とともに、不揮発メモリ３４ａに記憶されている伝票３識別コード「０００３」及び伝票４識別コード「０００４」を設定した未印字伝票通知情報を送受信部３１に出力し、未印字伝票の再送を要求するよう送受信部３１に指示する（ステップＳ８０６）。
送受信部３１は、接続要求に未印字伝票通知情報を設定したものをコントローラ２０へ送信する（ステップＳ８０８）。コントローラ２０の第２送受信部２４は、プリンタ３０ａから接続要求を受信すると、接続応答をプリンタ３０ａへ返送する（ステップＳ８１０）。
【０１０６】
コントローラ２０の伝票再発行処理部２２３は、接続要求に設定されている未印字伝票通知情報から伝票３識別コード及び伝票４識別コードを読み出す。伝票再発行処理部２２３は、まず、記憶部２３に記憶されている注文管理データから伝票３識別コードで特定される注文データを読み出し、読み出した注文データに基づいて伝票３印字データを生成する。生成された伝票３印字データは、図１２のステップＳ７０８においてコントローラ２０が送信した伝票３印字データと同じである。伝票再発行処理部２２３は、生成した伝票３印字データと伝票３識別コードの送信を第２送受信部２４に指示し、第２送受信部２４は、伝票３印字データと伝票３識別コードをプリンタ３０ａに送信する（ステップＳ８１２）。
【０１０７】
プリンタ３０ａの通信処理部３２１は、送受信部３１を介してコントローラ２０から伝票３印字データ及び伝票３識別コードを受信すると（ステップＳ８１４）、受信した伝票３印字データ及び伝票３識別コードと保存依頼とを記憶処理部３２２ａに出力する（ステップＳ８１６）。
記憶処理部３２２ａの登録部３２４ａは、伝票３印字データと伝票３識別コードと初期値「０」を設定したカット回数とを対応付けて揮発メモリ３３ａに書き込む。登録部３２４ａは、不揮発メモリ３４ａから伝票３識別コードに対応したカット回数「２」を読み出し、印字情報付加部３２７へ出力する。
印字情報付加部３２７は、登録部３２４ａが読み出したカット回数が「２」であるため、３番目以降の短冊印字データの印字が完了していないと判断する。伝票３印字データには３つの短冊印字データが含まれているため、印字情報付加部３２７は、揮発メモリ３３ａに記憶されている伝票３印字データ内の１番目と２番目の短冊印字データに、印字済みであることを示す情報を印字させる印字データを追加し、３番目の短冊印字データに、未印字であることを示す情報を印字させる印字データを追加する（ステップＳ８１８）。
【０１０８】
プリンタ３０ａは、図１２のステップＳ７１６以降に示す伝票３印字データの印字処理を行う。すなわち、登録部３２４ａは、書き込み終了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０へ応答を送信するよう送受信部３１へ指示する（ステップＳ８２２）。送受信部３１は伝票３印字データの受信応答をコントローラ２０へ送信する（ステップＳ８２４）。登録部３２４ａは、印字処理部３２３ａに伝票３識別コードを設定した印字依頼を出力し（ステップＳ８２６）、印字処理部３２３ａは、伝票３印字データに含まれる最初の短冊印字データの印字処理を印字部３５に実行させる（ステップＳ８２８）。
【０１０９】
また、コントローラ２０の第２送受信部２４がステップＳ８２４で送信された伝票３印字データの受信応答を受信すると、伝票再発行処理部２２３は、伝票４識別コードで特定される注文データに基づいて伝票４印字データを生成し、第２送受信部２４は、伝票４印字データと伝票４識別コードをプリンタ３０ａに送信する。
【０１１０】
図１６は、電源再投入後に再送された伝票印字データに基づく調理伝票の印字例を示す図である。同図において、印字方向の矢印が下から上に向いているが、これは、印字した短冊伝票が印字を進めるにつれて矢印の方向に移動していく、という意味である。すなわち、一番上にある短冊伝票が一番初めに印字された短冊伝票である。同図は、正常に印字が完了した場合は、図１４と同様の調理伝票が印字される伝票３印字データによって、３枚目の短冊伝票ｒ３を印字している途中でプリンタ３０ａの電源断が発生したために、コントローラ２０から伝票３印字データが再送されたときの印字例である。
プリンタ３０ａの印字情報付加部３２７が、再送された伝票３印字データの各短冊印字データに印字済みであるか否かを示す情報を付加するため、印字された調理伝票は、同図に示す短冊伝票ｒ１’、ｒ２’、ｒ３’からなる。短冊伝票ｒ１’には、短冊伝票ｒ１の印字内容に、印字済みであることを示す情報として「済み」がさらに印字されている。短冊伝票ｒ２’も同様に、短冊伝票ｒ２の印字内容に加え、「済み」がさらに印字されている。一方、短冊伝票ｒ３’には、短冊伝票ｒ３の印字内容に加え、再送された伝票印字データによって初めて印字されたことを示す情報として「未印字」がさらに印字されている。
【０１１１】
本実施形態のプリンタ３０ａの電源起動時の処理は、図９に示す第１の実施形態の電源起動時の処理と同じである。
また、本実施形態のコントローラ２０の注文処理は、図１０に示す第１の実施形態の注文処理フローと同じである。ただし、ステップＳ６０８において伝票処理部２２２は、一行明細伝票の伝票印字データを生成し、ステップＳ６１６において伝票再発行処理部２２３は一行明細伝票の未印字伝票データを生成する。
【０１１２】
本実施形態によれば、プリンタ３０ａは、再送された伝票印字データに基づいて一行明細伝票を印字する場合、各短冊伝票に印字済みであるか否かの情報を印字する。再印字であることを示す情報を短冊伝票に印字することによって、注文品が二重に調理されることを効果的に防止することができ、また、未印字であることを示す情報を短冊伝票に印字することによって、注文から時間がたっている旨の注意を喚起することができる。
【０１１３】
［第３の実施形態］
次に、本発明の第３の実施形態を説明する。本実施形態の注文管理システムでは、プリンタが一行明細伝票を印字しているときに電源断が発生した場合、コントローラは、印刷が完了していない短冊伝票のみを印字させる伝票印字データを生成する。以下、第２の実施形態との差分を中心に説明する。
本実施形態の注文管理システムは、第２の実施形態のコントローラ２０に代えて図１７に示すコントローラ２０ｂを、第２の実施形態のプリンタ３０ａに代えて図１８に示すプリンタ３０ｂを備える。以下、第２の実施形態との差分を中心に説明する。
【０１１４】
図１７は、本実施形態のコントローラ２０ｂの内部構成を示すブロック図である。同図において、図２に示す第１の実施形態によるコントローラ２０と同一の部分には同一の符号を付し、その説明を省略する。
同図に示すコントローラ２０ｂが、図２に示す第１の実施形態のコントローラ２０と異なる点は、処理部２２に代えて処理部２２ｂを備える点である。処理部２２ｂが、第１の実施形態のコントローラ２０の処理部２２と異なる点は、伝票再発行処理部２２３に代えて伝票再発行処理部２２３ｂを備える点である。伝票再発行処理部２２３ｂは、第２送受信部２４がプリンタ３０から受信した接続要求に識別コード及びカット回数が設定されている場合、記憶部２３に記憶されている注文管理データを検索して当該識別コードに対応した注文データを特定する。伝票再発行処理部２２３ｂは、特定した注文データから、受信済みのカット回数を考慮し、印字済みの短冊印字データを除いた一行明細伝票の伝票印字データを生成する。
【０１１５】
図１８は、本実施形態のプリンタ３０ｂの内部構成を示すブロック図である。同図において、図１１に示す第２の実施形態によるプリンタ３０ａと同一の部分には同一の符号を付し、その説明を省略する。
同図に示すプリンタ３０ｂが、図１１に示す第２の実施形態のプリンタ３０ａと異なる点は、処理部３２ａに代えて処理部３２ｂを備える点である。処理部３２ｂが、第２の実施形態のプリンタ３０ａの処理部３２ａと異なる点は、通信処理部３２１に代えて通信処理部３２１ｂ（未印字伝票通知部）を備える点、記憶処理部３２２ａに代えて記憶処理部３２２ｂを備える点である。
【０１１６】
通信処理部３２１ｂは、電源が投入されたときに、不揮発メモリ３４ａに記憶されている識別コードとカット回数の組を読み出して接続要求に設定する。
記憶処理部３２２ｂが第２の実施形態の記憶処理部３２２ａと異なる点は、登録部３２４ａに代えて登録部３２４ｂを備える点、印字情報付加部３２７を備えていない点である。登録部３２４ｂは、コントローラ２０ｂから受信した印字データとその識別コードとカット回数の初期値とを対応付けて揮発メモリ３３ａに書き込むとともに、受信した識別コードが不揮発メモリ３４ａに記憶されていない場合に当該識別コード及びカット回数の初期値を不揮発メモリ３４ａに書き込む。
【０１１７】
本実施形態の注文管理システムにおいて、プリンタ３０ｂの電源投入後、正常に伝票印字データの印字が行われる場合の注文管理システムの動作は、図１２及び図１３に示す第２の実施形態と同様である。
【０１１８】
図１９は、伝票の印字中にプリンタ３０ｂの電源断が発生したときの注文管理システムのシーケンス図である。同図においては、図１３のステップＳ７６４の後、ステップＳ７７２までの間にプリンタ３０ｂの電源断が発生した場合を示している。
同図において、プリンタ３０ｂの電源が再び投入されると（ステップＳ９０２）、記憶処理部３２２ｂは、不揮発メモリ３４ａに識別コードが記憶されているか否かを確認し、記憶されている場合、未印字伝票再送要求を通信処理部３２１ｂに送出する（ステップＳ９０４）。
【０１１９】
通信処理部３２１ｂは、記憶処理部３２２ｂから未印字伝票再送要求の入力を受け、不揮発メモリ３４ａに識別コードが記憶されているかを判断する。通信処理部３２１ｂは、不揮発メモリ３４ａに識別コードが記憶されていると判断した場合、接続要求とともに、不揮発メモリ３４ａに記憶されている伝票３識別コード「０００３」及びカット回数「２」の組と、伝票４識別コード「０００４」及びカット回数「０」の組を設定した未印字伝票通知情報を送受信部３１に出力し、未印字伝票の再送を要求するよう送受信部３１に指示する（ステップＳ９０６）。
送受信部３１は、接続要求に未印字伝票通知情報を設定したものを（ステップＳ９０６）、コントローラ２０ｂへ送信する（ステップＳ９０８）。コントローラ２０ｂの第２送受信部２４は、プリンタ３０ｂから接続要求を受信すると、接続応答をプリンタ３０ｂへ返送する（ステップＳ９１０）。
【０１２０】
コントローラ２０ｂの伝票再発行処理部２２３ｂは、接続要求に設定されている未印字伝票通知情報から伝票３識別コード及び伝票４識別コードを読み出す。伝票再発行処理部２２３ｂは、まず、記憶部２３に記憶されている注文管理データから伝票３識別コードで特定される注文データを読み出し、読み出した注文データとカット回数に基づいて、印字が完了していない短冊伝票のみを含む一行明細伝票を印字させる再送伝票３印字データを生成する。つまり、伝票再発行処理部２２３ｂは、伝票３識別コードに対応したカット回数は「２」であるため、３番目以降の短冊印字データを含んだ再送伝票３印字データを生成する。
伝票再発行処理部２２３ｂは、生成した再送伝票３印字データと伝票３識別コードの送信を第２送受信部２４に指示し、第２送受信部２４は、再送伝票３印字データと伝票３識別コードをプリンタ３０ｂに送信する（ステップＳ９１２）。
【０１２１】
プリンタ３０ｂの通信処理部３２１ｂは、送受信部３１を介してコントローラ２０ｂから再送伝票３印字データ及び伝票３識別コードを受信すると（ステップＳ９１４）、受信した再送伝票３印字データ及び伝票３識別コードと保存依頼とを記憶処理部３２２ｂに出力する（ステップＳ９１６）。記憶処理部３２２ｂの登録部３２４ｂは、再送伝票３印字データと伝票３識別コードとを対応付けて揮発メモリ３３ａに書き込む（ステップＳ９１８）。登録部３２４ｂは、既に伝票３識別コードが記憶されているため、不揮発メモリ３４ａへの書き込みは行わない。
登録部３２４ｂは、書き込み終了を通信処理部３２１ｂに通知し、通信処理部３２１ｂは、コントローラ２０ｂへ応答を送信するよう送受信部３１へ指示する（ステップＳ９２２）。送受信部３１は伝票３印字データの受信応答をコントローラ２０ｂへ送信する（ステップＳ９２４）。
【０１２２】
プリンタ３０ｂの登録部３２４ｂは、印字処理部３２３ａに伝票３識別コードを設定した印字依頼を出力する（ステップＳ９２６）。印字処理部３２３ａは、印字依頼に設定されている伝票３識別コードで特定される再送伝票３印字データを揮発メモリ３３ａから読み出し、再送伝票３印字データに含まれる短冊印字データ（伝票３印字データの３番目の短冊印字データに相当）の印字処理を印字部３５に実行させる（ステップＳ９２８）。
なお、印字部３５が、再送伝票３印字データに含まれる短冊印字データの印字を完了すると、印字処理部３２３ａは、再送伝票３印字データに含まれる全ての短冊印字データの印字を完了したと判断し、再送伝票３印字データの印字完了応答を記憶処理部３２２ｂに出力する（ステップＳ９３０）。これにより、記憶処理部３２２ｂの削除部３２５ａは、再送伝票３印字データと伝票３識別コードとカット回数との組を揮発メモリ３３ａから削除するとともに、伝票３識別コードとカット回数の組を不揮発メモリ３４ａから削除する（ステップＳ９３２）。
【０１２３】
また、コントローラ２０ｂの第２送受信部２４がステップＳ９２４で送信された伝票３印字データの受信応答を受信すると、伝票再発行処理部２２３ｂは、伝票４識別コードで特定される注文データに基づいて再送伝票４印字データを生成する。伝票４識別コードに対応したカット回数は「０」であるため、伝票再発行処理部２２３ｂは、全ての短冊印字データを含んだ、すなわち、図１３のステップＳ７５８において送信した伝票４印字データと同じ再送伝票４印字データを生成する。第２送受信部２４は、再送伝票４印字データと伝票４識別コードをプリンタ３０ｂに送信する。
【０１２４】
図２０は、電源再投入後に再送された伝票印字データに基づく調理伝票の印字例を示す図である。同図は、正常に印字が完了した場合、図１４と同様の印字調理伝票が印字される伝票３印字データによって、３枚目の短冊伝票ｒ３を印字している途中でプリンタ３０ｂの電源断が発生したために、コントローラ２０ｂから送信された再送伝票３印字データの印字例である。同図に示すように、印字された調理伝票は、図１４に示す短冊伝票ｒ３のみからなる。
【０１２５】
本実施形態によれば、一行明細伝票のうち、印字が完了していない短冊伝票のみを印字させることができるため、注文品が二重に調理されることを防止することができる。また、不必要な印字が行われないため、印字用紙の節約も図ることができる。
【０１２６】
［第４の実施形態］
次に、本発明の第４の実施形態を説明する。本実施形態では、コントローラは、電源断のために印字が遅れた時間の情報を含んだ伝票をプリンタに印刷させる。以下、第１の実施形態との差分を中心に説明する。
【０１２７】
本実施形態の注文管理システムは、第１の実施形態のコントローラ２０に代えて、図２１に示すコントローラ２０ｃを備える。
図２１は、本実施形態のコントローラ２０ｃの内部構成を示すブロック図である。同図において、図２に示す第１の実施形態によるコントローラ２０と同一の部分には同一の符号を付し、その説明を省略する。
同図に示すコントローラ２０ｃが、図２に示す第１の実施形態のコントローラ２０と異なる点は、処理部２２に代えて処理部２２ｃを備える点である。処理部２２ｃが、第１の実施形態のコントローラ２０の処理部２２と異なる点は、伝票再発行処理部２２３に代えて伝票再発行処理部２２３ｃを備える点である。伝票再発行処理部２２３ｃは、伝票印字データの再送を示す情報として、印字が遅れた時間の情報を含んだ伝票を印字させるための伝票印字データを生成する。
【０１２８】
本実施形態の注文管理システムのシーケンスは、図４〜図９に示す第１の実施形態と同様である。
【０１２９】
図２２は、コントローラ２０ｃの注文処理フローを示す図である。同図に示す注文処理フローは、図１０に示す第１の実施形態の注文処理フローのステップＳ６１６の処理に代えて、ステップＳ６１５及びステップＳ６１７を実行する。
ステップＳ６１５において、コントローラ２０ｃの伝票再発行処理部２２３ｃは、未印字伝票通知情報に設定されている識別コードに対応して記憶部２３に記憶されている注文管理データから注文データと注文時刻を読み出すと、読み出した注文時刻から現在時刻までの経過時間を算出する。そして、ステップＳ６１７において、伝票再発行処理部２２３ｃは、読み出した注文データに基づいて、伝票処理部２２２が生成した伝票印字データと同様の伝票印字データに、さらに、経過時間を示す情報を付加した未印字伝票データを生成する（ステップＳ６１７）。
【０１３０】
図２３は、未印字伝票データに基づく調理伝票の印字例を示す図である。同図は、コントローラ２０ｃの伝票再発行処理部２２３ｃが、伝票印字データの前に、経過時間を示す情報を印字するための印字データを付加して未印字伝票データを生成した場合の印字例を示す。伝票の前に付加されるヘッダに、「＊＊注文から１２分経過＊＊」のように経過時間が印字されるため、調理担当等への注意を喚起することができる。また、経過時間が分かることで、この伝票に関する作業について、どの程度迅速に対応すべきか、調理担当等が具体的に行動することができる。
【０１３１】
［第５の実施形態］
次に、本発明の第５の実施形態を説明する。本実施形態の注文管理システムは、プリンタを複数台備え、あるプリンタに電源断が発生した場合、コントローラは、他のプリンタから伝票印字データの再発行要求を受信する。コントローラは、再発行が要求された伝票印字データを、再発行要求の送信元の他のプリンタに再送し、印字させる。電源断が発生したプリンタの電源が再投入されると、第１の実施形態と同様に、不揮発メモリに記憶されている未印字の伝票印字データの識別コードを接続要求とともにコントローラに送信するが、コントローラは、通知された識別コードの伝票印字データを既に他のプリンタへ再送しているため、未印字伝票印字データの削除要求を返送する。電源が再投入されたプリンタは、未印字伝票印字データの削除要求を受信すると、不揮発メモリに保存してある印字データ識別コードを削除する。以下、第１の実施形態との差分を中心に説明する。
【０１３２】
図２４は、本実施形態による注文管理システムの全体構成を示す図である。同図に示すように、注文管理システムは、図１に示す第１の実施形態のコントローラ２０に代えてコントローラ２０ｄを備え、プリンタ３０に代えてプリンタ３０ｄ及びプリンタ３０ｅを備える。同図においては、プリンタ３０ｄ、プリンタ３０ｅをそれぞれ１台のみ示しているが、複数台が備えられていてもよい。プリンタ３０ｄは、調理伝票の伝票印字データである調理伝票印字データを印字し、プリンタ３０ｅは、ゲスト伝票の伝票印字データであるゲスト伝票印字データを印字する。ゲスト伝票とは、お客様が会計時にレジに持参する伝票であり、接客担当のスタッフは、注文品を全て提供した後にお客様へゲスト伝票を渡す。このように、各プリンタ３０ｄ、３０ｅが印字すべき伝票の種類は予め決められている。
【０１３３】
図２５は、本実施形態のコントローラ２０ｄの内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。同図において、図２に示す第１の実施形態によるコントローラ２０と同一の部分には同一の符号を付し、その説明を省略する。同図に示すコントローラ２０ｄが、図２に示す第１の実施形態のコントローラ２０と異なる点は、処理部２２に代えて処理部２２ｄを備える点、記憶部２３に代えて記憶部２３ｄを備える点である。
【０１３４】
記憶部２３ｄは、注文管理データと、送信が完了していない印字データと、再発行された伝票印字データの識別コードとを記憶する。また、本実施形態の注文管理データは、注文データと、注文時刻と、伝票番号と、注文データから生成された各伝票印字データを特定する識別コードとを対応付けたデータである。
【０１３５】
処理部２２ｄが、図２に示す第１の実施形態の処理部２２と異なる点は、伝票処理部２２２に代えて伝票処理部２２２ｄを備える点、伝票再発行処理部２２３に代えて伝票再発行処理部２２３ｄを備える点である。
【０１３６】
伝票処理部２２２ｄは、受信した注文データに対して伝票番号を割り当てる。また、伝票処理部２２２ｄは、注文データから調理伝票印字データ、ゲスト伝票印字データなどの各伝票印字データを生成する。そして、伝票処理部２２２ｄは、記憶部２３ｄに記憶されている注文管理データに、伝票印字データの生成に用いた注文データと対応付けて割り当てた伝票番号と、各伝票印字データの識別コードとを書き込む。識別コードには、伝票印字データの送信先を示す送信先特定情報を含める。また、伝票処理部２２２は、生成した調理伝票印字データとその識別コードとをプリンタ３０ｄに送信するよう第２送受信部２４に指示し、生成したゲスト伝票印字データとその識別コードをプリンタ３０ｅに送信するよう第２送受信部２４に指示する。
調理伝票印字データは、担当者コード、テーブル番号、明細データ、伝票番号、注文時刻等を含む情報を所定のレイアウトで印字させる印字データである。また、ゲスト伝票印字データは、担当者コード、テーブル番号、明細データ、伝票番号、注文時刻、各注文品の金額、合計金額等を含む情報を所定のレイアウトで印字させる印字データである。
【０１３７】
伝票再発行処理部２２３ｄは、伝票再発行処理部２２３ｄは、第２送受信部２４がプリンタ３０ｅから伝票再送要求を受信した場合、記憶部２３ｄに記憶されている注文管理データを検索して、伝票再送要求に設定されている伝票番号に対応した注文データを特定する。伝票再発行処理部２２３ｄは、特定した注文データから各伝票印字データを生成し、生成した伝票印字データと当該伝票印字データの識別コードを伝票再送要求の送信元のプリンタ３０ｅに送信するよう第２送受信部２４へ指示する。さらに、伝票再発行処理部２２３ｄは、伝票再送要求によって再送した伝票印字データの識別コードと、再送済みを示す情報を対応づけて記憶部２３ｄに書き込む。
【０１３８】
また、伝票再発行処理部２２３ｄは、第２送受信部２４がプリンタ３０ｄまたはプリンタ３０ｅから受信した接続要求に識別コードが設定されている場合、記憶部２３ｄに記憶されている注文管理データを検索して、接続要求に設定されている識別コードに対応した注文データを特定する。伝票再発行処理部２２３ｄは、特定した注文データから、識別コードにより特定される伝票印字データを生成し、生成した伝票印字データと当該伝票印字データの識別コードを伝票再送要求の送信元のプリンタ３０ｄまたはプリンタ３０ｅに送信するよう第２送受信部２４へ指示する。ただし、伝票再発行処理部２２３ｄは、接続要求に設定されている識別コードに対応して、再送済みを示す情報が記憶部２３ｄに記憶されている場合、伝票印字データを再送せず、当該識別コードを設定した伝票印字データ削除要求を返送する。
【０１３９】
図２６は、本実施形態のプリンタ３０ｄの内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。同図において、図３に示す第１の実施形態によるプリンタ３０と同一の部分には同一の符号を付し、その説明を省略する。同図に示すプリンタ３０ｄが、図３に示す第１の実施形態のプリンタ３０と異なる点は、処理部３２に代えて処理部３２ｄを備える点である。
【０１４０】
処理部３２ｄが、第１の実施形態の処理部３２と異なる点は、記憶処理部３２２に代えて記憶処理部３２２ｄを備える点である。
記憶処理部３２２ｄが第１の実施形態の記憶処理部３２２と異なる点は、削除部３２５に代えて削除部３２５ｄを備える点である。削除部３２５ｄは、印字が完了した伝票印字データとその識別コードを揮発メモリ３３から削除するとともに、印字が完了した伝票印字データの識別コードを不揮発メモリ３４から削除する。また、削除部３２５ｄは、コントローラ２０ｄから受信した伝票印字データ削除要求に設定されている識別コードを不揮発メモリ３４から削除する。
【０１４１】
図２７は、本実施形態のプリンタ３０ｅの内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。同図において、図３に示す第１の実施形態によるプリンタ３０と同一の部分には同一の符号を付し、その説明を省略する。同図に示すプリンタ３０ｅが、図３に示す第１の実施形態のプリンタ３０と異なる点は、処理部３２に代えて処理部３２ｅを備える点、指示入力部３７をさらに備える点である。
【０１４２】
指示入力部３７は、例えば、キーやボタンであり、再発行対象の伝票の伝票番号の入力を受ける。
処理部３２ｅが、第１の実施形態の処理部３２異なる点は、通信処理部３２１に代えて通信処理部３２１ｅを備える点である。
通信処理部３２１ｅは、指示入力部３７により入力された伝票番号と、自プリンタ３０ｅのプリンタ識別情報を設定した伝票再送要求を送信するよう送受信部３１に指示する。
【０１４３】
図２８は、調理伝票印字中にプリンタ３０ｄの電源断が発生したときの注文管理システムのシーケンス図である。
同図において、プリンタ３０ｄの電源が投入されると（ステップＳ１００２）、通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されているかを判断する。プリンタ３０ｄの通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されていないため、接続要求の送信を送受信部３１に指示する（ステップＳ１００４）。プリンタ３０ｄの送受信部３１は、接続要求をコントローラ２０ｄへ送信する（ステップＳ１００６）。
コントローラ２０ｄの第２送受信部２４は、接続要求を受信してプリンタ３０ｄの起動を認識すると、プリンタ３０ｄへ接続応答を返送する（ステップＳ１００８）。
【０１４４】
続いてプリンタ３０ｅの電源が投入されると（ステップＳ１０１０）、通信処理部３２１ｅは、不揮発メモリ３４に識別コードが記憶されているかを判断する。プリンタ３０ｅの通信処理部３２１ｅは、不揮発メモリ３４に識別コードが記憶されていないため、接続要求の送信を送受信部３１に指示する（ステップＳ１０１２）。プリンタ３０ｅの送受信部３１は、接続要求をコントローラ２０ｄへ送信する（ステップＳ１０１４）。
コントローラ２０ｄの第２送受信部２４は、接続要求を受信してプリンタ３０ｅの起動を認識すると、プリンタ３０ｅへ接続応答を返送する（ステップＳ１０１６）。
【０１４５】
コントローラ２０ｄは、ハンディーターミナル１０から注文データを受信し、伝票２の調理伝票印字データである調理伝票２印字データと、伝票２のゲスト伝票印字データであるゲスト伝票２印字データを生成する。コントローラ２０ｄは、伝票２に伝票番号「０００２」を割り当て、伝票２の調理伝票印字データに識別コード「０００２Ｃ」を、伝票２のゲスト伝票印字データに識別コード「０００２Ｇ」を割り当てる。以下、伝票２の調理伝票印字データの識別コードを調理伝票２識別コードと記載し、伝票２のゲスト伝票印字データの識別コードをゲスト伝票２識別コードと記載する。調理伝票２識別コードの最後の１文字「Ｃ」はプリンタ３０ｄを示す送信先特定情報であり、ゲスト伝票２識別コードの最後の１文字「Ｇ」はプリンタ３０ｅを示す送信先特定情報である。
コントローラ２０ｄは、ゲスト伝票２識別コード「０００２Ｇ」とゲスト伝票２印字データをプリンタ３０ｅへ送信する（ステップＳ１０２０）。
【０１４６】
プリンタ３０ｅは、受信したゲスト伝票２印字データとゲスト伝票２識別コードについて、図４に示すステップＳ１１２〜Ｓ１２４の処理を実行する（ステップＳ１０２０〜Ｓ１０３２）。つまり、プリンタ３０ｅの通信処理部３２１ｅは、送受信部３１を介してゲスト伝票２印字データ及びゲスト伝票２識別コードを受信し、保存依頼とともに記憶処理部３２２へ出力する。
プリンタ３０ｅの登録部３２４は、ゲスト伝票２印字データとゲスト伝票２識別コードとを対応付けて揮発メモリ３３に書き込むとともに、ゲスト伝票２識別コードを不揮発メモリ３４に書き込み、送受信部３１はゲスト伝票２印字データの受信応答をコントローラ２０ｄへ送信する。プリンタ３０ｅの登録部３２４は、印字処理部３２３に伝票２識別コードを設定した印字依頼を出力し、印字処理部３２３は、伝票２識別コードにより特定されるゲスト伝票２印字データの印字を印字部３５に実行させる。
【０１４７】
プリンタ３０ｅの印字部３５がゲスト伝票２印字データの印字を完了すると、印字処理部３２３は、記憶処理部３２２にゲスト伝票２印字データの印字完了応答を出力する（ステップＳ１０３４）。記憶処理部３２２の削除部３２５は、ゲスト伝票２印字データとゲスト伝票２識別コードを揮発メモリ３３から削除するとともに、不揮発メモリ３４からゲスト伝票２識別コードを削除する（ステップＳ１０３６）。
【０１４８】
図２９は、図２８の続きのシーケンス図である。コントローラ２０ｄは、図２８のステップＳ１０１８において、ゲスト伝票２印字データ及び伝票２識別コードを送信した後、調理伝票２識別コード「０００２Ｃ」と調理伝票２印字データをプリンタ３０ｄへ送信する（ステップＳ１１０２）。
【０１４９】
プリンタ３０ｄは、受信した調理伝票２印字データと調理伝票２識別コードについて、図４に示すステップＳ１１２〜Ｓ１２４の処理を実行する（ステップＳ１１０４〜Ｓ１１１６）。つまり、プリンタ３０ｄの通信処理部３２１は、送受信部３１を介して調理伝票２印字データ及び調理伝票２識別コードを受信し、保存依頼とともに記憶処理部３２２ｄへ出力する。
プリンタ３０ｄの登録部３２４は、調理伝票２印字データと調理伝票２識別コードとを対応付けて揮発メモリ３３に書き込むとともに、調理伝票２識別コードを不揮発メモリ３４に書き込み、送受信部３１は調理伝票２印字データの受信応答をコントローラ２０ｄへ送信する。プリンタ３０ｄの登録部３２４は、印字処理部３２３に調理伝票２識別コードを設定した印字依頼を出力し、印字処理部３２３は、調理伝票２識別コードに対応した調理伝票２印字データの印字を印字部３５に実行させる。
【０１５０】
プリンタ３０ｄの印字部３５が、印字処理部３２３の指示により調理伝票２印字データの印字を開始したところで（ステップＳ１１１６）、プリンタ３０ｄの電源断が発生する（ステップＳ１１１８）。
【０１５１】
図３０は、図２９の続きのシーケンス図である。飲食店のスタッフは、プリンタ３０ｅが印字したゲスト伝票により伝票番号「０００２」を確認し、その後、伝票番号「０００２」の調理伝票がプリンタ３０ｄから印字されていないことに気付く。スタッフは、プリンタ３０ｅの指示入力部３７により、伝票番号「０００２」と、伝票再発行要求の送信指示とを入力する。プリンタ３０ｅの通信処理部３２１ｅは、指示入力部３７により入力された伝票番号と、プリンタ３０ｅのプリンタ識別情報とを設定した伝票再送要求を送信部３１に出力し、コントローラ２０ｄに送信するよう指示する（ステップＳ１２０２）。プリンタ３０ｅの送受信部３１は、通信処理部３２１ｅから入力されたリンタ識別情報を設定した伝票再送要求をコントローラ２０ｄに送信する（ステップＳ１２０４）。
【０１５２】
コントローラ２０ｄは、受信した伝票再送要求から伝票番号及びプリンタ識別情報を読み出す。伝票再発行処理部２２３ｄは、記憶部２３ｄに記憶されている注文管理データから伝票番号で特定される注文データを読み出し、読み出した注文データに基づいて全ての種類の伝票印字データ、すなわち、調理伝票２印字データとゲスト伝票２印字データを生成する。コントローラ２０ｄは、生成した調理伝票２印字データ及び調理伝票２識別コードを、伝票再送要求から読み出したプリンタ識別情報で特定されるプリンタ３０ｅに送信する（ステップＳ１２０６）。コントローラ２０ｄは、調理伝票２識別コードを再送済みの識別コードとして記憶部２３ｄに記憶する。
【０１５３】
プリンタ３０ｅは、受信した調理伝票２印字データと調理伝票２識別コードについて、図２８に示すステップＳ１０２０〜Ｓ１０３２の処理を実行する（ステップＳ１２０８〜Ｓ１２２０）。つまり、プリンタ３０ｅの通信処理部３２１ｅは、送受信部３１を介して調理伝票２印字データ及び調理伝票２識別コードを受信し、保存依頼とともに記憶処理部３２２へ出力する。
記憶処理部３２２の登録部３２４は、調理伝票２印字データと調理伝票２識別コードとを対応付けて揮発メモリ３３に書き込むとともに、調理伝票２識別コードを不揮発メモリ３４に書き込み、送受信部３１は調理伝票２印字データの受信応答をコントローラ２０ｄへ送信する。登録部３２４は、印字処理部３２３に調理伝票２識別コードを設定した印字依頼を出力し、印字処理部３２３は、調理伝票２識別コードに対応した調理伝票２印字データの印字を印字部３５に実行させる。
【０１５４】
コントローラ２０ｄは、ステップＳ１２１６においてプリンタ３０ｅから送信された受信応答を受信すると、ゲスト伝票２印字データ及びゲスト伝票２識別コードをプリンタ３０ｅに送信し、ゲスト伝票２識別コードを再送済みの識別コードとして記憶部２３ｄに記憶する（ステップＳ１２２２）。プリンタ３０ｅは、受信したゲスト伝票２印字データとゲスト伝票２識別コードについて、図２８に示すステップＳ１０２０〜Ｓ１０３０の処理を実行する（ステップＳ１２２４〜Ｓ１２３２）。つまり、プリンタ３０ｅの通信処理部３２１ｅは、送受信部３１を介してゲスト伝票２印字データ及びゲスト伝票２識別コードを受信し、保存依頼とともに記憶処理部３２２へ出力する。
記憶処理部３２２の登録部３２４は、ゲスト伝票２印字データとゲスト伝票２識別コードとを対応付けて揮発メモリ３３に書き込むとともに、ゲスト伝票２識別コードを不揮発メモリ３４に書き込み、送受信部３１はゲスト伝票２印字データの受信応答をコントローラ２０ｄへ送信する。登録部３２４は、印字処理部３２３にゲスト伝票２識別コードを設定した印字依頼を出力する。
【０１５５】
図３１は、図３０の続きのシーケンス図である。同図において、プリンタ３０ｄの電源が再び投入されると（ステップＳ１３０２）、記憶処理部３２２は、不揮発メモリ３４に識別コードが記憶されているか否かを確認し、記憶されている場合、未印字伝票再送要求を通信処理部３２１に送出する（ステップＳ１３０４）。
通信処理部３２１は、記憶処理部３２２からの要求を取得して、不揮発メモリ３４に識別コードが記憶されているかを判断する。通信処理部３２１は、不揮発メモリ３４に識別コードが記憶されていると判断した場合、接続要求とともに、不揮発メモリ３４に記憶されている調理伝票２識別コード「０００２Ｃ」を設定した未印字伝票通知情報を送受信部３１に出力し、未印字伝票の再送を要求するよう送受信部３１に指示する（ステップＳ１３０６）。
送受信部３１は、接続要求に未印字伝票通知情報を設定したものをコントローラ２０ｄへ送信する（ステップＳ１３０８）。コントローラ２０ｄの第２送受信部２４は、プリンタ３０ｄから接続要求を受信すると、接続応答をプリンタ３０ｄへ返送する（ステップＳ１３１０）。
【０１５６】
コントローラ２０ｄの伝票再発行処理部２２３ｄは、接続要求に設定されている未印字伝票通知情報からゲスト伝票２識別コードを読み出す。伝票再発行処理部２２３ｄは、ゲスト伝票２識別コードが、再送済みの識別コードとして記憶部２３ｄに記憶されているため、ゲスト伝票２識別コードと伝票２調理伝票削除要求の送信指示とを第２送受信部２４に指示し、プリンタ３０ｄへの返送を指示する。第２送受信部２４は、ゲスト伝票２識別コードを設定した伝票２調理伝票削除要求をプリンタ３０ｄに送信する（ステップＳ１３１０）。
【０１５７】
プリンタ３０ｄの通信処理部３２１は、送受信部３１を介してコントローラ２０ｄから調理伝票２識別コードが設定された伝票２調理伝票削除要求を受信すると（ステップＳ１３１２）、調理伝票２識別コードと削除依頼とを記憶処理部３２２ｄに出力する（ステップＳ１３１４）。
記憶処理部３２２ｄの削除部３２５ｄは、調理伝票２識別コードを不揮発メモリ３４から削除する（ステップＳ１３１６）。削除部３２５ｄは、削除完了を通信処理部３２１に通知し、通信処理部３２１は、コントローラ２０ｄへ伝票２調理伝票削除応答を送信するよう送受信部３１へ指示する（ステップＳ１３１８）。
送受信部３１は伝票２調理伝票削除応答をコントローラ２０ｄへ送信する（ステップＳ１３２０）。
【０１５８】
図３２は、コントローラ２０ｄの注文処理フローを示す図である。
コントローラ２０ｄの印字要求受信部２２０及び注文処理部２２１は、図１０に示すステップＳ６０２〜Ｓ６０６のコントローラ２０の印字要求受信部２２０及び注文処理部２２１と同様の処理を実行する（ステップＳ１４０２〜ステップＳ１４０６）。なお、ステップＳ１４０２においてＮＯと判断した場合、コントローラ２０ｄは、ステップＳ１４１０の処理を実行する。
【０１５９】
ステップＳ１４０８において、伝票処理部２２２ｄは、注文データからプリンタ３０ｄに送信すべき調理伝票印字データと、プリンタ３０ｅに送信すべきゲスト伝票印字データを生成する。伝票処理部２２２ｄは、伝票番号を割り当てるとともに、調理伝票印字データの識別コードとゲスト伝票印字データの識別コードを生成する。調理伝票印字データの識別コードには、送信先がプリンタ３０ｄであることを示す送信先特定情報が含まれ、ゲスト伝票印字データの識別コードには、送信先がプリンタ３０ｅであることを示す送信先特定情報が含まれる。伝票処理部２２２ｄは、記憶部２３ｄに記憶されている注文管理データに、注文データと対応付けて割り当てた伝票番号及び識別コードを書き込む。
さらに、伝票処理部２２２ｄは、生成した調理伝票印字データと、当該調理伝票印字データの識別コードとを対応付けて記憶部２３ｄに書き込むとともに、生成したゲスト伝票印字データと、当該ゲスト伝票印字データの識別コードとを対応付けて記憶部２３ｄに書き込む（ステップＳ１４０８）。書き込み後、コントローラ２０ｄは、ステップＳ１４１０の処理を実行する。
【０１６０】
第２送受信部２４は、プリンタ３０ｄまたはプリンタ３０ｅから接続要求を受信した場合（ステップＳ１４１０：ＹＥＳ）、接続要求の送信元であるプリンタ３０ｄまたはプリンタ３０ｅとの接続を確立し、受信した接続要求を印字要求受信部２２０へ出力する（ステップＳ１４１２）。
【０１６１】
印字要求受信部２２０は、接続要求に未印字伝票通知情報が含まれていると判断すると（ステップＳ１４１４：ＹＥＳ）、未印字伝票通知情報を伝票再発行処理部２２３ｄに出力する。伝票再発行処理部２２３ｄは、未印字伝票通知情報から識別コードを取得し、取得した識別コードに含まれる送信先特定情報を読み出す。伝票再発行処理部２２３ｄは、読み出した送信先特定情報が示す送信先に対応した伝票の種別を判断する。伝票再発行処理部２２３ｄは、取得した識別コードに対応して記憶部２３ｄに記憶されている注文管理データから注文データを読み出すと、読み出した注文データに基づいて、判断した種類の伝票印字データを生成する。以下、この生成した伝票印字データを「未印字伝票データ」と記載する。伝票再発行処理部２２３ｄは、生成した未印字伝票データとその識別コードとを記憶部２３ｄに書き込み（ステップＳ１４１６）、コントローラ２０ｄは、ステップＳ１４０２からの処理を行う。
【０１６２】
ステップＳ１４１０において、第２送受信部２４が接続要求を受信しなかった場合（ステップＳ１４１０：ＮＯ）、あるいは、ステップＳ１４１４において、印字要求受信部２２０が、接続要求に未印字伝票通知情報が含まれてないと判断した場合（ステップＳ１４１４：ＮＯ）、印字要求受信部２２０は、第２送受信部２４が、伝票再発行要求を受信したかを判断する（ステップＳ１４１８）。
【０１６３】
印字要求受信部２２０は、第２送受信部２４が伝票再発行要求を受信したと判断した場合（ステップＳ１４１８：ＹＥＳ）、受信した伝票再発行要求を伝票再発行処理部２２３ｄに出力する。伝票再発行処理部２２３ｄは、伝票再発行要求からプリンタ識別情報と伝票番号を取得する。伝票再発行処理部２２３ｄは、伝票番号により記憶部２３ｄに記憶されている注文管理データを検索し、注文データを特定する。伝票再発行処理部２２３ｄは、特定した注文データから全ての種類の伝票の伝票印字データ、すなわち、調理伝票印字データとゲスト伝票印字データを生成する（ステップＳ１４２０）。
【０１６４】
伝票再発行処理部２２３ｄは、生成した調理伝票印字データとその識別コード、生成したゲスト伝票印字データとその識別コードとを第２送受信部２４へ出力し、伝票再発行要求から取得したプリンタ識別情報により特定される送信先への送信を第２送受信部２４へ指示する。第２送受信部２４は、調理伝票印字データとその識別コード、及び、ゲスト伝票印字データとその識別コードとを、送信先で指定されたプリンタ３０ｅに送信する（ステップＳ１４２２）。
【０１６５】
伝票再発行処理部２２３ｄは、ステップＳ１４２２で送信した調理伝票印字データの識別コードと、ゲスト伝票印字データの識別コードとに、ｏｎを設定した再発行済みフラグを対応付けて記憶部２３ｄに書き込む（ステップＳ１４２４）。ステップＳ１４２４の処理の後、コントローラ２０ｄは、ステップＳ１４０２からの処理を行う。
【０１６６】
ステップＳ１４１８において、第２送受信部２４が伝票再発行要求を受信しなかった場合（ステップＳ１４１８：ＮＯ）、伝票再発行処理部２２３ｄは、まだ送信していない未印字伝票データが記憶部２３ｄに記憶されているかを判断する（ステップＳ１４２６）。
【０１６７】
記憶部２３ｄに未印字伝票データが記憶されている場合（ステップＳ１４２６：ＹＥＳ）、伝票再発行処理部２２３ｄは、未送信の未印字伝票データがあると判断し、未印字伝票データの識別コードを読み出す。
なお、未印字伝票データが複数記憶されている場合、伝票再発行処理部２２３ｄは、注文管理データから未印字伝票データの識別コードに対応した注文時刻を読み出し、読み出した注文時刻が最も早い識別コードを読み出す。
伝票再発行処理部２２３ｄは、読み出した識別コードに対応して、ＯＮが設定された再発行済みフラグが記憶部２３ｄに記憶されているかを判断する（ステップＳ１４２８）。
【０１６８】
伝票再発行処理部２２３ｄは、ＯＮが設定された再発行済みフラグが記憶部２３ｄに記憶されていないと判断した場合（ステップＳ１４２８：ＮＯ）、読み出した識別コードに対応した未印字伝票データを記憶部２３ｄから読み出す。伝票再発行処理部２２３ｄは、読み出した未印字伝票データとその識別コードとを第２送受信部２４に出力し、識別コード内の送信先特定情報により特定される送信先への送信を指示する。第２送受信部２４は、伝票再発行処理部２２３ｄから入力された未印字伝票データとその識別コードを、送信先として指示されたプリンタ３０ｄまたはプリンタ３０ｅへ送信する（ステップＳ１４３０）。
【０１６９】
第２送受信部２４が、ステップＳ１４３０において送信した未印字伝票データに対応して送信先のプリンタ３０ｄまたはプリンタ３０ｅからの受信応答を所定時間内に受信した場合（ステップＳ１４３２：ＹＥＳ）、伝票再発行処理部２２３ｄは、ステップＳ１４３０において送信した未印字伝票データとその識別コードを記憶部２３ｄから削除し（ステップＳ１４３２）、コントローラ２０ｄはステップＳ１４０２からの処理を実行する。一方、第２送受信部２４が所定時間内に送信先のプリンタ３０ｄまたはプリンタ３０ｅからの受信応答を受信しなかった場合（ステップＳ１４３２：ＮＯ）、コントローラ２０ｄは未印字伝票データの削除は行わずにステップＳ１４０２からの処理を実行する。
【０１７０】
一方、ステップＳ１４２８において、ＯＮが設定された再発行済みフラグが記憶部２３ｄに記憶されていると判断した場合（ステップＳ１４２８：ＹＥＳ）、伝票再発行処理部２２３ｄは、読み出した識別コードを設定した伝票削除要求を第２送受信部２４へ出力し、識別コード内の送信先特定情報により特定される送信先への送信を指示する。第２送受信部２４は、伝票削除要求を、伝票再発行要求を送信先として指示されたプリンタ３０ｄまたはプリンタ３０ｅへ送信する（ステップＳ１４３６）。伝票再発行処理部２２３ｄは、識別コードと、当該識別コードに対応付けられた未印字伝票データを記憶部２３ｄから削除し、コントローラ２０ｄは、ステップＳ１４０２からの処理を実行する。
【０１７１】
ステップＳ１４２６において、伝票再発行処理部２２３ｄが、記憶部２３ｄに未印字伝票データは記憶されておらず、未送信の未印字伝票データはないと判断した場合（ステップＳ１４２６：ＮＯ）、伝票処理部２２２ｄは、まだ送信が完了していない伝票印字データが記憶部２３ｄに記憶されているかにより、送信が完了していない伝票印字データがあるかを判断する（ステップＳ１４３８）。記憶部２３ｄに送信が完了していない伝票印字データが記憶されていない場合（ステップ１４３８：ＮＯ）、コントローラ２０ｄは、ステップＳ１４０２からの処理を実行する。
【０１７２】
記憶部２３ｄに伝票印字データが記憶されている場合（ステップＳ１４３８：ＹＥＳ）、伝票処理部２２２ｄは、ステップＳ１４０８において書き込まれた後、まだ送信が完了していない伝票印字データとその識別コードを記憶部２３ｄから読み出す。伝票処理部２２２ｄは読み出した伝票印字データとその識別コードとを第２送受信部２４に出力し、識別コード内の送信先特定情報により特定される送信先への送信を指示する。
なお、伝票印字データが複数記憶されている場合、伝票処理部２２２ｄは、記憶部２３ｄが記憶している注文管理データから伝票印字データの識別コードに対応した注文時刻を読み出し、読み出した注文時刻が最も早い識別コードと、その識別コードに対応した伝票印字データを第２送受信部２４に出力し、送信を指示する。第２送受信部２４は、伝票処理部２２２ｄから入力された伝票印字データとその識別コードを、送信先として指示されたプリンタ３０ｄまたはプリンタ３０ｅへ送信する（ステップＳ１４４０）。
【０１７３】
第２送受信部２４が、ステップＳ１４４０において送信した伝票印字データに対応して送信先のプリンタ３０ｄまたはプリンタ３０ｅからの受信応答を所定時間内に受信した場合（ステップＳ１４３２：ＹＥＳ）、伝票処理部２２２ｄは、ステップＳ１４４０において送信した伝票印字データとその識別コードを記憶部２３ｄから削除し（ステップＳ１４４４）、コントローラ２０ｄはステップＳ１４０２からの処理を実行する。一方、第２送受信部２４が所定時間内に送信先のプリンタ３０ｄまたはプリンタ３０ｅからの受信応答を受信しなかった場合（ステップＳ１４３２：ＮＯ）、コントローラ２０ｄは伝票印字データの削除は行わずにステップＳ１４０２からの処理を実行する。
【０１７４】
本実施形態によれば、プリンタ３０ｄの電源断が発生し、コントローラ２０ｄが他のプリンタから伝票再発行要求を受信する前に当該プリンタ３０ｄの電源が再投入された場合、第１の実施形態と同様の処理が行われ、接続要求により再送が要求された伝票印字データを優先してプリンタ３０ｄに印字させる。一方、プリンタ３０ｄの電源が再投入される前に、コントローラ２０ｄが他のプリンタ、例えばプリンタ３０ｅから伝票再発行要求を受信した場合、同じ伝票番号を有する全ての種類の伝票印字データをプリンタ３０ｅに再送し、調理伝票、ゲスト伝票を印字させる。これにより、プリンタ３０ｄの電源がすぐに再投入された場合には、飲食店のスタッフの操作を必要とせず、プリンタ３０ｄに調理伝票を印字させることができる。一方、プリンタ３０ｄの電源再投入までに時間がかかる場合、飲食店のスタッフの操作により、調理伝票をプリンタ３０ｅに印字させることができるため、注文された料理の調理を遅滞なく行うことができる。
また、既にプリンタ３０ｅで印字済みの伝票は、プリンタ３０ｄの電源が再投入された後にプリンタ３０ｄにおいて印字されることはないため、伝票の二重発行は生じ得ず、調理担当などが作業に混乱することはない。
【０１７５】
なお、プリンタ３０ｄが、プリンタ３０ｅの通信処理部３２１ｅ及び指示入力部３７を備え、プリンタ３０ｅが、プリンタ３０ｄの削除部３２５ｄを備えてもよい。また、プリンタ３０ｄとプリンタ３０ｅを同一構成とし、上述したプリンタ３０ｅの通信処理部３２１ｅ及び指示入力部３７、ならびにプリンタ３０ｄの削除部３２５ｄを、両プリンタが備えるようにしてもよい。これにより、プリンタ３０ｅに電源断が発生した際、プリンタ３０ｄは、上述したプリンタ３０ｅと同様の処理を行い、コントローラ２０ｄへ伝票再発行要求を送信し、返送されたゲスト伝票印字データ及び調理伝票印字データを印字する。
【０１７６】
一般に、伝票には伝票番号が印字されるが、識別コードは印字されない。よって、飲食店のスタッフは、印字された伝票から伝票番号を知ることができるが、識別コードを知ることができない。そこで、上述したように、コントローラ２０ｄは、伝票番号が設定された伝票再発行要求をプリンタから受信すると、この伝票番号に関連付けられている全ての識別コードについて、当該識別コードにより特定される伝票印字データを生成し、伝票再発行要求の送信元へ送信する。これにより、伝票再発行要求を送信したプリンタからは、再発行を要求した伝票番号の全ての種類の伝票が印字される。
そこで、飲食店のスタッフがどの種類の伝票を印字させるかを特定できるようにしてもよい。具体的には、プリンタが伝票再発行要求を送信した結果、コントローラ２０ｄから全ての種類の伝票の伝票印字データを受信した場合、複数の種類の伝票が再印字可能であることをプリンタの図示しないディスプレイに表示させる。飲食店のスタッフが、調理伝票、ゲスト伝票など、印字させたい伝票の種類をプリンタに入力すると、プリンタは、入力された種類の伝票の伝票印字データを印字する。
【０１７７】
または、飲食店のスタッフがどの種類の伝票を印字させるかを初めから分かっている場合には、印字させたい伝票の種類を示す情報を入力する手段をプリンタに設けてスタッフに操作させるようにしてもよい。これによりプリンタは、入力された伝票の種類を示す情報をさらに設定した伝票再発行要求をコントローラ２０ｄに送信する。コントローラ２０ｄは、伝票再発行要求に設定されている伝票番号で特定される注文データから、当該伝票再発行要求に設定されている情報が示す種類の伝票についてのみ伝票印字データを生成し、伝票再発行の要求元へ送信する。これにより、飲食店のスタッフが印字したい伝票のみを印字させることが可能となる。
【０１７８】
あるいは、プリンタが、伝票印字データの印字が完了する毎に、印字が完了した伝票印字データの識別コードを印字済み識別コードとして不揮発メモリに記憶するようにしてもよい。これにより、プリンタが送信した伝票再発行要求に対応してコントローラ２０ｄから受信した再発行用の伝票印字データのうち、自プリンタの不揮発メモリに記憶されている印字済み識別コードに対応した伝票印字データを除いた伝票印字データのみを印字する。例えば、印字済み識別コード「０００２Ｇ」を不揮発メモリに記憶するプリンタ２０ｄが、伝票の再発行要求を送信し、コントローラ２０ｄから多くの伝票印字データを取得した場合、識別コード「０００２Ｇ」が付加されていない伝票印字データのみを印字する。
これにより、飲食店のスタッフに特段の操作を強いることなく、当該プリンタで未印字の伝票のみを印字させることが可能となる。
【０１７９】
あるいは、各プリンタが印字する伝票の種類が決まっている場合、伝票再発行要求を送信した結果、コントローラ２０ｄから全ての種類の伝票の伝票印字データを受信したプリンタは、自プリンタが印字する種類と異なる種類の伝票の伝票印字データを印字する。例えば、ゲスト伝票を印字するプリンタ３０ｅが、伝票再発行要求に対応してコントローラ２０ｄか調理伝票印字データ及びゲスト伝票印字データを受信した場合、調理伝票印字データのみを印字する。
【０１８０】
または、コントローラ２０ｄが、各プリンタが印字する伝票の種類を把握しており、伝票再発行要求を受信した際、当該要求の送信元のプリンタが通常印字する種類とは異なる種類の伝票の伝票印字データを作成して、そのプリンタに送信する。プリンタは、コントローラ２０ｄから受信した伝票印字データを印字する。
これにより、不揮発メモリに印字済み識別コードを記憶するエリアを設けたり、印字処理中に不揮発メモリへの書き込み処理を実施したりすることなく、また、飲食店のスタッフに特段の操作を強いることなく、当該プリンタで未印字の伝票のみを印字させることが可能となる。
【０１８１】
上述した実施形態によれば、プリンタに大容量の不揮発メモリを備える必要なく、プリンタの電源がオフされたために印字が完了していなかった伝票印字データの印字処理が最優先に行われる。そのため、注文の順番に伝票が印字され、後から注文されたメニューの調理指示が先に行われることを防止することができる。
また、何らかの理由で印字が完了していなかった伝票印字データは、プリンタの電源が再度投入された後、優先して印字される上、前回未印字であったことを示す情報や、注文からの経過時間情報などをあわせた印字が可能である。よって、プリンタの影響が原因で調理が遅れたことを調理人やフロアスタッフに認知させることができ、当該伝票に関する調理を急ぐなど、適切な対応を取らせることができる。
【０１８２】
また、プリンタは、コントローラから送信された印字データに、伝票印字データではないことを示す識別コードが付与されていた場合、当該識別コードを不揮発メモリへ記録しない。従って、電源断が発生した場合でも確実に印字しなければならない対象である伝票印字データの識別コードのみを不揮発メモリに記録すればよいため、不揮発メモリのメモリ容量を抑えることができる。
【０１８３】
なお、コントローラ２０の処理部２２、コントローラ２０ｂの処理部２２ｂ、コントローラ２０ｃの処理部２２ｃ、コントローラ２０ｄの処理部２２ｄ、プリンタ３０の処理部３２、プリンタ３０ａの処理部３２ａ、プリンタ３０ｂの処理部３２ｂ、プリンタ３０ｄの処理部３２ｄ、及び、プリンタ３０ｅの処理部３２ｅは、メモリ及びＣＰＵ（中央処理装置）等により構成され、上述したコントローラ２０の処理部２２、コントローラ２０ｂの処理部２２ｂ、コントローラ２０ｃの処理部２２ｃ、プリンタ３０の処理部３２、プリンタ３０ａの処理部３２ａ、及び、プリンタ３０ｂの処理部３２ｂの処理過程を実現するためのプログラム（図示せず）を、これを記録している不揮発性のメモリ、磁気ディスク等から、上記メモリにロードして実行することによりその機能が実現される。
【符号の説明】
【０１８４】
１０…ハンディーターミナル
２０、２０ｂ、２０ｃ、２０ｄ…コントローラ（制御装置）
２１…第１送受信部
２２、２２ｂ、２２ｃ、２２ｄ…処理部
２２０…印字要求受信部（注文受信部）
２２１…注文処理部
２２２、２２２ｄ…伝票処理部
２２３、２２３ｂ、２２３ｃ、２２３ｄ…伝票再発行処理部
２２４…印字データ生成部
２３、２３ｄ…記憶部
２４…第２送受信部
３０、３０ａ、３０ｂ、３０ｄ、３０ｅ…プリンタ（印字装置）
３１…送受信部（受信部）
３２、３２ａ、３２ｂ、３２ｄ、３２ｅ…処理部
３２１、３２１ｂ、３２１ｅ…通信処理部（未印字伝票通知部）
３２２、３２２ａ、３２２ｂ、３２２ｄ…記憶処理部
３２３、３２３ａ…印字処理部
３２４、３２４ａ、３２４ｂ…登録部
３２５、３２５ａ、３２５ｄ…削除部
３２６…更新部
３２７…印字情報付加部
３３、３３ａ…揮発メモリ
３４、３４ａ…不揮発メモリ
３５…印字部
３６…カッター部
【図１】
0005827025.tif 000002
【図２】
0005827025.tif 000003
【図３】
0005827025.tif 000004
【図４】
0005827025.tif 000005
【図５】
0005827025.tif 000006
【図６】
0005827025.tif 000007
【図７】
0005827025.tif 000008
【図８】
0005827025.tif 000009
【図９】
0005827025.tif 000010
【図１０】
0005827025.tif 000011
【図１１】
0005827025.tif 000012
【図１２】
0005827025.tif 000013
【図１３】
0005827025.tif 000014
【図１４】
0005827025.tif 000015
【図１５】
0005827025.tif 000016
【図１６】
0005827025.tif 000017
【図１７】
0005827025.tif 000018
【図１８】
0005827025.tif 000019
【図１９】
0005827025.tif 000020
【図２０】
0005827025.tif 000021
【図２１】
0005827025.tif 000022
【図２２】
0005827025.tif 000023
【図２３】
0005827025.tif 000024
【図２４】
0005827025.tif 000025
【図２５】
0005827025.tif 000026
【図２６】
0005827025.tif 000027
【図２７】
0005827025.tif 000028
【図２８】
0005827025.tif 000029
【図２９】
0005827025.tif 000030
【図３０】
0005827025.tif 000031
【図３１】
0005827025.tif 000032
【図３２】
0005827025.tif 000033
【図３３】
0005827025.tif 000034