Пример #1
0
        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();
        }
Пример #2
0
        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();
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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();
                }
            }
        }
Пример #9
0
        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);
            }
        }
Пример #10
0
        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);
        }
Пример #11
0
        //动态产生用户操作界面
        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;
            }
        }
Пример #12
0
        //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);
 }