Пример #1
0
        private DataTable LoadReportData()
        {
            DateTime dateGioDauCa;
            // lay gio cua ca
            DataTable dt = ThongTinCauHinh.GetThongTinCa(1);

            try
            {
                dateGioDauCa = Convert.ToDateTime(dt.Rows[0]["DauCa1"].ToString());
            }
            catch
            {
                dateGioDauCa = new DateTime(1900, 1, 1, 6, 0, 0);
            }
            DateTime TuNgay  = new DateTime(this.FromDate.Value.Year, this.FromDate.Value.Month, this.FromDate.Value.Day, dateGioDauCa.Hour, dateGioDauCa.Minute, dateGioDauCa.Second);
            DateTime DenNgay = this.ToDate.Value.Date;

            DenNgay = DenNgay.AddDays(1).Add(TuNgay.TimeOfDay.Add(new TimeSpan(0, 0, -1)));
            DataTable dtDHTheoNgay = new BC_4_9_TKeSoLieuDieuHanh().BaoCaoKQDieuHanhTheoNgay(TuNgay, DenNgay);

            lblTuNgayDen.Text = string.Format("({0:HH:mm dd/MM} - {1:HH:mm dd/MM})", TuNgay, DenNgay);
            //Tính tỷ trọng!
            object objSum;
            float  tyTrong;

            for (int i = 0; i < dtDHTheoNgay.Rows.Count; i++)
            {
                if (i != 0)
                {
                    string ngayInGroup = dtDHTheoNgay.Rows[i - 1]["NgayHienThi"].ToString();
                    if (dtDHTheoNgay.Rows[i]["NgayHienThi"].ToString() != ngayInGroup || i == (dtDHTheoNgay.Rows.Count - 1))
                    {
                        objSum = dtDHTheoNgay.Compute("Sum(TongGoiTaxi)", "NgayHienThi = " + "'" + ngayInGroup + "'");
                        foreach (DataRow dr in dtDHTheoNgay.Rows)
                        {
                            if (dr["NgayHienThi"].ToString() == ngayInGroup)
                            {
                                tyTrong       = (float.Parse(dr["TongGoiTaxi"].ToString()) / float.Parse(objSum.ToString())) * 100;
                                dr["TyTrong"] = tyTrong;
                            }
                        }
                    }
                }
            }
            return(dtDHTheoNgay);
        }
Пример #2
0
        public DataTable LayDuLieuBaoCao(int pIsCa)
        {
            DateTime  TuNgay  = FromDate.Value;
            DateTime  DenNgay = ToDate.Value;
            DataTable dtDHTheoNgay;

            if (pIsCa == 0)
            {
                dtDHTheoNgay = new BC_4_9_TKeSoLieuDieuHanh().BaoCaoKQDieuHanhTheoCa(TuNgay, DenNgay);
            }
            else if (pIsCa == 1)
            {
                dtDHTheoNgay = new BC_4_9_TKeSoLieuDieuHanh().BaoCaoKQDieuHanhTheoVung(TuNgay, DenNgay);
            }
            else
            {
                dtDHTheoNgay = new BC_4_9_TKeSoLieuDieuHanh().BaoCaoKQDieuHanhTheoGio(TuNgay, DenNgay);
            }

            //Tính tỷ trọng của báo cáo!
            object objSum;
            float  tyTrong;

            for (int i = 0; i <= dtDHTheoNgay.Rows.Count; i++)
            {
                if (i != 0)
                {
                    try
                    {
                        #region Tính tỷ trọng
                        if (pIsCa < 1)
                        {
                            string ngayInGroup = dtDHTheoNgay.Rows[i - 1]["NgayHienThi"].ToString();
                            string Ca          = dtDHTheoNgay.Rows[i - 1]["Ca"].ToString();
                            objSum = dtDHTheoNgay.Compute("Sum(TongGoiTaxi)", " NgayHienThi= " + "'" + ngayInGroup + "'");
                            foreach (DataRow dr in dtDHTheoNgay.Rows)
                            {
                                if (dr["Ca"].ToString() == Ca && dr["NgayHienThi"].ToString() == ngayInGroup && dr["NgayHienThi"].ToString().Length > 8)
                                {
                                    tyTrong       = (float.Parse(dr["TongGoiTaxi"].ToString()) / float.Parse(objSum.ToString())) * 100;
                                    dr["TyTrong"] = tyTrong;
                                }
                            }
                        }
                        else if (pIsCa == 1)
                        {
                            string ngayInGroup = dtDHTheoNgay.Rows[i - 1]["NgayHienThi"].ToString();
                            string vung        = dtDHTheoNgay.Rows[i - 1]["Vung"].ToString();
                            objSum = dtDHTheoNgay.Compute("Sum(TongGoiTaxi)", " NgayHienThi= " + "'" + ngayInGroup + "'");
                            foreach (DataRow dr in dtDHTheoNgay.Rows)
                            {
                                if (dr["Vung"].ToString() == vung && dr["NgayHienThi"].ToString() == ngayInGroup && dr["NgayHienThi"].ToString().Length > 8)
                                {
                                    if (objSum.ToString().Length > 1)
                                    {
                                        tyTrong       = (float.Parse(dr["TongGoiTaxi"].ToString()) / float.Parse(objSum.ToString())) * 100;
                                        dr["TyTrong"] = tyTrong;
                                    }
                                }
                            }
                        }
                        else if (pIsCa == 2)
                        {
                            string ngayInGroup = dtDHTheoNgay.Rows[i - 1]["NgayHienThi"].ToString();
                            string Gio         = dtDHTheoNgay.Rows[i - 1]["Gio"].ToString();
                            if (ngayInGroup == "TONG")
                            {
                                objSum = dtDHTheoNgay.Compute("Sum(TongGoiTaxi)", " NgayHienThi= " + "'" + ngayInGroup + "'" + " and Gio is null");
                            }
                            else
                            {
                                objSum = dtDHTheoNgay.Compute("Sum(TongGoiTaxi)", " NgayHienThi= " + "'" + ngayInGroup + "'" + " and Gio= " + "'" + Gio + "'");
                            }

                            foreach (DataRow dr in dtDHTheoNgay.Rows)
                            {
                                if (dr["NgayHienThi"].ToString() == ngayInGroup && dr["Gio"].ToString() == Gio && dr["NgayHienThi"].ToString().Length > 8)
                                {
                                    tyTrong       = (float.Parse(dr["TongGoiTaxi"].ToString()) / float.Parse(objSum.ToString())) * 100;
                                    dr["TyTrong"] = tyTrong;
                                }
                            }
                        }
                        #endregion
                    }
                    catch
                    {
                    }
                }
            }
            return(dtDHTheoNgay);
        }