feat(hjgl): 完善焊接任务与质量管理流程

This commit is contained in:
2026-08-19 17:13:33 +08:00
parent 08792e0dc8
commit 679e9f6cec
68 changed files with 2481 additions and 1170 deletions
@@ -50,6 +50,9 @@
<f:RenderField Width="120px" ColumnID="GrooveForm" DataField="GrooveForm" FieldType="String"
HeaderText="坡口形式" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="GrooveProcessType" DataField="GrooveProcessType" FieldType="String"
HeaderText="坡口加工类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="GrooveAngle" DataField="GrooveAngle" FieldType="Double"
HeaderText="坡口角度" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
@@ -32,6 +32,12 @@
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtGrooveProcessType" runat="server" Label="坡口加工类型" LabelWidth="170px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numGrooveAngle" runat="server" Label="坡口角度" LabelWidth="170px" DecimalPrecision="2">
@@ -78,6 +78,7 @@ namespace FineUIPro.Web.HJGL.PreWeld
drpWeldJoint.SelectedValue = model.WeldJointId;
numCuttingLength.Text = model.CuttingLength.HasValue ? model.CuttingLength.Value.ToString() : string.Empty;
txtGrooveForm.Text = model.GrooveForm;
txtGrooveProcessType.Text = model.GrooveProcessType;
numGrooveAngle.Text = model.GrooveAngle.HasValue ? model.GrooveAngle.Value.ToString() : string.Empty;
chkMaterialCodeBatchNo.Checked = model.IsMaterialCodeBatchNoAccurate;
chkMaterialQuantity.Checked = model.IsMaterialQuantityAccurate;
@@ -121,6 +122,7 @@ namespace FineUIPro.Web.HJGL.PreWeld
WeldJointId = drpWeldJoint.SelectedValue,
CuttingLength = string.IsNullOrWhiteSpace(numCuttingLength.Text) ? (decimal?)null : Convert.ToDecimal(numCuttingLength.Text),
GrooveForm = txtGrooveForm.Text.Trim(),
GrooveProcessType = txtGrooveProcessType.Text.Trim(),
GrooveAngle = string.IsNullOrWhiteSpace(numGrooveAngle.Text) ? (decimal?)null : Convert.ToDecimal(numGrooveAngle.Text),
IsMaterialCodeBatchNoAccurate = chkMaterialCodeBatchNo.Checked,
IsMaterialQuantityAccurate = chkMaterialQuantity.Checked,
@@ -134,22 +136,40 @@ namespace FineUIPro.Web.HJGL.PreWeld
SpecialReviewerId = ddlSpecialReviewer.SelectedValue
};
CuttingCheckId = APIPreWeldInspectionService.SaveCuttingCheck(item);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
try
{
CuttingCheckId = APIPreWeldInspectionService.SaveCuttingCheck(item);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
catch (ArgumentException ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Warning);
}
}
protected void btnReview_Click(object sender, EventArgs e)
{
APIPreWeldInspectionService.ReviewCuttingCheck(new Model.PreWeldCuttingCheckReviewInput
try
{
CuttingCheckId = CuttingCheckId,
ReviewerId = CurrUser.PersonId,
ReviewTime = DateTime.Now,
Remark = txtRemark.Text.Trim()
});
ShowNotify("专项审核已完成!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
APIPreWeldInspectionService.ReviewCuttingCheck(new Model.PreWeldCuttingCheckReviewInput
{
CuttingCheckId = CuttingCheckId,
ReviewerId = CurrUser.PersonId,
ReviewTime = DateTime.Now,
Remark = txtRemark.Text.Trim()
});
ShowNotify("专项审核已完成!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
catch (ArgumentException ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Warning);
}
catch (InvalidOperationException ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Warning);
}
}
protected void btnAttachUrl_Click(object sender, EventArgs e)
@@ -68,6 +68,11 @@ namespace FineUIPro.Web.HJGL.PreWeld
/// </remarks>
protected global::FineUIPro.TextBox txtGrooveForm;
/// <summary>
/// txtGrooveProcessType 控件。
/// </summary>
protected global::FineUIPro.TextBox txtGrooveProcessType;
/// <summary>
/// numGrooveAngle 控件。
/// </summary>
@@ -44,33 +44,12 @@
<f:RenderField Width="140px" ColumnID="WeldJointCode" DataField="WeldJointCode" FieldType="String"
HeaderText="焊口号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="GrooveTypeCode" DataField="GrooveTypeCode" FieldType="String"
HeaderText="坡口类型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="170px" ColumnID="GrooveProcessType" DataField="GrooveProcessType" FieldType="String"
HeaderText="坡口加工类型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="GrooveAngle" DataField="GrooveAngle" FieldType="Double"
HeaderText="坡口角度" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="FitupGap" DataField="FitupGap" FieldType="Double"
HeaderText="组对间隙" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Misalignment" DataField="Misalignment" FieldType="Double"
HeaderText="错边量" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="WeldReinforcement" DataField="WeldReinforcement" FieldType="Double"
HeaderText="焊缝余高" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="WeldHeight" DataField="WeldHeight" FieldType="Double"
HeaderText="焊缝高度" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="WeldWidth" DataField="WeldWidth" FieldType="Double"
HeaderText="焊缝宽度" HeaderTextAlign="Center" TextAlign="Right">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="SurfaceDefect" DataField="SurfaceDefect" FieldType="String"
HeaderText="表面缺陷" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="CheckResult" DataField="CheckResult" FieldType="String"
HeaderText="检查结果" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
@@ -20,25 +20,6 @@
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpGrooveType" runat="server" Label="坡口类型" Required="true"
ShowRedStar="true" LabelWidth="170px">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtGrooveProcessType" runat="server" Label="坡口加工类型" LabelWidth="170px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numGrooveAngle" runat="server" Label="坡口角度" LabelWidth="170px" DecimalPrecision="2">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numFitupGap" runat="server" Label="组对间隙" LabelWidth="170px" DecimalPrecision="2">
@@ -51,30 +32,6 @@
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numWeldReinforcement" runat="server" Label="焊缝余高" LabelWidth="170px" DecimalPrecision="2">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numWeldHeight" runat="server" Label="焊缝高度" LabelWidth="170px" DecimalPrecision="2">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox ID="numWeldWidth" runat="server" Label="焊缝宽度" LabelWidth="170px" DecimalPrecision="2">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtSurfaceDefect" runat="server" Label="表面缺陷" LabelWidth="170px">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlCheckResult" runat="server" Label="检查结果" LabelWidth="170px" Required="true"
@@ -20,7 +20,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
FitupCheckId = Request.Params["FitupCheckId"];
var weldJointId = Request.Params["WeldJointId"];
BindWeldJoint();
BindGrooveType();
BindCheckPerson();
ddlCheckResult.SelectedValue = "合格";
if (!string.IsNullOrEmpty(FitupCheckId))
@@ -66,14 +65,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(drpCheckPerson, CurrUser.LoginProjectId, null, null, true);
}
private void BindGrooveType()
{
drpGrooveType.DataTextField = "BaseInfoName";
drpGrooveType.DataValueField = "BaseInfoId";
drpGrooveType.DataSource = APIBaseInfoService.getGrooveType();
drpGrooveType.DataBind();
}
private void BindData()
{
var model = PreWeldInspectionService.GetFitupCheckById(FitupCheckId);
@@ -86,12 +77,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
{
drpWeldJoint.SelectedValue = weldJoint.WeldJointId;
drpWeldJoint.Enabled = false;
drpGrooveType.SelectedValue = weldJoint.GrooveTypeId;
txtGrooveProcessType.Text = weldJoint.GrooveProcessType;
if (weldJoint.GrooveAngle.HasValue)
{
numGrooveAngle.Text = weldJoint.GrooveAngle.Value.ToString();
}
if (weldJoint.FitupGap.HasValue)
{
numFitupGap.Text = weldJoint.FitupGap.Value.ToString();
@@ -103,12 +88,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
}
if (model != null)
{
drpGrooveType.SelectedValue = model.GrooveTypeId;
txtGrooveProcessType.Text = model.GrooveProcessType;
if (model.GrooveAngle.HasValue)
{
numGrooveAngle.Text = model.GrooveAngle.Value.ToString();
}
if (model.FitupGap.HasValue)
{
numFitupGap.Text = model.FitupGap.Value.ToString();
@@ -117,19 +96,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
{
numMisalignment.Text = model.Misalignment.Value.ToString();
}
if (model.WeldReinforcement.HasValue)
{
numWeldReinforcement.Text = model.WeldReinforcement.Value.ToString();
}
if (model.WeldHeight.HasValue)
{
numWeldHeight.Text = model.WeldHeight.Value.ToString();
}
if (model.WeldWidth.HasValue)
{
numWeldWidth.Text = model.WeldWidth.Value.ToString();
}
txtSurfaceDefect.Text = model.SurfaceDefect;
if (!string.IsNullOrEmpty(model.CheckResult))
{
ddlCheckResult.SelectedValue = model.CheckResult;
@@ -158,15 +124,8 @@ namespace FineUIPro.Web.HJGL.PreWeld
FitupCheckId = FitupCheckId,
ProjectId = CurrUser.LoginProjectId,
WeldJointId = drpWeldJoint.SelectedValue,
GrooveTypeId = drpGrooveType.SelectedValue,
GrooveProcessType = txtGrooveProcessType.Text.Trim(),
GrooveAngle = string.IsNullOrWhiteSpace(numGrooveAngle.Text) ? (decimal?)null : Convert.ToDecimal(numGrooveAngle.Text),
FitupGap = string.IsNullOrWhiteSpace(numFitupGap.Text) ? (decimal?)null : Convert.ToDecimal(numFitupGap.Text),
Misalignment = string.IsNullOrWhiteSpace(numMisalignment.Text) ? (decimal?)null : Convert.ToDecimal(numMisalignment.Text),
WeldReinforcement = string.IsNullOrWhiteSpace(numWeldReinforcement.Text) ? (decimal?)null : Convert.ToDecimal(numWeldReinforcement.Text),
WeldHeight = string.IsNullOrWhiteSpace(numWeldHeight.Text) ? (decimal?)null : Convert.ToDecimal(numWeldHeight.Text),
WeldWidth = string.IsNullOrWhiteSpace(numWeldWidth.Text) ? (decimal?)null : Convert.ToDecimal(numWeldWidth.Text),
SurfaceDefect = txtSurfaceDefect.Text.Trim(),
CheckResult = ddlCheckResult.SelectedValue,
CheckPerson = drpCheckPerson.SelectedValue,
CheckTime = dpCheckTime.SelectedDate ?? DateTime.Now,
@@ -176,9 +135,16 @@ namespace FineUIPro.Web.HJGL.PreWeld
Remark = txtRemark.Text.Trim()
};
FitupCheckId = APIPreWeldInspectionService.SaveFitupCheck(item);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
try
{
FitupCheckId = APIPreWeldInspectionService.SaveFitupCheck(item);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
catch (ArgumentException ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Warning);
}
}
protected void btnAttachUrl_Click(object sender, EventArgs e)
@@ -50,33 +50,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
/// </remarks>
protected global::FineUIPro.DropDownList drpWeldJoint;
/// <summary>
/// drpGrooveType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpGrooveType;
/// <summary>
/// txtGrooveProcessType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtGrooveProcessType;
/// <summary>
/// numGrooveAngle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numGrooveAngle;
/// <summary>
/// numFitupGap 控件。
/// </summary>
@@ -95,42 +68,6 @@ namespace FineUIPro.Web.HJGL.PreWeld
/// </remarks>
protected global::FineUIPro.NumberBox numMisalignment;
/// <summary>
/// numWeldReinforcement 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numWeldReinforcement;
/// <summary>
/// numWeldHeight 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numWeldHeight;
/// <summary>
/// numWeldWidth 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numWeldWidth;
/// <summary>
/// txtSurfaceDefect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtSurfaceDefect;
/// <summary>
/// ddlCheckResult 控件。
/// </summary>