feat: 完善焊接质量检查和材料管理

补齐焊前专项审核和焊缝外观检测流程,统一质检查询、附件处理与材料明细导出,提升业务数据追溯和组件匹配使用效率。
This commit is contained in:
2026-08-10 17:58:55 +08:00
parent bd73295ff8
commit 2de696fad2
48 changed files with 2252 additions and 131 deletions
@@ -68,6 +68,12 @@
<f:RenderField Width="120px" ColumnID="CheckResult" DataField="CheckResult" FieldType="String"
HeaderText="检查结果" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="ReviewStateText" DataField="ReviewStateText" FieldType="String"
HeaderText="专项审核状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SpecialReviewerName" DataField="SpecialReviewerName" FieldType="String"
HeaderText="专项审核办理人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="CreateTime" DataField="CreateTime" FieldType="Date"
RendererArgument="yyyy-MM-dd HH:mm" HeaderText="创建时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
@@ -52,6 +52,18 @@
</f:CheckBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlSpecialReviewer" runat="server" Label="专项审核办理人" LabelWidth="170px" EnableEdit="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtMaterialFeedback" runat="server" Label="两侧主编码反馈" LabelWidth="170px" Enabled="false">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlCheckResult" runat="server" Label="检查结果" LabelWidth="170px" Required="true"
@@ -107,6 +119,8 @@
<f:Button ID="btnSave" Text="保存" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnReview" Text="审核" Icon="SystemSave" runat="server" Hidden="true" OnClick="btnReview_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" Text="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
@@ -20,10 +20,12 @@ namespace FineUIPro.Web.HJGL.PreWeld
CuttingCheckId = Request.Params["CuttingCheckId"];
BindWeldJoint();
BindCheckPerson();
BindSpecialReviewer();
ddlCheckResult.SelectedValue = "合格";
if (!string.IsNullOrEmpty(CuttingCheckId))
{
BindData();
btnReview.Hidden = Request.Params["review"] != "1";
}
else
{
@@ -57,6 +59,14 @@ namespace FineUIPro.Web.HJGL.PreWeld
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(drpCheckPerson, CurrUser.LoginProjectId, null, null, true);
}
private void BindSpecialReviewer()
{
ddlSpecialReviewer.DataTextField = "BaseInfoName";
ddlSpecialReviewer.DataValueField = "BaseInfoId";
ddlSpecialReviewer.DataSource = APIPreWeldInspectionService.GetSpecialReviewers(CurrUser.LoginProjectId);
ddlSpecialReviewer.DataBind();
}
private void BindData()
{
var model = PreWeldInspectionService.GetCuttingCheckById(CuttingCheckId);
@@ -83,6 +93,17 @@ namespace FineUIPro.Web.HJGL.PreWeld
txtUnqualifiedReason.Text = model.UnqualifiedReason;
txtRectifyRequirement.Text = model.RectifyRequirement;
txtRemark.Text = model.Remark;
if (!string.IsNullOrEmpty(model.SpecialReviewerId))
{
ddlSpecialReviewer.SelectedValue = model.SpecialReviewerId;
}
var detail = PreWeldInspectionService.GetCuttingCheckItemsByWeldJointId(model.WeldJointId)
.FirstOrDefault(x => x.CuttingCheckId == CuttingCheckId);
if (detail != null && detail.Materials != null)
{
txtMaterialFeedback.Text = string.Join("\r\n", detail.Materials.Select(x => string.Format(
"第{0}侧:{1} → {2}", x.MaterialSide, x.OriginalMainCode, x.ReportedMainCode)));
}
}
protected void btnSave_Click(object sender, EventArgs e)
@@ -109,7 +130,8 @@ namespace FineUIPro.Web.HJGL.PreWeld
CreateUser = CurrUser.PersonId,
UnqualifiedReason = txtUnqualifiedReason.Text.Trim(),
RectifyRequirement = txtRectifyRequirement.Text.Trim(),
Remark = txtRemark.Text.Trim()
Remark = txtRemark.Text.Trim(),
SpecialReviewerId = ddlSpecialReviewer.SelectedValue
};
CuttingCheckId = APIPreWeldInspectionService.SaveCuttingCheck(item);
@@ -117,6 +139,19 @@ namespace FineUIPro.Web.HJGL.PreWeld
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
protected void btnReview_Click(object sender, EventArgs e)
{
APIPreWeldInspectionService.ReviewCuttingCheck(new Model.PreWeldCuttingCheckReviewInput
{
CuttingCheckId = CuttingCheckId,
ReviewerId = CurrUser.PersonId,
ReviewTime = DateTime.Now,
Remark = txtRemark.Text.Trim()
});
ShowNotify("专项审核已完成!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(CuttingCheckId))
@@ -95,6 +95,10 @@ namespace FineUIPro.Web.HJGL.PreWeld
/// </remarks>
protected global::FineUIPro.CheckBox chkMaterialQuantity;
protected global::FineUIPro.DropDownList ddlSpecialReviewer;
protected global::FineUIPro.TextArea txtMaterialFeedback;
/// <summary>
/// ddlCheckResult 控件。
/// </summary>
@@ -176,6 +180,8 @@ namespace FineUIPro.Web.HJGL.PreWeld
/// </remarks>
protected global::FineUIPro.Button btnSave;
protected global::FineUIPro.Button btnReview;
/// <summary>
/// btnClose 控件。
/// </summary>