ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/HJGL/WeldingReport/InspectionBatchItem.aspx.cs

508 lines
20 KiB
C#
Raw Normal View History

2024-05-08 17:17:11 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI;
using System.IO;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using BLL;
namespace FineUIPro.Web.HJGL.WeldingReport
{
public partial class InspectionBatchItem : PageBase
{
/// <summary>
/// 批次
/// </summary>
public string BatchId
{
get
{
return (string)ViewState["BatchId"];
}
set
{
ViewState["BatchId"] = value;
}
}
#region
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BatchId = Request.Params["BatchId"];
this.drpProjectId.DataTextField = "ProjectCode";
this.drpProjectId.DataValueField = "ProjectId";
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetProjectListByUserId(this.CurrUser.UserId, "1");
this.drpProjectId.DataBind();
Funs.FineUIPleaseSelect(this.drpProjectId);
this.drpNdtType.DataTextField = "NDT_Code";
this.drpNdtType.DataValueField = "NDT_ID";
this.drpNdtType.DataSource = BLL.HJGL_TestingService.GetNDTTypeNameList();
this.drpNdtType.DataBind();
Funs.FineUIPleaseSelect(this.drpNdtType);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
btnSelectColumn.OnClientClick = Window1.GetShowReference("InspectionBatchShowColumn.aspx");
//btnSelectExportColumns.OnClientClick = Window2.GetShowReference("InspectionBatchSelectExportColumn.aspx");
// 绑定表格
BindGrid();
}
else
{
if (GetRequestEventArgument() == "reloadGrid")
{
BindGrid();
}
}
}
/// <summary>
/// 显示的列
/// </summary>
/// <param name="column"></param>
private void GetShowColumn(string column)
{
if (!string.IsNullOrEmpty(column))
{
this.Grid1.Columns[1].Hidden = true;
this.Grid1.Columns[2].Hidden = true;
this.Grid1.Columns[3].Hidden = true;
this.Grid1.Columns[4].Hidden = true;
this.Grid1.Columns[5].Hidden = true;
this.Grid1.Columns[6].Hidden = true;
this.Grid1.Columns[7].Hidden = true;
this.Grid1.Columns[8].Hidden = true;
this.Grid1.Columns[9].Hidden = true;
this.Grid1.Columns[10].Hidden = true;
this.Grid1.Columns[11].Hidden = true;
this.Grid1.Columns[12].Hidden = true;
this.Grid1.Columns[13].Hidden = true;
this.Grid1.Columns[14].Hidden = true;
this.Grid1.Columns[15].Hidden = true;
this.Grid1.Columns[16].Hidden = true;
this.Grid1.Columns[17].Hidden = true;
this.Grid1.Columns[18].Hidden = true;
this.Grid1.Columns[19].Hidden = true;
this.Grid1.Columns[20].Hidden = true;
this.Grid1.Columns[21].Hidden = true;
this.Grid1.Columns[22].Hidden = true;
this.Grid1.Columns[23].Hidden = true;
this.Grid1.Columns[24].Hidden = true;
this.Grid1.Columns[25].Hidden = true;
this.Grid1.Columns[26].Hidden = true;
this.Grid1.Columns[27].Hidden = true;
this.Grid1.Columns[28].Hidden = true;
this.Grid1.Columns[29].Hidden = true;
this.Grid1.Columns[30].Hidden = true;
this.Grid1.Columns[31].Hidden = true;
this.Grid1.Columns[32].Hidden = true;
this.Grid1.Columns[33].Hidden = true;
List<string> columns = column.Split(',').ToList();
foreach (var item in columns)
{
this.Grid1.Columns[Convert.ToInt32(item)].Hidden = false;
}
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = "select v.*,newid() as New_ID from (SELECT distinct * FROM HJGL_View_InspectionBatch WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
2024-10-17 14:50:41 +08:00
if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != "null")
2024-05-08 17:17:11 +08:00
{
strSql += " AND ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.drpProjectId.SelectedValue));
}
if (!string.IsNullOrEmpty(this.BatchId))
{
strSql += " AND BatchId =@BatchId";
listStr.Add(new SqlParameter("@BatchId", this.BatchId));
}
if (!string.IsNullOrEmpty(this.txtIsoNo.Text.Trim()))
{
strSql += " AND ISO_IsoNo LIKE @IsoNo";
listStr.Add(new SqlParameter("@IsoNo", "%" + this.txtIsoNo.Text.Trim() + "%"));
}
if (this.drpNdtType.SelectedValue != Const._Null)
{
strSql += " AND CH_NDTMethod = @NdtType";
listStr.Add(new SqlParameter("@NdtType", this.drpNdtType.SelectedValue));
}
strSql += " ) v";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
//显示列
Model.Sys_UserShowColumns c = BLL.Sys_UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, "3");
if (c != null)
{
this.GetShowColumn(c.Columns);
}
2024-10-17 14:50:41 +08:00
2024-05-08 17:17:11 +08:00
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Text_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
//#region 表头过滤
///// <summary>
///// 表头过滤
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//protected void Grid1_FilterChange(object sender, EventArgs e)
//{
// BindGrid();
//}
//#endregion
2024-10-17 14:50:41 +08:00
2024-05-08 17:17:11 +08:00
#region
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
//Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口刷新Grid
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
2024-10-17 14:50:41 +08:00
2024-05-08 17:17:11 +08:00
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
//int n = 0;
//foreach (GridRow dg in this.Grid1.Rows)
//{
// if (n > 0)
// {
// dg.CellAttributes[18].Add("style", "vnd.ms-excel.numberformat: @;");//第十一列的字段是[24928161122003E8]需要转换格式.
// }
// n++;
//}
2024-10-17 14:50:41 +08:00
Model.Sys_UserShowColumns c = BLL.Sys_UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, "3");
List<string> columns = new List<string>();
if (c != null)
{
string[] items = ("0," + c.Columns).Split(',');
columns = new List<string>(items);
}
else
{
for (int i = 1; i <= Grid1.Columns.Count; i++)
{
columns.Add(i.ToString());
}
}
2024-05-08 17:17:11 +08:00
Response.ClearContent();
string filename = Funs.GetNewFileName();
//string style = @"<style> .text { mso-number-format:\@; } </script> ";
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("检测批次样表" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write(GetGridTableHtml(Grid1, columns));
//Response.Write(style);
Response.End();
}
/// <summary>
/// 导出
/// </summary>
/// <param name="grid"></param>
/// <param name="columns"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid, List<string> columns)
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
//List<string> columnHeaderTexts = new List<string>(columns);
List<int> columnIndexs = new List<int>();
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
this.Grid1.PageSize = 10000;
BindGrid();
foreach (GridColumn column in grid.Columns)
{
if (columns.Contains(column.ColumnIndex.ToString()))
{
2024-10-17 14:50:41 +08:00
if (column.ColumnIndex == 0)
{
sb.AppendFormat("<td align='center' style='width:118px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 1)
2024-05-08 17:17:11 +08:00
{
sb.AppendFormat("<td align='center' style='width:118px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 2)
{
sb.AppendFormat("<td align='center' style='width:45px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 3)
{
sb.AppendFormat("<td align='center' style='width:41px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 4)
{
sb.AppendFormat("<td align='center' style='width:89px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 5)
{
sb.AppendFormat("<td align='center' style='width:151px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 6)
{
sb.AppendFormat("<td align='center' style='width:44px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 7)
{
sb.AppendFormat("<td align='center' style='width:44px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 8)
{
sb.AppendFormat("<td align='center' style='width:39px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 9)
{
sb.AppendFormat("<td align='center' style='width:62px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 10)
{
sb.AppendFormat("<td align='center' style='width:44px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 11)
{
sb.AppendFormat("<td align='center' style='width:113px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 12)
{
sb.AppendFormat("<td align='center' style='width:87px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 13)
{
sb.AppendFormat("<td align='center' style='width:100px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 14)
{
sb.AppendFormat("<td align='center' style='width:35px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 15)
{
sb.AppendFormat("<td align='center' style='width:46px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 16)
{
sb.AppendFormat("<td align='center' style='width:79px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 17)
{
sb.AppendFormat("<td align='center' style='width:41px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 18)
{
sb.AppendFormat("<td align='center' style='width:82px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 19)
{
sb.AppendFormat("<td align='center' style='width:78px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 20)
{
sb.AppendFormat("<td align='center' style='width:42px;'>{0}</td>", column.HeaderText);
}
else if (column.ColumnIndex == 21)
{
sb.AppendFormat("<td align='center' style='width:41px;'>{0}</td>", column.HeaderText);
}
else
{
sb.AppendFormat("<td align='center'>{0}</td>", column.HeaderText);
}
columnIndexs.Add(column.ColumnIndex);
}
}
sb.Append("</tr>");
2024-10-17 14:50:41 +08:00
int a = 1;
2024-05-08 17:17:11 +08:00
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
int columnIndex = 0;
foreach (object value in row.Values)
{
if (columnIndexs.Contains(columnIndex))
{
string html = value.ToString();
2024-10-17 14:50:41 +08:00
if (columnIndex == 0)
{
html = a.ToString();
}
2024-05-08 17:17:11 +08:00
if (html.StartsWith(Grid.TEMPLATE_PLACEHOLDER_PREFIX))
{
// 模板列
string templateID = html.Substring(Grid.TEMPLATE_PLACEHOLDER_PREFIX.Length);
Control templateCtrl = row.FindControl(templateID);
html = GetRenderedHtmlSource(templateCtrl);
}
//else
//{
// // 处理CheckBox
// if (html.Contains("f-grid-static-checkbox"))
// {
// if (!html.Contains("f-checked"))
// {
// html = "×";
// }
// else
// {
// html = "√";
// }
// }
// // 处理图片
// if (html.Contains("<img"))
// {
// string prefix = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, "");
// html = html.Replace("src=\"", "src=\"" + prefix);
// }
//}
sb.AppendFormat("<td align='center'>{0}</td>", html);
}
columnIndex++;
2024-10-17 14:50:41 +08:00
a++;
2024-05-08 17:17:11 +08:00
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
/// <summary>
/// 获取控件渲染后的HTML源代码
/// </summary>
/// <param name="ctrl"></param>
/// <returns></returns>
private string GetRenderedHtmlSource(Control ctrl)
{
if (ctrl != null)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
ctrl.RenderControl(htw);
return sw.ToString();
}
}
}
return String.Empty;
}
#endregion
#region
/// <summary>
/// 转换热处理类型
/// </summary>
/// <param name="pt"></param>
/// <returns></returns>
protected string ConvertProessTypes(object pt)
{
string name = string.Empty;
if (pt != null)
{
List<string> proessTypes = pt.ToString().Split('|').ToList();
foreach (var item in proessTypes)
{
if (item == "1")
{
name += "预热,";
}
else if (item == "2")
{
name += "消氢,";
}
else if (item == "3")
{
name += "后热,";
}
else if (item == "4")
{
name += "消应力热处理,";
}
else if (item == "5")
{
name += "稳定化处理,";
}
}
if (!string.IsNullOrEmpty(name))
{
name = name.Substring(0, name.LastIndexOf(","));
}
}
return name;
}
#endregion
}
}