From 0ac7982c9358017efe862f9cd1aca07dc9da86d5 Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Mon, 18 Feb 2019 12:03:40 +0100 Subject: [PATCH] Fix tooltable & maintenances --- Libs/CMS_CORE_Library.dll | Bin 9129984 -> 9129984 bytes Step.Config/Config/maintenancesConfig.xml | 2 +- Step.NC/NcHandler.cs | 9 +++-- .../WebApi/NcToolManagerController.cs | 10 ++--- .../tooling/components/load-depot.ts | 5 +-- .../tooling/components/tooling-depot.ts | 10 +++-- .../tooling/components/tooling-depot.vue | 2 +- .../tooling/components/tooling-families.ts | 34 +++++++++++++++- .../tooling/components/tooling-families.vue | 9 +++-- .../base-components/cards/detail-card.vue | 1 - Step/wwwroot/src/store/tooling.store.ts | 38 ++++++++++++------ 11 files changed, 85 insertions(+), 35 deletions(-) diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index 66c6956924d99e4d57f012772b116d06402a8e0a..f2054c7ad426b8c4d56ac2ba67bd6a2bfa23a6d6 100644 GIT binary patch delta 66094 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 diff --git a/Step.Config/Config/maintenancesConfig.xml b/Step.Config/Config/maintenancesConfig.xml index 12697b84..605d9f16 100644 --- a/Step.Config/Config/maintenancesConfig.xml +++ b/Step.Config/Config/maintenancesConfig.xml @@ -14,7 +14,7 @@ Sostituire tenute aria/liquido giunto assi rotanti mm - 1 + 0 diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index e386fb2f..8226f552 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -985,12 +985,15 @@ namespace Step.NC // Get matching counter for the current maintenance counter = counters.Find(x => x.Id == currMaintenance.CounterId); + // Convert from seconds to minuts + var counterVal = counter.Value / 60; + int perfVal = 0; if (performed != null) perfVal = performed.CounterValue; // Calc percentage = PLC - PERFORMED VALUE * 100 / interval - percentage = ((counter.Value - perfVal) * 100) / SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value); - missingDays = TimeSpan.FromMinutes(-1 * (counter.Value - perfVal - SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value))); + percentage = ((counterVal - perfVal) * 100) / SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value); + missingDays = TimeSpan.FromMinutes(-1 * ((counterVal / 60) - perfVal - SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value))); } break; @@ -1109,7 +1112,7 @@ namespace Step.NC perfVal = performed.CounterValue; // MAINTENANCE_INTERVAL <= PLC - LASTPERFORMED - if (SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value) <= counter.Value - perfVal) + if (SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value) <= (counter.Value / 60) - perfVal) { // Update last expiration date if null if (currMaintenance.LastExpirationDate == null) diff --git a/Step/Controllers/WebApi/NcToolManagerController.cs b/Step/Controllers/WebApi/NcToolManagerController.cs index 8cf35e7a..2c27de58 100644 --- a/Step/Controllers/WebApi/NcToolManagerController.cs +++ b/Step/Controllers/WebApi/NcToolManagerController.cs @@ -62,7 +62,7 @@ namespace Step.Controllers.WebApi if (!ModelState.IsValid) return BadRequest(ModelState); - short id = 0; + short familyId = 0; using (NcToolManagerController toolsManager = new NcToolManagerController()) { // Check if option is active @@ -71,7 +71,7 @@ namespace Step.Controllers.WebApi if (dtoToolWithFamily.FamilyId == 0) { // If param equal to 0 create a new family - DTONewNcFamilyModel newFamily = new DTONewNcFamilyModel() { Name = "NewFamily" }; + DTONewNcFamilyModel newFamily = new DTONewNcFamilyModel() { Name = "NewFamily", LeftSize = 1, RightSize = 1 }; // Add new family & update family id DbNcFamilyModel newFam = toolsManager.AddFamily(newFamily); dtoToolWithFamily.FamilyId = newFam.FamilyId; @@ -104,7 +104,7 @@ namespace Step.Controllers.WebApi dtoToolWithFamily.FamilyId = dbFam.FamilyId; // Set common id - id = dbFam.FamilyId; + familyId = dbFam.FamilyId; } // Check if option is active @@ -118,7 +118,7 @@ namespace Step.Controllers.WebApi }; // Create a new shank - DbNcShankModel ncShank = toolsManager.AddShank(newShank, id); + DbNcShankModel ncShank = toolsManager.AddShank(newShank, familyId); // Connect tool to new shank dtoToolWithFamily.ShankId = ncShank.ShankId; } @@ -131,7 +131,7 @@ namespace Step.Controllers.WebApi ncHandler.Connect(); // Add tool - CmsError cmsError = ncHandler.AddTool(dtoToolWithFamily, out DTONcToolModel newTool, id); + CmsError cmsError = ncHandler.AddTool(dtoToolWithFamily, out DTONcToolModel newTool, familyId); if (cmsError.IsError()) return BadRequest(cmsError.localizationKey); diff --git a/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts b/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts index 1af45521..7575f67c 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts +++ b/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts @@ -53,7 +53,7 @@ export default { return this.$store.state.machineInfo.isSiemens; }, isPositionCompatible(tool) { - return (this.$store.getters).positionCompatible(tool.id, ModalHelper.loadDepotModal.positionType); + return (this.$store.getters).positionCompatible(tool.id, ModalHelper.loadDepotModal.positionType); }, save() { this.magazineId = ModalHelper.loadDepotModal.magazineId; @@ -66,7 +66,6 @@ export default { }); } else{ - console.log(this.magazineId, this.positionId, { shankId: this.toolSelected.id }) ; new DepotService().AddToolToDepotNc(this.magazineId, this.positionId, { shankId: this.toolSelected.id }).then(response => { Factory.Get(MessageService).deleteChannel("esc_pressed"); toolingActions.updateBusyStatusPositions(store,this.magInfo.type,(this.$store.state as AppModel).depot.depotNc); @@ -102,7 +101,7 @@ export default { this.fitInPosition = (this.$store.state as AppModel).tooling.magPosDepot[this.positionId -1].canLoadTool; } else{ - toolingActions.setCanLoadTool(store, this.toolSelected.maxRight,this.toolSelected.maxLeft,this.magInfo.type,(this.$store.state as AppModel).depot.depot); + toolingActions.setCanLoadTool(store, this.toolSelected.maxRight,this.toolSelected.maxLeft, this.magInfo.type, (this.$store.state as AppModel).depot.depotNc); this.fitInPosition = (this.$store.state as AppModel).tooling.magPosNcDepot[this.positionId -1].canLoadTool; } } diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts index 9911d85e..a811464a 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts @@ -584,9 +584,10 @@ export default class depot extends Vue { ModalHelper.ShowModal(LoadDepot); } + // SIEMENS public doAddToDepotPosition(position, event) { if (this.draggingTool && this.draggingPosition == position.positionId) { - if (this.toolAtPosition(position.positionId) || position.disabled || !this.checkMagPosType(position.type)) + if (this.toolAtPosition(position.positionId) || !position.canLoadTool) return this.draggingIn = false; @@ -598,9 +599,10 @@ export default class depot extends Vue { } } + // OSAI-FANUC public doAddToNcDepotPosition(position, event) { if (this.draggingTool && this.draggingPosition == position.positionId) { - if (this.ncToolAtPosition(position.positionId) || position.disabled || !this.checkMagPosType(position.type)) + if (this.ncToolAtPosition(position.positionId) || !position.canLoadTool) return this.draggingIn = false; this.draggingTool = null; @@ -708,12 +710,12 @@ export default class depot extends Vue { } - public calculateAvailablePositions() { + public calculateAvailablePositions() { if(this.draggingTool){ if(this.isSiemens) toolingActions.setCanLoadTool(store, this.draggingTool.rightSize,this.draggingTool.leftSize,this.magazineType,this.depot); else - toolingActions.setCanLoadTool(store, this.draggingTool.maxRight,this.draggingTool.maxLeft,this.magazineType,this.depotNc); + toolingActions.setCanLoadTool(store, this.draggingTool.maxRight, this.draggingTool.maxLeft, this.magazineType, this.depotNc); } } } \ No newline at end of file diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue index 90df86e2..306f9e5c 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue @@ -170,7 +170,7 @@
- +
- +
{{'tooling_families_boxright_editlabel' | localize("Modifica della famiglia %s", selectedTool.name)}}
{{'tooling_families_boxright_newlabel' | localize("Aggiunta nuova famiglia")}}
@@ -146,8 +146,8 @@
@@ -174,7 +174,8 @@
diff --git a/Step/wwwroot/src/modules/base-components/cards/detail-card.vue b/Step/wwwroot/src/modules/base-components/cards/detail-card.vue index 808fd528..d53e06e0 100644 --- a/Step/wwwroot/src/modules/base-components/cards/detail-card.vue +++ b/Step/wwwroot/src/modules/base-components/cards/detail-card.vue @@ -25,7 +25,6 @@ export default { label:{default:""}, physicalType:{default:1}, magposOccupied:{ default: false }, - magposOccupied:{ default: false }, editable:{ default: false }, disabled:{ default: false } }, diff --git a/Step/wwwroot/src/store/tooling.store.ts b/Step/wwwroot/src/store/tooling.store.ts index bf42162a..693867fb 100644 --- a/Step/wwwroot/src/store/tooling.store.ts +++ b/Step/wwwroot/src/store/tooling.store.ts @@ -191,7 +191,8 @@ export const toolingStore = { if(!posType || posType==0) return true; - let tool = state.tools.find(t => t.id === id); + let tool = state.tools.find(t => t.id === id); + if(tool){ if(tool.magazinePositionType == posType) @@ -566,7 +567,7 @@ export const toolingStore = { }); }, - SetCanLoadTool(store, {sizeRight, sizeLeft,magazineType,tools}){ + SetCanLoadTool(store, {sizeRight, sizeLeft, magazineType, tools}){ var magposDisabled = new Array(); var dimleftMount = sizeLeft/2.0; @@ -578,9 +579,10 @@ export const toolingStore = { positionMagazines = store.magPosDepot; else positionMagazines = store.magPosNcDepot; + var maxPos = positionMagazines.length; - //Check if is enabled + // Check if is enabled positionMagazines.forEach(element => { element.canLoadTool = !element.disabled; if(element.disabled){ @@ -588,14 +590,14 @@ export const toolingStore = { } }); - //Check disabled positions + // Check disabled positions magposDisabled.forEach(element => { var dimleft = 0.5; var dimright = 0.5; for (let index = 1; index < (dimrightMount + dimleft); index++) { position = element.positionId -1 - index; - //Base on magazineType + // Base on magazineType if(magazineType != 1 && magazineType != 2){ if(position>=0 && position < maxPos) positionMagazines[position].canLoadTool = false @@ -610,7 +612,7 @@ export const toolingStore = { for (let index = 1; index < (dimleftMount + dimright); index++) { position = element.positionId -1 + index; - //Base on magazineType + // Base on magazineType if(magazineType != 1 && magazineType != 2){ if(position>=0 && position < maxPos) positionMagazines[position].canLoadTool = false @@ -624,25 +626,37 @@ export const toolingStore = { } }); - //Check mounted tools dimension + // Check mounted tools dimension var dimleft; var dimright; tools.forEach(element => { - if(element.childTool || element.childShank){ + if(element.childTool || element.childShank || element.childsTools){ - //Get Right Size + + // Get Right Size if(element.childShank){ dimleft = element.childShank.leftSize/2.0; dimright = element.childShank.rightSize/2.0; - }else + } else if(element.childTool) { dimleft = element.childTool.leftSize/2.0; dimright = element.childTool.rightSize/2.0; } + else{ + dimleft = element.maxLeft/2.0; + dimright = element.maxRight/2.0; + } + + //Check dimensions + if(dimleft<0.5) + dimleft = 0.5; + if(dimright<0.5) + dimright = 0.5; + for (let index = 1; index < (dimrightMount + dimleft); index++) { position = element.positionId -1 - index; - //Base on magazineType + // Base on magazineType if(magazineType != 1 && magazineType != 2){ if(position>=0 && position < maxPos) positionMagazines[position].canLoadTool = false @@ -658,7 +672,7 @@ export const toolingStore = { for (let index = 1; index < (dimleftMount + dimright); index++) { position = element.positionId -1 + index; - //Base on magazineType + // Base on magazineType if(magazineType != 1 && magazineType != 2){ if(position>=0 && position < maxPos) positionMagazines[position].canLoadTool = false