133 lines
5.5 KiB
C#
133 lines
5.5 KiB
C#
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Linq;
|
|||
|
using System.Web.Services.Description;
|
|||
|
using BLL;
|
|||
|
using NPOI.SS.Formula.Functions;
|
|||
|
|
|||
|
namespace FineUIPro.Web.Transfer.Chart
|
|||
|
{
|
|||
|
public partial class PunchlistFromChartNew : PageBase
|
|||
|
{
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
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", ""));
|
|||
|
foreach (var t in systemNos)
|
|||
|
{
|
|||
|
ddlSystemNo.Items.Insert(indexRow, new FineUIPro.ListItem(t.System_No, t.System_No));
|
|||
|
indexRow++;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 统计方法
|
|||
|
/// </summary>
|
|||
|
private void AnalyseData()
|
|||
|
{
|
|||
|
string _systemNo = ddlSystemNo.SelectedValue;
|
|||
|
if (_systemNo == null)
|
|||
|
_systemNo = "";
|
|||
|
_systemNo = _systemNo.Trim();
|
|||
|
//_systemNo为空则查全部
|
|||
|
var forms = from x in Funs.DB.Transfer_PunchlistFrom
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId && (x.System_No == _systemNo || _systemNo == "")
|
|||
|
select x;
|
|||
|
|
|||
|
string _dateType = ddlDateType.SelectedValue;
|
|||
|
|
|||
|
#region 按照当前日期前一周数据
|
|||
|
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--)
|
|||
|
{
|
|||
|
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();
|
|||
|
dtTime.Rows.Add(rowTime);
|
|||
|
}
|
|||
|
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//按照当前月份到一月份的数据
|
|||
|
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();
|
|||
|
dtTime.Rows.Add(rowTime);
|
|||
|
}
|
|||
|
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "尾项完成统计分析", this.drpChartType.SelectedValue, 1300, 550, false));
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 统计分析
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void BtnAnalyse_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.AnalyseData();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 图形变换
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.AnalyseData();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 现在日期类型
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void ddlDateType_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.AnalyseData();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 选择System No
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void ddlSystemNo_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.AnalyseData();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|