Files
Web_CRICS_Server_VS2010_Prod/WebSite/Controllers/AirConditionStatusController.cs
2025-12-11 09:17:16 +08:00

136 lines
5.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}
}