- PR -

日数を元に処理をしたい。

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-07-04 21:34
引用:

NAL-6295さんの書き込み (2007-07-04 20:40) より:

最初の年の6ヶ月と、そこからの1年を分けて考えるのではなく、毎年決まった有給が発生する月を社員毎に設定しておけば、楽かもしれません。


私が開発したうちのシステムがまさにこの形態を取っています。入社後半年で有給更新月があり、その後は 1 年毎の更新となり 「月」 自体は変わりません。また今後入社してくる社員から制度が変わることもありますのでそうしています。(実際 20 年前の社員は入社した月が有給更新月でした)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
オウドー
ベテラン
会議室デビュー日: 2007/06/05
投稿数: 59
投稿日時: 2007-07-05 09:14
一郎さん、NAL-6295さん、じゃんぬねっとさんお返事ありがとうございます。

まず、初めに一郎さんへの返答ですがif文を・・・という方法も考えましたが
あまりに冗長になるので諦めました。

NAL-6295さんへ

というのは、システムに社員を登録する際にユーザーにそのような設定を行わせると
いうことでしょうか。

じゃんぬねっとさんへ

最初の6ヵ月だけ判断し、そこから1年毎に付与って形にすればってことでしょうか。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2007-07-05 09:38
NAL-6295です。

引用:

というのは、システムに社員を登録する際にユーザーにそのような設定を行わせると
いうことでしょうか。



1.社員が新しく登録された際に、毎年の有給取得月を計算する。
2.仰るとおり社員を新しく登録する際に、ユーザが設定する。(ユーザといっても、社員を登録する権限がもてるのは人事ぐらいですよね。)

の選択肢があると思います。
制度変更の事を考えると2案が良さそうですが、
入力欄に初期値を1案で設定しておき、最終的には2案で登録するというのも良いかもしれません。
オウドー
ベテラン
会議室デビュー日: 2007/06/05
投稿数: 59
投稿日時: 2007-07-05 09:55
引用:

NAL-6295さんの書き込み (2007-07-05 09:38) より:
NAL-6295です。

引用:

というのは、システムに社員を登録する際にユーザーにそのような設定を行わせると
いうことでしょうか。



1.社員が新しく登録された際に、毎年の有給取得月を計算する。
2.仰るとおり社員を新しく登録する際に、ユーザが設定する。(ユーザといっても、社員を登録する権限がもてるのは人事ぐらいですよね。)

の選択肢があると思います。
制度変更の事を考えると2案が良さそうですが、
入力欄に初期値を1案で設定しておき、最終的には2案で登録するというのも良いかもしれません。



お返事ありがとうございます。NAL-6295さんの言いたいことはわかりますが
いまいちイメージが浮かびません。設定するとは何を設定するのかと思いまして。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2007-07-05 10:28
NAL-6295です。

引用:

お返事ありがとうございます。NAL-6295さんの言いたいことはわかりますが
いまいちイメージが浮かびません。設定するとは何を設定するのかと思いまして。



社員マスタ等、社員を管理するマスタがあるのであれば、それに有給取得月を設定しておくという感じです。
オウドー
ベテラン
会議室デビュー日: 2007/06/05
投稿数: 59
投稿日時: 2007-07-05 10:40
皆様、いつもお世話になっております。

今、現在有休に関して思い浮かんだ事があるので評価お願いします。

有休テーブル
社員ID 有休付与 フラグ

上記の社員IDとは社員テーブルを参照しています。社員IDには入社日も含まれています。

そして、社員テーブルから入社日を抽出し、入社日から6ヵ月後を求め、システム日付が
6ヵ月後を超えていれば有休付与列に有休付与する。(10日)それと同時にフラグ列に1を挿入する。で、有休テーブルの社員ID 有休付与 フラグをインデックスキーで一意にすればいけると思うんですがいかがでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-07-05 10:41
引用:

オウドーさんの書き込み (2007-07-05 09:14) より:

じゃんぬねっとさんへ
最初の6ヵ月だけ判断し、そこから1年毎に付与って形にすればってことでしょうか。


違います。それだと "また今後入社してくる社員から制度が変わることもありますのでそうしています" を満たすことができません。

引用:

NAL-6295さんの書き込み (2007-07-05 10:28) より:

社員マスタ等、社員を管理するマスタがあるのであれば、それに有給取得月を設定しておくという感じです。


ということです。データとして用意しておくということです。

ロジックには日付の計算を埋めることはせず (データ依存になりませんから) その月が迎えたかどうかだけのロジックを入れておきます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
オウドー
ベテラン
会議室デビュー日: 2007/06/05
投稿数: 59
投稿日時: 2007-07-05 10:52
引用:

社員マスタ等、社員を管理するマスタがあるのであれば、それに有給取得月を設定しておくという感じです。



NAL-6295さん、じゃんぬねっとさんお返事ありがとうございます。

上記の文でますます?になってしまいました。
初年度の6ヵ月から5年6ヵ月までは毎年有休付与数が変わるので仮に有休取得月を設定しても無意味だと思っております。

じゃんぬねっとさんへ

有休取得日をデータとしてもっておいて”その日がくれば行われる処理”を書くだけと
いうことですよね?

スキルアップ/キャリアアップ(JOB@IT)