From 30b72ff724d87d6b9c4d443a8f3b3a7a6360dc24 Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Thu, 5 Jul 2018 17:11:45 +0200 Subject: [PATCH] Added offset management Added family put Model fix --- Step.Config/Config/serverConfig.xml | 4 +- Step.Core/ThreadsFunctions.cs | 44 ++++++ Step.Core/ThreadsHandler.cs | 3 +- .../Controllers/NcToolManagerController.cs | 69 +++++++--- .../201807021526505_InitMigration.resx | 126 ------------------ ...201807050940385_InitMigration.Designer.cs} | 2 +- ...on.cs => 201807050940385_InitMigration.cs} | 110 +++++++-------- .../201807050940385_InitMigration.resx | 126 ++++++++++++++++++ Step.Database/Step.Database.csproj | 10 +- Step.Model/Constants.cs | 6 + .../DTOModels/ToolModels/DTONcFamilyModel.cs | 62 ++++++++- .../DTOModels/ToolModels/DTONcShankModel.cs | 37 +++-- .../DTOModels/ToolModels/DTONcToolModel.cs | 99 +++++++++++--- Step.Model/DatabaseModels/NcToolModel.cs | 6 +- Step.NC/NcHandler.cs | 100 +++++++++++--- .../WebApi/NcToolManagerController.cs | 63 +++++---- 16 files changed, 581 insertions(+), 286 deletions(-) delete mode 100644 Step.Database/Migrations/201807021526505_InitMigration.resx rename Step.Database/Migrations/{201807021526505_InitMigration.Designer.cs => 201807050940385_InitMigration.Designer.cs} (92%) rename Step.Database/Migrations/{201807021526505_InitMigration.cs => 201807050940385_InitMigration.cs} (98%) create mode 100644 Step.Database/Migrations/201807050940385_InitMigration.resx diff --git a/Step.Config/Config/serverConfig.xml b/Step.Config/Config/serverConfig.xml index 1f8b8d8a..9ed5e08e 100644 --- a/Step.Config/Config/serverConfig.xml +++ b/Step.Config/Config/serverConfig.xml @@ -1,9 +1,9 @@ - DEMO + OSAI true - 127.0.0.1 + 192.168.157.2 8080 Ares 37 OF diff --git a/Step.Core/ThreadsFunctions.cs b/Step.Core/ThreadsFunctions.cs index 1bc2b278..da5caada 100644 --- a/Step.Core/ThreadsFunctions.cs +++ b/Step.Core/ThreadsFunctions.cs @@ -2,6 +2,7 @@ using Step.Model.DTOModels; using Step.Model.DTOModels.ToolModels; using Step.NC; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; @@ -350,6 +351,49 @@ public static class ThreadsFunctions } } + public static void ReadAxes() + { + NcHandler ncHandler = new NcHandler(); + Stopwatch sw = new Stopwatch(); + + try + { + // Try connection + CmsError libraryError = ncHandler.Connect(); + if (libraryError.errorCode != 0) + ManageLibraryError(libraryError); + + while (true) + { + sw.Restart(); + + if (ncHandler.numericalControl.NC_IsConnected()) + { + Stopwatch stopwatch = new Stopwatch(); + stopwatch.Start(); + // Get Data from config and PLC + libraryError = ncHandler.GetAxesPositionsByProcess(1, out DTOAxesModel axes); + Console.WriteLine("TEMPO" + stopwatch.ElapsedMilliseconds); + } + else + TryNcConnection(); + + sw.Stop(); + + //Update thread timer + ReadAxesNamesTimer += sw.ElapsedMilliseconds; + ReadAxesNamesTimes++; + + // Wait + Thread.Sleep(CalcSleepTime(200, (int)sw.ElapsedMilliseconds)); + } + } + catch (ThreadAbortException) + { + ncHandler.Dispose(); + } + } + public static void ReadAxesNamesData() { NcHandler ncHandler = new NcHandler(); diff --git a/Step.Core/ThreadsHandler.cs b/Step.Core/ThreadsHandler.cs index e0af5714..76b44cbe 100644 --- a/Step.Core/ThreadsHandler.cs +++ b/Step.Core/ThreadsHandler.cs @@ -20,7 +20,8 @@ namespace Step.Core ThreadsFunctions.ReadMagazinesStatus, ThreadsFunctions.ReadUserSoftKeysData, ThreadsFunctions.ReadHeadsData, - ThreadsFunctions.ReadAxesNamesData + ThreadsFunctions.ReadAxesNamesData, + ThreadsFunctions.ReadAxes }; private volatile static List RunningThreadsList = new List(); diff --git a/Step.Database/Controllers/NcToolManagerController.cs b/Step.Database/Controllers/NcToolManagerController.cs index 8774ea71..f8ebeafc 100644 --- a/Step.Database/Controllers/NcToolManagerController.cs +++ b/Step.Database/Controllers/NcToolManagerController.cs @@ -52,6 +52,7 @@ namespace Step.Database.Controllers public NcShankModel FindShank(int shankId) { return dbCtx.Shanks + .Include("Tools") .Where(x => x.ShankId == shankId) .FirstOrDefault(); } @@ -180,27 +181,33 @@ namespace Step.Database.Controllers return dtoShanks; } - public NcToolModel AddTool(DTONcToolModel dtoTool) + public NcToolModel AddTool(DTONewNcToolModel dtoTool) { NcToolModel tool = (NcToolModel)dtoTool; dbCtx.Tools.Add(tool); dbCtx.SaveChanges(); - + // Get foreign key data dbCtx.Entry(tool).Reference(x => x.Family).Load(); dbCtx.Entry(tool).Reference(x => x.Shank).Load(); return tool; } - public NcToolModel UpdateTool(NcToolModel tool, DTONcToolModel dtoTool) + public NcToolModel UpdateTool(int toolId, DTONewNcToolModel dtoTool) { - tool.FamilyId = dtoTool.FamilyId; - tool.Type = dtoTool.Type; - tool.OffsetLength = dtoTool.OffsetLength; - tool.ResidualLife = dtoTool.ResidualLife; - tool.ResidualRevive = dtoTool.ResidualRevive; - + NcToolModel tool = FindTool(toolId); + //// Update db model + //tool.FamilyId = obj.FamilyId; + //tool.Type = obj.Type; + //tool.OffsetLength = obj.OffsetLength; + //tool.ResidualLife = obj.ResidualLife; + //tool.ResidualRevive = obj.ResidualRevive; + //tool.OffsetId1 = obj.OffsetId1; + //tool.OffsetId2 = obj.OffsetId2; + //tool.OffsetId3 = obj.OffsetId3; + tool = (NcToolModel)dtoTool; + // Save dbCtx.SaveChanges(); return tool; @@ -219,7 +226,7 @@ namespace Step.Database.Controllers dbCtx.SaveChanges(); } - public NcFamilyModel AddFamily(DTONcFamilyModel family) + public NcFamilyModel AddFamily(DTONewNcFamilyModel family) { NcFamilyModel dbFamily = (NcFamilyModel)family; dbCtx.Families.Add(dbFamily); @@ -230,7 +237,26 @@ namespace Step.Database.Controllers return dbFamily; } - public NcShankModel AddShank(DTONcShankModel shank) + public NcFamilyModel UpdateFamily(int familyId, DTONewNcFamilyModel family) + { + NcFamilyModel dbFamily = FindFamily(familyId); + dbFamily = (NcFamilyModel)family; + + dbCtx.SaveChanges(); + dbCtx.Families.Attach(dbFamily); + + return dbFamily; + } + + public void DeleteFamily(NcFamilyModel family) + { + dbCtx.Families.Attach(family); + dbCtx.Families.Remove(family); + + dbCtx.SaveChanges(); + } + + public NcShankModel AddShank(DTONewNcShankModel shank) { NcShankModel dbShank = (NcShankModel)shank; dbCtx.Shanks.Add(dbShank); @@ -238,14 +264,24 @@ namespace Step.Database.Controllers dbCtx.SaveChanges(); dbCtx.Shanks.Attach(dbShank); + return dbShank; } - public NcShankModel UpdateShank(NcShankModel dbShank, DTONcShankModel dtoShank) + public NcShankModel UpdateShank(int shankId, DTONewNcShankModel dtoShank) + { + NcShankModel ncShank = FindShank(shankId); + + return UpdateShank(ncShank, dtoShank); + } + + public NcShankModel UpdateShank(NcShankModel dbShank, DTONewNcShankModel dtoShank) { dbShank.MagazinePositionType = dtoShank.MagazinePositionType; dbCtx.SaveChanges(); + + dbCtx.Shanks.Attach(dbShank); return dbShank; } @@ -274,15 +310,6 @@ namespace Step.Database.Controllers return dbPos; } - public void DeleteFamily(NcFamilyModel family) - { - dbCtx.Families.Attach(family); - dbCtx.Families.Remove(family); - - dbCtx.SaveChanges(); - } - - public NcMagazinePositionModel LoadShankInMagazine(byte magazineId, byte positionId, NcShankModel shank) { dbCtx.Shanks.Attach(shank); diff --git a/Step.Database/Migrations/201807021526505_InitMigration.resx b/Step.Database/Migrations/201807021526505_InitMigration.resx deleted file mode 100644 index f7ebedeb..00000000 --- a/Step.Database/Migrations/201807021526505_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/201807021526505_InitMigration.Designer.cs b/Step.Database/Migrations/201807050940385_InitMigration.Designer.cs similarity index 92% rename from Step.Database/Migrations/201807021526505_InitMigration.Designer.cs rename to Step.Database/Migrations/201807050940385_InitMigration.Designer.cs index fa496e39..d1a30db2 100644 --- a/Step.Database/Migrations/201807021526505_InitMigration.Designer.cs +++ b/Step.Database/Migrations/201807050940385_InitMigration.Designer.cs @@ -13,7 +13,7 @@ namespace Step.Database.Migrations string IMigrationMetadata.Id { - get { return "201807021526505_InitMigration"; } + get { return "201807050940385_InitMigration"; } } string IMigrationMetadata.Source diff --git a/Step.Database/Migrations/201807021526505_InitMigration.cs b/Step.Database/Migrations/201807050940385_InitMigration.cs similarity index 98% rename from Step.Database/Migrations/201807021526505_InitMigration.cs rename to Step.Database/Migrations/201807050940385_InitMigration.cs index a5f6eb33..fd9f3e30 100644 --- a/Step.Database/Migrations/201807021526505_InitMigration.cs +++ b/Step.Database/Migrations/201807050940385_InitMigration.cs @@ -33,6 +33,52 @@ namespace Step.Database.Migrations }) .PrimaryKey(t => t.id); + CreateTable( + "dbo.tool", + c => new + { + id = c.Int(nullable: false, identity: true), + type = c.Byte(nullable: false), + offset_length = c.Short(nullable: false), + residual_life = c.Short(nullable: false), + residual_revive = c.Short(nullable: false), + family_id = c.Int(nullable: false), + shank_id = c.Int(), + offsetId1 = c.Int(), + offsetId2 = c.Int(), + offsetId3 = c.Int(), + }) + .PrimaryKey(t => t.id) + .ForeignKey("dbo.family", t => t.family_id, cascadeDelete: true) + .ForeignKey("dbo.shank", t => t.shank_id) + .Index(t => t.family_id) + .Index(t => t.shank_id); + + CreateTable( + "dbo.shank", + c => new + { + magazine_id = c.Byte(), + position_id = c.Byte(), + id = c.Int(nullable: false, identity: true), + balluf = c.Short(), + magazine_position_type = c.Byte(nullable: false), + }) + .PrimaryKey(t => t.id) + .ForeignKey("dbo.magazine_position", t => new { t.magazine_id, t.position_id }) + .Index(t => new { t.magazine_id, t.position_id }); + + CreateTable( + "dbo.magazine_position", + c => new + { + magazine_id = c.Byte(nullable: false), + position_id = c.Byte(nullable: false), + type = c.Byte(nullable: false), + disabled = c.Boolean(nullable: false), + }) + .PrimaryKey(t => new { t.magazine_id, t.position_id }); + CreateTable( "dbo.function_access", c => new @@ -97,17 +143,6 @@ namespace Step.Database.Migrations }) .PrimaryKey(t => t.id); - CreateTable( - "dbo.magazine_position", - c => new - { - magazine_id = c.Byte(nullable: false), - position_id = c.Byte(nullable: false), - type = c.Byte(nullable: false), - disabled = c.Boolean(nullable: false), - }) - .PrimaryKey(t => new { t.magazine_id, t.position_id }); - CreateTable( "dbo.maintenance_file", c => new @@ -198,48 +233,10 @@ namespace Step.Database.Migrations .ForeignKey("dbo.machine_user", t => t.machine_user_id, cascadeDelete: true) .Index(t => t.machine_user_id); - CreateTable( - "dbo.shank", - c => new - { - magazine_id = c.Byte(), - position_id = c.Byte(), - id = c.Int(nullable: false, identity: true), - balluf = c.Short(), - magazine_position_type = c.Byte(nullable: false), - }) - .PrimaryKey(t => t.id) - .ForeignKey("dbo.magazine_position", t => new { t.magazine_id, t.position_id }) - .Index(t => new { t.magazine_id, t.position_id }); - - CreateTable( - "dbo.tool", - c => new - { - id = c.Int(nullable: false, identity: true), - type = c.Byte(nullable: false), - offset_length = c.Short(nullable: false), - residual_life = c.Short(nullable: false), - residual_revive = c.Short(nullable: false), - family_id = c.Int(nullable: false), - shank_id = c.Int(), - offsetId1 = c.Int(nullable: false), - offsetId2 = c.Int(nullable: false), - offsetId3 = c.Int(nullable: false), - }) - .PrimaryKey(t => t.id) - .ForeignKey("dbo.family", t => t.family_id, cascadeDelete: true) - .ForeignKey("dbo.shank", t => t.shank_id) - .Index(t => t.family_id) - .Index(t => t.shank_id); - } public override void Down() { - DropForeignKey("dbo.tool", "shank_id", "dbo.shank"); - DropForeignKey("dbo.tool", "family_id", "dbo.family"); - DropForeignKey("dbo.shank", new[] { "magazine_id", "position_id" }, "dbo.magazine_position"); DropForeignKey("dbo.session", "machine_user_id", "dbo.machine_user"); DropForeignKey("dbo.performed_maintenance", "maintenance", "dbo.maintenance"); DropForeignKey("dbo.maintenance_note", "user_id", "dbo.user"); @@ -250,9 +247,9 @@ namespace Step.Database.Migrations 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.tool", new[] { "shank_id" }); - DropIndex("dbo.tool", new[] { "family_id" }); - DropIndex("dbo.shank", new[] { "magazine_id", "position_id" }); + DropForeignKey("dbo.tool", "shank_id", "dbo.shank"); + DropForeignKey("dbo.shank", new[] { "magazine_id", "position_id" }, "dbo.magazine_position"); + DropForeignKey("dbo.tool", "family_id", "dbo.family"); DropIndex("dbo.session", new[] { "machine_user_id" }); DropIndex("dbo.performed_maintenance", new[] { "maintenance" }); DropIndex("dbo.maintenance_note", new[] { "maintenance_id" }); @@ -262,20 +259,23 @@ namespace Step.Database.Migrations DropIndex("dbo.maintenance_file", new[] { "maintenance_id" }); DropIndex("dbo.machine_user", new[] { "role_id" }); DropIndex("dbo.machine_user", "unique_machine_user"); - DropTable("dbo.tool"); - DropTable("dbo.shank"); + DropIndex("dbo.shank", new[] { "magazine_id", "position_id" }); + DropIndex("dbo.tool", new[] { "shank_id" }); + DropIndex("dbo.tool", new[] { "family_id" }); DropTable("dbo.session"); DropTable("dbo.performed_maintenance"); DropTable("dbo.offset"); DropTable("dbo.maintenance_note"); DropTable("dbo.maintenance"); DropTable("dbo.maintenance_file"); - DropTable("dbo.magazine_position"); DropTable("dbo.user"); DropTable("dbo.role"); DropTable("dbo.machine_user"); DropTable("dbo.machine"); DropTable("dbo.function_access"); + DropTable("dbo.magazine_position"); + DropTable("dbo.shank"); + DropTable("dbo.tool"); DropTable("dbo.family"); } } diff --git a/Step.Database/Migrations/201807050940385_InitMigration.resx b/Step.Database/Migrations/201807050940385_InitMigration.resx new file mode 100644 index 00000000..7b9dba7f --- /dev/null +++ b/Step.Database/Migrations/201807050940385_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 d447b496..05780bf5 100644 --- a/Step.Database/Step.Database.csproj +++ b/Step.Database/Step.Database.csproj @@ -78,9 +78,9 @@ - - - 201807021526505_InitMigration.cs + + + 201807050940385_InitMigration.cs @@ -116,8 +116,8 @@ - - 201807021526505_InitMigration.cs + + 201807050940385_InitMigration.cs diff --git a/Step.Model/Constants.cs b/Step.Model/Constants.cs index 856275b5..b9bb4ce5 100644 --- a/Step.Model/Constants.cs +++ b/Step.Model/Constants.cs @@ -176,5 +176,11 @@ namespace Step.Model public const string TOOL_MANAGER = "toolManager"; public const string MAINTENANCE = "maintenance"; } + + public static class API_ERROR_KEYS + { + public const string INCORRECT_PARAMETERS = "error_incorrect_parameters"; + public const string OPTION_NOT_ACTIVE = "error_option_not_active"; + } } } diff --git a/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs index 2513b38c..294819a8 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs @@ -8,10 +8,8 @@ using System.Threading.Tasks; namespace Step.Model.DTOModels.ToolModels { - public class DTONcFamilyModel + public class DTONewNcFamilyModel { - public int Id { get; set; } - [Required] public string Name { get; set; } @@ -65,6 +63,62 @@ namespace Step.Model.DTOModels.ToolModels [Required] public short ReviveDelta { get; set; } + + public static explicit operator DTONewNcFamilyModel(NcFamilyModel obj) + { + return new DTONcFamilyModel() + { + Id = obj.FamilyId, + Name = obj.Name, + Type = obj.Type, + RightSize = obj.RightSize, + LeftSize = obj.LeftSize, + TcpTable = obj.TcpTable, + Gamma = obj.Gamma, + RotationType = obj.RotationType, + CoolingByte = obj.CoolingByte, + MaxSpeed = obj.MaxSpeed, + MaxLoad = obj.MaxLoad, + MinLoadDynamicCompensation = obj.MinLoadDynamicCompensation, + MaxLoadDynamicCompensation = obj.MaxLoadDynamicCompensation, + MaxLoadPctAutoload = obj.MaxLoadPctAutoload, + MinLoadPctAutoload = obj.MinLoadPctAutoload, + DynamicCompensation = obj.DynamicCompensation, + LifeType = obj.LifeType, + NominalLife = obj.NominalLife, + ReviveDelta = obj.ReviveDelta + }; + } + + public static explicit operator NcFamilyModel(DTONewNcFamilyModel obj) + { + return new NcFamilyModel() + { + Name = obj.Name, + Type = obj.Type, + RightSize = obj.RightSize, + LeftSize = obj.LeftSize, + TcpTable = obj.TcpTable, + Gamma = obj.Gamma, + RotationType = obj.RotationType, + CoolingByte = obj.CoolingByte, + MaxSpeed = obj.MaxSpeed, + MaxLoad = obj.MaxLoad, + MinLoadDynamicCompensation = obj.MinLoadDynamicCompensation, + MaxLoadDynamicCompensation = obj.MaxLoadDynamicCompensation, + MaxLoadPctAutoload = obj.MaxLoadPctAutoload, + MinLoadPctAutoload = obj.MinLoadPctAutoload, + DynamicCompensation = obj.DynamicCompensation, + LifeType = obj.LifeType, + NominalLife = obj.NominalLife, + ReviveDelta = obj.ReviveDelta, + }; + } + } + + public class DTONcFamilyModel : DTONewNcFamilyModel + { + public int Id { get; set; } public List Tools { get; set; } @@ -72,7 +126,7 @@ namespace Step.Model.DTOModels.ToolModels { List tools = new List(); - if(obj.Tools != null) + if (obj.Tools != null) foreach (var tool in obj.Tools) { tools.Add((DTONcToolModel)tool); diff --git a/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs b/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs index 519d1813..2a99cadf 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs @@ -8,31 +8,46 @@ using System.Threading.Tasks; namespace Step.Model.DTOModels.ToolModels { - public class DTONcShankModel + public class DTONewNcShankModel { - public int Id { get; set; } - [Required] public short? Balluf { get; set; } [Required] public byte MagazinePositionType { get; set; } + public static explicit operator DTONewNcShankModel(NcShankModel obj) + { + return new DTONewNcShankModel() + { + Balluf = obj.Balluf, + MagazinePositionType = obj.MagazinePositionType + }; + } + + public static explicit operator NcShankModel(DTONewNcShankModel obj) + { + return new NcShankModel() + { + Balluf = obj.Balluf, + MagazinePositionType = obj.MagazinePositionType + }; + } + } + + public class DTONcShankModel : DTONewNcShankModel + { + public int Id { get; set; } + [Range(1, byte.MaxValue)] public byte? MagazineId { get; set; } [Range(1, byte.MaxValue)] public byte? PositionId { get; set; } - public virtual List Tools { get; set; } + public List Tools { get; set; } - - public DTONcShankModel() - { - Tools = new List(); - } - - public static explicit operator DTONcShankModel(NcShankModel obj) + public static explicit operator DTONcShankModel(NcShankModel obj) { List tools = new List(); diff --git a/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs index 700b1d3b..00f4d48d 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs @@ -1,12 +1,12 @@ using Step.Model.DatabaseModels; using System.ComponentModel.DataAnnotations; +using static CMS_CORE_Library.DataStructures; namespace Step.Model.DTOModels.ToolModels { - public class DTONcToolModel - { - public int Id { get; set; } + public class DTONcTool + { [Required] public byte Type { get; set; } @@ -22,15 +22,45 @@ namespace Step.Model.DTOModels.ToolModels [Required] // Foreign keys public int FamilyId { get; set; } - - [Required] + public int? ShankId { get; set; } - public int Offset1 { get; set; } + public static explicit operator DTONcTool(NcToolModel obj) + { + return new DTONcTool() + { + FamilyId = obj.FamilyId, + ShankId = obj.ShankId.Value, + Type = obj.Type, + OffsetLength = obj.OffsetLength, + ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive + }; + } - public int Offset2 { get; set; } + public static explicit operator NcToolModel(DTONcTool obj) + { + return new NcToolModel() + { + FamilyId = obj.FamilyId, + ShankId = obj.ShankId, + Type = obj.Type, + OffsetLength = obj.OffsetLength, + ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive + }; + } + } - public int Offset3 { get; set; } + public class DTONcToolModel : DTONcTool + { + public int Id { get; set; } + + public OffsetModel Offset1 { get; set; } + + public OffsetModel Offset2 { get; set; } + + public OffsetModel Offset3 { get; set; } public static explicit operator DTONcToolModel(NcToolModel obj) { @@ -42,10 +72,7 @@ namespace Step.Model.DTOModels.ToolModels Type = obj.Type, OffsetLength = obj.OffsetLength, ResidualLife = obj.ResidualLife, - ResidualRevive = obj.ResidualRevive, - Offset1 = obj.OffsetId1, - Offset2 = obj.OffsetId2, - Offset3 = obj.OffsetId3 + ResidualRevive = obj.ResidualRevive }; } @@ -59,10 +86,48 @@ namespace Step.Model.DTOModels.ToolModels Type = obj.Type, OffsetLength = obj.OffsetLength, ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive + }; + } + } + + public class DTONewNcToolModel : DTONcTool + { + public int? OffsetId1 { get; set; } + + public int? OffsetId2 { get; set; } + + public int? OffsetId3 { get; set; } + + public static explicit operator DTONewNcToolModel(NcToolModel obj) + { + return new DTONewNcToolModel() + { + FamilyId = obj.FamilyId, + ShankId = obj.ShankId.Value, + Type = obj.Type, + OffsetLength = obj.OffsetLength, + ResidualLife = obj.ResidualLife, ResidualRevive = obj.ResidualRevive, - OffsetId1 = obj.Offset1, - OffsetId2 = obj.Offset2, - OffsetId3 = obj.Offset3 + OffsetId1 = obj.OffsetId1, + OffsetId2 = obj.OffsetId2, + OffsetId3 = obj.OffsetId3 + }; + } + + public static explicit operator NcToolModel(DTONewNcToolModel obj) + { + return new NcToolModel() + { + FamilyId = obj.FamilyId, + ShankId = obj.ShankId, + Type = obj.Type, + OffsetLength = obj.OffsetLength, + ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive, + OffsetId1 = obj.OffsetId1, + OffsetId2 = obj.OffsetId2, + OffsetId3 = obj.OffsetId3 }; } } @@ -79,7 +144,7 @@ namespace Step.Model.DTOModels.ToolModels [Required] public byte Type { get; set; } - public int? ShankId { get; set; } + public int? ShankId { get; set; } public static explicit operator DTONcMagazinesPositionsModel(NcMagazinePositionModel obj) { @@ -87,7 +152,7 @@ namespace Step.Model.DTOModels.ToolModels { MagazineId = obj.MagazineId, PositionId = obj.PositionId, - Disabled = obj.Disabled, + Disabled = obj.Disabled, Type = obj.Type }; } diff --git a/Step.Model/DatabaseModels/NcToolModel.cs b/Step.Model/DatabaseModels/NcToolModel.cs index 01eff80c..f2da6679 100644 --- a/Step.Model/DatabaseModels/NcToolModel.cs +++ b/Step.Model/DatabaseModels/NcToolModel.cs @@ -34,13 +34,13 @@ namespace Step.Model.DatabaseModels public int? ShankId { get; set; } [Column("offsetId1")] - public int OffsetId1 { get; set; } + public int? OffsetId1 { get; set; } [Column("offsetId2")] - public int OffsetId2 { get; set; } + public int? OffsetId2 { get; set; } [Column("offsetId3")] - public int OffsetId3 { get; set; } + public int? OffsetId3 { get; set; } public virtual NcFamilyModel Family { get; set; } public virtual NcShankModel Shank { get; set; } diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index 2e489fe6..84b4753b 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -852,13 +852,63 @@ namespace Step.NC // OSAI FANUC TOOL MANAGER - //public List GetToolTableData() - //{ - // using (NcToolManagerController toolsManager = new NcToolManagerController()) - // { - // return toolsManager.GetTools(); - // } - //} + public CmsError GetToolsData(out List dtoTools) + { + dtoTools = new List(); + + CmsError cmsError = new CmsError(CMS_ERROR_CODES.OK, ""); + + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + List tools = toolsManager.FindToolsWithDependencies(); + + foreach(NcToolModel tool in tools) + { + DTONcToolModel dtoTool = (DTONcToolModel)tool; + + cmsError = GetToolData(tool, ref dtoTool); + + dtoTools.Add(dtoTool); + } + + return cmsError; + } + } + + public CmsError GetToolData(NcToolModel tool, ref DTONcToolModel dtoTool) + { + dtoTool = (DTONcToolModel)tool; + + OffsetModel offset = new OffsetModel(); + CmsError cmsError = new CmsError(CMS_ERROR_CODES.OK, ""); + + if (tool.OffsetId1 != null && tool.OffsetId1 != 0) + { + cmsError = numericalControl.TOOLS_ROffset((short)tool.OffsetId1, ref offset); + if (cmsError.IsError()) + return cmsError; + + dtoTool.Offset1 = offset; + } + if (tool.OffsetId2 != null && tool.OffsetId2 != 0) + { + cmsError = numericalControl.TOOLS_ROffset((short)tool.OffsetId2, ref offset); + if (cmsError.IsError()) + return cmsError; + + dtoTool.Offset2 = offset; + } + if (tool.OffsetId3 != null && tool.OffsetId3 != 0) + { + cmsError = numericalControl.TOOLS_ROffset((short)tool.OffsetId3, ref offset); + if (cmsError.IsError()) + return cmsError; + + dtoTool.Offset3 = offset; + } + + return cmsError; + } //public List GetFamilies() //{ @@ -1064,23 +1114,35 @@ namespace Step.NC #region Osai/Fanuc Tools - public DTONcToolModel AddTool(DTONcToolModel tool) + public DTONcToolModel AddTool(DTONewNcToolModel tool) { using (NcToolManagerController toolsManager = new NcToolManagerController()) { - return (DTONcToolModel)toolsManager.AddTool(tool); + NcToolModel ncTool = toolsManager.AddTool(tool); + + DTONcToolModel dtoTool = new DTONcToolModel(); + GetToolData(ncTool, ref dtoTool); + + return dtoTool; } } - public NcToolModel UpdateTool(NcToolModel tool, DTONcToolModel dtoTool) + public DTONcToolModel UpdateTool(int toolId, DTONewNcToolModel dtoTool) { using (NcToolManagerController toolsManager = new NcToolManagerController()) { - return toolsManager.UpdateTool(tool, dtoTool); + // Update Tool + NcToolModel ncTool = toolsManager.UpdateTool(toolId, dtoTool); + + DTONcToolModel toolWithOffset = new DTONcToolModel(); + // Populate tool offset + GetToolData(ncTool, ref toolWithOffset); + + return toolWithOffset; } } - public DTONcFamilyModel AddFamily(DTONcFamilyModel family) + public DTONcFamilyModel AddFamily(DTONewNcFamilyModel family) { using (NcToolManagerController toolsManager = new NcToolManagerController()) { @@ -1088,7 +1150,15 @@ namespace Step.NC } } - public DTONcShankModel AddShank(DTONcShankModel shank) + public DTONcFamilyModel UpdateFamily(int familyId, DTONewNcFamilyModel family) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + return (DTONcFamilyModel)toolsManager.UpdateFamily(familyId, family); + } + } + + public DTONcShankModel AddShank(DTONewNcShankModel shank) { using (NcToolManagerController toolsManager = new NcToolManagerController()) { @@ -1096,11 +1166,11 @@ namespace Step.NC } } - public NcShankModel UpdateShank(NcShankModel shank, DTONcShankModel dtoShank) + public DTONcShankModel UpdateShank(int shankId, DTONewNcShankModel dtoShank) { using (NcToolManagerController toolsManager = new NcToolManagerController()) { - return toolsManager.UpdateShank(shank, dtoShank); + return (DTONcShankModel)toolsManager.UpdateShank(shankId, dtoShank); } } diff --git a/Step/Controllers/WebApi/NcToolManagerController.cs b/Step/Controllers/WebApi/NcToolManagerController.cs index 137de1e5..57d6f6b9 100644 --- a/Step/Controllers/WebApi/NcToolManagerController.cs +++ b/Step/Controllers/WebApi/NcToolManagerController.cs @@ -5,7 +5,9 @@ using Step.NC; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Http; +using static CMS_CORE_Library.DataStructures; using static Step.Config.ServerConfig; +using static Step.Model.Constants; namespace Step.Controllers.WebApi { @@ -17,16 +19,19 @@ namespace Step.Controllers.WebApi [Route("tools"), HttpGet] public IHttpActionResult GetNcToolTable() { - using (NcToolManagerController toolsManager = new NcToolManagerController()) + using (NcHandler ncHandler = new NcHandler()) { - List tools = toolsManager.GetTools(); + ncHandler.Connect(); + CmsError cmsError = ncHandler.GetToolsData(out List tools); + if (cmsError.IsError()) + return BadRequest(cmsError.localizationKey); return Ok(tools); } } [Route("tool"), HttpPost] - public IHttpActionResult AddTool([FromBody][Required]DTONcToolModel dtoTool) + public IHttpActionResult AddTool([FromBody][Required]DTONewNcToolModel dtoTool) { if (!ModelState.IsValid) return BadRequest(ModelState); @@ -36,14 +41,14 @@ namespace Step.Controllers.WebApi // Check if family exists NcFamilyModel fam = toolsManager.FindFamily(dtoTool.FamilyId); if (fam == null) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); // If option is active check if shank exists if (ToolManagerConfig.ShankOptIsActive) { NcShankModel shank = toolsManager.FindShank(dtoTool.ShankId.Value); if (shank == null) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); } } @@ -72,23 +77,25 @@ namespace Step.Controllers.WebApi } [Route("tool/{toolId:int}"), HttpPut] - public IHttpActionResult PutTool(int toolId, [FromBody][Required]DTONcToolModel dtoTool) + public IHttpActionResult PutTool(int toolId, [FromBody][Required]DTONewNcToolModel dtoTool) { if (!ModelState.IsValid) return BadRequest(ModelState); + NcToolModel tool = null; using (NcToolManagerController toolsManager = new NcToolManagerController()) { // Check if tool exists - NcToolModel tool = toolsManager.FindTool(toolId); + tool = toolsManager.FindTool(toolId); if (tool == null) return NotFound(); + using (NcHandler ncHandler = new NcHandler()) { ncHandler.Connect(); // Update - NcToolModel newTool = ncHandler.UpdateTool(tool, dtoTool); + DTONcToolModel newTool = ncHandler.UpdateTool(toolId, dtoTool); return Ok(newTool); } @@ -137,13 +144,13 @@ namespace Step.Controllers.WebApi } [Route("shank"), HttpPost] - public IHttpActionResult AddShank([FromBody][Required] DTONcShankModel dtoShank) + public IHttpActionResult AddShank([FromBody][Required] DTONewNcShankModel dtoShank) { if (!ModelState.IsValid) return BadRequest(ModelState); if (!ToolManagerConfig.ShankOptIsActive) - return BadRequest(); + return BadRequest(API_ERROR_KEYS.OPTION_NOT_ACTIVE); using (NcHandler ncHandler = new NcHandler()) { @@ -154,13 +161,14 @@ namespace Step.Controllers.WebApi } [Route("shank/{shankId:int}"), HttpPut] - public IHttpActionResult PutShank(int shankId, [FromBody][Required]DTONcShankModel dtoShank) + public IHttpActionResult PutShank(int shankId, [FromBody][Required]DTONewNcShankModel dtoShank) { if (!ModelState.IsValid) return BadRequest(ModelState); using (NcToolManagerController toolsManager = new NcToolManagerController()) { + // Check if shank exists NcShankModel shank = toolsManager.FindShank(shankId); if (shank == null) return NotFound(); @@ -168,9 +176,10 @@ namespace Step.Controllers.WebApi using (NcHandler ncHandler = new NcHandler()) { ncHandler.Connect(); - shank = ncHandler.UpdateShank(shank, dtoShank); + // Update shank + DTONcShankModel newShank = ncHandler.UpdateShank(shankId, dtoShank); - return Ok(shank); + return Ok(newShank); } } } @@ -180,6 +189,7 @@ namespace Step.Controllers.WebApi { using (NcToolManagerController toolsManager = new NcToolManagerController()) { + // Check if shank exists NcShankModel shank = toolsManager.FindShank(shankId); if (shank == null) return NotFound(); @@ -200,7 +210,7 @@ namespace Step.Controllers.WebApi #region Families [Route("family"), HttpPost] - public IHttpActionResult AddFamily([FromBody][Required]DTONcFamilyModel dtoFamily) + public IHttpActionResult AddFamily([FromBody][Required]DTONewNcFamilyModel dtoFamily) { if (!ModelState.IsValid) return BadRequest(ModelState); @@ -225,24 +235,26 @@ namespace Step.Controllers.WebApi } } - [Route("family/{famlyId:int}"), HttpPut] - public IHttpActionResult PutFamily(int familyId, [FromBody][Required]DTONcToolModel dtoTool) + [Route("family/{familyId:int}"), HttpPut] + public IHttpActionResult PutFamily(int familyId, [FromBody][Required]DTONewNcFamilyModel dtoFamily) { if (!ModelState.IsValid) return BadRequest(ModelState); using (NcToolManagerController toolsManager = new NcToolManagerController()) { - NcToolModel tool = toolsManager.FindTool(familyId); - if (tool == null) + // Check if family exists + NcFamilyModel family = toolsManager.FindFamily(familyId); + if (family == null) return NotFound(); using (NcHandler ncHandler = new NcHandler()) { ncHandler.Connect(); - NcToolModel newTool = ncHandler.UpdateTool(tool, dtoTool); + // Update into db and NC + DTONcFamilyModel newFamily = ncHandler.UpdateFamily(familyId, dtoFamily); - return Ok(newTool); + return Ok(newFamily); } } } @@ -252,6 +264,7 @@ namespace Step.Controllers.WebApi { using (NcToolManagerController toolsManager = new NcToolManagerController()) { + // Find if exists NcFamilyModel family = toolsManager.FindFamily(familyId); if (family == null) return NotFound(); @@ -259,7 +272,7 @@ namespace Step.Controllers.WebApi using (NcHandler ncHandler = new NcHandler()) { ncHandler.Connect(); - + //Delete ncHandler.DeleteNcFamily(family); return Ok(); @@ -349,13 +362,13 @@ namespace Step.Controllers.WebApi if (!ModelState.IsValid) return BadRequest(ModelState); if (shankId.ToolId == 0) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); using (NcToolManagerController toolsManager = new NcToolManagerController()) { NcShankModel shank = toolsManager.FindShank(shankId.ToolId); if (shank == null) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); using (NcHandler ncHandler = new NcHandler()) { @@ -373,13 +386,13 @@ namespace Step.Controllers.WebApi if (!ModelState.IsValid) return BadRequest(ModelState); if (shankId.ToolId == 0) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); using (NcToolManagerController toolsManager = new NcToolManagerController()) { NcShankModel shank = toolsManager.FindShank(shankId.ToolId); if (shank == null) - return BadRequest("error_incorrect_parameters"); + return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS); using (NcHandler ncHandler = new NcHandler()) {