namespace FineUIPro.Web.HJGL.WeldingManage
{
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
public partial class WeldReportItemEdit : PageBase
{
#region 定义项
///
/// 单位主键
///
public string UnitId
{
get
{
return (string)ViewState["UnitId"];
}
set
{
ViewState["UnitId"] = value;
}
}
///
/// 装置主键
///
public string InstallationId
{
get
{
return (string)ViewState["InstallationId"];
}
set
{
ViewState["InstallationId"] = value;
}
}
///
/// 焊口主键
///
public string Jot_ID
{
get
{
return (string)ViewState["Jot_ID"];
}
set
{
ViewState["Jot_ID"] = value;
}
}
public List SelectInfo
{
get
{
return (List)ViewState["SelectInfo"];
}
set
{
ViewState["SelectInfo"] = value;
}
}
public string JointIdList
{
get
{
return (string)ViewState["JointIdList"];
}
set
{
ViewState["JointIdList"] = value;
}
}
///
/// 日报主键
///
public string DReportID
{
get
{
return (string)ViewState["DReportID"];
}
set
{
ViewState["DReportID"] = value;
}
}
///
/// 项目
///
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
///
/// 被选择项列表
///
public List SelectedList
{
get
{
return (List)ViewState["SelectedList"];
}
set
{
ViewState["SelectedList"] = value;
}
}
#endregion
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.SelectedList = new List();
this.SelectInfo = new List();
string strList = Request.Params["strList"];
List list = Funs.GetStrListByStr(strList, '|');
if (list.Count() == 3)
{
this.ProjectId = list[0];
this.UnitId = list[1];
this.DReportID = list[2];
///盖面焊工
drpCellWelder.DataTextField = "Text";
drpCellWelder.DataValueField = "Value";
drpCellWelder.DataSource = BLL.HJGL_PersonManageService.GetProjectWelderList(this.ProjectId);
drpCellWelder.DataBind();
Funs.FineUIPleaseSelect(this.drpCellWelder);
///打底焊工
drpFloorWelder.DataTextField = "Text";
drpFloorWelder.DataValueField = "Value";
drpFloorWelder.DataSource = BLL.HJGL_PersonManageService.GetProjectWelderList(this.ProjectId);
drpFloorWelder.DataBind();
this.BindGrid();
Funs.FineUIPleaseSelect(this.drpFloorWelder);
}
this.InitTreeMenu();//加载树
}
}
#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);
var iso = (from x in Funs.DB.HJGL_PW_IsoInfo where x.ProjectId == this.ProjectId && x.BSU_ID == this.UnitId orderby x.ISO_IsoNo select x).ToList();
if (!string.IsNullOrEmpty(this.txtIsono.Text))
{
iso = (from x in iso where x.ISO_IsoNo.Contains(this.txtIsono.Text.Trim()) orderby x.ISO_IsoNo select x).ToList();
}
foreach (var item in iso)
{
TreeNode newNode = new TreeNode();
newNode.Text = item.ISO_IsoNo;
newNode.NodeID = item.ISO_ID;
newNode.ToolTip = item.ISO_IsoNo;
newNode.EnableClickEvent = true;
rootNode.Nodes.Add(newNode);
}
}
#endregion
#region 数据绑定
///
/// 数据绑定
///
private void BindGrid()
{
string isoId = this.tvControlItem.SelectedNodeID;
//List toDoMatterList = BLL.HJGL_WeldReportService.GetWeldReportItemFind(this.ProjectId, this.DReportID, isoId);
string strSql = @"SELECT jot.JOT_ID,jot.JOT_JointNo,jot.JOT_JointAttribute,jot.InstallationId,ins.InstallationName,jot.STE_ID,
(CASE WHEN jot.STE_ID!=jot.STE_ID2 THEN ste1.STE_Code+'/'+ste2.STE_Code ELSE ste1.STE_Code END) AS STE_Code,
jot.JOT_Dia,jot.JOT_Sch,mat.WMT_MatCode AS JOT_WeldMat,silk.WMT_MatCode AS JOT_WeldSilk,
method.WME_Code AS WME_Name,jot.IS_Proess,jot.ProessTypes
FROM dbo.HJGL_PW_JointInfo jot
LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID
LEFT JOIN dbo.HJGL_BO_PreWeldReportMain preJot ON preJot.JOT_ID = jot.JOT_ID
LEFT JOIN dbo.Project_Installation ins ON ins.InstallationId = jot.InstallationId
LEFT JOIN dbo.HJGL_BS_Steel ste1 ON ste1.STE_ID = jot.STE_ID
LEFT JOIN dbo.HJGL_BS_Steel ste2 ON ste2.STE_ID = jot.STE_ID2
LEFT JOIN dbo.HJGL_BS_WeldMaterial mat ON mat.WMT_ID = jot.JOT_WeldMat
LEFT JOIN dbo.HJGL_BS_WeldMaterial silk ON silk.WMT_ID = jot.JOT_WeldSilk
LEFT JOIN dbo.HJGL_BS_WeldMethod method ON method.WME_ID = jot.WME_ID
WHERE jot.InstallationId IS NOT NULL AND jot.JOTY_ID IS NOT NULL
AND jot.NDTR_ID IS NOT NULL AND jot.IsSpecial IS NOT NULL
AND iso.ISC_ID IS NOT NULL AND iso.SER_ID IS NOT NULL
AND iso.STE_ID IS NOT NULL AND iso.ISO_Executive IS NOT NULL
AND preJot.PreWeldReportId IS NULL
AND (jot.DReportID IS NULL OR jot.DReportID=@DReportID)
AND jot.ProjectId=@ProjectId AND jot.ISO_ID=@ISO_ID";
List listStr = new List();
listStr.Add(new SqlParameter("@DReportID", this.DReportID));
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
listStr.Add(new SqlParameter("@ISO_ID", isoId));
strSql += " ORDER BY CONVERT(INT,dbo.Fun_GetParseInt(jot.JOT_JointNo))";
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
string jotIds = Request.Params["jotIds"];
if (!string.IsNullOrEmpty(jotIds))
{
string[] jots = jotIds.Split('|');
foreach (string jotId in jots)
{
DataRow r = dt.Select("JOT_ID='" + jotId + "'").FirstOrDefault();
if (r != null)
{
dt.Rows.Remove(r);
}
}
}
// 2.获取当前分页数据
Grid1.RecordCount = dt.Rows.Count;
Grid1.DataSource = dt;
Grid1.DataBind();
}
#endregion
#region 管线查询
///
/// 查询
///
///
///
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region 点击TreeView
///
/// 点击TreeView
///
///
///
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
string[] selectRowId = Grid1.SelectedRowIDArray;
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
string rowId = this.Grid1.Rows[i].DataKeys[0].ToString();
if (selectRowId.Contains(rowId))
{
SelectedList.Add(rowId);
}
//else
//{
// NoSelectedList.Add(rowId);
//}
}
this.BindGrid();
}
#endregion
#region DropDownList下拉事件
///
/// 盖面、打底焊工一致
///
///
///
protected void drpCellWelder_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.drpFloorWelder.SelectedValue = this.drpCellWelder.SelectedValue;
}
#endregion
#region 排序
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
//protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
//{
// BindGrid();
//}
protected void btnAdd_Click(object sender, EventArgs e)
{
if (this.drpCellWelder.SelectedValue != Const._Null && this.drpFloorWelder.SelectedValue != Const._Null)
{
string itemsString = string.Empty;
itemsString = this.drpCellWelder.SelectedValue + "|" + this.drpFloorWelder.SelectedValue;
string[] selectRowId = Grid1.SelectedRowIDArray;
for (int i = 0; i < selectRowId.Count(); i++)
{
string rowId = selectRowId[i];
if (string.IsNullOrEmpty(JointIdList) || !JointIdList.Contains(rowId))
{
JointIdList += rowId + "|";
SelectInfo.Add(rowId + "|" + itemsString);
}
}
Grid1.DeleteSelectedRows();
}
}
#region 提交按钮
///
/// 提交按钮
///
///
///
protected void btnAccept_Click(object sender, EventArgs e)
{
if (this.drpCellWelder.SelectedValue != Const._Null && this.drpFloorWelder.SelectedValue != Const._Null)
{
string itemsString = string.Empty;
//string[] selectRowId = Grid1.SelectedRowIDArray;
//for (int i = 0; i < this.Grid1.Rows.Count; i++)
//{
// string rowId = this.Grid1.Rows[i].DataKeys[0].ToString();
// if (selectRowId.Contains(rowId))
// {
// SelectedList.Add(rowId);
// }
//}
string jointList = Request.Params["jointList"];
if (!string.IsNullOrEmpty(jointList))
{
string[] jointIntos = jointList.Split(',');
foreach (string jot in jointIntos)
{
SelectInfo.Add(jot);
}
}
//itemsString = this.drpCellWelder.SelectedValue + "|" + this.drpFloorWelder.SelectedValue + "#";
foreach (var item in SelectInfo)
{
itemsString += item + "#";
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString)
+ ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请选择焊工!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region 格式化字符串
///
/// 热处理类型
///
///
///
protected string ConvertProessTypes(object ProessTypes)
{
string proessTypes = string.Empty;
if (ProessTypes != null)
{
proessTypes = BLL.HJGL_PW_JointInfoService.ConvertProessTypes(ProessTypes.ToString());
}
return proessTypes;
}
#endregion
}
}