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
 | ||
|     }
 | ||
| }
 |