以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本実施形態に係るワークフローシステムを示す図である。ワークフローシステムは、少なくとも1つのサーバ装置101と、クライアント端末102とを有している。サーバ装置101とクライアント端末102は、ネットワークを介して接続している。本実施形態に係るワークフローシステムは、複数のクライアント端末102を有している。ユーザは、例えば、ウェブブラウザやクライアントソフトウェア等を利用して、クライアント端末102から、サーバ装置101に対して、ワークフロー進行の要求等を行う。サーバ装置101は、クライアント端末102からの要求に応じた処理、ワークフローに係る案件の管理を行い、必要があればクライアント端末102に対して結果等を送信する。サーバ装置101は、ワークフローサーバ装置の一例であり、クライアント端末102は、外部装置の一例である。サーバ装置101とクライアント端末102の間の通信は、通常のHTTPのリクエストでもよいし、SOAP等を利用したウェブサービスのリクエストでもよい。
図2は、サーバ装置101及びクライアント端末102のハードウェア構成を示す図である。CPU201は、システムバス204に接続される各デバイスを統括的に制御する。ROM203及び外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ又は各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、キーボード、マウス等のポインティングデバイスが挙げられる。出力コントローラ206は、出力部としての表示部210の表示を制御する。この表示部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示部210上での表示を可能としている。また、CPU201は、表示部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。メモリコントローラ207は、加えて、各サーバ又は各クライアントの各種機能を実現するための各種テーブル、パラメータを記憶している。この外部メモリ211としては、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについては、後述する。
図3は、サーバ装置101及びクライアント端末102のソフトウェア構成を示す図である。サーバ装置101は、通信部300と、記憶部301と、表示管理部302と、比較部303と、変更部304と、類似度算出部305と、ワークフロー管理部306とを有している。通信部300は、クライアント端末102との通信を行う。記憶部301は、ワークフローに係る案件を複数格納している。
表示管理部302は、クライアント端末102の表示部210への案件の表示に係る処理を行う。表示管理部302は、例えば、通信部300がクライアント端末102に送信し、クライアント端末102の表示部210に表示された案件に関する情報を一時的に記憶する。表示管理部302はまた、複数の案件の表示順番を管理する。表示管理部302はまた、通信部300を介して、クライアント端末102から表示指示を受信する。ここで、表示指示は、クライアント端末102の表示部210に表示する案件の変更を指示する情報である。表示管理部302は、表示指示に係る案件に関する情報を抽出し、前回表示案件に関する情報と共に、比較部303へ渡す。ここで、前回表示案件とは、表示指示に係る案件の直前に、クライアント端末102の表示部210に表示された案件である。
比較部303は、前回表示案件に関する情報と、表示指示に係る案件に関する情報とを比較し、異なる部分を特定する。変更部304は、比較部303による比較結果に基づいて、表示指示に係る案件の表示内容のうち、前回表示案件の表示内容と異なる部分を、閲覧者が識別可能な表示態様に変更する。類似度算出部305は、前回表示案件と、前回表示案件に続いて表示される可能性のある案件とを比較し、両者の類似度を算出する。ワークフロー管理部306は、通信部300を介してクライアント端末102から受信する指示に従い、ワークフローの進行を管理する。
クライアント端末102は、表示処理部310と、受付部311と、通信部312とを有している。表示処理部310は、表示部210への表示に係る処理を行う。表示処理部310は、例えば、サーバ装置101から受信した案件を含む処理画面を表示する。ここで、処理画面とは、サーバ装置101に対して、案件の処理の依頼等の指示を行うことを可能とするクライアント機能を有する表示画面である。受付部311は、処理画面に対する指示等を受け付ける。通信部312は、サーバ装置101との通信を行う。
なお、ここで、案件の表示とは、案件に係るワークフローの処理を行うための表示と、処理を伴わない単なる表示と、のいずれも含むものとする。また、本実施形態においては、表示処理部310、受付部311の機能は、サーバ装置101に処理を依頼可能なクライアント端末102の機能としたが、他の例としては、これらの機能は、サーバ装置101が有することとしてもよい。
次に、図4及び図5を参照しつつ、クライアント端末102が処理画面を表示するためのユーザのオペレーションについて説明する。ユーザはワークフローシステムを利用するために、ワークフローシステムへログインすることが必要となる。そのために、ユーザは、クライアント端末102の表示部210に表示されたログイン画面(不図示)にユーザIDとパスワードを入力しワークフローシステムの利用を開始する。ユーザは、ログイン後、自分へ処理依頼が来ている案件の一覧を表示するために、表示部210に表示されている「処理待ち案件一覧」のボタン(不図示)を押下する。これに対し、表示部210には、図4に示す処理待ち案件一覧画面400が表示される。図4に示す処理待ち案件一覧画面400には、4件の案件が表示されている。ユーザが、この案件の中から案件IDが「A0001」の案件の「開く」ボタン401をクリックすると、案件の処理画面を表示する処理が実行され、結果として、表示部210には、図5に示す処理画面500が表示される。なお、処理画面500は、案件ID「A0001」の案件の処理画面である。
次に、図6を参照しつつ、ワークフローシステムにおける、案件表示処理について説明する。S600において、クライアント端末102の受付部311は、表示指示を受け付ける。次に、S601において、クライアント端末102の通信部312は、表示指示をサーバ装置101に送信する。ここで、表示指示は、表示指示に係る1件の案件を識別する案件IDを含むものとする。例えば、表示指示は、案件IDとして、「A0001」を含む。このとき、サーバ装置101の通信部300は、表示指示を受信する。そして、S602において、サーバ装置101の表示管理部302は、通信部300を介して表示指示を受け付け、表示指示に含まれる案件IDに基づいて、表示指示に係る案件の案件情報を案件テーブルから取得する。
図7は、案件テーブル700のデータ構成の一例を示す図である。案件テーブル700は、案件に係る伝票の種類、すなわち業務の種類毎に、複数の案件の案件情報(レコード)を記憶している。案件テーブル700は、例えば、サーバ装置101の外部メモリ211等に予め記録されているものとする。本実施形態においては、業務の種類として、外出票と稟議書とがあるものとし、案件テーブル700は、これに対応して、外出票テーブル710と、稟議書テーブル720とを有しているものとする。外出票テーブル710は、外出票に係る案件情報を記録している。稟議書テーブル720は、稟議書に係る案件情報を記録している。なお、案件テーブル700には、これ以外の種類の業務に係る案件情報が記録されていてもよい。
各レコードは、案件IDと、業務名と、現担当者名と、フォームIDと、申請者と、関連情報とを有している。案件IDは、ユーザにより申請された案件(伝票)を一意に識別するための情報である。業務名は、案件に係る業務の名称を示す情報である。現担当者名は、案件の今回の担当者の名称である。フォームIDは、案件を表示するためのフォーム(画面)を識別するための情報である。申請者は、案件の申請者の名称を示す情報である。
関連情報に含まれる項目数及び種類は、業務の種類毎に異なっている。図7に示す例においては、外出票の関連情報は、外出日、行先、要件、不帰社、立寄、負担組織コード及び交通手段を含んでいる。さらに、交通手段が複数存在する場合には、関連情報には、交通手段の複数の項目が含まれる。また、稟議書の関連情報706は、物件名、申請理由及び費用を含んでいる。関連情報に含まれる各項目には、申請画面の申請項目において、申請者により入力され、申請された値が登録されている。なお、業務の種類毎の関連情報に含まれる項目の種類及び数は、実施形態に限定されるものではない。
図6のS603において、サーバ装置101の表示管理部302は、S602において取得した案件情報のフォームIDを検索キーとして、フォーム定義テーブルから、表示指示に係る案件のフォーム定義を取得する。図8は、フォーム定義テーブル800のデータ構成の一例を示す図である。フォーム定義テーブル800は、フォームIDと、フォーム定義とを対応付けて記憶している。上述のように、「A0001」の案件のフォームIDは、「F01」である。したがって、表示管理部302は、表示指示に係る案件が案件ID「A0001」の案件である場合には、フォーム定義テーブル800において、「F01」に対応付けられているフォーム定義801を取得する。
次に、S604において、表示管理部302は、前回表示案件に関する情報を記憶領域に記録する。ここで、前回表示案件とは、表示指示に係る案件の直前に、クライアント端末102の表示部210に表示された案件である。すなわち、前回表示案件は、S604の処理時点において、その処理画面が既にサーバ装置101からクライアント端末102への送信が完了している案件である。表示管理部302は、具体的には、前回表示案件の案件情報に含まれる各項目名及び各項目の値のうち少なくとも一方と、フォーム定義と、を記憶領域に記録する。ここで、記憶領域としては、サーバ装置101のRAM202、外部メモリ211、ネットワークを介してアクセス可能な外部のデータベース(不図示)等が挙げられる。
なお、本実施形態に係るワークフローシステムにおいては、処理待ち案件一覧画面400において、ある案件が選択されると、選択された案件の処理画面500が表示される。さらに、ユーザは、続けて別の案件を表示したい場合には、一度処理待ち案件一覧画面400を表示させ、処理待ち案件一覧画面400において、前回と異なる案件を選択する。これにより、次の案件の処理画面(表示指示に係る案件)を表示することができる。前回表示案件は、表示指示に係る案件の処理画面と、処理画面の表示順として連続する案件であればよい。前回表示案件は、例えば、処理待ち案件一覧画面400等他の画面を経由した上で、表示指示に係る案件の処理画面の直前に表示された案件であってもよい。
S604において記録された情報は、次回開かれる案件の処理画面において、特に注意して確認すべき項目を識別可能に表示するための処理に必要となる。そのため、S604において記録された情報は、案件表示処理が完了するまでは、消去しないこととする。また、S604において記録された情報は、案件表示処理において使用される、一時的に必要な情報である。このため、処理担当者がワークフローシステムからログアウトした場合や、一定時間が経過した場合には、サーバ装置101は、これらの情報を消去してもよい。
図9は、記憶領域のデータメモリイメージの一例を示す図である。図9(a)は、前回表示案件が案件ID「A0001」の案件である場合に記憶領域に記録されたメモリイメージ900を示す図である。同様に、図9(b)〜図9(d)は、それぞれ前回表示案件が案件ID「A0002」、「R0001」、「R0002」の案件である場合に記憶領域に記録されたメモリイメージ901、902、903を示す図である。
次に、S605において、表示管理部302は、記憶領域に情報が記憶されているか否かを確認する。なお、処理担当者となるユーザが処理待ち案件一覧画面400を表示してから案件を開くのが、1回目の場合には、S604において記憶領域に情報が記録されることはない。一方、2回目以降の場合には、S604の処理により、情報が記録される。表示管理部302は、情報が記録されている場合には(S605でYes)、処理をS607へ進める。表示管理部302は、情報が記録されていない場合には(S605でNo)、処理をS606へ進める。S606において、表示管理部302は、S602及びS603において取得した案件情報及びフォーム情報に基づいて、表示指示に係る案件の処理画面を生成する。S606の処理により、図5に示す処理画面500が生成される。
S607においては、変更部304等により、案件の表示態様の変更処理が行われる。ここにおける、表示態様の変更処理は、表示指示に係る案件のうち、ユーザが特に注意して確認すべき項目が識別可能な状態に表示されるようにする処理である。なお、変更処理については、図5、図11、図12、図13を参照しつつ後述する。次に、S608において、サーバ装置101の通信部300は、表示指示に係る案件の処理画面をクライアント端末102に送信する(送信処理)。なお、S607の変更処理が行われた場合には、変更処理後の処理画面がクライアント端末102に送信される。クライアント端末102では、通信部312が処理画面を受信すると、S609において、クライアント端末102の表示処理部310は、表示部210に、表示指示に係る案件の処理画面を表示する(表示処理)。以上で、案件表示処理が完了する。
処理待ち案件一覧画面400において、処理担当者により、まず1回目に案件ID「A0001」の案件が選択され、案件表示処理が実行されたとする。この場合、サーバ装置101は、案件ID「A0001」の表示指示を受け付けて案件表示処理を実行する。この場合、サーバ装置101は、S606において、フォーム定義通りの案件ID「A0001」の処理画面を生成する。このため、案件ID「A0001」の案件の処理画面は、図5に示すように、フォーム定義の通りの表示となる。
その後、処理担当者が1回目に表示した案件ID「A0001」の処理画面を閉じ、処理案件待ち案件一覧画面400を表示し、2回目に案件ID「A0002」の案件の開くボタン402がクリックされたとする。この場合、サーバ装置101は、案件ID「A0002」の表示指示を受け付けて案件表示処理を実行する。この場合、案件ID「A0001」の情報が前回表示案件の情報として記憶領域に記録されるので、サーバ装置101は、変更処理(S607)の実行により、ユーザが特に注意して確認すべき項目が識別可能な状態に表示されるよう、表示態様を変更する。
図10は、サーバ装置101による変更処理における詳細な処理を示すフローチャートである。S1000において、比較部303は、S602において取得した表示指示に係る案件の案件情報と、S604において記憶領域に記録した前回表示案件の案件情報とを比較し、業務の種類が一致するか否かを確認する。比較部303は、具体的には、両者の業務名が一致するか否かを確認する。比較部303は、業務の種類が一致する場合には(S1000でYes)、処理をS1001へ進める。比較部303は、業務の種類が一致しない場合には(S1000でNo)、処理をS1004へ進める。
例えば、前回表示案件が、図7に示す案件ID「A0001」の案件であり、表示指示に係る案件が案件ID「A0002」の案件であるとする。この場合、記憶領域のメモリイメージは、図9(a)に示す案件ID「A0001」のメモリイメージ900となる。このメモリイメージ900の業務名及びS602において得られた案件ID「A0002」の業務名は、ともに「外出票」である。すなわち、業務名が同じであるため、S1000において、業務が一致すると判定されて、処理は、S1001へ進む。
また例えば、前回表示案件が、図7に示す案件ID「A0002」の案件であり、表示指示に係る案件が案件ID「R0001」の案件であるとする。この場合、記憶領域のメモリイメージは、図9(b)に示す案件ID「A0002」のメモリイメージ901となる。このメモリイメージ901の業務名は「外出票」であるのに対し、S602において得られた案件ID「R0001」の業務名は、「稟議書」であり、両者の業務名は異なっている。このため、S1000において、業務が一致しないと判定されて、処理はS1004へ進む。
S1001において、比較部303は、S603において取得した表示指示に係る案件のフォーム定義と、記憶領域に記録されている前回表示案件のフォーム定義が一致するか否かを確認する。具体的には、比較部303は、両者の案件情報のフォームIDを比較し、両者が一致する場合に、フォーム定義が一致すると判定する。比較部303は、両者のフォーム定義が一致する場合には(S1001でYes)、処理をS1002へ進める。比較部303は、両者のフォーム定義が一致しない場合には(S1002でNo)、処理をS1003へ進める。
例えば、前回表示案件が案件ID「A0001」の案件であり、表示指示に係る案件が案件ID「A0002」の案件であるとする。この場合、前回表示案件のフォームIDは「F01」であり、表示指示に係る案件のフォームIDは「F02」である。このため、両者のフォーム定義は異なっていると判定されて、処理はS1003へ進む。このように業務が同じでかつフォーム定義が異なるユースケースの一例について図7及び図8を参照しつつ説明する。図7及び図8に示すように、フォームID「F02」のフォーム定義には、「負担組織コード」が項目として存在しているが、フォームID「F01」には、「負担組織コード」の項目は存在しない。負担組織コードは、外出票の申請を行う際に、費用を負担する組織を特定することが必要である場合に必要な情報である。
また、例えば、前回表示案件が案件ID「R0001」の案件であり、表示指示に係る案件が案件ID「R0002」の案件であるとする。この場合、両者のフォームIDは、ともに「R01」である。すなわち、フォーム定義が同じであるため、S1001において、フォーム定義が一致すると判定されて、処理は、S1002へ進む。なお、S1000,S1001の処理は、比較処理の一例である。
S1002において、変更部304は、表示指示に係る案件の変更処理として、識別表示処理Aを行う。ここで、識別表示処理Aは、前回表示案件と、表示指示に係る案件において、異なる値が入力されている箇所を特定し、表示指示に係る案件における異なる値の箇所の表示態様を変更する処理である。そして、表示管理部302は、表示態様変更後の、表示指示に係る案件の処理画面を生成する。
図11を参照しつつ、識別表示処理Aについて説明する。ここで、前回表示案件が案件ID「R0001」の案件であり、表示指示に係る案件が案件ID「R0002」の案件であるとする。なお、案件ID「R0001」,「R0002」の案件は、業務及びフォーム定義がいずれも一致する案件である。図11(a)は、案件ID「R0001」の案件の処理画面1100表示例を示す図である。図11(b)は、案件ID「R0001」の次に表示される、識別表示処理Aが行われた後の、案件ID「R0002」の案件の処理画面1110の表示例を示す図である。両者の案件情報の各項目の値を比較すると、案件ID、申請者、申請理由及び費用の値が異なっている。これに対応し、変更部304は、識別表示処理Aとして、表示指示に係る案件の処理画面1110において、前回表示案件と異なる値1111,1112,1113,1114の外枠を太線に変更する処理を行う。
S1003において、変更部304は、表示指示に係る案件の変更処理として、識別表示処理Bを行う。ここで、識別表示処理Bは、前回表示案件と表示指示に係る案件において、異なる項目及び異なる値の箇所を特定し、表示指示に係る案件における異なる項目及び異なる箇所の表示態様を変更する処理である。そして、表示管理部302は、表示態様変更後の、表示指示に係る案件の処理画面を生成する。
図5及び図12を参照しつつ、識別表示処理Bについて説明する。ここで、前回表示案件が案件ID「A0001」の案件であり、表示指示に係る案件が案件ID「A0002」の案件であるとする。なお、案件ID「A0001」,「A0002」の案件は、業務が一致し、かつフォーム定義が異なる案件である。図5は、案件ID「A0001」の案件の処理画面500を示す図であり、図12は、識別表示処理B後の、案件ID「A0002」の処理画面1200の表示例を示す図である。
両者の案件情報の各項目名及び各項目の値を比較すると、案件ID及び申請者の値が異なっている。さらに、表示指示に係る案件には、負担組織コードの項目が存在するのに対し、前回表示案件には、負担組織コードの項目は存在しない。そこで、変更部304は、識別表示処理Bとして、表示指示に係る案件の処理画面1200において、前回表示案件と項目名が等しく値が異なる項目値1201,1202と、異なる項目名に対応する値1203の外枠を太線に変更する処理を行う。
S1004において、変更部304は、表示指示に係る案件の変更処理として、識別表示処理Cを行う。ここで、識別表示処理Cは、表示指示に係る案件のすべての項目の表示態様を変更する処理である。そして、表示管理部302は、表示態様変更後の、表示指示に係る案件の処理画面を生成する。図12及び図13(a)を参照しつつ識別表示処理Cについて説明する。ここで、前回表示案件が案件ID「A0002」の案件であり、図12に示す処理画面1200が表示されているものとする。さらに、これに続く表示指示に係る案件が案件ID「R0001」の案件であるとする。なお、案件ID「A0002」,「R0001」の案件は、業務及びフォーム定義のいずれも異なる案件である。図13(a)は、識別表示処理C後の、案件ID「R0001」の処理画面1300の表示例を示す図である。この場合、変更部304は、図13(a)に示すように、表示指示に係る案件、すなわち案件ID「R0001」のすべての項目の値1301,1302,1303,1304,1305の外枠を太線に変更する処理を行う。
なお、他の例としては、識別表示Cは、すべての項目の表示態様を変更する処理に替えて、またはこの処理と共に、業務が異なることの通知情報を処理画面に表示する処理としてもよい。図13(b)はこの場合の、案件ID「R0001」の識別表示処理C後の処理画面1310の表示例を示す図である。処理画面1310には、前回の業務と異なる要務であることを注意喚起するメッセージ1311が表示されている。ここで、S1002、S1003、S1004の処理は、いずれも変更処理の一例である。
変更部304は、S1002,S1003,S1004のいずれかの処理を行うと、変更処理(S607)を終了し、処理を図6に示す処理画面送信処理(S608)へ進める。なお、以上のように、変更処理が実行された場合には、S609において、変更処理後の処理画面が表示される。変更処理後の処理画面においては、直前に表示されていた処理画面と異なる項目等が太枠でハイライト表示される。
以上のように、クライアント端末102の表示部210に新たに表示される処理画面において、ユーザが注目すべき領域がハイライト表示される。このため、ユーザは、直前の処理画面と異なる箇所を容易に特定することができる。すなわち、ユーザは、効率良く案件の確認を行い、承認等の処理を進めることができる。
なお、識別表示処理A(S1002)、識別表示処理B(S1003)及び識別表示処理C(S1004)において、表示態様を変更する処理は、上述のように、項目値の枠線を太線に変更する処理に限定されるものではない。各処理は、閲覧者が、前回表示されていた表示画面と比べて変化のある領域を容易に把握できるように表示態様を変更する処理であればよく、そのための具体的な方法は、実施形態に限定されるものではない。表示態様を変更する処理の他の例としては、枠線の色の変更、枠線の線種の変更であってもよい。
次に、図14を参照し、サーバ装置101による、次回表示案件管理処理について説明する。次回表示案件管理処理は、ワークフローにおける承認後に実行される処理である。図5に示すような処理画面500において、ユーザにより承認ボタン501が選択されると、クライアント端末102は、承認情報をサーバ装置101に送信する。サーバ装置101においては、通信部300が承認情報を受信すると、ワークフロー管理部306は、承認情報に従い、ワークフローの業務の承認を行い、業務を進行する。
S1400において、サーバ装置101の表示管理部302は、案件表示モードを確認する。ここで、案件表示モードとは、承認処理後の表示部210の表示方式を定めるものである。本実施形態に係るサーバ装置101は、第1のモード、第2のモード及び第3のモードの3種類の案件表示モードを有している。第1のモードは、承認処理の後、ユーザ指示があるまで次の案件を開かないモードである。第2のモードは、承認処理の後、自動的に次の案件を開くモードである。第3のモードは、承認処理の後、承認処理が行われた案件と類似する案件を次の案件として開くモードである。なお、サーバ装置101の案件表示モードは、予め設定されているものとする。また、案件表示モードの設定は、クライアント端末102においてユーザから入力された情報に応じて行われても良いし、サーバ装置101においてシステム管理者によって設定されてた情報に応じて行われても良いこととする。
表示管理部302は、案件表示モードが第1のモードに設定されている場合には(S1400で第1のモード)、処理をS1401へ進める。S1401において、表示管理部302は、クライアント端末102からユーザ入力に応じて案件の表示指示を受信するまで待機する。そして、表示管理部302は、表示指示を受信すると(S1401でYes)、処理をS1402へ進める。S1402において、サーバ装置101は、表示指示に係る案件を次に開く案件として自動的に決定し、次の案件を開くための処理を行う。なお、S1402におけるサーバ装置101の処理は、図6等を参照しつつ説明したS602〜S608の処理と同様である。また、これに対応し、クライアント端末102は、S609の処理を行う。表示指示は、クライアント端末102において、処理待ち案件一覧画面400において、ユーザにより所望の案件が選択された場合に、クライアント端末102からサーバ装置101に送信される。
表示管理部302は、案件表示モードが第2のモードに設定されている場合には(S1400で第2のモード)、処理をS1403へ進める。S1403において、サーバ装置101は、案件テーブル700の案件情報の記録順に従い、直前に承認処理が完了した案件(以降、承認済案件と称する)の次に記録された案件を次に開く案件として決定し、次の案件を開くための処理を行う。なお、次に開く案件を決定した後の処理、すなわち次の案件を開くための処理は、図6等を参照しつつ説明したS602〜S608の処理と同様である。また、これに対応し、クライアント端末102は、S609の処理を行う。
表示管理部302は、案件モードが第3のモードに設定されている場合には(S1400で第3のモード)、処理をS1404へ進める。S1404において、サーバ装置101は、承認済案件に近似する案件を次に開く案件として決定し、次の案件を開くための処理を行う。なお、S1404において、次に開く案件を決定するための処理については、図15を参照しつつ後述する。また、S1404において、次に開く案件を決定した後の処理は、図6等を参照しつつ説明したS602〜S608の処理と同様である。また、これに対応し、クライアント端末102は、S609の処理を行う。
第3のモードの処理により、クライアント端末102の表示部210に、承認済み案件に近似する案件の処理画面が、次に処理する案件の画面として表示されるだけでなく、S602〜S608の処理により、注目すべき領域がハイライト表示される。このため、処理担当者は、さらに効率良く案件を確認し、業務を進めることができる。
以上のように。第2のモード及び第3のモードにおいては、サーバ装置101は、処理担当者からの指示を要することなく、自動的に次の案件をクライアント端末102に表示させることができる。以上のように、何れのモードにおいても、処理担当者は、承認処理の後に表示された、処理画面を確認することにより、続けて、次の案件の処理を行うことができる。
図15は、サーバ装置101による、近似案件を開く処理(S1404)における詳細な処理を示すフローチャートである。S1500において、表示管理部302は、案件テーブルに格納されている案件を検索対象として、承認済案件と業務及びフォーム定義が一致する案件が存在するか否かを判断する。具体的には、表示管理部302は、まず、承認済案件と業務が一致する案件を検索する。なお、承認済案件の案件情報は、承認済案件を処理対象とした案件表示処理(図6)のS604の処理において、記憶領域に記録されている。表示管理部302は、承認済案件の案件情報の業務名と、案件テーブルに格納されている案件の案件情報の業務名とを比較することにより、検索を行う。
そして、表示管理部302は、業務が一致する案件として検出した案件を検索対象として、承認済案件と、フォーム定義が一致する案件を検索する。具体的には、表示管理部302は、両者のフォームIDを比較する。これにより、フォーム定義が一致する案件が検出された場合に、表示管理部302は、業務及びフォーム定義が一致する案件が存在すると判断する。なお、上記検索処理において、案件テーブルに処理待ち案件以外のデータ、すなわち承認処理済みの案件データが存在する場合には、表示管理部302は、承認処理済みの案件データについては、検索対象から外すこととする。
表示管理部302は、承認済案件と業務及びフォーム定義が一致する案件が存在する場合には(S1500でYes)、処理をS1503へ進める。表示管理部302は、承認済案件と、業務及びフォーム定義が一致する案件が存在しない場合には(S1500でNo)、処理をS1501へ進める。図16は、S1500の処理の説明図である。図16(a)に示す案件テーブル1600において、案件ID「R0001」の案件の承認処理が完了し、図16(b)に示すように、記憶領域に案件ID「R0001」の案件情報1601が記録されているとする。この場合、処理済案件の業務名は「稟議書」、フォームIDは「RF01」である。これに対し、案件テーブル1600の案件のうち業務及びフォーム定義が一致する案件として、案件ID「R0002」、「R0003」の案件が検出される。このように、業務及びフォーム定義が一致する案件が検出された場合には、S1503以降の処理において、検出された案件の中から、次に開く案件が決定される。
図15に戻り、S1501において、表示管理部302は、案件テーブルに格納されている案件を検索対象として、承認済案件と業務のみ一致する案件が存在するか否かを判断する。表示管理部302は、承認済案件と業務のみ一致する案件が存在する場合には(S1501でYes)、処理をS1503へ進める。表示管理部302は、承認済案件と業務のみ一致する案件が存在しない場合には(S1501でNo)、処理をS1502へ進める。図17は、S1500,S1501の処理の説明図である。図17(a)に示す案件テーブル1700において、案件ID「R0011」の案件の承認処理が完了し、図17(b)に示すように、記憶領域に案件ID「R0011」の案件情報1701が記録されているとする。
この場合、処理済案件の業務名は「稟議書」、フォームIDは「RF01」である。これに対し、案件テーブル1700には、処理済案件と業務及びフォーム定義が一致する案件は存在しない。このため、S1501の処理が行われる。そして、S1501において、業務のみ一致する案件として、案件ID「R0012」、「R0013」、「R0014」の案件が検出される。このように、業務及びフォーム定義が一致する案件が検出されなかった場合には、業務のみ一致する案件が再度検索される。そして、業務のみ一致する案件が検出された場合には、S1503以降の処理において、検出された案件の中から、次に開く案件が決定される。
S1502において、表示管理部302は、案件テーブルに格納されている案件のうち、承認済案件の次の記録順の案件を次に開く案件として決定し、次の案件を開くための処理を行う。なお、次の案件を開くための処理は、図6を参照しつつ説明したS602〜S608の処理と同様である。
一方、表示管理部302は、処理をS1503へ進めた場合には、検出された案件の中から、承認済案件に最も類似する案件(近似案件)を特定し、これを、次に開く案件として決定する。なお、S1500において承認済案件と業務及びフォーム定義が一致する案件が検出された場合には、S1500において検出された案件がS1503以降の処理の対象となる。また、S1501において、承認済情報と業務のみ一致する案件が検出された場合には、S1501において検出された案件がS1503以降の処理の対象となる。
S1503において、表示管理部302は、検出された案件が1件か否かを確認する。表示管理部302は、検出された案件が1件の場合には(S1503でYes)、処理をS1504へ進める。表示管理部302は、検出された案件が複数の場合には(S1503でNo)、処理をS1505へ進める。S1504において、表示管理部302は、検出された案件を近似案件とし、近似案件を開くための処理を行う。なお、近似案件を開くための処理は、図6を参照しつつ説明したS602〜S608の処理と同様である。
S1505において、類似度算出部305は、検出された案件と、承認済案件の類似度を算出する(算出処理)。本実施形態に係る類似度算出部305は、検出された案件と承認済案件の各項目の値の差分に基づいて、類似度を算出する。次に、S1506において、表示管理部302は、類似度に基づいて、近似案件を決定する(決定処理)。次に、S1507において、表示管理部302は、近似案件を開くための処理を行う。なお、近似案件を開くための処理は、図6を参照しつつ説明したS602〜S608の処理と同様である。以上で、近似案件を開く処理が完了する。
図18は、類似度算出処理(S1505)の説明図である。図18(a)に示す、案件ID「1」の承認済案件に対し、図18(b)に示す案件ID「2」、「3」、「4」、「5」、「6」の5つの案件が検出されたとする。また、図18においては、項目として「国語」、「算数」、「理科」、「社会」の4項目を含む案件情報を例に説明する。なお、検出された各案件の各項目の値は、図18(b)に示す値とする。
この場合、類似度算出部305は、まず案件ID「2」の案件の各項目値と、承認済案件の対応する項目値との差分を算出する。例えば、承認済案件の「国語」は、「64」点、案件ID「2」の案件の「国語」は、「79」点である。この場合、類似度算出部305は、「64」と「79」の差分「15」を得る。類似度算出部305は、同様に、他の項目の「算数」、「理科」、「社会」の差分を算出し、各項目の差分の合計の逆数を類似度として算出する。検出された案件としての案件ID「2」の案件と、承認済案件としての案件ID「1」の案件においては、差分の合計値は「91」となる。なお、本実施形態に係るサーバ装置101は、類似度として差分を用いるため、類似度の値(差分の合計値)が小さい程、より類似(近似)した案件となる。
類似度算出部305は、同様に、他の案件(案件ID「3」、「4」、「5」)と、承認済案件の類似度も算出する。図18(c)は、表示管理部302により得られた、各案件の項目毎の差分及びその合計値を示す図である。図18(c)の例においては、合計値の最小値は、「34」であり、類似度は最大となる。従って、表示管理部302は、合計値「30」となった案件ID「4」の案件を、承認済案件に最も類似する案件(近似案件)として決定する。
図18に示す例は、項目の値が数値であったが、項目の値は文字である場合もある。以下、図19を参照しつつ、項目の値が文字列である場合の、類似度算出処理について説明する。なお、この場合の類似度算出処理には、文字列の類似度解析の既存技術を用いることができる。図19は、文字列の類似度解析の技術を用いた類似度算出処理の説明図である。案件ID「R0001」の案件が承認済案件であり、この承認済案件に対して検出された案件が案件ID「R0002」、「R0003」の2件であるとする。この場合、類似度算出部305は、S1505において、案件ID「R0002」の案件(検出された案件)と、案件ID「R0001」の案件(承認済案件)の類似度を算出する。図19(a)に示すように、項目毎の差分として、項目「品目」、「申請理由」、「費用」それぞれに対し「3」、「12」、「2」が得られ、これらの合計は「17」となる。表示管理部302は、合計値の逆数を類似度として得る。
類似度算出部305はさらに、S1505において、案件ID「R0003」の案件(検出された案件)と、案件ID「R0001」の案件(承認済案件)の類似度を算出する。図19(b)に示すように、項目毎の差分として、項目「品目」、「申請理由」、「費用」それぞれに対し「7」、「9」、「3」が得られ、これらの合計は「19」となる。表示管理部302は、合計値の逆数を類似度として得る。この場合、S1506において、表示管理部302は、案件ID「0002」の案件を近似案件と決定する。
以上のように、本実施形態に係るワークフローシステムにおいては、処理担当者が1つの案件の承認処理を終了した場合に、処理済みの案件に近似する案件を検索し、検出された案件を続けて表示部210に表示することができる。このため、処理担当者は、似たような案件を連続して処理することができるため、承認処理の効率化を図ることができる。
処理担当者が複数の案件の申請内容を個別に処理画面で確認し処理していく際に、前回と今回の業務が等しく申請内容も似たものとなる場合がある。この場合において、今回の案件の処理画面において、前回の案件の申請内容と異なる箇所(異なる値を持つ項目の箇所)が識別可能になっていると、処理担当者は、処理画面において、その部分を特に注意して確認をして処理をすれば良くなる。このため、効率よく案件の処理を行うことができることが考えられる。これに対し、本実施形態に係るワークフローシステムは、クライアント端末102の表示部210に直前に表示されていた案件の内容に基づいて、次に表示する案件の処理画面において、処理担当者が注目すべき領域を識別可能な表示態様に変更することができる。したがって、処理担当者による承認処理の効率化を図ることができる。
また、同じ業務で申請された案件を連続して処理するのと、毎回異なる業務において申請された案件を処理するのとでは、作業効率を考えても、申請内容が近似する、同じ業務で申請された案件を連続して処理する方が、効率が良い。これに対し、本実施形態に係るワークフローシステムは、1つの案件の承認処理が完了すると、続いて類似した案件を表示することができる。したがって、承認処理のさらなる効率化を図ることができる。
本実施形態に係るワークフローシステムの第1の変更例としては、処理担当者に対し、承認処理が行われる際の、案件の処理順番(表示順番)を予め決定しておくこととしてもよい。なお、この場合の表示順番を決定するタイミングは、承認処理の前であればよい。なお、この場合、サーバ装置101は、近似案件を特定する処理(S1505、S1506)と同様の処理により、表示順番を決定してもよい。
また、他の例としては、サーバ装置101は、案件情報に含まれる特定の項目の値により案件をソートして表示順番を決定してもよい。図20は、ソートにより表示順を決定する処理の説明図である。図20に示すように、案件テーブル2000に、3件の稟議書の案件情報が処理待ち案件として格納されているとする。この場合、表示管理部302は、項目「費用」の値でソートした結果を表示順番として決定してもよい。すなわち、費用が安い順にソートした場合には、表示管理部302は、案件ID「R0001」、「R0003」及び「R0002」の順番を表示順番として決定する。このように、ソート結果に基づいて、表示順番を決定することにより、処理担当者は、項目の値が小さい順に承認を行っていく、値が大きい順に承認を行っていく、というように作業を進めることができる。
また、表示管理部302は、項目値としての文字列に基づいて、例えばアルファベットが入力されている項目をソートの基準とし、項目値としての文字列のアルファベット順にソートを行ってもよい。これにより、処理担当者は、アルファベット順に案件の処理を行うことができる。このように、処理担当者による順序立った処理を可能とすることにより、作業を効率化することができる。
なお、ワークフローシステムにより使用される案件テーブルに実際に保存されているデータは、処理待ち案件一覧画面に表示されているものと同期がとれている、又は、整合性がとれていることを前提とする。例えば、処理待ち案件一覧画面に処理待ちとして表示がされている案件を複数の処理担当者が処理可能であるとする。このとき、処理担当者Aによる承認処理の実行に対応し、案件テーブル上処理済みに更新されたにも関わらず、処理待ち案件一覧画面上は、処理待ちの状態のままである、といった状況は生じないものとする。このための、サーバ装置101の処理については既存の技術で対応することとする。また、処理担当者の所望の案件や自動的に決定された次の案件の処理画面を表示する処理は、承認処理を行う場合だけでなく、単なる表示目的の場合においても可能とする。
以上、1実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、例えば、図6、10、14、15に示す処理をコンピュータが実行可能なプログラムであり、本発明の記憶媒体には、図6、10、14、15に示す処理をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは、図6、10、14、15の各装置の処理毎のプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行してもよい。これにより、本発明の目的が達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカードを用いることができる。また、他の例としては、記録媒体として、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現される。これに加え、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されてもよい。
さらに、記録媒体から読み出されたプログラムは、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、コンピュータは、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現されてもよい。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
以上、上述した各実施形態によれば、承認者の負担を軽減し、ワークフローを効率化することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。