This commit is contained in:
chi
2023-10-27 09:47:54 +09:00
parent a95b26c55d
commit 0e23ef4d09
6 changed files with 1202 additions and 79 deletions

View File

@@ -665,6 +665,7 @@
<DependentUpon>fProjectConnect.cs</DependentUpon> <DependentUpon>fProjectConnect.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="JobReport_\rJobReportType.rdlc" /> <EmbeddedResource Include="JobReport_\rJobReportType.rdlc" />
<EmbeddedResource Include="JobReport_\rJobReportTypeU.rdlc" />
<EmbeddedResource Include="JobReport_\rJobReportType.resx"> <EmbeddedResource Include="JobReport_\rJobReportType.resx">
<DependentUpon>rJobReportType.cs</DependentUpon> <DependentUpon>rJobReportType.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

View File

@@ -53,6 +53,11 @@
this.dts = new System.Windows.Forms.DateTimePicker(); this.dts = new System.Windows.Forms.DateTimePicker();
this.btRefresh = new System.Windows.Forms.Button(); this.btRefresh = new System.Windows.Forms.Button();
this.reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer(); this.reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer();
this.cmbUser = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.tbProcess = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.checkBox1 = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
@@ -71,6 +76,11 @@
// panel1 // panel1
// //
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200))))); this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
this.panel1.Controls.Add(this.checkBox1);
this.panel1.Controls.Add(this.cmbUser);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.tbProcess);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.linkLabel13); this.panel1.Controls.Add(this.linkLabel13);
this.panel1.Controls.Add(this.linkLabel14); this.panel1.Controls.Add(this.linkLabel14);
this.panel1.Controls.Add(this.linkLabel9); this.panel1.Controls.Add(this.linkLabel9);
@@ -323,6 +333,52 @@
this.reportViewer1.Size = new System.Drawing.Size(1114, 641); this.reportViewer1.Size = new System.Drawing.Size(1114, 641);
this.reportViewer1.TabIndex = 8; this.reportViewer1.TabIndex = 8;
// //
// cmbUser
//
this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbUser.FormattingEnabled = true;
this.cmbUser.Location = new System.Drawing.Point(598, 32);
this.cmbUser.Name = "cmbUser";
this.cmbUser.Size = new System.Drawing.Size(180, 20);
this.cmbUser.TabIndex = 31;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(563, 36);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 30;
this.label4.Text = "사원";
//
// tbProcess
//
this.tbProcess.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.tbProcess.FormattingEnabled = true;
this.tbProcess.Location = new System.Drawing.Point(598, 9);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(180, 20);
this.tbProcess.TabIndex = 29;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(564, 13);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 28;
this.label1.Text = "공정";
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(786, 33);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(100, 16);
this.checkBox1.TabIndex = 32;
this.checkBox1.Text = "담당자별 분리";
this.checkBox1.UseVisualStyleBackColor = true;
//
// rJobReportType // rJobReportType
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -366,5 +422,10 @@
private System.Windows.Forms.LinkLabel linkLabel14; private System.Windows.Forms.LinkLabel linkLabel14;
private Microsoft.Reporting.WinForms.ReportViewer reportViewer1; private Microsoft.Reporting.WinForms.ReportViewer reportViewer1;
private System.Windows.Forms.BindingSource bs; private System.Windows.Forms.BindingSource bs;
private System.Windows.Forms.ComboBox cmbUser;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox tbProcess;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox checkBox1;
} }
} }

View File

@@ -24,18 +24,18 @@ namespace FPJ0000.JobReport_
private void rJobReport_Load(object sender, EventArgs e) private void rJobReport_Load(object sender, EventArgs e)
{ {
//this.tbProcess.Items.Clear(); this.tbProcess.Items.Clear();
//tbProcess.Items.Add("--전체--"); tbProcess.Items.Add("--전체--");
//var taProcess = new dsReportTableAdapters.ProcessListTableAdapter(); var taProcess = new dsReportTableAdapters.ProcessListTableAdapter();
//var dtProcessList = taProcess.GetData(FCOMMON.info.Login.gcode); var dtProcessList = taProcess.GetData(FCOMMON.info.Login.gcode);
//foreach (dsReport.ProcessListRow dr in dtProcessList.Rows) foreach (dsReport.ProcessListRow dr in dtProcessList.Rows)
// tbProcess.Items.Add(dr.processs); tbProcess.Items.Add(dr.processs);
//this.tbProcess.Text = FCOMMON.info.Login.process; this.tbProcess.Text = FCOMMON.info.Login.process;
//if (tbProcess.SelectedIndex < 0) tbProcess.SelectedIndex = 0; if (tbProcess.SelectedIndex < 0) tbProcess.SelectedIndex = 0;
////사용자 목록을 선택한다 //사용자 목록을 선택한다
//UpdateUserList(); UpdateUserList();
this.Show(); this.Show();
System.Windows.Forms.Application.DoEvents(); System.Windows.Forms.Application.DoEvents();
@@ -43,41 +43,42 @@ namespace FPJ0000.JobReport_
//this.tbMon.Text = DateTime.Now.ToString("yyyy-MM"); //this.tbMon.Text = DateTime.Now.ToString("yyyy-MM");
refrehData(); refrehData();
binit = true; binit = true;
tbProcess.SelectedIndexChanged += tbProcess_SelectedIndexChanged;
} }
//void UpdateUserList() void UpdateUserList()
//{ {
// var ta = new dsPRJTableAdapters.vJobReportForUserListTableAdapter(); var ta = new dsPRJTableAdapters.vJobReportForUserListTableAdapter();
// cmbUser.Items.Clear(); cmbUser.Items.Clear();
cmbUser.Items.Add("--전체--");
//일반사용자 목록 가져온다
dsPRJ.vJobReportForUserListDataTable userlist;
// //일반사용자 목록 가져온다 if (tbProcess.SelectedIndex <= 0)
// dsPRJ.vJobReportForUserListDataTable userlist; {
//공정구분없이 전체사용자를 가져온다
userlist = ta.GetData(FCOMMON.info.Login.gcode, "%");
// db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name);
}
else
{
userlist = ta.GetData(FCOMMON.info.Login.gcode, tbProcess.Text);
//db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).GroupBy(t => t.name);
}
// if (tbProcess.SelectedIndex <= 0) //if (tbProcess.SelectedIndex != 0) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다
// { foreach (var dr in userlist)
// //공정구분없이 전체사용자를 가져온다 {
// userlist = ta.GetData(FCOMMON.info.Login.gcode, "%"); //var dr = item.First();
// // db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name); cmbUser.Items.Add(String.Format("[{0}] {1}", dr.id, dr.name));
// } }
// else
// {
// userlist = ta.GetData(FCOMMON.info.Login.gcode, tbProcess.Text);
// //db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).GroupBy(t => t.name);
// }
// //if (tbProcess.SelectedIndex != 0) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다 if (tbProcess.SelectedIndex > 0)
cmbUser.Text = string.Format("[{0}] {1}", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
// foreach (var dr in userlist) if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
// { }
// //var dr = item.First();
// cmbUser.Items.Add(String.Format("[{0}] {1}", dr.id, dr.name));
// }
// if (tbProcess.SelectedIndex > 0)
// cmbUser.Text = string.Format("[{0}] {1}", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
// if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
//}
void refrehData() void refrehData()
{ {
@@ -89,16 +90,22 @@ namespace FPJ0000.JobReport_
//string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim(); //string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
var taH = new dsReportTableAdapters.vJobReportForUserTableAdapter(); var taH = new dsReportTableAdapters.vJobReportForUserTableAdapter();
//var username = cmbUser.Text.Trim(); var username = cmbUser.Text.Trim();
//var uid = username.Substring(1, username.IndexOf("]") - 1);// "395552";
var uid = "%"; var uid = "%";
if (username.isEmpty() == false && username.StartsWith("--") == false)
uid = username.Substring(1, username.IndexOf("]") - 1);// "395552";
taH.Fill(this.dsReport.vJobReportForUser, FCOMMON.info.Login.gcode, vSD, vED, uid); taH.Fill(this.dsReport.vJobReportForUser, FCOMMON.info.Login.gcode, vSD, vED, uid);
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout); //this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth; //this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
//this.reportViewer1.RefreshReport(); //this.reportViewer1.RefreshReport();
if (this.checkBox1.Checked)
this.reportViewer1.LocalReport.ReportEmbeddedResource = "FPJ0000.JobReport_.rJobReportTypeU.rdlc";
else
this.reportViewer1.LocalReport.ReportEmbeddedResource = "FPJ0000.JobReport_.rJobReportType.rdlc";
this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout); this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth; this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
this.reportViewer1.RefreshReport(); this.reportViewer1.RefreshReport();
@@ -109,11 +116,11 @@ namespace FPJ0000.JobReport_
refrehData(); refrehData();
} }
//private void tbProcess_SelectedIndexChanged(object sender, EventArgs e) private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
//{ {
// if (binit == false) return; if (binit == false) return;
// UpdateUserList(); UpdateUserList();
//} }
private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{ {

View File

@@ -6,13 +6,13 @@
<TablixBody> <TablixBody>
<TablixColumns> <TablixColumns>
<TablixColumn> <TablixColumn>
<Width>4.49792cm</Width> <Width>3.43959cm</Width>
</TablixColumn> </TablixColumn>
<TablixColumn> <TablixColumn>
<Width>2.5cm</Width> <Width>2.05021cm</Width>
</TablixColumn> </TablixColumn>
<TablixColumn> <TablixColumn>
<Width>2.5cm</Width> <Width>1.94438cm</Width>
</TablixColumn> </TablixColumn>
</TablixColumns> </TablixColumns>
<TablixRows> <TablixRows>
@@ -200,7 +200,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<rd:Selected>true</rd:Selected>
</CellContents> </CellContents>
</TablixCell> </TablixCell>
<TablixCell> <TablixCell>
@@ -314,7 +313,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<rd:Selected>true</rd:Selected>
</CellContents> </CellContents>
</TablixCell> </TablixCell>
<TablixCell> <TablixCell>
@@ -429,7 +427,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<rd:Selected>true</rd:Selected>
</CellContents> </CellContents>
</TablixCell> </TablixCell>
<TablixCell> <TablixCell>
@@ -484,7 +481,7 @@
<TablixMembers> <TablixMembers>
<TablixMember> <TablixMember>
<TablixHeader> <TablixHeader>
<Size>5cm</Size> <Size>4.365cm</Size>
<CellContents> <CellContents>
<Textbox Name="Textbox19"> <Textbox Name="Textbox19">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
@@ -523,7 +520,6 @@
<TablixMembers> <TablixMembers>
<TablixMember /> <TablixMember />
</TablixMembers> </TablixMembers>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember> </TablixMember>
<TablixMember> <TablixMember>
<Group Name="svalue1"> <Group Name="svalue1">
@@ -538,7 +534,7 @@
</SortExpression> </SortExpression>
</SortExpressions> </SortExpressions>
<TablixHeader> <TablixHeader>
<Size>5cm</Size> <Size>4.365cm</Size>
<CellContents> <CellContents>
<Textbox Name="svalue11"> <Textbox Name="svalue11">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
@@ -588,7 +584,7 @@
</TablixMember> </TablixMember>
<TablixMember> <TablixMember>
<TablixHeader> <TablixHeader>
<Size>5cm</Size> <Size>4.365cm</Size>
<CellContents> <CellContents>
<Textbox Name="Textbox40"> <Textbox Name="Textbox40">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
@@ -624,13 +620,12 @@
</Textbox> </Textbox>
</CellContents> </CellContents>
</TablixHeader> </TablixHeader>
<KeepWithGroup>Before</KeepWithGroup>
</TablixMember> </TablixMember>
</TablixMembers> </TablixMembers>
</TablixRowHierarchy> </TablixRowHierarchy>
<DataSetName>DataSet1</DataSetName> <DataSetName>DataSet1</DataSetName>
<Height>2.54938cm</Height> <Height>2.54938cm</Height>
<Width>14.49792cm</Width> <Width>11.79918cm</Width>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -641,7 +636,7 @@
<Height>1.00369in</Height> <Height>1.00369in</Height>
<Style /> <Style />
</Body> </Body>
<Width>5.70784in</Width> <Width>4.64535in</Width>
<Page> <Page>
<PageHeight>29.7cm</PageHeight> <PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth> <PageWidth>21cm</PageWidth>

File diff suppressed because it is too large Load Diff

View File

@@ -73,7 +73,7 @@ namespace FPJ0000.JobReport_
if (tbProcess.SelectedIndex <= 0) if (tbProcess.SelectedIndex <= 0)
{ {
//공정구분없이 전체사용자를 가져온다 //공정구분없이 전체사용자를 가져온다
userlist = ta.GetData(FCOMMON.info.Login.gcode,"%"); userlist = ta.GetData(FCOMMON.info.Login.gcode, "%");
// db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name); // db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name);
} }
else else
@@ -160,7 +160,7 @@ namespace FPJ0000.JobReport_
} }
else else
{ {
baseData = taJobReportForUser.GetByDate(FCOMMON.info.Login.gcode, vSD, vED); baseData = taJobReportForUser.GetByDate(FCOMMON.info.Login.gcode, vSD, vED);
//baseData = db.vJobReportForUser //baseData = db.vJobReportForUser
// .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0) // .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
// .OrderBy(t => t.name) // .OrderBy(t => t.name)
@@ -206,7 +206,7 @@ namespace FPJ0000.JobReport_
col = 0; col = 0;
row = 0; row = 0;
fpSpread1.Sheets[1].RowCount = baseData.GroupBy(t => t.id).Count() ; fpSpread1.Sheets[1].RowCount = baseData.GroupBy(t => t.id).Count();
foreach (var item in baseData.GroupBy(t => t.id)) //사용자별로 그룹을 해서 foreach (var item in baseData.GroupBy(t => t.id)) //사용자별로 그룹을 해서
{ {
var dr = item.FirstOrDefault(); var dr = item.FirstOrDefault();
@@ -229,7 +229,7 @@ namespace FPJ0000.JobReport_
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.name; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.name;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.pdate; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.pdate;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.userProcess; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.userProcess;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.process; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.type;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.svalue; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.svalue;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.hrs; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.hrs;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.ot; this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.ot;
@@ -240,7 +240,7 @@ namespace FPJ0000.JobReport_
//인원분석보고용타입설1 //인원분석보고용타입설1
col = 2; col = 2;
var orTypeName = baseData.Where(t => t.svalue != "휴가").OrderBy(t => t.svalue).GroupBy(t => t.svalue); var orTypeName = baseData.Where(t => t.svalue != "휴가" && string.IsNullOrEmpty(t.svalue) == false).OrderBy(t => t.svalue).GroupBy(t => t.svalue);
this.fpSpread1.ActiveSheetIndex = 0; this.fpSpread1.ActiveSheetIndex = 0;
foreach (var item in orTypeName) foreach (var item in orTypeName)
{ {
@@ -264,17 +264,17 @@ namespace FPJ0000.JobReport_
//var orProcess = baseData.OrderBy(t => t.process).GroupBy(t => t.process); //var orProcess = baseData.OrderBy(t => t.process).GroupBy(t => t.process);
//프로세스목록은 전체로 사용한다. //프로세스목록은 전체로 사용한다.
var prclist = taCommon.GetData(FCOMMON.info.Login.gcode, "16"); var prclist = taCommon.GetData(FCOMMON.info.Login.gcode, "15");
// db.Common.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.grp == "16").OrderBy(t => t.code).ToList(); // db.Common.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.grp == "16").OrderBy(t => t.code).ToList();
this.progressBar2.Maximum = prclist.Count; this.progressBar2.Maximum = prclist.Count;
this.progressBar2.Value = 0; this.progressBar2.Value = 0;
foreach(var prcitem in prclist) foreach (var prcitem in prclist)
{ {
this.progressBar2.Value += 1; this.progressBar2.Value += 1;
var item = baseData.Where(t => t.process == prcitem.memo); //해당 프로세스에 해당하는 아이템을 가져온다 var item = baseData.Where(t => t.type == prcitem.memo); //해당 프로세스에 해당하는 아이템을 가져온다
//} //}
if (prcitem.memo == null) prcitem.memo = string.Empty; if (prcitem.memo == null) prcitem.memo = string.Empty;
if(prcitem.memo.StartsWith("ASM Feeder Center")) if (prcitem.memo.StartsWith("ASM Feeder Center"))
Console.WriteLine("sdf"); Console.WriteLine("sdf");
//foreach (var item in orProcess) //foreach (var item in orProcess)
@@ -288,7 +288,7 @@ namespace FPJ0000.JobReport_
int coldata = 2; int coldata = 2;
for (int i = 2; i <= 6; i++) for (int i = 2; i <= 6; i++)
{ {
if(item.Any()==false) if (item.Any() == false)
{ {
//자료가없다면 0으로 채운다 //자료가없다면 0으로 채운다
fpSpread1.Sheets[0].Cells[row, coldata].Value = null; fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
@@ -302,7 +302,7 @@ namespace FPJ0000.JobReport_
//이 이름에 해당하는 데이터의 시간을 가져온다 //이 이름에 해당하는 데이터의 시간을 가져온다
double ot = 0.0; double ot = 0.0;
double hrs = 0.0; double hrs = 0.0;
if (colName != "*" && String.IsNullOrEmpty(colName)==false) if (colName != "*" && String.IsNullOrEmpty(colName) == false)
{ {
//double holytime = 0.0; //double holytime = 0.0;
var timeList = item.Where(t => t.svalue == colName); var timeList = item.Where(t => t.svalue == colName);