private void frmInChamCong_Load(object sender, EventArgs e) { string nguoiLapBaoCao = Program.NhanVien_Login.Ho + " " + Program.NhanVien_Login.Ten; clsChiTietChamCong_BUS BUSCTCC = new clsChiTietChamCong_BUS(); DataTable dt = BUSCTCC.LayBangChiTietChamCongNV(ucTL.MaCC); int TongNgayNghi = 0; int NghiCoPhep = 0; int NghiKhongPhep = 0; for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { if (dt.Rows[i][j].ToString() == "K") { NghiKhongPhep++; } if (dt.Rows[i][j].ToString() == "P") { NghiCoPhep++; } } } TongNgayNghi = NghiCoPhep + NghiKhongPhep; rptChamCong.ZoomPercent = 100; rptChamCong.LocalReport.ReportEmbeddedResource = "GUI.rptInChamCong.rdlc"; rptChamCong.LocalReport.DataSources.Add(new ReportDataSource("dsChamCongNV", dt)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraThang", ucTL.Thang.ToString(), false)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraNam", ucTL.Nam.ToString(), false)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraNguoiLapBaoCao", nguoiLapBaoCao, false)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraTongNgayNghi", TongNgayNghi.ToString(), false)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraCoPhep", NghiCoPhep.ToString(), false)); rptChamCong.LocalReport.SetParameters(new ReportParameter("paraKhongPhep", NghiKhongPhep.ToString(), false)); this.rptChamCong.RefreshReport(); }
public frmBangChamCong(ucChamCong ucTL) { InitializeComponent(); this.ucTL = ucTL; dgvBangChamCong.AutoGenerateColumns = false; clsPhongBan_BUS BUSPB = new clsPhongBan_BUS(); List <clsPhongBan_DTO> lsPhongBan = new List <clsPhongBan_DTO>(); DayInMonth = DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang); // Trả về tháng đó có bao nhiêu ngày if (ucTL.Nam == DateTime.Now.Year && ucTL.Thang == DateTime.Now.Month) { for (var i = 1; i <= DayInMonth; i++) { var col = "col" + i; dgvBangChamCong.Columns[col].Visible = true; dgvBangChamCong.Columns[col].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; } for (var i = DateTime.Now.Day + 1; i <= DayInMonth; i++) { var col = "col" + i; dgvBangChamCong.Columns[col].ReadOnly = true; dgvBangChamCong.Columns[col].DefaultCellStyle.BackColor = Color.Gray; } } else { for (var i = 1; i <= DayInMonth; i++) { var col = "col" + i; dgvBangChamCong.Columns[col].Visible = true; dgvBangChamCong.Columns[col].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; } } lblBangChamCong.Text = string.Format("Bảng chấm công tháng {0} năm {1}", ucTL.Thang, ucTL.Nam); clsChiTietChamCong_BUS BUSCTCC = new clsChiTietChamCong_BUS(); List <clsChiTietChamCong_DTO> lsChiTiet = BUSCTCC.LayChiTiet(ucTL.MaCC); for (int i = 0; i < lsChiTiet.Count; i++) { string Ho = lsChiTiet[i].NhanVien.Ho; string Ten = lsChiTiet[i].NhanVien.Ten; string MaNV = lsChiTiet[i].NhanVien.MaNV; string PB = lsChiTiet[i].NhanVien.PhongBan; dgvBangChamCong.Rows.Add(ucTL.MaCC, Ho, Ten, MaNV, PB, lsChiTiet[i].D1, lsChiTiet[i].D2, lsChiTiet[i].D3, lsChiTiet[i].D4, lsChiTiet[i].D5, lsChiTiet[i].D6, lsChiTiet[i].D7, lsChiTiet[i].D8, lsChiTiet[i].D9, lsChiTiet[i].D10, lsChiTiet[i].D11, lsChiTiet[i].D12, lsChiTiet[i].D13, lsChiTiet[i].D14, lsChiTiet[i].D15, lsChiTiet[i].D16, lsChiTiet[i].D17, lsChiTiet[i].D18, lsChiTiet[i].D19, lsChiTiet[i].D20, lsChiTiet[i].D21, lsChiTiet[i].D22, lsChiTiet[i].D23, lsChiTiet[i].D24, lsChiTiet[i].D25, lsChiTiet[i].D26, lsChiTiet[i].D27, lsChiTiet[i].D28, lsChiTiet[i].D29, lsChiTiet[i].D30, lsChiTiet[i].D31); } // Chấm công tự động cho ngày chủ nhật ChamCongTuDong(); }
private void btnDongY_Click(object sender, EventArgs e) { clsChamCong_BUS BUSCC = new clsChamCong_BUS(); clsNhanVien_BUS BUSNV = new clsNhanVien_BUS(); clsChiTietChamCong_BUS BUSCTCC = new clsChiTietChamCong_BUS(); clsChamCong_DTO ChamCong = new clsChamCong_DTO(); List <clsNhanVien_DTO> lsNhanVien = new List <clsNhanVien_DTO>(); DataGridViewRow r = dgvPhongBan.CurrentRow; ChamCong.MaCC = "CC" + (BUSCC.LaySoLuong() + 1).ToString(); ChamCong.Thang = ucTL.Thang; ChamCong.Nam = ucTL.Nam; ChamCong.Phong = r.Cells[0].Value.ToString(); //Thêm dữ liệu vào CHAMCONG if (BUSCC.KiemTraPhongChamCong(ChamCong.Thang, ChamCong.Nam, ChamCong.Phong) == false) { BUSCC.ThemBangChamCong(ChamCong); DataGridView dgvChamCong = ucTL.Controls.Find("dgvChamCong", true).FirstOrDefault() as DataGridView; dgvChamCong.DataSource = BUSCC.LayBangChamCong(); // Lấy phòng ban vừa được chọn để chấm công clsPhongBan_DTO PB = new clsPhongBan_DTO(); PB.MAPB = ChamCong.Phong; List <clsPhongBan_DTO> lsPB = new List <clsPhongBan_DTO>(); lsPB.Add(PB); //Lấy danh sách nhân viên theo phòng ban lsNhanVien = BUSNV.LayDanhSachNhanVienCC(lsPB); for (int i = 0; i < lsNhanVien.Count; i++) { clsChiTietChamCong_DTO ChiTietCC = new clsChiTietChamCong_DTO(); ChiTietCC.MaCC = ChamCong.MaCC; ChiTietCC.MaNV = lsNhanVien[i].MaNV; BUSCTCC.ThemChiTietChamCong(ChiTietCC); this.Close(); } clsNhatKy_BUS BUSNK = new clsNhatKy_BUS(); BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("{0} đã tạo bảng chấm công {1}", Program.NhanVien_Login.TaiKhoan, ChamCong.MaCC)); } else { MessageBox.Show(string.Format("Đã chấm công cho phòng {0} tháng {1} năm {2}", r.Cells[1].Value.ToString(), ChamCong.Thang, ChamCong.Nam)); } }
private void btnLuu_Click(object sender, EventArgs e) { bool Flag = true; // Kiểm tra đã chấm công đủ chưa //foreach (DataGridViewRow rw in this.dgvBangChamCong.Rows) //{ // for (int i = 1; i <= DateTime.Now.Day; i++) // { // if (rw.Cells["col" + i].Value == null || rw.Cells["col" + i].Value == DBNull.Value || String.IsNullOrWhiteSpace(rw.Cells["col" + i].Value.ToString())) // { // Flag = false; // string Ngay = dgvBangChamCong.Columns[rw.Cells["col" + i].ColumnIndex].Name.Replace("col", ""); // string NV = rw.Cells["colMaNV"].Value.ToString(); // MessageBox.Show(string.Format("Lỗi: Chưa chấm công ngày {0} cho nhân viên {1}", Ngay, NV), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); // rw.Selected = true; // dgvBangChamCong.CurrentRow.Selected = false; // break; // } // } // if (Flag == false) // break; //} if (Flag == true) // Đã chấm công đủ { //List<clsChiTietChamCong_BUS> lsChamCong = new List<clsChiTietChamCong_BUS>(); //string sql = "UPDATE CHITIETCHAMCONG SET"; //for (int i = 0; i < dgvBangChamCong.Rows.Count; i++) //{ // clsChiTietChamCong_DTO ChiTietCC = new clsChiTietChamCong_DTO(); // for(int j = 1; i <= DateTime.Now.Day; j++) // { // // } // string SoGio = dgvBangChamCong.Rows[i].Cells["col" + DateTime.Now.Day].Value.ToString(); // string MaNV = dgvBangChamCong.Rows[i].Cells["colMaNV"].Value.ToString(); // string Ngay = DateTime.Now.Day.ToString(); // string MaCC = ucTL.MaCC; //} //MessageBox.Show("Đã lưu dữ liệu chấm công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); //clsNhatKy_BUS BUSNK = new clsNhatKy_BUS(); //BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Đã lưu dữ liệu chấm công có mã {0} cho ngày {1} của tháng {2} năm {3}", ucTL.MaCC, DateTime.Now.Day.ToString(), ucTL.Thang, ucTL.Nam)); //_btnLuu = true; clsChiTietChamCong_BUS BUSCTCC = new clsChiTietChamCong_BUS(); if (ucTL.Thang != DateTime.Now.Month && ucTL.Nam != DateTime.Now.Year) { for (int i = 0; i < dgvBangChamCong.Rows.Count; i++) { string sql = "UPDATE CHITIETCHAMCONG SET "; for (int j = 1; j <= DateTime.Now.Day; j++) { sql += string.Format("D{0} = '{1}',", j, dgvBangChamCong.Rows[i].Cells["col" + j].Value); } int ViTri = sql.LastIndexOf(","); sql = sql.Substring(0, ViTri); sql += string.Format(" WHERE MACC = '{0}' AND MANV = '{1}'", ucTL.MaCC, dgvBangChamCong.Rows[i].Cells["colMaNV"].Value); BUSCTCC.CapNhatChamCong(sql); } } else // Không phải là tháng và năm hiện tại { for (int i = 0; i < dgvBangChamCong.Rows.Count; i++) { string sql = "UPDATE CHITIETCHAMCONG SET "; for (int j = 1; j <= DayInMonth; j++) { sql += string.Format("D{0} = '{1}',", j, dgvBangChamCong.Rows[i].Cells["col" + j].Value); } int ViTri = sql.LastIndexOf(","); sql = sql.Substring(0, ViTri); sql += string.Format(" WHERE MACC = '{0}' AND MANV = '{1}'", ucTL.MaCC, dgvBangChamCong.Rows[i].Cells["colMaNV"].Value); BUSCTCC.CapNhatChamCong(sql); } } _btnLuu = true; btnLuu.Enabled = false; } //List<clsChiTietChamCong_DTO> lsChamCong = new List<clsChiTietChamCong_DTO>(); //bool Flag = true; // Kiểm tra đã chấm công đủ chưa //int Days = DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang); //foreach (DataGridViewRow rw in this.dgvBangChamCong.Rows) //{ // for (int i = 1; i <= DateTime.Now.Day; i++) // { // if (rw.Cells["col" + i].Value == null || rw.Cells["col" + i].Value == DBNull.Value || String.IsNullOrWhiteSpace(rw.Cells["col" + i].Value.ToString())) // { // Flag = false; // string Ngay = dgvBangChamCong.Columns[rw.Cells["col" + i].ColumnIndex].Name.Replace("col", ""); // string NV = rw.Cells["colMaNV"].Value.ToString(); // MessageBox.Show(string.Format("Lỗi: Chưa chấm công ngày {0} cho nhân viên {1}", Ngay, NV), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); // rw.Selected = true; // dgvBangChamCong.CurrentRow.Selected = false; // break; // } // } // if (Flag == false) // break; //} //if (Flag) //{ // for (int i = 0; i < dgvBangChamCong.Rows.Count; i++) // { // clsChiTietChamCong_DTO ChamCong = new clsChiTietChamCong_DTO(); // ChamCong.MaNV = dgvBangChamCong.Rows[i].Cells["colMaNV"].Value.ToString(); // ChamCong.Thang = ucTL.Thang; // ChamCong.Nam = ucTL.Nam; // ChamCong.D1 = dgvBangChamCong.Rows[i].Cells["col1"].Value.ToString(); // ChamCong.D2 = dgvBangChamCong.Rows[i].Cells["col2"].Value.ToString(); // ChamCong.D3 = dgvBangChamCong.Rows[i].Cells["col3"].Value.ToString(); // ChamCong.D4 = dgvBangChamCong.Rows[i].Cells["col4"].Value.ToString(); // ChamCong.D5 = dgvBangChamCong.Rows[i].Cells["col5"].Value.ToString(); // ChamCong.D6 = dgvBangChamCong.Rows[i].Cells["col6"].Value.ToString(); // ChamCong.D7 = dgvBangChamCong.Rows[i].Cells["col7"].Value.ToString(); // ChamCong.D8 = dgvBangChamCong.Rows[i].Cells["col8"].Value.ToString(); // ChamCong.D9 = dgvBangChamCong.Rows[i].Cells["col9"].Value.ToString(); // ChamCong.D10 = dgvBangChamCong.Rows[i].Cells["col10"].Value.ToString(); // ChamCong.D11 = dgvBangChamCong.Rows[i].Cells["col11"].Value.ToString(); // ChamCong.D12 = dgvBangChamCong.Rows[i].Cells["col12"].Value.ToString(); // ChamCong.D13 = dgvBangChamCong.Rows[i].Cells["col13"].Value.ToString(); // ChamCong.D14 = dgvBangChamCong.Rows[i].Cells["col14"].Value.ToString(); // ChamCong.D15 = dgvBangChamCong.Rows[i].Cells["col15"].Value.ToString(); // ChamCong.D16 = dgvBangChamCong.Rows[i].Cells["col16"].Value.ToString(); // ChamCong.D17 = dgvBangChamCong.Rows[i].Cells["col17"].Value.ToString(); // ChamCong.D18 = dgvBangChamCong.Rows[i].Cells["col18"].Value.ToString(); // ChamCong.D19 = dgvBangChamCong.Rows[i].Cells["col19"].Value.ToString(); // ChamCong.D20 = dgvBangChamCong.Rows[i].Cells["col20"].Value.ToString(); // ChamCong.D21 = dgvBangChamCong.Rows[i].Cells["col21"].Value.ToString(); // ChamCong.D22 = dgvBangChamCong.Rows[i].Cells["col22"].Value.ToString(); // ChamCong.D23 = dgvBangChamCong.Rows[i].Cells["col23"].Value.ToString(); // ChamCong.D24 = dgvBangChamCong.Rows[i].Cells["col24"].Value.ToString(); // ChamCong.D25 = dgvBangChamCong.Rows[i].Cells["col25"].Value.ToString(); // ChamCong.D26 = dgvBangChamCong.Rows[i].Cells["col26"].Value.ToString(); // ChamCong.D27 = dgvBangChamCong.Rows[i].Cells["col27"].Value.ToString(); // if (DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang) == 28) // { // ChamCong.D28 = dgvBangChamCong.Rows[i].Cells["col28"].Value.ToString(); // } // else if (DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang) == 29) // { // ChamCong.D28 = dgvBangChamCong.Rows[i].Cells["col28"].Value.ToString(); // ChamCong.D29 = dgvBangChamCong.Rows[i].Cells["col29"].Value.ToString(); // } // else if (DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang) == 30) // { // ChamCong.D28 = dgvBangChamCong.Rows[i].Cells["col28"].Value.ToString(); // ChamCong.D29 = dgvBangChamCong.Rows[i].Cells["col29"].Value.ToString(); // ChamCong.D30 = dgvBangChamCong.Rows[i].Cells["col30"].Value.ToString(); // } // else if (DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang) == 31) // { // ChamCong.D28 = dgvBangChamCong.Rows[i].Cells["col28"].Value.ToString(); // ChamCong.D29 = dgvBangChamCong.Rows[i].Cells["col29"].Value.ToString(); // ChamCong.D30 = dgvBangChamCong.Rows[i].Cells["col30"].Value.ToString(); // ChamCong.D30 = dgvBangChamCong.Rows[i].Cells["col31"].Value.ToString(); // } // ChamCong.Thang = ucTL.Thang; // ChamCong.Nam = ucTL.Nam; // lsChamCong.Add(ChamCong); // } // clsChiTietChamCong_BUS BUS = new clsChiTietChamCong_BUS(); // if (BUS.ThemBangChamCong(DateTime.DaysInMonth(ucTL.Nam, ucTL.Thang), lsChamCong)) // { // MessageBox.Show("Đã lưu dữ liệu chấm công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); // clsNhatKy_BUS BUSNK = new clsNhatKy_BUS(); // int SoLuongCC = BUS.LaySoLuong(); // BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Tạo bảng chấm công có mã CC{0} tháng {1} năm {2}", SoLuongCC, ucTL.Thang, ucTL.Nam)); // _btnLuu = true; // this.Hide(); // frm_PhongBan.Close(); // } // else // { // MessageBox.Show("Lỗi", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); // } //} }