Files
Web_CRICS_Server_VS2010_Prod/WebSite/Controllers/AirConditionStatusController.cs

136 lines
5.4 KiB
C#
Raw Normal View History

2025-12-11 09:17:16 +08:00
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Domain;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Service;
namespace WebSite.Controllers
{
public class AirConditionStatusController : BaseController
{
public IHostModalRecordManager HostModalRecordManager { get; set; }
public IHostAirRecordManager HostAirRecordManager { get; set; }
#region Actions
public ActionResult Index()
{
return View();
}
public ActionResult LoadAirNos()
{
var result = new List<object>();
//result.Add(new { Value = DeviceType.AirConditioner1, Name = HttpContext.InnerLanguage(DeviceType.AirConditioner1.ToString()) });
//result.Add(new { Value = DeviceType.AirConditioner2, Name = HttpContext.InnerLanguage(DeviceType.AirConditioner2.ToString()) });
//result.Add(new { Value = DeviceType.AirConditioner3, Name = HttpContext.InnerLanguage(DeviceType.AirConditioner3.ToString()) });
//result.Add(new { Value = DeviceType.AirConditioner4, Name = HttpContext.InnerLanguage(DeviceType.AirConditioner4.ToString()) });
return Json(result);
}
public ActionResult LoadDeviceSubtypes()
{
var result = new List<object>();
var enumType = typeof(DeviceSubtype);
var values = Enum.GetValues(enumType);
foreach (var value in values)
{
string name = Enum.GetName(enumType, value);
result.Add(new { Value = value, Name = HttpContext.InnerLanguage(name) });
}
return Json(new { total = result.Count, rows = result });
}
public ActionResult LoadACDeviceSubtypes()
{
var result = new List<object>();
result.Add(new { Value = DeviceSubtype.SpeedHigh, Name = HttpContext.InnerLanguage(DeviceSubtype.SpeedHigh.ToString()) });
result.Add(new { Value = DeviceSubtype.SpeedMiddle, Name = HttpContext.InnerLanguage(DeviceSubtype.SpeedMiddle.ToString()) });
result.Add(new { Value = DeviceSubtype.SpeedLow, Name = HttpContext.InnerLanguage(DeviceSubtype.SpeedLow.ToString()) });
result.Add(new { Value = DeviceSubtype.HotValve, Name = HttpContext.InnerLanguage(DeviceSubtype.HotValve.ToString()) });
result.Add(new { Value = DeviceSubtype.ColdValve, Name = HttpContext.InnerLanguage(DeviceSubtype.ColdValve.ToString()) });
return Json(new { total = result.Count, rows = result });
}
public ActionResult LoadTempTypes()
{
var result = new List<object>();
var enumType = typeof(TempType);
var values = Enum.GetValues(enumType);
foreach (var value in values)
{
string name = Enum.GetName(enumType, value);
result.Add(new { Value = value, Name = HttpContext.InnerLanguage(name) });
}
return Json(new { total = result.Count, rows = result });
}
/// <summary>
/// 查询空调记录
/// </summary>
/// <param name="roomNumber">房号</param>
/// <param name="airNo">空调序号</param>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">截止时间</param>
/// <param name="airRecordtype">空调记录查询类型AirCircuit/空调回路RoomTemp/客房温度</param>
/// <param name="deviceSubtypes">空调回路类型</param>
/// <param name="tempTypes">温度类型</param>
/// <returns></returns>
public ActionResult LoadHostAirRecords(int page, int rows, string order, string sort, string roomNumber, int airNo, string startTime, string endTime, string airRecordtype, string deviceSubtypes, string tempTypes)
{
try
{
long total = 0;
if (airRecordtype == "AirCircuit")
{
var table = HostModalRecordManager.LoadHostModalRecords(out total, page, rows, order, sort, roomNumber, airNo.ToString(), deviceSubtypes, startTime, endTime, CurrentHotelID);
table.Columns.Add("SubtypeName", typeof(string));
foreach (DataRow dr in table.Rows)
{
var subtypeName = Enum.GetName(typeof(DeviceSubtype), dr["Subtype"]);
dr["SubtypeName"] = HttpContext.InnerLanguage(subtypeName);
}
return Content(JsonConvert.SerializeObject(new { total = total, rows = table }, new DataTableConverter()));
}
else if (airRecordtype == "RoomTemp")
{
var table = HostAirRecordManager.LoadHostAirRecords(out total, page, rows, order, sort, roomNumber, airNo, startTime, endTime, tempTypes, CurrentHotelID);
return Content(JsonConvert.SerializeObject(new { total = total, rows = table }, new DataTableConverter()));
}
return Json(new { total = 0, rows = new object[0] });
}
catch (Exception ex)
{
return Json(new { IsSuccess = false, Message = HttpContext.InnerLanguage("LoadDataFailedReason") + ex.Message });
}
}
#endregion
}
}