シンICのWebサイトに検査依頼を受け付けて自動見積する機能を搭載
Webサイトから半導体真贋検査の依頼を受け付けて、金額をWebで自動見積する機能を作りました。
ナビバーにある「検査の依頼」を押すと、下の画面のようなページに遷移します。
最初はカートが空なので、カートの確認は押せません。
ここで検査の追加を押します。
下の図のように、ICの型番や、パッケージの形状、検査数量を入れるフォームが出るので、必要事項を記入していきます。
こんな感じです。
ここで確認ボタンを押すと、
このように見積もってくれます。
難しいのはお客様がパッケージタイプを選んだりバウンダリスキャンの対応状況を入れなければならないことです。そのため、間違った情報を入れても人間(特電の中の人:私)がチェックして、最終的に正しい金額を見積もる作業が必要になってしまいます。
また、X線と外観検査で明らかな偽物だった場合には電気的検査をしても意味がないのでしないという選択もあります。逆に本物の可能性が高いから電気的検査は抜き打ち検査で20%くらいにしたいとかいう要望もあるかもしれません。
そのため、依頼時点では正確な検査内容も金額も出せないはずです。
というわけで、当社の真贋判定サービスでは、X線と外観検査が終わった時点で正確な見積金額を出そうということにして、依頼時の金額はすべての検査をしてMAXの金額を見積もって出すことにしています。
このような感じでWeb上で見積が取れて、
「次へ」を押せば、住所入力画面に遷移して、そのまま発注できるようになっています。
発注サイトの設計で気を付けたことといえば、基本的には画面にあるのは「次へ」と「戻る」ボタンだけにしたこと。いっぱいボタンが並んでいるデザイン(オジサンはそういうの好きだけど)は現代人には好まれないのだと思う次第です。
とりあえず発注サイトは1日で作れました。
さて、こういった注文内容はデータベースに入れておくのですが、Xという注文が「Aというアイテムと、Bというアイテムと、Cというアイテム」で構成されているときのデータベース設計について少し書きます。
一つの注文の中に複数のアイテムが入るようなビジネスの場合、注文というテーブルと、注文詳細というテーブルに分けて管理します。
つまり、Xという「〇〇さんから注文があった」という情報を入れるテーブルと、「Aが〇個」「Bが△個」「Cが×個」というのを入れるテーブルを別々に作っておいて、XテーブルのidをA,B,Cに紐づけしておけばいいのです。
昔(10年くらい前)に売上管理のデータベースを作ろうと思ったときに、こういった基本的な考え方を見つけられず、かなり苦労しました。データベース設計の定石的な方法ってなかなか体系的にはまとまっていないんですよね。
具体的にいうと、ユーザ登録とオーダーとをどうやって紐づけするかを今悩んでいます。DigikeyでもMouserでも、ユーザ登録しなくても買い物できるじゃないですか。ユーザ登録すれば過去の履歴を見れたり住所を入れる手間が省けるしユーザにとってもメリットはある。
登録をしないで買い物を続けていって支払いが終わった後で登録するような場合に、他のサイトさんではどうやって紐づけするのかな~と気になっています。
ここでも2段階でもメールが飛んでくるのかどうかとか、気にしだすと気になります。
| 固定リンク
コメント