177 lines
6.2 KiB
C#
177 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace FPJ0000.OtConfirm
|
|
{
|
|
public partial class fHolyRequestAdd : Form
|
|
{
|
|
DSKuntae.EETGW_HolydayRequestRow dr;
|
|
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");
|
|
|
|
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);
|
|
|
|
|
|
if (dr.RowState == DataRowState.Detached)
|
|
{
|
|
this.Text = "휴가신청 추가";
|
|
tbName.Text = FCOMMON.info.Login.nameK;
|
|
tbProcess.Text = FCOMMON.info.Login.process;
|
|
tbTel.Text = FCOMMON.info.Login.tel;
|
|
}
|
|
else
|
|
{
|
|
this.Text = "휴가신청 편집";
|
|
tbName.Text = dr.name;
|
|
tbProcess.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;
|
|
|
|
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();
|
|
|
|
}
|
|
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)
|
|
{
|
|
grpAdmin.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
grpAdmin.Enabled = curLevel >= 5;
|
|
var 관리자사전멘트 = FCOMMON.DBM.getCodeList("54");
|
|
cmbPreset.Items.Clear();
|
|
cmbPreset.Items.Add(" -- 저장된 문구를 선택하세요(공용:54) --");
|
|
cmbPreset.Items.AddRange(관리자사전멘트.Select(t => t.Value).ToArray());
|
|
cmbPreset.SelectedIndex = 0;
|
|
}
|
|
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
var cate = tbCate.Text.Trim();
|
|
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;
|
|
|
|
if (tbDays.Text.IsNumeric()) vDay = int.Parse(tbDays.Text.Trim());
|
|
if (tbTimes.Text.IsNumeric()) vTime = float.Parse(tbTimes.Text.Trim());
|
|
|
|
if (vDay > 0 && vTime > 0)
|
|
{
|
|
FCOMMON.Util.MsgE("사용일/시간을 동시에 입력할 수는 없습니다.\r\n" +
|
|
"대체휴가의 경우에만 시간을 입력하시기 바랍니다");
|
|
return;
|
|
}
|
|
|
|
if (vDay < 1 && vTime < 0.1)
|
|
{
|
|
FCOMMON.Util.MsgE("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요");
|
|
return;
|
|
}
|
|
if (dr.RowState == DataRowState.Detached)
|
|
{
|
|
var dlg = FCOMMON.Util.MsgQ("입력을 완료하시겠습니까?\r\n관리자에게 메일로 알림이 발생 합니다");
|
|
if (dlg != DialogResult.Yes) return;
|
|
}
|
|
|
|
if (curLevel >= 5 && rad2.Checked)
|
|
{
|
|
if (string.IsNullOrEmpty(response))
|
|
{
|
|
FCOMMON.Util.MsgE("거절 사유를 입력 해주세요");
|
|
tbResponse.Focus();
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
dr.HolyReason = tbReason.Text.Trim();
|
|
dr.HolyLocation = tbLocation.Text.Trim();
|
|
dr.HolyBackup = tbBackup.Text.Trim();
|
|
dr.cate = tbCate.Text.Trim();
|
|
dr.Remark = tbRemark.Text.Trim();
|
|
dr.Response = tbResponse.Text.Trim();
|
|
dr.sdate = tbSD.Value.ToShortDateString();
|
|
dr.edate = tbED.Value.ToShortDateString();
|
|
|
|
dr.HolyDays = vDay;
|
|
dr.HolyTimes = vTime;//
|
|
|
|
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 button2_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void cmbPreset_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (cmbPreset.SelectedIndex > 0)
|
|
tbResponse.Text = cmbPreset.Text;
|
|
}
|
|
}
|
|
}
|