클립보드 붙여넣기 기능 추가

This commit is contained in:
chi
2022-01-18 21:54:44 +09:00
parent c64da59da8
commit 8cdd9d5729
16 changed files with 889 additions and 213 deletions

View File

@@ -53,6 +53,10 @@ namespace FBS0000
var cols = new List<string>();
cols.AddRange(new string[] { "분류", "사번", "직급", "성명" });
var coltag = new List<DateTime>();
var initdate = new DateTime(1982, 11, 23);
coltag.AddRange(new DateTime[] { initdate, initdate, initdate, initdate });
var sd = DateTime.Parse(tbSD.Text);
var ed = DateTime.Parse(tbED.Text);
var idx = 0; ;
@@ -60,14 +64,18 @@ namespace FBS0000
{
var curDate = sd.AddDays(idx++);
cols.Add(curDate.Day.ToString("00") + "\r\n" + curDate.DayOfWeek.ToString().Substring(0, 3));
coltag.Add(curDate);
if (curDate.ToShortDateString() == ed.ToShortDateString()) break;
}
cols.AddRange(new string[] { "발생", "사용", "잔여" });
coltag.AddRange(new DateTime[] { initdate, initdate, initdate });
//열제목 설정
fpSpread1_Sheet1.Columns.Count = cols.Count;
for (int c = 0; c < cols.Count; c++)
{
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;
@@ -82,7 +90,7 @@ namespace FBS0000
//해당 기간내의 사용
//var taUser = new dsMSSQLTableAdapters.EETGW_WorkTableUserTableAdapter();
var dtUser = JobReport.OrderBy(t => t.userProcess+ t.name).GroupBy(t => t.id);// taUser.GetData(FCOMMON.info.Login.gcode, tbGrp.Text);
var dtUser = JobReport.OrderBy(t => t.userProcess + t.name).GroupBy(t => t.id);// taUser.GetData(FCOMMON.info.Login.gcode, tbGrp.Text);
var users = new List<userinfo>();
var seq = 0;
@@ -147,8 +155,11 @@ namespace FBS0000
}
else
{
fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.FromArgb(240, 240, 240); ;
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);
}
}
//입사일이면 메세지 추가
@@ -170,15 +181,88 @@ namespace FBS0000
if (string.IsNullOrEmpty(dr.tag) == false) fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.tag;
else if (dr.term > 0)
{
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.Lime;
fpSpread1_Sheet1.Cells[rowindex, c].Value = "Y";
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";
//}
}
else if (dr.term != 0)
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.term.ToString() + "Y";
}
else if (dr.term != 0) fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.term.ToString() + "Y";
if (dr.CrTime != 0)
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.CrTime.ToString();
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.DeepSkyBlue;
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) fpSpread1_Sheet1.Cells[rowindex, c].Note += $"({dr.cate}){dr.contents}";
@@ -223,15 +307,16 @@ namespace FBS0000
else
{
//근무를 안했다
fpSpread1_Sheet1.Cells[rowindex, c].Value = string.Empty;
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.White;
//fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
var celltag = fpSpread1_Sheet1.Cells[rowindex, c].Tag;
if (celltag == null) //다른곳에서 지정했다면 처리하지 않는다.
{
fpSpread1_Sheet1.Cells[rowindex, c].Value = string.Empty;
fpSpread1_Sheet1.Cells[rowindex, c].BackColor = Color.White;
//fpSpread1_Sheet1.Cells[rowindex, c].Note = string.Empty;
}
}
}
}
}
var jan = jand - used;
@@ -239,7 +324,6 @@ namespace FBS0000
fpSpread1_Sheet1.Cells[rowindex, c++].Value = used > 0 ? used.ToString() : string.Empty;
fpSpread1_Sheet1.Cells[rowindex, c++].Value = jan > 0 ? jan.ToString() : string.Empty;
rowindex += 1;
}
@@ -364,7 +448,7 @@ namespace FBS0000
private void btXls_Click(object sender, EventArgs e)
{
SaveFileDialog sd = new SaveFileDialog();