棚卸しシステム2

棚卸しシステムには、まずバーコードデータと医薬品データが入ったテーブル(医薬品テーブル)が必要となる。これは在庫管理システムから吐き出すことができた。そしてもうひとつ必要なテーブルは数えた医薬品を入れておくテーブル(在庫テーブル)である。こちらは自分で設計しなければならない。医薬品テーブルとリレーションを組むためにIDが必要となるため、どのデータがベストか設計時には特に考えていなかった。

これは後で間違いに気付いたのだが、医薬品データから連番でデータベースに挿入したナンバリングでリレーションを組んでいた。毎回、医薬品データのテーブルが変わるので今となっては使ってはいけないとわかるが、その時は知る由もなかった。

バーコードを読み込んだ時にformからデータを送り,そこでデータベースにアクセスして対象となる医薬品を検索することにした.しかし作ってみて気付いたのが,入力から出力までタイムラグができてしまった.またそのあとにバーコードを読むと1つ前に読み込んだデータは失われ,実用向きではないことがわかった.そこで最低限のデータしか送信しないjQueryのajaxを使うことにした。

まず読み込んだデータがJANコードなのかGS1コードなのか振り分けなければならない.これは『4987』が先頭に来るかどうかで分岐させた.そしてそのコードの種類によって医薬品テーブルを検索させJSON形式で返す.さらに得られたデータをDOMに入れ込んだ.

作ってみるとレスポンス良くリーダーで読み込んだら瞬時に表示されるようになった.これに医薬品の数を入れ,もう一度ajaxでデータを飛ばしデータベースに挿入すれば良い.1件入力したら1件データを挿入すれば良いかもしれないが、誤操作したときに収拾がつかない懸念もあったのでワンクッションいれることにした。つまり3件目のデータを入力した時に1件目のデータをデータベースに飛ばすことにし、2件目は画面上に残しておいた。さらに挿入に成功したデータは画面から削除した.

コメント

タイトルとURLをコピーしました