149 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C#
		
	
	
	
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;
 | 
						|
using BLL;
 | 
						|
namespace FineUIPro.Web.HJGL.PurgingCleaning
 | 
						|
{
 | 
						|
    public partial class SelectPipeline : PageBase
 | 
						|
    {
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                // 管线等级
 | 
						|
                BLL.Base_PipingClassService.InitPipingClassDropDownList(drpPipingClass, this.CurrUser.LoginProjectId, true, "请选择");
 | 
						|
                BindGrid();
 | 
						|
            }
 | 
						|
        }
 | 
						|
        private void BindGrid()
 | 
						|
        {
 | 
						|
            string UnitWorkId = Request.Params["UnitWorkId"];
 | 
						|
            string strSql = @"SELECT IsoInfo.ProjectId,IsoInfo.UnitWorkId,UnitWork.UnitWorkCode,IsoInfo.PipelineId,IsoInfo.PipelineCode,
 | 
						|
                                     IsoInfo.UnitId,IsoInfo.TestPressure,IsoInfo.TestMedium,
 | 
						|
		                             bs.MediumName,testMedium.MediumName AS TestMediumName,IsoInfo.SingleNumber,
 | 
						|
		                             IsoInfo.PipingClassId,
 | 
						|
                                     (case when IsoInfo.PCtype='1' then pur.MediumName when IsoInfo.PCtype is null then null end) PurgingMediumName,
 | 
						|
                                     (case when IsoInfo.PCtype='2' then pur.MediumName when IsoInfo.PCtype is null then null end) CleaningMediumName
 | 
						|
                                     FROM dbo.HJGL_Pipeline AS IsoInfo
 | 
						|
                                     LEFT JOIN WBS_UnitWork AS UnitWork ON IsoInfo.UnitWorkId=UnitWork.UnitWorkId
 | 
						|
                                     LEFT JOIN dbo.Base_Medium  AS bs ON  bs.MediumId = IsoInfo.MediumId
 | 
						|
								     LEFT JOIN dbo.Base_TestMedium  AS testMedium ON testMedium.TestMediumId = IsoInfo.TestMedium
 | 
						|
                                     LEFT JOIN dbo.Base_TestMedium  AS pur ON pur.TestMediumId = PCMedium
 | 
						|
                                     LEFT JOIN dbo.Base_TestMedium  AS cle ON cle.TestMediumId = PCMedium
 | 
						|
                                     LEFT JOIN dbo.PTP_PipelineList  AS IsoList ON  IsoList.PipelineId = IsoInfo.PipelineId
 | 
						|
                                     LEFT JOIN PTP_TestPackage As Test  ON Test.PTP_ID =IsoList.PTP_ID
 | 
						|
                                     WHERE IsoInfo.ProjectId= @ProjectId  And Test.FinishDef is not null
 | 
						|
				                     AND UnitWork.UnitWorkId= @UnitWorkId and (select count(*) from HJGL_PC_Pipeline p where p.PipelineId=IsoInfo.PipelineId)=0";
 | 
						|
            List<SqlParameter> listStr = new List<SqlParameter>();
 | 
						|
            listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
 | 
						|
            listStr.Add(new SqlParameter("@UnitWorkId", UnitWorkId));
 | 
						|
 | 
						|
 | 
						|
            if (this.drpPipingClass.SelectedValue != Const._Null)
 | 
						|
            {
 | 
						|
                strSql += " AND IsoInfo.PipingClassId = @PipingClassId";
 | 
						|
                listStr.Add(new SqlParameter("@PipingClassId", this.drpPipingClass.SelectedValue));
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(numTestPressure.Text) && !string.IsNullOrEmpty(numTo.Text))
 | 
						|
            {
 | 
						|
                strSql += " AND IsoInfo.TestPressure >=@MinTestPressure AND IsoInfo.TestPressure <=@MaxTestPressure";
 | 
						|
                listStr.Add(new SqlParameter("@MinTestPressure", Convert.ToDecimal(numTestPressure.Text)));
 | 
						|
                listStr.Add(new SqlParameter("@MaxTestPressure", Convert.ToDecimal(numTo.Text)));
 | 
						|
            }
 | 
						|
 | 
						|
            SqlParameter[] parameter = listStr.ToArray();
 | 
						|
            DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
 | 
						|
            // 2.获取当前分页数据
 | 
						|
            //var table = this.GetPagedDataTable(Grid1, tb1);
 | 
						|
            Grid1.RecordCount = tb.Rows.Count;
 | 
						|
            // tb = GetFilteredTable(Grid1.FilteredData, tb);
 | 
						|
            var table = this.GetPagedDataTable(Grid1, tb);
 | 
						|
            Grid1.DataSource = table;
 | 
						|
            Grid1.DataBind();
 | 
						|
        }
 | 
						|
        protected void btnFind_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            this.BindGrid();
 | 
						|
        }
 | 
						|
 | 
						|
        #region 分页排序
 | 
						|
        #region 页索引改变事件
 | 
						|
        /// <summary>
 | 
						|
        /// 页索引改变事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
 | 
						|
        {
 | 
						|
            this.BindGrid();
 | 
						|
        }
 | 
						|
        #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 ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
 | 
						|
            this.BindGrid();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        protected void btnSave_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.Grid1.SelectedRowIndexArray.Length == 0)
 | 
						|
            {
 | 
						|
                Alert.ShowInParent("请至少选择一行", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            string Pipeline = Request.Params["Pipelines"];
 | 
						|
            string Pipelines = string.Empty;
 | 
						|
            if (!string.IsNullOrEmpty(Pipeline))
 | 
						|
            {
 | 
						|
                Pipelines += Pipeline + ",";
 | 
						|
            }
 | 
						|
            int[] selections = Grid1.SelectedRowIndexArray;
 | 
						|
            foreach (int rowIndex in selections)
 | 
						|
            {
 | 
						|
                if (!Pipeline.Contains(Grid1.DataKeys[rowIndex][0].ToString()))
 | 
						|
                {
 | 
						|
                    Pipelines += Grid1.DataKeys[rowIndex][0].ToString() + ",";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (Pipelines != string.Empty)
 | 
						|
            {
 | 
						|
                Pipelines = Pipelines.Substring(0, Pipelines.Length - 1);
 | 
						|
            }
 | 
						|
            PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(Pipelines) + ActiveWindow.GetHidePostBackReference());
 | 
						|
        }
 | 
						|
        protected void btnRset_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            drpPipingClass.SelectedIndex = 0;
 | 
						|
            numTestPressure.Text = "";
 | 
						|
            numTo.Text = "";
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |