Commit 83ff1d3e636477e3236c12d3ae44086bc570d0cb
1 parent
505bd57c
Exists in
master
melhora a interface da lista de servicos e servicos internos. Quando tinha muito…
…s servicos ficava inusável
Showing
3 changed files
with
46 additions
and
21 deletions
Show diff stats
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('GestaoAtendente') :DBICTransaction(' |
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 %] | ... | ... |