【実施例1】
【0011】
本発明の実施例1に係る保守・修理用作業員配置システムの全体的構成を示した概略ブロック図である。
【0012】
この保守・修理用作業員配置システムは、機器の保守・修理依頼の受付センタに設置されるもので、クライアント端末101よりネットワーク102を介して作業員配置システムサーバ103内に構築された作業員配置システム104にアクセスして使用するものである。
【0013】
作業員配置システム104は、作業員配置システムサーバ103のサーバ機能によりどの案件にどの保守・修理用の作業員が担当するかの配置を割り当てる機能が構築されるもので、具体的には、保守・修理用の作業に要する時間を過去の同作業の実績時間から見積って指定日に対して実績時間と作業地域の担当人数とから1日当りの作業可能件数を算出する作業可能件数割り出し機能部105と、作業地域のそれぞれの作業地点の住所から同日の全作業地点を最短で通過する最短ルートを割り出して設定する最短ルート設定機能部106と、1日当りの作業可能件数及び最短ルートに基づいて、最短ルートに沿った作業計画を立てることにより、自動で最短の移動時間となる保守・修理用の作業員の配置についてのそれぞれの担当案件を決定する人員配置機能部107と、を備えている。
【0014】
また、作業員配置システム104は、各種テーブル構成のデータベースであって、過去履歴が格納される過去履歴テーブル108と、作業時間が格納される作業時間テーブル109と、作業予定が格納される作業予定テーブル110と、作業対応製品が格納される作業員対応製品テーブル111と、作業員対応地域が格納される作業員対応地域テーブル112と、作業員予定が格納される作業員予定管理テーブル113と、作業員の作業現場の住所・座標(現在位置)が格納される住所・座標テーブル114と、を備え、上述した各部(作業可能件数割出し機能部105、最短ルート設定機能部106、人員配置機能部107)が各テーブルを選択的に使用する。
【0015】
作業可能件数割出し機能部105は、住所・座標テーブル114以外のテーブルを使用し、最短ルート設定機能部106、並びに人員配置機能部107は、過去履歴テーブル108及び作業時間テーブル109以外のテーブルを使用するが、詳細については後文で説明する。
【0016】
この保守・修理用作業員配置システムでは、作業可能件数割出し機能部105が過去の実績とその地域の対応人数とから全体で1日何件の作業が可能であるかを算出し、指定日の作業可能件数を当日の作業可能時間と過去の同作業の見積時間とに基づいて算出するため、予定の作業時間を大幅に外れる事がなく、難しい作業が重なって一日の作業時間が長時間になってしまうことが無く、適正な作業時間を守ることができる。また、最短ルート設定機能部106が依頼内容を全件纏めて全作業地域を回る1本の最短ルートを設定し、時間での比較を行うために簡単な作業であれば他の作業の合間に入り込める確率も高くなり、件数の制限でユーザの希望日に作業を実施できない事態を回避することが可能になる。更に、人員配置機能部107が最短ルートを作業員人数で分割して各作業員の一日の作業を決定し、最短の移動時間となる人員配置することにより、移動時間を削減して作業効率を向上させることが可能になる。
【0017】
図2は、作業員配置システム104が備える作業可能件数割出し機能部105による1日当りの作業可能件数割出し処理を示したフローチャートである。
【0018】
この1日当りの作業可能件数割出し処理では、動作処理(プログラム)が開始されると、クライアント端末101より作業依頼1件追加(ステップS201)の処理が行われ、作業予定テーブル110に作業依頼情報を登録した後、該当製品・症状の予想作業時間を作業時間テーブル109より取得(ステップS202)する処理を行い、取得した値を平均作業時間としてメモリに保持する。
【0019】
次に、メモリに保存した平均作業時間について、該当データはあるかないかを判定(ステップS203)する。この判定の結果、該当データ(メモリに保存した平均作業時間)がなければ過去履歴テーブル108の同製品・同症状の案件の作業時間を取得(ステップS204)する処理を行い、全件をメモリの作業時間に保持した後、メモリの過去の作業時間から平均作業時間を取得(ステップS205)する処理を行い、メモリの平均作業時間を更新するが、この後は該当データ(メモリに保存した平均作業時間)があった場合と同様に、平均作業時間を作業予定時間として、作業予定テーブル110に登録(ステップS206)する処理を行う。
【0020】
更に、作業員対応製品テーブル111・作業員対応地域テーブル112・作業員予定管理テーブル113から、該当日・該当地域・該当製品分類の、作業可能者と習熟度と時間を取得(ステップS207)する処理を行って作業可能者・習熟度・時間をメモリに保持する。因みに、ここでは
図11に示す1日当りの作業可能件数割出し処理中における各テーブルからのデータ取得のイメージを示した模式図であり、同図(a)の該当日・該当地域・該当製品分類の作業可能者・習熟度・時間を取得したときの作業員対応製品テーブル111、作業員対応地域テーブル112、及び作業員予定管理テーブル113におけるテーブル結合イメージに関する図を参照すれば、作業員対応製品テーブル111、作業員対応地域テーブル112、作業員予定管理テーブル113を作業者項目で結合することにより、製品型式、製品分類、症状、郵便番号、作業日をキーとして作業者、習熟度掛け率、稼働時間、優先区分を一度に取得する。
【0021】
引き続き、取得した作業可能者・習熟度・時間から作業可能者ごとに時間÷習熟度で作業可能工数を取得(ステップS208)してメモリに保持した後、作業可能工数を合計して、全体作業可能工数を取得(ステップS209)してメモリに保持する。
【0022】
更に、作業予定テーブル110から、該当日・該当地域・該当製品分類の、決定済みの各作業時間を取得(ステップS210)して全件について決定済みの作業時間をメモリに保持する。因みに、ここでは
図11に示す1日当りの作業可能件数割出し処理中における各テーブルからのデータ取得のイメージを示した模式図であり、同図(b)の該当日・該当地域・該当製品分類の決定済みの各時間を取得したときの作業予定テーブルに関する図を参照すれば、作業予定テーブル110から郵便番号、製品型式、製品分類、症状、作業日をキーとして作業予定時間を検索して取得する。
【0023】
次に、決定済みの作業時間について、決定済みの各作業時間を合計して、決定済み全体作業時間を取得(ステップS211)してメモリに保持した後、メモリの全体作業可能工数、決定済み全作業時間、平均作業時間より、全体作業可能工数−決定済み全体作業時間−平均作業時間≧0であるか否かを判定(ステップS212)する。この判定の結果、0未満であればクライアント端末101に通知して作業予定日変更(ステップS213)の処理を行い、作業予定テーブル110を更新してから先の作業員対応製品テーブル111・作業員対応地域テーブル112・作業員予定管理テーブル113から、該当日・該当地域・該当製品分の、作業可能者と習熟度と時間を取得(ステップS207)の処理の前にリターンしてそれ以後の処理を繰り返すが、0以上であれば作業予定テーブル110に作業日を登録(ステップS214)する処理を行ってから動作処理(プログラム)を終了する。
【0024】
図3−1は、作業員配置システム104が備える最短ルート設定機能部106及び人員配置機能部107による最短ルート設定・人員配置処理の前期部分を示したフローチャートであり、
図3−2はその中期部分を示したフローチャートであり、
図3−3はその後期部分を示したフローチャートである。
【0025】
この最短ルート設定・人員配置処理では、動作処理(プログラム)が開始されると、作業予定テーブル110より、翌日の案件で作業担当者が決まっていないデータを取得(ステップS301)する処理を行い、メモリに担当者未定データとして保持した後、担当者未定データについて、担当者未定のデータがあるか否かを判定(ステップS302)する。この判定の結果、担当者未定のデータがなければ動作処理(プログラム)を終了するが、担当者未定のデータがあれば最短ルート設定機能部106による最短ルート設定機能の最短ルート設定処理に移行し、その担当者未定データの内、郵便番号の昇順で1番に来るデータの郵便番号を取得(ステップS303)する処理を行い、メモリに保持する。
【0026】
次に、作業予定テーブル110より、メモリの郵便番号が一致する翌日の作業全件の住所を取得(ステップS304)する処理を行い、メモリに保持した後、メモリの住所と住所・座標テーブル114より、該当地域の翌日の作業全件の座標を取得(ステップS305)する処理を行い、メモリに保持する。
【0027】
更に、メモリの座標について、全座標を回る、全パターン(例えばパターン1:A→B→C…)を取得(ステップS306)する処理を行い、メモリに保持した後、全パターン(例えばパターン1:A→B→C…)について、全パターンそれぞれの総移動距離(例えばパターン1:***km)を取得(ステップS307)する処理を行い、メモリに保持する。
【0028】
引き続き、総移動距離(例えばパターン1:***km)について、全パターン(例えばパターン1:A→B→C…)から、総移動距離(例えばパターン1:***km)が一番少ないもの(例えばパターンx:***km)を取得(ステップS308)する処理を行い、メモリに保持した後、一番少ない総移動距離(例えばパターンx:***km)について、総移動距離(例えばパターン1:***km)から総移動時間(例えばパターンx:***時間)を取得(ステップS309)する処理を行い、メモリに保持して最短ルート設定機能の最短ルート設定処理を済ませる。
【0029】
更に、人員配置機能部107による人員配置機能の人員配置処理へ移行し、作業予定テーブル110より、該当地域の翌日の作業の作業予定時間を取得(ステップS310)する処理を行い、メモリに保持した後、メモリの作業予定時間について、全作業予定時間を合計し、総作業時間(例えば総作業時間:***時間)を取得(ステップS311)する処理を行い、メモリに保持する。
【0030】
また、総作業時間(例えば総作業時間:***時間)に総移動時間(例えばパターンx:***時間)を合計した時間を総作業時間(例えば総作業時間:***時間)とする(ステップS312)処理を行い、メモリを更新した後、作業員対応製品テーブル111・作業員対応地域テーブル112・作業員予定管理テーブル113から、該当日・該当地域・該当製品分類の、作業可能者を取得(ステップS313)する処理を行い、作業者としてメモリに保持する。
【0031】
この後、メモリの作業者と作業員予定管理テーブル113より優先の作業員がいるか否かを判定(ステップS314)する。この判定の結果、優先の作業員がいれば優先作業員に8時間÷作業員対応製品テーブル111の習熟度掛け率を全体工数である総作業時間(例えば総作業時間:***時間)からマイナス(ステップS315)し、残作業時間(例えば残作業時間:***時間)としてメモリに保持し、その後は優先の作業員がいない場合と同様に、先の作業者とメモリの残作業時間(例えば残作業時間:***時間)とから、残(または総)作業時間を優先でない作業者数で均等に分けて一人当たり作業時間を算出(ステップS316)する処理を行い、メモリに保持する。
【0032】
次に、作業者について、作業者の名前の昇順で順番(例えば作業者A、1)を設定(ステップS317)する処理を行い、メモリに保持した後、順序1を設定(ステップS318)する処理を行い、順序:1をメモリに保持する。
【0033】
また、順番(例えば作業者A、1)と現在のメモリの順序(例えば順序:*)に対応する順番の作業者Aに作業時間0を設定(ステップS319)する処理を行い、メモリ上に作業者Aの作業時間:0を保持した後、最短ルート順に1件の、作業予定テーブル110の作業予定者に現在の作業者A(作業時間:0)を設定(ステップS320)する。
【0034】
次に、作業員対応製品テーブル111を参照し、作業予定テーブル110の該当作業の作業予定時間に、作業員対応製品テーブル111の習熟度掛け率を掛けた時間を作業予定テーブル110に再設定(ステップS321)する処理を行った後、現在の作業者A(作業時間:0)の作業時間に、作業予定テーブル110の作業予定時間を加算(ステップS322)する処理を行い、メモリに現在の作業者Aの作業時間:xを更新して保持する。
【0035】
引き続き、現在のメモリの順序:xが1より大きいか否かを判定(ステップS323)する。この判定の結果、順序:xが1より大きければ作業予定テーブル110より順序:xが一つ前の作業の住所を取得(ステップS324)する処理を行い、メモリに一つ前の住所を保持した後、メモリの住所と住所・座標テーブル114より、一つ前作業と該当作業の住所から座標を取得(ステップ325)する処理を行い、メモリに座標を保持する。
【0036】
また、座標について、メモリの一つ前作業の座標と該当作業の座標から、移動距離(例えば移動距離:***km)を取得(ステップS326)する処理を行い、メモリに保持した後、メモリの移動距離(例えば移動距離:***km)から移動時間(例えば移動時間:***時間)を取得(ステップ327)する処理を行い、メモリに保持する。
【0037】
更に、メモリの作業者Aの作業時間:xに移動時間(例えば移動時間:***時間)を加算(ステップS328)する処理を行い、作業者Aの作業時間:xとしてメモリを更新する。
【0038】
この後は、先の現在のメモリの順序:xが1より大きいか否かを判定(ステップS323)した結果、順序:xが1以下であった場合と同様に、メモリの一人当たり作業時間:*時間よりメモリの作業者Aの作業時間:xをマイナスした値≧0であるか否かを判定(ステップS329)する。この判定の結果、0より小さければ、作業予定テーブル110の作業予定時間を元に戻す(ステップS330)処理を行う(作業予定テーブル110の該当作業の作業予定時間を、習熟度掛け率を反映する前の作業予定時間に変更する)と共に、作業予定テーブル110の作業員をクリアする(ステップS331)処理を行った後、現在の順序:*にプラス1を再設定(ステップS332)してメモリの順序:*を再設定するようにしてから、先の順番(例えば作業者A、1)と現在のメモリの順序(例えば順序:*)に対応する順番の作業者Aに作業時間0を設定(ステップS319)する処理の前にリターンして以後の処理を繰り返すが、0以上であれば作業予定テーブル110を検索してルート順の次作業はあるか否かを判定(ステップS333)する。
【0039】
この判定の結果、次作業があれば先の最短ルート順に1件の、作業予定テーブル110の作業予定者に現在の作業者A(作業時間:0)を設定(ステップS320)する処理の前にリターンして以後の処理を繰り返すが、次作業がなければ作業者の名前の昇順で順番を設定(ステップS334)する処理を行い、メモリに保持した後、順序1を設定(ステップS335)する処理を行い、メモリに保持する。
【0040】
更に、現在のメモリの順序:*に対応する順番の作業者A、1を抽出(ステップS336)する処理を行い、メモリに作業者Aを保持した後、作業予定テーブル110の該当作業者の作業案件に時間指定が無いか否かを判定(ステップS337)する。この判定の結果、時間指定がなければ作業開始時間を9時を設定(ステップS338)する処理を行って作業予定テーブル110を更新し、時間指定があれば1件目の時間指定に合わせて作業開始時間を設定(ステップS339)する処理を行ってから作業予定テーブル110を更新するが、その後は何れの場合も作業者の名前の昇順で順序をメモリに設定した際の最大順序である作業者につけた番号の最大から現在のメモリの順序:*をマイナスした値≦0であるか否かを判定(ステップS340)する。この判定の結果、0より大きければ現在の順序:*にプラス1を設定(ステップS341)する処理を行い、メモリの順序:*を再設定してから、現在のメモリの順序:*に対応する順番の作業者A、1を抽出(ステップS336)する処理の前にリターンして以後の処理を繰り返すが、0以下であれば動作処理(プログラム)の開始時の作業予定テーブル110より、翌日の案件で作業担当者が決まっていないデータを取得(ステップS301)する処理の前にリターンして以後の処理を繰り返す。尚、人員配置機能による人員配置処理は、上述したこの後の担当者未定のデータがあるか否かの判定(ステップS302)の処理までに至るフローとみなすことができる。
【0041】
図4は、作業員配置システム104が備える過去履歴テーブル108のテーブル構成を例示した図である。
【0042】
図4を参照すれば、この過去履歴テーブル108のテーブル構成では、項目説明にある項目名の顧客名、郵便番号、住所、電話番号、製品形式、製品分類、症状、作業時間、作業者について、データ例ではそれぞれ具体な内容を例示している。
【0043】
図5は、作業員配置システム104が備える作業時間テーブル109のテーブル構成を例示した図である。
【0044】
図5を参照すれば、この作業時間テーブル109のテーブル構成では、項目説明にある項目名の製品形式、製品分類、症状、平均作業時間について、データ例ではそれぞれ具体な内容を例示している。
【0045】
図6は、作業員配置システム104が備える作業予定テーブル110のテーブル構成を例示した図である。
【0046】
図6を参照すれば、この作業予定テーブル110のテーブル構成では、項目説明にある顧客名、郵便番号、住所、電話番号、製品形式、製品分類、症状、作業日、指定時間、作業予定者、作業予定時間について、データ例ではそれぞれ具体な内容を例示している。
【0047】
図7は、作業員配置システム104が備える作業員対応製品テーブル111のテーブル構成を例示した図である。
【0048】
図7を参照すれば、この作業員対応製品テーブル111のテーブル構成では、項目説明にある作業者、製品形式、製品分類、症状、習熟度掛け率について、データ例ではそれぞれ具体な内容を例示している。
【0049】
図8は、作業員配置システム104が備える作業員対応地域テーブル112のテーブル構成を例示した図である。
【0050】
図8を参照すれば、作業員対応地域テーブル112のテーブル構成では、項目説明にある作業者、郵便番号について、データ例ではそれぞれ具体な内容を例示している。
【0051】
図9は、作業員配置システム104が備える作業員予定管理テーブル113のテーブル構成を例示した図である。
【0052】
図9を参照すれば、作業員予定管理テーブル113のテーブル構成では、項目説明にある作業者、作業日、稼動時間、優先区分について、データ例ではそれぞれ具体な内容を例示している。
【0053】
図10は、作業員配置システム104が備える住所・座標テーブル114のテーブル構成を例示した図である。
【0054】
図10を参照すれば、住所・座標テーブル114のテーブル構成では、項目説明にある都道府県名、市町村名、大字・町丁目、街区符号・地番、座標系番号、X座標、Y座標、緯度、経度、住居表示フラグ、代表フラグについて、データ例ではそれぞれ具体な内容を例示している。尚、住所・座標テーブル114のデータは、国土交通省の街区レベル位置参照情報を使用して作成するもので、国土交通省国土計画局のGISホームページよりダウンロードできるようになっている。