164 lines
5.9 KiB
C#
164 lines
5.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using BLL;
|
|
|
|
namespace FineUIPro.Web.ZHGL.Information
|
|
{
|
|
public partial class AnalyseWorkTimeCost : PageBase
|
|
{
|
|
#region 加载页面
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
BLL.ConstValue.InitConstValueDropDownList(this.drpYear, ConstValue.Group_0008, false);
|
|
this.drpYear.SelectedValue = DateTime.Now.Year.ToString();
|
|
|
|
BLL.ConstValue.InitConstValueDropDownList(this.drpQuarter, ConstValue.Group_0011, false);
|
|
this.drpQuarter.SelectedValue = Funs.GetNowQuarterlyByTime(DateTime.Now).ToString();
|
|
|
|
BLL.ConstValue.InitConstValueDropDownList(this.drpChartType, ConstValue.Group_ChartType, false);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 统计
|
|
/// <summary>
|
|
/// 统计分析
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void BtnAnalyse_Click(object sender, EventArgs e)
|
|
{
|
|
if (!GetButtonPower(BLL.Const.BtnAnalyse))
|
|
{
|
|
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
|
|
this.AnalyseData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 统计方法
|
|
/// </summary>
|
|
private void AnalyseData()
|
|
{
|
|
List<string> yearValues = new List<string>();
|
|
foreach (ListItem item in this.drpYear.SelectedItemArray)
|
|
{
|
|
yearValues.Add(item.Value);
|
|
}
|
|
|
|
List<string> quarterValues = new List<string>();
|
|
foreach (ListItem item in this.drpQuarter.SelectedItemArray)
|
|
{
|
|
quarterValues.Add(item.Value);
|
|
}
|
|
|
|
var safetyQuarterlyReport = (from x in Funs.DB.Information_SafetyQuarterlyReport
|
|
where yearValues.Contains(x.YearId.ToString()) && quarterValues.Contains(x.Quarters.ToString())
|
|
select x);
|
|
|
|
#region 按时间统计
|
|
///按单位统计
|
|
DataTable dtTime = new DataTable();
|
|
dtTime.Columns.Add("时间", typeof(string));
|
|
dtTime.Columns.Add("工时", typeof(string));
|
|
dtTime.Columns.Add("费用", typeof(string));
|
|
foreach (var itemYear in yearValues)
|
|
{
|
|
string yearName = string.Empty;
|
|
var year = BLL.ConstValue.drpConstItemList(ConstValue.Group_0008).FirstOrDefault(x => x.ConstValue == itemYear);
|
|
if (year != null)
|
|
{
|
|
yearName = year.ConstText;
|
|
}
|
|
foreach (var itemQuarter in quarterValues)
|
|
{
|
|
string quarterName = string.Empty;
|
|
var quarter = BLL.ConstValue.drpConstItemList(ConstValue.Group_0011).FirstOrDefault(x => x.ConstValue == itemQuarter);
|
|
if (quarter != null)
|
|
{
|
|
quarterName = quarter.ConstText;
|
|
}
|
|
|
|
DataRow rowTime = dtTime.NewRow();
|
|
Model.SpTDesktopItem newspItem = new Model.SpTDesktopItem();
|
|
rowTime["时间"] = yearName + quarterName;
|
|
var quartersSafe = (from x in safetyQuarterlyReport
|
|
where x.YearId.ToString() == itemYear && x.Quarters.ToString() == itemQuarter
|
|
select x).ToList();
|
|
rowTime["工时"] = quartersSafe.Sum(x => x.TotalInWorkHours) ?? 0;
|
|
rowTime["费用"] = quartersSafe.Sum(x => x.ProductionSafetyInTotal) ?? 0;
|
|
dtTime.Rows.Add(rowTime);
|
|
}
|
|
}
|
|
|
|
this.ChartCostTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "人工时费用", this.drpChartType.SelectedValue, 1150, 450, this.ckbShow.Checked));
|
|
#endregion
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 获取按钮权限
|
|
/// <summary>
|
|
/// 获取按钮权限
|
|
/// </summary>
|
|
/// <param name="button"></param>
|
|
/// <returns></returns>
|
|
private bool GetButtonPower(string button)
|
|
{
|
|
return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.AnalyseWorkTimeCostMenuId, button);
|
|
}
|
|
#endregion
|
|
|
|
#region 清空
|
|
/// <summary>
|
|
/// 清空下拉框
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void drpYear_ClearIconClick(object sender, EventArgs e)
|
|
{
|
|
this.drpYear.SelectedValue = DateTime.Now.Year.ToString();
|
|
this.AnalyseData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 清空下拉框
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void drpQuarter_ClearIconClick(object sender, EventArgs e)
|
|
{
|
|
this.drpQuarter.SelectedValue = Funs.GetNowQuarterlyByTime(Convert.ToDateTime(DateTime.Now)).ToString();
|
|
this.AnalyseData();
|
|
}
|
|
#endregion
|
|
|
|
#region 图形
|
|
/// <summary>
|
|
/// 图形变换
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.AnalyseData();
|
|
}
|
|
|
|
protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e)
|
|
{
|
|
this.AnalyseData();
|
|
}
|
|
#endregion
|
|
}
|
|
} |