20260520 焊缝返修台账

This commit is contained in:
2026-05-20 14:59:12 +08:00
parent 3f397b0e80
commit 9ab54cd75c
9 changed files with 721 additions and 5 deletions
@@ -0,0 +1,102 @@
insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuModule)
values('C2D55C90-59BE-4400-9BCD-D0A8B72B3F2B','焊缝返修台账','HJGL/WeldingReport/WeldRepairLists.aspx',250,'F3B157B7-9BEE-4150-6666-087828F1C51D','3')
go
CREATE PROCEDURE [dbo].[HJGL_rpt_RepairLists]
(
@projectId NVARCHAR(50) =null
)
AS
/************返修台账************/
select distinct jointInfo.JOT_ID,jointInfo.ISO_ID,isoInfo.ISO_IsoNo,jointInfo.JOT_JointNo,jointInfo.JOT_JointDesc,
(case when Steel.STE_Code is not null
then (case when Steel2.STE_Code is not null and Steel.STE_Code<>Steel2.STE_Code
then Steel.STE_Code+'/'+Steel2.STE_Code
else Steel.STE_Code end)
else Steel2.STE_Code end) as SteelCode,--材质
rate.NDTR_Name,
----------初次焊接--------------
(case when Welder.WED_Code is not null
then (case when FloorWelder.WED_Code is not null and Welder.WED_Code<>FloorWelder.WED_Code
then Welder.WED_Code+'/'+FloorWelder.WED_Code
else Welder.WED_Code end)
else FloorWelder.WED_Code end) as WelderCode, --焊工号
(CASE WHEN JointInfo.Jot_WeldingDate IS NOT NULL THEN JointInfo.Jot_WeldingDate
ELSE WeldReportMain.JOT_WeldDate END) AS JOT_WeldDate, --焊接日期
(SELECT TOP 1 PostHeatingDate FROM dbo.HJGL_HotProessItem HotProessItem WHERE HotProessItem.JOT_ID=jointInfo.JOT_ID) as PostHeatingDate,--后热日期
null as PostHeatingCode,--后热曲线编号
(SELECT TOP 1 HotProessDate FROM dbo.HJGL_HotProessItem HotProessItem WHERE HotProessItem.JOT_ID=jointInfo.JOT_ID) as HotProessDate,--热处理日期
(SELECT TOP 1 RecordChartNo FROM dbo.HJGL_HotProessItem HotProessItem WHERE HotProessItem.JOT_ID=jointInfo.JOT_ID and RecordChartNo is not null and RecordChartNo!='') AS RecordChartNo,--热处理曲线编号
CONVERT(VARCHAR,(case when jointInfo.RT_States is not null and jointInfo.RT_States='检测合格' then jointInfo.RT_TrustDate
else (case when jointInfo.UT_States is not null and jointInfo.UT_States='检测合格' then jointInfo.UT_TrustDate
else (case when jointInfo.MT_States is not null and jointInfo.MT_States='检测合格' then jointInfo.MT_TrustDate
else (case when jointInfo.PT_States is not null and jointInfo.PT_States='检测合格' then jointInfo.PT_TrustDate
else (case when jointInfo.PAUT_States is not null and jointInfo.PAUT_States='检测合格' then jointInfo.PAUT_TrustDate
else null end) end)end) end) end),23) as TestDate,--检测日期
---------------------------------
------------一返------------
repairItemRecord.RepairWelderCode1,--焊工号
repairItemRecord.WeldDate as RepairWeldDate1,--焊接日期
null as RepairPostHeatingDate1,--后热日期
null as RepairPostHeatingCode1,--后热曲线编号
CONVERT(VARCHAR,repairItemRecord.TrustDate,23) as RepairHotDate1,--热处理日期
null as RepairRecordChartNo1,--热处理曲线编号
null as RepairTestDate1,--检测日期
---------------------------------
------------二返------------
repairItemRecord2.RepairWelderCode2,--焊工号
repairItemRecord2.WeldDate as RepairWeldDate2,--焊接日期
null as RepairPostHeatingDate2,--后热日期
null as RepairPostHeatingCode2,--后热曲线编号
CONVERT(VARCHAR,repairItemRecord2.TrustDate,23) as RepairHotDate2,--热处理日期
null as RepairRecordChartNo2,---热处理曲线编号
null as RepairTestDate2,--检测日期
---------------------------------
------------硬度------------
--第一次时间
--第一次时间
--第一次时间
---------------------------------
jointType.JOTY_Group,
jointInfo.Sort1,
jointInfo.Sort2,
jointInfo.Sort3,
jointInfo.Sort4,
jointInfo.Sort5
from HJGL_PW_JointInfo jointInfo
left join HJGL_PW_IsoInfo as isoInfo on isoInfo.ISO_ID = jointInfo.ISO_ID
LEFT JOIN HJGL_BS_Steel AS Steel ON Steel.STE_ID=jointInfo.STE_ID
LEFT JOIN HJGL_BS_Steel AS Steel2 ON Steel2.STE_ID=jointInfo.STE_ID2
LEFT JOIN HJGL_BS_JointType AS jointType ON jointType.JOTY_ID=jointInfo.JOTY_ID
left join HJGL_BS_NDTRate as rate on rate.NDTR_ID = jointInfo.NDTR_ID
LEFT JOIN HJGL_BS_Welder AS Welder ON Welder.WED_ID= jointInfo.JOT_CellWelder
LEFT JOIN HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=jointInfo.JOT_FloorWelder
LEFT JOIN HJGL_BO_WeldReportMain AS WeldReportMain ON WeldReportMain.DReportID=jointInfo.DReportID
--一返
--一返
left join (select distinct HJGL_CH_RepairItemRecord.JOT_ID,(case when Welder.WED_Code is not null
then (case when FloorWelder.WED_Code is not null and Welder.WED_Code<>FloorWelder.WED_Code
then Welder.WED_Code+'/'+FloorWelder.WED_Code
else Welder.WED_Code end)
else FloorWelder.WED_Code end) as RepairWelderCode1,CONVERT(VARCHAR, WeldDate, 23) as WeldDate,hotProessTrustItem.TrustDate
from HJGL_CH_RepairItemRecord
LEFT JOIN HJGL_BS_Welder AS Welder ON Welder.WED_ID= HJGL_CH_RepairItemRecord.JOT_CellWelder
LEFT JOIN HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=HJGL_CH_RepairItemRecord.JOT_FloorWelder
left join HJGL_CH_HotProessTrustItem as hotProessTrustItem on hotProessTrustItem.TrustItemID = HJGL_CH_RepairItemRecord.RepairItemRecordId
where RepairMark='R1') as repairItemRecord on repairItemRecord.JOT_ID = jointInfo.JOT_ID
----二返
left join (select distinct HJGL_CH_RepairItemRecord.JOT_ID,(case when Welder.WED_Code is not null
then (case when FloorWelder.WED_Code is not null and Welder.WED_Code<>FloorWelder.WED_Code
then Welder.WED_Code+'/'+FloorWelder.WED_Code
else Welder.WED_Code end)
else FloorWelder.WED_Code end) as RepairWelderCode2,CONVERT(VARCHAR, WeldDate, 23) as WeldDate,hotProessTrustItem.TrustDate
from HJGL_CH_RepairItemRecord
LEFT JOIN HJGL_BS_Welder AS Welder ON Welder.WED_ID= HJGL_CH_RepairItemRecord.JOT_CellWelder
LEFT JOIN HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=HJGL_CH_RepairItemRecord.JOT_FloorWelder
left join HJGL_CH_HotProessTrustItem as hotProessTrustItem on hotProessTrustItem.TrustItemID = HJGL_CH_RepairItemRecord.RepairItemRecordId
where RepairMark='R2') as repairItemRecord2 on repairItemRecord2.JOT_ID = jointInfo.JOT_ID
where jointInfo.JOT_ID in (select JOT_ID from HJGL_CH_RepairItem)
and (jointInfo.ProjectId=@projectId or @projectId is null)
order by isoInfo.ISO_IsoNo,jointType.JOTY_Group,jointInfo.Sort1,jointInfo.Sort2,jointInfo.Sort3,jointInfo.Sort4,jointInfo.Sort5
go
+5
View File
@@ -2601,5 +2601,10 @@ namespace BLL
/// 黄金(碰头)焊口材质及检测确认表导出模板
/// </summary>
public const string HJGL_GoldMouthLedgerUrl = "File\\Excel\\黄金(碰头)焊口材质及检测确认表导出模板.xlsx";
/// <summary>
/// 焊缝返修台账导出模板
/// </summary>
public const string HJGL_WeldRepairListsUrl = "File\\Excel\\焊缝返修台账导出模板.xlsx";
}
}
@@ -1452,6 +1452,7 @@
<Content Include="HJGL\WeldingReport\WelderPerformancePAUT.aspx" />
<Content Include="HJGL\WeldingReport\WeldInspectionCheckRecord.aspx" />
<Content Include="HJGL\WeldingReport\WeldInspectionCheckRecordItem.aspx" />
<Content Include="HJGL\WeldingReport\WeldRepairLists.aspx" />
<Content Include="Images\dlu.gif" />
<Content Include="Images\dlu1.gif" />
<Content Include="Images\focus.swf" />
@@ -6959,6 +6960,13 @@
<Compile Include="HJGL\WeldingReport\WeldInspectionCheckRecordItem.aspx.designer.cs">
<DependentUpon>WeldInspectionCheckRecordItem.aspx</DependentUpon>
</Compile>
<Compile Include="HJGL\WeldingReport\WeldRepairLists.aspx.cs">
<DependentUpon>WeldRepairLists.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HJGL\WeldingReport\WeldRepairLists.aspx.designer.cs">
<DependentUpon>WeldRepairLists.aspx</DependentUpon>
</Compile>
<Compile Include="JGZL\AcceptanceCertificate.aspx.cs">
<DependentUpon>AcceptanceCertificate.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>true</UseIISExpress>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
@@ -0,0 +1,168 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeldRepairLists.aspx.cs" Inherits="FineUIPro.Web.HJGL.WeldingReport.WeldRepairLists" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>焊缝返修台账</title>
<style>
.f-grid-colheader .f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</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="焊缝返修台账" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="JOT_ID" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2"
AllowSorting="true" SortField="ISO_IsoNo,JOTY_Group,Sort1,Sort2,Sort3,Sort4,Sort5" SortDirection="ASC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DropDownList ID="drpProjectId" runat="server" Label="施工号" LabelAlign="Right" Width="250px"
EnableEdit="true" AutoPostBack="true" OnSelectedIndexChanged="drpProjectId_SelectedIndexChanged" AutoSelectFirstItem="false">
</f:DropDownList>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="BtnAnalyse" Text="统计" Icon="ChartPie" runat="server" OnClick="BtnAnalyse_Click" Hidden="true">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" Icon="TableGo" ToolTip="导出"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField HeaderText="管线号" ColumnID="ISO_IsoNo" DataField="ISO_IsoNo" SortField="ISO_IsoNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="焊口号" ColumnID="JOT_JointNo" DataField="JOT_JointNo" SortField="JOT_JointNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="规格" ColumnID="JOT_JointDesc" DataField="JOT_JointDesc" SortField="JOT_JointDesc"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="材质" ColumnID="SteelCode" DataField="SteelCode" SortField="SteelCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="检测比例" ColumnID="NDTR_Name" DataField="NDTR_Name" SortField="NDTR_Name"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="90px">
</f:RenderField>
<f:GroupField HeaderText="初次焊接" HeaderTextAlign="Center" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="焊工号" ColumnID="WelderCode" DataField="WelderCode" SortField="WelderCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="焊接日期" ColumnID="JOT_WeldDate" DataField="JOT_WeldDate" SortField="JOT_WeldDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热日期" ColumnID="PostHeatingDate" DataField="PostHeatingDate" SortField="PostHeatingDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热曲线编号" ColumnID="PostHeatingCode" DataField="PostHeatingCode" SortField="PostHeatingCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理日期" ColumnID="HotProessDate" DataField="HotProessDate" SortField="HotProessDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理曲线编号" ColumnID="RecordChartNo" DataField="RecordChartNo" SortField="RecordChartNo"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="检测日期" ColumnID="TestDate" DataField="TestDate" SortField="TestDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="一返" HeaderTextAlign="Center" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="焊工号" ColumnID="RepairWelderCode1" DataField="RepairWelderCode1" SortField="RepairWelderCode1"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="焊接日期" ColumnID="RepairWeldDate1" DataField="RepairWeldDate1" SortField="RepairWeldDate1"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热日期" ColumnID="RepairPostHeatingDate1" DataField="RepairPostHeatingDate1" SortField="RepairPostHeatingDate1"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热曲线编号" ColumnID="RepairPostHeatingCode1" DataField="RepairPostHeatingCode1" SortField="RepairPostHeatingCode1"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理日期" ColumnID="RepairHotDate1" DataField="RepairHotDate1" SortField="RepairHotDate1"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理曲线编号" ColumnID="RepairRecordChartNo1" DataField="RepairRecordChartNo1" SortField="RepairRecordChartNo1"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="检测日期" ColumnID="RepairTestDate1" DataField="RepairTestDate1" SortField="RepairTestDate1"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="二返" HeaderTextAlign="Center" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="焊工号" ColumnID="RepairWelderCode2" DataField="RepairWelderCode2" SortField="RepairWelderCode2"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="焊接日期" ColumnID="RepairWeldDate2" DataField="RepairWeldDate2" SortField="RepairWeldDate2"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热日期" ColumnID="RepairPostHeatingDate2" DataField="RepairPostHeatingDate2" SortField="RepairPostHeatingDate2"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="后热曲线编号" ColumnID="RepairPostHeatingCode2" DataField="RepairPostHeatingCode2" SortField="RepairPostHeatingCode2"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理日期" ColumnID="RepairHotDate2" DataField="RepairHotDate2" SortField="RepairHotDate2"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="热处理曲线编号" ColumnID="RepairRecordChartNo2" DataField="RepairRecordChartNo2" SortField="RepairRecordChartNo2"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="检测日期" ColumnID="RepairTestDate2" DataField="RepairTestDate2" SortField="RepairTestDate2"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="硬度" HeaderTextAlign="Center" TextAlign="Center">
<Columns>
<f:RenderField HeaderText="第一次时间" ColumnID="" DataField="" SortField=""
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="第一次时间" ColumnID="" DataField="" SortField=""
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="第一次时间" ColumnID="" DataField="" SortField=""
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="100px">
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="50" Value="50" />
<f:ListItem Text="所有行" Value="10000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,308 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.WeldingReport
{
public partial class WeldRepairLists : PageBase
{
#region
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.drpProjectId.DataTextField = "ProjectCode";
this.drpProjectId.DataValueField = "ProjectId";
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetProjectListByUserId(this.CurrUser.UserId, "1");
this.drpProjectId.DataBind();
//Funs.FineUIPleaseSelect(drpProjectId);
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId;
}
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.drpProjectId.SelectedValue != BLL.Const._Null && this.drpProjectId.SelectedValue != null)
{
listStr.Add(new SqlParameter("@projectId", this.drpProjectId.SelectedValue));
}
else
{
listStr.Add(new SqlParameter("@projectId", null));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("HJGL_rpt_RepairLists", parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
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>
/// 项目下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
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>
/// 导出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = Const.HJGL_WeldRepairListsUrl;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.drpProjectId.SelectedValue != BLL.Const._Null && this.drpProjectId.SelectedValue != null)
{
listStr.Add(new SqlParameter("@projectId", this.drpProjectId.SelectedValue));
}
else
{
listStr.Add(new SqlParameter("@projectId", null));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("HJGL_rpt_RepairLists", parameter);
if (tb.Rows.Count > 0)
{
newUrl = uploadfilepath.Replace("焊缝返修台账导出模板", "焊缝返修台账");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
// 第一步:读取文件流
NPOI.SS.UserModel.IWorkbook workbook;
using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
{
workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);//2007版
//workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); //2003版
}
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellStyle.WrapText = true;//自动换行
var font = workbook.CreateFont();
font.FontHeightInPoints = 11;
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
NPOI.SS.UserModel.ICell cell;
int i = 3;
for (int j = 0; j < tb.Rows.Count; j++)
{
// 第二步:创建新数据行
row = sheet.CreateRow(i);
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue((j + 1).ToString());//序号
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["ISO_IsoNo"].ToString());//管线号
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["JOT_JointNo"].ToString());//焊口号
cell = row.CreateCell(3);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["JOT_JointDesc"].ToString());//规格
cell = row.CreateCell(4);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["SteelCode"].ToString());//材质
cell = row.CreateCell(5);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["NDTR_Name"].ToString());//检测比例
cell = row.CreateCell(6);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["WelderCode"].ToString());//焊工号
cell = row.CreateCell(7);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["JOT_WeldDate"]));//焊接日期
cell = row.CreateCell(8);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["PostHeatingDate"].ToString()));//后热日期
cell = row.CreateCell(9);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["PostHeatingCode"].ToString());//后热曲线编号
cell = row.CreateCell(10);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["HotProessDate"]));//热处理日期
cell = row.CreateCell(11);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RecordChartNo"].ToString());//热处理曲线编号
cell = row.CreateCell(12);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["TestDate"].ToString()));//检测日期
//一返
cell = row.CreateCell(13);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairWelderCode1"].ToString());//焊工号
cell = row.CreateCell(14);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairWeldDate1"].ToString()));//焊接日期
cell = row.CreateCell(15);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairPostHeatingDate1"].ToString()));//后热日期
cell = row.CreateCell(16);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairPostHeatingCode1"].ToString());//后热曲线编号
cell = row.CreateCell(17);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairHotDate1"].ToString()));//热处理日期
cell = row.CreateCell(18);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairRecordChartNo1"].ToString());//热处理曲线编号
cell = row.CreateCell(19);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairTestDate1"].ToString()));//检测日期
//二返
cell = row.CreateCell(20);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairWelderCode2"].ToString());//焊工号
cell = row.CreateCell(21);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairWeldDate2"].ToString()));//焊接日期
cell = row.CreateCell(22);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairPostHeatingDate2"].ToString()));//后热日期
cell = row.CreateCell(23);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairPostHeatingCode2"].ToString());//后热曲线编号
cell = row.CreateCell(24);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairHotDate2"].ToString()));//热处理日期
cell = row.CreateCell(25);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["RepairRecordChartNo2"].ToString());//热处理曲线编号
cell = row.CreateCell(26);
cell.CellStyle = cellStyle;
cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", tb.Rows[j]["RepairTestDate2"].ToString()));//检测日期
//硬度
cell = row.CreateCell(27);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//第一次时间
cell = row.CreateCell(28);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//第一次时间
cell = row.CreateCell(29);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//第一次时间
//100%签字
cell = row.CreateCell(30);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//承包商项目经理
cell = row.CreateCell(31);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//总监
cell = row.CreateCell(32);
cell.CellStyle = cellStyle;
cell.SetCellValue("");//业主项目经理
i++;
}
// 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
workbook.Close();
}
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
}
}
#endregion
}
}
@@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HJGL.WeldingReport
{
public partial class WeldRepairLists
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpProjectId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProjectId;
/// <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>
/// 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;
}
}
+1 -1
View File
@@ -67,7 +67,7 @@
<add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
<add path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.6.1">
<compilation debug="false" targetFramework="4.6.1">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />