Commit 5a70f0629c4193a79f21d91b935fdb9d87df1cfb

Authored by EdmilsonSantana
2 parents 07eb7d04 2d5994a2

Merge branch 'master' of http://ggas.com.br/root/ggas_mantenedor into MANTENEDOR_HOTFIX_1764

Showing 36 changed files with 2620 additions and 2133 deletions   Show diff stats
sql/GGAS_Ver-2.10.36_Seq-015_orube.sql 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +UPDATE MENU SET MENU_DS_URL = 'exibirPesquisaImovelConsultaHistoricoLeituraConsumo' WHERE MENU_DS_URL LIKE 'exibirPesquisaImovelConsultaHistoricoLeituraConsumo.do?acao=exibirPesquisaImovelConsultaHistoricoLeituraConsumo%tela=imovelConsultaHistoricoLeituraConsumo';
  2 +
  3 +UPDATE RECURSO_SISTEMA SET RESI_DS = 'exibirHistoricoLeituraConsumoImovel' WHERE RESI_DS LIKE 'exibirHistoricoLeituraConsumoImovel.do';
  4 +UPDATE RECURSO_SISTEMA SET RESI_DS = 'exibirPesquisaImovelConsultaHistoricoLeituraConsumo' WHERE RESI_DS LIKE 'exibirPesquisaImovelConsultaHistoricoLeituraConsumo.do';
  5 +UPDATE RECURSO_SISTEMA SET RESI_DS = 'pesquisaImovelConsultaHistoricoLeituraConsumo' WHERE RESI_DS LIKE 'pesquisaImovelConsultaHistoricoLeituraConsumo.do';
  6 +
  7 +COMMIT;
0 8 \ No newline at end of file
... ...
src/main/java/br/com/ggas/medicao/leitura/impl/ControladorHistoricoMedicaoImpl.java
... ... @@ -297,9 +297,12 @@ class ControladorHistoricoMedicaoImpl extends ControladorNegocioImpl implements
297 297 StringBuilder hql = new StringBuilder();
298 298 hql.append(FROM);
299 299 hql.append(getClasseEntidade().getSimpleName());
300   - hql.append(" historico where ");
  300 + hql.append(" historico ");
  301 + hql.append(" inner join fetch historico.pontoConsumo as pontoConsumo ");
  302 + hql.append(" left join fetch pontoConsumo.rota as rota ");
  303 + hql.append(" where ");
301 304 hql.append(" historico.pontoConsumo.chavePrimaria = ?");
302   -
  305 +
303 306 hql.append(" and historico.chavePrimaria = (select MAX(h.chavePrimaria) ");
304 307 hql.append(FROM);
305 308 hql.append(getClasseEntidade().getSimpleName());
... ... @@ -344,9 +347,10 @@ class ControladorHistoricoMedicaoImpl extends ControladorNegocioImpl implements
344 347 hql.append(FROM);
345 348 hql.append(getClasseEntidade().getSimpleName());
346 349 hql.append(HISTORICO);
  350 + hql.append(" inner join fetch historico.pontoConsumo as pontoConsumo ");
  351 + hql.append(" left join fetch pontoConsumo.rota as rota ");
347 352 hql.append(WHERE);
348   - hql.append(" historico.pontoConsumo.chavePrimaria = ?");
349   -
  353 + hql.append(" pontoConsumo.chavePrimaria = ?");
350 354 hql.append(" and historico.chavePrimaria = (select MAX(h.chavePrimaria) ");
351 355 hql.append(FROM);
352 356 hql.append(getClasseEntidade().getSimpleName());
... ...
src/main/java/br/com/ggas/web/contrato/programacao/ProgramacaoConsumoAction.java
... ... @@ -684,9 +684,8 @@ public class ProgramacaoConsumoAction extends GenericAction {
684 684 *
685 685 * @param solicitacao {@link SolicitacaoConsumoPontoConsumo}
686 686 * @return SolicitacaoConsumoPontoConsumoVO {@link SolicitacaoConsumoPontoConsumoVO}
687   - * @throws GGASException {@link GGASException}
688 687 */
689   - private SolicitacaoConsumoPontoConsumoVO converterSolicitacaoConsumo(SolicitacaoConsumoPontoConsumo solicitacao) throws GGASException {
  688 + private SolicitacaoConsumoPontoConsumoVO converterSolicitacaoConsumo(SolicitacaoConsumoPontoConsumo solicitacao){
690 689  
691 690 SolicitacaoConsumoPontoConsumoVO solicitacaoVO = new SolicitacaoConsumoPontoConsumoVO();
692 691  
... ...
src/main/java/br/com/ggas/web/integracao/supervisorio/ValidaMedicaoSupervisorioAction.java
... ... @@ -360,11 +360,6 @@ public class ValidaMedicaoSupervisorioAction extends GenericAction {
360 360 @RequestMapping("exibirPesquisaMedicaoSupervisorio")
361 361 public String exibirPesquisaMedicaoSupervisorio(ValidaMedicaoSupervisorioVO validaMedicaoSupervisorioVO, BindingResult bindingResult,
362 362 HttpServletRequest request, Model model) throws GGASException {
363   -
364   -
365   - removerDadosSessao(request);
366   -
367   - request.getSession().getAttribute(LISTA_SUPERVISORIO_MEDICAO_HORARIA_VO);
368 363  
369 364 carregarCampos(validaMedicaoSupervisorioVO, model);
370 365  
... ... @@ -378,28 +373,6 @@ public class ValidaMedicaoSupervisorioAction extends GenericAction {
378 373 }
379 374  
380 375 /**
381   - * Método responsável por Remove dados da sessão
382   - *
383   - * @param request
384   - */
385   - private void removerDadosSessao(HttpServletRequest request) {
386   -
387   - request.getSession().removeAttribute(LISTA_SUPERVISORIO_MEDICAO_HORARIA_VO);
388   - request.getSession().removeAttribute(LISTA_SUPERVISORIO_MEDICAO_DIARIA_MI);
389   - request.getSession().removeAttribute(LISTA_SUPERVISORIO_MEDICAO_DIARIA);
390   - request.getSession().removeAttribute(REGISTROS_SALVOS);
391   - request.getSession().removeAttribute(REGISTROS_ALTERADOS);
392   - request.getSession().removeAttribute(REGISTROS_REMOCAO_LOGICA_HORARIA);
393   - request.getSession().removeAttribute(REGISTROS_REMOCAO_LOGICA);
394   - request.getSession().removeAttribute(REGISTROS_INDICADOR_PROCESSADO_HORARIA);
395   - request.getSession().removeAttribute(REGISTROS_INDICADOR_PROCESSADO);
396   - request.getSession().removeAttribute(PARAMETRO_TIPO_INTEGRACAO_SUPERVISORIOS);
397   - request.getSession().removeAttribute(PARAMETRO_EXIBE_COLUNAS_SUPERVISORIO);
398   - request.getSession().removeAttribute(REGISTROS_SOMENTE_LEITURA);
399   -
400   - }
401   -
402   - /**
403 376 * Método responsável por verificar se foi passado algum parâmetro que precisa acessar um ponto consumo.
404 377 *
405 378 * @param filtro {@link Map}
... ...
src/main/java/br/com/ggas/web/medicao/leitura/ConsultarHistoricoLeituraMedicaoAction.java
... ... @@ -37,6 +37,7 @@
37 37  
38 38 package br.com.ggas.web.medicao.leitura;
39 39  
  40 +import java.io.IOException;
40 41 import java.math.BigDecimal;
41 42 import java.math.RoundingMode;
42 43 import java.util.ArrayList;
... ... @@ -47,36 +48,67 @@ import java.util.HashMap;
47 48 import java.util.List;
48 49 import java.util.Map;
49 50  
  51 +import javax.servlet.ServletOutputStream;
50 52 import javax.servlet.http.HttpServletRequest;
51 53 import javax.servlet.http.HttpServletResponse;
52 54  
53 55 import org.apache.commons.lang.StringUtils;
54   -import org.apache.struts.action.ActionForm;
55   -import org.apache.struts.action.ActionForward;
56   -import org.apache.struts.action.ActionMapping;
57   -import org.apache.struts.action.DynaActionForm;
58 56 import org.joda.time.DateTime;
59   -
  57 +import org.springframework.beans.factory.annotation.Autowired;
  58 +import org.springframework.stereotype.Controller;
  59 +import org.springframework.ui.Model;
  60 +import org.springframework.validation.BindingResult;
  61 +import org.springframework.web.bind.annotation.RequestMapping;
  62 +import org.springframework.web.bind.annotation.RequestParam;
  63 +
  64 +import br.com.ggas.cadastro.imovel.ControladorImovel;
  65 +import br.com.ggas.cadastro.imovel.ControladorPontoConsumo;
60 66 import br.com.ggas.cadastro.imovel.Imovel;
61 67 import br.com.ggas.cadastro.imovel.PontoConsumo;
  68 +import br.com.ggas.constantesistema.ControladorConstanteSistema;
62 69 import br.com.ggas.geral.Mes;
  70 +import br.com.ggas.geral.apresentacao.GenericAction;
63 71 import br.com.ggas.geral.exception.GGASException;
  72 +import br.com.ggas.geral.exception.NegocioException;
  73 +import br.com.ggas.medicao.consumo.ControladorHistoricoConsumo;
64 74 import br.com.ggas.medicao.consumo.HistoricoConsumo;
  75 +import br.com.ggas.medicao.leitura.ControladorHistoricoMedicao;
65 76 import br.com.ggas.medicao.leitura.HistoricoMedicao;
66 77 import br.com.ggas.medicao.leitura.MedicaoHistoricoComentario;
67 78 import br.com.ggas.medicao.medidor.Medidor;
  79 +import br.com.ggas.medicao.rota.ControladorRota;
  80 +import br.com.ggas.parametrosistema.ControladorParametroSistema;
  81 +import br.com.ggas.relatorio.ControladorRelatorioConsumoClienteMedidor;
68 82 import br.com.ggas.util.Constantes;
69   -import br.com.ggas.util.DispatchAction;
  83 +import br.com.ggas.util.FormatoImpressao;
70 84 import br.com.ggas.util.Util;
  85 +import br.com.ggas.web.cadastro.cliente.ClientePopupVO;
  86 +
  87 +/**
  88 + * Classe controladora responsável por gerenciar os eventos e acionar as classes
  89 + * e seus respectivos metodos relacionados as regras de negócio e de modelo
  90 + * realizando alterações nas informações das telas referentes a funcionalidade
  91 + * Histórico de Leitura e Consumo.
  92 + */
  93 +@Controller
  94 +public class ConsultarHistoricoLeituraMedicaoAction extends GenericAction {
  95 +
  96 + private static final String EXIBIR_FILTROS = "exibirFiltros";
  97 +
  98 + private static final String EXIBIR_HISTORICO_LEITURA_CONSUMO_IMOVEL = "exibirHistoricoLeituraConsumoImovel";
71 99  
72   -public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
  100 + private static final String CLIENTE_POPUP_VO = "clientePopupVO";
  101 +
  102 + private static final String HISTORICO_LEITURA_CONSUMO_VO = "historicoLeituraConsumoVO";
  103 +
  104 + private static final String INFORMAR_FILTRO_CLIENTE_IMOVEL_GRUPO_FATURAMENTO = "INFORMAR_FILTRO_CLIENTE_IMOVEL_GRUPO_FATURAMENTO";
73 105  
74 106 private static final String ID_MEDIDOR = "idMedidor";
75 107  
76 108 private static final String LISTA_HIST_CONSUMO_MEDIDOR = "listaHistConsumoMedidor";
77 109  
78 110 private static final String MEDIDOR = "medidor";
79   -
  111 +
80 112 private static final String MODO_USO_VIRTUAL = "modoUsoVirtual";
81 113  
82 114 private static final String MODO_USO_NORMAL = "modoUsoNormal";
... ... @@ -89,10 +121,6 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
89 121  
90 122 private static final String NUMERO_CICLO = "numeroCiclo";
91 123  
92   - private static final String CHAVE_PRIMARIA_HISTORICO_CONSUMO = "chavePrimariaHistoricoConsumo";
93   -
94   - private static final String ANO_MES_LEITURA = "anoMesLeitura";
95   -
96 124 private static final String LAZY_INSTALACAO_MEDIDOR = "instalacaoMedidor";
97 125  
98 126 private static final String LAZY_ROTA_EMPRESA = "rota.empresa";
... ... @@ -113,10 +141,8 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
113 141  
114 142 private static final String LISTA_PONTOS_CONSUMO = "listaPontosConsumo";
115 143  
116   - private static final String[] LAZY_LISTA_PONTO_CONSUMO =
117   - new String[] {"listaPontoConsumo", "quadraFace", "quadraFace.endereco", "quadraFace.endereco.cep", "quadra"};
118   -
119   - private static final String ID_IMOVEL = "idImovel";
  144 + private static final String[] LAZY_LISTA_PONTO_CONSUMO = new String[] { "listaPontoConsumo", "quadraFace",
  145 + "quadraFace.endereco", "quadraFace.endereco.cep", "quadra" };
120 146  
121 147 private static final String LISTA_MESES_ANO = "listaMesesAno";
122 148  
... ... @@ -150,254 +176,294 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
150 176  
151 177 private static final String PONTO_CONSUMO_LEGADO = "pontoConsumoLegado";
152 178  
  179 + @Autowired
  180 + private ControladorHistoricoConsumo controladorHistoricoConsumo;
  181 +
  182 + @Autowired
  183 + private ControladorRota controladorRota;
  184 +
  185 + @Autowired
  186 + private ControladorImovel controladorImovel;
  187 +
  188 + @Autowired
  189 + private ControladorParametroSistema controladorParametroSistema;
  190 +
  191 + @Autowired
  192 + private ControladorPontoConsumo controladorPontoConsumo;
  193 +
  194 + @Autowired
  195 + private ControladorHistoricoMedicao controladorHistoricoMedicao;
  196 +
  197 + @Autowired
  198 + private ControladorConstanteSistema controladorConstanteSistema;
  199 +
  200 + @Autowired
  201 + private ControladorRelatorioConsumoClienteMedidor controladorRelatorioConsumoClienteMedidor;
  202 +
153 203 /**
154   - * Método responsável por exibir a tela de
155   - * pesquisar imóvel.
  204 + * Método responsável por exibir a tela de pesquisar imóvel.
  205 + *
  206 + * @param model - {@link Model}
  207 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  208 + * @param bindingResult - {@link BindingResult}
  209 + * @return view - {@link String}
  210 + * @throws GGASException - {@link GGASException}
156 211 *
157   - * @param mapping
158   - * the mapping
159   - * @param form
160   - * O formulário
161   - * @param request
162   - * O objeto request
163   - * @param response
164   - * O objeto response
165   - * @return ActionForward O retorno da ação
166   - * @throws Exception
167   - * Caso ocorra algum erro
168 212 */
169   - public ActionForward exibirPesquisaImovelConsultaHistoricoLeituraConsumo(ActionMapping mapping, ActionForm form,
170   - HttpServletRequest request, HttpServletResponse response) throws Exception {
  213 + @RequestMapping("exibirPesquisaImovelConsultaHistoricoLeituraConsumo")
  214 + public String exibirPesquisaImovelConsultaHistoricoLeituraConsumo(Model model, HistoricoLeituraConsumoVO historicoLeituraConsumoVO,
  215 + BindingResult bindingResult) throws GGASException {
171 216  
172   - DynaActionForm dynaForm = (DynaActionForm) form;
  217 + this.configurarPesquisaImovelHistoricoLeituraMedicao(historicoLeituraConsumoVO, model);
173 218  
174   - this.configurarPesquisaImovelHistoricoLeituraMedicao(dynaForm, request);
  219 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
175 220  
176   - return mapping.findForward(FORWARD_SUCESSO);
  221 + return "exibirPesquisaImovelConsultaHistoricoLeituraMedicao";
177 222 }
178 223  
179 224 /**
180   - * Método responsável por pesquisar todos os
181   - * imoveis que possuem historico de leitura e
182   - * medicao.
  225 + * Método responsável por pesquisar todos os imoveis que possuem historico de
  226 + * leitura e medicao.
183 227 *
184   - * @param mapping
185   - * the mapping
186   - * @param form
187   - * the form
188   - * @param request
189   - * the request
190   - * @param response
191   - * the response
192   - * @return ActionForward O retorno da ação
193   - * @throws Exception
194   - * the exception
  228 + * @param model - {@link Model}
  229 + * @param request - {@link HttpServletRequest}
  230 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  231 + * @param clientePopupVO - {@link ClientePopupVO}
  232 + * @param bindingResult - {@link BindingResult}
  233 + * @return view - {@link String}
  234 + * @throws GGASException - {@link GGASException}
195 235 */
196   - public ActionForward pesquisaImovelConsultaHistoricoLeituraConsumo(ActionMapping mapping, ActionForm form, HttpServletRequest request,
197   - HttpServletResponse response) throws Exception {
  236 + @RequestMapping("pesquisaImovelConsultaHistoricoLeituraConsumo")
  237 + public String pesquisaImovelConsultaHistoricoLeituraConsumo(Model model, HttpServletRequest request,
  238 + HistoricoLeituraConsumoVO historicoLeituraConsumoVO, ClientePopupVO clientePopupVO, BindingResult bindingResult)
  239 + throws GGASException {
  240 +
  241 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  242 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
198 243  
199   - DynaActionForm dynaForm = (DynaActionForm) form;
  244 + try {
  245 + Map<String, Object> filtro = this.obterFiltroPesquisaImovelHistoricoLeituraMedicao(historicoLeituraConsumoVO, clientePopupVO);
200 246  
201   - Map<String, Object> filtro = this.obterFiltroPesquisaImovelHistoricoLeituraMedicao(dynaForm);
202   - this.validarCampos(dynaForm);
203   - super.adicionarFiltroPaginacao(request, filtro);
  247 + this.validarCampos(historicoLeituraConsumoVO, clientePopupVO);
204 248  
205   - Collection<Imovel> imoveis = fachada.pesquisarImovelHistoricoLeituraConsumo(filtro);
  249 + super.adicionarFiltroPaginacao(request, filtro);
206 250  
207   - request.setAttribute(LISTA_IMOVEIS, imoveis);
  251 + Collection<Imovel> imoveis = controladorHistoricoConsumo.pesquisarImovelHistoricoLeituraConsumo(filtro);
208 252  
209   - this.configurarPesquisaImovelHistoricoLeituraMedicao(dynaForm, request);
  253 + model.addAttribute(LISTA_IMOVEIS, imoveis);
210 254  
211   - return mapping.findForward(FORWARD_SUCESSO);
  255 + this.configurarPesquisaImovelHistoricoLeituraMedicao(historicoLeituraConsumoVO, model);
  256 +
  257 + } catch (GGASException e) {
  258 + super.mensagemErroParametrizado(model, request, e);
  259 + }
  260 +
  261 + return exibirPesquisaImovelConsultaHistoricoLeituraConsumo(model, historicoLeituraConsumoVO, bindingResult);
212 262 }
213 263  
214 264 /**
215   - * Configurar pesquisa imovel historico leitura medicao.
216   - *
217   - * @param dynaForm
218   - * the dyna form
219   - * @param request
220   - * the request
221   - * @throws Exception
222   - * the exception
  265 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  266 + * @param model - {@link Model}
  267 + * @throws GGASException - {@link GGASException}
223 268 */
224   - private void configurarPesquisaImovelHistoricoLeituraMedicao(DynaActionForm dynaForm, HttpServletRequest request) throws Exception {
  269 + private void configurarPesquisaImovelHistoricoLeituraMedicao(HistoricoLeituraConsumoVO historicoLeituraConsumoVO, Model model)
  270 + throws GGASException {
225 271  
226   - Long idGrupoFaturamento = (Long) dynaForm.get(ID_GRUPO_FATURAMENTO);
227   -
228   - request.setAttribute(LISTA_GRUPO_FATURAMENTO, fachada.listarGruposFaturamentoRotas());
  272 + model.addAttribute(LISTA_GRUPO_FATURAMENTO, controladorRota.listarGruposFaturamentoRotas());
229 273  
  274 + Long idGrupoFaturamento = historicoLeituraConsumoVO.getIdGrupoFaturamento();
230 275 if (idGrupoFaturamento != null && idGrupoFaturamento > 0) {
231   - request.setAttribute("listaRota", fachada.listarRotasPorGrupoFaturamento(idGrupoFaturamento));
  276 + model.addAttribute("listaRota", controladorRota.listarRotasPorGrupoFaturamento(idGrupoFaturamento));
232 277 }
233 278  
234 279 }
235 280  
236 281 /**
237   - * Obter filtro pesquisa imovel historico leitura medicao.
  282 + * Preparar filtro
238 283 *
239   - * @param dynaForm
240   - * the dyna form
241   - * @return the map
242   - * @throws Exception
243   - * the exception
  284 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  285 + * @param clientePopupVO - {@link ClientePopupVO}
  286 + * @return filtro - {@link Map}
244 287 */
245   - private Map<String, Object> obterFiltroPesquisaImovelHistoricoLeituraMedicao(DynaActionForm dynaForm) throws Exception {
246   -
247   - Long idCliente = (Long) dynaForm.get(ID_CLIENTE);
248   - String nome = (String) dynaForm.get(NOME);
249   - String complementoImovel = (String) dynaForm.get(COMPLEMENTO_IMOVEL);
250   - String matricula = (String) dynaForm.get(MATRICULA);
251   - String numeroImovel = (String) dynaForm.get(NUMERO_IMOVEL);
252   - String indicadorCondominioAmbos = (String) dynaForm.get(INDICADOR_CONDOMINIO_AMBOS);
253   - String habilitado = (String) dynaForm.get(HABILITADO);
254   - String cepImovel = (String) dynaForm.get(CEP_IMOVEL);
255   - Long idGrupoFaturamento = (Long) dynaForm.get(ID_GRUPO_FATURAMENTO);
256   - Long idRota = (Long) dynaForm.get(ID_ROTA);
  288 + private Map<String, Object> obterFiltroPesquisaImovelHistoricoLeituraMedicao(HistoricoLeituraConsumoVO historicoLeituraConsumoVO,
  289 + ClientePopupVO clientePopupVO) {
257 290  
258 291 Map<String, Object> filtro = new HashMap<String, Object>();
259 292  
260   - if (idCliente != null && idCliente > 0) {
261   - filtro.put(ID_CLIENTE, idCliente);
  293 + if (clientePopupVO.getIdCliente() != null && clientePopupVO.getIdCliente() > 0) {
  294 + filtro.put(ID_CLIENTE, clientePopupVO.getIdCliente());
262 295 }
263 296  
264   - if (!StringUtils.isEmpty(nome)) {
265   - filtro.put(NOME, nome);
  297 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getNome())) {
  298 + filtro.put(NOME, historicoLeituraConsumoVO.getNome());
266 299 }
267 300  
268   - if (!StringUtils.isEmpty(complementoImovel)) {
269   - filtro.put(COMPLEMENTO_IMOVEL, complementoImovel);
  301 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getComplementoImovel())) {
  302 + filtro.put(COMPLEMENTO_IMOVEL, historicoLeituraConsumoVO.getComplementoImovel());
270 303 }
271 304  
272   - if (!StringUtils.isEmpty(matricula) && StringUtils.isNumeric(matricula)) {
273   - filtro.put(MATRICULA, matricula);
  305 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getMatricula())
  306 + && StringUtils.isNumeric(historicoLeituraConsumoVO.getMatricula())) {
  307 + filtro.put(MATRICULA, historicoLeituraConsumoVO.getMatricula());
274 308 }
275 309  
276   - if (!StringUtils.isEmpty(numeroImovel)) {
277   - filtro.put(NUMERO_IMOVEL, numeroImovel);
  310 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getNumeroImovel())) {
  311 + filtro.put(NUMERO_IMOVEL, historicoLeituraConsumoVO.getNumeroImovel());
278 312 }
279 313  
280   - if (!StringUtils.isEmpty(indicadorCondominioAmbos)) {
281   - filtro.put(INDICADOR_CONDOMINIO_AMBOS, indicadorCondominioAmbos);
  314 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getIndicadorCondominioAmbos())) {
  315 + filtro.put(INDICADOR_CONDOMINIO_AMBOS, historicoLeituraConsumoVO.getIndicadorCondominioAmbos());
282 316 }
283 317  
284   - if (!StringUtils.isEmpty(habilitado)) {
285   - filtro.put(HABILITADO, habilitado);
  318 + prepararFiltroDois(historicoLeituraConsumoVO, filtro);
  319 +
  320 + return filtro;
  321 + }
  322 +
  323 + /**
  324 + * Preparar filtro Dois
  325 + *
  326 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  327 + * @param filtro - {@link Map}
  328 + */
  329 + private void prepararFiltroDois(HistoricoLeituraConsumoVO historicoLeituraConsumoVO, Map<String, Object> filtro) {
  330 +
  331 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getHabilitado())) {
  332 + filtro.put(HABILITADO, historicoLeituraConsumoVO.getHabilitado());
286 333 }
287 334  
288   - if (!StringUtils.isEmpty(cepImovel)) {
289   - filtro.put(CEP_IMOVEL, cepImovel);
  335 + if (!StringUtils.isEmpty(historicoLeituraConsumoVO.getCepImovel())) {
  336 + filtro.put(CEP_IMOVEL, historicoLeituraConsumoVO.getCepImovel());
290 337 }
291 338  
292   - if (idGrupoFaturamento != null && idGrupoFaturamento > 0) {
293   - filtro.put(ID_GRUPO_FATURAMENTO, idGrupoFaturamento);
  339 + if (historicoLeituraConsumoVO.getIdGrupoFaturamento() != null && historicoLeituraConsumoVO.getIdGrupoFaturamento() > 0) {
  340 + filtro.put(ID_GRUPO_FATURAMENTO, historicoLeituraConsumoVO.getIdGrupoFaturamento());
294 341 }
295 342  
296   - if (idRota != null && idRota > 0) {
297   - filtro.put(ID_ROTA, idRota);
  343 + if (historicoLeituraConsumoVO.getIdRota() != null && historicoLeituraConsumoVO.getIdRota() > 0) {
  344 + filtro.put(ID_ROTA, historicoLeituraConsumoVO.getIdRota());
298 345 }
299 346  
300   - String idPontoConsumoLegado = (String) dynaForm.get(PONTO_CONSUMO_LEGADO);
  347 + String idPontoConsumoLegado = historicoLeituraConsumoVO.getPontoConsumoLegado();
301 348 if (!StringUtils.isEmpty(idPontoConsumoLegado) && idPontoConsumoLegado != null) {
302 349 filtro.put(PONTO_CONSUMO_LEGADO, idPontoConsumoLegado);
303 350 }
304   -
305   - return filtro;
  351 +
306 352 }
307 353  
308 354 /**
309   - * Método responsável por exibir o histórico
310   - * leitura e medição do imóvel.
  355 + * Método responsável por exibir o histórico leitura e medição do imóvel.
311 356 *
312   - * @param mapping
313   - * the mapping
314   - * @param form
315   - * O formulário
316   - * @param request
317   - * O objeto request
318   - * @param response
319   - * O objeto response
320   - * @return ActionForward O retorno da ação
321   - * @throws Exception
322   - * Caso ocorra algum erro
  357 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  358 + * @param clientePopupVO - {@link ClientePopupVO}
  359 + * @param bindingResult - {@link BindingResult}
  360 + * @param model - {@link Model}
  361 + * @param request - {@link HttpServletRequest}
  362 + * @return view - {@link String}
323 363 */
324   - public ActionForward exibirHistoricoLeituraConsumoImovel(ActionMapping mapping, ActionForm form, HttpServletRequest request,
325   - HttpServletResponse response) throws Exception {
  364 + @RequestMapping(EXIBIR_HISTORICO_LEITURA_CONSUMO_IMOVEL)
  365 + public String exibirHistoricoLeituraConsumoImovel(HistoricoLeituraConsumoVO historicoLeituraConsumoVO, ClientePopupVO clientePopupVO,
  366 + BindingResult bindingResult, Model model, HttpServletRequest request) {
  367 +
  368 + Long idImovel = historicoLeituraConsumoVO.getIdImovel();
  369 +
  370 + String view = EXIBIR_HISTORICO_LEITURA_CONSUMO_IMOVEL;
  371 +
  372 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  373 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
326 374  
327   - DynaActionForm dynaForm = (DynaActionForm) form;
328   - Long idImovel = (Long) dynaForm.get(ID_IMOVEL);
329   - ActionForward actionForward = mapping.findForward(FORWARD_SUCESSO);
330 375 Imovel imovel = null;
331 376  
332   - if (idImovel != null && idImovel > 0) {
  377 + try {
  378 + if (idImovel != null && idImovel > 0) {
  379 +
  380 + imovel = (Imovel) controladorImovel.obter(idImovel, LAZY_LISTA_PONTO_CONSUMO);
  381 + Collection<PontoConsumo> listaPontosConsumo = this.consultarPontosConsumoImovel(imovel);
  382 + controladorImovel.validarImovelSemPontoConsumo(listaPontosConsumo);
  383 + listaPontosConsumo = controladorHistoricoConsumo.removerPontosConsumoDaListaSemHistoricoConsumo(listaPontosConsumo);
  384 + Collection<PontoConsumoVO> listaPontosConsumoVO = this.montarListaPontosConsumoVo(listaPontosConsumo);
  385 +
  386 + if (listaPontosConsumoVO != null && !listaPontosConsumoVO.isEmpty()) {
  387 + historicoLeituraConsumoVO
  388 + .setIdPontoConsumo(listaPontosConsumoVO.iterator().next().getPontoConsumo().getChavePrimaria());
  389 + view = this.exibirHistoricoMedicaoConsumoPonto(historicoLeituraConsumoVO, bindingResult, clientePopupVO, model,
  390 + request);
  391 + } else {
  392 + request.setAttribute(LISTA_PONTOS_CONSUMO, listaPontosConsumoVO);
  393 + }
333 394  
334   - imovel = fachada.buscarImovelPorChave(idImovel, LAZY_LISTA_PONTO_CONSUMO);
335   - Collection<PontoConsumo> listaPontosConsumo = this.consultarPontosConsumoImovel(imovel);
336   - fachada.validarImovelSemPontoConsumo(listaPontosConsumo);
337   - listaPontosConsumo = fachada.removerPontosConsumoDaListaSemHistoricoConsumo(listaPontosConsumo);
338   - Collection<PontoConsumoVO> listaPontosConsumoVO = this.montarListaPontosConsumoVo(listaPontosConsumo);
339   -
340   - if (listaPontosConsumoVO != null && !listaPontosConsumoVO.isEmpty()) {
341   - dynaForm.set(ID_PONTO_CONSUMO, listaPontosConsumoVO.iterator().next().getPontoConsumo().getChavePrimaria());
342   - dynaForm.set(ID_IMOVEL, imovel.getChavePrimaria());
343   - actionForward = this.exibirHistoricoMedicaoConsumoPonto(mapping, form, request, response);
344   - } else {
345   - request.setAttribute(LISTA_PONTOS_CONSUMO, listaPontosConsumoVO);
346 395 }
347 396  
  397 + model.addAttribute(IMOVEL, imovel);
  398 + model.addAttribute(LISTA_ANOS, listarAnos());
  399 + model.addAttribute(LISTA_MESES_ANO, Mes.MESES_ANO);
  400 + } catch (GGASException e) {
  401 + super.mensagemErroParametrizado(model, request, e);
348 402 }
349 403  
350   - request.setAttribute(IMOVEL, imovel);
351   - request.setAttribute(LISTA_ANOS, listarAnos());
352   - request.setAttribute(LISTA_MESES_ANO, Mes.MESES_ANO);
353   -
354   - return actionForward;
  404 + return view;
355 405 }
356 406  
357 407 /**
358   - * Método responsável por exibir o histórico
359   - * leitura e medição do imóvel.
  408 + * Método responsável por exibir o histórico leitura e medição do imóvel.
360 409 *
361   - * @param mapping
362   - * the mapping
363   - * @param form
364   - * O formulário
365   - * @param request
366   - * O objeto request
367   - * @param response
368   - * O objeto response
369   - * @return ActionForward O retorno da ação
370   - * @throws Exception
371   - * Caso ocorra algum erro
  410 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  411 + * @param bindingResult - {@link BindingResult}
  412 + * @param clientePopupVO - {@link ClientePopupVO}
  413 + * @param model - {@link Model}
  414 + * @param request - {@link String}
  415 + * @return view - {@link String}
  416 + * @throws GGASException
372 417 */
373   - public ActionForward exibirHistoricoMedicaoConsumoPonto(ActionMapping mapping, ActionForm form, HttpServletRequest request,
374   - HttpServletResponse response) throws Exception {
375   -
376   - DynaActionForm dynaForm = (DynaActionForm) form;
377   - Long idPontoConsumo = (Long) dynaForm.get(ID_PONTO_CONSUMO);
378   - Long idImovel = (Long) dynaForm.get(ID_IMOVEL);
  418 + @RequestMapping("exibirHistoricoMedicaoConsumoPonto")
  419 + public String exibirHistoricoMedicaoConsumoPonto(HistoricoLeituraConsumoVO historicoLeituraConsumoVO, BindingResult bindingResult,
  420 + ClientePopupVO clientePopupVO, Model model, HttpServletRequest request) throws GGASException {
379 421  
380   - String mesInicial = (String) dynaForm.get("mesInicial");
381   - String anoInicial = (String) dynaForm.get("anoInicial");
382   - String mesFinal = (String) dynaForm.get("mesFinal");
383   - String anoFinal = (String) dynaForm.get("anoFinal");
  422 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  423 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
384 424  
385 425 String referenciaInicial = null;
386 426 String referenciaFinal = null;
387   -
388   - if (!super.isPostBack(request)) {
389   - referenciaInicial = fachada.obterReferenciaInicial(anoInicial, mesInicial);
390   - referenciaFinal = fachada.obterReferenciaFinal(anoFinal, mesFinal);
391   - fachada.validarIntervaloReferencia(referenciaInicial, referenciaFinal);
392   - fachada.validarIntervaloDatas(mesInicial, anoInicial, mesFinal, anoFinal);
  427 + String mesInicial = historicoLeituraConsumoVO.getMesInicial();
  428 + String anoInicial = historicoLeituraConsumoVO.getAnoInicial();
  429 + String mesFinal = historicoLeituraConsumoVO.getMesFinal();
  430 + String anoFinal = historicoLeituraConsumoVO.getAnoFinal();
  431 + Long idPontoConsumo = historicoLeituraConsumoVO.getIdPontoConsumo();
  432 + Long idImovel = historicoLeituraConsumoVO.getIdImovel();
  433 +
  434 + try {
  435 + if (!super.isPostBack(request)) {
  436 + controladorHistoricoConsumo.validarIntervaloDatas(mesInicial, anoInicial, mesFinal, anoFinal);
  437 + referenciaInicial = controladorHistoricoConsumo.obterReferenciaInicial(anoInicial, mesInicial);
  438 + referenciaFinal = controladorHistoricoConsumo.obterReferenciaFinal(anoFinal, mesFinal);
  439 + controladorHistoricoConsumo.validarIntervaloReferencia(referenciaInicial, referenciaFinal);
  440 + }
  441 + } catch (GGASException e) {
  442 + super.mensagemErroParametrizado(model, request, e);
393 443 }
  444 +
  445 + exibirHistoricoMedicaoDePontoDeConsumo(model, idPontoConsumo, idImovel, referenciaInicial, referenciaFinal);
394 446  
  447 +
  448 + return EXIBIR_HISTORICO_LEITURA_CONSUMO_IMOVEL;
  449 + }
  450 +
  451 + /**
  452 + * @param model - {@link Model}
  453 + * @param idPontoConsumo - {@link Long}
  454 + * @param idImovel - {@link Long}
  455 + * @param referenciaInicial - {@link String}
  456 + * @param referenciaFinal - {@link String}
  457 + * @throws GGASException - {@link GGASException}
  458 + */
  459 + private void exibirHistoricoMedicaoDePontoDeConsumo(Model model, Long idPontoConsumo, Long idImovel, String referenciaInicial,
  460 + String referenciaFinal) throws GGASException {
395 461 PontoConsumo pontoConsumo = null;
396 462 Integer numeroCiclos = null;
397 463  
398 464 if (idPontoConsumo != null && idPontoConsumo > 0) {
399 465  
400   - pontoConsumo = fachada.buscarPontoConsumoPorChave(idPontoConsumo, "rota.grupoFaturamento");
  466 + pontoConsumo = (PontoConsumo) controladorPontoConsumo.obter(idPontoConsumo, LAZY_ROTA_GRUPO_FATURAMENTO);
401 467  
402 468 // se referencia não foi informada,
403 469 // buscar intervalo
... ... @@ -412,7 +478,8 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
412 478 }
413 479  
414 480 if (anoMesReferencia == null || StringUtils.isEmpty(anoMesReferencia) || Integer.parseInt(anoMesReferencia) == 0) {
415   - anoMesReferencia = (String) fachada.obterValorDoParametroPorCodigo(Constantes.PARAMETRO_REFERENCIA_FATURAMENTO);
  481 + anoMesReferencia = (String) controladorParametroSistema
  482 + .obterValorDoParametroPorCodigo(Constantes.PARAMETRO_REFERENCIA_FATURAMENTO);
416 483 }
417 484  
418 485 numeroCiclos = pontoConsumo.getSegmento().getNumeroCiclos();
... ... @@ -423,25 +490,25 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
423 490 }
424 491 if (numeroCiclos != null) {
425 492  
426   - request.setAttribute(PONTO_CONSUMO, pontoConsumo);
427   - Collection<HistoricoMedicao> listaHistoricoMedicao = fachada.consultarHistoricoAgrupadoMedicao(
428   - pontoConsumo.getChavePrimaria(), referenciaInicial, referenciaFinal, numeroCiclos);
429   - request.setAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
430   - Collection<HistoricoConsumo> listaHistoricoConsumo = fachada.consultarHistoricoConsumo(pontoConsumo.getChavePrimaria(),
431   - true, referenciaInicial, referenciaFinal, numeroCiclos);
  493 + model.addAttribute(PONTO_CONSUMO, pontoConsumo);
  494 + Collection<HistoricoMedicao> listaHistoricoMedicao = controladorHistoricoMedicao.consultarHistoricoAgrupadoMedicao(
  495 + pontoConsumo.getChavePrimaria(), referenciaInicial, referenciaFinal, numeroCiclos);
  496 + model.addAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
  497 + Collection<HistoricoConsumo> listaHistoricoConsumo = controladorHistoricoConsumo
  498 + .consultarHistoricoConsumo(pontoConsumo.getChavePrimaria(), true, referenciaInicial, referenciaFinal, numeroCiclos);
432 499 this.calcularPercentualVariacaoConsumo(listaHistoricoConsumo);
433   - request.setAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
  500 + model.addAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
434 501  
435 502 } else {
436 503  
437   - request.setAttribute(PONTO_CONSUMO, pontoConsumo);
438   - Collection<HistoricoMedicao> listaHistoricoMedicao = fachada.consultarHistoricoAgrupadoMedicao(
439   - pontoConsumo.getChavePrimaria(), referenciaInicial, referenciaFinal);
440   - request.setAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
441   - Collection<HistoricoConsumo> listaHistoricoConsumo = fachada.consultarHistoricoConsumo(pontoConsumo.getChavePrimaria(),
442   - true, referenciaInicial, referenciaFinal);
  504 + model.addAttribute(PONTO_CONSUMO, pontoConsumo);
  505 + Collection<HistoricoMedicao> listaHistoricoMedicao = controladorHistoricoMedicao
  506 + .consultarHistoricoAgrupadoMedicao(pontoConsumo.getChavePrimaria(), referenciaInicial, referenciaFinal);
  507 + model.addAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
  508 + Collection<HistoricoConsumo> listaHistoricoConsumo = controladorHistoricoConsumo
  509 + .consultarHistoricoConsumo(pontoConsumo.getChavePrimaria(), true, referenciaInicial, referenciaFinal);
443 510 this.calcularPercentualVariacaoConsumo(listaHistoricoConsumo);
444   - request.setAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
  511 + model.addAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
445 512  
446 513 }
447 514 }
... ... @@ -449,145 +516,151 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
449 516 Imovel imovel = null;
450 517 if (idImovel != null && idImovel > 0) {
451 518  
452   - imovel = fachada.buscarImovelPorChave(idImovel, LAZY_LISTA_PONTO_CONSUMO);
453   - request.setAttribute(IMOVEL, imovel);
  519 + imovel = (Imovel) controladorImovel.obter(idImovel, LAZY_LISTA_PONTO_CONSUMO);
  520 + model.addAttribute(IMOVEL, imovel);
454 521 Collection<PontoConsumo> listaPontosConsumo = this.consultarPontosConsumoImovel(imovel);
455   - listaPontosConsumo = fachada.removerPontosConsumoDaListaSemHistoricoConsumo(listaPontosConsumo);
  522 + listaPontosConsumo = controladorHistoricoConsumo.removerPontosConsumoDaListaSemHistoricoConsumo(listaPontosConsumo);
456 523 Collection<PontoConsumoVO> listaPontosConsumoVO;
457 524  
458 525 listaPontosConsumoVO = this.montarListaPontosConsumoVo(listaPontosConsumo);
459 526  
460 527 if (listaPontosConsumoVO != null && listaPontosConsumoVO.size() > 1) {
461   - request.setAttribute(LISTA_PONTOS_CONSUMO, listaPontosConsumoVO);
  528 + model.addAttribute(LISTA_PONTOS_CONSUMO, listaPontosConsumoVO);
462 529 }
463 530 }
464 531  
465   - request.setAttribute(LISTA_ANOS, listarAnos());
466   - request.setAttribute(LISTA_MESES_ANO, Mes.MESES_ANO);
467   -
468   - return mapping.findForward(FORWARD_SUCESSO);
  532 + model.addAttribute(LISTA_ANOS, listarAnos());
  533 + model.addAttribute(LISTA_MESES_ANO, Mes.MESES_ANO);
469 534 }
470 535  
471 536 /**
472   - * Método responsável por detalhar o histórico
473   - * de leitura do ponto de consumo.
  537 + * Método responsável por detalhar o histórico de leitura do ponto de consumo.
474 538 *
475   - * @param mapping
476   - * the mapping
477   - * @param form
478   - * the form
479   - * @param request
480   - * the request
481   - * @param response
482   - * the response
483   - * @return the action forward
484   - * @throws Exception
485   - * the exception
  539 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  540 + * @param clientePopupVO - {@link ClientePopupVO}
  541 + * @param bindingResult - {@link BindingResult}
  542 + * @param model - {@link Model}
  543 + * @return view - {@link String}
486 544 */
487   - public ActionForward exibirDetalhamentoHistoricoLeituraPontoConsumo(ActionMapping mapping, ActionForm form, HttpServletRequest request,
488   - HttpServletResponse response) throws Exception {
  545 + @RequestMapping("exibirDetalhamentoHistoricoLeituraPontoConsumo")
  546 + public String exibirDetalhamentoHistoricoLeituraPontoConsumo(HistoricoLeituraConsumoVO historicoLeituraConsumoVO,
  547 + ClientePopupVO clientePopupVO, BindingResult bindingResult, Model model) {
  548 +
  549 + Long idImovel = historicoLeituraConsumoVO.getIdImovel();
  550 +
  551 + try {
  552 +
  553 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  554 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
  555 + model.addAttribute(LISTA_MESES_ANO, Mes.MESES_ANO);
  556 + model.addAttribute(LISTA_ANOS, listarAnos());
  557 +
  558 + if (idImovel != null && idImovel > 0) {
  559 +
  560 + model.addAttribute(IMOVEL, controladorImovel.obter(idImovel, LAZY_LISTA_PONTO_CONSUMO));
  561 + }
489 562  
490   - carregarHistoricosLeitura(form, request);
491   - return mapping.findForward(FORWARD_SUCESSO);
  563 + carregarHistoricosLeitura(historicoLeituraConsumoVO, model);
  564 +
  565 + } catch (GGASException e) {
  566 + super.mensagemErroParametrizado(model, e);
  567 + }
  568 +
  569 + return "exibirDetalhamentoHistoricoLeituraPontoConsumo";
492 570 }
493 571  
494 572 /**
495   - * Método responsável por detalhar o histórico
496   - * de leitura para Análise Excecao.
  573 + * Método responsável por detalhar o histórico de leitura para Análise Excecao.
497 574 *
498   - * @param mapping
499   - * the mapping
500   - * @param form
501   - * the form
502   - * @param request
503   - * the request
504   - * @param response
505   - * the response
506   - * @return the action forward
507   - * @throws Exception
508   - * the exception
  575 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  576 + * @param clientePopupVO - {@link ClientePopupVO}
  577 + * @param bindingResult - {@link BindingResult}
  578 + * @param model - {@link Model}
  579 + * @return view - {@link String}
509 580 */
510   - public ActionForward exibirDetalhamentoHistoricoLeituraAnaliseExcecao(ActionMapping mapping, ActionForm form,
511   - HttpServletRequest request, HttpServletResponse response) throws Exception {
  581 + @RequestMapping("exibirDetalhamentoHistoricoLeituraAnaliseExcecao")
  582 + public String exibirDetalhamentoHistoricoLeituraAnaliseExcecao(HistoricoLeituraConsumoVO historicoLeituraConsumoVO,
  583 + ClientePopupVO clientePopupVO, BindingResult bindingResult, Model model) {
512 584  
513   - carregarHistoricosLeitura(form, request);
514   - return mapping.findForward(FORWARD_SUCESSO);
  585 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  586 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
  587 +
  588 + try {
  589 + carregarHistoricosLeitura(historicoLeituraConsumoVO, model);
  590 + } catch (GGASException e) {
  591 + super.mensagemErroParametrizado(model, e);
  592 + }
  593 +
  594 + return "exibirDetalhamentoHistoricoLeituraAnaliseExcecao";
515 595 }
516 596  
517 597 /**
518   - * Carregar historicos leitura.
519   - *
520   - * @param form
521   - * the form
522   - * @param request
523   - * the request
524   - * @throws GGASException
525   - * the GGAS exception
  598 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  599 + * @param model - {@link Model}
  600 + * @throws GGASException - {@link GGASException}
526 601 */
527   - private void carregarHistoricosLeitura(ActionForm form, HttpServletRequest request) throws GGASException {
528   -
529   - DynaActionForm dynaForm = (DynaActionForm) form;
530   - Long idPontoConsumo = (Long) dynaForm.get(ID_PONTO_CONSUMO);
531   - Integer anoMesLeitura = (Integer) dynaForm.get(ANO_MES_LEITURA);
532   - Integer numeroCiclo = (Integer) dynaForm.get(NUMERO_CICLO);
533   - Collection<HistoricoMedicao> listaHistoricoMedicao = fachada.consultarHistoricoMedicao(idPontoConsumo, anoMesLeitura, numeroCiclo);
534   - request.setAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
  602 + private void carregarHistoricosLeitura(HistoricoLeituraConsumoVO historicoLeituraConsumoVO, Model model) throws GGASException {
  603 +
  604 + Long idPontoConsumo = historicoLeituraConsumoVO.getIdPontoConsumo();
  605 + Integer anoMesLeitura = historicoLeituraConsumoVO.getAnoMesLeitura();
  606 + Integer numeroCiclo = historicoLeituraConsumoVO.getNumeroCiclo();
  607 + Collection<HistoricoMedicao> listaHistoricoMedicao =
  608 + controladorHistoricoMedicao.consultarHistoricoMedicao(idPontoConsumo, anoMesLeitura, numeroCiclo);
  609 + model.addAttribute(LISTA_HISTORICO_MEDICAO, listaHistoricoMedicao);
535 610 }
536 611  
537 612 /**
538   - * Método responsável por detalhar o histórico
539   - * de consumo do ponto de consumo.
  613 + * Método responsável por detalhar o histórico de consumo do ponto de consumo.
540 614 *
541   - * @param mapping
542   - * the mapping
543   - * @param form
544   - * the form
545   - * @param request
546   - * the request
547   - * @param response
548   - * the response
549   - * @return the action forward
550   - * @throws Exception
551   - * the exception
  615 + * @param historicoLeituraConsumoVO - {@link HistoricoLeituraConsumoVO}
  616 + * @param clientePopupVO - {@link ClientePopupVO}
  617 + * @param bindingResult - {@link BindingResult}
  618 + * @param model - {@link Model}
  619 + * @return view - {@link String}
552 620 */
553   - public ActionForward exibirDetalhamentoHistoricoConsumoPontoConsumo(ActionMapping mapping, ActionForm form, HttpServletRequest request,
554   - HttpServletResponse response) throws Exception {
555   -
556   - DynaActionForm dynaForm = (DynaActionForm) form;
557   - Long idPontoConsumo = (Long) dynaForm.get(ID_PONTO_CONSUMO);
558   - Integer anoMesFaturamento = (Integer) dynaForm.get(ANO_MES_FATURAMENTO);
559   - Integer numeroCiclo = (Integer) dynaForm.get(NUMERO_CICLO);
560   - Long chavePrimariaHistoricoConsumoSintetizador = (Long) dynaForm.get(CHAVE_PRIMARIA_HISTORICO_CONSUMO);
561   - Collection<HistoricoConsumo> listaHistoricoConsumo = fachada.consultarHistoricoConsumo(idPontoConsumo, anoMesFaturamento,
562   - numeroCiclo, Boolean.FALSE, null, chavePrimariaHistoricoConsumoSintetizador);
563   -
564   - if (idPontoConsumo != null) {
565   - Medidor medidor = fachada.obterMedidorPorPontoConsumo(idPontoConsumo);
566   - if (medidor != null) {
567   - request.setAttribute(MEDIDOR, medidor);
  621 + @RequestMapping("exibirDetalhamentoHistoricoConsumoPontoConsumo")
  622 + public String exibirDetalhamentoHistoricoConsumoPontoConsumo(HistoricoLeituraConsumoVO historicoLeituraConsumoVO,
  623 + ClientePopupVO clientePopupVO, BindingResult bindingResult, Model model) {
  624 +
  625 + model.addAttribute(CLIENTE_POPUP_VO, clientePopupVO);
  626 + model.addAttribute(HISTORICO_LEITURA_CONSUMO_VO, historicoLeituraConsumoVO);
  627 +
  628 + try {
  629 + Long idPontoConsumo = historicoLeituraConsumoVO.getIdPontoConsumo();
  630 + Integer anoMesFaturamento = historicoLeituraConsumoVO.getAnoMesFaturamento();
  631 + Integer numeroCiclo = historicoLeituraConsumoVO.getNumeroCiclo();
  632 + Long chavePrimariaHistoricoConsumoSintetizador = historicoLeituraConsumoVO.getChavePrimariaHistoricoConsumo();
  633 + Collection<HistoricoConsumo> listaHistoricoConsumo = controladorHistoricoConsumo.consultarHistoricoConsumo(idPontoConsumo,
  634 + anoMesFaturamento, numeroCiclo, Boolean.FALSE, null, chavePrimariaHistoricoConsumoSintetizador);
  635 +
  636 + if (idPontoConsumo != null) {
  637 + Medidor medidor = controladorPontoConsumo.obterMedidorPorPontoConsumo(idPontoConsumo);
  638 + if (medidor != null) {
  639 + model.addAttribute(MEDIDOR, medidor);
  640 + }
568 641 }
  642 +
  643 + model.addAttribute(MODO_USO_INDEPENDENTE,
  644 + controladorConstanteSistema.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_INDEPENDENTE));
  645 + model.addAttribute(MODO_USO_NORMAL,
  646 + controladorConstanteSistema.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_NORMAL));
  647 + model.addAttribute(MODO_USO_VIRTUAL,
  648 + controladorConstanteSistema.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_VIRTUAL));
  649 + model.addAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
  650 +
  651 + } catch (GGASException e) {
  652 + super.mensagemErroParametrizado(model, e);
569 653 }
570   -
571   - request.setAttribute(MODO_USO_INDEPENDENTE, fachada.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_INDEPENDENTE));
572   - request.setAttribute(MODO_USO_NORMAL, fachada.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_NORMAL));
573   - request.setAttribute(MODO_USO_VIRTUAL, fachada.obterValorConstanteSistemaPorCodigo(Constantes.C_MODO_USO_MEDIDOR_VIRTUAL));
574   - request.setAttribute(LISTA_HISTORICO_CONSUMO, listaHistoricoConsumo);
575   - return mapping.findForward(FORWARD_SUCESSO);
  654 +
  655 + return "exibirDetalhamentoHistoricoConsumoPontoConsumo";
576 656 }
577 657  
578 658 /**
579   - * Montar lista pontos consumo vo.
580   - *
581   - * @param listaPontosConsumo
582   - * the lista pontos consumo
583   - * @param request
584   - * the request
585   - * @return the collection
586   - * @throws Exception
587   - * the exception
  659 + * @param listaPontosConsumo - {@link Collection}
  660 + * @return listaPontosConsumoVO - {@link List}
  661 + * @throws NegocioException - {@link NegocioException}
588 662 */
589   - private Collection<PontoConsumoVO> montarListaPontosConsumoVo(Collection<PontoConsumo> listaPontosConsumo)
590   - throws Exception {
  663 + private Collection<PontoConsumoVO> montarListaPontosConsumoVo(Collection<PontoConsumo> listaPontosConsumo) throws NegocioException {
591 664  
592 665 List<PontoConsumoVO> listaPontosConsumoVO = new ArrayList<PontoConsumoVO>();
593 666 PontoConsumoVO pontoVO = null;
... ... @@ -595,11 +668,12 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
595 668 for (PontoConsumo pontoConsumo : listaPontosConsumo) {
596 669  
597 670 pontoVO = new PontoConsumoVO();
598   - PontoConsumo pontoConsumoCompleto = fachada.buscarPontoConsumoPorChave(pontoConsumo.getChavePrimaria(),
599   - LAZY_ROTA_GRUPO_FATURAMENTO, LAZY_ROTA_EMPRESA, LAZY_INSTALACAO_MEDIDOR, ROTA_LEITURISTA_FUNCIONARIO);
  671 + PontoConsumo pontoConsumoCompleto = (PontoConsumo) controladorPontoConsumo.obter(pontoConsumo.getChavePrimaria(),
  672 + LAZY_ROTA_GRUPO_FATURAMENTO, LAZY_ROTA_EMPRESA,
  673 + LAZY_INSTALACAO_MEDIDOR, ROTA_LEITURISTA_FUNCIONARIO);
600 674 pontoVO.setPontoConsumo(pontoConsumoCompleto);
601 675  
602   - Map<String, Integer> referenciaCiclo = fachada.obterReferenciaCicloAtual(pontoConsumoCompleto);
  676 + Map<String, Integer> referenciaCiclo = controladorPontoConsumo.obterReferenciaCicloAtual(pontoConsumoCompleto);
603 677  
604 678 if (referenciaCiclo != null) {
605 679 pontoVO.setCiclo(String.valueOf(referenciaCiclo.get("ciclo")));
... ... @@ -610,7 +684,7 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
610 684  
611 685 }
612 686  
613   - Collections.sort(listaPontosConsumoVO, new Comparator<PontoConsumoVO>(){
  687 + Collections.sort(listaPontosConsumoVO, new Comparator<PontoConsumoVO>() {
614 688  
615 689 @Override
616 690 public int compare(PontoConsumoVO o1, PontoConsumoVO o2) {
... ... @@ -624,7 +698,7 @@ public class ConsultarHistoricoLeituraMedicaoAction extends DispatchAction {
624 698 retorno = 1;
625 699 } else {
626 700 retorno = o1.getPontoConsumo().getNumeroSequenciaLeitura()
627   - .compareTo(o2.getPontoConsumo().getNumeroSequenciaLeitura());
  701 + .compareTo(o2.getPontoConsumo().getNumeroSequenciaLeitura());