...
This commit is contained in:
@@ -16,9 +16,6 @@ namespace FPJ0000.JobReport_
|
||||
{
|
||||
InitializeComponent();
|
||||
this.WindowState = FormWindowState.Maximized;
|
||||
// this.dts.Value = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01"));
|
||||
//this.dte.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1);
|
||||
|
||||
}
|
||||
|
||||
private void rJobReport_Load(object sender, EventArgs e)
|
||||
@@ -36,7 +33,6 @@ namespace FPJ0000.JobReport_
|
||||
//사용자 목록을 선택한다
|
||||
UpdateUserList();
|
||||
|
||||
//this.tbMon.Text = DateTime.Now.ToString("yyyy-MM");
|
||||
refrehData();
|
||||
binit = true;
|
||||
}
|
||||
@@ -79,7 +75,7 @@ namespace FPJ0000.JobReport_
|
||||
{
|
||||
|
||||
//근문일수,시간
|
||||
// var vSD = dts.Value.ToShortDateString();
|
||||
// var vSD = dts.Value.ToShortDateString();
|
||||
//var vED = dte.Value.ToShortDateString();
|
||||
|
||||
string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
|
||||
@@ -98,15 +94,25 @@ namespace FPJ0000.JobReport_
|
||||
this.dv1.Rows.Clear();
|
||||
this.dv1.Columns.Clear();
|
||||
|
||||
fp1.ActiveSheet.RowCount = 0;
|
||||
|
||||
fp1.ActiveSheet.Columns.Clear();
|
||||
|
||||
|
||||
|
||||
var wekklist = new string[] { "일", "월", "화", "수", "목", "금", "토" };
|
||||
|
||||
//날짜에 해당하는 열을 먼저 생성한다
|
||||
|
||||
dv1.Columns.Add("dvcu_pidx", "*");
|
||||
dv1.Columns.Add("dvcu_title", "프로젝트");
|
||||
dv1.Columns.Add("dvcu_title", "시작");
|
||||
dv1.Columns.Add("dvcu_title", "만료");
|
||||
|
||||
var colidx = 0;
|
||||
fp1.ActiveSheet.Columns.Add(colidx, 1); fp1.ActiveSheet.Columns[colidx++].Label = "*";
|
||||
fp1.ActiveSheet.Columns.Add(colidx, 1); fp1.ActiveSheet.Columns[colidx++].Label = "프로젝트";
|
||||
fp1.ActiveSheet.Columns.Add(colidx, 1); fp1.ActiveSheet.Columns[colidx++].Label = "시작";
|
||||
fp1.ActiveSheet.Columns.Add(colidx, 1); fp1.ActiveSheet.Columns[colidx++].Label = "만료";
|
||||
//dv1.Columns.Add("dvcu_hrs", "시간");
|
||||
|
||||
//오늘의WW추가
|
||||
@@ -157,17 +163,27 @@ namespace FPJ0000.JobReport_
|
||||
var yy1 = wwname.Substring(0, 2);
|
||||
var ww1 = wwname.Substring(2);
|
||||
dv1.Columns.Add("dvcu_ww" + item, $"w{ww1}\ny{yy1}");
|
||||
|
||||
|
||||
|
||||
|
||||
dv1.Columns[dv1.Columns.Count - 1].Tag = item;
|
||||
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.NullValue = "";
|
||||
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Format = "N2";
|
||||
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Font = wwfont;
|
||||
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
||||
|
||||
fp1.ActiveSheet.Columns.Add(colidx, 1); fp1.ActiveSheet.Columns[colidx++].Label = $"w{ww1}\ny{yy1}";
|
||||
|
||||
}
|
||||
|
||||
//프로젝트별로 데이터를 표시한다.
|
||||
var grp_list = dsReport.UserScheduleTable.GroupBy(t => t.name).OrderBy(t => t.Key);
|
||||
var ridx = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
foreach (var grp in grp_list)
|
||||
{
|
||||
var prjname = grp.Key;
|
||||
@@ -181,6 +197,22 @@ namespace FPJ0000.JobReport_
|
||||
columns[row++] = sdate;
|
||||
columns[row++] = ddate;
|
||||
|
||||
|
||||
var cidx = 0;
|
||||
fp1.ActiveSheet.RowCount += 1;//.AddRows(ridx, 1);
|
||||
|
||||
var ctdef = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
ctdef.WordWrap = true;
|
||||
ctdef.Multiline = true;
|
||||
|
||||
|
||||
fp1.ActiveSheet.Cells[ridx, cidx].CellType = ctdef; fp1.ActiveSheet.Cells[ridx, cidx].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; fp1.ActiveSheet.Cells[ridx, cidx++].Value = grp.Max(t => t.idx);
|
||||
fp1.ActiveSheet.Cells[ridx, cidx].CellType = ctdef; fp1.ActiveSheet.Cells[ridx, cidx].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; fp1.ActiveSheet.Cells[ridx, cidx++].Value = prjname;
|
||||
fp1.ActiveSheet.Cells[ridx, cidx].CellType = ctdef; fp1.ActiveSheet.Cells[ridx, cidx].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; fp1.ActiveSheet.Cells[ridx, cidx++].Value = sdate;
|
||||
fp1.ActiveSheet.Cells[ridx, cidx].CellType = ctdef; fp1.ActiveSheet.Cells[ridx, cidx].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; fp1.ActiveSheet.Cells[ridx, cidx++].Value = ddate;
|
||||
|
||||
|
||||
|
||||
//세부항목데이터를 넣는다
|
||||
foreach (var dr in grp)
|
||||
{
|
||||
@@ -192,6 +224,9 @@ namespace FPJ0000.JobReport_
|
||||
|
||||
var isw = int.Parse(sw.Replace("-", ""));
|
||||
var iew = int.Parse(ew.Replace("-", ""));
|
||||
bool first = true;
|
||||
int startcol = -1;
|
||||
int endcol = -1;
|
||||
for (int i = row; i < dv1.ColumnCount; i++)
|
||||
{
|
||||
var col = dv1.Columns[i];
|
||||
@@ -200,17 +235,62 @@ namespace FPJ0000.JobReport_
|
||||
if (colno >= isw && colno <= iew)
|
||||
{
|
||||
columns[i] = "O";
|
||||
|
||||
if (dr.complete || dr.progress > 99)
|
||||
fp1.ActiveSheet.Cells[ridx, i].BackColor = Color.Lime;
|
||||
else if (dr.progress < 50)
|
||||
fp1.ActiveSheet.Cells[ridx, i].BackColor = Color.Tomato;
|
||||
else
|
||||
fp1.ActiveSheet.Cells[ridx, i].BackColor = Color.Gold;
|
||||
|
||||
if (first)
|
||||
{
|
||||
fp1.ActiveSheet.Cells[ridx, i].Value = dr.title + "\n" + dr.progress.ToString("N0") + "%";
|
||||
fp1.ActiveSheet.Cells[ridx, i].Note = dr.title + "\n" + dr.progress.ToString("N0") + "%";
|
||||
first = false;
|
||||
startcol = i;
|
||||
}
|
||||
else
|
||||
{
|
||||
endcol = i;
|
||||
}
|
||||
}
|
||||
|
||||
fp1.ActiveSheet.Cells[ridx, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
fp1.ActiveSheet.Cells[ridx, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
fp1.ActiveSheet.Cells[ridx, i].Font = new Font("맑은 고딕", 7);
|
||||
fp1.ActiveSheet.Cells[ridx, i].CellType = ctdef;
|
||||
}
|
||||
if (startcol != -1 && endcol != -1)
|
||||
{
|
||||
fp1.ActiveSheet.AddSpanCell(ridx, startcol, 1, (endcol - startcol + 1));
|
||||
// fp1.ActiveSheet.Cells[ridx, startcol].CellType = ctdef;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
dv1.Rows.Add(columns);
|
||||
ridx += 1;
|
||||
}
|
||||
|
||||
//cell formation
|
||||
foreach(DataGridViewRow dr in this.dv1.Rows)
|
||||
fp1.ActiveSheet.AllowNoteEdit = true;
|
||||
fp1.ActiveSheet.AutoUpdateNotes = true;
|
||||
for (int i = 0; i < fp1.ActiveSheet.RowCount; i++)
|
||||
{
|
||||
for(int i = 4; i < dv1.ColumnCount;i++)
|
||||
fp1.ActiveSheet.Rows[i].Height = 40;
|
||||
}
|
||||
|
||||
fp1.ActiveSheet.Columns[0].Width = 35;
|
||||
fp1.ActiveSheet.Columns[1].Width = 250;
|
||||
fp1.ActiveSheet.Columns[2].Width = 75;
|
||||
fp1.ActiveSheet.Columns[3].Width = 75;
|
||||
|
||||
|
||||
|
||||
//cell formation
|
||||
foreach (DataGridViewRow dr in this.dv1.Rows)
|
||||
{
|
||||
for (int i = 4; i < dv1.ColumnCount; i++)
|
||||
{
|
||||
var cell = dr.Cells[i];
|
||||
if (cell.Value == null)
|
||||
|
||||
Reference in New Issue
Block a user