Project:
View Revisions: Issue #41270 | [ All Revisions ] [ Back to Issue ] | ||
Summary | 0041270: Copy Store Process are copying the same POS Terminal Type Name as the Original Store copied. | ||
Revision | 2019-07-12 13:51 by samuel_nicuesa | ||
Steps To Reproduce | [BO] - > Execute Copy Store process Using the following information. See attached images Original Store -> Vall Blanca Store Original Pos Terminal Type -> VBS POS Terminal Type New store -> 31400 New Pos Terminal Type -> VBS POS Terminal Type (The same as the original) It is happening because more than one terminal is using the same pos terminal type. When pos terminal types are copied these code is being executed : public void copyTerminalTypes(TerminalType originalType, BaseOBObject newObject) { MutableBoolean isNew = new MutableBoolean(false); TerminalType selectedType = (TerminalType) getObjectInTree(originalType, isNew); String terminalTypeName = originalType.getName(); if (isNew.booleanValue()) { if (terminalTypeName.contains(originalTerminal.getName())) { terminalTypeName = terminalTypeName.replace(originalTerminal.getName(), newObject.get("name").toString()); } else { terminalTypeName += "-" + newObject.get("name"); } } selectedType.setName(terminalTypeName); newObject.set("obposTerminaltype", selectedType); if (isNew.booleanValue()) { copyPaymentMethods(originalType, selectedType); } } In the first execution if (isNew.booleanValue()) { is TRUE and the pos terminal type is copied fine using : 1) Replace or 2)terminalTypeName += "-" + newObject.get("name"); In the second execution, this terminal type is not new because it is used by more than 1 terminal and if (isNew.booleanValue()) is FALSE. The new terminal types created are overwritten by the original Pos Terminal Type : -> String terminalTypeName = originalType.getName(); -> selectedType.setName(terminalTypeName); |
||
Revision | 2019-07-12 10:46 by samuel_nicuesa | ||
Steps To Reproduce | [BO] - > Execute Copy Store process Using the following information. See attached images Original Store -> Vall Blanca Store Original Pos Terminal Type -> VBS POS Terminal Type New store -> 31400 New Pos Terminal Type -> VBS POS Terminal Type (The same as the original) It is happening because more than one terminal is using the same pos terminal type. When pos terminal types are copied these code is being executed : public void copyTerminalTypes(TerminalType originalType, BaseOBObject newObject) { MutableBoolean isNew = new MutableBoolean(false); TerminalType selectedType = (TerminalType) getObjectInTree(originalType, isNew); String terminalTypeName = originalType.getName(); if (isNew.booleanValue()) { if (terminalTypeName.contains(originalTerminal.getName())) { terminalTypeName = terminalTypeName.replace(originalTerminal.getName(), newObject.get("name").toString()); } else { terminalTypeName += "-" + newObject.get("name"); } } selectedType.setName(terminalTypeName); newObject.set("obposTerminaltype", selectedType); System.out.println("CopyTerminalTypes: "+"Original Terminal Type: "+terminalTypeName+" NewObject: "+newObject); if (isNew.booleanValue()) { copyPaymentMethods(originalType, selectedType); } } In the first execution if (isNew.booleanValue()) { is TRUE and the pos terminal type is copied fine using : 1) Replace or 2)terminalTypeName += "-" + newObject.get("name"); In the second execution, this terminal type is not new because it is used by more than 1 terminal and if (isNew.booleanValue()) is FALSE. The new terminal types created are overwritten by the original Pos Terminal Type : -> String terminalTypeName = originalType.getName(); -> selectedType.setName(terminalTypeName); |
||
Revision | 2019-07-04 09:59 by samuel_nicuesa | ||
Steps To Reproduce | [BO] - > Execute Copy Store process - > Original Store > POS Terminal Type = 715161516 - > POS Terminal Type of all new Terminals created have the same Terminal Type as the original store > 715161516 I think the problem is happening when isNew = false because the Terminal Type will be originalType.getName(). I cannot reproduce the problem in PI environment but if isNew = false this problem happens. public void copyTerminalTypes(TerminalType originalType, BaseOBObject newObject) { MutableBoolean isNew = new MutableBoolean(false); TerminalType selectedType = (TerminalType) getObjectInTree(originalType, isNew); String terminalTypeName = originalType.getName(); if (isNew.booleanValue()) { if (terminalTypeName.contains(originalTerminal.getName())) { terminalTypeName = terminalTypeName.replace(originalTerminal.getName(), newObject.get("name").toString()); } else { terminalTypeName += "-" + newObject.get("name"); } } selectedType.setName(terminalTypeName); newObject.set("obposTerminaltype", selectedType); System.out.println("CopyTerminalTypes: "+"Original Terminal Type: "+terminalTypeName+" NewObject: "+newObject); if (isNew.booleanValue()) { copyPaymentMethods(originalType, selectedType); } } Could you check if the code is not correct in this part of the code? |
Copyright © 2000 - 2009 MantisBT Group |