426 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			426 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
using BLL;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Data;
 | 
						|
using System.Data.SqlClient;
 | 
						|
using System.Linq;
 | 
						|
using System.Web.UI.WebControls;
 | 
						|
 | 
						|
namespace FineUIPro.Web.HJGL.TestPackageManage
 | 
						|
{
 | 
						|
    public partial class BItemEndCheck : PageBase
 | 
						|
    {
 | 
						|
        #region 定义项
 | 
						|
        /// <summary>
 | 
						|
        /// 管线
 | 
						|
        /// </summary>
 | 
						|
        public string ISO_ID
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                return (string)ViewState["ISO_ID"];
 | 
						|
            }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                ViewState["ISO_ID"] = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// A项尾工id
 | 
						|
        /// </summary>
 | 
						|
        public string EIC_ID
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                return (string)ViewState["EIC_ID"];
 | 
						|
            }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                ViewState["EIC_ID"] = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 加载
 | 
						|
        /// <summary>
 | 
						|
        /// 加载页面
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                this.txtReportDate.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
 | 
						|
                this.InitTreeMenu();
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 加载树装置-单位-工作区
 | 
						|
        /// <summary>
 | 
						|
        /// 加载树
 | 
						|
        /// </summary>
 | 
						|
        private void InitTreeMenu()
 | 
						|
        {
 | 
						|
            if (!string.IsNullOrEmpty(this.txtReportDate.Text.Trim()))
 | 
						|
            {
 | 
						|
                DateTime? startTime = Funs.GetNewDateTime(this.txtReportDate.Text.Trim());
 | 
						|
                DateTime? endTime = startTime.HasValue ? startTime.Value.AddMonths(1) : System.DateTime.Now;
 | 
						|
 | 
						|
                this.tvControlItem.Nodes.Clear();
 | 
						|
                TreeNode rootNode = new TreeNode();
 | 
						|
                rootNode.Text = "单位-装置-月份";
 | 
						|
                rootNode.NodeID = "0";
 | 
						|
                rootNode.Expanded = true;
 | 
						|
                this.tvControlItem.Nodes.Add(rootNode);
 | 
						|
 | 
						|
                List<Model.Base_Unit> units = null;
 | 
						|
                var unit = BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId);
 | 
						|
                if (unit == null || unit.UnitTypeId == BLL.Const.ProjectUnitType_1 || unit.UnitTypeId == BLL.Const.ProjectUnitType_3)
 | 
						|
                {
 | 
						|
                    if (BLL.WorkAreaService.IsSupervisor(this.CurrUser.UnitId, this.CurrUser.LoginProjectId))
 | 
						|
                    {
 | 
						|
                        units = (from x in Funs.DB.Base_Unit
 | 
						|
                                 join y in Funs.DB.ProjectData_WorkArea on x.UnitId equals y.UnitId
 | 
						|
                                 where (x.UnitId == this.CurrUser.UnitId || y.SupervisorUnitId == this.CurrUser.UnitId) && y.ProjectId == this.CurrUser.LoginProjectId
 | 
						|
                                 select x).Distinct().ToList();
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, "2");
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    units = (from x in Funs.DB.Base_Unit where x.UnitId == this.CurrUser.UnitId select x).ToList();
 | 
						|
                }
 | 
						|
                List<Model.TP_TestPackage> testPackageLists = new List<Model.TP_TestPackage>(); ///试压包
 | 
						|
                if (!this.txtReportDate.Hidden)
 | 
						|
                {
 | 
						|
                    testPackageLists = (from x in Funs.DB.TP_TestPackage
 | 
						|
                                        where x.ProjectId == this.CurrUser.LoginProjectId && x.PTP_TableDate >= startTime && x.PTP_TableDate < endTime
 | 
						|
                                        select x).ToList();
 | 
						|
                }
 | 
						|
                if (units != null)
 | 
						|
                {
 | 
						|
                    foreach (var item in units)
 | 
						|
                    {
 | 
						|
                        TreeNode rootUnitNode = new TreeNode();//定义根节点
 | 
						|
                        rootUnitNode.Text = item.UnitName;
 | 
						|
                        rootUnitNode.NodeID = item.UnitId;
 | 
						|
                        rootUnitNode.Expanded = true;
 | 
						|
                        rootUnitNode.ToolTip = "施工单位";
 | 
						|
                        rootNode.Nodes.Add(rootUnitNode);
 | 
						|
                        var lists = testPackageLists.Where(x => x.BSU_ID == item.UnitId).ToList();
 | 
						|
                        this.BindNodes(rootUnitNode, lists);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    Alert.ShowInTop("请先增加施工单位!", MessageBoxIcon.Warning);
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("请选择试压月份!", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 绑定树节点
 | 
						|
        /// <summary>
 | 
						|
        ///  绑定树节点
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="node"></param>
 | 
						|
        private void BindNodes(TreeNode node, List<Model.TP_TestPackage> testPackageLists)
 | 
						|
        {
 | 
						|
            if (node.ToolTip == "施工单位")
 | 
						|
            {
 | 
						|
                var installId = (from x in testPackageLists select x.InstallationId).Distinct();
 | 
						|
                if (installId.Count() > 0)
 | 
						|
                {
 | 
						|
                    var install = from x in Funs.DB.Project_Installation where installId.Contains(x.InstallationId) orderby x.InstallationCode select x;
 | 
						|
                    foreach (var q in install)
 | 
						|
                    {
 | 
						|
                        TreeNode newNode = new TreeNode();
 | 
						|
                        newNode.Text = q.InstallationCode + q.InstallationName;
 | 
						|
                        newNode.NodeID = q.InstallationId + "|" + node.NodeID; ;
 | 
						|
                        newNode.ToolTip = "装置";
 | 
						|
                        newNode.Expanded = true;
 | 
						|
                        node.Nodes.Add(newNode);
 | 
						|
                        this.BindNodes(newNode, testPackageLists);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (node.ToolTip == "装置")
 | 
						|
            {
 | 
						|
                string installationId = Funs.GetStrListByStr(node.NodeID, '|')[0];
 | 
						|
                var listMonth = (from x in testPackageLists
 | 
						|
                                 where x.InstallationId == installationId && x.BSU_ID == node.ParentNode.NodeID
 | 
						|
                                 select string.Format("{0:yyyy-MM}", x.PTP_TableDate)).Distinct();
 | 
						|
                foreach (var item in listMonth)
 | 
						|
                {
 | 
						|
                    TreeNode newNode = new TreeNode();
 | 
						|
                    newNode.Text = item;
 | 
						|
                    newNode.NodeID = item + "|" + node.NodeID; ;
 | 
						|
                    newNode.ToolTip = "月份";
 | 
						|
                    node.Nodes.Add(newNode);
 | 
						|
                    this.BindNodes(newNode, testPackageLists);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (node.ToolTip == "月份")
 | 
						|
            {
 | 
						|
                string installationId = Funs.GetStrListByStr(node.ParentNode.NodeID, '|')[0];
 | 
						|
                var days = (from x in testPackageLists
 | 
						|
                            where x.InstallationId == installationId && x.BSU_ID == node.ParentNode.ParentNode.NodeID
 | 
						|
                            orderby x.PTP_TableDate descending
 | 
						|
                            select x.PTP_TableDate).Distinct();
 | 
						|
                foreach (var item in days)
 | 
						|
                {
 | 
						|
                    TreeNode newNode = new TreeNode();
 | 
						|
                    newNode.Text = string.Format("{0:yyyy-MM-dd}", item);
 | 
						|
                    newNode.NodeID = item.ToString() + "|" + node.NodeID; ;
 | 
						|
                    newNode.ToolTip = "日期";
 | 
						|
                    node.Nodes.Add(newNode);
 | 
						|
                    this.BindNodes(newNode, testPackageLists);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (node.ToolTip == "日期")
 | 
						|
            {
 | 
						|
                string installationId = Funs.GetStrListByStr(node.ParentNode.ParentNode.NodeID, '|')[0];
 | 
						|
                var dReports = from x in testPackageLists
 | 
						|
                               where x.InstallationId == installationId && x.BSU_ID == node.ParentNode.ParentNode.ParentNode.NodeID
 | 
						|
                               && x.PTP_TableDate == Funs.GetNewDateTime(node.Text)
 | 
						|
                               orderby x.PTP_TestPackageNo descending
 | 
						|
                               select x;
 | 
						|
                foreach (var item in dReports)
 | 
						|
                {
 | 
						|
                    TreeNode newNode = new TreeNode();
 | 
						|
                    newNode.Text = item.PTP_TestPackageNo;
 | 
						|
                    newNode.NodeID = item.PTP_ID;
 | 
						|
                    newNode.ToolTip = "试压包";
 | 
						|
                    node.Nodes.Add(newNode);
 | 
						|
                    this.BindNodes(newNode, testPackageLists);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (node.ToolTip == "试压包")
 | 
						|
            {
 | 
						|
                var isoInfov = from x in Funs.DB.TP_IsoList
 | 
						|
                               join y in Funs.DB.TP_TestPackage on x.PTP_ID equals y.PTP_ID
 | 
						|
                               join z in Funs.DB.PW_IsoInfo on x.ISO_ID equals z.ISO_ID
 | 
						|
                               where x.PTP_ID == node.NodeID
 | 
						|
                               && z.ProjectId == this.CurrUser.LoginProjectId
 | 
						|
                               orderby z.ISO_IsoNo
 | 
						|
                               select z;
 | 
						|
                foreach (var item in isoInfov)
 | 
						|
                {
 | 
						|
                    TreeNode newNode = new TreeNode();
 | 
						|
                    newNode.Text = item.ISO_IsoNo;
 | 
						|
                    newNode.NodeID = item.ISO_ID;
 | 
						|
                    newNode.EnableClickEvent = true;
 | 
						|
                    node.Nodes.Add(newNode);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 查询Tree
 | 
						|
        protected void Tree_TextChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            this.InitTreeMenu();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 点击树节点
 | 
						|
        /// <summary>
 | 
						|
        /// 点击树节点
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
 | 
						|
        {
 | 
						|
            this.TextIsEmpty();
 | 
						|
            this.ISO_ID = this.tvControlItem.SelectedNodeID;
 | 
						|
            if (!string.IsNullOrEmpty(ISO_ID))
 | 
						|
            {
 | 
						|
                BindGrid();
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 绑定数据
 | 
						|
        /// <summary>
 | 
						|
        /// 绑定数据
 | 
						|
        /// </summary>
 | 
						|
        private void BindGrid()
 | 
						|
        {
 | 
						|
            string strSql = @"SELECT bItem.EIC_ID, 
 | 
						|
                                    bItem.ISO_ID, 
 | 
						|
                                    bItem.EIC_CheckMan, 
 | 
						|
                                    bItem.EIC_CheckDate, 
 | 
						|
                                    bItem.EIC_DealMan, 
 | 
						|
                                    bItem.EIC_DealDate, 
 | 
						|
                                    bItem.EIC_Remark"
 | 
						|
                         + @" FROM TP_BItemEndCheck AS bItem WHERE bItem.ISO_ID=@isoId";
 | 
						|
            List<SqlParameter> listStr = new List<SqlParameter>();
 | 
						|
            listStr.Add(new SqlParameter("@isoId", this.ISO_ID));
 | 
						|
 | 
						|
            SqlParameter[] parameter = listStr.ToArray();
 | 
						|
            DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
 | 
						|
 | 
						|
            Grid1.RecordCount = tb.Rows.Count;
 | 
						|
            var table = this.GetPagedDataTable(Grid1, tb);
 | 
						|
            Grid1.DataSource = table;
 | 
						|
            Grid1.DataBind();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 文本清空
 | 
						|
        /// <summary>
 | 
						|
        ///  文本清空
 | 
						|
        /// </summary>
 | 
						|
        private void TextIsEmpty()
 | 
						|
        {
 | 
						|
            this.EIC_ID = null;
 | 
						|
            this.txtEIC_CheckMan.Text = string.Empty;
 | 
						|
            this.txtEIC_CheckDate.Text = string.Empty;
 | 
						|
            this.txtEIC_DealMan.Text = string.Empty;
 | 
						|
            this.txtEIC_DealDate.Text = string.Empty;
 | 
						|
            this.txtEIC_Remark.Text = string.Empty;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 增加
 | 
						|
        /// <summary>
 | 
						|
        /// 增加按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnAdd_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.GetButtonPower(BLL.Const.BtnAdd))
 | 
						|
            {
 | 
						|
                TextIsEmpty();
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存
 | 
						|
        /// <summary>
 | 
						|
        /// 保存按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnSave_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.GetButtonPower(BLL.Const.BtnSave))
 | 
						|
            {
 | 
						|
                if (!String.IsNullOrEmpty(this.ISO_ID))
 | 
						|
                {
 | 
						|
                    Model.TP_BItemEndCheck newBItemEndCheck = new Model.TP_BItemEndCheck();
 | 
						|
                    newBItemEndCheck.ISO_ID = this.ISO_ID;
 | 
						|
                    newBItemEndCheck.EIC_CheckMan = this.txtEIC_CheckMan.Text.Trim();
 | 
						|
                    newBItemEndCheck.EIC_CheckDate = Funs.GetNewDateTime(this.txtEIC_CheckDate.Text.Trim());
 | 
						|
                    newBItemEndCheck.EIC_DealMan = this.txtEIC_DealMan.Text.Trim();
 | 
						|
                    newBItemEndCheck.EIC_DealDate = Funs.GetNewDateTime(this.txtEIC_DealDate.Text.Trim());
 | 
						|
                    newBItemEndCheck.EIC_Remark = this.txtEIC_Remark.Text.Trim();
 | 
						|
                    if (!string.IsNullOrEmpty(this.EIC_ID))
 | 
						|
                    {
 | 
						|
                        newBItemEndCheck.EIC_ID = this.EIC_ID;
 | 
						|
                        BLL.BItemEndCheckService.UpdateTP_BItemEndCheck(newBItemEndCheck);
 | 
						|
                        //BLL.LogService.AddLog(this.CurrUser.UserId, "修改A项尾工检查信息");
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        BLL.BItemEndCheckService.AddTP_BItemEndCheck(newBItemEndCheck);
 | 
						|
                        //BLL.LogService.AddLog(this.CurrUser.UserId, "添加A项尾工检查信息");
 | 
						|
                    }
 | 
						|
                    ShowNotify("保存成功!", MessageBoxIcon.Success);
 | 
						|
                    BindGrid();
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    Alert.ShowInTop("请选择管线!", MessageBoxIcon.Warning);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 删除
 | 
						|
        /// <summary>
 | 
						|
        /// 右键删除
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnMenuDelete_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.GetButtonPower(BLL.Const.BtnDelete))
 | 
						|
            {
 | 
						|
                if (Grid1.SelectedRowIndexArray.Length == 0)
 | 
						|
                {
 | 
						|
                    Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
                foreach (int rowIndex in Grid1.SelectedRowIndexArray)
 | 
						|
                {
 | 
						|
                    string rowID = Grid1.DataKeys[rowIndex][0].ToString();
 | 
						|
                    BLL.BItemEndCheckService.DeleteTP_BItemEndCheckByID(rowID);
 | 
						|
                }
 | 
						|
                BindGrid();
 | 
						|
                TextIsEmpty();
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Grid行点击事件
 | 
						|
        /// <summary>
 | 
						|
        /// Grid行点击事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_RowClick(object sender, GridRowClickEventArgs e)
 | 
						|
        {
 | 
						|
            var item = BLL.BItemEndCheckService.GetTP_BItemEndCheckByID(Grid1.SelectedRowID);
 | 
						|
            if (item != null)
 | 
						|
            {
 | 
						|
                this.EIC_ID = item.EIC_ID;
 | 
						|
                this.ISO_ID = item.ISO_ID;
 | 
						|
                this.txtEIC_CheckMan.Text = item.EIC_CheckMan;
 | 
						|
                this.txtEIC_CheckDate.Text = item.EIC_CheckDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.EIC_CheckDate) : "";
 | 
						|
                this.txtEIC_DealMan.Text = item.EIC_DealMan;
 | 
						|
                this.txtEIC_DealDate.Text = item.EIC_DealDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.EIC_DealDate) : "";
 | 
						|
                this.txtEIC_Remark.Text = item.EIC_Remark;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 获取按钮权限
 | 
						|
        /// <summary>
 | 
						|
        /// 获取按钮权限
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="button"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        private bool GetButtonPower(string button)
 | 
						|
        {
 | 
						|
            return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_BItemEndCheckMenuId, button);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
} |