🕌

SmartHR→jinjerへ部署情報を更新する

に公開

はじめに

SmartHR→jinjerへの部署更新が思ったより手間取ったのでメモ。

対応の流れ(データ視点)

なぜSmartHRからAPI,CSV両方とも取得しているかの表

項目 jinjer SmartHR
部署_親コード 必要 APIからしか取得できない
部署_所属長 必要 CSVからしか取得できない

SmartHRデータについては以下参照
https://zenn.dev/nag8/articles/a54ad54d12eb9a

1. 部署情報の更新

  1. SmartHRの組織図から組織図形式でダウンロード
  2. ダウンロードファイルを変換用シートにインポート。数式でインポート用のシートができるのでjinjerにインポート


参考
https://jinjer-jinji.zendesk.com/hc/ja/articles/360037928211-所属グループを作成-編集する#h_9991dd47-ba09-427e-bd39-d72ee0a85e17

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. 従業員情報の更新

  1. jinjerで社員台帳(インポート用)をエクスポートして、変換用シートにインポート
  2. 変換用シートをCSVでダウンロードしてjinjerにインポート。数式でインポート用のシートをつくってjinjerにインポート。

なお、変更する箇所はおもに

  • 所属グループ(主務)
  • 役職

まとめ

部署や人事DBの統一規格みたいなものがあればいいのにな。他にも部署が必要な箇所もあり、それぞれでプログラミングを行っている。

ランサーズ株式会社

Discussion