This commit is contained in:
chi
2023-01-26 09:16:01 +09:00
parent 3775d2ba91
commit 3a1fd6401c
31 changed files with 1565 additions and 733 deletions

View File

@@ -41,18 +41,19 @@ namespace FPJ0000.OtConfirm
this.cmbUser.ValueMember = "id";
this.cmbUser.DisplayMember = "dispname";
this.textBox1.Text = dr.stime;
this.textBox2.Text = dr.etime;
if (dr.RowState == DataRowState.Detached)
{
this.Text = "휴가신청 추가";
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 = "휴가신청 편집";
this.Text = "(휴가/외출) 편집";
cmbUser.Text = $"{dr.name}({dr.uid})"; //dr.name;
////.Text = dr.processs;
// tbTel.Text = dr.tel;
@@ -80,13 +81,21 @@ namespace FPJ0000.OtConfirm
tbCate.Enabled = false;
radTime.Checked = true;
}
else if (dr.cate == "외출")
{
radOut.Checked = true;
}
else
{
tbCate.Enabled = true;
tbTimes.Enabled = false;
tbDays.Enabled = true;
radioButton2.Checked = true;
radDay.Checked = true;
}
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape) this.Close();
};
}
int curLevel = 0;
@@ -135,12 +144,14 @@ namespace FPJ0000.OtConfirm
binit = true;
cmbUser_SelectedIndexChanged(null, null);
radioButton1_CheckedChanged(null, null);
}
private void button1_Click(object sender, EventArgs e)
{
var cate = tbCate.Text.Trim();
if (radTime.Checked) cate = "대체";
else if (radOut.Checked) cate = "외출";
var remark = tbRemark.Text.Trim();
var response = tbResponse.Text.Trim();
@@ -177,21 +188,75 @@ namespace FPJ0000.OtConfirm
if (radTime.Checked) vDay = 0;
else vTime = 0;
if (vDay > 0 && vTime > 0)
if (radOut.Checked == false)
{
FCOMMON.Util.MsgE("사용일/시간을 동시에 입력할 수는 없습니다.\r\n" +
"대체휴가의 경우에만 시간을 입력하시기 바랍니다");
return;
}
if (vDay > 0 && vTime > 0)
{
FCOMMON.Util.MsgE("사용일/시간을 동시에 입력할 수는 없습니다.\r\n" +
"대체휴가의 경우에만 시간을 입력하시기 바랍니다");
return;
}
if (vDay < 1 && vTime < 0.1 && curLevel < 5)
if (vDay < 1 && vTime < 0.1 && curLevel < 5)
{
var dlg = FCOMMON.Util.MsgQ("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요\n값을 입력하지 않고 계속할까요?");
if (dlg != DialogResult.Yes) return;
}
}
else
{
var dlg = FCOMMON.Util.MsgQ("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요\n값을 입력하지 않고 계속할까요?");
if (dlg != DialogResult.Yes) return;
if (textBox1.Text.IndexOf(":") == -1 || textBox1.Text.Equals("00:00"))
{
FCOMMON.Util.MsgE("외출 시작시간은 00:00 24시 표기법으로 입력하세요\n" +
"예) 오후2시 = 14:00");
textBox1.Focus();
textBox1.SelectAll();
return;
}
//추가시에는 종료시간을 입력하지 않게한다.
if(dr.RowState == DataRowState.Detached)
{
if (textBox2.Text.IndexOf(":") == -1 || textBox2.Text.Equals("00:00"))
{
}
else
{
textBox2.Text = "00:00";
FCOMMON.Util.MsgI("신청데이터에는 외출종료시간을 입력하지 않습니다\n외출종료 화면에서 시간을 입력하세요");
}
}
//if (textBox2.Text.IndexOf(":") == -1 || textBox2.Text.Equals("00:00"))
//{
// FCOMMON.Util.MsgE("외출 종료시간은 00:00 24시 표기법으로 입력하세요\n" +
// "예) 오후2시 = 14:00");
// textBox2.Focus();
// textBox2.SelectAll();
// return;
//}
//
if (tbSD.Value.ToShortDateString().Equals(tbED.Value.ToShortDateString()) == false)
{
FCOMMON.Util.MsgE("외출은 시작일 종료일이 같아야 합니다, 종료일자를 시작일자로 자동 변경 합니다");
tbED.Value = tbSD.Value;
return;
}
if(textBox2.Text.Equals("00:00")==false)
{
var st = DateTime.Parse(tbSD.Value.ToShortDateString() + " " + textBox1.Text + ":00");
var et = DateTime.Parse(tbED.Value.ToShortDateString() + " " + textBox2.Text + ":00");
if (et <= st)
{
FCOMMON.Util.MsgE("외출 시간을 확인하세요.\n종료시간은 시작시간보다 커야 합니다");
return;
}
}
}
var uid = this.cmbUser.SelectedValue;
if (uid == null)
{
@@ -200,44 +265,48 @@ namespace FPJ0000.OtConfirm
}
//사용시간여부 확인
var minmsg = "해당 항목 [{0}]의 신청 가능 일(시간)이 없습니다\n\n남은 일(시간) : {1} \n\n관리자 문의 하세요";
if (IsAdmin)
minmsg = "해당 항목 [{0}]의 신청 가능 일(시간)이 없습니다\n\n남은 일(시간) : {1} \n\n관리자 권한으로 기록은 진행 됩니다";
if (radOut.Checked == false)
{
var minmsg = "해당 항목 [{0}]의 신청 가능 일(시간)이 없습니다\n\n남은 일(시간) : {1} \n\n관리자 문의 하세요";
if (IsAdmin)
minmsg = "해당 항목 [{0}]의 신청 가능 일(시간)이 없습니다\n\n남은 일(시간) : {1} \n\n관리자 권한으로 기록은 진행 됩니다";
bool oktime = false;
if (radTime.Checked) //대체사용
{
minmsg = minmsg.Replace("{0}", "대체");
if (holydata.ContainsKey("대체"))
bool oktime = false;
if (radTime.Checked) //대체사용
{
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());
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 minmsg = minmsg.Replace("{1}", "(자료없음)");
}
else
{
var = tbCate.Text;
minmsg = minmsg.Replace("{0}", );
if (holydata.ContainsKey())
else
{
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());
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}", "(자료없음)");
}
else minmsg = minmsg.Replace("{1}", "(자료없음)");
}
if (oktime == false)
{
//FCOMMON.Util.MsgE(minmsg);
//if (IsAdmin == false) return;
if (oktime == false)
{
//FCOMMON.Util.MsgE(minmsg);
//if (IsAdmin == false) return;
}
}
// return;
@@ -261,7 +330,7 @@ namespace FPJ0000.OtConfirm
{
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();
var existdb = db.EETGW_HolydayRequest.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.cate == cate && t.uid == uid.ToString() && t.sdate == chkdt).Any();
if (existdb)
{
FCOMMON.Util.MsgE("동일 날짜에 등록된 자료가 있습니다");
@@ -315,6 +384,9 @@ namespace FPJ0000.OtConfirm
dr.edate = tbED.Value.ToShortDateString();
dr.sendmail = chkSendMail.Checked; //220104
dr.stime = textBox1.Text.Trim();
dr.etime = textBox2.Text.Trim();
dr.HolyDays = vDay;
dr.HolyTimes = vTime;//
@@ -382,8 +454,14 @@ namespace FPJ0000.OtConfirm
tbDays.BackColor = Color.DimGray;
tbTimes.BackColor = Color.Gold;
groupBox1.Text = "사용시간";
radTime.BackColor = Color.Lime;
radDay.BackColor = SystemColors.Control;
radOut.BackColor = SystemColors.Control;
groupBox1.Enabled = true;
textBox1.Enabled = false;
textBox2.Enabled = textBox1.Enabled;
}
else
else if (radDay.Checked)
{
tbCate.Enabled = true;
tbDays.Enabled = true;
@@ -391,7 +469,24 @@ namespace FPJ0000.OtConfirm
tbTimes.BackColor = Color.DimGray;
tbDays.BackColor = Color.Gold;
groupBox1.Text = "사용일";
radDay.BackColor = Color.Lime;
radTime.BackColor = SystemColors.Control;
radOut.BackColor = SystemColors.Control;
groupBox1.Enabled = true;
textBox1.Enabled = false;
textBox2.Enabled = textBox1.Enabled;
}
else if (radOut.Checked)
{
radOut.BackColor = Color.Lime;
radTime.BackColor = SystemColors.Control;
radDay.BackColor = SystemColors.Control;
textBox1.Enabled = radOut.Checked;
if (dr.RowState == DataRowState.Detached) textBox2.Enabled = false;
else textBox2.Enabled = true;
groupBox1.Enabled = !textBox1.Enabled;
}
if (binit)
UpdateStatus();
}
@@ -435,5 +530,10 @@ namespace FPJ0000.OtConfirm
if (holydata.Any())
updateuserinfo = uid; //업데이트한 사용자 id 기록
}
private void radioButton1_CheckedChanged_1(object sender, EventArgs e)
{
}
}
}