標籤

2018年3月18日 星期日

桃捷司機員APP

Date: 20180127
Version: 1

繼之前寫過一次APP後,最近又開始新的專題,目標是多人使用,之前有做過一次,可惜失敗了,直到現在公司長官覺得可以推推看後,就打算再試一次看看,如果我做不出來,那推也沒必要了,這一次就快了許多,畢竟有個人版可以參考修改,我只花了兩天就做出來了,後面三天主要還是在做優化的部分,整體來說,比上次進步許多,尤其是Perl的hash觀念幫忙我許多,不過因為資料庫處理的關係,顯示速度稍微比個人版的慢了一點,可以看下方關於顯示速度的優化,基本上功能都用好了,接下來就看看長官們到底買不買帳,畢竟APP的使用目的是有限的,例如:「看一個月內的班表、想看其他人的換班」,這些都只能回去看LINE上的圖片,再來是副段們修改是在電腦excel上,之後再轉成圖片放在LINE上,之後就看他們有甚麼要求吧,畢竟他們慣用的excel格式跟我使用的還是有所差距,另外總班表更換時,他們也要跟著更動,除非這些都是由我來負責的話就沒差了,單純就我這邊操作也是可以的,不過一旦我離職,這APP就會跟著GG了。

之後就會更新一些公司的狀況,看看這個APP之後的方向會是如何的呢?

小寫開頭為number or string
大寫開頭為array
中間有底線為hash
中間有@為database,為從google試算表中拉出的原始資料

today: 今天日期
year: 今天年份, from today
month: 今天月份, from today
day: 今天日期, from today
driver: 使用者工號

Type: 班型
Time:  當月日期
Start: 上班時間
End: 下班時間
Extra: 加班時間
Detail: 任務內容
AllDetail: 所有資訊

Type@Database: 所有班型資料,含班型、上班時間、下班時間、加班時間、任務內容。
Driver@Database: 司機員資料,含工號、當月班型。

Driver_Schedule: 司機員相對應之當月班型
Time_Type: 當月日期對應之班型
Weekday_Name: 星期幾的中文名稱
Month_DayNumber: 當月份之天數
Type_Start: 班型相對應之上班時間
Type_End: 班型相對應之下班時間
Type_Extra: 班型相對應之加班時間
Type_Detail: 班型相對應之任務內容
Type_AllDetail: 班型相對應之所有資訊

完成部分:(*未完成)
今日顯示
工號清單
日期清單
任務清單功能
資訊顯示
班型按鈕顯示
今日按鈕顯示
工號清單功能
日期清單功能
使用者系統(第1頁輸入-->第2頁呈現)*
使用者鎖定(第一次輸入使用者後,再開啟會鎖定使用者,故不需上方的使用者系統)
返回按鈕顯示
月曆模式

顯示速度優化測試:
個人版:舊版,0.567秒
多人版:初版,各資料顯示放於各資料庫讀取階段,故2階段需1.101秒
多人版-2:統一資料顯示時機後,0.868秒,加快20%顯示速度
多人版-3:司機員匯入數量增加(3->57),0.901秒,約慢了3%

自動化系統:(未完成,失敗,Net::Google::Spreadsheets安裝失敗,QQ)
修改完資料後,運用perl後會進行上傳至google試算表

Perl轉檔
perl會使用perl2exe轉成exe檔後,提供使用

特地去做了一個返回鍵的圖示,是用PowerPoint做的,效果還不錯,還蠻符合APP的色調。
以下為APP目前形式:

























後來,與中油的朋友討論時,發現中油也有輪班表APP,但他們只有4種班型,不會有個資的問題,所以他們的APP可以在Google Play上找到的,另外我也找到中鋼的APP,兩者的共通點都是只有4個班型,而且都是用月曆的模式來呈現,因此我也在思考是否可以做出動態的月曆出來,畢竟之前我是使用圖片的方式呈現。

經過一翻思考與設計後,月曆模式終於完成了,可以呈現出該月的班型狀況,使用三種顏色,藍色是當日,紅色是放假,灰色是上班,另本來打算是要在班型的地方改用按鈕方式呈現,但按鈕的效果不如預期,所以最後使用的是在月曆下方使用下拉是選單,來讀取班型內容,當然也有選擇使用者的功能。

























目前,大致上會有三種版本,1)日曆模式、2)月曆模式、3)日曆+月曆模式,中油和中鋼是2,之前個人版算是1+2的圖片,理論上應該會是使用3的版本提供大家使用,當然最後還是要看使用者的意見決定之。

後來也仿照其他APP的功能,多做了一個關於的功能,放一些資訊,可供長官們發揮的區塊,另外還學習如何使用Email的功能,App Inventor 2的功能真是越來越厲害了,不過還是有許多地方還可以再改進。

經過一段時間後,Mail的功能已經做好了,並且也與車務中心開了兩次會議,中心主任甚至認為這個APP推出後,其他場域的人都會想用,不過最重要的是希望可以與公司的ERP系統介接,這樣資訊都會是最新最完整的,關於這部分,我剛好在看一些APP的作品有用到json的格式來達到類似的目標,所以如果可以將ERP的資料用json的格式丟出的話,理論上我這邊的APP應該是可以做到的,再來就是json資料的資安規範,要如何規劃,畢竟要接到我的APP一定是要透過外網來使用,所以外網的資訊安全就格外重要,目前公司這邊還在處理ERP資料拋出的部分,所以這部分就要等ERP部分處理好後,才會接下去,到時候可能就會再開一個新的文章了。

2 則留言:

  1. 可以詢問一下在app inventor2 的開發上有辦法達到推播(通知)的功能嗎?

    回覆刪除