あるシステムで営業日を管理したいとの要望があります。
営業日とは休日・祝日を除く、いわゆる平日を指します。
今のところDBにテーブルを追加し、1960年~2050年までの営業日を登録・管理する方法を検討しております。
が、メンテナンス方法に悩んでおります。
今後、祝日が増える場合等、都度テーブルのメンテナンスが発生=工数発生で、お客様的にはうれしくないでしょうし、メンテナンス機能等を開発してお客様にメンテナンスを委譲するの喜ばれないでしょうし・・・
極力手の掛からない管理方法などご存知でしたらご教授いただけないでしょうか。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
.NET スペシャリストです。
考え方としてはそれでOKだと思います。
営業日は企業や子会社によっても異なります。
普通、こういう時に使用されるプロバイダモデルという設計手法を用いて、休日を提供するコンポーネントを作成すると、ロジックが変わっても挿げ替えがとても楽なのですが、ロジックの再編は工数がおおきくなります。
プログラムのライフサイクルと、企業の寿命を考えて、テーブルで管理するのも悪い方法ではありません。
ですが、それである以上は、メンテナンス機能は必須になります。
ビジネスアプリケーションは、例外的な動きに対応することを考慮しなくてはなりませんので。
メンテナンスは必須としても、どこまでが許容範囲なのかですが、
まさか日付をひたすら列挙ではだめでしょう。
休日が何種類あるのかを考えると、それほど難しくありません。
・固定曜日
・固定日
(有効年度範囲が必要かも)
・規則性のある日(X月第Y番目Z曜日)
(有効年度範囲が必要かも)
※ 過ぎたデータを使わないのなら有効年度範囲は不要
このデータがあれば、日付を与えた時にそれが休日であるかどうかの判別は可能なはずです。
また、メンテナンス範囲は、固定曜日はチェックのみ。固定日・規則性のある日は日付一覧(おそらく10程度)のみ。変更頻度は数年に1度。
こういうのって、外部サービスでもあればうれしいのですが。。
ご回答ありがとうございます。
やはりテーブル管理は妥当みたいですね。
となるとメンテ画面のインターフェースを考えなくてはいけませんね。
お客様のご要望を確認してみたいと思います。
ありがとうございます。
No.1
- 回答日時:
SE兼PGです。
ローンの利子計算のために銀行の休業日を管理するプログラムを組んだことがあります。
休業日としては次の種類があります。
1.特定月日の祝日
2.特定曜日の祝日(ハッピーマンデー法)
3.春分の日、秋分の日
4.振替休日(法律改正で一昨年から月曜以外にも発生します)
5.祝日と祝日に挟まれた日(国民の祝日)
6.土曜日、日曜日
7.年末、年始
1~5は対象年も考慮する必要があります。
3の春分の日、秋分の日は正式には2年後までしか決まっていませんが、ネットで調べれば2100年ぐらいまでは分かります。
今後祝日が増えるとしたら、1と2の場合ですが、そのときのお客様は自分でメンテナンスしてもいいということで、1と2の祝日を変更できるようなプログラムを作成しました。
それ以外の法律改正(4、5のような祝日)は対応できませんのでプログラム修正となることは了承してもらいました。
プログラムではなくてテーブルで管理する場合は、1年間のカレンダーを画面に表示して休業日(営業日)をチェックしてもらい、それをテーブルにするというのはどうでしょうか。
ご回答ありがとうございます。
完全PGMは考えてませんでした。
テーブルでデータ持つ方がイニシャル・ランニング共にコストが少ないかと思いまして。(^_^;)(ただの横着って噂も・・・・)
両方のメリ/デメを出して、お客様に判断頂いて見ようかと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 郵便・宅配 佐川急便の配達予定日が4日後なのですが… 4 2022/07/16 21:36
- その他(ビジネス・キャリア) 勤怠管理について(備えておくべきもの) 3 2022/09/08 10:51
- 消費者問題・詐欺 駐車場調べ隊というサイトで、会員登録してましたが 無料期間で退会するためサイトで申し込みしたところ 2 2023/06/03 23:22
- IT・エンジニアリング IT開発、ソフトウェア開発、アプリ開発において、要件定義は受注の前か、後か? 見積額に含むか否か? 1 2022/06/20 19:02
- その他(パソコン・周辺機器) 低価格な入札。問題はないのですか? 2 2022/12/25 12:46
- 労働相談 飲食店勤務のスタッフの勤怠管理について 新規事業で飲食店を始めたのですが、深夜営業もあり勤怠管理が難 2 2023/04/23 15:56
- 借地・借家 住宅管理委託契約の合意更新をわすれた 2 2023/01/28 08:20
- IT・エンジニアリング 外部業者と工程管理。どう管理してますか? 2 2022/07/07 16:53
- 会社・職場 ご高齢の方ってどうしてこうなるんですか? 4 2023/03/26 07:37
- 弁護士・行政書士・司法書士・社会保険労務士 司法試験合格者の司法書士試験の受験について 3 2022/08/31 16:40
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
ExcelVBAからAccessMDB内のテー...
-
SQLを発行とは?クエリの作成と...
-
VB.NETでのAccessテーブルリンク
-
COBOLのINVALID KEYが理解でき...
-
HTMLのテーブルの行数が多くな...
-
リストボックスに複数列表示し...
-
他のMDBのテーブルに追加したい
-
エクセルのテーブルを解除する...
-
手動または分散トランザクショ...
-
アクセステーブル、リンクとロ...
-
営業日の管理方法
-
ACCESS2010 実行時エラー 2766
-
【ADO】「Execute」を使うと...
-
Accessで別mdbのテーブルをコピー
-
Access SQLITEのリンクテーブ...
-
複数のテーブルからのデータ取...
-
ADO&mdbで、リンクテーブルの...
-
DataGridViewに複数テーブルの...
-
[C#] DataGridViewでコンボボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLを発行とは?クエリの作成と...
-
『列名 '担当者CD' があいま...
-
AccessからExcelへエクスポート...
-
ExcelVBAからAccessMDB内のテー...
-
エクセルのテーブルを解除する...
-
VBとアクセスでSQL文に変...
-
手動または分散トランザクショ...
-
Accessで別mdbのテーブルをコピー
-
ACCESS2010 実行時エラー 2766
-
他のMDBのテーブルに追加したい
-
CSVファイルのエクスポートでソ...
-
DataGridViewに複数テーブルの...
-
COBOLのINVALID KEYが理解でき...
-
HTMLのテーブルの行数が多くな...
-
.net 複数の主キーを設定する方法
-
ワークテーブルの作成について
-
Excel複数シートをaccessへ一括...
-
Accessで宛名ラベルに同一宛先...
-
★クリスタルレポートの元になる...
-
DataGridの中身をDataSetにテー...
おすすめ情報