private void btnThucHien_XemCong_Click(object sender, EventArgs e) { //1. validate ngày bắt đầu, kết thúc //2. chỉ cho xem các ngày chưa kết lương, các ngày đã kết lương thì xem bên chỗ khác DateTime NgayBD_XemCong, NgayKT_XemCong; if (Validate_NgayBD_NgayKT(dateEdit_NgayBDCC, dateEdit_NgayKTCC, out NgayBD_XemCong, out NgayKT_XemCong) == false) { return; } if (Validate_NgayXemCong(NgayBD_XemCong, NgayKT_XemCong) == false) { return; } List <cUserInfo> dsnv_DuocChon = new List <cUserInfo>(); LayDSNV_DuocChon(gridView_DSNV, dsnv_DuocChon); BUS_ChamCong busChamCong = new BUS_ChamCong(); FromToDateTime khoangTg = new FromToDateTime { From = NgayBD_XemCong, To = NgayKT_XemCong }; //đã bỏ phần giờ, lấy phần ngày busChamCong.XemCong(dsnv_DuocChon, khoangTg); DataTable table_KQ_XemCong; BUS_NhanVien busNhanVien = new BUS_NhanVien(); busNhanVien.XuatDataTableXemCong(dsnv_DuocChon, out table_KQ_XemCong); gridControl_BangCC.DataSource = table_KQ_XemCong; //ReloadThongKe(); }
internal void GetNgayLeData(FromToDateTime KhoangTG, out List <DateTime> listNgayLe) { DataTable tableNgayLe = SqlDataAccessHelper.ExecSPQuery(SPName6.Holiday_GetDataV6.ToString(), new SqlParameter("@From", KhoangTG.From), new SqlParameter("@To", KhoangTG.To)); listNgayLe = (from DataRow dataRow in tableNgayLe.Rows select(DateTime) dataRow["HDate"]).ToList(); }
public void GetXacNhanPhuCapNgayData(DataTable tableArrayUEN, FromToDateTime KhoangTG, out List <cXacNhanPhuCapNgay> DS_XN_PC_Ngay) { DataTable tableNgayCong = SqlDataAccessHelper.ExecSPQuery(SPName6.NgayCong_LayV6.ToString(), new SqlParameter { ParameterName = "@Array_UserEnrollNumber", Value = tableArrayUEN, SqlDbType = SqlDbType.Structured }, new SqlParameter("@From", KhoangTG.From), new SqlParameter("@To", KhoangTG.To)); DS_XN_PC_Ngay = new List <cXacNhanPhuCapNgay>(); foreach (DataRow dataRow in tableNgayCong.Rows) { cXacNhanPhuCapNgay item = new cXacNhanPhuCapNgay(); item.MaCC = (int)dataRow["UserEnrollNumber"]; item.Ngay = (DateTime)dataRow["Ngay"]; item.DuocTinhPCTC = (bool)dataRow["TinhPCTC"]; item.DuocTinhPCNgayNghi = (bool)dataRow["TinhPCNgayNghi"]; item.DuocTinhPCNgayLe = (bool)dataRow["TinhPCNgayLe"]; item.DuocTinhPCThuCong = (bool)dataRow["TinhPCThuCong"]; item.PhuCapTay = (float)dataRow["PhuCapTay"]; //item.TongPhuCap = (dataRow["TongPC"] != DBNull.Value) ? (float)dataRow["TongPC"] : 0f; //if (item.DuocTinhPCThuCong) item.PhuCapTay = item.TongPhuCap; DS_XN_PC_Ngay.Add(item); } }
public void GetCheckInCheckOutData(FromToDateTime KhoangThoiGian, List <int> ArrayUEN, out List <cCheck> ResultListCheck) { DataTable tableArrayUEN = MyUtility.Array_To_DataTable("tableName", ArrayUEN); DataTable tableCheck = SqlDataAccessHelper.ExecSPQuery(SPName6.CheckInOut_DocCheckChuaXuLyV6.ToString(), new SqlParameter("@From", KhoangThoiGian.From), new SqlParameter("@To", KhoangThoiGian.To), new SqlParameter { ParameterName = "@ArrayUserEnrollNumber", SqlDbType = SqlDbType.Structured, Value = tableArrayUEN }, new SqlParameter("@DaChamCong", false), new SqlParameter("@Loai", false)); ResultListCheck = new List <cCheck>(); foreach (DataRow dataRow in tableCheck.Rows) { cCheck check = new cCheck { MaCC = (int)dataRow["UserEnrollNumber"], Source = dataRow["Source"].ToString(), Time = (DateTime)dataRow["TimeStr"], MachineNo = (int)dataRow["MachineNo"], TypeColumn = dataRow["OriginType"].ToString() }; check.Type = (check.MachineNo % 2 == 1) ? "I" : "O"; ResultListCheck.Add(check); } }
//public void Load_DS_CIO_DaCC public void ChamCong2(List <cUserInfo> DSNV, FromToDateTime KhoangTG) { //ở cấp trên luôn kiểm tra có nhân viên mới chấm công List <int> arrayUEN = (from cUserInfo item in DSNV select item.MaCC).ToList(); List <cCheck> DSCheckInCheckOut; List <cCheck> DSCheck_BiLoai_All; DAL_CheckInCheckOut dal = new DAL_CheckInCheckOut(); dal.GetCheckInCheckOutData(KhoangTG, arrayUEN, out DSCheckInCheckOut); XuLy_Loai_CheckTrong30ph(arrayUEN, DSCheckInCheckOut, out DSCheck_BiLoai_All); // giữ check hợp lệ, loại check cùng loại, gần nhau, hoặc check nhầm IO trong 10ph // ghép check in- check out List <cCheck> DS_Check_A = new List <cCheck>(); List <cCheckInOut> DS_CIO_A = new List <cCheckInOut>(); foreach (cUserInfo nhanVien in DSNV) { DS_Check_A.Clear(); DS_CIO_A.Clear(); int ma_ChamCong = nhanVien.MaCC; DS_Check_A.AddRange(from item in DSCheckInCheckOut where item.MaCC == ma_ChamCong select item); DS_Check_A.Sort(new cCheckComparer()); GhepCIO_A2(DS_Check_A, DS_CIO_A); XetCa_ListCIO_A3_V6(DS_CIO_A, nhanVien.NhomCa.DSCa); TinhTGLV_Cong(DS_CIO_A); //LapDSNgayCongDeXuLy(nhanVien.DS_CIO_A, out nhanVien.DSNgayDangCC); dal.Insert_CheckInOutData(ma_ChamCong, DS_CIO_A); } }
public bool addInterval(FromToDateTime newInterval) { foreach (FromToDateTime interval in Intervals) { if (newInterval.Start < interval.End && interval.Start < newInterval.End) { return(false); } } Intervals.Add(newInterval); return(true); }
private void LapDSNgayCongDeXuLy(int MaCC, FromToDateTime KhoangTG, out List <cNgayCong> DSNgayDaCC) { DSNgayDaCC = new List <cNgayCong>(); for (DateTime i = KhoangTG.From; i <= KhoangTG.To; i = i.Add(GlobalVariables._1ngay)) { cNgayCong ngayCong = new cNgayCong { Ngay = i, MaCC = MaCC }; //ngayCong.DSVaoRa = (from cCheckInOut_DaCC item in DS_CIO_DaCC where item.Ngay == ngayCong.Ngay select item).ToList(); DSNgayDaCC.Add(ngayCong); } }
private void XemCong2(List <cUserInfo> DSNV, FromToDateTime KhoangTG) { List <int> arrayUEN = (from cUserInfo item in DSNV select item.MaCC).ToList(); DataTable tableArrayUEN = MyUtility.Array_To_DataTable("tableName", arrayUEN); List <cCheckInOut_DaCC> DS_CIO_DaCC; List <cXacNhanPhuCapNgay> DS_XN_PC_Ngay; List <cKhaiBaoVang> DS_KhaiBaoVang; List <DateTime> DS_NgayLe; DAL_CheckInCheckOut dal = new DAL_CheckInCheckOut(); dal.GetCIOData(tableArrayUEN, KhoangTG, out DS_CIO_DaCC); dal.GetXacNhanPhuCapNgayData(tableArrayUEN, KhoangTG, out DS_XN_PC_Ngay); dal.GetNgayVangData(tableArrayUEN, KhoangTG, out DS_KhaiBaoVang); dal.GetNgayLeData(KhoangTG, out DS_NgayLe); foreach (cUserInfo nhanvien in DSNV) { int maCC = nhanvien.MaCC; LapDSNgayCongDeXuLy(maCC, KhoangTG, out nhanvien.DSNgayDaCC); foreach (cXacNhanPhuCapNgay xacNhanPhuCapNgay in DS_XN_PC_Ngay) { cNgayCong ngayCoPhuCap = nhanvien.DSNgayDaCC.Single(item => item.Ngay == xacNhanPhuCapNgay.Ngay); ngayCoPhuCap.SetXacNhanPhuCap(xacNhanPhuCapNgay.DuocTinhPCTC, xacNhanPhuCapNgay.DuocTinhPCNgayNghi, xacNhanPhuCapNgay.DuocTinhPCNgayLe, xacNhanPhuCapNgay.DuocTinhPCThuCong, xacNhanPhuCapNgay.PhuCapTay); //ngayCoPhuCap.TinhLaiPhuCap(); } foreach (cKhaiBaoVang khaiBaoVang in DS_KhaiBaoVang) { cNgayCong ngayCoKBVang = nhanvien.DSNgayDaCC.Single(item => item.Ngay == khaiBaoVang.Ngay); ngayCoKBVang.DSVang.Add(khaiBaoVang); } foreach (DateTime ngayLe in DS_NgayLe) { cNgayCong ngayDuocChamCongLe = nhanvien.DSNgayDaCC.Single(item => item.Ngay == ngayLe); ngayDuocChamCongLe.IsHoliday = true; } foreach (cNgayCong ngayCong in nhanvien.DSNgayDaCC) { DateTime ngay = ngayCong.Ngay; foreach (cCheckInOut_DaCC CIO_DaCC in DS_CIO_DaCC.Where(item => item.Ngay == ngay && item.MaCC == maCC)) { ngayCong.Them_CheckInOut_DaCC(CIO_DaCC); } ngayCong.TinhLaiPhuCap(); } } }
public void GetNgayVangData(DataTable tableArrayUEN, FromToDateTime KhoangTG, out List <cKhaiBaoVang> DS_KhaiBaoVang) { DataTable tableKhaiBaoVang = SqlDataAccessHelper.ExecSPQuery(SPName6.Absent_GetDataV6.ToString(), new SqlParameter { ParameterName = "@Array_UserEnrollNumber", Value = tableArrayUEN, SqlDbType = SqlDbType.Structured }, new SqlParameter("@From", KhoangTG.From), new SqlParameter("@To", KhoangTG.To)); DS_KhaiBaoVang = new List <cKhaiBaoVang>(); foreach (DataRow dataRow in tableKhaiBaoVang.Rows) { cKhaiBaoVang khaiBaoVang = new cKhaiBaoVang(); khaiBaoVang.AbsentCode = dataRow["AbsentCode"].ToString(); khaiBaoVang.MaCC = (int)dataRow["UserEnrollNumber"]; khaiBaoVang.Ngay = (DateTime)dataRow["TimeDate"]; khaiBaoVang.Workingday = (float)dataRow["Workingday"]; khaiBaoVang.WorkingTime = (float)dataRow["WorkingTime"]; DS_KhaiBaoVang.Add(khaiBaoVang); } }
private void btnThucHien_CCThang_Click(object sender, EventArgs e) { //1. kiểm tra tháng chấm công hợp lệ, lấy dsnv ( chưa chọn thì báo) DateTime thangChamCong; if (Validate_ThangChamCong(dateEdit_ThangCC, out thangChamCong) == false) { return; } List <cUserInfo> dsnv_duocChon = new List <cUserInfo>(); LayDSNV_DuocChon(gridView_DSNV, dsnv_duocChon); BUS_ChamCong busChamCong = new BUS_ChamCong(); FromToDateTime khoangTg = new FromToDateTime { From = MyUtility.FirstDayOfMonth(thangChamCong), To = MyUtility.LastDayOfMonth(thangChamCong) }; busChamCong.ChamCong2(dsnv_duocChon, khoangTg); }
//动态产生用户操作界面 public void Generate_Controls(bool isSearch = false) { // top of textboxes int current_top = 10; int current_left = 80; int currentsearch_top = 20; int currentsearch_left = 10; // index used to match between each textbox and the properate column in grid int my_index = 14; int mysearch_index = 4; // iterate the grid and create textbox for each column int y = 0; _allValidator.Clear(); foreach (DataGridViewColumn col in dataGridView1.Columns) { if (FilterGenerateControl(col)) { continue; } // generate textboxes only for visible columns if (isSearch || col.Visible == true) { my_index++; // increase the top each time for space between textboxes current_top += 30; //// create a second column of textboxes (not all of them in 1 long column) if (my_index % 14 == 0) { current_top = 40; current_left += 350; } Control c; switch (col.ValueType.ToString()) { case "System.String": c = new CoolTextBox(); if (col.Name == "Pwd") { var cc = c as CoolTextBox; cc.IsPwd = true; } if (_InitFieldValues.ContainsKey("Rareword")) { foreach (ListItem r in _InitFieldValues["Rareword"]) { ((CoolTextBox)c).Items.Add(new AutoCompleteEntry(r.Name, r.ID)); } } break; case "System.Boolean": c = new CheckBox(); if (col.Name == "Enabled") { ((CheckBox)c).Checked = true; } //WFZ if (col.Name == "Year_exam") { ((CheckBox)c).Checked = true; } if (col.Name == "Pro_work_exam") { ((CheckBox)c).Checked = true; } break; case "System.DateTime": case "System.Nullable`1[System.DateTime]": c = new DateTimePicker(); break; case "System.Guid": c = new ComboBox(); break; default: c = new CoolTextBox(); if (_InitFieldValues.ContainsKey("Rareword")) { foreach (ListItem r in _InitFieldValues["Rareword"]) { ((CoolTextBox)c).Items.Add(new AutoCompleteEntry(r.Name, r.ID)); } } //if (col.Name == "SalesManageFee" || col.Name == "PurchaseTaxReturn") //{ // (CoolTextBox)c.item = "0"; //} break; } switch (col.Name) { case "Description": case "Decription": c = new RichTextBox(); ((RichTextBox)c).Height = 80; c.Top = current_top; current_top += 80; break; default: c.Top = current_top; break; } if (_InitFieldValues.ContainsKey(col.Name)) { c = new ComboBox(); c.Top = current_top; } RichTextBox l = new RichTextBox(); l.ReadOnly = true; l.Multiline = false; l.Height = 12; l.ScrollBars = RichTextBoxScrollBars.None; l.BorderStyle = BorderStyle.None; l.Text = col.HeaderCell.Value.ToString() + ":"; l.Top = current_top; l.Left = current_left; if (GridDataSourceType == DataSoruceType.SupplyUnit) { l.Width = 150; c.Width = 130; } else { l.Width = 100; c.Width = 180; } c.Left = current_left + l.Width; c.Name = col.Name; if (isSearch) { l.BackColor = Color.AliceBlue; if (SearchFields.Contains(col.Name)) { mysearch_index++; if (mysearch_index % 4 == 0) { currentsearch_top += 30; currentsearch_left = 10; } l.Top = currentsearch_top; l.Left = currentsearch_left; l.Width = 60; switch (col.Name) { case "Enabled": c = new ComboBox(); break; } c.Name = _SEARCHPREFIX + col.Name; c.Left = currentsearch_left + l.Width; c.Top = currentsearch_top; if (GridDataSourceType == DataSoruceType.UserLog) { c.Width = 280; } else { c.Width = 180; } InitControlOptions(c, true); if (!(c is CheckBox)) { this.bugsBoxFocusColorProvider1.SetFocusBackColor(c, System.Drawing.Color.MediumBlue); this.bugsBoxFocusColorProvider1.SetFocusForeColor(c, System.Drawing.Color.White); } searchGroupBox.Controls.Add(l); searchGroupBox.Controls.Add(c); currentsearch_left += l.Width + c.Width + 10; } } else { c.TabIndex = 0; l.TabIndex = 1; l.BackColor = Color.White; //处理验证 HandelValidation(l, c, col.HeaderCell.Value.ToString()); InitControlOptions(c); if (!(c is CheckBox)) { this.bugsBoxFocusColorProvider1.SetFocusBackColor(c, System.Drawing.Color.MediumBlue); this.bugsBoxFocusColorProvider1.SetFocusForeColor(c, System.Drawing.Color.White); } tabPageEdit.Controls.Add(l); tabPageEdit.Controls.Add(c); y++; } } } //修改自己密码 if (GridDataSourceType == DataSoruceType.User && listRU == null) { foreach (Control c in _tabPageEdit.Controls) { if (!(c is CoolTextBox || c is RichTextBox)) { c.Enabled = false; } } } //add按钮 if (GridDataSourceType == DataSoruceType.User) { // //btnEdu.Text = "参加培训情况"; // //btnPhyExam.Text = "参加体检情况"; // btnPhyExam.Width = 120; // btnEdu.Width = 120; // System.Drawing.Point p = new Point(250, 70 * 13 / 2);// // btnEdu.Location = p; // System.Drawing.Point p2 = new Point(450, 70 * 13 / 2);// // btnPhyExam.Location = p2; // tabPageEdit.Controls.Add(btnEdu); // tabPageEdit.Controls.Add(btnPhyExam); // btnEdu.Click += new System.EventHandler(btnEdu_click);// // //btnPhyExam.Click += new System.EventHandler(btnPhyExam_click);// } if (isSearch) { if (GridDataSourceType == DataSoruceType.UserLog) { FromToDateTime f = new FromToDateTime(); f.Left = 10; f.Top = 15; searchGroupBox.Controls.Add(f); currentsearch_top += 20; } searchGroupBox.Height = currentsearch_top + 40; } }
//public void internal void GetCIOData(DataTable tableArrayUEN, FromToDateTime KhoangTG, out List <cCheckInOut_DaCC> DS_CIO_DaCC) { DataTable tableCIO = SqlDataAccessHelper.ExecSPQuery(SPName6.CIO_GetData_V6.ToString(), new SqlParameter { ParameterName = "@Array_UserEnrollNumber", Value = tableArrayUEN, SqlDbType = SqlDbType.Structured }, new SqlParameter("@From", KhoangTG.From), new SqlParameter("@To", KhoangTG.To)); DS_CIO_DaCC = new List <cCheckInOut_DaCC>(); foreach (DataRow row in tableCIO.Rows) { cCheckInOut_DaCC cio = new cCheckInOut_DaCC(); cio.ID = (int)row["ID"]; cio.MaCC = (int)row["UserEnrollNumber"]; cio.Ngay = (DateTime)row["NgayCong"]; if (row["GioVao"] != DBNull.Value) { cio.GioVao = (DateTime)row["GioVao"]; } if (row["GioRa"] != DBNull.Value) { cio.GioRaa = (DateTime)row["GioRa"]; } cio.CheckVT = TrangThaiCheckVT((int)row["HaveINOUT"]); cio.KyHieuCa = row["KyHieuCa"].ToString(); //todo ký hiệu ca cio.Tre_Min = (int)row["Tre"]; cio.Som_Min = (int)row["Som"]; if (row["VaoSauCa"] != DBNull.Value) { cio.VaoSauCa = new TimeSpan(0, (int)row["VaoSauCa"], 0); } if (row["RaTruocCa"] != DBNull.Value) { cio.RaTruocCa = new TimeSpan(0, (int)row["RaTruocCa"], 0); } cio.VaoLamTron_Min = (int)row["Vao"]; cio.RaaLamTron_Min = (int)row["Ra"]; cio.BDCa_Min = (int)row["BDCa"]; cio.KTCa_Min = (int)row["KTCa"]; cio.BD_LV_Min = (int)row["BDLV"]; cio.KT_LV_TrongCa_Min = (int)row["KTLVTrongCa"]; cio.KT_LV_Min = (int)row["KTLV"]; cio.LunchMin = (int)row["SoPhutNghiTrua"]; cio.BD_LV_Ca3_Min = (int)row["BDLVCa3"]; cio.KT_LV_Ca3_Min = (int)row["KTLVCa3"]; cio.QuaDem = (bool)row["QuaDem"]; cio.ChoPhepTre = (bool)row["ChoPhepTre"]; cio.ChoPhepSom = (bool)row["ChoPhepSom"]; cio.VaoTuDo = (bool)row["VaoTuDo"]; cio.RaaTuDo = (bool)row["RaTuDo"]; cio.TinhCongThuCong = (bool)row["TinhCongThuCong"]; cio.CongTrongGio = (float)row["CongTrongGio"]; cio.CongNgoaiGio = (float)row["CongNgoaiGio"]; cio.TruCongTre = (float)row["TruCongTre"]; cio.TruCongSom = (float)row["TruCongSom"]; cio.ChamCongTay = (float)row["ChamCongTay"]; cio.CapNhatDinhMucCong(); cio.CapNhatDinhTongCong(); DS_CIO_DaCC.Add(cio); } }
public void XemCong(List <cUserInfo> DSNV, FromToDateTime KhoangTG) { ChamCong2(DSNV, KhoangTG); XemCong2(DSNV, KhoangTG); }