diff --git a/JobReportMailService/fJobReportWeek.cs b/JobReportMailService/fJobReportWeek.cs index 354327b..742bc50 100644 --- a/JobReportMailService/fJobReportWeek.cs +++ b/JobReportMailService/fJobReportWeek.cs @@ -170,6 +170,8 @@ namespace JobReportMailService if (퇴사일자.CompareTo(str_dt) < 1) continue; } + + //이 대상의 이메일이 받는 사람에 제외되어있다면 처리하지 않는다. if (MailJW.exceptmail == null) MailJW.exceptmail = string.Empty; var exxptolist = MailJW.exceptmail.ToUpper().Split(';'); diff --git a/Project/Properties/AssemblyInfo.cs b/Project/Properties/AssemblyInfo.cs index 81dbd30..a786657 100644 --- a/Project/Properties/AssemblyInfo.cs +++ b/Project/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로 // 지정되도록 할 수 있습니다. // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("22.09.13.0900")] -[assembly: AssemblyFileVersion("22.09.13.0900")] +[assembly: AssemblyVersion("22.11.28.1100")] +[assembly: AssemblyFileVersion("22.11.28.1100")] diff --git a/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs b/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs index 7e921a6..05051e6 100644 --- a/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs +++ b/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs @@ -10,398 +10,443 @@ using System.Windows.Forms; namespace FPJ0000.OtConfirm { - public partial class fHolyRequestAdd : Form - { - DSKuntae.EETGW_HolydayRequestRow dr; - Boolean binit = false; - public fHolyRequestAdd(DSKuntae.EETGW_HolydayRequestRow dr_) - { - InitializeComponent(); - dr = dr_; + public partial class fHolyRequestAdd : Form + { + DSKuntae.EETGW_HolydayRequestRow dr; + Boolean binit = false; + public fHolyRequestAdd(DSKuntae.EETGW_HolydayRequestRow dr_) + { + InitializeComponent(); + dr = dr_; - var 구분목록 = FCOMMON.DBM.getCodeList("50"); - var 사유목록 = FCOMMON.DBM.getCodeList("51"); - var 위치목록 = FCOMMON.DBM.getCodeList("52"); - var 백업목록 = FCOMMON.DBM.getCodeList("53"); + var 구분목록 = FCOMMON.DBM.getCodeList("50"); + var 사유목록 = FCOMMON.DBM.getCodeList("51"); + var 위치목록 = FCOMMON.DBM.getCodeList("52"); + var 백업목록 = FCOMMON.DBM.getCodeList("53"); - tbCate.Items.Clear(); - tbReason.Items.Clear(); - tbLocation.Items.Clear(); - tbBackup.Items.Clear(); + tbCate.Items.Clear(); + tbReason.Items.Clear(); + tbLocation.Items.Clear(); + tbBackup.Items.Clear(); - foreach (var item in 구분목록) tbCate.Items.Add(item.Value); - foreach (var item in 사유목록) tbReason.Items.Add(item.Value); - foreach (var item in 위치목록) tbLocation.Items.Add(item.Value); - foreach (var item in 백업목록) tbBackup.Items.Add(item.Value); + foreach (var item in 구분목록) tbCate.Items.Add(item.Value); + foreach (var item in 사유목록) tbReason.Items.Add(item.Value); + foreach (var item in 위치목록) tbLocation.Items.Add(item.Value); + foreach (var item in 백업목록) tbBackup.Items.Add(item.Value); - var userlist = FCOMMON.DBM.getUserTable(); - this.cmbUser.DataSource = userlist; - this.cmbUser.ValueMember = "id"; - this.cmbUser.DisplayMember = "dispname"; + var userlist = FCOMMON.DBM.getUserTable(); + this.cmbUser.DataSource = userlist; + this.cmbUser.ValueMember = "id"; + this.cmbUser.DisplayMember = "dispname"; - if (dr.RowState == DataRowState.Detached) - { - this.Text = "휴가신청 추가"; - cmbUser.Text = $"{FCOMMON.info.Login.nameK}({FCOMMON.info.Login.no})"; + if (dr.RowState == DataRowState.Detached) + { + this.Text = "휴가신청 추가"; + cmbUser.Text = $"{FCOMMON.info.Login.nameK}({FCOMMON.info.Login.no})"; - //tbProcess.Text = FCOMMON.info.Login.process; - //tbTel.Text = FCOMMON.info.Login.tel; - } - else - { - this.Text = "휴가신청 편집"; - cmbUser.Text = $"{dr.name}({dr.uid})"; //dr.name; - ////.Text = dr.processs; - // tbTel.Text = dr.tel; - } + //tbProcess.Text = FCOMMON.info.Login.process; + //tbTel.Text = FCOMMON.info.Login.tel; + } + else + { + this.Text = "휴가신청 편집"; + cmbUser.Text = $"{dr.name}({dr.uid})"; //dr.name; + ////.Text = dr.processs; + // tbTel.Text = dr.tel; + } - if (dr.conf == 1) rad1.Checked = true; - else if (dr.conf == 2) rad2.Checked = true; - else rad0.Checked = true; + if (dr.conf == 1) rad1.Checked = true; + else if (dr.conf == 2) rad2.Checked = true; + else rad0.Checked = true; - tbCate.Text = dr.cate; - tbRemark.Text = dr.Remark; - tbResponse.Text = dr.Response; - tbSD.Value = DateTime.Parse(dr.sdate); - tbED.Value = DateTime.Parse(dr.edate); - tbReason.Text = dr.HolyReason; - tbLocation.Text = dr.HolyLocation; - tbBackup.Text = dr.HolyBackup; - tbDays.Text = dr.HolyDays.ToString(); //211224 - tbTimes.Text = dr.HolyTimes.ToString(); + tbCate.Text = dr.cate; + tbRemark.Text = dr.Remark; + tbResponse.Text = dr.Response; + tbSD.Value = DateTime.Parse(dr.sdate); + tbED.Value = DateTime.Parse(dr.edate); + tbReason.Text = dr.HolyReason; + tbLocation.Text = dr.HolyLocation; + tbBackup.Text = dr.HolyBackup; + tbDays.Text = dr.HolyDays.ToString(); //211224 + tbTimes.Text = dr.HolyTimes.ToString(); - if (dr.cate == "대체") - { - tbTimes.Enabled = true; - tbDays.Enabled = false; - tbCate.Enabled = false; - radTime.Checked = true; - } - else - { - tbCate.Enabled = true; - tbTimes.Enabled = false; - tbDays.Enabled = true; - radioButton2.Checked = true; - } + if (dr.cate == "대체") + { + tbTimes.Enabled = true; + tbDays.Enabled = false; + tbCate.Enabled = false; + radTime.Checked = true; + } + else + { + tbCate.Enabled = true; + tbTimes.Enabled = false; + tbDays.Enabled = true; + radioButton2.Checked = true; + } - } - int curLevel = 0; - private void fHolyRequestAdd_Load(object sender, EventArgs e) - { - curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyreq)); + } + int curLevel = 0; + private void fHolyRequestAdd_Load(object sender, EventArgs e) + { + curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyreq)); - //관리자라면 관리자패널을 활성해준다. - if (dr.RowState == DataRowState.Detached) - { - cmbUser.Enabled = curLevel >= 5; - grpAdmin.Enabled = false; - grpAdmin.Text = "관리자(추가작업시에는 사용할 수 없습니다)"; - UpdateStatus(); - } - else - { - cmbUser.Enabled = false; - grpAdmin.Enabled = curLevel >= 5; - if (curLevel >= 5) - { - grpUser.Text = "신청자(편집상태에서는 사용자를 변경할 수 없습니다)"; - - } - var 관리자사전멘트 = FCOMMON.DBM.getCodeList("54"); - cmbPreset.Items.Clear(); - cmbPreset.Items.Add(" -- 저장된 문구를 선택하세요(공용:54) --"); - cmbPreset.Items.AddRange(관리자사전멘트.Select(t => t.Value).ToArray()); - cmbPreset.SelectedIndex = 0; - } + //관리자라면 관리자패널을 활성해준다. + if (dr.RowState == DataRowState.Detached) + { + cmbUser.Enabled = curLevel >= 5; + grpAdmin.Enabled = false; + grpAdmin.Text = "관리자(추가작업시에는 사용할 수 없습니다)"; + UpdateStatus(); + } + else + { + cmbUser.Enabled = false; + grpAdmin.Enabled = curLevel >= 5; + if (curLevel >= 5) + { + grpUser.Text = "신청자(편집상태에서는 사용자를 변경할 수 없습니다)"; - if(curLevel >= 5) - { - tbCate.DropDownStyle = ComboBoxStyle.DropDown; - } - else - { - tbCate.DropDownStyle = ComboBoxStyle.DropDownList; - } + } + var 관리자사전멘트 = FCOMMON.DBM.getCodeList("54"); + cmbPreset.Items.Clear(); + cmbPreset.Items.Add(" -- 저장된 문구를 선택하세요(공용:54) --"); + cmbPreset.Items.AddRange(관리자사전멘트.Select(t => t.Value).ToArray()); + cmbPreset.SelectedIndex = 0; + } - binit = true; - } + if (curLevel >= 5) + { + tbCate.DropDownStyle = ComboBoxStyle.DropDown; + } + else + { + tbCate.DropDownStyle = ComboBoxStyle.DropDownList; + } - private void button1_Click(object sender, EventArgs e) - { - var cate = tbCate.Text.Trim(); - if (radTime.Checked) cate = "대체"; + binit = true; + } - var remark = tbRemark.Text.Trim(); - var response = tbResponse.Text.Trim(); - if (string.IsNullOrEmpty(cate)) - { - FCOMMON.Util.MsgE("구분을 입력하세요"); - tbCate.Focus(); - return; - } + private void button1_Click(object sender, EventArgs e) + { + var cate = tbCate.Text.Trim(); + if (radTime.Checked) cate = "대체"; - //일반사용인데 내용이 대체 라는 문자라면 오류로 한다 220627 - if (radTime.Checked == false && cate.Equals("대체")) - { - FCOMMON.Util.MsgE("일반 휴가 사용에 '대체' 문자는 입력할 수 없습니다\n대체 시간을 사용하는 경우 라면 '대체시간사용'을 입력하세요"); - tbCate.Focus(); - return; - } + var remark = tbRemark.Text.Trim(); + var response = tbResponse.Text.Trim(); + if (string.IsNullOrEmpty(cate)) + { + FCOMMON.Util.MsgE("구분을 입력하세요"); + tbCate.Focus(); + return; + } - if (tbED.Value.ToShortDateString().CompareTo(tbSD.Value.ToShortDateString()) < 0) - { - FCOMMON.Util.MsgE("시작일~종료일 범위를 확인하세요"); - return; - } - var vDay = 0; - var vTime = 0f; + //일반사용인데 내용이 대체 라는 문자라면 오류로 한다 220627 + if (radTime.Checked == false && cate.Equals("대체")) + { + FCOMMON.Util.MsgE("일반 휴가 사용에 '대체' 문자는 입력할 수 없습니다\n대체 시간을 사용하는 경우 라면 '대체시간사용'을 입력하세요"); + tbCate.Focus(); + return; + } - if (tbDays.Enabled == false) tbDays.Text = string.Empty; - if (tbTimes.Enabled == false) tbTimes.Text = string.Empty; + if (tbED.Value.ToShortDateString().CompareTo(tbSD.Value.ToShortDateString()) < 0) + { + FCOMMON.Util.MsgE("시작일~종료일 범위를 확인하세요"); + return; + } + var vDay = 0; + var vTime = 0f; - if (double.TryParse(tbDays.Text, out double val_days)) vDay = int.Parse(tbDays.Text.Trim()); - if (double.TryParse(tbTimes.Text, out double val_times)) vTime = float.Parse(tbTimes.Text.Trim()); + if (tbDays.Enabled == false) tbDays.Text = string.Empty; + if (tbTimes.Enabled == false) tbTimes.Text = string.Empty; - //라디오버튼에 따른 시간 값 할당 - if (radTime.Checked) vDay = 0; - else vTime = 0; + if (double.TryParse(tbDays.Text, out double val_days)) vDay = int.Parse(tbDays.Text.Trim()); + if (double.TryParse(tbTimes.Text, out double val_times)) vTime = float.Parse(tbTimes.Text.Trim()); - if (vDay > 0 && vTime > 0) - { - FCOMMON.Util.MsgE("사용일/시간을 동시에 입력할 수는 없습니다.\r\n" + - "대체휴가의 경우에만 시간을 입력하시기 바랍니다"); - return; - } + //라디오버튼에 따른 시간 값 할당 + if (radTime.Checked) vDay = 0; + else vTime = 0; - if (vDay < 1 && vTime < 0.1 && curLevel < 5) - { - var dlg = FCOMMON.Util.MsgQ("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요\n값을 입력하지 않고 계속할까요?"); - if (dlg != DialogResult.Yes) return; - } + if (vDay > 0 && vTime > 0) + { + FCOMMON.Util.MsgE("사용일/시간을 동시에 입력할 수는 없습니다.\r\n" + + "대체휴가의 경우에만 시간을 입력하시기 바랍니다"); + return; + } - //하나도 입력안했다면 경고한다 - if (String.IsNullOrEmpty(tbReason.Text) && String.IsNullOrEmpty(tbLocation.Text) && String.IsNullOrEmpty(tbBackup.Text) && String.IsNullOrEmpty(tbRemark.Text)) - { - FCOMMON.Util.MsgE("비고를 입력해주세요"); - tbRemark.Focus(); - return; - } - - var uid = this.cmbUser.SelectedValue; - if (uid == null) - { - FCOMMON.Util.MsgE("사용자가 선택되지 않았습니다"); - return; - } - - if (tbRemark.Text.StartsWith("테스트") && chkSendMail.Checked) - { - FCOMMON.Util.MsgI("테스트라 메일 체크를 끕니다"); - chkSendMail.Checked = false; - } - - //동일날짜에 등록된 자료가있다면 오류로 처리한다. - if (dr.RowState == DataRowState.Detached) - { - var db = new EEEntities(); - string chkdt = tbSD.Value.ToShortDateString(); - var existdb = db.EETGW_HolydayRequest.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.uid == uid.ToString() && t.sdate == chkdt).Any(); - if (existdb) - { - FCOMMON.Util.MsgE("동일 날짜에 등록된 자료가 있습니다"); - return; - } - - } + if (vDay < 1 && vTime < 0.1 && curLevel < 5) + { + var dlg = FCOMMON.Util.MsgQ("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요\n값을 입력하지 않고 계속할까요?"); + if (dlg != DialogResult.Yes) return; + } - //마감확인 220501 - if (FCOMMON.DBM.GetMagamStatus(tbSD.Value)) - { - FCOMMON.Util.MsgE("마감된 월 입니다. 입력할 수 없습니다"); - return; - } - if (FCOMMON.DBM.GetMagamStatus(tbED.Value)) - { - FCOMMON.Util.MsgE("마감된 월 입니다. 입력할 수 없습니다"); - return; - } - if (dr.RowState == DataRowState.Detached) - { - var dlg = FCOMMON.Util.MsgQ("입력을 완료하시겠습니까?\r\n관리자에게 메일로 알림이 발생 합니다"); - if (dlg != DialogResult.Yes) return; - } + var uid = this.cmbUser.SelectedValue; + if (uid == null) + { + FCOMMON.Util.MsgE("사용자가 선택되지 않았습니다"); + return; + } - if (curLevel >= 5 && rad2.Checked) - { - if (string.IsNullOrEmpty(response)) - { - FCOMMON.Util.MsgE("거절 사유를 입력 해주세요"); - tbResponse.Focus(); - return; - } - } + //사용시간여부 확인 + var minmsg = "해당 항목 [{0}]의 신청 가능 일(시간)이 없습니다\n\n남은 일(시간) : {1} \n\n관리자 문의 하세요"; + bool oktime = false; + if (radTime.Checked) //대체사용 + { + minmsg = minmsg.Replace("{0}", "대체"); + if (holydata.ContainsKey("대체")) + { + var data = holydata["대체"].Split('|'); + var 발생 = float.Parse(data[3]); + var 사용 = float.Parse(data[4]); + var 잔량 = float.Parse(data[5]); + if (vTime < 잔량) oktime = true; + else minmsg = minmsg.Replace("{1}", 잔량.ToString()); + } + else minmsg = minmsg.Replace("{1}", "(자료없음)"); + } + else + { + var 항목 = tbCate.Text; + minmsg = minmsg.Replace("{0}", 항목); + if (holydata.ContainsKey(항목)) + { + var data = holydata[항목].Split('|'); + var 발생 = float.Parse(data[0]); + var 사용 = float.Parse(data[1]); + var 잔량 = float.Parse(data[2]); + if (vDay < 잔량) oktime = true; + else minmsg = minmsg.Replace("{1}", 잔량.ToString()); + } + else minmsg = minmsg.Replace("{1}", "(자료없음)"); + } + if (oktime == false) + { + FCOMMON.Util.MsgE(minmsg); + return; + } - dr.uid = uid.ToString(); - dr.HolyReason = tbReason.Text.Trim(); - dr.HolyLocation = tbLocation.Text.Trim(); - dr.HolyBackup = tbBackup.Text.Trim(); - dr.cate = cate;// tbCate.Text.Trim(); - if ( dr.RowState == DataRowState.Detached && dr.Remark.Contains(richTextBox1.Text) == false) - dr.Remark = tbRemark.Text.Trim() + "\r\n" + this.richTextBox1.Text; - else - dr.Remark = tbRemark.Text.Trim(); + // return; - dr.Response = tbResponse.Text.Trim(); - dr.sdate = tbSD.Value.ToShortDateString(); - dr.edate = tbED.Value.ToShortDateString(); - dr.sendmail = chkSendMail.Checked; //220104 + //하나도 입력안했다면 경고한다 + if (String.IsNullOrEmpty(tbReason.Text) && String.IsNullOrEmpty(tbLocation.Text) && String.IsNullOrEmpty(tbBackup.Text) && String.IsNullOrEmpty(tbRemark.Text)) + { + FCOMMON.Util.MsgE("비고를 입력해주세요"); + tbRemark.Focus(); + return; + } - dr.HolyDays = vDay; - dr.HolyTimes = vTime;// + if (tbRemark.Text.StartsWith("테스트") && chkSendMail.Checked) + { + FCOMMON.Util.MsgI("테스트라 메일 체크를 끕니다"); + chkSendMail.Checked = false; + } - if (rad0.Checked) dr.conf = 0; - else if (rad1.Checked) dr.conf = 1; - else if (rad2.Checked) dr.conf = 2; - else dr.conf = 0; - dr.EndEdit(); + //동일날짜에 등록된 자료가있다면 오류로 처리한다. + if (dr.RowState == DataRowState.Detached) + { + var db = new EEEntities(); + string chkdt = tbSD.Value.ToShortDateString(); + var existdb = db.EETGW_HolydayRequest.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.uid == uid.ToString() && t.sdate == chkdt).Any(); + if (existdb) + { + FCOMMON.Util.MsgE("동일 날짜에 등록된 자료가 있습니다"); + return; + } - DialogResult = DialogResult.OK; - } + } - private void cmbPreset_SelectedIndexChanged(object sender, EventArgs e) - { - if (cmbPreset.SelectedIndex > 0) - tbResponse.Text = cmbPreset.Text; - } - private void tbED_ValueChanged(object sender, EventArgs e) - { - UpdateStatus(); + //마감확인 220501 + if (FCOMMON.DBM.GetMagamStatus(tbSD.Value)) + { + FCOMMON.Util.MsgE("마감된 월 입니다. 입력할 수 없습니다"); + return; + } + if (FCOMMON.DBM.GetMagamStatus(tbED.Value)) + { + FCOMMON.Util.MsgE("마감된 월 입니다. 입력할 수 없습니다"); + return; + } - } + if (dr.RowState == DataRowState.Detached) + { + var dlg = FCOMMON.Util.MsgQ("입력을 완료하시겠습니까?\r\n관리자에게 메일로 알림이 발생 합니다"); + if (dlg != DialogResult.Yes) return; + } - void UpdateStatus() - { - //해당 값이 오늘보다 이전이라면 메일전송을 자동 해제하낟. - var v = tbED.Value.ToShortDateString(); - var s = tbSD.Value.ToShortDateString(); + if (curLevel >= 5 && rad2.Checked) + { + if (string.IsNullOrEmpty(response)) + { + FCOMMON.Util.MsgE("거절 사유를 입력 해주세요"); + tbResponse.Focus(); + return; + } + } - var c = DateTime.Now.ToShortDateString(); - if (v.CompareTo(c) < 0) - chkSendMail.Checked = false; - else - chkSendMail.Checked = true; + dr.uid = uid.ToString(); + dr.HolyReason = tbReason.Text.Trim(); + dr.HolyLocation = tbLocation.Text.Trim(); + dr.HolyBackup = tbBackup.Text.Trim(); + dr.cate = cate;// tbCate.Text.Trim(); - //일수계산 - //var term = tbED.Value - tbSD.Value; - //var days = term.Days + 1; - //if (radTime.Checked == false) - //{ - // //if(tbDays.Text.isEmpty() || tbDays.Text=="0") - // { - // tbDays.Text = (days).ToString(); - // } + if (dr.RowState == DataRowState.Detached && dr.Remark.Contains(richTextBox1.Text) == false) + dr.Remark = tbRemark.Text.Trim() + "\r\n" + this.richTextBox1.Text; + else + dr.Remark = tbRemark.Text.Trim(); - //} - //else - //{ - // //여기는 시간 - // //if (tbTimes.Text.isEmpty() || tbTimes.Text == "0") - // { - // tbTimes.Text = (days * 8).ToString(); - // } - //} - } + dr.Response = tbResponse.Text.Trim(); + dr.sdate = tbSD.Value.ToShortDateString(); + dr.edate = tbED.Value.ToShortDateString(); + dr.sendmail = chkSendMail.Checked; //220104 - private void radioButton1_CheckedChanged(object sender, EventArgs e) - { - if (radTime.Checked) - { - tbCate.Enabled = false; - tbDays.Enabled = false; - tbTimes.Enabled = true; - tbDays.BackColor = Color.DimGray; - tbTimes.BackColor = Color.Gold; - groupBox1.Text = "사용시간"; - } - else - { - tbCate.Enabled = true; - tbDays.Enabled = true; - tbTimes.Enabled = false; - tbTimes.BackColor = Color.DimGray; - tbDays.BackColor = Color.Gold; - groupBox1.Text = "사용일"; - } - if (binit) - UpdateStatus(); - } + dr.HolyDays = vDay; + dr.HolyTimes = vTime;// - private void label11_Click(object sender, EventArgs e) - { + if (rad0.Checked) dr.conf = 0; + else if (rad1.Checked) dr.conf = 1; + else if (rad2.Checked) dr.conf = 2; + else dr.conf = 0; + dr.EndEdit(); - } + DialogResult = DialogResult.OK; + } - private void tbDays_TextChanged(object sender, EventArgs e) - { + private void cmbPreset_SelectedIndexChanged(object sender, EventArgs e) + { + if (cmbPreset.SelectedIndex > 0) + tbResponse.Text = cmbPreset.Text; + } - } + private void tbED_ValueChanged(object sender, EventArgs e) + { + UpdateStatus(); - private void grpUser_Enter(object sender, EventArgs e) - { + } - } + void UpdateStatus() + { + //해당 값이 오늘보다 이전이라면 메일전송을 자동 해제하낟. + var v = tbED.Value.ToShortDateString(); + var s = tbSD.Value.ToShortDateString(); - private void tbLocation_SelectedIndexChanged(object sender, EventArgs e) - { + var c = DateTime.Now.ToShortDateString(); + if (v.CompareTo(c) < 0) + chkSendMail.Checked = false; + else + chkSendMail.Checked = true; - } + //일수계산 + //var term = tbED.Value - tbSD.Value; + //var days = term.Days + 1; + //if (radTime.Checked == false) + //{ + // //if(tbDays.Text.isEmpty() || tbDays.Text=="0") + // { + // tbDays.Text = (days).ToString(); + // } - private void tbReason_SelectedIndexChanged(object sender, EventArgs e) - { + //} + //else + //{ + // //여기는 시간 + // //if (tbTimes.Text.isEmpty() || tbTimes.Text == "0") + // { + // tbTimes.Text = (days * 8).ToString(); + // } + //} + } - } + private void radioButton1_CheckedChanged(object sender, EventArgs e) + { + if (radTime.Checked) + { + tbCate.Enabled = false; + tbDays.Enabled = false; + tbTimes.Enabled = true; + tbDays.BackColor = Color.DimGray; + tbTimes.BackColor = Color.Gold; + groupBox1.Text = "사용시간"; + } + else + { + tbCate.Enabled = true; + tbDays.Enabled = true; + tbTimes.Enabled = false; + tbTimes.BackColor = Color.DimGray; + tbDays.BackColor = Color.Gold; + groupBox1.Text = "사용일"; + } + if (binit) + UpdateStatus(); + } - private void label9_Click(object sender, EventArgs e) - { + private void label11_Click(object sender, EventArgs e) + { - } + } - private void cmbUser_SelectedIndexChanged(object sender, EventArgs e) - { - var uiddt = this.cmbUser.SelectedValue; - if (uiddt == null) return; - var uid = uiddt.ToString(); - var lst = FCOMMON.DBM.GetUserHolidayJan(FCOMMON.info.Login.gcode, uid, DateTime.Now.AddDays(-1).ToShortDateString()); + private void tbDays_TextChanged(object sender, EventArgs e) + { - this.richTextBox1.Clear(); - foreach (var item in lst) - { - var val = item.Value.Split('|'); - if (val[2] != "0") - { - var perc = 0f; - if (val[0] != "0") perc = float.Parse(val[1]) / float.Parse(val[0]); - if (richTextBox1.TextLength > 0) richTextBox1.AppendText(","); - richTextBox1.AppendText($"[{item.Key}] {val[2]}일 남음({perc * 100:N1}%사용)"); - } - else if (val[5] != "0") - { - var perc = 0f; - if (val[3] != "0") perc = float.Parse(val[4]) / float.Parse(val[3]); - if (richTextBox1.TextLength > 0) richTextBox1.AppendText(","); - richTextBox1.AppendText($"[{item.Key}] {val[5]}시간 남음({perc * 100:N1}%사용)"); - } + } - } - } - } + private void grpUser_Enter(object sender, EventArgs e) + { + + } + + private void tbLocation_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void tbReason_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void label9_Click(object sender, EventArgs e) + { + + } + + Dictionary holydata = new Dictionary(); + + private void cmbUser_SelectedIndexChanged(object sender, EventArgs e) + { + var uiddt = this.cmbUser.SelectedValue; + if (uiddt == null) return; + var uid = uiddt.ToString(); + holydata = FCOMMON.DBM.GetUserHolidayJan(FCOMMON.info.Login.gcode, uid, DateTime.Now.AddDays(-1).ToShortDateString()); + + this.richTextBox1.Clear(); + foreach (var item in holydata) + { + var val = item.Value.Split('|'); + if (val[2] != "0") + { + var perc = 0f; + if (val[0] != "0") perc = float.Parse(val[1]) / float.Parse(val[0]); + if (richTextBox1.TextLength > 0) richTextBox1.AppendText(","); + richTextBox1.AppendText($"[{item.Key}] {val[2]}일 남음({perc * 100:N1}%사용)"); + } + else if (val[5] != "0") + { + var perc = 0f; + if (val[3] != "0") perc = float.Parse(val[4]) / float.Parse(val[3]); + if (richTextBox1.TextLength > 0) richTextBox1.AppendText(","); + richTextBox1.AppendText($"[{item.Key}] {val[5]}시간 남음({perc * 100:N1}%사용)"); + } + + } + } + } }