package jp.mosp.common;

public class MosPMenuConst {

	protected static final String NAM_ATTENDANCE_CALCULATE	= "<勤怠計算>"; 	

	/*人事関連*/
	private static final String[] MENU_HUMAN 				= { "H1010", "社員一覧"		};
	private static final String[] MENU_HUMAN_INSERT 		= { "H1020", "社員新規登録"	};

	/*勤怠集計関連*/
	private static final String[] MENU_ATTENDANCE_CALCULATE 		= { "P1010", "勤怠計算"		};
	private static final String[] MENU_ATTENDANCE_CALCULATE_START = { "P1020", "計算開始"		};
	private static final String[] MENU_ATTENDANCE_COMPILE 		= { "P1030", "勤怠集計"		};
	private static final String[] MENU_COMPILE_AMENDMENT 			= { "P1040", "勤怠修正"		};
	private static final String[] MENU_ATTENDANCE_EXPORT 			= { "P1050", "帳票出力"		};
	private static final String[] MENU_ATTENDANCE_CALCULATE_END 	= { "P1060", "計算終了"		};
	private static final String[] MENU_KEISAN_INFORMATION 		= { "S1100", "勤怠計算情報"	};
	private static final String[] MENU_EXPORT 					= { "S1200", "エクスポート"	};

	/*有給関連*/
	private static final String[] MENU_YUKYU_MANAGEMENT = { "P1110", "有休管理"	};

	/*勤怠関連*/
	private static final String[] MENU_ATTENDANCE 			= { "K1010", "勤怠"			};
	private static final String[] MENU_SCHEDULE 				= { "K1200", "スケジュール"	};
	private static final String[] MENU_PAID_HOLIDAY 			= { "K1300", "有休確認"		};
	private static final String[] MENU_MOSP_PASSWORD 			= { "C1050", "パスワード変更"	};
	private static final String[] MENU_EMPLOYEE_ATTENDANCE 	= { "K2010", "社員一覧"		};

	/*システム関連*/
	private static final String[] MENU_KAISYA_MASTER 				= { "S2010", "事業所マスタ保守"	};
	private static final String[] MENU_SYOZOKU_MASTER 			= { "S2100", "所属マスタ保守"		};
	private static final String[] MENU_YAKUSYOKU_MASTER 			= { "S2200", "役職マスタ保守"		};
	private static final String[] MENU_KINTAI_SYSTEM_DEFINITION 	= { "S2500", "勤怠情報設定"		};
	private static final String[] MENU_REASON_MENU 				= { "S2590", "各種理由設定"		};
	private static final String[] MENU_YUKYU_INFORMATION 			= { "S2700", "有休情報設定"		};
	private static final String[] MENU_WORK_TYPE_MASTER 			= { "S2600", "勤務形態マスタ保守"	};
	private static final String[] MENU_HOLIDAY_MASTER 			= { "S2710", "祝祭日マスタ保守"	};
	private static final String[] MENU_ACCOUNT_MASTER 			= { "S2400", "アカウント管理"		};
	private static final String[] MENU_CODE_MASTER 				= { "S2300", "コードマスタ保守"	};
	private static final String[] MENU_CM_CODE 					= { "S2000", "共通コード保守"		};
	private static final String[] MENU_APPROVAL 					= { "S2800", "承認情報設定"		};

	private static final String[] MENU_OPTION_FUNCTION = { "O9910", "オプション保守"	};

	/*申請関連*/
	private static final String[] MENU_APPLICATION 			= { "K1400", "各種申請"		};
	private static final String[] MENU_OVER_TIME_REQUEST 		= { "K1410", "残業申請"		};

	/*承認関連*/
	private static final String[] MENU_MANAGER_APPROVAL 		= { "K2100", "各種承認"		};
	private static final String[] MENU_EMPLOYEE_APPROVAL 		= { "K2110", "勤怠承認"		};
	private static final String[] MENU_RELEVANT_KINTAI 		= { "K2130", "勤怠関連承認"	};


	/*従業員用コマンドの配列*/
	private static final String[][] CMD_EMPLOYEE_ARRAY = {
		MENU_ATTENDANCE,
		MENU_SCHEDULE,
		MENU_PAID_HOLIDAY,
		MENU_APPLICATION,
		MENU_MOSP_PASSWORD
	};

	/*マネージャー用コマンドの配列*/
	private static final String[][] CMD_MANAGER_ARRAY = {
		MENU_EMPLOYEE_ATTENDANCE,
		MENU_MANAGER_APPROVAL
	};

	/*給与用コマンドの配列*/
	private static final String[][] CMD_PAYROLL_ARRAY = {
		MENU_ATTENDANCE_CALCULATE,
		MENU_ATTENDANCE_CALCULATE_START,
		MENU_ATTENDANCE_COMPILE,
		MENU_COMPILE_AMENDMENT,
		MENU_ATTENDANCE_EXPORT,
		MENU_ATTENDANCE_CALCULATE_END,
		MENU_YUKYU_MANAGEMENT,
		MENU_KEISAN_INFORMATION,		
		MENU_EXPORT
	};

	/*人事用コマンドの配列*/
	private static final String[][] CMD_HUMAN_ARRAY = {
		MENU_HUMAN,
		MENU_HUMAN_INSERT
	};

	/*勤怠計算用コマンドの配列*/
	private static final String[] CMD_CALC_ARRAY = {
		MENU_ATTENDANCE_CALCULATE[0],
		MENU_ATTENDANCE_CALCULATE_START[0],
		MENU_ATTENDANCE_COMPILE[0],
		MENU_COMPILE_AMENDMENT[0],
		MENU_ATTENDANCE_EXPORT[0],
		MENU_ATTENDANCE_CALCULATE_END[0]
	};

	/*システム用コマンドの配列*/
	private static final String[][] CMD_SYSTEM_ARRAY = {
		MENU_KAISYA_MASTER,
		MENU_SYOZOKU_MASTER,
		MENU_YAKUSYOKU_MASTER,
		MENU_KINTAI_SYSTEM_DEFINITION,
		MENU_REASON_MENU,
		MENU_YUKYU_INFORMATION,
		MENU_WORK_TYPE_MASTER,
		MENU_HOLIDAY_MASTER,
		MENU_ACCOUNT_MASTER,
		MENU_MOSP_PASSWORD,
		MENU_CODE_MASTER,
		MENU_CM_CODE,
		MENU_APPROVAL,
		MENU_OPTION_FUNCTION
	};

	/**
	 * 給与(計算機能制限つき)用コマンドの配列作成 cmd,name
	 * @return array
	 */
	public static String[][] getPayrollRestrictCalcArray() {
		String[][] array = {								
				MENU_ATTENDANCE_COMPILE,
				MENU_COMPILE_AMENDMENT,
				MENU_ATTENDANCE_EXPORT,				
				MENU_YUKYU_MANAGEMENT
		};
		return array.clone();
	}

	/**
	 * 給与登録画面表示用コマンドの配列作成 cmd,name
	 * @return array
	 */
	public static String[][] getViewPayrollCmdArray() {
		String[][] array = {
				{ MENU_ATTENDANCE_CALCULATE_START[0],	NAM_ATTENDANCE_CALCULATE + MENU_ATTENDANCE_CALCULATE_START[1]	},
				{ MENU_ATTENDANCE_COMPILE[0]		,	NAM_ATTENDANCE_CALCULATE + MENU_ATTENDANCE_COMPILE[1]			},
				{ MENU_COMPILE_AMENDMENT[0]			,	NAM_ATTENDANCE_CALCULATE + MENU_COMPILE_AMENDMENT[1]			},
				{ MENU_ATTENDANCE_EXPORT[0]			,	NAM_ATTENDANCE_CALCULATE + MENU_ATTENDANCE_EXPORT[1]			},
				{ MENU_ATTENDANCE_CALCULATE_END[0]	,	NAM_ATTENDANCE_CALCULATE + MENU_ATTENDANCE_CALCULATE_END[1]		},
				MENU_YUKYU_MANAGEMENT,
				MENU_KEISAN_INFORMATION,		
				MENU_EXPORT
		};
		return array.clone();
	}

	// アクセサメソッド
	/**
	 * 従業員用コマンドの配列
	 * @return array
	 */
	public static String[][] getEmployeeCmdArray() {
		return CMD_EMPLOYEE_ARRAY.clone();
	}

	/**
	 * マネージャー用コマンドの配列
	 * @return array
	 */
	public static String[][] getManagerCmdArray() {
		return CMD_MANAGER_ARRAY.clone();
	}

	/**
	 * 給与用コマンドの配列
	 * @return array
	 */
	public static String[][] getPayrollCmdArray() {
		return CMD_PAYROLL_ARRAY.clone();
	}

	/**
	 * 人事用コマンドの配列
	 * @return array
	 */
	public static  String[][] getHumanCmdArray() {
		return CMD_HUMAN_ARRAY.clone();
	}

	/**
	 * 勤怠計算用コマンドの配列
	 * @return array
	 */
	public static String[] getCalcCmdArray() {
		return CMD_CALC_ARRAY.clone();
	}

	/**
	 * システム用コマンドの配列
	 * @return array
	 */
	public static String[][] getSystemCmdArray() {
		return CMD_SYSTEM_ARRAY.clone();
	}

	/**
	 * 各種申請メニューコマンド配列取得
	 * @return	各種申請メニューコマンド配列
	 */
	public static String[][] getApplicationCmdArray() {
		return new String[][] {
				MENU_OVER_TIME_REQUEST
		};
	}

	/**
	 * 各種承認メニューコマンド配列取得
	 * @return	各種承認メニューコマンド配列
	 */
	public static String[][] getApprovalCmdArray() {
		return new String[][] {
				MENU_EMPLOYEE_APPROVAL,
				MENU_RELEVANT_KINTAI
		};
	}


	protected static String[] MENU_HUMAN() {
		return MENU_HUMAN.clone();
	}

	protected static String[] MENU_ACCOUNT_MASTER() {
		return MENU_ACCOUNT_MASTER.clone();
	}

	protected static String[] MENU_APPROVAL() {
		return MENU_APPROVAL.clone();
	}

	protected static String[] MENU_ATTENDANCE() {
		return MENU_ATTENDANCE.clone();
	}

	protected static String[] MENU_ATTENDANCE_CALCULATE() {
		return MENU_ATTENDANCE_CALCULATE.clone();
	}

	protected static String[] MENU_ATTENDANCE_CALCULATE_END() {
		return MENU_ATTENDANCE_CALCULATE_END.clone();
	}

	protected static String[] MENU_ATTENDANCE_CALCULATE_START() {
		return MENU_ATTENDANCE_CALCULATE_START.clone();
	}

	protected static String[] MENU_ATTENDANCE_COMPILE() {
		return MENU_ATTENDANCE_COMPILE.clone();
	}

	protected static String[] MENU_ATTENDANCE_EXPORT() {
		return MENU_ATTENDANCE_EXPORT.clone();
	}

	protected static String[] MENU_CM_CODE() {
		return MENU_CM_CODE.clone();
	}

	protected static String[] MENU_CODE_MASTER() {
		return MENU_CODE_MASTER.clone();
	}

	protected static String[] MENU_COMPILE_AMENDMENT() {
		return MENU_COMPILE_AMENDMENT.clone();
	}

	protected static String[] MENU_EMPLOYEE_APPROVAL() {
		return MENU_EMPLOYEE_APPROVAL.clone();
	}

	protected static String[] MENU_EMPLOYEE_ATTENDANCE() {
		return MENU_EMPLOYEE_ATTENDANCE.clone();
	}

	protected static String[] MENU_EXPORT() {
		return MENU_EXPORT.clone();
	}

	protected static String[] MENU_HOLIDAY_MASTER() {
		return MENU_HOLIDAY_MASTER.clone();
	}

	protected static String[] MENU_HUMAN_INSERT() {
		return MENU_HUMAN_INSERT.clone();
	}

	protected static String[] MENU_KAISYA_MASTER() {
		return MENU_KAISYA_MASTER.clone();
	}

	protected static String[] MENU_KEISAN_INFORMATION() {
		return MENU_KEISAN_INFORMATION.clone();
	}

	protected static String[] MENU_KINTAI_SYSTEM_DEFINITION() {
		return MENU_KINTAI_SYSTEM_DEFINITION.clone();
	}

	protected static String[] MENU_MOSP_PASSWORD() {
		return MENU_MOSP_PASSWORD.clone();
	}

	protected static String[] MENU_OPTION_FUNCTION() {
		return MENU_OPTION_FUNCTION.clone();
	}

	protected static String[] MENU_PAID_HOLIDAY() {
		return MENU_PAID_HOLIDAY.clone();
	}

	protected static String[] MENU_REASON_MENU() {
		return MENU_REASON_MENU.clone();
	}

	protected static String[] MENU_SCHEDULE() {
		return MENU_SCHEDULE.clone();
	}

	protected static String[] MENU_SYOZOKU_MASTER() {
		return MENU_SYOZOKU_MASTER.clone();
	}

	protected static String[] MENU_WORK_TYPE_MASTER() {
		return MENU_WORK_TYPE_MASTER.clone();
	}

	protected static String[] MENU_YAKUSYOKU_MASTER() {
		return MENU_YAKUSYOKU_MASTER.clone();
	}

	protected static String[] MENU_YUKYU_INFORMATION() {
		return MENU_YUKYU_INFORMATION.clone();
	}

	protected static String[] MENU_YUKYU_MANAGEMENT() {
		return MENU_YUKYU_MANAGEMENT.clone();
	}

	/**
	 * 各種申請
	 * @return	各種申請
	 */
	protected String[] MENU_APPLICATION() {
		return MENU_APPLICATION.clone();
	}

}
