@Component @Scope(value="prototype") public class WsAgreementLogic extends AbstractMasterMaintenanceLogic
修飾子とタイプ | クラスと説明 |
---|---|
protected static class |
WsAgreementLogic.Convertor
コンバータ.
|
contextHelper, dateHelper, propertyHelper
コンストラクタと説明 |
---|
WsAgreementLogic() |
entryAjax, getSearchAjaxCriteria, removeAjax, renewAjax, searchAjax, toDisabledAjax, toDisabledAjax, toEnabledAjax, toEnabledAjax
protected static final String JSP_AREA_BASIC
protected static final String JSP_AREA_CTLHEADER
public static final String FIELD_KEY_NEW_START_DATE
public static final String FIELD_KEY_NEW_END_DATE
@Autowired public WsAgreementManager wsAgreementManager
@Autowired public WsAgreementVariableManager wsAgreementVariableManager
@Autowired public WsAgreementFlexManager wsAgreementFlexManager
@Autowired public WsAgreementTermManager wsAgreementTermManager
@Autowired public WsAgreementAttManager wsAgreementAttManager
@Autowired public WsAgrPeriodManager wsAgrPeriodManager
@Autowired public WorkStatusManager workStatusManager
@Autowired public WsCategoryManager wsCategoryManager
@Autowired public WsAgrDailyManager wsAgrDailyManager
@Autowired public WsAgrPeriodFlexManager wsAgrPeriodFlexManager
@Autowired public WsAgreementConductor wsAgreementConductor
@Autowired public LaborDateHelper laborDateHelper
@Autowired public RequiredValidator requiredValidator
@Autowired public TimeValidator timeValidator
@Autowired public TimeMaxValidator timeMaxValidator
@Autowired public DateValidator dateValidator
@Autowired public DateRangeValidator dateRangeValidator
@Autowired public DateMin2Validator dateMin2Validator
protected MasterManager<? extends KaidenDto> getManager()
getManager
クラス内 AbstractMasterMaintenanceLogic
@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto entryAjax(AbstractMasterMaintenanceForm form, String msgId) throws KaidenHaventAuthorityToCompanyException, KaidenDuplicationEntryException
勤務体系マスタ(K31M_WS_AGREEMENT)、勤務体系マスタ(変形労働)(K31M_WS_AGR_VARIABLE)、勤務体系マスタ(フレックス)(K31M_WS_AGR_FLEX)を同時に登録します。
entryAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値 ※updateDataJsonのみ利用msgId
- 処理成功後に表示するメッセージKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenDuplicationEntryException
- データ重複@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto removeAjax(AbstractMasterMaintenanceForm form, String msgId) throws KaidenHaventAuthorityToCompanyException
勤務体系マスタ(K31M_WS_AGREEMENT)、勤務体系マスタ(変形労働)(K31M_WS_AGR_VARIABLE)、勤務体系マスタ(フレックス)(K31M_WS_AGR_FLEX)を同時に削除します。
removeAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値 ※criteriaJsonのみ利用msgId
- 処理成功後に表示するメッセージKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto renewOpenedAjax(AbstractMasterMaintenanceForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenDuplicationEntryException, KaidenOptimisticLockException
OPEN状態のみ可能です。
勤務体系マスタ(K31M_WS_AGREEMENT)を更新します。
form
- 画面から送信された値 ※criteriaJsonのみ利用KaidenNotFoundTargetDataException
- 対象データが見つからないKaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto renewWsANameAndOpenShiftDaysAjax(AbstractMasterMaintenanceForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenDuplicationEntryException
勤務体系マスタ(K31M_WS_AGREEMENT)の勤務体系名と自動オープン基準日数のみ更新します。
form
- 画面から送信された値 ※criteriaJsonのみ利用KaidenNotFoundTargetDataException
- 対象データが見つからないKaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新@Transactional public LogicResultDto selectPeriodTermAjax(WsAgreementForm form) throws KaidenNotFoundTargetDataException, KaidenDuplicationEntryException, KaidenHaventAuthorityToCompanyException
OPEN済み期間を保持している勤務体系において、
勤務体系別締め期間一覧に対象期間を保持していない場合は期間分割します。分割後の期間コードを取得します。
対象期間を保持している場合は何もせず、期間コードを取得します。
OPEN状態のみ可能です。
form
- 画面から送信された値KaidenNotFoundTargetDataException
- 対象データが見つからないKaidenDuplicationEntryException
- データ重複KaidenHaventAuthorityToCompanyException
- 権限のない会社への更新@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto renewAjax(AbstractMasterMaintenanceForm form, String msgId) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenDuplicationEntryException
未OPEN状態(一度もオープンしていない)のみ可能です。
勤務体系マスタ(K31M_WS_AGREEMENT)、勤務体系マスタ(変形労働)(K31M_WS_AGR_VARIABLE)、勤務体系マスタ(フレックス)(K31M_WS_AGR_FLEX)を同時に更新します。
renewAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値 ※criteriaJsonのみ利用msgId
- 処理成功後に表示するメッセージKaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新protected String[] getKeywordSearchTargetCol()
getKeywordSearchTargetCol
クラス内 AbstractMasterMaintenanceLogic
protected List<String> getI18nTargetField()
getI18nTargetField
クラス内 AbstractMasterMaintenanceLogic
protected Map<String,Object> getInputData(AbstractMasterMaintenanceForm form)
getInputData
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値protected Map<String,Object> getControlHeaderInputData(AbstractMasterMaintenanceForm form)
form
- 画面から送信された値protected Map<String,Object> getBasicSettingInputData(AbstractMasterMaintenanceForm form)
form
- 画面から送信された値protected Map<String,Object> getDetailSettingInputData(AbstractMasterMaintenanceForm form)
form
- 画面から送信された値protected WsAgreementVariableManagerDto getWsaVariableInputData(Map<String,Object> map)
map
- 画面から送信された値protected WsAgreementFlexManagerDto getWsaFlexInputData(Map<String,Object> map)
map
- 画面から送信された値protected Map<String,String> getSurfaces()
getSurfaces
クラス内 AbstractMasterMaintenanceLogic
@Transactional public LogicResultDto searchAjax(AbstractMasterMaintenanceForm form)
デフォルトのコンバータ(書式変換なし)を利用して、キーワード検索を行います
searchAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値AbstractMasterMaintenanceLogic.searchAjax(AbstractMasterMaintenanceForm, ConvertForJsonSource)
@Transactional public LogicResultDto selectAjax(AbstractMasterMaintenanceForm form)
※国際化されているテーブルの場合、ロケール数分のレコードが返却されます
デフォルトのコンバータ(書式変換なし)を利用して、レコードを返却します。
selectAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値 ※criteriaJsonのみ利用@Transactional public LogicResultDto selectAjax(AbstractMasterMaintenanceForm form, ConvertForJsonSource converter)
※国際化されているテーブルの場合、ロケール数分のレコードが返却されます
selectAjax
クラス内 AbstractMasterMaintenanceLogic
form
- 画面から送信された値 ※criteriaJsonのみ利用converter
- 書式変換コンバータprotected int countSavedWorkStatus(String companyCd, String wsAgreementCd)
companyCd
- 会社コードwsAgreementCd
- 勤務体系コード@Transactional public LogicResultDto selectWorkDaysAjax(WsAgreementForm form)
form
- 画面から送信された値protected WsAgreementAttManagerDto selectDetailSettingData(String companyCd, String wsAgreementCd, Timestamp searchCriteriaDate) throws KaidenNotFoundTargetDataException
companyCd
- 会社コードwsAgreementCd
- 勤務体系コードsearchCriteriaDate
- 検索基準日KaidenNotFoundTargetDataException
- 対象データが見つからない(期間コードが特定できない)protected List<WsAgrPeriodManagerDto> selectOpenedAndStandbyPeriodList(String companyCd, String wsAgreementCd, String lbrCloseCycleCd, short startDayOfMonth)
OPEN済み(会社締めしていない)に、次にOPENすべき期間を追加して返却します。
companyCd
- 会社コードwsAgreementCd
- 勤務体系コードlbrCloseCycleCd
- 締め期間サイクルコード(monthly、weekly)startDayOfMonth
- 年度開始日@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto reopendPeriodWsa(WsAgreementForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenDuplicationEntryException
form
- companyCd、wsAgreementCd、openApplyDateが必須ですKaidenNotFoundTargetDataException
- 対象データが見つからないKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラー@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto suspendPeriodWsa(WsAgreementForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenDuplicationEntryException
form
- companyCd、wsAgreementCd、openApplyDateが必須ですKaidenNotFoundTargetDataException
- 対象データが見つからないKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラー@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto openCancelPeriodWsa(WsAgreementForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenDuplicationEntryException, WsAgreementConductor.KaidenChangePeriodStatusErrorException, KaidenSystemException
form
- companyCd、wsAgreementCd、openApplyDateが必須ですKaidenNotFoundTargetDataException
- 対象データが見つからないKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーWsAgreementConductor.KaidenChangePeriodStatusErrorException
- 対象の勤務体系がキャンセル不可の場合の例外KaidenSystemException
- 皆伝!システムエラー@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto openPeriodWsa(WsAgreementForm form) throws KaidenHaventAuthorityToCompanyException, KaidenDuplicationEntryException, KaidenOptimisticLockException, WsAgreementConductor.KaidenChangePeriodStatusErrorException
form
- companyCd、wsAgreementCd、openApplyDateが必須ですKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenDuplicationEntryException
- データ重複KaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーWsAgreementConductor.KaidenChangePeriodStatusErrorException
- 対象の勤務体系がOPEN不可の場合の例外@Transactional public Map<String,String> getWsCategoryData()
protected List<KaidenValidateResult> prescribedWorkingHoursValidate(WsAgreementAttManagerDto wsaAttData, String wsCategoryCd)
バリデーション種類 | 検証内容 |
---|---|
1日の所定労働時間 | 必須 |
1日の所定労働時間 | 時刻 |
1日の所定労働時間 | 勤務体系カテゴリ = 変形労働時間制 最大時刻(10:00) 勤務体系カテゴリ = 変形労働時間制以外 最大時刻(8:00) |
wsaAttData
- 検証対象wsCategoryCd
- 勤務体系カテゴリコードprotected List<KaidenValidateResult> nextApplyDateValidate(String nextApplyDate, String companyCd, String wsAgreementCd)
バリデーション種類 | 検証内容 |
---|---|
次回適用日 | 必須 |
次回適用日 | 日付 |
次回適用日 | 最小日付(最終OPEN済み締め開始日 < 次回適用日) |
nextApplyDate
- 次回適用日companyCd
- 会社コードwsAgreementCd
- 勤務体系コードprotected List<KaidenValidateResult> openApplyDateValidate(String openApplyDate, String companyCd, String wsAgreementCd)
バリデーション種類 | 検証内容 |
---|---|
OPEN適用日 | 必須 |
OPEN適用日 | 日付 |
openApplyDate
- OPEN適用日companyCd
- 会社コードwsAgreementCd
- 勤務体系コードprotected KaidenValidateResult makeValidResult(String fieldNmKey, String mainMsgKey, Object... args)
バリデーションチェックのエラー結果を格納します。
fieldNmKey
- チェック対象フィールド名mainMsgKey
- メインメッセージキーargs
- 置換文字列の配列@Transactional public Map<String,List<String>> getPeriodListStructure(String companyCd)
指定された会社の締め単位「月」の年度開始日の種類および締め単位「週」の起算曜日の一覧を返却します。
勤務体系マスタが以下のようになっている場合、の返却値の例を示します
勤務体系A | 締め単位:月 | 年度開始:01日 |
勤務体系B | 締め単位:月 | 年度開始:10日 |
勤務体系C | 締め単位:月 | 年度開始:10日 |
勤務体系a | 締め単位:週 | 起算曜日:月 |
勤務体系b | 締め単位:週 | 起算曜日:水 |
勤務体系c | 締め単位:週 | 起算曜日:月 |
返却値: {"monthly" : ["1" , "10"], "weekly": [月(の曜日コード), 水(の曜日コード)]} ※JSON形式で記載していますが、Map
companyCd
- 会社コードprotected AuthorityCriteriaDto getReadAuthCriteria()
protected AuthorityCriteriaDto getWriteAuthCriteria()
protected String concatYMD(String y, String m, String d)
日付の妥当性チェックなどは行いません
y
- 年を表す文字列m
- 月を表す文字列d
- 日を表す文字列protected String concatMD(String m, String d)
日付の妥当性チェックなどは行いません
m
- 月を表す文字列d
- 日を表す文字列protected PeriodDto getPeriod(Date searchCriteriaDate, String lbrCloseCycleCd, int lbrYearStartD, String lbrWeekStartCd)
searchCriteriaDate
- 検索基準日lbrCloseCycleCd
- 締め期間単位コードlbrYearStartD
- 年度開始日lbrWeekStartCd
- 起算曜日コード@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto divideTerm(AbstractMasterMaintenanceForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException
form
- 画面から送信された値 ※criteriaJsonのみ利用KaidenNotFoundTargetDataException
- 対象データが見つからないKaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenValidateException
- 検証エラー@Transactional(rollbackFor=java.lang.Exception.class) public LogicResultDto moveTerm(AbstractMasterMaintenanceForm form) throws KaidenNotFoundTargetDataException, KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException
form
- 画面から送信された値 ※criteriaJsonのみ利用KaidenNotFoundTargetDataException
- 対象データが見つからないKaidenOptimisticLockException
- 更新対象データが見つからない/楽観排他エラーKaidenHaventAuthorityToCompanyException
- 権限のない会社への更新KaidenValidateException
- 検証エラー@Transactional public List<KaidenValidateResult> validate4DivideTerm(String companyCd, String wsAgreementCd, String termCd, String divideDate)
以下のいづれかに合致する場合はチェックOKとして扱う。(空のリストを返却する)
companyCd
- 会社コードwsAgreementCd
- 勤務体系コードtermCd
- 期間コードdivideDate
- 分割日@Transactional public List<KaidenValidateResult> validate4MoveTerm(String companyCd, String wsAgreementCd, String termCd, String newStartDate, String newEndDate)
以下のいづれかに合致する場合はチェックOKとして扱う。(空のリストを返却する)
companyCd
- 会社コードwsAgreementCd
- 勤務体系コードtermCd
- 期間コードnewStartDate
- 新開始日newEndDate
- 新終了日Copyright © 2024 Sumitomo Life Information Systems Co., Ltd. All Rights Reserved.