訪客留言簿

星期四, 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. 不確定文件檔要變多大時,才會明顯影響速度。

星期四, 2月 16, 2012

[linux] Ubuntu 升級至最新版 Sound Juicer 的方法

前言

因為 SJ 官方沒更新,所以 MusicBrainz 改版後,就完全不能抓歌曲資訊了,如果你找不到別的抓音軌軟體,那只能試試非官方修正檔。

PPA 相關的請參考「[linux] Ubuntu 升級至最新版 Firefox 的方法」這篇。

作業系統版本需求

必須為 Ubuntu 9.10 (Karmic Koala) 以上。

作法

因為要下載金鑰,所以建議開終端機處理比較簡單。

9.10 以上使用者限定
  1. 加入 Philipp Wolfer 的 PPA 套件庫來源: sudo add-apt-repository ppa:phw/musicbrainz

  2. 更新套件庫: sudo apt-get update

  3. 安裝新版 Sound Juicer: sudo apt-get install sound-juicer

參考

  1. [#MBS-2249] Sound Juicer no longer works with NGS - MusicBrainz JIRA
  2. Sound juicer no longer retrieves track names when you extract audio CDs | J-P Stacey

 

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