CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/API/HSSE/APIMeetingService.cs

679 lines
42 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.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 projectIdmeetingType获取会议列表
/// <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
}
}