会议室列表,返回暂定订信息

This commit is contained in:
Yuan
2022-07-24 16:47:31 +08:00
parent baf1bae943
commit b33fce844f
3 changed files with 69 additions and 7 deletions

View File

@@ -53,18 +53,28 @@ namespace Appointment.Repository
MeetingName = c.Descript1,
Code = c.Code,
Stime = i.Stime.Value,
Sta = i.Sta,
Sta = i.Sta == "O" ? "I" : i.Sta,
Sfield = i.Sfield,
Resby = i.Resby
})
.ToList();
.ToList().Replace();
List<MeetingRes> reList = new List<MeetingRes>();
var resCode = Db.Queryable<ResCode>()
.Where(t => t.Sort == "A" && t.Sta == "T").OrderBy(t => t.Code, OrderByType.Asc).ToList();
.Where(t => t.Sort == "A" && t.Sta == "T").OrderBy(t => t.Code, OrderByType.Asc).ToList().Replace();
if (resCode == null || resCode.Count == 0) return ApiResult<List<MeetingRes>>.Success(string.Empty);
int days = (req.EndDay - req.StartDay).Days;
/* 封装暂订单数量 */
var zy = Db.Queryable<ApptSummary>().Where(t => t.ApplyOA == 1 && t.StartDay >= req.StartDay.AddMonths(-2) && t.EndDay <= req.EndDay.AddMonths(2))
.Select(t => t.Guid).ToList();
var meets = Db.Queryable<ApptMeeting, ApptSummary>((m, s) => new JoinQueryInfos(
JoinType.Left, m.ApptId == s.Id))
.Where((m, s) => s.ApptTypeId == 2 && s.ApptType != 4 && m.MeetingTime >= req.StartDay && m.MeetingTime <= req.EndDay && !zy.Contains(s.Guid)).ToList();
//var inSumGuid = Db.Queryable<ApptSummary>().Where(t => meets.Select(t => t.ApptId).Contains(t.Id)).Select(t => t.Guid).ToList();
//var _inSumGuid = Db.Queryable<ApptSummary>().Where(t => t.ApplyOA == 1 && inSumGuid.Contains(t.Guid)).ToList();
//meets= meets.Where(t=> !_inSumGuid.Contains(t.gui))
foreach (var item in resCode)
{
DateTime curDay = req.StartDay;
@@ -79,20 +89,37 @@ namespace Appointment.Repository
string[] st = new string[] { "", "", "" };
for (int j = 0; j < 3; j++)
{
var meetingNum = new MeetingNum();
int sField = j + 1;
var model = ls.Where(t => t.Stime == curDay && t.Sfield == sField && t.Code == item.Code).FirstOrDefault();
if (model != null)
{
if (model.Resby == loginUserRes.Info.UserAccount)
{
meetingNum.Group = "M";
st[j] = "M";
}
else
{
st[j] = model.Sta;
meetingNum.Group = model.Sta;
}
}
if (meets != null)
{
var m = meets.Where(t => t.MeetingTime == meetingStatus.Day && t.MeetingCode == item.Code && t.Groups.Contains(sField.ToString()))
.Select(t => t.ApptId.Value).ToList();
meetingNum.Num = m.Count();
if (meetingNum.Num > 0)
{
meetingNum.SummaryList = m;
}
}
if (meetingStatus.MeetingNums == null) meetingStatus.MeetingNums = new List<MeetingNum>();
meetingStatus.MeetingNums.Add(meetingNum);
}
meetingStatus.Status = st;
meetingRes.DayStatus.Add(meetingStatus);