Commit e619c589c46e335c167db30d8cdaa25155bcf082

Authored by Edmar Moretti
1 parent 24a0ad3f
Exists in master

Otimização das operações de seleção com a remoção de código antigo

Showing 1 changed file with 19 additions and 53 deletions   Show diff stats
classesphp/classe_selecao.php
@@ -678,41 +678,22 @@ function: selecaoInverte @@ -678,41 +678,22 @@ function: selecaoInverte
678 678
679 Inverte seleção do tema. 679 Inverte seleção do tema.
680 */ 680 */
681 - function selecaoInverte()  
682 - {  
683 - if(!$this->layer){return "erro";}  
684 - $items = pegaItens($this->layer);  
685 - if (file_exists($this->qyfile))  
686 - {$this->mapa->loadquery($this->qyfile);}  
687 - $indxlayer = $this->layer->index;  
688 -  
689 - /*  
690 - $res_count = $this->layer->getNumresults();  
691 - $shp_atual = array();  
692 - for ($i = 0; $i < $res_count;++$i)  
693 - {  
694 - $rc = $this->layer->getResult($i);  
695 - $shp_atual[] = $rc->shapeindex; 681 + function selecaoInverte(){
  682 + if(!$this->layer){
  683 + return "erro";
696 } 684 }
697 - $this->mapa->freequery($indxlayer);  
698 - */  
699 $shp_atual = array(); 685 $shp_atual = array();
700 - if($this->qyfileTema != "" && file_exists($this->qyfileTema))  
701 - {$shp_atual = $this->unserializeQ($this->qyfileTema);}  
702 - 686 + if($this->qyfileTema != "" && file_exists($this->qyfileTema)){
  687 + $shp_atual = $this->unserializeQ($this->qyfileTema);
  688 + }
703 $this->layer->queryByrect($this->mapa->extent); 689 $this->layer->queryByrect($this->mapa->extent);
704 $res_count = $this->layer->getNumresults(); 690 $res_count = $this->layer->getNumresults();
705 $shp_todos = array(); 691 $shp_todos = array();
706 - for ($i = 0; $i < $res_count;++$i)  
707 - { 692 + for ($i = 0; $i < $res_count;++$i){
708 $rc = $this->layer->getResult($i); 693 $rc = $this->layer->getResult($i);
709 $shp_todos[] = $rc->shapeindex; 694 $shp_todos[] = $rc->shapeindex;
710 } 695 }
711 $shp = array_diff($shp_todos,$shp_atual); 696 $shp = array_diff($shp_todos,$shp_atual);
712 - $this->mapa->freequery($indxlayer);  
713 - foreach ($shp as $indx)  
714 - {$this->mapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);}  
715 - $this->mapa->savequery($this->qyfile);  
716 $this->serializeQ($this->qyfileTema,$shp); 697 $this->serializeQ($this->qyfileTema,$shp);
717 return("ok"); 698 return("ok");
718 } 699 }
@@ -727,18 +708,13 @@ $shpi - Indices dos registros novos. @@ -727,18 +708,13 @@ $shpi - Indices dos registros novos.
727 708
728 $shp_atual - Indices dos elementos j&aacute; selecionados. 709 $shp_atual - Indices dos elementos j&aacute; selecionados.
729 */ 710 */
730 - function selecaoAdiciona($shpi,$shp_atual)  
731 - { 711 + function selecaoAdiciona($shpi,$shp_atual){
732 error_reporting(0); 712 error_reporting(0);
733 - if(!$this->layer){return "erro";}  
734 - $indxlayer = $this->layer->index; 713 + if(!$this->layer){
  714 + return "erro";
  715 + }
735 $shp = array_merge($shpi,$shp_atual); 716 $shp = array_merge($shpi,$shp_atual);
736 $shp = array_unique($shp); 717 $shp = array_unique($shp);
737 -  
738 - $this->mapa->freequery($indxlayer);  
739 - foreach ($shp as $indx)  
740 - {@$this->mapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);}  
741 - $this->mapa->savequery($this->qyfile);  
742 $this->serializeQ($this->qyfileTema,$shp); 718 $this->serializeQ($this->qyfileTema,$shp);
743 return("ok"); 719 return("ok");
744 } 720 }
@@ -753,17 +729,12 @@ $shpi - Indices dos registros que ser&amp;atilde;o retirados. @@ -753,17 +729,12 @@ $shpi - Indices dos registros que ser&amp;atilde;o retirados.
753 729
754 $shp_atual - Indices dos elementos j&aacute; selecionados. 730 $shp_atual - Indices dos elementos j&aacute; selecionados.
755 */ 731 */
756 - function selecaoRetira($shpi,$shp_atual)  
757 - {  
758 - if(!$this->layer){return "erro";}  
759 - $indxlayer = $this->layer->index;  
760 - $this->mapa->freequery($indxlayer); 732 + function selecaoRetira($shpi,$shp_atual){
  733 + if(!$this->layer){
  734 + return "erro";
  735 + }
761 $shp = array_diff($shp_atual,$shpi); 736 $shp = array_diff($shp_atual,$shpi);
762 $shp = array_unique($shp); 737 $shp = array_unique($shp);
763 - $this->mapa->freequery($indxlayer);  
764 - foreach ($shp as $indx)  
765 - {$this->mapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);}  
766 - $this->mapa->savequery($this->qyfile);  
767 $this->serializeQ($this->qyfileTema,$shp); 738 $this->serializeQ($this->qyfileTema,$shp);
768 return("ok"); 739 return("ok");
769 } 740 }
@@ -778,17 +749,12 @@ parameters: @@ -778,17 +749,12 @@ parameters:
778 749
779 $ids - Ids separados por v&iacute;rgula correspondendo aos registros. 750 $ids - Ids separados por v&iacute;rgula correspondendo aos registros.
780 */ 751 */
781 - function incluiSel($ids)  
782 - {  
783 - if(!$this->layer){return "erro";}  
784 - if (file_exists($this->qyfile))  
785 - {$this->mapa->loadquery($this->qyfile);} 752 + function incluiSel($ids){
  753 + if(!$this->layer){
  754 + return "erro";
  755 + }
786 $ids = explode(",",$ids); 756 $ids = explode(",",$ids);
787 - $indxlayer = $this->layer->index;  
788 $ids = array_unique($ids); 757 $ids = array_unique($ids);
789 - foreach ($ids as $i)  
790 - {$this->mapa->queryByIndex($indxlayer, -1, $i);}  
791 - $this->mapa->savequery($this->qyfile);  
792 $this->serializeQ($this->qyfileTema,$ids); 758 $this->serializeQ($this->qyfileTema,$ids);
793 return("ok"); 759 return("ok");
794 } 760 }