Exemplo n.º 1
0
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            dropDotDanhGia.DataSource = DotDanhGiaController.GetAll(1);
            dropDotDanhGia.DataBind();

            if (Session["IDDotDanhGia"] != null)
            {
                dropDotDanhGia.SelectedValue = Session["IDDotDanhGia"].ToString();
            }
            else
            {
                int idDotDanhActive = ConvertUtility.ToInt32(DotDanhGiaController.GetDaultDotDanhGia().Rows[0]["ID"]);
                dropDotDanhGia.SelectedValue = idDotDanhActive.ToString();
            }

            dropTrungTam.DataSource = BoPhanController.GetAll();
            dropTrungTam.DataBind();


            if (Session["IDTrungTam"] != null)
            {
                dropTrungTam.SelectedValue = Session["IDTrungTam"].ToString();
            }
            else
            {
                dropTrungTam.SelectedValue = CurrentUser.IDTrungTam.ToString();
            }

            lstNhanVien.Items.Clear();
            DataTable dtNhanVien = null;

            if (!CurrentUser.IsAdmin && !CurrentUser.IsSuperAdmin)
            {
                dtNhanVien = DotDanhGiaController.QuanLyNhanVienTheoNDG_ByNhanVienQuanLy(CurrentUser.UserID, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(dropTrungTam.SelectedValue));
            }
            else
            {
                dtNhanVien = DotDanhGiaController.GetAllNhanVien(ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 0, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));
            }

            if (dtNhanVien != null && dtNhanVien.Rows.Count > 0)
            {
                DataTable dtNew = dtNhanVien.Clone();

                foreach (DataRow item in dtNhanVien.Rows)
                {
                    DataRow rowNew = dtNew.NewRow();
                    rowNew["UserID"] = item["UserID"];

                    DataTable dtCongViec = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS_6_11_2014(ConvertUtility.ToInt32(item["UserID"]), 1, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    double tyTrongCVDuocGiao = 0;
                    foreach (DataRow row in dtCongViec.Rows)
                    {
                        tyTrongCVDuocGiao += Math.Round(ConvertUtility.ToDouble(row["TyTrong"]), 3);
                    }

                    rowNew["UserName"] = "******" + tyTrongCVDuocGiao + "%) " + item["UserName"].ToString();

                    dtNew.Rows.Add(rowNew);
                }

                lstNhanVien.DataSource = dtNew;
                lstNhanVien.DataBind();

                int idNhanVien = 0;

                if (Session["IDNhanVien"] != null)
                {
                    idNhanVien = ConvertUtility.ToInt32(Session["IDNhanVien"]);
                    try
                    {
                        lstNhanVien.SelectedValue = idNhanVien.ToString();
                    }
                    catch
                    {
                    }
                }

                lstCongViecDuocGiao.Items.Clear();
                QuanLyCongViecKTXVaPSController.LoadCongViec(lstCongViecDuocGiao.Items, ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 0, 1, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                lstCongViec.Items.Clear();
                QuanLyCongViecKTXVaPSController.LoadCongViecChuaDuocGiao(lstCongViec.Items, ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 0, 1, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                if (idNhanVien > 0)
                {
                    DataTable dtCongViecTX = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS_6_11_2014(idNhanVien, 1, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    DataTable dtCongViecTXNew = dtCongViecTX.Clone();

                    try
                    {
                        lstNhanVien.SelectedValue = idNhanVien.ToString();
                    }
                    catch (Exception)
                    {
                        lstNhanVien.SelectedIndex = -1;
                    }

                    #region Cong Viec Thuong Xuyen

                    foreach (ListItem item in lstCongViecDuocGiao.Items)
                    {
                        if (dtCongViecTX.Select("IDCongViecKPI = " + item.Value).Length > 0)
                        {
                            item.Attributes.Add("style", "color:blue");
                        }
                    }

                    foreach (DataRow item in dtCongViecTX.Rows)
                    {
                        DataRow row = dtCongViecTXNew.NewRow();

                        row["ID"]          = ConvertUtility.ToString(item["ID"]);
                        row["TenCVCha"]    = ConvertUtility.ToString(item["TenCVCha"]);
                        row["Ten"]         = item["Ten"];
                        row["NgayBatDau"]  = ConvertUtility.ToDateTime(item["NgayBatDau"]);  //.ToString("dd/MM/yyyy");
                        row["NgayKetThuc"] = ConvertUtility.ToDateTime(item["NgayKetThuc"]); //.ToString("dd/MM/yyyy");
                        row["KeHoach"]     = item["KeHoach"].ToString().Replace("\n", "<br /><br />").Replace("\r", "<br /><br />");
                        row["TyTrong"]     = Math.Round(ConvertUtility.ToDouble(item["TyTrong"]), 2).ToString();
                        row["SoGio"]       = Math.Round(ConvertUtility.ToDouble(item["SoGio"]), 2).ToString();
                        dtCongViecTXNew.Rows.Add(row);
                    }
                    dgrNhanVienCVTX.DataSource = dtCongViecTXNew;

                    #endregion

                    #region ty trong cong viec da giao

                    DataTable dtCongViecThuongXuyen = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS(idNhanVien, 1, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    double tyTrongCVThuongXuyen = 0;
                    double SoGioCVThuongXuyen   = 0;
                    foreach (DataRow item in dtCongViecThuongXuyen.Rows)
                    {
                        tyTrongCVThuongXuyen += ConvertUtility.ToDouble(item["TyTrong"]);
                        SoGioCVThuongXuyen   += ConvertUtility.ToDouble(item["SoGio"]);
                    }

                    DataTable dtCongViecKTH = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS(idNhanVien, 2, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    double tyTrongCVKeHoachThang = 0;
                    double SoGioCVKeHoachThang   = 0;
                    foreach (DataRow item in dtCongViecKTH.Rows)
                    {
                        tyTrongCVKeHoachThang += ConvertUtility.ToDouble(item["TyTrong"]);
                        SoGioCVKeHoachThang   += ConvertUtility.ToDouble(item["SoGio"]);
                    }

                    DataTable dtCongViecPhatSinh = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS(idNhanVien, 3, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    double tyTrongCVPhatSinh = 0;
                    double SoGioCVPhatSinh   = 0;
                    foreach (DataRow item in dtCongViecPhatSinh.Rows)
                    {
                        tyTrongCVPhatSinh += ConvertUtility.ToDouble(item["TyTrong"]);
                        SoGioCVPhatSinh   += ConvertUtility.ToDouble(item["SoGio"]);
                    }

                    lblTyTrongCVThuongXuyen.Text  = Math.Round(tyTrongCVThuongXuyen, 2).ToString() + "% <br/>" + Math.Round(SoGioCVThuongXuyen, 2).ToString() + "h";
                    lblTyTrongCVKeHoachThang.Text = Math.Round(tyTrongCVKeHoachThang, 2).ToString() + "% <br/>" + Math.Round(SoGioCVKeHoachThang, 2).ToString() + "h";
                    lblTyTrongCVPhatSinh.Text     = Math.Round(tyTrongCVPhatSinh, 2).ToString() + "% <br/>" + Math.Round(SoGioCVPhatSinh, 2).ToString() + "h";
                    lblTongTyTrong.Text           = Math.Round((tyTrongCVThuongXuyen + tyTrongCVKeHoachThang + tyTrongCVPhatSinh), 2) + "% <br />" + Math.Round((SoGioCVThuongXuyen + SoGioCVKeHoachThang + SoGioCVPhatSinh), 2) + "h";

                    #endregion
                }
            }
            dgrNhanVienCVTX.DataBind();
        }
        protected void btnLayCongViecThangTruoc_Click(object sender, EventArgs e)
        {
            QuanLyCongViecKTXVaPSController.ClearAllCongViecTheoBoPhanVaDotDanhGia(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 1);

            #region Copy cong viec thuong xuyen cua thang truoc

            DataTable dt = new DataTable();

            dt.Columns.Add("ID", typeof(string));
            dt.Columns.Add("Ten", typeof(string));
            dt.Columns.Add("TyTrong", typeof(string));
            dt.Columns.Add("SoGio", typeof(string));
            dt.Columns.Add("ParentID", typeof(string));
            dt.Columns.Add("Priority", typeof(string));
            dt.Columns.Add("KeHoach", typeof(string));
            dt.Columns.Add("DonViDo", typeof(string));
            dt.Columns.Add("IDTrungTam", typeof(string));
            dt.Columns.Add("IDPhongBan", typeof(string));
            dt.Columns.Add("Loai", typeof(string));
            dt.Columns.Add("IDDotDanhGia", typeof(string));
            dt.Columns.Add("LevelDeep", typeof(string));
            dt.Columns.Add("NgayBatDau", typeof(string));
            dt.Columns.Add("NgayKetThuc", typeof(string));
            dt.Columns.Add("TrangThaiCV", typeof(string));
            dt.Columns.Add("TuanLamViec", typeof(string));
            dt.Columns.Add("IDNhomCongViec", typeof(string));
            DataTable source = QuanLyCongViecKTXVaPSController.LoadCongViecForCopyNew(dt, ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 0, 1, ConvertUtility.ToInt32(dropDotDanhGiaCopy.SelectedValue));

            DataRow[] row      = source.Select("ParentID=0");
            int       parentId = 0;
            foreach (DataRow item in row)
            {
                QuanLyCongViecKTXVaPSInfo info = new QuanLyCongViecKTXVaPSInfo();

                info.Ten            = ConvertUtility.ToString(item["Ten"]);
                info.TyTrong        = ConvertUtility.ToDouble(item["TyTrong"]);
                info.SoGio          = ConvertUtility.ToDouble(item["SoGio"]);
                info.ParentID       = 0;
                info.Priority       = ConvertUtility.ToInt32(item["Priority"]);
                info.KeHoach        = ConvertUtility.ToString(item["KeHoach"]);
                info.DonViDo        = ConvertUtility.ToString(item["DonViDo"]);
                info.IDTrungTam     = ConvertUtility.ToInt32(item["IDTrungTam"]);
                info.IDPhongBan     = ConvertUtility.ToInt32(item["IDPhongBan"]);
                info.Loai           = ConvertUtility.ToInt32(item["Loai"]);
                info.IDDotDanhGia   = ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue);
                info.LevelDeep      = ConvertUtility.ToInt32(item["LevelDeep"]);
                info.NgayBatDau     = ConvertUtility.ToDateTime(item["NgayBatDau"]).AddMonths(1);
                info.NgayKetThuc    = ConvertUtility.ToDateTime(item["NgayKetThuc"]).AddMonths(1);
                info.TrangThaiCV    = ConvertUtility.ToInt32(item["TrangThaiCV"]);
                info.TuanLamViec    = ConvertUtility.ToString(item["TuanLamViec"]);
                info.IDNhomCongViec = ConvertUtility.ToInt32(item["IDNhomCongViec"]);
                if (ConvertUtility.ToInt32(item["ID"]) == 31279)
                {
                    string a = "a";
                }
                info.OldID = ConvertUtility.ToInt32(item["ID"]);

                try
                {
                    parentId = QuanLyCongViecKTXVaPSController.Insert_6_11_2014(info);

                    #region Log Action

                    LogFileInfo logFileInfo = new LogFileInfo();
                    logFileInfo.Log_Action         = "Add";
                    logFileInfo.Log_Type_Object    = "QuanLyCongViecKPI";
                    logFileInfo.Item_CatID         = "Cong Viec thuong xuyen";
                    logFileInfo.Item_ID            = info.ID.ToString();
                    logFileInfo.Item_Name          = info.Ten;
                    logFileInfo.Description_Before = "Old Data: ";
                    logFileInfo.Description_After  = "Add KPI with info: <br />" + GetObjectInfo(info);
                    logFileInfo.UserName           = CurrentUser.Username;
                    logFileInfo.UserID             = CurrentUser.UserID;
                    CreateLogFile.LogAction(logFileInfo);

                    #endregion

                    InsertCongViecCon(source, item, parentId, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

                    lblStatusUpdate.Text = MiscUtility.MSG_UPDATE_SUCCESS;
                }
                catch (Exception ex)
                {
                    lblStatusUpdate.Text = ex.Message;
                }
            }

            UpdateCapDoCongViec(ConvertUtility.ToInt32(dropTrungTam.SelectedValue), ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue));

            #endregion

            #region Lay cac nhan vien va cac cong viec duoc giao thang truoc --> thuc hien giao viec

            //lay tat ca nhan vien cua trung tam
            DataTable dtNhanVien = DotDanhGiaController.GetAllNhanVienTemp(ConvertUtility.ToInt32(dropTrungTam.SelectedValue), 0);

            foreach (DataRow item in dtNhanVien.Rows)
            {
                try
                {
                    string[] array      = item["UserID"].ToString().Split('_');
                    int      idNhanVien = ConvertUtility.ToInt32(array[0]);
                    int      idBoPhan   = ConvertUtility.ToInt32(array[2]);

                    DataSet ds = DotDanhGiaController.GetPTDG(idNhanVien, ConvertUtility.ToInt32(item["IDPhong"]));

                    DataTable dtNDG = ds.Tables[0];

                    int idNguoiDanhGia = 0;
                    if (dtNDG != null && dtNDG.Rows.Count > 0)
                    {
                        idNguoiDanhGia = ConvertUtility.ToInt32(dtNDG.Rows[0]["IDNguoiDG"]);
                    }

                    DotDanhGiaController.UpdateNhanVienVaoDotDanhGia(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), idNhanVien, ConvertUtility.ToInt32(array[2]), ConvertUtility.ToInt32(array[1]), idNguoiDanhGia, 0);

                    #region Update cong viec cho nhan vien theo thang

                    DataTable dtCongViec = DotDanhGiaController.GetAllCongViecGiaoChoNhanVienKTXVaPS_6_11_2014(idNhanVien, 1, ConvertUtility.ToInt32(dropDotDanhGiaCopy.SelectedValue));

                    if (dtCongViec != null && dtCongViec.Rows.Count > 0)
                    {
                        foreach (DataRow rowCV in dtCongViec.Rows)
                        {
                            DanhGiaThang_DGCBCNVDanhGiaTTCVInfo info = new DanhGiaThang_DGCBCNVDanhGiaTTCVInfo();

                            info.IDDotDanhGia = ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue);
                            info.IDNhanVien   = idNhanVien;
                            info.TenCongViec  = ConvertUtility.ToString(rowCV["Ten"]);
                            int idCongViecKPI = ConvertUtility.ToInt32(rowCV["IDCongViecKPI"]);

                            QuanLyCongViecKTXVaPSInfo infoCongViecKPI = QuanLyCongViecKTXVaPSController.GetInfoByOldID(idCongViecKPI);

                            if (infoCongViecKPI != null)
                            {
                                info.IDBoPhan   = ConvertUtility.ToInt32(rowCV["IDBoPhan"]);
                                info.IDPhongBan = ConvertUtility.ToInt32(rowCV["IDPhongBan"]);
                                info.TyTrongCV  = Math.Round(ConvertUtility.ToDouble(rowCV["TyTrong"]), 2);
                                info.SoGio      = Math.Round(ConvertUtility.ToDouble(rowCV["SoGio"]), 2);

                                DotDanhGiaController.UpdateCongViecChoNhanVien(idNhanVien, infoCongViecKPI.ID, ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), info.IDBoPhan, info.IDPhongBan, info.TyTrongCV, info.SoGio);

                                info.SoLieuCamKet  = ConvertUtility.ToString(rowCV["KeHoach"]);
                                info.YeuCauHoTro   = "";
                                info.Loai          = 1;
                                info.IDCongViec    = infoCongViecKPI.ID;
                                info.IDBoPhanHoTro = 0;
                                info.IDBoPhan      = ConvertUtility.ToInt32(rowCV["IDBoPhan"]);
                                info.IDPhongBan    = ConvertUtility.ToInt32(rowCV["IDPhongBan"]);
                                info.NgayBatDau    = ConvertUtility.ToDateTime(rowCV["NgayBatDau"]).AddMonths(1);
                                info.NgayKetThuc   = ConvertUtility.ToDateTime(rowCV["NgayKetThuc"]).AddMonths(1);

                                DanhGiaThang_DGCBCNVDanhGiaTTCVController.InsertKeHoachThang(info);
                            }
                        }
                    }

                    #endregion
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            #endregion
            Session["Nav"] = "1";
        }