Commit e619c589c46e335c167db30d8cdaa25155bcf082
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á selecionados. | 709 | $shp_atual - Indices dos elementos já 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&atilde;o retirados. | @@ -753,17 +729,12 @@ $shpi - Indices dos registros que ser&atilde;o retirados. | ||
753 | 729 | ||
754 | $shp_atual - Indices dos elementos já selecionados. | 730 | $shp_atual - Indices dos elementos já 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írgula correspondendo aos registros. | 750 | $ids - Ids separados por ví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 | } |