物品管理系統資料操作邏輯分析 - 新規取得
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1097
整體概述
本【物品管理系統資料操作邏輯分析】將針對以下流程進行詳細的數據操作說明:
新規取得 → 受入 → 寄託(外へ) → 寄託(外へ)承認済 → 返還 → 返還済 → 管理換(払) → 管理換(払)承認済 → 管理換(受) → 管理換(受)済
實際操作物品
-
物品番號:C-00009
-
物品名稱:トラック(2t)
使用之證書及對應帳號
| 證書番號 | 對應操作階段 | 對應帳號(操作順序) |
|---|---|---|
| TEST-01 | 新規取得 | 10000 → 10004 |
| TEST-02-SENT | 寄託(外へ) | 10004 → 10000 |
| TEST-03-RETURN | 返還 | 10000 → 10004 |
| TEST-04-交換 | 管理換(払) | 10004 → 10000 |
| TEST-05-GET | 管理換(受) | 15000 → 15012 |
注意:上述證書番號所對應的每一步操作實際上包含兩筆資料(對應兩筆帳務操作),並存在明確的先後順序。
例如,「TEST-01」中,首先由帳號 10000 執行操作,接著由帳號 10004 執行對應處理。
最終會產生的賬簿記錄
10000:

15000:

新規取得
以下這張圖展示了一個物品管理系統的資料庫操作流程,涉及多個資料表(ukeharai_tbl、ukeharai_meisai_tbl、kobetu_tbl、kanribo_tbl),並說明了資料的插入方式,以及「物品的『まとめる』(合併)選項」如何影響資料儲存的方式。

關鍵分析點
-
ukeharai_tbl只會建立一筆紀錄- 右下角的
INSERT on [ukeharai_tbl]顯示,即使畫面上有多個物品,ukeharai_tbl仍只會建立一筆紀錄。 - 這與圖片中的說明一致:「1回の【新規取得】では、ukeharai_tbl に1件の記録しか生成されません。」(一次【新規取得】只會在
ukeharai_tbl建立 1 筆紀錄。)
- 右下角的
-
ukeharai_meisai_tbl的紀錄數 =kanribo_tbl的kanribo_cd數量- 圖片中以黃色標註指出,
kanribo_tbl內有 2 個kanribo_cd,對應ukeharai_meisai_tbl建立 2 筆紀錄。 - 這表示,每個
kanribo_cd在ukeharai_meisai_tbl中都會對應建立一筆紀錄。
- 圖片中以黃色標註指出,
-
kobetu_tbl的紀錄數與「物品まとめ」選項有關- 當選擇「まとめる」時(紅色箭頭):
- 只會建立 1 筆
kobetu_cd紀錄,數量為 2(合併了相同規格的物品)。
- 只會建立 1 筆
- 當選擇「まとめない」時(藍色箭頭):
kobetu_tbl會建立 2 筆kobetu_cd紀錄,每筆數量為 1。
- 這表示「まとめる」選項會影響
kobetu_tbl的插入邏輯,決定是合併為單筆紀錄,還是分開記錄每個物品。
- 當選擇「まとめる」時(紅色箭頭):
總結
ukeharai_tbl只會建立 1 筆紀錄,不管包含多少物品。ukeharai_meisai_tbl的紀錄數取決於kanribo_cd的數量。kobetu_tbl的紀錄數與「物品まとめ」選項相關,若選擇合併,則建立 1 筆紀錄;若選擇不合併,則每個物品會分別建立 1 筆紀錄。
注:
-
kobetu_tbl
-
kobetu_rireki_tbl
-
zougen_rireki_tbl
是一組,插入數據的時候會同時插入。
因此,按照如上圖所示的情況:
-
1←ukeharai_tbl
-
2←ukeharai_meisai_tbl
-
3*3←kobetu_tbl+kobetu_rireki_tbl+zougen_rireki_tbl
一共會插入12條數據。
新規取得 C-0009-4個:「まとめる」與「まとめない」處理模式分析
根據是否進行資料的「まとめる(合併)」與「まとめない(不合併)」處理,
在執行「新規取得 C-0009-4個」時,會產生如下的資料庫操作:
| 操作順序 | 資料表名稱 | 分類 | 備註 |
|---|---|---|---|
| 1 | ukeharai_tbl |
共通 | 必要記錄 |
| 2 | ukeharai_meisai_tbl |
まとめる | 明細資料(合併的第一筆) |
| 3 | ukeharai_meisai_tbl |
まとめない | 明細資料(不合併的第一筆) |
| 4 | kobetu_tbl |
まとめる | 合併後個別資料 |
| 5 | kobetu_rireki_tbl |
まとめる | 合併後履歷 |
| 6 | zougen_rireki_tbl |
まとめる | 合併後增減履歷 |
| 7 | kobetu_tbl |
まとめない | 第一筆不合併個別資料 |
| 8 | kobetu_rireki_tbl |
まとめない | 第一筆不合併履歷 |
| 9 | zougen_rireki_tbl |
まとめない | 第一筆不合併增減履歷 |
| 10 | kobetu_tbl |
まとめない | 第二筆不合併個別資料 |
| 11 | kobetu_rireki_tbl |
まとめない | 第二筆不合併履歷 |
| 12 | zougen_rireki_tbl |
まとめない | 第二筆不合併增減履歷 |
以下是整個操作的具體流程:
1. 新規取得(*購入):
| INSERT on [ukeharai_tbl] | ||||||||||||||||
| doc_cd | p_doc_cd | seiri_kbn | uketuke_ymd | kanrikan_cd | kanri_ymd | kanri_doc_no | kyouyoukan_cd | kyouyou_ymd | gyousha_cd | bikou | shori_sts | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | seiri_kbn_pull |
| 573052 | 101 | 2025/03/01 0:00:00 | 10000 | TEST-01 | 10004 | 新規取得C-0009-4個-まとめる-まとめない(二つずつ) | 51 | 10000 | 2025/03/24 13:45:59 | 0 | ||||||
↓ 受払_明細+1(まとめる)
| INSERT on [ukeharai_meisai_tbl] | ||||||||
| doc_cd | meisai_no | buppin_cd | ukeire_su | haraidasi_su | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd |
| 573052 | 1 | C-00009 | 2 | 10000 | 2025/03/24 13:45:59 | |||
↓ 受払_明細+2(まとめない)
| INSERT on [ukeharai_meisai_tbl] | ||||||||
| doc_cd | meisai_no | buppin_cd | ukeire_su | haraidasi_su | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd |
| 573052 | 2 | C-00009 | 2 | 10000 | 2025/03/24 13:46:00 | |||
↓ 個別+1(まとめる)
| INSERT on [kobetu_tbl] | |||||||||||||||||||||||||||
| kobetu_cd | p_kobetu_cd | buppin_cd | shutoku_ymd | haraidasi_ymd | buppin_kan_no | gyousha_cd | tanka | zei_gaku | hinsitu_kikaku | kanrikan_cd | kyouyoukan_cd | siyousha_cd | hontai_no | zougen_kbn | shoumou_kbn | zou_kbn | gen_kbn | zou_riyuu | gen_riyuu | kanri_sts | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | kaitei_kakaku | kosuu | del_flg |
| 1277302 | C-00009 | 2025/03/01 0:00:00 | 1500000 | 1500000 | 規格A | 10000 | 10004 | 1 | 0 | 1 | 1 | 10000 | 2025/03/24 13:46:00 | 2 | |||||||||||||
↓ 個別履歴+1(まとめる)
| INSERT on [kobetu_rireki_tbl] | ||||||
| doc_cd | meisai_no | kobetu_cd | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd |
| 573052 | 1 | 1277302 | 10000 | 2025/03/24 13:46:00 | ||
↓ 増減履歴+1(まとめる)
| INSERT on [zougen_rireki_tbl] | |||||||||||||||||||
| zougen_id | sisho_cd | kobetu_cd | buppin_cd | zougen_hinmoku_cd | shuhinmoku_cd | seiri_kbn | tanka | kosuu | ymd | riyuu | doc_cd | kanribo_cd | gobyuu_flg | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | del_flg | fix_flg |
| 414997 | 20 | 1277302 | C-00009 | C-00009 | 1 | 1500000 | 2 | 2025/03/01 0:00:00 | 573052 | 0 | 0 | 10000 | 2025/03/24 0:00:00 | 0 | 0 | ||||
↓ 個別+1番(まとめない)
| INSERT on [kobetu_tbl] | |||||||||||||||||||||||||||
| kobetu_cd | p_kobetu_cd | buppin_cd | shutoku_ymd | haraidasi_ymd | buppin_kan_no | gyousha_cd | tanka | zei_gaku | hinsitu_kikaku | kanrikan_cd | kyouyoukan_cd | siyousha_cd | hontai_no | zougen_kbn | shoumou_kbn | zou_kbn | gen_kbn | zou_riyuu | gen_riyuu | kanri_sts | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | kaitei_kakaku | kosuu | del_flg |
| 1277322 | C-00009 | 2025/03/01 0:00:00 | 3000000 | 3000000 | 規格B | 10000 | 10004 | 1 | 0 | 1 | 1 | 10000 | 2025/03/24 13:46:01 | 1 | |||||||||||||
↓ 個別履歴+1番(まとめない)
| INSERT on [kobetu_rireki_tbl] | ||||||
| doc_cd | meisai_no | kobetu_cd | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd |
| 573052 | 2 | 1277322 | 10000 | 2025/03/24 13:46:01 | ||
↓ 増減履歴+1番(まとめない)
| INSERT on [zougen_rireki_tbl] | |||||||||||||||||||
| zougen_id | sisho_cd | kobetu_cd | buppin_cd | zougen_hinmoku_cd | shuhinmoku_cd | seiri_kbn | tanka | kosuu | ymd | riyuu | doc_cd | kanribo_cd | gobyuu_flg | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | del_flg | fix_flg |
| 415017 | 20 | 1277322 | C-00009 | C-00009 | 1 | 3000000 | 1 | 2025/03/01 0:00:00 | 573052 | 0 | 0 | 10000 | 2025/03/24 0:00:00 | 0 | 0 | ||||
↓ 個別+2番(まとめない)
| INSERT on [kobetu_tbl] | |||||||||||||||||||||||||||
| kobetu_cd | p_kobetu_cd | buppin_cd | shutoku_ymd | haraidasi_ymd | buppin_kan_no | gyousha_cd | tanka | zei_gaku | hinsitu_kikaku | kanrikan_cd | kyouyoukan_cd | siyousha_cd | hontai_no | zougen_kbn | shoumou_kbn | zou_kbn | gen_kbn | zou_riyuu | gen_riyuu | kanri_sts | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | kaitei_kakaku | kosuu | del_flg |
| 1277342 | C-00009 | 2025/03/01 0:00:00 | 3000000 | 3000000 | 規格B | 10000 | 10004 | 1 | 0 | 1 | 1 | 10000 | 2025/03/24 13:46:01 | 1 | |||||||||||||
↓ 個別履歴+2番(まとめない)
| INSERT on [kobetu_rireki_tbl] | ||||||
| doc_cd | meisai_no | kobetu_cd | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd |
| 573052 | 2 | 1277342 | 10000 | 2025/03/24 13:46:01 | ||
↓ 増減履歴+2番(まとめない)
| INSERT on [zougen_rireki_tbl] | |||||||||||||||||||
| zougen_id | sisho_cd | kobetu_cd | buppin_cd | zougen_hinmoku_cd | shuhinmoku_cd | seiri_kbn | tanka | kosuu | ymd | riyuu | doc_cd | kanribo_cd | gobyuu_flg | ins_op_cd | ins_ymd | upd_op_cd | upd_ymd | del_flg | fix_flg |
| 415037 | 20 | 1277342 | C-00009 | C-00009 | 1 | 3000000 | 1 | 2025/03/01 0:00:00 | 573052 | 0 | 0 | 10000 | 2025/03/24 0:00:00 | 0 | 0 | ||||
↓
新規完了。
但這不是結束,還需要登入供用官10004去進行【受入】這一套流程才算完成。
這套流程叫【購入供用】。
目前【購入】完了。
This article was last edited at