390 lines
13 KiB
C#
390 lines
13 KiB
C#
using BLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace FineUIPro.Web.HJGL.RepairManage
|
|
{
|
|
public partial class ShowRepairSearch : PageBase
|
|
{
|
|
#region 定义变量
|
|
/// <summary>
|
|
/// 单位ID
|
|
/// </summary>
|
|
public string UnitId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["UnitId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["UnitId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 装置id
|
|
/// </summary>
|
|
public string InstallationId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["InstallationId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["InstallationId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 委托id
|
|
/// </summary>
|
|
public string CH_TrustID
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["CH_TrustID"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["CH_TrustID"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 选择列表
|
|
/// </summary>
|
|
public List<string> jotList
|
|
{
|
|
get
|
|
{
|
|
return (List<string>)ViewState["jotList"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["jotList"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 选择列表
|
|
/// </summary>
|
|
public List<string> CheckList
|
|
{
|
|
get
|
|
{
|
|
return (List<string>)ViewState["CheckList"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["CheckList"] = value;
|
|
}
|
|
}
|
|
|
|
private static List<Model.View_CH_RepairSearch> repairSearchViewLists = new List<Model.View_CH_RepairSearch>();
|
|
#endregion
|
|
|
|
#region 加载
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.UnitId = Request.Params["unitId"];
|
|
this.InstallationId = Request.Params["installationId"];
|
|
this.CH_TrustID = Request.Params["ch_TrustID"];
|
|
|
|
BLL.WorkAreaService.InitWorkAreaProjectInstallUnitDropDownList(this.drpWorkArea, this.CurrUser.LoginProjectId, this.InstallationId, this.UnitId, true);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 查询
|
|
/// <summary>
|
|
/// 查询
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
string workAreaId = string.Empty;
|
|
if (this.drpWorkArea.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpWorkArea.SelectedValue))
|
|
{
|
|
workAreaId = this.drpWorkArea.SelectedValue;
|
|
}
|
|
this.InitTreeMenu(workAreaId);//加载树
|
|
}
|
|
#endregion
|
|
|
|
#region 加载树
|
|
/// <summary>
|
|
/// 加载树
|
|
/// </summary>
|
|
/// <param name="selectedValue"></param>
|
|
private void InitTreeMenu(string workAreaId)
|
|
{
|
|
if (!string.IsNullOrEmpty(workAreaId))
|
|
{
|
|
this.tvControlItem.Nodes.Clear();
|
|
TreeNode rootNode = new TreeNode();
|
|
rootNode.Text = BLL.WorkAreaService.GetWorkAreaCodeByWorkAreaId(workAreaId);
|
|
rootNode.NodeID = workAreaId;
|
|
rootNode.Expanded = true;
|
|
this.tvControlItem.Nodes.Add(rootNode);
|
|
|
|
GetNodes(workAreaId, rootNode);
|
|
}
|
|
else
|
|
{
|
|
var workAreas = (from x in Funs.DB.ProjectData_WorkArea
|
|
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == UnitId && x.InstallationId == InstallationId
|
|
select x).ToList();
|
|
foreach (var q in workAreas)
|
|
{
|
|
var trustSearch = from x in Funs.DB.View_CH_RepairSearch
|
|
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == UnitId && x.WorkAreaId == q.WorkAreaId
|
|
select x;
|
|
if (trustSearch.Count() > 0)
|
|
{
|
|
TreeNode rootNode = new TreeNode();
|
|
rootNode.Text = q.WorkAreaCode;
|
|
rootNode.NodeID = q.WorkAreaId;
|
|
rootNode.Expanded = true;
|
|
this.tvControlItem.Nodes.Add(rootNode);
|
|
|
|
GetNodes(q.WorkAreaId, rootNode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 遍历节点
|
|
/// </summary>
|
|
/// <param name="workAreaId"></param>
|
|
/// <param name="rootNode"></param>
|
|
private void GetNodes(string workAreaId, TreeNode rootNode)
|
|
{
|
|
var trustSearch = from x in Funs.DB.View_CH_RepairSearch
|
|
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == UnitId
|
|
&& x.WorkAreaId == workAreaId && (x.RepairTrustId == null || x.RepairTrustId == this.CH_TrustID)
|
|
select x;
|
|
|
|
if (!string.IsNullOrEmpty(this.txtISO_ID.Text.Trim()))
|
|
{
|
|
trustSearch = trustSearch.Where(x => x.ISO_IsoNo.Contains(this.txtISO_ID.Text.Trim()));
|
|
}
|
|
var checkID = (from x in trustSearch select x.CHT_CheckID).Distinct();
|
|
if (checkID.Count() > 0)
|
|
{
|
|
foreach (var id in checkID)
|
|
{
|
|
var point = from x in Funs.DB.CH_Check
|
|
where x.CHT_CheckID == id.ToString()
|
|
select x;
|
|
foreach (var item in point)
|
|
{
|
|
TreeNode newNode = new TreeNode();
|
|
newNode.Text = item.CHT_CheckCode;
|
|
newNode.NodeID = item.CHT_CheckID;
|
|
newNode.Expanded = true;
|
|
//newNode.EnableClickEvent = true;
|
|
//newNode.EnableCheckBox = true;
|
|
newNode.EnableCheckEvent = true;
|
|
rootNode.Nodes.Add(newNode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Tree选中事件
|
|
/// <summary>
|
|
/// Tree选中事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void tvControlItem_NodeCheck(object sender, TreeCheckEventArgs e)
|
|
{
|
|
CheckList = new List<string>();
|
|
TreeNode[] nodes = tvControlItem.GetCheckedNodes();
|
|
if (nodes.Length > 0)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (TreeNode node in nodes)
|
|
{
|
|
CheckList.Add(node.NodeID);
|
|
}
|
|
}
|
|
BindGrid(CheckList);
|
|
BindGrid2();
|
|
}
|
|
#endregion
|
|
|
|
#region 绑定数据
|
|
private void BindGrid(List<string> checkList)
|
|
{
|
|
repairSearchViewLists = (from x in Funs.DB.View_CH_RepairSearch where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
|
if (!string.IsNullOrEmpty(this.CH_TrustID))
|
|
{
|
|
repairSearchViewLists = repairSearchViewLists.Where(e => e.RepairTrustId == this.CH_TrustID || e.RepairTrustId is null).ToList();
|
|
}
|
|
else
|
|
{
|
|
repairSearchViewLists = repairSearchViewLists.Where(e => e.RepairTrustId is null).ToList();
|
|
}
|
|
if (checkList != null)
|
|
{
|
|
repairSearchViewLists = repairSearchViewLists.Where(e => checkList.Contains(e.CHT_CheckID)).ToList();
|
|
}
|
|
this.Grid1.DataSource = repairSearchViewLists;
|
|
this.Grid1.DataBind();
|
|
|
|
this.GetCheckgvList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 选择列表某项事件
|
|
/// </summary>
|
|
private void GetCheckgvList()
|
|
{
|
|
jotList = new List<string>();
|
|
foreach (var item in repairSearchViewLists)
|
|
{
|
|
jotList.Add(item.JOT_ID);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 数据绑定2
|
|
/// </summary>
|
|
private void BindGrid2()
|
|
{
|
|
List<Model.PW_JointInfo> SpRepairSearchItems = new List<Model.PW_JointInfo>();
|
|
if (jotList != null)
|
|
{
|
|
var IsoInfo = from x in Funs.DB.PW_IsoInfo where x.ProjectId == this.CurrUser.LoginProjectId && x.WorkAreaId == this.drpWorkArea.SelectedValue && x.UnitId == this.UnitId select x;
|
|
if (this.ckISO.Checked)
|
|
{
|
|
var isoList = (from x in Funs.DB.PW_JointInfo where jotList.Contains(x.JOT_ID) select x.ISO_ID).Distinct().ToList();
|
|
IsoInfo = IsoInfo.Where(x => isoList.Contains(x.ISO_ID));
|
|
}
|
|
if (IsoInfo.Count() > 0)
|
|
{
|
|
foreach (var isoItem in IsoInfo)
|
|
{
|
|
var jots = from x in Funs.DB.PW_JointInfo where x.ISO_ID == isoItem.ISO_ID && x.JOT_JointStatus == "100" && x.DReportID != null select x;
|
|
if (this.ckWeld.Checked)
|
|
{
|
|
var weldList = (from x in Funs.DB.PW_JointInfo where jotList.Contains(x.JOT_ID) select x.JOT_CellWelder).Distinct().ToList();
|
|
jots = jots.Where(x => weldList.Contains(x.JOT_CellWelder)).Distinct();
|
|
}
|
|
if (jots.Count() > 0)
|
|
{
|
|
foreach (var jotItem in jots)
|
|
{
|
|
if (!jotList.Contains(jotItem.JOT_ID))
|
|
{
|
|
Model.PW_JointInfo SpRepairSearchItem = new Model.PW_JointInfo();
|
|
SpRepairSearchItem.JOT_ID = jotItem.JOT_ID;
|
|
SpRepairSearchItem.JOT_JointNo = jotItem.JOT_JointNo;
|
|
SpRepairSearchItem.ISO_ID = jotItem.ISO_ID;
|
|
SpRepairSearchItem.JOT_CellWelder = jotItem.JOT_CellWelder;
|
|
SpRepairSearchItems.Add(SpRepairSearchItem);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.Grid2.DataSource = SpRepairSearchItems;
|
|
this.Grid2.DataBind();
|
|
}
|
|
#endregion
|
|
|
|
#region 是否默认同管线、同焊工
|
|
/// <summary>
|
|
/// 是否默认同管线
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ckISO_CheckedChanged(object sender, CheckedEventArgs e)
|
|
{
|
|
GetCheckgvList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否同焊工
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ckWeld_CheckedChanged(object sender, CheckedEventArgs e)
|
|
{
|
|
GetCheckgvList();
|
|
}
|
|
#endregion
|
|
|
|
#region 确定
|
|
/// <summary>
|
|
/// 确定按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSure_Click(object sender, EventArgs e)
|
|
{
|
|
string selectedList = string.Empty;
|
|
foreach (var item in repairSearchViewLists)
|
|
{
|
|
selectedList += item.JOT_ID + ",";
|
|
}
|
|
|
|
if (repairSearchViewLists.Count > 0)
|
|
{
|
|
foreach (var jotId in Grid2.SelectedRowIDArray)
|
|
{
|
|
selectedList += jotId + ",";
|
|
}
|
|
if (!string.IsNullOrEmpty(selectedList))
|
|
{
|
|
selectedList = selectedList.Substring(0, selectedList.LastIndexOf(","));
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请选择焊口再保存!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(selectedList)
|
|
+ ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
#endregion
|
|
|
|
#region 格式化字符串
|
|
/// <summary>
|
|
/// 根据管线Id获取管线号
|
|
/// </summary>
|
|
/// <param name="ISO_ID"></param>
|
|
/// <returns></returns>
|
|
protected string ConvertIsoNo(object ISO_ID)
|
|
{
|
|
if (ISO_ID != null)
|
|
{
|
|
return BLL.PW_IsoInfoService.GetIsoInfoByIsoInfoId(ISO_ID.ToString()).ISO_IsoNo;
|
|
}
|
|
else
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |