From 0f44fbe9f80080a7e0d8cf16c5c989aa17444504 Mon Sep 17 00:00:00 2001 From: chi Date: Wed, 2 Dec 2020 16:22:40 +0900 Subject: [PATCH] .. --- Project/Properties/AssemblyInfo.cs | 4 +- Project/fMain.cs | 10 +- SubProject/FCM0000/Item/fLovItem.Designer.cs | 83 ++-- SubProject/FCM0000/Item/fLovItem.resx | 35 +- SubProject/FPJ0000/FPJ0000.csproj | 3 + .../JobReport/fJobChartMenu.Designer.cs | 373 +++++++++++------- SubProject/FPJ0000/JobReport/fJobChartMenu.cs | 359 ++++++++++++++++- .../FPJ0000/JobReport/fJobChartMenu.resx | 253 ++++++------ SubProject/FPJ0000/JobReport/fJobReport.cs | 2 +- .../JobReport/rJobReportUser.Designer.cs | 15 + .../FPJ0000/JobReport/rJobReportUser.cs | 25 +- .../FPJ0000/JobReport/rJobReportUser.resx | 3 + SubProject/FPJ0000/Model1.Context.cs | 2 +- SubProject/FPJ0000/Model1.edmx | 80 ++-- SubProject/FPJ0000/Model1.edmx.diagram | 2 +- SubProject/FPJ0000/Project/fPartList.cs | 4 +- SubProject/FPJ0000/Project/fSPMaster.cs | 6 +- SubProject/FPJ0000/vJobReportForUser.cs | 2 + 18 files changed, 861 insertions(+), 400 deletions(-) diff --git a/Project/Properties/AssemblyInfo.cs b/Project/Properties/AssemblyInfo.cs index 7348eb8..4357458 100644 --- a/Project/Properties/AssemblyInfo.cs +++ b/Project/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로 // 지정되도록 할 수 있습니다. // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("20.11.12.1100")] -[assembly: AssemblyFileVersion("20.11.12.1100")] +[assembly: AssemblyVersion("20.11.30.1530")] +[assembly: AssemblyFileVersion("20.11.30.1530")] diff --git a/Project/fMain.cs b/Project/fMain.cs index f0fafe4..9158df7 100644 --- a/Project/fMain.cs +++ b/Project/fMain.cs @@ -46,11 +46,11 @@ namespace Project private void Server_ClientConnected(Receiver receiver) { - this.BeginInvoke(new Action(()=> { - var f = new Dialog.fChat(receiver); - f.Show(); - f.Activate(); - })); + //this.BeginInvoke(new Action(()=> { + // var f = new Dialog.fChat(receiver); + // f.Show(); + // f.Activate(); + //})); } private void FMain_FormClosed(object sender, FormClosedEventArgs e) diff --git a/SubProject/FCM0000/Item/fLovItem.Designer.cs b/SubProject/FCM0000/Item/fLovItem.Designer.cs index ce2bc9a..348808a 100644 --- a/SubProject/FCM0000/Item/fLovItem.Designer.cs +++ b/SubProject/FCM0000/Item/fLovItem.Designer.cs @@ -36,10 +36,10 @@ System.Windows.Forms.Label label1; System.Windows.Forms.Label label2; System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fLovItem)); - FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType(); - 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.NumberCellType numberCellType2 = new FarPoint.Win.Spread.CellType.NumberCellType(); + 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(); this.bn = new System.Windows.Forms.BindingNavigator(this.components); this.bs = new System.Windows.Forms.BindingSource(this.components); this.dsMSSQL = new FCM0000.dsMSSQL(); @@ -78,10 +78,6 @@ this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); this.label3 = new System.Windows.Forms.Label(); this.arDatagridView1 = new arCtl.arDatagridView(); - this.bsPMP = new System.Windows.Forms.BindingSource(this.components); - this.dSPMP = new FCM0000.DSPMP(); - this.taPMP = new FCM0000.DSPMPTableAdapters.SPMasterTableAdapter(); - this.panel2 = new System.Windows.Forms.Panel(); this.sIDNoDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.partNoDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.partNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -94,6 +90,10 @@ this.memoDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.enrDateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.enrolleeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.bsPMP = new System.Windows.Forms.BindingSource(this.components); + this.dSPMP = new FCM0000.DSPMP(); + this.taPMP = new FCM0000.DSPMPTableAdapters.SPMasterTableAdapter(); + this.panel2 = new System.Windows.Forms.Panel(); manuLabel = new System.Windows.Forms.Label(); supplyLabel = new System.Windows.Forms.Label(); memoLabel = new System.Windows.Forms.Label(); @@ -263,6 +263,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"; @@ -314,6 +315,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(150, 37); this.tbFind.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center; @@ -547,24 +549,24 @@ this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "모델"; this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 3).Value = "SID"; this.fpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 27F; - numberCellType1.DecimalPlaces = 0; - numberCellType1.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes; - numberCellType1.MaximumValue = 2147483647D; - numberCellType1.MinimumValue = -2147483648D; - this.fpSpread1_Sheet1.Columns.Get(0).CellType = numberCellType1; + numberCellType2.DecimalPlaces = 0; + numberCellType2.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes; + numberCellType2.MaximumValue = 2147483647D; + numberCellType2.MinimumValue = -2147483648D; + this.fpSpread1_Sheet1.Columns.Get(0).CellType = numberCellType2; this.fpSpread1_Sheet1.Columns.Get(0).DataField = "idx"; this.fpSpread1_Sheet1.Columns.Get(0).Label = "IDX"; this.fpSpread1_Sheet1.Columns.Get(0).Visible = false; this.fpSpread1_Sheet1.Columns.Get(0).Width = 99F; - this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType1; + this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType4; this.fpSpread1_Sheet1.Columns.Get(1).DataField = "name"; this.fpSpread1_Sheet1.Columns.Get(1).Label = "품명"; this.fpSpread1_Sheet1.Columns.Get(1).Width = 154F; - this.fpSpread1_Sheet1.Columns.Get(2).CellType = textCellType2; + this.fpSpread1_Sheet1.Columns.Get(2).CellType = textCellType5; this.fpSpread1_Sheet1.Columns.Get(2).DataField = "model"; this.fpSpread1_Sheet1.Columns.Get(2).Label = "모델"; this.fpSpread1_Sheet1.Columns.Get(2).Width = 154F; - this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType3; + this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType6; this.fpSpread1_Sheet1.Columns.Get(3).DataField = "sid"; this.fpSpread1_Sheet1.Columns.Get(3).Label = "SID"; this.fpSpread1_Sheet1.Columns.Get(3).Width = 154F; @@ -616,30 +618,6 @@ this.arDatagridView1.Size = new System.Drawing.Size(1084, 163); this.arDatagridView1.TabIndex = 6; // - // bsPMP - // - this.bsPMP.DataMember = "SPMaster"; - this.bsPMP.DataSource = this.dSPMP; - // - // dSPMP - // - this.dSPMP.DataSetName = "DSPMP"; - this.dSPMP.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; - // - // taPMP - // - this.taPMP.ClearBeforeFill = true; - // - // panel2 - // - this.panel2.Controls.Add(this.arDatagridView1); - this.panel2.Controls.Add(this.label3); - this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; - this.panel2.Location = new System.Drawing.Point(0, 438); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(1084, 186); - this.panel2.TabIndex = 7; - // // sIDNoDataGridViewTextBoxColumn // this.sIDNoDataGridViewTextBoxColumn.DataPropertyName = "SIDNo"; @@ -724,6 +702,31 @@ this.enrolleeDataGridViewTextBoxColumn.Name = "enrolleeDataGridViewTextBoxColumn"; this.enrolleeDataGridViewTextBoxColumn.ReadOnly = true; // + // bsPMP + // + this.bsPMP.DataMember = "SPMaster"; + this.bsPMP.DataSource = this.dSPMP; + this.bsPMP.Filter = "Storage <> \'B-CENTER\'"; + // + // dSPMP + // + this.dSPMP.DataSetName = "DSPMP"; + this.dSPMP.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; + // + // taPMP + // + this.taPMP.ClearBeforeFill = true; + // + // panel2 + // + this.panel2.Controls.Add(this.arDatagridView1); + this.panel2.Controls.Add(this.label3); + this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel2.Location = new System.Drawing.Point(0, 438); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(1084, 186); + this.panel2.TabIndex = 7; + // // fLovItem // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; diff --git a/SubProject/FCM0000/Item/fLovItem.resx b/SubProject/FCM0000/Item/fLovItem.resx index f293925..49b9bf5 100644 --- a/SubProject/FCM0000/Item/fLovItem.resx +++ b/SubProject/FCM0000/Item/fLovItem.resx @@ -230,21 +230,24 @@ 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 + + 216, 17 + 81, 17 @@ -254,6 +257,9 @@ 387, 17 + + 462, 17 + R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh @@ -283,9 +289,6 @@ dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7 - - 462, 17 - True diff --git a/SubProject/FPJ0000/FPJ0000.csproj b/SubProject/FPJ0000/FPJ0000.csproj index 5aa298a..e4c2d1d 100644 --- a/SubProject/FPJ0000/FPJ0000.csproj +++ b/SubProject/FPJ0000/FPJ0000.csproj @@ -546,6 +546,9 @@ + + PreserveNewest + PreserveNewest diff --git a/SubProject/FPJ0000/JobReport/fJobChartMenu.Designer.cs b/SubProject/FPJ0000/JobReport/fJobChartMenu.Designer.cs index 3c9f92d..0675e84 100644 --- a/SubProject/FPJ0000/JobReport/fJobChartMenu.Designer.cs +++ b/SubProject/FPJ0000/JobReport/fJobChartMenu.Designer.cs @@ -1,144 +1,231 @@ -namespace FPJ0000.JobReport -{ - partial class fJobChartMenu - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.Windows.Forms.Label label1; - System.Windows.Forms.Label label2; - System.Windows.Forms.Label label3; - this.tbName = new System.Windows.Forms.TextBox(); - this.tbUID = new System.Windows.Forms.TextBox(); - this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); - this.dateTimePicker2 = new System.Windows.Forms.DateTimePicker(); - this.btOK = new System.Windows.Forms.Button(); - label1 = new System.Windows.Forms.Label(); - label2 = new System.Windows.Forms.Label(); - label3 = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // label1 - // - label1.AutoSize = true; - label1.Location = new System.Drawing.Point(26, 22); - label1.Name = "label1"; - label1.Size = new System.Drawing.Size(41, 12); - label1.TabIndex = 0; - label1.Text = "사용자"; - // - // label2 - // - label2.AutoSize = true; - label2.Location = new System.Drawing.Point(26, 51); - label2.Name = "label2"; - label2.Size = new System.Drawing.Size(41, 12); - label2.TabIndex = 3; - label2.Text = "시작일"; - // - // label3 - // - label3.AutoSize = true; - label3.Location = new System.Drawing.Point(26, 78); - label3.Name = "label3"; - label3.Size = new System.Drawing.Size(41, 12); - label3.TabIndex = 5; - label3.Text = "종료일"; - // - // tbName - // - this.tbName.Location = new System.Drawing.Point(79, 18); - this.tbName.Name = "tbName"; - this.tbName.Size = new System.Drawing.Size(123, 21); - this.tbName.TabIndex = 1; - // - // tbUID - // - this.tbUID.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); - this.tbUID.Location = new System.Drawing.Point(208, 18); - this.tbUID.Name = "tbUID"; - this.tbUID.Size = new System.Drawing.Size(123, 21); - this.tbUID.TabIndex = 2; - this.tbUID.TabStop = false; - this.tbUID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // dateTimePicker1 - // - this.dateTimePicker1.Location = new System.Drawing.Point(79, 45); - this.dateTimePicker1.Name = "dateTimePicker1"; - this.dateTimePicker1.Size = new System.Drawing.Size(252, 21); - this.dateTimePicker1.TabIndex = 4; - // - // dateTimePicker2 - // - this.dateTimePicker2.Location = new System.Drawing.Point(79, 72); - this.dateTimePicker2.Name = "dateTimePicker2"; - this.dateTimePicker2.Size = new System.Drawing.Size(252, 21); - this.dateTimePicker2.TabIndex = 6; - // - // btOK - // - this.btOK.Location = new System.Drawing.Point(79, 101); - this.btOK.Name = "btOK"; - this.btOK.Size = new System.Drawing.Size(252, 27); - this.btOK.TabIndex = 7; - this.btOK.Text = "확인"; - this.btOK.UseVisualStyleBackColor = true; - this.btOK.Click += new System.EventHandler(this.btOK_Click); - // - // fJobChartMenu - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(356, 146); - this.Controls.Add(this.btOK); - this.Controls.Add(label3); - this.Controls.Add(this.dateTimePicker2); - this.Controls.Add(label2); - this.Controls.Add(this.dateTimePicker1); - this.Controls.Add(this.tbUID); - this.Controls.Add(this.tbName); - this.Controls.Add(label1); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "fJobChartMenu"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "작업 분포 확인"; - this.Load += new System.EventHandler(this.fJobChartMenu_Load); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox tbName; - private System.Windows.Forms.TextBox tbUID; - private System.Windows.Forms.DateTimePicker dateTimePicker1; - private System.Windows.Forms.DateTimePicker dateTimePicker2; - private System.Windows.Forms.Button btOK; - } +namespace FPJ0000.JobReport +{ + partial class fJobChartMenu + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.cmbUser = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.dte = new System.Windows.Forms.DateTimePicker(); + this.label2 = new System.Windows.Forms.Label(); + this.dts = new System.Windows.Forms.DateTimePicker(); + this.tbProcess = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.btRefresh = new System.Windows.Forms.Button(); + this.fpSpread1 = new FarPoint.Win.Spread.FpSpread(); + this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.btSave = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200))))); + this.panel1.Controls.Add(this.btSave); + this.panel1.Controls.Add(this.cmbUser); + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.dte); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.dts); + this.panel1.Controls.Add(this.tbProcess); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.btRefresh); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(5); + this.panel1.Size = new System.Drawing.Size(888, 58); + this.panel1.TabIndex = 1; + // + // cmbUser + // + this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbUser.FormattingEnabled = true; + this.cmbUser.Location = new System.Drawing.Point(289, 32); + this.cmbUser.Name = "cmbUser"; + this.cmbUser.Size = new System.Drawing.Size(180, 20); + this.cmbUser.TabIndex = 11; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(254, 36); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(29, 12); + this.label4.TabIndex = 10; + this.label4.Text = "사원"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(261, 12); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 12); + this.label3.TabIndex = 9; + this.label3.Text = "~"; + // + // dte + // + this.dte.Location = new System.Drawing.Point(289, 8); + this.dte.Name = "dte"; + this.dte.Size = new System.Drawing.Size(180, 21); + this.dte.TabIndex = 8; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(10, 12); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.TabIndex = 7; + this.label2.Text = "검색기간"; + // + // dts + // + this.dts.Location = new System.Drawing.Point(68, 8); + this.dts.Name = "dts"; + this.dts.Size = new System.Drawing.Size(180, 21); + this.dts.TabIndex = 6; + // + // tbProcess + // + this.tbProcess.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.tbProcess.FormattingEnabled = true; + this.tbProcess.Location = new System.Drawing.Point(68, 32); + this.tbProcess.Name = "tbProcess"; + this.tbProcess.Size = new System.Drawing.Size(180, 20); + this.tbProcess.TabIndex = 5; + this.tbProcess.SelectedIndexChanged += new System.EventHandler(this.tbProcess_SelectedIndexChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(34, 36); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(29, 12); + this.label1.TabIndex = 3; + this.label1.Text = "공정"; + // + // btRefresh + // + this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right; + this.btRefresh.Location = new System.Drawing.Point(808, 5); + this.btRefresh.Name = "btRefresh"; + this.btRefresh.Size = new System.Drawing.Size(75, 48); + this.btRefresh.TabIndex = 2; + this.btRefresh.Text = "새로고침"; + this.btRefresh.UseVisualStyleBackColor = true; + this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click); + // + // fpSpread1 + // + this.fpSpread1.AccessibleDescription = ""; + this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill; + this.fpSpread1.Location = new System.Drawing.Point(0, 58); + this.fpSpread1.Name = "fpSpread1"; + this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { + this.fpSpread1_Sheet1}); + this.fpSpread1.Size = new System.Drawing.Size(888, 638); + this.fpSpread1.TabIndex = 4; + // + // fpSpread1_Sheet1 + // + this.fpSpread1_Sheet1.Reset(); + this.fpSpread1_Sheet1.SheetName = "Sheet1"; + // Formulas and custom names must be loaded with R1C1 reference style + this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; + this.fpSpread1_Sheet1.ColumnFooter.DefaultStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ColumnFooter.DefaultStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ColumnFooterSheetCornerStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ColumnFooterSheetCornerStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ColumnHeader.DefaultStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ColumnHeader.DefaultStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.DefaultStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.DefaultStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.FilterBar.DefaultStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.FilterBar.DefaultStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.FilterBarHeaderStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.FilterBarHeaderStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.RowHeader.DefaultStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.RowHeader.DefaultStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.SheetCornerStyle.BackColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.SheetCornerStyle.ForeColor = System.Drawing.Color.Empty; + this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; + // + // btSave + // + this.btSave.Dock = System.Windows.Forms.DockStyle.Right; + this.btSave.Location = new System.Drawing.Point(733, 5); + this.btSave.Name = "btSave"; + this.btSave.Size = new System.Drawing.Size(75, 48); + this.btSave.TabIndex = 13; + this.btSave.Text = "파일저장"; + this.btSave.UseVisualStyleBackColor = true; + this.btSave.Click += new System.EventHandler(this.btSave_Click); + // + // fJobChartMenu + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(888, 696); + this.Controls.Add(this.fpSpread1); + this.Controls.Add(this.panel1); + this.Name = "fJobChartMenu"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "작업 분포 확인"; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Load += new System.EventHandler(this.fJobChartMenu_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.ComboBox cmbUser; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.DateTimePicker dte; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.DateTimePicker dts; + private System.Windows.Forms.ComboBox tbProcess; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button btRefresh; + private FarPoint.Win.Spread.FpSpread fpSpread1; + private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1; + private System.Windows.Forms.Button btSave; + } } \ No newline at end of file diff --git a/SubProject/FPJ0000/JobReport/fJobChartMenu.cs b/SubProject/FPJ0000/JobReport/fJobChartMenu.cs index 0625975..a10671d 100644 --- a/SubProject/FPJ0000/JobReport/fJobChartMenu.cs +++ b/SubProject/FPJ0000/JobReport/fJobChartMenu.cs @@ -1,4 +1,5 @@ -using System; +using FarPoint.Win; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -11,25 +12,353 @@ namespace FPJ0000.JobReport { public partial class fJobChartMenu : Form { - public fJobChartMenu(string name, string no) + Boolean binit = false; + + public fJobChartMenu() { InitializeComponent(); - this.tbName.Text = name; - this.tbUID.Text = no; + this.dts.Value = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01")); + this.dte.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1); } - - private void btOK_Click(object sender, EventArgs e) - { - var f = new JobReport.rJobChart(tbUID.Text,dateTimePicker1.Value.ToShortDateString(),dateTimePicker2.Value.ToShortDateString()); - f.Show(); - } - private void fJobChartMenu_Load(object sender, EventArgs e) { - // this.tbUID.Text = FCOMMON.info.Login.no; - //this.tbName.Text = FCOMMON.info.Login.nameK; - this.dateTimePicker1.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")); - this.dateTimePicker2.Value = this.dateTimePicker1.Value.AddMonths(1).AddDays(-1); + 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; + + //사용자 목록을 선택한다 + UpdateUserList(); + + //엑셀파일불러오기 + var file = FCOMMON.Util.CurrentPath + "ReportProjectSummary.xlsx"; + this.fpSpread1.OpenExcel(file); + if (this.fpSpread1.Sheets.Count > 1) this.fpSpread1.ActiveSheetIndex = 0; + + //refrehData(); + binit = true; + } + void UpdateUserList() + { + var db = new EEEntities(); + + cmbUser.Items.Clear(); + cmbUser.Items.Add("--전체--"); + + + //일반사용자 목록 가져온다 + IQueryable> userlist; + + if (tbProcess.SelectedIndex <= 0) + { + //공정구분없이 전체사용자를 가져온다 + userlist = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name); + } + else + { + userlist = 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 item 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; //기본전체로 선택해준다. + } + + void refrehData() + { + var db = new EEEntities(); + + + //조회공정 + this.fpSpread1.Sheets[0].Cells[3, 2].Value = tbProcess.Text; + + //담당자 + this.fpSpread1.Sheets[0].Cells[3, 3].Value = cmbUser.Text; + + //시작일:F4 + this.fpSpread1.Sheets[0].Cells[3, 4].Value = dts.Value; + + //종료일:G4 + this.fpSpread1.Sheets[0].Cells[3, 5].Value = dte.Value; + + //근문일수,시간 + var vSD = dts.Value.ToShortDateString(); + var vED = dte.Value.ToShortDateString(); + + //휴가일수확인 + var drDays = db.HolidayLIst.Where(t => t.free == false && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0); + + //근무일수적용 + if (drDays == null || drDays.Count() < 1) this.fpSpread1.Sheets[0].Cells[3, 6].Value = 0; + else this.fpSpread1.Sheets[0].Cells[3, 6].Value = drDays.Count(); + + + ComplexBorderSide left = new ComplexBorderSide(Color.Gray, 1); + ComplexBorderSide top = new ComplexBorderSide(Color.Gray, 1); + ComplexBorderSide right = new ComplexBorderSide(Color.Gray, 1); + ComplexBorderSide bottom = new ComplexBorderSide(Color.Gray, 1); + + //사용자목록을 가져온다 + List baseData; + if (cmbUser.SelectedIndex > 0) + { + //사용자번호 + var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1); + baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo).OrderBy(t => t.name).ToList(); + } + else if (tbProcess.SelectedIndex > 0) + { + baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).ToList(); + } + else + { + baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).ToList(); + } + + + //사용자로 그룹해서 수량을 세명 , 사용자 숫자가 된다. + this.fpSpread1.Sheets[0].Cells[3, 7].Value = baseData.GroupBy(t => t.id).Count(); //인원수 + + var col = 0; + var row = 0; + + + //해당 그룹의 기간데이터를 가져온다 + if (cmbUser.SelectedIndex > 0) + { + //사용자번호 + var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1); + baseData = db.vJobReportForUser + .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0) + .OrderBy(t => t.name) + .OrderBy(t => t.pdate) + .ToList(); + } + else if (tbProcess.SelectedIndex > 0) + { + baseData = db.vJobReportForUser + .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0 && t.userProcess == tbProcess.Text) + .OrderBy(t => t.name) + .OrderBy(t => t.pdate) + .ToList(); + } + else + { + 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) + .OrderBy(t => t.pdate) + .ToList(); + } + + col = 0; + row = 1; + fpSpread1.Sheets[1].RowCount = baseData.GroupBy(t => t.id).Count() + 1; + foreach (var item in baseData.GroupBy(t => t.id)) //사용자별로 그룹을 해서 + { + var dr = item.FirstOrDefault(); + this.fpSpread1.Sheets[2].Cells[row, 0].Value = dr.name; + this.fpSpread1.Sheets[2].Cells[row, 1].Value = dr.id; + this.fpSpread1.Sheets[2].Cells[row, 2].Value = item.Sum(t => t.hrs); + this.fpSpread1.Sheets[2].Cells[row, 3].Value = item.Sum(t => t.ot); + row += 1; + } + fpSpread1.Sheets[1].ColumnCount = 5; + fpSpread1.Sheets[1].RowCount = row + 1; + + //Raw dat a표시 + row = 1; + this.fpSpread1.Sheets[2].RowCount = baseData.Count + 1; + foreach (var item in baseData) + { + col = 0; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.id; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.name; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.pdate; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.userProcess; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.process; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.svalue; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.hrs; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.ot; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.requestpart; + this.fpSpread1.Sheets[3].Cells[row, col++].Value = item.package; + row += 1; + } + + // var dtRaw = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0); + + //공정목록(우측으로 전개함) + col = 2; + var orTypeName = baseData.Where(t => t.svalue != "휴가").OrderBy(t => t.process).GroupBy(t => t.process); + this.fpSpread1.ActiveSheetIndex = 0; + foreach (var item in orTypeName) + { + var dr = item.FirstOrDefault(); + this.fpSpread1.Sheets[0].Cells[6, col++].Value = dr.process; + if (col == 11) break; //목록개수를 넘었으니 더이상 진행하지 못한다 이것들은 모두 ETC에 넣는다 + //col += 1; + } + + //나머지 열을 * 로 채운다 + for (int i = col; i < 11; i++) + this.fpSpread1.Sheets[0].Cells[6, i].Value = "*"; + + System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ko-KR", false); + FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType(); + numberCellType1.NegativeRed = true; + numberCellType1.NullDisplay = "--"; + + + //프로세스목록을 먼저 기록한다 + row = 7; + var orProcess = baseData.OrderBy(t => t.requestpart).GroupBy(t => t.requestpart); + this.fpSpread1.Sheets[0].RowCount = 7+ orProcess.Count() + 1; + + foreach (var item in orProcess) + { + var RequestPart = item.FirstOrDefault().requestpart; + this.fpSpread1.Sheets[0].Cells[row, 1].Value = RequestPart; + + //2번부터는 데이터를 넣어야 한다 + double sumOt = 0.0; + double holytime = 0.0; + int coldata = 2; + for (int i = 2; i < 11; i++) + { + var colName = fpSpread1.Sheets[0].Cells[6, i].Value.ToString(); + + //이 이름에 해당하는 데이터의 시간을 가져온다 + double ot = 0.0; + double hrs = 0.0; + if (colName != "*") + { + //double holytime = 0.0; + var timeList = item.Where(t => t.process == colName); + if (timeList != null) + { + hrs = (double)timeList.Sum(t => t.hrs); + ot = (double)timeList.Sum(t => t.ot); + sumOt += ot; + } + } + 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; + } + + //ETC영역계산 + { + //전체합산데이터와, 2~10까지의 데이터가 일치하지 않으면 그것이 ETC이다 + var etchr = item.Sum(t => t.hrs); + var etcot = item.Sum(t => t.ot); + + //현재데이터의 hrs의 합 + var subtotal = 0.0; + for(int i = 2; i <11;i++) + { + var ivalue = fpSpread1.Sheets[0].Cells[row, i].Value; + if (ivalue != null) subtotal += (double)ivalue; + } + var etcval = (etchr + etcot) - subtotal; + fpSpread1.Sheets[0].Cells[row, 11].Value = etcval; + } + + fpSpread1.Sheets[0].Cells[row, 12].CellType = numberCellType1; + fpSpread1.Sheets[0].Cells[row, 12].ParseFormatString = "N1"; + fpSpread1.Sheets[0].Cells[row, 12].Formula = string.Format("SUM(C{0}:G{0})+L{0}", row + 1); + + //H8 /$I$4 + if (sumOt == 0.0) fpSpread1.Sheets[0].Cells[row, 13].Value = null; //OT합계 + else fpSpread1.Sheets[0].Cells[row, 13].Value = sumOt; //OT합계 + + // process 의 휴가시간을 다시 계산한다. + var 휴가데이터 = baseData.Where(t => t.requestpart == RequestPart && t.svalue == "휴가"); + if (휴가데이터 == null || 휴가데이터.Count() < 1) + { + fpSpread1.Sheets[0].Cells[row, 14].Value = null;// 0.0; //휴가시간 + } + else fpSpread1.Sheets[0].Cells[row, 14].Value = 휴가데이터.Sum(t => t.hrs); //휴가시간 + + for (int i = 1; i <= 14; i++) + { + if(i == 12) fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray; + else fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.White; + fpSpread1.Sheets[0].Cells[row, i].Border = new ComplexBorder(left, top, right, bottom); + fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + } + + + row += 1; + } + + //합계데이터 + fpSpread1.Sheets[0].Cells[row, 1].Value = "합계"; + fpSpread1.Sheets[0].Cells[row, 1].BackColor = Color.LightGray; + fpSpread1.Sheets[0].Cells[row, 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + fpSpread1.Sheets[0].Cells[row, 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + fpSpread1.Sheets[0].Cells[row, 1].Border = new ComplexBorder(left, top, right, bottom); + for (int i = 2; i <= 14; i++) + { + char basec = 'C'; + char newc = (char)(basec + (i - 2)); + fpSpread1.Sheets[0].Cells[row, i].Formula = "SUM(" + newc.ToString() + "8:" + newc.ToString() + row.ToString() + ")"; + fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray; + + fpSpread1.Sheets[0].Cells[row, i].CellType = numberCellType1; + fpSpread1.Sheets[0].Cells[row, i].ParseFormatString = "N1"; + fpSpread1.Sheets[0].Cells[row, i].CellType = numberCellType1; + fpSpread1.Sheets[0].Cells[row, i].ParseFormatString = "N1"; + + fpSpread1.Sheets[0].Cells[row, i].Border = new ComplexBorder(left, top, right, bottom); + fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; + fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; + } + + this.fpSpread1.Sheets[0].RowCount = row + 1; + } + + private void tbProcess_SelectedIndexChanged(object sender, EventArgs e) + { + if (binit == false) return; + UpdateUserList(); + //if (tbProcess.SelectedIndex >= 0) refrehData(); + } + + private void btRefresh_Click(object sender, EventArgs e) + { + refrehData(); + } + + private void btSave_Click(object sender, EventArgs e) + { + var sd = new SaveFileDialog(); + sd.Filter = "excel(*.xls)|*.xls"; + sd.FilterIndex = 0; + sd.FileName = "작업분포.xls"; + if (sd.ShowDialog() == DialogResult.OK) + { + fpSpread1.SaveExcel(sd.FileName); + FCOMMON.Util.MsgE("파일저장완료\n" + sd.FileName); + } } } } diff --git a/SubProject/FPJ0000/JobReport/fJobChartMenu.resx b/SubProject/FPJ0000/JobReport/fJobChartMenu.resx index c0bb2f1..5e99c82 100644 --- a/SubProject/FPJ0000/JobReport/fJobChartMenu.resx +++ b/SubProject/FPJ0000/JobReport/fJobChartMenu.resx @@ -1,129 +1,126 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - False - - - False - - - False - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 17, 17 + \ No newline at end of file diff --git a/SubProject/FPJ0000/JobReport/fJobReport.cs b/SubProject/FPJ0000/JobReport/fJobReport.cs index 337e25e..bb8a4e0 100644 --- a/SubProject/FPJ0000/JobReport/fJobReport.cs +++ b/SubProject/FPJ0000/JobReport/fJobReport.cs @@ -548,7 +548,7 @@ namespace FPJ0000 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(name, request); + var f = new JobReport.fJobChartMenu(); f.ShowDialog(); } diff --git a/SubProject/FPJ0000/JobReport/rJobReportUser.Designer.cs b/SubProject/FPJ0000/JobReport/rJobReportUser.Designer.cs index 72cf471..543b55b 100644 --- a/SubProject/FPJ0000/JobReport/rJobReportUser.Designer.cs +++ b/SubProject/FPJ0000/JobReport/rJobReportUser.Designer.cs @@ -44,6 +44,7 @@ this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter(); this.fpSpread1 = new FarPoint.Win.Spread.FpSpread(); this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); + this.btSave = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit(); this.panel1.SuspendLayout(); @@ -63,6 +64,8 @@ // // panel1 // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200))))); + this.panel1.Controls.Add(this.btSave); this.panel1.Controls.Add(this.cmbUser); this.panel1.Controls.Add(this.label4); this.panel1.Controls.Add(this.label3); @@ -180,6 +183,17 @@ this.fpSpread1_Sheet1.Reset(); this.fpSpread1_Sheet1.SheetName = "Sheet1"; // + // btSave + // + this.btSave.Dock = System.Windows.Forms.DockStyle.Right; + this.btSave.Location = new System.Drawing.Point(903, 5); + this.btSave.Name = "btSave"; + this.btSave.Size = new System.Drawing.Size(75, 48); + this.btSave.TabIndex = 12; + this.btSave.Text = "파일저장"; + this.btSave.UseVisualStyleBackColor = true; + this.btSave.Click += new System.EventHandler(this.btSave_Click); + // // rJobReportUser // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -216,5 +230,6 @@ private System.Windows.Forms.Label label4; private FarPoint.Win.Spread.FpSpread fpSpread1; private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1; + private System.Windows.Forms.Button btSave; } } \ No newline at end of file diff --git a/SubProject/FPJ0000/JobReport/rJobReportUser.cs b/SubProject/FPJ0000/JobReport/rJobReportUser.cs index 5b3d8b4..5592a97 100644 --- a/SubProject/FPJ0000/JobReport/rJobReportUser.cs +++ b/SubProject/FPJ0000/JobReport/rJobReportUser.cs @@ -40,8 +40,6 @@ namespace FPJ0000.JobReport //사용자 목록을 선택한다 UpdateUserList(); - - //엑셀파일불러오기 var file = FCOMMON.Util.CurrentPath + "ReportForUser.xlsx"; this.fpSpread1.OpenExcel(file); @@ -49,8 +47,6 @@ namespace FPJ0000.JobReport //refrehData(); binit = true; - - } void UpdateUserList() @@ -278,8 +274,8 @@ namespace FPJ0000.JobReport fpSpread1.Sheets[0].Cells[row, 7].Formula = string.Format("SUM(C{0}:G{0})+K{0}", row + 1); fpSpread1.Sheets[0].Cells[row, 8].Formula = string.Format("H{0}/$I$4", row + 1); //H8 /$I$4 - if(sumOt == 0.0) fpSpread1.Sheets[0].Cells[row, 9].Value = null; //OT합계 - else fpSpread1.Sheets[0].Cells[row, 9].Value = sumOt ; //OT합계 + if (sumOt == 0.0) fpSpread1.Sheets[0].Cells[row, 9].Value = null; //OT합계 + else fpSpread1.Sheets[0].Cells[row, 9].Value = sumOt; //OT합계 @@ -298,7 +294,7 @@ namespace FPJ0000.JobReport fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; } - + row += 1; } @@ -323,7 +319,7 @@ namespace FPJ0000.JobReport fpSpread1.Sheets[0].Cells[row, i].CellType = numberCellType1; fpSpread1.Sheets[0].Cells[row, i].ParseFormatString = "N1"; - + fpSpread1.Sheets[0].Cells[row, i].Border = new ComplexBorder(left, top, right, bottom); fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; @@ -453,5 +449,18 @@ namespace FPJ0000.JobReport { } + + private void btSave_Click(object sender, EventArgs e) + { + var sd = new SaveFileDialog(); + sd.Filter = "excel(*.xls)|*.xls"; + sd.FilterIndex = 0; + sd.FileName = "적정인원관리.xls"; + if (sd.ShowDialog() == DialogResult.OK) + { + fpSpread1.SaveExcel(sd.FileName); + FCOMMON.Util.MsgE("파일저장완료\n" + sd.FileName); + } + } } } diff --git a/SubProject/FPJ0000/JobReport/rJobReportUser.resx b/SubProject/FPJ0000/JobReport/rJobReportUser.resx index db9762f..641e2bd 100644 --- a/SubProject/FPJ0000/JobReport/rJobReportUser.resx +++ b/SubProject/FPJ0000/JobReport/rJobReportUser.resx @@ -132,4 +132,7 @@ 245, 17 + + 245, 17 + \ No newline at end of file diff --git a/SubProject/FPJ0000/Model1.Context.cs b/SubProject/FPJ0000/Model1.Context.cs index 909c139..39e89cf 100644 --- a/SubProject/FPJ0000/Model1.Context.cs +++ b/SubProject/FPJ0000/Model1.Context.cs @@ -31,7 +31,7 @@ namespace FPJ0000 public virtual DbSet vHoliday_uselist { get; set; } public virtual DbSet vUserWorkTimeList { get; set; } public virtual DbSet HolidayLIst { get; set; } - public virtual DbSet vJobReportForUser { get; set; } public virtual DbSet vGroupUser { get; set; } + public virtual DbSet vJobReportForUser { get; set; } } } diff --git a/SubProject/FPJ0000/Model1.edmx b/SubProject/FPJ0000/Model1.edmx index 46df710..a4bcd75 100644 --- a/SubProject/FPJ0000/Model1.edmx +++ b/SubProject/FPJ0000/Model1.edmx @@ -130,6 +130,8 @@ + + @@ -197,7 +199,9 @@ [vJobReportForUser].[svalue] AS [svalue], [vJobReportForUser].[hrs] AS [hrs], [vJobReportForUser].[ot] AS [ot], - [vJobReportForUser].[userProcess] AS [userProcess] + [vJobReportForUser].[userProcess] AS [userProcess], + [vJobReportForUser].[requestpart] AS [requestpart], + [vJobReportForUser].[package] AS [package] FROM [dbo].[vJobReportForUser] AS [vJobReportForUser] @@ -304,8 +308,8 @@ - + @@ -318,23 +322,6 @@ - - - - - - - - - - - - - - - - - @@ -358,6 +345,25 @@ + + + + + + + + + + + + + + + + + + + @@ -458,23 +464,6 @@ - - - - - - - - - - - - - - - - - @@ -499,6 +488,25 @@ + + + + + + + + + + + + + + + + + + + diff --git a/SubProject/FPJ0000/Model1.edmx.diagram b/SubProject/FPJ0000/Model1.edmx.diagram index 30e51ed..b99644f 100644 --- a/SubProject/FPJ0000/Model1.edmx.diagram +++ b/SubProject/FPJ0000/Model1.edmx.diagram @@ -11,8 +11,8 @@ - + diff --git a/SubProject/FPJ0000/Project/fPartList.cs b/SubProject/FPJ0000/Project/fPartList.cs index f0be4ba..bd01709 100644 --- a/SubProject/FPJ0000/Project/fPartList.cs +++ b/SubProject/FPJ0000/Project/fPartList.cs @@ -630,8 +630,8 @@ namespace FPJ0000 System.Data.SqlClient.SqlDataReader rdr = null; System.Data.SqlClient.SqlCommand cmd = null; - var basesql1 = "select isnull(SIDNo,'') ,isnull(PartName,'') ,isnull(PartNo,'') , isnull(CurrentQty,0) from SPMaster where SIDNo = '{0}'"; - var basesql2 = "select isnull(SIDNo,'') ,isnull(PartName,'') ,isnull(PartNo,'') , isnull(CurrentQty,0) from SPMaster where PartNo = '{0}'"; + var basesql1 = "select isnull(SIDNo,'') ,isnull(PartName,'') ,isnull(PartNo,'') , isnull(CurrentQty,0) from SPMaster where SIDNo = '{0}' and isnull(Storage,'') <> 'B-CENTER'"; + var basesql2 = "select isnull(SIDNo,'') ,isnull(PartName,'') ,isnull(PartNo,'') , isnull(CurrentQty,0) from SPMaster where PartNo = '{0}' and isnull(Storage,'') <> 'B-CENTER'"; cmd = new System.Data.SqlClient.SqlCommand("", cn); var cnt_ok = 0; diff --git a/SubProject/FPJ0000/Project/fSPMaster.cs b/SubProject/FPJ0000/Project/fSPMaster.cs index 1c41d3b..69880f2 100644 --- a/SubProject/FPJ0000/Project/fSPMaster.cs +++ b/SubProject/FPJ0000/Project/fSPMaster.cs @@ -37,8 +37,10 @@ namespace FPJ0000 private void __Load(object sender, EventArgs e) { this.Show(); + this.bs.Filter = "Storage <> 'B-CENTER'"; Application.DoEvents(); button1.PerformClick(); + } void refreshData(string div) { @@ -168,9 +170,9 @@ namespace FPJ0000 private void chkZeroCount_Click(object sender, EventArgs e) { if (chkZeroCount.Checked) - this.bs.Filter = "CurrentQty > 0"; + this.bs.Filter = "CurrentQty > 0 and Storage <> 'B-CENTER'"; else - this.bs.Filter = ""; + this.bs.Filter = "Storage <> 'B-CENTER'"; } } } diff --git a/SubProject/FPJ0000/vJobReportForUser.cs b/SubProject/FPJ0000/vJobReportForUser.cs index 247e2ef..24b73d1 100644 --- a/SubProject/FPJ0000/vJobReportForUser.cs +++ b/SubProject/FPJ0000/vJobReportForUser.cs @@ -25,5 +25,7 @@ namespace FPJ0000 public Nullable hrs { get; set; } public Nullable ot { get; set; } public string userProcess { get; set; } + public string requestpart { get; set; } + public string package { get; set; } } }