using Model.Dto.Asset; using Model.Dto.Inspection; using Model.Entity.Asset; using Model.Entity.Inspection; namespace Model.Mapper { /// /// Entity → DTO 映射器(统一在此处做实体到传输对象的转换) /// 核心转换:雪花 Id 由 long 转 string,避免前端 JavaScript 大数精度丢失 /// 使用方法 给查询的数据后面加上.ToDtoList()或者.ToDto() /// public static class EntityMapper { #region 设备台账 /// /// EquipmentEntity → EquipmentDto /// public static EquipmentDto ToDto(this EquipmentEntity entity) { if (entity == null) return null; return new EquipmentDto { Id = entity.Id.ToString(), IsDel = entity.IsDel, CreateTime = entity.CreateTime, Code = entity.Code, Name = entity.Name, CategoryId = entity.CategoryId, Type = entity.Type, Brand = entity.Brand, Model = entity.Model, Specifications = entity.Specifications, Manufacturer = entity.Manufacturer, Supplier = entity.Supplier, ImageUrl = entity.ImageUrl, QrCode = entity.QrCode, Description = entity.Description, Department = entity.Department, Location = entity.Location, ResponsiblePerson = entity.ResponsiblePerson, ContactPhone = entity.ContactPhone, Custodian = entity.Custodian, PurchaseDate = entity.PurchaseDate, PurchasePrice = entity.PurchasePrice, WarrantyExpireDate = entity.WarrantyExpireDate, AcceptanceDate = entity.AcceptanceDate, EnableDate = entity.EnableDate, ServiceLifeYears = entity.ServiceLifeYears, ScrapDate = entity.ScrapDate, Status = entity.Status, CalibrationStatus = entity.CalibrationStatus, LastCalibrationDate = entity.LastCalibrationDate, NextCalibrationDate = entity.NextCalibrationDate, InspectionDate = entity.InspectionDate, NextInspectionDate = entity.NextInspectionDate, MaintenanceStatus = entity.MaintenanceStatus, LastMaintenanceDate = entity.LastMaintenanceDate, NextMaintenanceDate = entity.NextMaintenanceDate, Remark = entity.Remark, CreateBy = entity.CreateBy, UpdateBy = entity.UpdateBy, UpdateTime = entity.UpdateTime }; } /// /// List<EquipmentEntity> → List<EquipmentDto> /// public static List ToDtoList(this List entities) { return entities?.Select(e => e.ToDto()).ToList() ?? new List(); } #endregion #region 设备附件 /// /// EquipmentAttachmentEntity → EquipmentAttachmentDto /// public static EquipmentAttachmentDto ToDto(this EquipmentAttachmentEntity entity) { if (entity == null) return null; return new EquipmentAttachmentDto { Id = entity.Id.ToString(), IsDel = entity.IsDel, CreateTime = entity.CreateTime, EquipmentId = entity.EquipmentId, FileName = entity.FileName, FileType = entity.FileType, FileExt = entity.FileExt, FileUrl = entity.FileUrl, FileSize = entity.FileSize, Uploader = entity.Uploader, Remark = entity.Remark }; } /// /// List<EquipmentAttachmentEntity> → List<EquipmentAttachmentDto> /// public static List ToDtoList(this List entities) { return entities?.Select(e => e.ToDto()).ToList() ?? new List(); } #endregion #region 设备分类 /// /// EquipmentCategoryEntity → EquipmentCategoryDto /// public static EquipmentCategoryDto ToDto(this EquipmentCategoryEntity entity) { if (entity == null) return null; return new EquipmentCategoryDto { Id = entity.Id.ToString(), IsDel = entity.IsDel, CreateTime = entity.CreateTime, ParentId = entity.ParentId, Name = entity.Name, Code = entity.Code, Level = entity.Level, Sort = entity.Sort, Remark = entity.Remark }; } /// /// List<EquipmentCategoryEntity> → List<EquipmentCategoryDto> /// public static List ToDtoList(this List entities) { return entities?.Select(e => e.ToDto()).ToList() ?? new List(); } #endregion #region 设备状态记录 /// /// EquipmentStatusRecordEntity → EquipmentStatusRecordDto /// public static EquipmentStatusRecordDto ToDto(this EquipmentStatusRecordEntity entity) { if (entity == null) return null; return new EquipmentStatusRecordDto { Id = entity.Id.ToString(), IsDel = entity.IsDel, CreateTime = entity.CreateTime, EquipmentId = entity.EquipmentId, FromStatus = entity.FromStatus, ToStatus = entity.ToStatus, ChangeTime = entity.ChangeTime, Operator = entity.Operator, Remark = entity.Remark }; } /// /// List<EquipmentStatusRecordEntity> → List<EquipmentStatusRecordDto> /// public static List ToDtoList(this List entities) { return entities?.Select(e => e.ToDto()).ToList() ?? new List(); } #endregion #region 温度箱看板数据 /// /// TemperatureBoxDataEntity → TemperatureBoxDataDto /// public static TemperatureBoxDataDto ToDto(this TemperatureBoxDataEntity entity) { if (entity == null) return null; return new TemperatureBoxDataDto { Id = entity.Id.ToString(), IsDel = entity.IsDel, CreateTime = entity.CreateTime, DeviceCode = entity.DeviceCode, DeviceType = entity.DeviceType, DeviceTemperature = entity.DeviceTemperature, DeviceHumidity = entity.DeviceHumidity, Status = entity.Status, AlarmInfo = entity.AlarmInfo }; } /// /// List<TemperatureBoxDataEntity> → List<TemperatureBoxDataDto> /// public static List ToDtoList(this List entities) { return entities?.Select(e => e.ToDto()).ToList() ?? new List(); } #endregion } }