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 678  
679 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 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 689 $this->layer->queryByrect($this->mapa->extent);
704 690 $res_count = $this->layer->getNumresults();
705 691 $shp_todos = array();
706   - for ($i = 0; $i < $res_count;++$i)
707   - {
  692 + for ($i = 0; $i < $res_count;++$i){
708 693 $rc = $this->layer->getResult($i);
709 694 $shp_todos[] = $rc->shapeindex;
710 695 }
711 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 697 $this->serializeQ($this->qyfileTema,$shp);
717 698 return("ok");
718 699 }
... ... @@ -727,18 +708,13 @@ $shpi - Indices dos registros novos.
727 708  
728 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 712 error_reporting(0);
733   - if(!$this->layer){return "erro";}
734   - $indxlayer = $this->layer->index;
  713 + if(!$this->layer){
  714 + return "erro";
  715 + }
735 716 $shp = array_merge($shpi,$shp_atual);
736 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 718 $this->serializeQ($this->qyfileTema,$shp);
743 719 return("ok");
744 720 }
... ... @@ -753,17 +729,12 @@ $shpi - Indices dos registros que ser&amp;atilde;o retirados.
753 729  
754 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 736 $shp = array_diff($shp_atual,$shpi);
762 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 738 $this->serializeQ($this->qyfileTema,$shp);
768 739 return("ok");
769 740 }
... ... @@ -778,17 +749,12 @@ parameters:
778 749  
779 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 756 $ids = explode(",",$ids);
787   - $indxlayer = $this->layer->index;
788 757 $ids = array_unique($ids);
789   - foreach ($ids as $i)
790   - {$this->mapa->queryByIndex($indxlayer, -1, $i);}
791   - $this->mapa->savequery($this->qyfile);
792 758 $this->serializeQ($this->qyfileTema,$ids);
793 759 return("ok");
794 760 }
... ...