diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index ac96ecb9..b858103c 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Config/Config/AlarmsConfig.xml b/Step.Config/Config/AlarmsConfig.xml index 454d2102..8570c0be 100644 --- a/Step.Config/Config/AlarmsConfig.xml +++ b/Step.Config/Config/AlarmsConfig.xml @@ -8,7 +8,7 @@ 2 2 - false + true 3 diff --git a/Step.Config/Config/serverConfig.xml b/Step.Config/Config/serverConfig.xml index 66484c93..64105282 100644 --- a/Step.Config/Config/serverConfig.xml +++ b/Step.Config/Config/serverConfig.xml @@ -1,8 +1,8 @@ - SIEMENS - true + DEMO + false localhost 8080 Ares 37 OF diff --git a/Step.Database/Controllers/AlarmsController.cs b/Step.Database/Controllers/AlarmsController.cs index a83bbb0e..a16ef0f5 100644 --- a/Step.Database/Controllers/AlarmsController.cs +++ b/Step.Database/Controllers/AlarmsController.cs @@ -7,6 +7,7 @@ using System.Data.Entity; using System.IO; using System.Linq; using static Step.Model.Constants; +using static Step.Config.ServerConfig; namespace Step.Database.Controllers { @@ -26,22 +27,39 @@ namespace Step.Database.Controllers dbCtx.Dispose(); } - public List GetPaginatedWithFilter(string message, List types, int page, int pageSize, DateTime startDate, DateTime endDate, List userIds) + public List GetPaginatedWithFilter(string title, List types, int page, int pageSize, DateTime startDate, DateTime endDate, List userIds, Dictionary plcMessages) { - var occurrences = dbCtx + List ncAlarmDescIds = dbCtx + .AlarmDescriptions + .Where(x => x.Title.Contains(title)) + .Select(x => x.AlarmId) + .ToList(); + + // Add Plc messages + List plcAlarmDescIds = + plcMessages + .Where(x => x.Value.Contains(title)) + .Select(x => x.Key) + .ToList(); + + var occurrencesQuery = dbCtx .AlarmOccurrences .OrderBy(x => x.AlarmOccurrenceId) - .Include("Users") + .Include("Users") .Where(x => x.TimeStamp >= startDate && x.TimeStamp <= endDate && types.Contains(x.Type) && x.Users.Any(y => userIds.Any(z => z == y.UserId)) - ) - .Skip(page * pageSize) - .Take(pageSize) - .Include("AlarmDescription") - .ToList(); - + && ((x.Source == ALARM_SOURCE.NC && ncAlarmDescIds.Contains(x.AlarmDescriptionId.Value)) + || (x.Source == ALARM_SOURCE.PLC && plcAlarmDescIds.Contains(x.PlcMessageId.Value))) + ); + + var occurrences = occurrencesQuery + .Skip(page * pageSize) + .Take(pageSize) + .Include("AlarmDescription") + .ToList(); + return occurrences .Select(x => (DTOAlarmHistoricModel)x) .ToList(); @@ -51,7 +69,7 @@ namespace Step.Database.Controllers { dbCtx.AlarmOccurrences.AddRange(alarms); - dbCtx.SaveChanges(); + dbCtx.SaveChangesAsync(); } public void InsertNewNcAlarmDescriptions(List descriptions) @@ -66,7 +84,7 @@ namespace Step.Database.Controllers dbCtx.AlarmDescriptions.Add(desc); } - dbCtx.SaveChanges(); + dbCtx.SaveChangesAsync(); } public void InsertNewAlarmUser(List loggedUser) diff --git a/Step.Database/Migrations/201810240848483_InitMigration.resx b/Step.Database/Migrations/201810240848483_InitMigration.resx deleted file mode 100644 index a9ea712c..00000000 --- a/Step.Database/Migrations/201810240848483_InitMigration.resx +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 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 - - - dbo - - \ No newline at end of file diff --git a/Step.Database/Migrations/201810240848483_InitMigration.Designer.cs b/Step.Database/Migrations/201811141155184_InitMigration.Designer.cs similarity index 92% rename from Step.Database/Migrations/201810240848483_InitMigration.Designer.cs rename to Step.Database/Migrations/201811141155184_InitMigration.Designer.cs index 2f4b482d..e870f286 100644 --- a/Step.Database/Migrations/201810240848483_InitMigration.Designer.cs +++ b/Step.Database/Migrations/201811141155184_InitMigration.Designer.cs @@ -13,7 +13,7 @@ namespace Step.Database.Migrations string IMigrationMetadata.Id { - get { return "201810240848483_InitMigration"; } + get { return "201811141155184_InitMigration"; } } string IMigrationMetadata.Source diff --git a/Step.Database/Migrations/201810240848483_InitMigration.cs b/Step.Database/Migrations/201811141155184_InitMigration.cs similarity index 99% rename from Step.Database/Migrations/201810240848483_InitMigration.cs rename to Step.Database/Migrations/201811141155184_InitMigration.cs index a1dea918..5b4c3416 100644 --- a/Step.Database/Migrations/201810240848483_InitMigration.cs +++ b/Step.Database/Migrations/201811141155184_InitMigration.cs @@ -56,6 +56,7 @@ namespace Step.Database.Migrations type = c.Int(nullable: false), processes = c.Int(nullable: false), timestamp = c.DateTime(nullable: false, precision: 0), + plc_message_id = c.Int(), }) .PrimaryKey(t => t.id) .ForeignKey("dbo.alarm_description", t => t.alarm_id) diff --git a/Step.Database/Migrations/201811141155184_InitMigration.resx b/Step.Database/Migrations/201811141155184_InitMigration.resx new file mode 100644 index 00000000..625ea9bd --- /dev/null +++ b/Step.Database/Migrations/201811141155184_InitMigration.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Step.Database/Step.Database.csproj b/Step.Database/Step.Database.csproj index f928b102..74153f72 100644 --- a/Step.Database/Step.Database.csproj +++ b/Step.Database/Step.Database.csproj @@ -81,9 +81,9 @@ - - - 201810240848483_InitMigration.cs + + + 201811141155184_InitMigration.cs @@ -119,8 +119,8 @@ - - 201810240848483_InitMigration.cs + + 201811141155184_InitMigration.cs diff --git a/Step.Model/DTOModels/AlarmModels/DTOAlarmHistoricModel.cs b/Step.Model/DTOModels/AlarmModels/DTOAlarmHistoricModel.cs index 99d36695..ffbb536a 100644 --- a/Step.Model/DTOModels/AlarmModels/DTOAlarmHistoricModel.cs +++ b/Step.Model/DTOModels/AlarmModels/DTOAlarmHistoricModel.cs @@ -4,8 +4,6 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; -using System.Text; -using System.Threading.Tasks; using static Step.Model.Constants; namespace Step.Model.DTOModels.AlarmModels @@ -21,15 +19,15 @@ namespace Step.Model.DTOModels.AlarmModels public string Description { get; set; } public ALARM_SOURCE Source { get; set; } - + public ALARM_TYPE Type { get; set; } - + public List Processes { get; set; } - + public DateTime TimeStamp { get; set; } public List Users { get; set; } - + public static explicit operator DTOAlarmHistoricModel(AlarmOccurrencesModel obj) { List processes = new List(); @@ -55,29 +53,36 @@ namespace Step.Model.DTOModels.AlarmModels }; } } - + public class DTOAlarmsFilterModel { [Required] public int Page { get; set; } + [Required] public int PageSize { get; set; } + [Required] public string Title { get; set; } + [Required] public List Type { get; set; } + [Required] public DateTime? StartDate { get; set; } + [Required] public DateTime EndDate { get; set; } + [Required] public List UserIds { get; set; } + + public string Language { get; set; } } - + public struct DTOAlarmsData { public int Pages; public DateTime FirstDate; } - -} +} \ No newline at end of file diff --git a/Step.Model/DatabaseModels/AlarmOccurrencesModel.cs b/Step.Model/DatabaseModels/AlarmOccurrencesModel.cs index 02511096..d68a1d06 100644 --- a/Step.Model/DatabaseModels/AlarmOccurrencesModel.cs +++ b/Step.Model/DatabaseModels/AlarmOccurrencesModel.cs @@ -28,6 +28,9 @@ namespace Step.Model.DatabaseModels [Column("timestamp")] public DateTime TimeStamp { get; set; } + + [Column("plc_message_id")] + public int? PlcMessageId { get; set; } public AlarmDescriptionsModel AlarmDescription { get; set; } public List Users { get; set; } diff --git a/Step/Attributes/WebApiAuthorizeAttribute.cs b/Step/Attributes/WebApiAuthorizeAttribute.cs index 68369299..b8a790b3 100644 --- a/Step/Attributes/WebApiAuthorizeAttribute.cs +++ b/Step/Attributes/WebApiAuthorizeAttribute.cs @@ -8,6 +8,7 @@ using Step.Config; using Step.Model.DatabaseModels; using static Step.Config.ServerConfig; using static Step.Model.Constants; +using static Step.Listeners.SignalRStaticObjects; namespace Step { @@ -79,6 +80,11 @@ namespace Step if (functionAccess.WriteLevelMin > machineUser.Role.Level) return false; // Not authorized } + + // Check if functionality is enabled by PLC + var functionalityIsEnabled = LastRuntimeFunctionality.Where(x => x.Name == functionName).FirstOrDefault(); + if (functionalityIsEnabled == null || functionalityIsEnabled.Enabled == false) + return false; } else return false; diff --git a/Step/Controllers/WebApi/ApiAlarmController.cs b/Step/Controllers/WebApi/ApiAlarmController.cs index 4b21186a..493b8d1c 100644 --- a/Step/Controllers/WebApi/ApiAlarmController.cs +++ b/Step/Controllers/WebApi/ApiAlarmController.cs @@ -1,10 +1,10 @@ using Step.Database.Controllers; using Step.Model.DatabaseModels; using Step.Model.DTOModels.AlarmModels; +using Step.NC; using Step.Provider; using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using System.IO; using System.Linq; using System.Net; @@ -19,28 +19,23 @@ namespace Step.Controllers.WebApi [RoutePrefix("api/alarm")] public class ApiAlarmController : ApiController { - //[Route(""), HttpGet] - //public IHttpActionResult GetAll(int page, int pageSize) - //{ - // using (AlarmsController alarm = new AlarmsController()) - // { - // var a = alarm.GetPaginated(page, pageSize); - - // return Ok(a); - // } - //} - [Route("paginated"), HttpPost] - public IHttpActionResult GetDataPaginated([FromBody]DTOAlarmsFilterModel data) + public IHttpActionResult GetDataPaginated([FromBody]DTOAlarmsFilterModel filter) { - Validate(data); - var a = ModelState.Values.Select(x => x.Errors); if (!ModelState.IsValid) return BadRequest(ModelState); + Dictionary plcMessages = new Dictionary(); + using (NcHandler ncHandler = new NcHandler()) + { + // Read data + ncHandler.numericalControl.NC_GetTranslatedPlcMessages(filter.Language, ref plcMessages); + } + + using (AlarmsController alarm = new AlarmsController()) { - var alarms = alarm.GetPaginatedWithFilter(data.Title, data.Type, data.Page - 1, data.PageSize, data.StartDate.Value, data.EndDate, data.UserIds); + var alarms = alarm.GetPaginatedWithFilter(filter.Title, filter.Type, filter.Page - 1, filter.PageSize, filter.StartDate.Value, filter.EndDate, filter.UserIds, plcMessages); return Ok(alarms); } @@ -165,7 +160,6 @@ namespace Step.Controllers.WebApi #endregion Note - #region Attachment [Route("{alarmDescId:int}/attachments"), HttpGet] diff --git a/Step/Controllers/WebApi/LanguageController.cs b/Step/Controllers/WebApi/LanguageController.cs index 8c43ae29..e426bdb9 100644 --- a/Step/Controllers/WebApi/LanguageController.cs +++ b/Step/Controllers/WebApi/LanguageController.cs @@ -121,13 +121,12 @@ namespace Step.Controllers.WebApi { using (NcHandler ncHandler = new NcHandler()) { - CmsError cmsError = ncHandler.Connect(); Dictionary returnValue = new Dictionary(); Dictionary messages = new Dictionary(); // Read data from CN - cmsError = ncHandler.numericalControl.NC_GetTranslatedPlcMessages(language, ref messages); - + ncHandler.numericalControl.NC_GetTranslatedPlcMessages(language, ref messages); // Avoid checking error because in the worst case "messages" is empty + // Id start from 1 for (int i = 1; i <= 1024; i++) { diff --git a/Step/Listeners/Database/SignalRDatabaseHandler.cs b/Step/Listeners/Database/SignalRDatabaseHandler.cs index dc702e79..e59d61ef 100644 --- a/Step/Listeners/Database/SignalRDatabaseHandler.cs +++ b/Step/Listeners/Database/SignalRDatabaseHandler.cs @@ -141,6 +141,7 @@ namespace Step.Listeners.Database alarmNewOccurrences.AddRange(differences.PlcAlarms.Select(x => { int processesByte = 0; + // Convert list to byte x.Process.ForEach(y => processesByte |= (1 << y)); return new AlarmOccurrencesModel() @@ -149,7 +150,8 @@ namespace Step.Listeners.Database Type = x.IsWarning ? ALARM_TYPE.WARNING : ALARM_TYPE.ERROR, Processes = processesByte, TimeStamp = x.DateTime, - Source = ALARM_SOURCE.PLC + Source = ALARM_SOURCE.PLC, + PlcMessageId = (int)x.Id }; })); diff --git a/Step/wwwroot/src/modules/under-the-hood/jog-menu.vue b/Step/wwwroot/src/modules/under-the-hood/jog-menu.vue index 0211f905..66e06fe5 100644 --- a/Step/wwwroot/src/modules/under-the-hood/jog-menu.vue +++ b/Step/wwwroot/src/modules/under-the-hood/jog-menu.vue @@ -14,7 +14,8 @@