Load unload tool in magazine

Added Siemens functions like: available tools, load/unload, max values in configuration
This commit is contained in:
Lucio Maranta
2018-05-16 17:41:26 +02:00
parent 292ad33b00
commit 239b976a4e
4 changed files with 43 additions and 18 deletions
Binary file not shown.
@@ -51,7 +51,7 @@ namespace Step.Model.DTOModels.ToolModels
public bool InChangeTool { get; set; }
[Required]
public bool IsInUse { get; set; }
public bool InUse { get; set; }
[Required]
public bool PreAlarm { get; set; }
@@ -68,7 +68,7 @@ namespace Step.Model.DTOModels.ToolModels
IsEnabled = dtoModel.IsEnabled,
IsActive = dtoModel.IsActive,
IsInhibited = dtoModel.IsInhibited,
IsInUse = dtoModel.IsInUse,
IsInUse = dtoModel.InUse,
IsMeasured = dtoModel.IsMeasured,
InChangeTool = dtoModel.InChangeTool,
InFixedPlace = dtoModel.InFixedPlace,
+13 -8
View File
@@ -669,9 +669,9 @@ namespace Step.NC
return numericalControl.TOOLS_RFamilyData(ref families);
}
public CmsError GetMagazinesPositionsData(out List<PositionsModel> magazinesPositions)
public CmsError GetMagazinesPositionsData(out List<PositionModel> magazinesPositions)
{
magazinesPositions = new List<PositionsModel>();
magazinesPositions = new List<PositionModel>();
return numericalControl.TOOLS_RMagazinePositions(ref magazinesPositions);
}
#endregion Read Data
@@ -773,9 +773,9 @@ namespace Step.NC
return numericalControl.TOOLS_WUpdateFamilyData(oldName, newName);
}
public CmsError UpdateMagazinePosition(PositionsModel magazinePosition)
public CmsError UpdateMagazinePosition(PositionModel magazinePosition)
{
return numericalControl.TOOLS_WUpdatePositions(magazinePosition);
return numericalControl.TOOLS_WUpdatePosition(magazinePosition);
}
public CmsError DeleteTool(int id)
@@ -808,9 +808,9 @@ namespace Step.NC
return numericalControl.TOOLS_WDeleteEdge(toolId, edgeId);
}
public CmsError GetMagazinePositionsAndTools(int magazineId, out List<MagazineAndToolModel> magazinePos)
public CmsError GetMagazinePositionsAndTools(int magazineId, out List<PositionModel> magazinePos)
{
magazinePos = new List<MagazineAndToolModel>();
magazinePos = new List<PositionModel>();
return numericalControl.TOOLS_RMagazineTools(magazineId, ref magazinePos);
}
@@ -821,9 +821,14 @@ namespace Step.NC
return numericalControl.TOOLS_RAvailableTools(ref multiTools, ref tools);
}
public CmsError UpdateMagazine(int magazineId, List<NewToolInMagazineModel> newMag)
public CmsError LoadToolInMagazine(int magazineId, NewToolInMagazineModel newMag)
{
return numericalControl.TOOLS_WUpdateMagazineTools(magazineId, newMag);
return numericalControl.TOOLS_WLoadToolInMagazine(magazineId, newMag);
}
public CmsError UnloadToolInMagazine(int magazineId, int positionId)
{
return numericalControl.TOOLS_WUnloadToolInMagazine(magazineId, positionId);
}
#endregion
#endregion Write data
+28 -8
View File
@@ -180,7 +180,7 @@ namespace Step.Controllers.WebApi
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
CmsError libraryError = ncHandler.GetMagazinesPositionsData(out List<PositionsModel> magazines);
CmsError libraryError = ncHandler.GetMagazinesPositionsData(out List<PositionModel> magazines);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
@@ -201,9 +201,9 @@ namespace Step.Controllers.WebApi
ncHandler.Connect();
// Create Library model
PositionsModel pos = new PositionsModel()
PositionModel pos = new PositionModel()
{
Id = positionId,
PositionId = positionId,
MagazineId = magazineId,
Type = Convert.ToInt32(magazinesPos.Type)
};
@@ -357,7 +357,7 @@ namespace Step.Controllers.WebApi
{
ncHandler.Connect();
// Call delete library function
CmsError libraryError = ncHandler.GetMagazinePositionsAndTools(magazineId, out List<MagazineAndToolModel> magazinePos);
CmsError libraryError = ncHandler.GetMagazinePositionsAndTools(magazineId, out List<PositionModel> magazinePos);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
@@ -386,8 +386,8 @@ namespace Step.Controllers.WebApi
}
}
[Route("magazine/{magazineId:int}"), HttpPut]
public IHttpActionResult GetAvailableTools(int magazineId, [FromBody][Required] List<DTOUpdateMagazineModel> newMag)
[Route("magazine/{magazineId:int}/load"), HttpPut]
public IHttpActionResult LoadToolInToMagazine(int magazineId, [FromBody][Required] DTOUpdateMagazineModel newMag)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
@@ -396,9 +396,9 @@ namespace Step.Controllers.WebApi
{
ncHandler.Connect();
List<NewToolInMagazineModel> libraryMag = newMag.Select(x => new NewToolInMagazineModel { PositionId = x.PositionId, ToolId = x.ToolId }).ToList();
NewToolInMagazineModel libraryMag = new NewToolInMagazineModel { PositionId = newMag.PositionId, ToolId = newMag.ToolId };
// Call delete library function
CmsError libraryError = ncHandler.UpdateMagazine(magazineId, libraryMag);
CmsError libraryError = ncHandler.LoadToolInMagazine(magazineId, libraryMag);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
@@ -406,5 +406,25 @@ namespace Step.Controllers.WebApi
return Ok(newMag);
}
}
[Route("magazine/{magazineId:int}/unload/{positionId:int}"), HttpPut]
public IHttpActionResult UnloadToolFromMagazine(int magazineId, int positionId)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
// Call delete library function
CmsError libraryError = ncHandler.UnloadToolInMagazine(magazineId, positionId);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok();
}
}
}
}