This commit is contained in:
chi
2022-02-25 02:01:43 +09:00
parent 80d43752c6
commit dfa6ed85ca
6 changed files with 219 additions and 148 deletions

View File

@@ -19,7 +19,7 @@ namespace FBS0000
InitializeComponent();
var sd = DateTime.Now.ToString("yyyy-MM-01");
var ed = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
var ed = DateTime.Parse(sd).AddMonths(1).AddDays(-1).ToShortDateString();// DateTime.Now.AddMonths(1).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
tbSD.Text = sd;
tbED.Text = ed;
@@ -78,7 +78,7 @@ namespace FBS0000
fpSpread1_Sheet1.Columns[c].Tag = coltag[c];
fpSpread1_Sheet1.Columns[c].Label = cols[c];
if (c < 4) fpSpread1_Sheet1.Columns[c].BackColor = Color.WhiteSmoke;
else if (c > cols.Count - 4) fpSpread1_Sheet1.Columns[c].BackColor = Color.WhiteSmoke;
else if (c > cols.Count - 5) fpSpread1_Sheet1.Columns[c].BackColor = Color.WhiteSmoke;
else fpSpread1_Sheet1.Columns[c].BackColor = Color.White;
}
@@ -136,7 +136,7 @@ namespace FBS0000
//이월잔액
var jand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, item.empno, sd.ToString("yyyy-01-01"), sd.ToShortDateString(), "999999");
var jand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, item.empno, sd.ToString("yyyy-01-01"), sd.AddDays(-1).ToShortDateString(), "999999");
var used = 0.0;
fpSpread1_Sheet1.Rows[rowindex].ResetBorder();
@@ -150,10 +150,12 @@ namespace FBS0000
var bholy = false;
//이날짜가 휴일인지 체크한다.
var drHoly = HolyList.Where(t => t.pdate == curDate.ToShortDateString()).FirstOrDefault();
if (drHoly != null && drHoly.free)
{
bholy = true;
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.LightPink;
fpSpread1_Sheet1.Cells[rowindex, c].Tag = drHoly.memo;
if (drHoly.memo == "토요일" || drHoly.memo == "일요일")
{
fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
@@ -165,13 +167,16 @@ namespace FBS0000
}
else
{
if (fpSpread1_Sheet1.Cells[rowindex, c].Tag == null)
{
fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
//fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.FromArgb(240, 240, 240);
}
//휴일은 아님
fpSpread1_Sheet1.Cells[rowindex, c].Tag = null;
fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
}
//기본으로 데이터를 초기화해준다.
fpSpread1_Sheet1.Cells[rowindex, c].Value = string.Empty;
//입사일이면 메세지 추가
if (item.indate == curDate.ToShortDateString())
fpSpread1_Sheet1.Cells[rowindex, c].Note += "입사";
@@ -179,103 +184,129 @@ namespace FBS0000
fpSpread1_Sheet1.Cells[rowindex, c].Note += "퇴사";
var dr = dtHoly.Where(t => t.uid == item.empno && t.sdate.ToShortDateString() == curDate.ToShortDateString()).FirstOrDefault();
if (dr != null)
//근태기록에 자료가 있는지 확인한다.
var dr = dtHoly.Where(t => t.uid == item.empno && ( t.sdate.ToShortDateString().CompareTo(curDate.ToShortDateString()) <= 0 && t.edate.ToShortDateString().CompareTo(curDate.ToShortDateString()) >= 0)).FirstOrDefault();
if (dr != null && fpSpread1_Sheet1.Cells[rowindex, c].Tag == null) //휴일이 아니여야 한다
{
//휴가내역이 있다.
if (dr.term > 0)
used += dr.term;
used += 1;
//자료가있다.
if (string.IsNullOrEmpty(dr.tag) == false) fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.tag;
else if (dr.term > 0)
if (string.IsNullOrEmpty(dr.tag) == false)
{
var timedays = dr.term;// Math.Floor(dr.CrTime / 8f);
var curday = 0;
var accday = 1;
while (accday <= timedays)
{
//var remaintime = dr.CrTime - accday * 8f;
var columnindex = c + curday;
var columnDate = (DateTime)this.fpSpread1_Sheet1.Columns[columnindex].Tag;
var drHolyChk = HolyList.Where(t => t.pdate == columnDate.ToShortDateString()).FirstOrDefault();
var drholyOK = false;
if (drHolyChk != null && drHolyChk.free) drholyOK = true; //이러면 휴일이었다
if (drholyOK == false)
{
fpSpread1_Sheet1.Cells[rowindex, c + curday].Value = dr.cate.Substring(0, 2);
if (dr.cate == "이월")
fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Gold;
else if (dr.cate == "경조")
fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Pink;
else
fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Lime;
fpSpread1_Sheet1.Cells[rowindex, c + curday].Tag = "1";
accday += 1;
}
curday += 1;
}
//for (int ii = 0; ii < dr.term; ii++)
//{
// if (dr.cate == "이월")
// fpSpread1_Sheet1.Cells[rowindex, c + ii].BackColor = Color.Gold;
// else
// fpSpread1_Sheet1.Cells[rowindex, c + ii].BackColor = Color.Lime;
// fpSpread1_Sheet1.Cells[rowindex, c + ii].Value = dr.cate.Substring(0, 2);
// fpSpread1_Sheet1.Cells[rowindex, c + ii].Tag = "1";
//}
fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.tag;
}
else if (dr.term != 0)
else
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.term.ToString() + "Y";
}
fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.cate.Substring(0, 2);
if (dr.CrTime != 0)
if (dr.cate == "이월")
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.Gold;
else if (dr.cate == "경조")
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.Pink;
else
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.Lime;
fpSpread1_Sheet1.Cells[rowindex, c].Tag = "1";
}
//else if (dr.term > 0)
//{
// var timedays = dr.term;// Math.Floor(dr.CrTime / 8f);
// var curday = 0;
// var accday = 1;
// //while (accday <= timedays)
// {
// //var remaintime = dr.CrTime - accday * 8f;
// var columnindex = c + curday;
// if (columnindex >= fpSpread1_Sheet1.ColumnCount) break;
// var columnDate = (DateTime)this.fpSpread1_Sheet1.Columns[columnindex].Tag;
// var drHolyChk = HolyList.Where(t => t.pdate == columnDate.ToShortDateString()).FirstOrDefault();
// var drholyOK = false;
// if (drHolyChk != null && drHolyChk.free) drholyOK = true; //이러면 휴일이었다
// if (drholyOK == false)
// {
// fpSpread1_Sheet1.Cells[rowindex, c + curday].Value = dr.cate.Substring(0, 2);
// if (dr.cate == "이월")
// fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Gold;
// else if (dr.cate == "경조")
// fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Pink;
// else
// fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.Lime;
// fpSpread1_Sheet1.Cells[rowindex, c + curday].Tag = "1";
// accday += 1;
// }
// curday += 1;
// }
// //for (int ii = 0; ii < dr.term; ii++)
// //{
// // if (dr.cate == "이월")
// // fpSpread1_Sheet1.Cells[rowindex, c + ii].BackColor = Color.Gold;
// // else
// // fpSpread1_Sheet1.Cells[rowindex, c + ii].BackColor = Color.Lime;
// // fpSpread1_Sheet1.Cells[rowindex, c + ii].Value = dr.cate.Substring(0, 2);
// // fpSpread1_Sheet1.Cells[rowindex, c + ii].Tag = "1";
// //}
//}
//else if (dr.term != 0)
//{
// fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.term.ToString() + "Y";
//}
//if (dr.CrTime != 0)
//{
// var timedays = Math.Floor(dr.CrTime / 8f);
// var curday = 0;
// var accday = 1;
// while (accday <= timedays)
// {
// var remaintime = dr.CrTime - ((accday - 1) * 8f);
// var columnindex = c + curday;
// var columnDate = (DateTime)this.fpSpread1_Sheet1.Columns[columnindex].Tag;
// var drHolyChk = HolyList.Where(t => t.pdate == columnDate.ToShortDateString()).FirstOrDefault();
// var drholyOK = false;
// if (drHolyChk != null && drHolyChk.free) drholyOK = true; //이러면 휴일이었다
// if (drholyOK == false)
// {
// if (remaintime > 8) remaintime = 8;
// fpSpread1_Sheet1.Cells[rowindex, c + curday].Value = remaintime.ToString();
// fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.DeepSkyBlue;
// fpSpread1_Sheet1.Cells[rowindex, c + curday].Tag = "1";
// accday += 1;
// }
// curday += 1;
// }
//}
if (string.IsNullOrEmpty(dr.contents) == false)
{
var timedays = Math.Floor(dr.CrTime / 8f);
var curday = 0;
var accday = 1;
while (accday <= timedays)
{
var remaintime = dr.CrTime - ((accday - 1) * 8f);
var columnindex = c + curday;
var columnDate = (DateTime)this.fpSpread1_Sheet1.Columns[columnindex].Tag;
var drHolyChk = HolyList.Where(t => t.pdate == columnDate.ToShortDateString()).FirstOrDefault();
var drholyOK = false;
if (drHolyChk != null && drHolyChk.free) drholyOK = true; //이러면 휴일이었다
if (drholyOK == false)
{
if (remaintime > 8) remaintime = 8;
fpSpread1_Sheet1.Cells[rowindex, c + curday].Value = remaintime.ToString();
fpSpread1_Sheet1.Cells[rowindex, c + curday].BackColor = Color.DeepSkyBlue;
fpSpread1_Sheet1.Cells[rowindex, c + curday].Tag = "1";
accday += 1;
}
curday += 1;
}
fpSpread1_Sheet1.Cells[rowindex, c].Note += $"({dr.cate}){dr.contents} 기간:{dr.sdate.ToShortDateString()}~{dr.edate.ToShortDateString()}";
}
else if (dr.sdate.ToShortDateString() != dr.edate.ToShortDateString())
{
fpSpread1_Sheet1.Cells[rowindex, c].Note += $"({dr.cate}) 기간:{dr.sdate.ToShortDateString()}~{dr.edate.ToShortDateString()}";
}
if (string.IsNullOrEmpty(dr.contents) == false) fpSpread1_Sheet1.Cells[rowindex, c].Note += $"({dr.cate}){dr.contents}";
//else fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
}
else
@@ -335,13 +366,13 @@ namespace FBS0000
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = "--";
fpSpread1_Sheet1.Cells[rowindex, c].ForeColor = Color.Red;
}
}
else
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = string.Empty;
fpSpread1_Sheet1.Cells[rowindex, c].ForeColor = Color.Black;
}
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.White;
//fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
@@ -462,18 +493,18 @@ namespace FBS0000
private void toolStripButton4_Click(object sender, EventArgs e)
{
var sd = DateTime.Parse(tbSD.Text);
var sd = DateTime.Parse(DateTime.Parse(tbSD.Text).ToString("yyyy-MM-01"));
sd = sd.AddMonths(-1);
var ed = sd.AddMonths(1);
var ed = sd.AddMonths(1).AddDays(-1);
tbSD.Text = sd.ToShortDateString();
tbED.Text = ed.ToShortDateString();
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
var sd = DateTime.Parse(tbSD.Text);
var sd = DateTime.Parse(DateTime.Parse(tbSD.Text).ToString("yyyy-MM-01"));
sd = sd.AddMonths(1);
var ed = sd.AddMonths(1);
var ed = sd.AddMonths(1).AddDays(-1);
tbSD.Text = sd.ToShortDateString();
tbED.Text = ed.ToShortDateString();
}

View File

@@ -98,7 +98,7 @@ namespace FBS0000.Holiday
var ta = new dsMSSQLTableAdapters.HolydayTableAdapter();
foreach (ListViewItem item in items)
{
ta.InsertShort(item.SubItems[2].Text, item.SubItems[0].Text, double.Parse(item.SubItems[4].Text),
ta.InsertShort(item.SubItems[2].Text, item.SubItems[0].Text, item.SubItems[0].Text, double.Parse(item.SubItems[4].Text),
"PASTE", "PASTE", item.SubItems[1].Text, FCOMMON.info.Login.no, DateTime.Now,
double.Parse(item.SubItems[3].Text), FCOMMON.info.Login.gcode,
double.Parse(item.SubItems[5].Text), double.Parse(item.SubItems[6].Text), "CLIPBOARD");