2025-06-04 09:11:41 +08:00
|
|
|
|
using BLL;
|
|
|
|
|
using Model;
|
|
|
|
|
using Model.APIItem.HSSE;
|
|
|
|
|
using System;
|
2025-07-23 10:26:51 +08:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
2025-06-04 09:11:41 +08:00
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Web.Http;
|
|
|
|
|
|
|
|
|
|
namespace WebAPI.Controllers
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 塔吊分信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class TowerCraneController : ApiController
|
|
|
|
|
{
|
|
|
|
|
#region 根据类型获取图型数据
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据类型获取图型数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public Model.ResponeData saveTowerCraneRecord([FromBody] TowerCraneRecordItem recordItem)
|
|
|
|
|
{
|
|
|
|
|
var responeData = new Model.ResponeData();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
var towerCrane = db.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneCode == recordItem.Id);
|
|
|
|
|
if (towerCrane != null)
|
|
|
|
|
{
|
|
|
|
|
HSSE_TowerCraneRecord record = new HSSE_TowerCraneRecord();
|
|
|
|
|
record.TowerCraneRecordId = Guid.NewGuid().ToString();
|
|
|
|
|
record.TowerCraneId = towerCrane.TowerCraneId;
|
|
|
|
|
record.AlarmType = recordItem.AlarmType;
|
|
|
|
|
record.AmountHoist = recordItem.AmountHoist;
|
|
|
|
|
record.Camber = recordItem.Camber;
|
|
|
|
|
record.Height = recordItem.Height;
|
|
|
|
|
record.Hoist = recordItem.Hoist;
|
|
|
|
|
record.Moment = recordItem.Moment;
|
|
|
|
|
record.Range = recordItem.Range;
|
|
|
|
|
record.RotationAngle = recordItem.RotationAngle;
|
|
|
|
|
record.WindSpeed = recordItem.WindSpeed;
|
2025-07-23 10:26:51 +08:00
|
|
|
|
record.Hoist = recordItem.Hoist;
|
|
|
|
|
record.Date = DateTime.Now;
|
|
|
|
|
db.HSSE_TowerCraneRecord.InsertOnSubmit(record);
|
|
|
|
|
db.SubmitChanges();
|
2025-06-04 09:11:41 +08:00
|
|
|
|
|
|
|
|
|
|
2025-07-23 10:26:51 +08:00
|
|
|
|
if (!string.IsNullOrEmpty(record.AlarmType))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Dictionary<string, string> alarmMap = new Dictionary<string, string>();
|
2025-06-04 09:11:41 +08:00
|
|
|
|
|
2025-07-23 10:26:51 +08:00
|
|
|
|
alarmMap.Add("111", "重量预警");
|
|
|
|
|
alarmMap.Add("112", "重量报警");
|
|
|
|
|
alarmMap.Add("121", "风速预警");
|
|
|
|
|
alarmMap.Add("122", "风速报警");
|
|
|
|
|
alarmMap.Add("131", "内限位报警");
|
|
|
|
|
alarmMap.Add("132", "内限位预警");
|
|
|
|
|
alarmMap.Add("133", "外限位预警");
|
|
|
|
|
alarmMap.Add("134", "外限位报警");
|
|
|
|
|
alarmMap.Add("141", "倾角预警");
|
|
|
|
|
alarmMap.Add("142", "倾角报警");
|
|
|
|
|
alarmMap.Add("151", "上限位预警");
|
|
|
|
|
alarmMap.Add("152", "上限位报警");
|
|
|
|
|
alarmMap.Add("201", "障碍物碰撞报警");
|
|
|
|
|
alarmMap.Add("202", "塔机群碰撞报警");
|
2025-06-04 09:11:41 +08:00
|
|
|
|
|
2025-07-23 10:26:51 +08:00
|
|
|
|
var alarms = record.AlarmType.Replace("[", "").Replace("]", "").Split(',');
|
|
|
|
|
string res = "";
|
|
|
|
|
foreach (string alarm in alarms)
|
|
|
|
|
{
|
|
|
|
|
if (alarmMap.ContainsKey(alarm))
|
|
|
|
|
{
|
|
|
|
|
res += alarmMap[alarm] + ",";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
res = res.TrimEnd(',');
|
|
|
|
|
|
|
|
|
|
var user = db.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == towerCrane.ProjectId && x.UnitId == Const.UnitId_CWCEC && x.RoleName == "安全总监");
|
|
|
|
|
|
|
|
|
|
APICommonService.SendSubscribeMessage(user.UserId, "塔吊预警", towerCrane.TowerCraneName + ":" + res, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-06-04 09:11:41 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
responeData.code = 0;
|
|
|
|
|
responeData.message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return responeData;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|