1、补充角色:项目主管;

2、项目补充项目主管人;
3、关键事项逾期提醒项目主管和项目经理;
This commit is contained in:
夏菊 2025-09-16 19:27:36 +08:00
parent 8409c7bc71
commit ffd65b87a1
11 changed files with 212 additions and 28 deletions

View File

@ -0,0 +1,17 @@
update Sys_Role set RoleCode='101' where RoleName='项目经理';
--
IF NOT EXISTS (SELECT 1 FROM Sys_Role WHERE RoleName = '项目主管')
BEGIN
insert into Sys_Role(RoleId,RoleName,RoleCode,IsSystemBuilt,RoleType,IsAuditFlow)
values('b51072d6-5c8d-4763-b010-b3492b50feac','项目主管','100',1,1,1)
END
GO

View File

@ -390,6 +390,10 @@ namespace BLL
#region
/// <summary>
/// 项目主管
/// </summary>
public const string ProjectSupervisor = "b51072d6-5c8d-4763-b010-b3492b50feac";
/// <summary>
/// 项目经理
/// </summary>
public const string ProjectManager = "1184835B-73AF-47FB-9F83-20740CE2FAD7";

View File

@ -210,6 +210,7 @@ namespace BLL
//获取有邮箱的用户
var userIds = BLL.UserService.GetUserHaveEmailList();
if (userIds.Any() && lstOverdue.Any())
{
//int allnum = 0;
@ -221,6 +222,9 @@ namespace BLL
if (lstProjectOverdue.Any())
{
string projectName = pro.ProjectName;
#region
foreach (var user in userIds)
{
//if (allnum > 100) { break; }
@ -316,6 +320,96 @@ namespace BLL
//Thread.Sleep(1000); //暂停1秒
}
}
#endregion
#region
var projectSupervisors = ProjectUserService.GetProjectUserByRoleId(Const.ProjectSupervisor);
var projectManagers = ProjectUserService.GetProjectUserByRoleId(Const.ProjectManager);
List<string> remindUserIds = new List<string>();
List<string> projectSupervisorIds = projectSupervisors.Select(x => x.UserId).ToList();
List<string> projectManagerIds = projectManagers.Select(x => x.UserId).ToList();
if (projectSupervisorIds.Any()) { remindUserIds.AddRange(projectSupervisorIds); }
if (projectManagerIds.Any()) { remindUserIds.AddRange(projectManagerIds); }
var remindUsers = userIds.Where(x => remindUserIds.Contains(x.UserId));
foreach (var user in remindUsers)
{
MailMessage mail = new MailMessage();
//邮件主题
mail.Subject = $"关键事项超期预警提醒——{projectName}";
mail.To.Add(user.Email);
//mail.To.Add("test@test.com");
mail.IsBodyHtml = true;//确保邮件正文被当作HTML解析
StringBuilder tbodyStr = new StringBuilder();
int index = 0;
if (projectManagerIds.Contains(user.UserId))
{
foreach (var item in lstProjectOverdue)
{
index++;
tbodyStr.Append($"<tr><td>{index}</td><td>事项逾期</td><td>{item.UnitName}</td><td>{item.GJSXID}</td><td>{item.Detail}</td><td>{item.GJSXTypeName}</td><td>{item.UserName}</td><td>{item.User_AcceptanceUserName}</td><td>{item.CompleteDate.ToShortDateString()}</td><td>{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "")}</td></tr>");
}
}
if (projectSupervisorIds.Contains(user.UserId) && !projectManagerIds.Contains(user.UserId))
{
var lstProjectOverdue2 = lstOverdue.Where(x => x.ProjectId == pro.ProjectId && x.DateDiffDays > 13).ToList();
index = 0;
foreach (var item in lstProjectOverdue2)
{
index++;
tbodyStr.Append($"<tr><td>{index}</td><td>事项逾期</td><td>{item.UnitName}</td><td>{item.GJSXID}</td><td>{item.Detail}</td><td>{item.GJSXTypeName}</td><td>{item.UserName}</td><td>{item.User_AcceptanceUserName}</td><td>{item.CompleteDate.ToShortDateString()}</td><td>{(item.DateDiffDays > 0 ? item.DateDiffDays.ToString() : "")}</td></tr>");
}
}
//邮件正文
string bodyStr = @"<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: left;
}
</style>
</head>
<body>
<h2></h2>
<a href='https://zhgd.cwcec.com/'>请点击此处,查看详细信息,并及时处置关闭</a>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>" + tbodyStr.ToString() + "</tbody></table></body></html>";
mail.Body = bodyStr;
if (index > 1)
{
//allnum++;
bool send = PushEmail(mail);
//Thread.Sleep(1000); //暂停1秒
}
}
#endregion
}
}
}

View File

@ -6,7 +6,7 @@
public static class ProjectUserService
{
public static SGGLDB db = Funs.DB;
//public static SGGLDB db = Funs.DB;
/// <summary>
///获取项目用户信息
@ -35,6 +35,15 @@
return (from x in Funs.DB.Project_ProjectUser where x.UserId == userId select x).ToList();
}
/// <summary>
///获取项目用户信息 根据用户角色ID
/// </summary>
/// <returns></returns>
public static List<Project_ProjectUser> GetProjectUserByRoleId(string roleId)
{
return (from x in Funs.DB.Project_ProjectUser where x.RoleId.Contains(roleId) select x).ToList();
}
/// <summary>
///获取当前项目用户信息根据用户ID
/// </summary>

View File

@ -255,24 +255,24 @@
<Rows>
<f:FormRow>
<Items>
<f:DropDownList ID="drpProjectManager" runat="server" Label="项目经理"
EnableEdit="true" Required="true" ShowRedStar="true">
<f:DropDownList ID="drpProjectSupervisor" runat="server" Label="项目主管" EnableEdit="true" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:DropDownList ID="drpConstructionManager" runat="server" Label="施工经理" LabelWidth="150px" EnableEdit="true">
<f:DropDownList ID="drpProjectManager" runat="server" Label="项目经理" EnableEdit="true" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpQAManager" runat="server" Label="质量经理"
EnableEdit="true" Required="true" ShowRedStar="true">
<f:DropDownList ID="drpHSSEManager" runat="server" Label="安全经理" EnableEdit="true" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:DropDownList ID="drpHSSEManager" runat="server" Label="安全经理" LabelWidth="150px" EnableEdit="true">
<f:DropDownList ID="drpQAManager" runat="server" Label="质量经理" EnableEdit="true" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpConstructionManager" runat="server" Label="施工经理" EnableEdit="true">
</f:DropDownList>
<f:DropDownList ID="drpDriveManager" runat="server" Label="开车经理" EnableEdit="true">
</f:DropDownList>
</Items>

View File

@ -57,6 +57,8 @@ namespace FineUIPro.Web.ProjectData
{
this.ProjectId = this.CurrUser.LoginProjectId;
}
///项目主管
UserService.InitUserDropDownList(this.drpProjectSupervisor, string.Empty, true);
///项目经理
UserService.InitUserDropDownList(this.drpProjectManager, string.Empty, true);
///施工经理
@ -123,6 +125,12 @@ namespace FineUIPro.Web.ProjectData
var getPUser = Funs.DB.Project_ProjectUser.Where(x => x.ProjectId == this.ProjectId);
if (getPUser.Count() > 0)
{
///项目主管
var s = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.ProjectSupervisor));
if (s != null)
{
this.drpProjectSupervisor.SelectedValue = s.UserId;
}
///项目经理
var m = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.ProjectManager));
if (m != null)
@ -491,6 +499,7 @@ namespace FineUIPro.Web.ProjectData
/// <param name="projectId"></param>
private void SetProjectManager(string projectId)
{
string newProjectSupervisor = this.drpProjectSupervisor.SelectedValue;
string newProjectManager = this.drpProjectManager.SelectedValue;
string newConstructionManager = this.drpConstructionManager.SelectedValue;
string newHSSEManager = this.drpHSSEManager.SelectedValue;
@ -499,6 +508,48 @@ namespace FineUIPro.Web.ProjectData
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
if (project != null)
{
#region
string OldProjectSupervisor = string.Empty; ////项目主管
var s = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.ProjectSupervisor));
if (s != null)
{
OldProjectSupervisor = s.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newProjectSupervisor) && newProjectSupervisor != Const._Null && newProjectSupervisor != OldProjectSupervisor)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newProjectSupervisor);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldProjectSupervisor);
var user = BLL.UserService.GetUserByUserId(newProjectSupervisor);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newProjectSupervisor,
UnitId = user.UnitId,
RoleId = BLL.Const.ProjectSupervisor,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
#endregion
#region
string OldProjectManager = string.Empty; ////项目经理

View File

@ -500,6 +500,15 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.Form Form3;
/// <summary>
/// drpProjectSupervisor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProjectSupervisor;
/// <summary>
/// drpProjectManager 控件。
/// </summary>
@ -510,13 +519,13 @@ namespace FineUIPro.Web.ProjectData
protected global::FineUIPro.DropDownList drpProjectManager;
/// <summary>
/// drpConstructionManager 控件。
/// drpHSSEManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpConstructionManager;
protected global::FineUIPro.DropDownList drpHSSEManager;
/// <summary>
/// drpQAManager 控件。
@ -528,13 +537,13 @@ namespace FineUIPro.Web.ProjectData
protected global::FineUIPro.DropDownList drpQAManager;
/// <summary>
/// drpHSSEManager 控件。
/// drpConstructionManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpHSSEManager;
protected global::FineUIPro.DropDownList drpConstructionManager;
/// <summary>
/// drpDriveManager 控件。

View File

@ -47,7 +47,7 @@
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationAdd" Hidden="true" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnUpdata" Text="推送督查人员" Icon="PageSave" runat="server" ConfirmText="确定推送?"
<f:Button ID="btnUpdata" Text="推送集团检查负责人" Icon="PageSave" runat="server" ConfirmText="确定推送?"
ToolTip="推送" ValidateForms="SimpleForm1" OnClick="btnPush_Click" MarginRight="10px">
</f:Button>
</Items>

View File

@ -84,7 +84,7 @@
<items>
<f:DropDownList ID="drpCertificate" runat="server" Label="特岗证书" LabelAlign="Right" LabelWidth="90px" EnableEdit="true" EnableCheckBoxSelect="True" EnableMultiSelect="True" EmptyText="--请选择--" AutoSelectFirstItem="false" >
</f:DropDownList>
<f:CheckBox runat="server" Label="是否督查人员" LabelAlign="Right" ID="cbIsInspectionBrigade" LabelWidth="100px" />
<f:CheckBox runat="server" Label="是否是集团检查整改负责人" LabelAlign="Right" ID="cbIsInspectionBrigade" LabelWidth="200px" />
</items>
</f:FormRow>
</Rows>

View File

@ -6,7 +6,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>G:\发布\五环WebApi</_PublishTargetUrl>
<History>True|2025-09-02T03:14:00.9580707Z||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||;True|2025-04-02T16:50:20.5907511+08:00||;True|2025-04-02T16:44:18.5351224+08:00||;True|2025-04-02T16:31:11.1297141+08:00||;True|2025-04-02T16:18:43.1126995+08:00||;True|2025-04-02T14:50:42.5384021+08:00||;True|2025-04-01T10:53:08.9403414+08:00||;True|2025-04-01T10:52:08.7646389+08:00||;True|2025-04-01T09:52:56.3095742+08:00||;True|2025-03-13T16:44:25.3220313+08:00||;True|2025-03-13T15:31:10.3223071+08:00||;True|2025-03-13T10:58:17.1401575+08:00||;True|2025-01-23T23:10:37.9664637+08:00||;True|2024-09-24T09:51:10.8028974+08:00||;True|2024-09-20T17:30:59.6144803+08:00||;True|2024-09-20T15:28:40.2547949+08:00||;True|2024-09-19T16:30:51.3047517+08:00||;True|2024-09-19T15:53:23.2431713+08:00||;True|2024-09-19T15:48:55.0571748+08:00||;True|2024-09-19T15:06:29.5748482+08:00||;True|2024-09-19T14:55:42.1477578+08:00||;True|2024-09-19T10:07:53.8666329+08:00||;True|2024-09-03T16:26:17.4985546+08:00||;True|2024-07-17T10:29:15.9472548+08:00||;</History>
<History>True|2025-09-16T11:11:12.4383069Z||;True|2025-09-02T11:14:00.9580707+08:00||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;True|2025-05-26T19:19:09.7246357+08:00||;True|2025-05-26T19:16:39.1283077+08:00||;True|2025-05-26T19:09:24.1561616+08:00||;True|2025-04-07T16:11:44.5172315+08:00||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||;True|2025-04-02T16:50:20.5907511+08:00||;True|2025-04-02T16:44:18.5351224+08:00||;True|2025-04-02T16:31:11.1297141+08:00||;True|2025-04-02T16:18:43.1126995+08:00||;True|2025-04-02T14:50:42.5384021+08:00||;True|2025-04-01T10:53:08.9403414+08:00||;True|2025-04-01T10:52:08.7646389+08:00||;True|2025-04-01T09:52:56.3095742+08:00||;True|2025-03-13T16:44:25.3220313+08:00||;True|2025-03-13T15:31:10.3223071+08:00||;True|2025-03-13T10:58:17.1401575+08:00||;True|2025-01-23T23:10:37.9664637+08:00||;True|2024-09-24T09:51:10.8028974+08:00||;True|2024-09-20T17:30:59.6144803+08:00||;True|2024-09-20T15:28:40.2547949+08:00||;True|2024-09-19T16:30:51.3047517+08:00||;True|2024-09-19T15:53:23.2431713+08:00||;True|2024-09-19T15:48:55.0571748+08:00||;True|2024-09-19T15:06:29.5748482+08:00||;True|2024-09-19T14:55:42.1477578+08:00||;True|2024-09-19T10:07:53.8666329+08:00||;True|2024-09-03T16:26:17.4985546+08:00||;True|2024-07-17T10:29:15.9472548+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
<ItemGroup>
@ -86,22 +86,22 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="bin/App_global.asax.compiled">
<publishTime>09/02/2025 11:13:57</publishTime>
<publishTime>09/16/2025 19:11:11</publishTime>
</File>
<File Include="bin/App_global.asax.dll">
<publishTime>09/02/2025 11:13:57</publishTime>
<publishTime>09/16/2025 19:11:11</publishTime>
</File>
<File Include="bin/Aspose.Words.dll">
<publishTime>12/06/2024 20:13:58</publishTime>
</File>
<File Include="bin/BLL.dll">
<publishTime>09/02/2025 11:13:44</publishTime>
<publishTime>09/16/2025 19:10:50</publishTime>
</File>
<File Include="bin/BLL.dll.config">
<publishTime>12/26/2024 09:46:52</publishTime>
</File>
<File Include="bin/BLL.pdb">
<publishTime>09/02/2025 11:13:44</publishTime>
<publishTime>09/16/2025 19:10:50</publishTime>
</File>
<File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>12/18/2020 05:32:28</publishTime>
@ -128,10 +128,10 @@
<publishTime>07/25/2012 19:48:56</publishTime>
</File>
<File Include="bin/Model.dll">
<publishTime>09/02/2025 11:13:37</publishTime>
<publishTime>09/16/2025 19:10:44</publishTime>
</File>
<File Include="bin/Model.pdb">
<publishTime>09/02/2025 11:13:37</publishTime>
<publishTime>09/16/2025 19:10:44</publishTime>
</File>
<File Include="bin/netstandard.dll">
<publishTime>07/04/2024 14:13:01</publishTime>
@ -389,13 +389,13 @@
<publishTime>02/09/2013 00:42:28</publishTime>
</File>
<File Include="bin/WebAPI.dll">
<publishTime>09/02/2025 11:13:46</publishTime>
<publishTime>09/16/2025 19:10:53</publishTime>
</File>
<File Include="bin/WebAPI.pdb">
<publishTime>09/02/2025 11:13:46</publishTime>
<publishTime>09/16/2025 19:10:53</publishTime>
</File>
<File Include="bin/WebAPI.xml">
<publishTime>09/02/2025 11:13:45</publishTime>
<publishTime>09/16/2025 19:10:53</publishTime>
</File>
<File Include="bin/WebGrease.dll">
<publishTime>01/23/2014 21:57:34</publishTime>
@ -479,7 +479,7 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="PrecompiledApp.config">
<publishTime>09/02/2025 11:13:47</publishTime>
<publishTime>09/16/2025 19:10:54</publishTime>
</File>
<File Include="Scripts/bootstrap.js">
<publishTime>10/28/2024 14:02:50</publishTime>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />