/// ------------------------------------------------------------------------- /// <summary> /// 工事コンボボックスデータロード </summary> /// <param name="tempBox"> /// ロード先コンボボックスオブジェクト名</param> /// ------------------------------------------------------------------------- public static void Load(ComboBox tempBox) { kintaiDataSet dts = new kintaiDataSet(); kintaiDataSetTableAdapters.M_工事TableAdapter adp = new kintaiDataSetTableAdapters.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> /// <param name="dt"> /// 日付</param> /// <param name="sNum"> /// 個人コード</param> /// <returns> /// 休日勤務時間・分</returns> ///------------------------------------------------------------------ private static int getHolWorkTime(kintaiDataSet 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(kintaiDataSet 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; } } } } } }