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>
</EmbeddedResource>
<EmbeddedResource Include="JobReport_\rJobReportType.rdlc" />
<EmbeddedResource Include="JobReport_\rJobReportTypeU.rdlc" />
<EmbeddedResource Include="JobReport_\rJobReportType.resx">
<DependentUpon>rJobReportType.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -53,6 +53,11 @@
this.dts = new System.Windows.Forms.DateTimePicker();
this.btRefresh = new System.Windows.Forms.Button();
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.dsReport)).BeginInit();
this.panel1.SuspendLayout();
@@ -71,6 +76,11 @@
// panel1
//
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.linkLabel14);
this.panel1.Controls.Add(this.linkLabel9);
@@ -323,6 +333,52 @@
this.reportViewer1.Size = new System.Drawing.Size(1114, 641);
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
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -366,5 +422,10 @@
private System.Windows.Forms.LinkLabel linkLabel14;
private Microsoft.Reporting.WinForms.ReportViewer reportViewer1;
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)
{
//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.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;
this.tbProcess.Text = FCOMMON.info.Login.process;
if (tbProcess.SelectedIndex < 0) tbProcess.SelectedIndex = 0;
////사용자 목록을 선택한다
//UpdateUserList();
//사용자 목록을 선택한다
UpdateUserList();
this.Show();
System.Windows.Forms.Application.DoEvents();
@@ -43,41 +43,42 @@ namespace FPJ0000.JobReport_
//this.tbMon.Text = DateTime.Now.ToString("yyyy-MM");
refrehData();
binit = true;
tbProcess.SelectedIndexChanged += tbProcess_SelectedIndexChanged;
}
//void UpdateUserList()
//{
// var ta = new dsPRJTableAdapters.vJobReportForUserListTableAdapter();
void UpdateUserList()
{
var ta = new dsPRJTableAdapters.vJobReportForUserListTableAdapter();
// cmbUser.Items.Clear();
cmbUser.Items.Clear();
cmbUser.Items.Add("--전체--");
//일반사용자 목록 가져온다
dsPRJ.vJobReportForUserListDataTable userlist;
// //일반사용자 목록 가져온다
// dsPRJ.vJobReportForUserListDataTable userlist;
if (tbProcess.SelectedIndex <= 0)
{
//공정구분없이 전체사용자를 가져온다
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)
// {
// //공정구분없이 전체사용자를 가져온다
// 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) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다
foreach (var dr in userlist)
{
//var dr = item.First();
cmbUser.Items.Add(String.Format("[{0}] {1}", dr.id, dr.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)
// {
// //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; //기본전체로 선택해준다.
//}
if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
}
void refrehData()
{
@@ -89,16 +90,22 @@ namespace FPJ0000.JobReport_
//string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
var taH = new dsReportTableAdapters.vJobReportForUserTableAdapter();
//var username = cmbUser.Text.Trim();
//var uid = username.Substring(1, username.IndexOf("]") - 1);// "395552";
var username = cmbUser.Text.Trim();
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);
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
//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.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
this.reportViewer1.RefreshReport();
@@ -109,11 +116,11 @@ namespace FPJ0000.JobReport_
refrehData();
}
//private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
//{
// if (binit == false) return;
// UpdateUserList();
//}
private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
{
if (binit == false) return;
UpdateUserList();
}
private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ namespace FPJ0000.JobReport_
private void rJobReport_Load(object sender, EventArgs e)
{
this.fpSpread1_Sheet2.AddSelection(2, 3, 4, 3);
// fpSpread1_Sheet2.Columns[1, 0].AllowAutoSort = true;
//this.fpSpread1_Sheet2.ColumnHeader.AutoTextIndex = 1;
@@ -51,14 +51,14 @@ namespace FPJ0000.JobReport_
//refrehData();
binit = true;
FarPoint.Win.Spread.GridLine black = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.Flat, Color.Black);
fpSpread1_Sheet2.VerticalGridLine = black;
fpSpread1_Sheet2.HorizontalGridLine = black;
}
private void SetFreezeRowCount_Click(object sender, EventArgs e)
{
}
void UpdateUserList()
{
@@ -73,12 +73,12 @@ namespace FPJ0000.JobReport_
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);
}
else
{
userlist = ta.GetData(FCOMMON.info.Login.gcode, tbProcess.Text);
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);
}
@@ -160,7 +160,7 @@ namespace FPJ0000.JobReport_
}
else
{
baseData = taJobReportForUser.GetByDate(FCOMMON.info.Login.gcode, vSD, vED);
baseData = taJobReportForUser.GetByDate(FCOMMON.info.Login.gcode, vSD, vED);
//baseData = db.vJobReportForUser
// .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
// .OrderBy(t => t.name)
@@ -206,7 +206,7 @@ namespace FPJ0000.JobReport_
col = 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)) //사용자별로 그룹을 해서
{
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.pdate;
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.hrs;
this.fpSpread1.Sheets[2].Cells[row, col++].Value = item.ot;
@@ -240,7 +240,7 @@ namespace FPJ0000.JobReport_
//인원분석보고용타입설1
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;
foreach (var item in orTypeName)
{
@@ -264,17 +264,17 @@ namespace FPJ0000.JobReport_
//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();
this.progressBar2.Maximum = prclist.Count;
this.progressBar2.Value = 0;
foreach(var prcitem in prclist)
foreach (var prcitem in prclist)
{
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.StartsWith("ASM Feeder Center"))
if (prcitem.memo.StartsWith("ASM Feeder Center"))
Console.WriteLine("sdf");
//foreach (var item in orProcess)
@@ -288,7 +288,7 @@ namespace FPJ0000.JobReport_
int coldata = 2;
for (int i = 2; i <= 6; i++)
{
if(item.Any()==false)
if (item.Any() == false)
{
//자료가없다면 0으로 채운다
fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
@@ -302,7 +302,7 @@ namespace FPJ0000.JobReport_
//이 이름에 해당하는 데이터의 시간을 가져온다
double ot = 0.0;
double hrs = 0.0;
if (colName != "*" && String.IsNullOrEmpty(colName)==false)
if (colName != "*" && String.IsNullOrEmpty(colName) == false)
{
//double holytime = 0.0;
var timeList = item.Where(t => t.svalue == colName);
@@ -316,7 +316,7 @@ namespace FPJ0000.JobReport_
if (ot + hrs == 0.0) fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
else fpSpread1.Sheets[0].Cells[row, coldata].Value = ot + hrs; //없음으로한다
}
coldata += 1;
}
@@ -539,13 +539,13 @@ namespace FPJ0000.JobReport_
private void fpSpread1_AutoSortingColumn(object sender, FarPoint.Win.Spread.AutoSortingColumnEventArgs e)
{
}
private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
}
}
}