업무일지 검색기능 강화
This commit is contained in:
@@ -12,10 +12,10 @@ namespace FPJ0000.JobReport
|
||||
public partial class fJobReport_Add : Form
|
||||
{
|
||||
dsPRJ.JobReportRow dr;
|
||||
public fJobReport_Add( dsPRJ.JobReportRow dr_ )
|
||||
public fJobReport_Add(dsPRJ.JobReportRow dr_)
|
||||
{
|
||||
InitializeComponent();
|
||||
dr =dr_;
|
||||
dr = dr_;
|
||||
this.KeyPreview = true;
|
||||
this.StartPosition = FormStartPosition.CenterScreen;
|
||||
this.KeyDown += (s1, e1) =>
|
||||
@@ -76,7 +76,7 @@ namespace FPJ0000.JobReport
|
||||
this.cmbUser.DataSource = dt_users;
|
||||
if (FCOMMON.info.Login.level < 5) cmbUser.Enabled = false;
|
||||
|
||||
// tbWW.Text = dr.ww;
|
||||
// tbWW.Text = dr.ww;
|
||||
dtPdate.Value = DateTime.Parse(dr.pdate); //일자선택
|
||||
cmbUser.SelectedValue = dr.uid;
|
||||
tbProject.Text = dr.projectName;
|
||||
@@ -127,7 +127,7 @@ namespace FPJ0000.JobReport
|
||||
// tbSID.Focus();
|
||||
// break;
|
||||
case "tbdescription":
|
||||
if(e.Control)
|
||||
if (e.Control)
|
||||
{
|
||||
btSave.Focus();
|
||||
}
|
||||
@@ -135,7 +135,7 @@ namespace FPJ0000.JobReport
|
||||
case "tbproject":
|
||||
if (search != "")
|
||||
{
|
||||
FCM0000.fLovProject f = new FCM0000.fLovProject("%" + search + "%");
|
||||
var f = new fLovProject("%" + search + "%");
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
this.tbProject.Text = f.Title;
|
||||
@@ -143,12 +143,16 @@ namespace FPJ0000.JobReport
|
||||
tbHrs.Focus();
|
||||
tbHrs.SelectAll();
|
||||
|
||||
if(tbProjectIndex.Tag.ToString() != f.Index.ToString())
|
||||
if (tbProjectIndex.Tag.ToString() != f.Index.ToString() || f.Index == -1)
|
||||
{
|
||||
//마지막 데이터를 찾아서 공정등의 정보를 업데이트한다.
|
||||
var uid = cmbUser.SelectedValue.ToString();
|
||||
var lastDt = FCOMMON.DBM.getLastJobReportData(uid,f.Index);
|
||||
if(lastDt != null && lastDt.Rows.Count > 0)
|
||||
DataTable lastDt = null;
|
||||
|
||||
if (f.Index != -1) lastDt = FCOMMON.DBM.getLastJobReportData(uid, f.Index);
|
||||
else lastDt = FCOMMON.DBM.getLastJobReportDatabyProjectName(uid, f.Title);
|
||||
|
||||
if (lastDt != null && lastDt.Rows.Count > 0)
|
||||
{
|
||||
var predr = lastDt.Rows[0];
|
||||
|
||||
@@ -171,7 +175,7 @@ namespace FPJ0000.JobReport
|
||||
//이름만 사용한다.
|
||||
tbProjectIndex.Text = "-1";
|
||||
cmbRequest.Focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -179,7 +183,7 @@ namespace FPJ0000.JobReport
|
||||
var tb = sender as TextBox;
|
||||
tb.SelectAll();
|
||||
tb.Focus();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -204,14 +208,14 @@ namespace FPJ0000.JobReport
|
||||
// tbProject.Focus();
|
||||
// return;
|
||||
//}
|
||||
if(cmbType.Text != "휴가" && tbDescription.Text.Trim()=="")
|
||||
if (cmbType.Text != "휴가" && tbDescription.Text.Trim() == "")
|
||||
{
|
||||
FCOMMON.Util.MsgE("진행 내용이 없습니다.");
|
||||
tbDescription.Focus();
|
||||
return;
|
||||
}
|
||||
float hour = Single.Parse(tbHrs.Text) + Single.Parse(tbOt.Text);
|
||||
if(hour == 0)
|
||||
if (hour == 0)
|
||||
{
|
||||
FCOMMON.Util.MsgE("근무시간/초과시간이 입력되지 않았습니다.");
|
||||
if (tbHrs.Enabled) tbHrs.Focus();
|
||||
@@ -231,7 +235,7 @@ namespace FPJ0000.JobReport
|
||||
cmbProcess.Focus();
|
||||
return;
|
||||
}
|
||||
if(cmbUser.SelectedIndex <0)
|
||||
if (cmbUser.SelectedIndex < 0)
|
||||
{
|
||||
FCOMMON.Util.MsgE("담당자가 선택되지 않았습니다.");
|
||||
cmbUser.Focus();
|
||||
@@ -241,10 +245,10 @@ namespace FPJ0000.JobReport
|
||||
///휴일체크
|
||||
var taQ = new dsQueryTableAdapters.QueriesTableAdapter();
|
||||
var freeday = taQ.CheckHoliday(dtPdate.Value.ToShortDateString());
|
||||
if(freeday != null && freeday ==true)
|
||||
if (freeday != null && freeday == true)
|
||||
{
|
||||
var hrs = float.Parse(tbHrs.Text);
|
||||
if(hrs > 0)
|
||||
if (hrs > 0)
|
||||
{
|
||||
FCOMMON.Util.MsgI("입력일자는 휴일로 등록되어 있습니다.\n\n근무시간은 OT에 입력하시기 바랍니다.");
|
||||
//tbOt.Text = tbHrs.Text;
|
||||
@@ -275,21 +279,21 @@ namespace FPJ0000.JobReport
|
||||
|
||||
private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(cmbType.Text.Trim() != "" &&
|
||||
cmbType.SelectedIndex >= 0 &&
|
||||
cmbProcess.SelectedIndex < 0 &&
|
||||
if (cmbType.Text.Trim() != "" &&
|
||||
cmbType.SelectedIndex >= 0 &&
|
||||
cmbProcess.SelectedIndex < 0 &&
|
||||
cmbUser.SelectedValue != null)
|
||||
{
|
||||
//공정을 자동선택해준다.
|
||||
//마지막 데이터를 찾아서 공정등의 정보를 업데이트한다.
|
||||
var uid = cmbUser.SelectedValue.ToString();
|
||||
var lastDt = FCOMMON.DBM.getLastJobReportData(uid,cmbType.Text.Trim());
|
||||
var uid = cmbUser.SelectedValue.ToString();
|
||||
var lastDt = FCOMMON.DBM.getLastJobReportData(uid, cmbType.Text.Trim());
|
||||
if (lastDt != null && lastDt.Rows.Count > 0)
|
||||
{
|
||||
var predr = lastDt.Rows[0];// as dsPRJ.JobReportRow;
|
||||
if(predr["process"] != DBNull.Value)
|
||||
if (predr["process"] != DBNull.Value)
|
||||
cmbProcess.Text = predr["process"].ToString(); //190506
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -297,36 +301,37 @@ namespace FPJ0000.JobReport
|
||||
private void dtPdate_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
var myCI = new System.Globalization.CultureInfo("ko-KR");
|
||||
var myCal = myCI.Calendar;
|
||||
var myCWR = myCI.DateTimeFormat.CalendarWeekRule;
|
||||
DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
|
||||
var dat = myCal.GetWeekOfYear(dtPdate.Value, myCWR, myFirstDOW);
|
||||
tbWW.Text = "ww"+dat.ToString();
|
||||
UpdateWOrkTime();
|
||||
var myCal = myCI.Calendar;
|
||||
var myCWR = myCI.DateTimeFormat.CalendarWeekRule;
|
||||
DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
|
||||
var dat = myCal.GetWeekOfYear(dtPdate.Value, myCWR, myFirstDOW);
|
||||
tbWW.Text = "ww" + dat.ToString();
|
||||
UpdateWOrkTime();
|
||||
|
||||
//공휴일이면 시간을 초기화한다.
|
||||
if (tbHrs.Text == "") tbHrs.Text = "0";
|
||||
if (tbOt.Text == "") tbOt.Text = "0";
|
||||
float hrs = float.Parse(tbHrs.Text);
|
||||
if (dtPdate.Value.DayOfWeek == DayOfWeek.Saturday || dtPdate.Value.DayOfWeek == DayOfWeek.Sunday)
|
||||
{
|
||||
tbHrs.Enabled = false;
|
||||
if (hrs != 0)
|
||||
{
|
||||
FCOMMON.Util.MsgI("공휴일에는 근무시간을 입력할 수 없습니다.\n초과시간에 입력하세요.\n\n해당 값은 삭제 됩니다.");
|
||||
tbHrs.Text = "0";
|
||||
if (hrs != 8) tbOt.Text = hrs.ToString();
|
||||
tbOt.Focus();
|
||||
}
|
||||
}
|
||||
else tbHrs.Enabled = true;
|
||||
if (tbHrs.Text == "") tbHrs.Text = "0";
|
||||
if (tbOt.Text == "") tbOt.Text = "0";
|
||||
float hrs = float.Parse(tbHrs.Text);
|
||||
if (dtPdate.Value.DayOfWeek == DayOfWeek.Saturday || dtPdate.Value.DayOfWeek == DayOfWeek.Sunday)
|
||||
{
|
||||
tbHrs.Enabled = false;
|
||||
if (hrs != 0)
|
||||
{
|
||||
FCOMMON.Util.MsgI("공휴일에는 근무시간을 입력할 수 없습니다.\n초과시간에 입력하세요.\n\n해당 값은 삭제 됩니다.");
|
||||
tbHrs.Text = "0";
|
||||
if (hrs != 8) tbOt.Text = hrs.ToString();
|
||||
tbOt.Focus();
|
||||
}
|
||||
}
|
||||
else tbHrs.Enabled = true;
|
||||
}
|
||||
void UpdateWOrkTime()
|
||||
{
|
||||
//이번달 근무시간 및 초과시간 구하기
|
||||
if (cmbUser.SelectedValue != null)
|
||||
{
|
||||
int work, ot, total;
|
||||
float work, ot;
|
||||
int total;
|
||||
FCOMMON.DBM.getWorkTime(cmbUser.SelectedValue.ToString(), dtPdate.Value.ToString("yyyy-MM"), out work, out total, out ot);
|
||||
string msg = "금월 근무시간 : {0:N1}h / {1:N0}h\n금월 초과시간 : {2:N1}h";
|
||||
lbSummary.Text = string.Format(msg, work, total, ot);
|
||||
@@ -338,8 +343,8 @@ namespace FPJ0000.JobReport
|
||||
}
|
||||
private void cmbUser_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(cmbUser.SelectedIndex >=0)
|
||||
UpdateWOrkTime();;
|
||||
if (cmbUser.SelectedIndex >= 0)
|
||||
UpdateWOrkTime(); ;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user