diff --git a/api_v1/Appointment.Entity/Appointment.Entity.xml b/api_v1/Appointment.Entity/Appointment.Entity.xml
index ba877d9..c9f302f 100644
--- a/api_v1/Appointment.Entity/Appointment.Entity.xml
+++ b/api_v1/Appointment.Entity/Appointment.Entity.xml
@@ -2694,7 +2694,7 @@
- 使用状态:R-预定
+ 使用状态:R-预定的确定单:M-自己预定的确定单:T-暂定单
@@ -2712,6 +2712,21 @@
状态:第1场,第2场,第3场 状态
+
+
+ 场次状态:R-其他人预定单;M-我的预定单;I-占用;
+
+
+
+
+ 暂订单数量
+
+
+
+
+ 暂订单主键列表
+
+
存储过程返回数据
diff --git a/api_v1/Appointment.Entity/Response/MeetingRes.cs b/api_v1/Appointment.Entity/Response/MeetingRes.cs
index ef45cb3..f16a4e6 100644
--- a/api_v1/Appointment.Entity/Response/MeetingRes.cs
+++ b/api_v1/Appointment.Entity/Response/MeetingRes.cs
@@ -20,7 +20,7 @@ namespace Appointment.Entity
public string Descript { get; set; }
///
- /// 使用状态:R-预定
+ /// 使用状态:R-预定的确定单:M-自己预定的确定单:T-暂定单
///
public List DayStatus { get; set; }
@@ -40,5 +40,25 @@ namespace Appointment.Entity
/// 状态:第1场,第2场,第3场 状态
///
public string[] Status { get; set; }
+
+ public List MeetingNums { get; set; }
+ }
+
+ public class MeetingNum
+ {
+ ///
+ /// 场次状态:R-其他人预定单;M-我的预定单;I-占用;
+ ///
+ public string Group { get; set; }
+
+ ///
+ /// 暂订单数量
+ ///
+ public int Num { get; set; }
+
+ ///
+ /// 暂订单主键列表
+ ///
+ public List SummaryList { get; set; }
}
}
diff --git a/api_v1/Appointment.Repository/ApptRepo.cs b/api_v1/Appointment.Repository/ApptRepo.cs
index cc90ad3..589921b 100644
--- a/api_v1/Appointment.Repository/ApptRepo.cs
+++ b/api_v1/Appointment.Repository/ApptRepo.cs
@@ -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 reList = new List();
-
var resCode = Db.Queryable()
- .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>.Success(string.Empty);
int days = (req.EndDay - req.StartDay).Days;
+
+ /* 封装暂订单数量 */
+ var zy = Db.Queryable().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((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().Where(t => meets.Select(t => t.ApptId).Contains(t.Id)).Select(t => t.Guid).ToList();
+ //var _inSumGuid = Db.Queryable().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();
+ meetingStatus.MeetingNums.Add(meetingNum);
}
meetingStatus.Status = st;
meetingRes.DayStatus.Add(meetingStatus);