This commit is contained in:
2026-06-17 18:37:50 +08:00
parent 2736e8ad89
commit 75d7c48ff2
22 changed files with 286 additions and 10 deletions
@@ -112,6 +112,13 @@
<f:CheckBox ID="cbIsOnDuty" runat="server" Label="是否在岗" Enabled="false"
LabelWidth="120px">
</f:CheckBox>
<f:Label ID="txtExamDate" runat="server" Label="考试时间"
LabelWidth="120px">
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="txtCertificateLimitTime" runat="server" Label="有效期"
LabelWidth="120px" Hidden="true">
</f:Label>
@@ -62,6 +62,7 @@ namespace FineUIPro.Web.CQMS.PersonManage
this.txtCertificateLimitTime.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateLimitTime);
}
this.txtWelderLevel.Text = welder.WelderLevel;
this.txtExamDate.Text = GetWelderExamDate(welder.SitePersonId);
//if (welder.IsUsed == true)
//{
// cbIsOnDuty.Checked = true;
@@ -84,11 +85,30 @@ namespace FineUIPro.Web.CQMS.PersonManage
this.txtCertificateCode.Text = string.Empty;
this.txtCertificateLimitTime.Text = string.Empty;
this.txtWelderLevel.Text = string.Empty;
this.txtExamDate.Text = string.Empty;
cbIsOnDuty.Checked = false;
}
}
}
/// <summary>
/// 读取焊工考试时间,新增字段未纳入 DBML 时通过参数化 SQL 获取。
/// </summary>
private string GetWelderExamDate(string sitePersonId)
{
if (string.IsNullOrEmpty(sitePersonId))
{
return string.Empty;
}
string strSql = @"SELECT ExamDate FROM SitePerson_Person WHERE SitePersonId=@SitePersonId";
DataTable dt = SQLHelper.GetDataTableRunText(strSql, new SqlParameter("@SitePersonId", sitePersonId));
if (dt.Rows.Count > 0 && dt.Rows[0]["ExamDate"] != DBNull.Value)
{
return string.Format("{0:yyyy-MM-dd}", dt.Rows[0]["ExamDate"]);
}
return string.Empty;
}
#endregion
#region -
/// <summary>
@@ -601,4 +621,4 @@ namespace FineUIPro.Web.CQMS.PersonManage
#endregion
#endregion
}
}
}
@@ -228,6 +228,15 @@ namespace FineUIPro.Web.CQMS.PersonManage {
/// </remarks>
protected global::FineUIPro.CheckBox cbIsOnDuty;
/// <summary>
/// txtExamDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtExamDate;
/// <summary>
/// txtCertificateLimitTime 控件。
/// </summary>
@@ -79,6 +79,9 @@
<f:TextBox ID="txtWelderLevel" runat="server" Label="焊工等级"
MaxLength="50" LabelWidth="120px">
</f:TextBox>
<f:DatePicker ID="txtExamDate" runat="server" Label="考试时间"
LabelWidth="120px" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Items>
</f:Panel>
<f:Panel ID="Panel5" Title="面板1" BoxFlex="3" runat="server" ShowBorder="false" ShowHeader="false"
@@ -1,5 +1,7 @@
using BLL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.CQMS.PersonManage
@@ -109,6 +111,7 @@ namespace FineUIPro.Web.CQMS.PersonManage
// this.txtCertificateLimitTime.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateLimitTime);
//}
this.txtWelderLevel.Text = welder.WelderLevel;
this.txtExamDate.Text = GetWelderExamDate(welder.SitePersonId);
if (welder.States == Const.ProjectPersonStates_1)
{
cbIsUsed.Checked = true;
@@ -202,6 +205,7 @@ namespace FineUIPro.Web.CQMS.PersonManage
{
newWelder.PersonId = PersonId;
BLL.WelderService.UpdateWelder(newWelder);
SaveWelderExamDate(PersonId);
//BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.WelderManageMenuId, Const.BtnModify, PersonId);
}
else
@@ -225,6 +229,45 @@ namespace FineUIPro.Web.CQMS.PersonManage
}
return PersonId;
}
/// <summary>
/// 读取焊工考试时间,兼容新增字段未纳入 DBML 的情况。
/// </summary>
private string GetWelderExamDate(string sitePersonId)
{
if (string.IsNullOrEmpty(sitePersonId))
{
return string.Empty;
}
string strSql = @"SELECT ExamDate FROM SitePerson_Person WHERE SitePersonId=@SitePersonId";
DataTable dt = SQLHelper.GetDataTableRunText(strSql, new SqlParameter("@SitePersonId", sitePersonId));
if (dt.Rows.Count > 0 && dt.Rows[0]["ExamDate"] != DBNull.Value)
{
return string.Format("{0:yyyy-MM-dd}", dt.Rows[0]["ExamDate"]);
}
return string.Empty;
}
/// <summary>
/// 保存焊工考试时间,和焊工基础信息同表存储。
/// </summary>
private void SaveWelderExamDate(string personId)
{
if (string.IsNullOrEmpty(personId))
{
return;
}
string strSql = @"UPDATE SitePerson_Person SET ExamDate=@ExamDate WHERE ProjectId=@ProjectId AND PersonId=@PersonId";
SqlParameter examDate = new SqlParameter("@ExamDate", SqlDbType.DateTime);
var newExamDate = Funs.GetNewDateTime(this.txtExamDate.Text.Trim());
examDate.Value = newExamDate.HasValue ? (object)newExamDate.Value : DBNull.Value;
SQLHelper.ExecuteCommand(CommandType.Text, strSql, new SqlParameter[]
{
examDate,
new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId),
new SqlParameter("@PersonId", personId)
});
}
#endregion
protected void drpUnitId_SelectedIndexChanged(object sender, EventArgs e)
@@ -319,4 +362,4 @@ namespace FineUIPro.Web.CQMS.PersonManage
}
}
}
}
}
@@ -156,6 +156,15 @@ namespace FineUIPro.Web.CQMS.PersonManage {
/// </remarks>
protected global::FineUIPro.TextBox txtWelderLevel;
/// <summary>
/// txtExamDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtExamDate;
/// <summary>
/// Panel5 控件。
/// </summary>