/* **************************************************************************************
* ここでは期間化マスタの例として
* jp.co.slcs.kaiden.v2.base.foundation.master.AbstractTermMasterA2MaintenanceControllerクラスを継承します。
* 非期間化マスタの場合はjp.co.slcs.kaiden2.base.foundation.master.AbstractMasterA2MaintenanceControllerクラスを継承します。
* ************************************************************************************** */
public class DeptAdminFuncController extends AbstractTermMasterA2MaintenanceController {
@Autowired
public DeptAdminFuncLogic deptAdminFuncLogic;
/* **************************************************************************************
* 管理組織に所属するユーザ、を判定する基準日。
* ************************************************************************************** */
protected Timestamp a2CriteriaDate;
/* **************************************************************************************
* 権限コードを宣言します。
* 権限コードは項目マスタに登録します。
* ************************************************************************************** */
protected static final String TARGET_AUTHORITY_ID_CD = "310004-XXX";
/* **************************************************************************************
* データ読み取り時(READER)のアクセス権フィルタ取得メソッドを記述します。
* ************************************************************************************** */
@Override
protected AuthorizedAccessUserFilterIF[] getReadAuthorizedAccessUserFilter() {
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();
authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();
/* **************************************************************************************
* 管理組織を取得する際の基準日を設定します。
* ************************************************************************************** */
authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();
authCriteria.userCd = contextHelper.getLoginUserCd();
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,
"%会社コード%", a2CriteriaDate, TARGET_AUTHORITY_ID_CD, false);
return new AuthorizedAccessUserFilterIF[] {filter};
}
/* **************************************************************************************
* データ書き込み時(WRITER)のアクセス権フィルタ取得メソッドを記述します。
* ************************************************************************************** */
@Override
protected AuthorizedAccessUserFilterIF[] getWriteAuthorizedAccessUserFilter() {
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();
authCriteria.action = CompanyAuthzActionType.WRITER;
authCriteria.locale = contextHelper.getLoginUserLocale();
authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();
authCriteria.userCd = contextHelper.getLoginUserCd();
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,
"%会社コード%", a2CriteriaDate, TARGET_AUTHORITY_ID_CD, false);
return new AuthorizedAccessUserFilterIF[] {filter};
}
/* **************************************************************************************
* Logic取得メソッド。AbstractTermMasterA2MaintenanceActionが利用します。
* Logicにフィルタ情報をセットして返却します。
* ************************************************************************************** */
@Override
protected AbstractMasterA2MaintenanceLogic getLogic() {
deptAdminFuncLogic.setReadA2Filter(getReadAuthorizedAccessUserFilter());
deptAdminFuncLogic.setWriteA2Filter(getWriteAuthorizedAccessUserFilter());
deptAdminFuncLogic.setCallerAction(this.getClass());
return deptAdminFuncLogic;
}
/* **************************************************************************************
* 検索画面で検索ボタンを押下したときのアクション。
* ************************************************************************************** */
@Override
public String search(HttpServletRequest request, HttpServletResponse response, Form form, Model model) {
/* **************************************************************************************
* 管理組織に所属するユーザ、を判定する基準日をセットします。
* ************************************************************************************** */
a2CriteriaDate = dateHelper.toTimestamp("%基準日%");
return super.search(request, response, form, model);
}
// ・
// ・
// ・
// ・
// 以降、イベントに対応するメソッドを記述
}