Subversion Repositories Integrator Subversion

Rev

Rev 516 | 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
 
517 blopes 170
        public String quantidadeTransferirAntesDistribuirProduto(ProdutoDTO produtoDTO, LojaDTO lojaDTO) {
171
                for (ProdutoLojaDTO produtoLojaDTO : getProdutosAntesDistribuir()) {
172
                        if (produtoLojaDTO.getSequencialDoProduto().equals(produtoDTO.getSequencial()) &&
173
                                produtoLojaDTO.getLojaDTO().equals(lojaDTO)) {
174
                                Integer quantidade = (produtoLojaDTO.quantidadeParaTransferir() * -1) - produtoLojaDTO.getQuantidadeEstoqueAnterior();
175
                                if (quantidade > 0) {return "[" + quantidade + "]";}
176
                                return "";
177
                        }
178
                }
179
                return null;
180
        }
181
 
516 blopes 182
        public Integer quantidadeTransferida(ProdutoDTO produtoDTO, LojaDTO lojaSaidaDTO, LojaDTO lojaEntradaDTO) {
183
                Integer quantidadeTransferida = 0;
184
                for (TransferenciaDTO transferenciaDTO : getTransferencias()) {
185
                        if (VerificadorUtil.naoEstaNuloOuVazio(transferenciaDTO.getProdutosDTO())) {
186
                                for (TransferenciaProdutoDTO transferenciaProdutoDTO : transferenciaDTO.getProdutosDTO()) {
187
                                        if (transferenciaProdutoDTO.getProdutoDTO().equals(produtoDTO)) {
188
                                                if (VerificadorUtil.naoEstaNulo(lojaSaidaDTO)) {
189
                                                        if (transferenciaDTO.getLojaSaidaDTO().equals(lojaSaidaDTO)) {
190
                                                                quantidadeTransferida = quantidadeTransferida - transferenciaProdutoDTO.getQuantidadeTransferir();
191
                                                        }
192
                                                } else if (VerificadorUtil.naoEstaNulo(lojaEntradaDTO)) {
193
                                                        if (transferenciaDTO.getLojaEntradaDTO().equals(lojaEntradaDTO)) {
194
                                                                quantidadeTransferida = quantidadeTransferida + transferenciaProdutoDTO.getQuantidadeTransferir();
195
                                                        }
196
                                                }
197
 
198
                                        }
199
                                }
200
                        }
201
                }
202
                if (quantidadeTransferida == 0) {return null;}
203
                return quantidadeTransferida;
204
        }
205
 
507 blopes 206
        /*
207
        public VigenciaDTO getVigenciaDTO() {
208
                return vigenciaDTO;
209
        }
210
        public void setVigenciaDTO(VigenciaDTO vigenciaDTO) {
211
                this.vigenciaDTO = vigenciaDTO;
212
        }
213
        public List<ConsolidadoPessoaJuridicaDTO> getConsolidadosPessoaJuridica() {
214
                return consolidadosPessoaJuridica;
215
        }
216
        public void setConsolidadosPessoaJuridica(List<ConsolidadoPessoaJuridicaDTO> consolidadosPessoaJuridica) {
217
                this.consolidadosPessoaJuridica = consolidadosPessoaJuridica;
218
        }
219
 
220
        public Double getValorTotalNotasFiscaisRecebidas() {
221
                return valorTotalNotasFiscaisRecebidas;
222
        }
223
        public void setValorTotalNotasFiscaisRecebidas(Double valorTotalNotasFiscaisRecebidas) {
224
                this.valorTotalNotasFiscaisRecebidas = valorTotalNotasFiscaisRecebidas;
225
        }
226
 
227
        public Integer getNotasFiscaisRecebidas() {
228
                return notasFiscaisRecebidas;
229
        }
230
        public void setNotasFiscaisRecebidas(Integer notasFiscaisRecebidas) {
231
                this.notasFiscaisRecebidas = notasFiscaisRecebidas;
232
        }
233
 
234
        public Double getValorTotalNotasFiscaisRemessas() {
235
                return valorTotalNotasFiscaisRemessas;
236
        }
237
        public void setValorTotalNotasFiscaisRemessas(Double valorTotalNotasFiscaisRemessas) {
238
                this.valorTotalNotasFiscaisRemessas = valorTotalNotasFiscaisRemessas;
239
        }
240
 
241
        public Integer getNotasFiscaisRemessas() {
242
                return notasFiscaisRemessas;
243
        }
244
        public void setNotasFiscaisRemessas(Integer notasFiscaisRemessas) {
245
                this.notasFiscaisRemessas = notasFiscaisRemessas;
246
        }
247
 
248
        public Double getValorTotalNotasFiscaisGeralEmitidas() {
249
                Double valorTotal = new Double(0.0);
250
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
251
                        valorTotal = valorTotal + consolidadoPessoaJuridica.getValorTotalNotasFiscaisEmitidas();
252
                }
253
                return valorTotal;
254
        }
255
 
256
        public Integer getNotasFiscaisGeralEmitidas() {
257
                Integer quantidadeTotal = 0;
258
                for (ConsolidadoPessoaJuridicaDTO consolidadoPessoaJuridica : getConsolidadosPessoaJuridica()) {
259
                        quantidadeTotal = quantidadeTotal + consolidadoPessoaJuridica.getNotasFiscaisEmitidas();
260
                }
261
                return quantidadeTotal;
262
        }
263
        */
264
}