Duplicidad de valores
Publicado por Scr (1 intervención) el 12/03/2016 14:57:46
Hola, espero me puedan ayudar. Mi problema es que al final en la impresión me duplica los valores que realmente me debe de mostrar. Es decir la variable total debe de ser 4, y al final me imprime 8, al igual que total Success y total Updated. Espero me puedan ayudar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
private Boolean store(){
Boolean success =true;
Integer total = arrSFObjs.length;
Integer totalSuccess = 0;
Integer totalUpdated = 0;
Integer totalInserted = 0;
Integer totalError = 0;
if(!success){
return false;
}
Integer index=-1;
UpsertResult[] results_r = sfc.upsertObjects("EXTERNAL_ID__c" ,arrSFObjs);
results_r.hashCode();
if(results_r!=null){
total=results_r.hashCode();
for(UpsertResult result:results_r){
index++;
if(result==null){
continue;
}
if(result.isSuccess()){
totalSuccess++;
if(result.isCreated()){
totalInserted++;
}else{
totalUpdated++;
logger.info(totalUpdated);
}
continue;
totalError++;
Account acc = (Account)arrSFObjs[index];
logger.error(acc);
logger.error("Error en registro '" + acc.getEXTERNAL_ID__c() + "': " + error.getMessage() + " (" + error.getStatusCode() + ")");
messages.append("Error en registro '" + acc.getEXTERNAL_ID__c() + "': ");
messages.append(error.getMessage() + " (" + error.getStatusCode() + ") \n");
success = false;
}
}
}
HashMap <String,Contact> mapaAsociado = new HashMap<String, Contact>();
for (Account acc:mapRegion.values()){
String key = acc.getGerente__r().getRegistro__c();
if(!mapaAsociado.containsKey(key)){
Contact contact = new Contact();
contact.setRegistro__c(key);
Account padre= new Account();
padre.setEXTERNAL_ID__c(acc.getEXTERNAL_ID__c());
contact.setAccount(padre);
mapaAsociado.put(key, contact);
}
}
ArrayList<Contact> asociado = new ArrayList<Contact>(mapaAsociado.values());
Contact[] arraySocio = new Contact[asociado.size()];
asociado.toArray(arraySocio);
UpsertResult[]fin = sfc.upsertObjects("Registro__c",arraySocio);
if(fin!=null){
total=results_r.hashCode();
for(UpsertResult result:fin){
index++;
if(result==null){
continue;
}
if(result.isSuccess()){
totalSuccess++;
if(result.isCreated()){
totalInserted++;
}else{
totalUpdated++;
}
continue;
}
if(errors==null){
continue;
}
totalError++;
Account acc = (Account)arrSFObjs[index];
}
}
logger.info("success:" + totalSuccess + ", errors:" + totalError);
messages.append(" Total de Regiones \n");
messages.append(" Total de registros procesados:" + total + "\n");
messages.append(" Total de registros exitosos:" + totalSuccess+ "\n");
messages.append(" Total de registros actualizados:" + totalUpdated + "\n");
messages.append(" Total de registros insertados:" + totalInserted + "\n");
messages.append(" Total de registros erroneos:" + totalError + "\n");
Valora esta pregunta


0