アルバイトの給料計算プログラム(GAS)
Googleカレンダーをベースに給料計算を行う。
指定したカレンダーに「バイト」or「バイト仮」の名称のイベントを作成することで、給料が自動的に計算される。
給料を計算後、プログラムは給料日に終日イベントを作成する。
そのイベントの説明欄に計算された給料が記される。
- シフトの管理はGoogleカレンダーで行う。
- シフトのイベント名は「バイト」or「バイト仮」であること。
![](https://private-user-images.githubusercontent.com/76419486/345093720-e8d2dfe5-c7c2-4d0a-aeb1-e55397c01aa0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNjYyNTcsIm5iZiI6MTczOTI2NTk1NywicGF0aCI6Ii83NjQxOTQ4Ni8zNDUwOTM3MjAtZThkMmRmZTUtYzdjMi00ZDBhLWFlYjEtZTU1Mzk3YzAxYWEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjExVDA5MjU1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThjZjU2NDhmNTNjMTNmM2FiYWQ5NTM1MGMzYWZiM2ZhOGJmN2QyZjA2YjcyZTY4MzI2ODBmMWQxZDI5MjQyY2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._mJJpI6JwWux6fMOF9stRx0LLt3z0bZRf46WdGd997o)
- 時給は以下の4パターンが存在し、それぞれ時給が設定される
- 平日 昼
- 平日 夜
- 休日(土日祝) 昼
- 休日(土日祝) 夜
- 夜間手当は、特定の時間以降の労働に対し支給される
- 交通費は以下の2パターンが存在する
- 日給
- 月給
- 給料日は毎月15日で、該当日が土日祝だった場合は繰り上げられ、前日の支給となる
- この繰り上げは繰り返し行われるため、15日(日)の場合、給料日は13日(金)となる
- 所得税等、税金関係は考慮しない
// シフトを管理するカレンダーのID
const calendar = CalendarApp.getCalendarById('[email protected]');
// 祝日カレンダーのID(これは変更しない)
const jpHoliday = CalendarApp.getCalendarById("ja.japanese#[email protected]");
// 給料の定義
const salary = {
"weekday": {"normal": 1030, "night": 1130},
"weekend": {"normal": 1130, "night": 1130}
};
// 夜間手当支給開始時間の定義
const nightStartTime = 1700;
// 交通費(par 日)
const transpoEvery = 420;
// 交通費(par 月)
const transpoMonth = 0;
お好みのタイミングでトリガーを設定してください。
私は1時間おきに設定しています。
トリガーに指定する関数はrunCalThisMonth
(今月分給料)もしくは、runCalNextMonth
(来月分給料)です。
お好みで選択してください。両方でも構いません。