Refactoring ID su recover colli
This commit is contained in:
parent
bcb301ef96
commit
438e9ca73c
@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.data_recover;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.annimon.stream.Optional;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
import com.google.android.gms.common.util.IOUtils;
|
import com.google.android.gms.common.util.IOUtils;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
@ -16,6 +18,7 @@ import java.io.InputStream;
|
|||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.CommonConst;
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
@ -24,12 +27,22 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|||||||
public class ColliDataRecover {
|
public class ColliDataRecover {
|
||||||
|
|
||||||
private static class RecoverDTO {
|
private static class RecoverDTO {
|
||||||
|
private int id;
|
||||||
private int numCollo;
|
private int numCollo;
|
||||||
private String serCollo;
|
private String serCollo;
|
||||||
private String dataCollo;
|
private String dataCollo;
|
||||||
private String gestioneCollo;
|
private String gestioneCollo;
|
||||||
private String filtro;
|
private String filtro;
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RecoverDTO setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int getNumCollo() {
|
public int getNumCollo() {
|
||||||
return numCollo;
|
return numCollo;
|
||||||
}
|
}
|
||||||
@ -105,13 +118,9 @@ public class ColliDataRecover {
|
|||||||
public static List<Integer> getAllSessionIDs() {
|
public static List<Integer> getAllSessionIDs() {
|
||||||
if(thereIsAnExistantSession()) {
|
if(thereIsAnExistantSession()) {
|
||||||
|
|
||||||
List<Integer> sessionIDs = new ArrayList<>();
|
return Stream.of(mtbColtsSessions)
|
||||||
|
.map(RecoverDTO::getId)
|
||||||
for(int i = 0; i < mtbColtsSessions.size(); i++){
|
.toList();
|
||||||
sessionIDs.add(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sessionIDs;
|
|
||||||
|
|
||||||
} else return null;
|
} else return null;
|
||||||
}
|
}
|
||||||
@ -120,7 +129,7 @@ public class ColliDataRecover {
|
|||||||
|
|
||||||
if(sessionID == null) return null;
|
if(sessionID == null) return null;
|
||||||
|
|
||||||
RecoverDTO dto = mtbColtsSessions.get(sessionID);
|
RecoverDTO dto = getIfExists(sessionID);
|
||||||
|
|
||||||
return new MtbColt()
|
return new MtbColt()
|
||||||
.setNumCollo(dto.getNumCollo())
|
.setNumCollo(dto.getNumCollo())
|
||||||
@ -130,9 +139,27 @@ public class ColliDataRecover {
|
|||||||
.setFiltroOrdini(dto.getFiltro());
|
.setFiltroOrdini(dto.getFiltro());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static RecoverDTO getIfExists(int id) {
|
||||||
|
Optional<RecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
|
||||||
|
.filter(x -> x.getId() == id)
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
|
||||||
|
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
|
||||||
|
}
|
||||||
|
|
||||||
public static int startNewSession(MtbColt mtbColtSession) {
|
public static int startNewSession(MtbColt mtbColtSession) {
|
||||||
|
Integer newId = null;
|
||||||
|
|
||||||
|
while(newId == null) {
|
||||||
|
int randomId = new Random().nextInt(1000);
|
||||||
|
RecoverDTO dto = getIfExists(randomId);
|
||||||
|
if(dto == null) newId = randomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
RecoverDTO recoverDTO = new RecoverDTO()
|
RecoverDTO recoverDTO = new RecoverDTO()
|
||||||
|
.setId(newId)
|
||||||
.setDataCollo(mtbColtSession.getDataColloS())
|
.setDataCollo(mtbColtSession.getDataColloS())
|
||||||
.setNumCollo(mtbColtSession.getNumCollo())
|
.setNumCollo(mtbColtSession.getNumCollo())
|
||||||
.setSerCollo(mtbColtSession.getSerCollo())
|
.setSerCollo(mtbColtSession.getSerCollo())
|
||||||
@ -141,12 +168,16 @@ public class ColliDataRecover {
|
|||||||
|
|
||||||
mtbColtsSessions.add(recoverDTO);
|
mtbColtsSessions.add(recoverDTO);
|
||||||
updateLocalFile();
|
updateLocalFile();
|
||||||
return mtbColtsSessions.indexOf(recoverDTO);
|
return newId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void closeSession(int ID) {
|
public static void closeSession(int ID) {
|
||||||
mtbColtsSessions.remove(ID);
|
RecoverDTO dto = getIfExists(ID);
|
||||||
updateLocalFile();
|
|
||||||
|
if(dto != null) {
|
||||||
|
mtbColtsSessions.remove(dto);
|
||||||
|
updateLocalFile();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user