/*
 * MosP - Mind Open Source Project    http://www.mosp.jp/
 * Copyright (C) MIND Co., Ltd.       http://www.e-mind.co.jp/
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package jp.mosp.common;

/**
 * @author yoshida
 *
 */
public class MosPMenuConst {
	
	/**
	 * 
	 */
	private MosPMenuConst() {
		// Do not use.
	}
	

	/*人事関連*/
	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_COMPILE_EXPORT				= { "S1230", "エクスポート(勤怠)" };
	private static final String[]	MENU_COMPILE_IMPORT				= { "S1240", "インポート(勤怠)" };
	
	/*有休関連*/
	private static final String[]	MENU_PAID_HOLIDAY_MANAGEMENT	= { "P1100", "有休管理" };
	
	/*代休関連*/
	private static final String[]	MENU_SUB_HOLIDAY_MANAGEMENT		= { "P1300", "代休管理" };
	private static final String[]	MENU_SUB_HOLIDAY_ATTITUDE		= { "K1150", "代休意向確認" };
	
	/*勤怠関連*/
	private static final String[]	MENU_ATTENDANCE					= { "K1010", "勤怠" };
	private static final String[]	MENU_SCHEDULE					= { "K1200", "スケジュール" };
	private static final String[]	MENU_PAID_HOLIDAY_CONFIRM		= { "K1300", "有休確認" };
	private static final String[]	MENU_MOSP_PASSWORD				= { "C1050", "パスワード変更" };
	private static final String[]	MENU_EMPLOYEE_ATTENDANCE		= { "K2010", "社員一覧" };
	
	/*システム関連*/
	private static final String[]	MENU_CM_CODE					= { "S2000", "共通コード保守" };
	private static final String[]	MENU_KAISYA_MASTER				= { "S2010", "事業所マスタ保守" };
	private static final String[]	MENU_CODE_MASTER				= { "S2020", "コードマスタ保守" };
	private static final String[]	MENU_WORK_SYSTEM				= { "S2030", "勤怠情報保守" };
	private static final String[]	MENU_SYOZOKU_MASTER				= { "S2100", "所属マスタ保守" };
	private static final String[]	MENU_YAKUSYOKU_MASTER			= { "S2200", "役職マスタ保守" };
	private static final String[]	MENU_REASON_MASTER				= { "S2300", "各種理由設定" };
	private static final String[]	MENU_ACCOUNT_MASTER				= { "S2400", "アカウント管理" };
	private static final String[]	MENU_LABOR_AGREEMENT			= { "S2500", "労使協定保守" };
	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_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_HOLIDAY_REQUEST			= { "K1420", "休暇申請" };
	
	/*承認関連*/
	private static final String[]	MENU_MANAGER_APPROVAL			= { "K2100", "各種承認" };
	private static final String[]	MENU_EMPLOYEE_APPROVAL			= { "K2110", "勤怠承認" };
	private static final String[]	MENU_RELEVANT_KINTAI			= { "K2130", "勤怠関連承認" };
	

	/**
	 * 給与(計算機能制限つき)用コマンドの配列作成 cmd,name
	 * @return array
	 */
	public static String[][] getPayrollRestrictCalcArray() {
		return new String[][]{ getMenuAttendanceCompile(), getMenuCompileAmendment(), getMenuAttendanceExport(),
			getMenuPaidHolidayManagement(), getMenuSubHolidayManagement() };
	}
	
	/**
	 * 給与登録画面表示用コマンドの配列作成 cmd,name
	 * @return array
	 */
	public static String[][] getViewPayrollCmdArray() {
		return new String[][]{
			{ getMenuAttendanceCalculateStart()[0],
				CommonConst.NAM_ATTENDANCE_CALCULATE_VIEW + getMenuAttendanceCalculateStart()[1] },
			{ getMenuAttendanceCompile()[0], CommonConst.NAM_ATTENDANCE_CALCULATE_VIEW + getMenuAttendanceCompile()[1] },
			{ getMenuCompileAmendment()[0], CommonConst.NAM_ATTENDANCE_CALCULATE_VIEW + getMenuCompileAmendment()[1] },
			{ getMenuAttendanceExport()[0], CommonConst.NAM_ATTENDANCE_CALCULATE_VIEW + getMenuAttendanceExport()[1] },
			{ getMenuAttendanceCalculateEnd()[0],
				CommonConst.NAM_ATTENDANCE_CALCULATE_VIEW + getMenuAttendanceCalculateEnd()[1] },
			getMenuPaidHolidayManagement(), getMenuSubHolidayManagement(), getMenuKeisanInformation(), getMenuExport() };
	}
	
	/**
	 * 各種申請メニューコマンド配列取得
	 * @return	各種申請メニューコマンド配列
	 */
	public static String[][] getApplicationCmdArray() {
		return new String[][]{ getMenuOverTimeRequest(), getMenuHolidayRequest(), };
	}
	
	/**
	 * 各種承認メニューコマンド配列取得
	 * @return	各種承認メニューコマンド配列
	 */
	public static String[][] getApprovalCmdArray() {
		return new String[][]{ getMenuEmployeeApproval(), getMenuRelevantKintai() };
	}
	
	// アクセサメソッド
	
	/**
	 * 従業員用コマンドの配列
	 * @return CMD_EMPLOYEE_ARRAY
	 */
	public static String[][] getCmdEmployeeArray() {
		return new String[][]{ getMenuAttendance(), getMenuSchedule(), getMenuPaidHolidayConfirm(),
			getMenuApplication(), getMenuMospPassword() };
	}
	
	/**
	 * マネージャー用コマンドの配列
	 * @return CMD_MANAGER_ARRAY
	 */
	public static String[][] getCmdManagerArray() {
		return new String[][]{ getMenuEmployeeAttendance(), getMenuManagerApproval(), };
	}
	
	/**
	 * 給与用コマンドの配列
	 * @return CMD_PAYROLL_ARRAY
	 */
	public static String[][] getCmdPayrollArray() {
		return new String[][]{ getMenuAttendanceCalculate(), getMenuAttendanceCalculateStart(),
			getMenuAttendanceCompile(), getMenuCompileAmendment(), getMenuAttendanceExport(),
			getMenuAttendanceCalculateEnd(), getMenuPaidHolidayManagement(), getMenuSubHolidayManagement(),
			getMenuKeisanInformation(), getMenuExport(), getMenuCompileExport(), getMenuCompileImport() };
	}
	
	/**
	 * 人事用コマンドの配列
	 * @return CMD_HUMAN_ARRAY
	 */
	public static String[][] getCmdHumanArray() {
		return new String[][]{ getMenuHuman(), getMenuHumanInsert() };
	}
	
	/**
	 * 勤怠計算用コマンドの配列
	 * @return CMD_CALC_ARRAY
	 */
	public static String[] getCmdCalcArray() {
		return new String[]{ getMenuAttendanceCalculate()[0], getMenuAttendanceCalculateStart()[0],
			getMenuAttendanceCompile()[0], getMenuCompileAmendment()[0], getMenuAttendanceExport()[0],
			getMenuAttendanceCalculateEnd()[0], getMenuCompileExport()[0], getMenuCompileImport()[0], };
	}
	
	/**
	 * システム用コマンドの配列
	 * @return CMD_SYSTEM_ARRAY
	 */
	public static String[][] getCmdSystemArray() {
		return new String[][]{ getMenuKaisyaMaster(), getMenuSyozokuMaster(), getMenuYakusyokuMaster(),
			getMenuWorkSystem(), getMenuLaborAgreement(), getMenuReasonMaster(), getMenuYukyuInformation(),
			getMenuWorkTypeMaster(), getMenuHolidayMaster(), getMenuAccountMaster(), getMenuMospPassword(),
			getMenuCodeMaster(), getMenuCmCode(), getMenuApproval(), getMenuOptionFunction() };
	}
	
	/**
	 * @return menuHuman
	 */
	public static String[] getMenuHuman() {
		return MENU_HUMAN.clone();
	}
	
	/**
	 * @return menuHumanInsert
	 */
	public static String[] getMenuHumanInsert() {
		return MENU_HUMAN_INSERT.clone();
	}
	
	/**
	 * @return menuAttendanceCalculate
	 */
	public static String[] getMenuAttendanceCalculate() {
		return MENU_ATTENDANCE_CALCULATE.clone();
	}
	
	/**
	 * @return menuAttendanceCalculateStart
	 */
	public static String[] getMenuAttendanceCalculateStart() {
		return MENU_ATTENDANCE_CALCULATE_START.clone();
	}
	
	/**
	 * @return menuAttendanceCompile
	 */
	public static String[] getMenuAttendanceCompile() {
		return MENU_ATTENDANCE_COMPILE.clone();
	}
	
	/**
	 * @return menuCompileAmendment
	 */
	public static String[] getMenuCompileAmendment() {
		return MENU_COMPILE_AMENDMENT.clone();
	}
	
	/**
	 * @return menuAttendanceExport
	 */
	public static String[] getMenuAttendanceExport() {
		return MENU_ATTENDANCE_EXPORT.clone();
	}
	
	/**
	 * @return menuAttendanceCalculateEnd
	 */
	public static String[] getMenuAttendanceCalculateEnd() {
		return MENU_ATTENDANCE_CALCULATE_END.clone();
	}
	
	/**
	 * @return menuKeisanInformation
	 */
	public static String[] getMenuKeisanInformation() {
		return MENU_KEISAN_INFORMATION.clone();
	}
	
	/**
	 * @return menuExport
	 */
	public static String[] getMenuExport() {
		return MENU_EXPORT.clone();
	}
	
	/**
	 * @return menuPaidHolidayManagement
	 */
	public static String[] getMenuPaidHolidayManagement() {
		return MENU_PAID_HOLIDAY_MANAGEMENT.clone();
	}
	
	/**
	 * @return menuSubHolidayManagement
	 */
	public static String[] getMenuSubHolidayManagement() {
		return MENU_SUB_HOLIDAY_MANAGEMENT.clone();
	}
	
	/**
	 * @return menuSubHolidayAttitude
	 */
	public static String[] getMenuSubHolidayAttitude() {
		return MENU_SUB_HOLIDAY_ATTITUDE.clone();
	}
	
	/**
	 * @return menuAttendance
	 */
	public static String[] getMenuAttendance() {
		return MENU_ATTENDANCE.clone();
	}
	
	/**
	 * @return menuSchedule
	 */
	public static String[] getMenuSchedule() {
		return MENU_SCHEDULE.clone();
	}
	
	/**
	 * @return menuPaidHolidayConfirm
	 */
	public static String[] getMenuPaidHolidayConfirm() {
		return MENU_PAID_HOLIDAY_CONFIRM.clone();
	}
	
	/**
	 * @return menuMospPassword
	 */
	public static String[] getMenuMospPassword() {
		return MENU_MOSP_PASSWORD.clone();
	}
	
	/**
	 * @return menuEmployeeAttendance
	 */
	public static String[] getMenuEmployeeAttendance() {
		return MENU_EMPLOYEE_ATTENDANCE.clone();
	}
	
	/**
	 * @return menuKaisyaMaster
	 */
	public static String[] getMenuKaisyaMaster() {
		return MENU_KAISYA_MASTER.clone();
	}
	
	/**
	 * @return menuCodeMaster
	 */
	public static String[] getMenuCodeMaster() {
		return MENU_CODE_MASTER.clone();
	}
	
	/**
	 * @return menuSyozokuMaster
	 */
	public static String[] getMenuSyozokuMaster() {
		return MENU_SYOZOKU_MASTER.clone();
	}
	
	/**
	 * @return menuYakusyokuMaster
	 */
	public static String[] getMenuYakusyokuMaster() {
		return MENU_YAKUSYOKU_MASTER.clone();
	}
	
	/**
	 * @return menuReasonMaster
	 */
	public static String[] getMenuReasonMaster() {
		return MENU_REASON_MASTER.clone();
	}
	
	/**
	 * @return menuWorkSystem
	 */
	public static String[] getMenuWorkSystem() {
		return MENU_WORK_SYSTEM.clone();
	}
	
	/**
	 * @return menuYukyuInformation
	 */
	public static String[] getMenuYukyuInformation() {
		return MENU_YUKYU_INFORMATION.clone();
	}
	
	/**
	 * @return menuWorkTypeMaster
	 */
	public static String[] getMenuWorkTypeMaster() {
		return MENU_WORK_TYPE_MASTER.clone();
	}
	
	/**
	 * @return menuHolidayMaster
	 */
	public static String[] getMenuHolidayMaster() {
		return MENU_HOLIDAY_MASTER.clone();
	}
	
	/**
	 * @return menuAccountMaster
	 */
	public static String[] getMenuAccountMaster() {
		return MENU_ACCOUNT_MASTER.clone();
	}
	
	/**
	 * @return menuCmCode
	 */
	public static String[] getMenuCmCode() {
		return MENU_CM_CODE.clone();
	}
	
	/**
	 * @return MENU_APPROVAL
	 */
	public static String[] getMenuApproval() {
		return MENU_APPROVAL.clone();
	}
	
	/**
	 * @return menuOptionFunction
	 */
	public static String[] getMenuOptionFunction() {
		return MENU_OPTION_FUNCTION.clone();
	}
	
	/**
	 * @return MENU_APPLICATION
	 */
	public static String[] getMenuApplication() {
		return MENU_APPLICATION.clone();
	}
	
	/**
	 * @return menuOverTimeRequest
	 */
	public static String[] getMenuOverTimeRequest() {
		return MENU_OVER_TIME_REQUEST.clone();
	}
	
	/**
	 * @return menuHolidayRequest
	 */
	public static String[] getMenuHolidayRequest() {
		return MENU_HOLIDAY_REQUEST.clone();
	}
	
	/**
	 * @return menuManagerApproval
	 */
	public static String[] getMenuManagerApproval() {
		return MENU_MANAGER_APPROVAL.clone();
	}
	
	/**
	 * @return menuEmployeeApproval
	 */
	public static String[] getMenuEmployeeApproval() {
		return MENU_EMPLOYEE_APPROVAL.clone();
	}
	
	/**
	 * @return menuRelevantKintai
	 */
	public static String[] getMenuRelevantKintai() {
		return MENU_RELEVANT_KINTAI.clone();
	}
	
	/**
	 * @return menuLaborAgreement
	 */
	public static String[] getMenuLaborAgreement() {
		return MENU_LABOR_AGREEMENT.clone();
	}
	
	/**
	 * @return menuCompileExport
	 */
	public static String[] getMenuCompileExport() {
		return MENU_COMPILE_EXPORT.clone();
	}
	
	/**
	 * @return menuCompileImport
	 */
	public static String[] getMenuCompileImport() {
		return MENU_COMPILE_IMPORT.clone();
	}
	
}
