Example #1
0
 private void cbLoaiChamCong_Properties_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 {
     if (e.Button.Caption.Contains("hủy"))
     {
         ccKyHieu layMacDinhNghiCuoiTuan = DataProvider.Ins.DB.ccKyHieux.Where(q => q.MacDinh == 1).FirstOrDefault();
         cbLoaiChamCong.EditValue = layMacDinhNghiCuoiTuan.IDKyHieu;
         LoadUnchecked();
     }
 }
Example #2
0
        private void XUC_ChamCong_Load(object sender, EventArgs e)
        {
            ccKyHieuTableAdapter.Fill(anGiangDataSet1.ccKyHieu);
            ccXemChamCongTableAdapter1.Fill(anGiangDataSet1.ccXemChamCong, DateTime.Now.Month, DateTime.Now.Year);
            colHuongLuong.Caption = "Hưởng \nlương";
            colNgayPhep.Caption   = "Ngày \nphép";
            colPhepNam.Caption    = "Phép \nnăm";
            colAnTrua.Caption     = "Ăn \nTrưa";
            flyThongTinNhanVien.Options.CloseOnOuterClick = true;

            dateThangNam.EditValue           = DateTime.Now;
            dateThangNam.Properties.MaxValue = DateTime.Now;
            ccKyHieu layMacDinhNghiCuoiTuan = DataProvider.Ins.DB.ccKyHieux.Where(q => q.MacDinh == 1).SingleOrDefault();

            cbLoaiChamCong.EditValue = layMacDinhNghiCuoiTuan.IDKyHieu;
        }
Example #3
0
        private void dateThangNam_EditValueChanged(object sender, EventArgs e)
        {
            DateTime dt = dateThangNam.DateTime;
            //lấy danh sach nhân viên
            var nhanvien = DataProvider.Ins.DB.nvNhanViens.Where(q => q.DaXoa == 0 && (q.NgayLamViec.Value.Year == dt.Year && q.NgayLamViec.Value.Month <= dt.Month || q.NgayLamViec.Value.Year < dt.Year)).ToList();

            if (dt == null || nhanvien == null)
            {
                LoadDisable();
                return;
            }
            LoadEnable();
            //lấy số ngày trong tháng của năm
            _SoNgay = Tooler.Tools.GetDayInMoth(dt.Month, dt.Year);
            //giới hạng lại ngày
            txtBatDau.Properties.MaxValue = _SoNgay;
            //giới hạng lại ngày
            txtNgayKetThuc.Properties.MaxValue = _SoNgay;


            //lấy danh sách ID nhân viên làm việc
            List <long>  listIDNhanVien           = nhanvien.Select(x => x.IDNhanVien).ToList();
            var          chamcong                 = DataProvider.Ins.DB.ccChamCongs.Where(q => q.Thang == dt.Month && q.Nam == dt.Year && listIDNhanVien.Contains((long)q.NhanVienID)).ToList();
            List <long?> listNhanVienID           = chamcong.Select(x => x.NhanVienID).ToList(); //danh sách Id nhân viên có trong bảng chấm công
            var          DanhSachNhanVienChuaThem = DataProvider.Ins.DB.nvNhanViens.Where(q => q.DaXoa == 0 && (q.NgayLamViec.Value.Year == dt.Year && q.NgayLamViec.Value.Month <= dt.Month || q.NgayLamViec.Value.Year < dt.Year) && !listNhanVienID.Contains(q.IDNhanVien)).ToList();

            //lấy ký hiệu mặt định nghĩ cuối tuần
            //ngay lam 8 tieng
            ccKyHieu layMacDinh = DataProvider.Ins.DB.ccKyHieux.Where(q => q.MaKyHieu == "8").FirstOrDefault();
            //1: nghi ngay chu nhat
            ccKyHieu layMacDinhNghiChuNhat = DataProvider.Ins.DB.ccKyHieux.Where(q => q.MacDinh == 1).FirstOrDefault();
            //Ngay lam thu 7 4 tieng
            ccKyHieu layMacDinhNghiThuBay = DataProvider.Ins.DB.ccKyHieux.Where(q => q.MaKyHieu == "4").FirstOrDefault();

            //lấy danh sách cuối tuần
            _NgayNghi   = new List <int>();
            _NgayNghiT7 = new List <int>();
            for (int i = _SoNgay + 1; i <= 31; i++)
            {
                GridColumn col = gridView1.Columns.ColumnByFieldName(i.ToString());
                col.Visible = false;
            }
            for (int i = 1; i <= _SoNgay; i++)
            {
                DateTime   KiemTraCuoiTuan = new DateTime(dt.Year, dt.Month, i);
                GridColumn col             = gridView1.Columns.ColumnByFieldName(i.ToString());
                if (!col.Visible)
                {
                    col.Visible      = true;
                    col.VisibleIndex = i + 1;
                }

                if (KiemTraCuoiTuan.DayOfWeek == DayOfWeek.Sunday)
                {
                    _NgayNghi.Add(i);
                }
                if (KiemTraCuoiTuan.DayOfWeek == DayOfWeek.Saturday)
                {
                    _NgayNghiT7.Add(i);
                }
                if (_NgayNghi.Contains(i) || _NgayNghiT7.Contains(i))
                {
                    col.AppearanceHeader.BackColor = Color.DarkSalmon;
                    col.AppearanceCell.BackColor   = Color.DarkSalmon;
                }
                else
                {
                    col.AppearanceHeader.BackColor = Color.Transparent;
                    col.AppearanceCell.BackColor   = Color.Transparent;
                }
            }
            //kiểm tra xem còn nhân viền nào chưa được thêm vào bảng chấm công chưa nếu chưa thì thêm vào
            if (listIDNhanVien.Count != listNhanVienID.Count)
            {
                float ngaychunhat = _NgayNghi.Count;
                float ngaythubay  = _NgayNghiT7.Count;
                float ngaynghi    = ngaychunhat + ngaythubay / 2;
                float huongluong  = _SoNgay - ngaynghi;
                foreach (nvNhanVien nv in DanhSachNhanVienChuaThem)
                {
                    //thêm vào châm công mới
                    DataProvider.Ins.DB.pr_ThemChamCong(nv.IDNhanVien, dt.Month, dt.Year, _SoNgay, ngaynghi, huongluong);
                    //đưa số ngày vào chi tiết
                    DataProvider.Ins.DB.Entry(DataProvider.Ins.DB.ccChamCongs.Where(q => q.Thang == dt.Month && q.Nam == dt.Year && q.NhanVienID == nv.IDNhanVien).FirstOrDefault());
                    long IDChamCong = DataProvider.Ins.DB.ccChamCongs.Where(q => q.Thang == dt.Month && q.Nam == dt.Year && q.NhanVienID == nv.IDNhanVien).FirstOrDefault().IDChamCong;
                    for (int i = 1; i <= _SoNgay; i++)
                    {
                        if (_NgayNghi.Contains(i))
                        {
                            CapNhatChiTiet(nv.IDNhanVien, IDChamCong, i, layMacDinhNghiChuNhat.IDKyHieu);
                        }
                        else
                        if (_NgayNghiT7.Contains(i))
                        {
                            CapNhatChiTiet(nv.IDNhanVien, IDChamCong, i, layMacDinhNghiThuBay.IDKyHieu);
                        }
                        else
                        {
                            CapNhatChiTiet(nv.IDNhanVien, IDChamCong, i, layMacDinh.IDKyHieu);
                        }
                    }
                    DataProvider.Ins.DB.pr_LoadChamCong(IDChamCong);
                    DataProvider.Ins.DB.pr_bangLuongTongHop(1, (int?)nv.IDNhanVien, dt.Month, dt.Year);
                }
            }
            ccXemChamCongTableAdapter1.Fill(anGiangDataSet1.ccXemChamCong, dt.Month, dt.Year);
        }