CmFacility.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. namespace FMSAdmin.Entities {
  6. public partial class CmFacility {
  7. public CmFacility() {
  8. BemsAlarmSetting = new HashSet<BemsAlarmSetting>();
  9. BemsFormulaParameter = new HashSet<BemsFormulaParameter>();
  10. BemsMonitoringPoint = new HashSet<BemsMonitoringPoint>();
  11. BemsPeakFacility = new HashSet<BemsPeakFacility>();
  12. CmFacilityFile = new HashSet<CmFacilityFile>();
  13. FmsFacilityManual = new HashSet<FmsFacilityManual>();
  14. FmsWorkOrderToFacility = new HashSet<FmsWorkOrderToFacility>();
  15. FmsWorkRequestToFacility = new HashSet<FmsWorkRequestToFacility>();
  16. FmsWorkResultCheckItem = new HashSet<FmsWorkResultCheckItem>();
  17. FmsWorkResultToFacility = new HashSet<FmsWorkResultToFacility>();
  18. FmsWorkScheduleToFacility = new HashSet<FmsWorkScheduleToFacility>();
  19. InverseCmFacilityNavigation = new HashSet<CmFacility>();
  20. FmsAlarmPointList = new HashSet<FmsAlarmPoint>();
  21. FmsAlarmLogList = new HashSet<FmsAlarmLog>();
  22. BemsReportFormatToFacility = new HashSet<BemsReportFormatToFacility>();
  23. }
  24. [Display(Name = "현장 고유번호"), Key]
  25. public int SiteId { get; set; }
  26. [Display(Name = "설비타입")]
  27. public int FacilityTypeId { get; set; }
  28. [Display(Name = "설비코드"), Key]
  29. public int FacilityCode { get; set; }
  30. [Display(Name = "설비 대분류 코드")]
  31. public int? FirstClassId { get; set; }
  32. [Display(Name = "설비 중분류 코드")]
  33. public int? SecondClassId { get; set; }
  34. [Display(Name = "설비 소분류 코드")]
  35. public int? ThirdClassId { get; set; }
  36. [Display(Name = "설비 종류")]
  37. [StringLength(48, ErrorMessage = "시설종류는 최대 48자까지 입력 가능합니다.")]
  38. public string DeviceType { get; set; }
  39. [Display(Name = "상위 설비 코드")]
  40. public int? ParentFacilityCode { get; set; }
  41. [Display(Name = "설비 명칭"), Required]
  42. [StringLength(80, ErrorMessage = "시설명칭은 최대 80자까지 입력 가능합니다.")]
  43. public string Name { get; set; }
  44. [Display(Name = "설비 별칭")]
  45. [StringLength(40, ErrorMessage = "시설별칭은 최대 40자까지 입력 가능합니다.")]
  46. public string Nickname { get; set; }
  47. [Display(Name = "QR 코드")]
  48. [StringLength(52, ErrorMessage = "QR코드는 최대 52자까지 입력 가능합니다.")]
  49. public string Rfid { get; set; }
  50. [Display(Name = "제조업체명")]
  51. [StringLength(40, ErrorMessage = "제조업체명은 최대 40자까지 입력 가능합니다.")]
  52. public string Manufacturer { get; set; }
  53. [Display(Name = "제조일")]
  54. [Column(TypeName = "date")]
  55. public DateTime? ManufactureDate { get; set; }
  56. [Display(Name = "제조번호")]
  57. [StringLength(20, ErrorMessage = "제조번호는 최대 20자까지 입력 가능합니다.")]
  58. public string ManufactureSerial { get; set; }
  59. [Display(Name = "모델명")]
  60. [StringLength(40, ErrorMessage = "모델명은 최대 40자까지 입력 가능합니다.")]
  61. public string ManufactureModel { get; set; }
  62. [Display(Name = "납품업체 명")]
  63. [StringLength(40, ErrorMessage = "납품업체명은 최대 40자까지 입력 가능합니다.")]
  64. public string Supplier { get; set; }
  65. [Display(Name = "납품업체 연락처")]
  66. [StringLength(20, ErrorMessage = "납품업체 연락처는 최대 20자까지 입력 가능합니다.")]
  67. public string SupplierPhoneNo { get; set; }
  68. [Display(Name = "빌딩 고유번호")]
  69. public int? BuildingId { get; set; }
  70. [Display(Name = "설치 위치(층)")]
  71. public int? FloorId { get; set; }
  72. [Display(Name = "설비 위치(존)")]
  73. public int? ZoneId { get; set; }
  74. [Display(Name = "설치 일자")]
  75. [Column(TypeName = "date")]
  76. public DateTime? InstallDate { get; set; }
  77. [Display(Name = "운전 시작일")]
  78. [Column(TypeName = "date")]
  79. public DateTime? OperationStartDate { get; set; }
  80. [Display(Name = "설비 용량")]
  81. [StringLength(40, ErrorMessage = "시설용량은 최대 40자까지 입력 가능합니다.")]
  82. public string FacilityCapacity { get; set; }
  83. [Display(Name = "시설 비용")]
  84. public int? FacilityCost { get; set; }
  85. [Display(Name = "설비 댓수")]
  86. public int? FacilityCount { get; set; }
  87. [Display(Name = "내용 연수")]
  88. public int? FacilitySeviceLifeYear { get; set; }
  89. [Display(Name = "설비 용도")]
  90. [StringLength(80, ErrorMessage = "시설용도는 최대 80자까지 입력 가능합니다.")]
  91. public string FacilityUsage { get; set; }
  92. [Display(Name = "정격소비용량")]
  93. [StringLength(40, ErrorMessage = "정격소비용량은 최대 40자까지 입력 가능합니다.")]
  94. public string RatedPowerConsumption { get; set; }
  95. [Display(Name = "정격 COP")]
  96. [Column("RatedCOP")]
  97. public double? RatedCop { get; set; }
  98. [Display(Name = "주 담당자")]
  99. [StringLength(24, ErrorMessage = "주 담당자는명은 최대 24자까지 입력 가능합니다.")]
  100. public string MainContactorUserId { get; set; }
  101. [Display(Name = "부 담당자")]
  102. [StringLength(24, ErrorMessage = "부 담당자명은 최대 24자까지 입력 가능합니다.")]
  103. public string SubContactorUserId { get; set; }
  104. [Display(Name = "비고")]
  105. [StringLength(1024, ErrorMessage = "비고는 최대 1024자까지 입력 가능합니다.")]
  106. public string Note { get; set; }
  107. [Display(Name = "예비 1")]
  108. [StringLength(64)]
  109. public string Reserved1 { get; set; }
  110. [Display(Name = "예비 2")]
  111. [StringLength(64)]
  112. public string Reserved2 { get; set; }
  113. [Display(Name = "사용 유무")]
  114. public bool? IsUse { get; set; }
  115. [Display(Name = "파일 고유번호")]
  116. public int? FileId { get; set; }
  117. [Display(Name = "가상시설 유무"), Required]
  118. public bool IsVirtualFacility { get; set; }
  119. [Display(Name = "연료유형")]
  120. public short? FuelTypeId { get; set; }
  121. [Display(Name = "에너지 계약 유형")]
  122. public short? ContractType { get; set; }
  123. [Display(Name = "배수")]
  124. public double Multiple { get; set; }
  125. [NotMapped]
  126. [Display(Name = "엑셀행번호")]
  127. public int ExcelRowNum { get; set; }
  128. [NotMapped]
  129. [Display(Name = "설비명 분리 Sort1")]
  130. public string Sort1 {
  131. get {
  132. return Name.Substring(0, Name.IndexOf("-") != -1 ? Name.IndexOf("-") : Name.Length);
  133. }
  134. set { }
  135. }
  136. [NotMapped]
  137. [Display(Name = "설비명 분리 Sort2")]
  138. public string Sort2 {
  139. get {
  140. return System.Text.RegularExpressions.Regex.Replace(Name, @"[^0-9]", "").PadLeft(3, '0');
  141. }
  142. set { }
  143. }
  144. [ForeignKey("SiteId")]
  145. public virtual CmSite CmSite { get; set; }
  146. [ForeignKey("SiteId,FileId")]
  147. public virtual CmFile CmFile { get; set; }
  148. [ForeignKey("FacilityTypeId")]
  149. public virtual BemsFacilityType BemsFacilityType { get; set; }
  150. [ForeignKey("SiteId,ParentFacilityCode")]
  151. public virtual CmFacility CmFacilityNavigation { get; set; }
  152. [InverseProperty("CmFacility")]
  153. public virtual BemsEnergyCost BemsEnergyCost { get; set; }
  154. [InverseProperty("CmFacility")]
  155. public virtual CmFacilityTempSet CmFacilityTempSet { get; set; }
  156. [InverseProperty("CmFacility")]
  157. public virtual FmsFacilityOperationItem FmsFacilityOperationItem { get; set; }
  158. [ForeignKey("FirstClassId")]
  159. public virtual FmsFacilityCodeClass FmsFacilityCodeClass { get; set; }
  160. [ForeignKey("SecondClassId")]
  161. public virtual FmsFacilityCodeClass FmsFacilityCodeClass1 { get; set; }
  162. [ForeignKey("ThirdClassId")]
  163. public virtual FmsFacilityCodeClass FmsFacilityCodeClass2 { get; set; }
  164. [ForeignKey("SiteId,BuildingId")]
  165. public virtual CmBuilding CmBuilding { get; set; }
  166. [ForeignKey("SiteId,BuildingId,FloorId")]
  167. public virtual CmFloor CmFloor { get; set; }
  168. [ForeignKey("SiteId,BuildingId,FloorId,ZoneId")]
  169. public virtual CmZone CmZone { get; set; }
  170. [ForeignKey("MainContactorUserId")]
  171. public virtual CmUser MainContactor { get; set; }
  172. [ForeignKey("SubContactorUserId")]
  173. public virtual CmUser SubContactor { get; set; }
  174. [ForeignKey("FuelTypeId")]
  175. public virtual BemsFuelType BemsFuelType { get; set; }
  176. [ForeignKey("FuelTypeId,ContractType")]
  177. public virtual BemsNoticePriceContractType BemsNoticePriceContractType { get; set; }
  178. /*
  179. [ForeignKey("SiteId,ContractType")]
  180. public virtual FmsContractType FmsContractType { get; set; }
  181. */
  182. [InverseProperty("CmFacility")]
  183. public virtual ICollection<BemsAlarmSetting> BemsAlarmSetting { get; set; }
  184. [InverseProperty("CmFacility")]
  185. public virtual ICollection<BemsFormulaParameter> BemsFormulaParameter { get; set; }
  186. [InverseProperty("CmFacility")]
  187. public virtual ICollection<BemsMonitoringPoint> BemsMonitoringPoint { get; set; }
  188. [InverseProperty("CmFacility")]
  189. public virtual ICollection<BemsPeakFacility> BemsPeakFacility { get; set; }
  190. [InverseProperty("CmFacility")]
  191. public virtual ICollection<CmFacilityFile> CmFacilityFile { get; set; }
  192. [InverseProperty("CmFacility")]
  193. public virtual ICollection<FmsFacilityManual> FmsFacilityManual { get; set; }
  194. [InverseProperty("CmFacility")]
  195. public virtual ICollection<FmsWorkOrderToFacility> FmsWorkOrderToFacility { get; set; }
  196. [InverseProperty("CmFacility")]
  197. public virtual ICollection<FmsWorkRequestToFacility> FmsWorkRequestToFacility { get; set; }
  198. [InverseProperty("CmFacility")]
  199. public virtual ICollection<FmsWorkResultCheckItem> FmsWorkResultCheckItem { get; set; }
  200. [InverseProperty("CmFacility")]
  201. public virtual ICollection<FmsWorkResultToFacility> FmsWorkResultToFacility { get; set; }
  202. [InverseProperty("CmFacility")]
  203. public virtual ICollection<FmsWorkScheduleToFacility> FmsWorkScheduleToFacility { get; set; }
  204. [InverseProperty("CmFacilityNavigation")]
  205. public virtual ICollection<CmFacility> InverseCmFacilityNavigation { get; set; }
  206. [InverseProperty("Facility")]
  207. public virtual ICollection<FmsAlarmPoint> FmsAlarmPointList { get; set; }
  208. [InverseProperty("Facility")]
  209. public virtual ICollection<FmsAlarmLog> FmsAlarmLogList { get; set; }
  210. [InverseProperty("CmFacility")]
  211. public virtual ICollection<BemsReportFormatToFacility> BemsReportFormatToFacility { get; set; }
  212. }
  213. }