休暇申請APIプログラミングガイド

改訂情報

変更年月日 変更内容
2013-10-01 初版

はじめに

本書の目的

本書では、勤怠管理システムへ休暇データを入力するAPIの基本的な使い方などについて説明します。

対象読者

次の開発者を対象としています。

  • 勤怠管理システムと休暇申請処理とを連携したい開発者
  • Javaでのintra-mart Accel Platformの開発経験がある開発者

基本編

勤怠管理システムから情報を取得する

勤務体系を取得する

PaidHoliday api = new PaidHoliday();
boolean all = false; // 非表示の勤務体系も含め取得するかどうか
List<ShiftPattern> shifts = api.getShiftPatternList(all);
for (ShiftPattern shift : shifts) {
    System.out.println(shift.shiftPatternCd); // 勤務体系コード
    System.out.println(shift.shiftPatternName); // 勤務体系名
    System.out.println(shift.dispFlag); // 表示/非表示: 勤務体系マスタメンテナンスの表示モードで設定できます
    System.out.println(shift.sortKey); // ソートキー
    System.out.println(shift.note); // 備考
}

業務を取得する

PaidHoliday api = new PaidHoliday();
String userCd = "aoyagi"; // ユーザが登録できる業務を取得
boolean all = false; // 非表示の業務も含め取得するかどうか
List<Business> businesses = api.getBusinessList(userCd, all);
for (Business business : businesses) {
    System.out.println(business.businessCd); // 業務コード
    System.out.println(business.businessName); // 業務名
    System.out.println(business.dispFlag); // 表示/非表示: 業務マスタメンテナンスの表示モードで設定できます
    System.out.println(business.sortKey); // ソートキー
    System.out.println(business.note); // 備考
}

勤怠登録情報を取得する

PaidHoliday api = new PaidHoliday();
String userCd = "aoyagi"; // ユーザの勤怠登録を取得
DateTime date = new DateTime(Contexts.get(AccountContext.class).getTimeZone()); // 今日の勤怠登録を取得
List<AttendanceInfo> attendances = api.getRegisteredAttendance(userCd, date);
for (AttendanceInfo attendance : attendances) {
    System.out.println(attendance.userCd); // ユーザコード
    System.out.println(attendance.attendDate); // 勤務日
    System.out.println(attendance.shiftPatternCd); // 勤務体系コード
    for (WorkInfo work ; attendance.businessInfoList()) { // 勤務日に登録されている業務の情報
        System.out.println(work.userCd); // ユーザコード
        System.out.println(work.attendDate); // 勤務日
        System.out.println(work.businessCd); // 業務コード
        System.out.println(work.businessName); // 業務名
        System.out.println(work.attendStartTime); // 業務開始時間
        System.out.println(work.attendEndTime); // 業務終了時間
        System.out.println(work.outStartTime); // 外出開始時間
        System.out.println(work.outEndTime); // 外出終了時間
        System.out.println(work.note); // 備考
    }
    System.out.println(attendance.note); // 備考
}

休暇情報を勤怠管理システムに登録する

勤務を登録する

PaidHoliday api = new PaidHoliday();
String userCd = "aoyagi"; // 登録対象ユーザコード
DateTime attendDate = new DateTime(Contexts.get(AccountContext.class).getTimeZone()); // 登録対象日
String shiftPatternCd = "shift"; // 勤務体系コード
String authUserCd = "system"; // 登録者コード
String businessCd = "business"; // 業務コード
String startTime = "09:00"; // 業務開始時間
String endTime = "18:00"; // 業務終了時間
PaidHolidayRegisterParameter parameter = PaidHolidayRegisterParameter
    .builder(userCd, attendDate, shiftPatternCd, authUserCd) // 必須パラメータ
    .shiftNote("勤務体系備考")
    .businessCd(businessCd)
    .time(startTime, endTime)
    .businessNote("業務備考")
    .validation(true) // 実行時に勤務体系コード、業務コード、時間が正しいかチェックするか
    .overWrite(true) // 既に登録されている勤務を削除して、登録するか
    .build(); // パラメータを作成
api.register(parameter); // 登録(validationが通らないとき、パラメータが足りないときに例外が発生します)

API リファレンス