Qpython3で一人用タイムカード作成

この記事には薄っぺらい知識と理解不足が含まれている可能性があります。

天、無休無給の打開を目指して

無休は言い過ぎだと思いますが、忙しい時期は雨がふらなければ基本的に私に休みはありません。(全部投げ出して旅に出たときは…まぁいいや。)

うちの祖父祖母、父はそれで平気なようですが私は14連勤くらいで体調を崩します。(加えて体調崩すと日頃の生活リズムが良くないなどと言われてストレスマッハでございます。)

それでいて給料は決まっておらず1年で手元に自由に使える分としてもらえるのは数万円だったときは思わず笑ってしまいました。

さっさと別の仕事でも探そうかと思いましたが仕事が嫌いなわけでもないし衣食住の保証はされているし、我が果樹園の経営が厳しいこともわかっているので両目をギュッとつぶって働き続けています。

貧乏ヒマなしとは言いますが絶対に無駄があるはず、金にならない仕事を一生懸命やる瞬間があるはず、それを分析すればもう少し休めるはず。と自分の仕事の記録をつけ始めました。

簿記2級も受かって原価計算もできるんじゃないかと思ったわけですが、その頃には仕事の記録は途絶えていました。

仮に記録がマメにつけられていたとしても集計の時点で「めんどくせー」となっていたにちがいありません。

 

余談ですが流石に社会人にもなって自由に使える収入が年に数万円で残りは貯金を崩して遊ぶというのはあまりに我慢ができなかったのでアルバイトをはじめました。

そこでタイムカードを使いました。紙のカードを入れると時間が記録されて出て来るやつです。

あぁ。作業時間の記録は2つ時刻があればいいのか。

 

地、記録と集計のハードルを極限まで下げる

スマホでデータベース管理できれば記録も集計もハードルが低くなるぞ!と思ったついでに余計なことも思いつきました。

せっかく基本情報でSQLを一生懸命やったから自分で作ってみよう。

既存アプリで快適に記録できるものもありそうですがあると悔しいので検索すらしていません。

使ったのはアプリはQPython3
androidhelperでアンドロイドのダイアログを呼び出し
Sqlite3でデータベースの管理

使い方はandroidhelperはこちら、Sqlite3はこちら
プログラミングしたことがある人なら簡単につかいこなせるはず。

手軽にアンドロイドのダイアログを使えるのは非常にありがたかったです。

アプリのショートカットをホームに置いて

起動→最新のレコード取得→最新レコードに退勤時刻が

ある→新しいレコードに日付と現在時刻を記録→終了
ない→現在の日付と最新レコードの日付を比較→

日付が違う→前回の退勤時刻を適当に記録→新しいレコードに日付と現在時刻を記録→終了
日付が同じ→退勤時刻、仕事内容、メモを記入→終了

なんていう簡単なもの。いま思ったけどエラー処理全く入れてません。これはまずい。

ハマったのはSqlite3でのカーソルオブジェクトのexecuteに渡す「タプルのリスト」。なんのことだかわからずにいました(クッキーのビスケットみたいな言い方で混乱しました。)

値の変えられないタプルをリストにして渡してやればよかったわけです。

値が一つだけのタプルの場合は

[(1,),(2,),(3,)]こんな書き方をしたような。うろ覚えです。

 

無、ユーザーは自分だけというありがたさ

インターフェイスはandroidhelperによって簡単に作られるし

操作を間違ったり、記録を忘れたりしても自分でかってにSQL文を実行して追加と変更が行えるのでいまのところ使い勝手は非常にいいです。

集計もSQLで簡単にできそうですし、休憩時間の考慮もおもったより簡単に実装できました。

自分以外に使う人がいるとコマンドラインでどうこうとか細かな修正が効かないので自分だけが使うプログラムは作るのも使うのも気が楽で良いです。

データベースのエラー処理はなんとかしなきゃと思いますが、労力と気持ちがそこに向けられるのはいつになることやら…。

用、より実用的にしたいが…

RaspberryPiとNFCを使って複数人の出勤時間と退勤時間を記録すればもっと使える!

と思いましたがなかなかうまく行きませんね…。

なんとなくはできましたが仕事内容等を記録してもらうとどうしても操作が面倒だと言われたり、間違えたと言われるのが面倒です…。

GUIも作るのが面倒ですし、GUIの処理と並行して待機など、今の知識と時間では面倒でなりません。

それでも時刻の記録は複数人でできるようにしたいなと…。

本当に役に立たない記事でした。ごめんなさい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です