Subversion Repositories Integrator Subversion

Rev

Rev 517 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
507 blopes 1
package br.com.ec.domain.dto;
2
 
508 blopes 3
import java.util.ArrayList;
515 blopes 4
import java.util.Collection;
508 blopes 5
import java.util.Date;
515 blopes 6
import java.util.Iterator;
508 blopes 7
import java.util.List;
515 blopes 8
import java.util.ListIterator;
507 blopes 9
 
510 blopes 10
import br.com.ec.core.util.DataUtils;
516 blopes 11
import br.com.ec.core.util.VerificadorUtil;
12
import br.com.ec.domain.model.ProdutoLoja;
510 blopes 13
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;
14
 
507 blopes 15
public class LogisticaDTO {
16
 
17
        private String tipoPeriodoConsulta;
18
        private String tipoProduto;
508 blopes 19
        private Long sequencialLojaSaida;
507 blopes 20
 
510 blopes 21
        private Date dataInicial;
22
        private Date dataFinal;
515 blopes 23
        private List<ProdutoLojaDTO> produtosParaVerificar;
516 blopes 24
        private List<ProdutoLojaDTO> ProdutosAntesDistribuir;
25
 
515 blopes 26
        private List<TransferenciaDTO> transferencias;
27
 
28
        private List<LojaDTO> lojasPorMaiorPrioridade;
29
        private List<LojaDTO> lojasPorMenorPrioridade;
619 blopes 30
 
31
        private Boolean indicadorRealizarDistribuicao;
32
        private Boolean indicadorRealizarRedistribuicao;
507 blopes 33
        /*
34
//      private VigenciaDTO vigenciaDTO;
35
        private List<ConsolidadoPessoaJuridicaDTO> notasFiscaisPessoaJuridica = new ArrayList<ConsolidadoPessoaJuridicaDTO>();
36
        private Double valorTotalNotasFiscaisRecebidas = new Double(0.0);
37
        private Integer notasFiscaisRecebidas = 0;
38
        private Double valorTotalNotasFiscaisRemessas = new Double(0.0);
39
        private Integer notasFiscaisRemessas = 0;
40
        */
41
 
42
        public LogisticaDTO() {
515 blopes 43
                setProdutosParaVerificar(new ArrayList<ProdutoLojaDTO>());
516 blopes 44
                setProdutosAntesDistribuir(new ArrayList<ProdutoLojaDTO>());
515 blopes 45
                setTransferencias(new ArrayList<TransferenciaDTO>());
510 blopes 46
                setTipoPeriodoConsulta(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor());
619 blopes 47
                setIndicadorRealizarDistribuicao(true);
48
                setIndicadorRealizarRedistribuicao(true);
510 blopes 49
                atualizarPeriodo();
507 blopes 50
        }
51
 
52
        public String getTipoPeriodoConsulta() {
53
                return tipoPeriodoConsulta;
54
        }
55
        public void setTipoPeriodoConsulta(String tipoPeriodoConsulta) {
56
                this.tipoPeriodoConsulta = tipoPeriodoConsulta;
57
        }
58
 
59
        public String getTipoProduto() {
60
                return tipoProduto;
61
        }
62
        public void setTipoProduto(String tipoProduto) {
63
                this.tipoProduto = tipoProduto;
64
        }
65
 
508 blopes 66
        public Long getSequencialLojaSaida() {
67
                return sequencialLojaSaida;
68
        }
69
        public void setSequencialLojaSaida(Long sequencialLojaSaida) {
70
                this.sequencialLojaSaida = sequencialLojaSaida;
71
        }
72
 
510 blopes 73
        public Date getDataInicial() {
74
                return dataInicial;
508 blopes 75
        }
510 blopes 76
        public void setDataInicial(Date dataInicial) {
77
                this.dataInicial = dataInicial;
508 blopes 78
        }
79
 
510 blopes 80
        public Date getDataFinal() {
81
                return dataFinal;
508 blopes 82
        }
510 blopes 83
        public void setDataFinal(Date dataFinal) {
84
                this.dataFinal = dataFinal;
508 blopes 85
        }
86
 
515 blopes 87
        public List<ProdutoLojaDTO> getProdutosParaVerificar() {
88
                return produtosParaVerificar;
508 blopes 89
        }
515 blopes 90
        public void setProdutosParaVerificar(List<ProdutoLojaDTO> produtosParaVerificar) {
91
                this.produtosParaVerificar = produtosParaVerificar;
508 blopes 92
        }
93
 
516 blopes 94
        public List<ProdutoLojaDTO> getProdutosAntesDistribuir() {
95
                return ProdutosAntesDistribuir;
96
        }
97
        public void setProdutosAntesDistribuir(List<ProdutoLojaDTO> produtosAntesDistribuir) {
98
                ProdutosAntesDistribuir = produtosAntesDistribuir;
99
        }
100
 
515 blopes 101
        public List<TransferenciaDTO> getTransferencias() {
102
                return transferencias;
103
        }
104
        public void setTransferencias(List<TransferenciaDTO> transferencias) {
105
                this.transferencias = transferencias;
106
        }
107
 
108
        public List<LojaDTO> getLojasPorMaiorPrioridade() {
109
                return lojasPorMaiorPrioridade;
110
        }
111
        public void setLojasPorMaiorPrioridade(List<LojaDTO> lojasPorMaiorPrioridade) {
112
                this.lojasPorMaiorPrioridade = lojasPorMaiorPrioridade;
113
        }
114
 
115
        public List<LojaDTO> getLojasPorMenorPrioridade() {
116
                return lojasPorMenorPrioridade;
117
        }
118
        public void setLojasPorMenorPrioridade(List<LojaDTO> lojasPorMenorPrioridade) {
119
                this.lojasPorMenorPrioridade = lojasPorMenorPrioridade;
120
        }
121
 
619 blopes 122
        public Boolean getIndicadorRealizarDistribuicao() {
123
                return indicadorRealizarDistribuicao;
124
        }
125
        public void setIndicadorRealizarDistribuicao(Boolean indicadorRealizarDistribuicao) {
126
                this.indicadorRealizarDistribuicao = indicadorRealizarDistribuicao;
127
        }
128
 
129
        public Boolean getIndicadorRealizarRedistribuicao() {
130
                return indicadorRealizarRedistribuicao;
131
        }
132
        public void setIndicadorRealizarRedistribuicao(Boolean indicadorRealizarRedistribuicao) {
133
                this.indicadorRealizarRedistribuicao = indicadorRealizarRedistribuicao;
134
        }
135
 
507 blopes 136
        /*******************************************/
137
 
510 blopes 138
        public void atualizarPeriodo() {
139
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_7_DIAS.getValor())) {
140
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7)));
141
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
142
                }
143
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor())) {
144
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -15)));
145
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
146
                }
147
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_30_DIAS.getValor())) {
148
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -30)));
149
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
150
                }
151
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_60_DIAS.getValor())) {
152
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -60)));
153
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
154
                }
155
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_90_DIAS.getValor())) {
156
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -90)));
157
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
158
                }
159
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.MES_ATUAL.getValor())) {
160
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()));
161
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()));
162
                }
163
        }
164
 
516 blopes 165
        public List<ProdutoDTO> produtosEmTransferencia() {
166
                List<ProdutoDTO> produtosEmTransferencia = new ArrayList<ProdutoDTO>();
167
                for (TransferenciaDTO transferencia : getTransferencias()) {
168
                        if (VerificadorUtil.naoEstaNuloOuVazio(transferencia.getProdutosDTO())) {
169
                                for (TransferenciaProdutoDTO transferenciaProdutoDTO : transferencia.getProdutosDTO()) {
170
                                        if (!produtosEmTransferencia.contains(transferenciaProdutoDTO.getProdutoDTO())) {
171
                                                produtosEmTransferencia.add(transferenciaProdutoDTO.getProdutoDTO());
172
                                        }
173
                                }
174
                        }
175
                }
176
                return produtosEmTransferencia;
177
        }
178
 
179
        public Integer estoqueProduto(ProdutoDTO produtoDTO, LojaDTO lojaDTO) {
180
                for (ProdutoLojaDTO produtoLojaDTO : getProdutosAntesDistribuir()) {
181
                        if (produtoLojaDTO.getSequencialDoProduto().equals(produtoDTO.getSequencial()) &&
182
                                produtoLojaDTO.getLojaDTO().equals(lojaDTO)) {
183
                                return produtoLojaDTO.getQuantidadeEstoqueAnterior();
184
                        }
185
                }
186
                return null;
187
        }
188
 
517 blopes 189
        public String quantidadeTransferirAntesDistribuirProduto(ProdutoDTO produtoDTO, LojaDTO lojaDTO) {
190
                for (ProdutoLojaDTO produtoLojaDTO : getProdutosAntesDistribuir()) {
191
                        if (produtoLojaDTO.getSequencialDoProduto().equals(produtoDTO.getSequencial()) &&
192
                                produtoLojaDTO.getLojaDTO().equals(lojaDTO)) {
193
                                Integer quantidade = (produtoLojaDTO.quantidadeParaTransferir() * -1) - produtoLojaDTO.getQuantidadeEstoqueAnterior();
194
                                if (quantidade > 0) {return "[" + quantidade + "]";}
195
                                return "";
196
                        }
197
                }
198
                return null;
199
        }
200
 
516 blopes 201
        public Integer quantidadeTransferida(ProdutoDTO produtoDTO, LojaDTO lojaSaidaDTO, LojaDTO lojaEntradaDTO) {
202
                Integer quantidadeTransferida = 0;
203
                for (TransferenciaDTO transferenciaDTO : getTransferencias()) {
204
                        if (VerificadorUtil.naoEstaNuloOuVazio(transferenciaDTO.getProdutosDTO())) {
205
                                for (TransferenciaProdutoDTO transferenciaProdutoDTO : transferenciaDTO.getProdutosDTO()) {
206
                                        if (transferenciaProdutoDTO.getProdutoDTO().equals(produtoDTO)) {
207
                                                if (VerificadorUtil.naoEstaNulo(lojaSaidaDTO)) {
208
                                                        if (transferenciaDTO.getLojaSaidaDTO().equals(lojaSaidaDTO)) {
209
                                                                quantidadeTransferida = quantidadeTransferida - transferenciaProdutoDTO.getQuantidadeTransferir();
210
                                                        }
211
                                                } else if (VerificadorUtil.naoEstaNulo(lojaEntradaDTO)) {
212
                                                        if (transferenciaDTO.getLojaEntradaDTO().equals(lojaEntradaDTO)) {
213
                                                                quantidadeTransferida = quantidadeTransferida + transferenciaProdutoDTO.getQuantidadeTransferir();
214
                                                        }
215
                                                }
216
 
217
                                        }
218
                                }
219
                        }
220
                }
221
                if (quantidadeTransferida == 0) {return null;}
222
                return quantidadeTransferida;
223
        }
224
 
507 blopes 225
        /*
226
        public VigenciaDTO getVigenciaDTO() {
227
                return vigenciaDTO;
228
        }
229
        public void setVigenciaDTO(VigenciaDTO vigenciaDTO) {
230
                this.vigenciaDTO = vigenciaDTO;
231
        }
232
        public List<ConsolidadoPessoaJuridicaDTO> getConsolidadosPessoaJuridica() {
233
                return consolidadosPessoaJuridica;
234
        }
235
        public void setConsolidadosPessoaJuridica(List<ConsolidadoPessoaJuridicaDTO> consolidadosPessoaJuridica) {
236
                this.consolidadosPessoaJuridica = consolidadosPessoaJuridica;
237
        }
238
 
239
        public Double getValorTotalNotasFiscaisRecebidas() {
240
                return valorTotalNotasFiscaisRecebidas;
241
        }
242
        public void setValorTotalNotasFiscaisRecebidas(Double valorTotalNotasFiscaisRecebidas) {
243
                this.valorTotalNotasFiscaisRecebidas = valorTotalNotasFiscaisRecebidas;
244
        }
245
 
246
        public Integer getNotasFiscaisRecebidas() {
247
                return notasFiscaisRecebidas;
248
        }
249
        public void setNotasFiscaisRecebidas(Integer notasFiscaisRecebidas) {
250
                this.notasFiscaisRecebidas = notasFiscaisRecebidas;
251
        }
252
 
253
        public Double getValorTotalNotasFiscaisRemessas() {
254
                return valorTotalNotasFiscaisRemessas;
255
        }
256
        public void setValorTotalNotasFiscaisRemessas(Double valorTotalNotasFiscaisRemessas) {
257
                this.valorTotalNotasFiscaisRemessas = valorTotalNotasFiscaisRemessas;
258
        }
259
 
260
        public Integer getNotasFiscaisRemessas() {
261
                return notasFiscaisRemessas;
262
        }
263
        public void setNotasFiscaisRemessas(Integer notasFiscaisRemessas) {
264
                this.notasFiscaisRemessas = notasFiscaisRemessas;
265
        }
266
 
267
        public Double getValorTotalNotasFiscaisGeralEmitidas() {
268
                Double valorTotal = new Double(0.0);
269
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
270
                        valorTotal = valorTotal + consolidadoPessoaJuridica.getValorTotalNotasFiscaisEmitidas();
271
                }
272
                return valorTotal;
273
        }
274
 
275
        public Integer getNotasFiscaisGeralEmitidas() {
276
                Integer quantidadeTotal = 0;
277
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
278
                        quantidadeTotal = quantidadeTotal + consolidadoPessoaJuridica.getNotasFiscaisEmitidas();
279
                }
280
                return quantidadeTotal;
281
        }
282
        */
283
}