267 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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
 | 
						|
    }
 | 
						|
} |