///-------------------------------------------------------------------- /// <summary> /// 過去1年経過したmessageIDを削除する </summary> ///-------------------------------------------------------------------- private void pastMsgIdDelete() { // 待機カーソルにする this.Cursor = Cursors.WaitCursor; // データセットとアダプタ ryowaDataSet dts = new ryowaDataSet(); ryowaDataSetTableAdapters.messageIDTableAdapter adp = new ryowaDataSetTableAdapters.messageIDTableAdapter(); adp.Fill(dts.messageID); // 当日から1年前の日付を取得 DateTime dt = DateTime.Today.AddYears(-1); // 過去messageID削除 var ss = dts.messageID.Where(a => a.受信日時 < dt && a.RowState != DataRowState.Deleted); foreach (var t in ss) { t.Delete(); } // データベース更新 adp.Update(dts.messageID); // カーソルを戻す this.Cursor = Cursors.Default; }
/// ------------------------------------------------------------------------- /// <summary> /// 工事コンボボックスデータロード </summary> /// <param name="tempBox"> /// ロード先コンボボックスオブジェクト名</param> /// ------------------------------------------------------------------------- public static void Load(ComboBox tempBox) { ryowaDataSet dts = new ryowaDataSet(); ryowaDataSetTableAdapters.M_工事TableAdapter adp = new ryowaDataSetTableAdapters.M_工事TableAdapter(); adp.Fill(dts.M_工事); try { comboKouji cmb1; tempBox.Items.Clear(); tempBox.DisplayMember = "Name"; tempBox.ValueMember = "ID"; foreach (var t in dts.M_工事.OrderBy(a => a.ID)) { cmb1 = new comboKouji(); cmb1.ID = t.ID.ToString(); cmb1.Name = t.称; tempBox.Items.Add(cmb1); } } catch (Exception ex) { MessageBox.Show(ex.Message, "工事コンボボックスロード"); } }
///-------------------------------------------------------------------- /// <summary> /// 過去勤怠データを削除する </summary> ///-------------------------------------------------------------------- private void pastDataDelete() { // 待機カーソルにする this.Cursor = Cursors.WaitCursor; // データセットとアダプタ ryowaDataSet dts = new ryowaDataSet(); ryowaDataSetTableAdapters.環境設定TableAdapter adp = new ryowaDataSetTableAdapters.環境設定TableAdapter(); ryowaDataSetTableAdapters.T_勤怠TableAdapter tAdp = new ryowaDataSetTableAdapters.T_勤怠TableAdapter(); adp.Fill(dts.環境設定); int delMonth = 0; // 環境設定ファイルを読む if (dts.環境設定.Any(a => a.ID == common.global.configKEY)) { var s = dts.環境設定.Single(a => a.ID == common.global.configKEY); delMonth = s.データ保存月数; } else { this.Cursor = Cursors.Default; return; } // データ保存月数が0(ゼロ)のとき、削除しないで終了 if (delMonth == 0) { this.Cursor = Cursors.Default; return; } // 過去勤怠データ削除 tAdp.Fill(dts.T_勤怠); DateTime dt = DateTime.Today.AddMonths(-1 * delMonth); var ss = dts.T_勤怠.Where(a => (a.日付.Year * 100 + a.日付.Month) < (dt.Year * 100 + dt.Month) && a.RowState != DataRowState.Deleted); foreach (var t in ss) { t.Delete(); } // データベース更新 tAdp.Update(dts.T_勤怠); // カーソルを戻す this.Cursor = Cursors.Default; }
///------------------------------------------------------------------ /// <summary> /// 勤務時間取得 </summary> /// <param name="dt"> /// 日付</param> /// <param name="sNum"> /// 個人コード</param> /// <returns> /// 休日勤務時間・分</returns> ///------------------------------------------------------------------ private static int getHolWorkTime(ryowaDataSet dts, DateTime dt, int sNum) { if (!dts.T_勤怠.Any(a => a.日付 == dt && a.社員ID == sNum)) { return(0); } var s = dts.T_勤怠.Single(a => a.日付 == dt && a.社員ID == sNum); // 勤務時間を取得する double spanMin = Utility.getWorkTime(s); return((int)spanMin); }
///---------------------------------------------------------------------------- /// <summary> /// 対象年月の休日代休時間、法定休日代休時間取得 【工事指定】</summary> /// <param name="dts"> /// ryowaDataSet</param> /// <param name="holDTM"> /// 休日代休時間</param> /// <param name="houteiDTM"> /// 法定休日代休時間</param> /// <param name="sYY"> /// 対象年</param> /// <param name="sMM"> /// 対象月</param> /// <param name="sNum"> /// 個人コード</param> /// <param name="pID"> /// 工事コード</param> ///---------------------------------------------------------------------------- public static void getdaikyuTime(ryowaDataSet dts, out int holDTM, out int houteiDTM, int sYY, int sMM, int sNum, int pID) { holDTM = 0; houteiDTM = 0; var s = dts.T_勤怠.Where(a => a.日付.Year == sYY && a.日付.Month == sMM && a.社員ID == sNum && a.代休対象日 != string.Empty); if (s.Count() == 0) { return; } foreach (var t in s) { DateTime dt; if (DateTime.TryParse(t.代休対象日.Substring(0, 4) + "/" + t.代休対象日.Substring(4, 2) + "/" + t.代休対象日.Substring(6, 2), out dt)) { // 該当する工事の休日勤務か? if (dts.T_勤怠.Any(a => a.社員ID == sNum && a.日付 == dt && a.工事ID == pID)) { // 休日か? if (dts.M_休日.Any(a => a.日付 == dt)) { // 休日勤務時間を取得 int wTM = getHolWorkTime(dts, dt, sNum); if (wTM > Properties.Settings.Default.workTime) { wTM = Properties.Settings.Default.workTime; } var d = dts.M_休日.Single(a => a.日付 == dt); if (d.法定休日 == global.flgOn) { // 法定休日代休のとき houteiDTM += wTM; } else { // 休日代休のとき holDTM += wTM; } } } } } }