Basf_TCC11/HJGL/FineUIPro.Web/HotProcessHard/HotProessTrustItemEdit.aspx.cs

293 lines
9.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using BLL;
using System.Data;
namespace FineUIPro.Web.HotProcessHard
{
public partial class HotProessTrustItemEdit : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 单位主键
/// </summary>
public string UnitId
{
get
{
return (string)ViewState["UnitId"];
}
set
{
ViewState["UnitId"] = value;
}
}
/// <summary>
/// 热处理委托主键
/// </summary>
public string HotProessTrustId
{
get
{
return (string)ViewState["HotProessTrustId"];
}
set
{
ViewState["HotProessTrustId"] = value;
}
}
/// <summary>
/// 选择内容字符串
/// </summary>
public string ItemsString
{
get
{
return (string)ViewState["ItemsString"];
}
set
{
ViewState["ItemsString"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ItemsString = string.Empty;
string strList = Request.Params["strList"];
List<string> list = Funs.GetStrListByStr(strList, '|');
if (list.Count() == 3)
{
this.UnitId = list[0];
this.HotProessTrustId = list[1];
this.ProjectId = list[2];
this.InitTreeMenu();//加载树
}
}
}
#endregion
#region 线
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = Resources.Lan.PipelineCode;
rootNode.NodeID = "0";
rootNode.ToolTip = Resources.Lan.SeachTip;
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
var hotProessItems = from x in Funs.DB.HotProess_TrustItem select x; //热处理委托明细集合
var iso = from x in Funs.DB.View_HotProessTrustItemSearch
where x.ProjectId == this.ProjectId && x.HotProessTrustItemId == null
&& x.IsHotProess == true && x.UnitId == this.UnitId
select new { x.PipelineCode, x.PipelineId }; //from x in Funs.DB.Pipeline_Pipeline where x.ProjectId == this.ProjectId && x.UnitId == this.UnitId select x;
if (!string.IsNullOrEmpty(this.txtIsono.Text))
{
iso = iso.Where(e => e.PipelineCode.Contains(this.txtIsono.Text.Trim()));
}
iso = iso.OrderBy(x => x.PipelineCode).Distinct();
if (iso.Count() > 0)
{
foreach (var q in iso)
{
//var jots = from x in Funs.DB.Pipeline_WeldJoint
// where x.PipelineId == q.PipelineId && x.IsHotProess == true
// select x;
//var hotItem = from x in Funs.DB.HotProess_TrustItem
// join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
// where y.PipelineId == q.PipelineId
// select x;
//if (jots.Count() > hotItem.Count())
//{
TreeNode newNode = new TreeNode();
newNode.NodeID = q.PipelineId;
newNode.Text = q.PipelineCode;
newNode.EnableClickEvent = true;
rootNode.Nodes.Add(newNode);
//}
}
}
}
#endregion
#region 线
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
//List<Model.View_HotProessTrustItemSearch> toDoMatterList = BLL.HotProess_TrustService.GetHotProessTrustFind(this.ProjectId, this.HotProessTrustId, this.tvControlItem.SelectedNodeID);
List<Model.View_HotProessTrustItemSearch> toDoMatterList = (from x in Funs.DB.View_HotProessTrustItemSearch
where x.ProjectId == this.ProjectId && x.HotProessTrustItemId == null
&& x.IsHotProess==true
orderby x.WeldJointCode
select x).ToList();
if (rblIsWeld.SelectedValue == "0")
{
toDoMatterList = toDoMatterList.Where(x => x.WeldingDailyId == null).ToList();
}
if (rblIsWeld.SelectedValue == "1")
{
toDoMatterList = toDoMatterList.Where(x => x.WeldingDailyId != null).ToList();
}
if (this.tvControlItem.SelectedNodeID != null)
{
toDoMatterList = toDoMatterList.Where(x => x.PipelineId == this.tvControlItem.SelectedNodeID).ToList();
}
if (!string.IsNullOrEmpty(this.txtJointNo.Text.Trim()))
{
toDoMatterList = toDoMatterList.Where(x => x.WeldJointCode.Contains(this.txtJointNo.Text.Trim())).ToList();
}
//string weldJointIds = Request.Params["weldJointIds"];
//if (!string.IsNullOrEmpty(weldJointIds))
//{
// string[] jots = weldJointIds.Split('|');
// foreach (string jotId in jots)
// {
// Model.View_HotProessTrustItemSearch item = toDoMatterList.FirstOrDefault(e => e.WeldJointId == jotId);
// if (item != null)
// {
// toDoMatterList.Remove(item);
// }
// }
//}
//DataTable tb = this.LINQToDataTable(toDoMatterList);
//Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
//var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = toDoMatterList;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 筛选焊口信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rblIsWeld_SelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAccept_Click(object sender, EventArgs e)
{
string itemsString = "";
string[] selectRowId = Grid1.SelectedRowIDArray;
int n = 0;
int j = 0;
int[] selections = new int[selectRowId.Count()];
foreach (GridRow row in Grid1.Rows)
{
if (selectRowId.Contains(row.DataKeys[0]))
{
selections[n] = j;
n++;
}
j++;
}
var select = selections.Distinct();
string jotIds = Request.Params["jotIds"];
if (!string.IsNullOrEmpty(jotIds))
{
string[] jots = jotIds.Split('|');
foreach (string jotId in jots)
{
itemsString += jotId + "|";
}
}
foreach (int i in select)
{
string rowID = Grid1.DataKeys[i][0].ToString();
if (!itemsString.Contains(rowID))
{
itemsString += rowID + "|";
}
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString)
+ ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}