| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using EntityDataSet;
- using IntelligentControlForsx.Service.ControlLog.Domain;
- using IntelligentControlForsx.Service.WindturbineControl.Domain.Cmd;
- namespace IntelligentControlForsx.Service.ControlLog
- {
- public class ControlLogInfoSvc
- {
- public static DataTable GetControlInfo(SearchCondition condition)
- {
- IList<control_log> list = new List<control_log>();
- using (wisdom_cs_entity ctx = new wisdom_cs_entity())
- {
- if (condition.StartTime.HasValue && condition.EndTime.HasValue)
- list =
- ctx.control_log.Where(
- s => s.send_control_time > condition.StartTime.Value && s.send_control_time < condition.EndTime.Value).ToList();
- if (condition.ByUserId)
- list = list.Where(s => s.control_user_id == condition.UserId).ToList();
- if (condition.ByControlType)
- {
- int type = Convert.ToInt32(condition.ControlType);
- list = list.Where(s => s.control_type == type).ToList();
- }
- if (condition.ByWindturbineId)
- list = list.Where(s => s.windturbine_id == condition.WindturbineId).ToList();
- if (condition.ByStation)
- {
- string windturbineIdString = "";
- if (condition.Station == "SBQ_FDC")
- windturbineIdString = "SG01_";
- if (condition.Station == "MHS_FDC")
- windturbineIdString = "MG01_";
- if (condition.Station == "NSS_FDC")
- windturbineIdString = "NG01_";
- if (condition.Station == "QS_FDC")
- windturbineIdString = "QG01_";
- if (condition.Station == "XS_FDC")
- windturbineIdString = "XG01_";
- list = list.Where(s => s.windturbine_id.Contains(windturbineIdString)).ToList();
- }
- }
- return GetDataTable(list);
- }
- public static DataTable GetDataTable(IList<control_log> infoList)
- {
- IList<user> userList = new List<user>();
- IList<windpowerstation> stationList = new List<windpowerstation>();
- using (wisdom_cs_entity ctx = new wisdom_cs_entity())
- {
- userList = ctx.user.Select(s => s).ToList();
- stationList = ctx.windpowerstation.Select(s => s).ToList();
- }
- DataTable dataTable = new DataTable();
- dataTable.Columns.Add("操作时间");
- dataTable.Columns.Add("风机名称");
- dataTable.Columns.Add("风场");
- dataTable.Columns.Add("操作类型");
- dataTable.Columns.Add("操作人");
- dataTable.Columns.Add("是否成功");
- for (int i = 0; i < infoList.Count; i++)
- {
- DataRow row = dataTable.NewRow();
- row["风机名称"] = infoList[i].windturbine_id;
- windpowerstation station = stationList.Where(s => s.ID == infoList[i].station_id).FirstOrDefault();
- row["风场"] = station != null ? station.NAME : "";
- CmdType controlType = (CmdType)Enum.Parse(typeof(CmdType), infoList[i].control_type.ToString());
- switch (controlType)
- {
- case CmdType.Start:
- row["操作类型"] = "启动";
- break;
- case CmdType.Stop:
- row["操作类型"] = "停止";
- break;
- case CmdType.Reset:
- row["操作类型"] = "复位";
- break;
- case CmdType.Maintain:
- row["操作类型"] = "维护";
- break;
- case CmdType.UnMaintain:
- row["操作类型"] = "取消维护";
- break;
- case CmdType.HangLock:
- row["操作类型"] = "挂牌";
- break;
- case CmdType.UnHangLock:
- row["操作类型"] = "取消挂牌";
- break;
- }
- user u = userList.Where(s => s.id == infoList[i].control_user_id).FirstOrDefault();
- if (u != null)
- row["操作人"] = u.name;
- row["操作时间"] = infoList[i].send_control_time.HasValue ? infoList[i].send_control_time.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
- if (infoList[i].is_send_control_success.HasValue)
- {
- if (infoList[i].is_send_control_success.Value)
- row["是否成功"] = "是";
- else
- row["是否成功"] = "否";
- }
- else
- {
- row["是否成功"] = "否";
- }
- dataTable.Rows.Add(row);
- }
- return dataTable;
- }
- }
- }
|