415 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			415 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Data.SqlClient; | |||
|  | using System.Linq; | |||
|  | using BLL; | |||
|  | using Newtonsoft.Json.Linq; | |||
|  | using AspNet = System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.HJGL.TestPackage | |||
|  | { | |||
|  |     public partial class TestPackageItemEdit : PageBase | |||
|  |     { | |||
|  |         #region 定义项 | |||
|  |         /// <summary> | |||
|  |         /// 试压包主键 | |||
|  |         /// </summary> | |||
|  |         public string PTP_ID | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["PTP_ID"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["PTP_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.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); | |||
|  |                 this.PTP_ID = Request.Params["PTP_ID"]; | |||
|  |                 //List<Model.Base_Unit> units = new List<Model.Base_Unit>(); | |||
|  |                 //var pUnit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId); | |||
|  | 
 | |||
|  |                 //if (pUnit == null || pUnit.UnitType == BLL.Const.ProjectUnitType_1 || pUnit.UnitType == BLL.Const.ProjectUnitType_2 | |||
|  |                 //  || pUnit.UnitType == BLL.Const.ProjectUnitType_5) | |||
|  |                 //{ | |||
|  |                 //    units = (from x in Funs.DB.Base_Unit | |||
|  |                 //             join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId | |||
|  |                 //             where y.ProjectId == this.CurrUser.LoginProjectId && y.UnitType.Contains(BLL.Const.ProjectUnitType_2) | |||
|  |                 //             select x).ToList(); | |||
|  |                 //} | |||
|  |                 //else | |||
|  |                 //{ | |||
|  |                 //    units.Add(BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId)); | |||
|  |                 //} | |||
|  |                 /////单位 | |||
|  |                 //this.drpUnit.DataTextField = "UnitName"; | |||
|  |                 //this.drpUnit.DataValueField = "UnitId"; | |||
|  |                 //this.drpUnit.DataSource = units; | |||
|  |                 //this.drpUnit.DataBind(); | |||
|  |                 //Funs.FineUIPleaseSelect(this.drpUnit); | |||
|  |                 BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);//单位 | |||
|  |                 BLL.UnitWorkService.InitUnitWorkDropDownList(drpUnitWork, this.CurrUser.LoginProjectId, true); | |||
|  | 
 | |||
|  |                 var list = (from x in Funs.DB.PTP_PipelineList | |||
|  |                             where x.PTP_ID == this.PTP_ID | |||
|  |                             select x).ToList(); | |||
|  |                 if (list.Count() > 0) | |||
|  |                 { | |||
|  |                     foreach (var infoRow in list) | |||
|  |                     { | |||
|  |                         this.hdPipelinesId.Text += infoRow.PipelineId + ","; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(hdPipelinesId.Text)) | |||
|  |                 { | |||
|  |                     hdPipelinesId.Text = hdPipelinesId.Text.Substring(0, hdPipelinesId.Text.Length - 1); | |||
|  |                 } | |||
|  |                 this.PageInfoLoad(); ///加载页面  | |||
|  |                 if (!string.IsNullOrEmpty(Request.Params["type"])) | |||
|  |                 { | |||
|  |                     this.btnFind.Hidden = true; | |||
|  |                     this.btnSave.Hidden = true; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 加载页面输入保存信息 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面输入保存信息 | |||
|  |         /// </summary> | |||
|  |         private void PageInfoLoad() | |||
|  |         { | |||
|  |             var testPackageManage = BLL.TestPackageEditService.GetTestPackageByID(this.PTP_ID); | |||
|  |             if (testPackageManage != null) | |||
|  |             { | |||
|  |                 this.txtTestPackageNo.Text = testPackageManage.TestPackageNo; | |||
|  |                 if (!string.IsNullOrEmpty(testPackageManage.UnitId)) | |||
|  |                 { | |||
|  |                     this.drpUnit.SelectedValue = testPackageManage.UnitId; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 if (!string.IsNullOrEmpty(testPackageManage.UnitWorkId)) | |||
|  |                 { | |||
|  |                     //BLL.UnitWorkService.InitUnitWorkDropDownList(drpUnitWork, this.CurrUser.LoginProjectId,true); | |||
|  |                     drpUnitWork.SelectedValue = testPackageManage.UnitWorkId; | |||
|  |                     //var UnitWork = this.drpUnitWork.Items.FirstOrDefault(x => x.Value == testPackageManage.UnitWorkId); | |||
|  |                 } | |||
|  |                 this.txtTestPackageName.Text = testPackageManage.TestPackageName; | |||
|  |                 this.txtRemark.Text = testPackageManage.Remark; | |||
|  |                 this.txtadjustTestPressure.Text = testPackageManage.AdjustTestPressure; | |||
|  |                 this.BindGrid(); ////初始化页面 | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 string unitWorkId = Request.Params["unitWorkId"]; | |||
|  |                 if (!string.IsNullOrEmpty(unitWorkId)) | |||
|  |                 { | |||
|  |                     var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(unitWorkId); | |||
|  |                     drpUnit.SelectedValue = w.UnitId; | |||
|  |                     this.drpUnitWork.SelectedValue = w.UnitWorkId; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 数据绑定 | |||
|  |         /// <summary> | |||
|  |         /// 数据绑定 | |||
|  |         /// </summary> | |||
|  |         private void BindGrid() | |||
|  |         { | |||
|  |             string strSql = @"SELECT IsoInfo.ProjectId,IsoInfo.UnitWorkId,UnitWork.UnitWorkCode,IsoInfo.PipelineId,IsoInfo.PipelineCode,
 | |||
|  |                                      IsoInfo.UnitId,IsoInfo.DesignPress,IsoInfo.DesignTemperature,IsoInfo.TestPressure,IsoInfo.TestMedium, | |||
|  | 		                             testMedium.MediumName ,IsoInfo.SingleNumber,IsoInfo.PipingClassId,IsoList.PT_PipeId, | |||
|  | 		                             IsoList.PTP_ID | |||
|  |                                      FROM dbo.HJGL_Pipeline AS IsoInfo | |||
|  |                                      LEFT JOIN WBS_UnitWork AS UnitWork ON IsoInfo.UnitWorkId=UnitWork.UnitWorkId | |||
|  | 								     LEFT JOIN dbo.Base_TestMedium  AS testMedium ON testMedium.TestMediumId = IsoInfo.TestMedium | |||
|  |                                      LEFT JOIN dbo.PTP_PipelineList AS IsoList ON  IsoList.PipelineId = IsoInfo.PipelineId | |||
|  |                                      WHERE IsoInfo.ProjectId= @ProjectId  | |||
|  | 				                    AND UnitWork.UnitWorkId= @UnitWorkId";
 | |||
|  |             List<SqlParameter> listStr = new List<SqlParameter>(); | |||
|  |             listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); | |||
|  |             if (!string.IsNullOrEmpty(this.PTP_ID)) | |||
|  |             { | |||
|  |                 strSql += " AND (IsoList.PTP_ID IS NULL OR IsoList.PTP_ID = @PTP_ID)"; | |||
|  |                 listStr.Add(new SqlParameter("@PTP_ID", this.PTP_ID)); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 strSql += " AND IsoList.PTP_ID IS NULL"; | |||
|  |             } | |||
|  |             listStr.Add(new SqlParameter("@UnitWorkId", this.drpUnitWork.SelectedValue)); | |||
|  | 
 | |||
|  | 
 | |||
|  |             if (!string.IsNullOrEmpty(hdPipelinesId.Text)) | |||
|  |             { | |||
|  |                 strSql += " And CHARINDEX(IsoInfo.PipelineId,@PipelineId)>0"; | |||
|  |                 listStr.Add(new SqlParameter("@PipelineId", hdPipelinesId.Text.Trim())); | |||
|  |             } | |||
|  | 
 | |||
|  |             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(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 下拉框联动事件 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 单位、单位工程下拉框变化事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void drpInstallation_OnSelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             //BLL.Project_WorkAreaService.InitWorkAreaDropDownList(drpWorkArea, true, this.CurrUser.LoginProjectId, drpInstallation.SelectedValue, drpUnit.SelectedValue, null); | |||
|  |             this.BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         protected void btnFind_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdPipelinesId.ClientID) | |||
|  |                 + Window1.GetShowReference(String.Format("SelectPipeline.aspx?PTP_ID={0}&UnitWorkId={1}&Pipelines={2}", this.PTP_ID, this.drpUnitWork.SelectedValue, hdPipelinesId.Text.Trim(), "维护 - "))); | |||
|  |         } | |||
|  | 
 | |||
|  |         #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 | |||
|  | 
 | |||
|  |         #region 试压包 保存事件 | |||
|  |         /// <summary> | |||
|  |         /// 编辑试压包 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnSave)) | |||
|  |             { | |||
|  |                 if (BLL.TestPackageEditService.IsExistTestPackageCode(this.txtTestPackageNo.Text, this.PTP_ID, this.CurrUser.LoginProjectId)) | |||
|  |                 { | |||
|  |                     ShowNotify("试压包编号已存在,请重新录入!", MessageBoxIcon.Warning); | |||
|  |                     return; | |||
|  |                 } | |||
|  |                 if (string.IsNullOrEmpty(this.txtTestPackageNo.Text) || this.drpUnit.SelectedValue == BLL.Const._Null ||  this.drpUnitWork.SelectedValue == BLL.Const._Null ) | |||
|  |                 { | |||
|  |                     ShowNotify("必填项不能为空!", MessageBoxIcon.Warning); | |||
|  |                     return; | |||
|  |                 } | |||
|  |                 if (string.IsNullOrEmpty(hdPipelinesId.Text)) | |||
|  |                 { | |||
|  |                     ShowNotify("请选择管线号!", MessageBoxIcon.Warning); | |||
|  |                     return; | |||
|  |                 } | |||
|  |                 var updatetrust = BLL.TestPackageEditService.GetTestPackageByID(this.PTP_ID); | |||
|  |                 if (updatetrust != null && updatetrust.AduditDate.HasValue) | |||
|  |                 { | |||
|  |                     ShowNotify("此施压包已审核不能修改!", MessageBoxIcon.Warning); | |||
|  |                     return; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 Model.PTP_TestPackage testPackage = new Model.PTP_TestPackage(); | |||
|  |                 testPackage.ProjectId = this.CurrUser.LoginProjectId; | |||
|  |                 if (this.drpUnitWork.SelectedValue != BLL.Const._Null) | |||
|  |                 { | |||
|  |                     testPackage.UnitWorkId = this.drpUnitWork.SelectedValue; | |||
|  |                 } | |||
|  |                 if (this.drpUnit.SelectedValue != BLL.Const._Null) | |||
|  |                 { | |||
|  |                     testPackage.UnitId = this.drpUnit.SelectedValue; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 testPackage.TestPackageNo = this.txtTestPackageNo.Text.Trim(); | |||
|  |                 testPackage.TestPackageName = this.txtTestPackageName.Text.Trim(); | |||
|  |                 testPackage.Tabler = this.CurrUser.UserId; | |||
|  |                 testPackage.TableDate = DateTime.Now; | |||
|  |                 testPackage.Remark = this.txtRemark.Text.Trim(); | |||
|  |                 testPackage.AdjustTestPressure = this.txtadjustTestPressure.Text.Trim(); | |||
|  |                 if (!string.IsNullOrEmpty(this.PTP_ID)) | |||
|  |                 { | |||
|  |                     testPackage.PTP_ID = this.PTP_ID; | |||
|  |                     BLL.TestPackageEditService.UpdateTestPackage(testPackage); | |||
|  |                     BLL.TestPackageEditService.DeletePipelineListByPTP_ID(PTP_ID); | |||
|  |                     //BLL.Sys_LogService.AddLog(BLL.Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnModify, this.PTP_ID); | |||
|  |                 } | |||
|  |                 else | |||
|  | 
 | |||
|  |                 { | |||
|  |                     testPackage.PTP_ID = SQLHelper.GetNewID(typeof(Model.PTP_TestPackage)); | |||
|  |                     this.PTP_ID = testPackage.PTP_ID; | |||
|  |                     BLL.TestPackageEditService.AddTestPackage(testPackage); | |||
|  |                     //BLL.Sys_LogService.AddLog(BLL.Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnAdd, this.PTP_ID); | |||
|  |                 } | |||
|  |                 ///保存明细 | |||
|  |                 var getViewList = this.CollectGridInfo(); | |||
|  |                 foreach (var item in getViewList) | |||
|  |                 { | |||
|  |                     Model.PTP_PipelineList newitem = new Model.PTP_PipelineList(); | |||
|  |                     newitem.PTP_ID = this.PTP_ID; | |||
|  |                     newitem.PipelineId = item.PipelineId; | |||
|  |                     newitem.DesignPress = item.DesignPress; | |||
|  |                     newitem.DesignTemperature = item.DesignTemperature; | |||
|  |                     newitem.TestMedium = item.TestMedium; | |||
|  |                     newitem.TestPressure = item.TestPressure; | |||
|  |                     var PipelineList = Funs.DB.PTP_PipelineList.FirstOrDefault(x => x.PTP_ID == item.PTP_ID && x.PipelineId == item.PipelineId); | |||
|  |                     if (PipelineList != null) | |||
|  |                     { | |||
|  |                         newitem.PT_PipeId = PipelineList.PT_PipeId; | |||
|  |                         BLL.TestPackageEditService.UpdatePipelineList(newitem); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         BLL.TestPackageEditService.AddPipelineList(newitem); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 ShowNotify("保存成功!", MessageBoxIcon.Success); | |||
|  |                 PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.PTP_ID) | |||
|  |                   + ActiveWindow.GetHidePostBackReference()); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); | |||
|  |                 return; | |||
|  |             } | |||
|  |         } | |||
|  |         private List<Model.PTP_PipelineList> CollectGridInfo() | |||
|  |         { | |||
|  |             List<Model.PTP_PipelineList> getViewList = new List<Model.PTP_PipelineList>(); | |||
|  |             JArray teamGroupData = Grid1.GetMergedData(); | |||
|  |             foreach (JObject mergedRow in Grid1.GetMergedData()) | |||
|  |             { | |||
|  |                 int i = mergedRow.Value<int>("index"); | |||
|  |                 JObject values = mergedRow.Value<JObject>("values"); | |||
|  |                 Model.PTP_PipelineList newView = new Model.PTP_PipelineList(); | |||
|  |                 newView.PTP_ID = this.PTP_ID; | |||
|  |                 newView.PipelineId = Grid1.DataKeys[i][0].ToString(); | |||
|  |                 newView.TestMedium = Grid1.DataKeys[i][1].ToString(); | |||
|  |                 if (!string.IsNullOrEmpty(values.Value<string>("DesignPress").ToString())) | |||
|  |                 { | |||
|  |                     newView.DesignPress = Funs.GetNewDecimal(values.Value<string>("DesignPress").ToString()); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(values.Value<string>("DesignTemperature").ToString())) | |||
|  |                 { | |||
|  |                     newView.DesignTemperature = Funs.GetNewDecimal(values.Value<string>("DesignTemperature").ToString()); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(values.Value<string>("TestPressure").ToString())) | |||
|  |                 { | |||
|  |                     newView.TestPressure = Funs.GetNewDecimal(values.Value<string>("TestPressure").ToString()); | |||
|  |                 } | |||
|  |                 getViewList.Add(newView); | |||
|  |             } | |||
|  | 
 | |||
|  |             return getViewList; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         protected void Window1_Close(object sender, WindowCloseEventArgs e) | |||
|  |         { | |||
|  |             this.BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         protected void btnMenuDelete_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (Grid1.SelectedRowIndexArray.Length == 0) | |||
|  |             { | |||
|  |                 Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); | |||
|  |                 return; | |||
|  |             } | |||
|  |             string Pipelines = string.Empty; | |||
|  |             foreach (int rowIndex in Grid1.SelectedRowIndexArray) | |||
|  |             { | |||
|  |                 string rowID = Grid1.DataKeys[rowIndex][0].ToString(); | |||
|  |                 if (!string.IsNullOrEmpty(this.PTP_ID)) | |||
|  |                 { | |||
|  |                     var getPipelineList = Funs.DB.PTP_PipelineList.FirstOrDefault(x => x.PTP_ID == this.PTP_ID && x.PipelineId == rowID); | |||
|  |                     if (getPipelineList != null) | |||
|  |                     { | |||
|  |                         Funs.DB.PTP_PipelineList.DeleteOnSubmit(getPipelineList); | |||
|  |                         Funs.DB.SubmitChanges(); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 for (int i = 0; i < Grid1.Rows.Count; i++) | |||
|  |                 { | |||
|  |                     string ID = Grid1.DataKeys[i][0].ToString(); | |||
|  |                     if (rowID != ID) | |||
|  |                     { | |||
|  |                         Pipelines += ID + ","; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             if (Pipelines != string.Empty) | |||
|  |             { | |||
|  |                 this.hdPipelinesId.Text = string.Empty; | |||
|  |                 Pipelines = Pipelines.Substring(0, Pipelines.Length - 1); | |||
|  |                 this.hdPipelinesId.Text = Pipelines; | |||
|  |             } | |||
|  |             this.BindGrid(); | |||
|  |         } | |||
|  |     } | |||
|  | } |