説明

ワークフローシステム

【課題】案件の回覧を最適に早く実現することにより、ワークフロー回覧の滞留に起因する業務処理遅延を防止する。
【解決手段】ワークフローシステムはサーバのプログラムの実行によって実現され、端末から送信される案件の承認者の承認依頼要求に従って、承認ルートにおける承認者及び代理承認者、又は副代理承認者を把握して、その在席状態を取得する共通処理部と、承認者及び代理承認者、又は副代理承認者の在席状態を把握して処理可能な処理者に案件を遷移させる案件処理部と、承認者、代理承認者、副代理承認者からの在席状態の応じて最適な承認者に案件処理を遷移させる在席状態変更による承認者切換え処理部と、承認者切換え処理部によって指定された最適な承認者へ案件の承認処理を通知するメール処理部を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークフローシステムに係り、特に、承認者の在席状態を把握して、適宜、最適な承認者を自動選択する、ワークフローシステム及びその機能を実現するプログラムに関するものである。
【背景技術】
【0002】
ワークフローシステムの回覧自動選択機能を実現するための種々の技術が提案されている。例えば、特許文献1には、ワークフローシステムにおいて、回覧経路が決まっている業務が複数存在する場合、データ作成時に予め、回覧経路を付加情報として設定し、作成したデータに対して最適な回覧経路を自動的に選択される手段を有することで、各回覧先において作業者が次の回覧先へ送信するための回覧経路を選択することなく、回覧を自動実行する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−81488号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
現状、承認者の適切な承認を受けた上で業務処理が実行されたという承認証跡を残す手段として、ワークフローを利用したシステムが用いられている。業務処理に応じて各回覧経路が存在する場合、その最適な回覧経路を自動的に選択することは、特許文献1に記載の技術で実現可能であるが、次のような問題点が考えられる。
【0005】
(1)自動的に選択された回覧経路上の承認者が不在の場合、そこで回覧が滞るために承認が受けられずに、業務処理が遅延してしまう可能性がある。それを回避するために、回覧者が随時承認者の在席状況を把握することが考えられるが、その時点での最適な承認者を選択して回覧を行うことは困難である。
【0006】
(2)また、承認者が不在から在席状態に変更になった場合に、代理承認者に遷移した案件を再び承認者の処理に戻す場合に、遷移した案件と経路を把握した上でそれらを自らの処理に戻す作業は大変困難となる。
【0007】
このように、従来では承認者が不在の場合にワークフロー回覧が滞留し、その結果、業務処理実行までに適切な承認を受けられずに業務処理作業が遅延し、また承認者が復帰したにも拘らず代理承認者に案件の処理が遷移したままとなり、処理を本来の処理者である承認者に戻すことが困難であるという不具合がある。
【0008】
本発明の目的は、ワークフロー中の承認者の在席状況を把握し、その時点での最適な承認者を自動選択することで、案件の回覧を最適に早く実現することにより、ワークフロー回覧の滞留に起因する業務処理遅延を防止することにある。
【課題を解決するための手段】
【0009】
本発明によるワークフローシステムは、好ましくは、ユーザにより操作される複数の端末がネットワークを介して接続される、サーバの処理装置でプログラムを実行することにより構築されるワークフローシステムであって、
案件の承認者及び代理承認者、又は副代理承認者を含むユーザの在席状態を管理する第1記憶手段と、承認を受ける対象の案件に関する情報を管理する第2の記憶手段と、案件の承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を管理するための第3記憶手段とを有し、更に
該処理装置でプログラムを実行することにより実現される;
いずれかの該端末から送信される承認者への案件の承認依頼要求に従って、該第3の記憶手段を参照して、該承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を特定し、更に該第1の記憶手段を参照して、特定された該承認者及び代理承認者、又は副代理承認者の在席状態を把握する共通処理部と、
特定された該承認者及び代理承認者、又は副代理承認者の在席状態に応じて、処理可能な処理者に案件を遷移し、該第2の記憶手段を更新する案件処理部と、
特定された該承認者、代理承認者、又は副代理承認者からの在席状態に応じて、最適な承認者に案件処理を遷移させる、在席状態変更による承認者切換え処理部と、
該承認者切換え処理部により指定された最適な承認者へ承認依頼を通知するメール処理部を有することを特徴とするワークフローシステムとして構成される。
【0010】
また、本発明によるワークフローシステム用プログラムは、好ましくは、ユーザにより操作される複数の端末がネットワークを介して接続される、サーバの処理装置でプログラムを実行することにより構築されるワークフローシステム用プログラムであって、
該処理装置で実行されることにより、
案件の承認者及び代理承認者、又は副代理承認者を含むユーザの在席状態を管理する第1記憶手段をアクセスし、承認を受ける対象の案件に関する情報を管理する第2の記憶手段をアクセスし、案件の承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を管理するための第3記憶手段をアクセスし、かつ、
いずれかの該端末から送信される承認者への案件の承認依頼要求に従って、該第3の記憶手段を参照して、該承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を特定し、更に該第1の記憶手段を参照して、特定された該承認者及び代理承認者、又は副代理承認者の在席状態を把握する共通処理部と、
特定された該承認者及び代理承認者、又は副代理承認者の在席状態に応じて、処理可能な処理者に案件を遷移し、該第2の記憶手段を更新する案件処理部と、
特定された該承認者、代理承認者、又は副代理承認者からの在席状態に応じて、最適な承認者に案件処理を遷移させる、在席状態変更による承認者切換え処理部と、
該承認者切換え処理部により指定された最適な承認者へ承認依頼を通知するメール処理部を実現することを特徴とするワークフローシステム用プログラムとして構成される。
【発明の効果】
【0011】
本発明によれば、承認者不在時に最適な他の承認者に自動的に処理が遷移し、また承認者の在席状態が変更になった際に自動的に処理が遷移することが可能となる。これにより、案件が承認者に回覧された時点、或いは承認者の在席状態が変更になった時点で最適な回覧者を自動的に選択でき、ワークフロー回覧の滞留による業務処理遅延を防止することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施例によるワークフローシステムの全体を示す図である。
【図2A】一実施例による案件承認依頼処理部106の処理動作を説明するフローチャートである。
【図2B】一実施例による案件承認依頼処理部106の処理動作を説明するフローチャートである。
【図3】一実施例による代理承認者への切換え処理部107の処理動作を説明するフローチャートである。
【図4】一実施例による副代理承認者への切換え処理部108の処理動作を説明するフローチャートである。
【図5】一実施例による承認者在席状態変更時の案件承認者切換え処理部110の処理動作を説明するフローチャートである。
【図6】一実施例による在席から不在へ変更時の案件承認者切換え処理部111の処理動作を説明するフローチャートである。
【図7】一実施例による承認者在席から不在へ変更時の案件承認者切換え処理部112の処理動作を説明するフローチャートである。
【図8】一実施例による代理承認者在席から不在へ変更時の案件承認者切換え処理部113の処理動作を説明するフローチャートである。
【図9】一実施例による副代理承認者在席から不在へ変更時の案件承認者切換え処理部114の処理動作を説明するフローチャートである。
【図10】一実施例による不在から在席へ変更時の案件承認者切換え処理部115の処理動作を説明するフローチャートである。
【図11】一実施例による承認依頼通知メール処理部117の処理動作を説明するフローチャートである。
【図12】一実施例による在席フラグ取得処理部119の処理動作を説明するフローチャートである。
【図13】一実施例による在席マスタテーブルの構成例を示す図である。
【図14】一実施例による案件マスタテーブルの構成例を示す図である。
【図15】一実施例によるルート承認者正副マスタテーブルの構成例を示す図である。
【図16】一実施例によるメッセージマスタテーブルの構成例を示す図である。
【図17】一実施例によるユーザマスタテーブルの構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の好適な実施例について詳細に説明する。
図1は一実施例によるワークフローシステムの全体構成を示す。
ワークフローシステムは、サーバ1に案件管理システム10が構築されることで実現する。サーバ1には、ネットワーク19を介してユーザにより操作される複数の端末18が接続される(都合上1台の端末18のみ図示)。サーバ1は、処理装置(CPU)、記憶装置、主メモリ、キーボード、マウス等の入力装置及び表示装置を有し、CPUで所定のプログラムが実行されることで、案件管理システム10の各処理部の機能が構築される。
【0014】
この案件管理システム10は、案件処理部105、在席状態変更による承認者切換え処理部109、メール処理部116、共通処理部118、及び在席マスタ120、案件マスタ121、ルート承認者正副マスタ122、メッセージマスタ123、ユーザマスタ124の各データベース(DBという)から構成される。
【0015】
上記4つの処理部は、それぞれ以下の処理部により構成される。
案件処理部105は、案件承認依頼処理部106、代理承認者への切換え処理部107、副代理承認者への切換え処理部108により構成される。
在席状態変更による承認者切換え処理部109は、承認者在席状態変更時の案件承認者切換え処理部110、在席から不在へ変更時の案件承認者切換え処理部111、承認者在席から不在へ変更時の案件承認者切換え処理部112、代理承認者在席から不在へ変更時の案件承認者切換え処理部113、副代理承認者在席から不在へ変更時の案件承認者切換え処理部114、不在から在席へ変更時の案件承認者切換え処理部115により構成される。
メール処理部116は、承認依頼通知メール処理部117により構成される。共通処理部118は、在席フラグ取得処理部119により構成される。
なお、上記各処理部の処理動作については、フローチャートを参照して詳述する。
【0016】
次に、各DBの構成について説明する。
図13は在席マスタテーブル120の構成例を示す。
在席マスタテーブル120は、システム利用者に固有の「ユーザID」と、ユーザの在席状況を示す「在席フラグ」の項目を1つのレコードとして、複数のレコードを格納するように構成される。ここで、在席フラグは、在席時は「1」、不在時は「0」で表される。この各レコードによりユーザの在席状況を特定することができる。
【0017】
図14は案件マスタテーブル121の構成例を示す。
案件マスタテーブル121は、案件管理システム10内で案件を一意に示すシステム内部用IDとしての「案件ID」と、案件管理システム10内で案件を一意に示す「案件ID」に紐付く「案件コード」と、現在の案件処理者のユーザIDを示す「現処理者ID」と、現在の案件のルート位置を示す「ルート表示ID」と、案件を登録したユーザのIDを示す「登録者ID」と、案件を登録した日時を示す「登録日時」と、案件を更新した直近のユーザのIDを示す「更新者ID」と、案件を更新した直近の日時を示す「更新日時」と、現処理者IDにセットされている承認者の立場を示す「案件承認者立場フラグ」の各項目を1つのレコードとして、複数のレコードを格納するように構成される。ここで、「案件承認者立場フラグ」に関して、承認者は「1」、代理承認者は「2」、副代理承認者は「3」、その他は「0」で表される。この各レコードにより案件を特定することができる。
【0018】
図15はルート承認者正副マスタテーブル122の構成例を示す。
ルート承認者正副マスタテーブル122は、ルート位置を示す「ルートID」と、ルートに対する承認者のユーザIDを示す「承認者ID」と、ルートに対する代理承認者のユーザIDを示す「代理承認者ID」と、ルートに対する副代理承認者のユーザIDを示す「副代理承認者ID」の各項目を1つのレコードとして、複数のレコードを格納するように構成される。このレコードによりルートに対する承認者及び代理承認者、副代理承認者を特定することができる。
【0019】
図16はメッセージマスタテーブル123の構成例を示す。
メッセージマスタテーブル123は、メッセージを一意に表す「メッセージID」と、メッセージIDに対するメッセージ内容を示す「メッセージ内容」の項目を1つのレコードとして、複数のレコードを格納するように構成される。このレコードによりメッセージの内容を特定することができる。
【0020】
図17はユーザマスタテーブル124の構成例を示す。
ユーザマスタテーブル124は、案件管理システム10内でユーザを一意に表す「ユーザID」と、ユーザの氏名を表す「氏名」と、ユーザが所属する会社IDを表す「会社ID」と、ユーザが所属する組織IDを表す「組織ID」と、ユーザのメールアドレスを表す「メールアドレス」の各項目を1つのレコードとして、複数のレコードを格納するように構成される。このレコードによりユーザの情報を特定することができる。
【0021】
次に、図2A〜図2Bを参照して、案件承認依頼処理部106による処理動作について説明する。
(1)端末18のユーザの操作により承認者への案件承認依頼要求が開始されると、承認依頼があった案件の案件IDがサーバ1へ送信され、サーバ1はその要求を保持する(S201)。
(2)メッセージIDに値"101"をセットする(S202)。
(3)S201で保持した案件IDをキーに、案件マスタ121を参照して、案件IDが一致したレコードのルート表示IDを取得する(S203〜S205)。
(4)S205で取得したルート表示IDをキーに、ルート承認者正副マスタ207を参照して、ルート承認者正副マスタ207のルートIDとルート表示IDが一致したレコードの承認者ID及び代理承認者ID、副代理承認者IDを取得する(S206〜208)。
【0022】
(5)S208で取得した承認者IDを在席フラグ取得処理S209に送信し、在席フラグ取得処理S209の処理結果である承認者の在席フラグの値を取得する(S209)。
(6)取得した承認者の在席フラグを判定して、在席を示す値"1"であれば、S201で保持した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に承認者IDをセットし、かつ案件承認者立場フラグ列に"1"をセットする。その後、承認依頼通知メール処理221へ遷移する。
一方、在席フラグが不在を示す値"0"であれば、S208で取得した代理承認者IDのNULLチェックを行う(S210〜212)。
【0023】
(7)S208で取得した代理承認者IDがNULLであるか、Not NULLであるかを判定し、NULLであった場合は216へ遷移する。一方、Not NULLであった場合、代理承認者IDを代理承認者への切換え処理S214に送信し、代理承認者への切換え処理S214の処理結果である代理承認者の在席フラグの値を取得する(S213〜214)。
(8)取得した代理承認者の在席フラグを判定し、在席を示す値"1"であれば、承認依頼通知メール処理S221へ遷移する。一方、在席フラグが不在を示す値"0"であれば、S208で取得した副代理承認者IDのNULLチェックを行う(S215)。
【0024】
(9)S208で取得した副代理承認者IDがNULLであるか、Not NULLであるかを判定し、NULLであった場合はS219へ遷移する。一方、Not NULLであった場合、副代理承認者IDを副代理承認者への切換え処理217へ送信し、副代理承認者への切換え処理S217の処理結果である副代理承認者の在席フラグの値を取得する(S216〜S217)。
(10)取得した副代理承認者の在席フラグを判定し、在席を示す値"1"であれば、承認依頼通知メール処理S221へ遷移する。在席フラグが不在を示す値"0"であれば、S201で保持した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に承認者IDをセットし、かつ案件承認者立場フラグ列に"1"をセットする(S218〜220)。
(11)最後に、セットされたメッセージIDを承認依頼通知メール処理へ送信して(S221、一連の処理を終了する。
【0025】
次に、図3を参照して、代理承認者への切換え処理部107による処理動作(S214)について説明する。
(1)この処理は、S213の処理から送信された代理承認者IDを取得して、処理が開始される。まず、S213の処理から送信された代理承認者IDを在席フラグ取得処理301に送信し、在席フラグ処理301の処理結果である代理承認者の在席フラグの値を取得する(S301)。
(2)取得した代理承認者の在席フラグを判定し、その判定の結果、在席を示す値"1"であれば、S201で保持した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に代理承認者IDをセットし、また案件承認者立場フラグ列に"2"をセットする。その後、メッセージIDに値"102"をセットして、代理承認者への切換え処理107を完了する。
上記判定S302の結果、在席フラグが不在を示す値"0"であれば、S303〜S305の処理を行わず、代理承認者への切換え処理部107による処理を完了する(S302〜305)。
【0026】
次に、図4を参照して、副代理承認者への切換え処理部108による処理動作(S217)について説明する。
(1)この処理は、S216の処理から送信された副代理承認者IDを取得して処理が開始される。まず、S216の処理から送信された副代理承認者IDを在席フラグ取得処理401に送信し、在席フラグ処理401の処理結果である副代理承認者の在席フラグの値を取得する(S401)。
(2)取得した副代理承認者の在席フラグを判定し、その結果、在席を示す値"1"であれば、S201で保持した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に副代理承認者IDをセットし、かつ案件承認者立場フラグ列に"3"をセットする。その後、メッセージIDに値"103"をセットして、副代理承認者への切換え処理108の処理を完了する。
一方、上記判定S402の結果、在席フラグが不在を示す値"0"であれば、S403〜S405の処理を行わず、副代理承認者への切換え処理部108の処理を完了する(S402〜S405)。
【0027】
次に、図5を参照して、承認者在席状態変更時の案件承認者切換え処理部110の処理動作について説明する。
(1)この処理は、端末を使用するユーザからの在席フラグの入力により開始される。まず、ユーザが端末18に入力した在席フラグがサーバ1へ送信され、サーバ1はそれを保持する(S501)。
(2)在席フラグを送信したユーザのユーザIDをキーに、在席マスタ120を参照して、在席マスタ120のユーザIDと一致したレコードの在席フラグを取得する(S502〜S504)。
【0028】
(3)次に、S501で取得したユーザ入力の在席フラグと、S504で取得した在席フラグを比較する(S505)。その結果、ユーザ入力の在席フラグとS504で取得した在席フラグが一致した場合は、S506〜S508の処理を行わず、承認者在席状態変更時の案件承認者切換え処理部110の処理を完了する。一方、上記比較S505の結果、ユーザ入力の在席フラグとS504で取得した在席フラグが不一致の場合は、ユーザ入力の在席フラグの値判定を行う。
(4)S501で取得したユーザ入力の在席フラグを判定し(S506)、不在を示す値"0"であれば、在席から不在へ変更時の案件承認者切換え処理S507へ遷移する。一方、在席フラグが在席を示す値"1"であれば、不在から在席へ変更時の案件承認者切換え処理S508へ遷移する(S506〜S508)。
【0029】
次に、図6を参照して、在席から不在へ変更時の案件承認者切換え処理部111の処理動作について説明する。
(1)S501で在席フラグを送信したユーザのユーザIDをキーに案件マスタ121を参照して、案件マスタの現処理者IDとユーザIDが一致したレコードの案件IDを取得する(S601〜S603)。
(2)そして、現処理者IDとユーザIDが一致したレコード数が0件か判定し(S604)、その結果、0件ならばS605〜S615の処理を行わず、在席から不在へ変更時の案件承認者切換え処理部111の処理を完了する。
一方、判定の結果、現処理者IDとユーザIDが一致したレコード数が0件でない場合、S605の処理へ遷移する(S604)。
【0030】
(3)そして、S603で取得した案件IDをキーに、案件マスタ121を参照し、案件IDが一致したレコードのルート表示IDを取得する(S605〜S607)。
(4)S501で在席フラグを送信したユーザのユーザIDとS607で取得したルート表示IDをキーに、ルート承認者正副マスタ122を参照して、ルートIDが一致したレコードの承認者ID列の値とユーザIDが一致した場合、承認者在席から不在へ変更時の案件承認者切換え処理S611へ遷移する。一方、ルートIDが一致したレコードの承認者ID列の値とユーザIDが不一致の場合、S612の処理へ遷移する(S608〜S611)。
【0031】
(5)ルートIDが一致したレコードの代理承認者ID列の値とユーザIDが一致した場合、代理承認者在席から不在へ変更時の案件承認者切換え処理613へ遷移する。一方、ルートIDが一致したレコードの代理承認者ID列の値とユーザIDが不一致の場合、S614の処理へ遷移する(S612〜S613)。
(6)ルートIDが一致したレコードの副代理承認者ID列の値とユーザIDが一致した場合、副代理承認者在席から不在へ変更時の案件承認者切換え処理S615へ遷移する。一方、ルートIDが一致したレコードの副代理承認者ID列の値とユーザIDが不一致の場合、S615の処理を行わず、在席から不在へ変更時の案件承認者切換え処理部111の処理を完了する(S614〜S615)。
【0032】
次に、図7を参照して、承認者在席から不在へ変更時の案件承認者切換え処理部112の処理動作について説明する。
(1)S607で取得したルート表示IDをキーにルート承認者正副マスタS702を参照して、ルート承認者正副マスタ702のルートIDの値とルート表示IDが一致したレコードの代理承認者IDと副代理承認者IDを取得する(S701〜703)。
(2)次に、S703で取得した代理承認者IDがNULLであるか、Not NULLであるかを判定する(S704)。その結果、NULLの場合はS711の処理へ遷移する。Not NULLの場合、代理承認者IDを在席フラグ取得処理705に送信し、在席フラグ取得処理S705の処理結果である代理承認者の在席フラグの値を取得する(S705)。
(3)次に、S705で取得した代理承認者の在席フラグの値を判定する(S706)。その結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に代理承認者IDをセットし、また案件承認者立場フラグ列に"2"をセットする。メッセージIDに値"102"をセットし、その後承認依頼通知メール処理S710へ遷移する。一方、在席フラグが不在を示す値"0"であれば、S603で取得した副代理承認者IDのNULLチェックを行う(S706〜S710)。
【0033】
(4)次に、S703で取得した副代理承認者IDがNULLであるか、Not NULLであるかを判定する(S711)。その結果、NULLであった場合はS712〜717の処理を行わず、承認者在席から不在へ変更時の案件承認者切換え処理部112の処理を完了する。一方、Not NULLであった場合、副代理承認者IDを在席フラグ取得処理712に送信し、在席フラグ取得処理712の処理結果である副代理承認者の在席フラグの値を取得する(S711〜S712)。
(5)次に、S712で取得した副代理承認者の在席フラグを判定する(S713)。その結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に副代理承認者IDをセットし、また案件承認者立場フラグ列に"3"をセットする。また、メッセージIDに値"103"をセットし、その後承認依頼通知メール処理717へ遷移する。一方、在席フラグが不在を示す値"0"であれば、S714〜S717の処理を行わず、承認者在席から不在へ変更時の案件承認者切換え処理部112の処理を完了する(S713〜S717)。
【0034】
次に、図8を参照して、代理承認者在席から不在へ変更時の案件承認者切換え処理部113の処理動作について説明する。
(1)S607で取得したルート表示IDをキーに、ルート承認者正副マスタS802を参照し、ルート承認者正副マスタS802のルートIDの値とルート表示IDが一致したレコードの承認者IDと副代理承認者IDを取得する(S801〜S803)。
(2)S803で取得した承認者IDを在席フラグ取得処理S804に送信し、在席フラグ取得処理S804の処理結果である承認者の在席フラグの値を取得する(S804)。
(3)次に、S804で取得した承認者の在席フラグの値を判定する(S805)。判定の結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に承認者IDをセットし、また案件承認者立場フラグ列に"1"をセットする。また、メッセージIDに値"101"をセットして、その後、承認依頼通知メール処理S809へ遷移する。一方、在席フラグが不在を示す値"0"であれば、S603で取得した副代理承認者IDのNULLチェックを行う(S805〜S809)。
【0035】
(4)S803で取得した副代理承認者IDがNULLであるか、Not NULLであるかを判定する(S810)。その結果、NULLであった場合はS811〜S816の処理を行わず、代理承認者在席から不在へ変更時の案件承認者切換え処理部113の処理を完了する。
一方、Not NULLであった場合、副代理承認者IDを在席フラグ取得処理811に送信し、在席フラグ取得処理S811の処理結果である副代理承認者の在席フラグの値を取得する(S810〜S811)。
(5)次に、S811で取得した副代理承認者の在席フラグを判定する(S812)。その結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に副代理承認者IDをセットし、かつ案件承認者立場フラグ列に"3"をセットする。また、メッセージIDに値"103"をセットし、その後、承認依頼通知メール処理S816へ遷移する。
一方、在席フラグが不在を示す値"0"であれば、S813〜816の処理を行わず、代理承認者在席から不在へ変更時の案件承認者切換え処理部113の処理を完了する(S812〜S816)。
【0036】
次に、図9を参照して、副代理承認者在席から不在へ変更時の案件承認者切換え処理部114の処理動作について説明する。
(1)S607で取得したルート表示IDをキーに、ルート承認者正副マスタ902を参照して、ルート承認者正副マスタ902のルートIDの値とルート表示IDが一致したレコードの承認者IDと代理承認者IDを取得する(S901〜S903)。
(2)S903で取得した承認者IDを在席フラグ取得処理904に送信し、在席フラグ取得処理S904の処理結果である承認者の在席フラグの値を取得する(S904)。
(3)S904で取得した承認者の在席フラグの値を判定し(S905)、その結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に承認者IDをセットし、かつ案件承認者立場フラグ列に"1"をセットする。またメッセージIDに値"101"をセットし、その後、承認依頼通知メール処理S909へ遷移する。
一方、在席フラグが不在を示す値"0"であれば、S603で取得した代理承認者IDのNULLチェックを行う(S905〜S909)。
【0037】
(4)次に、S903で取得した代理承認者IDがNULLであるか、Not NULLであるかを判定する(S910)。その結果、NULLであった場合はS911〜S916の処理を行わず、副代理承認者在席から不在へ変更時の案件承認者切換え処理部114の処理を完了する。
一方、Not NULLであった場合、代理承認者IDを在席フラグ取得処理S911に送信し、在席フラグ取得処理S911の処理結果である代理承認者の在席フラグの値を取得する(S910〜S911)。
(5)S911で取得した代理承認者の在席フラグを判定し(S912)、その結果、在席を示す値"1"であれば、S603で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に代理承認者IDをセットし、また案件承認者立場フラグ列に"2"をセットする。また、メッセージIDに値"102"をセットし、その後、承認依頼通知メール処理S916へ遷移する。
一方、在席フラグが不在を示す値"0"であれば、S913〜S916の処理を行わず、副代理承認者在席から不在へ変更時の案件承認者切換え処理部114の処理を完了する(S912〜S916)。
【0038】
次に、図10を参照して、不在から在席へ変更時の案件承認者切換え処理部115の処理動作について説明する。
(1)案件マスタ121を参照して、1レコード目の案件ID、現処理者ID、ルート表示ID及び案件承認者立場フラグを取得する(S1001〜S1002)。
(2)S1001で取得した案件承認者立場フラグの値を判定する(S1003)。その結果、その他を示す値"0"もしくは承認者を示す値"1"であれば、S1017の処理へ遷移する。一方、案件承認者立場フラグの値が"0"もしくは"1"以外の場合はS1004の処理へ遷移する(S1003)。
(3)次に、S501で取得したユーザID及びS1001で取得したルート表示IDをキーに、ルート承認者正副マスタS1005を参照して、S1001で取得したルート表示IDとルート承認者正副マスタS1005のルートIDが一致したレコードを取得する(S1004)。
【0039】
(4)S1004で取得したレコードの承認者IDの値とS501で取得したユーザIDの値を判定し(S1006)、その結果、一致した場合はS1001で取得した案件IDと案件マスタ121の案件IDが一致するレコードの現処理者ID列に、承認者IDをセットし、かつ案件承認者立場フラグ列に"1"をセットする。またメッセージIDに値"101"をセットし、その後、承認依頼通知メール処理S1010へ遷移する。
一方、S1004で取得したレコードの承認者IDの値とS501で取得したユーザIDの値が一致しなかった場合、S1011の案件承認者立場フラグの判定処理へ遷移する(S1007〜S1011)。
(5)S1001で取得した案件承認者立場フラグの値を判定し(S1011)、その結果、副代理承認者を示す値"3"であれば、S1012の処理へ遷移する。案件承認者立場フラグの値が"3"以外の場合はS1017の処理へ遷移する(S1011)。
【0040】
(6)S1004で取得したレコードの代理承認者IDの値とS501で取得したユーザIDの値を判定し(S1012)、その結果、一致した場合はS1001で取得した案件IDと案件マスタ121の案件IDが一致するレコードの"現処理者ID列に代理承認者IDをセットし、かつ案件承認者立場フラグ列に"2"をセットする。またメッセージIDに値"102"をセットし、その後、承認依頼通知メール処理1016へ遷移する。
一方、S1004で取得したレコードの代理承認者IDの値とS501で取得したユーザIDの値が一致しなかった場合、S1017の処理へ遷移する(S1012〜S1016)。
(7)次に、案件マスタ121のレコード位置を取得し、その位置が案件マスタ121の最終レコードの場合、不在から在席へ変更時の案件承認者切換え処理部115の処理を完了する。一方、案件マスタ121のレコード位置が最終でなかった場合、案件マスタ121の処理対象レコードを次のレコードに移し、S1001の処理へ遷移する(S1017〜S1021)。
【0041】
次に、図11を参照して、承認依頼通知メール処理部117の処理動作について説明する。
(1)案件処理部105や在席状態変更による承認者切換え処理部109の処理内でセットされたメッセージIDをキーにメッセージマスタ123を参照し、メッセージマスタ123のメッセージIDの値と一致したレコードのメッセージ内容を取得する(S1101〜S1103)。
(2)現処理者にセットされているユーザIDをキーに、ユーザマスタ1105を参照して、ユーザマスタ124のユーザIDの値と一致したレコードのメールアドレスを取得する(S1104〜S1106)。
(3)S1103で取得したメッセージ内容と、S1106で取得したメールアドレスを電子メールS1108のメール本文、送信先メールアドレスにそれぞれセットして電子メールS1108を送付し、承認依頼通知メール処理117を完了する(S1107〜S1108)。
【0042】
次に、図12を参照して、在席フラグ取得処理部119の処理動作について説明する。
(1)在席フラグ取得処理部119に引き渡されたユーザIDをキーに在席マスタ120を参照して、在席マスタ120のユーザIDの値と一致したレコードの在席フラグを取得し、在席フラグ取得処理119を完了する(S1201〜S1203)。
【0043】
以上説明した処理により、案件管理システム10の承認者の在席状況に応じて、その時点での最適な承認者が自動的に選択され、それにより最適、最速の案件回覧が実現され、ワークフロー回覧の滞留による業務処理遅延を防止することが可能となる。
【0044】
なお、本発明は上記実施例に限定されることなく、種々変形して実施することができるであろう。例えば、上記実施例では、承認のルートを承認者及び代理承認者、副代理承認者の順で設定しているが、副代理承認者が不要な場合もある。このような場合には、図1の案件管理システム及び関係するフローチャートから副代理承認者による処理部又は処理を削除して実現すればよい。逆に、副代理承認者が不在の場合、更に第二或いは第三の副代理者に承認を求めることもあり得る。このような場合には、図1の案件管理システム及び関係するフローチャートに第二或いは第三の副代理承認者による処理部又は処理を追加して実現すればよい。このような第二或いは第三の副代理承認者による追加の処理は、上述した副代理承認者による同様の処理動作を更に追加すればよく、その実現は容易に類推できるであろう。
【符号の説明】
【0045】
1:サーバ 18:端末 19:ネットワーク 10:案件管理システム
105:案件処理部 106:案件承認依頼処理部 107:代理承認者への切換え処理部 108:副代理承認者への切換え処理部
109:在席状態変更による承認者切換え処理部 110:承認者在席状態変更時の案件承認者切換え処理部 111:在席から不在へ変更時の案件承認者切換え処理部 112:承認者在席から不在へ変更時の案件承認者切換え処理部 113:代理承認者在席から不在へ変更時の案件承認者切換え処理部 114:副代理承認者在席から不在へ変更時の案件承認者切換え処理部 115:不在から在席へ変更時の案件承認者切換え処理部
116:メール処理部 117:承認依頼通知メール処理部 118:共通処理部 119:在席フラグ取得処理部
120:在席マスタ 121:案件マスタ 122:ルート承認者正副マスタ 123:メッセージマスタ 124:ユーザマスタ。

【特許請求の範囲】
【請求項1】
ユーザにより操作される複数の端末がネットワークを介して接続される、サーバの処理装置でプログラムを実行することにより構築されるワークフローシステムであって、
案件の承認者及び代理承認者、又は副代理承認者を含むユーザの在席状態を管理する第1記憶手段と、
承認を受ける対象の案件に関する情報を管理する第2の記憶手段と、
案件の承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を管理するための第3記憶手段を有し、
更に該処理装置でプログラムを実行することにより実現される;
いずれかの該端末から送信される承認者への案件の承認依頼要求に従って、該第3の記憶手段を参照して、該承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を特定し、更に該第1の記憶手段を参照して、特定された該承認者及び代理承認者、又は副代理承認者の在席状態を把握する共通処理部と、
特定された該承認者及び代理承認者、又は副代理承認者の在席状態に応じて、処理可能な処理者に案件を遷移し、該第2の記憶手段を更新する案件処理部と、
特定された該承認者、代理承認者、又は副代理承認者からの在席状態に応じて、最適な承認者に案件処理を遷移させる、在席状態変更による承認者切換え処理部と、
該承認者切換え処理部により指定された最適な承認者へ承認依頼を通知するメール処理部を有することを特徴とするワークフローシステム。
【請求項2】
前記第1記憶手段は、ユーザに付与された固有のユーザIDに対応してユーザの在席状況を1つのレコードとして格納する、ユーザの在席状態を管理するための在席マスタテーブルにより構成され、
前記第2記憶手段は、案件ごと付与された固有の案件IDに対応して、現在の案件処理者のユーザIDを示す現処理者IDと、現在の案件のルート位置を示すルート表示IDと、現処理者IDにセットされている、承認者、代理承認者、副代理承認者の立場を示すフラグを1つのレコードとして格納する、案件を管理するための案件マスタテーブルにより構成され、
前記第3記憶手段は、承認のルート位置を示すルートIDと、ルートに対する承認者に固有の承認者IDと、ルートに対する代理承認者に固有の代理承認者IDと、ルートに対する副代理承認者に固有の副代理承認者IDを1つのレコードとして格納する、レコードにより承認を受けるルートに対する承認者及び代理承認者、副代理承認者を管理するためのルート承認者正副マスタテーブルにより構成され、
第4記憶手段は、メッセージを一意に表すメッセージIDと、メッセージIDに対するメッセージ内容を示すメッセージ内容を1つのレコードとして格納する、メッセージの内容を管理するメッセージマスタテーブルにより構成されることを特徴とする請求項1のワークフローシステム。
【請求項3】
ユーザにより操作される複数の端末がネットワークを介して接続される、サーバの処理装置でプログラムを実行することにより構築されるワークフローシステム用プログラムであって、
該処理装置で実行されることにより、案件の承認者及び代理承認者、又は副代理承認者を含むユーザの在席状態を管理する第1記憶手段をアクセスし、
承認を受ける対象の案件に関する情報を管理する第2の記憶手段をアクセスし、
案件の承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を管理するための第3記憶手段をアクセスし、かつ、
いずれかの該端末から送信される承認者への案件の承認依頼要求に従って、該第3の記憶手段を参照して、該承認を受けるルートにおける承認者及び代理承認者、又は副代理承認者を特定し、更に該第1の記憶手段を参照して、特定された該承認者及び代理承認者、又は副代理承認者の在席状態を把握する共通処理部と、
特定された該承認者及び代理承認者、又は副代理承認者の在席状態に応じて、処理可能な処理者に案件を遷移し、該第2の記憶手段を更新する案件処理部と、
特定された該承認者、代理承認者、又は副代理承認者からの在席状態に応じて、最適な承認者に案件処理を遷移させる、在席状態変更による承認者切換え処理部と、
該承認者切換え処理部により指定された最適な承認者へ承認依頼を通知するメール処理部を実現することを特徴とするワークフローシステム用プログラム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−113331(P2011−113331A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−269448(P2009−269448)
【出願日】平成21年11月27日(2009.11.27)
【出願人】(000152985)株式会社日立情報システムズ (409)