Commit 9a1317bd0559d3df6a12b93bf3950702b78302fa

Authored by daniel@ruoso.com
1 parent 8ba6d58f
Exists in master

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

…s servicos ficava inusável

git-svn-id: http://svn.softwarepublico.gov.br/svn/sistemadeatendimento/sistema/trunk@18 63db2ce5-8a6c-0410-abb9-a418dd412890
Fila-Servico/lib/Fila/Servico/Controller/WS/Gestao/Atendente.pm
... ... @@ -1151,17 +1151,17 @@ sub listar_servicos :WSDLPort('GestaoAtendente') :DBICTransaction('DB') :MI {
1151 1151 #pega no model todos os serviços
1152 1152 my $servicos = $c->model('DB::ServicoInterno')->search
1153 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 1158 my $lista_servicos = [];
1158 1159  
1159 1160 while (my $servico = $servicos->next) {
1160 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 1167 #retorna uma lista dos serviços
... ... @@ -1178,17 +1178,17 @@ sub listar_servicos_atendimento :WSDLPort(&#39;GestaoAtendente&#39;) :DBICTransaction(&#39;
1178 1178 #pega no model todos os serviços
1179 1179 my $servicos = $c->model('DB::Servico')->search
1180 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 1185 my $lista_servicos_atendimento = [];
1185 1186  
1186 1187 while (my $servico = $servicos->next) {
1187 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 1194 #retorna uma lista dos serviços
... ...
Fila-Servico/schemas/fila-servico.xsd
... ... @@ -215,6 +215,7 @@
215 215 <xsd:element name="id_servico" minOccurs="0" type="xsd:integer" />
216 216 <xsd:element name="id_guiche" minOccurs="0" type="xsd:integer" />
217 217 <xsd:element name="id_classe" minOccurs="0" type="xsd:integer" />
  218 + <xsd:element name="classe" minOccurs="0" type="xsd:string" />
218 219 <xsd:element name="vt_ini" minOccurs="0" type="xsd:dateTime" />
219 220 <xsd:element name="vt_fim" minOccurs="0" type="xsd:dateTime" />
220 221 <xsd:element name="nome" minOccurs="0" type="xsd:string" />
... ...
Fila-Web/root/render/status_atendente.tt
... ... @@ -57,13 +57,25 @@
57 57 [% IF lista_servicos %]
58 58 <h3 id="TitServicos" class="titulos">Serviços:</h3><br>
59 59 <DIV ID="servicos">
60   - <UL>
  60 + <UL>
  61 + [% SET classe_servico = 0 %]
61 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 75 [% END %]
66 76 </UL>
  77 + </LI>
  78 + </UL>
67 79 </DIV>
68 80 [% END %]
69 81 [% END %]
... ... @@ -72,14 +84,26 @@
72 84 [% IF lista_servicos_atendimento %]
73 85 <h3 id="TitServicos" class="titulos">Serviços:</h3><br>
74 86 <DIV ID="servicos">
75   - <UL>
  87 + <UL>
  88 + [% SET classe_servico = 0 %]
76 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 102 [% END %]
81 103 </UL>
82   - </DIV>
  104 + </LI>
  105 + </UL>
  106 + </DIV>
83 107 [% END %]
84 108  
85 109 [% END %]
... ...