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

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

@@ -2694,7 +2694,7 @@
</member> </member>
<member name="P:Appointment.Entity.MeetingRes.DayStatus"> <member name="P:Appointment.Entity.MeetingRes.DayStatus">
<summary> <summary>
使用状态:R-预定 使用状态:R-预定的确定单:M-自己预定的确定单:T-暂定单
</summary> </summary>
</member> </member>
<member name="T:Appointment.Entity.MeetingStatus"> <member name="T:Appointment.Entity.MeetingStatus">
@@ -2712,6 +2712,21 @@
状态:第1场,第2场,第3场 状态 状态:第1场,第2场,第3场 状态
</summary> </summary>
</member> </member>
<member name="P:Appointment.Entity.MeetingNum.Group">
<summary>
场次状态:R-其他人预定单;M-我的预定单;I-占用;
</summary>
</member>
<member name="P:Appointment.Entity.MeetingNum.Num">
<summary>
暂订单数量
</summary>
</member>
<member name="P:Appointment.Entity.MeetingNum.SummaryList">
<summary>
暂订单主键列表
</summary>
</member>
<member name="T:Appointment.Entity.P_xx_res_info_view3_Res"> <member name="T:Appointment.Entity.P_xx_res_info_view3_Res">
<summary> <summary>
存储过程返回数据 存储过程返回数据

View File

@@ -20,7 +20,7 @@ namespace Appointment.Entity
public string Descript { get; set; } public string Descript { get; set; }
/// <summary> /// <summary>
/// 使用状态:R-预定 /// 使用状态:R-预定的确定单:M-自己预定的确定单:T-暂定单
/// </summary> /// </summary>
public List<MeetingStatus> DayStatus { get; set; } public List<MeetingStatus> DayStatus { get; set; }
@@ -40,5 +40,25 @@ namespace Appointment.Entity
/// 状态:第1场,第2场,第3场 状态 /// 状态:第1场,第2场,第3场 状态
/// </summary> /// </summary>
public string[] Status { get; set; } public string[] Status { get; set; }
public List<MeetingNum> MeetingNums { get; set; }
}
public class MeetingNum
{
/// <summary>
/// 场次状态:R-其他人预定单;M-我的预定单;I-占用;
/// </summary>
public string Group { get; set; }
/// <summary>
/// 暂订单数量
/// </summary>
public int Num { get; set; }
/// <summary>
/// 暂订单主键列表
/// </summary>
public List<int> SummaryList { get; set; }
} }
} }

View File

@@ -53,18 +53,28 @@ namespace Appointment.Repository
MeetingName = c.Descript1, MeetingName = c.Descript1,
Code = c.Code, Code = c.Code,
Stime = i.Stime.Value, Stime = i.Stime.Value,
Sta = i.Sta, Sta = i.Sta == "O" ? "I" : i.Sta,
Sfield = i.Sfield, Sfield = i.Sfield,
Resby = i.Resby Resby = i.Resby
}) })
.ToList(); .ToList().Replace();
List<MeetingRes> reList = new List<MeetingRes>(); List<MeetingRes> reList = new List<MeetingRes>();
var resCode = Db.Queryable<ResCode>() 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); if (resCode == null || resCode.Count == 0) return ApiResult<List<MeetingRes>>.Success(string.Empty);
int days = (req.EndDay - req.StartDay).Days; 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) foreach (var item in resCode)
{ {
DateTime curDay = req.StartDay; DateTime curDay = req.StartDay;
@@ -79,20 +89,37 @@ namespace Appointment.Repository
string[] st = new string[] { "", "", "" }; string[] st = new string[] { "", "", "" };
for (int j = 0; j < 3; j++) for (int j = 0; j < 3; j++)
{ {
var meetingNum = new MeetingNum();
int sField = j + 1; int sField = j + 1;
var model = ls.Where(t => t.Stime == curDay && t.Sfield == sField && t.Code == item.Code).FirstOrDefault(); var model = ls.Where(t => t.Stime == curDay && t.Sfield == sField && t.Code == item.Code).FirstOrDefault();
if (model != null) if (model != null)
{ {
if (model.Resby == loginUserRes.Info.UserAccount) if (model.Resby == loginUserRes.Info.UserAccount)
{ {
meetingNum.Group = "M";
st[j] = "M"; st[j] = "M";
} }
else else
{ {
st[j] = model.Sta; 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; meetingStatus.Status = st;
meetingRes.DayStatus.Add(meetingStatus); meetingRes.DayStatus.Add(meetingStatus);