日常巡检、班前会统计

This commit is contained in:
2025-03-30 17:13:19 +08:00
parent 533052efc7
commit 64c7be5db4
8 changed files with 187 additions and 9 deletions
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Http;
@@ -94,6 +96,25 @@ namespace WebAPI.Controllers
}
#endregion
#region ID删除会议
[HttpDelete]
public Model.ResponeData DeleteMeeting(string meetingId)
{
var responeData = new Model.ResponeData();
try
{
BLL.ClassMeetingService.DeleteClassMeetingById(meetingId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region Meeting
/// <summary>
/// 保存Meeting
@@ -118,6 +139,74 @@ namespace WebAPI.Controllers
}
#endregion
#region
public Model.ResponeData getClassMeetingPersonCount(string projectId, string meetingDate)
{
var responeData = new Model.ResponeData();
try
{
// 1、获取项目用户(管理人员数量)
string projectUserSQL = "SELECT * FROM [dbo].[Project_ProjectUser] as pu LEFT JOIN [dbo].[Sys_User] as u on u.UserId = pu.UserId WHERE pu.ProjectId = @ProjectId;";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", projectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable userTb = SQLHelper.GetDataTableRunText(projectUserSQL, parameter);
// 2、 获取班前会列表(日期过滤)
List<Model.MeetingItem> classMettingList = APIMeetingService.getClassMeetingList(projectId, meetingDate);
int personCount = 0;
classMettingList.ForEach(item =>
{
personCount += item.AttentPersonNum;
});
responeData.data = new
{
manager = userTb.Rows.Count,
personCount = personCount,
classMettingList = classMettingList
};
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
public Model.ResponeData getCompanyMeetingPersonCounts( string meetingDate)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
string sql = "SELECT p.ProjectId as projectId, p.ProjectName as projectName,(SELECT count(*) FROM [dbo].[Project_ProjectUser] as pu LEFT JOIN [dbo].[Sys_User] as u on u.UserId = pu.UserId WHERE pu.ProjectId = p.ProjectId) as manager,(SELECT SUM(AttentPersonNum) as cpunt FROM [dbo].[Meeting_ClassMeeting] as mc WHERE mc.ProjectId = p.ProjectId AND Year(ClassMeetingDate) = @year AND Month(ClassMeetingDate) = @month AND Day(ClassMeetingDate) = @day) as personCount FROM [dbo].[Base_Project] as p;";
DateTime mdate = Funs.GetNewDateTimeOrNow(meetingDate);
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@year", mdate.Year));
listStr.Add(new SqlParameter("@month", mdate.Month));
listStr.Add(new SqlParameter("@day", mdate.Day));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
responeData.data = tb;
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 根据时间获取各单位班会情况