This commit is contained in:
chi
2021-02-16 08:31:01 +09:00
parent 30b06c2d35
commit 1c52445f76
23 changed files with 985 additions and 378 deletions

View File

@@ -30,20 +30,20 @@
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fJobReport));
FarPoint.Win.Spread.CellType.TextCellType textCellType1 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType2 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType3 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType4 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType5 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType6 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType7 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType8 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType9 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType2 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType3 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType10 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType11 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType23 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType24 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType25 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType26 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType27 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType28 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType29 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType30 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType31 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType7 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType8 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType9 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType32 = new FarPoint.Win.Spread.CellType.TextCellType();
FarPoint.Win.Spread.CellType.TextCellType textCellType33 = new FarPoint.Win.Spread.CellType.TextCellType();
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsMSSQL = new FPJ0000.dsPRJ();
@@ -97,7 +97,8 @@
this.lbTime = new System.Windows.Forms.ToolStripLabel();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.cmbProcess = new System.Windows.Forms.ToolStripComboBox();
this.tbProcess = new System.Windows.Forms.ToolStripTextBox();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
this.cmbUser = new System.Windows.Forms.ToolStripComboBox();
this.btSearch = new System.Windows.Forms.ToolStripSplitButton();
@@ -200,6 +201,7 @@
//
this.bindingNavigatorPositionItem.AccessibleName = "위치";
this.bindingNavigatorPositionItem.AutoSize = false;
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
this.bindingNavigatorPositionItem.Text = "0";
@@ -291,6 +293,7 @@
// tbFind
//
this.tbFind.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tbFind.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.tbFind.Name = "tbFind";
this.tbFind.Size = new System.Drawing.Size(100, 25);
this.tbFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbFind_KeyDown);
@@ -526,82 +529,82 @@
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 12).Value = "비고";
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 13).Value = "#";
this.fpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 28F;
this.fpSpread1_Sheet1.Columns.Get(0).CellType = textCellType1;
this.fpSpread1_Sheet1.Columns.Get(0).CellType = textCellType23;
this.fpSpread1_Sheet1.Columns.Get(0).DataField = "pdate";
this.fpSpread1_Sheet1.Columns.Get(0).Label = "날짜";
this.fpSpread1_Sheet1.Columns.Get(0).Width = 58F;
this.fpSpread1_Sheet1.Columns.Get(1).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType2;
this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType24;
this.fpSpread1_Sheet1.Columns.Get(1).DataField = "ww";
this.fpSpread1_Sheet1.Columns.Get(1).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(1).Label = "WW";
this.fpSpread1_Sheet1.Columns.Get(1).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(2).CellType = textCellType3;
this.fpSpread1_Sheet1.Columns.Get(2).CellType = textCellType25;
this.fpSpread1_Sheet1.Columns.Get(2).DataField = "username";
this.fpSpread1_Sheet1.Columns.Get(2).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(2).Label = "담당";
this.fpSpread1_Sheet1.Columns.Get(2).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(3).AllowAutoFilter = true;
this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType4;
this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType26;
this.fpSpread1_Sheet1.Columns.Get(3).DataField = "requestpart";
this.fpSpread1_Sheet1.Columns.Get(3).Label = "요청부서";
this.fpSpread1_Sheet1.Columns.Get(3).Width = 78F;
this.fpSpread1_Sheet1.Columns.Get(4).AllowAutoFilter = true;
this.fpSpread1_Sheet1.Columns.Get(4).CellType = textCellType5;
this.fpSpread1_Sheet1.Columns.Get(4).CellType = textCellType27;
this.fpSpread1_Sheet1.Columns.Get(4).DataField = "package";
this.fpSpread1_Sheet1.Columns.Get(4).Label = "패키지";
this.fpSpread1_Sheet1.Columns.Get(4).Width = 86F;
this.fpSpread1_Sheet1.Columns.Get(5).CellType = textCellType6;
this.fpSpread1_Sheet1.Columns.Get(5).CellType = textCellType28;
this.fpSpread1_Sheet1.Columns.Get(5).DataField = "status";
this.fpSpread1_Sheet1.Columns.Get(5).Label = "상태";
this.fpSpread1_Sheet1.Columns.Get(6).AllowAutoFilter = true;
this.fpSpread1_Sheet1.Columns.Get(6).CellType = textCellType7;
this.fpSpread1_Sheet1.Columns.Get(6).CellType = textCellType29;
this.fpSpread1_Sheet1.Columns.Get(6).DataField = "type";
this.fpSpread1_Sheet1.Columns.Get(6).Label = "업무형태";
this.fpSpread1_Sheet1.Columns.Get(6).Width = 84F;
this.fpSpread1_Sheet1.Columns.Get(7).AllowAutoFilter = true;
this.fpSpread1_Sheet1.Columns.Get(7).CellType = textCellType8;
this.fpSpread1_Sheet1.Columns.Get(7).CellType = textCellType30;
this.fpSpread1_Sheet1.Columns.Get(7).DataField = "process";
this.fpSpread1_Sheet1.Columns.Get(7).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
this.fpSpread1_Sheet1.Columns.Get(7).Label = "업무분류";
this.fpSpread1_Sheet1.Columns.Get(7).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(7).Width = 80F;
this.fpSpread1_Sheet1.Columns.Get(8).AllowAutoFilter = true;
this.fpSpread1_Sheet1.Columns.Get(8).CellType = textCellType9;
this.fpSpread1_Sheet1.Columns.Get(8).CellType = textCellType31;
this.fpSpread1_Sheet1.Columns.Get(8).DataField = "projectName";
this.fpSpread1_Sheet1.Columns.Get(8).Label = "프로젝트(아이템)";
this.fpSpread1_Sheet1.Columns.Get(8).Width = 158F;
this.fpSpread1_Sheet1.Columns.Get(9).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
numberCellType1.DecimalPlaces = 0;
numberCellType1.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes;
numberCellType1.MaximumValue = 2147483647D;
numberCellType1.MinimumValue = -2147483648D;
this.fpSpread1_Sheet1.Columns.Get(9).CellType = numberCellType1;
numberCellType7.DecimalPlaces = 0;
numberCellType7.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes;
numberCellType7.MaximumValue = 2147483647D;
numberCellType7.MinimumValue = -2147483648D;
this.fpSpread1_Sheet1.Columns.Get(9).CellType = numberCellType7;
this.fpSpread1_Sheet1.Columns.Get(9).DataField = "pidx";
this.fpSpread1_Sheet1.Columns.Get(9).Label = "*";
this.fpSpread1_Sheet1.Columns.Get(9).Tag = "pidx";
this.fpSpread1_Sheet1.Columns.Get(9).Width = 39F;
numberCellType2.MaximumValue = 999999999999999D;
numberCellType2.MinimumValue = -999999999999999D;
this.fpSpread1_Sheet1.Columns.Get(10).CellType = numberCellType2;
numberCellType8.MaximumValue = 999999999999999D;
numberCellType8.MinimumValue = -999999999999999D;
this.fpSpread1_Sheet1.Columns.Get(10).CellType = numberCellType8;
this.fpSpread1_Sheet1.Columns.Get(10).DataField = "hrs";
this.fpSpread1_Sheet1.Columns.Get(10).Label = "시간";
this.fpSpread1_Sheet1.Columns.Get(10).Width = 52F;
numberCellType3.MaximumValue = 999999999999999D;
numberCellType3.MinimumValue = -999999999999999D;
this.fpSpread1_Sheet1.Columns.Get(11).CellType = numberCellType3;
numberCellType9.MaximumValue = 999999999999999D;
numberCellType9.MinimumValue = -999999999999999D;
this.fpSpread1_Sheet1.Columns.Get(11).CellType = numberCellType9;
this.fpSpread1_Sheet1.Columns.Get(11).DataField = "ot";
this.fpSpread1_Sheet1.Columns.Get(11).ForeColor = System.Drawing.Color.Red;
this.fpSpread1_Sheet1.Columns.Get(11).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(11).Label = "초과";
this.fpSpread1_Sheet1.Columns.Get(11).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(12).CellType = textCellType10;
this.fpSpread1_Sheet1.Columns.Get(12).CellType = textCellType32;
this.fpSpread1_Sheet1.Columns.Get(12).DataField = "description";
this.fpSpread1_Sheet1.Columns.Get(12).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
this.fpSpread1_Sheet1.Columns.Get(12).Label = "비고";
this.fpSpread1_Sheet1.Columns.Get(12).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1_Sheet1.Columns.Get(12).Width = 113F;
this.fpSpread1_Sheet1.Columns.Get(13).CellType = textCellType11;
this.fpSpread1_Sheet1.Columns.Get(13).CellType = textCellType33;
this.fpSpread1_Sheet1.Columns.Get(13).DataField = "tag";
this.fpSpread1_Sheet1.Columns.Get(13).Label = "#";
this.fpSpread1_Sheet1.Columns.Get(13).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
@@ -622,7 +625,8 @@
this.lbTime,
this.toolStripSeparator2,
this.toolStripLabel1,
this.cmbProcess,
this.tbProcess,
this.toolStripButton4,
this.toolStripLabel3,
this.cmbUser,
this.btSearch,
@@ -645,6 +649,7 @@
// dtSD
//
this.dtSD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dtSD.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.dtSD.Name = "dtSD";
this.dtSD.Size = new System.Drawing.Size(90, 37);
this.dtSD.Text = "1982-11-23";
@@ -668,6 +673,7 @@
// dtED
//
this.dtED.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dtED.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.dtED.Name = "dtED";
this.dtED.Size = new System.Drawing.Size(90, 37);
this.dtED.Text = "1982-11-23";
@@ -690,13 +696,22 @@
this.toolStripLabel1.Size = new System.Drawing.Size(31, 34);
this.toolStripLabel1.Text = "공정";
//
// cmbProcess
// tbProcess
//
this.cmbProcess.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbProcess.Name = "cmbProcess";
this.cmbProcess.Size = new System.Drawing.Size(150, 37);
this.cmbProcess.SelectedIndexChanged += new System.EventHandler(this.cmbProcess_SelectedIndexChanged);
this.cmbProcess.Click += new System.EventHandler(this.cmbProcess_Click);
this.tbProcess.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));
this.tbProcess.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(200, 37);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = global::FPJ0000.Properties.Resources.find;
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(34, 34);
this.toolStripButton4.Text = "toolStripButton4";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripLabel3
//
@@ -837,12 +852,13 @@
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.ToolStripComboBox cmbProcess;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
private System.Windows.Forms.ToolStripSplitButton btSearch;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripLabel toolStripLabel4;
private System.Windows.Forms.ToolStripTextBox tbProcess;
private System.Windows.Forms.ToolStripButton toolStripButton4;
}
}

View File

@@ -39,14 +39,33 @@ namespace FPJ0000
this.cmbUser.Items.Add("-- 전체 --");
var taUserList = new dsReportTableAdapters.ProcessUserListTableAdapter();
var processStr = "%";
if (cmbProcess.SelectedIndex > 0) processStr = cmbProcess.Text;
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
foreach (dsReport.ProcessUserListRow dr in dtUserList)
var prclist = this.tbProcess.Tag as List<string>;
if (prclist.Count < 1)
{
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
this.cmbUser.Items.Add(cmbdata);
var processStr = "%";
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
foreach (dsReport.ProcessUserListRow dr in dtUserList)
{
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
this.cmbUser.Items.Add(cmbdata);
}
}
else
{
foreach (var prc in prclist)
{
var processStr = prc;// cmbProcess.Text;
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
foreach (dsReport.ProcessUserListRow dr in dtUserList)
{
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
this.cmbUser.Items.Add(cmbdata);
}
}
}
}
private void __Load(object sender, EventArgs e)
@@ -55,19 +74,20 @@ namespace FPJ0000
var sdate = DateTime.Parse(dtSD.Text);
this.dtED.Text = sdate.AddMonths(1).AddDays(-1).ToShortDateString();
//공정목록
var taProc = new dsReportTableAdapters.ProcessListTableAdapter();
var dtProcList = taProc.GetData(FCOMMON.info.Login.gcode);
cmbProcess.Items.Clear();
cmbProcess.Items.Add("--전체--");
foreach (dsReport.ProcessListRow dr in dtProcList)
{
cmbProcess.Items.Add(dr.processs);
}
cmbProcess.Text = FCOMMON.info.Login.process;
if (cmbProcess.SelectedIndex < 0) cmbProcess.SelectedIndex = 0; //공정이 없는 사람은 전체보기로 함
//cmbProcess.Items.Clear();
//cmbProcess.Items.Add("--전체--");
//foreach (dsReport.ProcessListRow dr in dtProcList)
//{
// cmbProcess.Items.Add(dr.processs);
//}
//cmbProcess.Text = FCOMMON.info.Login.process;
//if (cmbProcess.SelectedIndex < 0) cmbProcess.SelectedIndex = 0; //공정이 없는 사람은 전체보기로 함
tbProcess.Text = FCOMMON.info.Login.process;
tbProcess.Tag = new List<string>(new string[] { FCOMMON.info.Login.process });
//담당자목록 - 사용자목록으로 처리한다.
@@ -208,15 +228,55 @@ namespace FPJ0000
FCOMMON.Util.MsgE("담당자 번호를 확인할 수 없습니다.(문의 T.8567)");
return;
}
string request = cmbUser.Text.Substring(cmbUser.Text.LastIndexOf('(') + 1);
request = request.Substring(0, request.Length - 1);
if (cmbUser.SelectedIndex == 0) request = "%"; //전체검색 201028 - chi(임현대)
if (tagonly == false)
this.ta.Fill(this.dsMSSQL.JobReport, dtSD.Text, dtED.Text, request, FCOMMON.info.Login.gcode);
//사용자 목록다중선택으로 인해 처리
var sql = "SELECT *, dbo.getUserName(uid) AS username, dbo.getWorkWeek(pdate) AS ww";
sql += " FROM JobReport";
sql += " WHERE(pdate BETWEEN @sd AND @ed) AND(gcode = @gcode)";
if (request != "%")
{
//사용자가 지정되어있다
sql += $" AND uid = '{request}'";
}
else
this.ta.FillByTagOnly(this.dsMSSQL.JobReport, dtSD.Text, dtED.Text, request, FCOMMON.info.Login.gcode);
{
//전체사용자가 지정되어있다. 해당하는 사용자 목록에서만 취한다.
var userlist = new List<string>();
for (int i = 1; i < cmbUser.Items.Count; i++) //0번요소는 전체이다
{
var userinfo = cmbUser.Items[i].ToString();
var userno = userinfo.Substring(userinfo.LastIndexOf('(') + 1);
userno = userno.Substring(0, userno.Length - 1);
userlist.Add(userno);
}
sql += " and uid in ('" + string.Join("','", userlist) + "')";
}
if (tagonly) sql += " and isnull(tag,'') <> ''";
sql += " ORDER BY pdate DESC";
var cmd = new System.Data.SqlClient.SqlCommand(sql, ta.Connection);
cmd.Parameters.Add("sd", SqlDbType.VarChar).Value = dtSD.Text;
cmd.Parameters.Add("ed", SqlDbType.VarChar).Value = dtED.Text;
cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
var da = new System.Data.SqlClient.SqlDataAdapter(cmd);
dsMSSQL.JobReport.Clear();
da.Fill(this.dsMSSQL.JobReport);
dsMSSQL.JobReport.AcceptChanges();
//if (tagonly == false)
// this.ta.Fill(this.dsMSSQL.JobReport, dtSD.Text, dtED.Text, request, FCOMMON.info.Login.gcode);
//else
// this.ta.FillByTagOnly(this.dsMSSQL.JobReport, dtSD.Text, dtED.Text, request, FCOMMON.info.Login.gcode);
RefreshTime();
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
@@ -554,9 +614,9 @@ namespace FPJ0000
private void toolStripButton1_Click(object sender, EventArgs e)
{
string request = cmbUser.Text.Substring(cmbUser.Text.LastIndexOf('(') + 1);
request = request.Substring(0, request.Length - 1);
string name = cmbUser.Text.Substring(0, cmbUser.Text.IndexOf('('));
//string request = cmbUser.Text.Substring(cmbUser.Text.LastIndexOf('(') + 1);
//request = request.Substring(0, request.Length - 1);
//string name = cmbUser.Text.Substring(0, cmbUser.Text.IndexOf('('));
var f = new JobReport.fJobChartMenu();
f.ShowDialog();
}
@@ -588,5 +648,18 @@ namespace FPJ0000
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
dtED.Text = f.dtPick.SelectionStart.ToShortDateString();
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
var oldlist = (List<string>)tbProcess.Tag;
var f = new JobReport.fSelectProcess(oldlist.ToArray());
if (f.ShowDialog() == DialogResult.OK)
{
tbProcess.Tag = f.values;
tbProcess.Text = string.Join(",", f.values);
UpdateUserList();
}
}
}
}

View File

@@ -257,6 +257,9 @@
GoSrpcVIQqmAj6LZftFBup9vWiUlUQdIDCbsQrsGZRJKBbOXyA++SlEsu6QjvQAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>325, 17</value>
</metadata>

View File

@@ -0,0 +1,130 @@

namespace FPJ0000.JobReport
{
partial class fSelectProcess
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cmbProcess = new System.Windows.Forms.CheckedListBox();
this.button1 = new System.Windows.Forms.Button();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// cmbProcess
//
this.cmbProcess.Dock = System.Windows.Forms.DockStyle.Fill;
this.cmbProcess.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.cmbProcess.FormattingEnabled = true;
this.cmbProcess.Location = new System.Drawing.Point(0, 25);
this.cmbProcess.Name = "cmbProcess";
this.cmbProcess.Size = new System.Drawing.Size(289, 328);
this.cmbProcess.TabIndex = 0;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.button1.Location = new System.Drawing.Point(0, 353);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(289, 39);
this.button1.TabIndex = 2;
this.button1.Text = "확인";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(289, 25);
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.Image = global::FPJ0000.Properties.Resources.accept;
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(75, 22);
this.toolStripButton1.Text = "전체선택";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.Image = global::FPJ0000.Properties.Resources.accept;
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(75, 22);
this.toolStripButton2.Text = "선택해제";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
//
// toolStripButton3
//
this.toolStripButton3.Image = global::FPJ0000.Properties.Resources.accept;
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(75, 22);
this.toolStripButton3.Text = "선택반전";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// fSelectProcess
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(289, 392);
this.Controls.Add(this.cmbProcess);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.button1);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fSelectProcess";
this.Text = "공정 선택";
this.Load += new System.EventHandler(this.fSelectProcess_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.CheckedListBox cmbProcess;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
}
}

View File

@@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FPJ0000.JobReport
{
public partial class fSelectProcess : Form
{
public List<string> values = new List<string>();
public fSelectProcess(string[] list)
{
InitializeComponent();
values.AddRange(list);
}
private void fSelectProcess_Load(object sender, EventArgs e)
{
//공정목록
var taProc = new dsReportTableAdapters.ProcessListTableAdapter();
var dtProcList = taProc.GetData(FCOMMON.info.Login.gcode);
cmbProcess.Items.Clear();
//cmbProcess.Items.Add("--전체--");
foreach (dsReport.ProcessListRow dr in dtProcList)
{
cmbProcess.Items.Add(dr.processs);
if (values.Contains(dr.processs))
{
this.cmbProcess.SetItemChecked(cmbProcess.Items.Count - 1, true);
}
}
//cmbProcess.Text = FCOMMON.info.Login.process;
//if (cmbProcess.SelectedIndex < 0) cmbProcess.SelectedIndex = 0; //공정이 없는 사람은 전체보기로 함
}
private void button1_Click(object sender, EventArgs e)
{
values.Clear();
for (int i = 0; i <= (cmbProcess.Items.Count - 1); i++)
{
if (cmbProcess.GetItemChecked(i))
{
values.Add(cmbProcess.Items[i].ToString());
}
}
if(values.Count < 1)
{
FCOMMON.Util.MsgE("공정선택이 필요 합니다");
return;
}
DialogResult = DialogResult.OK;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= (cmbProcess.Items.Count - 1); i++)
{
cmbProcess.SetItemChecked(i, true);
}
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
for (int i = 0; i <= (cmbProcess.Items.Count - 1); i++)
{
cmbProcess.SetItemChecked(i, false);
}
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
for (int i = 0; i <= (cmbProcess.Items.Count - 1); i++)
{
var cur = cmbProcess.GetItemChecked(i);
cmbProcess.SetItemChecked(i, !cur);
}
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -34,6 +34,8 @@
this.ta = new FPJ0000.dsReportTableAdapters.jobReportTableAdapter();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.panel1 = new System.Windows.Forms.Panel();
this.tbProcess = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.btRefresh = new System.Windows.Forms.Button();
this.tbMon = new System.Windows.Forms.TextBox();
@@ -72,6 +74,8 @@
//
// panel1
//
this.panel1.Controls.Add(this.tbProcess);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.linkLabel1);
this.panel1.Controls.Add(this.btRefresh);
this.panel1.Controls.Add(this.tbMon);
@@ -82,6 +86,24 @@
this.panel1.Size = new System.Drawing.Size(721, 42);
this.panel1.TabIndex = 3;
//
// tbProcess
//
this.tbProcess.FormattingEnabled = true;
this.tbProcess.Location = new System.Drawing.Point(222, 10);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(158, 20);
this.tbProcess.TabIndex = 7;
this.tbProcess.SelectedIndexChanged += new System.EventHandler(this.tbProcess_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(187, 15);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 6;
this.label1.Text = "공정";
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
@@ -140,5 +162,7 @@
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Button btRefresh;
private System.Windows.Forms.TextBox tbMon;
private System.Windows.Forms.ComboBox tbProcess;
private System.Windows.Forms.Label label1;
}
}

View File

@@ -19,12 +19,23 @@ namespace FPJ0000.JobReport
private void rJobReport_Load(object sender, EventArgs e)
{
RefreshData();
this.tbProcess.Items.Clear();
tbProcess.Items.Add("전체");
var taProcess = new dsReportTableAdapters.ProcessListTableAdapter();
var dtProcessList = taProcess.GetData(FCOMMON.info.Login.gcode);
foreach (dsReport.ProcessListRow dr in dtProcessList.Rows)
tbProcess.Items.Add(dr.processs);
this.tbProcess.Text = FCOMMON.info.Login.process;
if (tbProcess.SelectedIndex < 0) tbProcess.SelectedIndex = 0;
refrehData();
}
void RefreshData()
void refrehData()
{
this.ta.Fill(this.dsReport.jobReport, tbMon.Text, FCOMMON.info.Login.gcode);
string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
this.ta.Fill(this.dsReport.jobReport, tbMon.Text, FCOMMON.info.Login.gcode, prcname);
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
@@ -104,7 +115,12 @@ namespace FPJ0000.JobReport
private void btRefresh_Click(object sender, EventArgs e)
{
RefreshData();
refrehData();
}
private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
{
if (tbProcess.SelectedIndex >= 0) refrehData();
}
}
}

View File

@@ -118,15 +118,12 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>119, 17</value>
<value>181, 17</value>
</metadata>
<metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
<value>79, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 17</value>
<value>17, 17</value>
</metadata>
</root>

View File

@@ -47,7 +47,8 @@ namespace FPJ0000.JobReport
}
void refrehData()
{
this.ta.Fill(this.dsReport.JobReportDay, tbMon.Text, FCOMMON.info.Login.gcode);
string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
this.ta.Fill(this.dsReport.JobReportDay, tbMon.Text, FCOMMON.info.Login.gcode, prcname);
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
//this.reportViewer1.RefreshReport();

View File

@@ -111,6 +111,8 @@ namespace FPJ0000.JobReport
if (drDays == null || drDays.Count() < 1) this.fpSpread1.Sheets[0].Cells[3, 7].Value = 0;
else this.fpSpread1.Sheets[0].Cells[3, 7].Value = drDays.Count();
//기준시간 1번시트에 추가 표시 (210215 - 정봉석)
this.fpSpread1.Sheets[1].Cells["F1"].Value = drDays.Count() * 8;
ComplexBorderSide left = new ComplexBorderSide(Color.Gray, 1);
ComplexBorderSide top = new ComplexBorderSide(Color.Gray, 1);
@@ -194,7 +196,7 @@ namespace FPJ0000.JobReport
this.fpSpread1.Sheets[1].Cells[row, 3].Value = item.Sum(t => t.ot);
row += 1;
}
fpSpread1.Sheets[1].ColumnCount = 5;
fpSpread1.Sheets[1].ColumnCount = 6;
fpSpread1.Sheets[1].RowCount = row + 1;
//Raw dat a표시