/** * メソッド概要 ・対象年月を設定する * * @param ・なし * @return ・なし */ public void fEtexExecuteRecognitionSetTargetDate() { /* 日付 */ String stgYM = clsRecognitionCtlBean.getRecognitionSerchDate(); /* 起動モード振り分け */ switch (Integer.parseInt(clsRecognitionCtlBean.getRecognitionBootMode())) { case ETEX_RECOGNITION_BOOT_BEFORE_MONTH: /* 前月遷移呼び出し */ clsRecognitionCtlBean.setRecognitionSerchDate( fEtexGeneralStringUtilEqualsOppositeChk( fEtexGeneralDateUtilGetAdjustYMD( ETEX_GENERAL_DATE_BEFORE, ETEX_GENERAL_DATE_MODE_YM, stgYM, "/"), ETEX_GENERAL_STRING_EMPTY, stgYM)); break; case ETEX_RECOGNITION_BOOT_NEXT_MONTH: /* 次月遷移呼び出し */ clsRecognitionCtlBean.setRecognitionSerchDate( fEtexGeneralStringUtilEqualsOppositeChk( fEtexGeneralDateUtilGetAdjustYMD( ETEX_GENERAL_DATE_NEXT, ETEX_GENERAL_DATE_MODE_YM, stgYM, "/"), ETEX_GENERAL_STRING_EMPTY, stgYM)); break; default: /* 対象年月があるかチェック */ if (clsRecognitionCtlBean.getRecognitionSerchDate() == null) { /* システム年/月を対象年月に設定 */ clsRecognitionCtlBean.setRecognitionSerchDate( fEtexGeneralDateUtilGetYMD(ETEX_GENERAL_DATE_MODE_YM, ETEX_RECOGNITION_STRING_SLASH)); } break; } }
/** * メソッド概要 ・データベース操作に使用するSQLを生成する * * @param ・intParamMode データベースを操作する種別 * @param ・objParam 上位からの任意パラメータ * @return ・成功:「""」以外 失敗:「""」 */ public String fEtexExecuteRecognitionPublishSql(int intParamMode, Object objParam) { /* SQLデータ */ String stgResultSql = null; /* SQLバッファ */ StringBuffer stgBufSql = null; /* 更新者 */ String upd_id = null; /* 社員コード */ String MD010010V = null; /* 年月日 */ String TD100020V = null; /* index */ int TD100030I = 0; /* 精算区分 */ String TD100170C = null; /* データベース操作種別による、swithc分岐 */ switch (intParamMode) { case ETEX_RECOGNITION_DB_SELECT_EITD100: /* 交通費精算トランザクション検索 */ /* 対象社員コード*/ MD010010V = clsRecognitionCtlBean.getRecognitionSerchStaffCode(); /* 対象年月 */ TD100020V = clsRecognitionCtlBean.getRecognitionSerchDate(); /* 対象年月チェック */ if (fEtexGeneralDateUtilFormatChk(ETEX_GENERAL_DATE_MODE_YM, TD100020V) != true) { TD100020V = "0000/00"; } /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_150); if (MD010010V.equals("000-0000") == true) { /* 全社員検索 */ stgBufSql.append("SELECT EITD100.*, EIMD010.MD010110V, EIMD010.MD010120V FROM "); stgBufSql.append("EITD100, EIMD010 "); stgBufSql.append("WHERE "); stgBufSql.append("EITD100.MD010010V = EIMD010.MD010010V "); stgBufSql.append("AND "); stgBufSql.append("EITD100.TD100020V "); stgBufSql.append("LIKE '"); stgBufSql.append(TD100020V); stgBufSql.append("%' "); stgBufSql.append("ORDER BY "); stgBufSql.append("EIMD010.MD010120V "); stgBufSql.append(","); stgBufSql.append("EITD100.TD100020V "); stgBufSql.append(","); stgBufSql.append("EITD100.TD100030I "); stgBufSql.append("ASC"); } else { /* 指定社員検索 */ stgBufSql.append("SELECT EITD100.*, EIMD010.MD010110V FROM "); stgBufSql.append("EITD100, EIMD010 "); stgBufSql.append("WHERE "); stgBufSql.append("EITD100.MD010010V = EIMD010.MD010010V "); stgBufSql.append("AND "); stgBufSql.append("EITD100.MD010010V "); stgBufSql.append("= '"); stgBufSql.append(MD010010V); stgBufSql.append("' "); stgBufSql.append("AND "); stgBufSql.append("EITD100.TD100020V "); stgBufSql.append("LIKE '"); stgBufSql.append(TD100020V); stgBufSql.append("%' "); stgBufSql.append("ORDER BY "); stgBufSql.append("EITD100.TD100020V "); stgBufSql.append(","); stgBufSql.append("EITD100.TD100030I "); stgBufSql.append("ASC"); } stgResultSql = stgBufSql.toString(); break; case ETEX_RECOGNITION_DB_SELECT_EITD100_EX: /* 交通費精算トランザクション検索(承認チェック) */ /* 対象社員コード*/ MD010010V = fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_CODE); /* 対象年月 */ TD100020V = fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_DATE); /* index */ TD100030I = Integer.parseInt( fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_INDEX)); /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_100); stgBufSql.append("SELECT * FROM "); stgBufSql.append("EITD100 "); stgBufSql.append("WHERE "); stgBufSql.append("MD010010V "); stgBufSql.append("= '"); stgBufSql.append(MD010010V); stgBufSql.append("' "); stgBufSql.append("AND "); stgBufSql.append("TD100020V "); stgBufSql.append("= '"); stgBufSql.append(TD100020V); stgBufSql.append("' and "); stgBufSql.append("TD100030I "); stgBufSql.append("= "); stgBufSql.append(TD100030I); stgBufSql.append(" AND "); stgBufSql.append("TD100170C "); stgBufSql.append("= '"); stgBufSql.append("0"); stgBufSql.append("'"); stgResultSql = stgBufSql.toString(); break; case ETEX_RECOGNITION_DB_SELECT_EITD100_EX2: /* 交通費精算トランザクション検索(解除チェック) */ /* 対象社員コード*/ MD010010V = fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_CODE); /* 対象年月 */ TD100020V = fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_DATE); /* index */ TD100030I = Integer.parseInt( fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_INDEX)); /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_100); stgBufSql.append("SELECT * FROM "); stgBufSql.append("EITD100 "); stgBufSql.append("WHERE "); stgBufSql.append("MD010010V "); stgBufSql.append("= '"); stgBufSql.append(MD010010V); stgBufSql.append("' "); stgBufSql.append("AND "); stgBufSql.append("TD100020V "); stgBufSql.append("= '"); stgBufSql.append(TD100020V); stgBufSql.append("' AND "); stgBufSql.append("TD100030I "); stgBufSql.append("= "); stgBufSql.append(TD100030I); stgBufSql.append(" AND "); stgBufSql.append("TD100170C "); stgBufSql.append("= '"); stgBufSql.append("1"); stgBufSql.append("'"); stgResultSql = stgBufSql.toString(); break; case ETEX_RECOGNITION_DB_SELECT_EIMD010_EX: /* 社員マスタ検索(社員名:退職者除く) */ /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_100); if (clsRecognitionCtlBean.getRecognitionChkRetirement()) { /* 退職者含む */ stgBufSql.append("SELECT * FROM "); stgBufSql.append("EIMD010 "); stgBufSql.append("ORDER BY "); stgBufSql.append("MD010120V "); stgBufSql.append("ASC"); } else { /* 退職者含まない */ stgBufSql.append("SELECT * FROM "); stgBufSql.append("EIMD010 "); stgBufSql.append("WHERE "); stgBufSql.append("MD010220C "); stgBufSql.append("= '0' "); stgBufSql.append("ORDER BY "); stgBufSql.append("MD010120V "); stgBufSql.append("ASC"); } stgResultSql = stgBufSql.toString(); break; case ETEX_RECOGNITION_DB_UPDATE_EITD100: /* 交通費精算トランザクション更新(承認チェック)*/ /* 更新者 */ upd_id = fEtexGeneralSessionUtilSessionGetSessionBean( clsRecognitionCtlBean.getRecognitionRequest()) .getStaffCode(); /* 精算区分 */ TD100170C = fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_KUBUN); /* 対象社員コード*/ MD010010V = fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_CODE); /* 年月日 */ TD100020V = fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_DATE); /* index */ TD100030I = Integer.parseInt( fEtexExecuteRecognitionGetChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_INDEX)); /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_150); stgBufSql.append("UPDATE "); stgBufSql.append("EITD100 "); stgBufSql.append("SET "); stgBufSql.append("TD100170C "); stgBufSql.append("= '"); stgBufSql.append(TD100170C); stgBufSql.append("', "); stgBufSql.append("upd_id = '"); stgBufSql.append(upd_id); stgBufSql.append("', "); stgBufSql.append("upd_date = now() "); stgBufSql.append(", "); stgBufSql.append("TD100200V "); stgBufSql.append("= '"); stgBufSql.append(upd_id); stgBufSql.append("', "); stgBufSql.append("TD100210D "); stgBufSql.append("= "); stgBufSql.append("now() "); stgBufSql.append("WHERE "); stgBufSql.append("MD010010V "); stgBufSql.append("= '"); stgBufSql.append(MD010010V); stgBufSql.append("' AND "); stgBufSql.append("TD100020V "); stgBufSql.append("= '"); stgBufSql.append(TD100020V); stgBufSql.append("' AND "); stgBufSql.append("TD100030I "); stgBufSql.append("= "); stgBufSql.append(TD100030I); stgResultSql = stgBufSql.toString(); break; case ETEX_RECOGNITION_DB_UPDATE_EITD100_EX: /* 交通費精算トランザクション更新(解除チェック)*/ /* 更新者 */ upd_id = fEtexGeneralSessionUtilSessionGetSessionBean( clsRecognitionCtlBean.getRecognitionRequest()) .getStaffCode(); /* 精算区分 */ TD100170C = fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_KUBUN); /* 対象社員コード*/ MD010010V = fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_CODE); /* 年月日 */ TD100020V = fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_DATE); /* index */ TD100030I = Integer.parseInt( fEtexExecuteRecognitionGetcancellationChkBox( Integer.parseInt(((String) objParam)), ETEX_RECOGNITION_CHKBOX_GET_INDEX)); /* SQL生成 */ stgBufSql = new StringBuffer(ETEX_GENERAL_DB_SQL_BUF_150); stgBufSql.append("UPDATE "); stgBufSql.append("EITD100 "); stgBufSql.append("SET "); stgBufSql.append("TD100170C "); stgBufSql.append("= '"); stgBufSql.append(TD100170C); stgBufSql.append("', "); stgBufSql.append("upd_id = '"); stgBufSql.append(upd_id); stgBufSql.append("', "); stgBufSql.append("upd_date = now() "); stgBufSql.append(", "); stgBufSql.append("TD100200V "); stgBufSql.append("= '"); stgBufSql.append(""); stgBufSql.append("', "); stgBufSql.append("TD100210D "); stgBufSql.append("= "); stgBufSql.append("NULL "); stgBufSql.append("WHERE "); stgBufSql.append("MD010010V "); stgBufSql.append("= '"); stgBufSql.append(MD010010V); stgBufSql.append("' AND "); stgBufSql.append("TD100020V "); stgBufSql.append("= '"); stgBufSql.append(TD100020V); stgBufSql.append("' AND "); stgBufSql.append("TD100030I "); stgBufSql.append("= "); stgBufSql.append(TD100030I); stgResultSql = stgBufSql.toString(); break; default: stgResultSql = ETEX_GENERAL_STRING_EMPTY; break; } return stgResultSql; }
/** * メソッド概要 ・入力データのチェックを行う * * @param ・なし * @return ・なし */ public void fEtexExecuteRecognitionDataCtl() { /* 次フェーズの設定 */ clsRecognitionCtlBean.setRecognitionPhase(ETEX_RECOGNITION_PHASE_READ); /* 起動種別によるswitch */ switch (Integer.parseInt(clsRecognitionCtlBean.getRecognitionBootMode())) { case ETEX_RECOGNITION_BOOT_SELECT_MONTH_CNV: /* 対象年月変更呼び出し */ case ETEX_RECOGNITION_BOOT_BEFORE_MONTH: /* 前月遷移変更呼び出し */ case ETEX_RECOGNITION_BOOT_NEXT_MONTH: /* 次月遷移変更呼び出し */ case ETEX_RECOGNITION_BOOT_SELECT_STAFF_CNV: /* 対象者変更呼び出 */ case ETEX_RECOGNITION_BOOT_SELECT_RETIRE_CNV: /* 退職者チェック呼び出し */ /* 対象年月入力チェック */ if ((clsRecognitionCtlBean.getRecognitionSerchDate() == null) || (clsRecognitionCtlBean.getRecognitionSerchDate().equals("") == true)) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_INPUT_TARGET_DATE); return; } /* 対象年月形式/対象年月有効範囲チェック */ if (fEtexGeneralDateUtilYYYYMMMMDDChk( ETEX_GENERAL_DATE_MODE_YM, clsRecognitionCtlBean.getRecognitionSerchDate()) != true) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_FORMAT_TARGET_DATE); return; } break; default: /* 承認日付入力チェック */ if ((clsRecognitionCtlBean.getRecognitionDate() == null) || (clsRecognitionCtlBean.getRecognitionDate().equals("") == true)) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_INPUT_DATE); return; } /* 承認日付形式/承認日付有効範囲チェック */ if (fEtexGeneralDateUtilYYYYMMMMDDChk( ETEX_GENERAL_DATE_MODE_YMD, clsRecognitionCtlBean.getRecognitionDate()) != true) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_FORMAT_DATE); return; } /* 対象年月入力チェック */ if ((clsRecognitionCtlBean.getRecognitionSerchDate() == null) || (clsRecognitionCtlBean.getRecognitionSerchDate().equals("") == true)) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_INPUT_TARGET_DATE); return; } /* 対象年月形式/対象年月有効範囲チェック */ if (fEtexGeneralDateUtilYYYYMMMMDDChk( ETEX_GENERAL_DATE_MODE_YM, clsRecognitionCtlBean.getRecognitionSerchDate()) != true) { /* エラー */ clsRecognitionCtlBean.setRecognitionErr(ETEX_RECOGNITION_ERR_FORMAT_TARGET_DATE); return; } /* 次フェーズの設定 */ clsRecognitionCtlBean.setRecognitionPhase(ETEX_RECOGNITION_PHASE_ENYRY); break; } }