Código PHP:
private void updateAfterTag(NTag tag, NTag tagItem, NTag parentTagOrigen, NTag parentTagDestino, Map<Integer, NTag> tagList, Credencial credencial, Transaction txn) throws AraException{
if(tag.getLft() > tagItem.getLft()){
for(NTag t : tagList.values()){
if(parentTagOrigen == parentTagDestino){
if(t.getLft() > parentTagDestino.getLft() && t.getRgt() < tag.getRgt()){
if(t.getLft() > tagItem.getLft()){
t.setLft(t.getLft() + 2);
t.setRgt(t.getRgt() + 2);
update(credencial,t,txn);
}
}
} else {
if((t.getLft() > tagItem.getLft() && t.getRgt() < parentTagDestino.getRgt() && t != tag) || (t.getRgt() < tag.getRgt() && t.getLft() > parentTagOrigen.getLft() && t != tag)){
t.setLft(t.getLft() + 2);
t.setRgt(t.getRgt() + 2);
update(credencial,t,txn);
}
}
}
} else {
for(NTag t : tagList.values()){
if(parentTagOrigen == parentTagDestino){
if(t.getLft() > tag.getLft() && t.getLft() <= tagItem.getLft()){
t.setLft(t.getLft() -2);
t.setRgt(t.getRgt() - 2);
update(credencial,t,txn);
}
} else {
if((t.getRgt() < parentTagOrigen.getRgt() && t.getLft() > tag.getLft() && t != tag) || (t.getLft() > parentTagDestino.getLft() && t.getLft() <= tagItem.getLft() && t != tag)){
t.setLft(t.getLft() -2);
t.setRgt(t.getRgt() - 2);
update(credencial,t,txn);
}
}
}
}
tag.setLft(tagItem.getLft() + 2);
tag.setRgt(tagItem.getLft() + 3);
if(parentTagDestino.getLft() > parentTagOrigen.getLft()){
parentTagDestino.setLft(parentTagDestino.getLft() - 2);
parentTagOrigen.setRgt(parentTagOrigen.getRgt() - 2);
} else if(parentTagDestino.getLft() < parentTagOrigen.getLft()){
parentTagDestino.setRgt(parentTagDestino.getRgt() + 2);
parentTagOrigen.setLft(parentTagOrigen.getLft() + 2);
}
}
private void updateBeforeTag(NTag tag, NTag tagItem, NTag parentTagOrigen, NTag parentTagDestino, Map<Integer, NTag> tagList, Credencial credencial, Transaction txn) throws AraException{
if(tag.getLft() > tagItem.getLft()){
for(NTag t : tagList.values()){
if(parentTagOrigen == parentTagDestino){
if(t.getLft() > tagItem.getLft() && t.getRgt() < tag.getRgt()){
t.setLft(t.getLft() + 2);
t.setRgt(t.getRgt() + 2);
update(credencial,t,txn);
}
} else {
if((t.getLft() > tagItem.getLft() && t.getRgt() < parentTagDestino.getRgt() && t != tag) || (t.getRgt() < tag.getRgt() && t.getLft() > parentTagOrigen.getLft() && t != tag)){
t.setLft(t.getLft() + 2);
t.setRgt(t.getRgt() + 2);
update(credencial,t,txn);
}
}
}
tag.setLft(tagItem.getLft());
tag.setRgt(tagItem.getRgt());
tagItem.setLft(tagItem.getLft() + 2);
tagItem.setRgt(tagItem.getRgt() + 2);
} else {
for(NTag t : tagList.values()){
if(parentTagOrigen == parentTagDestino){
if(t.getLft() > tag.getLft() && t.getRgt() < tagItem.getRgt() && t.getIdtagvalor() != tag.getIdtagvalor()){
t.setLft(t.getLft() -2);
t.setRgt(t.getRgt() - 2);
update(credencial,t,txn);
}
} else {
if((t.getRgt() < parentTagOrigen.getRgt() && t.getLft() > tag.getLft() && t != tag) || (t.getLft() > parentTagDestino.getLft() && t.getLft() <= tagItem.getLft() && t != tag)){
t.setLft(t.getLft() -2);
t.setRgt(t.getRgt() - 2);
update(credencial,t,txn);
}
}
}
tag.setLft(tagItem.getLft() - 2);
tag.setRgt(tagItem.getRgt() - 2);
if(parentTagDestino.getLft() > parentTagOrigen.getLft()){
parentTagDestino.setLft(parentTagDestino.getLft() - 2);
parentTagOrigen.setRgt(parentTagOrigen.getRgt() - 2);
} else if(parentTagDestino.getLft() < parentTagOrigen.getLft()){
parentTagDestino.setRgt(parentTagDestino.getRgt() + 2);
parentTagOrigen.setLft(parentTagOrigen.getLft() + 2);
}
}
}
private void updateFeedBackTag(NTag tag, NTag tagItem, NTag parentTagOrigen, NTag parentTagDestino, Map<Integer, NTag> tagList, Credencial credencial, Transaction txn) throws AraException{
if(tag.getLft() > tagItem.getLft()){
for(NTag t : tagList.values()){
if(t.getLft() > parentTagDestino.getLft() && t.getRgt() < tag.getRgt()){
if(t.getLft() > tagItem.getLft()){
t.setLft(t.getLft() + 2);
t.setRgt(t.getRgt() + 2);
update(credencial,t,txn);
}
}
}
tag.setLft(tagItem.getRgt());
tag.setRgt(tagItem.getRgt() + 1);
tagItem.setRgt(tagItem.getRgt() + 2);
} else {
for(NTag t : tagList.values()){
if(t.getLft() > parentTagDestino.getLft() && t.getRgt() < tagItem.getRgt() && t.getIdtagvalor() != tag.getIdtagvalor()){
//if(t.getLft() > tagItem.getLft()){
t.setLft(t.getLft() - 2);
t.setRgt(t.getRgt() - 2);
update(credencial,t,txn);
//}
}
}
tag.setLft(tagItem.getRgt() - 2);
tag.setRgt(tagItem.getRgt() - 1);
tagItem.setLft(tagItem.getLft() - 2);
}
}
Marcadores