焊接修改
This commit is contained in:
@@ -0,0 +1,264 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PipelineTraceList.aspx.cs" Inherits="FineUIPro.Web.WeldingProcess.WeldingReport.PipelineTraceList" %>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>管道追溯表</title>
|
||||
<style>
|
||||
.f-grid-row-summary .f-grid-cell-inner {
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
|
||||
/*定义父容器*/
|
||||
.content {
|
||||
width: 550px;
|
||||
height: 30px;
|
||||
background: #E4F1FB;
|
||||
margin: 0 auto;
|
||||
}
|
||||
/*定义进度条*/
|
||||
.box {
|
||||
width: 0px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
background: #3BAAE3;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="<%$ Resources:Lan,JointComprehensive %>"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true"
|
||||
AllowSorting="true" SortField="WorkAreaCode,PipelineCode,WeldJointCode" OnSort="Grid1_Sort"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpWorkAreaId" runat="server" Label="<%$ Resources:Lan,Area %>" EnableMultiSelect="true" EnableCheckBoxSelect="true"
|
||||
AutoPostBack="true" LabelAlign="Right" Width="480px" OnSelectedIndexChanged="drpWorkAreaId_OnSelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpPipeLine" runat="server" Label="管线" LabelAlign="Right" Width="480px" EmptyText="请选择管线"
|
||||
LabelWidth="60px" EnableEdit="true" EnableCheckBoxSelect="true" EnableMultiSelect="true">
|
||||
</f:DropDownList>
|
||||
<f:TextBox ID="txtTestPackageNo" runat="server" Label="<%$ Resources:Lan,PressureTestPackageNumber %>" LabelWidth="80px" Width="265px" LabelAlign="Left">
|
||||
</f:TextBox>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="BtnAnalyse" Text="<%$ Resources:Lan,Statistics %>" Icon="ChartPie"
|
||||
runat="server" OnClick="BtnAnalyse_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="<%$ Resources:Lan,Export %>"
|
||||
Icon="TableGo" EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" HeaderText="<%$ Resources:Lan,SerialNumber %>"
|
||||
Width="70px" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text=' <%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1%>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,Area %>" ColumnID="WorkAreaCode" DataField="WorkAreaCode"
|
||||
SortField="WorkAreaCode" FieldType="String" HeaderTextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="试压包号" ColumnID="TestPackageNo"
|
||||
DataField="TestPackageNo" SortField="TestPackageNo" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="单线图号" ColumnID="SingleNumber"
|
||||
DataField="SingleNumber" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,PipelineCode %>" ColumnID="PipelineCode"
|
||||
DataField="PipelineCode" SortField="PipelineCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="压力管道分级" ColumnID="PIPClassCode"
|
||||
DataField="PIPClassCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="110px">
|
||||
</f:RenderField>
|
||||
|
||||
|
||||
<f:RenderField HeaderText="图纸版次" ColumnID="DrawingsNum"
|
||||
DataField="DrawingsNum" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="页码" ColumnID="PageNum"
|
||||
DataField="PageNum" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="80px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,WeldingJointNumber %>" ColumnID="WeldJointCode"
|
||||
DataField="WeldJointCode" SortField="WeldJointCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="焊缝类型" ColumnID="WeldTypeCode"
|
||||
DataField="WeldTypeCode" SortField="WeldTypeCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="80px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="焊接位置" ColumnID="WeldingLocationCode"
|
||||
DataField="WeldingLocationCode" SortField="WeldingLocationCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="80px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="规格" ColumnID="Specification"
|
||||
DataField="Specification" SortField="Thickness" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材质1" ColumnID="MaterialCode1"
|
||||
DataField="MaterialCode1" SortField="MaterialCode1" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材质2" ColumnID="MaterialCode2"
|
||||
DataField="MaterialCode2" SortField="MaterialCode2" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="组件1" ColumnID="PipeAssembly1"
|
||||
DataField="PipeAssembly1" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="组件2" ColumnID="PipeAssembly2"
|
||||
DataField="PipeAssembly2" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="炉批号1" ColumnID="HeartNo1"
|
||||
DataField="HeartNo1" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="炉批号2" ColumnID="HeartNo2"
|
||||
DataField="HeartNo2" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="150px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,FloorWelder %>" ColumnID="BackingWelderCode"
|
||||
DataField="BackingWelderCode" SortField="BackingWelderCode" FieldType="String"
|
||||
HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,CoveringWelder %>" ColumnID="CoverWelderCode"
|
||||
DataField="CoverWelderCode" SortField="CoverWelderCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,WeldingMethod %>" ColumnID="WeldingMethodName"
|
||||
DataField="WeldingMethodName" SortField="WeldingMethodName" FieldType="String"
|
||||
HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,Medium %>" ColumnID="MediumName" DataField="MediumName"
|
||||
SortField="MediumName" FieldType="String" HeaderTextAlign="Center" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,WeldingDate %>" ColumnID="WeldingDate"
|
||||
DataField="WeldingDate" SortField="WeldingDate" FieldType="Date" Renderer="Date" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="检测类型" ColumnID="DetectionTypeCode"
|
||||
DataField="DetectionTypeCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="80px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,IsDK %>" ColumnID="if_dk"
|
||||
DataField="if_dk" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
|
||||
<f:RenderField HeaderText="检测比例" ColumnID="DetectionRateCode"
|
||||
DataField="DetectionRateCode" SortField="DetectionRateCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="合格等级" ColumnID="AcceptLevel"
|
||||
DataField="AcceptLevel" SortField="AcceptLevel" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="检测报告" ColumnID="NDEReportNo"
|
||||
DataField="NDEReportNo" SortField="NDEReportNo" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,IsHot %>" ColumnID="IsHotProess"
|
||||
DataField="IsHotProess" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="热处理报告号" ColumnID="HotReportCode"
|
||||
DataField="HotReportCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="硬度报告号" ColumnID="HotReportCode"
|
||||
DataField="HotReportCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField HeaderText="<%$ Resources:Lan,WeldingWireBrand %>" ColumnID="hsCode"
|
||||
DataField="hsCode" SortField="hsCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>--%>
|
||||
<f:TemplateField Width="150px" HeaderText="<%$ Resources:Lan,WeldingWireBrand %>"
|
||||
HeaderTextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label3" runat="server" Text='<%# ConvertWeldSilk(Eval("WeldSilkId")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,ElectrodeBrand %>" ColumnID="WMT_MatCode"
|
||||
DataField="WMT_MatCode" SortField="WMT_MatCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:TemplateField Width="150px" HeaderText="焊剂"
|
||||
HeaderTextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# ConvertWeldFlux(Eval("WeldSilkId")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<%--<f:RenderField HeaderText="焊剂" ColumnID="UserFlux"
|
||||
DataField="UserFlux" SortField="UserFlux" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField HeaderText="备注" ColumnID="Remark"
|
||||
DataField="Remark" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="<%$ Resources:Lan,NumberOfRecordsPerPage %>">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
<f:ListItem Text="10" Value="10" />
|
||||
<f:ListItem Text="15" Value="15" />
|
||||
<f:ListItem Text="20" Value="20" />
|
||||
<f:ListItem Text="25" Value="25" />
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="WindowExport" Hidden="true" runat="server" MinHeight="30px"
|
||||
Target="Parent" ShowHeader="false" BodyPadding="0" Margin="0"
|
||||
IsModal="true" Width="550px" Height="30px">
|
||||
<Items>
|
||||
<f:ContentPanel ShowBorder="false" Height="30px" ShowHeader="false" ID="ContentPanel3" runat="server">
|
||||
<div class="content" id="content">
|
||||
<div class="box" id="box"></div>
|
||||
</div>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Window>
|
||||
<asp:ScriptManager ID="ScriptManager2" runat="server" EnablePageMethods="true">
|
||||
<Scripts>
|
||||
<asp:ScriptReference Path="~/res/ProcessBar.js" />
|
||||
</Scripts>
|
||||
</asp:ScriptManager>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,389 @@
|
||||
using BLL;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using NPOI.HSSF.Util;
|
||||
using NPOI.POIFS.Properties;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System.IO;
|
||||
using System.Security.Policy;
|
||||
using System.Threading;
|
||||
using MiniExcelLibs;
|
||||
|
||||
namespace FineUIPro.Web.WeldingProcess.WeldingReport
|
||||
{
|
||||
public partial class PipelineTraceList : PageBase
|
||||
{
|
||||
public static int percent { get; set; }
|
||||
public static string url { get; set; }
|
||||
|
||||
[System.Web.Services.WebMethod]
|
||||
public static int getPercent()
|
||||
{
|
||||
return percent;
|
||||
}
|
||||
|
||||
[System.Web.Services.WebMethod]
|
||||
public static string getUrl()
|
||||
{
|
||||
return url;
|
||||
}
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
|
||||
BLL.Project_WorkAreaService.InitWorkAreaDropDownList(this.drpWorkAreaId, true, this.CurrUser.LoginProjectId, string.Empty, string.Empty, string.Empty, Resources.Lan.PleaseSelect);//区域
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable GetDataTable()
|
||||
{
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
|
||||
if (drpWorkAreaId.SelectedValue != Const._Null && drpWorkAreaId.SelectedValue != null)
|
||||
{
|
||||
string[] areaList = drpWorkAreaId.SelectedValueArray;
|
||||
string workAreaIds = string.Join(",", areaList);
|
||||
listStr.Add(new SqlParameter("@workAreaIds", workAreaIds));
|
||||
// listStr.Add(new SqlParameter("@workAreaId", this.drpWorkAreaId.SelectedValue));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(drpPipeLine.SelectedValue) && drpPipeLine.SelectedValue != Const._Null)
|
||||
{
|
||||
string[] pipeList = drpPipeLine.SelectedValueArray;
|
||||
string pipeLineIds = string.Join(",", pipeList);
|
||||
listStr.Add(new SqlParameter("@pipelineIds", pipeLineIds));
|
||||
}
|
||||
else
|
||||
{
|
||||
listStr.Add(new SqlParameter("@pipelineIds", null));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtTestPackageNo.Text.Trim()))
|
||||
{
|
||||
listStr.Add(new SqlParameter("@TestPackageNo", '%'+txtTestPackageNo.Text.Trim()+"%"));
|
||||
}
|
||||
else
|
||||
{
|
||||
listStr.Add(new SqlParameter("@TestPackageNo", null));
|
||||
}
|
||||
//if (!string.IsNullOrEmpty(this.drpWorkAreaId.Text.Trim()))
|
||||
//{
|
||||
// listStr.Add(new SqlParameter("@pipelineCode", this.txtPipelineCode.Text.Trim()));
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// listStr.Add(new SqlParameter("@pipelineCode", null));
|
||||
//}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable dt = SQLHelper.GetDataTableRunProc("sp_rpt_JointComprehensive", parameter);
|
||||
return dt;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
DataTable tb = GetDataTable();
|
||||
this.Grid1.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
|
||||
var distinctPipelineCode = tb.AsEnumerable().GroupBy(row => row.Field<string>("PipelineId")).Select(group => group.First());
|
||||
var distinctSingleNumber = tb.AsEnumerable().GroupBy(row => row.Field<string>("SingleNumber")).Select(group => group.First());
|
||||
var backingWelder = tb.AsEnumerable().Where(row => row.Field<string>("BackingWelderCode") != null).GroupBy(row => row.Field<string>("BackingWelderCode")).Select(group => group.First());
|
||||
var coverWelder = tb.AsEnumerable().Where(row => row.Field<string>("CoverWelderCode") != null).GroupBy(row => row.Field<string>("CoverWelderCode")).Select(group => group.First());
|
||||
var jotNum = from x in tb.AsEnumerable()
|
||||
group x by new { pipe = x.Field<string>("PipelineId"), jot = x.Field<string>("WeldJointCode"), Size = x.Field<string>("JOT_Size") }
|
||||
into g
|
||||
select new { pipe = g.Key.pipe, jot = g.Key.jot, Size = g.Key.Size };
|
||||
JObject summary = new JObject();
|
||||
summary.Add("tfNumber", "合计");
|
||||
summary.Add("SingleNumber", distinctSingleNumber.Count().ToString());
|
||||
summary.Add("PipelineCode", distinctPipelineCode.Count().ToString());
|
||||
summary.Add("WeldJointCode", jotNum.Count());
|
||||
summary.Add("BackingWelderCode", backingWelder.Count().ToString());
|
||||
summary.Add("CoverWelderCode", coverWelder.Count().ToString());
|
||||
|
||||
Grid1.SummaryData = summary;
|
||||
}
|
||||
|
||||
protected void drpWorkAreaId_OnSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string[] workAreaIds = drpWorkAreaId.SelectedValueArray;
|
||||
if (workAreaIds.Length == 1)
|
||||
{
|
||||
BLL.Pipeline_PipelineService.InitPipelineDropDownList(drpPipeLine, workAreaIds[0], Resources.Lan.PleaseSelect);
|
||||
}
|
||||
}
|
||||
|
||||
/// <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 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 Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 统计按钮事件
|
||||
/// <summary>
|
||||
/// 统计
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void BtnAnalyse_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导出按钮
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
percent = 0;
|
||||
url = "";
|
||||
|
||||
Thread t = new Thread(new ThreadStart(() => { Export(); }));
|
||||
t.Start();
|
||||
PageContext.RegisterStartupScript("showProcessBar()");
|
||||
|
||||
}
|
||||
|
||||
private void Export()
|
||||
{
|
||||
string templatePath = Funs.RootPath + @"File\Excel\HJGL_DataOut\管道追溯表.xlsx";
|
||||
string path = Funs.RootPath + @"File\Excel\Temp\管道追溯表.xlsx";
|
||||
path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx");
|
||||
|
||||
|
||||
|
||||
DataTable tb = GetDataTable();
|
||||
DataColumn dc = null;
|
||||
dc = tb.Columns.Add("Index", Type.GetType("System.Int32"));
|
||||
dc = tb.Columns.Add("WeldSilk", Type.GetType("System.String"));
|
||||
dc = tb.Columns.Add("WeldFlux", Type.GetType("System.String"));
|
||||
int totalNum = tb.Rows.Count;
|
||||
var rowIndex = 1;
|
||||
foreach (DataRow row in tb.Rows)
|
||||
{
|
||||
|
||||
row["Index"] = row.Table.Rows.IndexOf(row) + 1;
|
||||
row["WeldSilk"] = ConvertWeldSilk(row["WeldSilkId"]);
|
||||
row["WeldFlux"] = ConvertWeldFlux(row["WeldSilkId"]);
|
||||
if ((int)(90 * (rowIndex) / totalNum) > percent)
|
||||
{
|
||||
percent = (int)(100 * (rowIndex) / totalNum);
|
||||
|
||||
}
|
||||
rowIndex++;
|
||||
}
|
||||
|
||||
|
||||
tb.TableName = "Data";
|
||||
var value = new Dictionary<string, object>()
|
||||
{
|
||||
["Data"] = tb,
|
||||
};
|
||||
MiniExcel.SaveAsByTemplate(path, templatePath, value);
|
||||
|
||||
percent = 100;
|
||||
url = path.Replace(Server.MapPath("~/"), "");
|
||||
/*string fileName = "管道追溯表.xlsx";
|
||||
FileInfo info = new FileInfo(path);
|
||||
long fileSize = info.Length;
|
||||
System.Web.HttpContext.Current.Response.Clear();
|
||||
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
|
||||
System.Web.HttpContext.Current.Response.TransmitFile(path, 0, fileSize);
|
||||
System.Web.HttpContext.Current.Response.Flush();
|
||||
System.Web.HttpContext.Current.Response.Close();
|
||||
File.Delete(path);*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导出方法
|
||||
/// </summary>
|
||||
/// <param name="grid"></param>
|
||||
/// <returns></returns>
|
||||
//private string GetGridTableHtml(Grid grid)
|
||||
//{
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// grid.PageSize = 500000;
|
||||
// BindGrid();
|
||||
// sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
|
||||
// sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
||||
// sb.Append("<tr>");
|
||||
// foreach (GridColumn column in grid.Columns)
|
||||
// {
|
||||
// sb.AppendFormat("<td>{0}</td>", column.HeaderText);
|
||||
// }
|
||||
// sb.Append("</tr>");
|
||||
// foreach (GridRow row in grid.Rows)
|
||||
// {
|
||||
// sb.Append("<tr>");
|
||||
// foreach (GridColumn column in grid.Columns)
|
||||
// {
|
||||
// string html = row.Values[column.ColumnIndex].ToString();
|
||||
// if (column.ColumnID == "tfNumber")
|
||||
// {
|
||||
// html = (row.FindControl("labNumber") as AspNet.Label).Text;
|
||||
// }
|
||||
// if (column.ColumnID == "tfIsHotProess")
|
||||
// {
|
||||
// html = (row.FindControl("lblIsHotProess") as AspNet.Label).Text;
|
||||
// }
|
||||
// if (column.ColumnID == "tfif_dk")
|
||||
// {
|
||||
// html = (row.FindControl("lblif_dk") as AspNet.Label).Text;
|
||||
// }
|
||||
// sb.AppendFormat("<td>{0}</td>", html);
|
||||
// }
|
||||
|
||||
// sb.Append("</tr>");
|
||||
// }
|
||||
|
||||
// sb.Append("</table>");
|
||||
|
||||
// return sb.ToString();
|
||||
//}
|
||||
#endregion
|
||||
|
||||
#region 格式化字符串
|
||||
/// <summary>
|
||||
/// 是否热处理
|
||||
/// </summary>
|
||||
/// <param name="isHotProess"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertIsHotProess(object isHotProess)
|
||||
{
|
||||
if (isHotProess != null)
|
||||
{
|
||||
if (isHotProess.ToString() == "True")
|
||||
{
|
||||
return Resources.Lan.Yes;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Resources.Lan.No;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否点口
|
||||
/// </summary>
|
||||
/// <param name="if_dk"></param>
|
||||
/// <returns></returns>
|
||||
protected string Convertif_dk(object if_dk)
|
||||
{
|
||||
if (if_dk != null)
|
||||
{
|
||||
if (if_dk.ToString() == "1")
|
||||
{
|
||||
return Resources.Lan.Yes;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Resources.Lan.No;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected string ConvertWeldSilk(object WeldSilkId)
|
||||
{
|
||||
string weldSilkName = string.Empty;
|
||||
if (WeldSilkId != null)
|
||||
{
|
||||
string[] weldSilkIds = WeldSilkId.ToString().Split(',');
|
||||
if (weldSilkIds.Count() > 0)
|
||||
{
|
||||
foreach (string s in weldSilkIds)
|
||||
{
|
||||
var silk = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(s);
|
||||
if (silk != null)
|
||||
{
|
||||
weldSilkName = weldSilkName + silk.ConsumablesName + ',';
|
||||
}
|
||||
}
|
||||
if (weldSilkName.Length > 0)
|
||||
{
|
||||
weldSilkName = weldSilkName.Substring(0, weldSilkName.Length - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return weldSilkName;
|
||||
}
|
||||
|
||||
protected string ConvertWeldFlux(object WeldSilkId)
|
||||
{
|
||||
string weldFlux = string.Empty;
|
||||
string[] weldSilkIds = WeldSilkId.ToString().Split(',');
|
||||
if (weldSilkIds.Count() > 0)
|
||||
{
|
||||
foreach (string s in weldSilkIds)
|
||||
{
|
||||
var silk = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(s);
|
||||
if (silk != null && !string.IsNullOrEmpty(silk.UserFlux))
|
||||
{
|
||||
weldFlux = weldFlux + silk.UserFlux + ',';
|
||||
}
|
||||
|
||||
}
|
||||
if (weldFlux.Length > 0)
|
||||
{
|
||||
weldFlux = weldFlux.Substring(0, weldFlux.Length - 1);
|
||||
}
|
||||
}
|
||||
return weldFlux;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
+197
@@ -0,0 +1,197 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.WeldingProcess.WeldingReport
|
||||
{
|
||||
|
||||
|
||||
public partial class PipelineTraceList
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// drpWorkAreaId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpWorkAreaId;
|
||||
|
||||
/// <summary>
|
||||
/// drpPipeLine 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpPipeLine;
|
||||
|
||||
/// <summary>
|
||||
/// txtTestPackageNo 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTestPackageNo;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// BtnAnalyse 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button BtnAnalyse;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <summary>
|
||||
/// Label3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label3;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
/// <summary>
|
||||
/// WindowExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowExport;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel3;
|
||||
|
||||
/// <summary>
|
||||
/// ScriptManager2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.ScriptManager ScriptManager2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RepairExTrackingList.aspx.cs" Inherits="FineUIPro.Web.WeldingProcess.WeldingReport.RepairExTrackingList" %>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>返修扩探追踪清单</title>
|
||||
<style>
|
||||
.f-grid-row-summary .f-grid-cell-inner {
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
|
||||
/*定义父容器*/
|
||||
.content {
|
||||
width: 550px;
|
||||
height: 30px;
|
||||
background: #E4F1FB;
|
||||
margin: 0 auto;
|
||||
}
|
||||
/*定义进度条*/
|
||||
.box {
|
||||
width: 0px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
background: #3BAAE3;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="<%$ Resources:Lan,RepairExpansionTrackingList %>"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true"
|
||||
AllowSorting="true" SortField="WorkAreaCode,PipelineCode,WeldJointCode" OnSort="Grid1_Sort"
|
||||
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableTextSelection="True" EnableSummary="true" SummaryPosition="Flow">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpWorkAreaId" runat="server" Label="<%$ Resources:Lan,Area %>" EnableMultiSelect="true" EnableCheckBoxSelect="true"
|
||||
AutoPostBack="true" LabelAlign="Right" Width="480px" OnSelectedIndexChanged="drpWorkAreaId_OnSelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
<f:DropDownList ID="drpPipeLine" runat="server" Label="管线" LabelAlign="Right" Width="480px" EmptyText="请选择管线"
|
||||
LabelWidth="60px" EnableEdit="true" EnableCheckBoxSelect="true" EnableMultiSelect="true">
|
||||
</f:DropDownList>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="BtnAnalyse" Text="<%$ Resources:Lan,Statistics %>" Icon="ChartPie"
|
||||
runat="server" OnClick="BtnAnalyse_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="<%$ Resources:Lan,Export %>"
|
||||
Icon="TableGo" EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" HeaderText="<%$ Resources:Lan,SerialNumber %>"
|
||||
Width="70px" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="labNumber" runat="server" Text=' <%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1%>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,Area %>" ColumnID="WorkAreaCode" DataField="WorkAreaCode"
|
||||
SortField="WorkAreaCode" FieldType="String" HeaderTextAlign="Center" Width="80px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,PipelineCode %>" ColumnID="PipelineCode"
|
||||
DataField="PipelineCode" SortField="PipelineCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="<%$ Resources:Lan,WeldingJointNumber %>" ColumnID="WeldJointCode"
|
||||
DataField="WeldJointCode" SortField="WeldJointCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="WelderCode" DataField="WelderCode" FieldType="String"
|
||||
HeaderText="<%$ Resources:Lan,WelderCode %>" HeaderTextAlign="Center" TextAlign="Left"
|
||||
SortField="WelderCode">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TeamGroupName" DataField="TeamGroupName" FieldType="String"
|
||||
HeaderText="施工队" HeaderTextAlign="Center" TextAlign="Left"
|
||||
SortField="WelderCode">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="Specification" DataField="Specification" FieldType="String"
|
||||
HeaderText="<%$ Resources:Lan,Specifications %>" HeaderTextAlign="Center" TextAlign="Left"
|
||||
SortField="Specifications">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="原委托号" ColumnID="TrustBatchCode"
|
||||
DataField="TrustBatchCode" SortField="TrustBatchCode" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="180px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="返修委托号" ColumnID="TrustBatchCodeRepair"
|
||||
DataField="TrustBatchCodeRepair" SortField="TrustBatchCodeRepair" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="200px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="扩探焊口号1" ColumnID="WeldJointCodeEx1"
|
||||
DataField="WeldJointCodeEx1" SortField="WeldJointCodeEx1" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="扩探焊口号2" ColumnID="WeldJointCodeEx2"
|
||||
DataField="WeldJointCodeEx2" SortField="WeldJointCodeEx2" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="是否关闭" ColumnID="IsClose"
|
||||
DataField="IsClose" SortField="IsClose" FieldType="String" HeaderTextAlign="Center"
|
||||
Width="120px">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="<%$ Resources:Lan,NumberOfRecordsPerPage %>">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
<f:ListItem Text="10" Value="10" />
|
||||
<f:ListItem Text="15" Value="15" />
|
||||
<f:ListItem Text="20" Value="20" />
|
||||
<f:ListItem Text="25" Value="25" />
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="WindowExport" Hidden="true" runat="server" MinHeight="30px"
|
||||
Target="Parent" ShowHeader="false" BodyPadding="0" Margin="0"
|
||||
IsModal="true" Width="550px" Height="30px">
|
||||
<Items>
|
||||
<f:ContentPanel ShowBorder="false" Height="30px" ShowHeader="false" ID="ContentPanel3" runat="server">
|
||||
<div class="content" id="content">
|
||||
<div class="box" id="box"></div>
|
||||
</div>
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Window>
|
||||
<asp:ScriptManager ID="ScriptManager2" runat="server" EnablePageMethods="true">
|
||||
<Scripts>
|
||||
<asp:ScriptReference Path="~/res/ProcessBar.js" />
|
||||
</Scripts>
|
||||
</asp:ScriptManager>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
using BLL;
|
||||
using MiniExcelLibs;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using Model;
|
||||
|
||||
namespace FineUIPro.Web.WeldingProcess.WeldingReport
|
||||
{
|
||||
public partial class RepairExTrackingList : PageBase
|
||||
{
|
||||
public static int percent { get; set; }
|
||||
public static string url { get; set; }
|
||||
|
||||
[System.Web.Services.WebMethod]
|
||||
public static int getPercent()
|
||||
{
|
||||
return percent;
|
||||
}
|
||||
|
||||
[System.Web.Services.WebMethod]
|
||||
public static string getUrl()
|
||||
{
|
||||
return url;
|
||||
}
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
|
||||
BLL.Project_WorkAreaService.InitWorkAreaDropDownList(this.drpWorkAreaId, true, this.CurrUser.LoginProjectId, string.Empty, string.Empty, string.Empty, Resources.Lan.PleaseSelect);//区域
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable GetDataTable()
|
||||
{ //创建表
|
||||
DataTable dt = new DataTable();
|
||||
|
||||
//1、添加列
|
||||
dt.Columns.Add("WorkAreaCode", typeof(string));
|
||||
dt.Columns.Add("PipelineCode", typeof(string));
|
||||
dt.Columns.Add("WeldJointId", typeof(string));
|
||||
dt.Columns.Add("WeldJointCode", typeof(string));
|
||||
dt.Columns.Add("WelderCode", typeof(string));
|
||||
dt.Columns.Add("TeamGroupName", typeof(string));
|
||||
dt.Columns.Add("Specification", typeof(string));
|
||||
dt.Columns.Add("TrustBatchCode", typeof(string));
|
||||
dt.Columns.Add("TrustBatchCodeRepair", typeof(string));
|
||||
dt.Columns.Add("WeldJointCodeEx1", typeof(string));
|
||||
dt.Columns.Add("WeldJointCodeEx2", typeof(string));
|
||||
dt.Columns.Add("IsClose", typeof(string));
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
|
||||
|
||||
var view_Batch_BatchTrustItemSelect = (from x in Funs.DB.View_Batch_BatchTrustItemSelect
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||||
select x).ToList();
|
||||
if (drpWorkAreaId.SelectedValue != Const._Null && drpWorkAreaId.SelectedValue != null)
|
||||
{
|
||||
view_Batch_BatchTrustItemSelect= view_Batch_BatchTrustItemSelect.Where(x => drpWorkAreaId.SelectedValueArray.Contains(x.WorkAreaId)).ToList();
|
||||
|
||||
}
|
||||
if (!string.IsNullOrEmpty(drpPipeLine.SelectedValue) && drpPipeLine.SelectedValue != Const._Null)
|
||||
{
|
||||
view_Batch_BatchTrustItemSelect = view_Batch_BatchTrustItemSelect.Where(x => drpPipeLine.SelectedValueArray.Contains(x.PipelineId)).ToList();
|
||||
|
||||
}
|
||||
var list = view_Batch_BatchTrustItemSelect.Where(x => x.IsWelderFirst == "是");
|
||||
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
DataRow dr = dt.NewRow();
|
||||
dr["WorkAreaCode"] = item.WorkAreaCode;
|
||||
dr["PipelineCode"] = item.PipelineCode;
|
||||
dr["WeldJointId"] = item.WeldJointId;
|
||||
dr["WeldJointCode"] = item.WeldJointCode;
|
||||
dr["WelderCode"] = item.WelderCode;
|
||||
dr["TeamGroupName"] = item.TeamGroupName;
|
||||
dr["Specification"] = item.Specification;
|
||||
dr["TrustBatchCode"] = item.TrustBatchCode;
|
||||
dr["TrustBatchCodeRepair"] = view_Batch_BatchTrustItemSelect.Where(x=>x.TrustBatchCode.Contains(item.TrustBatchCode+"R"))?.FirstOrDefault()?.TrustBatchCode;
|
||||
|
||||
var exWeldJointCodeList = view_Batch_BatchTrustItemSelect.Where(x => x.TrustBatchCode.Contains(item.TrustBatchCode + "EX")).Select(x=>x.WeldJointCode).ToList();
|
||||
if (exWeldJointCodeList.Count == 1)
|
||||
{
|
||||
dr["WeldJointCodeEx1"] = exWeldJointCodeList[0]?.ToString();
|
||||
}
|
||||
else if (exWeldJointCodeList.Count == 2)
|
||||
{
|
||||
dr["WeldJointCodeEx1"] = exWeldJointCodeList[0]?.ToString();
|
||||
dr["WeldJointCodeEx2"] = exWeldJointCodeList[1]?.ToString();
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(dr["WeldJointCodeEx2"].ToString()) && !string.IsNullOrEmpty(dr["WeldJointCodeEx2"].ToString()))
|
||||
{
|
||||
dr["IsClose"] = "是";
|
||||
}
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
DataTable tb = GetDataTable();
|
||||
this.Grid1.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void drpWorkAreaId_OnSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string[] workAreaIds = drpWorkAreaId.SelectedValueArray;
|
||||
if (workAreaIds.Length == 1)
|
||||
{
|
||||
BLL.Pipeline_PipelineService.InitPipelineDropDownList(drpPipeLine, workAreaIds[0], Resources.Lan.PleaseSelect);
|
||||
}
|
||||
}
|
||||
|
||||
/// <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 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 Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 统计按钮事件
|
||||
/// <summary>
|
||||
/// 统计
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void BtnAnalyse_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导出按钮
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
percent = 0;
|
||||
url = "";
|
||||
|
||||
Thread t = new Thread(new ThreadStart(() => { Export(); }));
|
||||
t.Start();
|
||||
PageContext.RegisterStartupScript("showProcessBar()");
|
||||
|
||||
}
|
||||
|
||||
private void Export()
|
||||
{
|
||||
string templatePath = Funs.RootPath + @"File\Excel\HJGL_DataOut\返修扩探追踪报表.xlsx";
|
||||
string path = Funs.RootPath + @"File\Excel\Temp\返修扩探追踪报表.xlsx";
|
||||
path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx");
|
||||
DataTable tb = GetDataTable();
|
||||
tb.TableName = "Data";
|
||||
var value = new Dictionary<string, object>()
|
||||
{
|
||||
["Data"] = tb,
|
||||
};
|
||||
MiniExcel.SaveAsByTemplate(path, templatePath, value);
|
||||
|
||||
percent = 100;
|
||||
url = path.Replace(Server.MapPath("~/"), "");
|
||||
/*string fileName = "管道追溯表.xlsx";
|
||||
FileInfo info = new FileInfo(path);
|
||||
long fileSize = info.Length;
|
||||
System.Web.HttpContext.Current.Response.Clear();
|
||||
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
|
||||
System.Web.HttpContext.Current.Response.TransmitFile(path, 0, fileSize);
|
||||
System.Web.HttpContext.Current.Response.Flush();
|
||||
System.Web.HttpContext.Current.Response.Close();
|
||||
File.Delete(path);*/
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.WeldingProcess.WeldingReport
|
||||
{
|
||||
|
||||
|
||||
public partial class RepairExTrackingList
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// drpWorkAreaId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpWorkAreaId;
|
||||
|
||||
/// <summary>
|
||||
/// drpPipeLine 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpPipeLine;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// BtnAnalyse 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button BtnAnalyse;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// labNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
/// <summary>
|
||||
/// WindowExport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowExport;
|
||||
|
||||
/// <summary>
|
||||
/// ContentPanel3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel ContentPanel3;
|
||||
|
||||
/// <summary>
|
||||
/// ScriptManager2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.ScriptManager ScriptManager2;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user