using BLL; using System; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using Newtonsoft.Json.Linq; using System.IO; namespace FineUIPro.Web.HJGL.TestPackageManage { public partial class TestPackageImport : PageBase {/// /// 未通过数 /// public int Count { get { return (int)ViewState["Count"]; } set { ViewState["Count"] = value; } } public string PTP_ID { get { return (string)ViewState["PTP_ID"]; } set { ViewState["PTP_ID"] = value; } } #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); this.InitTreeMenu();//加载树 this.GetButtonPower(); } } #endregion #region 导入 /// /// 导入焊接日报 /// /// /// protected void btnImport_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_TestPackageImportMenuId, BLL.Const.BtnSave)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestPackageDataIn.aspx", "导入 - "))); } else { ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } #endregion #region 加载树装置-单位-工作区 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "单位-区域"; rootNode.NodeID = "0"; rootNode.Expanded = true; this.tvControlItem.Nodes.Add(rootNode); List units = null; var unit = BLL.ProjectUnitService.GetProjectUnitById(this.CurrUser.UnitId); if (unit == null || unit.UnitType == BLL.Const.ProjectUnitType_1 || unit.UnitType == BLL.Const.ProjectUnitType_3) { if (BLL.WorkAreaService.IsSupervisor(this.CurrUser.UnitId, this.CurrUser.LoginProjectId)) { units = (from x in Funs.DB.Base_Unit join y in Funs.DB.ProjectData_WorkArea on x.UnitId equals y.UnitId where (x.UnitId == this.CurrUser.UnitId || y.SupervisorUnitId == this.CurrUser.UnitId) && y.ProjectId == this.CurrUser.LoginProjectId select x).Distinct().ToList(); } else { units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, "2"); } } else { units = (from x in Funs.DB.Base_Unit where x.UnitId == this.CurrUser.UnitId select x).ToList(); } List testPackageLists = Funs.DB.TP_TestPackageImport.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList(); ///试压包 if (units != null) { foreach (var item in units) { TreeNode rootUnitNode = new TreeNode();//定义根节点 rootUnitNode.Text = item.UnitName; rootUnitNode.NodeID = item.UnitId; rootUnitNode.Expanded = true; rootUnitNode.ToolTip = "施工单位"; rootNode.Nodes.Add(rootUnitNode); var lists = testPackageLists.Where(x => x.UnitId == item.UnitId).ToList(); this.BindNodes(rootUnitNode, lists); } } else { Alert.ShowInTop("请先增加施工单位!", MessageBoxIcon.Warning); return; } } #endregion #region 绑定树节点 /// /// 绑定树节点 /// /// private void BindNodes(TreeNode node, List testPackageLists) { if (node.ToolTip == "施工单位") { var workareaId = (from x in testPackageLists select x.WorkAreaId).Distinct(); if (workareaId.Count() > 0) { var workareas = from x in Funs.DB.ProjectData_WorkArea where workareaId.Contains(x.WorkAreaId) orderby x.WorkAreaCode select x; foreach (var q in workareas) { TreeNode newNode = new TreeNode(); newNode.Text = q.WorkAreaCode + q.WorkAreaName; newNode.NodeID = q.WorkAreaId + "|" + node.NodeID; ; newNode.ToolTip = "区域"; newNode.Expanded = true; node.Nodes.Add(newNode); this.BindNodes(newNode, testPackageLists); } } } else if (node.ToolTip == "区域") { string installationId = Funs.GetStrListByStr(node.NodeID, '|')[0]; var dReports = from x in testPackageLists where x.WorkAreaId == installationId && x.UnitId == node.ParentNode.NodeID orderby x.PTP_TestPackageNo descending select x; foreach (var item in dReports) { TreeNode newNode = new TreeNode(); if (!string.IsNullOrEmpty(item.PTP_TestPackageNo)) { newNode.Text = item.PTP_TestPackageNo; } else { newNode.Text = "未知"; } if (!item.PTP_AduditDate.HasValue || string.IsNullOrEmpty(item.PTP_Auditer)) { newNode.Text = "" + newNode.Text + ""; node.Text = "" + node.Text + ""; node.ParentNode.Text = "" + node.ParentNode.Text + ""; } newNode.NodeID = item.PTP_ID; newNode.EnableClickEvent = true; node.Nodes.Add(newNode); } } } #endregion protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e) { } #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.PTP_ID = this.tvControlItem.SelectedNodeID; this.BindGrid(); } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { var testPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x => x.PTP_ID == this.tvControlItem.SelectedNodeID); if (testPackage != null) { if (this.GetButtonPower(BLL.Const.BtnAuditing)) { if (testPackage.PTP_AduditDate.HasValue) { this.btnCancelAudit.Hidden = false; this.btnAudit.Hidden = true; this.printType.Hidden = false; this.btnPrint.Hidden = false; } else { this.btnCancelAudit.Hidden = true; this.btnAudit.Hidden = false; this.printType.Hidden = true; this.btnPrint.Hidden = true; } } } string strSql = @"select a.[PT_ID],a.[FluidCode],a.[OperPress], (select sum(e.JOT_Size) from PW_JointInfo e where e.ISO_ID = a.ISO_ID) JOT_DoneDia, (select sum(e.JOT_Size) from PW_JointInfo e where e.DReportID is null and e.ISO_ID = a.ISO_ID) JOT_NotDoneDia, a.[OperTemperature],a.[PipingGrade],a.[PAndID],a.[NDECode],a.[Size],a.[Caliber],a.[Start], a.[End],a.[leakPress],a.[PurgeWay],a.[Remark], b.[ISO_IsoNo],c.PipingClassCode, b.ISO_DesignPress,b.ISO_DesignTemperature,d.MediumName,b.ISO_TestPress, b.ISO_TestTemperature,e.IsoInfoCount,e.IsoInfoCountT,e.CountS,e.CountU,e.NDTR_Name,e.NDTR_Rate,e.Ratio,e.RatioJ from TP_IsoImportList a left join PW_IsoInfo b on a.ISO_ID=b.ISO_ID left join Base_PipingClass c on c.PipingClassId=b.PipingClassId left join Base_TestMedium d on d.TestMediumId = b.TestMediumId left join View_TestPackageManageAudit e on a.ISO_ID = e.ISO_ID where a.[PTP_ID] = '" + this.tvControlItem.SelectedNodeID + "'"; if (!string.IsNullOrEmpty(txtJOT_JointNo.Text)) { strSql += " and b.[ISO_IsoNo] like '%" + this.txtJOT_JointNo.Text + "%'"; } strSql += " order by b.ISO_IsoNo "; DataTable tb = SQLHelper.GetDataTableRunText(strSql, null); Count = 0; if (tb != null) { foreach (DataRow row in tb.Rows) { if (!string.IsNullOrEmpty(row["JOT_NotDoneDia"].ToString())) { Count++; } } } // 2.获取当前分页数据 //var table = this.GetPagedDataTable(Grid1, tb1); Grid1.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #region 分页排序 #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion #endregion #region 焊口信息 维护事件 /// /// Grid双击事件 /// /// /// //protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) //{ // if (GetButtonPower(Const.BtnModify)) // { // PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckManageStaticEdit.aspx?CheckStaticId={0}", Grid1.SelectedRowID, "编辑 - "))); // } // else // { // Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); // return; // } //} /// /// 焊口信息编辑 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnModify)) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckManageStaticEdit.aspx?CheckStaticId={0}", Grid1.SelectedRowID, "维护 - "))); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #region Grid行绑定事件 /// /// Grid行绑定事件 /// /// /// protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) { if (e.Values[3] != null && !string.IsNullOrEmpty(e.Values[3].ToString())) { e.RowCssClass = "color1"; } } #endregion /// /// 删除按钮 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnDelete)) { if (string.IsNullOrEmpty(tvControlItem.SelectedNodeID)) { Alert.ShowInTop("请选择一个试验包!", MessageBoxIcon.Warning); return; } var testPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x => x.PTP_ID == tvControlItem.SelectedNodeID); if (testPackage != null && testPackage.PTP_AduditDate.HasValue) { Alert.ShowInTop("此试压包已审核不能删除!", MessageBoxIcon.Warning); return; } var isoImportList = Funs.DB.TP_IsoImportList.Where(x => x.PTP_ID == tvControlItem.SelectedNodeID).ToList(); Funs.DB.TP_IsoImportList.DeleteAllOnSubmit(isoImportList); Funs.DB.TP_TestPackageImport.DeleteOnSubmit(testPackage); Funs.DB.SubmitChanges(); ShowNotify("删除成功!", MessageBoxIcon.Success); this.InitTreeMenu(); this.BindGrid(); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } protected void btnMenuDelete_Click(object sender, EventArgs e) { if (this.GetButtonPower(BLL.Const.BtnDelete)) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); return; } foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var testPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x => x.PTP_ID == tvControlItem.SelectedNodeID) ; if (testPackage != null && testPackage.PTP_AduditDate.HasValue) { Alert.ShowInTop("此试压包已审核不能删除!", MessageBoxIcon.Warning); return; } else { var isoImportList = Funs.DB.TP_IsoImportList.FirstOrDefault(x => x.PT_ID == rowID ); Funs.DB.TP_IsoImportList.DeleteOnSubmit(isoImportList); } } Funs.DB.SubmitChanges(); this.InitTreeMenu(); this.BindGrid(); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } #endregion #region 关闭弹出窗口及刷新页面 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { this.InitTreeMenu();//加载树 this.BindGrid(); } /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } /// /// 查询 /// /// /// protected void Tree_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); this.BindGrid(); } #endregion #region 审核 /// /// 审核 /// /// /// protected void btnAudit_Click(object sender, EventArgs e) { if (this.GetButtonPower(BLL.Const.BtnAuditing)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { var updateTestPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x => x.PTP_ID == this.tvControlItem.SelectedNodeID); if (updateTestPackage != null) { if (Count == 0) { updateTestPackage.PTP_AduditDate = DateTime.Now; updateTestPackage.PTP_Auditer = this.CurrUser.UserId; Funs.DB.SubmitChanges(); ShowNotify("审核完成!", MessageBoxIcon.Success); this.btnCancelAudit.Hidden = false; this.btnAudit.Hidden = true; this.InitTreeMenu(); } else { Alert.ShowInTop("管线未全部通过不允许审核操作!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择要审核的单据!", MessageBoxIcon.Warning); return; } } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } #endregion #region 取消审核 /// /// 取消审核 /// /// /// protected void btnCancelAudit_Click(object sender, EventArgs e) { if (this.GetButtonPower(BLL.Const.BtnAuditing)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { var updateTestPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x=>x.PTP_ID== this.tvControlItem.SelectedNodeID); if (updateTestPackage != null) { updateTestPackage.PTP_Auditer = null; updateTestPackage.PTP_AduditDate = null; Funs.DB.SubmitChanges(); ShowNotify("取消审核完成!", MessageBoxIcon.Success); this.InitTreeMenu(); this.btnAudit.Hidden = false; this.btnCancelAudit.Hidden = true; } } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private bool GetButtonPower(string button) { return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_TestPackageImportMenuId, button); } private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_TestPackageImportMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnImport.Hidden = false; } //if (buttonList.Contains(BLL.Const.BtnModify)) //{ // this.btnMenuEdit.Hidden = false; //} if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnDelete.Hidden = false; this.btnMenuDelete.Hidden = false; } //if (buttonList.Contains(BLL.Const.BtnSave)) //{ // this.btnMenuEdit.Hidden = false; //} if (buttonList.Contains(BLL.Const.BtnAuditing)) { if (this.btnAudit.Hidden) this.btnAudit.Hidden = false; if (this.btnCancelAudit.Hidden) this.btnCancelAudit.Hidden = false; } } } #endregion #region 查询 /// /// 查询 /// /// /// protected void txtJOT_JointNo_TextChanged(object sender, EventArgs e) { BindGrid(); } #endregion protected void btnPrint_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.PTP_ID)) { var updateTestPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x=>x.PTP_ID==this.PTP_ID); if (updateTestPackage != null) { if (Count == 0) { string initTemplatePath = ""; string rootPath = Server.MapPath("~/"); BLL.Common.FastReportService.ResetData(); initTemplatePath = GetFastReportItem(updateTestPackage, printType.SelectedValue).ReportPath; // switch (printType.SelectedValue) // { // case "0":// 试压包管线清单 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var ids = string.Join(",", iosList.Select(x => x.UnitId).ToList()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // var unitNames = BLL.UnitService.getUnitNamesUnitIds(ids); // var myNames = BLL.UnitService.getUnitNamesUnitIds(this.CurrUser.UnitId); // keyValuePairs.Add("InstallationName", install.InstallationName); // keyValuePairs.Add("workAreaName", workArea.WorkAreaName); // keyValuePairs.Add("UnitNames", unitNames); // keyValuePairs.Add("TestPackageNo", updateTestPackage.PTP_TestPackageNo); // keyValuePairs.Add("EPCPC", myNames); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // DataTable dt = new DataTable(); // dt.TableName = "Data"; // dt.Columns.Add("ISO_IsoNo"); // dt.Columns.Add("ISO_DesignPress"); // dt.Columns.Add("ISO_TestPress"); // dt.Columns.Add("ISO_DesignTemperature"); // dt.Columns.Add("Index"); // for (int i = 0; i < iosList.Count; i++) // { // var newrow = dt.NewRow(); // newrow["Index"] = i + 1; // newrow["ISO_IsoNo"] = iosList[i].ISO_IsoNo; // newrow["ISO_DesignPress"] = iosList[i].ISO_DesignPress; // newrow["ISO_TestPress"] = iosList[i].ISO_TestPress; // newrow["ISO_DesignTemperature"] = iosList[i].ISO_DesignTemperature; // dt.Rows.Add(newrow); // } // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压包管线清单.frx"; // } // } // break; // case "1":// 管道焊接工作记录 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // keyValuePairs.Add("InstallationName", install.InstallationName); // keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); // keyValuePairs.Add("ProjectName", ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId)); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // string strSql = @"SELECT '' WED_Code, '' WED_Name,'' JOT_WeldDate_Month,''JOT_WeldDate_Day,jointInfo.JOT_ID, // jointInfo.ProjectId, // jointInfo.JOT_JointNo, // jointInfo.is_hj, // jointInfo.JointStatusName, // jointInfo.JOT_TrustFlagName, // jointInfo.JOT_CheckFlagName, // jointInfo.ISO_ID, // jointInfo.ISO_IsoNo, // jointInfo.ISO_IsoNumber, // jointInfo.WorkAreaId, // jointInfo.WorkAreaCode, // jointInfo.JOT_WeldDate, // jointInfo.JOT_DailyReportNo, // jointInfo.STE_Name1, // jointInfo.STE_Name2, // jointInfo.Component1, // jointInfo.Component2, // jointInfo.WED_Code1, // jointInfo.WED_Name1, // jointInfo.WED_Code2, // jointInfo.WED_Name2, // jointInfo.JOT_JointDesc, // jointInfo.JOT_Dia, // jointInfo.JOT_Size, // jointInfo.JOT_Sch, // jointInfo.JOT_FactSch, // jointInfo.GrooveTypeName, // jointInfo.JOTY_ID, // jointInfo.WeldTypeName, // jointInfo.WME_ID, // jointInfo.WeldingMethodName, // jointInfo.WeldSilk, // jointInfo.WeldMat, // jointInfo.WLO_Code, // jointInfo.WeldingLocationName, // jointInfo.JOT_DoneDin, // jointInfo.JOT_PrepareTemp, // jointInfo.JOT_JointAttribute, // jointInfo.JOT_CellTemp, // jointInfo.JOT_LastTemp, // jointInfo.JOT_HeartNo1, // jointInfo.JOT_HeartNo2, // jointInfo.PointDate, // jointInfo.PointNo, // jointInfo.CH_TrustCode, // jointInfo.CH_TrustDate, // jointInfo.JOT_FaceCheckResult, // jointInfo.JOT_FaceCheckDate, // jointInfo.JOT_FaceChecker, // jointInfo.IS_Proess, // jointInfo.JOT_BelongPipe, // jointInfo.JOT_Electricity, // jointInfo.JOT_Voltage, // jointInfo.JOT_ProessDate, // jointInfo.JOT_HotRpt, // jointInfo.JOT_Remark,jointInfo.JOT_Location" // + @" from View_JointInfo as jointInfo " // + @" WHERE jointInfo.ProjectId= @projectId "; // List listStr = new List //{ // new SqlParameter("@projectId", this.CurrUser.LoginProjectId), //}; // strSql += "AND jointInfo.ISO_ID in ('" + isoIds + "') order by jointInfo.ISO_ID ,JOT_JointNo "; // SqlParameter[] parameter5 = listStr.ToArray(); // DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter5); // tb.Columns.Add("index", typeof(System.Int16)); // foreach (DataRow row in tb.Rows) // { // try // { // row["index"] = int.Parse(System.Text.RegularExpressions.Regex.Replace(row["JOT_JointNo"].ToString(), @"[^0-9]+", "")); // } // catch (Exception ex) // { // row["index"] = 0; // } // } // DataView dv = tb.DefaultView;//获取表视图 // dv.Sort = "index,JOT_JointNo ASC";//按照ID倒序排序 // tb = dv.ToTable();//转为表 // if (tb != null) // { // tb.TableName = "Table1"; // for (int i = 0; i < tb.Rows.Count; i++) // { // string WED_Name = ""; // if (!string.IsNullOrEmpty(tb.Rows[i]["WED_Code1"].ToString())) // WED_Name += tb.Rows[i]["WED_Code1"].ToString(); // if (!string.IsNullOrEmpty(tb.Rows[i]["WED_Code2"].ToString())) // WED_Name += "," + tb.Rows[i]["WED_Code1"].ToString(); // tb.Rows[i]["WED_Code"] = WED_Name; // } // } // BLL.Common.FastReportService.AddFastreportTable(tb); // initTemplatePath = "File\\Fastreport\\试压管道焊接工作记录.frx"; // } // } // break; // case "2":// 管道无损检测结果汇总表 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoNos = string.Join("','", iosList.Select(x => x.ISO_IsoNo).ToArray()); // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); // keyValuePairs.Add("installName", install.InstallationName); // keyValuePairs.Add("workAreaName", workArea.WorkAreaName); // keyValuePairs.Add("WorkAreaCode", workArea.WorkAreaCode); // keyValuePairs.Add("UnitName2", unitNames); // if (!string.IsNullOrEmpty(q.PipingClassId)) // { // var PipingClass = BLL.Base_PipingClassService.GetPipingClassByPipingClassId(q.PipingClassId); // if (PipingClass != null) // { // keyValuePairs.Add("ISOLevel", PipingClass.PipingClassName); // } // } // keyValuePairs.Add("isoCode", isoNos); // string sqlNDTCriteria = @"select distinct CH_NDTCriteria from CH_Trust a // left join CH_TrustItem b on a.CH_TrustID = b.CH_TrustID // left join PW_JointInfo c on b.JOT_ID = c.JOT_ID // where c.ISO_ID in ('" + isoIds + "')"; // DataTable tbNDTCriteria = SQLHelper.GetDataTableRunText(sqlNDTCriteria, null); // if (tbNDTCriteria != null) // { // string NDTCriteria = ""; // foreach (DataRow row in tbNDTCriteria.Rows) // { // NDTCriteria += row["CH_NDTCriteria"].ToString() + ","; // } // keyValuePairs.Add("CH_NDTCriteria", NDTCriteria.TrimEnd(',')); // } // var Unit1 = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_3); // if (Unit1 != null) // { // var unitNames1 = string.Join(",", Unit1.Select(x => x.UnitName).ToArray()); // keyValuePairs.Add("UnitName1", unitNames1); // } // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // DataTable dt1 = new DataTable(); // dt1.TableName = "Customers"; // dt1.Columns.Add("detectType"); // var newrow = dt1.NewRow(); // newrow["detectType"] = "RT"; // dt1.Rows.Add(newrow); // newrow = dt1.NewRow(); // newrow["detectType"] = "UT"; // dt1.Rows.Add(newrow); // newrow = dt1.NewRow(); // newrow["detectType"] = "MT"; // dt1.Rows.Add(newrow); // newrow = dt1.NewRow(); // newrow["detectType"] = "PT"; // dt1.Rows.Add(newrow); // newrow = dt1.NewRow(); // newrow["detectType"] = ""; // dt1.Rows.Add(newrow); // BLL.Common.FastReportService.AddFastreportTable(dt1); // string sql3 = @"select ISO_IsoNumber,JOT_JointNo,welder.WED_Code JOT_CellWelder,CHT_CheckCode, // case when e.CH_NDTMethod='296add43-e979-4cf3-b13e-a68bb00a75d2' or e.CH_NDTMethod='a5e9c1bb-1fad-4e65-82bf-03003cc56ab4' then c.CHT_CheckResult end as CHT_CheckResult1, // case when e.CH_NDTMethod='296add43-e979-4cf3-b13e-a68bb00a75d2' or e.CH_NDTMethod='a5e9c1bb-1fad-4e65-82bf-03003cc56ab4' then c.CHT_CheckNo end as CHT_CheckNo1, // case when e.CH_NDTMethod='c1a39a7f-141f-4243-a23d-34f4c9026d5f' or e.CH_NDTMethod='2460a5e3-b5fb-40d6-942e-3092ddc11a72' then c.CHT_CheckResult end as CHT_CheckResult2, // case when e.CH_NDTMethod='c1a39a7f-141f-4243-a23d-34f4c9026d5f' or e.CH_NDTMethod='2460a5e3-b5fb-40d6-942e-3092ddc11a72' then c.CHT_CheckNo end as CHT_CheckNo2 // from PW_JointInfo a // left join PW_IsoInfo b on a.ISO_ID=b.ISO_ID // left join CH_CheckItem c on c.JOT_ID=a.JOT_ID // left join CH_Check d on c.CHT_CheckID=d.CHT_CheckID // left join CH_Trust e on d.CH_TrustID=e.CH_TrustID // left join BS_Welder as welder on welder.WED_ID=JOT_CellWelder // where a.ISO_ID in ('" + isoIds + "')"; // DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); // dt.TableName = "DataTable2"; // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压管道无损检测结果汇总表.frx"; // } // } // break; // case "3":// 弹簧支/吊架安装检验记录 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // keyValuePairs.Add("InstallationName", install.InstallationName); // keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // string sql3 = @"select ISO_IsoNo from // PW_IsoInfo // where ISO_ID in ('" + isoIds + "')"; // DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); // dt.TableName = "Table1"; // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压弹簧支吊架安装检验记录.frx"; // } // } // break; // case "4":// 滑动/固定管托安装检验 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // keyValuePairs.Add("InstallationName", install.InstallationName); // keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // string sql3 = @"select ISO_IsoNo from // PW_IsoInfo // where ISO_ID in ('" + isoIds + "')"; // DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); // dt.TableName = "Table1"; // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压滑动固定管托安装检验.frx"; // } // } // break; // case "5":// 管道补偿器安装检验记录 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); // keyValuePairs.Add("installName", install.InstallationName); // keyValuePairs.Add("workAreaName", workArea.WorkAreaName); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // DataTable dt = new DataTable(); // dt.Columns.Add("ISO_IsoNo"); // dt.TableName = "DataTable2"; // foreach (var item in iosList) // { // var newrow = dt.NewRow(); // newrow["ISO_IsoNo"] = item.ISO_IsoNo; // dt.Rows.Add(newrow); // } // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压管道补偿器安装检验记录.frx"; // } // } // break; // case "6":// 管道试压后安装、焊接及检验检查表 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // keyValuePairs.Add("packageNum", updateTestPackage.PTP_TestPackageNo); // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // string sql = @"select b.ISO_IsoNo,a.JOT_JointNo,c.WED_Code WED_Code1,d.WED_Code WED_Code2 from PW_JointInfo a left join PW_IsoInfo b on a.ISO_ID=b.ISO_ID // left join BS_Welder c on a.JOT_CellWelder = c.WED_ID // left join BS_Welder d on a.JOT_CellWelder = d.WED_ID where a.ISO_ID in ('" + isoIds + "')"; // DataTable dt = SQLHelper.GetDataTableRunText(sql, null); // dt.TableName = "DataTable2"; // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压管道试压后安装焊接及检验检查表.frx"; // } // } // break; // case "7":// 管道系统压力试验记录 // { // var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); // if (iosList.Count > 0) // { // var q = iosList[0]; // var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); // var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); // Dictionary keyValuePairs = new Dictionary(); // var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); // var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); // var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); // keyValuePairs.Add("installName", install.InstallationName); // keyValuePairs.Add("workAreaName", workArea.WorkAreaName); ; // BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); // string sql = @"select ISO_IsoNo, ISO_DesignPress,ISO_DesignTemperature,ISO_TestTemperature,ISO_TestPress,b.MediumName // from PW_IsoInfo a left join Base_TestMedium b on a.MaterialId = b.TestMediumId where a.ISO_ID in ('" + isoIds + "')"; // DataTable dt = SQLHelper.GetDataTableRunText(sql, null); // dt.TableName = "DataTable2"; // BLL.Common.FastReportService.AddFastreportTable(dt); // initTemplatePath = "File\\Fastreport\\试压管道系统压力试验记录.frx"; // } // } // break; // } if (File.Exists(rootPath + initTemplatePath)) { PageContext.RegisterStartupScript(Window6.GetShowReference(String.Format("../TrustManage/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath))); } } else { Alert.ShowInTop("管线未全部通过不允许打印操作!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择要打印的单据!", MessageBoxIcon.Warning); return; } } } protected Model.FastReportItem GetFastReportItem(Model.TP_TestPackageImport updateTestPackage,string printType) { string initTemplatePath = ""; Model.FastReportItem fastReportItem = new Model.FastReportItem(); switch (printType) { case "0":// 试压包管线清单 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var ids = string.Join(",", iosList.Select(x => x.UnitId).ToList()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); var unitNames = BLL.UnitService.getUnitNamesUnitIds(ids); var myNames = BLL.UnitService.getUnitNamesUnitIds(this.CurrUser.UnitId); keyValuePairs.Add("InstallationName", install.InstallationName); keyValuePairs.Add("workAreaName", workArea.WorkAreaName); keyValuePairs.Add("UnitNames", unitNames); keyValuePairs.Add("TestPackageNo", updateTestPackage.PTP_TestPackageNo); keyValuePairs.Add("EPCPC", myNames); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); DataTable dt = new DataTable(); dt.TableName = "Data"; dt.Columns.Add("ISO_IsoNo"); dt.Columns.Add("ISO_DesignPress"); dt.Columns.Add("ISO_TestPress"); dt.Columns.Add("ISO_DesignTemperature"); dt.Columns.Add("Index"); for (int i = 0; i < iosList.Count; i++) { var newrow = dt.NewRow(); newrow["Index"] = i + 1; newrow["ISO_IsoNo"] = iosList[i].ISO_IsoNo; newrow["ISO_DesignPress"] = iosList[i].ISO_DesignPress; newrow["ISO_TestPress"] = iosList[i].ISO_TestPress; newrow["ISO_DesignTemperature"] = iosList[i].ISO_DesignTemperature; dt.Rows.Add(newrow); } BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压包管线清单.frx"; List dataTables= new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "1":// 管道焊接工作记录 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); keyValuePairs.Add("InstallationName", install.InstallationName); keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); keyValuePairs.Add("ProjectName", ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId)); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string strSql = @"SELECT '' WED_Code, '' WED_Name,'' JOT_WeldDate_Month,''JOT_WeldDate_Day,jointInfo.JOT_ID, jointInfo.ProjectId, jointInfo.JOT_JointNo, jointInfo.is_hj, jointInfo.JointStatusName, jointInfo.JOT_TrustFlagName, jointInfo.JOT_CheckFlagName, jointInfo.ISO_ID, jointInfo.ISO_IsoNo, jointInfo.ISO_IsoNumber, jointInfo.WorkAreaId, jointInfo.WorkAreaCode, jointInfo.JOT_WeldDate, jointInfo.JOT_DailyReportNo, jointInfo.STE_Name1, jointInfo.STE_Name2, jointInfo.Component1, jointInfo.Component2, jointInfo.WED_Code1, jointInfo.WED_Name1, jointInfo.WED_Code2, jointInfo.WED_Name2, jointInfo.JOT_JointDesc, jointInfo.JOT_Dia, jointInfo.JOT_Size, jointInfo.JOT_Sch, jointInfo.JOT_FactSch, jointInfo.GrooveTypeName, jointInfo.JOTY_ID, jointInfo.WeldTypeName, jointInfo.WME_ID, jointInfo.WeldingMethodName, jointInfo.WeldSilk, jointInfo.WeldMat, jointInfo.WLO_Code, jointInfo.WeldingLocationName, jointInfo.JOT_DoneDin, jointInfo.JOT_PrepareTemp, jointInfo.JOT_JointAttribute, jointInfo.JOT_CellTemp, jointInfo.JOT_LastTemp, jointInfo.JOT_HeartNo1, jointInfo.JOT_HeartNo2, jointInfo.PointDate, jointInfo.PointNo, jointInfo.CH_TrustCode, jointInfo.CH_TrustDate, jointInfo.JOT_FaceCheckResult, jointInfo.JOT_FaceCheckDate, jointInfo.JOT_FaceChecker, jointInfo.IS_Proess, jointInfo.JOT_BelongPipe, jointInfo.JOT_Electricity, jointInfo.JOT_Voltage, jointInfo.JOT_ProessDate, jointInfo.JOT_HotRpt, jointInfo.JOT_Remark,jointInfo.JOT_Location" + @" from View_JointInfo as jointInfo " + @" WHERE jointInfo.ProjectId= @projectId "; List listStr = new List { new SqlParameter("@projectId", this.CurrUser.LoginProjectId), }; strSql += "AND jointInfo.ISO_ID in ('" + isoIds + "') order by jointInfo.ISO_ID ,JOT_JointNo "; SqlParameter[] parameter5 = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter5); tb.Columns.Add("index", typeof(System.Int16)); foreach (DataRow row in tb.Rows) { try { row["index"] = int.Parse(System.Text.RegularExpressions.Regex.Replace(row["JOT_JointNo"].ToString(), @"[^0-9]+", "")); } catch (Exception ex) { row["index"] = 0; } } DataView dv = tb.DefaultView;//获取表视图 dv.Sort = "index,JOT_JointNo ASC";//按照ID倒序排序 tb = dv.ToTable();//转为表 if (tb != null) { tb.TableName = "Table1"; for (int i = 0; i < tb.Rows.Count; i++) { string WED_Name = ""; if (!string.IsNullOrEmpty(tb.Rows[i]["WED_Code1"].ToString())) WED_Name += tb.Rows[i]["WED_Code1"].ToString(); if (!string.IsNullOrEmpty(tb.Rows[i]["WED_Code2"].ToString())) WED_Name += "," + tb.Rows[i]["WED_Code1"].ToString(); tb.Rows[i]["WED_Code"] = WED_Name; } } BLL.Common.FastReportService.AddFastreportTable(tb); initTemplatePath = "File\\Fastreport\\试压管道焊接工作记录.frx"; List dataTables = new List(); dataTables.Add(tb); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "2":// 管道无损检测结果汇总表 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoNos = string.Join("','", iosList.Select(x => x.ISO_IsoNo).ToArray()); var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); keyValuePairs.Add("installName", install.InstallationName); keyValuePairs.Add("workAreaName", workArea.WorkAreaName); keyValuePairs.Add("WorkAreaCode", workArea.WorkAreaCode); keyValuePairs.Add("UnitName2", unitNames); if (!string.IsNullOrEmpty(q.PipingClassId)) { var PipingClass = BLL.Base_PipingClassService.GetPipingClassByPipingClassId(q.PipingClassId); if (PipingClass != null) { keyValuePairs.Add("ISOLevel", PipingClass.PipingClassName); } } keyValuePairs.Add("isoCode", isoNos); string sqlNDTCriteria = @"select distinct CH_NDTCriteria from CH_Trust a left join CH_TrustItem b on a.CH_TrustID = b.CH_TrustID left join PW_JointInfo c on b.JOT_ID = c.JOT_ID where c.ISO_ID in ('" + isoIds + "')"; DataTable tbNDTCriteria = SQLHelper.GetDataTableRunText(sqlNDTCriteria, null); if (tbNDTCriteria != null) { string NDTCriteria = ""; foreach (DataRow row in tbNDTCriteria.Rows) { NDTCriteria += row["CH_NDTCriteria"].ToString() + ","; } keyValuePairs.Add("CH_NDTCriteria", NDTCriteria.TrimEnd(',')); } var Unit1 = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_3); if (Unit1 != null) { var unitNames1 = string.Join(",", Unit1.Select(x => x.UnitName).ToArray()); keyValuePairs.Add("UnitName1", unitNames1); } BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string sqlStr = @" select detectionType.DetectionTypeCode, weldType.WeldTypeName, checkItem.CHT_CheckResult, sum(checkItem.CHT_TotalFilm) as TotalFilm,sum(checkItem.CHT_PassFilm) as PassFilm,sum(checkItem.CHT_TotalFilm-checkItem.CHT_PassFilm) as NoPassFilm ,count(distinct jointInfo.JOT_ID) as jotNum from PW_JointInfo jointInfo left join Base_WeldType as weldType on weldType.WeldTypeId=jointInfo.JOTY_ID left join dbo.CH_TrustItem as trustItem on trustItem.JOT_ID=jointInfo.JOT_ID left join dbo.CH_Trust as trust on trust.CH_TrustID = trustItem.CH_TrustID left join dbo.Base_DetectionType as detectionType on trust.CH_NDTMethod=detectionType.DetectionTypeId left join TP_IsoList on TP_IsoList.ISO_ID = jointInfo.ISO_ID LEFT JOIN dbo.CH_CheckItem as checkItem ON trustItem.JOT_ID = checkItem.JOT_ID where weldType.WeldTypeName in('对接','角焊缝') and TP_IsoList.PTP_ID = '" + this.PTP_ID + @"' group by weldType.WeldTypeName,detectionType.DetectionTypeCode,checkItem.CHT_CheckResult"; DataTable dt0 = SQLHelper.GetDataTableRunText(sqlStr, null); //DataTable dt1 = new DataTable(); //dt1.TableName = "Customers"; //dt1.Columns.Add("detectType"); //var newrow = dt1.NewRow(); //newrow["detectType"] = "RT"; //dt1.Rows.Add(newrow); //newrow = dt1.NewRow(); //newrow["detectType"] = "UT"; //dt1.Rows.Add(newrow); //newrow = dt1.NewRow(); //newrow["detectType"] = "MT"; //dt1.Rows.Add(newrow); //newrow = dt1.NewRow(); //newrow["detectType"] = "PT"; //dt1.Rows.Add(newrow); //newrow = dt1.NewRow(); //newrow["detectType"] = ""; //dt1.Rows.Add(newrow); DataTable dt1 = new DataTable(); dt1.TableName = "Customers"; dt1.Columns.Add("detectType"); dt1.Columns.Add("jot1"); dt1.Columns.Add("pic1"); dt1.Columns.Add("jot2"); dt1.Columns.Add("pic2"); dt1.Columns.Add("jot3"); dt1.Columns.Add("pic3"); dt1.Columns.Add("jot4"); dt1.Columns.Add("pic4"); var newrow = dt1.NewRow(); newrow["detectType"] = "RT"; int jot1 = 0; int pic1 = 0; int jot2 = 0; int pic2 = 0; int jot3 = 0; int pic3 = 0; int jot4 = 0; int pic4 = 0; DataRow[] rows = dt0.Select("DetectionTypeCode='RT'"); foreach (var row in rows) { var WeldTypeName = row["WeldTypeName"].ToString(); switch (WeldTypeName) { case "对接": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot1 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic1 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot3 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic3 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; case "角焊缝": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot2 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic2 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot4 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic4 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; } } if (jot1 > 0) { newrow["jot1"] = jot1; } if (pic1 > 0) { newrow["pic1"] = pic1; } if (jot1 > 0) { newrow["jot2"] = jot2; } if (pic1 > 0) { newrow["pic2"] = pic2; } if (jot3 > 0) { newrow["jot3"] = jot3; } if (pic3 > 0) { newrow["pic3"] = pic3; } if (jot4 > 0) { newrow["jot4"] = jot4; } if (pic4 > 0) { newrow["pic4"] = pic4; } dt1.Rows.Add(newrow); newrow = dt1.NewRow(); newrow["detectType"] = "UT"; jot1 = 0; pic1 = 0; jot2 = 0; pic2 = 0; jot3 = 0; pic3 = 0; jot4 = 0; pic4 = 0; rows = dt0.Select("DetectionTypeCode='UT'"); foreach (var row in rows) { var WeldTypeName = row["WeldTypeName"].ToString(); switch (WeldTypeName) { case "对接": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot1 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic1 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot3 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic3 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; case "角焊缝": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot2 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic2 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot4 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic4 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; } } if (jot1 > 0) { newrow["jot1"] = jot1; } if (pic1 > 0) { newrow["pic1"] = pic1; } if (jot1 > 0) { newrow["jot2"] = jot2; } if (pic1 > 0) { newrow["pic2"] = pic2; } if (jot3 > 0) { newrow["jot3"] = jot3; } if (pic3 > 0) { newrow["pic3"] = pic3; } if (jot4 > 0) { newrow["jot4"] = jot4; } if (pic4 > 0) { newrow["pic4"] = pic4; } dt1.Rows.Add(newrow); newrow = dt1.NewRow(); newrow["detectType"] = "MT"; jot1 = 0; pic1 = 0; jot2 = 0; pic2 = 0; jot3 = 0; pic3 = 0; jot4 = 0; pic4 = 0; rows = dt0.Select("DetectionTypeCode='MT'"); foreach (var row in rows) { var WeldTypeName = row["WeldTypeName"].ToString(); switch (WeldTypeName) { case "对接": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot1 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic1 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot3 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic3 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; case "角焊缝": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot2 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic2 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot4 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic4 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; } } if (jot1 > 0) { newrow["jot1"] = jot1; } if (pic1 > 0) { newrow["pic1"] = pic1; } if (jot1 > 0) { newrow["jot2"] = jot2; } if (pic1 > 0) { newrow["pic2"] = pic2; } if (jot3 > 0) { newrow["jot3"] = jot3; } if (pic3 > 0) { newrow["pic3"] = pic3; } if (jot4 > 0) { newrow["jot4"] = jot4; } if (pic4 > 0) { newrow["pic4"] = pic4; } dt1.Rows.Add(newrow); newrow = dt1.NewRow(); newrow["detectType"] = "PT"; jot1 = 0; pic1 = 0; jot2 = 0; pic2 = 0; jot3 = 0; pic3 = 0; jot4 = 0; pic4 = 0; rows = dt0.Select("DetectionTypeCode='PT'"); foreach (var row in rows) { var WeldTypeName = row["WeldTypeName"].ToString(); switch (WeldTypeName) { case "对接": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot1 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic1 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot3 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic3 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; case "角焊缝": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot2 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic2 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot4 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic4 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; } } if (jot1 > 0) { newrow["jot1"] = jot1; } if (pic1 > 0) { newrow["pic1"] = pic1; } if (jot1 > 0) { newrow["jot2"] = jot2; } if (pic1 > 0) { newrow["pic2"] = pic2; } if (jot3 > 0) { newrow["jot3"] = jot3; } if (pic3 > 0) { newrow["pic3"] = pic3; } if (jot4 > 0) { newrow["jot4"] = jot4; } if (pic4 > 0) { newrow["pic4"] = pic4; } dt1.Rows.Add(newrow); newrow = dt1.NewRow(); newrow["detectType"] = "TOFD"; jot1 = 0; pic1 = 0; jot2 = 0; pic2 = 0; jot3 = 0; pic3 = 0; jot4 = 0; pic4 = 0; rows = dt0.Select("DetectionTypeCode='TOFD'"); foreach (var row in rows) { var WeldTypeName = row["WeldTypeName"].ToString(); switch (WeldTypeName) { case "对接": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot1 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic1 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot3 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic3 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; case "角焊缝": { var CHT_CheckResult = row["CHT_CheckResult"].ToString(); switch (CHT_CheckResult) { case "合格": try { jot2 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic2 += int.Parse(row["PassFilm"].ToString()); } catch (Exception ee) { } break; case "不合格": try { jot4 += int.Parse(row["jotNum"].ToString()); } catch (Exception ee) { } try { pic4 += int.Parse(row["NoPassFilm"].ToString()); } catch (Exception ee) { } break; } } break; } } if (jot1 > 0) { newrow["jot1"] = jot1; } if (pic1 > 0) { newrow["pic1"] = pic1; } if (jot1 > 0) { newrow["jot2"] = jot2; } if (pic1 > 0) { newrow["pic2"] = pic2; } if (jot3 > 0) { newrow["jot3"] = jot3; } if (pic3 > 0) { newrow["pic3"] = pic3; } if (jot4 > 0) { newrow["jot4"] = jot4; } if (pic4 > 0) { newrow["pic4"] = pic4; } dt1.Rows.Add(newrow); newrow = dt1.NewRow(); newrow["detectType"] = ""; dt1.Rows.Add(newrow); BLL.Common.FastReportService.AddFastreportTable(dt1); string sql3 = @"select b.ISO_IsoNo, JOT_JointNo,welder.WED_Code JOT_CellWelder,CHT_CheckCode,CH_TrustCode, case when e.CH_NDTMethod='296add43-e979-4cf3-b13e-a68bb00a75d2' or e.CH_NDTMethod='a5e9c1bb-1fad-4e65-82bf-03003cc56ab4' then c.CHT_CheckResult end as CHT_CheckResult1, case when e.CH_NDTMethod='296add43-e979-4cf3-b13e-a68bb00a75d2' or e.CH_NDTMethod='a5e9c1bb-1fad-4e65-82bf-03003cc56ab4' then c.CHT_CheckNo end as CHT_CheckNo1, case when e.CH_NDTMethod='c1a39a7f-141f-4243-a23d-34f4c9026d5f' or e.CH_NDTMethod='2460a5e3-b5fb-40d6-942e-3092ddc11a72' then c.CHT_CheckResult end as CHT_CheckResult2, case when e.CH_NDTMethod='c1a39a7f-141f-4243-a23d-34f4c9026d5f' or e.CH_NDTMethod='2460a5e3-b5fb-40d6-942e-3092ddc11a72' then c.CHT_CheckNo end as CHT_CheckNo2 from CH_CheckItem c left join PW_JointInfo a on a.JOT_ID = c.JOT_ID left join PW_IsoInfo b on a.ISO_ID=b.ISO_ID left join CH_Check d on c.CHT_CheckID=d.CHT_CheckID left join CH_Trust e on d.CH_TrustID=e.CH_TrustID left join BS_Welder as welder on welder.WED_ID=JOT_CellWelder where a.ISO_ID in ('" + isoIds + "')"; DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); dt.TableName = "DataTable2"; BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压管道无损检测结果汇总表.frx"; List dataTables = new List(); dataTables.Add(dt1); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "3":// 弹簧支/吊架安装检验记录 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); keyValuePairs.Add("InstallationName", install.InstallationName); keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string sql3 = @"select ISO_IsoNo from PW_IsoInfo where ISO_ID in ('" + isoIds + "')"; DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); dt.TableName = "Table1"; BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压弹簧支吊架安装检验记录.frx"; List dataTables = new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "4":// 滑动/固定管托安装检验 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); keyValuePairs.Add("InstallationName", install.InstallationName); keyValuePairs.Add("WorkAreaName", workArea.WorkAreaName); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string sql3 = @"select ISO_IsoNo from PW_IsoInfo where ISO_ID in ('" + isoIds + "')"; DataTable dt = SQLHelper.GetDataTableRunText(sql3, null); dt.TableName = "Table1"; BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压滑动固定管托安装检验.frx"; List dataTables = new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "5":// 管道补偿器安装检验记录 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); keyValuePairs.Add("installName", install.InstallationName); keyValuePairs.Add("workAreaName", workArea.WorkAreaName); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); DataTable dt = new DataTable(); dt.Columns.Add("ISO_IsoNo"); dt.TableName = "DataTable2"; foreach (var item in iosList) { var newrow = dt.NewRow(); newrow["ISO_IsoNo"] = item.ISO_IsoNo; dt.Rows.Add(newrow); } BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压管道补偿器安装检验记录.frx"; List dataTables = new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "6":// 管道试压后安装、焊接及检验检查表 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); Dictionary keyValuePairs = new Dictionary(); keyValuePairs.Add("packageNum", updateTestPackage.PTP_TestPackageNo); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string sql = @"select b.ISO_IsoNo,a.JOT_JointNo,c.WED_Code WED_Code1,d.WED_Code WED_Code2 from PW_JointInfo a left join PW_IsoInfo b on a.ISO_ID=b.ISO_ID left join BS_Welder c on a.JOT_CellWelder = c.WED_ID left join BS_Welder d on a.JOT_CellWelder = d.WED_ID where a.ISO_ID in ('" + isoIds + "')"; DataTable dt = SQLHelper.GetDataTableRunText(sql, null); dt.TableName = "DataTable2"; BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压管道试压后安装焊接及检验检查表.frx"; List dataTables = new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; case "7":// 管道系统压力试验记录 { var iosList = BLL.TestPackageManageImportService.GetIsoInfosByPTP_ID(this.PTP_ID); if (iosList.Count > 0) { var q = iosList[0]; var isoIds = string.Join("','", iosList.Select(x => x.ISO_ID).ToArray()); var unitIds = string.Join("','", iosList.Select(x => x.UnitId).ToArray()); Dictionary keyValuePairs = new Dictionary(); var workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(q.WorkAreaId); var install = BLL.Project_InstallationService.GetInstallationByInstallationId(workArea.InstallationId); var unitNames = BLL.UnitService.getUnitNamesUnitIds(unitIds); keyValuePairs.Add("installName", install.InstallationName); keyValuePairs.Add("workAreaName", workArea.WorkAreaName); ; BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string sql = @"select ISO_IsoNo, ISO_DesignPress,ISO_DesignTemperature,ISO_TestTemperature,ISO_TestPress,b.MediumName from PW_IsoInfo a left join Base_TestMedium b on a.MaterialId = b.TestMediumId where a.ISO_ID in ('" + isoIds + "')"; DataTable dt = SQLHelper.GetDataTableRunText(sql, null); dt.TableName = "DataTable2"; BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\试压管道系统压力试验记录.frx"; List dataTables = new List(); dataTables.Add(dt); fastReportItem.ReportPath = initTemplatePath; fastReportItem.ParameterValues = keyValuePairs; fastReportItem.DataTables = dataTables; } } break; } return fastReportItem; } protected void exportWord() { if (!string.IsNullOrEmpty(this.PTP_ID)) { var updateTestPackage = Funs.DB.TP_TestPackageImport.FirstOrDefault(x => x.PTP_ID == this.PTP_ID); if (updateTestPackage != null) { if (Count == 0) { string rootPath = Server.MapPath("~/"); BLL.Common.FastReportService.ResetData(); ListItem[] list = new ListItem[8]; list[0] = new ListItem("0", "File\\Fastreport\\试压包管线清单.frx"); list[1] = new ListItem("1", "File\\Fastreport\\试压管道焊接工作记录.frx"); list[2] = new ListItem("2", "File\\Fastreport\\试压管道无损检测结果汇总表.frx"); list[3] = new ListItem("3", "File\\Fastreport\\试压弹簧支吊架安装检验记录.frx"); list[4] = new ListItem("4", "File\\Fastreport\\试压滑动固定管托安装检验.frx"); list[5] = new ListItem("5", "File\\Fastreport\\试压管道补偿器安装检验记录.frx"); list[6] = new ListItem("6", "File\\Fastreport\\试压管道试压后安装焊接及检验检查表.frx"); list[7] = new ListItem("7", "File\\Fastreport\\试压管道系统压力试验记录.frx"); List FastReportItemList = new List(); foreach (var item in list) { FastReportItemList.Add(GetFastReportItem(updateTestPackage, item.Text)); } var Path = Funs.RootPath + "FileUpload/" + this.PTP_ID + ".pdf"; BLL.Common.FastReportService.ExportMergeReport(FastReportItemList, Path); 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("交工资料.pdf", 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); return; } } else { Alert.ShowInTop("请选择要打印的单据!", MessageBoxIcon.Warning); return; } } } protected void btnAll_Click(object sender, EventArgs e) { exportWord(); } } }