🕌
SmartHR→jinjerへ部署情報を更新する
はじめに
SmartHR→jinjerへの部署更新が思ったより手間取ったのでメモ。
対応の流れ(データ視点)
なぜSmartHRからAPI,CSV両方とも取得しているかの表
項目 | jinjer | SmartHR |
---|---|---|
部署_親コード | 必要 | APIからしか取得できない |
部署_所属長 | 必要 | CSVからしか取得できない |
SmartHRデータについては以下参照
1. 部署情報の更新
- SmartHRの組織図から組織図形式でダウンロード
- ダウンロードファイルを変換用シートにインポート。数式でインポート用のシートができるのでjinjerにインポート
参考
jinjerの場合、最上位の組織codeは1であるので、自社の最上位の組織codeの親codeを1にする必要がある。そのため以下カスタム関数をspreadsheetで組んだ。
function GET_PARENT_CODE(codeList, SmartHRDepartmentList) {
return codeList.map(row => {
const code = row[0];
if(code === "xxxxxxxxxxxx") return 1;
const department = SmartHRDepartmentList.find(row => code === row[0]);
return department[1];
});
}
2. 従業員情報の更新
- jinjerで社員台帳(インポート用)をエクスポートして、変換用シートにインポート
- 変換用シートをCSVでダウンロードしてjinjerにインポート。数式でインポート用のシートをつくってjinjerにインポート。
なお、変更する箇所はおもに
- 所属グループ(主務)
- 役職
まとめ
部署や人事DBの統一規格みたいなものがあればいいのにな。他にも部署が必要な箇所もあり、それぞれでプログラミングを行っている。
Discussion