근태(Holyday) API 추가 및 일별/업무형태별 집계 다이얼로그 구현, OT 시작/종료시간 필드 추가

This commit is contained in:
backuppc
2025-12-02 08:26:24 +09:00
parent adcdc40169
commit aa956cf063
14 changed files with 2012 additions and 240 deletions

View File

@@ -85,8 +85,8 @@ namespace FPJ0000.JobReport_
EnsureVisibleAndUsableSize();
//사용자목록
this.bs.DataSource = dr;
this.dateTimePicker1.CustomFormat = "yyyy-MM-dd HH:mm.ss";
this.dateTimePicker2.CustomFormat = "yyyy-MM-dd HH:mm.ss";
this.dtOtStart.CustomFormat = "yyyy-MM-dd HH:mm.ss";
this.dtOtEnd.CustomFormat = "yyyy-MM-dd HH:mm.ss";
//해당 사용자에 걸린 프로젝트 목록 가져오기
var userProject = FCOMMON.DBM.getUserProjectList(FCOMMON.info.Login.nameK);
@@ -239,23 +239,23 @@ namespace FPJ0000.JobReport_
textBox1.Text = dr.kisulamt.ToString();
}
if (dr.IsotStartNull()) dateTimePicker1.Value = DateTime.Now;
else dateTimePicker1.Value = dr.otStart;
if (dr.IsotEndNull()) dateTimePicker2.Value = DateTime.Now;
else dateTimePicker2.Value = dr.otEnd;
if (dr.IsotStartNull()) dtOtStart.Value = DateTime.Now;
else dtOtStart.Value = dr.otStart;
if (dr.IsotEndNull()) dtOtEnd.Value = DateTime.Now;
else dtOtEnd.Value = dr.otEnd;
//if (cmbRequest.Text == "") cmbRequest.Text = "EE1";
if (cmbPackage.Text == "") cmbPackage.Text = "Common";
if (dr.ot != 0)
{
dateTimePicker1.Enabled = true;
dateTimePicker2.Enabled = true;
dtOtStart.Enabled = true;
dtOtEnd.Enabled = true;
}
else
{
dateTimePicker1.Enabled = false;
dateTimePicker2.Enabled = false;
dtOtStart.Enabled = false;
dtOtEnd.Enabled = false;
}
//프로젝트 번호 확인(프로젝트번호가 바뀌면 데이터를 업데이트 해준다)
@@ -638,13 +638,13 @@ namespace FPJ0000.JobReport_
if (double.TryParse(tbOt.Text, out double ot))
{
var timeterm = dateTimePicker2.Value - dateTimePicker1.Value;
var timeterm = dtOtEnd.Value - dtOtStart.Value;
if ((timeterm.TotalMinutes + 1) * 60 <= ot)
{
FCOMMON.Util.MsgE($"OT시간이 지정된 시간대보다 부족합니다.\nOT시간정보를 확인하세요\n" +
$"\n입력시간범위 : {dateTimePicker1.Value.ToString("HH:mm:ss")}~{dateTimePicker2.Value.ToString("HH:mm:ss")}" +
$"\n입력시간범위 : {dtOtStart.Value.ToString("HH:mm:ss")}~{dtOtEnd.Value.ToString("HH:mm:ss")}" +
$"\n입력시간(시) : {timeterm.TotalMinutes * 60}");
dateTimePicker1.Focus();
dtOtStart.Focus();
return;
}
@@ -657,8 +657,8 @@ namespace FPJ0000.JobReport_
else
{
dr.ot = ot;
dr.otStart = dateTimePicker1.Value;
dr.otEnd = dateTimePicker2.Value;
dr.otStart = dtOtStart.Value;
dr.otEnd = dtOtEnd.Value;
}
}
else
@@ -950,30 +950,30 @@ namespace FPJ0000.JobReport_
if (ot != 0)
{
dateTimePicker1.Enabled = true;
dateTimePicker2.Enabled = true;
dtOtStart.Enabled = true;
dtOtEnd.Enabled = true;
//신규데이터라면 자동으로 시간을 설정해준다
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Detached)
{
if (dateTimePicker1.Value == dateTimePicker2.Value)
if (dtOtStart.Value == dtOtEnd.Value)
{
dateTimePicker1.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd" + " 18:00:00"));
dateTimePicker2.Value = dateTimePicker1.Value.AddHours(ot);
dtOtStart.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd" + " 18:00:00"));
dtOtEnd.Value = dtOtStart.Value.AddHours(ot);
}
}
}
else
{
dateTimePicker1.Enabled = false;
dateTimePicker2.Enabled = false;
dtOtStart.Enabled = false;
dtOtEnd.Enabled = false;
}
}
else
{
dateTimePicker1.Enabled = false;
dateTimePicker2.Enabled = false;
dtOtStart.Enabled = false;
dtOtEnd.Enabled = false;
}
}