82 lines
3.3 KiB
C#
82 lines
3.3 KiB
C#
using Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.Entity;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
|
|
/// <summary>
|
|
/// guadanStatisticsController 的摘要描述
|
|
/// </summary>
|
|
public class guadanStatisticsController: ApiController
|
|
{
|
|
private Model.ezEntities _db = new Model.ezEntities();
|
|
|
|
[HttpGet]
|
|
[Route("api/guadanStatistics/GetGuadanStatistics")]
|
|
public async Task<IHttpActionResult> GetGuadanStatistics()
|
|
{
|
|
//挂单统计:房间,床位,挂单笔数,挂单人数的统计
|
|
|
|
var now = DateTime.Now;
|
|
var guadanTotalCount = await _db.GuaDanOrder
|
|
.Where(a => a.IsDeleted == false)
|
|
.Where(a => a.IsCancel == false)
|
|
.CountAsync();
|
|
var guadanCurrentCount = await _db.GuaDanOrderGuest
|
|
.Where(guest => guest.StatusCode != "403")
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Select(guest => guest.GuaDanOrderNo)
|
|
.Distinct()
|
|
.CountAsync();
|
|
var guadanPeopleTotal = await _db.GuaDanOrderGuest
|
|
.Where(a => a.IsDeleted == false)
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.CountAsync();
|
|
var guadanPeopleMale = await _db.GuaDanOrderGuest
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Where(a => a.IsDeleted == false && a.followers.sex == "男眾")
|
|
.CountAsync();
|
|
var guadanPeopleFemale = await _db.GuaDanOrderGuest
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Where(a => a.IsDeleted == false && a.followers.sex == "女眾")
|
|
.CountAsync();
|
|
var guadanPeopleCurrent = await _db.GuaDanOrderGuest
|
|
.Where(a => a.IsDeleted == false)
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Where(guest => guest.StatusCode != "403")
|
|
.Where( a => a.CheckOutAt >= now.Date)
|
|
.CountAsync();
|
|
var guadanPeopleCurrentMale = await _db.GuaDanOrderGuest
|
|
.Where(a => a.IsDeleted == false)
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Where(guest => guest.StatusCode != "403")
|
|
.Where(a => a.CheckOutAt >= now.Date && a.followers.sex == "男眾")
|
|
.CountAsync();
|
|
var guadanPeopleCurrentFemale = await _db.GuaDanOrderGuest
|
|
.Where(a => a.IsDeleted == false)
|
|
.Where(guest => guest.StatusCode != "404")
|
|
.Where(guest => guest.StatusCode != "403")
|
|
.Where(a => a.CheckOutAt >= now.Date && a.followers.sex == "女眾")
|
|
.CountAsync();
|
|
|
|
var result = new
|
|
{
|
|
guadanStatistics = new
|
|
{
|
|
guadanTotalCount = guadanTotalCount, // 总挂单次数
|
|
guadanCurrentCount = guadanCurrentCount, // 当前挂单数量
|
|
guadanPeopleTotal = guadanPeopleTotal, // 总挂单人数
|
|
guadanPeopleMale = guadanPeopleMale,
|
|
guadanPeopleFemale = guadanPeopleFemale,
|
|
guadanPeopleCurrent = guadanPeopleCurrent, // 已預約掛單人數
|
|
guadanPeopleCurrentMale = guadanPeopleCurrentMale,
|
|
guadanPeopleCurrentFemale = guadanPeopleCurrentFemale
|
|
}
|
|
};
|
|
|
|
return Ok(result);
|
|
}
|
|
} |