Commit 3b5996259a658553bd4e75c375854e92a1ba4b85
Exists in
master
Merge branch 'master' into adm-1.13.0
Showing
20 changed files
with
989 additions
and
495 deletions
Show diff stats
citgrp-patrimonio-api/src/main/resources/scripts-bd/postgres/v1.13.0/01-cit-patrimonio-v1.13.0-postgres.sql
... | ... | @@ -8,6 +8,10 @@ UPDATE menufile |
8 | 8 | SET caminho = '/citgrp-patrimonio-web/assets/js/angular/custom/repository/OrganizacaoPatrimonioRepository.min.js' |
9 | 9 | WHERE caminho = '/cit-adm-materiais-web/assets/js/angular/custom/repository/OrganizacaoAdmMateriaisRepository.min.js'; |
10 | 10 | |
11 | +-- Geovane 13/04/2016 | |
12 | +-- Adicionando atributo para verificação de quando a organização estiver em fechamento de mês | |
13 | +ALTER TABLE organizacao ADD COLUMN emFechamento boolean NOT NULL default(false); | |
14 | + | |
11 | 15 | -- Thiago 14/04/2016 |
12 | 16 | -- Adicionada a coluna 'iscontabilizada' a tabela 'entrada' e 'entrada_aud' |
13 | 17 | alter table | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BaixaController.java
... | ... | @@ -4,6 +4,7 @@ import org.apache.commons.lang3.SerializationUtils; |
4 | 4 | import org.hibernate.exception.ConstraintViolationException; |
5 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
6 | 6 | import org.springframework.stereotype.Controller; |
7 | +import org.springframework.web.bind.annotation.PathVariable; | |
7 | 8 | import org.springframework.web.bind.annotation.RequestBody; |
8 | 9 | import org.springframework.web.bind.annotation.RequestMapping; |
9 | 10 | import org.springframework.web.bind.annotation.RequestMethod; |
... | ... | @@ -11,10 +12,14 @@ import org.springframework.web.bind.annotation.RequestParam; |
11 | 12 | import org.springframework.web.bind.annotation.ResponseBody; |
12 | 13 | |
13 | 14 | import br.com.centralit.api.model.BaixaPatrimonio; |
15 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
16 | +import br.com.centralit.api.model.MyRetornoStatus; | |
14 | 17 | import br.com.centralit.api.service.BaixaService; |
18 | +import br.com.centralit.api.service.OrganizacaoService; | |
15 | 19 | import br.com.centralit.framework.controller.GenericController; |
16 | 20 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
17 | 21 | import br.com.centralit.framework.json.Views; |
22 | +import br.com.centralit.framework.model.Organizacao; | |
18 | 23 | import br.com.centralit.framework.util.UtilDate; |
19 | 24 | |
20 | 25 | /** |
... | ... | @@ -46,6 +51,9 @@ import br.com.centralit.framework.util.UtilDate; |
46 | 51 | public class BaixaController extends GenericController<BaixaPatrimonio> { |
47 | 52 | |
48 | 53 | private BaixaService baixaService; |
54 | + | |
55 | + @Autowired | |
56 | + private OrganizacaoService organizacaoService; | |
49 | 57 | |
50 | 58 | public BaixaController() { |
51 | 59 | super(); |
... | ... | @@ -83,32 +91,87 @@ public class BaixaController extends GenericController<BaixaPatrimonio> { |
83 | 91 | @RequestMapping(method = RequestMethod.POST, value = "") |
84 | 92 | @ResponseBody |
85 | 93 | public ResponseBodyWrapper save(@RequestBody BaixaPatrimonio entity) throws Exception{ |
86 | - boolean uniqueConstraintViolate = true; | |
87 | - | |
88 | - BaixaPatrimonio baixa = new BaixaPatrimonio(); | |
89 | - | |
90 | - //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 | |
91 | - for(int i = 5; i > 0 && uniqueConstraintViolate; i--){ | |
92 | - try{ | |
93 | - baixa = this.baixaService.save(SerializationUtils.clone(entity)); | |
94 | - uniqueConstraintViolate = false; | |
95 | - }catch(Throwable e){ | |
96 | - if(e.getCause() instanceof ConstraintViolationException){ | |
97 | - ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
98 | - if(ex.getSQLException().getMessage().contains("codigo_unico")){ | |
99 | - uniqueConstraintViolate = true; | |
94 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
95 | + | |
96 | + if (!organizacao.getEmFechamento()) { | |
97 | + | |
98 | + boolean uniqueConstraintViolate = true; | |
99 | + | |
100 | + BaixaPatrimonio baixa = new BaixaPatrimonio(); | |
101 | + | |
102 | + //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 | |
103 | + for(int i = 5; i > 0 && uniqueConstraintViolate; i--){ | |
104 | + try{ | |
105 | + baixa = this.baixaService.save(SerializationUtils.clone(entity)); | |
106 | + uniqueConstraintViolate = false; | |
107 | + }catch(Throwable e){ | |
108 | + if(e.getCause() instanceof ConstraintViolationException){ | |
109 | + ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
110 | + if(ex.getSQLException().getMessage().contains("codigo_unico")){ | |
111 | + uniqueConstraintViolate = true; | |
112 | + }else{ | |
113 | + throw e; | |
114 | + } | |
100 | 115 | }else{ |
101 | 116 | throw e; |
102 | 117 | } |
103 | - }else{ | |
104 | - throw e; | |
105 | 118 | } |
106 | 119 | } |
120 | + | |
121 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(baixa, getEditView()); | |
122 | + | |
123 | + return responseBody; | |
124 | + | |
125 | + } else { | |
126 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
127 | + retorno.data = entity; | |
128 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
129 | + | |
130 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
131 | + | |
132 | + return responseBody; | |
107 | 133 | } |
134 | + } | |
135 | + | |
136 | + @RequestMapping(method = RequestMethod.POST, value = "/update") | |
137 | + @ResponseBody | |
138 | + public ResponseBodyWrapper update(@RequestBody BaixaPatrimonio objeto) { | |
139 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
140 | + | |
141 | + if (!organizacao.getEmFechamento()) { | |
142 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.baixaService.merge(objeto), getEditView()); | |
143 | + | |
144 | + return responseBody; | |
145 | + } else { | |
146 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
147 | + retorno.data = objeto; | |
148 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
149 | + | |
150 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
151 | + | |
152 | + return responseBody; | |
153 | + } | |
154 | + } | |
155 | + | |
156 | + @RequestMapping(method = RequestMethod.DELETE, value = "/{id}") | |
157 | + @ResponseBody | |
158 | + public ResponseBodyWrapper delete(@PathVariable("id") Long id) { | |
108 | 159 | |
109 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(baixa, getEditView()); | |
110 | - | |
111 | - return responseBody; | |
160 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
161 | + | |
162 | + if (!organizacao.getEmFechamento()) { | |
163 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(baixaService.removeById(id), getEditView()); | |
164 | + | |
165 | + return responseBody; | |
166 | + } else { | |
167 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
168 | + retorno.data = id; | |
169 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
170 | + | |
171 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
172 | + | |
173 | + return responseBody; | |
174 | + } | |
112 | 175 | } |
113 | 176 | |
114 | 177 | @RequestMapping(value = "/findIdsBemPatrimonialPorData", method = RequestMethod.GET, produces = "application/json") | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BaixaItemController.java
... | ... | @@ -8,11 +8,15 @@ import org.springframework.web.bind.annotation.RequestMethod; |
8 | 8 | import org.springframework.web.bind.annotation.ResponseBody; |
9 | 9 | |
10 | 10 | import br.com.centralit.api.model.BaixaPatrimonioItem; |
11 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
12 | +import br.com.centralit.api.model.MyRetornoStatus; | |
11 | 13 | import br.com.centralit.api.service.BaixaItemService; |
14 | +import br.com.centralit.api.service.OrganizacaoService; | |
12 | 15 | import br.com.centralit.api.viewHelper.EstornoBaixaItemVH; |
13 | 16 | import br.com.centralit.framework.controller.GenericController; |
14 | 17 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
15 | 18 | import br.com.centralit.framework.json.Views; |
19 | +import br.com.centralit.framework.model.Organizacao; | |
16 | 20 | |
17 | 21 | /** |
18 | 22 | * <p> |
... | ... | @@ -43,6 +47,9 @@ import br.com.centralit.framework.json.Views; |
43 | 47 | public class BaixaItemController extends GenericController<BaixaPatrimonioItem> { |
44 | 48 | |
45 | 49 | private BaixaItemService baixaItemService; |
50 | + | |
51 | + @Autowired | |
52 | + private OrganizacaoService organizacaoService; | |
46 | 53 | |
47 | 54 | public BaixaItemController() { |
48 | 55 | super(); |
... | ... | @@ -74,10 +81,22 @@ public class BaixaItemController extends GenericController<BaixaPatrimonioItem> |
74 | 81 | @RequestMapping(method = RequestMethod.POST, value = "/estornarListaBaixaItem") |
75 | 82 | @ResponseBody |
76 | 83 | public ResponseBodyWrapper estornarListaBaixaItem(@RequestBody EstornoBaixaItemVH estornoBaixaItemVH) throws Exception { |
84 | + | |
85 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
86 | + | |
87 | + if (!organizacao.getEmFechamento()) { | |
88 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.baixaItemService.estornarItensBaixa(estornoBaixaItemVH), getEditView()); | |
89 | + | |
90 | + return responseBody; | |
91 | + } else { | |
92 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
93 | + retorno.data = estornoBaixaItemVH; | |
94 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
77 | 95 | |
78 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.baixaItemService.estornarItensBaixa(estornoBaixaItemVH), getEditView()); | |
96 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
79 | 97 | |
80 | - return responseBody; | |
98 | + return responseBody; | |
99 | + } | |
81 | 100 | } |
82 | 101 | |
83 | 102 | /** | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java
... | ... | @@ -20,10 +20,12 @@ import org.springframework.web.bind.annotation.ResponseBody; |
20 | 20 | import br.com.centralit.api.model.BemPatrimonial; |
21 | 21 | import br.com.centralit.api.model.EntradaPatrimonioItem; |
22 | 22 | import br.com.centralit.api.model.InventarioBemPatrimonial; |
23 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
23 | 24 | import br.com.centralit.api.model.MyRetornoStatus; |
24 | 25 | import br.com.centralit.api.service.AdicaoBemPrincipalService; |
25 | 26 | import br.com.centralit.api.service.BemPatrimonialService; |
26 | 27 | import br.com.centralit.api.service.EntradaItemService; |
28 | +import br.com.centralit.api.service.OrganizacaoService; | |
27 | 29 | import br.com.centralit.api.service.UsuarioService; |
28 | 30 | import br.com.centralit.api.viewHelper.AlteracaoBemVH; |
29 | 31 | import br.com.centralit.api.viewHelper.BemPatrimonialVH; |
... | ... | @@ -31,6 +33,7 @@ import br.com.centralit.api.viewHelper.TratamentoInconsistenciaVH; |
31 | 33 | import br.com.centralit.framework.controller.GenericController; |
32 | 34 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
33 | 35 | import br.com.centralit.framework.json.Views; |
36 | +import br.com.centralit.framework.model.Organizacao; | |
34 | 37 | import br.com.centralit.framework.util.UtilDate; |
35 | 38 | import br.com.centralit.framework.util.UtilObjeto; |
36 | 39 | |
... | ... | @@ -48,6 +51,9 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial> |
48 | 51 | |
49 | 52 | @Autowired |
50 | 53 | private UsuarioService usuarioService; |
54 | + | |
55 | + @Autowired | |
56 | + private OrganizacaoService organizacaoService; | |
51 | 57 | |
52 | 58 | public BemPatrimonialController() { |
53 | 59 | |
... | ... | @@ -173,10 +179,24 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial> |
173 | 179 | @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "alterarBem") |
174 | 180 | @ResponseBody |
175 | 181 | public ResponseBodyWrapper alterarBem(@RequestBody AlteracaoBemVH alteracaoBemVH) throws Exception { |
182 | + | |
183 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
176 | 184 | |
177 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarBemPatrimonial(alteracaoBemVH), getEditView()); | |
185 | + if (!organizacao.getEmFechamento()) { | |
178 | 186 | |
179 | - return responseBody; | |
187 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarBemPatrimonial(alteracaoBemVH), getEditView()); | |
188 | + | |
189 | + return responseBody; | |
190 | + | |
191 | + } else { | |
192 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
193 | + retorno.data = alteracaoBemVH; | |
194 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
195 | + | |
196 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
197 | + | |
198 | + return responseBody; | |
199 | + } | |
180 | 200 | } |
181 | 201 | |
182 | 202 | @RequestMapping(value = "/findSequencia", method = RequestMethod.GET, produces = "application/json") |
... | ... | @@ -523,19 +543,46 @@ public class BemPatrimonialController extends GenericController<BemPatrimonial> |
523 | 543 | @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/alterarListaBemInconsistenciaTipo2") |
524 | 544 | @ResponseBody |
525 | 545 | public ResponseBodyWrapper alterarListaBemInconsistenciaTipo2(@RequestBody TratamentoInconsistenciaVH tratamentoInconsistenciaVH) throws Exception { |
546 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
526 | 547 | |
527 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo2(tratamentoInconsistenciaVH), getEditView()); | |
548 | + if (!organizacao.getEmFechamento()) { | |
528 | 549 | |
529 | - return responseBody; | |
550 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo2(tratamentoInconsistenciaVH), getEditView()); | |
551 | + | |
552 | + return responseBody; | |
553 | + | |
554 | + } else { | |
555 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
556 | + retorno.data = tratamentoInconsistenciaVH; | |
557 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
558 | + | |
559 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
560 | + | |
561 | + return responseBody; | |
562 | + } | |
530 | 563 | } |
531 | 564 | |
532 | 565 | @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/alterarListaBemInconsistenciaTipo1") |
533 | 566 | @ResponseBody |
534 | 567 | public ResponseBodyWrapper alterarListaBemInconsistenciaTipo1(@RequestBody TratamentoInconsistenciaVH tratamentoInconsistenciaVH) throws Exception { |
568 | + | |
569 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
535 | 570 | |
536 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView()); | |
571 | + if (!organizacao.getEmFechamento() && UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa())) { | |
537 | 572 | |
538 | - return responseBody; | |
573 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView()); | |
574 | + | |
575 | + return responseBody; | |
576 | + | |
577 | + } else { | |
578 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
579 | + retorno.data = tratamentoInconsistenciaVH; | |
580 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
581 | + | |
582 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
583 | + | |
584 | + return responseBody; | |
585 | + } | |
539 | 586 | } |
540 | 587 | |
541 | 588 | @RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/alterarListaBemInconsistenciaTipo10") | ... | ... |
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,44 @@ 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 | + } | |
229 | + } | |
230 | + | |
231 | + @RequestMapping(method = RequestMethod.DELETE, value = "/{id}") | |
232 | + @ResponseBody | |
233 | + public ResponseBodyWrapper delete(@PathVariable("id") Long id) { | |
234 | + | |
235 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
236 | + | |
237 | + if (!organizacao.getEmFechamento()) { | |
238 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(entradaService.removeById(id), getEditView()); | |
239 | + | |
240 | + return responseBody; | |
241 | + } else { | |
242 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
243 | + retorno.data = id; | |
244 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
245 | + | |
246 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
247 | + | |
248 | + return responseBody; | |
249 | + } | |
175 | 250 | } |
176 | 251 | |
177 | 252 | @RequestMapping(value = "/{id}", method = RequestMethod.GET) |
... | ... | @@ -180,11 +255,11 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
180 | 255 | |
181 | 256 | List<BemPatrimonial> listaBemPatrimopnial = null; |
182 | 257 | EntradaPatrimonio entrada = this.entradaService.find(id); |
183 | - if(entrada.getEntradasIten() != null){ | |
258 | + if (entrada.getEntradasIten() != null) { | |
184 | 259 | for (EntradaPatrimonioItem entradaItem : entrada.getEntradasIten()) { |
185 | 260 | listaBemPatrimopnial = new ArrayList<BemPatrimonial>(); |
186 | 261 | for (BemPatrimonial bemPatrimonial : entradaItem.getBensPatrimoniais()) { |
187 | - if(bemPatrimonial.getDataInativo() == null){ | |
262 | + if (bemPatrimonial.getDataInativo() == null) { | |
188 | 263 | listaBemPatrimopnial.add(bemPatrimonial); |
189 | 264 | } |
190 | 265 | } |
... | ... | @@ -198,24 +273,26 @@ public class EntradaController extends GenericController<EntradaPatrimonio> { |
198 | 273 | |
199 | 274 | return responseBody; |
200 | 275 | } |
201 | - | |
276 | + | |
202 | 277 | @RequestMapping(value = "/existemBemSemDataContabil", method = RequestMethod.GET, produces = "application/json") |
203 | 278 | @ResponseBody |
204 | 279 | public boolean existemBemSemDataContabil(@RequestParam(value = "idEntrada") Long idEntrada) { |
280 | + | |
205 | 281 | return this.entradaService.existeBemSemDataContabil(idEntrada); |
206 | - } | |
207 | - | |
282 | + } | |
283 | + | |
208 | 284 | @RequestMapping(method = RequestMethod.GET, value = "/validaExistenciaBemMaterialEntrada", produces = "application/json") |
209 | 285 | @ResponseBody |
210 | 286 | public boolean validaExistenciaBemMaterialEntrada(@RequestParam(value = "idEntrada", required = false) Long idEntrada) { |
287 | + | |
211 | 288 | return entradaService.verificaExistenciaBensPatrimoniaisEntrada(idEntrada); |
212 | 289 | } |
213 | - | |
290 | + | |
214 | 291 | @RequestMapping(method = RequestMethod.GET, value = "/verificaExistenciaBemPatrimonialTemporarioEntrada", produces = "application/json") |
215 | 292 | @ResponseBody |
216 | 293 | public boolean verificaExistenciaBemPatrimonialTemporario(@RequestParam(value = "idEntrada", required = false) Long idEntrada) { |
294 | + | |
217 | 295 | return entradaService.verificaExistenciaBensPatrimoniaisTemporariosEntrada(idEntrada); |
218 | 296 | } |
219 | - | |
220 | - | |
297 | + | |
221 | 298 | } | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/EntradaItemController.java
... | ... | @@ -2,16 +2,21 @@ package br.com.centralit.controller; |
2 | 2 | |
3 | 3 | import org.springframework.beans.factory.annotation.Autowired; |
4 | 4 | import org.springframework.stereotype.Controller; |
5 | +import org.springframework.web.bind.annotation.PathVariable; | |
5 | 6 | import org.springframework.web.bind.annotation.RequestMapping; |
6 | 7 | import org.springframework.web.bind.annotation.RequestMethod; |
7 | 8 | import org.springframework.web.bind.annotation.RequestParam; |
8 | 9 | import org.springframework.web.bind.annotation.ResponseBody; |
9 | 10 | |
10 | 11 | import br.com.centralit.api.model.EntradaPatrimonioItem; |
12 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
13 | +import br.com.centralit.api.model.MyRetornoStatus; | |
11 | 14 | import br.com.centralit.api.service.EntradaItemService; |
15 | +import br.com.centralit.api.service.OrganizacaoService; | |
12 | 16 | import br.com.centralit.framework.controller.GenericController; |
13 | 17 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
14 | 18 | import br.com.centralit.framework.json.Views; |
19 | +import br.com.centralit.framework.model.Organizacao; | |
15 | 20 | |
16 | 21 | |
17 | 22 | /** |
... | ... | @@ -40,6 +45,9 @@ public class EntradaItemController extends GenericController<EntradaPatrimonioIt |
40 | 45 | |
41 | 46 | |
42 | 47 | private EntradaItemService entradaItemService; |
48 | + | |
49 | + @Autowired | |
50 | + private OrganizacaoService organizacaoService; | |
43 | 51 | |
44 | 52 | public EntradaItemController() { |
45 | 53 | super(); |
... | ... | @@ -65,6 +73,27 @@ public class EntradaItemController extends GenericController<EntradaPatrimonioIt |
65 | 73 | |
66 | 74 | return Views.EntradaItemEditView.class; |
67 | 75 | } |
76 | + | |
77 | + @RequestMapping(method = RequestMethod.DELETE, value = "/{id}") | |
78 | + @ResponseBody | |
79 | + public ResponseBodyWrapper delete(@PathVariable("id") Long id) { | |
80 | + | |
81 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
82 | + | |
83 | + if (!organizacao.getEmFechamento()) { | |
84 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(entradaItemService.removeById(id), getEditView()); | |
85 | + | |
86 | + return responseBody; | |
87 | + } else { | |
88 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
89 | + retorno.data = id; | |
90 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
91 | + | |
92 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
93 | + | |
94 | + return responseBody; | |
95 | + } | |
96 | + } | |
68 | 97 | |
69 | 98 | /** |
70 | 99 | * | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java
... | ... | @@ -106,53 +106,70 @@ public class OrganizacaoPatrimonioController { |
106 | 106 | Organizacao organizacao = this.organizacaoService.find(requisicaoFechamento.get("organizacao")); |
107 | 107 | Long tipoDepreciacaoCodigo = requisicaoFechamento.get("tipoDepreciacao"); |
108 | 108 | |
109 | - MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); | |
110 | - | |
111 | - MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); | |
112 | - | |
113 | - retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId()); | |
114 | - retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO")); | |
115 | - | |
116 | - if(!retornoBensNaEstruturaAlmoxarifado.status) { | |
117 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); | |
118 | - return responseBody; | |
119 | - } | |
120 | - | |
121 | - retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId()); | |
122 | - | |
123 | - MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); | |
124 | - retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao); | |
125 | - | |
126 | - if (retornoFechamentoBens.status && retornoFechamentoContas.status) { | |
127 | - MyRetornoStatus retornoDepreciacao = new MyRetornoStatus(); | |
128 | - | |
129 | - Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); | |
130 | - | |
131 | - Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); | |
132 | - | |
133 | - if (depreciacao != null) { | |
134 | - retornoDepreciacao = new MyRetornoStatus(depreciacao); | |
135 | - } else { | |
136 | - if (tipoDepreciacao == null) { | |
137 | - MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO"); | |
138 | - retornoDepreciacao.mensagens.add(mensagem); | |
109 | + if (!organizacao.getEmFechamento()) { | |
110 | + try { | |
111 | + this.organizacaoService.iniciarFechamentoDeMes(organizacao.getId()); | |
112 | + | |
113 | + MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); | |
114 | + | |
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")); | |
119 | + | |
120 | + if(!retornoBensNaEstruturaAlmoxarifado.status) { | |
121 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); | |
122 | + return responseBody; | |
139 | 123 | } |
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 | + } | |
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; | |
140 | 164 | } |
165 | + } else { | |
166 | + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); | |
167 | + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
168 | + | |
169 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); | |
141 | 170 | |
142 | - if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia | |
143 | - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO")); | |
144 | - organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1); | |
145 | - this.organizacaoService.merge(organizacao); | |
146 | - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA")); | |
147 | - } else { | |
148 | - retornoFechamentoContas.status = retornoDepreciacao.status; | |
149 | - retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); | |
150 | - } | |
171 | + return responseBody; | |
151 | 172 | } |
152 | - | |
153 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); | |
154 | - | |
155 | - return responseBody; | |
156 | 173 | } |
157 | 174 | |
158 | 175 | } |
159 | 176 | \ No newline at end of file | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java
... | ... | @@ -37,11 +37,14 @@ import org.springframework.web.bind.annotation.RequestMethod; |
37 | 37 | import org.springframework.web.bind.annotation.RequestParam; |
38 | 38 | import org.springframework.web.bind.annotation.ResponseBody; |
39 | 39 | |
40 | +import br.com.centralit.api.model.MyMensagemRetorno; | |
41 | +import br.com.centralit.api.model.MyRetornoStatus; | |
40 | 42 | import br.com.centralit.api.model.Transferencia; |
41 | 43 | import br.com.centralit.api.model.TransferenciaItem; |
42 | 44 | import br.com.centralit.api.service.BemPatrimonialService; |
43 | 45 | import br.com.centralit.api.service.DominioService; |
44 | 46 | import br.com.centralit.api.service.InternacionalizacaoService; |
47 | +import br.com.centralit.api.service.OrganizacaoService; | |
45 | 48 | import br.com.centralit.api.service.TransferenciaItemService; |
46 | 49 | import br.com.centralit.api.service.TransferenciaService; |
47 | 50 | import br.com.centralit.api.service.UsuarioService; |
... | ... | @@ -53,6 +56,7 @@ import br.com.centralit.framework.json.Views; |
53 | 56 | import br.com.centralit.framework.json.Views.TransferenciaEditView; |
54 | 57 | import br.com.centralit.framework.json.Views.TransferenciaListView; |
55 | 58 | import br.com.centralit.framework.model.Dominio; |
59 | +import br.com.centralit.framework.model.Organizacao; | |
56 | 60 | import br.com.centralit.framework.model.Usuario; |
57 | 61 | import br.com.centralit.framework.util.UtilColecao; |
58 | 62 | import br.com.centralit.framework.util.UtilDataBase; |
... | ... | @@ -106,6 +110,9 @@ public class TransferenciaController extends GenericController<Transferencia>{ |
106 | 110 | |
107 | 111 | @Autowired |
108 | 112 | private TransferenciaItemService transferenciaItemService; |
113 | + | |
114 | + @Autowired | |
115 | + private OrganizacaoService organizacaoService; | |
109 | 116 | |
110 | 117 | /** Atributo idioma. */ |
111 | 118 | private Dominio idioma; |
... | ... | @@ -336,41 +343,85 @@ public class TransferenciaController extends GenericController<Transferencia>{ |
336 | 343 | @RequestMapping(method = RequestMethod.POST, value = "") |
337 | 344 | @ResponseBody |
338 | 345 | public ResponseBodyWrapper save(@RequestBody Transferencia objeto) throws Exception { |
339 | - boolean uniqueConstraintViolate = true; | |
340 | - List<Transferencia> transferencias = new LinkedList<Transferencia>(); | |
341 | - | |
342 | - //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 | |
343 | - for(int i = 5; i > 0 && uniqueConstraintViolate; i--){ | |
344 | - try{ | |
345 | - Transferencia transferencia = (Transferencia) BeanUtilsBean.getInstance().cloneBean(objeto); | |
346 | - transferencias = this.transferenciaService.salvarTransferencia(transferencia); | |
347 | - uniqueConstraintViolate = false; | |
348 | - }catch(PersistenceException e){ | |
349 | - if(e.getCause() instanceof ConstraintViolationException){ | |
350 | - ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
351 | - if(ex.getSQLException().getMessage().contains("codigo_unico")){ | |
352 | - uniqueConstraintViolate = true; | |
346 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
347 | + | |
348 | + if (!organizacao.getEmFechamento()) { | |
349 | + boolean uniqueConstraintViolate = true; | |
350 | + List<Transferencia> transferencias = new LinkedList<Transferencia>(); | |
351 | + | |
352 | + //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 | |
353 | + for(int i = 5; i > 0 && uniqueConstraintViolate; i--){ | |
354 | + try{ | |
355 | + Transferencia transferencia = (Transferencia) BeanUtilsBean.getInstance().cloneBean(objeto); | |
356 | + transferencias = this.transferenciaService.salvarTransferencia(transferencia); | |
357 | + uniqueConstraintViolate = false; | |
358 | + }catch(PersistenceException e){ | |
359 | + if(e.getCause() instanceof ConstraintViolationException){ | |
360 | + ConstraintViolationException ex = (ConstraintViolationException) e.getCause(); | |
361 | + if(ex.getSQLException().getMessage().contains("codigo_unico")){ | |
362 | + uniqueConstraintViolate = true; | |
363 | + }else{ | |
364 | + throw e; | |
365 | + } | |
353 | 366 | }else{ |
354 | 367 | throw e; |
355 | 368 | } |
356 | - }else{ | |
357 | - throw e; | |
358 | 369 | } |
359 | 370 | } |
360 | - } | |
361 | 371 | |
362 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(transferencias, getEditView()); | |
372 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(transferencias, getEditView()); | |
363 | 373 | |
364 | - return responseBody; | |
374 | + return responseBody; | |
375 | + } else { | |
376 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
377 | + retorno.data = objeto; | |
378 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
379 | + | |
380 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
381 | + | |
382 | + return responseBody; | |
383 | + } | |
365 | 384 | } |
366 | 385 | |
367 | 386 | @RequestMapping(method = RequestMethod.POST, value = "/update") |
368 | 387 | @ResponseBody |
369 | 388 | public ResponseBodyWrapper update(@RequestBody Transferencia objeto) { |
389 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
370 | 390 | |
371 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.transferenciaService.update(objeto), getEditView()); | |
391 | + if (!organizacao.getEmFechamento()) { | |
392 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.transferenciaService.update(objeto), getEditView()); | |
372 | 393 | |
373 | - return responseBody; | |
394 | + return responseBody; | |
395 | + } else { | |
396 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
397 | + retorno.data = objeto; | |
398 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
399 | + | |
400 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
401 | + | |
402 | + return responseBody; | |
403 | + } | |
404 | + } | |
405 | + | |
406 | + @RequestMapping(method = RequestMethod.DELETE, value = "/{id}") | |
407 | + @ResponseBody | |
408 | + public ResponseBodyWrapper delete(@PathVariable("id") Long id) { | |
409 | + | |
410 | + Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); | |
411 | + | |
412 | + if (!organizacao.getEmFechamento()) { | |
413 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(transferenciaService.removeById(id), getEditView()); | |
414 | + | |
415 | + return responseBody; | |
416 | + } else { | |
417 | + MyRetornoStatus retorno = new MyRetornoStatus(); | |
418 | + retorno.data = id; | |
419 | + retorno.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); | |
420 | + | |
421 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retorno, getEditView()); | |
422 | + | |
423 | + return responseBody; | |
424 | + } | |
374 | 425 | } |
375 | 426 | |
376 | 427 | @RequestMapping(value = "/validarTransferenciaMesmoDia", method = RequestMethod.POST) | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java
... | ... | @@ -648,6 +648,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio |
648 | 648 | internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.VALIDACAO.NUMERO_BEM_PATRIMONIAL_REPETIDO", "Já existe um bem patrimonial com esse número!", dominio, modulo)); |
649 | 649 | internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.VALIDACAO.DATA_CONTABIL_DATA_RECEBIMENTO", "A data de contabilização não pode ser menor que a data de recebimento!", dominio, modulo)); |
650 | 650 | internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.VALIDACAO.DATA_CONTABIL_ALTERADA_TRANSFERENCIA", "Você não pode alterar a data de contabilização após realizar movimentações nos bens da mesma!", dominio, modulo)); |
651 | + internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.EXCLUSAO_BAIXA", "A baixa ou um dos seus itens só pode ser excluído se a situação for 'EM ANDAMENTO'", dominio, modulo)); | |
651 | 652 | |
652 | 653 | } |
653 | 654 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/AlteracaoBemPatrimonialController.js
... | ... | @@ -175,21 +175,26 @@ citApp.controller('AlteracaoBemPatrimonialController', ['$scope', 'BemPatrimonia |
175 | 175 | }; |
176 | 176 | |
177 | 177 | BemPatrimonialRepository.alterarBem(alteracaoBemVH).then(function(result) { |
178 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
179 | + $scope.setLoading(false); | |
180 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
181 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
182 | + }); | |
183 | + } else { | |
184 | + $scope.setLoading(false); | |
178 | 185 | |
179 | - $scope.setLoading(false); | |
186 | + $scope.formAlterarBemPatrimonial.$submitted = false; | |
180 | 187 | |
181 | - $scope.formAlterarBemPatrimonial.$submitted = false; | |
182 | - | |
183 | - $scope.showAlert("success", $translate.instant('MSG.MG001')); | |
188 | + $scope.showAlert("success", $translate.instant('MSG.MG001')); | |
184 | 189 | |
185 | - $scope.resetForm(); | |
190 | + $scope.resetForm(); | |
186 | 191 | |
187 | - $scope.limparDadosPosAlteracao(); | |
192 | + $scope.limparDadosPosAlteracao(); | |
188 | 193 | |
189 | - buscarProxinoNumeroPatrimonial(); | |
190 | - | |
191 | - $scope.$modalInstance.dismiss('cancel'); | |
194 | + buscarProxinoNumeroPatrimonial(); | |
192 | 195 | |
196 | + $scope.$modalInstance.dismiss('cancel'); | |
197 | + } | |
193 | 198 | }); |
194 | 199 | }; |
195 | 200 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BaixaController.js
... | ... | @@ -417,13 +417,20 @@ citApp.controller('BaixaController', |
417 | 417 | |
418 | 418 | // realiza o estorno via rest |
419 | 419 | BaixaItemRepository.estornarItens(estornoBaixaItemVH).then(function(result) { |
420 | - $scope.baixa.baixaItens = []; | |
421 | - angular.forEach(result, function (item, key) { | |
422 | - $scope.baixa.baixaItens.push(item.originalElement); | |
423 | - }); | |
424 | - $scope.visualizarEditar($scope.baixa.id, true); | |
425 | - $scope.showAlert('success', $translate.instant('MSG.ESTORNADO_COM_SUCESSO')); | |
426 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
420 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
421 | + $scope.setLoading(false); | |
422 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
423 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
424 | + }); | |
425 | + } else { | |
426 | + $scope.baixa.baixaItens = []; | |
427 | + angular.forEach(result, function (item, key) { | |
428 | + $scope.baixa.baixaItens.push(item.originalElement); | |
429 | + }); | |
430 | + $scope.visualizarEditar($scope.baixa.id, true); | |
431 | + $scope.showAlert('success', $translate.instant('MSG.ESTORNADO_COM_SUCESSO')); | |
432 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
433 | + } | |
427 | 434 | }); |
428 | 435 | $scope.$modalConfirmInstance.dismiss('cancel'); |
429 | 436 | |
... | ... | @@ -744,27 +751,32 @@ citApp.controller('BaixaController', |
744 | 751 | $scope.setLoadingSalva(true); |
745 | 752 | |
746 | 753 | BaixaRepository.save($scope.baixa).then(function(result) { |
754 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
755 | + $scope.setLoading(false); | |
756 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
757 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
758 | + }); | |
759 | + } else { | |
760 | + $scope.baixa = result.originalElement; | |
747 | 761 | |
748 | - $scope.baixa = result.originalElement; | |
749 | - | |
750 | - $scope.atualizarDominioSituacaoBaixa($scope.baixa); | |
751 | - | |
752 | - if($scope.baixa.portador){ | |
753 | - $scope.baixa.portador['pessoa.nome'] = $scope.baixa.portador.pessoa.nome; | |
754 | - } | |
755 | - if($scope.baixa.destino){ | |
756 | - $scope.baixa.destino['pessoa.nome'] = $scope.baixa.destino.pessoa.nome; | |
757 | - } | |
762 | + $scope.atualizarDominioSituacaoBaixa($scope.baixa); | |
758 | 763 | |
759 | - // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
760 | - salvarListaDocumentos($scope.baixaTemp); | |
764 | + if($scope.baixa.portador){ | |
765 | + $scope.baixa.portador['pessoa.nome'] = $scope.baixa.portador.pessoa.nome; | |
766 | + } | |
767 | + if($scope.baixa.destino){ | |
768 | + $scope.baixa.destino['pessoa.nome'] = $scope.baixa.destino.pessoa.nome; | |
769 | + } | |
761 | 770 | |
762 | - $scope.setLoading(false); | |
771 | + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
772 | + salvarListaDocumentos($scope.baixaTemp); | |
763 | 773 | |
764 | - // exibe a MSG de sucesso de acordo com a especificacao do caso de uso | |
765 | - exibeMsgSucesso(); | |
766 | - $scope.resetForm(); | |
774 | + $scope.setLoading(false); | |
767 | 775 | |
776 | + // exibe a MSG de sucesso de acordo com a especificacao do caso de uso | |
777 | + exibeMsgSucesso(); | |
778 | + $scope.resetForm(); | |
779 | + } | |
768 | 780 | }); |
769 | 781 | } |
770 | 782 | |
... | ... | @@ -846,11 +858,18 @@ citApp.controller('BaixaController', |
846 | 858 | $scope.excluirBaixa = function(){ |
847 | 859 | var baixa = this.item; |
848 | 860 | |
849 | - BaixaRepository.remove(baixa).then(function() { | |
850 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
851 | - $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
852 | - $scope.atualizarLista(); | |
853 | - $scope.$showPageSearchWorkspace($scope.workspace); | |
861 | + BaixaRepository.remove(baixa).then(function(result) { | |
862 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
863 | + $scope.setLoading(false); | |
864 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
865 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
866 | + }); | |
867 | + } else { | |
868 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
869 | + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
870 | + $scope.atualizarLista(); | |
871 | + $scope.$showPageSearchWorkspace($scope.workspace); | |
872 | + } | |
854 | 873 | }); |
855 | 874 | |
856 | 875 | }; | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BaixaListController.js
... | ... | @@ -196,11 +196,18 @@ citApp.controller('BaixaListController', ['$scope', 'BaixaRepository', '$transla |
196 | 196 | $scope.setLoadingGet(true); |
197 | 197 | // realiza estorno da baixa |
198 | 198 | BaixaItemRepository.estornarItens(estornoBaixaItemVH).then(function(result) { |
199 | - baixa.baixaItens = result; | |
200 | - $scope.showAlert('success', $translate.instant('MSG.ESTORNADO_COM_SUCESSO')); | |
201 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
202 | - $scope.$dataEstorno = null; | |
203 | - $scope.setLoading(false); | |
199 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
200 | + $scope.setLoading(false); | |
201 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
202 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
203 | + }); | |
204 | + } else { | |
205 | + baixa.baixaItens = result; | |
206 | + $scope.showAlert('success', $translate.instant('MSG.ESTORNADO_COM_SUCESSO')); | |
207 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
208 | + $scope.$dataEstorno = null; | |
209 | + $scope.setLoading(false); | |
210 | + } | |
204 | 211 | }); |
205 | 212 | |
206 | 213 | }; |
... | ... | @@ -216,6 +223,42 @@ citApp.controller('BaixaListController', ['$scope', 'BaixaRepository', '$transla |
216 | 223 | return true; |
217 | 224 | } |
218 | 225 | }; |
226 | + | |
227 | + // MODAL DE CONFIRMAÇÃO E REMOÇÃO DO REGISTRO | |
228 | + $scope.remover = function(){ | |
229 | + | |
230 | + var baixa = $scope.baixaChecked; | |
231 | + | |
232 | + if(baixa) { | |
233 | + | |
234 | + $scope.$openModalConfirm({ | |
235 | + message: $translate.instant("MSG.CONFIRMA_EXCLUSAO"), | |
236 | + callback: function () { | |
237 | + $scope.setLoadingRemove(true); | |
238 | + | |
239 | + BaixaRepository.remove(baixa).then(function(result) { | |
240 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
241 | + $scope.setLoading(false); | |
242 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
243 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
244 | + }); | |
245 | + } else { | |
246 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
247 | + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
248 | + $scope.fetchResult(); | |
249 | + $scope.setLoading(false); | |
250 | + } | |
251 | + }); | |
252 | + | |
253 | + } | |
254 | + }); | |
255 | + | |
256 | + } else { | |
257 | + | |
258 | + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_SER_REMOVIDO')); | |
259 | + } | |
260 | + | |
261 | + }; | |
219 | 262 | |
220 | 263 | |
221 | 264 | //INICIO DE METODOS REFERENTES AOS RELATORIOS | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js
... | ... | @@ -204,11 +204,18 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito |
204 | 204 | $scope.setLoadingSalva(true); |
205 | 205 | |
206 | 206 | BemPatrimonialRepository.alterarBem($scope.bemPatrimonialAlteracao).then(function(result) { |
207 | - $scope.showAlert("success", $translate.instant('MSG.MG001')); | |
208 | - $scope.bemPatrimonialForm.$submitted = false; | |
209 | - $scope.setLoading(false); | |
207 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
208 | + $scope.setLoading(false); | |
209 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
210 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
211 | + }); | |
212 | + } else { | |
213 | + $scope.showAlert("success", $translate.instant('MSG.MG001')); | |
214 | + $scope.bemPatrimonialForm.$submitted = false; | |
215 | + $scope.setLoading(false); | |
210 | 216 | |
211 | - $scope.getBemPatrimonial($scope.bemPatrimonial.id, $scope.edit); | |
217 | + $scope.getBemPatrimonial($scope.bemPatrimonial.id, $scope.edit); | |
218 | + } | |
212 | 219 | }); |
213 | 220 | }; |
214 | 221 | ... | ... |
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); |
... | ... | @@ -502,9 +509,16 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
502 | 509 | |
503 | 510 | $scope.$modalConfirmInstance.dismiss('cancel'); |
504 | 511 | EntradaItemRepository.remove($scope.entradaItem).then(function(result) { |
505 | - $scope.itensDeEntrada.splice(index, 1); | |
506 | - $scope.calcularValorTotal(); | |
507 | - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
512 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
513 | + $scope.setLoading(false); | |
514 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
515 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
516 | + }); | |
517 | + } else { | |
518 | + $scope.itensDeEntrada.splice(index, 1); | |
519 | + $scope.calcularValorTotal(); | |
520 | + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
521 | + } | |
508 | 522 | }); |
509 | 523 | } |
510 | 524 | }); |
... | ... | @@ -671,7 +685,7 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
671 | 685 | item.checked ? $scope.qtdeChecked++ : null; |
672 | 686 | }); |
673 | 687 | } |
674 | - } | |
688 | + }; | |
675 | 689 | |
676 | 690 | // prepara a exclusao da entrada abrindo o modal de confirmacao |
677 | 691 | $scope.remove = function(workspace) { |
... | ... | @@ -696,14 +710,21 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
696 | 710 | var workspace = this.item; |
697 | 711 | |
698 | 712 | EntradaRepository.remove($scope.entrada).then(function(result) { |
699 | - if (result) { | |
700 | - $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
701 | - $scope.$showPageSearchWorkspace(workspace); | |
702 | - $scope.atualizarLista('EntradaListControllerId'); | |
703 | - } else { | |
704 | - $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.EXCLUSAO_ENTRADA_IMPOSSIVEL')); | |
705 | - } | |
706 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
713 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
714 | + $scope.setLoading(false); | |
715 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
716 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
717 | + }); | |
718 | + } else { | |
719 | + if (result) { | |
720 | + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
721 | + $scope.$showPageSearchWorkspace(workspace); | |
722 | + $scope.atualizarLista('EntradaListControllerId'); | |
723 | + } else { | |
724 | + $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.EXCLUSAO_ENTRADA_IMPOSSIVEL')); | |
725 | + } | |
726 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
727 | + } | |
707 | 728 | }); |
708 | 729 | |
709 | 730 | }; |
... | ... | @@ -1154,25 +1175,31 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1154 | 1175 | }); |
1155 | 1176 | |
1156 | 1177 | EntradaRepository.save($scope.entrada).then(function(result) { |
1178 | + if (result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
1179 | + $scope.setLoading(false); | |
1180 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
1181 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
1182 | + }); | |
1183 | + } else { | |
1184 | + $scope.entrada = result.originalElement; | |
1185 | + | |
1186 | + if ($scope.entrada.fornecedor) { | |
1187 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1188 | + } | |
1157 | 1189 | |
1158 | - $scope.entrada = result.originalElement; | |
1159 | - | |
1160 | - if ($scope.entrada.fornecedor) { | |
1161 | - $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1162 | - } | |
1190 | + $scope.setLoading(false); | |
1163 | 1191 | |
1164 | - $scope.setLoading(false); | |
1165 | - | |
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); | |
1192 | + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1193 | + salvarListaDocumentos(entradaTemp); | |
1168 | 1194 | |
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 | - }); | |
1195 | + EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1196 | + $scope.itensDeEntrada = []; | |
1197 | + for (var i = 0; i < result.length; i++) { | |
1198 | + $scope.itensDeEntrada.push(result[i].originalElement); | |
1199 | + } | |
1200 | + $scope.calcularValorTotal(); | |
1201 | + }); | |
1202 | + } | |
1176 | 1203 | }); |
1177 | 1204 | }); |
1178 | 1205 | |
... | ... | @@ -1333,46 +1360,53 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1333 | 1360 | |
1334 | 1361 | EntradaRepository.save($scope.entrada).then(function(result) { |
1335 | 1362 | |
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 | - }); | |
1363 | + if (result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
1364 | + $scope.setLoading(false); | |
1365 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
1366 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
1367 | + }); | |
1368 | + } else { | |
1369 | + $scope.entrada = result.originalElement; | |
1370 | + | |
1371 | + if ($scope.entrada.fornecedor) { | |
1372 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
1373 | + } | |
1374 | + | |
1375 | + $scope.setLoading(false); | |
1376 | + | |
1377 | + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir | |
1378 | + salvarListaDocumentos(entradaTemp); | |
1379 | + | |
1380 | + EntradaItemRepository.findAllByEntrada($scope.entrada.id).then(function(result) { | |
1381 | + $scope.itensDeEntrada = []; | |
1382 | + for (var i = 0; i < result.length; i++) { | |
1383 | + $scope.itensDeEntrada.push(result[i].originalElement); | |
1384 | + } | |
1385 | + $scope.calcularValorTotal(); | |
1386 | + | |
1387 | + | |
1388 | + var dataContabilAntiga = angular.copy($scope.entrada.dataContabil); | |
1389 | + | |
1390 | + $scope.setLoadingSalva(true); | |
1391 | + | |
1392 | + if (dataContabilAntiga && !dataContabil) { | |
1393 | + TransferenciaItemRepository.buscarTransferenciaComBensPatrimonaisDaEntrada($scope.entrada.id).then(function(result) { | |
1394 | + if (result.length > 0) { | |
1395 | + var transferencias = ""; | |
1396 | + for (var i = 0; i < result.length; i++) { | |
1397 | + transferencias += result[i] + "; "; | |
1398 | + } | |
1399 | + $scope.setLoading(false); | |
1400 | + $scope.showAlert('warning', $translate.instant('PATRIMONIO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_TRANSFERENCIA') + transferencias); | |
1401 | + } else { | |
1402 | + concluir(dataContabil); | |
1403 | + } | |
1404 | + }); | |
1405 | + } else { | |
1406 | + concluir(dataContabil); | |
1407 | + } | |
1408 | + }); | |
1409 | + } | |
1376 | 1410 | }); |
1377 | 1411 | |
1378 | 1412 | } else { |
... | ... | @@ -1882,8 +1916,8 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1882 | 1916 | |
1883 | 1917 | // Controla se o usuario pode avancar o fluxo no wizard, validando os itens obrigatórios |
1884 | 1918 | function permiteAvancoFluxo() { |
1885 | - | |
1886 | - $scope.permitidoAvancar = true; | |
1919 | + | |
1920 | + $scope.permitidoAvancar = true; | |
1887 | 1921 | $scope.dadosEntradaForm.$submitted = false; |
1888 | 1922 | $scope.materiaisEntradaForm.$submitted = false; |
1889 | 1923 | $scope.bensPatrimoniaisMaterialForm.$submitted = false; |
... | ... | @@ -1943,7 +1977,7 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1943 | 1977 | |
1944 | 1978 | } |
1945 | 1979 | |
1946 | - if (!$scope.permitidoAvancar && !$scope.stepValid) { | |
1980 | + if (!$scope.permitidoAvancar && !$scope.stepValid && !$scope.organizacao.emFechamento) { | |
1947 | 1981 | |
1948 | 1982 | //Mensagem de erro de campos obrigatorios nao preenchidos |
1949 | 1983 | $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); |
... | ... | @@ -1971,44 +2005,48 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
1971 | 2005 | $scope.setCurrentStep = function(step) { |
1972 | 2006 | |
1973 | 2007 | $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); | |
2008 | + | |
2009 | + OrganizacaoRepository.get($scope.usuarioLogado.organizacao.id).then(function (result) { | |
2010 | + $scope.organizacao = result.originalElement; | |
2011 | + | |
2012 | + // Condicional apenas porque as datas perdem o formato na mudanca de passos | |
2013 | + if (step === 0) { | |
2014 | + | |
2015 | + $scope.entrada.dataRecebimento = $filter('date')($scope.entrada.dataRecebimento, "dd/MM/yyyy"); | |
2016 | + $scope.entrada.dataContabil = $filter('date')($scope.entrada.dataContabil, "dd/MM/yyyy"); | |
2017 | + $scope.entrada.dataReferencia = $filter('date')($scope.entrada.dataReferencia, "dd/MM/yyyy"); | |
2018 | + if ($scope.entrada.fornecedor) { | |
2019 | + $scope.entrada.fornecedor['pessoa.nome'] = $scope.entrada.fornecedor.pessoa.nome; | |
2020 | + } | |
2021 | + | |
2022 | + $scope.associarCaracteristicas = false; | |
2023 | + } | |
2024 | + | |
2025 | + if (step <= ($scope.step - 1)) { | |
2026 | + | |
2027 | + $scope.step = step; | |
2028 | + | |
2029 | + } else { | |
2030 | + | |
2031 | + if (!$scope.edit) { | |
2032 | + | |
2033 | + $scope.permitidoAvancar = true; | |
2034 | + | |
2035 | + } else { | |
2036 | + | |
2037 | + permiteAvancoFluxo(); | |
2038 | + | |
2039 | + } | |
2040 | + | |
2041 | + if ($scope.permitidoAvancar) { | |
2042 | + | |
2043 | + $scope.step = step; | |
2044 | + | |
2045 | + } | |
2046 | + } | |
2047 | + | |
2048 | + $scope.setLoading(false); | |
2049 | + }); | |
2012 | 2050 | |
2013 | 2051 | }; |
2014 | 2052 | |
... | ... | @@ -2049,7 +2087,10 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2049 | 2087 | $scope.handleNext = function () { |
2050 | 2088 | |
2051 | 2089 | |
2052 | - $scope.setLoadingGet(true); | |
2090 | + $scope.setLoadingGet(true); | |
2091 | + | |
2092 | + OrganizacaoRepository.get($scope.usuarioLogado.organizacao.id).then(function (result) { | |
2093 | + $scope.organizacao = result.originalElement; | |
2053 | 2094 | |
2054 | 2095 | if(!$scope.edit){ |
2055 | 2096 | |
... | ... | @@ -2068,60 +2109,72 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2068 | 2109 | } |
2069 | 2110 | |
2070 | 2111 | $scope.setLoading(false); |
2112 | + }); | |
2071 | 2113 | |
2072 | 2114 | }; |
2073 | 2115 | |
2074 | 2116 | |
2075 | 2117 | // Funcao especifica que retorna se o formulario de dados da entrada esta valido |
2076 | 2118 | function validStepDadosEntrada() { |
2119 | + $scope.stepValid = true; | |
2120 | + if (!$scope.organizacao.emFechamento) { | |
2121 | + | |
2122 | + if ($scope.dadosEntradaForm.$invalid) { | |
2077 | 2123 | |
2078 | - $scope.stepValid = true; | |
2124 | + $scope.stepValid = false; | |
2079 | 2125 | |
2080 | - if ($scope.dadosEntradaForm.$invalid) { | |
2126 | + } else if ($scope.entrada.dataContabil) { | |
2081 | 2127 | |
2082 | - $scope.stepValid = false; | |
2128 | + if (!$scope.validarDataTransferencia($scope.entrada.dataContabil)) { | |
2083 | 2129 | |
2084 | - } else if ($scope.entrada.dataContabil) { | |
2130 | + $scope.permitidoAvancar = false; | |
2131 | + $scope.showAlert('error', $translate.instant('MSG.MN019')); | |
2132 | + } | |
2085 | 2133 | |
2086 | - if (!$scope.validarDataTransferencia($scope.entrada.dataContabil)) { | |
2134 | + } else if (!validarDataRecebimento($scope.entrada.dataRecebimento)) { | |
2087 | 2135 | |
2088 | 2136 | $scope.permitidoAvancar = false; |
2089 | - $scope.showAlert('error', $translate.instant('MSG.MN019')); | |
2090 | - } | |
2091 | - | |
2092 | - } else if (!validarDataRecebimento($scope.entrada.dataRecebimento)) { | |
2093 | - | |
2094 | - $scope.permitidoAvancar = false; | |
2095 | - $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.DATA_RECEBIMENTO')); | |
2137 | + $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.DATA_RECEBIMENTO')); | |
2096 | 2138 | |
2097 | - } | |
2139 | + } | |
2098 | 2140 | |
2099 | - return $scope.stepValid; | |
2141 | + return $scope.stepValid; | |
2142 | + } else { | |
2143 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2144 | + | |
2145 | + $scope.permitidoAvancar = false; | |
2146 | + return $scope.stepValid; | |
2147 | + } | |
2100 | 2148 | |
2101 | 2149 | }; |
2102 | 2150 | |
2103 | 2151 | // Funcao especifica que retorna se o formulario de materiais da entrada esta valido |
2104 | 2152 | function validStepMateriaisEntrada() { |
2153 | + $scope.stepValid = true; | |
2154 | + if (!$scope.organizacao.emFechamento) { | |
2105 | 2155 | |
2106 | - $scope.stepValid = true; | |
2107 | - | |
2108 | - if($scope.materiaisEntradaForm.$invalid){ | |
2109 | - | |
2110 | - $scope.stepValid = false; | |
2156 | + if($scope.materiaisEntradaForm.$invalid){ | |
2111 | 2157 | |
2112 | - } else if ($scope.itensDeEntrada && $scope.itensDeEntrada.length === 0){ | |
2158 | + $scope.stepValid = false; | |
2113 | 2159 | |
2114 | - $scope.stepValid = false; | |
2115 | - $scope.permitidoAvancar = false; | |
2160 | + } else if ($scope.itensDeEntrada && $scope.itensDeEntrada.length === 0){ | |
2116 | 2161 | |
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 | - } | |
2162 | + $scope.stepValid = false; | |
2163 | + $scope.permitidoAvancar = false; | |
2122 | 2164 | |
2123 | - return $scope.stepValid; | |
2165 | + } else if($scope.entrada.valorTotalNota < $scope.valorTotalLancado) { | |
2166 | + | |
2167 | + $scope.showAlert('error', $translate.instant('ALMOXARIFADO.VALIDACAO.NOTA_FISCAL_IGUAL_VALOR_INFORMADO')); | |
2168 | + $scope.permitidoAvancar = false; | |
2169 | + } | |
2124 | 2170 | |
2171 | + return $scope.stepValid; | |
2172 | + } else { | |
2173 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2174 | + | |
2175 | + $scope.permitidoAvancar = false; | |
2176 | + return $scope.stepValid; | |
2177 | + } | |
2125 | 2178 | }; |
2126 | 2179 | |
2127 | 2180 | // Funcao especifica que retorna se o formulario de bens Patrimoniais esta valido |
... | ... | @@ -2140,15 +2193,21 @@ citApp.controller('EntradaController', ['$scope', '$timeout', 'FileUploader', 'E |
2140 | 2193 | // Funcao especifica que retorna se o formulario de documentos da entrada esta valido |
2141 | 2194 | function validStepDocumentosEntrada() { |
2142 | 2195 | |
2143 | - $scope.stepValid = true; | |
2144 | - | |
2196 | + $scope.stepValid = true; | |
2197 | + if (!$scope.organizacao.emFechamento) { | |
2145 | 2198 | |
2146 | - if ($scope.documentosEntradaForm.$invalid || !$scope.entrada.documentos.length > 0){ | |
2199 | + if ($scope.documentosEntradaForm.$invalid || !$scope.entrada.documentos.length > 0){ | |
2147 | 2200 | |
2148 | - $scope.stepValid = false; | |
2149 | - } | |
2201 | + $scope.stepValid = false; | |
2202 | + } | |
2150 | 2203 | |
2151 | - return $scope.stepValid; | |
2204 | + return $scope.stepValid; | |
2205 | + } else { | |
2206 | + $scope.showAlert('warning', $translate.instant('MSG.ORGANIZACAO_EM_FECHAMENTO_MES')); | |
2207 | + | |
2208 | + $scope.permitidoAvancar = false; | |
2209 | + return $scope.stepValid; | |
2210 | + } | |
2152 | 2211 | |
2153 | 2212 | };; |
2154 | 2213 | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/EntradaListController.js
... | ... | @@ -110,14 +110,21 @@ citApp.controller('EntradaListController', ['$scope', 'EntradaRepository', '$tra |
110 | 110 | var entrada = this.item; |
111 | 111 | |
112 | 112 | EntradaRepository.remove(entrada).then(function(result) { |
113 | - $scope.setLoading(false); | |
114 | - if(result){ | |
115 | - $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
116 | - $scope.atualizarLista('EntradaListControllerId'); | |
117 | - }else{ | |
118 | - $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.EXCLUSAO_ENTRADA_IMPOSSIVEL')); | |
113 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
114 | + $scope.setLoading(false); | |
115 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
116 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
117 | + }); | |
118 | + } else { | |
119 | + $scope.setLoading(false); | |
120 | + if(result){ | |
121 | + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); | |
122 | + $scope.atualizarLista('EntradaListControllerId'); | |
123 | + }else{ | |
124 | + $scope.showAlert('error', $translate.instant('PATRIMONIO.VALIDACAO.EXCLUSAO_ENTRADA_IMPOSSIVEL')); | |
125 | + } | |
126 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
119 | 127 | } |
120 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
121 | 128 | }); |
122 | 129 | |
123 | 130 | }; | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js
... | ... | @@ -2390,38 +2390,42 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ |
2390 | 2390 | |
2391 | 2391 | // Salva transferência interna |
2392 | 2392 | TransferenciaRepository.save($scope.transferencia).then(function(result){ |
2393 | - | |
2394 | - $timeout(function(){ | |
2395 | - // Salva a alteração do dominío inconsistência - Data tratamento | |
2396 | - DominioRepository.buscaDominioByCodigoAndChave(4, 'tipoTratamentoInconsistencia').then(function(result) { | |
2397 | - if($scope.dominioInconsistencia){ | |
2398 | - $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement; | |
2399 | - }else{ | |
2400 | - $scope.dominioInconsistencia = {dominioTrataInconsistencia : result.originalElement}; | |
2401 | - } | |
2402 | - alterarDominioInconsistencia($scope.dominioInconsistencia); | |
2393 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
2394 | + $scope.setLoading(false); | |
2395 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
2396 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
2397 | + }); | |
2398 | + } else { | |
2399 | + $timeout(function(){ | |
2400 | + // Salva a alteração do dominío inconsistência - Data tratamento | |
2401 | + DominioRepository.buscaDominioByCodigoAndChave(4, 'tipoTratamentoInconsistencia').then(function(result) { | |
2402 | + if($scope.dominioInconsistencia){ | |
2403 | + $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement; | |
2404 | + }else{ | |
2405 | + $scope.dominioInconsistencia = {dominioTrataInconsistencia : result.originalElement}; | |
2406 | + } | |
2407 | + alterarDominioInconsistencia($scope.dominioInconsistencia); | |
2408 | + }); | |
2403 | 2409 | }); |
2404 | - }); | |
2405 | 2410 | |
2406 | - if($scope.executarTransferenciaModalConfirm){ | |
2407 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
2411 | + if($scope.executarTransferenciaModalConfirm){ | |
2412 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
2408 | 2413 | |
2409 | - $scope.tratarInconsistenciasAutomaticamente(); | |
2414 | + $scope.tratarInconsistenciasAutomaticamente(); | |
2410 | 2415 | |
2411 | - } else { | |
2412 | - $scope.$modalInstance.dismiss('cancel'); | |
2413 | - $scope.setLoading(false); | |
2414 | - } | |
2416 | + } else { | |
2417 | + $scope.$modalInstance.dismiss('cancel'); | |
2418 | + $scope.setLoading(false); | |
2419 | + } | |
2415 | 2420 | |
2416 | - // Executou transferencia de bem que tem adicao bem principal | |
2417 | - if($scope.bemPatrimonialTemp && $scope.bemPatrimonialTemp.bensAdicionais.length > 0 || $scope.bemPatrimonialTemp && $scope.bemPatrimonialTemp.possuiBemPrincipal) { | |
2421 | + // Executou transferencia de bem que tem adicao bem principal | |
2422 | + if($scope.bemPatrimonialTemp && $scope.bemPatrimonialTemp.bensAdicionais.length > 0 || $scope.bemPatrimonialTemp && $scope.bemPatrimonialTemp.possuiBemPrincipal) { | |
2418 | 2423 | |
2419 | - InventarioBemPatrimonialRepository.alterarTratamentoInconsistenciaBemPrincipal($scope.bemPatrimonialTemp.id, $scope.inventario.id).then(function(result){ | |
2420 | - $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.dadosBemPatrimonialSelecionado.inventarioBemPatrimonial.estruturaOrganizacionalAtual); | |
2421 | - }); | |
2424 | + InventarioBemPatrimonialRepository.alterarTratamentoInconsistenciaBemPrincipal($scope.bemPatrimonialTemp.id, $scope.inventario.id).then(function(result){ | |
2425 | + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.dadosBemPatrimonialSelecionado.inventarioBemPatrimonial.estruturaOrganizacionalAtual); | |
2426 | + }); | |
2427 | + } | |
2422 | 2428 | } |
2423 | - | |
2424 | - | |
2425 | 2429 | }); |
2426 | 2430 | }; |
2427 | 2431 | |
... | ... | @@ -2882,20 +2886,27 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ |
2882 | 2886 | // Salva a baixa |
2883 | 2887 | BaixaRepository.save($scope.baixaBem).then(function(result) { |
2884 | 2888 | |
2885 | - $timeout(function(){ | |
2886 | - // Salva a alteração do dominío inconsistência - Data tratamento | |
2887 | - DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoTratamentoInconsistencia').then(function(result) { | |
2888 | - $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement; | |
2889 | - alterarDominioInconsistencia($scope.dominioInconsistencia); | |
2889 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
2890 | + $scope.setLoading(false); | |
2891 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
2892 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
2893 | + }); | |
2894 | + } else { | |
2895 | + $timeout(function(){ | |
2896 | + // Salva a alteração do dominío inconsistência - Data tratamento | |
2897 | + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoTratamentoInconsistencia').then(function(result) { | |
2898 | + $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement; | |
2899 | + alterarDominioInconsistencia($scope.dominioInconsistencia); | |
2900 | + }); | |
2890 | 2901 | }); |
2891 | - }); | |
2892 | 2902 | |
2893 | - if($scope.executarBaixaModalConfirm){ | |
2894 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
2895 | - $scope.tratarInconsistenciasAutomaticamente(); | |
2896 | - } else { | |
2897 | - $scope.$modalInstance.dismiss('cancel'); | |
2898 | - $scope.setLoading(false); | |
2903 | + if($scope.executarBaixaModalConfirm){ | |
2904 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
2905 | + $scope.tratarInconsistenciasAutomaticamente(); | |
2906 | + } else { | |
2907 | + $scope.$modalInstance.dismiss('cancel'); | |
2908 | + $scope.setLoading(false); | |
2909 | + } | |
2899 | 2910 | } |
2900 | 2911 | |
2901 | 2912 | }); |
... | ... | @@ -3551,14 +3562,21 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ |
3551 | 3562 | }; |
3552 | 3563 | |
3553 | 3564 | BemPatrimonialRepository.alterarListaBemInconsistenciaTipo2(tratamentoInconsistencia).then(function(result){ |
3554 | - $scope.$modalInstance.dismiss('cancel'); | |
3555 | - alterarDominioStatusInventarioEstrutura(result); | |
3556 | - $scope.atualizarMultiplasInconsistenciasTipo2 = false; | |
3557 | - $scope.setLoading(false); | |
3558 | - $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais'); | |
3559 | - $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
3560 | - $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); | |
3561 | - $scope.irParaFim(); | |
3565 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
3566 | + $scope.setLoading(false); | |
3567 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
3568 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
3569 | + }); | |
3570 | + } else { | |
3571 | + $scope.$modalInstance.dismiss('cancel'); | |
3572 | + alterarDominioStatusInventarioEstrutura(result); | |
3573 | + $scope.atualizarMultiplasInconsistenciasTipo2 = false; | |
3574 | + $scope.setLoading(false); | |
3575 | + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais'); | |
3576 | + $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
3577 | + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); | |
3578 | + $scope.irParaFim(); | |
3579 | + } | |
3562 | 3580 | }); |
3563 | 3581 | |
3564 | 3582 | }; |
... | ... | @@ -3858,13 +3876,20 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ |
3858 | 3876 | }; |
3859 | 3877 | |
3860 | 3878 | BemPatrimonialRepository.alterarListaBemInconsistenciaTipo1(tratamentoInconsistencia).then(function(result){ |
3861 | - alterarDominioStatusInventarioEstrutura(result); | |
3862 | - $scope.setLoading(false); | |
3863 | - $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais'); | |
3864 | - $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
3865 | - $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); | |
3866 | - $scope.$modalInstance.dismiss('cancel'); | |
3867 | - $scope.irParaFim(); | |
3879 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
3880 | + $scope.setLoading(false); | |
3881 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
3882 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
3883 | + }); | |
3884 | + } else { | |
3885 | + alterarDominioStatusInventarioEstrutura(result); | |
3886 | + $scope.setLoading(false); | |
3887 | + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais'); | |
3888 | + $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
3889 | + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); | |
3890 | + $scope.$modalInstance.dismiss('cancel'); | |
3891 | + $scope.irParaFim(); | |
3892 | + } | |
3868 | 3893 | }); |
3869 | 3894 | |
3870 | 3895 | }; | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaController.js
... | ... | @@ -330,30 +330,37 @@ citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', ' |
330 | 330 | |
331 | 331 | function saveAposValidacoes(result) { |
332 | 332 | TransferenciaRepository.save($scope.transferencia).then(function(result) { |
333 | - $scope.estruturaOrganizacionalAdm = null; | |
334 | - angular.forEach(result, function(transferencia) { | |
335 | - angular.forEach(transferencia.documentos, function(documentoSalvo, key) { | |
336 | - // verifica se a entidade documento foi salva | |
337 | - if(documentoSalvo !== undefined && documentoSalvo.id !== undefined){ | |
338 | - // percorre todos os documentos temporarios para verificacao do numero do documento | |
339 | - angular.forEach($scope.saidaTemp.documentos, function(documentoTransient, key) { | |
340 | - // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado | |
341 | - if(documentoSalvo.numero === documentoTransient.numero){ | |
342 | - //salva o anexo ao documento que tiver o mesmo numero do documento transient | |
343 | - salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); | |
344 | - } | |
345 | - }); | |
346 | - } | |
333 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
334 | + $scope.setLoading(false); | |
335 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
336 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
337 | + }); | |
338 | + } else { | |
339 | + $scope.estruturaOrganizacionalAdm = null; | |
340 | + angular.forEach(result, function(transferencia) { | |
341 | + angular.forEach(transferencia.documentos, function(documentoSalvo, key) { | |
342 | + // verifica se a entidade documento foi salva | |
343 | + if(documentoSalvo !== undefined && documentoSalvo.id !== undefined){ | |
344 | + // percorre todos os documentos temporarios para verificacao do numero do documento | |
345 | + angular.forEach($scope.saidaTemp.documentos, function(documentoTransient, key) { | |
346 | + // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado | |
347 | + if(documentoSalvo.numero === documentoTransient.numero){ | |
348 | + //salva o anexo ao documento que tiver o mesmo numero do documento transient | |
349 | + salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); | |
350 | + } | |
351 | + }); | |
352 | + } | |
353 | + }); | |
347 | 354 | }); |
348 | - }); | |
349 | 355 | |
350 | 356 | |
351 | - $scope.setLoading(false); | |
352 | - $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
353 | - if(!$scope.edit){ | |
354 | - $scope.gerarReport(); | |
357 | + $scope.setLoading(false); | |
358 | + $scope.showAlert("success", $translate.instant("MSG.MG001")); | |
359 | + if(!$scope.edit){ | |
360 | + $scope.gerarReport(); | |
361 | + } | |
362 | + $scope.resetForm(); | |
355 | 363 | } |
356 | - $scope.resetForm(); | |
357 | 364 | }); |
358 | 365 | }; |
359 | 366 | |
... | ... | @@ -434,13 +441,20 @@ citApp.controller('TransferenciaController', ['$scope', '$filter', '$timeout', ' |
434 | 441 | message: $translate.instant("MSG.CONFIRMA_EXCLUSAO"), |
435 | 442 | callback: function () { |
436 | 443 | $scope.setLoadingRemove(true); |
437 | - TransferenciaRepository.remove($scope.transferencia).then(function() { | |
438 | - $scope.showAlert('success', $translate.instant('MSG.EXCLUSAO_SUCESSO'), " ", false); | |
439 | - angular.element('#searchTransferencia').scope().fetchResult(); | |
440 | - $scope.$showPageSearchWorkspace($scope.workspace); | |
441 | - angular.element('#searchTransferencia').scope().listaSelecionados = []; | |
442 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
443 | - $scope.setLoading(false); | |
444 | + TransferenciaRepository.remove($scope.transferencia).then(function(result) { | |
445 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
446 | + $scope.setLoading(false); | |
447 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
448 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
449 | + }); | |
450 | + } else { | |
451 | + $scope.showAlert('success', $translate.instant('MSG.EXCLUSAO_SUCESSO'), " ", false); | |
452 | + angular.element('#searchTransferencia').scope().fetchResult(); | |
453 | + $scope.$showPageSearchWorkspace($scope.workspace); | |
454 | + angular.element('#searchTransferencia').scope().listaSelecionados = []; | |
455 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
456 | + $scope.setLoading(false); | |
457 | + } | |
444 | 458 | }); |
445 | 459 | |
446 | 460 | } | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js
... | ... | @@ -97,12 +97,19 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla |
97 | 97 | callback: function () { |
98 | 98 | $scope.setLoadingRemove(true); |
99 | 99 | |
100 | - TransferenciaRepository.remove(transferencia).then(function() { | |
101 | - $scope.showAlert('success', $translate.instant('MSG.EXCLUSAO_SUCESSO'), " ", false); | |
102 | - $scope.listaSelecionados = []; | |
103 | - $scope.fetchResult(); | |
104 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
105 | - $scope.setLoading(false); | |
100 | + TransferenciaRepository.remove(transferencia).then(function(result) { | |
101 | + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { | |
102 | + $scope.setLoading(false); | |
103 | + angular.forEach(result.originalElement.mensagens, function (mensagem) { | |
104 | + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); | |
105 | + }); | |
106 | + } else { | |
107 | + $scope.showAlert('success', $translate.instant('MSG.EXCLUSAO_SUCESSO'), " ", false); | |
108 | + $scope.listaSelecionados = []; | |
109 | + $scope.fetchResult(); | |
110 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
111 | + $scope.setLoading(false); | |
112 | + } | |
106 | 113 | }); |
107 | 114 | |
108 | 115 | } | ... | ... |
citgrp-patrimonio-web/src/main/webapp/html/baixa/baixaList.html
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | <translate>LABEL.EDITAR</translate> |
19 | 19 | </button> |
20 | 20 | |
21 | - <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-click="remove()"> | |
21 | + <button title="{{$translate.instant('LABEL.REMOVER')}}" alt="{{$translate.instant('LABEL.REMOVER')}}" class="btn btn-clear" type="button" ng-click="remover()"> | |
22 | 22 | <i class="fa fa-times red"></i> |
23 | 23 | <translate>LABEL.REMOVER</translate> |
24 | 24 | </button> | ... | ... |
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> | ... | ... |