CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/DataShowLocal/QualityInstruments.aspx.cs

253 lines
8.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.DataShowLocal
{
public partial class QualityInstruments : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
// 绑定表格t
BindGrid();
this.Panel1.Title = "计量器具数据(" + BLL.UnitService.GetUnitNameByUnitId(BLL.Const.UnitId_CWCEC) + "";
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"select ProjectId,ProjectCode, ProjectName from Base_Project where ProjectState =1";
List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty;
if (this.drpProject.SelectedValue != Const._Null)
{
strSql += " AND projectId = @projectId"; ///状态为已完成
listStr.Add(new SqlParameter("@projectId", this.drpProject.SelectedValue));
}
//if (!string.IsNullOrEmpty(this.txtStartTime.Text))
//{
// strSql += " AND h.RegisterDate >=@StartTime";
// listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text));
// cpara += " AND c.RegisterDate >=" + this.txtStartTime.Text;
//}
//if (!string.IsNullOrEmpty(this.txtEndTime.Text))
//{
// strSql += " AND h.RegisterDate <=@EndTime";
// listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text));
// cpara += " AND c.RegisterDate <=" + this.txtEndTime.Text;
//}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region Grid双击事件
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
EditData();
}
/// <summary>
///
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualityInstrumentsItem.aspx?projectId={0}", Grid1.SelectedRowID, "查看 - ")));
}
#endregion
protected void btnView_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// 在用计量器具数
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
protected int Count1(object projectId)
{
int cout1 = 0;
if (projectId != null)
{
var datetime1 = Funs.GetNewDateTime(this.txtStartTime.Text);
var datetime2 = Funs.GetNewDateTime(this.txtStartTime.Text);
var getD1 = from x in Funs.DB.Comprehensive_InspectionMachine
where x.ProjectId == projectId.ToString() && x.IsOnSite == true && x.InspectionType.Contains("计量")
select x;
if (datetime1.HasValue)
{
getD1 = getD1.Where(x => x.CompileDate >= datetime1);
}
if (datetime2.HasValue)
{
getD1 = getD1.Where(x => x.CompileDate <= datetime2);
}
cout1 = getD1.Count();
}
return cout1;
}
/// <summary>
/// 校验合格数
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
protected int Count2(object projectId)
{
int cout1 = 0;
if (projectId != null)
{
var datetime1 = Funs.GetNewDateTime(this.txtStartTime.Text);
var datetime2 = Funs.GetNewDateTime(this.txtStartTime.Text);
var getD1 = from x in Funs.DB.Comprehensive_InspectionMachine
where x.ProjectId == projectId.ToString() && x.IsOnSite == true && x.InspectionType.Contains("计量") && x.IsCheckOK == true
select x;
if (datetime1.HasValue)
{
getD1 = getD1.Where(x => x.CompileDate >= datetime1);
}
if (datetime2.HasValue)
{
getD1 = getD1.Where(x => x.CompileDate <= datetime2);
}
cout1 = getD1.Count();
}
return cout1;
}
protected int Count3(object projectId)
{
int result = 0;
if (projectId != null)
{
var getPersonQualitys = from x in Funs.DB.QualityAudit_PersonQuality
join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
where x.LimitDate.HasValue && x.LimitDate < DateTime.Now && y.ProjectId==projectId.ToString()
select x;
//// 预警人数
result = getPersonQualitys.Count();
}
return result;
}
protected int Count4(object projectId)
{
int result = 0;
if (projectId != null)
{
//机具报验的到期提醒和过期提醒记录数加一起
//机具报验的到期提醒数
var num1 = Funs.DB.Comprehensive_InspectionMachine.Count(x => x.IsOnSite == true && DateTime.Now < x.NextTestDate
&& ((DateTime)x.NextTestDate).AddDays(-15) < DateTime.Now && x.ProjectId == projectId.ToString());
//过期提醒记录数
var num2 = Funs.DB.Comprehensive_InspectionMachine.Count(x => x.IsOnSite == true && x.NextTestDate < DateTime.Now
&& x.ProjectId == projectId.ToString());
return result = num1 + num2;
}
return result;
}
}
}