ものづくりセンターにおける材料管理システムの構築
宮崎大学 工学部教育研究支援技術センター
小島 丈英
はじめにものづくりセンターを利用する場合，利用者がセンター内の機器を利用して直接加工する「独自加工」，加工の中で利用者のみでは加工が難しい部分のみをものづくりセンター職員が加工する「共同加工」，すべての加工をものづくりセンター職員に依頼して行う「依頼加工」の 3 つの方法があります．すべての加工方法において利用する材料は，利用者自身が持ち込んだ物や，センター内で保有している物を使っています．センター内で保有している材料を使うにあたっては，ものづくりセンターを利用する前に，利用者自身によって在庫状況を確認できればさらに便利になると考えられます．
そこで，いつでもものづくりセンター内の在庫状況を学内端末にて検索・閲覧を行いたいという要望があったこともあり，材料管理システム(以下，本システム)の構築を実施しました．
キーワード：Microsoft ACCESS T-CARD Web アプリケーション PHP Sqlite
従来の材料管理方法
従来ものづくりセンターでの材料管理は，特に使用頻度の多い丸棒と板材について，材料の規格が各種異なっていることもあり，別々にデータベースを作り，担当者個人で管理を行ってきました．
そのために，材料の保有状況を知りたい時には，データベースを管理している担当者に直接聞くか，材料が保管されている場所で在庫確認を行わないといけない状況でした．
1.

1.1 丸棒材料管理システム
丸棒については，図 1 のように Microsoft ACCESS を用いて，丸棒材料管理システムのデータベースを作成し，そのデータベース上で管理を行ってきました．

図 1 従来の材料管理方法 (1)1.2 板材の管理について
板材については，T-CARD というシェアウェアのソフトを利用して，これまで管理を行ってきました．

図 2 従来の材料管理方法(2)2. 本システムの開発スケジュール
本システムは，以下のスケジュールのもと開発を行いました．
H19 年 5 月～H19 年 10 月：システムの設計
H19 年 10 月～H20 年 3 月：本システムのβ版開発
H20 年 3 月～H20 年 4 月：β版にて仮運用
H20 年 4 月～H20 年 5 月上旬：仮運用にて発生した問題をもとに修正作業
H20 年 5 月中旬～：本運用開始
3. 1 本システムの概要
本システムは，Web ベースのシステムであり，宮崎大学の職員・学生が，学内 LAN に接続されている端末上の Web ブラウザを利用してものづくりセンターの材料保有状況を検索閲覧できます．
また，ものづくりセンターの材料管理の担当者が材料情報を更新や、登録をする場合にも，同様に Web ブラウザを利用できるシステムとなっています．(図 3)3.2 本システムの構成
本システムは技術センターのサーバ上に構築しました．また，Web アプリケーションシステムを構築する技術は多種存在しますが，今回はサーバ・サイド・プログラミングとして用いられる PHP を使用しました．
リレーショナルデータベース管理システムとしては，PHP5 よりバンドルされている簡易型データベースのSqlite を使用しました．ここでシステム構成を図 4 に示し，システムを構築したサーバ側の動作環境を表 1 に示します．

は，材料番号，データ登録日，材質，材料形状，規格，在庫量，保管場所，備考などを表示できる仕様にしました．
3.4 本システムのβ版の概要
本システムを構築するにあたり，はじめにβ版としてシステムの設計を行い，仮運用を行うことにしました．
その後，仮運用によって指摘された点などをもとにして本システムを実装していました．
β版のシステム機能機能としては，「データ一覧表示」
・「検索機能」
・「追加機能」の 3 つの機能を TOP ページにおき，検索結果のページにおいて「データの更新」と「データの削除」ができます．
2) データ一覧表示
データベース内に含まれているすべての情報を一覧表形式で表示できます．
3) 検索機能「形状」と「材料名」については，あらかじめ用意している選択肢の中から選び，必要な「材料の大きさ」を入力し，3 つの条件を AND 文で繋いだものを検索条件とした上で，検索を実行します．検索結果として出てくる情報はデータ一覧表示と同様に一覧表形式で表示されます．
4) 更新機能・削除機能
更新機能については，材料番号をキーとして更新フ
ォームに入り，更新したい部分を入力することによって，データの更新ができます．
削除機能も同様で，削除のリンクを押すことによって，材料番号をキーとしてデータの削除ができます．
5) 追加機能TOP ページにある「材料データを追加する」を押すことによってデータの追加フォームのあるページに遷
移し，フォームに必要項目を入力することによって，データの追加ができます．

1)

図 3 システム概要

技術センターのサーバ(SUN OS5.9)
ApacheSqlitePHP

図 4 システム構成
表 1 システムを構築したサーバ側の動作環境
OS

SUN OS 5.9(teng サーバ)

WWW Server

Apacheミドルウェア

PHP-5.2.6

RDBMS

Sqlite2.8.7

一方，クライアント環境としては，基本的に OS およびブラウザの種類を問わないこととしましたが，一部で JavaScript の機能を使った部分もあるためJavaScript の使用は必須としています．
3.3 本システムのデータベースについて
本システムで使用したデータベースのテーブル構成

3.5 β版から本システムへの改良点
1) TOP ページの分割化
一般ユーザ用の TOP ページには，最低限の機能のみを掲載することとし，同じ TOP ページ内にセンター職員専用入り口を作り，センター職員のみが利用できるページ（パスワード認証有）を設置しました．
2) 一般ユーザが利用できる機能の制限
一般ユーザが利用できる部分は，「全データの表示機能」と「検索機能」のみにとどめ，各ページにおいて，閲覧内容の制限を行いました．

一般ユーザに対する閲覧制限について
基本的に，材料の保管場所については，「全データの表示機能」においても「検索機能」においても一般ユーザが閲覧することによって，センターの運営上好ましくないと思われる情報は表示しない設定にして，センター職員専用ページのみで表示することにしました．
また，センター職員が検索した場合の出力結果画面においてのみ，データの更新や削除を可能にしました．
4) 材料データ一覧表のソート機能
β版において，材料データ一覧表を用いて，ものづくりセンターにある材料データを見たい場合には，上から順番に目的のデータを見ていく事しか出来きませんでしたが，本システムにおいては，材料データ一覧表の一行目にある各項目欄に昇順と降順でソートできるボタンを用意し，各項目においてソートすることによって目的のデータ検索が容易になりました．
5) 検索条件の追加「形状」と「材料名」のみでは，検索条件として不十分なこともあり，「材質」という項目を追加することで，より詳細な絞り込み検索を可能にしました．
6） 材料料金計算システムの追加
センター職員が依頼加工の見積書作成時に，材料料金を計算できるページをセンター職員専用ページ内に設置しました．
3)

3.6 主な機能
本システムは，主に全データの表示機能，検索機能，更新機能と削除機能と登録機能の 5 つの機能から成り立っています．それぞれの機能が持つ特徴を以下に述
べます．
3.6.1 全データの表示機能
現在データベース内に格納されている全データが一覧表形式で表示されます．一般ユーザ用(図 7)とセンター職員用(図 8)に分かれており，前述した通り一般ユー
ザに対しては材料の保管場所は，表示していません．
また，パスワードを入力することでセンター職員用のデータ一覧表を閲覧することができ，そのページ内においては材料の保管場所まで掲載しています．
また，前述した通り，データベース内に格納してあるデータを項目ごとにソートすることによって，一覧表においても目的のデータ検索が容易になっています．

図 7 一般用全データ表示機能

図 5 一般ユーザ用初期画面

図 8 センター職員用全データ表示機能

図 6 ものづくりセンター職員用 TOP ページ

3.6.2 データ検索機能
検索機能も，一般用とセンター職員用で分かれており，それぞれで出力方法が変わります．
ここで，検索条件の入力については，一般用もセン
ター職員用も同じものを採用しており，形状・材質・材料名については選択肢の中から選ぶ形式をとり，材料の大きさに関しては丸棒(直径を指定する)の場合と板材(縦の長さと横の長さを指定する)の場合で条件の指定方法が変わることから自由入力形式を採用しました．
何も入力せずに検索をかけた場合，データベース内に入力済みの材料データが50件分出力される設定とし，検索結果の 1 行目に検索結果に合致したデータの件数を表示し，2 行目に現在表示しているページ数を表示しています．表示項目としては，材料データの一覧表示同様，「材料番号」「データ登録日」「材料の形状」「材質」「材料の名称」「材料の規格」「在庫量」「画像へのリンク」「備考欄」にし，材料の保存場所については，センター職員用の検索の場合にのみ掲載することにしました．
また，センター職員用の検索システムで検索した場
合には，各行ごとに「更新」と「削除」のリンクを作っています．更新のリンクを押すと，データベースの材料番号をキーとして更新フォーム(図 12)に入り，削除のリンクを押すとデータの削除処理を行う事ができます．

図 9 材料データ検索画面

3.6.3 データ登録機能
材料のデータを新規登録する場合は，登録フォーム(図 13)を利用します．なお，すでにデータベースに登録済みの材料番号によって，別の材料を登録することはできません．また，検索システムで画像を表示させたい場合，画像の登録もこのフォームによって行うことができます。画像のファイル名は材料番号をファイル名に入れることで，各画像の区別をつけることにしました．

図 13 登録フォーム
3.6.4 材料料金計算システム
材料料金計算システムについては，本システムのデータベースとは直接関係はありませんが，センター職員が，ものづくりセンターで行った依頼加工の見積書作成時に材料の料金を Web ブラウザ上で容易に計算できるようにするためのシステムです．

図 10 一般ユーザ用検索結果出力画面

図 14 材料料金計算システム

図 11 ものづくりセンター職員専用検索結果出力画面

図 12 更新フォーム

4. 実装方法
本システムの機能の中から材料データの検索処理と材料データの登録処理，材料データの更新処理を以下に示します．
4.1 材料データの検索処理
以下に材料データを検索する際のフローチャートを示します．検索する場合は一般ユーザが行う場合とセンター職員が行う場合で閲覧できる範囲が変わります．
1) 一般ユーザが検索する場合①検索条件を形状，材質，材料名を選択し，材料の大きさ(丸棒：直径，板材：面積)を入力し，検索ボタンをクリックします．
②データベースから材料番号，登録日，材料形状，材質，材料名称，規格，在庫量，備考の各情報を表形式で 50 件まで出力されます．
2) センター職員が検索する場合①本システムの TOP ページにある「ものづくりセンター職員専用入口」をクリックし，パスワードを入力します．
②形状，材質，材料名の各選択肢の中からそれぞれ選択し，材料の大きさ(丸棒：直径，板材：面積)を入力し，検索ボタンをクリックします．
③一般ユーザの出力データに加え，材料の保管場所データを加えたものを表形式で50件まで出力されます．
④また，センター職員が検索した結果にはデータの更新や削除ができるように各行にリンクを張っています．

② 存在しない場合は，データ登録フォームより入力のあった項目についてデータベースへ登録します．
③ 存在する場合は，登録エラーとなります．

図 16 データの登録処理フローチャート
4.3 材料データの更新処理と削除処理
1) データベースの更新処理

図 17 更新処理の大まかな流れ
図 15 材料データの検索処理フローチャート
4.2 材料データの登録処理
1) 画像の登録について
本システムを構築する上で用いた Sqlite は，簡易型データベースであるため，写真などの画像ファイルを登録することはできません．そこで，本システム上で画像ファイルを掲載したい場合は，一度サーバ上のディレクトリ内に材料番号を利用した名前で保存し，そこへハイパーリンクを張ることで画像ファイルを掲載することを可能にしました．しかし，一度サーバ上に保存してしまったデータは上書きで変更することはできないので，画像ファイルの訂正を行いたい場合には，一度 FTP や telnet を利用して保存したファイルを削除したのちに画像ファイルの登録を行わなければなりません．
そこで今後一度掲載したファイルを変更する場合も，Web ブラウザを通してできるようにしたいと考えています．
2) 画像以外のデータの登録について① 材料番号が存在するか調べます．

①
②
③④⑤⑥

図 18 更新処理の内容
センター職員用の検索ページにて材料の検索を行います．
データ検索の検索結果により，更新したい材料内にある「更新」をクリックします．
更新したい材料の持つ材料番号をキーとして，更新フォーム(図 13)へ進みます．
更新フォームに更新したい部分を入力し，更新ボタンを押すと，更新処理が行われます．
更新フォーム内に入力項目があれば，変数として用意している item に代入されます．また，2 つ以上の項目の更新を行う場合は，item 内へ前のデータを連結する形で代入をします．
更新フォーム内で入力された項目をすべて item 内へ代入し終えた場合はその内容を基にデータベースの更新を行い，更新処理が完了したメッセージが出力されます．
また，更新フォームに何も入力しない状態で更新ボタンをクリックした場合には更新エラーが出力されます．
2） データベースの削除処理① センター職員用の検索ページにて，材料の検索をします．
② データの検索結果により，削除したい材料の行中にある「削除」をクリックします．
③ 削除したい材料の持つ材料番号をキーとして，削除処理が行われます．
④ 削除処理が完了すると，削除処理が完了したメッセージが出力されます．
4.4 材料料金計算システム

図 19 材料料金計算システムの流れ① センター職員用のページ内にある材料料金を計算するボタンをクリックします② 材質と，材料の種類，材料名を選択肢中から選択します．
③ 必要量を入力します．ここで，材料の種類において「丸棒」を選択した場合は，必要となる丸棒の長さを（mm）単位で記入します．そして，材料の種類において「板材」を選択した場合は板材の面積を(mm2)単位で記入します．
④ ③で記入した必要量とあらかじめプログラムに組み込んである単価のデータを計算することで材料料金の計算結果が出力されます．
5. セキュリティ対策
本システムを運用するにあたり，セキュリティ対策として以下のことを行いました．
・ 一般ユーザが閲覧すると，センターの運営上好ましくない部分もあるため，あらたにパスワード認証に通った職員のみが閲覧できるページを作りました．
・ また，本システムへのアクセスはすべて学内からのアクセスのみに対応しています．
6. おわりに本システムにおいて，ものづくりセンターにおける材料情報をデータベース化することによって宮崎大学の教職員・学生が，学内の端末において，いつでも材料の保有状況を確認できるようになりました．
また，ものづくりセンターが現在保有している工具に関しても，本システムと同じシステム構成で保有状況をデータベース化することで，工具管理システムとしてシステムを構築し，材料管理システム同様学内の端末においてセンターの工具保有状況を検索・閲覧することができるようになりました．
しかし，セキュリティ面を考えると，不十分であると考えられます．
今後の課題としては，以下の点があげられます．
・ Web ブラウザを通して画像の修正が行えるようにします．
・ 材料料金システムにおいて，現在は，プログラムのコード内の該当する部分を変更しないと反映されないが，Web ブラウザを通して値の変更ができるようにします．
・ 検索結果が 50 件を上回る場合，現在は 51 件以上の出力ができないので，50 件ごと複数ページにわたって全データを出力できるようにします．
・ 現在は技術センターのサーバ上で展開しています
が，ものづくりセンターで使用するシステムでもあるので，今後 Linux 等で専用のサーバを立て，そのサーバ上に本システムを構築していきます．
今後，上記の課題の修正を行い，よりよいシステムに改良したいと考えています．
7. 謝辞
本システムは，ご指導・ご協力を頂いた宮崎大学工学部教育研究支援技術センター・玉作真一技術専門職員ならびに，木村正寿技術専門職員，田之上二郎技術職員，森圭史朗技術職員のご指導・ご協力のもと構築することができました．心より深く感謝いたします．
参考文献
1) 山田祥寛，「基礎 PHP」，インプレス, 2006
2) 堀田倫英, 「PHP5 徹底攻略」, ソフトバンク, 2006
3) 星野努, 「PHP5.0+MySQL 5.0 で構築する最速Webシステム」, 技術評論社, 2007
4) 掌田津耶乃, 「Eclipse3 ではじめる PHP5 プログラ
ミング入門」, 秀和システム, 2007