xinjiang/SGGL/FineUIPro.Web/HJGL/CheckManage/ShowTrust.aspx.cs

267 lines
11 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.CheckManage
{
public partial class ShowTrust :PageBase
{
#region
/// <summary>
/// 委托单主键
/// </summary>
public string Trust_ID
{
get
{
return (string)ViewState["Trust_ID"];
}
set
{
ViewState["Trust_ID"] = value;
}
}
private List<Model.View_CH_CheckSerch> viewCheckSerchs = new List<Model.View_CH_CheckSerch>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string unitId = Request.Params["unitId"];
string installationId = Request.Params["installationId"];
BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpCheckUnitId, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_5, true);//查询检测单位
var unit = BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId);
if (BLL.WorkAreaService.IsSupervisor(this.CurrUser.UnitId, this.CurrUser.LoginProjectId))
{
BLL.WorkAreaService.GetWorkAreaListByInstallSupervisorUnit(this.drpWorkArea, this.CurrUser.LoginProjectId, installationId, unitId, this.CurrUser.UnitId, true);
}
else
{
BLL.WorkAreaService.GetWorkAreaListByInstallUnit(this.drpWorkArea, this.CurrUser.LoginProjectId, installationId, unitId, true);
}
if (!String.IsNullOrEmpty(Request.Params["ch_TrustID"]))
{
Trust_ID = Request.Params["ch_TrustID"].ToString();
var trust = BLL.TrustManageEditService.GetCH_TrustByID(Trust_ID);
if (trust != null)
{
this.txtTrust_ID.Text = trust.CH_TrustCode;
}
this.drpCheckUnitId.Enabled = false;
this.drpWorkArea.Enabled = false;
this.txtTrust_ID.Enabled = false;
}
else
{
this.drpCheckUnitId.Enabled = true;
this.drpWorkArea.Enabled = true;
this.txtTrust_ID.Enabled = true;
}
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
InitTreeMenu();
}
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
if (parentId != null)
{
if (this.drpCheckUnitId.SelectedValue != BLL.Const._Null&&!string.IsNullOrEmpty(this.drpCheckUnitId.SelectedValue))
{
viewCheckSerchs = viewCheckSerchs.Where(x => x.CH_CheckUnit == this.drpCheckUnitId.SelectedValue).ToList();
}
else if (this.CurrUser.UnitId != null && BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId).UnitTypeId == BLL.Const.ProjectUnitType_5)
{ //显示和检测单位相关的单子
viewCheckSerchs = viewCheckSerchs.Where(x => x.CH_CheckUnit == this.CurrUser.UnitId).ToList();
}
if (!string.IsNullOrEmpty(this.txtTrust_ID.Text.Trim()))
{
viewCheckSerchs = viewCheckSerchs.Where(x => x.CH_TrustCode.Contains(this.txtTrust_ID.Text.Trim())).ToList();
}
if (!String.IsNullOrEmpty(Trust_ID)) // 直接查找委托单明细
{
var trust = BLL.TrustManageEditService.GetCH_TrustByID(Trust_ID);
TreeNode newNode = new TreeNode();
newNode.Text = trust.CH_TrustCode;
newNode.NodeID = trust.CH_TrustID;
newNode.EnableClickEvent = true;
nodes.Add(newNode);
}
else
{
var trustIds = (from x in viewCheckSerchs
where x.WorkAreaId == parentId
select new { x.CH_TrustID, x.CH_TrustCode }).Distinct();
if (trustIds != null)
{
foreach (var trustId in trustIds)
{
// 判断这个委托单是不是在检测单中存在,如果存在则不加载
int num = BLL.CheckManageService.GetCheckByTrustId(trustId.CH_TrustID);
if (num == 0)
{
TreeNode newNode = new TreeNode();
newNode.Text = trustId.CH_TrustCode;
newNode.NodeID = trustId.CH_TrustID;
newNode.EnableClickEvent = true;
nodes.Add(newNode);
}
}
}
}
}
}
#endregion
#region
/// <summary>
/// 加载树节点
/// </summary>
/// <param name="selectedValue"></param>
private void InitTreeMenu()
{
string unitId = Request.Params["unitId"];
string installationId = Request.Params["installationId"];
viewCheckSerchs.Clear();
this.tvControlItem.Nodes.Clear();
if (this.drpCheckUnitId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpCheckUnitId.SelectedValue))
{
viewCheckSerchs = (from x in Funs.DB.View_CH_CheckSerch where x.ProjectId == this.CurrUser.LoginProjectId && x.CH_CheckUnit == this.drpCheckUnitId.SelectedValue select x).ToList();
}
else
{
viewCheckSerchs = (from x in Funs.DB.View_CH_CheckSerch where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == unitId select x).ToList();
}
if (this.drpWorkArea.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpWorkArea.SelectedValue))
{
TreeNode rootNode = new TreeNode();
rootNode.Text = this.drpWorkArea.SelectedItem.Text;
rootNode.NodeID = this.drpWorkArea.SelectedValue;
rootNode.Expanded = true;
viewCheckSerchs = viewCheckSerchs.Where(x => x.WorkAreaId == this.drpWorkArea.SelectedValue).ToList();
this.tvControlItem.Nodes.Add(rootNode);
this.GetNodes(rootNode.Nodes, rootNode.NodeID);
}
else
{
var workAreas = (from x in Funs.DB.ProjectData_WorkArea where x.UnitId == unitId && x.InstallationId == installationId select x).ToList();
var workAreasIds = workAreas.Select(x => x.WorkAreaId);
viewCheckSerchs = viewCheckSerchs.Where(x => workAreasIds.Contains(x.WorkAreaId)).ToList();
foreach (var q in workAreas)
{
if (viewCheckSerchs.Count() > 0)
{
var isExWork = Funs.DB.View_CH_CheckSerch.FirstOrDefault(x => x.WorkAreaId == q.WorkAreaId);
if (isExWork != null)
{
TreeNode tn = new TreeNode();
tn.Text = q.WorkAreaCode;
tn.NodeID = q.WorkAreaId;
this.tvControlItem.Nodes.Add(tn);
this.GetNodes(tn.Nodes, tn.NodeID);
}
}
}
}
}
#endregion
#region
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.Trust_ID = this.tvControlItem.SelectedNode.NodeID;
BindGrid(this.Trust_ID);
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid(string trust_ID)
{
string strSql = @"select checkSearch.ProjectId,
checkSearch.JOT_ID,
checkSearch.CH_TrustID,
checkSearch.CH_TrustCode,
checkSearch.UnitId,
checkSearch.UnitName,
checkSearch.ISO_IsoNo,
checkSearch.JOT_JointNo,
checkSearch.DetectionTypeId,
checkSearch.DetectionTypeName,
checkSearch.JOT_JointDesc"
+ @" from View_CH_CheckSerch as checkSearch "
+ @" WHERE checkSearch.ProjectId= @projectId AND checkSearch.CH_TrustID=@CH_TrustID";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@projectId", this.CurrUser.LoginProjectId),
new SqlParameter("@CH_TrustID",trust_ID),
};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
// var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = tb;
Grid1.DataBind();
}
#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 Grid1.SelectedRowIDArray)
{
selectedList += item + ",";
}
if (!string.IsNullOrEmpty(selectedList))
{
selectedList = selectedList.Substring(0, selectedList.LastIndexOf(","));
}
selectedList += "|" + this.Trust_ID;
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(selectedList)
+ ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}