This commit is contained in:
佘春生 2024-05-26 07:48:48 +08:00
parent 0ffac0d763
commit 9661524631
6 changed files with 277 additions and 96 deletions

Binary file not shown.

View File

@ -30,8 +30,8 @@
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Text="下载模板" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
<%--<f:Button ID="btnOut" Icon="Pencil" runat="server" Text="导出" ToolTip="导出错误列表" ValidateForms="SimpleForm1"
OnClick="btnOut_Click" Hidden="true"></f:Button>--%>
<f:Button ID="btnOut" Icon="Pencil" runat="server" Text="导出" ToolTip="导出错误列表"
EnableAjax="false" DisableControlBeforePostBack="false" OnClick="btnOut_Click" ></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@ -63,7 +63,7 @@
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" Hidden="true" ShowHeader="false" Title="委托单导入错误日志" runat="server" EnableCollapse="false"
DataKeyNames="ID" PageSize="100" AllowPaging="true">
DataKeyNames="ID" PageSize="100" AllowPaging="true" Height="560px">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="RowID" Width="80px" DataField="RowID" HeaderText="行号" />
@ -77,7 +77,7 @@
<f:RenderField ColumnID="UnitCode" MinWidth="80" DataField="UnitCode" HeaderText="检测单位编号" />
<f:RenderField ColumnID="SurfaceState" MinWidth="80" DataField="SurfaceState" HeaderText="表面状态" />
<f:RenderField ColumnID="Opportunity" MinWidth="80" DataField="Opportunity" HeaderText="检测时机" />
<f:TemplateField HeaderText="错误原因" MinWidth="500">
<f:TemplateField HeaderText="错误原因" MinWidth="500" ColumnID="Remark">
<ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("Remark") %>' ForeColor="Red"></asp:Label>
</ItemTemplate>

View File

@ -4,11 +4,14 @@ using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
using System.Text;
using System.Web.UI;
using BLL;
using FineUIPro.Web.common.ProjectSet;
using FineUIPro.Web.Common.ProjectSet;
using AspNet = System.Web.UI.WebControls;
using Model;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
namespace FineUIPro.Web.WeldingProcess.TrustManage
{
@ -24,6 +27,19 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
public string BatchCode
{
get
{
return (string)ViewState["BatchCode"];
}
set
{
ViewState["BatchCode"] = value;
}
}
#endregion
#region
@ -98,6 +114,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
var pipeList = from x in Funs.DB.Pipeline_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId select x;
List<Model.TrustBatchImportErrorLog> logListData = new List<Model.TrustBatchImportErrorLog>();
string BatchNo = DateTime.Now.ToString("yyyyMMddHHmmss");
BatchCode = BatchNo;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string result = string.Empty;
@ -376,7 +393,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
}
void BindGrid1(string batchNo)
private void BindGrid1(string batchNo)
{
var result = Funs.DB.TrustBatchImportErrorLog.Where(t => t.BatchNo == batchNo).OrderBy(t => t.RowID).ToList();
this.Grid1.DataSource = result;
@ -572,9 +589,182 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
//模板文件
string TempletFileName = rootPath + "TrustErrorOut.xlsx";
//导出文件
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string ReportFileName = filePath + "out.xlsx";
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
#region JointComprehensive
XSSFSheet reportModel = (XSSFSheet)hssfworkbook.GetSheet("Sheet1");
XSSFFont cs_content_Font1 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
cs_content_Font1.FontName = "sans-serif";//字体
cs_content_Font1.FontHeightInPoints = 9; //字体大小
ICellStyle style = hssfworkbook.CreateCellStyle();
style.SetFont(cs_content_Font1);
XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
cs_content_Font.FontName = "sans-serif";//字体
cs_content_Font.FontHeightInPoints = 10; //字体大小
cs_content_Font.Color = HSSFColor.Red.Index;
IDataFormat dataformat = hssfworkbook.CreateDataFormat();
ICellStyle styleDate = hssfworkbook.CreateCellStyle();
styleDate.SetFont(cs_content_Font1);
styleDate.DataFormat = dataformat.GetFormat("yyyy-mm-dd");
// 排序
var result = Funs.DB.TrustBatchImportErrorLog.Where(t => t.BatchNo == this.BatchCode).OrderBy(t => t.RowID).ToList();
if (result.Count > 0)
{
var rowIndex = 1;
foreach (var itemOver in result)
{
if (reportModel.GetRow(rowIndex) == null) reportModel.CreateRow(rowIndex);
#region
//行号
if (reportModel.GetRow(rowIndex).GetCell(0) == null) reportModel.GetRow(rowIndex).CreateCell(0);
reportModel.GetRow(rowIndex).GetCell(0).SetCellValue(itemOver.RowID.ToString());
reportModel.GetRow(rowIndex).GetCell(0).CellStyle = style; //将字体绑定到样式
//委托单
if (reportModel.GetRow(rowIndex).GetCell(1) == null) reportModel.GetRow(rowIndex).CreateCell(1);
reportModel.GetRow(rowIndex).GetCell(1).SetCellValue(itemOver.TrustBatchCode);
reportModel.GetRow(rowIndex).GetCell(1).CellStyle = style;
//装置
if (reportModel.GetRow(rowIndex).GetCell(2) == null) reportModel.GetRow(rowIndex).CreateCell(2);
reportModel.GetRow(rowIndex).GetCell(2).SetCellValue(itemOver.InstallCode);
reportModel.GetRow(rowIndex).GetCell(2).CellStyle = style;
//区域
if (reportModel.GetRow(rowIndex).GetCell(3) == null) reportModel.GetRow(rowIndex).CreateCell(3);
reportModel.GetRow(rowIndex).GetCell(3).SetCellValue(itemOver.AreaCode);
reportModel.GetRow(rowIndex).GetCell(3).CellStyle = style;
//管线号
if (reportModel.GetRow(rowIndex).GetCell(4) == null) reportModel.GetRow(rowIndex).CreateCell(4);
reportModel.GetRow(rowIndex).GetCell(4).SetCellValue(itemOver.PipelineCode);
reportModel.GetRow(rowIndex).GetCell(4).CellStyle = style;
//焊口号
if (reportModel.GetRow(rowIndex).GetCell(5) == null) reportModel.GetRow(rowIndex).CreateCell(5);
reportModel.GetRow(rowIndex).GetCell(5).SetCellValue(itemOver.WeldJointCode);
reportModel.GetRow(rowIndex).GetCell(5).CellStyle = style;
//探伤类型
if (reportModel.GetRow(rowIndex).GetCell(6) == null) reportModel.GetRow(rowIndex).CreateCell(6);
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(itemOver.DetectionType);
reportModel.GetRow(rowIndex).GetCell(6).CellStyle = style;
//委托日期
if (reportModel.GetRow(rowIndex).GetCell(7) == null) reportModel.GetRow(rowIndex).CreateCell(7);
reportModel.GetRow(rowIndex).GetCell(7).SetCellValue(itemOver.TrustDate);
reportModel.GetRow(rowIndex).GetCell(7).CellStyle = style;
//检测单位
if (reportModel.GetRow(rowIndex).GetCell(8) == null) reportModel.GetRow(rowIndex).CreateCell(8);
reportModel.GetRow(rowIndex).GetCell(8).SetCellValue(itemOver.UnitCode);
reportModel.GetRow(rowIndex).GetCell(8).CellStyle = style;
//表面
if (reportModel.GetRow(rowIndex).GetCell(9) == null) reportModel.GetRow(rowIndex).CreateCell(9);
reportModel.GetRow(rowIndex).GetCell(9).SetCellValue(itemOver.SurfaceState);
reportModel.GetRow(rowIndex).GetCell(9).CellStyle = style;
//检测时机
if (reportModel.GetRow(rowIndex).GetCell(10) == null) reportModel.GetRow(rowIndex).CreateCell(10);
reportModel.GetRow(rowIndex).GetCell(10).SetCellValue(itemOver.Opportunity);
reportModel.GetRow(rowIndex).GetCell(10).CellStyle = style;
//错误
if (reportModel.GetRow(rowIndex).GetCell(11) == null) reportModel.GetRow(rowIndex).CreateCell(11);
reportModel.GetRow(rowIndex).GetCell(11).SetCellValue(itemOver.Remark.Replace("|",","));
reportModel.GetRow(rowIndex).GetCell(11).CellStyle = style;
#endregion
rowIndex++;
}
}
#endregion
reportModel.ForceFormulaRecalculation = true;
using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
}
FileInfo filet = new FileInfo(ReportFileName);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=委托单错误日志_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", filet.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(filet.FullName);
// 停止页面的执行
Response.End();
//Response.ClearContent();
//string filename = Funs.GetNewFileName();
//Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Resources.Lan.JointComprehensive + filename, System.Text.Encoding.UTF8) + ".xls");
//Response.ContentType = "application/excel";
//Response.ContentEncoding = System.Text.Encoding.UTF8;
//Response.Write(GetGridTableHtml(Grid1));
//Response.End();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
grid.PageSize = 10000;
BindGrid1(this.BatchCode);
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 == "Remark")
{
html = (row.FindControl("lablRemark") as AspNet.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
/// <summary>

View File

@ -77,6 +77,15 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>

View File

@ -227,7 +227,7 @@
</f:Window>
<f:Window ID="Window4" Title="委托单导入" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="true" runat="server" IsModal="false" OnClose="Window4_Close"
CloseAction="HidePostBack" Width="1200px" Height="640px">
CloseAction="HidePostBack" Width="1300px" Height="760px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuCancel" OnClick="btnMenuCancel_Click" EnablePostBack="true"

View File

@ -22510,12 +22510,12 @@ namespace Model
private string _DetectionStandard;
private string _Tabler;
private string _Remark;
private System.Nullable<System.DateTime> _CreatedTime;
private string _Tabler;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@ -22534,12 +22534,12 @@ namespace Model
partial void OnUnitIdChanged();
partial void OnDetectionStandardChanging(string value);
partial void OnDetectionStandardChanged();
partial void OnTablerChanging(string value);
partial void OnTablerChanged();
partial void OnRemarkChanging(string value);
partial void OnRemarkChanged();
partial void OnCreatedTimeChanging(System.Nullable<System.DateTime> value);
partial void OnCreatedTimeChanged();
partial void OnTablerChanging(string value);
partial void OnTablerChanged();
#endregion
public PMI_Delegation()
@ -22607,7 +22607,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string ProjectId
{
get
@ -22687,6 +22687,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
public string Tabler
{
get
{
return this._Tabler;
}
set
{
if ((this._Tabler != value))
{
this.OnTablerChanging(value);
this.SendPropertyChanging();
this._Tabler = value;
this.SendPropertyChanged("Tabler");
this.OnTablerChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(255)")]
public string Remark
{
@ -22727,26 +22747,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
public string Tabler
{
get
{
return this._Tabler;
}
set
{
if ((this._Tabler != value))
{
this.OnTablerChanging(value);
this.SendPropertyChanging();
this._Tabler = value;
this.SendPropertyChanged("Tabler");
this.OnTablerChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@ -22786,10 +22786,10 @@ namespace Model
private int _Status;
private string _ReportNo;
private System.Nullable<System.DateTime> _CheckTime;
private string _ReportNo;
private System.Nullable<System.DateTime> _ReportTime;
#region
@ -22808,10 +22808,10 @@ namespace Model
partial void OnAcceptanceChanged();
partial void OnStatusChanging(int value);
partial void OnStatusChanged();
partial void OnReportNoChanging(string value);
partial void OnReportNoChanged();
partial void OnCheckTimeChanging(System.Nullable<System.DateTime> value);
partial void OnCheckTimeChanged();
partial void OnReportNoChanging(string value);
partial void OnReportNoChanged();
partial void OnReportTimeChanging(System.Nullable<System.DateTime> value);
partial void OnReportTimeChanged();
#endregion
@ -22921,7 +22921,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="status", Storage="_Status", DbType="Int NOT NULL")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="Int NOT NULL")]
public int Status
{
get
@ -22941,26 +22941,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
public string ReportNo
{
get
{
return this._ReportNo;
}
set
{
if ((this._ReportNo != value))
{
this.OnReportNoChanging(value);
this.SendPropertyChanging();
this._ReportNo = value;
this.SendPropertyChanged("ReportNo");
this.OnReportNoChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="checkTime", Storage="_CheckTime", DbType="DateTime")]
public System.Nullable<System.DateTime> CheckTime
{
@ -22981,6 +22961,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
public string ReportNo
{
get
{
return this._ReportNo;
}
set
{
if ((this._ReportNo != value))
{
this.OnReportNoChanging(value);
this.SendPropertyChanging();
this._ReportNo = value;
this.SendPropertyChanged("ReportNo");
this.OnReportNoChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportTime", Storage="_ReportTime", DbType="DateTime")]
public System.Nullable<System.DateTime> ReportTime
{
@ -39555,8 +39555,6 @@ namespace Model
private string _ProjectId;
private System.Nullable<bool> _IsPMI;
private string _PipelineCode;
private string _PipelineId;
@ -39687,22 +39685,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="isPMI", Storage="_IsPMI", DbType="Bit")]
public System.Nullable<bool> IsPMI
{
get
{
return this._IsPMI;
}
set
{
if ((this._IsPMI != value))
{
this._IsPMI = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCode", DbType="NVarChar(100)")]
public string PipelineCode
{
@ -41711,6 +41693,8 @@ namespace Model
private string _PipingClassCode;
private string _PIPClassCode;
private string _WeldingDate;
private System.Nullable<bool> _IsCancel;
@ -41725,8 +41709,6 @@ namespace Model
private string _DetectionType;
private string _PIPClassCode;
private string _PageNum;
public View_Pipeline_WeldJoint()
@ -42821,6 +42803,22 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
public string PIPClassCode
{
get
{
return this._PIPClassCode;
}
set
{
if ((this._PIPClassCode != value))
{
this._PIPClassCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldingDate", DbType="VarChar(100)")]
public string WeldingDate
{
@ -42933,22 +42931,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
public string PIPClassCode
{
get
{
return this._PIPClassCode;
}
set
{
if ((this._PIPClassCode != value))
{
this._PIPClassCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageNum", DbType="NVarChar(10)")]
public string PageNum
{
@ -47512,7 +47494,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="VarChar(1000)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string WelderIds
{
get