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
@@ -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))