修改移交管理,增加统计报表以及添加字段

This commit is contained in:
2024-08-30 17:45:02 +08:00
parent 7311a2b6fa
commit d21533d599
30 changed files with 885 additions and 271 deletions
@@ -18,6 +18,11 @@ namespace FineUIPro.Web.Transfer.Chart
{
if (!IsPostBack)
{
ddlSystemNo.Hidden = true;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = true;
var systemNos = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).GroupBy(p => new { p.System_No }).Select(p => new { System_No = p.Key.System_No }).ToList();
int indexRow = 1;
ddlSystemNo.Items.Insert(0, new FineUIPro.ListItem("ALL", ""));
@@ -30,6 +35,28 @@ namespace FineUIPro.Web.Transfer.Chart
}
}
/// <summary>
/// x轴30天日期
/// </summary>
public string AllxDate;
/// <summary>
/// 当天计划完成量
/// </summary>
public string wcl1;
/// <summary>
/// 当天实际完成量
/// </summary>
public string wcl2;
/// <summary>
/// 累计计划完成量
/// </summary>
public string wcl3;
/// <summary>
/// 累计实际完成量
/// </summary>
public string wcl4;
/// <summary>
/// 统计方法
/// </summary>
@@ -47,27 +74,63 @@ namespace FineUIPro.Web.Transfer.Chart
string _dateType = ddlDateType.SelectedValue;
#region
AllxDate = "";
if (_dateType == "1")
{
///按单位统计
DataTable dtTime = new DataTable();
dtTime.Columns.Add("日期", typeof(string));
dtTime.Columns.Add("计划完成数量", typeof(string));
dtTime.Columns.Add("实际完成数量", typeof(string));
for (int i = 6; i >= 0; i--)
#region 30
var nowDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
for (var i = nowDate.AddDays(-30); i <= nowDate; i=i.AddDays(1))
{
DataRow rowTime = dtTime.NewRow();
DateTime QueryTime = DateTime.Now.AddDays(i * -1);
rowTime["日期"] = QueryTime.ToString("yyyy/MM/dd");
DateTime startTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime endTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 23:59:59");
//rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
//rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
dtTime.Rows.Add(rowTime);
//i是日期
var d = i.Month.ToString() + "月" + i.Day.ToString() + "日";
DateTime startTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime endTime = Convert.ToDateTime(i.ToString("yyyy-MM-dd") + " 23:59:59");
//当天计划完成量
var dtjhwcl= forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
wcl1 += "'" + dtjhwcl + "',";
//当天实际完成量
var dtsjwcl = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
wcl2 += "'" + dtsjwcl + "',";
//累计计划完成量
var ljjhwcl = forms.Where(x => x.Required_Date <= endTime).Count();
wcl3 += "'" + ljjhwcl + "',";
//累计实际完成量
var ljsjwcl= forms.Where(x => x.Actual_Date <= endTime).Count();
wcl4 += "'" + ljsjwcl + "',";
AllxDate += "'"+ d + "',";
}
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
if (AllxDate.Length>0)
{
AllxDate = AllxDate.Substring(0, AllxDate.Length - 1);
wcl1 = wcl1.Substring(0, wcl1.Length - 1);
wcl2 = wcl2.Substring(0, wcl2.Length - 1);
wcl3 = wcl3.Substring(0, wcl3.Length - 1);
wcl4 = wcl4.Substring(0, wcl4.Length - 1);
}
#endregion
/////按单位统计
//DataTable dtTime = new DataTable();
//dtTime.Columns.Add("日期", typeof(string));
//dtTime.Columns.Add("计划完成数量", typeof(string));
//dtTime.Columns.Add("实际完成数量", typeof(string));
//for (int i = 6; i >= 0; i--)
//{
// DataRow rowTime = dtTime.NewRow();
// DateTime QueryTime = DateTime.Now.AddDays(i * -1);
// rowTime["日期"] = QueryTime.ToString("yyyy/MM/dd");
// DateTime startTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 00:00:00");
// DateTime endTime = Convert.ToDateTime(QueryTime.ToString("yyyy-MM-dd") + " 23:59:59");
// //rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
// //rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
// rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
// rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
// dtTime.Rows.Add(rowTime);
//}
//this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
///按单位统计
DataTable dtTime1 = new DataTable();
@@ -95,25 +158,25 @@ namespace FineUIPro.Web.Transfer.Chart
//按照当前月份到一月份的数据
if (_dateType == "2")
{
///按单位统计
DataTable dtTime = new DataTable();
dtTime.Columns.Add("月份", typeof(string));
dtTime.Columns.Add("计划完成数量", typeof(string));
dtTime.Columns.Add("实际完成数量", typeof(string));
for (int i = 1; i <= DateTime.Now.Month; i++)
{
DataRow rowTime = dtTime.NewRow();
DateTime QueryTime =Convert.ToDateTime($"{DateTime.Now.Year.ToString()}-{i}-1 00:00:00");
rowTime["月份"] = QueryTime.ToString("yyyy/MM");
DateTime startTime = QueryTime;
DateTime endTime = Convert.ToDateTime(QueryTime.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
//rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
//rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
dtTime.Rows.Add(rowTime);
}
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
/////按单位统计
//DataTable dtTime = new DataTable();
//dtTime.Columns.Add("月份", typeof(string));
//dtTime.Columns.Add("计划完成数量", typeof(string));
//dtTime.Columns.Add("实际完成数量", typeof(string));
//for (int i = 1; i <= DateTime.Now.Month; i++)
//{
// DataRow rowTime = dtTime.NewRow();
// DateTime QueryTime =Convert.ToDateTime($"{DateTime.Now.Year.ToString()}-{i}-1 00:00:00");
// rowTime["月份"] = QueryTime.ToString("yyyy/MM");
// DateTime startTime = QueryTime;
// DateTime endTime = Convert.ToDateTime(QueryTime.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59");
// //rowTime["计划完成数量"] = forms.Where(x => x.Required_Date >= startTime && x.Required_Date <= endTime).Count();
// //rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date >= startTime && x.Actual_Date <= endTime).Count();
// rowTime["计划完成数量"] = forms.Where(x => x.Required_Date <= endTime).Count();
// rowTime["实际完成数量"] = forms.Where(x => x.Actual_Date <= endTime).Count();
// dtTime.Rows.Add(rowTime);
//}
//this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
///按单位统计
DataTable dtTime1 = new DataTable();
@@ -269,12 +332,49 @@ namespace FineUIPro.Web.Transfer.Chart
strSql.AppendLine(" AND System_No=@System_No ");
listStr.Add(new SqlParameter("@System_No", _systemNo));
}
strSql.AppendLine(" select Disc,cast(0 as decimal(18,2)) Cat_A_Count,cast(0 as decimal(18,2)) Cat_B_Count,cast(0 as decimal(18,2)) Cat_C_Count,cast(0 as decimal(18,2)) Cat_D_Count INTO #PunchlistFromSortTemp1 from #AllPunchlistFromSortTemp1 Group by Disc; ");
strSql.AppendLine(" update a set a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')) ");
strSql.AppendLine(",a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ");
strSql.AppendLine(",a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ");
strSql.AppendLine(",a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ");
strSql.AppendLine("from #PunchlistFromSortTemp1 a;");
strSql.AppendLine(@" select Disc,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromSortTemp1
from #AllPunchlistFromSortTemp1 Group by Disc; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc),
allfinshedCount=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromSortTemp1 b where a.Disc=b.Disc AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromSortTemp1 a;");
strSql.AppendLine("select * from #PunchlistFromSortTemp1 ");
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql.AppendLine(" order by Disc ");
@@ -290,12 +390,39 @@ namespace FineUIPro.Web.Transfer.Chart
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf+= Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
@@ -306,6 +433,27 @@ namespace FineUIPro.Web.Transfer.Chart
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid1.SummaryData = summary;
}
@@ -327,13 +475,50 @@ namespace FineUIPro.Web.Transfer.Chart
strSql.AppendLine(" AND System_No=@System_No ");
listStr.Add(new SqlParameter("@System_No", _systemNo));
}
strSql.AppendLine(" select Action_By,cast(0 as decimal(18,2)) Cat_All_Count,cast(0 as decimal(18,2)) Cat_A_Count,cast(0 as decimal(18,2)) Cat_B_Count,cast(0 as decimal(18,2)) Cat_C_Count,cast(0 as decimal(18,2)) Cat_D_Count INTO #PunchlistFromSortTemp2 from #AllPunchlistFromSortTemp2 Group by Action_By; ");
strSql.AppendLine(" update a set a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')) ");
strSql.AppendLine(",a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ");
strSql.AppendLine(",a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ");
strSql.AppendLine(",a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ");
strSql.AppendLine("from #PunchlistFromSortTemp2 a;");
strSql.AppendLine(" update #PunchlistFromSortTemp2 set Cat_All_Count=Cat_A_Count+Cat_B_Count+Cat_C_Count+Cat_D_Count; ");
strSql.AppendLine(@" select Action_By,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromSortTemp2
from #AllPunchlistFromSortTemp2 Group by Action_By; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By),
allfinshedCount=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromSortTemp2 b where a.Action_By=b.Action_By AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromSortTemp2 a;");
strSql.AppendLine("select * from #PunchlistFromSortTemp2 ");
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql.AppendLine(" order by Action_By ");
@@ -349,36 +534,90 @@ namespace FineUIPro.Web.Transfer.Chart
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int cat_All_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_All_Count += Convert.ToInt32(row["Cat_All_Count"]);
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
JObject summary = new JObject();
summary.Add("Action_By", "合计");
summary.Add("Cat_All_Count", cat_All_Count.ToString());
summary.Add("Cat_A_Count", cat_A_Count.ToString());
summary.Add("Cat_B_Count", cat_B_Count.ToString());
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid2.SummaryData = summary;
}
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 2)
if (TabStrip1.ActiveTabIndex ==0)
{
ddlSystemNo.Hidden = true;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = true;
}
else if (TabStrip1.ActiveTabIndex == 2)
{
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid1();
}
else if (TabStrip1.ActiveTabIndex == 3)
@@ -386,6 +625,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid2();
}
else if (TabStrip1.ActiveTabIndex == 4)
@@ -393,6 +633,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlDateType.Hidden = true;
drpChartType.Hidden = true;
ddlSystemNo.Hidden = true;
BtnAnalyse.Hidden = false;
BindGrid3();
}
else {
@@ -400,6 +641,7 @@ namespace FineUIPro.Web.Transfer.Chart
ddlSystemNo.Hidden = false;
ddlDateType.Hidden = false;
drpChartType.Hidden = false;
BtnAnalyse.Hidden = false;
}
}
#endregion
@@ -413,16 +655,62 @@ namespace FineUIPro.Web.Transfer.Chart
StringBuilder strSql = new StringBuilder("");
strSql.AppendLine("IF OBJECT_ID('tempdb..#AllPunchlistFromProgressTemp') IS NOT NULL drop table #AllPunchlistFromProgressTemp; ");
strSql.AppendLine("IF OBJECT_ID('tempdb..#PunchlistFromProgressTemp') IS NOT NULL drop table #PunchlistFromProgressTemp; ");
strSql.AppendLine(" select System_No,Actual_Date,Cleared_By,Confirmed_By,Verified_By,ProjectId ");
strSql.AppendLine(" INTO #AllPunchlistFromProgressTemp from Transfer_PunchlistFrom where ProjectId = @ProjectId ");
strSql.AppendLine(" select System_No,count(System_No) SystemNoCount,cast(0 as decimal(18,2)) ActualDateCount ");
strSql.AppendLine(" ,cast(0 as decimal(18,2)) ClearedByCount,cast(0 as decimal(18,2)) ConfirmedByCount,cast(0 as decimal(18,2)) VerifiedByCount ");
strSql.AppendLine(" INTO #PunchlistFromProgressTemp from #AllPunchlistFromProgressTemp where ProjectId = @ProjectId group by System_No ");
strSql.AppendLine(" update a set a.ActualDateCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Actual_Date,'')<>'') ");
strSql.AppendLine(" ,a.ClearedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Cleared_By,'')<>'') ");
strSql.AppendLine(" ,a.ConfirmedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Confirmed_By,'')<>'') ");
strSql.AppendLine(" ,a.VerifiedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Verified_By,'')<>'') ");
strSql.AppendLine(" from #PunchlistFromProgressTemp a ");
strSql.AppendLine(" select * INTO #AllPunchlistFromProgressTemp from Transfer_PunchlistFrom(NOLOCK) where ProjectId=@ProjectId ");
//strSql.AppendLine(" select System_No,count(System_No) SystemNoCount,cast(0 as decimal(18,2)) ActualDateCount ");
//strSql.AppendLine(" ,cast(0 as decimal(18,2)) ClearedByCount,cast(0 as decimal(18,2)) ConfirmedByCount,cast(0 as decimal(18,2)) VerifiedByCount ");
//strSql.AppendLine(" INTO #PunchlistFromProgressTemp from #AllPunchlistFromProgressTemp where ProjectId = @ProjectId group by System_No ");
//strSql.AppendLine(" update a set a.ActualDateCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Actual_Date,'')<>'') ");
//strSql.AppendLine(" ,a.ClearedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Cleared_By,'')<>'') ");
//strSql.AppendLine(" ,a.ConfirmedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Confirmed_By,'')<>'') ");
//strSql.AppendLine(" ,a.VerifiedByCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND isnull(b.Verified_By,'')<>'') ");
strSql.AppendLine(@" select System_No,
cast(0 as decimal(18, 2)) Cat_A_Count,
cast(0 as decimal(18, 2)) Cat_A_Countf, cast(0 as decimal(18, 2)) Cat_A_CountWUH, cast(0 as decimal(18, 2)) Cat_A_CountBASF,
cast(0 as decimal(18, 2)) Cat_B_Count,
cast(0 as decimal(18, 2)) Cat_B_Countf, cast(0 as decimal(18, 2)) Cat_B_CountWUH, cast(0 as decimal(18, 2)) Cat_B_CountBASF,
cast(0 as decimal(18, 2)) Cat_C_Count,
cast(0 as decimal(18, 2)) Cat_C_Countf, cast(0 as decimal(18, 2)) Cat_C_CountWUH, cast(0 as decimal(18, 2)) Cat_C_CountBASF,
cast(0 as decimal(18, 2)) Cat_D_Count,
cast(0 as decimal(18, 2)) Cat_D_Countf, cast(0 as decimal(18, 2)) Cat_D_CountWUH, cast(0 as decimal(18, 2)) Cat_D_CountBASF,
cast(0 as decimal(18, 2)) allCount, cast(0 as decimal(18, 2)) allfinshedCount, cast(0 as decimal(18, 2)) allWUH, cast(0 as decimal(18, 2)) allBASF
INTO #PunchlistFromProgressTemp
from #AllPunchlistFromProgressTemp Group by System_No; ");
strSql.AppendLine(@" update a set
allCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No),
allfinshedCount=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Required_Date is not null or b.Required_Date!='')),
allWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
allBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No and (b.Verified_Date is not null or b.Verified_Date!='')),
a.Cat_A_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a')),
a.Cat_A_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_A_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_A_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='A' or isnull(b.Cat,'')='a') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_B_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b')) ,
a.Cat_B_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_B_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_B_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='B' or isnull(b.Cat,'')='b') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_C_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c')) ,
a.Cat_C_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_C_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_C_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='C' or isnull(b.Cat,'')='c') and (b.Verified_Date is not null or b.Verified_Date!=''))
,a.Cat_D_Count=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d')) ,
a.Cat_D_Countf=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Required_Date is not null or b.Required_Date!='')),
a.Cat_D_CountWUH=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Confirmed_Date is not null or b.Confirmed_Date!='')),
a.Cat_D_CountBASF=(select count(1) from #AllPunchlistFromProgressTemp b where a.System_No=b.System_No AND (isnull(b.Cat,'')='D' or isnull(b.Cat,'')='d') and (b.Verified_Date is not null or b.Verified_Date!=''))
from #PunchlistFromProgressTemp a;");
strSql.AppendLine(" select * from #PunchlistFromProgressTemp ");
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
@@ -434,6 +722,78 @@ namespace FineUIPro.Web.Transfer.Chart
var table = this.GetPagedDataTable(Grid1, tb);
Grid3.DataSource = table;
Grid3.DataBind();
//合计
int cat_A_Count = 0;
int cat_B_Count = 0;
int cat_C_Count = 0;
int cat_D_Count = 0;
int Cat_A_Countf = 0, Cat_A_CountWUH = 0, Cat_A_CountBASF = 0,
Cat_B_Countf = 0, Cat_B_CountWUH = 0, Cat_B_CountBASF = 0,
Cat_C_Countf = 0, Cat_C_CountWUH = 0, Cat_C_CountBASF = 0,
Cat_D_Countf = 0, Cat_D_CountWUH = 0, Cat_D_CountBASF = 0,
allCount = 0, allfinshedCount = 0, allWUH = 0, allBASF = 0;
foreach (DataRow row in tb.Rows)
{
cat_A_Count += Convert.ToInt32(row["Cat_A_Count"]);
cat_B_Count += Convert.ToInt32(row["Cat_B_Count"]);
cat_C_Count += Convert.ToInt32(row["Cat_C_Count"]);
cat_D_Count += Convert.ToInt32(row["Cat_D_Count"]);
//
Cat_A_Countf += Convert.ToInt32(row["Cat_A_Countf"]);
Cat_A_CountWUH += Convert.ToInt32(row["Cat_A_CountWUH"]);
Cat_A_CountBASF += Convert.ToInt32(row["Cat_A_CountBASF"]);
Cat_B_Countf += Convert.ToInt32(row["Cat_B_Countf"]);
Cat_B_CountWUH += Convert.ToInt32(row["Cat_B_CountWUH"]);
Cat_B_CountBASF += Convert.ToInt32(row["Cat_B_CountBASF"]);
Cat_C_Countf += Convert.ToInt32(row["Cat_C_Countf"]);
Cat_C_CountWUH += Convert.ToInt32(row["Cat_C_CountWUH"]);
Cat_C_CountBASF += Convert.ToInt32(row["Cat_C_CountBASF"]);
Cat_D_Countf += Convert.ToInt32(row["Cat_D_Countf"]);
Cat_D_CountWUH += Convert.ToInt32(row["Cat_D_CountWUH"]);
Cat_D_CountBASF += Convert.ToInt32(row["Cat_D_CountBASF"]);
allCount += Convert.ToInt32(row["allCount"]);
allfinshedCount += Convert.ToInt32(row["allfinshedCount"]);
allWUH += Convert.ToInt32(row["allWUH"]);
allBASF += Convert.ToInt32(row["allBASF"]);
}
JObject summary = new JObject();
summary.Add("System_No", "合计");
summary.Add("Cat_A_Count", cat_A_Count.ToString());
summary.Add("Cat_B_Count", cat_B_Count.ToString());
summary.Add("Cat_C_Count", cat_C_Count.ToString());
summary.Add("Cat_D_Count", cat_D_Count.ToString());
summary.Add("Cat_A_Countf", Cat_A_Countf.ToString());
summary.Add("Cat_A_CountWUH", Cat_A_CountWUH.ToString());
summary.Add("Cat_A_CountBASF", Cat_A_CountBASF.ToString());
summary.Add("Cat_B_Countf", Cat_B_Countf.ToString());
summary.Add("Cat_B_CountWUH", Cat_B_CountWUH.ToString());
summary.Add("Cat_B_CountBASF", Cat_B_CountBASF.ToString());
summary.Add("Cat_C_Countf", Cat_C_Countf.ToString());
summary.Add("Cat_C_CountWUH", Cat_C_CountWUH.ToString());
summary.Add("Cat_C_CountBASF", Cat_C_CountBASF.ToString());
summary.Add("Cat_D_Countf", Cat_D_Countf.ToString());
summary.Add("Cat_D_CountWUH", Cat_D_CountWUH.ToString());
summary.Add("Cat_D_CountBASF", Cat_D_CountBASF.ToString());
summary.Add("allCount", allCount.ToString());
summary.Add("allfinshedCount", allfinshedCount.ToString());
summary.Add("allWUH", allWUH.ToString());
summary.Add("allBASF", allBASF.ToString());
Grid3.SummaryData = summary;
}
/// <summary>