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(); } }
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; }
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); }