2023-01-03 焊接日报增加导出

This commit is contained in:
2023-01-03 17:00:08 +08:00
parent dc31914fe7
commit fa659582ee
7 changed files with 191 additions and 26 deletions
@@ -78,10 +78,14 @@
</f:Label>
<f:Label ID="txtSumSize" Label="总达因" runat="server"
LabelWidth="90px" LabelAlign="Right">
</f:Label>
<f:Label ID="txtTeam" Label="班组数" runat="server"
LabelWidth="90px" LabelAlign="Right">
</f:Label>
<f:Label ID="txtRemark" Label="备注" runat="server"
LabelWidth="90px" LabelAlign="Right">
</f:Label>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar3" runat="server">
@@ -90,9 +94,7 @@
<f:TextBox ID="txtWelderCode" runat="server" Label="焊工号" EmptyText="输入查询条件" LabelAlign="Right" AutoPostBack="true" OnTextChanged="txtTextBox_TextChanged"></f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Text="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -130,6 +132,10 @@
DataField="Dia" FieldType="String" HeaderTextAlign="Center"
TextAlign="Center" Width="80px">
</f:RenderField>
<f:RenderField HeaderText="DN公称直径" ColumnID="DNDia"
DataField="DNDia" FieldType="String" HeaderTextAlign="Center"
TextAlign="Center" Width="80px">
</f:RenderField>
<f:RenderField HeaderText="达因" ColumnID="Size"
DataField="Size" FieldType="String" HeaderTextAlign="Center"
TextAlign="Center" Width="80px">
@@ -189,6 +195,9 @@
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="BulletEdit" EnablePostBack="true"
runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuOut" OnClick="btnOut_Click" Icon="FolderUp" EnableAjax="false" DisableControlBeforePostBack="false"
runat="server" Text="导出">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Top"
runat="server" Text="删除">
@@ -1,8 +1,10 @@
using BLL;
using MiniExcelLibs;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.HJGL.WeldingManage
@@ -81,6 +83,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
tn1.NodeID = q.UnitWorkId;
tn1.Text = q.UnitWorkName;
tn1.ToolTip = "施工单位:" + u.UnitName;
tn1.CommandName = "UnitWork";
rootNode1.Nodes.Add(tn1);
BindNodes(tn1);
}
@@ -94,6 +97,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
tn2.NodeID = q.UnitWorkId;
tn2.Text = q.UnitWorkName;
tn2.ToolTip = "施工单位:" + u.UnitName;
tn2.CommandName = "UnitWork";
rootNode2.Nodes.Add(tn2);
BindNodes(tn2);
}
@@ -122,6 +126,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
newNode.Text = item.WeldingDailyCode;
newNode.NodeID = item.WeldingDailyId;
newNode.EnableClickEvent = true;
newNode.CommandName = "WeldingDaily";
node.Nodes.Add(newNode);
}
}
@@ -185,7 +190,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
{
string strSql = @"SELECT WeldingDailyId,WeldJointId,PipelineCode,WeldJointCode,
BackingWelderCode,CoverWelderCode,Material1Code,Material2Code,
Dia,Thickness,WeldTypeCode,WeldingMethodCode,WeldingWireCode,WeldingMode,
Dia,DNDia,Thickness,WeldTypeCode,WeldingMethodCode,WeldingWireCode,WeldingMode,
WeldingRodCode,Size
FROM dbo.View_HJGL_WeldJoint
WHERE WeldingDailyId=@WeldingDailyId";
@@ -204,7 +209,9 @@ namespace FineUIPro.Web.HJGL.WeldingManage
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
var SumDia = tb.AsEnumerable().Sum(x => x.Field<decimal>("Size"));
var WelderCount = tb.AsEnumerable().Select(x => x.Field<string>("CoverWelderCode")).ToList().Distinct().Count();
txtSumSize.Text= SumDia.ToString();
txtTeam.Text = WelderCount.ToString();
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
@@ -496,15 +503,44 @@ namespace FineUIPro.Web.HJGL.WeldingManage
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = txtWeldingDate.Text;
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("焊接日报" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
//this.Grid1.PageSize = this.;
BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
var value = new Dictionary<string, object>();
string filename = "";
switch (this.tvControlItem.SelectedNode.CommandName)
{
case "UnitWork":
value = BLL.WeldingDailyService.GetFileOutValueByUnitWorkId(this.tvControlItem.SelectedNodeID, this.txtMonth.Text.Trim());
var unitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
filename = "焊接日报-" + unitWork.UnitWorkName+ this.txtMonth.Text.Trim()+ ".xlsx";
break;
case "WeldingDaily":
value = WeldingDailyService.GetFileOutValueById(this.tvControlItem.SelectedNodeID);
var daily = BLL.WeldingDailyService.GetPipeline_WeldingDailyByWeldingDailyId(tvControlItem.SelectedNodeID);
var unitwork = UnitWorkService.getUnitWorkByUnitWorkId(daily.UnitWorkId);
filename = "焊接日报-" + unitwork.UnitWorkName + daily.WeldingDailyCode + ".xlsx";
break;
}
string path = Funs.RootPath + @"File\Excel\Temp\焊接日报.xlsx";
path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx");
if (value.Count>0)
{
MiniExcel.SaveAs(path, value);
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);
}
else
{
Alert.ShowInTop("无数据,无法导出!", MessageBoxIcon.Warning);
}
}
}
}
@@ -158,6 +158,15 @@ namespace FineUIPro.Web.HJGL.WeldingManage
/// </remarks>
protected global::FineUIPro.Label txtSumSize;
/// <summary>
/// txtTeam 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtTeam;
/// <summary>
/// txtRemark 控件。
/// </summary>
@@ -203,15 +212,6 @@ namespace FineUIPro.Web.HJGL.WeldingManage
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -275,6 +275,15 @@ namespace FineUIPro.Web.HJGL.WeldingManage
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuOut;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
@@ -162,6 +162,10 @@
DataField="Dia" SortField="Dia" FieldType="Double" HeaderTextAlign="Center" TextAlign="Left"
Width="70px">
</f:RenderField>
<f:RenderField HeaderText="DN公称直径" ColumnID="DNDia"
DataField="DNDia" SortField="DNDia" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="70px">
</f:RenderField>
<f:RenderField HeaderText="壁厚" ColumnID="Thickness"
DataField="Thickness" SortField="Thickness" FieldType="Double" HeaderTextAlign="Center"
TextAlign="Left" Width="70px">