feat(hjgl): 完善焊前检查和防腐检查流程

焊前检查需要同时覆盖下料、组对和防腐检查,并支持移动端查询与保存。
扩展焊前检查模型、服务和页面字段,补充检查结果、不合格原因、整改要求、
附件和防腐检查记录,便于按焊口和材料追溯检查过程。
This commit is contained in:
2026-07-07 10:40:21 +08:00
parent 02b524b895
commit bb6615ebb0
57 changed files with 5035 additions and 2057 deletions
@@ -19,12 +19,15 @@ namespace FineUIPro.Web.HJGL.PreWeld
btnClose.OnClientClick = ActiveWindow.GetHideReference();
CuttingCheckId = Request.Params["CuttingCheckId"];
BindWeldJoint();
BindCheckPerson();
ddlCheckResult.SelectedValue = "合格";
if (!string.IsNullOrEmpty(CuttingCheckId))
{
BindData();
}
else
{
drpCheckPerson.SelectedValue = CurrUser.PersonId;
dpCheckTime.SelectedDate = DateTime.Now;
}
}
@@ -49,6 +52,11 @@ namespace FineUIPro.Web.HJGL.PreWeld
}
}
private void BindCheckPerson()
{
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(drpCheckPerson, CurrUser.LoginProjectId, null, null, true);
}
private void BindData()
{
var model = PreWeldInspectionService.GetCuttingCheckById(CuttingCheckId);
@@ -58,9 +66,22 @@ namespace FineUIPro.Web.HJGL.PreWeld
}
drpWeldJoint.SelectedValue = model.WeldJointId;
numCuttingLength.Text = model.CuttingLength.HasValue ? model.CuttingLength.Value.ToString() : string.Empty;
txtGrooveForm.Text = model.GrooveForm;
numGrooveAngle.Text = model.GrooveAngle.HasValue ? model.GrooveAngle.Value.ToString() : string.Empty;
chkMaterialCodeBatchNo.Checked = model.IsMaterialCodeBatchNoAccurate;
chkMaterialQuantity.Checked = model.IsMaterialQuantityAccurate;
if (!string.IsNullOrEmpty(model.CheckResult))
{
ddlCheckResult.SelectedValue = model.CheckResult;
}
if (!string.IsNullOrEmpty(model.CheckPerson))
{
drpCheckPerson.SelectedValue = model.CheckPerson;
}
dpCheckTime.SelectedDate = model.CheckTime;
txtUnqualifiedReason.Text = model.UnqualifiedReason;
txtRectifyRequirement.Text = model.RectifyRequirement;
txtRemark.Text = model.Remark;
}
@@ -72,32 +93,33 @@ namespace FineUIPro.Web.HJGL.PreWeld
return;
}
var item = new Model.PreWeldCuttingCheckItem
var item = new Model.PreWeldCuttingCheckInput
{
CuttingCheckId = CuttingCheckId,
ProjectId = CurrUser.LoginProjectId,
WeldJointId = drpWeldJoint.SelectedValue,
CuttingLength = string.IsNullOrWhiteSpace(numCuttingLength.Text) ? (decimal?)null : Convert.ToDecimal(numCuttingLength.Text),
GrooveForm = txtGrooveForm.Text.Trim(),
GrooveAngle = string.IsNullOrWhiteSpace(numGrooveAngle.Text) ? (decimal?)null : Convert.ToDecimal(numGrooveAngle.Text),
IsMaterialCodeBatchNoAccurate = chkMaterialCodeBatchNo.Checked,
IsMaterialQuantityAccurate = chkMaterialQuantity.Checked,
CheckPerson = CurrUser.PersonId,
CheckResult = ddlCheckResult.SelectedValue,
CheckPerson = drpCheckPerson.SelectedValue,
CheckTime = dpCheckTime.SelectedDate ?? DateTime.Now,
CreateUser = CurrUser.PersonId,
UnqualifiedReason = txtUnqualifiedReason.Text.Trim(),
RectifyRequirement = txtRectifyRequirement.Text.Trim(),
Remark = txtRemark.Text.Trim()
};
APIPreWeldInspectionService.SaveCuttingCheck(item);
CuttingCheckId = APIPreWeldInspectionService.SaveCuttingCheck(item);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
string cuttingCheckId = CuttingCheckId;
if (string.IsNullOrEmpty(cuttingCheckId) && !string.IsNullOrEmpty(drpWeldJoint.SelectedValue))
{
var check = Funs.DB.HJGL_PreWeldCuttingCheck.FirstOrDefault(x => x.WeldJointId == drpWeldJoint.SelectedValue);
cuttingCheckId = check == null ? string.Empty : check.CuttingCheckId;
}
if (string.IsNullOrEmpty(cuttingCheckId))
if (string.IsNullOrEmpty(CuttingCheckId))
{
Alert.ShowInTop("请先保存下料抽检记录后再上传附件!", MessageBoxIcon.Warning);
return;
@@ -105,7 +127,7 @@ namespace FineUIPro.Web.HJGL.PreWeld
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
string.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/HJGL/PreWeld/CuttingCheck&menuId={1}&edit=1&type=-1",
cuttingCheckId, Const.HJGL_PreWeldCuttingCheckMenuId)));
CuttingCheckId, Const.HJGL_PreWeldCuttingCheckMenuId)));
}
}
}