diff --git a/ManagementSystem/App.config b/ManagementSystem/App.config
index d21211e..e22c84e 100644
--- a/ManagementSystem/App.config
+++ b/ManagementSystem/App.config
@@ -5,12 +5,12 @@
-
-
+
-
+
+
diff --git a/ManagementSystem/HRDataCorrect.Designer.cs b/ManagementSystem/HRDataCorrect.Designer.cs
index d294e5c..2fc7dd9 100644
--- a/ManagementSystem/HRDataCorrect.Designer.cs
+++ b/ManagementSystem/HRDataCorrect.Designer.cs
@@ -78,6 +78,18 @@
this.cMemberIDDetail = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.cSignTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.cSignOutTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.tbPage3 = new System.Windows.Forms.TabPage();
+ this.dgvDetail2 = new System.Windows.Forms.DataGridView();
+ this.btnUpdate2 = new System.Windows.Forms.Button();
+ this.dtPickerSignIn = new System.Windows.Forms.DateTimePicker();
+ this.dtPickerSignOut = new System.Windows.Forms.DateTimePicker();
+ this.cbSignIn1 = new System.Windows.Forms.CheckBox();
+ this.cbSignOut1 = new System.Windows.Forms.CheckBox();
+ this.clSignID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.clMemberID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.clMemberName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.clSignIn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.clSignOut = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dgvHRItem)).BeginInit();
this.tsButtons.SuspendLayout();
this.tbPage.SuspendLayout();
@@ -85,6 +97,8 @@
((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).BeginInit();
this.tbPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvDetail1)).BeginInit();
+ this.tbPage3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvDetail2)).BeginInit();
this.SuspendLayout();
//
// dgvHRItem
@@ -282,6 +296,7 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.tbPage.Controls.Add(this.tbPage1);
this.tbPage.Controls.Add(this.tbPage2);
+ this.tbPage.Controls.Add(this.tbPage3);
this.tbPage.Location = new System.Drawing.Point(353, 78);
this.tbPage.Name = "tbPage";
this.tbPage.SelectedIndex = 0;
@@ -616,6 +631,132 @@
this.cSignOutTime.ReadOnly = true;
this.cSignOutTime.Width = 250;
//
+ // tbPage3
+ //
+ this.tbPage3.Controls.Add(this.cbSignOut1);
+ this.tbPage3.Controls.Add(this.cbSignIn1);
+ this.tbPage3.Controls.Add(this.dtPickerSignOut);
+ this.tbPage3.Controls.Add(this.dtPickerSignIn);
+ this.tbPage3.Controls.Add(this.btnUpdate2);
+ this.tbPage3.Controls.Add(this.dgvDetail2);
+ this.tbPage3.Location = new System.Drawing.Point(4, 29);
+ this.tbPage3.Name = "tbPage3";
+ this.tbPage3.Size = new System.Drawing.Size(1546, 648);
+ this.tbPage3.TabIndex = 2;
+ this.tbPage3.Text = "打卡時間修正";
+ this.tbPage3.UseVisualStyleBackColor = true;
+ //
+ // dgvDetail2
+ //
+ this.dgvDetail2.AllowUserToAddRows = false;
+ this.dgvDetail2.AllowUserToDeleteRows = false;
+ this.dgvDetail2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dgvDetail2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvDetail2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.clSignID,
+ this.clMemberID,
+ this.clMemberName,
+ this.clSignIn,
+ this.clSignOut});
+ this.dgvDetail2.Location = new System.Drawing.Point(3, 3);
+ this.dgvDetail2.Name = "dgvDetail2";
+ this.dgvDetail2.RowTemplate.Height = 24;
+ this.dgvDetail2.Size = new System.Drawing.Size(1540, 548);
+ this.dgvDetail2.TabIndex = 0;
+ this.dgvDetail2.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDetail2_CellClick);
+ //
+ // btnUpdate2
+ //
+ this.btnUpdate2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.btnUpdate2.Location = new System.Drawing.Point(3, 611);
+ this.btnUpdate2.Name = "btnUpdate2";
+ this.btnUpdate2.Size = new System.Drawing.Size(92, 32);
+ this.btnUpdate2.TabIndex = 1;
+ this.btnUpdate2.Text = "更正";
+ this.btnUpdate2.UseVisualStyleBackColor = true;
+ this.btnUpdate2.Click += new System.EventHandler(this.btnUpdate2_Click);
+ //
+ // dtPickerSignIn
+ //
+ this.dtPickerSignIn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.dtPickerSignIn.CustomFormat = "yyyy-MM-dd HH:mm:ss";
+ this.dtPickerSignIn.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtPickerSignIn.Location = new System.Drawing.Point(134, 567);
+ this.dtPickerSignIn.Name = "dtPickerSignIn";
+ this.dtPickerSignIn.Size = new System.Drawing.Size(192, 29);
+ this.dtPickerSignIn.TabIndex = 14;
+ //
+ // dtPickerSignOut
+ //
+ this.dtPickerSignOut.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.dtPickerSignOut.CustomFormat = "yyyy-MM-dd HH:mm:ss";
+ this.dtPickerSignOut.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtPickerSignOut.Location = new System.Drawing.Point(485, 567);
+ this.dtPickerSignOut.Name = "dtPickerSignOut";
+ this.dtPickerSignOut.Size = new System.Drawing.Size(192, 29);
+ this.dtPickerSignOut.TabIndex = 16;
+ //
+ // cbSignIn1
+ //
+ this.cbSignIn1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.cbSignIn1.AutoSize = true;
+ this.cbSignIn1.Location = new System.Drawing.Point(20, 572);
+ this.cbSignIn1.Name = "cbSignIn1";
+ this.cbSignIn1.Size = new System.Drawing.Size(108, 24);
+ this.cbSignIn1.TabIndex = 17;
+ this.cbSignIn1.Text = "簽到時間:";
+ this.cbSignIn1.UseVisualStyleBackColor = true;
+ //
+ // cbSignOut1
+ //
+ this.cbSignOut1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.cbSignOut1.AutoSize = true;
+ this.cbSignOut1.Location = new System.Drawing.Point(371, 572);
+ this.cbSignOut1.Name = "cbSignOut1";
+ this.cbSignOut1.Size = new System.Drawing.Size(108, 24);
+ this.cbSignOut1.TabIndex = 18;
+ this.cbSignOut1.Text = "簽退時間:";
+ this.cbSignOut1.UseVisualStyleBackColor = true;
+ //
+ // clSignID
+ //
+ this.clSignID.DataPropertyName = "SignID";
+ this.clSignID.HeaderText = "簽署日期";
+ this.clSignID.Name = "clSignID";
+ this.clSignID.ReadOnly = true;
+ //
+ // clMemberID
+ //
+ this.clMemberID.DataPropertyName = "MemberID";
+ this.clMemberID.HeaderText = "人員帳號";
+ this.clMemberID.Name = "clMemberID";
+ this.clMemberID.ReadOnly = true;
+ this.clMemberID.Width = 150;
+ //
+ // clMemberName
+ //
+ this.clMemberName.DataPropertyName = "MemberName";
+ this.clMemberName.HeaderText = "人員名稱";
+ this.clMemberName.Name = "clMemberName";
+ this.clMemberName.ReadOnly = true;
+ this.clMemberName.Width = 150;
+ //
+ // clSignIn
+ //
+ this.clSignIn.DataPropertyName = "SignTime";
+ this.clSignIn.HeaderText = "簽到時間";
+ this.clSignIn.Name = "clSignIn";
+ this.clSignIn.Width = 200;
+ //
+ // clSignOut
+ //
+ this.clSignOut.DataPropertyName = "SignOutTime";
+ this.clSignOut.HeaderText = "簽退時間";
+ this.clSignOut.Name = "clSignOut";
+ this.clSignOut.Width = 200;
+ //
// HRDataCorrect
//
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 20F);
@@ -642,6 +783,9 @@
((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).EndInit();
this.tbPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvDetail1)).EndInit();
+ this.tbPage3.ResumeLayout(false);
+ this.tbPage3.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvDetail2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -698,5 +842,17 @@
private System.Windows.Forms.Button btnPickProject;
private System.Windows.Forms.DateTimePicker dtPickStart;
private System.Windows.Forms.Button btnDEL;
+ private System.Windows.Forms.TabPage tbPage3;
+ private System.Windows.Forms.DataGridView dgvDetail2;
+ private System.Windows.Forms.Button btnUpdate2;
+ private System.Windows.Forms.DateTimePicker dtPickerSignOut;
+ private System.Windows.Forms.DateTimePicker dtPickerSignIn;
+ private System.Windows.Forms.CheckBox cbSignOut1;
+ private System.Windows.Forms.CheckBox cbSignIn1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn clSignID;
+ private System.Windows.Forms.DataGridViewTextBoxColumn clMemberID;
+ private System.Windows.Forms.DataGridViewTextBoxColumn clMemberName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn clSignIn;
+ private System.Windows.Forms.DataGridViewTextBoxColumn clSignOut;
}
}
\ No newline at end of file
diff --git a/ManagementSystem/HRDataCorrect.cs b/ManagementSystem/HRDataCorrect.cs
index 6af5f2f..56e765c 100644
--- a/ManagementSystem/HRDataCorrect.cs
+++ b/ManagementSystem/HRDataCorrect.cs
@@ -215,6 +215,16 @@ namespace ManagementSystem
}
}
break;
+ case "tbPage3": //更正簽到資料
+ if(cbSignIn1.Checked)
+ {
+ sbSQL.AppendLine("Update OTB_HR_CheckAttendance Set SignTime = '" + dtPickerSignIn.Text.Trim() + "' Where SignID ='" + dgvDetail2.CurrentRow.Cells["clSignID"].Value.ToString() +"' And MemberID = '" + dgvDetail2.CurrentRow.Cells["clMemberID"].Value.ToString() + "';");
+ }
+ if (cbSignOut1.Checked)
+ {
+ sbSQL.AppendLine("Update OTB_HR_CheckAttendance Set SignOutTime = '" + dtPickerSignOut.Text.Trim() + "' Where SignID ='" + dgvDetail2.CurrentRow.Cells["clSignID"].Value.ToString() + "' And MemberID = '" + dgvDetail2.CurrentRow.Cells["clMemberID"].Value.ToString() + "';");
+ }
+ break;
}
using (SqlDataAdapter sqlAdapter = new SqlDataAdapter())
@@ -468,6 +478,19 @@ namespace ManagementSystem
dgvDetail1.DataSource = UtilityClass.GetSQLResult(strSQL.ToString()).Tables["Result"];
Application.DoEvents();
+ break;
+ case "tbPage3":
+ //更正打卡資料
+ strSQL.Append(" Select B.SignID,A.MemberID, A.MemberName, B.SignTime, B.SignOutTime From OTB_SYS_Members A left Join OTB_HR_CheckAttendance B on A.MemberID = B.MemberID ");
+ strSQL.Append(" Where 1 = 1 ");
+ strSQL.Append(" and A.Effective = 'Y' ");
+ strSQL.Append(" and A.AskLeaveGuid in ('28fec832-43bc-4a80-9d90-0036f0afb979', '2b312d72-ea6b-4a31-b94f-a506349558e2', '86C99B29-90B5-44EB-A7A8-172D319EAB66', '9e6e5f9f-fdb3-4da5-81d5-f5aba85acafd') ");
+ strSQL.Append(" and SignID Between '" + dpStart.Text.ToString().Replace("-","") + "' and '" + dpEnd.Text.ToString().Replace("-", "") + "'");
+ strSQL.Append(" And A.MemberID = '" + (string)dgvHRItem.CurrentRow.Cells["cMemberID"].Value + "'");
+ strSQL.Append(" Order by SignID DESC");
+
+ dgvDetail2.DataSource = UtilityClass.GetSQLResult(strSQL.ToString()).Tables["Result"];
+ Application.DoEvents();
break;
}
}
@@ -546,5 +569,27 @@ namespace ManagementSystem
txtEventID.Text = "";
GetCurrentData();
}
+
+ private void btnUpdate2_Click(object sender, EventArgs e)
+ {
+ SaveEven();
+ int intNowRow = dgvDetail2.Rows.IndexOf(dgvDetail2.CurrentRow);
+ CleanForm();
+ GetCurrentData();
+ dgvDetail2.Rows[intNowRow].Selected = true;
+ }
+
+ private void dgvDetail2_CellClick(object sender, DataGridViewCellEventArgs e)
+ {
+ dtPickerSignIn.Value = (DateTime)dgvDetail2.CurrentRow.Cells["clSignIn"].Value;
+ if (dgvDetail2.CurrentRow.Cells["clSignOut"].Value.GetType().ToString() != "System.DBNull")
+ {
+ dtPickerSignOut.Value = (DateTime)dgvDetail2.CurrentRow.Cells["clSignOut"].Value;
+ }
+ else
+ {
+ dtPickerSignOut.Value = (DateTime)dgvDetail2.CurrentRow.Cells["clSignIn"].Value;
+ }
+ }
}
}
diff --git a/ManagementSystem/HRDataCorrect.resx b/ManagementSystem/HRDataCorrect.resx
index 7f6ede3..1af7e5d 100644
--- a/ManagementSystem/HRDataCorrect.resx
+++ b/ManagementSystem/HRDataCorrect.resx
@@ -157,12 +157,12 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE0SURBVDhPrZI9TsQwEIWNqEArio29QoKLAA1wAURBDeIG
- i1YIlrVDw78Q4iQU3IEKpeACVJQ0gQjFIxzGZrwK2N5qnzRyYr/vZeyYTUWLx0ZwpU+EhNN2ZTmsd4dm
- iWxpOVhBE5QNUlCIvOmQ1ambmwV6/BUZUwE41o9sp5llrJkRUh/iB3McB4SnA7iEc6Gqkt7vse64givH
- KDhb7pu5iQHi6OsdgQu7zqV+6Em9Ikb1Hq7dYhd9B1slA8ZVlRa2XjzYTduZA70mB+AWcr1qfZmEDYQv
- HdRWOgBhqdesh+BrB/xXLGB+8PkxhvE+dA7KypljCgK2i2/fqoftvDPHFOngmY/qffwDNx62RfZQQcBQ
- v2UKXoQqTHue7KHSh/i3yB6qJ2FL7L5CDPKF23ki+zTF2A8WdlpZmqw56gAAAABJRU5ErkJggg==
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE0SURBVDhPrZI/TsMwFMaNmEAVQ2NXSHARYAEuAAsziBsU
+ VaiU2mbhvxDiJAzcgYkycAEmRpZAhOInHJ7NSxWw3amf9OTE/n5fnh2zqWjxyAquzLGQcNKsTMN6e2CX
+ yJaWhxVUQbkgBc9CVy2yerW1XaDHX5ExFYBj+cB2qlnGqhkhzSF+UOPYIzwdwCWcCVXk9H6HdcsVXHpG
+ wely185NDBD9r3cEzt06l+a+I82KGJZ7uHaDXXQ97JQMGFeRO9h58WA3XWcerDU5ALegzarzZRI2EL7w
+ UFPpAISlWXMegq888F+xgPne58cYxvvQOsgLb44pCNgefdet1rCb9+aYIh088WG5j3/guoZdkT1UEDAw
+ b5mCF6FGtjlP9lDpQ/xbZA/VkbAldl8hBtWF23kk+zTF2A8SslpWH0fCAwAAAABJRU5ErkJggg==
@@ -182,11 +182,11 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD6SURBVDhPYxg8wGTGrYUm9Sv+5Sw/8//MpSv/D588A8Zv
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD6SURBVDhPYxg8wGTGrYUm9cv/5Sw/8//MpSv/D588A8Zv
PnyE48ylp/8bT7/dANWCCkCaTWbc/g8yYNPeff+nLl0GxugGgNRgNQQkAcKB04/8P3vt+v/N+/f/33Ps
OFzzq/cf/vtOPQxWA8JQbQgAk9DtPPbfD6gQZBsyBmnW7TpG2ABiMVQbAmBThA9DtSEATMJ94b3/xdse
/S/ejoqLgGJuQDmCBlx5+g4l5JHxpcfvCBsAUnj9zr3/5y5dRcHX794HyxFtACgxIWOQGF4DjKdcgxuA
- D4PUGE25immATsveFbr1E/4t2n3qPz4MUqPRtGcJVNuAAwYGAHi5rr9VRdxzAAAAAElFTkSuQmCC
+ D4PUGE25immATsveFbr1/f8W7T71Hx8GqdFo2rMEqm3AAQMDAHC0rrsKssgcAAAAAElFTkSuQmCC
@@ -221,15 +221,15 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIwSURBVDhPYwCBbbkM7Msy2OYvz+AoBwuQChalsyccnBH2
- f0m97b81hRLBUGHiwfQYVv3d9RqvDjdJ/N9ULb+rPpSBDSpFPFhbLF24L0327/p8/u/T41msT63mN/z/
+ f3G97b81hRLBUGHiwfQYVv3d9RqvDjdJ/N9ULb+rPpSBDSpFPFhbLF24L1X27/p8/u/T41msT63mN/z/
n4ERKk0cWJotuGFDrcj/S5sd7j+9GHb+/HwGAagUYXB+PYPApU0i015etf/5+lz2/x0RZj8nCDKdh0oT
- BsdWMggdXym4aWaM+L+j5tr/z+pr/VmTqPTuxgG1+VdWMfBAleEHjUwMWfNZGX6v9eD//vxM9v/fz/z+
+ BsdWMggdXym4aUaM+L+j5tr/z+pp/VmTqPTuxgG1+VdWMfBAleEHjUwMWfNZGX6v9eD//vxM9v/fz/z+
v7qm+//6fqUTh1cxyEGV4QahDAzMK7OZ8j/cdgNqDv3/+bbL//fXNf7fPCz0/9YZt5sXNovrQJXiBmfX
Mxg/OWf0/8ttg/+/Hjv8f3RS9v+9k2L/bx6S/v/wXNCzSzs1Y6BKsYOD8xhkrxzRevXsrOT/D9c0/j8/
o/b/zmHZ/3ePyf+/dVjt/6Nz/t8vbhFfCFWOAThEuBgkT21WOn7nsMz/B8fk/r+4ZPb/3lGV/1d38/9/
- dN7h/8X95h/XTBNMA6rFCFhuIJYGYu2p9fwNB1cb/rt9WPX/3SPS/+8eN/1/ZL/934OLhe64WjKEWOoy
+ dN7h/8X95h/XTBNMA6rFCFhuIJYGYu2p9fwNB1YZ/rt9WPX/3SPS/+8eN/1/eL/934OLhe64WjKEWOoy
2AHVyQMxPxDDAcwALSC2PLBc5czNg4b/9++3/LlvseSdKTU8Kzg5Gfz4uRkcgfJ6QIxhAAiA8oAoECuI
- iTHoTatlqEoOYohSkADbaATEoFhQBmIJIOYCYryACYhZgZgDikGGMwMxEmBgAADmct9J8i9l/gAAAABJ
+ iTHoTatlqEoOYohSkADbaATEoFhQBmIJIOYCYryACYhZgZgDikGGMwMxEmBgAADX2N9CI/UuaAAAAABJ
RU5ErkJggg==
@@ -243,6 +243,21 @@
CaTgwF0eFjADuKEMMjCDGAA8oeSBTJU/ZwAAAABJRU5ErkJggg==
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
True
@@ -310,6 +325,6 @@
True
- 53
+ 46
\ No newline at end of file