CNCEC_SUBQHSE_WUHUAN/SGGL/WebAPI/Controllers/HSSE/MeetingController.cs

154 lines
6.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using BLL;
namespace WebAPI.Controllers
{
/// <summary>
/// 会议接口
/// </summary>
public class MeetingController : ApiController
{
#region MeetingId获取会议详细信息
/// <summary>
/// 根据MeetingId获取会议详细信息
/// </summary>
/// <param name="meetingId">会议ID</param>
/// <param name="meetingType">会议类型(C-班前会W-周例会M-例会S-专题例会A-其他会议)</param>
/// <returns>会议详细</returns>
public Model.ResponeData getMeetingByMeetingId(string meetingId, string meetingType)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIMeetingService.getMeetingByMeetingId(meetingId, meetingType);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectId\meetingType\states获取会议列表
/// <summary>
/// 根据projectId、meetingType获取会议列表
/// </summary>
/// <param name="projectId"></param>
/// <param name="meetingType">会议类型(C-班前会W-周例会M-例会S-专题例会A-其他会议)</param>
/// <param name="states">状态0-待提交1-已提交)</param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getMeetingByProjectIdStates(string projectId, string meetingType, string states, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
List<Model.MeetingItem> getDataList = new List<Model.MeetingItem>();
int pageCount = 0;
if (meetingType == "C")
{
pageCount = Funs.DB.Meeting_ClassMeeting.Count(x => x.ProjectId == projectId
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
}
else if (meetingType == "W")
{
pageCount = Funs.DB.Meeting_WeekMeeting.Count(x => x.ProjectId == projectId
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
}
else if (meetingType == "M")
{
pageCount = Funs.DB.Meeting_MonthMeeting.Count(x => x.ProjectId == projectId
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
}
else if (meetingType == "S")
{
pageCount = Funs.DB.Meeting_SpecialMeeting.Count(x => x.ProjectId == projectId
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
}
else
{
pageCount = Funs.DB.Meeting_AttendMeeting.Count(x => x.ProjectId == projectId
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))));
}
if (pageCount > 0 && pageIndex > 0)
{
getDataList = APIMeetingService.getMeetingByProjectIdStates(projectId, meetingType, states, pageIndex);
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region Meeting
/// <summary>
/// 保存Meeting
/// </summary>
/// <param name="meeting">会议信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveMeeting([FromBody] Model.MeetingItem meeting)
{
var responeData = new Model.ResponeData();
try
{
APIMeetingService.SaveMeeting(meeting);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 根据时间获取各单位班会情况
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId">单位ID</param>
/// <param name="meetingDate">日期</param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getClassMeetingInfo(string projectId, string unitId, string meetingDate, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIMeetingService.getClassMeetingInfo(projectId, unitId, meetingDate);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}