diff --git a/Project/Properties/AssemblyInfo.cs b/Project/Properties/AssemblyInfo.cs index 41d5762..2cfd9d2 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("22.04.20.1420")] -[assembly: AssemblyFileVersion("22.04.20.1420")] +[assembly: AssemblyVersion("22.04.22.1430")] +[assembly: AssemblyFileVersion("22.04.22.1430")] diff --git a/SubProject/FBS0000/Holiday/fErrorChk.Designer.cs b/SubProject/FBS0000/Holiday/fErrorChk.Designer.cs index 84d3869..ce07778 100644 --- a/SubProject/FBS0000/Holiday/fErrorChk.Designer.cs +++ b/SubProject/FBS0000/Holiday/fErrorChk.Designer.cs @@ -29,378 +29,546 @@ namespace FBS0000.Holiday /// private void InitializeComponent() { - this.label1 = new System.Windows.Forms.Label(); - this.dtSD = new System.Windows.Forms.TextBox(); - this.dtED = new System.Windows.Forms.TextBox(); - this.label2 = new System.Windows.Forms.Label(); - this.btChk = new System.Windows.Forms.Button(); - this.btCorr = new System.Windows.Forms.Button(); - this.progressBar1 = new System.Windows.Forms.ProgressBar(); - this.tbDate = new System.Windows.Forms.TextBox(); - this.textBox2 = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.textBox3 = new System.Windows.Forms.TextBox(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.textBox4 = new System.Windows.Forms.TextBox(); - this.label8 = new System.Windows.Forms.Label(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.textBox5 = new System.Windows.Forms.TextBox(); - this.label9 = new System.Windows.Forms.Label(); - this.textBox6 = new System.Windows.Forms.TextBox(); - this.label11 = new System.Windows.Forms.Label(); - this.label12 = new System.Windows.Forms.Label(); - this.textBox7 = new System.Windows.Forms.TextBox(); - this.label3 = new System.Windows.Forms.Label(); - this.textBox8 = new System.Windows.Forms.TextBox(); - this.label10 = new System.Windows.Forms.Label(); - this.listView1 = new System.Windows.Forms.ListView(); - this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.groupBox1.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.SuspendLayout(); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(28, 24); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(29, 12); - this.label1.TabIndex = 0; - this.label1.Text = "기간"; - // - // dtSD - // - this.dtSD.Location = new System.Drawing.Point(64, 19); - this.dtSD.Name = "dtSD"; - this.dtSD.Size = new System.Drawing.Size(100, 21); - this.dtSD.TabIndex = 1; - // - // dtED - // - this.dtED.Location = new System.Drawing.Point(193, 19); - this.dtED.Name = "dtED"; - this.dtED.Size = new System.Drawing.Size(100, 21); - this.dtED.TabIndex = 3; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(172, 24); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(14, 12); - this.label2.TabIndex = 2; - this.label2.Text = "~"; - // - // btChk - // - this.btChk.Location = new System.Drawing.Point(472, 10); - this.btChk.Name = "btChk"; - this.btChk.Size = new System.Drawing.Size(189, 36); - this.btChk.TabIndex = 5; - this.btChk.Text = "검사"; - this.btChk.UseVisualStyleBackColor = true; - this.btChk.Click += new System.EventHandler(this.button1_Click); - // - // btCorr - // - this.btCorr.Dock = System.Windows.Forms.DockStyle.Bottom; - this.btCorr.Location = new System.Drawing.Point(5, 566); - this.btCorr.Name = "btCorr"; - this.btCorr.Size = new System.Drawing.Size(671, 54); - this.btCorr.TabIndex = 6; - this.btCorr.Text = "오류 수정"; - this.btCorr.UseVisualStyleBackColor = true; - this.btCorr.Click += new System.EventHandler(this.button2_Click); - // - // progressBar1 - // - this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.progressBar1.Location = new System.Drawing.Point(5, 548); - this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(671, 18); - this.progressBar1.TabIndex = 7; - // - // tbDate - // - this.tbDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.tbDate.Font = new System.Drawing.Font("맑은 고딕", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); - this.tbDate.ForeColor = System.Drawing.Color.Lime; - this.tbDate.Location = new System.Drawing.Point(22, 56); - this.tbDate.Name = "tbDate"; - this.tbDate.Size = new System.Drawing.Size(639, 93); - this.tbDate.TabIndex = 9; - this.tbDate.Text = "1982-11-23"; - this.tbDate.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // textBox2 - // - this.textBox2.Location = new System.Drawing.Point(198, 98); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(100, 21); - this.textBox2.TabIndex = 9; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(216, 79); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(63, 12); - this.label4.TabIndex = 8; - this.label4.Text = "발생(시간)"; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(15, 101); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(53, 12); - this.label5.TabIndex = 8; - this.label5.Text = "업무일지"; - // - // textBox3 - // - this.textBox3.Location = new System.Drawing.Point(85, 47); - this.textBox3.Name = "textBox3"; - this.textBox3.Size = new System.Drawing.Size(100, 21); - this.textBox3.TabIndex = 11; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(103, 28); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(51, 12); - this.label6.TabIndex = 10; - this.label6.Text = "사용(일)"; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(15, 51); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(53, 12); - this.label7.TabIndex = 8; - this.label7.Text = "휴가신청"; - // - // textBox4 - // - this.textBox4.Location = new System.Drawing.Point(198, 48); - this.textBox4.Name = "textBox4"; - this.textBox4.Size = new System.Drawing.Size(100, 21); - this.textBox4.TabIndex = 13; - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(216, 29); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(63, 12); - this.label8.TabIndex = 12; - this.label8.Text = "사용(시간)"; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.textBox4); - this.groupBox1.Controls.Add(this.label4); - this.groupBox1.Controls.Add(this.label8); - this.groupBox1.Controls.Add(this.label5); - this.groupBox1.Controls.Add(this.textBox3); - this.groupBox1.Controls.Add(this.label7); - this.groupBox1.Controls.Add(this.label6); - this.groupBox1.Controls.Add(this.textBox2); - this.groupBox1.Location = new System.Drawing.Point(22, 161); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(314, 134); - this.groupBox1.TabIndex = 14; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "입력값(업무일지/휴가신청)"; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.textBox7); - this.groupBox2.Controls.Add(this.label3); - this.groupBox2.Controls.Add(this.textBox8); - this.groupBox2.Controls.Add(this.label10); - this.groupBox2.Controls.Add(this.textBox5); - this.groupBox2.Controls.Add(this.label9); - this.groupBox2.Controls.Add(this.textBox6); - this.groupBox2.Controls.Add(this.label11); - this.groupBox2.Controls.Add(this.label12); - this.groupBox2.Location = new System.Drawing.Point(347, 161); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(314, 134); - this.groupBox2.TabIndex = 14; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "자동생성값(근태입력)"; - // - // textBox5 - // - this.textBox5.Location = new System.Drawing.Point(199, 48); - this.textBox5.Name = "textBox5"; - this.textBox5.Size = new System.Drawing.Size(100, 21); - this.textBox5.TabIndex = 13; - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(217, 29); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(63, 12); - this.label9.TabIndex = 12; - this.label9.Text = "사용(시간)"; - // - // textBox6 - // - this.textBox6.Location = new System.Drawing.Point(86, 47); - this.textBox6.Name = "textBox6"; - this.textBox6.Size = new System.Drawing.Size(100, 21); - this.textBox6.TabIndex = 11; - // - // label11 - // - this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(19, 51); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(53, 12); - this.label11.TabIndex = 8; - this.label11.Text = "근태입력"; - // - // label12 - // - this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(104, 28); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(51, 12); - this.label12.TabIndex = 10; - this.label12.Text = "사용(일)"; - // - // textBox7 - // - this.textBox7.Location = new System.Drawing.Point(199, 99); - this.textBox7.Name = "textBox7"; - this.textBox7.Size = new System.Drawing.Size(100, 21); - this.textBox7.TabIndex = 17; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(217, 80); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(63, 12); - this.label3.TabIndex = 16; - this.label3.Text = "발생(시간)"; - // - // textBox8 - // - this.textBox8.Location = new System.Drawing.Point(86, 98); - this.textBox8.Name = "textBox8"; - this.textBox8.Size = new System.Drawing.Size(100, 21); - this.textBox8.TabIndex = 15; - // - // label10 - // - this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(104, 79); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(51, 12); - this.label10.TabIndex = 14; - this.label10.Text = "발생(일)"; - // - // listView1 - // - this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.btChk = new System.Windows.Forms.Button(); + this.btCorr = new System.Windows.Forms.Button(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.tbDate = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.textBox4 = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.textBox7 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox8 = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox5 = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox6 = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.lvNG = new System.Windows.Forms.ListView(); + this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel4 = new System.Windows.Forms.Panel(); + this.panel5 = new System.Windows.Forms.Panel(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.dtSD = new System.Windows.Forms.DateTimePicker(); + this.dtED = new System.Windows.Forms.DateTimePicker(); + this.lvOK = new System.Windows.Forms.ListView(); + this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader9 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader10 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader11 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader12 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.SuspendLayout(); + // + // btChk + // + this.btChk.Dock = System.Windows.Forms.DockStyle.Top; + this.btChk.Font = new System.Drawing.Font("맑은 고딕", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.btChk.Location = new System.Drawing.Point(5, 5); + this.btChk.Name = "btChk"; + this.btChk.Size = new System.Drawing.Size(734, 82); + this.btChk.TabIndex = 5; + this.btChk.Text = "검사"; + this.btChk.UseVisualStyleBackColor = true; + this.btChk.Click += new System.EventHandler(this.button1_Click); + // + // btCorr + // + this.btCorr.Dock = System.Windows.Forms.DockStyle.Bottom; + this.btCorr.Location = new System.Drawing.Point(5, 879); + this.btCorr.Name = "btCorr"; + this.btCorr.Size = new System.Drawing.Size(734, 54); + this.btCorr.TabIndex = 6; + this.btCorr.Text = "오류 수정"; + this.btCorr.UseVisualStyleBackColor = true; + this.btCorr.Click += new System.EventHandler(this.button2_Click); + // + // progressBar1 + // + this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.progressBar1.Location = new System.Drawing.Point(5, 861); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(734, 18); + this.progressBar1.TabIndex = 7; + // + // tbDate + // + this.tbDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.tbDate.Dock = System.Windows.Forms.DockStyle.Top; + this.tbDate.Font = new System.Drawing.Font("맑은 고딕", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbDate.ForeColor = System.Drawing.Color.Lime; + this.tbDate.Location = new System.Drawing.Point(5, 156); + this.tbDate.Name = "tbDate"; + this.tbDate.Size = new System.Drawing.Size(734, 93); + this.tbDate.TabIndex = 9; + this.tbDate.Text = "1982-11-23"; + this.tbDate.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(198, 98); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(100, 21); + this.textBox2.TabIndex = 9; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(216, 79); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(63, 12); + this.label4.TabIndex = 8; + this.label4.Text = "발생(시간)"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(15, 101); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(53, 12); + this.label5.TabIndex = 8; + this.label5.Text = "업무일지"; + // + // textBox3 + // + this.textBox3.Location = new System.Drawing.Point(85, 47); + this.textBox3.Name = "textBox3"; + this.textBox3.Size = new System.Drawing.Size(100, 21); + this.textBox3.TabIndex = 11; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(103, 28); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(51, 12); + this.label6.TabIndex = 10; + this.label6.Text = "사용(일)"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(15, 51); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(53, 12); + this.label7.TabIndex = 8; + this.label7.Text = "휴가신청"; + // + // textBox4 + // + this.textBox4.Location = new System.Drawing.Point(198, 48); + this.textBox4.Name = "textBox4"; + this.textBox4.Size = new System.Drawing.Size(100, 21); + this.textBox4.TabIndex = 13; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(216, 29); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(63, 12); + this.label8.TabIndex = 12; + this.label8.Text = "사용(시간)"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textBox4); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Controls.Add(this.textBox3); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.textBox2); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Left; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(314, 130); + this.groupBox1.TabIndex = 14; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "입력값(업무일지/휴가신청)"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.textBox7); + this.groupBox2.Controls.Add(this.label3); + this.groupBox2.Controls.Add(this.textBox8); + this.groupBox2.Controls.Add(this.label10); + this.groupBox2.Controls.Add(this.textBox5); + this.groupBox2.Controls.Add(this.label9); + this.groupBox2.Controls.Add(this.textBox6); + this.groupBox2.Controls.Add(this.label11); + this.groupBox2.Controls.Add(this.label12); + this.groupBox2.Dock = System.Windows.Forms.DockStyle.Right; + this.groupBox2.Location = new System.Drawing.Point(420, 0); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(314, 130); + this.groupBox2.TabIndex = 14; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "자동생성값(근태입력)"; + // + // textBox7 + // + this.textBox7.Location = new System.Drawing.Point(199, 99); + this.textBox7.Name = "textBox7"; + this.textBox7.Size = new System.Drawing.Size(100, 21); + this.textBox7.TabIndex = 17; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(217, 80); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(63, 12); + this.label3.TabIndex = 16; + this.label3.Text = "발생(시간)"; + // + // textBox8 + // + this.textBox8.Location = new System.Drawing.Point(86, 98); + this.textBox8.Name = "textBox8"; + this.textBox8.Size = new System.Drawing.Size(100, 21); + this.textBox8.TabIndex = 15; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(104, 79); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(51, 12); + this.label10.TabIndex = 14; + this.label10.Text = "발생(일)"; + // + // textBox5 + // + this.textBox5.Location = new System.Drawing.Point(199, 48); + this.textBox5.Name = "textBox5"; + this.textBox5.Size = new System.Drawing.Size(100, 21); + this.textBox5.TabIndex = 13; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(217, 29); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(63, 12); + this.label9.TabIndex = 12; + this.label9.Text = "사용(시간)"; + // + // textBox6 + // + this.textBox6.Location = new System.Drawing.Point(86, 47); + this.textBox6.Name = "textBox6"; + this.textBox6.Size = new System.Drawing.Size(100, 21); + this.textBox6.TabIndex = 11; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(19, 51); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(53, 12); + this.label11.TabIndex = 8; + this.label11.Text = "근태입력"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(104, 28); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(51, 12); + this.label12.TabIndex = 10; + this.label12.Text = "사용(일)"; + // + // lvNG + // + this.lvNG.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1, this.columnHeader6, this.columnHeader2, this.columnHeader3, this.columnHeader4, this.columnHeader5}); - this.listView1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.listView1.HideSelection = false; - this.listView1.Location = new System.Drawing.Point(5, 306); - this.listView1.Name = "listView1"; - this.listView1.Size = new System.Drawing.Size(671, 242); - this.listView1.TabIndex = 15; - this.listView1.UseCompatibleStateImageBehavior = false; - this.listView1.View = System.Windows.Forms.View.Details; - this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); - // - // columnHeader1 - // - this.columnHeader1.Text = "일자"; - this.columnHeader1.Width = 100; - // - // columnHeader2 - // - this.columnHeader2.Text = "발생(일)"; - this.columnHeader2.Width = 110; - // - // columnHeader3 - // - this.columnHeader3.Text = "발생(시간)"; - this.columnHeader3.Width = 110; - // - // columnHeader4 - // - this.columnHeader4.Text = "사용(일)"; - this.columnHeader4.Width = 110; - // - // columnHeader5 - // - this.columnHeader5.Text = "사용(시간)"; - this.columnHeader5.Width = 110; - // - // columnHeader6 - // - this.columnHeader6.Text = "구분"; - this.columnHeader6.Width = 100; - // - // fErrorChk - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(681, 625); - this.Controls.Add(this.listView1); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); - this.Controls.Add(this.tbDate); - this.Controls.Add(this.progressBar1); - this.Controls.Add(this.btCorr); - this.Controls.Add(this.btChk); - this.Controls.Add(this.dtED); - this.Controls.Add(this.label2); - this.Controls.Add(this.dtSD); - this.Controls.Add(this.label1); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "fErrorChk"; - this.Padding = new System.Windows.Forms.Padding(5); - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "근태 자료 오류 확인"; - this.Load += new System.EventHandler(this.fErrorChk_Load); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + this.lvNG.Dock = System.Windows.Forms.DockStyle.Fill; + this.lvNG.HideSelection = false; + this.lvNG.Location = new System.Drawing.Point(3, 17); + this.lvNG.Name = "lvNG"; + this.lvNG.Size = new System.Drawing.Size(728, 278); + this.lvNG.TabIndex = 15; + this.lvNG.UseCompatibleStateImageBehavior = false; + this.lvNG.View = System.Windows.Forms.View.Details; + this.lvNG.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); + // + // columnHeader1 + // + this.columnHeader1.Text = "일자"; + this.columnHeader1.Width = 100; + // + // columnHeader6 + // + this.columnHeader6.Text = "구분"; + this.columnHeader6.Width = 100; + // + // columnHeader2 + // + this.columnHeader2.Text = "발생(일)"; + this.columnHeader2.Width = 110; + // + // columnHeader3 + // + this.columnHeader3.Text = "발생(시간)"; + this.columnHeader3.Width = 110; + // + // columnHeader4 + // + this.columnHeader4.Text = "사용(일)"; + this.columnHeader4.Width = 110; + // + // columnHeader5 + // + this.columnHeader5.Text = "사용(시간)"; + this.columnHeader5.Width = 110; + // + // panel1 + // + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(5, 389); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(734, 10); + this.panel1.TabIndex = 16; + // + // panel2 + // + this.panel2.Controls.Add(this.groupBox2); + this.panel2.Controls.Add(this.groupBox1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Top; + this.panel2.Location = new System.Drawing.Point(5, 259); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(734, 130); + this.panel2.TabIndex = 17; + // + // panel3 + // + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(5, 249); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(734, 10); + this.panel3.TabIndex = 18; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.dtED); + this.groupBox3.Controls.Add(this.dtSD); + this.groupBox3.Controls.Add(this.button3); + this.groupBox3.Controls.Add(this.button2); + this.groupBox3.Controls.Add(this.button1); + this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top; + this.groupBox3.Location = new System.Drawing.Point(5, 97); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(734, 49); + this.groupBox3.TabIndex = 20; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "검사기간"; + // + // panel4 + // + this.panel4.Dock = System.Windows.Forms.DockStyle.Top; + this.panel4.Location = new System.Drawing.Point(5, 146); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(734, 10); + this.panel4.TabIndex = 21; + // + // panel5 + // + this.panel5.Dock = System.Windows.Forms.DockStyle.Top; + this.panel5.Location = new System.Drawing.Point(5, 87); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(734, 10); + this.panel5.TabIndex = 22; + // + // button1 + // + this.button1.Dock = System.Windows.Forms.DockStyle.Right; + this.button1.Location = new System.Drawing.Point(631, 17); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(100, 29); + this.button1.TabIndex = 4; + this.button1.Text = "다음달 >>"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click_1); + // + // button2 + // + this.button2.Dock = System.Windows.Forms.DockStyle.Right; + this.button2.Location = new System.Drawing.Point(531, 17); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(100, 29); + this.button2.TabIndex = 5; + this.button2.Text = "이번달"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click_1); + // + // button3 + // + this.button3.Dock = System.Windows.Forms.DockStyle.Right; + this.button3.Location = new System.Drawing.Point(431, 17); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(100, 29); + this.button3.TabIndex = 6; + this.button3.Text = "<< 이전달"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // dtSD + // + this.dtSD.Location = new System.Drawing.Point(17, 20); + this.dtSD.Name = "dtSD"; + this.dtSD.Size = new System.Drawing.Size(200, 21); + this.dtSD.TabIndex = 7; + // + // dtED + // + this.dtED.Location = new System.Drawing.Point(223, 20); + this.dtED.Name = "dtED"; + this.dtED.Size = new System.Drawing.Size(200, 21); + this.dtED.TabIndex = 8; + // + // lvOK + // + this.lvOK.BackColor = System.Drawing.Color.Silver; + this.lvOK.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader7, + this.columnHeader8, + this.columnHeader9, + this.columnHeader10, + this.columnHeader11, + this.columnHeader12}); + this.lvOK.Dock = System.Windows.Forms.DockStyle.Fill; + this.lvOK.HideSelection = false; + this.lvOK.Location = new System.Drawing.Point(3, 17); + this.lvOK.Name = "lvOK"; + this.lvOK.Size = new System.Drawing.Size(728, 144); + this.lvOK.TabIndex = 23; + this.lvOK.UseCompatibleStateImageBehavior = false; + this.lvOK.View = System.Windows.Forms.View.Details; + // + // columnHeader7 + // + this.columnHeader7.Text = "일자"; + this.columnHeader7.Width = 100; + // + // columnHeader8 + // + this.columnHeader8.Text = "구분"; + this.columnHeader8.Width = 100; + // + // columnHeader9 + // + this.columnHeader9.Text = "발생(일)"; + this.columnHeader9.Width = 110; + // + // columnHeader10 + // + this.columnHeader10.Text = "발생(시간)"; + this.columnHeader10.Width = 110; + // + // columnHeader11 + // + this.columnHeader11.Text = "사용(일)"; + this.columnHeader11.Width = 110; + // + // columnHeader12 + // + this.columnHeader12.Text = "사용(시간)"; + this.columnHeader12.Width = 110; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.lvOK); + this.groupBox4.Dock = System.Windows.Forms.DockStyle.Top; + this.groupBox4.Location = new System.Drawing.Point(5, 399); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(734, 164); + this.groupBox4.TabIndex = 24; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "정상"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.lvNG); + this.groupBox5.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox5.Location = new System.Drawing.Point(5, 563); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(734, 298); + this.groupBox5.TabIndex = 25; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "불량 (불일치 데이터가 있는 날짜 입니다)"; + // + // fErrorChk + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(744, 938); + this.Controls.Add(this.groupBox5); + this.Controls.Add(this.groupBox4); + this.Controls.Add(this.panel1); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel3); + this.Controls.Add(this.tbDate); + this.Controls.Add(this.panel4); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.panel5); + this.Controls.Add(this.btChk); + this.Controls.Add(this.progressBar1); + this.Controls.Add(this.btCorr); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fErrorChk"; + this.Padding = new System.Windows.Forms.Padding(5); + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "근태 자료 오류 확인"; + this.Load += new System.EventHandler(this.fErrorChk_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.panel2.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox5.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); } #endregion - - private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox dtSD; - private System.Windows.Forms.TextBox dtED; - private System.Windows.Forms.Label label2; private System.Windows.Forms.Button btChk; private System.Windows.Forms.Button btCorr; private System.Windows.Forms.ProgressBar progressBar1; @@ -424,12 +592,32 @@ namespace FBS0000.Holiday private System.Windows.Forms.Label label3; private System.Windows.Forms.TextBox textBox8; private System.Windows.Forms.Label label10; - private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ListView lvNG; private System.Windows.Forms.ColumnHeader columnHeader1; private System.Windows.Forms.ColumnHeader columnHeader6; private System.Windows.Forms.ColumnHeader columnHeader2; private System.Windows.Forms.ColumnHeader columnHeader3; private System.Windows.Forms.ColumnHeader columnHeader4; private System.Windows.Forms.ColumnHeader columnHeader5; - } + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.DateTimePicker dtED; + private System.Windows.Forms.DateTimePicker dtSD; + private System.Windows.Forms.ListView lvOK; + private System.Windows.Forms.ColumnHeader columnHeader7; + private System.Windows.Forms.ColumnHeader columnHeader8; + private System.Windows.Forms.ColumnHeader columnHeader9; + private System.Windows.Forms.ColumnHeader columnHeader10; + private System.Windows.Forms.ColumnHeader columnHeader11; + private System.Windows.Forms.ColumnHeader columnHeader12; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.GroupBox groupBox5; + } } \ No newline at end of file diff --git a/SubProject/FBS0000/Holiday/fErrorChk.cs b/SubProject/FBS0000/Holiday/fErrorChk.cs index 3cb25d9..b878abe 100644 --- a/SubProject/FBS0000/Holiday/fErrorChk.cs +++ b/SubProject/FBS0000/Holiday/fErrorChk.cs @@ -10,253 +10,284 @@ using System.Windows.Forms; namespace FBS0000.Holiday { - public partial class fErrorChk : Form - { - public fErrorChk() - { - InitializeComponent(); + public partial class fErrorChk : Form + { + public fErrorChk() + { + InitializeComponent(); - dtSD.KeyDown += dtSD_KeyDown; - dtED.KeyDown += dtSD_KeyDown; - } - private void fErrorChk_Load(object sender, EventArgs e) - { - dtSD.Text = DateTime.Now.ToString("yyyy-MM") + "-01"; - dtED.Text = DateTime.Now.ToShortDateString(); - } + //dtSD.KeyDown += dtSD_KeyDown; + //dtED.KeyDown += dtSD_KeyDown; + } + private void fErrorChk_Load(object sender, EventArgs e) + { + //기본 이번달 설정한다 + button2.PerformClick(); + } - void dtSD_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode != Keys.Enter) return; - var tb = sender as TextBox; - var input = tb.Text.Trim(); - if (input == "") tb.Text = DateTime.Now.ToShortDateString(); - else - { - string dt = string.Empty; - if (!FCOMMON.Util.MakeDateString(input, out dt)) - { - FCOMMON.Util.MsgE("입력값이 올바르지 않습니다."); - tb.SelectAll(); - tb.Focus(); - return; - } - else - { - tb.Text = dt; - } - } - if (tb == dtSD) - { - dtED.Focus(); - dtED.SelectAll(); - } - else - { - // btSearch.PerformClick(); - tb.SelectAll(); - } - } + //void dtSD_KeyDown(object sender, KeyEventArgs e) + //{ + // if (e.KeyCode != Keys.Enter) return; + // var tb = sender as TextBox; + // var input = tb.Text.Trim(); + // if (input == "") tb.Text = DateTime.Now.ToShortDateString(); + // else + // { + // string dt = string.Empty; + // if (!FCOMMON.Util.MakeDateString(input, out dt)) + // { + // FCOMMON.Util.MsgE("입력값이 올바르지 않습니다."); + // tb.SelectAll(); + // tb.Focus(); + // return; + // } + // else + // { + // tb.Text = dt; + // } + // } + // if (tb == dtSD) + // { + // dtED.Focus(); + // dtED.SelectAll(); + // } + // else + // { + // // btSearch.PerformClick(); + // tb.SelectAll(); + // } + //} - private void listView1_SelectedIndexChanged(object sender, EventArgs e) - { + private void listView1_SelectedIndexChanged(object sender, EventArgs e) + { - } - private void button1_Click(object sender, EventArgs e) - { - //검사버튼 - this.listView1.CheckBoxes = true; - var sd = DateTime.Parse(dtSD.Text); - var ed = DateTime.Parse(dtED.Text); - var idx = 0; + } + private void button1_Click(object sender, EventArgs e) + { + //검사버튼 + this.lvNG.CheckBoxes = true; + var sd = DateTime.Parse(dtSD.Text); + var ed = DateTime.Parse(dtED.Text); + var idx = 0; - var gcode = FCOMMON.info.Login.gcode; - var id = FCOMMON.info.Login.no; + var gcode = FCOMMON.info.Login.gcode; + var id = FCOMMON.info.Login.no; - var cn = FCOMMON.DBM.getCn(); - cn.Open(); - var cmd = new System.Data.SqlClient.SqlCommand("", cn); - cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = gcode; - cmd.Parameters.Add("uid", SqlDbType.VarChar).Value = id; + var cn = FCOMMON.DBM.getCn(); + cn.Open(); + var cmd = new System.Data.SqlClient.SqlCommand("", cn); + cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = gcode; + cmd.Parameters.Add("uid", SqlDbType.VarChar).Value = id; - listView1.Items.Clear(); - listView1.FullRowSelect = true; - while (true) - { - var CD = sd.AddDays(idx++); - if (CD > ed) break; - var pdate = CD.ToShortDateString(); - tbDate.Text = pdate; - Application.DoEvents(); + lvOK.Items.Clear(); + lvOK.FullRowSelect = true; + lvOK.CheckBoxes = false; - //이날짜의 업무일지 발생데이터를 확인 - cmd.CommandText = "select sum(isnull(ot2,0)) from jobreport where gcode = @gcode and pdate='{0}' and isnull(ot,0) >0 and isnull(ot2,0) > 0"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); + lvNG.Items.Clear(); + lvNG.FullRowSelect = true; + lvNG.CheckBoxes = true; + + while (true) + { + var CD = sd.AddDays(idx++); + if (CD > ed) break; + var pdate = CD.ToShortDateString(); + tbDate.Text = pdate; + Application.DoEvents(); + + //이날짜의 업무일지 발생데이터를 확인 + cmd.CommandText = "select sum(isnull(ot2,0)) from jobreport where gcode = @gcode and pdate='{0}' and isnull(ot,0) >0 and isnull(ot2,0) > 0"; + cmd.CommandText = string.Format(cmd.CommandText, pdate); - var obj_jobreport = cmd.ExecuteScalar().ToString(); - double val_jobreport = 0.0; - if (string.IsNullOrEmpty(obj_jobreport) == false) val_jobreport = double.Parse(obj_jobreport); - textBox2.Tag = val_jobreport;// db_jobreport.Sum(t => t.kisulamt); - textBox2.Text = textBox2.Tag.ToString(); + var obj_jobreport = cmd.ExecuteScalar().ToString(); + double val_jobreport = 0.0; + if (string.IsNullOrEmpty(obj_jobreport) == false) val_jobreport = double.Parse(obj_jobreport); + textBox2.Tag = val_jobreport;// db_jobreport.Sum(t => t.kisulamt); + textBox2.Text = textBox2.Tag.ToString(); - //휴가신청확인 - cmd.CommandText = "select sum(HolyDays),sum(HolyTimes) from EETGW_HolydayRequest where gcode = @gcode and sdate = '{0}' and isnull(conf,0) = 1"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - var dar = cmd.ExecuteReader(); - double val_day = 0; - double val_time = 0; - while (dar.Read()) - { - var str_day = dar[0].ToString(); - var str_time = dar[1].ToString(); - if (string.IsNullOrEmpty(str_day) == false) val_day = double.Parse(str_day); - if (string.IsNullOrEmpty(str_time) == false) val_time = double.Parse(str_time); - } - textBox3.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt); - textBox3.Text = textBox3.Tag.ToString(); - textBox4.Tag = val_time;// db_jobreport.Sum(t => t.kisulamt); - textBox4.Text = textBox4.Tag.ToString(); - dar.Close(); + //휴가신청확인 + cmd.CommandText = "select sum(HolyDays),sum(HolyTimes) from EETGW_HolydayRequest where gcode = @gcode and sdate = '{0}' and isnull(conf,0) = 1"; + cmd.CommandText = string.Format(cmd.CommandText, pdate); + var dar = cmd.ExecuteReader(); + double val_day = 0; + double val_time = 0; + while (dar.Read()) + { + var str_day = dar[0].ToString(); + var str_time = dar[1].ToString(); + if (string.IsNullOrEmpty(str_day) == false) val_day = double.Parse(str_day); + if (string.IsNullOrEmpty(str_time) == false) val_time = double.Parse(str_time); + } + textBox3.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt); + textBox3.Text = textBox3.Tag.ToString(); + textBox4.Tag = val_time;// db_jobreport.Sum(t => t.kisulamt); + textBox4.Text = textBox4.Tag.ToString(); + dar.Close(); - //근태입력자료확인 - cmd.CommandText = "select sum(term) ,sum(crtime),sum(termdr),sum(drtime)" + - " from Holyday " + - " where gcode = @gcode and sdate = '{0}' and isnull(extidx,-1) <> -1"; + //근태입력자료확인 + cmd.CommandText = "select sum(term) ,sum(crtime),sum(termdr),sum(drtime)" + + " from Holyday " + + " where gcode = @gcode and sdate = '{0}' and isnull(extidx,-1) <> -1"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - dar = cmd.ExecuteReader(); - val_day = 0; - val_time = 0; - double val_day_dr = 0; - double val_time_dr = 0; - while (dar.Read()) - { - var str_day_cr = dar[0].ToString(); - var str_time_cr = dar[1].ToString(); - var str_day_dr = dar[2].ToString(); - var str_time_dr = dar[3].ToString(); + cmd.CommandText = string.Format(cmd.CommandText, pdate); + dar = cmd.ExecuteReader(); + val_day = 0; + val_time = 0; + double val_day_dr = 0; + double val_time_dr = 0; + while (dar.Read()) + { + var str_day_cr = dar[0].ToString(); + var str_time_cr = dar[1].ToString(); + var str_day_dr = dar[2].ToString(); + var str_time_dr = dar[3].ToString(); - if (string.IsNullOrEmpty(str_day_cr) == false) val_day = double.Parse(str_day_cr); - if (string.IsNullOrEmpty(str_time_cr) == false) val_time = double.Parse(str_time_cr); + if (string.IsNullOrEmpty(str_day_cr) == false) val_day = double.Parse(str_day_cr); + if (string.IsNullOrEmpty(str_time_cr) == false) val_time = double.Parse(str_time_cr); - if (string.IsNullOrEmpty(str_day_dr) == false) val_day_dr = double.Parse(str_day_dr); - if (string.IsNullOrEmpty(str_time_dr) == false) val_time_dr = double.Parse(str_time_dr); - } - dar.Close(); - textBox6.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt); - textBox6.Text = textBox6.Tag.ToString(); - textBox5.Tag = val_time;// db_jobreport.Sum(t => t.kisulamt); - textBox5.Text = textBox5.Tag.ToString(); + if (string.IsNullOrEmpty(str_day_dr) == false) val_day_dr = double.Parse(str_day_dr); + if (string.IsNullOrEmpty(str_time_dr) == false) val_time_dr = double.Parse(str_time_dr); + } + dar.Close(); + textBox6.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt); + textBox6.Text = textBox6.Tag.ToString(); + textBox5.Tag = val_time;// db_jobreport.Sum(t => t.kisulamt); + textBox5.Text = textBox5.Tag.ToString(); - textBox8.Tag = val_day_dr;// db_jobreport.Sum(t => t.kisulamt); - textBox8.Text = textBox8.Tag.ToString(); - textBox7.Tag = val_time_dr;// db_jobreport.Sum(t => t.kisulamt); - textBox7.Text = textBox7.Tag.ToString(); - - var lv = this.listView1.Items.Add(pdate); - lv.SubItems.Add("입력/생성"); - lv.SubItems.Add($"--/{textBox8.Text}"); - lv.SubItems.Add($"{textBox2.Text}/{textBox7.Text}"); - lv.SubItems.Add($"{textBox3.Text}/{textBox6.Text}"); - lv.SubItems.Add($"{textBox4.Text}/{textBox5.Text}"); - - if (textBox2.Text.Equals(textBox7.Text) == false) lv.ForeColor = Color.Tomato; - if (textBox3.Text.Equals(textBox6.Text) == false) lv.ForeColor = Color.Tomato; - if (textBox4.Text.Equals(textBox5.Text) == false) lv.ForeColor = Color.Tomato; - - if (lv.ForeColor == Color.Tomato) lv.Checked = true; - - //if (val_jobreport > 0) break; - } - cn.Dispose(); - - } - - private void button2_Click(object sender, EventArgs e) - { - //오류수정버튼 - - if (listView1.CheckedItems.Count < 1) - { - FCOMMON.Util.MsgE("정정할 자료가 선택되지 않았습니다"); - return; - } - - if (FCOMMON.Util.MsgQ("재 생성 할까요?") != DialogResult.Yes) return; + textBox8.Tag = val_day_dr;// db_jobreport.Sum(t => t.kisulamt); + textBox8.Text = textBox8.Tag.ToString(); + textBox7.Tag = val_time_dr;// db_jobreport.Sum(t => t.kisulamt); + textBox7.Text = textBox7.Tag.ToString(); - //검사버튼 - var sd = DateTime.Parse(dtSD.Text); - var ed = DateTime.Parse(dtED.Text); - // var idx = 0; - - var gcode = FCOMMON.info.Login.gcode; - var id = FCOMMON.info.Login.no; - - var cn = FCOMMON.DBM.getCn(); - cn.Open(); - var cmd = new System.Data.SqlClient.SqlCommand("", cn); - cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = gcode; - cmd.Parameters.Add("uid", SqlDbType.VarChar).Value = id; - cmd.Parameters.Add("pdate", SqlDbType.VarChar).Value = "1982-11-23"; - - - listView1.FullRowSelect = true; - foreach (ListViewItem lv in listView1.CheckedItems) - { - var CD = DateTime.Parse(lv.SubItems[0].Text); - - //if (CD > ed) break; - var pdate = CD.ToShortDateString(); - cmd.Parameters["pdate"].Value = pdate; - tbDate.Text = pdate; - Application.DoEvents(); + bool dataError = false; + if (textBox2.Text.Equals(textBox7.Text) == false) dataError = true; + if (textBox3.Text.Equals(textBox6.Text) == false) dataError = true; + if (textBox4.Text.Equals(textBox5.Text) == false) dataError = true; - if (FCOMMON.Util.MsgQ(pdate + "를 재생성 할까요?") != DialogResult.Yes) break; + ListViewItem lv = dataError ? this.lvNG.Items.Add(pdate) : this.lvOK.Items.Add(pdate); + lv.SubItems.Add("입력/생성"); + lv.SubItems.Add($"--/{textBox8.Text}"); + lv.SubItems.Add($"{textBox2.Text}/{textBox7.Text}"); + lv.SubItems.Add($"{textBox3.Text}/{textBox6.Text}"); + lv.SubItems.Add($"{textBox4.Text}/{textBox5.Text}"); - //근태-업무일지자료삭제 - cmd.CommandText = "delete from Holyday where gcode = @gcode and extcate = 'HO' and sdate=@pdate and isnull(extidx,-1) <> -1"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - var cnt1 = cmd.ExecuteNonQuery(); - Console.WriteLine($"{cnt1}건의 근태자료가 삭제 되었습니다"); + if (dataError) + { + lv.ForeColor = Color.Tomato; + lv.Checked = true; + } + else lv.ForeColor = Color.Black; - //근태-업무일지자료생성 - cmd.CommandText = "insert into Holyday(gcode, cate, sdate, edate, term, crtime, termdr, DrTime, contents, [uid], wdate, wuid, extcate, extidx) "; - cmd.CommandText += "select gcode,'대체',pdate,pdate,0,0,0,isnull(ot2,0),projectname,uid,GETDATE(),@uid + '-ERR','HO',idx from jobreport where gcode = @gcode and pdate = @pdate and isnull(ot2,0) > 0 and isnull(ot,0) > 0"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - var cnt2 = cmd.ExecuteNonQuery(); - Console.WriteLine($"{cnt2}건의 근태자료가 생성 되었습니다"); + //if (val_jobreport > 0) break; + } + cn.Dispose(); + + } + + private void button2_Click(object sender, EventArgs e) + { + //오류수정버튼 + + if (lvNG.CheckedItems.Count < 1) + { + FCOMMON.Util.MsgE("정정할 자료가 선택되지 않았습니다"); + return; + } + + if (FCOMMON.Util.MsgQ("재 생성 할까요?") != DialogResult.Yes) return; + + + //검사버튼 + var sd = DateTime.Parse(dtSD.Text); + var ed = DateTime.Parse(dtED.Text); + // var idx = 0; + + var gcode = FCOMMON.info.Login.gcode; + var id = FCOMMON.info.Login.no; + + var cn = FCOMMON.DBM.getCn(); + cn.Open(); + var cmd = new System.Data.SqlClient.SqlCommand("", cn); + cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = gcode; + cmd.Parameters.Add("uid", SqlDbType.VarChar).Value = id; + cmd.Parameters.Add("pdate", SqlDbType.VarChar).Value = "1982-11-23"; + + + lvNG.FullRowSelect = true; + foreach (ListViewItem lv in lvNG.CheckedItems) + { + var CD = DateTime.Parse(lv.SubItems[0].Text); + + //if (CD > ed) break; + var pdate = CD.ToShortDateString(); + cmd.Parameters["pdate"].Value = pdate; + tbDate.Text = pdate; + Application.DoEvents(); + + + if (FCOMMON.Util.MsgQ(pdate + "를 재생성 할까요?") != DialogResult.Yes) break; + + //근태-업무일지자료삭제 + cmd.CommandText = "delete from Holyday where gcode = @gcode and extcate = 'HO' and sdate=@pdate and isnull(extidx,-1) <> -1"; + cmd.CommandText = string.Format(cmd.CommandText, pdate); + var cnt1 = cmd.ExecuteNonQuery(); + Console.WriteLine($"{cnt1}건의 근태자료가 삭제 되었습니다"); + + //근태-업무일지자료생성 + cmd.CommandText = "insert into Holyday(gcode, cate, sdate, edate, term, crtime, termdr, DrTime, contents, [uid], wdate, wuid, extcate, extidx) "; + cmd.CommandText += "select gcode,'대체',pdate,pdate,0,0,0,isnull(ot2,0),projectname,uid,GETDATE(),@uid + '-ERR','HO',idx from jobreport where gcode = @gcode and pdate = @pdate and isnull(ot2,0) > 0 and isnull(ot,0) > 0"; + cmd.CommandText = string.Format(cmd.CommandText, pdate); + var cnt2 = cmd.ExecuteNonQuery(); + Console.WriteLine($"{cnt2}건의 근태자료가 생성 되었습니다"); - //근태-휴가신청자료삭제 - cmd.CommandText = "delete from Holyday where gcode = @gcode and extcate = '휴가' and sdate=@pdate and isnull(extidx,-1) <> -1"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - cnt1 = cmd.ExecuteNonQuery(); - Console.WriteLine($"{cnt1}건의 근태자료가 삭제 되었습니다"); + //근태-휴가신청자료삭제 + cmd.CommandText = "delete from Holyday where gcode = @gcode and extcate = '휴가' and sdate=@pdate and isnull(extidx,-1) <> -1"; + cmd.CommandText = string.Format(cmd.CommandText, pdate); + cnt1 = cmd.ExecuteNonQuery(); + Console.WriteLine($"{cnt1}건의 근태자료가 삭제 되었습니다"); - //근태-휴가신청자료생성(승인완료된자료대상) - cmd.CommandText = "insert into Holyday(gcode, cate, sdate, edate, term, crtime, termdr, DrTime, contents, [uid], wdate, wuid, extcate, extidx) "; - cmd.CommandText += "select gcode,cate,sdate,edate,isnull(holydays,0),isnull(holytimes,0),0,0,HolyReason,uid,GETDATE(),@uid + '-ERR','휴가',idx " + - " from EETGW_HolydayRequest " + - " where gcode = @gcode and sdate = @pdate and isnull(conf,0) = 1"; + //근태-휴가신청자료생성(승인완료된자료대상) + cmd.CommandText = "insert into Holyday(gcode, cate, sdate, edate, term, crtime, termdr, DrTime, contents, [uid], wdate, wuid, extcate, extidx) "; + cmd.CommandText += "select gcode,cate,sdate,edate,isnull(holydays,0),isnull(holytimes,0),0,0,HolyReason,uid,GETDATE(),@uid + '-ERR','휴가',idx " + + " from EETGW_HolydayRequest " + + " where gcode = @gcode and sdate = @pdate and isnull(conf,0) = 1"; - cmd.CommandText = string.Format(cmd.CommandText, pdate); - cnt2 = cmd.ExecuteNonQuery(); - Console.WriteLine($"{cnt2}건의 근태자료가 생성 되었습니다"); + cmd.CommandText = string.Format(cmd.CommandText, pdate); + cnt2 = cmd.ExecuteNonQuery(); + Console.WriteLine($"{cnt2}건의 근태자료가 생성 되었습니다"); - } - cn.Dispose(); + } + cn.Dispose(); - } + } + private void button2_Click_1(object sender, EventArgs e) + { + dtSD.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01"); + dtED.Value = dtSD.Value.AddMonths(1).AddDays(-1); + } + private void button3_Click(object sender, EventArgs e) + { + var 시작달 = DateTime.Parse(dtSD.Value.ToString("yyyy-MM") + "-01"); + dtSD.Value = 시작달.AddMonths(-1); + dtED.Value = dtSD.Value.AddMonths(1).AddDays(-1); + } - } + private void button1_Click_1(object sender, EventArgs e) + { + var 다음달 = DateTime.Parse(dtSD.Value.ToString("yyyy-MM") + "-01"); + dtSD.Value = 다음달.AddMonths(1); + dtED.Value = dtSD.Value.AddMonths(1).AddDays(-1); + } + } } diff --git a/SubProject/FBS0000/Holiday/fHolyday.cs b/SubProject/FBS0000/Holiday/fHolyday.cs index 9b7e113..00ec077 100644 --- a/SubProject/FBS0000/Holiday/fHolyday.cs +++ b/SubProject/FBS0000/Holiday/fHolyday.cs @@ -12,661 +12,714 @@ using NetOffice.OutlookApi.Enums; namespace FBS0000 { - public partial class fHolyday : FCOMMON.fBase - { - string fn_fpcolsize = ""; - public fHolyday() - { - InitializeComponent(); - fn_fpcolsize = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "formSetting", "fp_" + this.Name + "i.ini"); - this.dsMSSQL.vHoliday_uselist.TableNewRow += Holyday_TableNewRow; - //this.dv1.CellFormatting += dv1_CellFormatting; - } - - void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) - { - //if (e.RowIndex < 0 || e.ColumnIndex < 0) return; - //var col = this.dv1.Columns[e.ColumnIndex]; - //var cate = dv1.Rows[e.RowIndex].Cells["dvc_cate"].Value.ToString(); - //if (cate == "0") dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Blue;// = Color.Gray; - //else dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Black; - } - - private void __Load(object sender, EventArgs e) - { - int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday)); - //엔터키누르면 아래로 이동하게함ㄷ - FarPoint.Win.Spread.InputMap im = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused); - FarPoint.Win.Spread.InputMap im2 = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused); - im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap); - im2.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap); - - dtSD.Text = DateTime.Now.ToString("yyyy-MM") + "-01"; - dtED.Text = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM") + "-01").AddDays(-1).ToShortDateString(); - - //현재 사용자의 그룹명을 가져옴 - var taQuery = new dsMSSQLTableAdapters.QueriesTableAdapter(); - var GrpName = taQuery.GetGrpName(FCOMMON.info.Login.gcode, FCOMMON.info.Login.no); - - - //그룹목록 - //var taGrp = new dsMSSQLTableAdapters.WorkTableGrpTableAdapter(); - //var dtGrp = taGrp.GetData(FCOMMON.info.Login.gcode); - //this.cmbGrp.Items.Clear(); - //foreach (var item in dtGrp) - //{ - // cmbGrp.Items.Add(string.Format("{0}", item.grp)); - //} - //if (string.IsNullOrEmpty(GrpName) == false) cmbGrp.Text = GrpName; - //else if (cmbGrp.Items.Count > 0) cmbGrp.SelectedIndex = 0; - - //해당그룹내의 사용자 목록을 가져와야한다 - var dtUser = FCOMMON.DBM.getUserTable(); - //this.cmbUser.DisplayMember = "dispName"; - //this.cmbUser.ValueMember = "id"; - // this.bs.DataSource = dr; - this.cmbUser.Items.Clear(); - this.cmbUser.Items.Add("-- ALL --"); - foreach (DataRow dr in dtUser.Rows) - { - this.cmbUser.Items.Add(dr["dispname"].ToString()); - } - - //일반사용자의경우에는 상태를 변경하지 못한다. - //int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday)); - //curLevel = 5; - if (curLevel >= 5) - { - //권한이 잇으므로 모든 사용자로 한다. - if (cmbUser.Items.Count > 0) - cmbUser.SelectedIndex = 0; - btSave.Enabled = true; - btDel.Enabled = true; - btAdd.Enabled = true; - 복사ToolStripMenuItem.Enabled = true; - toolStripButton2.Enabled = true; - toolStripButton3.Enabled = true; - } - else - { - toolStripButton3.Enabled = false; - toolStripButton2.Enabled = false; - btSave.Enabled = false; - btDel.Enabled = false; - btAdd.Enabled = false; - - this.cmbUser.Text = string.Format("{1}({0})", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK); - //this.cmbUser.Enabled = false; //사용자를 고칠수 없게 한다. - - } - - RefreshData(); - } - - void Holyday_TableNewRow(object sender, DataTableNewRowEventArgs e) - { - e.Row["wuid"] = FCOMMON.info.Login.no; - e.Row["uid"] = FCOMMON.info.Login.no; - e.Row["wdate"] = DateTime.Now; - e.Row["cate"] = "0"; //기본 신청 - e.Row["pdate"] = DateTime.Now; - e.Row["termDr"] = 1.0f; - e.Row["contents"] = string.Empty; - } - - string GetUIDValue() - { - string uid = "%"; - if (cmbUser.SelectedIndex > 0) - { - var si = cmbUser.Text.IndexOf("("); - var ei = cmbUser.Text.LastIndexOf(")"); - uid = cmbUser.Text.Substring(si+1, ei - si - 1); - } - return uid; - } - - string seluid = string.Empty; - void RefreshData() - { - if (this.dsMSSQL.Holyday.GetChanges() != null) - { - var dlg = FCOMMON.Util.MsgQ("변경된 내용이 있습니다. 새로고침하면 해당 자료가 손실됩니다\n진행하시겠습니까?"); - if (dlg != DialogResult.Yes) return; - } - - //update data - seluid = GetUIDValue(); - var sd = DateTime.Parse(dtSD.Text + " 00:00:00"); - var ed = DateTime.Parse(dtED.Text + " 23:59:59"); - //sd = DateTime.Parse(ed.ToString("yyyy-01-01 00:00:00")); - //this.tbSD.Text = sd.ToShortDateString(); - - try - { - this.ta.Fill(this.dsMSSQL.Holyday, dtSD.Text, FCOMMON.info.Login.gcode, seluid, dtED.Text); - this.dsMSSQL.Holyday.AcceptChanges(); - } - catch (Exception ex) - { - FCOMMON.Util.MsgE(ex.Message); - } - - - //잔량계산 - double sumdrD = this.dsMSSQL.Holyday.Sum(t => t.termDr); //전체발생수량 - double sumdrT = this.dsMSSQL.Holyday.Sum(t => t.DrTime); //전체발생수량 - - double sumcrD = this.dsMSSQL.Holyday.Sum(t => t.term); //전체발생수량 - double sumcrT = this.dsMSSQL.Holyday.Sum(t => t.CrTime); //전체발생수량 - - //double sumcr = sumcrD + sumcrT; //전체 사용수량 - //double sumdr = sumdrD + sumdrT; //전체 발생량 - - double janD = sumdrD - sumcrD; - double janT = sumdrT - sumcrT; - sbGen.Text = string.Format("{0}+{1}", sumdrD, sumdrT); //발생량 - sbUse.Text = string.Format("{0}+{1}", sumcrD, sumcrT); //사용량 - sbJan.Text = string.Format("{0}+{1}", janD, janT); //잔량 - if (janD < 0) sbJan.ForeColor = Color.Red; - else sbJan.ForeColor = Color.Blue; - - //현재그룹의 사용자 목록을 조호힌다. - //taUser.Fill(this.dsMSSQL.EETGW_WorkTableUser, FCOMMON.info.Login.gcode, cmbGrp.Text); - - //모든데이터의 성명을 표시해준다 - var qta = new dsMSSQLTableAdapters.QueriesTableAdapter(); - var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index; - var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index; - var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index; - var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index; - var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index; - var col_src = this.fpSpread1.ActiveSheet.Columns["src"].Index; - for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) - { - var drindex = this.fpSpread1.ActiveSheet.GetModelRowFromViewRow(i); - var dr = this.dsMSSQL.Holyday.Rows[drindex] as dsMSSQL.HolydayRow; - this.fpSpread1.ActiveSheet.Cells[i, col_name].Value = dr.UserName; - - var fistdate = dr.sdate.ToString("yyyy-01-01"); - - //이 사용자의 이전까지의 잔량을 가져온다 - var yjand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, dr.uid, fistdate, dr.sdate.ToShortDateString(), dr.idx.ToString("000000")); - var yjanh = qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, dr.uid, fistdate, dr.sdate.ToShortDateString(), dr.idx.ToString("000000")); - var jand = yjand + dr.termDr - dr.term; - var janh = yjanh + dr.DrTime - dr.CrTime; - this.fpSpread1.ActiveSheet.Cells[i, col_yjand].Value = yjand; - this.fpSpread1.ActiveSheet.Cells[i, col_yjanh].Value = yjanh; - //this.fpSpread1.ActiveSheet.Cells[i, col_src].Value = dr.ext; - //this.fpSpread1.ActiveSheet.Cells[i, col_janh].Value = janh; - } - - var sb = new System.Text.StringBuilder(); - - var grplist = dsMSSQL.Holyday.GroupBy(t => t.cate).ToList(); - foreach (var grp in grplist) - { - //일년치합산을 넣는다 - var totalJanH = grp.Sum(t => t.DrTime) - grp.Sum(t => t.CrTime); - var totalJanD = grp.Sum(t => t.termDr) - grp.Sum(t => t.term); - if (sb.Length > 0) sb.Append(" "); - sb.Append($"[{grp.Key}] {totalJanD}:{totalJanH}"); - } - var tUseH = dsMSSQL.Holyday.Sum(t => t.CrTime); - var tUseD = dsMSSQL.Holyday.Sum(t => t.term); - - var tGenH = dsMSSQL.Holyday.Sum(t => t.DrTime); - var tGenD = dsMSSQL.Holyday.Sum(t => t.termDr); - - this.sbUse.Text = $"{tUseD}:{tUseH}"; - this.sbGen.Text = $"{tGenD}:{tGenH}"; - this.sbJan.Text = sb.ToString(); - - sbUse.ForeColor = Color.Blue; - sbGen.ForeColor = Color.Black; - sbJan.ForeColor = Color.DarkMagenta; - - this.bs.Filter = string.Empty; - textBox1.BackColor = SystemColors.Control; - textBox1.Text = string.Empty; - } - private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e) - { - this.Validate(); - this.bs.EndEdit(); - var dlg = FCOMMON.Util.MsgQ("변경된 내용을 저장하시겠습니까?"); - if (dlg != System.Windows.Forms.DialogResult.Yes) return; - try - { - - } - catch (Exception ex) - { - FCOMMON.Util.MsgE(ex.Message); - } - } - - private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) - { - var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); - if (this.cmbUser.SelectedIndex == 0) newdr.uid = FCOMMON.info.Login.no; - else newdr.uid = seluid; - newdr.gcode = FCOMMON.info.Login.gcode; - newdr.sdate = DateTime.Now; - newdr.edate = DateTime.Now; - newdr.contents = string.Empty; - newdr.wuid = FCOMMON.info.Login.no; - newdr.wdate = DateTime.Now; - newdr.UserName = FCOMMON.info.Login.nameK; - - var f = new fHolyday_Add(newdr); - if (f.ShowDialog() == DialogResult.OK) - { - newdr.EndEdit(); - this.dsMSSQL.Holyday.AddHolydayRow(newdr); - } - else newdr.Delete(); - - - - //var rowindex = this.bs.Count - 1; - - - - ////잔액및 성명찾기 - ////모든데이터의 성명을 표시해준다 - //var qta = new dsMSSQLTableAdapters.QueriesTableAdapter(); - //var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index; - //var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index; - //var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index; - //var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index; - //var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index; - - //var drUser = this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno == newdr.uid).FirstOrDefault(); - //var username = drUser == null ? string.Empty : drUser.name; - //fpSpread1.ActiveSheet.Cells[rowindex, col_name].Value = username; - - ////이 사용자의 이전까지의 잔량을 가져온다 - //var fistdate = newdr.sdate.ToString("yyyy-01-01"); - //var yjand = 0;// qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, this.seluid, fistdate, newdr.sdate.ToShortDateString(),"999999"); - //var yjanh = 0;// qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, seluid, fistdate, newdr.sdate.ToShortDateString(), "999999"); - - - - ////var jand = yjand + dr.termDr - dr.term; - ////var janh = yjanh + dr.DrTime - dr.CrTime; - //this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjand].Value = yjand; - //this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjanh].Value = yjanh; - - } - - private void autoResizeComlumnsToolStripMenuItem_Click(object sender, EventArgs e) - { - // dv1.AutoResizeColumns(); - } - - private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e) - { - - } - - private void dv1_DoubleClick(object sender, EventArgs e) - { - //var drv = this.bs.Current as DataRowView; - //if (drv == null) return; - //var dr = drv.Row as dsMSSQL.vHoliday_uselistRow; - //var f = new fHolyday_Add(dr.idx); - //if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) - //{ - // RefreshData(); - //} - - } - - private void toolStripButton1_Click(object sender, EventArgs e) - { - RefreshData(); - } - - private void tbSD_KeyDown(object sender, KeyEventArgs e) - { - var tb = sender as ToolStripTextBox; - if (e.KeyCode == Keys.Enter) - { - string datestring; - if (FCOMMON.Util.MakeDateString(tb.Text, out datestring)) - { - tb.Text = datestring; - SendKeys.Send("{TAB}"); - } - } - } - - private void sendToMailToolStripMenuItem_Click(object sender, EventArgs e) - { - var drv = this.bs.Current as DataRowView; - if (drv == null) return; - var dr = drv.Row as dsMSSQL.HolydayRow; - - //string to = dr.tolist; - //string body = "
test 2sfdnice to meet"; - //string bcc = string.Empty; - //string cc = string.Empty; - //string subject = "etst mail"; - - Outlook.Application outlookApplication = new Outlook.Application(); - Outlook.MailItem newTask = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem; - newTask.Subject = "mail test"; - newTask.To = "Chikyun.Kim@amkor.co.kr"; - newTask.HTMLBody = "this is test mail"; - newTask.BodyFormat = OlBodyFormat.olFormatHTML; - newTask.Display(); - - //FCOMMON.Util.RunDefaultMail(to, subject, body, cc, bcc); - } - - private void toolStripButton2_Click(object sender, EventArgs e) - { - this.Validate(); - this.bs.EndEdit(); - try - { - var cnt = this.ta.Update(this.dsMSSQL.Holyday); - this.dsMSSQL.Holyday.AcceptChanges(); - FCOMMON.Util.MsgI(cnt.ToString() + "건의 자료가 저장됨"); - } - catch (Exception ex) - { - FCOMMON.Util.MsgE(ex.Message); - } - } - - private void toolStripButton3_Click(object sender, EventArgs e) - { - var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); - newdr.uid = FCOMMON.info.Login.no; - newdr.gcode = FCOMMON.info.Login.gcode; - newdr.sdate = DateTime.Now; - newdr.edate = DateTime.Now; - newdr.contents = string.Empty; - newdr.wuid = FCOMMON.info.Login.no; - newdr.wdate = DateTime.Now; - this.dsMSSQL.Holyday.AddHolydayRow(newdr); - } - - - private void toolStripButton4_Click(object sender, EventArgs e) - { - if (this.cmbUser.SelectedIndex < 0) - { - FCOMMON.Util.MsgE("담당자가 선택되어야 합니다."); - return; - } - string uid = GetUIDValue(); - var f = new fHolydayJobReport(dtSD.Text, dtED.Text, uid); - f.Show(); - } - - private void toolStripButton5_Click(object sender, EventArgs e) - { - //var sd = DateTime.Now.ToString("yyyy-MM-01"); - //var ed = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); - var f = new WorkTable(); - f.Show(); - } - - private void toolStripButton6_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) - { - this.bs.RemoveCurrent(); - } - - private void fHolyday_KeyPress(object sender, KeyPressEventArgs e) - { - - } - - private void fpSpread1_KeyDown(object sender, KeyEventArgs e) - { - - } - - private void fpSpread1_EditModeOff(object sender, EventArgs e) - { - - var cell = this.fpSpread1.ActiveSheet.ActiveCell; - if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "pdate") - { - //날짜가 바뀌면 전일잔액을 바꿔야한다 - var pdate = ((DateTime)cell.Value).ToString("yyyy-MM-dd"); - var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString(); - var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); - var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate); - var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate); - - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; - } - else if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "empno") - { - - //입력을 새로 했으므로 데이터를 조회해서 이름을 자동 설정 해준다. - var pdate = ((DateTime)(fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["pdate"].Index].Value)).ToString("yyyy-MM-dd"); - var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString(); - var users = this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno.Contains(empno) || t.name.Contains(empno)).ToList(); - if (users.Count == 1) - { - var dr = users.FirstOrDefault(); - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = dr.name; - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = dr.empno; - fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; - empno = dr.empno; - - //전일잔액표시 - var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); - var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate); - var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate); - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; - - } - else if (users.Count == 0) - { - FCOMMON.Util.MsgE("입력값({0})에 해당하는 사원번호/이름이 없습니다", empno); - fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["empno"].Index; - } - else - { - //lov - var flov = new fLovWorkUser(users); - if (flov.ShowDialog() == DialogResult.OK) - { - //전일잔액표시 - var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); - var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, flov.dr.empno, pdate); - var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, flov.dr.empno, pdate); - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; - - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = flov.dr.name; - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = flov.dr.empno; - fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; - } - else - { - fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = "?"; - fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; - } - } - } - } - - private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) - { - - } - - private void toolStripMenuItem5_Click(object sender, EventArgs e) - { - FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize); - } - - private void toolStripMenuItem6_Click(object sender, EventArgs e) - { - FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize); - } - - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true; - - for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) - this.fpSpread1.ActiveSheet.SetRowHeight(i, 25); - } - - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns) - { - col.Width = 100; - } - } - - - private void 현재사원원장보기ToolStripMenuItem_Click(object sender, EventArgs e) - { - var drv = this.bs.Current as DataRowView; - var dr = drv.Row as dsMSSQL.HolydayRow; - this.dtSD.Text = DateTime.Now.Year.ToString("0000") + "-01-01"; - this.dtED.Text = DateTime.Now.Year.ToString("0000") + "-12-31"; - var username = string.Format("[{0}] {1}", dr.uid, dr.UserName); - this.cmbUser.Text = username; - RefreshData(); - } - - private void lbStt_Click(object sender, EventArgs e) - { - var f = new FCOMMON.fSelectMonth(); - if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; - var sdDate = DateTime.Parse(DateTime.Now.ToString("yyyy-") + f.selectmon.ToString() + "-01"); - dtSD.Text = sdDate.ToShortDateString(); - dtED.Text = sdDate.AddMonths(1).AddDays(-1).ToShortDateString(); - this.RefreshData(); - } - - private void toolStripButton2_Click_1(object sender, EventArgs e) - { - - var drv = this.bs.Current as DataRowView; - if (drv == null) return; - var dr = drv.Row as dsMSSQL.HolydayRow; - var f = new fHolyday_Add(dr); - if (f.ShowDialog() == DialogResult.OK) - { - dr.EndEdit(); - } - else dr.RejectChanges(); - } - void SearchText() - { - var txt = textBox1.Text.Trim(); - if (string.IsNullOrEmpty(txt)) - { - bs.Filter = string.Empty; - textBox1.BackColor = SystemColors.Control; - } - else - { - this.bs.Filter = "cate like '%" + txt + "%' or contents like '%" + txt + "%'"; - textBox1.BackColor = Color.Lime; - } - textBox1.Focus(); - textBox1.SelectAll(); - - } - private void textBox1_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyCode == Keys.Enter) - { - SearchText(); - } - } - - private void 복사ToolStripMenuItem_Click(object sender, EventArgs e) - { - - var drv = this.bs.Current as DataRowView; - if (drv == null) return; - var dr = drv.Row as dsMSSQL.HolydayRow; - - var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); - if (this.cmbUser.SelectedIndex == 0) newdr.uid = FCOMMON.info.Login.no; - else newdr.uid = seluid; - newdr.gcode = FCOMMON.info.Login.gcode; - newdr.sdate = DateTime.Now; - newdr.edate = DateTime.Now; - newdr.cate = dr.cate; - newdr.contents = dr.contents;// string.Empty; - newdr.wuid = FCOMMON.info.Login.no; - newdr.wdate = DateTime.Now; - newdr.UserName = FCOMMON.info.Login.nameK; - - var f = new fHolyday_Add(newdr); - if (f.ShowDialog() == DialogResult.OK) - { - newdr.EndEdit(); - this.dsMSSQL.Holyday.AddHolydayRow(newdr); - } - else newdr.Delete(); - - - } - - private void toolStripButton3_Click_1(object sender, EventArgs e) - { - var f = new FBS0000.Holiday.fImpKunTae(); - f.ShowDialog(); - } - - private void toolStripButton7_Click(object sender, EventArgs e) - { - seluid = GetUIDValue(); - var f = new fHolyDayData(dtED.Text, seluid != "%" ? cmbUser.Text : string.Empty ); - f.Show(); - } - - private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) - { - - } - - private void toolStripLabel4_Click(object sender, EventArgs e) - { - var f = new FCOMMON.fSelectDay(DateTime.Parse(dtED.Text)); - if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; - dtED.Text = f.dtPick.SelectionStart.ToShortDateString(); - } - - private void toolStripButton8_Click(object sender, EventArgs e) - { - var sdo = DateTime.Parse(dtSD.Text); - var sd = DateTime.Parse(sdo.AddMonths(-1).ToString("yyyy-MM-01")); - var ed = sd.AddMonths(1).AddDays(-1); - dtSD.Text = sd.ToShortDateString(); - dtED.Text = ed.ToShortDateString(); - } - - private void toolStripButton9_Click(object sender, EventArgs e) - { - var sdo = DateTime.Parse(dtSD.Text); - var sd = DateTime.Parse(sdo.AddMonths(1).ToString("yyyy-MM-01")); - var ed = sd.AddMonths(1).AddDays(-1); - dtSD.Text = sd.ToShortDateString(); - dtED.Text = ed.ToShortDateString(); - } - } + public partial class fHolyday : FCOMMON.fBase + { + string fn_fpcolsize = ""; + public fHolyday() + { + InitializeComponent(); + fn_fpcolsize = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "formSetting", "fp_" + this.Name + "i.ini"); + this.dsMSSQL.vHoliday_uselist.TableNewRow += Holyday_TableNewRow; + //this.dv1.CellFormatting += dv1_CellFormatting; + } + + void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) + { + //if (e.RowIndex < 0 || e.ColumnIndex < 0) return; + //var col = this.dv1.Columns[e.ColumnIndex]; + //var cate = dv1.Rows[e.RowIndex].Cells["dvc_cate"].Value.ToString(); + //if (cate == "0") dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Blue;// = Color.Gray; + //else dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Black; + } + + private void __Load(object sender, EventArgs e) + { + int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday)); + //엔터키누르면 아래로 이동하게함ㄷ + FarPoint.Win.Spread.InputMap im = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused); + FarPoint.Win.Spread.InputMap im2 = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused); + im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap); + im2.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap); + + dtSD.Text = DateTime.Now.ToString("yyyy-MM") + "-01"; + dtED.Text = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM") + "-01").AddDays(-1).ToShortDateString(); + + //현재 사용자의 그룹명을 가져옴 + var taQuery = new dsMSSQLTableAdapters.QueriesTableAdapter(); + var GrpName = taQuery.GetGrpName(FCOMMON.info.Login.gcode, FCOMMON.info.Login.no); + + + //그룹목록 + //var taGrp = new dsMSSQLTableAdapters.WorkTableGrpTableAdapter(); + //var dtGrp = taGrp.GetData(FCOMMON.info.Login.gcode); + //this.cmbGrp.Items.Clear(); + //foreach (var item in dtGrp) + //{ + // cmbGrp.Items.Add(string.Format("{0}", item.grp)); + //} + //if (string.IsNullOrEmpty(GrpName) == false) cmbGrp.Text = GrpName; + //else if (cmbGrp.Items.Count > 0) cmbGrp.SelectedIndex = 0; + + //해당그룹내의 사용자 목록을 가져와야한다 + var dtUser = FCOMMON.DBM.getUserTable(); + //this.cmbUser.DisplayMember = "dispName"; + //this.cmbUser.ValueMember = "id"; + // this.bs.DataSource = dr; + this.cmbUser.Items.Clear(); + this.cmbUser.Items.Add("-- ALL --"); + foreach (DataRow dr in dtUser.Rows) + { + this.cmbUser.Items.Add(dr["dispname"].ToString()); + } + + //일반사용자의경우에는 상태를 변경하지 못한다. + //int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday)); + //curLevel = 5; + if (curLevel >= 5) + { + //권한이 잇으므로 모든 사용자로 한다. + if (cmbUser.Items.Count > 0) + cmbUser.SelectedIndex = 0; + btSave.Enabled = true; + btDel.Enabled = true; + btAdd.Enabled = true; + 복사ToolStripMenuItem.Enabled = true; + toolStripButton2.Enabled = true; + toolStripButton3.Enabled = true; + } + else + { + toolStripButton3.Enabled = false; + toolStripButton2.Enabled = false; + btSave.Enabled = false; + btDel.Enabled = false; + btAdd.Enabled = false; + + + //this.cmbUser.Enabled = false; //사용자를 고칠수 없게 한다. + + } + this.cmbUser.Text = string.Format("{1}({0})", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK); + RefreshData(); + } + + void Holyday_TableNewRow(object sender, DataTableNewRowEventArgs e) + { + e.Row["wuid"] = FCOMMON.info.Login.no; + e.Row["uid"] = FCOMMON.info.Login.no; + e.Row["wdate"] = DateTime.Now; + e.Row["cate"] = "0"; //기본 신청 + e.Row["pdate"] = DateTime.Now; + e.Row["termDr"] = 1.0f; + e.Row["contents"] = string.Empty; + } + + string GetUIDValue() + { + string uid = "%"; + if (cmbUser.SelectedIndex > 0) + { + var si = cmbUser.Text.IndexOf("("); + var ei = cmbUser.Text.LastIndexOf(")"); + uid = cmbUser.Text.Substring(si + 1, ei - si - 1); + } + return uid; + } + + string seluid = string.Empty; + void RefreshData() + { + if (this.dsMSSQL.Holyday.GetChanges() != null) + { + var dlg = FCOMMON.Util.MsgQ("변경된 내용이 있습니다. 새로고침하면 해당 자료가 손실됩니다\n진행하시겠습니까?"); + if (dlg != DialogResult.Yes) return; + } + + //update data + seluid = GetUIDValue(); + var sd = DateTime.Parse(dtSD.Text + " 00:00:00"); + var ed = DateTime.Parse(dtED.Text + " 23:59:59"); + //sd = DateTime.Parse(ed.ToString("yyyy-01-01 00:00:00")); + //this.tbSD.Text = sd.ToShortDateString(); + + try + { + this.ta.Fill(this.dsMSSQL.Holyday, dtSD.Text, FCOMMON.info.Login.gcode, seluid, dtED.Text); + this.dsMSSQL.Holyday.AcceptChanges(); + } + catch (Exception ex) + { + FCOMMON.Util.MsgE(ex.Message); + } + + + //잔량계산 + double sumdrD = this.dsMSSQL.Holyday.Sum(t => t.termDr); //전체발생수량 + double sumdrT = this.dsMSSQL.Holyday.Sum(t => t.DrTime); //전체발생수량 + + double sumcrD = this.dsMSSQL.Holyday.Sum(t => t.term); //전체발생수량 + double sumcrT = this.dsMSSQL.Holyday.Sum(t => t.CrTime); //전체발생수량 + + //double sumcr = sumcrD + sumcrT; //전체 사용수량 + //double sumdr = sumdrD + sumdrT; //전체 발생량 + + double janD = sumdrD - sumcrD; + double janT = sumdrT - sumcrT; + sbGen.Text = string.Format("{0}+{1}", sumdrD, sumdrT); //발생량 + sbUse.Text = string.Format("{0}+{1}", sumcrD, sumcrT); //사용량 + sbJan.Text = string.Format("{0}+{1}", janD, janT); //잔량 + if (janD < 0) sbJan.ForeColor = Color.Red; + else sbJan.ForeColor = Color.Blue; + + //현재그룹의 사용자 목록을 조호힌다. + //taUser.Fill(this.dsMSSQL.EETGW_WorkTableUser, FCOMMON.info.Login.gcode, cmbGrp.Text); + + //모든데이터의 성명을 표시해준다 + var qta = new dsMSSQLTableAdapters.QueriesTableAdapter(); + var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index; + var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index; + var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index; + var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index; + var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index; + var col_src = this.fpSpread1.ActiveSheet.Columns["src"].Index; + for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) + { + var drindex = this.fpSpread1.ActiveSheet.GetModelRowFromViewRow(i); + var dr = this.dsMSSQL.Holyday.Rows[drindex] as dsMSSQL.HolydayRow; + this.fpSpread1.ActiveSheet.Cells[i, col_name].Value = dr.UserName; + + var fistdate = dr.sdate.ToString("yyyy-01-01"); + + //이 사용자의 이전까지의 잔량을 가져온다 + var yjand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, dr.uid, fistdate, dr.sdate.ToShortDateString(), dr.idx.ToString("000000")); + var yjanh = qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, dr.uid, fistdate, dr.sdate.ToShortDateString(), dr.idx.ToString("000000")); + var jand = yjand + dr.termDr - dr.term; + var janh = yjanh + dr.DrTime - dr.CrTime; + this.fpSpread1.ActiveSheet.Cells[i, col_yjand].Value = yjand; + this.fpSpread1.ActiveSheet.Cells[i, col_yjanh].Value = yjanh; + + if (dr.extidx > 0 && string.IsNullOrEmpty(dr.extcate) == false) + { + if (dr.cate == "대체") + this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Tomato; + else if (dr.cate == "년차") + this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Blue; + else + this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Black; + + this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.LightGray; + this.fpSpread1.ActiveSheet.Rows[i].Locked = true; + } + //this.fpSpread1.ActiveSheet.Cells[i, col_src].Value = dr.ext; + //this.fpSpread1.ActiveSheet.Cells[i, col_janh].Value = janh; + } + + var sb = new System.Text.StringBuilder(); + + var grplist = dsMSSQL.Holyday.GroupBy(t => t.cate).ToList(); + foreach (var grp in grplist) + { + //일년치합산을 넣는다 + var totalJanH = grp.Sum(t => t.DrTime) - grp.Sum(t => t.CrTime); + var totalJanD = grp.Sum(t => t.termDr) - grp.Sum(t => t.term); + if (sb.Length > 0) sb.Append(" "); + sb.Append($"[{grp.Key}] {totalJanD}:{totalJanH}"); + } + var tUseH = dsMSSQL.Holyday.Sum(t => t.CrTime); + var tUseD = dsMSSQL.Holyday.Sum(t => t.term); + + var tGenH = dsMSSQL.Holyday.Sum(t => t.DrTime); + var tGenD = dsMSSQL.Holyday.Sum(t => t.termDr); + + this.sbUse.Text = $"{tUseD}:{tUseH}"; + this.sbGen.Text = $"{tGenD}:{tGenH}"; + this.sbJan.Text = sb.ToString(); + + sbUse.ForeColor = Color.Blue; + sbGen.ForeColor = Color.Black; + sbJan.ForeColor = Color.DarkMagenta; + + this.bs.Filter = string.Empty; + textBox1.BackColor = SystemColors.Control; + textBox1.Text = string.Empty; + } + private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e) + { + this.Validate(); + this.bs.EndEdit(); + var dlg = FCOMMON.Util.MsgQ("변경된 내용을 저장하시겠습니까?"); + if (dlg != System.Windows.Forms.DialogResult.Yes) return; + try + { + + } + catch (Exception ex) + { + FCOMMON.Util.MsgE(ex.Message); + } + } + + private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) + { + var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); + if (this.cmbUser.SelectedIndex == 0) newdr.uid = FCOMMON.info.Login.no; + else newdr.uid = seluid; + newdr.gcode = FCOMMON.info.Login.gcode; + newdr.sdate = DateTime.Now; + newdr.edate = DateTime.Now; + newdr.contents = string.Empty; + newdr.wuid = FCOMMON.info.Login.no; + newdr.wdate = DateTime.Now; + newdr.UserName = FCOMMON.info.Login.nameK; + + var f = new fHolyday_Add(newdr); + if (f.ShowDialog() == DialogResult.OK) + { + newdr.EndEdit(); + this.dsMSSQL.Holyday.AddHolydayRow(newdr); + } + else newdr.Delete(); + + + + //var rowindex = this.bs.Count - 1; + + + + ////잔액및 성명찾기 + ////모든데이터의 성명을 표시해준다 + //var qta = new dsMSSQLTableAdapters.QueriesTableAdapter(); + //var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index; + //var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index; + //var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index; + //var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index; + //var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index; + + //var drUser = this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno == newdr.uid).FirstOrDefault(); + //var username = drUser == null ? string.Empty : drUser.name; + //fpSpread1.ActiveSheet.Cells[rowindex, col_name].Value = username; + + ////이 사용자의 이전까지의 잔량을 가져온다 + //var fistdate = newdr.sdate.ToString("yyyy-01-01"); + //var yjand = 0;// qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, this.seluid, fistdate, newdr.sdate.ToShortDateString(),"999999"); + //var yjanh = 0;// qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, seluid, fistdate, newdr.sdate.ToShortDateString(), "999999"); + + + + ////var jand = yjand + dr.termDr - dr.term; + ////var janh = yjanh + dr.DrTime - dr.CrTime; + //this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjand].Value = yjand; + //this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjanh].Value = yjanh; + + } + + private void autoResizeComlumnsToolStripMenuItem_Click(object sender, EventArgs e) + { + // dv1.AutoResizeColumns(); + } + + private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e) + { + + } + + private void dv1_DoubleClick(object sender, EventArgs e) + { + //var drv = this.bs.Current as DataRowView; + //if (drv == null) return; + //var dr = drv.Row as dsMSSQL.vHoliday_uselistRow; + //var f = new fHolyday_Add(dr.idx); + //if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) + //{ + // RefreshData(); + //} + + } + + private void toolStripButton1_Click(object sender, EventArgs e) + { + RefreshData(); + } + + private void tbSD_KeyDown(object sender, KeyEventArgs e) + { + var tb = sender as ToolStripTextBox; + if (e.KeyCode == Keys.Enter) + { + string datestring; + if (FCOMMON.Util.MakeDateString(tb.Text, out datestring)) + { + tb.Text = datestring; + SendKeys.Send("{TAB}"); + } + } + } + + private void sendToMailToolStripMenuItem_Click(object sender, EventArgs e) + { + var drv = this.bs.Current as DataRowView; + if (drv == null) return; + var dr = drv.Row as dsMSSQL.HolydayRow; + + //string to = dr.tolist; + //string body = "test 2sfdnice to meet"; + //string bcc = string.Empty; + //string cc = string.Empty; + //string subject = "etst mail"; + + Outlook.Application outlookApplication = new Outlook.Application(); + Outlook.MailItem newTask = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem; + newTask.Subject = "mail test"; + newTask.To = "Chikyun.Kim@amkor.co.kr"; + newTask.HTMLBody = "this is test mail"; + newTask.BodyFormat = OlBodyFormat.olFormatHTML; + newTask.Display(); + + //FCOMMON.Util.RunDefaultMail(to, subject, body, cc, bcc); + } + + private void toolStripButton2_Click(object sender, EventArgs e) + { + this.Validate(); + this.bs.EndEdit(); + try + { + var cnt = this.ta.Update(this.dsMSSQL.Holyday); + this.dsMSSQL.Holyday.AcceptChanges(); + FCOMMON.Util.MsgI(cnt.ToString() + "건의 자료가 저장됨"); + } + catch (Exception ex) + { + FCOMMON.Util.MsgE(ex.Message); + } + } + + private void toolStripButton3_Click(object sender, EventArgs e) + { + var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); + newdr.uid = FCOMMON.info.Login.no; + newdr.gcode = FCOMMON.info.Login.gcode; + newdr.sdate = DateTime.Now; + newdr.edate = DateTime.Now; + newdr.contents = string.Empty; + newdr.wuid = FCOMMON.info.Login.no; + newdr.wdate = DateTime.Now; + this.dsMSSQL.Holyday.AddHolydayRow(newdr); + } + + + private void toolStripButton4_Click(object sender, EventArgs e) + { + if (this.cmbUser.SelectedIndex < 0) + { + FCOMMON.Util.MsgE("담당자가 선택되어야 합니다."); + return; + } + string uid = GetUIDValue(); + var f = new fHolydayJobReport(dtSD.Text, dtED.Text, uid); + f.Show(); + } + + private void toolStripButton5_Click(object sender, EventArgs e) + { + //var sd = DateTime.Now.ToString("yyyy-MM-01"); + //var ed = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); + var f = new WorkTable(); + f.Show(); + } + + private void toolStripButton6_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) + { + + var drv = this.bs.Current as DataRowView; + if (drv == null) return; + var dr = drv.Row as dsMSSQL.HolydayRow; + if (string.IsNullOrEmpty(dr.extcate) == false && dr.extidx > 0) + { + if (dr.extcate == "휴가") FCOMMON.Util.MsgE("이 자료는 휴가신청/승인된 자료 입니다.\n" + + "변경 및 삭제를 하려면 [휴가신청] 화면에서 처리하세요"); + else if (dr.extcate == "HO") + FCOMMON.Util.MsgE("이 자료는 OT 신청/승인 된 자료입니다\n" + + "변경 및 삭제를 하려면 [OT승인] 화면에서 처리하세요"); + else + FCOMMON.Util.MsgE("이 자료는 외부에서 자동생성된 자료 입니다\n" + + "본래의 데이터를 삭제 하세요\n" + + $"소스:{dr.extcate}:{dr.extidx}"); + + return; + } + + this.bs.RemoveCurrent(); + } + + private void fHolyday_KeyPress(object sender, KeyPressEventArgs e) + { + + } + + private void fpSpread1_KeyDown(object sender, KeyEventArgs e) + { + + } + + private void fpSpread1_EditModeOff(object sender, EventArgs e) + { + + var cell = this.fpSpread1.ActiveSheet.ActiveCell; + if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "pdate") + { + //날짜가 바뀌면 전일잔액을 바꿔야한다 + var pdate = ((DateTime)cell.Value).ToString("yyyy-MM-dd"); + var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString(); + var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); + var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate); + var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate); + + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; + } + else if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "empno") + { + + //입력을 새로 했으므로 데이터를 조회해서 이름을 자동 설정 해준다. + var pdate = ((DateTime)(fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["pdate"].Index].Value)).ToString("yyyy-MM-dd"); + var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString(); + var users = this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno.Contains(empno) || t.name.Contains(empno)).ToList(); + if (users.Count == 1) + { + var dr = users.FirstOrDefault(); + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = dr.name; + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = dr.empno; + fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; + empno = dr.empno; + + //전일잔액표시 + var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); + var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate); + var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate); + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; + + } + else if (users.Count == 0) + { + FCOMMON.Util.MsgE("입력값({0})에 해당하는 사원번호/이름이 없습니다", empno); + fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["empno"].Index; + } + else + { + //lov + var flov = new fLovWorkUser(users); + if (flov.ShowDialog() == DialogResult.OK) + { + //전일잔액표시 + var ta = new dsMSSQLTableAdapters.QueriesTableAdapter(); + var jand = 0;// ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, flov.dr.empno, pdate); + var janh = 0;// ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, flov.dr.empno, pdate); + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand; + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh; + + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = flov.dr.name; + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = flov.dr.empno; + fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; + } + else + { + fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = "?"; + fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index; + } + } + } + } + + private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) + { + + } + + private void toolStripMenuItem5_Click(object sender, EventArgs e) + { + FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize); + } + + private void toolStripMenuItem6_Click(object sender, EventArgs e) + { + FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize); + } + + private void toolStripMenuItem3_Click(object sender, EventArgs e) + { + this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true; + + for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) + this.fpSpread1.ActiveSheet.SetRowHeight(i, 25); + } + + private void toolStripMenuItem4_Click(object sender, EventArgs e) + { + foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns) + { + col.Width = 100; + } + } + + + private void 현재사원원장보기ToolStripMenuItem_Click(object sender, EventArgs e) + { + var drv = this.bs.Current as DataRowView; + var dr = drv.Row as dsMSSQL.HolydayRow; + this.dtSD.Text = DateTime.Now.Year.ToString("0000") + "-01-01"; + this.dtED.Text = DateTime.Now.Year.ToString("0000") + "-12-31"; + var username = string.Format("[{0}] {1}", dr.uid, dr.UserName); + this.cmbUser.Text = username; + RefreshData(); + } + + private void lbStt_Click(object sender, EventArgs e) + { + var f = new FCOMMON.fSelectMonth(); + if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; + var sdDate = DateTime.Parse(DateTime.Now.ToString("yyyy-") + f.selectmon.ToString() + "-01"); + dtSD.Text = sdDate.ToShortDateString(); + dtED.Text = sdDate.AddMonths(1).AddDays(-1).ToShortDateString(); + this.RefreshData(); + } + + private void toolStripButton2_Click_1(object sender, EventArgs e) + { + + var drv = this.bs.Current as DataRowView; + if (drv == null) return; + var dr = drv.Row as dsMSSQL.HolydayRow; + + if (string.IsNullOrEmpty(dr.extcate) == false && dr.extidx > 0) + { + if (dr.extcate == "휴가") FCOMMON.Util.MsgE("이 자료는 휴가신청/승인된 자료 입니다.\n" + + "변경 및 삭제를 하려면 [휴가신청] 화면에서 처리하세요"); + else if (dr.extcate == "HO") + FCOMMON.Util.MsgE("이 자료는 OT 신청/승인 된 자료입니다\n" + + "변경 및 삭제를 하려면 [OT승인] 화면에서 처리하세요"); + else + FCOMMON.Util.MsgE("이 자료는 외부에서 자동생성된 자료 입니다\n" + + "본래의 데이터를 삭제 하세요\n" + + $"소스:{dr.extcate}:{dr.extidx}"); + + return; + } + + + + + + + var f = new fHolyday_Add(dr); + if (f.ShowDialog() == DialogResult.OK) + { + dr.EndEdit(); + } + else dr.RejectChanges(); + } + void SearchText() + { + var txt = textBox1.Text.Trim(); + if (string.IsNullOrEmpty(txt)) + { + bs.Filter = string.Empty; + textBox1.BackColor = SystemColors.Control; + } + else + { + this.bs.Filter = "cate like '%" + txt + "%' or contents like '%" + txt + "%'"; + textBox1.BackColor = Color.Lime; + } + textBox1.Focus(); + textBox1.SelectAll(); + + } + private void textBox1_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + SearchText(); + } + } + + private void 복사ToolStripMenuItem_Click(object sender, EventArgs e) + { + + var drv = this.bs.Current as DataRowView; + if (drv == null) return; + var dr = drv.Row as dsMSSQL.HolydayRow; + + var newdr = this.dsMSSQL.Holyday.NewHolydayRow(); + if (this.cmbUser.SelectedIndex == 0) newdr.uid = FCOMMON.info.Login.no; + else newdr.uid = seluid; + newdr.gcode = FCOMMON.info.Login.gcode; + newdr.sdate = DateTime.Now; + newdr.edate = DateTime.Now; + newdr.cate = dr.cate; + newdr.contents = dr.contents;// string.Empty; + newdr.wuid = FCOMMON.info.Login.no; + newdr.wdate = DateTime.Now; + newdr.UserName = FCOMMON.info.Login.nameK; + + var f = new fHolyday_Add(newdr); + if (f.ShowDialog() == DialogResult.OK) + { + newdr.EndEdit(); + this.dsMSSQL.Holyday.AddHolydayRow(newdr); + } + else newdr.Delete(); + + + } + + private void toolStripButton3_Click_1(object sender, EventArgs e) + { + var f = new FBS0000.Holiday.fImpKunTae(); + f.ShowDialog(); + } + + private void toolStripButton7_Click(object sender, EventArgs e) + { + seluid = GetUIDValue(); + var f = new fHolyDayData(dtED.Text, seluid != "%" ? cmbUser.Text : string.Empty); + f.Show(); + } + + private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + + } + + private void toolStripLabel4_Click(object sender, EventArgs e) + { + var f = new FCOMMON.fSelectDay(DateTime.Parse(dtED.Text)); + if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; + dtED.Text = f.dtPick.SelectionStart.ToShortDateString(); + } + + private void toolStripButton8_Click(object sender, EventArgs e) + { + var sdo = DateTime.Parse(dtSD.Text); + var sd = DateTime.Parse(sdo.AddMonths(-1).ToString("yyyy-MM-01")); + var ed = sd.AddMonths(1).AddDays(-1); + dtSD.Text = sd.ToShortDateString(); + dtED.Text = ed.ToShortDateString(); + } + + private void toolStripButton9_Click(object sender, EventArgs e) + { + var sdo = DateTime.Parse(dtSD.Text); + var sd = DateTime.Parse(sdo.AddMonths(1).ToString("yyyy-MM-01")); + var ed = sd.AddMonths(1).AddDays(-1); + dtSD.Text = sd.ToShortDateString(); + dtED.Text = ed.ToShortDateString(); + } + } }