訪客留言簿

星期四, 2月 23, 2012

[需求表] 訂單系統 - 用 linux shell script 製作訂購數量單及建立客戶資料

前言

這篇只是需求表,不談程式,我也還寫不出來。

最終目標還是希望能弄成網頁版,這樣有超連結會比較方便些。

需求簡介

只用鍵盤熱鍵就能馬上開啟,單一入口,由入口導引到不同工作區。

可以決定是否先進行不限次數的查詢,再來輸入資料。

輸入的資料分三大類:客戶個別商品訂單、個別商品詳細資料、客戶基本資料。

加總客戶訂單後的訂購數量單,為執行特定 sh 檔後自動生成。

可以查詢任兩組不相鄰的 and 或 or 關鍵字,篩選出符合條件的行。

上述所輸入的客戶及商品資料,每行都需要準備一個獨立編號,以備往後可能用到。

可以直接編輯已輸入的資料。

介面導覽

以熱鍵開啟 linux 終端機後,執行「sh foo.sh」即可進入功能選擇介面。

接著可以做四件事。一、輸入客戶訂單;二、輸入商品資料;三、輸入客戶資料;四、查詢訂購數量單。

上述四種功能,都會先跑出搜尋詢問選項,直接輸入關鍵字,或留白時會跑搜尋篩選,只有在輸入小寫 no 時,才會進入輸入新資料的模式。

客戶訂單格式

客戶訂單需具備以下幾項內容,且要能隨時擴充新內容,但不影響查詢及加總功能。

  1. 獨立訂單編號:格式為「id[yymmddhhmmss]」。
  2. 不與他人重複的客戶名稱。
  3. 獨立商品編號:格式為「pd#######」。
  4. 商品名稱:名稱中要盡可能完整描述商品種類及出版商。
  5. 商品集數:集數要與名稱分開。格式為 (數字)。
  6. 商品價格:日幣。
  7. 商品數量:上限為九,一定要寫在行末。
  8. 銷單字元:當商品完成結帳出貨時,可以寫上數字零,訂購數量表就不會再計算這筆了。

商品資料格式

商品資料的重點是供其他程式引用,需具備以下幾項內容,且要能隨時擴充新內容,但不影響查詢及加總功能。

  1. 獨立商品編號:格式為「pd#######」。pd 後接的七位數數字,是等差遞增的數字,所以每新加一筆時,都要檢查是否與前一行相同。(如有需要,也可以把位數加多一點)
  2. 發售日期:格式為「yy mm dd」。
  3. 購買方式:如「店購」「網購」「場購」。事先準備這一項有好處的。
  4. 購入店家:因為關係到店家特典,所以必須要有這一項。
  5. 商品名稱:名稱中要盡可能完整描述商品種類及出版商、附贈品。
  6. 商品集數:集數要與名稱分開。格式為 (數字)。
  7. 商品價格:日幣。
  8. 備註及網址:雖然終端機沒有支援超連結,但還是會辨視連結文字,用滑鼠右鍵還是能開到瀏覽器中的。(本項不限長度但太長可能會影響輸出畫面,建議可以利用短網址服務,可以的話,請建立本機的轉址服務。)

客戶資料格式

客戶資料的重點,是確認某客戶的連絡收件資料,還有查看總購買件數及金額,格式可依個人需求自由發揮,不過建議要弄成可以方便輸出列印的格式。(比如說可以吐成 HTML/PDF 檔來列印之類的)

訂購數量格式

訂購數量單的重點,在於該在何時,訂購哪些東西、多少數量,所以金額部分可以省略。為了避免混亂,每次開始計算前,都要先將舊檔改名,建立新檔來儲存算出的結果。

  1. 獨立商品編號:格式為「pd#######」。
  2. 發售日期:格式為「yy mm dd」。
  3. 購買方式:如「店購」「網購」「場購」。
  4. 購入店家:因為關係到店家特典,所以必須要有這一項。
  5. 商品名稱:名稱中要盡可能完整描述商品種類及出版商、附贈品。
  6. 商品集數:集數要與名稱分開。格式為 (數字)。
  7. 加總數量:從「客戶訂單」中,抓符合資料的數字後,加總出的數字。因為是只抓行末的單一位數字,所以把已處理好的客戶訂單行末附加個數字零,就不會再加到這裡面去。不過這個加總算是最花計算時間的,能做成只加總計算想要的複數項目,應該是比較好的。
  8. 備註及網址:為了方便馬上查閱及訂購,請務必在此加入網址。

待克服的問題

  1. 不確定如何做到「無限次查詢」而不必跳離程式。
  2. 不確定如何只輸入商品編號,就把商品資料中的必要欄位,移到其他文件。
  3. 不確定如何將篩選資料的數字加總。
  4. 不確定如何讓程式自動判斷是否使用短址服務。
  5. 不確定如何直接修改文件資料。
  6. 不確定文件檔要變多大時,才會明顯影響速度。

0 comments:

 

本站著作(不包含圖片、影音以及回應留言)係採用 Creative Commons 姓名標示-非商業性-相同方式分享 2.5 台灣 (中華民國) 授權條款授權