679 lines
42 KiB
C#
679 lines
42 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using EmitMapper;
|
||
|
||
namespace BLL
|
||
{
|
||
/// <summary>
|
||
/// 会议服务类
|
||
/// </summary>
|
||
public static class APIMeetingService
|
||
{
|
||
#region 根据MeetingId获取会议详细信息
|
||
/// <summary>
|
||
/// 根据MeetingId获取会议详细信息
|
||
/// </summary>
|
||
/// <param name="meetingId">会议ID</param>
|
||
/// <param name="meetingType">会议类型(C-班前会;W-周例会;M-例会;S-专题例会;A-其他会议)</param>
|
||
/// <returns>会议详细</returns>
|
||
public static Model.MeetingItem getMeetingByMeetingId(string meetingId, string meetingType)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
Model.MeetingItem getMeetItem = new Model.MeetingItem();
|
||
if (meetingType == "C")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_ClassMeeting
|
||
where x.ClassMeetingId == meetingId
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.ClassMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
TeamGroupId = x.TeamGroupId,
|
||
TeamGroupName = db.ProjectData_TeamGroup.First(u => u.TeamGroupId == x.TeamGroupId).TeamGroupName,
|
||
MeetingCode = x.ClassMeetingCode,
|
||
MeetingName = x.ClassMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ClassMeetingDate),
|
||
MeetingContents = x.ClassMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
MeetingHostManName = db.SitePerson_Person.First(y => y.PersonId == x.MeetingHostMan).PersonName,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.ClassMeetingId).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl1 = db.AttachFile.First(z => z.ToKeyId == (x.ClassMeetingId + "#1")).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl2 = db.AttachFile.First(z => z.ToKeyId == (x.ClassMeetingId + "#2")).AttachUrl.Replace('\\', '/'),
|
||
}).FirstOrDefault();
|
||
}
|
||
else if (meetingType == "W")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_WeekMeeting
|
||
where x.WeekMeetingId == meetingId
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.WeekMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.WeekMeetingCode,
|
||
MeetingName = x.WeekMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.WeekMeetingDate),
|
||
MeetingContents = x.WeekMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.WeekMeetingId).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl1 = db.AttachFile.First(z => z.ToKeyId == (x.WeekMeetingId + "#1")).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl2 = db.AttachFile.First(z => z.ToKeyId == (x.WeekMeetingId + "#2")).AttachUrl.Replace('\\', '/'),
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttentPersonIds = x.AttentPersonIds,
|
||
AttentPersonNames = UserService.getUserNamesUserIds(x.AttentPersonIds),
|
||
}).FirstOrDefault();
|
||
}
|
||
else if (meetingType == "M")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_MonthMeeting
|
||
where x.MonthMeetingId == meetingId
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.MonthMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.MonthMeetingCode,
|
||
MeetingName = x.MonthMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.MonthMeetingDate),
|
||
MeetingContents = x.MonthMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.MonthMeetingId).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl1 = db.AttachFile.First(z => z.ToKeyId == (x.MonthMeetingId + "#1")).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl2 = db.AttachFile.First(z => z.ToKeyId == (x.MonthMeetingId + "#2")).AttachUrl.Replace('\\', '/'),
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttentPersonIds = x.AttentPersonIds,
|
||
AttentPersonNames = UserService.getUserNamesUserIds(x.AttentPersonIds),
|
||
}).FirstOrDefault();
|
||
}
|
||
else if (meetingType == "S")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_SpecialMeeting
|
||
where x.SpecialMeetingId == meetingId
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.SpecialMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.SpecialMeetingCode,
|
||
MeetingName = x.SpecialMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.SpecialMeetingDate),
|
||
MeetingContents = x.SpecialMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.SpecialMeetingId).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl1 = db.AttachFile.First(z => z.ToKeyId == (x.SpecialMeetingId + "#1")).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl2 = db.AttachFile.First(z => z.ToKeyId == (x.SpecialMeetingId + "#2")).AttachUrl.Replace('\\', '/'),
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttentPersonIds = x.AttentPersonIds,
|
||
AttentPersonNames = UserService.getUserNamesUserIds(x.AttentPersonIds),
|
||
}).FirstOrDefault();
|
||
}
|
||
else
|
||
{
|
||
getMeetItem = (from x in db.Meeting_AttendMeeting
|
||
where x.AttendMeetingId == meetingId
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.AttendMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.AttendMeetingCode,
|
||
MeetingName = x.AttendMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.AttendMeetingDate),
|
||
MeetingContents = x.AttendMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.AttendMeetingId).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl1 = db.AttachFile.First(z => z.ToKeyId == (x.AttendMeetingId + "#1")).AttachUrl.Replace('\\', '/'),
|
||
AttachUrl2 = db.AttachFile.First(z => z.ToKeyId == (x.AttendMeetingId + "#2")).AttachUrl.Replace('\\', '/'),
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttentPersonIds = x.AttentPersonIds,
|
||
AttentPersonNames = UserService.getUserNamesUserIds(x.AttentPersonIds),
|
||
}).FirstOrDefault();
|
||
}
|
||
return getMeetItem;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 根据projectId、meetingType获取会议列表
|
||
/// <summary>
|
||
/// 根据projectId、meetingType获取会议列表
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="meetingType">会议类型(C-班前会;W-周例会;M-例会;S-专题例会;A-其他会议)</param>
|
||
/// <param name="states">状态(0-待提交;1-已提交)</param>
|
||
/// <returns></returns>
|
||
public static List<Model.MeetingItem> getMeetingByProjectIdStates(string projectId, string meetingType, string states,int pageIndex)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
List<Model.MeetingItem> getMeetItem = new List<Model.MeetingItem>();
|
||
if (meetingType == "C")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_ClassMeeting
|
||
where x.ProjectId == projectId
|
||
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
|
||
orderby x.ClassMeetingDate descending
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.ClassMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
TeamGroupId = x.TeamGroupId,
|
||
TeamGroupName = db.ProjectData_TeamGroup.First(u => u.TeamGroupId == x.TeamGroupId).TeamGroupName,
|
||
MeetingCode = x.ClassMeetingCode,
|
||
MeetingName = x.ClassMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ClassMeetingDate),
|
||
MeetingContents = x.ClassMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.ClassMeetingId).AttachUrl.Replace('\\', '/'),
|
||
}).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
||
}
|
||
else if (meetingType == "W")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_WeekMeeting
|
||
where x.ProjectId == projectId
|
||
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
|
||
orderby x.WeekMeetingDate descending
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.WeekMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.WeekMeetingCode,
|
||
MeetingName = x.WeekMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.WeekMeetingDate),
|
||
MeetingContents = x.WeekMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.WeekMeetingId).AttachUrl.Replace('\\', '/'),
|
||
}).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
||
}
|
||
else if (meetingType == "M")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_MonthMeeting
|
||
where x.ProjectId == projectId
|
||
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
|
||
orderby x.MonthMeetingDate descending
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.MonthMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.MonthMeetingCode,
|
||
MeetingName = x.MonthMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.MonthMeetingDate),
|
||
MeetingContents = x.MonthMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.MonthMeetingId).AttachUrl.Replace('\\', '/'),
|
||
}).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
||
}
|
||
else if (meetingType == "S")
|
||
{
|
||
getMeetItem = (from x in db.Meeting_SpecialMeeting
|
||
where x.ProjectId == projectId
|
||
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
|
||
orderby x.SpecialMeetingDate descending
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.SpecialMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.SpecialMeetingCode,
|
||
MeetingName = x.SpecialMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.SpecialMeetingDate),
|
||
MeetingContents = x.SpecialMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.SpecialMeetingId).AttachUrl.Replace('\\', '/'),
|
||
}).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
||
}
|
||
else
|
||
{
|
||
getMeetItem = (from x in db.Meeting_AttendMeeting
|
||
where x.ProjectId == projectId
|
||
&& (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
|
||
orderby x.AttendMeetingDate descending
|
||
select new Model.MeetingItem
|
||
{
|
||
MeetingId = x.AttendMeetingId,
|
||
ProjectId = x.ProjectId,
|
||
UnitId = x.UnitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
|
||
MeetingCode = x.AttendMeetingCode,
|
||
MeetingName = x.AttendMeetingName,
|
||
MeetingDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.AttendMeetingDate),
|
||
MeetingContents = x.AttendMeetingContents,
|
||
MeetingPlace = x.MeetingPlace,
|
||
MeetingType = meetingType,
|
||
MeetingHours = x.MeetingHours ?? 0,
|
||
MeetingHostMan = x.MeetingHostMan,
|
||
AttentPerson = x.AttentPerson,
|
||
AttentPersonNum = x.AttentPersonNum ?? 0,
|
||
CompileManId = x.CompileMan,
|
||
CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
|
||
CompileDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
|
||
MeetingHostManId = x.MeetingHostManId,
|
||
MeetingHostManName = db.Sys_User.First(z => z.UserId == x.MeetingHostManId).UserName,
|
||
AttachUrl = db.AttachFile.First(z => z.ToKeyId == x.AttendMeetingId).AttachUrl.Replace('\\', '/'),
|
||
}).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
||
}
|
||
return getMeetItem;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 保存Meeting
|
||
/// <summary>
|
||
/// 保存Meeting
|
||
/// </summary>
|
||
/// <param name="meeting">会议信息</param>
|
||
/// <returns></returns>
|
||
public static void SaveMeeting(Model.MeetingItem meeting)
|
||
{
|
||
Model.SGGLDB db = Funs.DB;
|
||
string menuId = string.Empty;
|
||
if (meeting.MeetingType == "C")
|
||
{
|
||
Model.Meeting_ClassMeeting newClassMeeting = new Model.Meeting_ClassMeeting
|
||
{
|
||
ClassMeetingId = meeting.MeetingId,
|
||
ProjectId = meeting.ProjectId,
|
||
UnitId = meeting.UnitId == "" ? null : meeting.UnitId,
|
||
TeamGroupId = meeting.TeamGroupId == "" ? null : meeting.TeamGroupId,
|
||
ClassMeetingCode = meeting.MeetingCode,
|
||
ClassMeetingName = meeting.MeetingName,
|
||
ClassMeetingDate = Funs.GetNewDateTime(meeting.MeetingDate),
|
||
ClassMeetingContents = meeting.MeetingContents,
|
||
CompileMan = meeting.CompileManId,
|
||
MeetingPlace = meeting.MeetingPlace,
|
||
MeetingHours = meeting.MeetingHours,
|
||
MeetingHostMan = meeting.MeetingHostMan,
|
||
AttentPerson = meeting.AttentPerson,
|
||
AttentPersonNum=meeting.AttentPersonNum,
|
||
States = Const.State_2,
|
||
};
|
||
|
||
if (meeting.States != "1")
|
||
{
|
||
newClassMeeting.States = Const.State_0;
|
||
}
|
||
|
||
var updateMeet = db.Meeting_ClassMeeting.FirstOrDefault(x => x.ClassMeetingId == meeting.MeetingId);
|
||
if (updateMeet == null)
|
||
{
|
||
newClassMeeting.CompileDate = DateTime.Now;
|
||
meeting.MeetingId = newClassMeeting.ClassMeetingId = SQLHelper.GetNewID();
|
||
newClassMeeting.ClassMeetingCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectClassMeetingMenuId, newClassMeeting.ProjectId, null);
|
||
ClassMeetingService.AddClassMeeting(newClassMeeting);
|
||
}
|
||
else
|
||
{
|
||
ClassMeetingService.UpdateClassMeeting(newClassMeeting);
|
||
}
|
||
if (meeting.States == "1")
|
||
{
|
||
CommonService.btnSaveData(meeting.ProjectId, Const.ProjectClassMeetingMenuId, newClassMeeting.ClassMeetingId, newClassMeeting.CompileMan, true, newClassMeeting.ClassMeetingName, "../Meeting/ClassMeetingView.aspx?ClassMeetingId={0}");
|
||
}
|
||
|
||
menuId = Const.ProjectClassMeetingMenuId;
|
||
}
|
||
else if (meeting.MeetingType == "W")
|
||
{
|
||
Model.Meeting_WeekMeeting newWeekMeeting = new Model.Meeting_WeekMeeting
|
||
{
|
||
WeekMeetingId = meeting.MeetingId,
|
||
ProjectId = meeting.ProjectId,
|
||
UnitId = meeting.UnitId == "" ? null : meeting.UnitId,
|
||
WeekMeetingCode = meeting.MeetingCode,
|
||
WeekMeetingName = meeting.MeetingName,
|
||
WeekMeetingDate = Funs.GetNewDateTime(meeting.MeetingDate),
|
||
WeekMeetingContents = meeting.MeetingContents,
|
||
CompileMan = meeting.CompileManId,
|
||
CompileDate = Funs.GetNewDateTime(meeting.CompileDate),
|
||
MeetingPlace = meeting.MeetingPlace,
|
||
MeetingHours = meeting.MeetingHours,
|
||
MeetingHostMan = meeting.MeetingHostMan,
|
||
AttentPerson = meeting.AttentPerson,
|
||
AttentPersonNum = meeting.AttentPersonNum,
|
||
States = Const.State_2,
|
||
|
||
AttentPersonIds=meeting.AttentPersonIds,
|
||
};
|
||
|
||
if (meeting.States != "1")
|
||
{
|
||
newWeekMeeting.States = Const.State_0;
|
||
}
|
||
if(!string.IsNullOrEmpty(meeting.MeetingHostManId))
|
||
{ newWeekMeeting.MeetingHostManId = meeting.MeetingHostManId; }
|
||
|
||
var updateMeet = db.Meeting_WeekMeeting.FirstOrDefault(x => x.WeekMeetingId == meeting.MeetingId);
|
||
if (updateMeet == null)
|
||
{
|
||
newWeekMeeting.CompileDate = DateTime.Now;
|
||
meeting.MeetingId = newWeekMeeting.WeekMeetingId = SQLHelper.GetNewID();
|
||
newWeekMeeting.WeekMeetingCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectWeekMeetingMenuId, newWeekMeeting.ProjectId, null);
|
||
WeekMeetingService.AddWeekMeeting(newWeekMeeting);
|
||
}
|
||
else
|
||
{
|
||
WeekMeetingService.UpdateWeekMeeting(newWeekMeeting);
|
||
}
|
||
if (meeting.States == "1")
|
||
{
|
||
CommonService.btnSaveData(meeting.ProjectId, Const.ProjectWeekMeetingMenuId, newWeekMeeting.WeekMeetingId, newWeekMeeting.CompileMan, true, newWeekMeeting.WeekMeetingName, "../Meeting/WeekMeetingView.aspx?WeekMeetingId={0}");
|
||
}
|
||
menuId = Const.ProjectWeekMeetingMenuId;
|
||
}
|
||
else if (meeting.MeetingType == "M")
|
||
{
|
||
Model.Meeting_MonthMeeting newMonthMeeting = new Model.Meeting_MonthMeeting
|
||
{
|
||
MonthMeetingId = meeting.MeetingId,
|
||
ProjectId = meeting.ProjectId,
|
||
UnitId = meeting.UnitId == "" ? null : meeting.UnitId,
|
||
MonthMeetingCode = meeting.MeetingCode,
|
||
MonthMeetingName = meeting.MeetingName,
|
||
MonthMeetingDate = Funs.GetNewDateTime(meeting.MeetingDate),
|
||
MonthMeetingContents = meeting.MeetingContents,
|
||
CompileMan = meeting.CompileManId,
|
||
CompileDate = Funs.GetNewDateTime(meeting.CompileDate),
|
||
MeetingPlace = meeting.MeetingPlace,
|
||
MeetingHours = meeting.MeetingHours,
|
||
MeetingHostMan = meeting.MeetingHostMan,
|
||
AttentPerson = meeting.AttentPerson,
|
||
AttentPersonNum = meeting.AttentPersonNum,
|
||
States = Const.State_2,
|
||
AttentPersonIds = meeting.AttentPersonIds,
|
||
};
|
||
|
||
if (meeting.States != "1")
|
||
{
|
||
newMonthMeeting.States = Const.State_0;
|
||
}
|
||
if (!string.IsNullOrEmpty(meeting.MeetingHostManId))
|
||
{ newMonthMeeting.MeetingHostManId = meeting.MeetingHostManId; }
|
||
|
||
var updateMeet = db.Meeting_MonthMeeting.FirstOrDefault(x => x.MonthMeetingId == meeting.MeetingId);
|
||
if (updateMeet == null)
|
||
{
|
||
newMonthMeeting.CompileDate = DateTime.Now;
|
||
meeting.MeetingId = newMonthMeeting.MonthMeetingId = SQLHelper.GetNewID();
|
||
newMonthMeeting.MonthMeetingCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectMonthMeetingMenuId, newMonthMeeting.ProjectId, null);
|
||
MonthMeetingService.AddMonthMeeting(newMonthMeeting);
|
||
}
|
||
else
|
||
{
|
||
MonthMeetingService.UpdateMonthMeeting(newMonthMeeting);
|
||
}
|
||
if (meeting.States == "1")
|
||
{
|
||
CommonService.btnSaveData(meeting.ProjectId, Const.ProjectMonthMeetingMenuId, newMonthMeeting.MonthMeetingId, newMonthMeeting.CompileMan, true, newMonthMeeting.MonthMeetingName, "../Meeting/MonthMeetingView.aspx?MonthMeetingId={0}");
|
||
}
|
||
menuId = Const.ProjectMonthMeetingMenuId;
|
||
}
|
||
else if (meeting.MeetingType == "S")
|
||
{
|
||
Model.Meeting_SpecialMeeting newSpecialMeeting = new Model.Meeting_SpecialMeeting
|
||
{
|
||
SpecialMeetingId = meeting.MeetingId,
|
||
ProjectId = meeting.ProjectId,
|
||
UnitId = meeting.UnitId == "" ? null : meeting.UnitId,
|
||
SpecialMeetingCode = meeting.MeetingCode,
|
||
SpecialMeetingName = meeting.MeetingName,
|
||
SpecialMeetingDate = Funs.GetNewDateTime(meeting.MeetingDate),
|
||
SpecialMeetingContents = meeting.MeetingContents,
|
||
CompileMan = meeting.CompileManId,
|
||
CompileDate = Funs.GetNewDateTime(meeting.CompileDate),
|
||
MeetingPlace = meeting.MeetingPlace,
|
||
MeetingHours = meeting.MeetingHours,
|
||
MeetingHostMan = meeting.MeetingHostMan,
|
||
AttentPerson = meeting.AttentPerson,
|
||
AttentPersonNum = meeting.AttentPersonNum,
|
||
States = Const.State_2,
|
||
//MeetingHostManId = meeting.MeetingHostManId,
|
||
AttentPersonIds = meeting.AttentPersonIds,
|
||
};
|
||
|
||
if (meeting.States != "1")
|
||
{
|
||
newSpecialMeeting.States = Const.State_0;
|
||
}
|
||
if (!string.IsNullOrEmpty(meeting.MeetingHostManId))
|
||
{ newSpecialMeeting.MeetingHostManId = meeting.MeetingHostManId; }
|
||
|
||
var updateMeet = db.Meeting_SpecialMeeting.FirstOrDefault(x => x.SpecialMeetingId == meeting.MeetingId);
|
||
if (updateMeet == null)
|
||
{
|
||
newSpecialMeeting.CompileDate = DateTime.Now;
|
||
meeting.MeetingId = newSpecialMeeting.SpecialMeetingId = SQLHelper.GetNewID();
|
||
newSpecialMeeting.SpecialMeetingCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectSpecialMeetingMenuId, newSpecialMeeting.ProjectId, null);
|
||
SpecialMeetingService.AddSpecialMeeting(newSpecialMeeting);
|
||
}
|
||
else
|
||
{
|
||
SpecialMeetingService.UpdateSpecialMeeting(newSpecialMeeting);
|
||
}
|
||
if (meeting.States == "1")
|
||
{
|
||
CommonService.btnSaveData(meeting.ProjectId, Const.ProjectSpecialMeetingMenuId, newSpecialMeeting.SpecialMeetingId, newSpecialMeeting.CompileMan, true, newSpecialMeeting.SpecialMeetingName, "../Meeting/SpecialMeetingView.aspx?SpecialMeetingId={0}");
|
||
}
|
||
menuId = Const.ProjectSpecialMeetingMenuId;
|
||
}
|
||
else
|
||
{
|
||
Model.Meeting_AttendMeeting newAttendMeeting = new Model.Meeting_AttendMeeting
|
||
{
|
||
AttendMeetingId = meeting.MeetingId,
|
||
ProjectId = meeting.ProjectId,
|
||
UnitId = meeting.UnitId == "" ? null : meeting.UnitId,
|
||
AttendMeetingCode = meeting.MeetingCode,
|
||
AttendMeetingName = meeting.MeetingName,
|
||
AttendMeetingDate = Funs.GetNewDateTime(meeting.MeetingDate),
|
||
AttendMeetingContents = meeting.MeetingContents,
|
||
CompileMan = meeting.CompileManId,
|
||
CompileDate = Funs.GetNewDateTime(meeting.CompileDate),
|
||
MeetingPlace = meeting.MeetingPlace,
|
||
MeetingHours = meeting.MeetingHours,
|
||
MeetingHostMan = meeting.MeetingHostMan,
|
||
AttentPerson = meeting.AttentPerson,
|
||
AttentPersonNum = meeting.AttentPersonNum,
|
||
States = Const.State_2,
|
||
//MeetingHostManId = meeting.MeetingHostManId,
|
||
AttentPersonIds = meeting.AttentPersonIds,
|
||
};
|
||
|
||
if (meeting.States != "1")
|
||
{
|
||
newAttendMeeting.States = Const.State_0;
|
||
}
|
||
if (!string.IsNullOrEmpty(meeting.MeetingHostManId))
|
||
{ newAttendMeeting.MeetingHostManId = meeting.MeetingHostManId; }
|
||
|
||
var updateMeet = db.Meeting_AttendMeeting.FirstOrDefault(x => x.AttendMeetingId == meeting.MeetingId);
|
||
if (updateMeet == null)
|
||
{
|
||
newAttendMeeting.CompileDate = DateTime.Now;
|
||
meeting.MeetingId = newAttendMeeting.AttendMeetingId = SQLHelper.GetNewID();
|
||
newAttendMeeting.AttendMeetingCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectAttendMeetingMenuId, newAttendMeeting.ProjectId, null);
|
||
AttendMeetingService.AddAttendMeeting(newAttendMeeting);
|
||
}
|
||
else
|
||
{
|
||
AttendMeetingService.UpdateAttendMeeting(newAttendMeeting);
|
||
}
|
||
if (meeting.States == "1")
|
||
{
|
||
CommonService.btnSaveData(meeting.ProjectId, Const.ProjectAttendMeetingMenuId, newAttendMeeting.AttendMeetingId, newAttendMeeting.CompileMan, true, newAttendMeeting.AttendMeetingName, "../Meeting/AttendMeetingView.aspx?AttendMeetingId={0}");
|
||
}
|
||
menuId = Const.ProjectAttendMeetingMenuId;
|
||
}
|
||
if (!string.IsNullOrEmpty(menuId) && !string.IsNullOrEmpty(meeting.MeetingId))
|
||
{
|
||
SaveMeetUrl(meeting.MeetingId, menuId, meeting.AttachUrl, meeting.AttachUrl1, meeting.AttachUrl2);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public static void SaveMeetUrl(string meetingId, string menuId, string url, string url1, string url2)
|
||
{
|
||
Model.ToDoItem toDoItem = new Model.ToDoItem
|
||
{
|
||
MenuId = menuId,
|
||
DataId = meetingId,
|
||
UrlStr = url,
|
||
};
|
||
APIUpLoadFileService.SaveAttachUrl(toDoItem);
|
||
|
||
toDoItem.DataId = meetingId + "#1";
|
||
toDoItem.UrlStr = url1;
|
||
APIUpLoadFileService.SaveAttachUrl(toDoItem);
|
||
|
||
toDoItem.DataId = meetingId + "#2";
|
||
toDoItem.UrlStr = url2;
|
||
APIUpLoadFileService.SaveAttachUrl(toDoItem);
|
||
}
|
||
#endregion
|
||
|
||
#region 根据时间获取各单位班会情况
|
||
/// <summary>
|
||
/// 根据时间获取各单位班会情况
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="unitId"></param>
|
||
/// <param name="meetingDate"></param>
|
||
/// <returns></returns>
|
||
public static List<Model.MeetingItem> getClassMeetingInfo(string projectId, string unitId, string meetingDate)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
List<Model.MeetingItem> getMeetItems = new List<Model.MeetingItem>();
|
||
DateTime mdate = Funs.GetNewDateTimeOrNow(meetingDate);
|
||
//// 当日该单位班前会
|
||
var getClassMeets = from x in db.Meeting_ClassMeeting
|
||
where x.ProjectId == projectId && x.UnitId == unitId
|
||
&& x.ClassMeetingDate.Value.Year == mdate.Year && x.ClassMeetingDate.Value.Month == mdate.Month && x.ClassMeetingDate.Value.Day == mdate.Day
|
||
select x;
|
||
var getTeamGroups = from x in db.ProjectData_TeamGroup
|
||
where x.ProjectId == projectId && x.UnitId == unitId
|
||
orderby x.TeamGroupCode
|
||
select x;
|
||
foreach (var item in getTeamGroups)
|
||
{
|
||
Model.MeetingItem newItem = new Model.MeetingItem
|
||
{
|
||
ProjectId = projectId,
|
||
UnitId = unitId,
|
||
UnitName = db.Base_Unit.First(u => u.UnitId == unitId).UnitName,
|
||
TeamGroupId = item.TeamGroupId,
|
||
TeamGroupName = item.TeamGroupName,
|
||
AttentPersonNum = getClassMeets.Where(x => x.TeamGroupId == item.TeamGroupId).Sum(x => x.AttentPersonNum) ?? 0,
|
||
MeetingHours = getClassMeets.Where(x => x.TeamGroupId == item.TeamGroupId).Sum(x => x.MeetingHours) ?? 0,
|
||
};
|
||
|
||
getMeetItems.Add(newItem);
|
||
}
|
||
|
||
return getMeetItems;
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|