ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/YLRQ/TestDataManagement/UTReportEdit.aspx.cs

531 lines
24 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using FineUIPro.Web.HJGL.CheckManage;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.YLRQ.TestDataManagement
{
public partial class UTReportEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string TestingReportPrintId
{
get
{
return (string)ViewState["TestingReportPrintId"];
}
set
{
ViewState["TestingReportPrintId"] = value;
}
}
/// <summary>
/// 检测报告Id
/// </summary>
private string ReportPrintId
{
get
{
return (string)ViewState["ReportPrintId"];
}
set
{
ViewState["ReportPrintId"] = value;
}
}
/// <summary>
/// 规格
/// </summary>
private string Specifications
{
get
{
return (string)ViewState["Specifications"];
}
set
{
ViewState["Specifications"] = value;
}
}
/// <summary>
/// 检测类型主键
/// </summary>
private string NDT_ID
{
get
{
return (string)ViewState["NDT_ID"];
}
set
{
ViewState["NDT_ID"] = value;
}
}
/// <summary>
/// 委托单
/// </summary>
private string EntrustId
{
get
{
return (string)ViewState["EntrustId"];
}
set
{
ViewState["EntrustId"] = value;
}
}
/// <summary>
/// 焊缝主键
/// </summary>
private string WeldingId
{
get
{
return (string)ViewState["WeldingId"];
}
set
{
ViewState["WeldingId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
#region
//检测技术等级
this.drpTechnicalGrade.DataValueField = "ConstValue";
this.drpTechnicalGrade.DataTextField = "ConstText";
this.drpTechnicalGrade.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_TechnicalGrade);
this.drpTechnicalGrade.DataBind();
Funs.FineUIPleaseSelect(this.drpTechnicalGrade);
//检测时机
this.drpTestingTime.DataValueField = "ConstValue";
this.drpTestingTime.DataTextField = "ConstText";
this.drpTestingTime.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_TestingTime);
this.drpTestingTime.DataBind();
Funs.FineUIPleaseSelect(this.drpTestingTime);
//热处理状态
this.drpHotProessState.DataValueField = "ConstValue";
this.drpHotProessState.DataTextField = "ConstText";
this.drpHotProessState.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_HotProessState);
this.drpHotProessState.DataBind();
Funs.FineUIPleaseSelect(this.drpHotProessState);
//检测面
this.drpDetectionSurface.DataValueField = "ConstValue";
this.drpDetectionSurface.DataTextField = "ConstText";
this.drpDetectionSurface.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_DetectionSurface);
this.drpDetectionSurface.DataBind();
Funs.FineUIPleaseSelect(this.drpDetectionSurface);
//标准试块1
this.drpStandardTestBlock.DataValueField = "ConstValue";
this.drpStandardTestBlock.DataTextField = "ConstText";
this.drpStandardTestBlock.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_StandardTestBlock);
this.drpStandardTestBlock.DataBind();
Funs.FineUIPleaseSelect(this.drpStandardTestBlock);
//标准试块2
this.drpStandardTestBlock2.DataValueField = "ConstValue";
this.drpStandardTestBlock2.DataTextField = "ConstText";
this.drpStandardTestBlock2.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_StandardTestBlock);
this.drpStandardTestBlock2.DataBind();
Funs.FineUIPleaseSelect(this.drpStandardTestBlock2);
//设备型号
this.drpEquipmentCode.DataValueField = "ConstValue";
this.drpEquipmentCode.DataTextField = "ConstText";
this.drpEquipmentCode.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_UTEquipmentModel);
this.drpEquipmentCode.DataBind();
Funs.FineUIPleaseSelect(this.drpEquipmentCode);
//检测灵敏度
this.drpDetectionSensitivity.DataValueField = "ConstValue";
this.drpDetectionSensitivity.DataTextField = "ConstText";
this.drpDetectionSensitivity.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_DetectionSensitivity);
this.drpDetectionSensitivity.DataBind();
Funs.FineUIPleaseSelect(this.drpDetectionSensitivity);
//耦合剂
this.drpCouplingAgent.DataValueField = "ConstValue";
this.drpCouplingAgent.DataTextField = "ConstText";
this.drpCouplingAgent.DataSource = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_CouplingAgent);
this.drpCouplingAgent.DataBind();
Funs.FineUIPleaseSelect(this.drpCouplingAgent);
#endregion
this.ReportPrintId = HttpUtility.UrlDecode(Request.Params["reportPrintId"]);
if (!string.IsNullOrEmpty(this.ReportPrintId))
{
WeldingId = ReportPrintId.Split('|')[0];
Specifications = ReportPrintId.Split('|')[1];
NDT_ID = ReportPrintId.Split('|')[2];
EntrustId = ReportPrintId.Split('|')[3];
string WeldingCode = ReportPrintId.Split('|')[4];
var trust = Funs.DB.PV_EntrustRecord.FirstOrDefault(p => p.Id == EntrustId);
var pro = Funs.DB.Base_Project.FirstOrDefault(s => s.ProjectId == trust.ProjectId);
var weld = Funs.DB.PV_WeldInformation.FirstOrDefault(p => p.WeldingId == WeldingId);
this.txtCH_TrustUnit.Text = "舟山分公司";
this.txtContractUnit.Text = "镇海石化建安工程有限公司";
if (weld != null)
{
this.txtWeldingCode.Text = weld.WeldingCode;
this.txtIso_No.Text = weld.WeldingCode;//焊缝名称(添加的时候没有用到此字段,暂时赋这个值)
var ste = Funs.DB.HJGL_BS_Steel.FirstOrDefault(s => s.STE_ID == weld.TextureMaterial1);
if (ste != null)
{
this.txtSteelCode.Text = ste.STE_Code;
}
var ndt = Funs.DB.PV_TestMethod.FirstOrDefault(p => p.Ndt_Id == this.NDT_ID);
if (ndt != null)
{
this.txtNDTR_Name.Text = ndt.Ndt_NdtName;
this.txtCH_NDTCriteria.Text = ndt.Ndt_TestStandardCode;
this.txtCH_AcceptGrade.Text = ndt.Ndt_Level;
}
var wme = Funs.DB.HJGL_BS_WeldMethod.FirstOrDefault(p => p.WME_ID == Request.Params["WME_ID"]);
if (wme != null)
{
this.txtWME_Name.Text = wme.WME_Name;
}
var slop = Funs.DB.HJGL_BS_SlopeType.FirstOrDefault(p => p.JST_ID == weld.GrooveType);
if (slop != null)
{
txtSlopeType.Text = slop.JST_Name;
}
}
this.txtSpecifications.Text = Specifications;//检件规格
this.drpHotProessState.Text = "消应力";//热处理状态
this.drpTestingTime.Text = "焊后";
this.txtSurfaceState.Text = "机械打磨";
this.txtProbeType.Text = "2.5MHZ10×10K2";
this.txtSurfaceCompensation.Text = " dB";
this.txtScanningRate.Text = "声程1:1";
string jotyName = string.Empty;
var utReport = Funs.DB.PV_CH_TestingReportPrint.FirstOrDefault(s => s.Specifications == Specifications && s.NdtId == NDT_ID && s.EntrustId == EntrustId && s.STE_ID == Request.Params["STE_ID"] && s.STE_ID2 == Request.Params["STE_ID2"] && s.WME_ID == Request.Params["WME_ID"]);
if (utReport != null)
{
this.txtContractUnit.Text = utReport.ContractUnitId;
this.TestingReportPrintId = utReport.TestingReportPrintId;
if (!string.IsNullOrEmpty(utReport.ReportCode) && utReport.ReportCode.Length > 3)
{
this.txtUTReportCode.Text = utReport.ReportCode.Substring(3);//报表编号
}
else
{
this.txtUTReportCode.Text = utReport.ReportCode;
}
this.hdReportCode.Text = utReport.ReportCode;
this.drpTechnicalGrade.Text = utReport.UT_TechnicalGrade;//技术等级
this.drpDetectionSurface.Text = utReport.UT_DetectionSurface;//检测面
this.txtSurfaceState.Text = utReport.UT_SurfaceState;//表面状态
this.drpStandardTestBlock.Text = utReport.UT_StandardTestBlock;//标准试块1
this.drpStandardTestBlock2.Text = utReport.UT_StandardTestBlock2;//标准试块2
this.txtProbeType.Text = utReport.UT_ProbeType;//探头型号
this.txtSurfaceCompensation.Text = utReport.UT_SurfaceCompensation;//表面补偿
this.txtScanningRate.Text = utReport.UT_ScanningRate;//扫描比例
this.drpDetectionSensitivity.Text = utReport.UT_DetectionSensitivity;//检测灵敏度
this.drpCouplingAgent.Text = utReport.UT_CouplingAgent;//耦合剂
this.drpEquipmentCode.Text = utReport.EquipmentCode;
this.drpTestingTime.Text = utReport.TestingTime;
this.txtPrinter.Text = utReport.Printer;//打印人
this.txtPrintTime.Text = string.Format("{0:yyyy-MM-dd}", utReport.PrintTime);//打印时间
if (!string.IsNullOrEmpty(this.txtPrinter.Text.Trim()) && !string.IsNullOrEmpty(this.txtPrintTime.Text.Trim()))
{
this.cbIsPrint.Checked = true;
}
this.drpHotProessState.Text = utReport.HotProessState;
}
else
{
this.hdReportCode.Text = BLL.SQLHelper.RunProcNewIdByProjectId("SpGetNewCodeByProjectId3", "PV_CH_TestingReportPrint", "ReportCode", pro.ProjectId, "UT-" + pro.TestEngineeringCode + "-");
this.txtUTReportCode.Text = this.hdReportCode.Text.Substring(3);
this.txtContractUnit.Text = "镇海石化建安工程有限公司";
this.txtSurfaceState.Text = "机械打磨";
this.txtProbeType.Text = "2.5MHZ10×10K2";
this.txtSurfaceCompensation.Text = " dB";
this.txtScanningRate.Text = "声程1:1";
}
BindGrid();
}
}
}
#endregion
#region
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
var p = Funs.DB.PV_EntrustRecord.FirstOrDefault(s => s.Id == EntrustId);
Model.PV_CH_TestingReportPrint newUTReport = new Model.PV_CH_TestingReportPrint();
newUTReport.WeldingId = this.WeldingId;
if (!string.IsNullOrEmpty(this.TestingReportPrintId))
{
newUTReport = Funs.DB.PV_CH_TestingReportPrint.FirstOrDefault(s => s.TestingReportPrintId == this.TestingReportPrintId);
}
if (p != null)
{
newUTReport.ProjectId = p.ProjectId;
}
newUTReport.Specifications = this.Specifications;
newUTReport.NdtId = this.NDT_ID;
newUTReport.EntrustId = this.EntrustId;
newUTReport.JotyName = this.txtIso_No.Text;
newUTReport.ReportCode = this.hdReportCode.Text.Trim();
newUTReport.ContractUnitId = this.txtContractUnit.Text.Trim();
if (this.drpTechnicalGrade.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpTechnicalGrade.Text.Trim()))
{
newUTReport.UT_TechnicalGrade = this.drpTechnicalGrade.Text.Trim();
}
else
{
newUTReport.UT_TechnicalGrade = this.drpTechnicalGrade.SelectedValue;
}
}
if (this.drpDetectionSurface.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpDetectionSurface.Text.Trim()))
{
newUTReport.UT_DetectionSurface = this.drpDetectionSurface.Text.Trim();
}
else
{
newUTReport.UT_DetectionSurface = this.drpDetectionSurface.SelectedValue;
}
}
newUTReport.UT_SurfaceState = this.txtSurfaceState.Text.Trim();
if (this.drpStandardTestBlock.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpStandardTestBlock.Text.Trim()))
{
newUTReport.UT_StandardTestBlock = this.drpStandardTestBlock.Text.Trim();
}
else
{
newUTReport.UT_StandardTestBlock = this.drpStandardTestBlock.SelectedValue;
}
}
if (this.drpStandardTestBlock2.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpStandardTestBlock2.Text.Trim()))
{
newUTReport.UT_StandardTestBlock2 = this.drpStandardTestBlock2.Text.Trim();
}
else
{
newUTReport.UT_StandardTestBlock2 = this.drpStandardTestBlock2.SelectedValue;
}
}
newUTReport.UT_ProbeType = this.txtProbeType.Text.Trim();
newUTReport.UT_SurfaceCompensation = this.txtSurfaceCompensation.Text.Trim();
newUTReport.UT_ScanningRate = this.txtScanningRate.Text.Trim();
if (this.drpDetectionSensitivity.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpDetectionSensitivity.Text.Trim()))
{
newUTReport.UT_DetectionSensitivity = this.drpDetectionSensitivity.Text.Trim();
}
else
{
newUTReport.UT_DetectionSensitivity = this.drpDetectionSensitivity.SelectedValue;
}
}
if (this.drpCouplingAgent.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpCouplingAgent.Text.Trim()))
{
newUTReport.UT_CouplingAgent = this.drpCouplingAgent.Text.Trim();
}
else
{
newUTReport.UT_CouplingAgent = this.drpCouplingAgent.SelectedValue;
}
}
if (this.drpTestingTime.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpTestingTime.Text.Trim()))
{
newUTReport.TestingTime = this.drpTestingTime.Text.Trim();
}
else
{
newUTReport.TestingTime = this.drpTestingTime.SelectedValue;
}
}
if (this.drpEquipmentCode.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpEquipmentCode.Text.Trim()))
{
newUTReport.EquipmentCode = this.drpEquipmentCode.Text.Trim();
}
else
{
newUTReport.EquipmentCode = this.drpEquipmentCode.SelectedValue;
}
}
newUTReport.Printer = this.txtPrinter.Text.Trim();
newUTReport.PrintTime = Funs.GetNewDateTime(this.txtPrintTime.Text.Trim());
if (this.drpHotProessState.SelectedValue != BLL.Const._Null)
{
if (!string.IsNullOrEmpty(this.drpHotProessState.Text.Trim()))
{
newUTReport.HotProessState = this.drpHotProessState.Text.Trim();
}
else
{
newUTReport.HotProessState = this.drpHotProessState.SelectedValue;
}
}
newUTReport.STE_ID = Request.Params["STE_ID"];
newUTReport.STE_ID2 = Request.Params["STE_ID2"];
newUTReport.WME_ID = Request.Params["WME_ID"];
if (string.IsNullOrEmpty(this.TestingReportPrintId))
{
newUTReport.Type = "UT";
this.TestingReportPrintId = SQLHelper.GetNewID(typeof(Model.PV_CH_TestingReportPrint));
newUTReport.TestingReportPrintId = this.TestingReportPrintId;
Funs.DB.PV_CH_TestingReportPrint.InsertOnSubmit(newUTReport);
}
Funs.DB.SubmitChanges();
ShowNotify("提交成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideReference());
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT QualityRating.QualityRatingId,
QualityRating.MethodId,
QualityRating.WeldingId,
test.Ndt_NdtCode,
JointInfo.JointDesc,
JointInfo.WeldingCode,
QualityRating.FilmNum,
(select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, WED_Code) FROM (select Welder.WED_Code from HJGL_BS_Welder as Welder where Welder.WED_ID in (select Id from StrToTable(JointInfo.BackingWelderId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a)+','+(select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, WED_Code) FROM (select Welder.WED_Code from HJGL_BS_Welder as Welder where Welder.WED_ID in (select Id from StrToTable(JointInfo.CoverWelderId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) as WED_Code,
QualityRating.DefectNature,
QualityRating.DefectSize,
QualityRating.DefectResult,
QualityRating.Remark
FROM dbo.PV_BO_QualityRating AS QualityRating
left join PV_ManagementMethod as record on record.MethodId=QualityRating.MethodId
LEFT JOIN dbo.PV_EntrustRecord trust ON trust.Id = record.EntrustId
LEFT JOIN DBO.PV_WeldInformation AS JointInfo ON JointInfo.WeldingId=QualityRating.WeldingId
left join PV_TestMethod as test on test.Ndt_Id=trust.NdtId
WHERE QualityRating.WeldingId=@WeldingId
AND JointInfo.JointDesc=@JointDesc
AND JointInfo.TextureMaterial1=@STE_ID AND (JointInfo.TextureMaterial2=@STE_ID2 or @STE_ID2='')
AND JointInfo.WmeId=@WME_ID
AND trust.NdtId = @NDT
AND trust.Id=@EntrustId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@WeldingId", this.WeldingId));
listStr.Add(new SqlParameter("@JointDesc", this.Specifications));
listStr.Add(new SqlParameter("@NDT", this.NDT_ID));
listStr.Add(new SqlParameter("@EntrustId", this.EntrustId));
listStr.Add(new SqlParameter("@STE_ID", Request.Params["STE_ID"]));
listStr.Add(new SqlParameter("@STE_ID2", Request.Params["STE_ID2"]));
listStr.Add(new SqlParameter("@WME_ID", Request.Params["WME_ID"]));
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
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
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);
BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 是否打印点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void cbIsPrint_CheckedChanged(object sender, CheckedEventArgs e)
{
if (this.cbIsPrint.Checked == false)
{
this.txtPrinter.Text = string.Empty;
this.txtPrintTime.Text = string.Empty;
}
}
#endregion
}
}