Subversion Repositories Integrator Subversion

Rev

Rev 515 | Rev 517 | Go to most recent revision | 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;
507 blopes 30
        /*
31
//      private VigenciaDTO vigenciaDTO;
32
        private List<ConsolidadoPessoaJuridicaDTO> notasFiscaisPessoaJuridica = new ArrayList<ConsolidadoPessoaJuridicaDTO>();
33
        private Double valorTotalNotasFiscaisRecebidas = new Double(0.0);
34
        private Integer notasFiscaisRecebidas = 0;
35
        private Double valorTotalNotasFiscaisRemessas = new Double(0.0);
36
        private Integer notasFiscaisRemessas = 0;
37
        */
38
 
39
        public LogisticaDTO() {
515 blopes 40
                setProdutosParaVerificar(new ArrayList<ProdutoLojaDTO>());
516 blopes 41
                setProdutosAntesDistribuir(new ArrayList<ProdutoLojaDTO>());
515 blopes 42
                setTransferencias(new ArrayList<TransferenciaDTO>());
510 blopes 43
                setTipoPeriodoConsulta(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor());
44
                atualizarPeriodo();
507 blopes 45
        }
46
 
47
        public String getTipoPeriodoConsulta() {
48
                return tipoPeriodoConsulta;
49
        }
50
        public void setTipoPeriodoConsulta(String tipoPeriodoConsulta) {
51
                this.tipoPeriodoConsulta = tipoPeriodoConsulta;
52
        }
53
 
54
        public String getTipoProduto() {
55
                return tipoProduto;
56
        }
57
        public void setTipoProduto(String tipoProduto) {
58
                this.tipoProduto = tipoProduto;
59
        }
60
 
508 blopes 61
        public Long getSequencialLojaSaida() {
62
                return sequencialLojaSaida;
63
        }
64
        public void setSequencialLojaSaida(Long sequencialLojaSaida) {
65
                this.sequencialLojaSaida = sequencialLojaSaida;
66
        }
67
 
510 blopes 68
        public Date getDataInicial() {
69
                return dataInicial;
508 blopes 70
        }
510 blopes 71
        public void setDataInicial(Date dataInicial) {
72
                this.dataInicial = dataInicial;
508 blopes 73
        }
74
 
510 blopes 75
        public Date getDataFinal() {
76
                return dataFinal;
508 blopes 77
        }
510 blopes 78
        public void setDataFinal(Date dataFinal) {
79
                this.dataFinal = dataFinal;
508 blopes 80
        }
81
 
515 blopes 82
        public List<ProdutoLojaDTO> getProdutosParaVerificar() {
83
                return produtosParaVerificar;
508 blopes 84
        }
515 blopes 85
        public void setProdutosParaVerificar(List<ProdutoLojaDTO> produtosParaVerificar) {
86
                this.produtosParaVerificar = produtosParaVerificar;
508 blopes 87
        }
88
 
516 blopes 89
        public List<ProdutoLojaDTO> getProdutosAntesDistribuir() {
90
                return ProdutosAntesDistribuir;
91
        }
92
        public void setProdutosAntesDistribuir(List<ProdutoLojaDTO> produtosAntesDistribuir) {
93
                ProdutosAntesDistribuir = produtosAntesDistribuir;
94
        }
95
 
515 blopes 96
        public List<TransferenciaDTO> getTransferencias() {
97
                return transferencias;
98
        }
99
        public void setTransferencias(List<TransferenciaDTO> transferencias) {
100
                this.transferencias = transferencias;
101
        }
102
 
103
        public List<LojaDTO> getLojasPorMaiorPrioridade() {
104
                return lojasPorMaiorPrioridade;
105
        }
106
        public void setLojasPorMaiorPrioridade(List<LojaDTO> lojasPorMaiorPrioridade) {
107
                this.lojasPorMaiorPrioridade = lojasPorMaiorPrioridade;
108
        }
109
 
110
        public List<LojaDTO> getLojasPorMenorPrioridade() {
111
                return lojasPorMenorPrioridade;
112
        }
113
        public void setLojasPorMenorPrioridade(List<LojaDTO> lojasPorMenorPrioridade) {
114
                this.lojasPorMenorPrioridade = lojasPorMenorPrioridade;
115
        }
116
 
507 blopes 117
        /*******************************************/
118
 
510 blopes 119
        public void atualizarPeriodo() {
120
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_7_DIAS.getValor())) {
121
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7)));
122
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
123
                }
124
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor())) {
125
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -15)));
126
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
127
                }
128
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_30_DIAS.getValor())) {
129
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -30)));
130
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
131
                }
132
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_60_DIAS.getValor())) {
133
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -60)));
134
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
135
                }
136
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_90_DIAS.getValor())) {
137
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -90)));
138
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
139
                }
140
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.MES_ATUAL.getValor())) {
141
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()));
142
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()));
143
                }
144
        }
145
 
516 blopes 146
        public List<ProdutoDTO> produtosEmTransferencia() {
147
                List<ProdutoDTO> produtosEmTransferencia = new ArrayList<ProdutoDTO>();
148
                for (TransferenciaDTO transferencia : getTransferencias()) {
149
                        if (VerificadorUtil.naoEstaNuloOuVazio(transferencia.getProdutosDTO())) {
150
                                for (TransferenciaProdutoDTO transferenciaProdutoDTO : transferencia.getProdutosDTO()) {
151
                                        if (!produtosEmTransferencia.contains(transferenciaProdutoDTO.getProdutoDTO())) {
152
                                                produtosEmTransferencia.add(transferenciaProdutoDTO.getProdutoDTO());
153
                                        }
154
                                }
155
                        }
156
                }
157
                return produtosEmTransferencia;
158
        }
159
 
160
        public Integer estoqueProduto(ProdutoDTO produtoDTO, LojaDTO lojaDTO) {
161
                for (ProdutoLojaDTO produtoLojaDTO : getProdutosAntesDistribuir()) {
162
                        if (produtoLojaDTO.getSequencialDoProduto().equals(produtoDTO.getSequencial()) &&
163
                                produtoLojaDTO.getLojaDTO().equals(lojaDTO)) {
164
                                return produtoLojaDTO.getQuantidadeEstoqueAnterior();
165
                        }
166
                }
167
                return null;
168
        }
169
 
170
        public Integer quantidadeTransferida(ProdutoDTO produtoDTO, LojaDTO lojaSaidaDTO, LojaDTO lojaEntradaDTO) {
171
                Integer quantidadeTransferida = 0;
172
                for (TransferenciaDTO transferenciaDTO : getTransferencias()) {
173
                        if (VerificadorUtil.naoEstaNuloOuVazio(transferenciaDTO.getProdutosDTO())) {
174
                                for (TransferenciaProdutoDTO transferenciaProdutoDTO : transferenciaDTO.getProdutosDTO()) {
175
                                        if (transferenciaProdutoDTO.getProdutoDTO().equals(produtoDTO)) {
176
                                                if (VerificadorUtil.naoEstaNulo(lojaSaidaDTO)) {
177
                                                        if (transferenciaDTO.getLojaSaidaDTO().equals(lojaSaidaDTO)) {
178
                                                                quantidadeTransferida = quantidadeTransferida - transferenciaProdutoDTO.getQuantidadeTransferir();
179
                                                        }
180
                                                } else if (VerificadorUtil.naoEstaNulo(lojaEntradaDTO)) {
181
                                                        if (transferenciaDTO.getLojaEntradaDTO().equals(lojaEntradaDTO)) {
182
                                                                quantidadeTransferida = quantidadeTransferida + transferenciaProdutoDTO.getQuantidadeTransferir();
183
                                                        }
184
                                                }
185
 
186
                                        }
187
                                }
188
                        }
189
                }
190
                if (quantidadeTransferida == 0) {return null;}
191
                return quantidadeTransferida;
192
        }
193
 
507 blopes 194
        /*
195
        public VigenciaDTO getVigenciaDTO() {
196
                return vigenciaDTO;
197
        }
198
        public void setVigenciaDTO(VigenciaDTO vigenciaDTO) {
199
                this.vigenciaDTO = vigenciaDTO;
200
        }
201
        public List<ConsolidadoPessoaJuridicaDTO> getConsolidadosPessoaJuridica() {
202
                return consolidadosPessoaJuridica;
203
        }
204
        public void setConsolidadosPessoaJuridica(List<ConsolidadoPessoaJuridicaDTO> consolidadosPessoaJuridica) {
205
                this.consolidadosPessoaJuridica = consolidadosPessoaJuridica;
206
        }
207
 
208
        public Double getValorTotalNotasFiscaisRecebidas() {
209
                return valorTotalNotasFiscaisRecebidas;
210
        }
211
        public void setValorTotalNotasFiscaisRecebidas(Double valorTotalNotasFiscaisRecebidas) {
212
                this.valorTotalNotasFiscaisRecebidas = valorTotalNotasFiscaisRecebidas;
213
        }
214
 
215
        public Integer getNotasFiscaisRecebidas() {
216
                return notasFiscaisRecebidas;
217
        }
218
        public void setNotasFiscaisRecebidas(Integer notasFiscaisRecebidas) {
219
                this.notasFiscaisRecebidas = notasFiscaisRecebidas;
220
        }
221
 
222
        public Double getValorTotalNotasFiscaisRemessas() {
223
                return valorTotalNotasFiscaisRemessas;
224
        }
225
        public void setValorTotalNotasFiscaisRemessas(Double valorTotalNotasFiscaisRemessas) {
226
                this.valorTotalNotasFiscaisRemessas = valorTotalNotasFiscaisRemessas;
227
        }
228
 
229
        public Integer getNotasFiscaisRemessas() {
230
                return notasFiscaisRemessas;
231
        }
232
        public void setNotasFiscaisRemessas(Integer notasFiscaisRemessas) {
233
                this.notasFiscaisRemessas = notasFiscaisRemessas;
234
        }
235
 
236
        public Double getValorTotalNotasFiscaisGeralEmitidas() {
237
                Double valorTotal = new Double(0.0);
238
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
239
                        valorTotal = valorTotal + consolidadoPessoaJuridica.getValorTotalNotasFiscaisEmitidas();
240
                }
241
                return valorTotal;
242
        }
243
 
244
        public Integer getNotasFiscaisGeralEmitidas() {
245
                Integer quantidadeTotal = 0;
246
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
247
                        quantidadeTotal = quantidadeTotal + consolidadoPessoaJuridica.getNotasFiscaisEmitidas();
248
                }
249
                return quantidadeTotal;
250
        }
251
        */
252
}