diff --git a/Step.Config/Config/maintenancesConfig.xml b/Step.Config/Config/maintenancesConfig.xml
index 1d6f8277..2185610d 100644
--- a/Step.Config/Config/maintenancesConfig.xml
+++ b/Step.Config/Config/maintenancesConfig.xml
@@ -8,9 +8,11 @@
10
15/02/2018 13:00
- exp_date
+ EXP_DATE
+ DescriptionUNO
+ D
2
-
+
2
@@ -19,7 +21,9 @@
1000
15/02/2018 13:00
- machine_interval
+ MACHINE_INTERVAL
+ Description
+ M
1
\ No newline at end of file
diff --git a/Step.Config/Config/maintenancesConfigValidator.xsd b/Step.Config/Config/maintenancesConfigValidator.xsd
index acc70b41..e7d0892a 100644
--- a/Step.Config/Config/maintenancesConfigValidator.xsd
+++ b/Step.Config/Config/maintenancesConfigValidator.xsd
@@ -19,8 +19,10 @@
-
-
+
+
+
+
@@ -48,6 +50,7 @@
+
@@ -56,5 +59,14 @@
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Step.Config/Config/serverConfig.xml b/Step.Config/Config/serverConfig.xml
index 1f8b8d8a..ad660972 100644
--- a/Step.Config/Config/serverConfig.xml
+++ b/Step.Config/Config/serverConfig.xml
@@ -1,7 +1,7 @@
- DEMO
+ SIEMENS
true
127.0.0.1
8080
diff --git a/Step.Config/Config/toolTableConfig.xml b/Step.Config/Config/toolTableConfig.xml
new file mode 100644
index 00000000..0e9bccf4
--- /dev/null
+++ b/Step.Config/Config/toolTableConfig.xml
@@ -0,0 +1,13 @@
+
+
+
+ true
+ true
+ false
+
+
+ true
+ true
+ true
+
+
\ No newline at end of file
diff --git a/Step.Config/Config/toolTableConfigValidator.xsd b/Step.Config/Config/toolTableConfigValidator.xsd
new file mode 100644
index 00000000..2ebc5afc
--- /dev/null
+++ b/Step.Config/Config/toolTableConfigValidator.xsd
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs
index 79aa36d8..42f0cddb 100644
--- a/Step.Config/ServerConfigController.cs
+++ b/Step.Config/ServerConfigController.cs
@@ -212,7 +212,9 @@ namespace Step.Config
Intervall = TimeSpan.FromMinutes(Convert.ToDouble(x.Element("interval").Value)),
Deadline = DateTime.Parse(x.Element("deadline").Value),
Type = x.Element("type").Value,
- CouterId = Convert.ToInt32(x.Element("counterId").Value)
+ CouterId = Convert.ToInt32(x.Element("counterId").Value),
+ Description = x.Element("description").Value,
+ UnitOfMeasure = x.Element("unitOfMeasure").Value
})
.ToList();
}
diff --git a/Step.Database/Controllers/MaintenancesController.cs b/Step.Database/Controllers/MaintenancesController.cs
index 8f3db2ae..c325938d 100644
--- a/Step.Database/Controllers/MaintenancesController.cs
+++ b/Step.Database/Controllers/MaintenancesController.cs
@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using static Step.Config.ServerConfig;
+using static Step.Model.Constants;
namespace Step.Database.Controllers
{
@@ -56,7 +57,7 @@ namespace Step.Database.Controllers
.Maintenances
.ToList();
- // Find database rows that
+ // Find database rows that has to be deleted
List toDeleteMaint = dbMaintenances.Where(x =>
!MaintenancesConfig.Select(y => y.Id).Contains(x.MaintenanceId)
).ToList();
@@ -87,6 +88,8 @@ namespace Step.Database.Controllers
old.Interval = x.Intervall.TotalMinutes;
old.Type = x.Type;
old.CounterId = x.CouterId;
+ old.Description = x.Description;
+ old.UnitOfMeasure = (MAINTENANCE_UNIT_OF_MEASURE)Enum.Parse(typeof(MAINTENANCE_UNIT_OF_MEASURE), x.UnitOfMeasure);
return old;
}).FirstOrDefault();
}
@@ -104,6 +107,9 @@ namespace Step.Database.Controllers
Type = x.Type,
CounterId = x.CouterId,
CreationDate = DateTime.Now,
+ Description = x.Description,
+ UnitOfMeasure = (MAINTENANCE_UNIT_OF_MEASURE) Enum.Parse(typeof(MAINTENANCE_UNIT_OF_MEASURE),x.UnitOfMeasure),
+ UserId = null,
LastExpirationDate = null
})
.ToList();
diff --git a/Step.Database/DatabaseContext.cs b/Step.Database/DatabaseContext.cs
index e629d0eb..ebe2168c 100644
--- a/Step.Database/DatabaseContext.cs
+++ b/Step.Database/DatabaseContext.cs
@@ -26,8 +26,9 @@ namespace Step.Database
public DbSet Maintenances { get; set; }
public DbSet PerformedMaintenances { get; set; }
-
- public static string CONNECTION_STRING = "Server = " + ServerStartupConfig.DatabaseAddress + "; Database=" + DATABASE_NAME +";Uid="+ DATABASE_USER +";Pwd="+ DATABASE_PWD +";";
+ // Create migration string
+ public static string CONNECTION_STRING = "Server = " + "localhost" + "; Database=" + DATABASE_NAME +";Uid="+ DATABASE_USER +";Pwd="+ DATABASE_PWD +";";
+ // public static string CONNECTION_STRING = "Server = " + ServerStartupConfig.DatabaseAddress + "; Database=" + DATABASE_NAME +";Uid="+ DATABASE_USER +";Pwd="+ DATABASE_PWD +";";
public DatabaseContext()
: base(CONNECTION_STRING)
diff --git a/Step.Database/Migrations/201802151533324_InitMigration.Designer.cs b/Step.Database/Migrations/201806051413536_InitMigration.Designer.cs
similarity index 92%
rename from Step.Database/Migrations/201802151533324_InitMigration.Designer.cs
rename to Step.Database/Migrations/201806051413536_InitMigration.Designer.cs
index 721d8ca4..b5f970fd 100644
--- a/Step.Database/Migrations/201802151533324_InitMigration.Designer.cs
+++ b/Step.Database/Migrations/201806051413536_InitMigration.Designer.cs
@@ -13,7 +13,7 @@ namespace Step.Database.Migrations
string IMigrationMetadata.Id
{
- get { return "201802151533324_InitMigration"; }
+ get { return "201806051413536_InitMigration"; }
}
string IMigrationMetadata.Source
diff --git a/Step.Database/Migrations/201802151533324_InitMigration.cs b/Step.Database/Migrations/201806051413536_InitMigration.cs
similarity index 93%
rename from Step.Database/Migrations/201802151533324_InitMigration.cs
rename to Step.Database/Migrations/201806051413536_InitMigration.cs
index 112d029f..200ba236 100644
--- a/Step.Database/Migrations/201802151533324_InitMigration.cs
+++ b/Step.Database/Migrations/201806051413536_InitMigration.cs
@@ -81,10 +81,15 @@ namespace Step.Database.Migrations
deadline = c.DateTime(nullable: false, precision: 0),
type = c.String(unicode: false),
counter_id = c.Int(nullable: false),
+ description = c.String(unicode: false),
+ unit_of_measure = c.Int(nullable: false),
creation_date = c.DateTime(nullable: false, precision: 0),
last_expiration_date = c.DateTime(precision: 0),
+ user_id = c.Int(),
})
- .PrimaryKey(t => t.id);
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.user", t => t.user_id)
+ .Index(t => t.user_id);
CreateTable(
"dbo.performed_maintenance",
@@ -117,11 +122,13 @@ namespace Step.Database.Migrations
{
DropForeignKey("dbo.session", "machine_user_id", "dbo.machine_user");
DropForeignKey("dbo.performed_maintenance", "maintenance", "dbo.maintenance");
+ DropForeignKey("dbo.maintenance", "user_id", "dbo.user");
DropForeignKey("dbo.machine_user", "user_id", "dbo.user");
DropForeignKey("dbo.machine_user", "role_id", "dbo.role");
DropForeignKey("dbo.machine_user", "machine_id", "dbo.machine");
DropIndex("dbo.session", new[] { "machine_user_id" });
DropIndex("dbo.performed_maintenance", new[] { "maintenance" });
+ DropIndex("dbo.maintenance", new[] { "user_id" });
DropIndex("dbo.machine_user", new[] { "role_id" });
DropIndex("dbo.machine_user", "unique_machine_user");
DropTable("dbo.session");
diff --git a/Step.Database/Migrations/201802151533324_InitMigration.resx b/Step.Database/Migrations/201806051413536_InitMigration.resx
similarity index 56%
rename from Step.Database/Migrations/201802151533324_InitMigration.resx
rename to Step.Database/Migrations/201806051413536_InitMigration.resx
index 217abc14..6b224312 100644
--- a/Step.Database/Migrations/201802151533324_InitMigration.resx
+++ b/Step.Database/Migrations/201806051413536_InitMigration.resx
@@ -118,7 +118,7 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- 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
+ 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
dbo
diff --git a/Step.Database/Step.Database.csproj b/Step.Database/Step.Database.csproj
index 29c24281..03f72069 100644
--- a/Step.Database/Step.Database.csproj
+++ b/Step.Database/Step.Database.csproj
@@ -77,9 +77,9 @@
-
-
- 201802151533324_InitMigration.cs
+
+
+ 201806051413536_InitMigration.cs
@@ -115,8 +115,8 @@
-
- 201802151533324_InitMigration.cs
+
+ 201806051413536_InitMigration.cs
diff --git a/Step.Model/ConfigModels/MaintenanceConfigModel.cs b/Step.Model/ConfigModels/MaintenanceConfigModel.cs
index c2f06671..2c5191c8 100644
--- a/Step.Model/ConfigModels/MaintenanceConfigModel.cs
+++ b/Step.Model/ConfigModels/MaintenanceConfigModel.cs
@@ -11,5 +11,8 @@ namespace Step.Model.ConfigModels
public DateTime Deadline { get; set; }
public string Type { get; set; }
public int CouterId { get; set; }
+ public string Title { get; set; }
+ public string Description { get; set; }
+ public string UnitOfMeasure { get; set; }
}
}
\ No newline at end of file
diff --git a/Step.Model/ConfigModels/ToolTableConfigModel.cs b/Step.Model/ConfigModels/ToolTableConfigModel.cs
new file mode 100644
index 00000000..cfd1fa2c
--- /dev/null
+++ b/Step.Model/ConfigModels/ToolTableConfigModel.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Step.Model.ConfigModels
+{
+ public class ToolTableConfigModel
+ {
+ public bool FamilyOption;
+ public bool MultiToolOption;
+ public bool MagazinePosition;
+ }
+}
diff --git a/Step.Model/Constants.cs b/Step.Model/Constants.cs
index bc060ecc..759899ca 100644
--- a/Step.Model/Constants.cs
+++ b/Step.Model/Constants.cs
@@ -35,6 +35,14 @@ namespace Step.Model
LASER = 3
}
+ public enum MAINTENANCE_UNIT_OF_MEASURE
+ {
+ m = 0,
+ M = 1,
+ D = 2,
+ H = 3
+ }
+
public static class NC_VENDOR
{
public const string DEMO = "DEMO";
@@ -134,9 +142,12 @@ namespace Step.Model
public const string ALARM_PREFIX = "alarm_";
// Maintenances types
- public const string MAINT_MACHINE_INTERVAL_TYPE = "machine_interval";
- public const string MAINT_TIME_INTERVAL_TYPE = "time_interval";
- public const string MAINT_EXPIRATION_DATE_TYPE = "exp_date";
+ public static class MAINTENANCES_TYPE
+ {
+ public const string MAINT_MACHINE_INTERVAL_TYPE = "MACHINE_INTERVAL";
+ public const string MAINT_TIME_INTERVAL_TYPE = "TIME_INTERVAL";
+ public const string MAINT_EXPIRATION_DATE_TYPE = "EXP_DATE";
+ }
public static class FUNCTIONALITY_NAMES
diff --git a/Step.Model/DatabaseModels/MaintenanceModel.cs b/Step.Model/DatabaseModels/MaintenanceModel.cs
index 0805786b..0167c16f 100644
--- a/Step.Model/DatabaseModels/MaintenanceModel.cs
+++ b/Step.Model/DatabaseModels/MaintenanceModel.cs
@@ -2,6 +2,7 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
+using static Step.Model.Constants;
namespace Step.Model.DatabaseModels
{
@@ -25,10 +26,22 @@ namespace Step.Model.DatabaseModels
[Column("counter_id")]
public int CounterId { get; set; }
+ [Column("description")]
+ public string Description { get; set; }
+
+ [Column("unit_of_measure")]
+ public MAINTENANCE_UNIT_OF_MEASURE UnitOfMeasure { get; set; }
+
[Column("creation_date")]
public DateTime CreationDate { get; set; }
[Column("last_expiration_date")]
public DateTime? LastExpirationDate { get; set; }
+
+ [Column("user_id")]
+ public int? UserId { get; set; }
+
+ [ForeignKey("UserId")]
+ public UserModel User { get; set; }
}
}
\ No newline at end of file
diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs
index f233d3e9..43547826 100644
--- a/Step.NC/NcHandler.cs
+++ b/Step.NC/NcHandler.cs
@@ -7,6 +7,7 @@ using Step.Database.Controllers;
using Step.Model.DatabaseModels;
using Step.Model.DTOModels;
using Step.Model.DTOModels.ToolModels;
+using Step.Utils;
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -150,6 +151,9 @@ namespace Step.NC
RestorationIsEnabled = false
});
}
+ // Select distints
+ //alarms.NcAlarms = alarms.NcAlarms?.GroupBy(x => x.Id).Select(x => x.First()).ToList();
+
// Get NC max process number
ushort maxProcNumber = 0;
@@ -376,7 +380,7 @@ namespace Step.NC
switch (currMaintenance.Type)
{
- case MAINT_MACHINE_INTERVAL_TYPE:
+ case MAINTENANCES_TYPE.MAINT_MACHINE_INTERVAL_TYPE:
{
// Get matching counter for the current maintenance
var counter = counters.Find(x => x.Id == currMaintenance.CounterId);
@@ -405,7 +409,7 @@ namespace Step.NC
}
break;
- case MAINT_EXPIRATION_DATE_TYPE:
+ case MAINTENANCES_TYPE.MAINT_EXPIRATION_DATE_TYPE:
{
// Already performed
if (performed != null)
@@ -421,7 +425,7 @@ namespace Step.NC
}
break;
- case MAINT_TIME_INTERVAL_TYPE:
+ case MAINTENANCES_TYPE.MAINT_TIME_INTERVAL_TYPE:
{
// Get last performed, default value is maintenance creation date
DateTime perfDate = currMaintenance.CreationDate;
@@ -434,7 +438,7 @@ namespace Step.NC
double minutesPassedFromLastMaint = timePassedFromLastMaint.TotalMinutes;
// Interval - passed minutes since last maintenance
- if (currMaintenance.Interval <= minutesPassedFromLastMaint)
+ if (SupportFunctions.ConvertInMinutes(currMaintenance.Interval, currMaintenance.UnitOfMeasure) <= minutesPassedFromLastMaint)
{
// Update last expiration date
if (currMaintenance.LastExpirationDate == null)
@@ -753,12 +757,12 @@ namespace Step.NC
}
#region Tools
-
-
+
public CmsError AddTool(ref SiemensToolModel tool)
{
return numericalControl.TOOLS_WAddTool(ref tool);
}
+
public CmsError UpdateTool(ref SiemensToolModel tool)
{
return numericalControl.TOOLS_WUpdateTool(ref tool);
@@ -779,7 +783,6 @@ namespace Step.NC
return numericalControl.TOOLS_WAddShank(ref shank);
}
-
public CmsError UpdateShank(ref ShankModel shank)
{
return numericalControl.TOOLS_WUpdateShank(ref shank);
diff --git a/Step.Utils/supportFunctions.cs b/Step.Utils/supportFunctions.cs
index 6695ebe6..2164e01c 100644
--- a/Step.Utils/supportFunctions.cs
+++ b/Step.Utils/supportFunctions.cs
@@ -60,5 +60,22 @@ namespace Step.Utils
default: return -1;
}
}
+
+ public static double ConvertInMinutes(double number, MAINTENANCE_UNIT_OF_MEASURE unit)
+ {
+ switch (unit)
+ {
+ case MAINTENANCE_UNIT_OF_MEASURE.m:
+ return number;
+ case MAINTENANCE_UNIT_OF_MEASURE.H:
+ return number * 60;
+ case MAINTENANCE_UNIT_OF_MEASURE.D:
+ return number * (24 * 60);
+ case MAINTENANCE_UNIT_OF_MEASURE.M:
+ return (30 * number) * (24 * 60);
+ default:
+ return number;
+ }
+ }
}
}