1336 lines
60 KiB
C#
1336 lines
60 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Data;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using System.Web;
|
|||
|
using System.Web.DynamicData;
|
|||
|
using System.Web.UI;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
using BLL;
|
|||
|
using FastReport.Data;
|
|||
|
using FineUIPro.Web.HJGL.BaseInfo;
|
|||
|
using FineUIPro.Web.HJGL.WeldingManage;
|
|||
|
using FineUIPro.Web.SysManage;
|
|||
|
using Microsoft.JScript;
|
|||
|
using Model;
|
|||
|
using Newtonsoft.Json.Linq;
|
|||
|
using NPOI.OpenXmlFormats.Vml.Office;
|
|||
|
using NPOI.SS.Formula.Functions;
|
|||
|
using NPOI.Util;
|
|||
|
using Org.BouncyCastle.Asn1.Tsp;
|
|||
|
using Org.BouncyCastle.Ocsp;
|
|||
|
|
|||
|
namespace FineUIPro.Web.ProjectData
|
|||
|
{
|
|||
|
public partial class PCFGrid : PageBase
|
|||
|
{
|
|||
|
public string Id
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["Id"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["Id"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
public string CurrentNodeId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["CurrentNodeId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["CurrentNodeId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
public DataSet set
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (DataSet)ViewState["set"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["set"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Dictionary<string, Dictionary<string, string>> relation
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (Dictionary<string, Dictionary<string, string>>)ViewState["relation"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["relation"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
public List<Model.PW_IsoInfo> isoList
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (List<Model.PW_IsoInfo>)Session["isoList"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
Session["isoList"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
public List<Model.PW_JointInfo> jointList
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (List<Model.PW_JointInfo>)Session["jointList"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
Session["jointList"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
#region 加载
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
Id = Request.Params["Id"];
|
|||
|
relation = new Dictionary<string, Dictionary<string, string>>();
|
|||
|
isoList= new List<Model.PW_IsoInfo>();
|
|||
|
jointList = new List<PW_JointInfo>();
|
|||
|
initDrpType();
|
|||
|
InitGrid();
|
|||
|
InitTreeMenu();
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 关闭弹出窗
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void InitGrid()
|
|||
|
{
|
|||
|
string rootPath = Server.MapPath("~/");
|
|||
|
string initFullPath = rootPath + Const.ExcelUrl;
|
|||
|
|
|||
|
var attachFile = Funs.DB.AttachFile.Where(x => x.ToKeyId == Id);
|
|||
|
List<string> files = new List<string>();
|
|||
|
foreach (var attach in attachFile)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(attach.AttachUrl))
|
|||
|
{
|
|||
|
foreach (var file in attach.AttachUrl.Split(','))
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(file))
|
|||
|
{
|
|||
|
files.Add(rootPath + file);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
set = new DataSet();
|
|||
|
DataTable dt = new DataTable();
|
|||
|
dt.TableName = "ROOT";
|
|||
|
dt.Columns.Add("ID");
|
|||
|
set.Tables.Add(dt);
|
|||
|
Dictionary<string, DataTable> dic = new Dictionary<string, DataTable>();
|
|||
|
dic.Add("ROOT", dt);
|
|||
|
foreach (var filePath in files)
|
|||
|
{
|
|||
|
string currentName = "ROOT";
|
|||
|
string content = File.ReadAllText(filePath);
|
|||
|
string[] lines = content.Split('\n');
|
|||
|
foreach (var line in lines)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(line))
|
|||
|
{
|
|||
|
var l = line.TrimEnd('\r');
|
|||
|
if (l.IndexOf(' ') == -1)
|
|||
|
{
|
|||
|
if (dic.ContainsKey(l))
|
|||
|
{
|
|||
|
dt = dic[l];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
dt.TableName = l;
|
|||
|
dt.Columns.Add("ID");
|
|||
|
currentName = l;
|
|||
|
set.Tables.Add(dt);
|
|||
|
dic.Add(l, dt);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
l = l.Trim();
|
|||
|
string collomName = l;
|
|||
|
if (l.IndexOf(" ") > 0)
|
|||
|
{
|
|||
|
collomName = l.Substring(0, l.IndexOf(" "));
|
|||
|
}
|
|||
|
if (!dt.Columns.Contains(collomName))
|
|||
|
{
|
|||
|
dt.Columns.Add(collomName);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
DataRow row = null;
|
|||
|
string rowId = "";
|
|||
|
foreach (var filePath in files)
|
|||
|
{
|
|||
|
rowId = Guid.NewGuid().ToString();
|
|||
|
string currentName = "ROOT";
|
|||
|
dt = dic["ROOT"];
|
|||
|
row = dt.NewRow();
|
|||
|
row["ID"] = rowId;
|
|||
|
dt.Rows.Add(row);
|
|||
|
string content = File.ReadAllText(filePath);
|
|||
|
string[] lines = content.Split('\n');
|
|||
|
foreach (var line in lines)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(line))
|
|||
|
{
|
|||
|
var l = line.TrimEnd('\r');
|
|||
|
if (l.IndexOf(' ') == -1)
|
|||
|
{
|
|||
|
if (dic.ContainsKey(l))
|
|||
|
{
|
|||
|
dt = dic[l];
|
|||
|
row = dt.NewRow();
|
|||
|
row["ID"] = rowId;
|
|||
|
dt.Rows.Add(row);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (!l.StartsWith(" ") && "ROOT" != currentName)
|
|||
|
{
|
|||
|
row = dt.NewRow();
|
|||
|
row["ID"] = rowId;
|
|||
|
dt.Rows.Add(row);
|
|||
|
}
|
|||
|
l = l.Trim();
|
|||
|
string collomName = l;
|
|||
|
if (l.IndexOf(" ") > 0)
|
|||
|
{
|
|||
|
collomName = l.Substring(0, l.IndexOf(" "));
|
|||
|
}
|
|||
|
var value = l.Substring(collomName.Length);
|
|||
|
if (dt.Columns.Contains(collomName))
|
|||
|
{
|
|||
|
row[collomName] = value.Trim();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
foreach (DataTable dtt in set.Tables)
|
|||
|
{
|
|||
|
|
|||
|
Grid grid = new Grid();
|
|||
|
grid.ShowGridHeader = true;
|
|||
|
grid.Title = dtt.TableName;
|
|||
|
grid.ID = dtt.TableName;
|
|||
|
grid.AllowColumnLocking= true;
|
|||
|
grid.DataKeyNames = new string[] { "Id" };
|
|||
|
foreach (DataColumn dc in dtt.Columns)
|
|||
|
{
|
|||
|
grid.Columns.Add(new BoundField() { DataField = dc.ColumnName, HeaderText = dc.ColumnName });
|
|||
|
}
|
|||
|
grid.DataSource = dtt;
|
|||
|
grid.DataBind();
|
|||
|
Region2.Items.Add(grid);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#region 加载树
|
|||
|
/// <summary>
|
|||
|
/// 加载树
|
|||
|
/// </summary>
|
|||
|
private void InitTreeMenu()
|
|||
|
{
|
|||
|
this.trComponent.Nodes.Clear();
|
|||
|
this.trComponent.ShowBorder = false;
|
|||
|
this.trComponent.ShowHeader = false;
|
|||
|
this.trComponent.EnableIcons = true;
|
|||
|
this.trComponent.AutoScroll = true;
|
|||
|
foreach (DataTable dt in set.Tables)
|
|||
|
{
|
|||
|
TreeNode node = new TreeNode();
|
|||
|
node.Text = dt.TableName;
|
|||
|
node.NodeID = dt.TableName;
|
|||
|
node.CommandName = "table";
|
|||
|
node.EnableClickEvent = true;
|
|||
|
node.EnableExpandEvent = true;
|
|||
|
this.trComponent.Nodes.Add(node);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#region Tree点击事件
|
|||
|
/// <summary>
|
|||
|
/// Tree点击事件
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void trComponent_NodeCommand(object sender, TreeCommandEventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(CurrentNodeId))
|
|||
|
{
|
|||
|
BindRelation();
|
|||
|
}
|
|||
|
CurrentNodeId = trComponent.SelectedNodeID;
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
/// <summary>
|
|||
|
/// 加载Grid
|
|||
|
/// </summary>
|
|||
|
private void BindGrid()
|
|||
|
{
|
|||
|
List<Model.WBSSetInitItem> items = new List<Model.WBSSetInitItem>();
|
|||
|
if (this.trComponent.SelectedNode != null)
|
|||
|
{
|
|||
|
var dic = relation.ContainsKey(this.trComponent.SelectedNode.NodeID) ? relation[this.trComponent.SelectedNode.NodeID]:null;
|
|||
|
DataTable dt = set.Tables[this.trComponent.SelectedNode.NodeID];
|
|||
|
DataTable dtShow = new DataTable();
|
|||
|
dtShow.Columns.Add("ID");
|
|||
|
dtShow.Columns.Add("ComAttr");
|
|||
|
dtShow.Columns.Add("Column");
|
|||
|
if (dt != null)
|
|||
|
{
|
|||
|
foreach (DataColumn column in dt.Columns)
|
|||
|
{
|
|||
|
DataRow row = dtShow.NewRow();
|
|||
|
row["ID"] = column.ColumnName;
|
|||
|
row["ComAttr"] = column.ColumnName;
|
|||
|
if (dic != null)
|
|||
|
{
|
|||
|
row["Column"] = dic.ContainsKey(column.ColumnName) ? dic[column.ColumnName]:null;
|
|||
|
|
|||
|
}
|
|||
|
dtShow.Rows.Add(row);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
this.Grid1.DataSource = dtShow;
|
|||
|
this.Grid1.DataBind();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void BindIsoGrid()
|
|||
|
{
|
|||
|
this.IsoGrid.DataSource = this.isoList;
|
|||
|
this.IsoGrid.DataBind();
|
|||
|
}
|
|||
|
private void BindJointGrid()
|
|||
|
{
|
|||
|
this.JointGrid.DataSource = this.jointList;
|
|||
|
this.JointGrid.DataBind();
|
|||
|
}
|
|||
|
|
|||
|
protected void drpType_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
initDrpType();
|
|||
|
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
protected void initDrpType()
|
|||
|
{
|
|||
|
List<ListItem> list = new List<ListItem>();
|
|||
|
if (drpType.SelectedValue == "管道")
|
|||
|
{
|
|||
|
|
|||
|
//list.Add(new ListItem("管线代号", "ISO_IsoNo"));
|
|||
|
//list.Add(new ListItem("单位", "UnitId"));
|
|||
|
//list.Add(new ListItem("介质", "TestMediumId"));
|
|||
|
//list.Add(new ListItem("是否非标", "Is_Standard"));
|
|||
|
//list.Add(new ListItem("探伤比例", "DetectionRateId"));
|
|||
|
//list.Add(new ListItem("探伤类型", "DetectionTypeId"));
|
|||
|
//list.Add(new ListItem("系统号", "ISO_SysNo"));
|
|||
|
//list.Add(new ListItem("分系统号", "ISO_SubSysNo"));
|
|||
|
//list.Add(new ListItem("工作包号", "ISO_CwpNo"));
|
|||
|
//list.Add(new ListItem("单线图号", "ISO_IsoNumber"));
|
|||
|
//list.Add(new ListItem("图纸版次", "ISO_Rev"));
|
|||
|
//list.Add(new ListItem("页数", "ISO_Sheet"));
|
|||
|
//list.Add(new ListItem("总管段数", "ISO_PipeQty"));
|
|||
|
//list.Add(new ListItem("涂漆类别", "ISO_Paint"));
|
|||
|
//list.Add(new ListItem("绝热类别", "ISO_Insulator"));
|
|||
|
//list.Add(new ListItem("材质", "MaterialId"));
|
|||
|
//list.Add(new ListItem("执行标准", "ISO_Executive"));
|
|||
|
//list.Add(new ListItem("规格", "ISO_Specification"));
|
|||
|
//list.Add(new ListItem("修改人", "ISO_Modifier"));
|
|||
|
//list.Add(new ListItem("修改日期", "ISO_ModifyDate"));
|
|||
|
//list.Add(new ListItem("建档人", "ISO_Creator"));
|
|||
|
//list.Add(new ListItem("建档日期", "ISO_CreateDate"));
|
|||
|
//list.Add(new ListItem("设计压力", "ISO_DesignPress"));
|
|||
|
//list.Add(new ListItem("设计温度", "ISO_DesignTemperature"));
|
|||
|
//list.Add(new ListItem("试验温度", "ISO_TestTemperature"));
|
|||
|
//list.Add(new ListItem("合格等级", "ISO_NDTClass"));
|
|||
|
//list.Add(new ListItem("渗透比例", "ISO_PTRate"));
|
|||
|
//list.Add(new ListItem("渗透等级", "ISO_PTClass"));
|
|||
|
//list.Add(new ListItem("是否酸洗", "ISO_IfPickling"));
|
|||
|
//list.Add(new ListItem("是否抛光", "ISO_IfChasing"));
|
|||
|
//list.Add(new ListItem("管道等级", "PipingClassId"));
|
|||
|
//list.Add(new ListItem("管道长度", "ISO_Length"));
|
|||
|
|
|||
|
list.Add(new ListItem("管道:管线代号", "管道:管线代号"));
|
|||
|
list.Add(new ListItem("管道:单位", "管道:单位"));
|
|||
|
list.Add(new ListItem("管道:施工区域", "管道:施工区域"));
|
|||
|
list.Add(new ListItem("管道:介质", "管道:介质"));
|
|||
|
list.Add(new ListItem("管道:是否非标", "管道:是否非标"));
|
|||
|
list.Add(new ListItem("管道:探伤比例", "管道:探伤比例"));
|
|||
|
list.Add(new ListItem("管道:探伤类型", "管道:探伤类型"));
|
|||
|
list.Add(new ListItem("管道:系统号", "管道:系统号"));
|
|||
|
list.Add(new ListItem("管道:分系统号", "管道:分系统号"));
|
|||
|
list.Add(new ListItem("管道:工作包号", "管道:工作包号"));
|
|||
|
list.Add(new ListItem("管道:单线图号", "管道:单线图号"));
|
|||
|
list.Add(new ListItem("管道:图纸版次", "管道:图纸版次"));
|
|||
|
list.Add(new ListItem("管道:页数", "管道:页数"));
|
|||
|
list.Add(new ListItem("管道:总管段数", "管道:总管段数"));
|
|||
|
list.Add(new ListItem("管道:涂漆类别", "管道:涂漆类别"));
|
|||
|
list.Add(new ListItem("管道:绝热类别", "管道:绝热类别"));
|
|||
|
list.Add(new ListItem("管道:材质", "管道:材质"));
|
|||
|
list.Add(new ListItem("管道:执行标准", "管道:执行标准"));
|
|||
|
list.Add(new ListItem("管道:规格", "管道:规格"));
|
|||
|
list.Add(new ListItem("管道:修改人", "管道:修改人"));
|
|||
|
list.Add(new ListItem("管道:修改日期", "管道:修改日期"));
|
|||
|
list.Add(new ListItem("管道:建档人", "管道:建档人"));
|
|||
|
list.Add(new ListItem("管道:建档日期", "管道:建档日期"));
|
|||
|
list.Add(new ListItem("管道:设计压力", "管道:设计压力"));
|
|||
|
list.Add(new ListItem("管道:设计温度", "管道:设计温度"));
|
|||
|
list.Add(new ListItem("管道:试验温度", "管道:试验温度"));
|
|||
|
list.Add(new ListItem("管道:合格等级", "管道:合格等级"));
|
|||
|
list.Add(new ListItem("管道:渗透比例", "管道:渗透比例"));
|
|||
|
list.Add(new ListItem("管道:渗透等级", "管道:渗透等级"));
|
|||
|
list.Add(new ListItem("管道:是否酸洗", "管道:是否酸洗"));
|
|||
|
list.Add(new ListItem("管道:是否抛光", "管道:是否抛光"));
|
|||
|
list.Add(new ListItem("管道:管道等级", "管道:管道等级"));
|
|||
|
list.Add(new ListItem("管道:管道长度", "管道:管道长度"));
|
|||
|
}
|
|||
|
else if (drpType.SelectedValue == "焊口")
|
|||
|
{
|
|||
|
//list.Add(new ListItem("焊口代号", "ISO_IsoNo"));
|
|||
|
//list.Add(new ListItem("焊接区域", "WLO_Code"));
|
|||
|
//list.Add(new ListItem("材质1", "MaterialId"));
|
|||
|
//list.Add(new ListItem("材质2", "MaterialId2"));
|
|||
|
//list.Add(new ListItem("所属管段", "JOT_BelongPipe"));
|
|||
|
//list.Add(new ListItem("组件1号", "JOT_Component1"));
|
|||
|
//list.Add(new ListItem("组件2号", "JOT_Component2"));
|
|||
|
//list.Add(new ListItem("焊口规格", "JOT_JointDesc"));
|
|||
|
//list.Add(new ListItem("炉批号1", "JOT_HeartNo1"));
|
|||
|
//list.Add(new ListItem("炉批号2", "JOT_HeartNo2"));
|
|||
|
//list.Add(new ListItem("焊缝类型", "JOTY_ID"));
|
|||
|
//list.Add(new ListItem("寸径", "JOT_Size"));
|
|||
|
//list.Add(new ListItem("外径", "JOT_Dia"));
|
|||
|
//list.Add(new ListItem("坡口类型", "JST_ID"));
|
|||
|
//list.Add(new ListItem("壁厚", "JOT_Sch"));
|
|||
|
//list.Add(new ListItem("实际壁厚", "JOT_FactSch"));
|
|||
|
//list.Add(new ListItem("后热温度", "JOT_LastTemp"));
|
|||
|
//list.Add(new ListItem("层间温度", "JOT_CellTemp"));
|
|||
|
//list.Add(new ListItem("预热温度", "TemperatureSetId"));
|
|||
|
//list.Add(new ListItem("焊口属性", "JOT_JointAttribute"));
|
|||
|
//list.Add(new ListItem("焊接方法", "WME_ID"));
|
|||
|
//list.Add(new ListItem("焊丝", "JOT_WeldSilk"));
|
|||
|
//list.Add(new ListItem("焊条", "JOT_WeldMat"));
|
|||
|
//list.Add(new ListItem("焊接电流", "JOT_Electricity"));
|
|||
|
//list.Add(new ListItem("焊接电压", "JOT_Voltage"));
|
|||
|
//list.Add(new ListItem("是否需热处理", "IS_Proess"));
|
|||
|
//list.Add(new ListItem("焊接气体保护", "WeldingGasProtection"));
|
|||
|
//list.Add(new ListItem("焊接速度", "WeldingSpeed"));
|
|||
|
//list.Add(new ListItem("实际预热温度", "ActualPrepareTemp"));
|
|||
|
//list.Add(new ListItem("探伤比例", "DetectionRateId"));
|
|||
|
//list.Add(new ListItem("探伤类型", "DetectionTypeId"));
|
|||
|
//list.Add(new ListItem("数量(组件)", "ComponentNum"));
|
|||
|
//list.Add(new ListItem("延长米", "Extend_Length"));
|
|||
|
//list.Add(new ListItem("材料1", "Material1"));
|
|||
|
//list.Add(new ListItem("材料2", "Material2"));
|
|||
|
//list.Add(new ListItem("壁板号", "WallBoard"));
|
|||
|
|
|||
|
list.Add(new ListItem("焊口:焊口代号", "焊口:焊口代号"));
|
|||
|
list.Add(new ListItem("焊口:焊接区域", "焊口:焊接区域"));
|
|||
|
list.Add(new ListItem("焊口:材质1", "焊口:材质1"));
|
|||
|
list.Add(new ListItem("焊口:材质2", "焊口:材质2"));
|
|||
|
list.Add(new ListItem("焊口:所属管段", "焊口:所属管段"));
|
|||
|
list.Add(new ListItem("焊口:组件1号", "焊口:组件1号"));
|
|||
|
list.Add(new ListItem("焊口:组件2号", "焊口:组件2号"));
|
|||
|
list.Add(new ListItem("焊口:焊口规格", "焊口:焊口规格"));
|
|||
|
list.Add(new ListItem("焊口:炉批号1", "焊口:炉批号1"));
|
|||
|
list.Add(new ListItem("焊口:炉批号2", "焊口:炉批号2"));
|
|||
|
list.Add(new ListItem("焊口:焊缝类型", "焊口:焊缝类型"));
|
|||
|
list.Add(new ListItem("焊口:寸径", "焊口:寸径"));
|
|||
|
list.Add(new ListItem("焊口:外径", "焊口:外径"));
|
|||
|
list.Add(new ListItem("焊口:坡口类型", "焊口:坡口类型"));
|
|||
|
list.Add(new ListItem("焊口:壁厚", "焊口:壁厚"));
|
|||
|
list.Add(new ListItem("焊口:实际壁厚", "焊口:实际壁厚"));
|
|||
|
list.Add(new ListItem("焊口:后热温度", "焊口:后热温度"));
|
|||
|
list.Add(new ListItem("焊口:层间温度", "焊口:层间温度"));
|
|||
|
list.Add(new ListItem("焊口:预热温度", "焊口:预热温度"));
|
|||
|
list.Add(new ListItem("焊口:焊口属性", "焊口:焊口属性"));
|
|||
|
list.Add(new ListItem("焊口:焊接方法", "焊口:焊接方法"));
|
|||
|
list.Add(new ListItem("焊口:焊丝", "焊口:焊丝"));
|
|||
|
list.Add(new ListItem("焊口:焊条", "焊口:焊条"));
|
|||
|
list.Add(new ListItem("焊口:焊接电流", "焊口:焊接电流"));
|
|||
|
list.Add(new ListItem("焊口:焊接电压", "焊口:焊接电压"));
|
|||
|
list.Add(new ListItem("焊口:是否需热处理", "焊口:是否需热处理"));
|
|||
|
list.Add(new ListItem("焊口:焊接气体保护", "焊口:焊接气体保护"));
|
|||
|
list.Add(new ListItem("焊口:焊接速度", "焊口:焊接速度"));
|
|||
|
list.Add(new ListItem("焊口:实际预热温度", "焊口:实际预热温度"));
|
|||
|
list.Add(new ListItem("焊口:探伤比例", "焊口:探伤比例"));
|
|||
|
list.Add(new ListItem("焊口:探伤类型", "焊口:探伤类型"));
|
|||
|
list.Add(new ListItem("焊口:数量(组件)", "焊口:数量(组件)"));
|
|||
|
list.Add(new ListItem("焊口:延长米", "焊口:延长米"));
|
|||
|
list.Add(new ListItem("焊口:材料1", "焊口:材料1"));
|
|||
|
list.Add(new ListItem("焊口:材料2", "焊口:材料2"));
|
|||
|
list.Add(new ListItem("焊口:壁板号", "焊口:壁板号"));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
this.drpColumn.DataTextField = "Text";
|
|||
|
this.drpColumn.DataValueField = "Value";
|
|||
|
this.drpColumn.DataSource = list;
|
|||
|
drpColumn.DataBind();
|
|||
|
}
|
|||
|
|
|||
|
protected void btnGenerateIso_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
isoList = new List<PW_IsoInfo>();
|
|||
|
jointList = new List<PW_JointInfo>();
|
|||
|
BindRelation();
|
|||
|
DataSet dataSetIso = new DataSet();
|
|||
|
DataSet dataSetJoin = new DataSet();
|
|||
|
|
|||
|
foreach (string key in this.relation.Keys)
|
|||
|
{
|
|||
|
DataTable dtIso = new DataTable();
|
|||
|
DataTable dtJoin = new DataTable();
|
|||
|
dtIso.TableName = key;
|
|||
|
dtIso.Columns.Add("ID");
|
|||
|
dtJoin.TableName = key;
|
|||
|
dtJoin.Columns.Add("ID");
|
|||
|
var col = this.relation[key];
|
|||
|
foreach (string key1 in col.Keys)
|
|||
|
{
|
|||
|
if (col[key1].Contains("管道"))
|
|||
|
{
|
|||
|
dtIso.Columns.Add(key1);
|
|||
|
}
|
|||
|
else if (col[key1].Contains("焊口"))
|
|||
|
{
|
|||
|
dtJoin.Columns.Add(key1);
|
|||
|
}
|
|||
|
}
|
|||
|
if (dtIso.Columns.Count > 1)
|
|||
|
{
|
|||
|
dataSetIso.Tables.Add(dtIso);
|
|||
|
}
|
|||
|
if (dtJoin.Columns.Count > 1)
|
|||
|
{
|
|||
|
dataSetJoin.Tables.Add(dtJoin);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
foreach (DataTable dt1 in dataSetIso.Tables)
|
|||
|
{
|
|||
|
foreach (DataTable dt2 in set.Tables)
|
|||
|
{
|
|||
|
if (dt1.TableName == dt2.TableName)
|
|||
|
{
|
|||
|
foreach (DataRow row in dt2.Rows)
|
|||
|
{
|
|||
|
var newRow =dt1.NewRow();
|
|||
|
|
|||
|
|
|||
|
foreach (DataColumn dc in dt1.Columns)
|
|||
|
{
|
|||
|
newRow[dc.ColumnName] = row[dc.ColumnName];
|
|||
|
}
|
|||
|
dt1.Rows.Add(newRow);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (DataTable dt1 in dataSetJoin.Tables)
|
|||
|
{
|
|||
|
foreach (DataTable dt2 in set.Tables)
|
|||
|
{
|
|||
|
if (dt1.TableName == dt2.TableName)
|
|||
|
{
|
|||
|
foreach (DataRow row in dt2.Rows)
|
|||
|
{
|
|||
|
var newRow = dt1.NewRow();
|
|||
|
|
|||
|
|
|||
|
foreach (DataColumn dc in dt1.Columns)
|
|||
|
{
|
|||
|
newRow[dc.ColumnName] = row[dc.ColumnName];
|
|||
|
}
|
|||
|
dt1.Rows.Add(newRow);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
var units = from x in Funs.DB.Base_Unit
|
|||
|
join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId
|
|||
|
where y.ProjectId == CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
var workAreas = from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == CurrUser.LoginProjectId select x;
|
|||
|
var steels = from x in Funs.DB.Base_Material select x;
|
|||
|
var materialTypes = from x in Funs.DB.Base_MaterialType select x;
|
|||
|
var rates = from x in Funs.DB.Base_DetectionRate select x;
|
|||
|
var detectionType = from x in Funs.DB.Base_DetectionType select x;
|
|||
|
var types = from x in Funs.DB.Base_WeldType select x;
|
|||
|
var methods = from x in Funs.DB.Base_WeldingMethod select x;
|
|||
|
var materials = from x in Funs.DB.Base_Consumables select x;
|
|||
|
var services = from x in Funs.DB.Base_TestMedium select x;
|
|||
|
var slopeTypes = from x in Funs.DB.Base_GrooveType select x;
|
|||
|
var isoClasss = from x in Funs.DB.Base_PipingClass select x;
|
|||
|
var components = from x in Funs.DB.Base_Components select x;
|
|||
|
var dns = from x in Funs.DB.Base_DNCompare select x;
|
|||
|
var users = from x in Funs.DB.Sys_User select x;
|
|||
|
|
|||
|
|
|||
|
foreach (DataTable dataTable in dataSetIso.Tables)
|
|||
|
{
|
|||
|
var idc = this.relation[dataTable.TableName];
|
|||
|
foreach (DataRow row in dataTable.Rows)
|
|||
|
{
|
|||
|
PW_IsoInfo isoInfo = new PW_IsoInfo();
|
|||
|
isoInfo.ISO_ID = row["ID"].ToString();
|
|||
|
isoInfo.ProjectId = CurrUser.LoginProjectId;
|
|||
|
foreach (DataColumn dataColumn in dataTable.Columns)
|
|||
|
{
|
|||
|
if (idc.ContainsKey(dataColumn.ColumnName))
|
|||
|
{
|
|||
|
switch (idc[dataColumn.ColumnName])
|
|||
|
{
|
|||
|
case "管道:管线代号":
|
|||
|
isoInfo.ISO_IsoNo = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:单位":
|
|||
|
isoInfo.UnitId = units.Where(x => x.UnitName == row[dataColumn.ColumnName].ToString()).Select(x => x.UnitId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:施工区域":
|
|||
|
isoInfo.WorkAreaId = workAreas.Where(x => x.WorkAreaName == row[dataColumn.ColumnName].ToString()).Select(x => x.WorkAreaId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:介质":
|
|||
|
isoInfo.TestMediumId = services.Where(x => x.MediumName == row[dataColumn.ColumnName].ToString()).Select(x => x.TestMediumId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:是否非标":
|
|||
|
isoInfo.Is_Standard = row[dataColumn.ColumnName].ToString() == "是" || row[dataColumn.ColumnName].ToString().ToLower() == "true" ? true : false;
|
|||
|
break;
|
|||
|
case "管道:探伤比例":
|
|||
|
isoInfo.DetectionRateId = rates.Where(x => x.DetectionRateCode == row[dataColumn.ColumnName].ToString()).Select(x => x.DetectionRateId).FirstOrDefault(); ;
|
|||
|
break;
|
|||
|
case "管道:探伤类型":
|
|||
|
isoInfo.DetectionTypeId = detectionType.Where(x => x.DetectionTypeName == row[dataColumn.ColumnName].ToString()).Select(x => x.DetectionTypeId).FirstOrDefault(); ;
|
|||
|
break;
|
|||
|
case "管道:系统号":
|
|||
|
isoInfo.ISO_SysNo = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:分系统号":
|
|||
|
isoInfo.ISO_SubSysNo = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:工作包号":
|
|||
|
isoInfo.ISO_CwpNo = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:单线图号":
|
|||
|
isoInfo.ISO_IsoNumber = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:图纸版次":
|
|||
|
isoInfo.ISO_Rev = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:页数":
|
|||
|
isoInfo.ISO_Sheet = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:总管段数":
|
|||
|
isoInfo.ISO_PipeQty = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "管道:涂漆类别":
|
|||
|
isoInfo.ISO_Paint = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:绝热类别":
|
|||
|
isoInfo.ISO_Insulator = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:材质":
|
|||
|
isoInfo.MaterialId = steels.Where(x => x.MaterialCode == row[dataColumn.ColumnName].ToString()).Select(x => x.MaterialId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:执行标准":
|
|||
|
isoInfo.ISO_Executive = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:规格":
|
|||
|
isoInfo.ISO_Specification = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:管道长度":
|
|||
|
isoInfo.ISO_Length = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:管道等级":
|
|||
|
isoInfo.PipingClassId = isoClasss.Where(x => x.PipingClassCode == row[dataColumn.ColumnName].ToString()).Select(x => x.PipingClassId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:是否抛光":
|
|||
|
isoInfo.ISO_IfChasing = row[dataColumn.ColumnName].ToString() == "是" || row[dataColumn.ColumnName].ToString().ToLower() == "true" ? true : false;
|
|||
|
break;
|
|||
|
case "管道:是否酸洗":
|
|||
|
isoInfo.ISO_IfPickling = row[dataColumn.ColumnName].ToString() == "是" || row[dataColumn.ColumnName].ToString().ToLower() == "true" ? true : false;
|
|||
|
break;
|
|||
|
case "管道:渗透等级":
|
|||
|
isoInfo.ISO_PTClass = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:渗透比例":
|
|||
|
isoInfo.ISO_PTRate = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:合格等级":
|
|||
|
isoInfo.ISO_NDTClass = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:试验温度":
|
|||
|
isoInfo.ISO_TestTemperature = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:设计温度":
|
|||
|
isoInfo.ISO_TestTemperature = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:设计压力":
|
|||
|
isoInfo.ISO_DesignPress = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "管道:修改人":
|
|||
|
isoInfo.ISO_Modifier = users.Where(x => x.UserName == row[dataColumn.ColumnName].ToString()).Select(x => x.UserId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:修改日期":
|
|||
|
isoInfo.ISO_ModifyDate = DateTime.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "管道:建档人":
|
|||
|
isoInfo.ISO_Creator = users.Where(x => x.UserName == row[dataColumn.ColumnName].ToString()).Select(x => x.UserId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "管道:建档日期":
|
|||
|
isoInfo.ISO_CreateDate = DateTime.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
this.isoList.Add(isoInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (DataTable dataTable in dataSetJoin.Tables)
|
|||
|
{
|
|||
|
var idc = this.relation[dataTable.TableName];
|
|||
|
foreach (DataRow row in dataTable.Rows)
|
|||
|
{
|
|||
|
PW_JointInfo joinInfo = new PW_JointInfo();
|
|||
|
joinInfo.JOT_ID = Guid.NewGuid().ToString();
|
|||
|
joinInfo.ISO_ID = row["ID"].ToString();
|
|||
|
joinInfo.ProjectId = CurrUser.LoginProjectId;
|
|||
|
foreach (DataColumn dataColumn in dataTable.Columns)
|
|||
|
{
|
|||
|
if (idc.ContainsKey(dataColumn.ColumnName))
|
|||
|
{
|
|||
|
switch (idc[dataColumn.ColumnName])
|
|||
|
{
|
|||
|
case "焊口:焊口代号":
|
|||
|
joinInfo.JOT_JointNo = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接区域":
|
|||
|
joinInfo.WLO_Code = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:材质1":
|
|||
|
joinInfo.MaterialId = steels.Where(x => x.MaterialCode == row[dataColumn.ColumnName].ToString()).Select(x => x.MaterialId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "焊口:材质2":
|
|||
|
joinInfo.MaterialId2 = steels.Where(x => x.MaterialCode == row[dataColumn.ColumnName].ToString()).Select(x => x.MaterialId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "焊口:所属管段":
|
|||
|
joinInfo.JOT_BelongPipe = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:组件1号":
|
|||
|
joinInfo.JOT_Component1 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:组件2号":
|
|||
|
joinInfo.JOT_Component2 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊口规格":
|
|||
|
joinInfo.JOT_JointDesc = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:炉批号1":
|
|||
|
joinInfo.JOT_HeartNo1 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:炉批号2":
|
|||
|
joinInfo.JOT_HeartNo2 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊缝类型":
|
|||
|
joinInfo.JOTY_ID = types.Where(x => x.WeldTypeCode == row[dataColumn.ColumnName].ToString()).Select(x => x.WeldTypeId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "焊口:寸径":
|
|||
|
joinInfo.JOT_Size = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:外径":
|
|||
|
joinInfo.JOT_Dia = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:坡口类型":
|
|||
|
joinInfo.JST_ID = slopeTypes.Where(x => x.GrooveTypeCode == row[dataColumn.ColumnName].ToString()).Select(x => x.GrooveTypeId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "焊口:壁厚":
|
|||
|
joinInfo.JOT_Sch = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:实际壁厚":
|
|||
|
joinInfo.JOT_FactSch = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:后热温度":
|
|||
|
joinInfo.JOT_LastTemp = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:层间温度":
|
|||
|
joinInfo.JOT_CellTemp = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:焊口属性":
|
|||
|
joinInfo.JOT_JointAttribute = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接方法":
|
|||
|
joinInfo.WME_ID = methods.Where(x => x.WeldingMethodCode == row[dataColumn.ColumnName].ToString()).Select(x => x.WeldingMethodId).FirstOrDefault();
|
|||
|
break;
|
|||
|
case "焊口:焊丝":
|
|||
|
joinInfo.JOT_WeldSilk = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊条":
|
|||
|
joinInfo.JOT_WeldMat = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接电流":
|
|||
|
joinInfo.JOT_Electricity = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接电压":
|
|||
|
joinInfo.JOT_Voltage = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:是否需热处理":
|
|||
|
joinInfo.IS_Proess = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接气体保护":
|
|||
|
joinInfo.WeldingGasProtection = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:焊接速度":
|
|||
|
joinInfo.WeldingSpeed = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:实际预热温度":
|
|||
|
joinInfo.ActualPrepareTemp = decimal.Parse(row[dataColumn.ColumnName].ToString());
|
|||
|
break;
|
|||
|
case "焊口:数量(组件)":
|
|||
|
joinInfo.ComponentNum = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:延长米":
|
|||
|
joinInfo.Extend_Length = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:材料1":
|
|||
|
joinInfo.Material1 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:材料2":
|
|||
|
joinInfo.Material2 = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
case "焊口:壁板号":
|
|||
|
joinInfo.WallBoard = row[dataColumn.ColumnName].ToString();
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
this.jointList.Add(joinInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
BindIsoGrid();
|
|||
|
BindJointGrid();
|
|||
|
this.TabStrip1.ActiveTabIndex = 2;
|
|||
|
}
|
|||
|
|
|||
|
protected DataTable joinTable(DataTable dt1, DataTable dt2, string col1, string col2)
|
|||
|
{
|
|||
|
DataTable res = new DataTable();
|
|||
|
foreach (DataColumn col in dt1.Columns)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dt1.TableName))
|
|||
|
{
|
|||
|
res.Columns.Add(dt1.TableName + "$" + col.ColumnName);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
res.Columns.Add(col.ColumnName);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (DataColumn col in dt2.Columns)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dt2.TableName))
|
|||
|
{
|
|||
|
res.Columns.Add(dt2.TableName + "$" + col.ColumnName);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
res.Columns.Add(col.ColumnName);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (DataRow row1 in dt1.Rows)
|
|||
|
{
|
|||
|
var rows2 = dt2.Select(col2 + " = '" + row1[col1].ToString() + "'");
|
|||
|
if (rows2.Length == 0)
|
|||
|
{
|
|||
|
var newRow = res.NewRow();
|
|||
|
foreach (DataColumn column in dt1.Columns)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dt1.TableName))
|
|||
|
{
|
|||
|
newRow[dt1.TableName + "$" + column.ColumnName] = row1[column.ColumnName];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newRow[column.ColumnName] = row1[column.ColumnName];
|
|||
|
}
|
|||
|
}
|
|||
|
res.Rows.Add(newRow);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow row2 in rows2)
|
|||
|
{
|
|||
|
var newRow = res.NewRow();
|
|||
|
foreach (DataColumn column in dt1.Columns)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dt1.TableName))
|
|||
|
{
|
|||
|
newRow[dt1.TableName + "$" + column.ColumnName] = row1[column.ColumnName];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newRow[column.ColumnName] = row1[column.ColumnName];
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (DataColumn column in dt2.Columns)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(dt2.TableName))
|
|||
|
{
|
|||
|
newRow[dt2.TableName + "$" + column.ColumnName] = row2[column.ColumnName];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newRow[column.ColumnName] = row1[column.ColumnName];
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
res.Rows.Add(newRow);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return res;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
protected void BindRelation()
|
|||
|
{
|
|||
|
if (!relation.ContainsKey(CurrentNodeId ))
|
|||
|
{
|
|||
|
relation.Add(CurrentNodeId, new Dictionary<string, string>());
|
|||
|
}
|
|||
|
var dic = relation[CurrentNodeId];
|
|||
|
if (Grid1.Rows.Count > 0)
|
|||
|
{
|
|||
|
foreach (JObject mergedRow in Grid1.GetMergedData())
|
|||
|
{
|
|||
|
Model.Check_JointCheckDetail jointCheckDetail = new Model.Check_JointCheckDetail();
|
|||
|
int i = mergedRow.Value<int>("index");
|
|||
|
JObject values = mergedRow.Value<JObject>("values");
|
|||
|
string comAttr = values.Value<string>("ComAttr");
|
|||
|
string Column = values.Value<string>("Column");
|
|||
|
if (!string.IsNullOrEmpty(Column))
|
|||
|
{
|
|||
|
dic[comAttr]= Column;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
protected void IsoGrid_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|||
|
{
|
|||
|
PW_IsoInfo iso = null;
|
|||
|
|
|||
|
foreach (var item in isoList)
|
|||
|
{
|
|||
|
if (item.ISO_ID == IsoGrid.SelectedRowID)
|
|||
|
{
|
|||
|
iso = item;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (PCFPipelineEdit.dic.ContainsKey(IsoGrid.SelectedRowID))
|
|||
|
{
|
|||
|
PCFPipelineEdit.dic[IsoGrid.SelectedRowID]= iso;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
PCFPipelineEdit.dic.Add(IsoGrid.SelectedRowID, iso);
|
|||
|
}
|
|||
|
hdIds.Text = "";
|
|||
|
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdIds.ClientID) + Window1.GetShowReference(String.Format("PCFPipelineEdit.aspx?ISO_ID={0}", IsoGrid.SelectedRowID, "编辑 - ")));
|
|||
|
}
|
|||
|
protected void JointGrid_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|||
|
{
|
|||
|
PW_JointInfo iso = null;
|
|||
|
|
|||
|
foreach (var item in jointList)
|
|||
|
{
|
|||
|
if (item.JOT_ID == JointGrid.SelectedRowID)
|
|||
|
{
|
|||
|
iso = item;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (PCFJointEdit.dic.ContainsKey(JointGrid.SelectedRowID))
|
|||
|
{
|
|||
|
PCFJointEdit.dic[JointGrid.SelectedRowID] = iso;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
PCFJointEdit.dic.Add(JointGrid.SelectedRowID, iso);
|
|||
|
}
|
|||
|
hdIds.Text = "";
|
|||
|
PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdIds.ClientID) + Window2.GetShowReference(String.Format("PCFJointEdit.aspx?JOT_ID={0}", JointGrid.SelectedRowID, "编辑 - ")));
|
|||
|
}
|
|||
|
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(hdIds.Text))
|
|||
|
{
|
|||
|
PW_IsoInfo iso = null;
|
|||
|
|
|||
|
foreach (var item in isoList)
|
|||
|
{
|
|||
|
if (item.ISO_ID == hdIds.Text)
|
|||
|
{
|
|||
|
iso = item;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
for (int i = 0; i < isoList.Count; i++)
|
|||
|
{
|
|||
|
|
|||
|
isoList[i].TestMediumId = iso.TestMediumId;
|
|||
|
isoList[i].Is_Standard = iso.Is_Standard;
|
|||
|
isoList[i].DetectionRateId = iso.DetectionRateId;
|
|||
|
isoList[i].DetectionTypeId = iso.DetectionTypeId;
|
|||
|
isoList[i].ISO_NDTClass = iso.ISO_NDTClass;
|
|||
|
isoList[i].ISO_PTRate = iso.ISO_PTRate;
|
|||
|
isoList[i].ISO_SysNo = iso.ISO_SysNo;
|
|||
|
isoList[i].ISO_SubSysNo = iso.ISO_SubSysNo;
|
|||
|
isoList[i].ISO_CwpNo = iso.ISO_CwpNo;
|
|||
|
isoList[i].ISO_IsoNumber = iso.ISO_IsoNumber;
|
|||
|
isoList[i].ISO_Rev = iso.ISO_Rev;
|
|||
|
isoList[i].ISO_Sheet = iso.ISO_Sheet;
|
|||
|
isoList[i].ISO_PipeQty = iso.ISO_PipeQty;
|
|||
|
isoList[i].ISO_Paint = iso.ISO_Paint;
|
|||
|
isoList[i].ISO_Insulator = iso.ISO_Insulator;
|
|||
|
isoList[i].MaterialId = iso.MaterialId;
|
|||
|
isoList[i].ISO_Executive = iso.ISO_Executive;
|
|||
|
isoList[i].ISO_Specification = iso.ISO_Specification;
|
|||
|
isoList[i].ISO_Modifier = iso.ISO_Modifier;
|
|||
|
isoList[i].ISO_ModifyDate = iso.ISO_ModifyDate;
|
|||
|
isoList[i].ISO_Creator = iso.ISO_Creator;
|
|||
|
isoList[i].ISO_CreateDate = iso.ISO_CreateDate;
|
|||
|
isoList[i].ISO_DesignPress = iso.ISO_DesignPress;
|
|||
|
isoList[i].ISO_DesignTemperature = iso.ISO_DesignTemperature;
|
|||
|
isoList[i].ISO_TestPress = iso.ISO_TestPress;
|
|||
|
isoList[i].ISO_PTClass = iso.ISO_PTClass;
|
|||
|
isoList[i].ISO_IfPickling = iso.ISO_IfPickling;
|
|||
|
isoList[i].ISO_IfChasing = iso.ISO_IfChasing;
|
|||
|
isoList[i].PipingClassId = iso.PipingClassId;
|
|||
|
isoList[i].UnitId = iso.UnitId;
|
|||
|
isoList[i].WorkAreaId = iso.WorkAreaId;
|
|||
|
isoList[i].ISO_Remark = iso.ISO_Remark;
|
|||
|
}
|
|||
|
}
|
|||
|
this.BindIsoGrid();
|
|||
|
}
|
|||
|
protected void Window2_Close(object sender, WindowCloseEventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(hdIds.Text))
|
|||
|
{
|
|||
|
PW_JointInfo iso = null;
|
|||
|
|
|||
|
foreach (var item in jointList)
|
|||
|
{
|
|||
|
if (item.JOT_ID == hdIds.Text)
|
|||
|
{
|
|||
|
iso = item;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
for (int i = 0; i < jointList.Count; i++)
|
|||
|
{
|
|||
|
|
|||
|
jointList[i].ProjectId = iso.ProjectId;
|
|||
|
//jointList[i].JOT_JointNo = iso.JOT_JointNo;
|
|||
|
jointList[i].WallBoard = iso.WallBoard;
|
|||
|
jointList[i].DetectionTypeId = iso.DetectionTypeId;
|
|||
|
jointList[i].DetectionRateId = iso.DetectionRateId;
|
|||
|
jointList[i].MaterialId = iso.MaterialId;
|
|||
|
jointList[i].MaterialId2 = iso.MaterialId2;
|
|||
|
jointList[i].WLO_Code = iso.WLO_Code;
|
|||
|
jointList[i].JOT_Component1 = iso.JOT_Component1;
|
|||
|
jointList[i].JOT_Component2 = iso.JOT_Component2;
|
|||
|
jointList[i].JOT_HeartNo1 = iso.JOT_HeartNo1;
|
|||
|
jointList[i].JOT_HeartNo2 = iso.JOT_HeartNo2;
|
|||
|
jointList[i].JOT_WeldMat = iso.JOT_WeldMat;
|
|||
|
jointList[i].JOT_Dia = iso.JOT_Dia;
|
|||
|
jointList[i].JOT_Size = iso.JOT_Size;
|
|||
|
jointList[i].JOT_Sch = iso.JOT_Sch;
|
|||
|
jointList[i].Extend_Length = iso.Extend_Length;
|
|||
|
jointList[i].JOT_FactSch = iso.JOT_FactSch;
|
|||
|
jointList[i].JOT_JointDesc = iso.JOT_JointDesc;
|
|||
|
jointList[i].JOT_WeldSilk = iso.JOT_WeldSilk;
|
|||
|
jointList[i].JOTY_ID = iso.JOTY_ID;
|
|||
|
jointList[i].JOT_RepairFlag = iso.JOT_RepairFlag;
|
|||
|
jointList[i].WME_ID = iso.WME_ID;
|
|||
|
jointList[i].JST_ID = iso.JST_ID;
|
|||
|
jointList[i].JOT_PrepareTemp = iso.JOT_PrepareTemp;
|
|||
|
jointList[i].JOT_CellTemp = iso.JOT_CellTemp;
|
|||
|
jointList[i].JOT_LastTemp = iso.JOT_LastTemp;
|
|||
|
jointList[i].JOT_JointAttribute = iso.JOT_JointAttribute;
|
|||
|
jointList[i].IS_Proess = iso.IS_Proess;
|
|||
|
jointList[i].JOT_Remark = iso.JOT_Remark;
|
|||
|
jointList[i].WeldingGasProtection = iso.WeldingGasProtection;
|
|||
|
jointList[i].WeldingSpeed = iso.WeldingSpeed;
|
|||
|
jointList[i].JOT_Electricity = iso.JOT_Electricity;
|
|||
|
jointList[i].JOT_Voltage = iso.JOT_Voltage;
|
|||
|
jointList[i].ComponentNum = iso.ComponentNum;
|
|||
|
jointList[i].JOT_JointStatus = iso.JOT_JointStatus;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
this.BindJointGrid();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public static string ConvertUnitName(object unitId)
|
|||
|
{
|
|||
|
if (unitId != null)
|
|||
|
{
|
|||
|
var unit = (from x in Funs.DB.Base_Unit where x.UnitId == unitId.ToString() select x).FirstOrDefault();
|
|||
|
if (unit != null)
|
|||
|
{
|
|||
|
return unit.UnitName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertDetectionRate(object detectionRateId)
|
|||
|
{
|
|||
|
if (detectionRateId != null)
|
|||
|
{
|
|||
|
var detectionRate = Funs.DB.Base_DetectionRate.FirstOrDefault(x=> x.DetectionRateId == detectionRateId.ToString() );
|
|||
|
if (detectionRate != null)
|
|||
|
{
|
|||
|
return detectionRate.DetectionRateValue;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertMediumName(object testMediumId)
|
|||
|
{
|
|||
|
if (testMediumId != null)
|
|||
|
{
|
|||
|
var testMedium = Funs.DB.Base_TestMedium.FirstOrDefault(x => x.TestMediumId == testMediumId.ToString());
|
|||
|
if (testMedium != null)
|
|||
|
{
|
|||
|
return testMedium.MediumName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertDetectionType(object detectionTypeId)
|
|||
|
{
|
|||
|
if (detectionTypeId != null)
|
|||
|
{
|
|||
|
var detectionType = Funs.DB.Base_DetectionType.FirstOrDefault(x => x.DetectionTypeId == detectionTypeId.ToString());
|
|||
|
if (detectionType != null)
|
|||
|
{
|
|||
|
return detectionType.DetectionTypeName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertPipingClass(object pipingClassId)
|
|||
|
{
|
|||
|
if (pipingClassId != null)
|
|||
|
{
|
|||
|
var pipingClass = Funs.DB.Base_PipingClass.FirstOrDefault(x => x.PipingClassId == pipingClassId.ToString());
|
|||
|
if (pipingClass != null)
|
|||
|
{
|
|||
|
return pipingClass.PipingClassName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertMaterialType(object materialId)
|
|||
|
{
|
|||
|
if (materialId != null)
|
|||
|
{
|
|||
|
var pipingClass = Funs.DB.Base_Material.FirstOrDefault(x => x.MaterialId == materialId.ToString());
|
|||
|
if (pipingClass != null)
|
|||
|
{
|
|||
|
return pipingClass.MaterialCode;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertWorkArea(object workAreaId)
|
|||
|
{
|
|||
|
if (workAreaId != null)
|
|||
|
{
|
|||
|
var workArea = Funs.DB.ProjectData_WorkArea.FirstOrDefault(x => x.WorkAreaId == workAreaId.ToString());
|
|||
|
if (workArea != null)
|
|||
|
{
|
|||
|
return workArea.WorkAreaName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertComponent(object component)
|
|||
|
{
|
|||
|
if (component != null)
|
|||
|
{
|
|||
|
var Components = Funs.DB.Base_Components.FirstOrDefault(x => x.ComponentsId == component.ToString());
|
|||
|
if (Components != null)
|
|||
|
{
|
|||
|
return Components.ComponentsName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertWeldingMethod(object weldingMethodId)
|
|||
|
{
|
|||
|
if (weldingMethodId != null)
|
|||
|
{
|
|||
|
var WeldingMethod = Funs.DB.Base_WeldingMethod.FirstOrDefault(x => x.WeldingMethodId == weldingMethodId.ToString());
|
|||
|
if (WeldingMethod != null)
|
|||
|
{
|
|||
|
return WeldingMethod.WeldingMethodName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertWeldSilk(object weldingMethodId)
|
|||
|
{
|
|||
|
if (weldingMethodId != null)
|
|||
|
{
|
|||
|
var WeldingMethod = Funs.DB.Base_Consumables.FirstOrDefault(x => x.ConsumablesId == weldingMethodId.ToString());
|
|||
|
if (WeldingMethod != null)
|
|||
|
{
|
|||
|
return WeldingMethod.ConsumablesCode;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertWeldMat(object weldingMethodId)
|
|||
|
{
|
|||
|
if (weldingMethodId != null)
|
|||
|
{
|
|||
|
var WeldingMethod = Funs.DB.Base_Consumables.FirstOrDefault(x => x.ConsumablesId == weldingMethodId.ToString());
|
|||
|
if (WeldingMethod != null)
|
|||
|
{
|
|||
|
return WeldingMethod.ConsumablesCode;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public static string ConvertWeldType(object weldTypeId)
|
|||
|
{
|
|||
|
if (weldTypeId != null)
|
|||
|
{
|
|||
|
var WeldType = Funs.DB.Base_WeldType.FirstOrDefault(x => x.WeldTypeId == weldTypeId.ToString());
|
|||
|
if (WeldType != null)
|
|||
|
{
|
|||
|
return WeldType.WeldTypeName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertGrooveType(object grooveTypeId)
|
|||
|
{
|
|||
|
if (grooveTypeId != null)
|
|||
|
{
|
|||
|
var GrooveType = Funs.DB.Base_GrooveType.FirstOrDefault(x => x.GrooveTypeId == grooveTypeId.ToString());
|
|||
|
if (GrooveType != null)
|
|||
|
{
|
|||
|
return GrooveType.GrooveTypeName;
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
public static string ConvertIsStandard(object isStandard)
|
|||
|
{
|
|||
|
if (isStandard != null)
|
|||
|
{
|
|||
|
if (isStandard.ToString().ToLower() == "true")
|
|||
|
{
|
|||
|
return "是";
|
|||
|
}
|
|||
|
}
|
|||
|
return "否";
|
|||
|
}
|
|||
|
|
|||
|
protected void btnImport_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (isoList.Count() > 0)
|
|||
|
{
|
|||
|
Funs.DB.PW_IsoInfo.InsertAllOnSubmit(isoList);
|
|||
|
}
|
|||
|
if (jointList.Count() > 0)
|
|||
|
{
|
|||
|
Funs.DB.PW_JointInfo.InsertAllOnSubmit(jointList);
|
|||
|
}
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
isoList.Clear();
|
|||
|
jointList.Clear();
|
|||
|
BindIsoGrid();
|
|||
|
BindJointGrid();
|
|||
|
Alert.ShowInTop("导入成功!", MessageBoxIcon.Success);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|