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
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |