using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL; namespace FineUIPro.Web.HJGL.WeldingManage { public partial class WeldJointEdit : PageBase { /// /// 管线主键 /// public string PipelineId { get { return (string)ViewState["PipelineId"]; } set { ViewState["PipelineId"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Base_PipingClassService.InitPipingClassDropDownList(this.drpPipingClass, this.CurrUser.LoginProjectId, true, "请选择");//管线等级 Base_DetectionRateService.InitDetectionRateDropDownList(drpDetectionRate, true); BLL.Base_MaterialService.InitMaterialDropDownList(this.drpMaterial1, true, "请选择");//材质1 BLL.Base_MaterialService.InitMaterialDropDownList(this.drpMaterial2, true, "请选择");//材质2 BLL.Base_WeldTypeService.InitWeldTypeDropDownList(this.drpWeldTypeCode, "请选择", true);//焊缝类型 BLL.Base_GrooveTypeService.InitGrooveTypeDropDownList(this.drpGrooveType, true, "请选择");//坡口类型 BLL.Base_WeldingMethodService.InitWeldingMethodDropDownList(this.drpWeldingMethodId, true, "请选择");//焊接方法 BLL.Base_ConsumablesService.InitConsumablesDropDownList(this.drpWeldingRod, true, "2", "请选择");//焊丝类型 BLL.Base_ConsumablesService.InitConsumablesDropDownList(this.drpWeldingWire, true, "1", "请选择");//焊条类型 BLL.Base_ComponentsService.InitComponentsDropDownList(this.drpComponent1, this.CurrUser.LoginProjectId, true, "请选择");//组件1 BLL.Base_ComponentsService.InitComponentsDropDownList(this.drpComponent2, this.CurrUser.LoginProjectId, true, "请选择");//组件2 this.drpDetectionTypeId.DataValueField = "DetectionTypeId"; this.drpDetectionTypeId.DataTextField = "DetectionTypeCode"; //Funs.FineUIPleaseSelect(this.drpDetectionTypeId); string weldJointId = Request.Params["WeldJointId"]; if (!string.IsNullOrEmpty(weldJointId)) { Model.HJGL_WeldJoint joint = BLL.WeldJointService.GetWeldJointByWeldJointId(weldJointId); Model.WPQ_WPQList list = BLL.WPQListServiceService.GetWPQById(joint.WPQId); this.txtWpqId.Text = joint.WPQId; if (joint != null) { this.PipelineId = joint.PipelineId; if (list != null) { this.txtWPQCode.Text = list.WPQCode; } this.txtWeldJointCode.Text = joint.WeldJointCode; if (!string.IsNullOrEmpty(joint.Material1Id)) { this.drpMaterial1.SelectedValue = joint.Material1Id; } if (!string.IsNullOrEmpty(joint.Material2Id)) { this.drpMaterial2.SelectedValue = joint.Material2Id; } this.txtSize.Text = Convert.ToString(joint.Size); this.txtDia.Text = Convert.ToString(joint.Dia); this.txtThickness.Text = Convert.ToString(joint.Thickness); if (!string.IsNullOrEmpty(joint.WeldingMethodId)) { drpWeldingMethodId.SelectedValue = joint.WeldingMethodId; } if (!string.IsNullOrEmpty(joint.WeldingRod)) { drpWeldingRod.SelectedValue = joint.WeldingRod; } if (!string.IsNullOrEmpty(joint.WeldingWire)) { drpWeldingWire.SelectedValue = joint.WeldingWire; } if (!string.IsNullOrEmpty(joint.GrooveTypeId)) { drpGrooveType.SelectedValue = joint.GrooveTypeId; } if (!string.IsNullOrEmpty(joint.WeldTypeId)) { drpWeldTypeCode.SelectedValue = joint.WeldTypeId; } if (!string.IsNullOrEmpty(joint.DetectionTypeId)) { List dList = new List(); if (drpWeldTypeCode.SelectedItem.Text == "B") { Model.Base_DetectionType rt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("RT"); Model.Base_DetectionType ut = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("UT"); dList.Add(rt); dList.Add(ut); } else { Model.Base_DetectionType mt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("MT"); Model.Base_DetectionType pt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("PT"); dList.Add(mt); dList.Add(pt); } this.drpDetectionTypeId.DataSource = dList; this.drpDetectionTypeId.DataBind(); this.drpDetectionTypeId.SelectedValue = joint.DetectionTypeId; } if (!string.IsNullOrEmpty(joint.Components1Id)) { drpComponent1.SelectedValue = joint.Components1Id; } if (!string.IsNullOrEmpty(joint.Components2Id)) { drpComponent2.SelectedValue = joint.Components2Id; } this.txtPreTemperature.Text = joint.PreTemperature; this.txtSpecification.Text = joint.Specification; txtRemark.Text= joint.Remark; drpIsHotProess.SelectedValue = joint.IsHotProess.Value.ToString(); if (!string.IsNullOrEmpty(joint.DesignIsHotProess.ToString())) { drpDesignIsHotProess.SelectedValue = joint.DesignIsHotProess.Value.ToString(); } } } if (!string.IsNullOrEmpty(Request.Params["PipelineId"])) { this.PipelineId = Request.Params["PipelineId"]; } Model.View_HJGL_Pipeline pipeline = BLL.PipelineService.GetViewPipelineByPipelineId(this.PipelineId); if (pipeline != null) { if (!string.IsNullOrEmpty(pipeline.PipingClassId)) { this.drpPipingClass.SelectedValue = pipeline.PipingClassId; } if (!string.IsNullOrEmpty(pipeline.DetectionRateId)) { this.drpDetectionRate.SelectedValue = pipeline.DetectionRateId; } if (!string.IsNullOrEmpty(pipeline.DetectionType)) { string[] dtype = pipeline.DetectionType.Split('|'); string DetectionTypestr = ""; for (int i = 0; i < dtype.Length; i++) { var DetectionType = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(dtype[i].ToString()); if (i == 0) { DetectionTypestr = DetectionType.DetectionTypeCode; } else { DetectionTypestr += "," + DetectionType.DetectionTypeCode; } } this.txtDetectionType.Text = DetectionTypestr; } this.txtPipelineCode.Text = pipeline.PipelineCode; } } } protected void search_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_WeldJointMenuId, BLL.Const.BtnModify)) { Model.HJGL_Pipeline pipeline = BLL.PipelineService.GetPipelineByPipelineId(this.PipelineId); //PageContext.RegisterStartupScript(Window1.GetSaveStateReference(txtWpqId.ClientID, txtWPQCode.ClientID, drpWeldingRod.ClientID, drpWeldingWire.ClientID, drpWeldingMethodId.ClientID, drpGrooveType.ClientID, txtPreTemperature.ClientID, drpMaterial1.ClientID,drpMaterial2.ClientID,txtIsHotProess.ClientID) // + Window1.GetShowReference(String.Format("SelectWPS.aspx?Material1={0}&Material2={1}&Dia={2}&Thickness={3}&UnitId={4}&WeldingMethod={5}&WeldType={6}", this.drpMaterial1.SelectedValue, this.drpMaterial2.SelectedValue, this.txtDia.Text, this.txtThickness.Text,pipeline.UnitId,this.drpWeldingMethodId.SelectedText,this.drpWeldTypeCode.SelectedText, "维护 - "))); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(txtWpqId.ClientID, txtWPQCode.ClientID, drpWeldingRod.ClientID, drpWeldingWire.ClientID, drpWeldingMethodId.ClientID, drpGrooveType.ClientID, txtPreTemperature.ClientID, txtIsHotProess.ClientID) + Window1.GetShowReference(String.Format("SelectWPS.aspx?Material1={0}&Material2={1}&Dia={2}&Thickness={3}&UnitId={4}&WeldingMethod={5}&WeldType={6}", this.drpMaterial1.SelectedValue, this.drpMaterial2.SelectedValue, this.txtDia.Text, this.txtThickness.Text, pipeline.UnitId, this.drpWeldingMethodId.SelectedText, this.drpWeldTypeCode.SelectedText, "维护 - "))); } else { ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } protected void btnSave_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_WeldJointMenuId, Const.BtnSave)) { int joint = Funs.GetNewIntOrZero(this.txtWeldJointCode.Text.Trim()); string weldJointCode = string.Empty; if (joint != 0) { if (joint < 10) { weldJointCode = "0" + Convert.ToString(joint); } else { weldJointCode = Convert.ToString(joint); } } else { weldJointCode = this.txtWeldJointCode.Text; } if (BLL.WeldJointService.IsExistWeldJointCode(weldJointCode, this.PipelineId, Request.Params["WeldJointId"])) { Alert.ShowInTop("该管线焊口已存在!", MessageBoxIcon.Warning); return; } else { SaveData(); } } else { ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } /// /// 提交数据 /// private void SaveData() { if (string.IsNullOrEmpty(this.txtWeldJointCode.Text.Trim()) || this.drpPipingClass.SelectedValue == BLL.Const._Null || this.drpMaterial1.SelectedValue == BLL.Const._Null || this.drpWeldTypeCode.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("页面必填项不能为空", MessageBoxIcon.Warning); Alert.ShowInTop("请完善必填项!", MessageBoxIcon.Warning); return; } Model.HJGL_WeldJoint joint = new Model.HJGL_WeldJoint(); string weldJointId = Request.Params["WeldJointId"]; joint.PipelineId = this.PipelineId; joint.PipelineCode = txtPipelineCode.Text.Trim(); joint.ProjectId = this.CurrUser.LoginProjectId; int jointCode = Funs.GetNewIntOrZero(this.txtWeldJointCode.Text.Trim()); if (jointCode != 0) { if (jointCode < 10) { joint.WeldJointCode = "0" + Convert.ToString(jointCode); } else { joint.WeldJointCode = Convert.ToString(jointCode); } } else { if (this.txtWeldJointCode.Text.Contains("G")) { Alert.ShowInTop("焊口编号不能包含G!", MessageBoxIcon.Warning); return; } joint.WeldJointCode = this.txtWeldJointCode.Text; } if (this.drpMaterial1.SelectedValue != BLL.Const._Null) { joint.Material1Id = this.drpMaterial1.SelectedValue; } if (this.drpMaterial2.SelectedValue != BLL.Const._Null) { joint.Material2Id = this.drpMaterial2.SelectedValue; } joint.Size = Funs.GetNewDecimal(this.txtSize.Text.Trim()); joint.Dia = Funs.GetNewDecimal(this.txtDia.Text.Trim()); joint.Thickness = Funs.GetNewDecimal(this.txtThickness.Text.Trim()); if (this.drpComponent1.SelectedValue != BLL.Const._Null) { joint.Components1Id = this.drpComponent1.SelectedValue; } if (this.drpComponent2.SelectedValue != BLL.Const._Null) { joint.Components2Id = this.drpComponent2.SelectedValue; } if (this.drpWeldingMethodId.SelectedValue != BLL.Const._Null) { joint.WeldingMethodId = drpWeldingMethodId.SelectedValue; } if (this.drpWeldingRod.SelectedValue != BLL.Const._Null) { joint.WeldingRod = drpWeldingRod.SelectedValue; } if (this.drpWeldingWire.SelectedValue != BLL.Const._Null) { joint.WeldingWire = drpWeldingWire.SelectedValue; } if (this.drpGrooveType.SelectedValue != BLL.Const._Null) { joint.GrooveTypeId = drpGrooveType.SelectedValue; } if (this.drpWeldTypeCode.SelectedValue != BLL.Const._Null) { joint.WeldTypeId = drpWeldTypeCode.SelectedValue; } joint.PreTemperature = this.txtPreTemperature.Text; joint.Specification = this.txtSpecification.Text; //var DetectionType = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode(this.txtDetectionTypeId.Text.Trim()); if (this.drpDetectionTypeId.SelectedValue != null) { joint.DetectionTypeId = this.drpDetectionTypeId.SelectedValue; } bool flag = false; if (Convert.ToBoolean(drpDesignIsHotProess.SelectedValue)) { flag = true; } if (flag) { joint.IsHotProess = true; } else { joint.IsHotProess = false; } joint.IsHotProess = Convert.ToBoolean(drpIsHotProess.SelectedValue); joint.DesignIsHotProess = Convert.ToBoolean(drpDesignIsHotProess.SelectedValue); joint.Remark = txtRemark.Text.Trim(); if (!string.IsNullOrEmpty(weldJointId)) { if (this.txtWpqId.Text != "") { joint.WPQId = this.txtWpqId.Text; } joint.WeldJointId = weldJointId; BLL.WeldJointService.UpdateWeldJoint(joint); } else { if (this.txtWpqId.Text != "") { joint.WPQId = this.txtWpqId.Text; } string newId = SQLHelper.GetNewID(typeof(Model.HJGL_WeldJoint)); joint.WeldJointId = newId; BLL.WeldJointService.AddWeldJoint(joint); } ShowNotify("提交成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } /// /// 根据焊缝类型获取探伤类型 /// /// /// protected void drpWeldTypeCode_SelectedIndexChanged(object sender, EventArgs e) { this.drpDetectionTypeId.Items.Clear(); if (this.drpWeldTypeCode.SelectedValue != Const._Null) { //var DetectionType = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(drpWeldTypeCode.SelectedValue); //List WTDetectionTypetr = new List(); //List PiPDetectionTypestr = new List(); ////根据焊缝类型获取探伤类型 //if (!string.IsNullOrEmpty(DetectionType.DetectionType)) //{ // string[] dtype = DetectionType.DetectionType.Split('|'); // for (int i = 0; i < dtype.Length; i++) // { // var DetectionTypeCode = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(dtype[i].ToString()); // WTDetectionTypetr.Add(DetectionTypeCode.DetectionTypeCode); // } //} ////管线表探伤类型 //if (!string.IsNullOrEmpty(this.txtDetectionType.Text.Trim())) //{ // string[] dtype = this.txtDetectionType.Text.Trim().Split(','); // for (int i = 0; i < dtype.Length; i++) // { // PiPDetectionTypestr.Add(dtype[i].ToString()); // } //} //var newlist = WTDetectionTypetr.Intersect(PiPDetectionTypestr).ToArray(); //if (newlist.Length > 0) //{ // this.txtDetectionTypeId.Text = newlist[0].ToString(); //} //else //{ // this.txtDetectionTypeId.Text = string.Empty; //} List dList = new List(); if (drpWeldTypeCode.SelectedItem.Text == "B") { Model.Base_DetectionType rt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("RT"); Model.Base_DetectionType ut = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("UT"); dList.Add(rt); dList.Add(ut); this.drpDetectionTypeId.DataSource = dList; this.drpDetectionTypeId.DataBind(); this.drpDetectionTypeId.SelectedValue = rt.DetectionTypeId; } else { Model.Base_DetectionType mt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("MT"); Model.Base_DetectionType pt = BLL.Base_DetectionTypeService.GetDetectionTypeIdByDetectionTypeCode("PT"); dList.Add(mt); dList.Add(pt); this.drpDetectionTypeId.DataSource = dList; this.drpDetectionTypeId.DataBind(); this.drpDetectionTypeId.SelectedValue = pt.DetectionTypeId; } } } /// /// 焊丝 /// /// /// protected void drpWeldingRod_SelectedIndexChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtWpqId.Text)) { var wps = BLL.WPQListServiceService.GetWPQById(txtWpqId.Text.Trim()); if (drpMaterial1.SelectedValue != Const._Null) { var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(drpMaterial1.SelectedValue); string matClass = mat.MaterialClass; if (matClass == "Fe-1" || matClass == "Fe-3") { var wpsRod = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(wps.WeldingRod); var matRod = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(drpWeldingRod.SelectedValue); if (IsCoverClass(wpsRod.SteelType, matRod.SteelType)) { } else { Alert.ShowInTop("焊口焊材强度需大于等于WPS焊材强度!", MessageBoxIcon.Warning); drpWeldingWire.SelectedValue = wps.WeldingRod; } } } else { drpWeldingWire.SelectedValue = wps.WeldingRod; } } } /// /// 焊条 /// /// /// protected void drpWeldingWire_SelectedIndexChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtWpqId.Text)) { var wps = BLL.WPQListServiceService.GetWPQById(txtWpqId.Text.Trim()); if (drpMaterial1.SelectedValue != Const._Null) { var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(drpMaterial1.SelectedValue); string matClass = mat.MaterialClass; if (matClass == "Fe-1" || matClass == "Fe-3") { var wpsWire = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(wps.WeldingWire); var matWire= BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(drpWeldingWire.SelectedValue); if (IsCoverClass(wpsWire.SteelType, matWire.SteelType)) { } else { Alert.ShowInTop("焊口焊材强度需大于等于WPS焊材强度!", MessageBoxIcon.Warning); drpWeldingWire.SelectedValue = wps.WeldingWire; } } } else { drpWeldingWire.SelectedValue = wps.WeldingWire; } } } /// /// 判断耗材强度是否大于WPS耗材强度,如是为true,否则为false /// /// /// /// private bool IsCoverClass(string wpsClass, string matClass) { bool isCover = false; int wpsSn = 0; int matSn = 0; string wpsPre = wpsClass.Substring(0, wpsClass.Length - 2); string matPre = matClass.Substring(0, matClass.Length - 2); string wps = wpsClass.Substring(wpsClass.Length - 1, 1); wpsSn = Funs.GetNewInt(wps).HasValue ? Funs.GetNewInt(wps).Value : 0; string mat = matClass.Substring(matClass.Length - 1, 1); matSn = Funs.GetNewInt(mat).HasValue ? Funs.GetNewInt(mat).Value : 0; if (wpsPre == matPre && matSn >= wpsSn) { return true; } return isCover; } #region 外径、壁厚输入框事件 /// /// 选择外径和壁厚自动获取规格 /// /// /// protected void txtText_TextChanged(object sender, EventArgs e) { string dn = string.Empty; string s = string.Empty; if (!string.IsNullOrEmpty(this.txtDia.Text.Trim())) { dn = this.txtDia.Text.Trim(); decimal dia = Funs.GetNewDecimalOrZero(this.txtDia.Text.Trim()); var inch = BLL.Base_DNCompareService.GetSizeByDia(dia); if (inch != null) { this.txtSize.Text = Convert.ToString(inch); } if (!string.IsNullOrEmpty(this.txtThickness.Text.Trim())) { this.txtSpecification.Text = "Φ" + dn + "*" + this.txtThickness.Text.Trim(); } } } #endregion protected void Window1_Close(object sender, WindowCloseEventArgs e) { var IsHotProess = this.txtIsHotProess.Text; if (IsHotProess == "True") { this.drpIsHotProess.SelectedValue = "True"; } else { if (!Convert.ToBoolean(drpDesignIsHotProess.SelectedValue )) { this.drpIsHotProess.SelectedValue = "False"; } } } protected void drpDesignIsHotProess_SelectedIndexChanged(object sender, EventArgs e) { if (drpDesignIsHotProess.SelectedValue != BLL.Const._Null) { if (Convert.ToBoolean(drpDesignIsHotProess.SelectedValue)) { this.drpIsHotProess.SelectedValue = "True"; } else { if (this.txtIsHotProess.Text == "False") { this.drpIsHotProess.SelectedValue = "False"; } } } } } }