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
@@ -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);
}
}
}
}