2015年3月18日 星期三

退貨流程

1.首先需要設定退貨退回庫存
 2.已出貨完成的訂單才會出退貨選項
3.退貨預設的數量是全退。

4.輸入要退貨的數量,巧克力棒、瀘掛咖啡各退1個,按下確定。

5.訂單上的數量克力棒、瀘掛咖啡會各減1個,同時庫存會各增加1個。

6.全部退貨
7.訂單的數量會全歸0。


2013年9月25日 星期三

擺攤救星S 付費版功能

擺攤救星S 付費版功能
Google play:
https://play.google.com/store/apps/details?id=com.kagoo.StallSaviorS

付費版功能:
0.沒有廣告。
1.登入密碼(可關閉此功能)。
2.盤點。
3.簡訊、E-mail,通知客戶訂單到貨。
4.統計報表:統計儲位數量、統計每月利潤、統計每月營業額、統計每月採購金額、歷史進貨統計、歷史出貨統計。
5.品號(條碼)長度支援60碼。
6.照片預覽,選擇手機裡的相片匯入。
7.庫存管理目錄新增圖片預覽模式。

登入畫面:第一次登入密碼預設為 0 ,請先修改密碼。

可關閉登入密碼功能

照片預覽,選擇手機裡的相片匯入。

盤點功能:免費版轉付費版用戶請先處理Excel檔,新用戶可直接使用。
註:免費版與付費版共用同一個資料夾。直接匯入免費版資料即可。 
將免費版的Excel:StallSavior.xls等所有資料匯入後,再匯出產生新的Excel格式。
預設進貨數量統計的數量會等於庫存數量。
盤點可手動盤點、掃描盤點,數量確認完畢後按下確定,會顯示盈虧,盤點日期也會更新,如果數量有誤,更新庫存數量後,調整數量日期也會更新。


簡訊、E-mail,通知客戶訂單到貨。


傳送E:mail:收件者與信息會自動帶入,都可進行修改。主旨、序、結尾第一次需手動輸入,會自動記錄輸入的內容。

統計報表


儲位數量:統計各儲位所剩的數量。

1.每月利潤 :訂單+零售利潤。
2.每月訂單利潤:依訂單計算
3.每月零售利潤:依進出貨記錄計算。

1.每月營業額:訂單+零售金額。
2.每月訂單金額:依訂單計算。
3.每月零售金額:依進出貨記錄計算。 

1.每月採購金額:採購計劃+零購金額。
2.每月採購計劃金額:依採購計劃之已採購清單計算。
3.每月零購金額:依進出貨記錄計算。  

歷史進貨統計

歷史出貨統計 


2013年9月1日 星期日

Android Sqlite 版本更新、資料結構更改

Android Sqlite 版本更新

/////////////////////////////////////////////////
//第一個版本
/////////////////////////////////////////////////
private final static String DB_NAME = "kagoo.db3"; // 資料庫名稱;
private final static int VERSION = 1; // 資料庫版本
// 品號資料表
public final static String TABLENAME = "stock"; // 資料表名稱
public final static String PRODUCTNO = "productno"; // 品號
public final static String NAME = "name"; // 品名
public final static String COUNT = "count"; // 數量
public final static String COST = "cost"; // 單位成本
public final static String SPACE = "space"; // 儲位
//建構式
public StockDBHelper(Context context) {
     super(context, DB_NAME, null, VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    // 建立庫存資料表
    String createTable = String.format("Create Table %s(" + // 資料表名稱
    "%s VARCHAR(13) not null primary key," + // 品號-主鍵
    "%s nvarchar(60) not null," + // 品名 nvarchar n代表多號語言
    "%s INTEGER not null," + // 數量
    "%s INTEGER not null," + // 成本
    "%s VARCHAR(10) null)" // 儲位
     , TABLENAME, PRODUCTNO, NAME, COUNT, COST, SPACE);
    db.execSQL(createTable);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
--------------------------------------------------------------------------------------------------
/////////////////////////////////////////////////
//第二個版本,增加一個資料表
/////////////////////////////////////////////////
private final static String DB_NAME = "kagoo.db3"; // 資料庫名稱;
private final static int VERSION = 2; // 資料庫版本,版本更新為2
// 品號資料表
public final static String TABLENAME = "stock"; // 資料表名稱
public final static String PRODUCTNO = "productno"; // 品號
public final static String NAME = "name"; // 品名
public final static String COUNT = "count"; // 數量
public final static String COST = "cost"; // 單位成本
public final static String SPACE = "space"; // 儲位
// 儲位資料表(新增的資料表)
public final static String SPACENAME = "spacename"; // 儲位資料表名稱
public final static String SPACEMENU = "spacemenu"; // 儲位名稱

//建構式
public StockDBHelper(Context context) {
     super(context, DB_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
    // 建立庫存資料表
    String createTable = String.format("Create Table %s(" + // 資料表名稱
    "%s VARCHAR(13) not null primary key," + // 品號-主鍵
    "%s nvarchar(60) not null," + // 品名 nvarchar n代表多號語言
    "%s INTEGER not null," + // 數量
    "%s INTEGER not null," + // 成本
    "%s VARCHAR(10) null)" // 儲位
     , TABLENAME, PRODUCTNO, NAME, COUNT, COST, SPACE);
    db.execSQL(createTable);
    // 建立儲位資料表
    createTable = String.format("Create Table %s(" + // 資料表名稱
    "%s VARCHAR(10) PRIMARY KEY)" // 序號-儲位
     , SPACENAME, SPACEMENU);
     db.execSQL(createTable);

}
//如果是新安裝的用戶,會執行上面的onCreate()
//如果先前是已經安裝的用戶,會執行下面的 onUpgrade()
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion == 1) {
          // 建立儲位資料表
          createTable = String.format("Create Table %s(" + // 資料表名稱
          "%s VARCHAR(10) PRIMARY KEY)" // 序號-儲位
          , SPACENAME, SPACEMENU);
          db.execSQL(createTable);

          db.setVersion(newVersion);// 重新設定資料庫版本
    }
}
--------------------------------------------------------------------------------------------------
/////////////////////////////////////////////////
//第三個版本,修改庫存資料表結構
/////////////////////////////////////////////////
private final static String DB_NAME = "kagoo.db3"; // 資料庫名稱;
private final static int VERSION = 3; // 資料庫版本,版本更新為3
// 品號資料表
public final static String TABLENAME = "stock"; // 資料表名稱
public final static String PRODUCTNO = "productno"; // 品號
public final static String NAME = "name"; // 品名
public final static String COUNT = "count"; // 數量
public final static String COST = "cost"; // 單位成本
public final static String SPACE = "space"; // 儲位
// 儲位資料表(新增的資料表)
public final static String SPACENAME = "spacename"; // 儲位資料表名稱
public final static String SPACEMENU = "spacemenu"; // 儲位名稱

//建構式
public StockDBHelper(Context context) {
     super(context, DB_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
    // 建立庫存資料表
    String createTable = String.format("Create Table %s(" + // 資料表名稱
    "%s VARCHAR(13) not null primary key," + // 品號-主鍵
    "%s nvarchar(60) not null," + // 品名 nvarchar n代表多號語言
    "%s REAL not null," + // 數量,原本為整數,改為浮點數
    "%s REAL not null," + // 成本
    "%s VARCHAR(10) null)" // 儲位
     , TABLENAME, PRODUCTNO, NAME, COUNT, COST, SPACE);
    db.execSQL(createTable);
    // 建立儲位資料表
    createTable = String.format("Create Table %s(" + // 資料表名稱
    "%s VARCHAR(10) PRIMARY KEY)" // 序號-儲位
     , SPACENAME, SPACEMENU);
     db.execSQL(createTable);

}
//如果是新安裝的用戶,會執行上面的onCreate()
//如果先前是已經安裝的用戶,會執行下面的 onUpgrade()
//Android Sqlite 無法直接更改資料表結構,請參考下面的方法。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if (oldVersion == 1) { //如果舊用戶的版本為1,直接更新到第3版
          // 建立儲位資料表
          createTable = String.format("Create Table %s(" + // 資料表名稱
          "%s VARCHAR(10) PRIMARY KEY)" // 序號-儲位
          , SPACENAME, SPACEMENU);
          db.execSQL(createTable);

          updateStockTable(db);// 更新庫存資料表結構
          db.setVersion(newVersion);// 重新設定資料庫版本   
    }

    if (oldVersion == 2) { //如果舊用戶的版本為2,更新到第3版
          updateStockTable(db);// 更新庫存資料表結構
          db.setVersion(newVersion);// 重新設定資料庫版本
    }
}

private void updateStockTable(SQLiteDatabase db) {
         // 1.將舊的資料表名稱更名
         String updateTable = String.format("ALTER TABLE %s RENAME TO %s",
         TABLENAME, "temptable");
         db.execSQL(updateTable);


         // 2.創建一個新的資料表為舊表的名稱
         String createTable = String.format("Create Table %s(" + // 資料表名稱
           "%s VARCHAR(13) not null primary key," + // 品號-主鍵
           "%s nvarchar(60) not null," + // 品名 nvarchar n代表多號語言
           "%s REAL not null," + // 數量
           "%s REAL not null," + // 成本
           "%s VARCHAR(10) null)" // 儲位
          , TABLENAME, PRODUCTNO, NAME, COUNT, COST, SPACE);
         db.execSQL(createTable);
      

          // 3.將舊表寫入到新表
         updateTable = String.format("INSERT INTO %s SELECT * FROM %s",
           TABLENAME, "temptable");
         db.execSQL(updateTable);


         // 4.刪除舊表
         updateTable = String.format("DROP TABLE %s", "temptable");
         db.execSQL(updateTable);

}
以上方法僅供參考。

2013年8月31日 星期六

StallSavior Order Management

StallSavior Order Management
Google Play:
https://play.google.com/store/apps/details?id=com.kagoo.StallSavior

Order Management Interface: New orders for the upper left corner of the icon, the icon is green gear set, a magnifying glass is empty the search text, you can also search for a single order number, shipping date, customer name, press a single order number, shipping date, customer name can be a list of the sort.
 
 
Press the Setup button, you can set the display list items with the font size, whether the deduction orders are shipped complete library in addition to the number, the default is yes. Add back stock returns default to Yes. Whether to display the date format.
 
 
 
  
New orders Interface:
①Click the magnifying glass optional customer customer name, select End customers can view customer information click Customer Name, Customer Name input can also be customized, or not enter, but finding out the customer information.
②Click the magnifying glass optional merchandise order details.
③Tap the button to the left of commodity detail to this product removed.
④Tap the number of commodity line items can be modified.
 
 


Customer Information screen: Tap the phone icon to call directly.
 

Select Client screen: You can search, sort.
 
 
Select Product screen: You can search, sort.
 
 
Quantity modification screen: Tap the detail can modify the number of orders.
 
 
 
New orders is completed, you can see a list of new orders, and Showing not shipped.
 
 
 

Update Order screen: can be customer name, order details modifications. Confirmation after completing can point to take delivery button.
 
 
 
Confirm shipment: shipments or scan shipments manually selectable, manual shipped directly to complete orders, shipments will be scanned into the scan screen.
 
 
 
Scan the screen on the left will display the items to be shipped and quantity point to take the project to switch the display name, product number, we must all return 0 Number of scan is complete, the scan shipments only valid way to leave this screen as invalid shipments.
 
 
 
 
Complete shipping Screen: OK icon will be displayed top left, top right corner of return. If you want to return, please pick the return button.
 
 
 
 
Returns the screen, select the number you want to return, press OK, this time will reduce the number of orders and inventory number will increase.
 
 

StallSavior Excel Data Processing

StallSavior Excel Data Processing

Google Play:
https://play.google.com/store/apps/details?id=com.kagoo.StallSavior

Excel Data Processing Interface:


Tap the Export Excel to an SD card, you can choose to export Excel files.



After exporting the file will be generated in sdcard directory under StallSavior folder.
StallSavior : inventory
StallSavior_spacename :space
StallSavior_customer :customer
StallSavior_order :order
StallSavior_orderdetail :orderdetail
StallSavior_purchase :Procurement plan
StallSavior_record :Into the ship records


Excel file generated content:
Brackets indicate the length of the character field to manually enter the time does not exceed the length, serial input is automatically generated from time.
Inventory Excel: product number, product name, stock quantity, unit cost required enter, storage spaces may enter.
Please note: Item number can not be repeated. Otherwise the import fails.


Customers Excel: Customer Code, Customer Name Required enter, phone, address may enter.
Excel manually enter the phone will automatically delete the first digit of 0, please note. Consider the following instructions to modify the settings.


Tap the top of the column, right-click → cell formatting.


Select the text category.


Re-enter can be reserved 0.


Orders Excel: Order number, shipping date is required. Customer code, customer name may enter.
Order number format:201307190001Red:yearBlue:monthOrange:dayGreen:Serial number
Delivery Date:20130719Red:yearBlue:monthOrange:day
Enter 0 for Delivery Date is Non-delivery.

Orderdetail Excel: four fields must be entered.

Procurement plan Excel:Seven fields are must be entered.
Complete:0 - Not procurement, 1 - have been procured.

Record into the ship Exel: five fields must be entered.
Type:0 - Scanning purchase,1 - Scan shipments,2 - Manual Entry,3 - Manually shipping。
Time:20130719Red:yearBlue:monthOrange:dayGreen: HourBrown:Minute




Tap the import Excel, choose to import Excel data.
Excel file must be in sdcard directory under StallSavior folder where otherwise the import fails.
Please note: When importing Excel data will overwrite the original.



Will have been exported to Excel send Email.
Excel file must be in sdcard directory under StallSavior folder, otherwise not be delivered.



Enter to send Email.


Select the application you want to transfer.
If you have installed Dropbox, Google Drive , you can choose to upload files to the cloud drive.


Dropbox app:
https://play.google.com/store/apps/details?id=com.dropbox.android
Google drive app:
https://play.google.com/store/apps/details?id=com.google.android.apps.docs