Commit 83ff1d3e636477e3236c12d3ae44086bc570d0cb

Authored by Daniel Ruoso
1 parent 505bd57c
Exists in master

melhora a interface da lista de servicos e servicos internos. Quando tinha muito…

…s servicos ficava inusável
Fila-Servico/lib/Fila/Servico/Controller/WS/Gestao/Atendente.pm
@@ -1151,17 +1151,17 @@ sub listar_servicos :WSDLPort('GestaoAtendente') :DBICTransaction('DB') :MI { @@ -1151,17 +1151,17 @@ sub listar_servicos :WSDLPort('GestaoAtendente') :DBICTransaction('DB') :MI {
1151 #pega no model todos os serviços 1151 #pega no model todos os serviços
1152 my $servicos = $c->model('DB::ServicoInterno')->search 1152 my $servicos = $c->model('DB::ServicoInterno')->search
1153 ({ 'me.vt_ini' => { '<=', $now }, 1153 ({ 'me.vt_ini' => { '<=', $now },
1154 - 'me.vt_fim' => { '>', $now }  
1155 - }); 1154 + 'me.vt_fim' => { '>', $now } },
  1155 + { prefetch => 'classe',
  1156 + order_by => ['classe.nome', 'me.nome'] });
1156 1157
1157 my $lista_servicos = []; 1158 my $lista_servicos = [];
1158 1159
1159 while (my $servico = $servicos->next) { 1160 while (my $servico = $servicos->next) {
1160 push @$lista_servicos, 1161 push @$lista_servicos,
1161 - {  
1162 - (map { $_ => $servico->$_() }  
1163 - qw/id_servico id_classe nome/ )  
1164 - }; 1162 + { (map { $_ => $servico->$_() }
  1163 + qw/id_servico id_classe nome/ ),
  1164 + classe => $servico->classe->nome };
1165 } 1165 }
1166 1166
1167 #retorna uma lista dos serviços 1167 #retorna uma lista dos serviços
@@ -1178,17 +1178,17 @@ sub listar_servicos_atendimento :WSDLPort(&#39;GestaoAtendente&#39;) :DBICTransaction(&#39; @@ -1178,17 +1178,17 @@ sub listar_servicos_atendimento :WSDLPort(&#39;GestaoAtendente&#39;) :DBICTransaction(&#39;
1178 #pega no model todos os serviços 1178 #pega no model todos os serviços
1179 my $servicos = $c->model('DB::Servico')->search 1179 my $servicos = $c->model('DB::Servico')->search
1180 ({ 'me.vt_ini' => { '<=', $now }, 1180 ({ 'me.vt_ini' => { '<=', $now },
1181 - 'me.vt_fim' => { '>', $now }  
1182 - }); 1181 + 'me.vt_fim' => { '>', $now } },
  1182 + { order_by => ['classe.nome', 'me.nome'],
  1183 + prefetch => 'classe' });
1183 1184
1184 my $lista_servicos_atendimento = []; 1185 my $lista_servicos_atendimento = [];
1185 1186
1186 while (my $servico = $servicos->next) { 1187 while (my $servico = $servicos->next) {
1187 push @$lista_servicos_atendimento, 1188 push @$lista_servicos_atendimento,
1188 - {  
1189 - (map { $_ => $servico->$_() }  
1190 - qw/id_servico id_classe nome/ )  
1191 - }; 1189 + { (map { $_ => $servico->$_() }
  1190 + qw/id_servico id_classe nome/ ),
  1191 + classe => $servico->classe->nome };
1192 } 1192 }
1193 1193
1194 #retorna uma lista dos serviços 1194 #retorna uma lista dos serviços
Fila-Servico/schemas/fila-servico.xsd
@@ -215,6 +215,7 @@ @@ -215,6 +215,7 @@
215 <xsd:element name="id_servico" minOccurs="0" type="xsd:integer" /> 215 <xsd:element name="id_servico" minOccurs="0" type="xsd:integer" />
216 <xsd:element name="id_guiche" minOccurs="0" type="xsd:integer" /> 216 <xsd:element name="id_guiche" minOccurs="0" type="xsd:integer" />
217 <xsd:element name="id_classe" minOccurs="0" type="xsd:integer" /> 217 <xsd:element name="id_classe" minOccurs="0" type="xsd:integer" />
  218 + <xsd:element name="classe" minOccurs="0" type="xsd:string" />
218 <xsd:element name="vt_ini" minOccurs="0" type="xsd:dateTime" /> 219 <xsd:element name="vt_ini" minOccurs="0" type="xsd:dateTime" />
219 <xsd:element name="vt_fim" minOccurs="0" type="xsd:dateTime" /> 220 <xsd:element name="vt_fim" minOccurs="0" type="xsd:dateTime" />
220 <xsd:element name="nome" minOccurs="0" type="xsd:string" /> 221 <xsd:element name="nome" minOccurs="0" type="xsd:string" />
Fila-Web/root/render/status_atendente.tt
@@ -57,13 +57,25 @@ @@ -57,13 +57,25 @@
57 [% IF lista_servicos %] 57 [% IF lista_servicos %]
58 <h3 id="TitServicos" class="titulos">Serviços:</h3><br> 58 <h3 id="TitServicos" class="titulos">Serviços:</h3><br>
59 <DIV ID="servicos"> 59 <DIV ID="servicos">
60 - <UL> 60 + <UL>
  61 + [% SET classe_servico = 0 %]
61 [% FOREACH servico IN lista_servicos.lista_servicos.servico %] 62 [% FOREACH servico IN lista_servicos.lista_servicos.servico %]
62 - <li>  
63 - Serviço: [% servico.nome %] - Classe: [% servico.id_classe %] [% c.prototype.link_to_remote('Ir para', { url => '/cb/atendente/iniciar_servico_interno/' _ servico.id_servico }) %]  
64 - </li> 63 + [% IF classe_servico != servico.classe %]
  64 + [% IF classe_servico != 0 %]
  65 + </UL>
  66 + </LI>
  67 + [% END %]
  68 + <LI>[% servico.classe %][% SET classe_servico = servico.classe %]
  69 + <UL>
  70 + [% END %]
  71 + <li>
  72 + [% servico.nome %]
  73 + [% c.prototype.link_to_remote('Ir para', { url => '/cb/atendente/iniciar_servico_interno/' _ servico.id_servico }) %]
  74 + </li>
65 [% END %] 75 [% END %]
66 </UL> 76 </UL>
  77 + </LI>
  78 + </UL>
67 </DIV> 79 </DIV>
68 [% END %] 80 [% END %]
69 [% END %] 81 [% END %]
@@ -72,14 +84,26 @@ @@ -72,14 +84,26 @@
72 [% IF lista_servicos_atendimento %] 84 [% IF lista_servicos_atendimento %]
73 <h3 id="TitServicos" class="titulos">Serviços:</h3><br> 85 <h3 id="TitServicos" class="titulos">Serviços:</h3><br>
74 <DIV ID="servicos"> 86 <DIV ID="servicos">
75 - <UL> 87 + <UL>
  88 + [% SET classe_servico = 0 %]
76 [% FOREACH servico IN lista_servicos_atendimento.lista_servicos.servico %] 89 [% FOREACH servico IN lista_servicos_atendimento.lista_servicos.servico %]
77 - <li>  
78 - Serviço: [% servico.nome %] - Classe: [% servico.id_classe %] [% c.prototype.link_to_remote('Iniciar Serviço', { url => '/cb/atendente/iniciar_servico_atendimento/' _ servico.id_servico }) %]  
79 - </li> 90 + [% IF classe_servico != servico.classe %]
  91 + [% IF classe_servico != 0 %]
  92 + </UL>
  93 + </LI>
  94 + [% END %]
  95 + <LI>[% servico.classe %][% SET classe_servico = servico.classe %]
  96 + <UL>
  97 + [% END %]
  98 + <li>
  99 + [% servico.nome %]
  100 + [% c.prototype.link_to_remote('Iniciar Serviço', { url => '/cb/atendente/iniciar_servico_atendimento/' _ servico.id_servico }) %]
  101 + </li>
80 [% END %] 102 [% END %]
81 </UL> 103 </UL>
82 - </DIV> 104 + </LI>
  105 + </UL>
  106 + </DIV>
83 [% END %] 107 [% END %]
84 108
85 [% END %] 109 [% END %]