SGGL_SHJ/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageDatePrint.aspx.cs

83 lines
3.0 KiB
C#
Raw Normal View History

2025-09-01 10:11:37 +08:00
using BLL;
using NPOI.POIFS.Crypt.Dsig;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.TestPackage
{
public partial class TestPackageDatePrint : PageBase
{
/// <summary>
/// 试压包主键
/// </summary>
public string PTP_ID
{
get
{
return (string)ViewState["PTP_ID"];
}
set
{
ViewState["PTP_ID"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PTP_ID = Request.Params["PTP_ID"];
if (!string.IsNullOrEmpty(PTP_ID))
{
BindGrid();
}
}
}
private void BindGrid()
{
var list = BLL.TestPackagePrintService.GetListByPTP_ID(PTP_ID);
//根据 BLL.TestPackagePrintService.TypeIntMap 和 list 进行左连接,确保所有类型都显示,获取对应的 PrintCount没有的类型 PrintCount 为 0
var result = from type in BLL.TestPackagePrintService.TypeIntMap
join item in list on type.Key equals item.TypeInt into gj
from subitem in gj.DefaultIfEmpty()
select new
{
TypeInt = type.Key,
TypeName = type.Value,
PrintCount = subitem != null ? subitem.PrintCount : 0
};
Grid1.DataSource = result;
Grid1.DataBind();
}
protected void btnPrint_Click(object sender, EventArgs e)
{
Model.PTP_TestPackage updateTestPackage = Funs.DB.PTP_TestPackage.FirstOrDefault(x => x.PTP_ID == PTP_ID);
var fastReportItem = BLL.TestPackagePrintService.GetFastReportItem(updateTestPackage,Grid1.SelectedRowID,PTP_ID,this.CurrUser.LoginProjectId);
BLL.FastReportService.ResetData();
BLL.FastReportService.AddFastreportParameter(fastReportItem.ParameterValues);
if (fastReportItem.DataTables!=null)
{
foreach (var item in fastReportItem.DataTables)
{
BLL.FastReportService.AddFastreportTable(item);
}
}
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
initTemplatePath = fastReportItem.ReportPath;
if (File.Exists(rootPath + initTemplatePath))
{
TestPackagePrintService.AddPrintCountByTypeInt(PTP_ID, int.Parse( Grid1.SelectedRowID));
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
}
}