コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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);
            //    }
            //}
        }