Commit af6057c2e9cb9fe4aaa43ca332ddc4b1bb0038bd
1 parent
ce466b41
Exists in
master
Redmine #4483 Criando bloqueio de atividades quando estiver ocorrendo o fechamen…
…to do mês para o próprio fechamento do mês de referência e entrada
Showing
4 changed files
with
404 additions
and
298 deletions
Show diff stats
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/EntradaController.java
... | ... | @@ -19,49 +19,58 @@ import br.com.centralit.api.model.BemPatrimonial; |
19 | 19 | import br.com.centralit.api.model.Entrada; |
20 | 20 | import br.com.centralit.api.model.EntradaPatrimonio; |
21 | 21 | import br.com.centralit.api.model.EntradaPatrimonioItem; |
22 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
23 | +import br.com.centralit.api.model.MyRetornoStatus; | |
22 | 24 | import br.com.centralit.api.service.EntradaService; |
25 | +import br.com.centralit.api.service.OrganizacaoService; | |
23 | 26 | import br.com.centralit.framework.controller.GenericController; |
24 | 27 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
25 | 28 | import br.com.centralit.framework.json.Views; |
29 | +import br.com.centralit.framework.model.Organizacao; | |
26 | 30 | import br.com.centralit.framework.view.ResultResponseVH; |
27 | 31 | |
28 | 32 | /** |
29 | 33 | * <p> |
30 | 34 | * <img src="http://centralit.com.br/images/logo_central.png"> |
31 | 35 | * </p> |
32 | - * | |
36 | + * | |
33 | 37 | * <p> |
34 | 38 | * <b>Company: </b> Central IT - Governança Corporativa - |
35 | 39 | * </p> |
36 | - * | |
40 | + * | |
37 | 41 | * <p> |
38 | 42 | * <b>Title: </b> |
39 | 43 | * </p> |
40 | - * | |
44 | + * | |
41 | 45 | * <p> |
42 | 46 | * <b>Description: </b> |
43 | 47 | * </p> |
44 | - * | |
48 | + * | |
45 | 49 | * @since 03/01/2015 - 11:19:18 |
46 | - * | |
50 | + * | |
47 | 51 | * @version 1.0.0 |
48 | - * | |
52 | + * | |
49 | 53 | * @author wilker.machado |
50 | - * | |
54 | + * | |
51 | 55 | */ |
52 | 56 | @Controller |
53 | 57 | @RequestMapping("/rest/entrada") |
54 | 58 | public class EntradaController extends GenericController<EntradaPatrimonio> { |
55 | 59 | |
60 | + @Autowired | |
56 | 61 | private EntradaService entradaService; |
57 | 62 | |
63 | + @Autowired | |
64 | + private OrganizacaoService organizacaoService; | |
65 | + | |
58 | 66 | public EntradaController() { |
67 | + | |
59 | 68 | super(); |
60 | 69 | } |
61 | 70 | |
62 | 71 | /** |
63 | 72 | * Responsável pela criação de novas instâncias desta classe. |
64 | - * | |
73 | + * | |
65 | 74 | * @param entradaService |
66 | 75 | */ |
67 | 76 | @Autowired |
... | ... | @@ -72,7 +81,6 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
72 | 81 | this.entradaService = entradaService; |
73 | 82 | } |
74 | 83 | |
75 | - | |
76 | 84 | @RequestMapping(value = "/verificarMovimentacaoBensEntrada", method = RequestMethod.POST) |
77 | 85 | @ResponseBody |
78 | 86 | public ResponseBodyWrapper verificarMovimentacaoBensEntrada(@RequestBody EntradaPatrimonio entrada) { |
... | ... | @@ -102,57 +110,91 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
102 | 110 | |
103 | 111 | /** |
104 | 112 | * Método responsável por realizar o upload dos anexos que estão ligadas a bem patrimonial Caracteristicas |
105 | - * | |
113 | + * | |
106 | 114 | * @author wilker.machado |
107 | - * | |
115 | + * | |
108 | 116 | * @param name |
109 | 117 | * @param file |
110 | 118 | * @param idAnexo |
111 | 119 | */ |
112 | 120 | @RequestMapping(value = "/uploadAnexoCaracteristica", method = RequestMethod.POST) |
113 | - public @ResponseBody void uploadAnexoCaracteristica(@RequestParam(value = "filename", required = false) String name, @RequestParam("file") MultipartFile file, @RequestParam(value = "idEntradaItem", required = false) Long idEntradaItem) { | |
121 | + public @ResponseBody | |
122 | + void uploadAnexoCaracteristica(@RequestParam(value = "filename", required = false) String name, @RequestParam("file") MultipartFile file, @RequestParam(value = "idEntradaItem", required = false) Long idEntradaItem) { | |
114 | 123 | |
115 | 124 | this.entradaService.uploadAnexoCaracteristica(file, idEntradaItem); |
116 | 125 | |
117 | 126 | } |
118 | - | |
127 | + | |
119 | 128 | @RequestMapping(method = RequestMethod.POST, value = "") |
120 | 129 | @ResponseBody |
121 | - public ResponseBodyWrapper save(@RequestBody EntradaPatrimonio entity) throws Exception{ | |
122 | - boolean uniqueConstraintViolate = true; | |
123 | - | |
124 | - EntradaPatrimonio entrada = new EntradaPatrimonio(); | |
125 | - | |
126 | - //TODO Solução temporária para evitar que sejam criados registros com o código duplicado. Alterar solução quando for implementado o cache compartilhado | |
127 | - for(int i = 5; i > 0 && uniqueConstraintViolate; i--){ | |
128 | - try{ | |
129 | - entrada = this.entradaService.save(SerializationUtils.clone(entity)); | |
130 | - uniqueConstraintViolate = false; | |
131 | - }catch(Throwable e){ | |
132 | - if(e.getCause() instanceof ConstraintViolationException){ | |
133 | - ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
134 | - if(ex.getSQLException().getMessage().contains("codigo_unico")){ | |
135 | - uniqueConstraintViolate = true; | |
136 | - }else{ | |
130 | + public ResponseBodyWrapper save(@RequestBody EntradaPatrimonio entity) throws Exception { | |
131 | + | |
132 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
133 | + | |
134 | + if (!organizacao.getEmFechamento()) { | |
135 | + | |
136 | + boolean uniqueConstraintViolate = true; | |
137 | + | |
138 | + EntradaPatrimonio entrada = new EntradaPatrimonio(); | |
139 | + | |
140 | + // TODO Solução temporária para evitar que sejam criados registros com o código duplicado. Alterar solução quando for implementado o cache compartilhado | |
141 | + for (int i = 5; i > 0 && uniqueConstraintViolate; i--) { | |
142 | + try { | |
143 | + entrada = this.entradaService.save(SerializationUtils.clone(entity)); | |
144 | + uniqueConstraintViolate = false; | |
145 | + } catch (Throwable e) { | |
146 | + if (e.getCause() instanceof ConstraintViolationException) { | |
147 | + ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
148 | + if (ex.getSQLException().getMessage().contains("codigo_unico")) { | |
149 | + uniqueConstraintViolate = true; | |
150 | + } else { | |
151 | + throw e; | |
152 | + } | |
153 | + } else { | |
137 | 154 | throw e; |
138 | 155 | } |
139 | - }else{ | |
140 | - throw e; | |
141 | 156 | } |
142 | 157 | } |
158 | + | |
159 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(entrada, getEditView()); | |
160 | + | |
161 | + return responseBody; | |
162 | + } else { | |
163 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
164 | + retorno.data = entity; | |
165 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
166 | + | |
167 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
168 | + | |
169 | + return responseBody; | |
143 | 170 | } |
144 | - | |
145 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(entrada, getEditView()); | |
146 | - | |
147 | - return responseBody; | |
148 | 171 | } |
149 | 172 | |
173 | + @RequestMapping(method = RequestMethod.POST, value = "/update") | |
174 | + @ResponseBody | |
175 | + public ResponseBodyWrapper update(@RequestBody EntradaPatrimonio objeto) { | |
176 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
177 | + | |
178 | + if (!organizacao.getEmFechamento()) { | |
179 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.entradaService.merge(objeto), getEditView()); | |
180 | + | |
181 | + return responseBody; | |
182 | + } else { | |
183 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
184 | + retorno.data = objeto; | |
185 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
186 | + | |
187 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
188 | + | |
189 | + return responseBody; | |
190 | + } | |
191 | + } | |
150 | 192 | |
151 | 193 | /** |
152 | 194 | * Método responsável por listar <code>Entrada</code> por codigo e <code>Organizacao</code> |
153 | - * | |
195 | + * | |
154 | 196 | * @author geovane.filho |
155 | - * | |
197 | + * | |
156 | 198 | * @param value |
157 | 199 | * @param idOrganizacao |
158 | 200 | * @return <code>ResponseBodyWrapper</code> |
... | ... | @@ -167,11 +209,23 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
167 | 209 | |
168 | 210 | return responseBody; |
169 | 211 | } |
170 | - | |
212 | + | |
171 | 213 | @RequestMapping(method = RequestMethod.POST, value = "/concluir") |
172 | 214 | @ResponseBody |
173 | 215 | public ResponseBodyWrapper concluir(@RequestBody EntradaPatrimonio entrada) { |
174 | - return new ResponseBodyWrapper(entradaService.concluir(entrada), getEditView()); | |
216 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
217 | + | |
218 | + if (!organizacao.getEmFechamento()) { | |
219 | + return new ResponseBodyWrapper(entradaService.concluir(entrada), getEditView()); | |
220 | + } else { | |
221 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
222 | + retorno.data = entrada; | |
223 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
224 | + | |
225 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
226 | + | |
227 | + return responseBody; | |
228 | + } | |
175 | 229 | } |
176 | 230 | |
177 | 231 | @RequestMapping(value = "/{id}", method = RequestMethod.GET) |
... | ... | @@ -180,11 +234,11 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
180 | 234 | |
181 | 235 | List<BemPatrimonial> listaBemPatrimopnial = null; |
182 | 236 | EntradaPatrimonio entrada = this.entradaService.find(id); |
183 | - if(entrada.getEntradasIten() != null){ | |
237 | + if (entrada.getEntradasIten() != null) { | |
184 | 238 | for (EntradaPatrimonioItem entradaItem : entrada.getEntradasIten()) { |
185 | 239 | listaBemPatrimopnial = new ArrayList<BemPatrimonial>(); |
186 | 240 | for (BemPatrimonial bemPatrimonial : entradaItem.getBensPatrimoniais()) { |
187 | - if(bemPatrimonial.getDataInativo() == null){ | |
241 | + if (bemPatrimonial.getDataInativo() == null) { | |
188 | 242 | listaBemPatrimopnial.add(bemPatrimonial); |
189 | 243 | } |
190 | 244 | } |
... | ... | @@ -198,24 +252,26 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
198 | 252 | |
199 | 253 | return responseBody; |
200 | 254 | } |
201 | - | |
255 | + | |
202 | 256 | @RequestMapping(value = "/existemBemSemDataContabil", method = RequestMethod.GET, produces = "application/json") |
203 | 257 | @ResponseBody |
204 | 258 | public boolean existemBemSemDataContabil(@RequestParam(value = "idEntrada") Long idEntrada) { |
259 | + | |
205 | 260 | return this.entradaService.existeBemSemDataContabil(idEntrada); |
206 | - } | |
207 | - | |
261 | + } | |
262 | + | |
208 | 263 | @RequestMapping(method = RequestMethod.GET, value = "/validaExistenciaBemMaterialEntrada", produces = "application/json") |
209 | 264 | @ResponseBody |
210 | 265 | public boolean validaExistenciaBemMaterialEntrada(@RequestParam(value = "idEntrada", required = false) Long idEntrada) { |
266 | + | |
211 | 267 | return entradaService.verificaExistenciaBensPatrimoniaisEntrada(idEntrada); |
212 | 268 | } |
213 | - | |
269 | + | |
214 | 270 | @RequestMapping(method = RequestMethod.GET, value = "/verificaExistenciaBemPatrimonialTemporarioEntrada", produces = "application/json") |
215 | 271 | @ResponseBody |
216 | 272 | public boolean verificaExistenciaBemPatrimonialTemporario(@RequestParam(value = "idEntrada", required = false) Long idEntrada) { |
273 | + | |
217 | 274 | return entradaService.verificaExistenciaBensPatrimoniaisTemporariosEntrada(idEntrada); |
218 | 275 | } |
219 | - | |
220 | - | |
276 | + | |
221 | 277 | } | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java
... | ... | @@ -107,56 +107,61 @@ public class OrganizacaoPatrimonioController { |
107 | 107 | Long tipoDepreciacaoCodigo = requisicaoFechamento.get("tipoDepreciacao"); |
108 | 108 | |
109 | 109 | if (!organizacao.getEmFechamento()) { |
110 | - this.organizacaoService.iniciarFechamentoDeMes(organizacao.getId()); | |
111 | - | |
112 | - MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); | |
113 | - | |
114 | - MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); | |
110 | + try { | |
111 | + this.organizacaoService.iniciarFechamentoDeMes(organizacao.getId()); | |
115 | 112 | |
116 | - retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId()); | |
117 | - retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO")); | |
118 | - | |
119 | - if(!retornoBensNaEstruturaAlmoxarifado.status) { | |
120 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); | |
121 | - return responseBody; | |
122 | - } | |
123 | - | |
124 | - retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId()); | |
125 | - | |
126 | - MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); | |
127 | - retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao); | |
128 | - | |
129 | - if (retornoFechamentoBens.status && retornoFechamentoContas.status) { | |
130 | - MyRetornoStatus retornoDepreciacao = new MyRetornoStatus(); | |
131 | - | |
132 | - Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); | |
113 | + MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); | |
133 | 114 | |
134 | - Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); | |
115 | + MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); | |
116 | + | |
117 | + retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId()); | |
118 | + retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO")); | |
135 | 119 | |
136 | - if (depreciacao != null) { | |
137 | - retornoDepreciacao = new MyRetornoStatus(depreciacao); | |
138 | - } else { | |
139 | - if (tipoDepreciacao == null) { | |
140 | - MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO"); | |
141 | - retornoDepreciacao.mensagens.add(mensagem); | |
142 | - } | |
120 | + if(!retornoBensNaEstruturaAlmoxarifado.status) { | |
121 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); | |
122 | + return responseBody; | |
143 | 123 | } |
144 | - | |
145 | - if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia | |
146 | - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO")); | |
147 | - organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1); | |
148 | - this.organizacaoService.merge(organizacao); | |
149 | - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA")); | |
150 | - } else { | |
151 | - retornoFechamentoContas.status = retornoDepreciacao.status; | |
152 | - retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); | |
124 | + | |
125 | + retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId()); | |
126 | + | |
127 | + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); | |
128 | + retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao); | |
129 | + | |
130 | + if (retornoFechamentoBens.status && retornoFechamentoContas.status) { | |
131 | + MyRetornoStatus retornoDepreciacao = new MyRetornoStatus(); | |
132 | + | |
133 | + Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); | |
134 | + | |
135 | + Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); | |
136 | + | |
137 | + if (depreciacao != null) { | |
138 | + retornoDepreciacao = new MyRetornoStatus(depreciacao); | |
139 | + } else { | |
140 | + if (tipoDepreciacao == null) { | |
141 | + MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO"); | |
142 | + retornoDepreciacao.mensagens.add(mensagem); | |
143 | + } | |
144 | + } | |
145 | + | |
146 | + if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia | |
147 | + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO")); | |
148 | + organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1); | |
149 | + this.organizacaoService.merge(organizacao); | |
150 | + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA")); | |
151 | + } else { | |
152 | + retornoFechamentoContas.status = retornoDepreciacao.status; | |
153 | + retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); | |
154 | + } | |
153 | 155 | } |
156 | + | |
157 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); | |
158 | + this.organizacaoService.terminarFechamentoDeMes(organizacao.getId()); | |
159 | + | |
160 | + return responseBody; | |
161 | + } catch (Exception ex) { | |
162 | + this.organizacaoService.terminarFechamentoDeMes(organizacao.getId()); | |
163 | + throw ex; | |
154 | 164 | } |
155 | - | |
156 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); | |
157 | - this.organizacaoService.terminarFechamentoDeMes(organizacao.getId()); | |
158 | - | |
159 | - return responseBody; | |
160 | 165 | } else { |
161 | 166 | MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); |
162 | 167 | retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/EntradaController.js
... | ... | @@ -31,11 +31,11 @@ citApp.factory('PatrimonioService', ['BemPatrimonialRepository', '$rootScope', f |
31 | 31 | citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'EntradaRepository', 'DominioRepository', 'EntradaItemRepository', |
32 | 32 | 'EstruturaOrganizacionalRepository', 'FornecedorRepository', 'ParceiroRepository', 'BemPatrimonialTemporarioRepository', |
33 | 33 | 'MaterialRepository', 'BemPatrimonialRepository', '$filter', '$translate', '$modal', '$rootScope', |
34 | - 'ConfiguracaoParametroSistemaRepository', '$q', 'EstruturaOrganizacionalPatrimonioRepository', 'TransferenciaItemRepository', 'ContaContabilRepository', | |
34 | + 'ConfiguracaoParametroSistemaRepository', '$q', 'EstruturaOrganizacionalPatrimonioRepository', 'TransferenciaItemRepository', 'ContaContabilRepository', 'OrganizacaoRepository', | |
35 | 35 | function EntradaController($scope, $timeout, FileUploader, EntradaRepository, DominioRepository, EntradaItemRepository, |
36 | 36 | EstruturaOrganizacionalRepository, FornecedorRepository, ParceiroRepository, BemPatrimonialTemporarioRepository, |
37 | 37 | MaterialRepository, BemPatrimonialRepository, $filter, $translate, $modal, $rootScope, ConfiguracaoParametroSistemaRepository, $q, |
38 | - EstruturaOrganizacionalPatrimonioRepository, TransferenciaItemRepository, ContaContabilRepository) { | |
38 | + EstruturaOrganizacionalPatrimonioRepository, TransferenciaItemRepository, ContaContabilRepository, OrganizacaoRepository) { | |
39 | 39 | |
40 | 40 | var CODIGO_DOMINIO_TIPO_RECEBIMENTO_COMPRA_ORCAMENTARIA = 1; |
41 | 41 | |
... | ... | @@ -275,77 +275,84 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
275 | 275 | valorUnitario: $scope.entradaItem.valorUnitario |
276 | 276 | }; |
277 | 277 | |
278 | - EntradaItemRepository.save(entradaItemTemp).then(function(resultEntradaItem) { | |
279 | - | |
280 | - var entradaItem = resultEntradaItem.originalElement; | |
281 | - if ($scope.bemPatrimonial.dataInicialGarantia){ | |
282 | - | |
283 | - entradaItem.dataInicialGarantia = $scope.bemPatrimonial.dataInicialGarantia; | |
284 | - } | |
285 | - | |
286 | - if ($scope.bemPatrimonial.dataFinalGarantia) { | |
287 | - | |
288 | - entradaItem.dataFinalGarantia = $scope.bemPatrimonial.dataFinalGarantia; | |
289 | - } | |
290 | - | |
291 | - if (idOld) { | |
292 | - $scope.itensDeEntrada.forEach(function(entrada) { | |
293 | - if (entrada.$checked) { | |
294 | - entrada.material = entradaItem.material; | |
295 | - entrada.quantidade = entradaItem.quantidade; | |
296 | - entrada.valor = entradaItem.valor; | |
297 | - } | |
298 | - }); | |
299 | - $scope.editaInfoEntrada = false; | |
300 | - } else { | |
301 | - $scope.checkEntradaItem(entradaItem); | |
302 | - $scope.itensDeEntrada.push(entradaItem); | |
303 | - } | |
304 | - | |
305 | - $scope.entradaItem.material = ''; | |
306 | - $scope.entradaItem.quantidade = ''; | |
307 | - $scope.entradaItem.valor = ''; | |
308 | - $scope.valorUnitario = ''; | |
309 | - $scope.calcularValorTotal(); | |
310 | - $scope.showAtributosEmMassa = false; | |
311 | - $scope.checkAllItem = false; | |
312 | - | |
313 | - var situacaoFisica = null; | |
314 | - if ($scope.bemPatrimonial.dominioSituacaoFisica) { | |
315 | - situacaoFisica = {codigo: $scope.bemPatrimonial.dominioSituacaoFisica.codigo}; | |
316 | - } | |
317 | - | |
318 | - var statusBem = null; | |
319 | - if ($scope.bemPatrimonial.dominioStatus) { | |
320 | - statusBem = {codigo: $scope.bemPatrimonial.dominioStatus.codigo}; | |
321 | - } | |
322 | - | |
323 | - var bemReferencia = { | |
324 | - entradaItem: { | |
325 | - id: entradaItem.id | |
326 | - }, | |
327 | - material: {id : $scope.entradaItem.material.id}, | |
328 | - numeroPatrimonial: numeroPatrimonialInicial, | |
329 | - dominioSituacaoFisica: situacaoFisica, | |
330 | - dominioStatus: statusBem, | |
331 | - dataInicialGarantia: $scope.bemPatrimonial.dataInicialGarantia, | |
332 | - dataFinalGarantia: $scope.bemPatrimonial.dataFinalGarantia, | |
333 | - vidaUtilOriginal: $scope.bemPatrimonial.vidaUtilOriginal, | |
334 | - percentualNaoDepreciavel: $scope.bemPatrimonial.percentualNaoDepreciavel | |
335 | - }; | |
336 | - $scope.$modalInstance.dismiss('cancel'); | |
337 | - | |
338 | - if (quantidade >= 500){ | |
339 | - $scope.setLoading(true, $translate.instant('PATRIMONIO.MSG.SALVANDO_MATERIAIS_ENTRADA_PATRIMONIO_GRANDE_QTD')); | |
340 | - } | |
341 | - | |
342 | - BemPatrimonialTemporarioRepository.geraBensTemp(bemReferencia).then(function(result) { | |
343 | - | |
344 | - formEntradaItem.$submitted = false; | |
345 | - $scope.setLoading(false); | |
346 | - }); | |
347 | - | |
348 | - | |
278 | + OrganizacaoRepository.get($scope.usuarioLogado.organizacao.id).then(function (result) { | |
279 | + $scope.organizacao = result.originalElement; | |
280 | + | |
281 | + if (!$scope.organizacao.emFechamento) { | |
282 | + EntradaItemRepository.save(entradaItemTemp).then(function(resultEntradaItem) { | |
283 | + | |
284 | + var entradaItem = resultEntradaItem.originalElement; | |
285 | + if ($scope.bemPatrimonial.dataInicialGarantia){ | |
286 | + | |
287 | + entradaItem.dataInicialGarantia = $scope.bemPatrimonial.dataInicialGarantia; | |
288 | + } | |
289 | + | |
290 | + if ($scope.bemPatrimonial.dataFinalGarantia) { | |
291 | + | |
292 | + entradaItem.dataFinalGarantia = $scope.bemPatrimonial.dataFinalGarantia; | |
293 | + } | |
294 | + | |
295 | + if (idOld) { | |
296 | + $scope.itensDeEntrada.forEach(function(entrada) { | |
297 | + if (entrada.$checked) { | |
298 | + entrada.material = entradaItem.material; | |
299 | + entrada.quantidade = entradaItem.quantidade; | |
300 | + entrada.valor = entradaItem.valor; | |
301 | + } | |
302 | + }); | |
303 | + $scope.editaInfoEntrada = false; | |
304 | + } else { | |
305 | + $scope.checkEntradaItem(entradaItem); | |
306 | + $scope.itensDeEntrada.push(entradaItem); | |
307 | + } | |
308 | + | |
309 | + $scope.entradaItem.material = ''; | |
310 | + $scope.entradaItem.quantidade = ''; | |
311 | + $scope.entradaItem.valor = ''; | |
312 | + $scope.valorUnitario = ''; | |
313 | + $scope.calcularValorTotal(); | |
314 | + $scope.showAtributosEmMassa = false; | |
315 | + $scope.checkAllItem = false; | |
316 | + | |
317 | + var situacaoFisica = null; | |
318 | + if ($scope.bemPatrimonial.dominioSituacaoFisica) { | |
319 | + situacaoFisica = {codigo: $scope.bemPatrimonial.dominioSituacaoFisica.codigo}; | |
320 | + } | |
321 | + | |
322 | + var statusBem = null; | |
323 | + if ($scope.bemPatrimonial.dominioStatus) { | |
324 | + statusBem = {codigo: $scope.bemPatrimonial.dominioStatus.codigo}; | |
325 | + } | |
326 | + | |
327 | + var bemReferencia = { | |
328 | + entradaItem: { | |
329 | + id: entradaItem.id | |
330 | + }, | |
331 | + material: {id : $scope.entradaItem.material.id}, | |
332 | + numeroPatrimonial: numeroPatrimonialInicial, | |
333 | + dominioSituacaoFisica: situacaoFisica, | |
334 | + dominioStatus: statusBem, | |
335 | + dataInicialGarantia: $scope.bemPatrimonial.dataInicialGarantia, | |
336 | + dataFinalGarantia: $scope.bemPatrimonial.dataFinalGarantia, | |
337 | + vidaUtilOriginal: $scope.bemPatrimonial.vidaUtilOriginal, | |
338 | + percentualNaoDepreciavel: $scope.bemPatrimonial.percentualNaoDepreciavel | |
339 | + }; | |
340 | + $scope.$modalInstance.dismiss('cancel'); | |
341 | + | |
342 | + if (quantidade >= 500){ | |
343 | + $scope.setLoading(true, $translate.instant('PATRIMONIO.MSG.SALVANDO_MATERIAIS_ENTRADA_PATRIMONIO_GRANDE_QTD')); | |
344 | + } | |
345 | + | |
346 | + BemPatrimonialTemporarioRepository.geraBensTemp(bemReferencia).then(function(result) { | |
347 | + | |
348 | + formEntradaItem.$submitted = false; | |
349 | + $scope.setLoading(false); | |
350 | + }); | |
351 | + }); | |
352 | + } else { | |
353 | + $scope.setLoading(false); | |
354 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
355 | + } | |
349 | 356 | }); |
350 | 357 | }else{ |
351 | 358 | $scope.setLoading(false); |
... | ... | @@ -671,7 +678,7 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
671 | 678 | item.checked ? $scope.qtdeChecked++ : null; |
672 | 679 | }); |
673 | 680 | } |
674 | - } | |
681 | + }; | |
675 | 682 | |
676 | 683 | // prepara a exclusao da entrada abrindo o modal de confirmacao |
677 | 684 | $scope.remove = function(workspace) { |
... | ... | @@ -1154,25 +1161,31 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1154 | 1161 | }); |
1155 | 1162 | |
1156 | 1163 | EntradaRepository.save($scope.entrada).then(function(result) { |
1164 | + if (result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
1165 | + $scope.setLoading(false); | |
1166 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
1167 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
1168 | + }); | |
1169 | + } else { | |
1170 | + $scope.entrada = result.originalElement; | |
1171 | + | |
1172 | + if ($scope.entrada.fornecedor) { | |
1173 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1174 | + } | |
1157 | 1175 | |
1158 | - $scope.entrada = result.originalElement; | |
1159 | - | |
1160 | - if ($scope.entrada.fornecedor) { | |
1161 | - $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1162 | - } | |
1163 | - | |
1164 | - $scope.setLoading(false); | |
1176 | + $scope.setLoading(false); | |
1165 | 1177 | |
1166 | - // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1167 | - salvarListaDocumentos(entradaTemp); | |
1178 | + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1179 | + salvarListaDocumentos(entradaTemp); | |
1168 | 1180 | |
1169 | - EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1170 | - $scope.itensDeEntrada = []; | |
1171 | - for (var i = 0; i < result.length; i++) { | |
1172 | - $scope.itensDeEntrada.push(result[i].originalElement); | |
1173 | - } | |
1174 | - $scope.calcularValorTotal(); | |
1175 | - }); | |
1181 | + EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1182 | + $scope.itensDeEntrada = []; | |
1183 | + for (var i = 0; i < result.length; i++) { | |
1184 | + $scope.itensDeEntrada.push(result[i].originalElement); | |
1185 | + } | |
1186 | + $scope.calcularValorTotal(); | |
1187 | + }); | |
1188 | + } | |
1176 | 1189 | }); |
1177 | 1190 | }); |
1178 | 1191 | |
... | ... | @@ -1333,46 +1346,53 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1333 | 1346 | |
1334 | 1347 | EntradaRepository.save($scope.entrada).then(function(result) { |
1335 | 1348 | |
1336 | - $scope.entrada = result.originalElement; | |
1337 | - | |
1338 | - if ($scope.entrada.fornecedor) { | |
1339 | - $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1340 | - } | |
1341 | - | |
1342 | - $scope.setLoading(false); | |
1343 | - | |
1344 | - // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1345 | - salvarListaDocumentos(entradaTemp); | |
1346 | - | |
1347 | - EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1348 | - $scope.itensDeEntrada = []; | |
1349 | - for (var i = 0; i < result.length; i++) { | |
1350 | - $scope.itensDeEntrada.push(result[i].originalElement); | |
1351 | - } | |
1352 | - $scope.calcularValorTotal(); | |
1353 | - | |
1354 | - | |
1355 | - var dataContabilAntiga = angular.copy($scope.entrada.dataContabil); | |
1356 | - | |
1357 | - $scope.setLoadingSalva(true); | |
1358 | - | |
1359 | - if (dataContabilAntiga && !dataContabil) { | |
1360 | - TransferenciaItemRepository.buscarTransferenciaComBensPatrimonaisDaEntrada($scope.entrada.id).then(function(result) { | |
1361 | - if (result.length > 0) { | |
1362 | - var transferencias = ""; | |
1363 | - for (var i = 0; i < result.length; i++) { | |
1364 | - transferencias += result[i] + "; "; | |
1365 | - } | |
1366 | - $scope.setLoading(false); | |
1367 | - $scope.showAlert('warning', $translate.instant('PATRIMONIO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_TRANSFERENCIA') + transferencias); | |
1368 | - } else { | |
1369 | - concluir(dataContabil); | |
1370 | - } | |
1371 | - }); | |
1372 | - } else { | |
1373 | - concluir(dataContabil); | |
1374 | - } | |
1375 | - }); | |
1349 | + if (result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
1350 | + $scope.setLoading(false); | |
1351 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
1352 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
1353 | + }); | |
1354 | + } else { | |
1355 | + $scope.entrada = result.originalElement; | |
1356 | + | |
1357 | + if ($scope.entrada.fornecedor) { | |
1358 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1359 | + } | |
1360 | + | |
1361 | + $scope.setLoading(false); | |
1362 | + | |
1363 | + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1364 | + salvarListaDocumentos(entradaTemp); | |
1365 | + | |
1366 | + EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1367 | + $scope.itensDeEntrada = []; | |
1368 | + for (var i = 0; i < result.length; i++) { | |
1369 | + $scope.itensDeEntrada.push(result[i].originalElement); | |
1370 | + } | |
1371 | + $scope.calcularValorTotal(); | |
1372 | + | |
1373 | + | |
1374 | + var dataContabilAntiga = angular.copy($scope.entrada.dataContabil); | |
1375 | + | |
1376 | + $scope.setLoadingSalva(true); | |
1377 | + | |
1378 | + if (dataContabilAntiga && !dataContabil) { | |
1379 | + TransferenciaItemRepository.buscarTransferenciaComBensPatrimonaisDaEntrada($scope.entrada.id).then(function(result) { | |
1380 | + if (result.length > 0) { | |
1381 | + var transferencias = ""; | |
1382 | + for (var i = 0; i < result.length; i++) { | |
1383 | + transferencias += result[i] + "; "; | |
1384 | + } | |
1385 | + $scope.setLoading(false); | |
1386 | + $scope.showAlert('warning', $translate.instant('PATRIMONIO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_TRANSFERENCIA') + transferencias); | |
1387 | + } else { | |
1388 | + concluir(dataContabil); | |
1389 | + } | |
1390 | + }); | |
1391 | + } else { | |
1392 | + concluir(dataContabil); | |
1393 | + } | |
1394 | + }); | |
1395 | + } | |
1376 | 1396 | }); |
1377 | 1397 | |
1378 | 1398 | } else { |
... | ... | @@ -1882,8 +1902,8 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1882 | 1902 | |
1883 | 1903 | // Controla se o usuario pode avancar o fluxo no wizard, validando os itens obrigatórios |
1884 | 1904 | function permiteAvancoFluxo() { |
1885 | - | |
1886 | - $scope.permitidoAvancar = true; | |
1905 | + | |
1906 | + $scope.permitidoAvancar = true; | |
1887 | 1907 | $scope.dadosEntradaForm.$submitted = false; |
1888 | 1908 | $scope.materiaisEntradaForm.$submitted = false; |
1889 | 1909 | $scope.bensPatrimoniaisMaterialForm.$submitted = false; |
... | ... | @@ -1943,7 +1963,7 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1943 | 1963 | |
1944 | 1964 | } |
1945 | 1965 | |
1946 | - if (!$scope.permitidoAvancar && !$scope.stepValid) { | |
1966 | + if (!$scope.permitidoAvancar && !$scope.stepValid && !$scope.organizacao.emFechamento) { | |
1947 | 1967 | |
1948 | 1968 | //Mensagem de erro de campos obrigatorios nao preenchidos |
1949 | 1969 | $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); |
... | ... | @@ -1971,44 +1991,48 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1971 | 1991 | $scope.setCurrentStep = function(step) { |
1972 | 1992 | |
1973 | 1993 | $scope.setLoadingGet(true); |
1974 | - | |
1975 | - // Condicional apenas porque as datas perdem o formato na mudanca de passos | |
1976 | - if (step === 0) { | |
1977 | - | |
1978 | - $scope.entrada.dataRecebimento = $filter('date')($scope.entrada.dataRecebimento, "dd/MM/yyyy"); | |
1979 | - $scope.entrada.dataContabil = $filter('date')($scope.entrada.dataContabil, "dd/MM/yyyy"); | |
1980 | - $scope.entrada.dataReferencia = $filter('date')($scope.entrada.dataReferencia, "dd/MM/yyyy"); | |
1981 | - if ($scope.entrada.fornecedor) { | |
1982 | - $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1983 | - } | |
1984 | - | |
1985 | - $scope.associarCaracteristicas = false; | |
1986 | - } | |
1987 | - | |
1988 | - if (step <= ($scope.step - 1)) { | |
1989 | - | |
1990 | - $scope.step = step; | |
1991 | - | |
1992 | - } else { | |
1993 | - | |
1994 | - if (!$scope.edit) { | |
1995 | - | |
1996 | - $scope.permitidoAvancar = true; | |
1997 | - | |
1998 | - } else { | |
1999 | - | |
2000 | - permiteAvancoFluxo(); | |
2001 | - | |
2002 | - } | |
2003 | - | |
2004 | - if ($scope.permitidoAvancar) { | |
2005 | - | |
2006 | - $scope.step = step; | |
2007 | - | |
2008 | - } | |
2009 | - } | |
2010 | - | |
2011 | - $scope.setLoading(false); | |
1994 | + | |
1995 | + OrganizacaoRepository.get($scope.usuarioLogado.organizacao.id).then(function (result) { | |
1996 | + $scope.organizacao = result.originalElement; | |
1997 | + | |
1998 | + // Condicional apenas porque as datas perdem o formato na mudanca de passos | |
1999 | + if (step === 0) { | |
2000 | + | |
2001 | + $scope.entrada.dataRecebimento = $filter('date')($scope.entrada.dataRecebimento, "dd/MM/yyyy"); | |
2002 | + $scope.entrada.dataContabil = $filter('date')($scope.entrada.dataContabil, "dd/MM/yyyy"); | |
2003 | + $scope.entrada.dataReferencia = $filter('date')($scope.entrada.dataReferencia, "dd/MM/yyyy"); | |
2004 | + if ($scope.entrada.fornecedor) { | |
2005 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
2006 | + } | |
2007 | + | |
2008 | + $scope.associarCaracteristicas = false; | |
2009 | + } | |
2010 | + | |
2011 | + if (step <= ($scope.step - 1)) { | |
2012 | + | |
2013 | + $scope.step = step; | |
2014 | + | |
2015 | + } else { | |
2016 | + | |
2017 | + if (!$scope.edit) { | |
2018 | + | |
2019 | + $scope.permitidoAvancar = true; | |
2020 | + | |
2021 | + } else { | |
2022 | + | |
2023 | + permiteAvancoFluxo(); | |
2024 | + | |
2025 | + } | |
2026 | + | |
2027 | + if ($scope.permitidoAvancar) { | |
2028 | + | |
2029 | + $scope.step = step; | |
2030 | + | |
2031 | + } | |
2032 | + } | |
2033 | + | |
2034 | + $scope.setLoading(false); | |
2035 | + }); | |
2012 | 2036 | |
2013 | 2037 | }; |
2014 | 2038 | |
... | ... | @@ -2049,7 +2073,10 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2049 | 2073 | $scope.handleNext = function () { |
2050 | 2074 | |
2051 | 2075 | |
2052 | - $scope.setLoadingGet(true); | |
2076 | + $scope.setLoadingGet(true); | |
2077 | + | |
2078 | + OrganizacaoRepository.get($scope.usuarioLogado.organizacao.id).then(function (result) { | |
2079 | + $scope.organizacao = result.originalElement; | |
2053 | 2080 | |
2054 | 2081 | if(!$scope.edit){ |
2055 | 2082 | |
... | ... | @@ -2068,60 +2095,72 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2068 | 2095 | } |
2069 | 2096 | |
2070 | 2097 | $scope.setLoading(false); |
2098 | + }); | |
2071 | 2099 | |
2072 | 2100 | }; |
2073 | 2101 | |
2074 | 2102 | |
2075 | 2103 | // Funcao especifica que retorna se o formulario de dados da entrada esta valido |
2076 | 2104 | function validStepDadosEntrada() { |
2105 | + $scope.stepValid = true; | |
2106 | + if (!$scope.organizacao.emFechamento) { | |
2107 | + | |
2108 | + if ($scope.dadosEntradaForm.$invalid) { | |
2077 | 2109 | |
2078 | - $scope.stepValid = true; | |
2110 | + $scope.stepValid = false; | |
2079 | 2111 | |
2080 | - if ($scope.dadosEntradaForm.$invalid) { | |
2112 | + } else if ($scope.entrada.dataContabil) { | |
2081 | 2113 | |
2082 | - $scope.stepValid = false; | |
2114 | + if (!$scope.validarDataTransferencia($scope.entrada.dataContabil)) { | |
2083 | 2115 | |
2084 | - } else if ($scope.entrada.dataContabil) { | |
2116 | + $scope.permitidoAvancar = false; | |
2117 | + $scope.showAlert('error', $translate.instant('MSG.MN019')); | |
2118 | + } | |
2085 | 2119 | |
2086 | - if (!$scope.validarDataTransferencia($scope.entrada.dataContabil)) { | |
2120 | + } else if (!validarDataRecebimento($scope.entrada.dataRecebimento)) { | |
2087 | 2121 | |
2088 | 2122 | $scope.permitidoAvancar = false; |
2089 | - $scope.showAlert('error', $translate.instant('MSG.MN019')); | |
2090 | - } | |
2091 | - | |
2092 | - } else if (!validarDataRecebimento($scope.entrada.dataRecebimento)) { | |
2123 | + $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.DATA_RECEBIMENTO')); | |
2093 | 2124 | |
2094 | - $scope.permitidoAvancar = false; | |
2095 | - $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.DATA_RECEBIMENTO')); | |
2096 | - | |
2097 | - } | |
2125 | + } | |
2098 | 2126 | |
2099 | - return $scope.stepValid; | |
2127 | + return $scope.stepValid; | |
2128 | + } else { | |
2129 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2130 | + | |
2131 | + $scope.permitidoAvancar = false; | |
2132 | + return $scope.stepValid; | |
2133 | + } | |
2100 | 2134 | |
2101 | 2135 | }; |
2102 | 2136 | |
2103 | 2137 | // Funcao especifica que retorna se o formulario de materiais da entrada esta valido |
2104 | 2138 | function validStepMateriaisEntrada() { |
2139 | + $scope.stepValid = true; | |
2140 | + if (!$scope.organizacao.emFechamento) { | |
2105 | 2141 | |
2106 | - $scope.stepValid = true; | |
2107 | - | |
2108 | - if($scope.materiaisEntradaForm.$invalid){ | |
2142 | + if($scope.materiaisEntradaForm.$invalid){ | |
2109 | 2143 | |
2110 | - $scope.stepValid = false; | |
2144 | + $scope.stepValid = false; | |
2111 | 2145 | |
2112 | - } else if ($scope.itensDeEntrada && $scope.itensDeEntrada.length === 0){ | |
2146 | + } else if ($scope.itensDeEntrada && $scope.itensDeEntrada.length === 0){ | |
2113 | 2147 | |
2114 | - $scope.stepValid = false; | |
2115 | - $scope.permitidoAvancar = false; | |
2116 | - | |
2117 | - } else if($scope.entrada.valorTotalNota < $scope.valorTotalLancado) { | |
2118 | - | |
2119 | - $scope.showAlert('error', $translate.instant('ALMOXARIFADO.VALIDACAO.NOTA_FISCAL_IGUAL_VALOR_INFORMADO')); | |
2120 | - $scope.permitidoAvancar = false; | |
2121 | - } | |
2148 | + $scope.stepValid = false; | |
2149 | + $scope.permitidoAvancar = false; | |
2122 | 2150 | |
2123 | - return $scope.stepValid; | |
2151 | + } else if($scope.entrada.valorTotalNota < $scope.valorTotalLancado) { | |
2152 | + | |
2153 | + $scope.showAlert('error', $translate.instant('ALMOXARIFADO.VALIDACAO.NOTA_FISCAL_IGUAL_VALOR_INFORMADO')); | |
2154 | + $scope.permitidoAvancar = false; | |
2155 | + } | |
2124 | 2156 | |
2157 | + return $scope.stepValid; | |
2158 | + } else { | |
2159 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2160 | + | |
2161 | + $scope.permitidoAvancar = false; | |
2162 | + return $scope.stepValid; | |
2163 | + } | |
2125 | 2164 | }; |
2126 | 2165 | |
2127 | 2166 | // Funcao especifica que retorna se o formulario de bens Patrimoniais esta valido |
... | ... | @@ -2140,15 +2179,21 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2140 | 2179 | // Funcao especifica que retorna se o formulario de documentos da entrada esta valido |
2141 | 2180 | function validStepDocumentosEntrada() { |
2142 | 2181 | |
2143 | - $scope.stepValid = true; | |
2182 | + $scope.stepValid = true; | |
2183 | + if (!$scope.organizacao.emFechamento) { | |
2144 | 2184 | |
2185 | + if ($scope.documentosEntradaForm.$invalid || !$scope.entrada.documentos.length > 0){ | |
2145 | 2186 | |
2146 | - if ($scope.documentosEntradaForm.$invalid || !$scope.entrada.documentos.length > 0){ | |
2147 | - | |
2148 | - $scope.stepValid = false; | |
2149 | - } | |
2187 | + $scope.stepValid = false; | |
2188 | + } | |
2150 | 2189 | |
2151 | - return $scope.stepValid; | |
2190 | + return $scope.stepValid; | |
2191 | + } else { | |
2192 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2193 | + | |
2194 | + $scope.permitidoAvancar = false; | |
2195 | + return $scope.stepValid; | |
2196 | + } | |
2152 | 2197 | |
2153 | 2198 | };; |
2154 | 2199 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/html/entrada/entradaList.html
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | <div class="bar-buttons-action fixed"> |
4 | 4 | <div class="row"> |
5 | 5 | <div class="col-sm-9 text-left"> |
6 | - <button title="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" alt="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" class="btn btn-clear" type="button" ng-click="$showPageEditWorkspace(workspace); resetForm(); cadastrarNovaEntrada();"> | |
6 | + <button title="{{$translate.instant('PORTAL.LABEL.ADICIONAR_NOVO')}}" alt="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" class="btn btn-clear" type="button" ng-click="$showPageEditWorkspace(workspace); resetForm(); cadastrarNovaEntrada();"> | |
7 | 7 | <i class="fa fa-plus-circle yellow-dark"></i> |
8 | 8 | <translate>LABEL.CADASTRAR</translate> |
9 | 9 | </button> | ... | ... |