diff --git a/SGGL/BLL/HJGL/WeldingManage/WeldingDailyService.cs b/SGGL/BLL/HJGL/WeldingManage/WeldingDailyService.cs
index 7943929a..160fcfb8 100644
--- a/SGGL/BLL/HJGL/WeldingManage/WeldingDailyService.cs
+++ b/SGGL/BLL/HJGL/WeldingManage/WeldingDailyService.cs
@@ -382,6 +382,53 @@ namespace BLL
}, out totalCount).FirstOrDefault();
}
+ ///
+ /// 更新待审核明细的实际施工工艺参数。
+ ///
+ /// 待审核明细及四项工艺参数
+ /// 错误信息,空字符串表示成功
+ public static string UpdateWeldingDailyTempDetailParameters(Model.WeldingDailyTempDetailEditInput input)
+ {
+ if (input == null || string.IsNullOrWhiteSpace(input.TempDetailId)
+ || string.IsNullOrWhiteSpace(input.ProjectId))
+ {
+ return "待审核明细或项目不能为空";
+ }
+
+ string weldingMethodId = NormalizeOptionalId(input.WeldingMethodId);
+ string weldTypeId = NormalizeOptionalId(input.WeldTypeId);
+ string weldingWire = NormalizeOptionalId(input.WeldingWire);
+ string weldingRod = NormalizeOptionalId(input.WeldingRod);
+ string parameterError = ValidatePendingWeldingParameters(
+ weldingMethodId, weldTypeId, weldingWire, weldingRod);
+ if (!string.IsNullOrEmpty(parameterError))
+ {
+ return parameterError;
+ }
+
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var detail = db.HJGL_WeldingDailyTempDetail.FirstOrDefault(x =>
+ x.TempDetailId == input.TempDetailId && x.ProjectId == input.ProjectId);
+ if (detail == null)
+ {
+ return "待审核明细不存在";
+ }
+ if (detail.AuditState >= AuditStateApproved)
+ {
+ return "该明细已完成审核,不能修改";
+ }
+
+ // 编辑页只维护临时工艺快照;正式焊口仍在专工审核通过时统一回写。
+ detail.WeldingMethodId = weldingMethodId;
+ detail.WeldTypeId = weldTypeId;
+ detail.WeldingWire = weldingWire;
+ detail.WeldingRod = weldingRod;
+ db.SubmitChanges();
+ }
+ return string.Empty;
+ }
+
///
/// 构造待审核查询。PC端列表和接口列表、明细均从这里读取,确保字段映射和待审核状态一致。
///
@@ -1109,6 +1156,11 @@ namespace BLL
}
}
+ private static string NormalizeOptionalId(string value)
+ {
+ return string.IsNullOrWhiteSpace(value) ? null : value.Trim();
+ }
+
private static string FirstNotEmpty(params string[] values)
{
return values == null ? null : values.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x));
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 1c442671..f9a771b8 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1719,6 +1719,7 @@
+
@@ -11584,6 +11585,13 @@
WeldReport.aspx
ASPXCodeBehind
+
+ WeldingDailyTempDetailEdit.aspx
+ ASPXCodeBehind
+
+
+ WeldingDailyTempDetailEdit.aspx
+
WeldAppearanceCheck.aspx
ASPXCodeBehind
@@ -17342,4 +17350,4 @@
-->
-
\ No newline at end of file
+
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx
index 7c2b419a..7888c75b 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx
@@ -266,6 +266,11 @@
+
+
@@ -364,6 +369,10 @@
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.cs
index f2a0a78c..7a820fd4 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.cs
@@ -634,6 +634,14 @@ namespace FineUIPro.Web.HJGL.WeldingManage
this.BindGrid();
}
+ ///
+ /// 关闭待审核工艺编辑窗口后刷新当前页。
+ ///
+ protected void WindowPendingEdit_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindPendingGrid();
+ }
+
///
/// 查询
///
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.designer.cs
index 9cdf5840..bd94fb21 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReport.aspx.designer.cs
@@ -410,6 +410,11 @@ namespace FineUIPro.Web.HJGL.WeldingManage
///
protected global::FineUIPro.DropDownList ddlPendingPageSize;
+ ///
+ /// WindowPendingEdit 控件。
+ ///
+ protected global::FineUIPro.Window WindowPendingEdit;
+
///
/// Window1 控件。
///
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx
new file mode 100644
index 00000000..b3aa80e3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx
@@ -0,0 +1,50 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeldingDailyTempDetailEdit.aspx.cs" Inherits="FineUIPro.Web.HJGL.WeldingManage.WeldingDailyTempDetailEdit" %>
+
+
+
+
+ 编辑待审核焊接工艺
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.cs
new file mode 100644
index 00000000..f5254387
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.cs
@@ -0,0 +1,96 @@
+using BLL;
+using System;
+
+namespace FineUIPro.Web.HJGL.WeldingManage
+{
+ public partial class WeldingDailyTempDetailEdit : PageBase
+ {
+ private string TempDetailId
+ {
+ get { return (string)ViewState["TempDetailId"]; }
+ set { ViewState["TempDetailId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (IsPostBack)
+ {
+ return;
+ }
+
+ btnClose.OnClientClick = ActiveWindow.GetHideReference();
+ TempDetailId = Request.Params["TempDetailId"];
+ BindProcessDropDownLists();
+ BindDetail();
+ }
+
+ private void BindProcessDropDownLists()
+ {
+ Base_WeldingMethodService.InitWeldingMethodDropDownList(drpWeldingMethod, true, "请选择");
+ Base_WeldTypeService.InitWeldTypeDropDownList(drpWeldType, "请选择", true);
+ Base_ConsumablesService.InitConsumablesDropDownList(drpWeldingWire, true, "1", "请选择");
+ Base_ConsumablesService.InitConsumablesDropDownList(drpWeldingRod, true, "2", "请选择");
+ }
+
+ private void BindDetail()
+ {
+ var detail = WeldingDailyService.GetWeldingDailyTempDetailById(TempDetailId);
+ if (detail == null || detail.ProjectId != CurrUser.LoginProjectId)
+ {
+ btnSave.Enabled = false;
+ Alert.ShowInTop("待审核明细不存在!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ txtPipelineCode.Text = detail.PipelineCode;
+ txtWeldJointCode.Text = detail.WeldJointCode;
+ SetSelectedValue(drpWeldingMethod, detail.WeldingMethodId);
+ SetSelectedValue(drpWeldType, detail.WeldTypeId);
+ SetSelectedValue(drpWeldingWire, detail.WeldingWire);
+ SetSelectedValue(drpWeldingRod, detail.WeldingRod);
+ }
+
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (!CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId,
+ Const.HJGL_WeldReportMenuId, Const.BtnModify))
+ {
+ Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ string error = WeldingDailyService.UpdateWeldingDailyTempDetailParameters(
+ new Model.WeldingDailyTempDetailEditInput
+ {
+ TempDetailId = TempDetailId,
+ ProjectId = CurrUser.LoginProjectId,
+ WeldingMethodId = NormalizeSelectedValue(drpWeldingMethod.SelectedValue),
+ WeldTypeId = NormalizeSelectedValue(drpWeldType.SelectedValue),
+ WeldingWire = NormalizeSelectedValue(drpWeldingWire.SelectedValue),
+ WeldingRod = NormalizeSelectedValue(drpWeldingRod.SelectedValue)
+ });
+ if (!string.IsNullOrEmpty(error))
+ {
+ ShowNotify(error, MessageBoxIcon.Warning);
+ return;
+ }
+
+ LogService.AddLog(CurrUser.PersonId, "编辑焊接日报待审核工艺参数");
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
+ }
+
+ private static void SetSelectedValue(FineUIPro.DropDownList dropDownList, string value)
+ {
+ if (!string.IsNullOrEmpty(value))
+ {
+ dropDownList.SelectedValue = value;
+ }
+ }
+
+ private static string NormalizeSelectedValue(string value)
+ {
+ return string.IsNullOrEmpty(value) || value == Const._Null ? null : value;
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.designer.cs
new file mode 100644
index 00000000..6fa5ebec
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldingDailyTempDetailEdit.aspx.designer.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.WeldingManage
+{
+ public partial class WeldingDailyTempDetailEdit
+ {
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+ protected global::FineUIPro.PageManager PageManager1;
+ protected global::FineUIPro.Form SimpleForm1;
+ protected global::FineUIPro.TextBox txtPipelineCode;
+ protected global::FineUIPro.TextBox txtWeldJointCode;
+ protected global::FineUIPro.DropDownList drpWeldingMethod;
+ protected global::FineUIPro.DropDownList drpWeldType;
+ protected global::FineUIPro.DropDownList drpWeldingWire;
+ protected global::FineUIPro.DropDownList drpWeldingRod;
+ protected global::FineUIPro.Button btnSave;
+ protected global::FineUIPro.Button btnClose;
+ }
+}
diff --git a/SGGL/Model/APIItem/HJGL/WeldingDailyTempDetailItem.cs b/SGGL/Model/APIItem/HJGL/WeldingDailyTempDetailItem.cs
index 871d7ec4..8a453965 100644
--- a/SGGL/Model/APIItem/HJGL/WeldingDailyTempDetailItem.cs
+++ b/SGGL/Model/APIItem/HJGL/WeldingDailyTempDetailItem.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Model
{
@@ -54,6 +54,19 @@ namespace Model
}
+ ///
+ /// 焊接日报待审核明细工艺参数编辑对象。
+ ///
+ public class WeldingDailyTempDetailEditInput
+ {
+ public string TempDetailId { get; set; }
+ public string ProjectId { get; set; }
+ public string WeldingMethodId { get; set; }
+ public string WeldTypeId { get; set; }
+ public string WeldingWire { get; set; }
+ public string WeldingRod { get; set; }
+ }
+
///
/// 焊接日报待审核明细。
///