using BLL; using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using FineUIPro.Web.HJGL.MaterialManage; using Model; using FineUIPro.Web.DataShow; using NPOI.SS.Formula.Functions; namespace FineUIPro.Web.HJGL.TrustManage { public partial class PMITrustManage : PageBase { #region 定义项 /// /// 委托主键 /// public string CH_TrustID { get { return (string)ViewState["CH_TrustID"]; } set { ViewState["CH_TrustID"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.txtMonth.Text = string.Format("{0:yyyy-MM}", DateTime.Now); this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); //btnNew.OnClientClick = Window1.GetShowReference("PMITrustManageEditAdd.aspx") + "return false;"; this.InitTreeMenu();//加载树 } } #region 加载树装置-单位 /// /// 加载树 /// private void InitTreeMenu() { if (!string.IsNullOrEmpty(this.txtMonth.Text.Trim())) { this.tvControlItem.Nodes.Clear(); List installations = BLL.Project_InstallationService.GetInstallationsByProjectId(this.CurrUser.LoginProjectId); if (installations != null) { foreach (var installation in installations) { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = installation.InstallationName; rootNode.NodeID = installation.InstallationId; rootNode.Expanded = true; rootNode.CommandName = "Installation"; this.tvControlItem.Nodes.Add(rootNode); var instaRe = (from x in Funs.DB.PMI_TrustManage join y in Funs.DB.ProjectData_WorkArea on x.AreaIdCode equals y.WorkAreaId where x.UnitCode == installation.InstallationId && x.ProjectId == this.CurrUser.LoginProjectId select y).Distinct(); foreach (var ins in instaRe) { TreeNode newNode = new TreeNode(); newNode.Text = ins.WorkAreaCode; newNode.NodeID = ins.InstallationId + "|" + ins.WorkAreaId; newNode.EnableExpandEvent = true; newNode.CommandName = "WorkArea"; rootNode.Nodes.Add(newNode); TreeNode emptyNode = new TreeNode(); emptyNode.Text = ""; emptyNode.NodeID = ""; newNode.Nodes.Add(emptyNode); } } } else { Alert.ShowInTop("请先增加装置!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning); } } #endregion #region 展开树 /// /// 展开树 /// /// /// protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e) { e.Node.Nodes.Clear(); if (e.Node.CommandName == "WorkArea") //展开工区 { TreeNode newNode = new TreeNode(); newNode.Text = this.txtMonth.Text.Trim(); newNode.NodeID = e.Node.NodeID + "|" + this.txtMonth.Text.Trim(); newNode.EnableExpandEvent = true; newNode.CommandName = "Month"; e.Node.Nodes.Add(newNode); TreeNode emptyNode = new TreeNode(); emptyNode.Text = ""; emptyNode.NodeID = ""; newNode.Nodes.Add(emptyNode); } else if (e.Node.CommandName == "Month") //展开月份 { DateTime startDate = Funs.GetNewDateTimeOrNow(e.Node.NodeID.Split('|')[2] + "-01"); DateTime endDate = Funs.GetNewDateTimeOrNow(e.Node.NodeID.Split('|')[2] + "-01").AddMonths(1); var days = (from x in Funs.DB.PMI_TrustManage where x.AreaIdCode == e.Node.ParentNode.NodeID.Split('|')[1] && x.UnitCode == e.Node.ParentNode.ParentNode.NodeID && x.CreateTime >= startDate && x.CreateTime < endDate orderby x.CreateTime select x.CreateTime).Distinct(); foreach (var day in days) { TreeNode newNode = new TreeNode(); newNode.Text = string.Format("{0:yyyy-MM-dd}", day); newNode.NodeID = e.Node.NodeID + "|" + day.ToString(); newNode.EnableExpandEvent = true; newNode.CommandName = "Day"; e.Node.Nodes.Add(newNode); TreeNode emptyNode = new TreeNode(); emptyNode.Text = ""; emptyNode.NodeID = ""; newNode.Nodes.Add(emptyNode); } } else if (e.Node.CommandName == "Day") //展开日期 { DateTime d = Convert.ToDateTime(e.Node.NodeID.Split('|')[3]); var trusts = from x in Funs.DB.PMI_TrustManage where x.AreaIdCode.ToString() == e.Node.ParentNode.ParentNode.NodeID.Split('|')[1] && x.UnitCode == e.Node.ParentNode.ParentNode.ParentNode.NodeID && x.CreateTime.Year == d.Year && x.CreateTime.Month == d.Month && x.CreateTime.Day == d.Day orderby x.EntrustmentNo select x; foreach (var trust in trusts) { TreeNode newNode = new TreeNode(); newNode.NodeID = trust.PMITrustId; newNode.Text = trust.EntrustmentNo; newNode.EnableClickEvent = true; newNode.CommandName = "Trust"; e.Node.Nodes.Add(newNode); } } } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { if (this.tvControlItem.SelectedNode.CommandName == "Trust") { this.BindGrid(); CH_TrustID = this.tvControlItem.SelectedNodeID; string[] PMICH_TrustID = CH_TrustID.Split('|'); Model.PMI_TrustManage newPMI_TrustManage = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]); if (newPMI_TrustManage != null) { ////工程名称--PMIProjectName //this.lblPMIProjectName.Text = newPMI_TrustManage.PMIProjectName; ////单位工程名称--PMIUnitWorksName //this.lblPMIUnitWorksName.Text = newPMI_TrustManage.PMIUnitWorksName; //编号--SerialNum this.lblSerialNum.Text = newPMI_TrustManage.SerialNum; //检测方法--TestMethod this.lblTestMethod.Text = newPMI_TrustManage.TestMethod; //检测标准--TestStandard this.lblTestStandard.Text = newPMI_TrustManage.TestStandard; //检测比例--TesTratio this.lblTesTratio.Text = newPMI_TrustManage.TesTratio; //合格要求--QualifiedRequire this.lblQualifiedRequire.Text = newPMI_TrustManage.QualifiedRequire; //委托编号--EntrustmentNo this.lblEntrustmentNo.Text = newPMI_TrustManage.EntrustmentNo; } else { //工程名称--PMIProjectName //this.lblPMIProjectName.Text = string.Empty; ////单位工程名称--PMIUnitWorksName //this.lblPMIUnitWorksName.Text = string.Empty; //编号--SerialNum this.lblSerialNum.Text = string.Empty; //检测方法--TestMethod this.lblTestMethod.Text = string.Empty; this.lblTestStandard.Text = string.Empty; //检测比例--TesTratio this.lblTesTratio.Text = string.Empty; //合格要求--QualifiedRequire this.lblQualifiedRequire.Text = string.Empty; //委托编号--EntrustmentNo this.lblEntrustmentNo.Text = string.Empty; } } } #endregion #region 查询 /// /// 查询 /// /// /// protected void btnQuery_Click(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { if (this.tvControlItem.SelectedNode != null) { CH_TrustID = this.tvControlItem.SelectedNodeID; string[] PMICH_TrustID = CH_TrustID.Split('|'); string strSql = @"SELECT * FROM dbo.PMI_TrustMangeItem jot WHERE PMITrustID=@PMITrustID"; List listStr = new List(); listStr.Add(new SqlParameter("@PMITrustID", PMICH_TrustID[0])); 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(); } else { //工程名称--PMIProjectName //this.lblPMIProjectName.Text = string.Empty; ////单位工程名称--PMIUnitWorksName //this.lblPMIUnitWorksName.Text = string.Empty; //编号--SerialNum this.lblSerialNum.Text = string.Empty; //检测方法--TestMethod this.lblTestMethod.Text = string.Empty; this.lblTestStandard.Text = string.Empty; //检测比例--TesTratio this.lblTesTratio.Text = string.Empty; //合格要求--QualifiedRequire this.lblQualifiedRequire.Text = string.Empty; //委托编号--EntrustmentNo this.lblEntrustmentNo.Text = string.Empty; Grid1.DataSource = null; Grid1.DataBind(); } } #endregion #region 分页排序 #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion #endregion #region 无损委托 维护事件 protected void btnNew_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PMITrustManageEditAdd.aspx?PMITrustID={0}", "", "新增 - "))); } /// /// 无损委托编辑 /// /// /// protected void btnEdit_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_CheckManageAuditMenuId, BLL.Const.BtnModify)) { CH_TrustID = this.tvControlItem.SelectedNodeID; string[] PMICH_TrustID = CH_TrustID.Split('|'); var trust = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]); if (trust != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PMITrustManageEditAdd.aspx?PMITrustID={0}", PMICH_TrustID[0], "维护 - "))); } else { ShowNotify("请选择要编辑的委托单!", MessageBoxIcon.Warning); } } else { ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } /// /// 删除按钮 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TrustManageEditMenuId, Const.BtnDelete)) { CH_TrustID = this.tvControlItem.SelectedNodeID; string[] PMICH_TrustID = CH_TrustID.Split('|'); var trust = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]); if (trust == null) { Alert.ShowInTop("请选择要删除的委托单", MessageBoxIcon.Warning); return; } else { BLL.PMITrustManageService.DeleteCH_TrustItemByCH_TrustID(PMICH_TrustID[0]); BLL.LogService.AddSys_Log(this.CurrUser, trust.PMITrustId, PMICH_TrustID[0], BLL.Const.HJGL_PMITrustManageMenuId, "添加无损委托信息"); this.InitTreeMenu(); this.BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } #endregion #region 关闭弹出窗口及刷新页面 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { this.InitTreeMenu();//加载树 this.BindGrid(); } /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } /// /// 查询 /// /// /// protected void Tree_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); this.BindGrid(); } #endregion #region 打印 protected void btnPrint_Click(object sender, EventArgs e) { string initTemplatePath = ""; string rootPath = Server.MapPath("~/"); BLL.Common.FastReportService.ResetData(); string reportId = this.tvControlItem.SelectedNode.NodeID.Split('|')[0]; var PMITrustManage = BLL.PMITrustManageService.GetCH_TrustByID(reportId); if (PMITrustManage != null) { Dictionary keyValuePairs = new Dictionary(); ////--工程名称--PMIProjectName keyValuePairs.Add("PMIProjectName", PMITrustManage.PMIProjectName); ////--单位工程名称--PMIUnitWorksName keyValuePairs.Add("PMIUnitWorksName", PMITrustManage.PMIUnitWorksName); ////--编号--SerialNum keyValuePairs.Add("SerialNum", PMITrustManage.SerialNum); ////--检测方法--TestMethod keyValuePairs.Add("TestMethod", PMITrustManage.TestMethod); ////--检测标准--TestStandard keyValuePairs.Add("TestStandard", PMITrustManage.TestStandard); ////--检测比例--TesTratio keyValuePairs.Add("TesTratio", PMITrustManage.TesTratio); ////--合格要求--QualifiedRequire keyValuePairs.Add("QualifiedRequire", PMITrustManage.QualifiedRequire); ////--委托编号--EntrustmentNo keyValuePairs.Add("EntrustmentNo", PMITrustManage.EntrustmentNo); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); string strSql = @"SELECT * FROM dbo.PMI_TrustMangeItem WHERE PMITrustID=@PMITrustID"; List listStr = new List(); listStr.Add(new SqlParameter("@PMITrustID", PMITrustManage.PMITrustId)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); DataTable dt = new DataTable(); dt.TableName = "Data"; //序号--Number dt.Columns.Add("Number", typeof(String)); //检件编号--PipelineNum dt.Columns.Add("PipelineNum", typeof(String)); //检件名称--PipelineName dt.Columns.Add("PipelineName", typeof(String)); //质量证明文件编号--QualityNum dt.Columns.Add("QualityNum", typeof(String)); //炉 / 批号--LotNumber dt.Columns.Add("LotNumber", typeof(String)); //检件规格--PipeIineSpecs dt.Columns.Add("PipeIineSpecs", typeof(String)); //检件材质--PipelineMaterial dt.Columns.Add("PipelineMaterial", typeof(String)); //热处理--HotStatus dt.Columns.Add("HotStatus", typeof(String)); //制造 / 验收标准--AcceptanceCriteria dt.Columns.Add("AcceptanceCriteria", typeof(String)); //数量--SamplingNum dt.Columns.Add("SamplingNum", typeof(String)); //备注--RemarkNum dt.Columns.Add("RemarkNum", typeof(String)); //tb = dv.ToTable();//转为表 DataRow[] rows = tb.DefaultView.ToTable().Select(); int i = 0; foreach (var row in rows) { var newRow = dt.NewRow(); newRow["Number"] = (i + 1).ToString(); //检件编号--PipelineNum newRow["PipelineNum"] = row["PipelineNum"].ToString(); //检件名称--PipelineName newRow["PipelineName"] = row["PipelineName"].ToString(); //质量证明文件编号--QualityNum newRow["QualityNum"] = row["QualityNum"].ToString(); //炉 / 批号--LotNumber newRow["LotNumber"] = row["LotNumber"].ToString(); //检件规格--PipeIineSpecs newRow["PipeIineSpecs"] = row["PipeIineSpecs"].ToString(); //检件材质--PipelineMaterial newRow["PipelineMaterial"] = row["PipelineMaterial"].ToString(); //热处理--HotStatus newRow["HotStatus"] = row["HotStatus"].ToString(); //制造 / 验收标准--AcceptanceCriteria newRow["AcceptanceCriteria"] = row["AcceptanceCriteria"].ToString(); //数量--SamplingNum newRow["SamplingNum"] = row["SamplingNum"].ToString(); //备注--RemarkNum newRow["RemarkNum"] = row["RemarkNum"].ToString(); dt.Rows.Add(newRow); i++; } BLL.Common.FastReportService.AddFastreportTable(dt); initTemplatePath = "File\\Fastreport\\PMI检测委托单.frx"; if (File.Exists(rootPath + initTemplatePath)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("./Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath))); } } } #endregion } }