using System;
using System.Collections.Generic;
using System.Linq;
using BLL;
using System.Data.SqlClient;
using System.Data;
using System.Web;
namespace FineUIPro.Web.HJGL.CheckManage
{
public partial class TestingReportPrint : 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.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
this.drpProjectId.DataBind();
Funs.FineUIPleaseSelect(this.drpProjectId);
//this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId;
//检测类型
this.drpNDT.DataTextField = "NDT_Code";
this.drpNDT.DataValueField = "NDT_ID";
this.drpNDT.DataSource = BLL.HJGL_TestingService.GetNDTTypeNameList();
this.drpNDT.DataBind();
Funs.FineUIPleaseSelect(this.drpNDT);
//是否打印
this.drpIsPrint.DataTextField = "Text";
this.drpIsPrint.DataValueField = "Value";
this.drpIsPrint.DataSource = BLL.DropListService.IsTrueOrFalseDrpList();
this.drpIsPrint.DataBind();
Funs.FineUIPleaseSelect(this.drpIsPrint);
this.InitTreeMenu();//加载树
//this.BindGrid();
}
}
#endregion
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#region 加载树施工号-批编号
///
/// 加载树
///
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "施工号-批编号";
rootNode.ToolTip = "项目";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
List projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != "null")
{
projects = projects.Where(x => x.ProjectId == this.drpProjectId.SelectedValue).ToList();
}
foreach (var item in projects)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.ProjectCode;
rootProjectNode.NodeID = item.ProjectId;
//rootProjectNode.Expanded = false;
rootProjectNode.EnableExpandEvent = true;
rootProjectNode.ToolTip = item.ProjectName;
rootProjectNode.CommandName = "施工号";
rootNode.Nodes.Add(rootProjectNode);
TreeNode tn = new TreeNode();
tn.NodeID = "temp";
tn.Text = "正在加载...";
rootProjectNode.Nodes.Add(tn);
//List batchLists = (from x in Funs.DB.HJGL_BO_Batch
// where x.ProjectId == item.ProjectId
// select x).ToList();
//this.BindNodes(rootProjectNode, batchLists, dt);
}
}
#endregion
#region 绑定树节点
///
///
///
///
///
protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e)
{
if (e.Node.Nodes != null)
{
e.Node.Nodes.Clear();
}
string node = e.NodeID;
List batchLists = (from x in Funs.DB.HJGL_BO_Batch
where x.ProjectId == e.NodeID
select x).ToList();
List listStr = new List();
listStr.Add(new SqlParameter("@ProjectId", e.NodeID));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunProc("HJGL_spTestingReportPrint", parameter);
this.BindNodes(e.Node, batchLists, dt);
}
///
/// 绑定树节点
///
///
private void BindNodes(TreeNode node, List batchLists, DataTable dt)
{
if (node.CommandName == "施工号")
{
var batchList = (from x in batchLists orderby x.BatchCode descending select x).Distinct();
foreach (var item in batchList)
{
DataRow[] drArr = dt.Select("BatchId='" + item.BatchId + "' and IsPrint=0");//查询
if (this.rblPrint.SelectedValue == "0")
{
if (drArr.Count() > 0)
{
TreeNode newNode = new TreeNode();
newNode.Text = string.Format("{0:yyyy-MM-dd}", item.BatchStartDate) + " " + item.BatchCode;
newNode.NodeID = item.BatchId;
newNode.ToolTip = "日期-批编号";
newNode.CommandName = "批编号";
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
else if (this.rblPrint.SelectedValue == "1")
{
if (drArr.Count() == 0)
{
TreeNode newNode = new TreeNode();
newNode.Text = "" + string.Format("{0:yyyy-MM-dd}", item.BatchStartDate) + " " + item.BatchCode + "";
newNode.NodeID = item.BatchId;
newNode.ToolTip = "日期-批编号";
newNode.CommandName = "批编号";
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
else
{
TreeNode newNode = new TreeNode();
if (drArr.Count() == 0)
{
newNode.Text = "" + string.Format("{0:yyyy-MM-dd}", item.BatchStartDate) + " " + item.BatchCode + "";
}
else
{
newNode.Text = string.Format("{0:yyyy-MM-dd}", item.BatchStartDate) + " " + item.BatchCode;
}
newNode.NodeID = item.BatchId;
newNode.ToolTip = "日期-批编号";
newNode.CommandName = "批编号";
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
}
}
#endregion
#region TreeView点击事件
///
/// TreeView点击事件
///
///
///
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
protected void rblPrint_SelectedIndexChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#region 绑定数据
///
/// 绑定数据
///
private void BindGrid()
{
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID) && !string.IsNullOrEmpty(this.tvControlItem.SelectedNode.ParentNode.NodeID))
{
List listStr = new List();
listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNode.ParentNode.NodeID));
if (this.drpNDT.SelectedValue != BLL.Const._Null)
{
listStr.Add(new SqlParameter("@NDT", this.drpNDT.SelectedText));
}
if (this.drpIsPrint.SelectedValue != BLL.Const._Null)
{
listStr.Add(new SqlParameter("@IsPrint", Convert.ToBoolean(this.drpIsPrint.SelectedValue)));
}
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
{
listStr.Add(new SqlParameter("@BatchId", this.tvControlItem.SelectedNodeID));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("HJGL_spTestingReportPrint", parameter);
this.Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
}
#endregion
#region Grid行点击事件
///
/// Grid行点击事件
///
///
///
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
object[] reportIds = Grid1.DataKeys[e.RowIndex];
string isoId = reportIds[0].ToString();
string jointDesc = reportIds[1].ToString();
string ndtId = reportIds[2].ToString();
string batchId = reportIds[3].ToString();
string ndtCode = reportIds[4].ToString();
string JOT_JointNo = reportIds[5].ToString();
string CH_TrustID = reportIds[6].ToString();
string STE_ID = reportIds[7].ToString();
string STE_ID2 = reportIds[8].ToString();
string WME_ID = reportIds[9].ToString();
string reportPrintId = isoId + "|" + jointDesc + "|" + ndtId + "|" + batchId + "|" + JOT_JointNo;
reportPrintId = HttpUtility.UrlEncodeUnicode(reportPrintId);
var iso = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByIsoInfoId(isoId);
string projectId = iso.ProjectId;
if (e.CommandName == "edit")//编辑
{
if (ndtCode.Contains("RT"))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RTReportEdit.aspx?reportPrintId={0}&STE_ID={1}&STE_ID2={2}&WME_ID={3}", reportPrintId, STE_ID, STE_ID2, WME_ID, "编辑 - ")));
}
else if (ndtCode.Contains("PT"))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PTReportEdit.aspx?reportPrintId={0}&STE_ID={1}&STE_ID2={2}&WME_ID={3}", reportPrintId, STE_ID, STE_ID2, WME_ID, "编辑 - ")));
}
else if (ndtCode.Contains("MT"))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MTReportEdit.aspx?reportPrintId={0}&STE_ID={1}&STE_ID2={2}&WME_ID={3}", reportPrintId, STE_ID, STE_ID2, WME_ID, "编辑 - ")));
}
else if (ndtCode.Contains("UT"))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("UTReportEdit.aspx?reportPrintId={0}&STE_ID={1}&STE_ID2={2}&WME_ID={3}", reportPrintId, STE_ID, STE_ID2, WME_ID, "编辑 - ")));
}
}
if (e.CommandName == "print")//打印
{
var rtReport = BLL.HJGL_TestingReportPrintService.GetTestingReportPrint(isoId, jointDesc, ndtId, batchId, STE_ID, STE_ID2, WME_ID);
if (rtReport != null)
{
string reportId1 = string.Empty;//报表Id
string reportId2 = string.Empty;//报表Id第二面
int rowNum = 28;
string testingReportPrintId = rtReport.TestingReportPrintId;
rtReport.Printer = this.CurrUser.UserName;
if (rtReport.PrintTime == null)
{
rtReport.PrintTime = DateTime.Now;
}
BLL.HJGL_TestingReportPrintService.UpdateTestingReportPrint(rtReport);
List listStr = new List();
listStr.Add(new SqlParameter("@TestingReportPrintId", testingReportPrintId));
listStr.Add(new SqlParameter("@RowNum", rowNum));
listStr.Add(new SqlParameter("@Flag", "0"));
listStr.Add(new SqlParameter("@STE_ID", STE_ID));
listStr.Add(new SqlParameter("@STE_ID2", STE_ID2));
listStr.Add(new SqlParameter("@WME_ID", WME_ID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("HJGL_sp_rpt_TestingReportPrintItem", parameter);
if (ndtCode.Contains("RT"))
{
reportId1 = BLL.Const.HJGL_RTReportId1;
reportId2 = BLL.Const.HJGL_RTReportId2;
rowNum = 25;
}
else if (ndtCode.Contains("PT"))
{
reportId1 = BLL.Const.HJGL_PTReportId1;
reportId2 = BLL.Const.HJGL_PTReportId2;
}
else if (ndtCode.Contains("MT"))
{
reportId1 = BLL.Const.HJGL_MTReportId1;
reportId2 = BLL.Const.HJGL_MTReportId2;
}
else if (ndtCode.Contains("UT"))
{
reportId1 = BLL.Const.HJGL_UTReportId1;
reportId2 = BLL.Const.HJGL_UTReportId2;
}
string printTime = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
if (rtReport.PrintTime != null)
{
printTime = string.Format("{0:yyyy-MM-dd}", rtReport.PrintTime);
}
int count = tb.Rows.Count;
string pageNum = string.Empty;
if (ndtCode.Contains("RT"))
{
pageNum = Funs.GetPagesCountByPageSize(rowNum, 39, count).ToString();
}
else
{
pageNum = Funs.GetPagesCountByPageSize(rowNum, 42, count).ToString();
}
string varValue = printTime + "|" + pageNum;
varValue = HttpUtility.UrlEncodeUnicode(varValue);
string replaceParameter = testingReportPrintId + "|" + rowNum + "|" + STE_ID + "|" + STE_ID2 + "|" + WME_ID;
if (tb.Rows.Count > 0)
{
if (tb.Rows.Count <= rowNum)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId1, replaceParameter, varValue)));
}
else
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId2, replaceParameter, varValue)));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId1, replaceParameter, varValue)));
}
}
else
{
ShowNotify("无拍片记录!", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify("请先编辑检测报告!", MessageBoxIcon.Warning);
return;
}
}
if (e.CommandName == "printNew")//打印新报表
{
var rtReport = BLL.HJGL_TestingReportPrintService.GetTestingReportPrint(isoId, jointDesc, ndtId, batchId, STE_ID, STE_ID2, WME_ID);
if (rtReport != null)
{
string reportId1 = string.Empty;//报表Id
string reportId2 = string.Empty;//报表Id第二面
int rowNum = 22;
string testingReportPrintId = rtReport.TestingReportPrintId;
rtReport.Printer = this.CurrUser.UserName;
if (rtReport.PrintTime == null)
{
rtReport.PrintTime = DateTime.Now;
}
BLL.HJGL_TestingReportPrintService.UpdateTestingReportPrint(rtReport);
List listStr = new List();
listStr.Add(new SqlParameter("@TestingReportPrintId", testingReportPrintId));
listStr.Add(new SqlParameter("@RowNum", rowNum));
listStr.Add(new SqlParameter("@Flag", "0"));
listStr.Add(new SqlParameter("@STE_ID", STE_ID));
listStr.Add(new SqlParameter("@STE_ID2", STE_ID2));
listStr.Add(new SqlParameter("@WME_ID", WME_ID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("HJGL_sp_rpt_TestingReportPrintItem", parameter);
if (ndtCode.Contains("RT"))
{
reportId1 = BLL.Const.HJGL_RTNewReportId1;
reportId2 = BLL.Const.HJGL_RTNewReportId2;
rowNum = 22;
}
else if (ndtCode.Contains("PT"))
{
reportId1 = BLL.Const.HJGL_PTNewReportId1;
reportId2 = BLL.Const.HJGL_PTNewReportId2;
}
else if (ndtCode.Contains("MT"))
{
reportId1 = BLL.Const.HJGL_MTNewReportId1;
reportId2 = BLL.Const.HJGL_MTNewReportId2;
}
else if (ndtCode.Contains("UT"))
{
reportId1 = BLL.Const.HJGL_UTNewReportId1;
reportId2 = BLL.Const.HJGL_UTNewReportId2;
}
string printTime = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
if (rtReport.PrintTime != null)
{
printTime = string.Format("{0:yyyy-MM-dd}", rtReport.PrintTime);
}
int count = tb.Rows.Count;
string pageNum = string.Empty;
if (ndtCode.Contains("RT"))
{
pageNum = Funs.GetPagesCountByPageSize(rowNum, 29, count).ToString();
}
else
{
pageNum = Funs.GetPagesCountByPageSize(rowNum, 28, count).ToString();
}
string varValue = printTime + "|" + pageNum;
varValue = HttpUtility.UrlEncodeUnicode(varValue);
string replaceParameter = testingReportPrintId + "|" + rowNum + "|" + STE_ID + "|" + STE_ID2 + "|" + WME_ID;
if (tb.Rows.Count > 0)
{
if (tb.Rows.Count <= rowNum)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId1, replaceParameter, varValue)));
}
else
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId2, replaceParameter, varValue)));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId1, replaceParameter, varValue)));
}
}
else
{
ShowNotify("无拍片记录!", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify("请先编辑检测报告!", MessageBoxIcon.Warning);
return;
}
}
if (e.CommandName == "fileName")//文档名
{
var rtReport = BLL.HJGL_TestingReportPrintService.GetTestingReportPrint(isoId, jointDesc, ndtId, batchId, STE_ID, STE_ID2, WME_ID);
var ndtType = BLL.HJGL_TestingService.GetTestingByTestingId(ndtId);
if (rtReport != null)
{
string code = string.Empty;
DateTime date = DateTime.Now.Date;
string year = string.Empty;
string month = string.Empty;
string dateStr = string.Empty;
int rowNum = 28;
if (date.Day <= 20) //报告时间段按上月21日到本月20日止,如2018年1月21日到2月20日出具的检测编号编为“1802”
{
if (date.Month < 10)
{
month = "0" + date.Month.ToString();
}
else
{
month = date.Month.ToString();
}
year = date.Year.ToString().Substring(2);
}
else
{
date = date.AddMonths(1);
if (date.Month < 10)
{
month = "0" + date.Month.ToString();
}
else
{
month = date.Month.ToString();
}
year = date.Year.ToString().Substring(2);
}
dateStr = year + month;
string reportCode = string.Empty;
if (!string.IsNullOrEmpty(rtReport.ReportCode) && rtReport.ReportCode.Length > 3)
{
reportCode = rtReport.ReportCode.Substring(3);
}
string unitName = string.Empty;
if (iso != null)
{
Model.Base_Unit unit = BLL.Base_UnitService.GetUnit(iso.BSU_ID);
if (unit != null)
{
unitName = unit.UnitName;
}
}
string projectCode = BLL.Base_ProjectService.GetProjectCode(projectId);
string projectName = string.Empty;
Model.Base_Project project = BLL.Base_ProjectService.GetProjectByProjectId(projectId);
if (project != null)
{
projectName = project.ProjectName;
}
string testingReportPrintId = rtReport.TestingReportPrintId;
List listStr = new List();
listStr.Add(new SqlParameter("@TestingReportPrintId", testingReportPrintId));
listStr.Add(new SqlParameter("@RowNum", rowNum));
listStr.Add(new SqlParameter("@Flag", "0"));
listStr.Add(new SqlParameter("@STE_ID", STE_ID));
listStr.Add(new SqlParameter("@STE_ID2", STE_ID2));
listStr.Add(new SqlParameter("@WME_ID", WME_ID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("HJGL_sp_rpt_TestingReportPrintItem", parameter);
string userName = string.Empty;
Model.HJGL_CH_Trust trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(CH_TrustID);
if (trust != null)
{
Model.Sys_User user = BLL.Sys_UserService.GetUsersByUserId(trust.CH_TrustMan);
if (user != null)
{
userName = user.UserName;
}
}
if (ndtType.NDT_Code == "RT")
{
code = dateStr + "-RT-" + reportCode + "-" + unitName + "-" + projectCode + "-" + projectName + "(" + iso.ISO_IsoNo + ")-" + (tb.Rows.Count - 1).ToString();
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("FileCode.aspx?code={0}", HttpUtility.UrlEncodeUnicode(code), "编辑 - ")));
}
else if (ndtType.NDT_Code == "PT")
{
code = dateStr + "-PT-" + reportCode + "-" + unitName + "-" + projectCode + "-" + projectName + "(" + iso.ISO_IsoNo + ")-" + userName;
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("FileCode.aspx?code={0}", HttpUtility.UrlEncodeUnicode(code), "编辑 - ")));
}
else if (ndtType.NDT_Code == "MT")
{
code = dateStr + "-MT-" + reportCode + "-" + unitName + "-" + projectCode + "-" + projectName + "(" + iso.ISO_IsoNo + ")-" + userName;
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("FileCode.aspx?code={0}", HttpUtility.UrlEncodeUnicode(code), "编辑 - ")));
}
else if (ndtType.NDT_Code == "UT")
{
code = dateStr + "-UT-" + reportCode + "-" + unitName + "-" + projectCode + "-" + projectName + "(" + iso.ISO_IsoNo + ")-" + userName;
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("FileCode.aspx?code={0}", HttpUtility.UrlEncodeUnicode(code), "编辑 - ")));
}
}
else
{
ShowNotify("请先编辑检测报告!", MessageBoxIcon.Warning);
return;
}
}
if (e.CommandName == "ReportUpload")//报告上传
{
var rtReport = BLL.HJGL_TestingReportPrintService.GetTestingReportPrint(isoId, jointDesc, ndtId, batchId, STE_ID, STE_ID2, WME_ID);
if (rtReport != null)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader2.aspx?type=0&toKeyId={0}&path=FileUpload/TestingReport/&menuId={1}", rtReport.TestingReportPrintId, BLL.Const.PV_TestingReportPrint)));
}
else
{
ShowNotify("请先编辑检测报告!", MessageBoxIcon.Warning);
return;
}
}
BindGrid();
}
#endregion
#region 排序
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region 分页选择下拉改变事件
///
/// 分页选择下拉改变事件
///
///
///
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#region 页索引改变事件
///
/// 页索引改变事件
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
#endregion
#region 关闭弹出窗口
///
/// 关闭弹出窗口
///
///
///
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region 查询
///
/// 查询
///
///
///
protected void Text_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
}
}