コード例 #1
0
ファイル: ScoreDay.aspx.cs プロジェクト: cycle13/QiXiang_YBPF
        //计算全部在下面
        protected void Button_Calculate_Click(object sender, EventArgs e)
        {
            LiveData_BLL liveBll   = new LiveData_BLL();
            DateTime     startTime = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime     endTime   = startTime.AddMonths(1);

            if (liveBll.DataCheck(startTime, DropDownList_YBTime.SelectedItem.Value))
            {
                JavaScriptHelper.Loading("大人请稍后,奴才正在拼命计算...");


                Score_Day_BLL bll = new Score_Day_BLL();
                if (DropDownList_YBTime.SelectedItem.Value == "08时")
                {
                    bll.Caculate08_ByYbUser(startTime, endTime);
                }
                else
                {
                    bll.Caculate20_ByYbUser(startTime, endTime);
                }
                JavaScriptHelper.UnLoading();

                Response.Write("<script language=javascript defer>alert('计算完成!');</script>");
            }
            else
            {
                Response.Write("<script language=javascript defer>alert('抱歉,该月实况数据不完整,请校验!');</script>");
            }
        }
コード例 #2
0
        protected void Repeater_YbUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Score_Day_BLL bll = new Score_Day_BLL();

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Repeater Repeater_YbUser_Morning = (Repeater)e.Item.FindControl("Repeater_YbUser_Morning");
                //找到分类Repeater关联的数据项
                YBUsers_Date_ViewModel drv = (YBUsers_Date_ViewModel)e.Item.DataItem;
                //提取分类ID
                DateTime date      = (DateTime)drv.Date;
                DateTime next_date = (DateTime)drv.Next_Date;
                //根据分类ID查询该分类下的产品,并绑定产品Repeater
                List <Score_Day> mlist = bll.GetList(a => a.YBTime == "08时" && a.YBDate == next_date).OrderBy(a => a.YBUserName).OrderBy(a => a.YbUsers.Order).ToList();


                Repeater_YbUser_Morning.DataSource = mlist;
                Repeater_YbUser_Morning.DataBind();

                Repeater Repeater_YbUser_Night = (Repeater)e.Item.FindControl("Repeater_YbUser_Night");


                //根据分类ID查询该分类下的产品,并绑定产品Repeater
                List <Score_Day> nlist = bll.GetList(a => a.YBTime == "20时" && a.YBDate == date).OrderBy(a => a.YBUserName).OrderBy(a => a.YbUsers.Order).ToList();


                Repeater_YbUser_Night.DataSource = nlist;
                Repeater_YbUser_Night.DataBind();
            }
        }
コード例 #3
0
        public void Query()
        {
            DateTime startTime = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime endTime   = startTime.AddMonths(1).AddDays(-1);
            //YbUsers_BLL bll = new YbUsers_BLL();
            Score_Day_BLL bll = new Score_Day_BLL();
            //List<Score_Day> list = bll.GetList(a => a.YBTime == DropDownList_YBTime.SelectedItem.Value && a.YBDate >= startTime && a.YBDate < endTime).OrderBy(a=>a.YBDate).ToList();


            //var


            List <YBUsers_Date_ViewModel> list = new List <YBUsers_Date_ViewModel>();
            TimeSpan ts = endTime - startTime;

            for (int i = 0; i <= ts.Days; i++)
            {
                YBUsers_Date_ViewModel vm = new YBUsers_Date_ViewModel()
                {
                    Date      = startTime.AddDays(i),
                    Next_Date = startTime.AddDays(i + 1),
                };
                list.Add(vm);
            }

            Repeater_YbUser.DataSource = list;
            Repeater_YbUser.DataBind();
        }
コード例 #4
0
ファイル: ScoreDay.aspx.cs プロジェクト: cycle13/QiXiang_YBPF
        protected void Button_Add08_Click(object sender, EventArgs e)
        {
            Score_Day_BLL bll       = new Score_Day_BLL();
            DateTime      startTime = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime      endTime   = startTime.AddMonths(1);

            JavaScriptHelper.Loading("大人请稍后,奴才正在拼命计算...");

            int count = bll.Add08_User(startTime, endTime);

            JavaScriptHelper.UnLoading();

            Response.Write("<script language=javascript defer>alert('计算完成,共计:" + count.ToString() + "条数据!');</script>");
        }
コード例 #5
0
        void rpt_night_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "DeleteUser")
            {
                string        sid   = e.CommandArgument.ToString().Split(',')[0].ToString();
                Guid          scoid = Guid.Parse(sid);
                Score_Day_BLL bll   = new Score_Day_BLL();
                bll.Delete(a => a.ScoreID == scoid);

                Query();

                Response.Write("<script>alert('删除成功!')</script>");
            }
        }
コード例 #6
0
ファイル: ScoreDay.aspx.cs プロジェクト: cycle13/QiXiang_YBPF
        public void BindData()
        {
            Score_Day_BLL bll                   = new Score_Day_BLL();
            DateTime      startTime             = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime      endTime               = startTime.AddMonths(1).AddDays(-1);
            List <PF.Models.SQL.Score_Day> list = new List <Score_Day>();

            if (DropDownList_YBUser.SelectedItem.Value == "全部")
            {
                list = bll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime && a.YBTime == DropDownList_YBTime.SelectedItem.Value).OrderBy(a => a.YBDate).ToList();
            }
            else
            {
                list = bll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime && a.YBTime == DropDownList_YBTime.SelectedItem.Value && a.YBUserName == DropDownList_YBUser.SelectedItem.Value).OrderBy(a => a.YBDate).ToList();
            }
            GridView_List.DataSource = list;
            GridView_List.DataBind();
        }
コード例 #7
0
        protected void Button_AddUser_Click(object sender, EventArgs e)
        {
            DateTime      currentDay     = ASPxDateEdit_YBDate.Date;
            Score_Day_BLL scBll          = new Score_Day_BLL();
            Score_Day     groupScoreDay  = scBll.Get(a => a.YBTime == DropDownList_Time_AddUser.SelectedItem.Value && a.YBDate == currentDay && a.YBUserName == "集体");
            Score_Day     exceptScoreDay = new Score_Day()
            {
                ScoreID          = Guid.NewGuid(),
                AllTotal         = groupScoreDay.AllTotal,
                CreateTime       = DateTime.Now,
                MaxTemp24        = groupScoreDay.MaxTemp24,
                MaxTemp48        = groupScoreDay.MaxTemp48,
                MaxTemp72        = groupScoreDay.MaxTemp72,
                MinTemp24        = groupScoreDay.MinTemp24,
                MinTemp48        = groupScoreDay.MinTemp48,
                MinTemp72        = groupScoreDay.MinTemp72,
                Rainfall24       = groupScoreDay.Rainfall24,
                Rainfall24Total  = groupScoreDay.Rainfall24Total,
                Rainfall48       = groupScoreDay.Rainfall48,
                Rainfall48Total  = groupScoreDay.Rainfall48Total,
                Rainfall72       = groupScoreDay.Rainfall72,
                Rainfall72Total  = groupScoreDay.Rainfall72Total,
                RainShine24      = groupScoreDay.RainShine24,
                RainShine48      = groupScoreDay.RainShine48,
                RainShine72      = groupScoreDay.RainShine72,
                Rainstorm24      = groupScoreDay.Rainstorm24,
                Rainstorm24Total = groupScoreDay.Rainstorm24Total,
                Rainstorm48      = groupScoreDay.Rainstorm48,
                Rainstorm48Total = groupScoreDay.Rainstorm48Total,
                YBDate           = groupScoreDay.YBDate,
                YBTime           = groupScoreDay.YBTime,
                YBUserID         = Guid.Parse(DropDownList_YbUser.SelectedItem.Value),
                YBUserName       = DropDownList_YbUser.SelectedItem.Text,
                Remark           = "来自集体"
            };

            scBll.Add(exceptScoreDay);
            Query();

            Response.Write("<script language=javascript defer>alert('添加成功!');</script>");
        }
コード例 #8
0
        public void Calculate()
        {
            Score_Day_BLL dayBll = new Score_Day_BLL();

            DateTime         startTime     = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime         endTime       = startTime.AddMonths(1).AddDays(-1);
            List <Score_Day> dayList       = dayBll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime && a.YBUserName != "集体").OrderBy(a => a.YBDate).ToList();
            List <Score_Day> dayList_Group = dayBll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime && a.YBUserName == "集体").OrderBy(a => a.YBDate).ToList();


            List <Score_Month> list = new List <Score_Month>();

            foreach (var day in dayList)
            {
                var day_group = dayList_Group.Where(a => a.YBDate == day.YBDate && a.YBTime == day.YBTime).FirstOrDefault();


                double Ts晴雨    = Math.Round(((double)day.RainShine24 / (double)day.AllTotal * 10 / 24 + (double)day.RainShine48 / (double)day.AllTotal * 8 / 24 + (double)day.RainShine72 / (double)day.AllTotal * 6 / 24) * 100, 2);
                double Ts晴雨_集体 = Math.Round(((double)day_group.RainShine24 / (double)day_group.AllTotal * 10 / 24 + (double)day_group.RainShine48 / (double)day_group.AllTotal * 8 / 24 + (double)day_group.RainShine72 / (double)day_group.AllTotal * 6 / 24) * 100, 2);

                double Ts高温    = Math.Round(((double)day.MaxTemp24 / (double)day.AllTotal * 10 / 24 + (double)day.MaxTemp48 / (double)day.AllTotal * 8 / 24 + (double)day.MaxTemp72 / (double)day.AllTotal * 6 / 24) * 100, 2);
                double Ts高温_集体 = Math.Round(((double)day_group.MaxTemp24 / (double)day_group.AllTotal * 10 / 24 + (double)day_group.MaxTemp48 / (double)day_group.AllTotal * 8 / 24 + (double)day_group.MaxTemp72 / (double)day_group.AllTotal * 6 / 24) * 100, 2);

                double Ts低温    = Math.Round(((double)day.MinTemp24 / (double)day.AllTotal * 10 / 24 + (double)day.MinTemp48 / (double)day.AllTotal * 8 / 24 + (double)day.MinTemp72 / (double)day.AllTotal * 6 / 24) * 100, 2);
                double Ts低温_集体 = Math.Round(((double)day_group.MinTemp24 / (double)day_group.AllTotal * 10 / 24 + (double)day_group.MinTemp48 / (double)day_group.AllTotal * 8 / 24 + (double)day_group.MinTemp72 / (double)day_group.AllTotal * 6 / 24) * 100, 2);


                //个人降水
                double rainfall24 = 100;
                if (day.Rainfall24 != null && day.Rainfall24Total != null)
                {
                    rainfall24 = (double)day.Rainfall24 / (double)day.Rainfall24Total * 100;
                }
                double rainfall48 = 100;
                if (day.Rainfall48 != null && day.Rainfall48Total != null)
                {
                    rainfall48 = (double)day.Rainfall48 / (double)day.Rainfall48Total * 100;
                }
                double rainfall72 = 100;
                if (day.Rainfall72 != null && day.Rainfall72Total != null)
                {
                    rainfall72 = (double)day.Rainfall72 / (double)day.Rainfall72Total * 100;
                }
                double Ts降水 = Math.Round(rainfall24 * 10 / 24 + rainfall48 * 8 / 24 + rainfall72 * 6 / 24, 2);
                if (day.Rainfall24 == null && day.Rainfall48 == null && day.Rainfall72 == null)
                {
                    Ts降水 = 0.00;
                }

                //集体降水
                double rainfall24_group = 100;
                if (day_group.Rainfall24 != null && day_group.Rainfall24Total != null)
                {
                    rainfall24_group = (double)day_group.Rainfall24 / (double)day_group.Rainfall24Total * 100;
                }
                double rainfall48_group = 100;
                if (day_group.Rainfall48 != null && day_group.Rainfall48Total != null)
                {
                    rainfall48_group = (double)day_group.Rainfall48 / (double)day_group.Rainfall48Total * 100;
                }
                double rainfall72_group = 100;
                if (day_group.Rainfall72 != null && day_group.Rainfall72Total != null)
                {
                    rainfall72_group = (double)day_group.Rainfall72 / (double)day_group.Rainfall72Total * 100;
                }

                double Ts降水_集体 = Math.Round(rainfall24_group * 10 / 24 + rainfall48_group * 8 / 24 + rainfall72_group * 6 / 24, 2);
                if (day_group.Rainfall24 == null && day_group.Rainfall48 == null && day_group.Rainfall72 == null)
                {
                    Ts降水_集体 = 0.00;
                }
                //个人暴雨
                double rainstorm24 = 100;
                if (day.Rainstorm24 != null && day.Rainstorm24Total != null)
                {
                    rainstorm24 = (double)day.Rainstorm24 / (double)day.Rainstorm24Total * 100;
                }
                double rainstorm48 = 100;
                if (day.Rainstorm48 != null && day.Rainstorm48Total != null)
                {
                    rainstorm48 = (double)day.Rainstorm48 / (double)day.Rainstorm48Total * 100;
                }


                double Ts暴雨 = Math.Round(rainstorm24 * 10 / 18 + rainstorm48 * 8 / 18, 2);

                if (day.Rainstorm24 == null && day.Rainfall48 == null && day.Rainfall72 == null)
                {
                    Ts暴雨 = 0.00;
                }

                //集体暴雨
                double rainstorm24_group = 100;
                if (day_group.Rainstorm24 != null && day_group.Rainstorm24Total != null)
                {
                    rainstorm24_group = (double)day_group.Rainstorm24 / (double)day_group.Rainstorm24Total * 100;
                }
                double rainstorm48_group = 100;
                if (day_group.Rainstorm48 != null && day_group.Rainstorm48Total != null)
                {
                    rainstorm48_group = (double)day_group.Rainstorm48 / (double)day_group.Rainstorm48Total * 100;
                }


                double Ts暴雨_集体 = Math.Round(rainstorm24_group * 10 / 18 + rainstorm48_group * 8 / 18, 2);
                if (day_group.Rainstorm24 == null && day_group.Rainfall48 == null && day_group.Rainfall72 == null)
                {
                    Ts暴雨_集体 = 0.00;
                }


                double Ts总分    = Math.Round(Ts晴雨 * 30 / 100 + Ts降水 * 30 / 100 + Ts高温 * 20 / 100 + Ts低温 * 20 / 100, 2);
                double Ts总分_集体 = Math.Round(Ts晴雨_集体 * 30 / 100 + Ts降水_集体 * 30 / 100 + Ts高温_集体 * 20 / 100 + Ts低温_集体 * 20 / 100, 2);


                double Ts加权总分 = Ts总分_集体 * 60 / 100 + Ts总分 * 40 / 100;



                Score_Month month = new Score_Month();
                month.YBUserName      = day.YBUserName;
                month.YBUserID        = day.YBUserID;
                month.RainShine       = decimal.Parse(Ts晴雨.ToString());
                month.RainShine_Group = decimal.Parse(Ts晴雨_集体.ToString());
                month.MinTemp         = decimal.Parse(Ts低温.ToString());
                month.MinTemp_Group   = decimal.Parse(Ts低温_集体.ToString());
                month.MaxTemp         = decimal.Parse(Ts高温.ToString());
                month.MaxTemp_Group   = decimal.Parse(Ts高温_集体.ToString());
                month.Rainfall        = decimal.Parse(Ts降水.ToString());
                month.Rainfall_Group  = decimal.Parse(Ts降水_集体.ToString());
                month.Rainstorm       = decimal.Parse(Ts暴雨.ToString());
                month.Rainstorm_Group = decimal.Parse(Ts暴雨_集体.ToString());
                month.Total           = decimal.Parse(Ts总分.ToString());
                month.Total_Group     = decimal.Parse(Ts总分_集体.ToString());
                month.WeightedTotal   = decimal.Parse(Ts加权总分.ToString());

                list.Add(month);

                //if (day.YBUserName == "毕玮")
                //{
                //    Response.Write( day.YBDate.ToString()+":"+month.Rainfall + "<br/>");

                //}
            }


            List <Score_Month> vlist = list.GroupBy(a => new { a.YBUserName }).Select(g => new Score_Month
            {
                YBUserName      = g.Key.YBUserName,
                RainShine       = g.Average(a => a.RainShine),
                RainShine_Group = g.Average(a => a.RainShine_Group),
                MinTemp         = g.Average(a => a.MinTemp),
                MinTemp_Group   = g.Average(a => a.MinTemp_Group),
                MaxTemp         = g.Average(a => a.MaxTemp),
                MaxTemp_Group   = g.Average(a => a.MaxTemp_Group),
                Rainfall        = g.Average(a => a.Rainfall),
                Rainfall_Group  = g.Average(a => a.Rainfall_Group),
                Rainstorm       = g.Average(a => a.Rainstorm),
                Rainstorm_Group = g.Average(a => a.Rainstorm_Group),
                Total           = g.Average(a => a.Total),
                Total_Group     = g.Average(a => a.Total_Group),
                WeightedTotal   = g.Average(a => a.WeightedTotal)
            }).ToList();


            List <YbUsers>  ulist = new YbUsers_BLL().GetList(a => a.Work == "预报").ToList();
            Score_Month_BLL bll   = new Score_Month_BLL();

            foreach (var item in vlist)
            {
                item.ScoreID  = Guid.NewGuid();
                item.Year     = int.Parse(DropDownList_Year.SelectedItem.Value);
                item.Month    = int.Parse(DropDownList_Month.SelectedItem.Value);
                item.YBUserID = ulist.Where(a => a.YBUserName == item.YBUserName).FirstOrDefault().YBUserID;
                bll.Add(item, false);
            }
            if (vlist.Count() > 0)
            {
                int Year  = int.Parse(DropDownList_Year.SelectedItem.Value);
                int Month = int.Parse(DropDownList_Month.SelectedItem.Value);
                bll.Delete(a => a.Year == Year && a.Month == Month);
                bll.SaveChange();
            }
            BindData();
            Response.Write("<script language=javascript defer>alert('计算成功!');</script>");
        }
コード例 #9
0
        //重新计算
        public void Calculate2()
        {
            Score_Day_BLL dayBll = new Score_Day_BLL();

            DateTime         startTime     = DateTime.Parse(DropDownList_Year.SelectedItem.Value + "-" + DropDownList_Month.SelectedItem.Value + "-01");
            DateTime         endTime       = startTime.AddMonths(1).AddDays(-1);
            List <Score_Day> dayList       = dayBll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime).OrderBy(a => a.YBDate).ToList();
            List <Score_Day> dayList_Group = dayBll.GetList(a => a.YBDate >= startTime && a.YBDate <= endTime && a.YBUserName == "集体").OrderBy(a => a.YBDate).ToList();


            List <Score_Month> list = new List <Score_Month>();



            var allUsers = dayList.GroupBy(a => new { a.YBUserName, a.YBUserID }).ToList();

            Score_Month_BLL bll = new Score_Month_BLL();

            foreach (var user in allUsers)
            {
                if (user.Key.YBUserName == "时晓曚")
                {
                    var ssd = user;
                }

                List <Score_Day> userList = dayList.Where(a => a.YBUserName == user.Key.YBUserName).ToList();

                List <Score_Day> groupList = new List <Score_Day>();
                foreach (var usr in userList)
                {
                    var group = dayList_Group.Where(a => a.YBDate == usr.YBDate && a.YBTime == usr.YBTime).FirstOrDefault();
                    groupList.Add(group);
                }


                //个人

                double Ts晴雨 = Math.Round(
                    ((double)userList.Sum(a => a.RainShine24) / (double)userList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)userList.Sum(a => a.RainShine48) / (double)userList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)userList.Sum(a => a.RainShine72) / (double)userList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);



                double Ts高温 = Math.Round(
                    ((double)userList.Sum(a => a.MaxTemp24) / (double)userList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)userList.Sum(a => a.MaxTemp48) / (double)userList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)userList.Sum(a => a.MaxTemp72) / (double)userList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);

                double Ts低温 = Math.Round(
                    ((double)userList.Sum(a => a.MinTemp24) / (double)userList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)userList.Sum(a => a.MinTemp48) / (double)userList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)userList.Sum(a => a.MinTemp72) / (double)userList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);


                //个人降水

                Nullable <int> rainfall24_Sum       = userList.Sum(a => a.Rainfall24);
                Nullable <int> rainfall24_Total_Sum = userList.Sum(a => a.Rainfall24Total);

                Nullable <int> rainfall48_Sum       = userList.Sum(a => a.Rainfall48);
                Nullable <int> rainfall48_Total_Sum = userList.Sum(a => a.Rainfall48Total);

                Nullable <int> rainfall72_Sum       = userList.Sum(a => a.Rainfall72);
                Nullable <int> rainfall72_Total_Sum = userList.Sum(a => a.Rainfall72Total);


                double rainfall24 = 100;
                if (rainfall24_Total_Sum != 0)
                {
                    rainfall24 = (double)rainfall24_Sum / (double)rainfall24_Total_Sum * 100;
                }
                double rainfall48 = 100;
                if (rainfall48_Total_Sum != 0)
                {
                    rainfall48 = (double)rainfall48_Sum / (double)rainfall48_Total_Sum * 100;
                }
                double rainfall72 = 100;
                if (rainfall72_Total_Sum != 0)
                {
                    rainfall72 = (double)rainfall72_Sum / (double)rainfall72_Total_Sum * 100;
                }
                double Ts降水 = 100;

                if (rainfall24_Total_Sum == 0 && rainfall48_Total_Sum == 0 && rainfall72_Total_Sum == 0)
                {
                    Ts降水 = 0.00;
                }
                else
                {
                    Ts降水 = Math.Round(rainfall24 * 10 / 24 + rainfall48 * 8 / 24 + rainfall72 * 6 / 24, 2);
                }



                //个人暴雨

                Nullable <int> rainstorm24_Sum       = userList.Sum(a => a.Rainstorm24);
                Nullable <int> rainstorm24_Total_Sum = userList.Sum(a => a.Rainstorm24Total);

                Nullable <int> rainstorm48_Sum       = userList.Sum(a => a.Rainstorm48);
                Nullable <int> rainstorm48_Total_Sum = userList.Sum(a => a.Rainstorm48Total);
                double         rainstorm24           = 100;
                if (rainstorm24_Total_Sum != 0)
                {
                    rainstorm24 = (double)rainstorm24_Sum / (double)rainstorm24_Total_Sum * 100;
                }
                double rainstorm48 = 100;
                if (rainstorm48_Total_Sum != 0)
                {
                    rainstorm48 = (double)rainstorm48_Sum / (double)rainstorm48_Total_Sum * 100;
                }
                double Ts暴雨 = 100;
                if (rainstorm24_Total_Sum == 0 && rainstorm48_Total_Sum == 0)
                {
                    Ts暴雨 = 0.00;
                }
                else if (rainstorm24_Total_Sum != 0 && rainstorm48_Total_Sum == 0)
                {
                    Ts暴雨 = Math.Round(rainstorm24 * 10 / 18, 2);
                }
                else if (rainstorm24_Total_Sum == 0 && rainstorm48_Total_Sum != 0)
                {
                    Ts暴雨 = Math.Round(rainstorm48 * 8 / 18, 2);
                }
                else if (rainstorm24_Total_Sum != 0 && rainstorm48_Total_Sum != 0)
                {
                    Ts暴雨 = Math.Round(rainstorm24 * 10 / 18 + rainstorm48 * 8 / 18, 2);
                }



                //集体

                double Ts晴雨_Group = Math.Round(
                    ((double)groupList.Sum(a => a.RainShine24) / (double)groupList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)groupList.Sum(a => a.RainShine48) / (double)groupList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)groupList.Sum(a => a.RainShine72) / (double)groupList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);



                double Ts高温_Group = Math.Round(
                    ((double)groupList.Sum(a => a.MaxTemp24) / (double)groupList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)groupList.Sum(a => a.MaxTemp48) / (double)groupList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)groupList.Sum(a => a.MaxTemp72) / (double)groupList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);

                double Ts低温_Group = Math.Round(
                    ((double)groupList.Sum(a => a.MinTemp24) / (double)groupList.Sum(a => a.AllTotal) * 10 / 24 +
                     (double)groupList.Sum(a => a.MinTemp48) / (double)groupList.Sum(a => a.AllTotal) * 8 / 24 +
                     (double)groupList.Sum(a => a.MinTemp72) / (double)groupList.Sum(a => a.AllTotal) * 6 / 24) * 100, 2);


                //集体降水

                Nullable <int> rainfall24_Sum_Group       = groupList.Sum(a => a.Rainfall24);
                Nullable <int> rainfall24_Total_Sum_Group = groupList.Sum(a => a.Rainfall24Total);

                Nullable <int> rainfall48_Sum_Group       = groupList.Sum(a => a.Rainfall48);
                Nullable <int> rainfall48_Total_Sum_Group = groupList.Sum(a => a.Rainfall48Total);

                Nullable <int> rainfall72_Sum_Group       = groupList.Sum(a => a.Rainfall72);
                Nullable <int> rainfall72_Total_Sum_Group = groupList.Sum(a => a.Rainfall72Total);


                double rainfall24_Group = 100;
                if (rainfall24_Total_Sum_Group != 0)
                {
                    rainfall24_Group = (double)rainfall24_Sum_Group / (double)rainfall24_Total_Sum_Group * 100;
                }
                double rainfall48_Group = 100;
                if (rainfall48_Total_Sum_Group != 0)
                {
                    rainfall48_Group = (double)rainfall48_Sum_Group / (double)rainfall48_Total_Sum_Group * 100;
                }
                double rainfall72_Group = 100;
                if (rainfall72_Total_Sum_Group != 0)
                {
                    rainfall72_Group = (double)rainfall72_Sum_Group / (double)rainfall72_Total_Sum_Group * 100;
                }
                double Ts降水_Group = 100.00;

                if (rainfall24_Total_Sum_Group == 0 && rainfall48_Total_Sum_Group == 0 && rainfall72_Total_Sum_Group == 0)
                {
                    Ts降水_Group = 0.00;
                }
                else
                {
                    Ts降水_Group = Math.Round(rainfall24_Group * 10 / 24 + rainfall48_Group * 8 / 24 + rainfall72_Group * 6 / 24, 2);
                }



                //集体暴雨

                Nullable <int> rainstorm24_Sum_Group       = groupList.Sum(a => a.Rainstorm24);
                Nullable <int> rainstorm24_Total_Sum_Group = groupList.Sum(a => a.Rainstorm24Total);

                Nullable <int> rainstorm48_Sum_Group       = groupList.Sum(a => a.Rainstorm48);
                Nullable <int> rainstorm48_Total_Sum_Group = groupList.Sum(a => a.Rainstorm48Total);
                double         rainstorm24_Group           = 100;
                if (rainstorm24_Total_Sum_Group != 0)
                {
                    rainstorm24_Group = (double)rainstorm24_Sum_Group / (double)rainstorm24_Total_Sum_Group * 100;
                }
                double rainstorm48_Group = 100;
                if (rainstorm48_Total_Sum_Group != 0)
                {
                    rainstorm48_Group = (double)rainstorm48_Sum_Group / (double)rainstorm48_Total_Sum_Group * 100;
                }
                double Ts暴雨_Group = 100.00;
                if (rainstorm24_Total_Sum_Group == 0 && rainstorm48_Total_Sum_Group == 0)
                {
                    Ts暴雨_Group = 0.00;
                }
                else if (rainstorm24_Total_Sum_Group != 0 && rainstorm48_Total_Sum_Group == 0)
                {
                    Ts暴雨_Group = Math.Round(rainstorm24_Group * 10 / 18, 2);
                }
                else if (rainstorm24_Total_Sum_Group == 0 && rainstorm48_Total_Sum_Group != 0)
                {
                    Ts暴雨_Group = Math.Round(rainstorm48_Group * 8 / 18, 2);
                }
                else if (rainstorm24_Total_Sum_Group != 0 && rainstorm48_Total_Sum_Group != 0)
                {
                    Ts暴雨_Group = Math.Round(rainstorm24_Group * 10 / 18 + rainstorm48_Group * 8 / 18, 2);
                }



                double Ts总分    = Math.Round(Ts晴雨 * 30 / 100 + Ts降水 * 30 / 100 + Ts高温 * 20 / 100 + Ts低温 * 20 / 100, 2);
                double Ts总分_集体 = Math.Round(Ts晴雨_Group * 30 / 100 + Ts降水_Group * 30 / 100 + Ts高温_Group * 20 / 100 + Ts低温_Group * 20 / 100, 2);


                double Ts加权总分 = Ts总分_集体 * 60 / 100 + Ts总分 * 40 / 100;

                Score_Month month = new Score_Month();
                month.ScoreID = Guid.NewGuid();
                month.Year    = int.Parse(DropDownList_Year.SelectedItem.Value);
                month.Month   = int.Parse(DropDownList_Month.SelectedItem.Value);

                month.YBUserName      = user.Key.YBUserName;
                month.YBUserID        = user.Key.YBUserID;
                month.RainShine       = decimal.Parse(Ts晴雨.ToString());
                month.RainShine_Group = decimal.Parse(Ts晴雨_Group.ToString());
                month.MinTemp         = decimal.Parse(Ts低温.ToString());
                month.MinTemp_Group   = decimal.Parse(Ts低温_Group.ToString());
                month.MaxTemp         = decimal.Parse(Ts高温.ToString());
                month.MaxTemp_Group   = decimal.Parse(Ts高温_Group.ToString());
                month.Rainfall        = decimal.Parse(Ts降水.ToString());
                month.Rainfall_Group  = decimal.Parse(Ts降水_Group.ToString());
                month.Rainstorm       = decimal.Parse(Ts暴雨.ToString());
                month.Rainstorm_Group = decimal.Parse(Ts暴雨_Group.ToString());
                month.Total           = decimal.Parse(Ts总分.ToString());
                month.Total_Group     = decimal.Parse(Ts总分_集体.ToString());
                month.WeightedTotal   = decimal.Parse(Ts加权总分.ToString());


                bll.Add(month, false);
            }


            int Year  = int.Parse(DropDownList_Year.SelectedItem.Value);
            int Month = int.Parse(DropDownList_Month.SelectedItem.Value);

            bll.Delete(a => a.Year == Year && a.Month == Month);
            bll.SaveChange();



            BindData();
            Response.Write("<script language=javascript defer>alert('计算成功!');</script>");
        }