246 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using System;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Data;
 | |
| using System.Data.SqlClient;
 | |
| using System.Linq;
 | |
| using Newtonsoft.Json.Linq;
 | |
| using System.IO;
 | |
| using NPOI.XSSF.UserModel;
 | |
| using NPOI.SS.UserModel;
 | |
| using System.Runtime.Serialization;
 | |
| using FineUIPro.Web.ProjectData;
 | |
| using System.Configuration;
 | |
| using System.Web.Services;
 | |
| using Newtonsoft.Json;
 | |
| using FineUIPro.Web.DataShow;
 | |
| 
 | |
| namespace FineUIPro.Web.HSSE.TowerCrane
 | |
| {
 | |
|     public partial class TowerCraneState : PageBase
 | |
|     {
 | |
|         #region 加载
 | |
|         /// <summary>
 | |
|         /// 加载页面
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                  this.InitTreeMenu();//加载树
 | |
|                 //显示列
 | |
|                 
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 加载树装置-单位-工作区
 | |
|         /// <summary>
 | |
|         /// 加载树
 | |
|         /// </summary>
 | |
|         private void InitTreeMenu()
 | |
|         {
 | |
|             this.tvControlItem.Nodes.Clear();
 | |
|           
 | |
|             ////塔吊
 | |
|             var towerCranes = (from x in Funs.DB.HSSE_TowerCrane where x.ProjectId == this.CurrUser.LoginProjectId 
 | |
|                                && ( string.IsNullOrEmpty(txtIsono.Text) || x.TowerCraneName.Contains(txtIsono.Text))
 | |
|                                orderby x.CreateDate select x ).ToList();
 | |
|          
 | |
|             foreach(var item in towerCranes )
 | |
|             {
 | |
|                 TreeNode rootNode = new TreeNode();
 | |
|                 rootNode.Text = item.TowerCraneName;
 | |
|                 rootNode.NodeID = item.TowerCraneId;
 | |
|                 rootNode.EnableClickEvent= true;
 | |
|                 this.tvControlItem.Nodes.Add(rootNode);
 | |
|             } 
 | |
|              
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 绑定树节点
 | |
|         /// <summary>
 | |
|         /// 查询
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void Tree_TextChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             this.InitTreeMenu();
 | |
|             
 | |
|         }
 | |
| 
 | |
|         #region 树展开事件
 | |
|         /// <summary>
 | |
|         /// 树展开事件
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
 | |
|         {
 | |
|             string TowerCraneId = this.tvControlItem.SelectedNodeID;
 | |
|             this.hfTowerCraneId.Text = TowerCraneId;
 | |
|             var towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == TowerCraneId);
 | |
|             PageContext.RegisterStartupScript("runGetData() ; initVideo('"+ towerCrane.VideoAccount + "', '"+ Funs.EncryptionPassword(towerCrane.VideoPassword )+ "');");
 | |
| 
 | |
|         }
 | |
| 
 | |
| 
 | |
|         [WebMethod]
 | |
|         public static string GetData(string TowerCraneId)
 | |
|         {
 | |
|             Dictionary<string, object> res = new Dictionary<string, object>();
 | |
|             var towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == TowerCraneId);
 | |
|             if (towerCrane != null)
 | |
|             {
 | |
|                 res.Add("TowerCraneName", towerCrane.TowerCraneName);
 | |
|                 res.Add("TowerCraneCode", towerCrane.TowerCraneCode);
 | |
|                 res.Add("TowerCap", towerCrane.TowerCap);
 | |
|                 res.Add("VideoAccount", towerCrane.VideoAccount);
 | |
|                 res.Add("VideoPassword", Funs.EncryptionPassword(towerCrane.VideoPassword));
 | |
| 
 | |
|                 if (towerCrane.MaxHoist.HasValue)
 | |
|                 {
 | |
|                     res.Add("MaxHoist", towerCrane.MaxHoist.Value.ToString("##.##"));
 | |
|                 }
 | |
|                 if (towerCrane.MaxMoment.HasValue)
 | |
|                 {
 | |
|                     res.Add("MaxMoment", towerCrane.MaxMoment.Value.ToString("##.##"));
 | |
|                 }
 | |
|                 if (towerCrane.FrontArmLength.HasValue)
 | |
|                 {
 | |
|                     res.Add("FrontArmLength", towerCrane.FrontArmLength.Value.ToString("##.##"));
 | |
|                 }
 | |
|                 if (towerCrane.BackArmLength.HasValue)
 | |
|                 {
 | |
|                     res.Add("BackArmLength", towerCrane.BackArmLength.Value.ToString("##.##"));
 | |
| 
 | |
|                 }
 | |
|                 if (towerCrane.ArmHeigh.HasValue)
 | |
|                 {
 | |
|                     res.Add("ArmHeigh", towerCrane.ArmHeigh.Value.ToString("##.##"));
 | |
| 
 | |
|                 }
 | |
|                 
 | |
|                 DateTime date = DateTime.Now.AddDays(-1);
 | |
|                 var record  = Funs.DB.HSSE_TowerCraneRecord.Where(x=>x.TowerCraneId==TowerCraneId && x.Date>=date).OrderByDescending(x=>x.Date).ToList();
 | |
| 
 | |
|                 if (record.Count > 0)
 | |
|                 {
 | |
|                     res.Add("AmountHoist", record[0].AmountHoist.Value.ToString("#0.##"));
 | |
|                     res.Add("Camber", record[0].Camber.Value.ToString("#0.##"));
 | |
|                     res.Add("Height", record[0].Height.Value.ToString("#0.##"));
 | |
|                     res.Add("Hoist", record[0].Hoist.Value.ToString("#0.##"));
 | |
|                     res.Add("Moment", record[0].Moment.Value.ToString("#0.##"));
 | |
|                     res.Add("Range", record[0].Range.Value.ToString("#0.##"));
 | |
|                     res.Add("RotationAngle", record[0].RotationAngle.Value.ToString("#0.##"));
 | |
|                     res.Add("WindSpeed", record[0].WindSpeed.Value.ToString("#0.##"));
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     res.Add("AmountHoist", "0");
 | |
|                     res.Add("Camber", "0");
 | |
|                     res.Add("Height", "0");
 | |
|                     res.Add("Hoist", "0");
 | |
|                     res.Add("Moment", "0");
 | |
|                     res.Add("Range", "0");
 | |
|                     res.Add("RotationAngle", "0");
 | |
|                     res.Add("WindSpeed", "0");
 | |
|                 }
 | |
|                 HashSet<string> warnings = new HashSet<string>();
 | |
|                 warnings.Add("111");
 | |
|                 warnings.Add("121");
 | |
|                 warnings.Add("132");
 | |
|                 warnings.Add("133");
 | |
|                 warnings.Add("141");
 | |
|                 warnings.Add("151"); 
 | |
|                 HashSet<string> alarms = new HashSet<string>();
 | |
|                 alarms.Add("112");
 | |
|                 alarms.Add("122");
 | |
|                 alarms.Add("131");
 | |
|                 alarms.Add("134");
 | |
|                 alarms.Add("142");
 | |
|                 alarms.Add("152");
 | |
|                 alarms.Add("201");
 | |
|                 alarms.Add("202");
 | |
|                 int DailyWarning = 0;
 | |
|                 int DailyAlarm = 0;
 | |
|                 List<double> SSDZ = new List<double>();
 | |
|                 List<string> SSDZX = new List<string>();
 | |
|                 List<double> SSLJ = new List<double>();
 | |
|                 List<string> SSLJX = new List<string>();
 | |
|                 List<int> BJQS = new List<int>();
 | |
|                 List<string> BJQSX = new List<string>();
 | |
|                 
 | |
| 
 | |
| 
 | |
|                 foreach (var r in record)
 | |
|                 {
 | |
|                     if (!string.IsNullOrEmpty(r.AlarmType))
 | |
|                     {
 | |
|                         string[] AlarmType  = r.AlarmType.Replace("[","").Replace("]","").Split(',');
 | |
|                         foreach(string a in AlarmType)
 | |
|                         {
 | |
|                             if (warnings.Contains(a))
 | |
|                             {
 | |
|                                 DailyWarning++;
 | |
|                                 
 | |
|                             }
 | |
|                             if (alarms.Contains(a))
 | |
|                             {
 | |
|                                 DailyAlarm++;
 | |
| 
 | |
|                             }
 | |
|                         }
 | |
|                         BJQS.Add(AlarmType.Length);
 | |
|                         BJQSX.Add(r.Date.Value.ToString("HH:mm"));
 | |
| 
 | |
| 
 | |
|                     }
 | |
|                     if (r.Hoist.HasValue)
 | |
|                     {
 | |
|                         SSDZ.Add(r.Hoist.Value);
 | |
|                         SSDZX.Add(r.Date.Value.ToString("HH:mm"));
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         SSDZ.Add(0);
 | |
| 
 | |
|                     }
 | |
|                     if (r.Moment.HasValue)
 | |
|                     {
 | |
|                         SSLJ.Add(r.Moment.Value);
 | |
|                         SSLJX.Add(r.Date.Value.ToString("HH:mm"));
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         SSLJ.Add(0);
 | |
| 
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 res.Add("SSDZ", SSDZ);
 | |
|                 res.Add("SSDZX", SSDZX); 
 | |
|                 res.Add("SSLJ", SSLJ);
 | |
|                 res.Add("SSLJX", SSLJX);
 | |
|                 res.Add("BJQS", BJQS);
 | |
|                 res.Add("BJQSX", BJQSX);
 | |
|                 res.Add("DailyWarning", DailyWarning + "");
 | |
|                 res.Add("DailyAlarm", DailyAlarm + "");
 | |
| 
 | |
| 
 | |
|             }
 | |
| 
 | |
|             return      JsonConvert.SerializeObject(res); ;
 | |
|         }
 | |
|         #endregion
 | |
|         #endregion
 | |
| 
 | |
| 
 | |
| 
 | |
|     }
 | |
| } |