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 Newtonsoft.Json.Linq; using Model; namespace FineUIPro.Web.JGZL { public partial class BlowingCleaning : PageBase { #region 定义项 /// /// 主键 /// private string BlowingCleaningItemId { get { return (string)ViewState["BlowingCleaningItemId"]; } set { ViewState["BlowingCleaningItemId"] = value; } } /// /// 项目Id /// private string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } /// /// 外键—BlowingCleaningId /// public string BlowingCleaningId { get { return (string)ViewState["BlowingCleaningId"]; } set { ViewState["BlowingCleaningId"] = value; } } /// /// 定义集合 /// private static List itemLists = new List(); #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); this.drpProjectId.DataTextField = "ProjectCode"; this.drpProjectId.DataValueField = "ProjectId"; this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1"); this.drpProjectId.DataBind(); Funs.FineUIPleaseSelect(this.drpProjectId); this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId; this.InitTreeMenu();//加载树 this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue; this.ProjectId = this.tvControlItem.SelectedNodeID; var record = BLL.BlowingCleaningService.GetBlowingCleaningByProjectId(this.tvControlItem.SelectedNodeID); if (record != null) { this.BlowingCleaningId = record.BlowingCleaningId; this.txtSystemName.Text = record.SystemName; this.txtSystemCode.Text = record.SystemCode; } //管线下拉选择 var isoLists = (from x in Funs.DB.JGZL_BlowingCleaningItem where x.BlowingCleaningId == this.BlowingCleaningId select x.ISO_Id).Distinct().ToList(); this.drpIsoNoS.Items.Clear(); this.drpIsoNoS.DataTextField = "ISO_Id"; this.drpIsoNoS.DataValueField = "ISO_Id"; this.drpIsoNoS.DataSource = isoLists; this.drpIsoNoS.DataBind(); Funs.FineUIPleaseSelect(this.drpIsoNoS); this.drpIsoNoS.SelectedIndex = 0; DataIsoInfo(); } } private void DataIsoInfo() { this.txtSystemCode.Text = "01"; this.txtSystemName.Text = "材质"; this.drpCheckResult1.SelectedValue = "合格"; this.drpCheckResult2.SelectedValue = "合格"; this.drpCheckResult3.SelectedValue = "合格"; this.drpCheckResult4.SelectedValue = "合格"; itemLists.Clear(); if (!string.IsNullOrEmpty(this.ProjectId)) { var record = BLL.BlowingCleaningService.GetBlowingCleaningByProjectId(this.ProjectId); if (record != null) { this.BlowingCleaningId = record.BlowingCleaningId; this.txtSystemCode.Text = record.SystemCode; this.txtSystemName.Text = record.SystemName; this.drpCheckResult1.SelectedValue = record.CheckReulst1; this.drpCheckResult2.SelectedValue = record.CheckReulst2; this.drpCheckResult3.SelectedValue = record.CheckReulst3; this.drpCheckResult4.SelectedValue = record.CheckReulst4; itemLists = BLL.BlowingCleaningItemService.GetBlowingCleaningItemList(this.BlowingCleaningId); } else { //var pro = BLL.Base_ProjectService.GetProjectByProjectId(this.ProjectId); //if (pro != null) //{ // this.txtProjectCode.Text = pro.ProjectCode; // this.txtProjectName.Text = pro.ProjectName; //} } var isoInfos = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByProjectId(this.ProjectId); foreach (var item in isoInfos) { var teamWeldingInspectionItem = BLL.BlowingCleaningItemService.GetItemByIsoNo(this.ProjectId, item.ISO_IsoNo); if (teamWeldingInspectionItem != null) { //itemLists.Add(teamWeldingInspectionItem); } else { Model.JGZL_BlowingCleaningItem newItem = new JGZL_BlowingCleaningItem(); newItem.BlowingCleaningItemId = SQLHelper.GetNewID(typeof(Model.JGZL_BlowingCleaningItem)); newItem.ISO_Id = item.ISO_IsoNo; newItem.STE_ID = BLL.HJGL_MaterialService.GetSteelBySteID(item.STE_ID).STE_Code; newItem.OperatingMedium = HJGL_MediumService.GetServiceBySERID(item.SER_ID).SER_Name; newItem.ScrubbingMedium = "压缩空气"; newItem.CleaningMedium = "洁净水"; itemLists.Add(newItem); } } if (!string.IsNullOrEmpty(this.drpIsoNoS.SelectedValue) && this.drpIsoNoS.SelectedValue != BLL.Const._Null) { itemLists = itemLists.Where(e => e.ISO_Id.Contains(this.drpIsoNoS.SelectedValue)).ToList(); ; } } this.Grid1.DataSource = itemLists; this.Grid1.DataBind(); } #endregion #region 加载树项目 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "项目"; rootNode.ToolTip = "项目"; rootNode.NodeID = "0"; rootNode.Expanded = true; this.tvControlItem.Nodes.Add(rootNode); List projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1"); if (this.drpProjectId.SelectedValue != BLL.Const._Null) { projects = projects.Where(e => e.ProjectId == this.drpProjectId.SelectedValue).ToList(); } foreach (var item in projects) { TreeNode rootProjectNode = new TreeNode();//定义根节点 rootProjectNode.Text = item.ProjectCode; rootProjectNode.NodeID = item.ProjectId; rootProjectNode.EnableClickEvent = true; rootProjectNode.Expanded = true; rootProjectNode.ToolTip = item.ProjectName; rootProjectNode.CommandName = "项目名称"; rootNode.Nodes.Add(rootProjectNode); } } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { if (this.tvControlItem.SelectedNodeID != "0") { this.BindGrid(); } } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { //string projectIds = BLL.Base_ProjectService.GetStrOnProjectIds(this.CurrUser.UserId, "1"); string strSql = @"SELECT * from JGZL_BlowingCleaningItem m left join JGZL_BlowingCleaning b on b.BlowingCleaningId = m.BlowingCleaningId where 1=1"; List listStr = new List(); if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { strSql += " AND b.ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID)); } //else //{ // strSql += " AND CHARINDEX(ProjectId,@ProjectId)>0 "; // listStr.Add(new SqlParameter("@ProjectId", projectIds)); //} SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 Grid1.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; 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 drpProjectId_SelectedIndexChanged(object sender, EventArgs e) { this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue; this.ProjectId = this.tvControlItem.SelectedNodeID; this.InitTreeMenu(); DataIsoInfo(); } /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 打印 /// /// 打印 /// /// /// protected void btnPrint_Click(object sender, EventArgs e) { string projectId = this.tvControlItem.SelectedNodeID; if (projectId != null) { string initTemplatePath = ""; string rootPath = Server.MapPath("~/"); BLL.Common.FastReportService.ResetData(); var report = BLL.BlowingCleaningService.GetBlowingCleaningByProjectId(projectId); if (report != null) { DataTable dt = new DataTable(); dt.TableName = "MainData"; dt.Columns.Add("ProjectName"); dt.Columns.Add("SystemName"); dt.Columns.Add("SystemCode"); dt.Columns.Add("CheckReulst1"); dt.Columns.Add("CheckReulst2"); dt.Columns.Add("CheckReulst3"); dt.Columns.Add("CheckReulst4"); dt.Columns.Add("Results"); dt.Columns.Add("BlowingCleaningDate"); var newRow = dt.NewRow(); newRow["ProjectName"] = BLL.Base_ProjectService.GetProjectByProjectId(report.ProjectId).ProjectName; newRow["SystemName"] = report.SystemName; newRow["SystemCode"] = report.SystemCode; newRow["Results"] = report.Results; string blowingCleaningDate = string.Format("{0:yyyy年MM月dd日}", report.BlowingCleaningDate); newRow["BlowingCleaningDate"] = blowingCleaningDate; newRow["CheckReulst1"] = report.CheckReulst1; newRow["CheckReulst2"] = report.CheckReulst2; newRow["CheckReulst3"] = report.CheckReulst3; newRow["CheckReulst4"] = report.CheckReulst4; dt.Rows.Add(newRow); BLL.Common.FastReportService.AddFastreportTable(dt); var itemList = BLL.BlowingCleaningItemService.GetBlowingCleaningItemList(report.BlowingCleaningId); if (this.drpIsoNoS.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpIsoNoS.SelectedValue)) { itemList = itemList.Where(x => x.ISO_Id.Contains(this.drpIsoNoS.SelectedValue)).ToList(); } if (itemList.Count > 0) { DataTable itemdt = new DataTable(); itemdt.TableName = "Data"; itemdt.Columns.Add("ISO_IsoNo"); itemdt.Columns.Add("STE_Code"); itemdt.Columns.Add("OperatingMedium"); itemdt.Columns.Add("ScrubbingMedium"); itemdt.Columns.Add("CleaningMedium"); foreach (var item in itemList) { var newRow2 = itemdt.NewRow(); newRow2["ISO_IsoNo"] = item.ISO_Id; newRow2["STE_Code"] = item.STE_ID; newRow2["OperatingMedium"] = item.OperatingMedium; newRow2["ScrubbingMedium"] = item.ScrubbingMedium; newRow2["CleaningMedium"] = item.CleaningMedium; itemdt.Rows.Add(newRow2); } BLL.Common.FastReportService.AddFastreportTable(itemdt); } Dictionary keyValuePairs = new Dictionary(); //keyValuePairs.Add("ProjectName", BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName); BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs); initTemplatePath = "File\\Fastreport\\JGZL\\管道吹扫、清洗检验记录.frx"; if (File.Exists(rootPath + initTemplatePath)) { PageContext.RegisterStartupScript(WindowPrint.GetShowReference(String.Format("../common/ReportPrint/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath))); } } else { Alert.ShowInTop("请先保存数据!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); return; } } #endregion #region 维护 /// /// 增加 /// /// /// protected void btnAdd_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { JArray teamGroupData = Grid1.GetMergedData(); List list = new List(); foreach (JObject teamGroupRow in teamGroupData) { JObject values = teamGroupRow.Value("values"); list.Add(values); } JObject defaultObj = new JObject { { "BlowingCleaningItemId", Guid.NewGuid() }, { "BlowingCleaningId", this.BlowingCleaningId }, { "ISO_Id", "" }, { "STE_ID", "" }, { "OperatingMedium", "" }, { "ScrubbingMedium", "压缩空气" }, { "CleaningMedium", "洁净水" }, { "Delete3", String.Format("", GetDeleteScriptGrid1(), IconHelper.GetResolvedIconUrl(Icon.Delete)) } }; list.Add(defaultObj); Grid1.DataSource = list; Grid1.DataBind(); //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PressureTestOfPipelineSystemRecordEdit.aspx?projectId={0}", this.tvControlItem.SelectedNodeID, "新增 - "))); } else { Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); return; } } protected void Grid1_PreDataBound(object sender, EventArgs e) { // 设置LinkButtonField的点击客户端事件 LinkButtonField deleteField = Grid1.FindColumn("Delete3") as LinkButtonField; deleteField.OnClientClick = GetDeleteScriptGrid1(); } /// /// 删除提示 /// /// private string GetDeleteScriptGrid1() { return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty); } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.JGZL_BlowingCleaningMenuId, Const.BtnSave)) { Model.JGZL_BlowingCleaning newRecord = new JGZL_BlowingCleaning(); newRecord.SystemCode = this.txtSystemCode.Text; newRecord.SystemName = this.txtSystemName.Text; newRecord.CheckReulst1 = this.drpCheckResult1.SelectedValue; newRecord.CheckReulst2 = this.drpCheckResult2.SelectedValue; newRecord.CheckReulst3 = this.drpCheckResult3.SelectedValue; newRecord.CheckReulst4 = this.drpCheckResult4.SelectedValue; if (!string.IsNullOrEmpty(this.BlowingCleaningId)) { newRecord.BlowingCleaningId = this.BlowingCleaningId; BLL.BlowingCleaningService.UpdateBlowingCleaning(newRecord); } else { newRecord.ProjectId = this.tvControlItem.SelectedNodeID; newRecord.CompileMan = this.CurrUser.UserId; newRecord.CompileDate = DateTime.Now; newRecord.BlowingCleaningId = SQLHelper.GetNewID(typeof(Model.JGZL_BlowingCleaning)); this.BlowingCleaningId = newRecord.BlowingCleaningId; BLL.BlowingCleaningService.AddBlowingCleaning(newRecord); } saveItem(); //管线下拉选择 var isoLists = (from x in Funs.DB.JGZL_BlowingCleaningItem where x.BlowingCleaningId == this.BlowingCleaningId select x.ISO_Id).Distinct().ToList(); this.drpIsoNoS.Items.Clear(); this.drpIsoNoS.DataTextField = "ISO_Id"; this.drpIsoNoS.DataValueField = "ISO_Id"; this.drpIsoNoS.DataSource = isoLists; this.drpIsoNoS.DataBind(); Funs.FineUIPleaseSelect(this.drpIsoNoS); this.drpIsoNoS.SelectedIndex = 0; ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } void saveItem() { BLL.BlowingCleaningItemService.DeleteBlowingCleaningItemList(this.BlowingCleaningId); itemLists.Clear(); JArray teamGroupData = Grid1.GetMergedData(); foreach (JObject teamGroupRow in teamGroupData) { JObject values = teamGroupRow.Value("values"); int rowIndex = teamGroupRow.Value("index"); Model.JGZL_BlowingCleaningItem newDetail = new Model.JGZL_BlowingCleaningItem { BlowingCleaningItemId = values.Value("BlowingCleaningItemId"), BlowingCleaningId = this.BlowingCleaningId, ISO_Id = values.Value("ISO_Id"), STE_ID = values.Value("STE_ID"), OperatingMedium = values.Value("OperatingMedium"), ScrubbingMedium = values.Value("ScrubbingMedium"), CleaningMedium = values.Value("CleaningMedium"), }; itemLists.Add(newDetail); } try { if (itemLists.Count > 0) { Funs.DB.JGZL_BlowingCleaningItem.InsertAllOnSubmit(itemLists); } Funs.DB.SubmitChanges(); } catch (Exception) { return; } } #endregion protected void drpIsoNoS_SelectedIndexChanged(object sender, EventArgs e) { DataIsoInfo(); } } }