ホームページ > ウェブフロントエンド > jsチュートリアル > 時間に負けないコード : 勤怠管理の自動化

時間に負けないコード : 勤怠管理の自動化

Linda Hamilton
リリース: 2024-12-21 12:04:10
オリジナル
321 人が閲覧しました

へようこそ。「: Code Against the Clock :!」 – 日常的なタスクを合理化された時間節約の驚異に変えるブログ シリーズです。今日は、反復的な手作業を自動化した強力なツールに変えたプロジェクトを共有できることを嬉しく思います。時間を節約し、ワークフローに刺激を加える方法を確認する準備はできましたか?飛び込んでみましょう!

バックストーリー

ご存知の方も多いと思いますが、私はスタートアップ企業でフルスタック開発者として働いています。当社では従業員の勤怠管理に Keka を使用していますが、毎日のオフィスへの入退勤時に手動で打刻する必要があります。問題は?時々、出勤や退勤の打刻を忘れてしまい、その結果、出席が欠席としてマークされてしまうことがあります。これは、修正するには Keka でチケットを発行する必要があることを意味します。これは自動化したいと思っていた退屈な作業です。

問題の内訳

当初、この目的のために Keka が提供する API を探しましたが、残念ながら提供されていません。問題ない!私は開発者として、この問題を自分自身で解決することに挑戦しました。私はまず Keka の Web サイトを分析して、それがどのように機能するかを理解しました。ブラウザの開発者ツールのネットワーク タブを使用して、出勤時と退勤時にトリガーされるエンドポイントを特定しました。

フェッチを使用して、ヘッダーに Bearer トークンを含むリクエストを作成する簡単な Node.js スクリプトを作成しました。これは機能しました。ただし、Bearer トークンの有効期限が毎日切れるという落とし穴がありました。 Web サイトがローカル ストレージにリフレッシュ トークンを保持していることを発見しました。これは、古いベアラー トークンの有効期限が切れたときに新しいベアラー トークンを取得するために使用されていました。

これを処理できるようにスクリプトを調整した後、さらにいくつかの課題に直面しました。

  • スクリプトは私がオフィスに入ったことをどのようにして知るのでしょうか?
  • いつクロックアウトするかをどのように決定しますか?
  • エラーの通知を受け取り、手動で打刻できるようにするにはどうすればよいですか?

解決策

これらの問題に取り組むために、私は次の解決策を考案しました:

  1. オフィス入室検出: 特定のオフィスアワーを使用してスクリプトを構成しました。スクリプトは、これらの時間に達すると、記録の試行を開始します。
  2. クロックアウトのタイミング: スクリプト内で、クロックイン後に自動的にクロックアウトするまでの時間を設定します。
  3. エラー通知と手動出勤: Slack 通知をスクリプトに統合しました。こうすることで、打刻の成功と打刻の成功、およびエラーに関するアラートを受け取ることになります。
[CRON Job (Every 15 minutes)] ---> [Node.js Script]
                         \-------> [Check Time] ---> [Clock In/Out]
                         \-------> [Notify (Slack)]
ログイン後にコピー
ログイン後にコピー

すべての準備が整ったら、スクリプトを 15 分ごとに実行するように cron ジョブをスケジュールしました。この設定は 1 年間問題なく機能し、勤怠管理が効率的に自動化されました。

Chrome 拡張機能への移行

1 年後、私はスクリプトを Chrome 拡張機能に変換してソリューションを強化することにしました。これにより、同僚との共有が容易になりました。拡張機能の仕組みは次のとおりです:

  1. セットアップ: 拡張機能をインストールすると、オフィスの出勤時刻と退勤時刻を入力し、退勤するまでの時間を指定するよう求められます。
  2. アラームのメカニズム: この拡張機能は、Chrome アラームが 15 分ごとに実行されるように設定します。出勤時刻に達すると、クエリ パラメーター (?CLK_IN=true) を使用して Keka Web サイトが開きます。
  3. コンテンツ スクリプト: 拡張機能には、クエリ パラメーターを解析し、出勤または退勤プロセスをトリガーするコンテンツ スクリプトが含まれています。成功すると、成功メッセージがバックグラウンド サービスに送信され、バックグラウンド サービスが出勤時刻を記録し、それに応じて退勤時刻をスケジュールします。

Code Against the Clock : Automating Attendance Management

[CRON Job (Every 15 minutes)] ---> [Node.js Script]
                         \-------> [Check Time] ---> [Clock In/Out]
                         \-------> [Notify (Slack)]
ログイン後にコピー
ログイン後にコピー

この合理化されたアプローチにより、出席管理がさらに簡単になりました!

注: ソース コードに興味がある場合は、お気軽にご連絡ください。

あなたの番です!

コードを使用してタスクを自動化したことがありますか?以下のコメント欄であなたの経験やヒントを共有してください!自動化できたらいいなと思うタスクは何ですか?話し合いましょう!

この自動化の旅にご参加いただきありがとうございます。さらにヒントや最新情報を入手するには、私のブログを購読することを忘れないでください。コーディングを楽しんでください!

以上が時間に負けないコード : 勤怠管理の自動化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート