Advertisement
Guest User

java

a guest
May 24th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.35 KB | None | 0 0
  1. package br.com.unicred.peq.control.action;
  2. import static br.com.unicred.core.util.ResourceBundleUtil.getString;
  3.  
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import org.jboss.seam.ScopeType;
  8. import org.jboss.seam.annotations.Create;
  9. import org.jboss.seam.annotations.In;
  10. import org.jboss.seam.annotations.Name;
  11. import org.jboss.seam.annotations.Scope;
  12. import org.jboss.seam.annotations.security.Restrict;
  13. import org.jboss.seam.international.StatusMessages;
  14. import org.richfaces.model.ExtendedTableDataModel;
  15. import org.richfaces.model.selection.SimpleSelection;
  16.  
  17. import br.com.tecnocred.arq.exception.BusinessException;
  18. import br.com.unicred.core.action.BaseAction;
  19. import br.com.unicred.core.action.faces.BaseDataProvider;
  20. import br.com.unicred.peq.control.facade.PropostaFacade;
  21. import br.com.unicred.peq.control.service.MotivoService;
  22. import br.com.unicred.peq.model.PropostaPendenteDTO;
  23.  
  24.  
  25. /**
  26. * Action para realizar a efetivação manual de propostas pendentes de aprovação pela seguradora
  27. *
  28. * @author Anderson L. Santos
  29. */
  30. @Scope(ScopeType.CONVERSATION)
  31. @Name("efetivarPropostaSeguradoraAction")
  32. @Restrict("#{s:hasPermission('efetivarPropostaSeguradora', 'pesquisar')}")
  33. public class EfetivarPropostaSeguradoraAction extends BaseAction {
  34.  
  35. private static final long serialVersionUID = 1L;
  36.  
  37. private static final String SALDO_INSUFICIENTE_PARA_EFETIVACAO = getString("efetivar-proposta-seguradora.msg.sem-saldo");
  38. //private static final String SUCESSO_EFETIVACA_MSG = getString("efetivar-proposta-seguradora.msg.efetivacao-com-sucesso");
  39. private static final String PROPOSTA_SELECIONADA_ERROR = getString("efetivar-proposta-seguradora.error.nenhuma-proposta-selecionada");
  40. private static final int CODIGO_SALDO_INSUFICIENTE = 3;
  41.  
  42. private String cpf;
  43. private Long nrPropostaSeguradora;
  44. private PropostaPendenteDTO propostaEscolhida;
  45. private SimpleSelection selection;
  46. private BaseDataProvider<PropostaPendenteDTO> dataProvider =
  47. new BaseDataProvider<PropostaPendenteDTO>(new ArrayList<PropostaPendenteDTO>());
  48. private ExtendedTableDataModel<PropostaPendenteDTO> dataModel;
  49.  
  50. @In(create = true)
  51. private PropostaFacade propostaFacade;
  52.  
  53. /**
  54. * Método que inicializa as configurações das telas de simulação
  55. */
  56. @Create
  57. public void configure() {
  58. limparDadosPesquisa();
  59. }
  60.  
  61. /**
  62. * Limpa os parâmetros e resultados de pesquisa
  63. */
  64. public void limparDadosPesquisa() {
  65. cpf = null;
  66. nrPropostaSeguradora = null;
  67. propostaEscolhida = null;
  68. limparResultadoPesquisa();
  69. }
  70.  
  71. private void limparResultadoPesquisa() {
  72. selection = null;
  73. dataProvider = new BaseDataProvider<PropostaPendenteDTO>(new ArrayList<PropostaPendenteDTO>());
  74. dataModel = new ExtendedTableDataModel<PropostaPendenteDTO>(dataProvider);
  75. }
  76.  
  77. /**
  78. * Método que realiza a busca por propostas pendentes na seguradora
  79. */
  80. @Restrict("#{s:hasPermission('efetivarPropostaSeguradora', 'pesquisar')}")
  81. public void pesquisar() {
  82. doPesquisar();
  83. if (dataProvider.isEmpty()) {
  84. throw new BusinessException(getString("fwk.message.no-search-result"));
  85. }
  86. }
  87.  
  88. private void doPesquisar() {
  89. limparResultadoPesquisa();
  90. final List<PropostaPendenteDTO> list = propostaFacade.pesquisarPropostasPendentesSeguradora(cpf, nrPropostaSeguradora);
  91. final List<PropostaPendenteDTO> listaFinal = new ArrayList<PropostaPendenteDTO>();
  92. for (final PropostaPendenteDTO p : list) {
  93. final Integer codigoMotivoProposta = buscaCodigoMotivoProposta(p);
  94. if (codigoMotivoProposta != CODIGO_SALDO_INSUFICIENTE) {
  95. listaFinal.add(p);
  96. }
  97. }
  98. dataProvider = new BaseDataProvider<PropostaPendenteDTO>(listaFinal);
  99. dataModel = new ExtendedTableDataModel<PropostaPendenteDTO>(dataProvider);
  100. }
  101.  
  102. /**
  103. * Efetiva a proposta selecionada utilizando o motivo reservado para
  104. * efetivação manual pela Quanta
  105. */
  106. @Restrict("#{s:hasPermission('efetivarPropostaSeguradora', 'incluir')}")
  107. public void efetivar() {
  108. limparResultadoPesquisa();
  109. if (propostaEscolhida == null) {
  110. throw new BusinessException(PROPOSTA_SELECIONADA_ERROR);
  111. }
  112. propostaFacade.efetivarPropostaPendenteNaSeguradora(propostaEscolhida);
  113.  
  114. final Integer codigoMotivoProposta = buscaCodigoMotivoProposta(propostaEscolhida);
  115.  
  116. criaMensagemTela(codigoMotivoProposta);
  117. }
  118.  
  119. private Integer buscaCodigoMotivoProposta(final PropostaPendenteDTO propostaPendenteDTO) {
  120. Integer codigoMotivoProposta;
  121. if (propostaPendenteDTO.getInscricaoOficial() != null) {
  122. codigoMotivoProposta = new MotivoService().buscaUltimoMotivoPorInscricaoOficial(propostaPendenteDTO.getInscricaoOficial());
  123. } else {
  124. codigoMotivoProposta = new MotivoService().buscaUltimoMotivoPorSimulacao(propostaPendenteDTO.getSimulacao());
  125. }
  126. return codigoMotivoProposta;
  127. }
  128.  
  129. private void criaMensagemTela(final Integer codigoMotivoProposta) {
  130. if (codigoMotivoProposta == CODIGO_SALDO_INSUFICIENTE) {
  131. StatusMessages.instance().add(SALDO_INSUFICIENTE_PARA_EFETIVACAO);
  132. } /*else {
  133. StatusMessages.instance().add(SUCESSO_EFETIVACA_MSG);
  134. }*/
  135. }
  136.  
  137. public String getCpf() {
  138. return cpf;
  139. }
  140.  
  141. public void setCpf(final String cpf) {
  142. this.cpf = cpf;
  143. }
  144.  
  145. public Long getNrPropostaSeguradora() {
  146. return nrPropostaSeguradora;
  147. }
  148.  
  149. public void setNrPropostaSeguradora(final Long nrPropostaSeguradora) {
  150. this.nrPropostaSeguradora = nrPropostaSeguradora;
  151. }
  152.  
  153. public PropostaPendenteDTO getPropostaEscolhida() {
  154. return propostaEscolhida;
  155. }
  156.  
  157. public void setPropostaEscolhida(final PropostaPendenteDTO propostaEscolhida) {
  158. this.propostaEscolhida = propostaEscolhida;
  159. }
  160.  
  161. public PropostaFacade getPropostaFacade() {
  162. return propostaFacade;
  163. }
  164.  
  165. public void setPropostaFacade(final PropostaFacade propostaFacade) {
  166. this.propostaFacade = propostaFacade;
  167. }
  168.  
  169. public SimpleSelection getSelection() {
  170. return selection;
  171. }
  172.  
  173. public void setSelection(final SimpleSelection selection) {
  174. this.selection = selection;
  175. }
  176.  
  177. public BaseDataProvider<PropostaPendenteDTO> getDataProvider() {
  178. return dataProvider;
  179. }
  180.  
  181. public void setDataProvider(final BaseDataProvider<PropostaPendenteDTO> dataProvider) {
  182. this.dataProvider = dataProvider;
  183. }
  184.  
  185. public ExtendedTableDataModel<PropostaPendenteDTO> getDataModel() {
  186. return dataModel;
  187. }
  188.  
  189. public void setDataModel(final ExtendedTableDataModel<PropostaPendenteDTO> dataModel) {
  190. this.dataModel = dataModel;
  191. }
  192.  
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement