Adicionar Na Lista Atributo Que Vêm Só Uma Vez Na Lista

2 respostas
java
E

Pesoaal tenho a seguinte situação por exemplo essa lista abaixo da PAR_02 precisava ficar deste jeito:

È feito uma pesquisa no banco de dados que são referentes a Domícilios Bancários até aí tudo bem, só que eu precisava fazer por exemplo quando existe na PAR_02 Domicilios Bancários com as duas bandeiras cadastradas ou seja VISA E MASTERCARD eu faça ela vira um registro só e que o atributo bandeira receba 999, bom essa situação conforme o código abaixo eu conseguir fazer agora tem a outra questão quando existir somente uma bandeira cadastrada na lista seja VISA ou MASTERCARD não remover desta lista já tentei fazer algumas situações ainda não consegui resolver, alguém tem uma ídeia para resolver essa solução agradeço desde já. Lembrando que a pesquisa já trás os Domicilios Bancarios sempre iguais porque a pesquisa é feita pelo Banco, Agencia E Conta Corrente.

`List listaPar02AntCadDomicEcAntecComDomiciliosIguaisBandeirasIguais = new ArrayList(listaPar02AntCadDomicEcAntec);

for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec1 : listaPar02AntCadDomicEcAntec) {
				
				Boolean removeu1Vez = Boolean.FALSE;
				
				for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec2 : listaPar02AntCadDomicEcAntec) {
					
					if (par02AntCadDomicEcAntec1.getCadCodEc().equals(par02AntCadDomicEcAntec2.getCadCodEc()) ) {
						par02AntCadDomicEcAntec1.setCadCodBandeira(999L);
						
						if (removeu1Vez.equals(Boolean.TRUE)) {
							continue;
						}
						
						listaPar02AntCadDomicEcAntecComDomiciliosIguaisBandeirasIguais.remove(par02AntCadDomicEcAntec2);
						
						removeu1Vez = Boolean.TRUE;
					}
				}
			}`

`package br.com.getnet.bean;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;

import javax.persistence.SequenceGenerator;

import javax.persistence.Table;

import javax.persistence.Temporal;

import javax.persistence.TemporalType;

/**

  • The persistent class for the PAR_02_ANT_CAD_DOMIC_EC_ANTEC database table.
*/

@Entity

@Table(name=PAR_02_ANT_CAD_DOMIC_EC_ANTEC)

public class Par02AntCadDomicEcAntec implements Serializable {

private static final long serialVersionUID = 1L;
@Id
@Column(name="ID_CAD_DOMIC_EC_ANTEC")
@SequenceGenerator(name = "seqPAR_02_ANT_CAD_DOMIC_EC_ANTEC", sequenceName="SQ_PAR_02_ANT_CAD_DOMIC_EC_ANT", allocationSize=1, initialValue=1)
@GeneratedValue (generator = "seqPAR_02_ANT_CAD_DOMIC_EC_ANTEC", strategy = GenerationType.AUTO)	
private long idCadDomicEcAntec;

@Column(name="CAD_COD_BCO_DOMIC")
private Long cadCodBcoDomic;

@Column(name="CAD_COD_ADQ")
private Long cadCodAdq;

@Column(name="CAD_COD_EC")
private Long cadCodEc;

@Column(name="CAD_COD_PRODUTO")
private Long cadCodProduto;

@Column(name="CAD_COD_AGENCIA_DOMIC")
private Long cadCodAgenciaDomic;

@Column(name="CAD_COD_CC_DOMIC")
private String cadCodCcDomic;

@Column(name="CAD_FLAG_TRAVA_DOMIC_SCG")
private String cadFlagTravaDomicScg;

@Temporal(TemporalType.DATE)
@Column(name="CAD_DATA_FIM_CONTRATO_TRAVA")
private Date cadDataFimContratoTrava;

@Column(name="CAD_COD_BANDEIRA")
private Long cadCodBandeira;

@Temporal(TemporalType.DATE)
@Column(name="CAD_DT_ATUALIZ")
private Date cadDtAtualiz;

@Column(name="CAD_USER_ATUALIZ")
private String cadUserAtualiz;

public long getIdCadDomicEcAntec() {
	return idCadDomicEcAntec;
}

public void setIdCadDomicEcAntec(long idCadDomicEcAntec) {
	this.idCadDomicEcAntec = idCadDomicEcAntec;
}

public Long getCadCodBcoDomic() {
	return cadCodBcoDomic;
}

public void setCadCodBcoDomic(Long cadCodBcoDomic) {
	this.cadCodBcoDomic = cadCodBcoDomic;
}

public Long getCadCodAdq() {
	return cadCodAdq;
}

public void setCadCodAdq(Long cadCodAdq) {
	this.cadCodAdq = cadCodAdq;
}

public Long getCadCodEc() {
	return cadCodEc;
}

public void setCadCodEc(Long cadCodEc) {
	this.cadCodEc = cadCodEc;
}

public Long getCadCodProduto() {
	return cadCodProduto;
}

public void setCadCodProduto(Long cadCodProduto) {
	this.cadCodProduto = cadCodProduto;
}

public Long getCadCodAgenciaDomic() {
	return cadCodAgenciaDomic;
}

public void setCadCodAgenciaDomic(Long cadCodAgenciaDomic) {
	this.cadCodAgenciaDomic = cadCodAgenciaDomic;
}

public String getCadCodCcDomic() {
	return cadCodCcDomic;
}

public void setCadCodCcDomic(String cadCodCcDomic) {
	this.cadCodCcDomic = cadCodCcDomic;
}

public String getCadFlagTravaDomicScg() {
	return cadFlagTravaDomicScg;
}

public void setCadFlagTravaDomicScg(String cadFlagTravaDomicScg) {
	this.cadFlagTravaDomicScg = cadFlagTravaDomicScg;
}

public Date getCadDataFimContratoTrava() {
	return cadDataFimContratoTrava;
}

public void setCadDataFimContratoTrava(Date cadDataFimContratoTrava) {
	this.cadDataFimContratoTrava = cadDataFimContratoTrava;
}

public Long getCadCodBandeira() {
	return cadCodBandeira;
}

public void setCadCodBandeira(Long cadCodBandeira) {
	this.cadCodBandeira = cadCodBandeira;
}

public Date getCadDtAtualiz() {
	return cadDtAtualiz;
}

public void setCadDtAtualiz(Date cadDtAtualiz) {
	this.cadDtAtualiz = cadDtAtualiz;
}

public String getCadUserAtualiz() {
	return cadUserAtualiz;
}

public void setCadUserAtualiz(String cadUserAtualiz) {
	this.cadUserAtualiz = cadUserAtualiz;
}

}`

2 Respostas

E

Alguém?

E

Consegui resolver, hoje pensando pensando conseguir pensar em uma solução que não foi díficil, segue o código abaixo.

`List listaPar02AntCadDomicEcAntecComDomiciliosIguaisComDuasBandeiras = new ArrayList(listaPar02AntCadDomicEcAntec);

for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec1 : listaPar02AntCadDomicEcAntec) {
				
				Boolean removeu1Vez = Boolean.FALSE;
				
				for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec2 : listaPar02AntCadDomicEcAntec) {
					
					if (par02AntCadDomicEcAntec1.getCadCodEc().equals(par02AntCadDomicEcAntec2.getCadCodEc()) ) {
						//par02AntCadDomicEcAntec1.setCadCodBandeira(999L);
						
						if (removeu1Vez.equals(Boolean.TRUE)) {
							continue;
						}
						
						listaPar02AntCadDomicEcAntecComDomiciliosIguaisComDuasBandeiras.remove(par02AntCadDomicEcAntec2);
						
						removeu1Vez = Boolean.TRUE;
					}
				}
			}
			
			List<Par02AntCadDomicEcAntec> listaPar02AntCadDomicEcAntecLimpa = new ArrayList<Par02AntCadDomicEcAntec>();
			
			for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec1 : listaPar02AntCadDomicEcAntec) {
				
				Boolean adicionou1Vez = Boolean.FALSE;
				
				for (Par02AntCadDomicEcAntec par02AntCadDomicEcAntec2 : listaPar02AntCadDomicEcAntecComDomiciliosIguaisComDuasBandeiras) {
					
					if (adicionou1Vez.equals(Boolean.TRUE)) {
						continue;
					}
					
					if (par02AntCadDomicEcAntec1.equals(par02AntCadDomicEcAntec2)) {
						par02AntCadDomicEcAntec1.setCadCodBandeira(999L);
						listaPar02AntCadDomicEcAntecLimpa.add(par02AntCadDomicEcAntec1);
					} else {
						listaPar02AntCadDomicEcAntecLimpa.add(par02AntCadDomicEcAntec1);
					}
					
					adicionou1Vez = Boolean.TRUE;
				}
			}`
Criado 26 de janeiro de 2016
Ultima resposta 28 de jan. de 2016
Respostas 2
Participantes 1