2010/12/19

宮西

在庫管理システムVersion G1.1 仕様書

 

1.概要

このシステムはGAEの使用方法に習熟するために作成した在庫管理システムです。内容につきましては、仮定のデータを使用していますが、おおむね市中の靴小売店を想定した内容になっています。靴以外に、アパレル小売店についても応用可能です(型番、色、サイズで識別するもの)。(要求仕様につきましては、実際の靴小売店様の要求仕様を参考にさせていただきました。ただし、かなり簡略化しています。)

 

2.用語の定義

予約(reserve):店舗(展示棚および店内倉庫)に客の希望する商品がない場合、取り寄せを希望された場合に、取り寄せて販売する予約を行うことを言う。

 

取置(keep):店舗に客の希望する商品がある場合に、後日引取りを希望された場合に、販売済みとして保管することを言う。支払いについては、前払いか、引取り時支払いかは別途。

 

出庫(あるいは売消)(ship):ある商品が販売され、引き取られ、在庫数が販売数(通常は1)だけ減少させる。掛売りは行わず、売消の場合には、支払いは済んでいるものとする。

 

入庫(stock):ある商品が供給元から入着し、倉庫(保管棚)に保管されること。一部の商品は、店内に展示されている。

 

3.機能

3.1.在庫状態の表示(取り扱い商品の表示でもある)

情報

商品情報:商品ID=(商品(モデル)番号、色、サイズ)、商品写真、販売数累計、年度販売数累計

在庫情報:在庫数、予約数(在庫数=0の場合の外数)、取置数(在庫数>0の場合の内数)

在庫数<取置数の場合、不足分は予約にまわる。

 

3.2.取り寄せ予約

店内展示、店内在庫にない商品は、1箇所の(卸)から取り寄せて、販売を予約する。「予約」と省略する。取り寄せる商品は、取置にもする。

情報

商品情報:商品ID、商品(モデル)番号、色、サイズ

顧客情報:氏名、電話番号、(〒、住所)→顧客マスター管理へ登録

日付情報:商品入荷予定日、顧客来店予定日

 

3.3.取り置き予約(引き当て)

店内展示、店内在庫がある商品で、電話や店頭で、後日来店し購入を予約したお客さんに対して、販売を予約する。「取置」と省略する。

情報

商品情報:商品ID、商品(モデル)番号、色、サイズ

顧客情報:氏名、電話番号、→顧客マスター管理へ登録

日付情報:商品入荷予定日、顧客来店予定日

支払い情報:済み/未済み、売価

 

3.4.入荷(入庫)

情報

商品情報:商品ID

入庫数

入庫時には、在庫数を入庫数、増やす。

 

3.5.売消(出庫)

情報

商品情報:商品ID

個数

取置(keep)したものか、そうでない(direct)

取置した(keep)現物の出庫時には、在庫数および取置数を減じる。

そうでない(direct)現物の出庫時には、在庫数を減じる。

 

3.6.返品(G1.0では未実装)

新品として返品されたもの(クーリングオフ、足に合わないなど)は、点検の後、新品として通常の在庫へ。

不良品として返品されたものは、廃却または卸へ返却。

 

3.7.修正

情報(コンピュータ)を現実の在庫状態に合わせる。

 

3.8.商品マスター管理

情報

商品情報:商品ID、商品(モデル)番号、色、サイズ、商品写真、販売価格単価、仕入れ価格単価

 

3.9.顧客マスター管理(G1.0では未実装)

情報

顧客情報:顧客ID、氏名、住所、電話番号、メールアドレス、生年月日、職業、

 

補足1.在庫表示

・全在庫表示(絞込みを無指定)

・絞込み表示(下記の入力欄が空欄の場合には、無指定となる)

cat1

cat2

cat3

cat4

maker                  G1.1で追加

model                   G1.1で追加

size                      G1.1で追加

color                     G1.1で追加

additional(cat1cat4maker, model, size, color以外の条件)

 

 

補足2.数のカウント方法

 

 

 

実在庫数

予約数

取置数

realstockqty a

reservestockqty b

keepstockqty c

入庫時

 

a+n

b−n、最小値=0

出庫時

direct

a−n

keep

a−n

c−n

予約時

 

b+n

c+n

予約取消

 

b−n

c−n

取置時

 

c+n

取置取消

 

c−n

 

予約、取置で、顧客の管理については、G1.0では実装せず。単に、数量の管理のみ。

予約取消、取置取消は、該当数量を負の値で入力する(プログラミングを省略している)。

 

 

 


4.ER

4.1.在庫リレーション(実装)

 

 

 

 

 

 


4.2.予約リレーション(G1.0では未実装)

 

 

 

 

 

 

 


4.3.取置リレーション(G1.0では未実装)

 

 

 

 

 

 

 

 



5.データ仕様

 

5.1.Product

 

productid=maker+”-“+model+”-“+color+”-“+size          String    PrimaryKey

(システム全体でユニークと仮定する)

maker                                              String maker対応にユニークな文字列と仮定する

 

model                                               String maker内でユニークと仮定する

color                                                 String

size                                                  String

 

productname                                   String   

 

cat1                     String    商品カテゴリー1 靴/アパレル                                             

(靴以外の、服飾品も対応可能なように、cat1は履物を表す分類とする)

cat2                     String    商品カテゴリー2 コア/紳士/婦人                        

cat3                     String    商品カテゴリー3 1460                              

cat4                     String    商品カテゴリー4 not used (=model)         

 

price                                  Long

cost                                    Long

photo                                 String       ファイル名

 

comment                            String                   (500文字まで)

 

opendate                           Date

modifydate                        Date

closedate                            Date

 

productstate                      String    1:通常、2:取り扱い停止、このデータの状態

 


5.2.Invenory

 

inventoryid         String PrimaryKey           warehouseid(当面=1)とproductidの連結(間に”-“をかませる)

warehouseid                      String

productid                           String

 

maker                                String                  非正規化

 

model                                 String                  非正規化

color                                   String                  非正規化

size                                    String                  非正規化

 

productname                     String                  非正規化

photo                                 String                  非正規化

 

cat1                                   String                  非正規化、絞込みに使用する

cat2                                   String                  非正規化、絞込みに使用する

cat3                                   String                  非正規化、絞込みに使用する

cat4                                   String                  非正規化、絞込みに使用する

 

realstockqty                       Long      実在庫数

reservestockqty                 Long      取り寄せ/入荷待ち 予約数

keepstockqty                     Long      取置数

 

saledamount1                   Long      販売数1            取り扱い開始(集計開始)以来累計

saledamount2                   Long      販売数2              年度初以来累計

上記両者ともカウントアップは同じ処理、ゼロセットの時期のみ異なる。saledamount1は、在庫登録時にゼロ、saledamount2は年度初めにゼロをセットする。

 

opendate                           Date      取り扱い開始日付

modifydate                        Date      最新更新日付

closedate                            Date      取り扱い停止日付

 

inventorystate                   String    状態、1:通常、2:取り扱い中断、3:取り扱い停止


6.操作説明

GAEでは、データベース操作について、標準的な機能が具備されていませんので、操作は大きく、データベースレベルと業務(ビジネスプロセス)レベルに分かれています。

 

6.1.商品の登録

データベースレベルで商品を登録します。

トップ画面の3.2の「showproducts表示・編集・複写」または「addproduct登録」をクリックします。Showproductsを使った場合には、商品一覧表示の後に登録用の欄があります。

productidは入力不要です(プログラムで自動的に生成します)。

最小限maker ,model, color, sizeを入力します。その他は、あとで編集できます。

 

6.2.商品の編集

トップ画面の3.2の「showproducts表示・編集・複写」をクリックします。

該当する商品の行のmaker ,model, color, size以外のところに、修正したいデータを入れた後に、「MOD」をクリックします。

 

6.3.商品データのコピー

例えば、登録した商品をサイズのみ変更して他のデータ項目をコピーする場合に使用します。

トップ画面の3.2の「showproducts表示・編集・複写」をクリックします。

コピー元の商品の行の、コピー時に変更したい項目のみデータを入力し、「CPY」をクリックします。入力しなかった箇所はそのままコピーされます。

 

6.4.商品データの削除

トップ画面の3.2の「showproducts表示・編集・複写」をクリックします。

該当する商品の行の「DEL」をクリックします。

削除確認画面が表示されますので、「Yes, delete」をクリックすると、削除されます。

 

6.5.商品データの詳細表示

G1.0では実装していません。(詳細データが表示されているので不要)

 

6.6.在庫登録

将来は複数個所の倉庫(保管場所)を想定し、商品データと在庫データを分けています。現在は、在庫登録しますと、倉庫が「wh1」という名前の倉庫になります。

トップ画面の2.1の「registerinventory登録」をクリックします。

商品に一覧表示がされます(cat1cat4additionalで絞込みが可能です)ので、該当する商品の行の「RGS」をクリックします。これでinventoryテーブルに登録されます。

このとき、商品の詳細を知りたいときには、同じ行での「DTL」をクリックしますと、商品の詳細情報(製品写真も含めて)が表示されます。

なお、この登録によって、現在のinventoryの該当する商品の在庫データがすべて初期設定(realstockqty=0, reservstockqty=0, keepstockqty=0, saledamount1=0, saledamount2=0)になりますので、注意してください。(登録は、基本的に、めったにおこないませんので、チェックを省略しています)

 

6.7.入庫

トップ画面1.で入庫の対象となるカテゴリーをクリックしてください。そのカテゴリーに絞りこんだ在庫データが表示されます。(商品登録、在庫登録がなされていないカテゴリーは空の表示となります)

表示された画面で、さらに絞り込むこともできます。

該当する商品の行の「STC」をクリックしてください。

次の画面でstockqtyの入力欄に入庫数を入力して、「Yes, stock in」をクリックしてください。「No, return」で前の画面にもどります。

 

6.8.出庫

トップ画面1.で入庫の対象となるカテゴリーをクリックしてください。そのカテゴリーに絞りこんだ在庫データが表示されます。(商品登録、在庫登録がなされていないカテゴリーは空の表示となります)

表示された画面で、さらに絞り込むこともできます。

該当する商品の行の「SHP」をクリックしてください。

次の画面でshipqtyの入力欄に入庫数を入力して、directkeepかを選択して(デフォルトはdirect)「Yes, ship out」をクリックしてください。「No, return」で前の画面にもどります。

 

6.9.予約

トップ画面1.で入庫の対象となるカテゴリーをクリックしてください。そのカテゴリーに絞りこんだ在庫データが表示されます。(商品登録、在庫登録がなされていないカテゴリーは空の表示となります)

表示された画面で、さらに絞り込むこともできます。

該当する商品の行の「RSV」をクリックしてください。

次の画面でreserveqtyの入力欄に入庫数を入力して、「Yes, reserve」をクリックしてください。「No, return」で前の画面にもどります。

6.10.取置

トップ画面1.で入庫の対象となるカテゴリーをクリックしてください。そのカテゴリーに絞りこんだ在庫データが表示されます。(商品登録、在庫登録がなされていないカテゴリーは空の表示となります)

表示された画面で、さらに絞り込むこともできます。

該当する商品の行の「KEP」をクリックしてください。

次の画面でkeepqtyの入力欄に入庫数を入力して、「Yes, keep」をクリックしてください。「No, return」で前の画面にもどります。