全学技術センター用 Web による業務依頼システムの作成

若松
部局系技術支援室進

工学技術系第１技術課（電子・情報）概要
全学技術センター実務委員会からの要請で、従来「業務依頼申請書」で行っていた全学技術センターへの業務依頼を、Web 上からでも業務依頼申請が出来るシステムを作成することになった。本システムは、部局系技術支援室工学技術系で運用されているシステムを利用し、全学技術センター用にアレンジしたものである。本システムは、業務依頼が申請されると入力データの整合性が確認された後、申請データがデータベース上に登録される。それと同時に、依頼申請者と依頼先には業務依頼申請に関するメールが自動的に発信される。また、申請内容を PDF 形式の業務依頼申請書として出力することも出来る。

1

本システムの概要

本システムの運用環境と特徴について、以下に説明する。
1.1

運用環境

本システムは、全学技術センターのサーバ上で運用されており、運用サーバは、(1) OS として、VineLinux-3.2(2) Web サーバとして、Apache-1.3.33
である。また、本システムの動作環境として、(1) 使用言語に PHP-5.2.5 [1],[2],[3](2) 使用データベースに PostgreSQL-8.2.5[4](3) PDF ファイルの作成に FPDF-1.53(PHP クラス)を利用している。
1.2

本システムの主な特徴

本システムには、(1) 業務依頼申請は、ブラウザに表示された入力フォームに従ってデータを入力する。
(2) 業務依頼申請が完了すると、業務依頼申請情報が申請者と依頼先宛にメールが発信される。
(3) 業務依頼申請は、「業務依頼申請書」を作成することができる。
(4) 申請時にオプション指定をすることで、この業務依頼申請データを再利用することができる。
(5) 技術系受付担当者は、データベース上に登録されているデータを電子データとして利用することができる。という特徴がある。
1.3

データベースについて

本システムで利用しているデータベースについての概略は以下のとおりである。
(1) データベースは正規化を行った後、将来の拡張性を考慮して 14 のテーブルで構成した。
(2) 現在使用しているテーブルは、入力時の選択データ候補用に 2 つ、再申請時に利用に 2 つ、業務確認用に 4 つ、申請データ用に１つの 9 テーブルを利用している。
なお、テーブル間のリレーションシップを図 1. に示すとともに、以下に概略を記述する。
技術職員が、業務確認システムにアクセス(id/password を入力)すると、「技術職員テーブル」から所属技術系(tech_id)、身分(status_id)、受付担当者(flag)等の情報を取得する。これらの情報は、正規化の結果全て数値データとして保存されておりデータ量の軽減を行っています。そして、名称が必要な時には関連のテーブルとのリレーションを利用してその名称を取得します。また、業務一覧を表示するために、申請データテーブ
ル(job_person_id)と技術職員テーブル(id)とのリレーションを利用している。
次に、業務申請時に名古屋大学 ID を登録すると、ユーザ情報は「申請者テーブル」に、申請データ情報は「申請者依頼テーブル」に登録される。その後、簡易申請時に登録ユーザ id を入力すると、「申請者テーブル」で登録の有無がチェックされる。user_id が登録されている時、「申請者依頼テーブル」の user_id から job_noを取得した後「申請データテーブル(job_no)」から指定の業務依頼申請データが取得される。

業務確認に使用
技術職員テーブル

技術系テーブル

id:pk
status_id
tech_id
support_id
flag

tech_id:pk
tech_symbol
tech_namestatus_id:pk
status_namesuport_id:pk
support_name

身分用テーブル

支援室用テーブル

簡易申請に使用申請者テーブル

申請者依頼テーブル

user_id:pk
passwdmail_add

job_no:pk
user_id
job_year

申請データテーブル
job_no:pk
accept_job
job_title
job_person_id
job_person
job_section_id
jobsection
・・

図 1. 使用データベースの概要

2

業務依頼申請の流れ

業務依頼申請は図 2. ，図 3. に示す様に、通常の流れと B 方式で申請された後の流れとがある。
2.1

通常の流れ
業務依頼者

(1) 業務依頼者が、本システムにアクセスして業務依頼申請を行う（図 2.の①）。

① 依頼申請③メール配信(2) 必須項目にデータが入力されていることが確認されると、申請手続きが完了し申請データはデータベースに登録される（図 2.の②）。
(3) 業務依頼者には申請が受理されたことを、依頼先には業務依頼が申請されたことを知らせるメールが発信される。依頼先へのメールは、Ａ方式では直接技術職員に、Ｂ方式では依頼技術系の受付担当者宛にメールが発信されます。となる。

Web業務申請
システム②申請完了（データ登録）③メール配信

Ａ技術職員（V技術系）

Ｂ技術職員（Ｗ技術系）
Ｃ技術職員（Ｘ技術系）

データベース
Ｊ技術系
受付担当

Ｋ技術系
受付担当

Ｌ技術系
受付担当

図 2. 業務依頼申請の流れ

2.2

B 方式による申請後の流れ

E技術職員（Y技術系）

B 方式で依頼された業務依頼は、依頼された技術系受付担当者による処理が必要であり、次の様な 3 つの方法で処理される。

G技術職員（Y技術系）

Y技術系
受付担当

F技術職員
（Y技術系）(1) 所属技術系で対応する場合
1) メールを受信した技術系受付担当者は、「業務確①アクセス②メール配信認システム」にアクセスする（図 3.の①）。
2) 依頼業務内容から判断して、業務担当者を決める。
3) 本システムから、指定された技術職員には業務が③メール配信

Ｋ技術系
受付担当

割振られたこと、業務依頼者には業務担当者が決定されたことを知らせるメールが発信される（図 3.

Ａ技術職員

業務確認システムの②）。

②メール配信③メール配信④メール配信(2) 他技術系に対応を依頼する場合
自技術系で業務担当者がいない時、関連する他技術系に業務を再依頼する処理である。
1) メールを受信した技術系受付担当者は、「業務確データベース
業務依頼者認システム」にアクセスする（図 3.の①）。
2) 依頼業務内容から判断して、再依頼する他技術系

図 3. 業務依頼申請の流れを決める。
3) 本システムから、業務依頼者には業務担当技術系が変更されたこと、他技術系受付には業務が再依頼されたことを知らせるメールが発信される（図 3.の③）。
(3) 依頼をお断りする場合自技術系や関連技術系で業務依頼を引受けれないと時の処理である。
1) メールを受信した技術系受付担当者は、「業務確認システ

Ａ技術職員
アクセス

業務確認システム

ログイン画面ム」にアクセスする（図 3.の①）。
2) 依頼業務申請をお断りする処理を行う。

ユーザ認証

No

3) 本システムから、業務依頼者には業務依頼申請に対応できないことを知らせるメールが発信される（図 3.の④）。

3

Yes
データベース

業務確認方法メールが届いたら業務依頼システムからメールが届いた時、依頼業務について確認することになる。その方法(手順)は以下のとおりである（図 4.
参照）。
(1) 「業務確認システム」にアクセスし、業務堪忍システム用のユーザ ID とパスワードを入力する。
(2) システムは、データベースにアクセスした後ユーザ認証を行う。
(3) 認証に失敗すると処理は終了し、認証に成功すると自分に依頼されている業務一覧が表示される。

図 4. 業務確認の流れ

終了

(4) 「申請番号」をクリックすることで、業務依頼申請内容を確認できる。
(5) 「該当する業務の PDF」をクリックすることで、業務依頼を申請書として印刷できる。
3.1

業務一覧上の設定機能

業務一覧表示画面には、4 つの機能が設定してある(図5.を参照)。
① 「パスワード変更」ボタンをクリックすることで、①②

ユーザ認証時のパスワードを変更できる。
② 「ユーザ情報変更」ボタンをクリックすることで、③④メールアドレス、内線番号を変更できる。
③ 「申請番号」をクリックすることで、業務依頼申請の内容を確認できる(3.3 業務の詳細表示参照)。
④ 「PDF」をクリックすることで、業務依頼申請書

図 5. 業務一覧表示を作成できる。
3.2

業務一覧（技術系受付）上の設定機能

技術系受付担当者用の業務一覧表示は、B 方式で依頼された業務一覧が表示される。この画面にはさらに 5つの機能が設定してある(図 6.を参照)。

①②③

④⑤

① 「CSV FileDownload」をクリックすると、データベース上に保存されている申請データを電子データとして出力できる。
② 「担当者の選択」をクリックすると、所属技術系の技術職員に対して業務割り振りができる。
③ 「業務担当者の変更」をクリックすると、担当者を変更できる。

図 6. 業務一覧表示(技術系受付)④ 「個人一覧」をクリックすると、受付担当者自身に依頼されている業務一覧が表示される。
⑤ 「技術系一覧」をクリックすると、所属技術系に依頼されている全業務が表示される。
なお、業務依頼年度の検索機能と受理番号(業務を管理する番号)のソート機能を設定した。
3.3

業務の詳細表示

詳細表示画面には、次の 3 つの機能を設定した。
① セッション管理機能を設定しているため、一覧表示へ戻るには、「戻るボタン」ではなく、「一覧表へ戻る」をクリックする。

①②③② 「pdf の作成」で、業務依頼申請書を作成できる。
③ 業務依頼申請内容に誤りがある時、業務依頼者に訂正ができないため、「業務依頼の訂正」をクリックする。訂正作業は、業務依頼者との確認の上を行う。
図 7. 業務の詳細表示

3.4

業務の詳細表示（技術系受付）

技術系受付担当者用の詳細表示画面には、「3.3 業務の詳細表示」で設定した機能に加え、① 依頼業務を担当できる技術職員がいないため、業務依頼を取消す機能。
② 依頼業務管理をするための受理番号を変更する

①

②

③機能。
③ 所属技術系に業務を担当できる技術職員がいないため、他技術系への業務を再依頼する機能。
が用意されている。
3.5

図 8. 業務の詳細表示(技術系受付)

その他の表示画面

本システムの多くの機能のうち、代表的な画面表示について紹介する。

図 9. 業務依頼の取消確認画面

図 10. 業務内容の訂正画面

図 11. 依頼業務の他技術系への再依頼画面

図 12. 業務担当者の変更画面

(1)

業務依頼の取消確認画面(図 9.参照)
業務依頼の取消し手続きを行う際、依頼業務内容を表示することで本当に取消する依頼業務であることを確認する。
(2) 業務依頼申請の訂正画面 (図 10.参照)
業務内容の訂正は、申請者名とＡ方式で依頼した時の業務担当者名を除いた項目について訂正が可能となっている。
(3) 業務依頼の他技術への再依頼(図 11.参照)
リストボックスの▼をクリックすると技術系名称が表示されるので、再依頼先を選択して「依頼する」ボタンをクリックすることで処理が完了する。なお、所属技術系名称は表示されない。
(4) 業務担当者の変更設定画面(図 12.参照)
申請番号と、変更後の技術職員名を選択して「業務担当者の変更」ボタンをクリックすることで処理が完了する。

4

まとめ今回、作成した「Web による業務依頼システム」について、(1) 実務委員会の要望に沿ったシステムとして構築できたこと(2) 新年度からの利用に間に合ったこと等、それなりの結果が得られたと判断している。
しかし、「本システム独自の認証方法」ユーザ認証として当初予定していた「名古屋大学 ID」に対応できなかった。そのため、「名古屋大学 ID」のへ変更作業が今後の課題として残った。
この名古屋大学 ID への対応により、(1) 現在行っている独自のユーザ管理が不要になること。
(2) 業務依頼申請時に、申請者のユーザ情報を利用することにより業務依頼の申請手続きを簡略化できること。
等が期待できる。

5

謝辞本システムを構築する上で、全学技術センターのサーバ管理者から多大な協力をしていただきました。

特に、情報通信技術系の大川敏生技術専門職員には、環境整備を行っていただきました。

参考文献
[1]

山田祥寛、「基礎 PHP」、インプレス[2]

堀田倫英、桑村潤、「PHP5 徹底攻略」、ソフトバンク[3]

廣川類、桑村潤、「PHP5 徹底攻略エキスパート編」、ソフトバンク[4]

高島優作、「PostgreSQP7/PHP5 による Web アプリケーション構築」、秀和システム