439 lines
14 KiB
C#
439 lines
14 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace DI_Electrical.Models
|
||
{
|
||
public class ec_Wire_Group
|
||
{
|
||
public ec_Wire_Group()
|
||
{
|
||
//SoftTags = new List<ec_SofttagEntity>();
|
||
NewSoftTags = new List<ec_Wire_Group>();
|
||
//Status = WireGroupStatusEnum.New;
|
||
}
|
||
#region 实体成员
|
||
/// <summary>
|
||
/// 状态。比如“待删除的”。默认为New
|
||
/// 去找lr base dataitem数据字典的be_signalstate
|
||
/// </summary>
|
||
//[JsonConverter(typeof(SignalStatusConverter))]
|
||
public WireGroupStatusEnum Status { get; set; } = WireGroupStatusEnum.New;
|
||
|
||
/// <summary>
|
||
/// 某一个输出的信号,可以关联多个输入的信号。关联的是<see cref="Wire_Group_ID"/>
|
||
/// </summary>
|
||
public string LinkedID { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// ID
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
|
||
public string Wire_Group_ID { get; set; }
|
||
|
||
/// <summary>
|
||
/// 信号名称(CH. No.)。
|
||
/// 1462,C列。
|
||
/// 8600,A列。
|
||
/// 如果是虚拟点。就是主信号+<see cref="Code"/>
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Group_Name { get; set; } = "";
|
||
/// <summary>
|
||
/// ChannelID。ec_panel_channel里。
|
||
/// 如果为空,说明这个信号是关联前的状态(或者说未关联的状态)
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string ChannelID { get; set; } = "";
|
||
/// <summary>
|
||
/// 英文描述(Description)。
|
||
/// 1462,D列。
|
||
/// 8600,B列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Group_Desc_EN { get; set; } = "";
|
||
/// <summary>
|
||
/// 中文描述。
|
||
/// 8600,B列(第二行)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Group_Desc { get; set; } = "";
|
||
/// <summary>
|
||
/// (Signal_Type)信号类型,如4-20mA。
|
||
/// 1462,I列。
|
||
/// 8600,E列(模拟量)或F列(开关量)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string IO_Type { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 信号的分组(组成Group Name的第一部分)
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Signal_Group { get; set; } = "";
|
||
/// <summary>
|
||
/// 信号的序号(组成Group Name的第二部分)
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Signal_SeqNo { get; set; } = "";
|
||
/// <summary>
|
||
/// 信号组模板ID(平台上,savesignal时,不会带出这个)。
|
||
/// 只是公司级上才有意义。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string WireGroupTemplateID { get; set; } = "";
|
||
/// <summary>
|
||
/// 代码。
|
||
/// 1462,H列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Code { get; set; } = "";
|
||
/// <summary>
|
||
/// Range_Min。
|
||
/// 1462,J列。
|
||
/// 8600,G列(111~222)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Range_Min { get; set; } = "";
|
||
/// <summary>
|
||
/// Range_Max.
|
||
/// 1462,k列。
|
||
/// 8600,G列(111~222)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Range_Max { get; set; } = "";
|
||
/// <summary>
|
||
/// Range_Min和Range_Max的单位。
|
||
/// 1462,L列。
|
||
/// 8600,H列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Unit { get; set; } = "";
|
||
/// <summary>
|
||
/// Alarm_LL。
|
||
/// 1462,m列。
|
||
/// 8600,J列(第一行或第二行不确定)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Alarm_LL { get; set; } = "";
|
||
/// <summary>
|
||
/// Alarm_L。
|
||
/// 1462,n列。
|
||
/// 8600,I列(第一行或第二行不确定)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Alarm_L { get; set; } = "";
|
||
/// <summary>
|
||
/// Alarm_H。
|
||
/// 1462,o列。
|
||
/// 8600,I列(第一行或第二行不确定)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Alarm_H { get; set; } = "";
|
||
/// <summary>
|
||
/// Alarm_HH。
|
||
/// 1462,p列。
|
||
/// 8600,J列(第一行或第二行不确定)。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Alarm_HH { get; set; } = "";
|
||
/// <summary>
|
||
/// AL_GRP 延申报警组。
|
||
/// 1462,S列。
|
||
/// 8600,U列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string AL_GRP { get; set; } = "";
|
||
/// <summary>
|
||
/// BL_GRP 抑制报警。
|
||
/// 1462,T列。
|
||
/// 8600,T列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string BL_GRP { get; set; } = "";
|
||
/// <summary>
|
||
/// 延时。
|
||
/// 1462,U列。
|
||
/// 8600,S列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Time_Delay { get; set; } = "";
|
||
/// <summary>
|
||
/// 供应商。
|
||
/// 1463,V列。
|
||
/// 8600,L列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Supplier { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 设备名
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string EquipName { get; set; } = "";
|
||
/// <summary>
|
||
/// 传感器代码。
|
||
/// 1462,W列。
|
||
/// 8600,K列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string SENSOR_CODE { get; set; } = "";
|
||
/// <summary>
|
||
/// VDR_Record。
|
||
/// 1462,X列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public bool VDR_Record { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 是否为slow down信号。
|
||
/// 1462,Q列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public bool SLD { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 是否为shut down信号。
|
||
/// 1462,R列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public bool SHD { get; set; } = false;
|
||
/// <summary>
|
||
/// Remarks。
|
||
/// 1462,Y列。
|
||
/// 8600,X列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string Remarks { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 信号归属
|
||
/// true,代表该信号是电气进行最终审核确认;
|
||
/// false,代表该信号是轮机进行最终审核确认;
|
||
/// </summary>
|
||
public bool ElecOnly { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 是否为通讯点。
|
||
/// 1462,通过<see cref="ec_Wire_GroupEntity.Remarks"/>里的文字判断
|
||
/// 8600,通过K列里的文字判断
|
||
/// </summary>
|
||
public bool CommunicationPoint { get; set; } = false;
|
||
|
||
|
||
///// <summary>
|
||
///// ECC 。Bool类型数据库要么是int要么是bool
|
||
///// </summary>
|
||
//public bool ECC { get; set; } = false;
|
||
|
||
///// <summary>
|
||
///// WCC
|
||
///// </summary>
|
||
//public bool WCC { get; set; } = false;
|
||
///// <summary>
|
||
///// BCC
|
||
///// </summary>
|
||
//public bool BCC { get; set; } = false;
|
||
/// <summary>
|
||
/// IO类型,AI AO DI DO
|
||
/// </summary>
|
||
public string InOrOut { get; set; } = "";
|
||
/// <summary>
|
||
/// 驾驶室(控制台)。
|
||
/// 8600,M列。导入时,如果2行都有值,中间会|分开
|
||
/// </summary>
|
||
public string WHConsole { get; set; } = "";
|
||
/// <summary>
|
||
/// 驾驶室(计算机)。
|
||
/// 8600,N列。导入时,如果2行都有值,中间会|分开
|
||
/// </summary>
|
||
public string WHCPU { get; set; } = "";
|
||
/// <summary>
|
||
/// 集控室(控制台)。
|
||
/// 8600,O列。导入时,如果2行都有值,中间会|分开
|
||
/// </summary>
|
||
public string ECRConsole { get; set; } = "";
|
||
/// <summary>
|
||
/// 集控室(计算机)。
|
||
/// 8600,P列(excel中,两行均有值时,以|分开)
|
||
/// </summary>
|
||
public string ECRCPU { get; set; } = "";
|
||
/// <summary>
|
||
/// 船舶办公室(控制台)。
|
||
/// 8600,Q列。导入时,如果2行都有值,中间会|分开
|
||
/// </summary>
|
||
public string ShipOfficeConsole { get; set; } = "";
|
||
/// <summary>
|
||
/// 船舶办公室(计算机)。
|
||
/// 8600,R列。导入时,如果2行都有值,中间会|分开
|
||
/// </summary>
|
||
public string ShipOfficeCPU { get; set; } = "";
|
||
/// <summary>
|
||
/// 安全保护。(和<see cref="SLD"/> <see cref="SHD"/>列有关系)
|
||
/// 8600,V列。
|
||
/// </summary>
|
||
public string SafetyProt { get; set; } = "";
|
||
/// <summary>
|
||
/// 安全保护延时。
|
||
/// 8600,V列下。
|
||
/// </summary>
|
||
public string SafetyDelay { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// SeriousType
|
||
/// 1462,AG列。
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string SeriousType { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 自动控制。
|
||
/// 8600,W列。
|
||
/// </summary>
|
||
public string AutoCtrl { get; set; } = "";
|
||
/// <summary>
|
||
/// 爸爸。如果有值,则代表其为虚拟点的概念
|
||
/// <see cref="Wire_Group_ID"/>
|
||
/// </summary>
|
||
public string ParentID { get; set; } = "";
|
||
/// <summary>
|
||
/// 删除标记。因为哪怕是删除了,也要保留数据,以便日后查看。
|
||
/// </summary>
|
||
public bool DeleteFlg { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 电缆位号(某些项目的<see cref="ec_projectSettingsEntity"/>里,是允许编辑的IO_allowManualAssign)
|
||
/// </summary>
|
||
public string CableName { get; set; }
|
||
/// <summary>
|
||
/// 通讯类信号<see cref="ec_CableEntity.CableClass"/>的母线ID<see cref="ec_CableEntity.CableID"/>
|
||
/// </summary>
|
||
public string CableId { get; set; }
|
||
/// <summary>
|
||
/// 创建人
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string CreateUserID { get; set; }
|
||
/// <summary>
|
||
/// 创建时间
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public DateTime? CreateTime { get; set; }
|
||
/// <summary>
|
||
/// 更新人
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string UpdateUserID { get; set; }
|
||
/// <summary>
|
||
/// 更新时间
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public DateTime? UpdateTime { get; set; }
|
||
#endregion
|
||
|
||
|
||
#region 扩展字段
|
||
///// <summary>
|
||
///// 虚拟点 集合
|
||
///// </summary>
|
||
////[SugarColumn(IsIgnore = true)]
|
||
//[Obsolete]
|
||
//[Navigate(NavigateType.OneToMany, nameof(ec_SofttagEntity.Wire_Group_ID))] //配置了导航,方便DeleteNav,ec_softtag表中的wiregroupid
|
||
//public List<ec_SofttagEntity> SoftTags { get; set; }
|
||
|
||
|
||
|
||
public List<ec_Wire_Group> NewSoftTags { get; set; }
|
||
/// <summary>
|
||
/// 柜子
|
||
/// </summary>
|
||
|
||
public string PanelName { get; set; }
|
||
/// <summary>
|
||
/// 通道号
|
||
/// </summary>
|
||
|
||
public string ChannelName { get; set; }
|
||
/// <summary>
|
||
/// 端子排
|
||
/// </summary>
|
||
|
||
public string StripName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 电缆对
|
||
/// </summary>
|
||
|
||
public string CableSetName { get; set; }
|
||
|
||
/// <summary>
|
||
/// status的具体文字描述
|
||
/// </summary>
|
||
|
||
public string StatusValue { get; set; }
|
||
|
||
|
||
/// <summary>
|
||
/// 操作历史(因为现在插件端的保存是一次性的。哪怕有多个动作,也只是一次提交)
|
||
/// </summary>
|
||
|
||
public List<ActionHistory> ActionHistorys { get; set; }
|
||
|
||
/// <summary>
|
||
/// 信号属性变更历史
|
||
/// </summary>
|
||
|
||
public List<ec_wire_group_propertyhis> Propertyhis { get; set; }
|
||
|
||
/// <summary>
|
||
/// 信号日志
|
||
/// </summary>
|
||
|
||
public List<ec_wire_group_log> Logs { get; set; }
|
||
#endregion
|
||
}
|
||
public enum WireGroupStatusEnum
|
||
{
|
||
/// <summary>
|
||
/// 待删除
|
||
/// </summary>
|
||
[Description("待删除")]
|
||
ToDelete = 01,
|
||
/// <summary>
|
||
/// 新增的
|
||
/// </summary>
|
||
[Description("新增的")]
|
||
New = 02,
|
||
/// <summary>
|
||
/// 已关联
|
||
/// </summary>
|
||
[Description("已使用(关联)")]
|
||
Used = 03,
|
||
/// <summary>
|
||
/// 已审核
|
||
/// </summary>
|
||
[Description("已确认(审核)")]
|
||
Confirmed = 04,
|
||
/// <summary>
|
||
/// 重新打开
|
||
/// </summary>
|
||
[Description("重新打开")]
|
||
Reopen = 05,
|
||
/// <summary>
|
||
/// 彻底删除
|
||
/// </summary>
|
||
[Description("彻底删除")]
|
||
deleted = 06
|
||
}
|
||
public class ActionHistory
|
||
{
|
||
public DateTime? ActionTime { get; set; }
|
||
public Action ActionType { get; set; }
|
||
public string reason { get; set; }
|
||
}
|
||
}
|