关键事项、周进度、月度计划
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.Remoting.Contexts;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using BLL;
|
||||
using Model;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.JDGL.Check
|
||||
@@ -19,6 +21,9 @@ namespace FineUIPro.Web.JDGL.Check
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
|
||||
this.txtYear.Text = string.Format("{0:yyyy}", DateTime.Now);
|
||||
|
||||
this.drpWeekNo.DataTextField = "Text";
|
||||
this.drpWeekNo.DataValueField = "Value";
|
||||
var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
|
||||
@@ -57,34 +62,73 @@ namespace FineUIPro.Web.JDGL.Check
|
||||
/// <param name="cNProfessionalId"></param>
|
||||
public void BindStatisc()
|
||||
{
|
||||
var cycle = this.ckCycle.SelectedValue;
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
//周期集合
|
||||
List<JDGL_WeekPlan> totalList = new List<JDGL_WeekPlan>();
|
||||
//累计集合
|
||||
List<JDGL_WeekPlan> sumTotalList = new List<JDGL_WeekPlan>();
|
||||
string weekNo2 = string.Empty;
|
||||
var weekPlan = db.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
|
||||
if (weekPlan != null)
|
||||
{
|
||||
if (weekPlan.StartDate != null)
|
||||
if (cycle == "0")
|
||||
{//按周
|
||||
var weekPlan = db.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
|
||||
if (weekPlan != null)
|
||||
{
|
||||
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
|
||||
if (weekPlan.StartDate != null)
|
||||
{
|
||||
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
|
||||
}
|
||||
if (weekPlan.EndDate != null)
|
||||
{
|
||||
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
|
||||
}
|
||||
var lastWeekPlan = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
|
||||
if (lastWeekPlan != null)
|
||||
{
|
||||
weekNo2 = lastWeekPlan.WeekNo;
|
||||
}
|
||||
}
|
||||
if (weekPlan.EndDate != null)
|
||||
else
|
||||
{
|
||||
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
|
||||
this.txtStartDate.Text = string.Empty;
|
||||
this.txtEndDate.Text = string.Empty;
|
||||
}
|
||||
var lastWeekPlan = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
|
||||
if (lastWeekPlan != null)
|
||||
//周期集合
|
||||
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x).ToList();
|
||||
if (totalList.Count() > 0)
|
||||
{
|
||||
weekNo2 = lastWeekPlan.WeekNo;
|
||||
var startDate = totalList.First().StartDate;
|
||||
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.txtStartDate.Text = string.Empty;
|
||||
this.txtEndDate.Text = string.Empty;
|
||||
else if (cycle == "1")
|
||||
{//按月
|
||||
DateTime months = Convert.ToDateTime(this.txtMonths.Text + "-01");
|
||||
//周期集合
|
||||
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate == months select x).ToList();
|
||||
//累计集合
|
||||
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate <= months select x).ToList();
|
||||
}
|
||||
else if (cycle == "2")
|
||||
{//按年(以上一年度12月份至本年度11月份为一个周期)
|
||||
DateTime sDate = Convert.ToDateTime(this.txtYear.Text + "-12-01").AddYears(-1);
|
||||
DateTime eDate = Convert.ToDateTime(this.txtYear.Text + "-12-01");
|
||||
//周期集合
|
||||
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate >= sDate && x.EndDate < eDate select x).ToList();
|
||||
//累计集合
|
||||
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate < eDate select x).ToList();
|
||||
}
|
||||
else if (cycle == "3")
|
||||
{//按项目周期
|
||||
//周期集合
|
||||
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
||||
//累计集合
|
||||
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
||||
}
|
||||
StatisticsList = new List<Model.JDGL_WeekPlan>();
|
||||
int i = 1;
|
||||
//所有集合
|
||||
var totalList = from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x;
|
||||
////周期集合
|
||||
//var totalList = from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x;
|
||||
if (this.ckType.SelectedValue == "1") //按责任单位
|
||||
{
|
||||
var pUnit = from x in db.Project_ProjectUnit
|
||||
@@ -94,7 +138,7 @@ namespace FineUIPro.Web.JDGL.Check
|
||||
select y;
|
||||
foreach (var item in pUnit)
|
||||
{
|
||||
//当期集合
|
||||
//周期集合
|
||||
var list = totalList.Where(x => x.UnitId == item.UnitId);
|
||||
Model.JDGL_WeekPlan JDGL_WeekPlan = new Model.JDGL_WeekPlan();
|
||||
JDGL_WeekPlan.WorkContent = item.UnitName;
|
||||
@@ -116,17 +160,27 @@ namespace FineUIPro.Web.JDGL.Check
|
||||
}
|
||||
else //按五环责任人
|
||||
{
|
||||
var user = (from x in db.Sys_User
|
||||
join y in db.JDGL_WeekPlan on x.UserId equals y.DutyPerson
|
||||
where y.ProjectId == this.CurrUser.LoginProjectId
|
||||
orderby x.UserId
|
||||
select x).Distinct().ToList();
|
||||
foreach (var item in user)
|
||||
var users = UserService.GetUserList();
|
||||
var dutyPersonIds = (from x in db.JDGL_WeekPlan
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||||
select x.DutyPerson).Distinct().ToList();
|
||||
|
||||
var userIds = string.Join(",", dutyPersonIds.ToArray()).Split(',').Distinct().Where(x => x != null && x != "").ToList();
|
||||
|
||||
//var user = (from x in db.Sys_User
|
||||
// join y in db.JDGL_WeekPlan on x.UserId equals y.DutyPerson
|
||||
// where y.ProjectId == this.CurrUser.LoginProjectId
|
||||
// orderby x.UserId
|
||||
// select x).Distinct().ToList();
|
||||
|
||||
foreach (var item in userIds)
|
||||
{
|
||||
//所有集合
|
||||
var list = totalList.Where(x => x.DutyPerson == item.UserId);
|
||||
var user = users.Where(x => x.UserId == item).FirstOrDefault();
|
||||
//周期集合
|
||||
//var list = totalList.Where(x => x.DutyPerson == item.UserId);
|
||||
var list = totalList.Where(x => x.DutyPerson.Contains(item));
|
||||
Model.JDGL_WeekPlan JDGL_WeekPlan = new Model.JDGL_WeekPlan();
|
||||
JDGL_WeekPlan.WorkContent = item.UserName;
|
||||
JDGL_WeekPlan.WorkContent = user.UserName;
|
||||
int a = list.Count();
|
||||
int b = list.Count(x => x.IsOK == true);
|
||||
JDGL_WeekPlan.UnitId = a.ToString();
|
||||
@@ -161,34 +215,81 @@ namespace FineUIPro.Web.JDGL.Check
|
||||
}
|
||||
StatisticsList.Add(StatisticsLast);
|
||||
}
|
||||
//增加累计
|
||||
List<Model.JDGL_WeekPlan> sumTotalList = new List<Model.JDGL_WeekPlan>();
|
||||
if (totalList.Count() > 0)
|
||||
{
|
||||
var startDate = totalList.First().StartDate;
|
||||
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
|
||||
}
|
||||
Model.JDGL_WeekPlan StatisticsSum = new Model.JDGL_WeekPlan();
|
||||
StatisticsSum.WorkContent = "累计";
|
||||
int c = sumTotalList.Count();
|
||||
int d = sumTotalList.Count(x => x.IsOK == true);
|
||||
StatisticsSum.UnitId = c.ToString();
|
||||
StatisticsSum.DutyPerson = d.ToString();
|
||||
if (c != 0)//被除数不能为零
|
||||
{
|
||||
StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
|
||||
}
|
||||
else
|
||||
{
|
||||
StatisticsSum.Remark = "0%";
|
||||
}
|
||||
StatisticsList.Add(StatisticsSum);
|
||||
this.Grid1.DataSource = StatisticsList;
|
||||
this.Grid1.DataBind();
|
||||
////增加累计
|
||||
//List<Model.JDGL_WeekPlan> sumTotalList = new List<Model.JDGL_WeekPlan>();
|
||||
//if (totalList.Count() > 0)
|
||||
//{
|
||||
// var startDate = totalList.First().StartDate;
|
||||
// sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
|
||||
//}
|
||||
//Model.JDGL_WeekPlan StatisticsSum = new Model.JDGL_WeekPlan();
|
||||
//StatisticsSum.WorkContent = "累计";
|
||||
//int c = sumTotalList.Count();
|
||||
//int d = sumTotalList.Count(x => x.IsOK == true);
|
||||
//StatisticsSum.UnitId = c.ToString();
|
||||
//StatisticsSum.DutyPerson = d.ToString();
|
||||
//if (c != 0)//被除数不能为零
|
||||
//{
|
||||
// StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// StatisticsSum.Remark = "0%";
|
||||
//}
|
||||
//StatisticsList.Add(StatisticsSum);
|
||||
this.Grid1.DataSource = StatisticsList;
|
||||
this.Grid1.DataBind();
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 统计周期
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ckCycle_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
var cycle = this.ckCycle.SelectedValue;
|
||||
if (cycle == "0")
|
||||
{//按周
|
||||
this.drpWeekNo.Hidden = false;
|
||||
this.txtStartDate.Hidden = false;
|
||||
this.txtEndDate.Hidden = false;
|
||||
this.txtMonths.Hidden = true;
|
||||
this.txtYear.Hidden = true;
|
||||
}
|
||||
else if (cycle == "1")
|
||||
{//按月份
|
||||
this.drpWeekNo.Hidden = true;
|
||||
this.txtStartDate.Hidden = true;
|
||||
this.txtEndDate.Hidden = true;
|
||||
this.txtMonths.Hidden = false;
|
||||
this.txtYear.Hidden = true;
|
||||
}
|
||||
else if (cycle == "2")
|
||||
{//按年份
|
||||
this.drpWeekNo.Hidden = true;
|
||||
this.txtStartDate.Hidden = true;
|
||||
this.txtEndDate.Hidden = true;
|
||||
this.txtMonths.Hidden = true;
|
||||
this.txtYear.Hidden = false;
|
||||
}
|
||||
else
|
||||
{//按项目周期
|
||||
this.drpWeekNo.Hidden = true;
|
||||
this.txtStartDate.Hidden = true;
|
||||
this.txtEndDate.Hidden = true;
|
||||
this.txtMonths.Hidden = true;
|
||||
this.txtYear.Hidden = true;
|
||||
}
|
||||
BindStatisc();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 统计汇总
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ckType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ckType.SelectedValue == "1")
|
||||
|
||||
Reference in New Issue
Block a user