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 @@