Finish v1.33.09(380)

This commit is contained in:
Valerio Castellana 2023-05-22 12:05:03 +02:00
commit f8ceb1fb2d
4 changed files with 30 additions and 135 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 378
def appVersionName = '1.33.07'
def appVersionCode = 380
def appVersionName = '1.33.09'
signingConfigs {
release {

View File

@ -58,7 +58,7 @@ public abstract class _BaseRepository<
.collect(Collectors.toList());
var dataToDelete = finalLocalData.stream()
.filter(x -> finalRemoteData.stream().noneMatch(y -> keyComparator.run(y, x)))
.filter(x -> x.isSyncronized() && finalRemoteData.stream().noneMatch(y -> keyComparator.run(y, x)))
.collect(Collectors.toList());
var dataToInsert = finalRemoteData.stream()

View File

@ -179,8 +179,7 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
}
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
this.mViewModel.processBarcodeDTO(data, () -> {
});
this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
};
@ -260,7 +259,7 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
.setNew(true));
DialogSelectDocRowsView.newInstance(dialogSelectDocRowsItemListModels, data -> {
if(data.isNew())
if (data.isNew())
this.mViewModel.dispatchRowInsert(null, matchedArt, null);
else
this.mViewModel.dispatchRowEdit(matchedArt.toMtbAart(), (InventarioRowRoomDTO) data.getOriginalModel());

View File

@ -47,9 +47,7 @@ public class PickingInventarioViewModel extends ViewModel {
private List<InventarioArtDTO> availableInventarioArts;
private Listener mListener;
public PickingInventarioViewModel(
InventarioRepository inventarioRepository,
InventarioRowRepository inventarioRowRepository) {
public PickingInventarioViewModel(InventarioRepository inventarioRepository, InventarioRowRepository inventarioRowRepository) {
this.inventarioRepository = inventarioRepository;
this.inventarioRowRepository = inventarioRowRepository;
}
@ -84,6 +82,7 @@ public class PickingInventarioViewModel extends ViewModel {
}
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
this.sendOnLoadingStarted();
if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
//Cerco tramite etichetta ean peso
this.executeEtichettaEanPeso(barcodeScanDTO, onComplete);
@ -97,27 +96,17 @@ public class PickingInventarioViewModel extends ViewModel {
var barcodeList = new ArrayList<String>();
barcodeList.add(itemToUpdate.getScanCodBarre());
var matchedArt = availableInventarioArts.stream()
.filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart()))
.findFirst()
.orElse(null);
var matchedArt = availableInventarioArts.stream().filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart())).findFirst().orElse(null);
MtbAart articolo;
if (canAddUnknownItems && matchedArt == null) {
matchedArt = new InventarioArtDTO()
.setBarcode(barcodeList)
.setFlagQtaCnfFissa(true)
.setPlu(false)
.setUntMis(itemToUpdate.getUntMis())
.setQtaCnf(itemToUpdate.getQtaConf());
matchedArt = new InventarioArtDTO().setBarcode(barcodeList).setFlagQtaCnfFissa(true).setPlu(false).setUntMis(itemToUpdate.getUntMis()).setQtaCnf(itemToUpdate.getQtaConf());
}
if (matchedArt != null) {
articolo = matchedArt.toMtbAart()
.setFlagTracciabilita("N");
articolo = matchedArt.toMtbAart().setFlagTracciabilita("N");
dispatchRowEdit(articolo, itemToUpdate);
} else
this.sendError(new NoResultFromBarcodeException(itemToUpdate.getScanCodBarre()));
} else this.sendError(new NoResultFromBarcodeException(itemToUpdate.getScanCodBarre()));
}
public void deleteRow(InventarioRowRoomDTO itemToDelete) {
@ -155,19 +144,11 @@ public class PickingInventarioViewModel extends ViewModel {
var barcodeList = new ArrayList<String>();
barcodeList.add(barcodeProd);
var matchedArt = availableInventarioArts.stream()
.filter(x -> x.getBarcode().contains(barcodeProd))
.findFirst()
.orElse(null);
var matchedArt = availableInventarioArts.stream().filter(x -> x.getBarcode().contains(barcodeProd)).findFirst().orElse(null);
if (canAddUnknownItems && matchedArt == null) {
matchedArt = new InventarioArtDTO()
.setBarcode(barcodeList)
.setFlagQtaCnfFissa(true)
.setPlu(false)
.setUntMis("PZ")
.setQtaCnf(BigDecimal.ONE);
matchedArt = new InventarioArtDTO().setBarcode(barcodeList).setFlagQtaCnfFissa(true).setPlu(false).setUntMis("PZ").setQtaCnf(BigDecimal.ONE);
}
@ -182,8 +163,7 @@ public class PickingInventarioViewModel extends ViewModel {
}
onComplete.run();
} else
this.sendError(new NoResultFromBarcodeException(barcodeProd));
} else this.sendError(new NoResultFromBarcodeException(barcodeProd));
}
private List<InventarioRowRoomDTO> searchArtInAlreadyScannedItems(InventarioArtDTO inventarioArtDTO) {
@ -191,9 +171,7 @@ public class PickingInventarioViewModel extends ViewModel {
if (inventarioRows == null) return null;
return Stream.of(inventarioRows)
.filter(x -> x.getCodMart().equalsIgnoreCase(inventarioArtDTO.getCodMart()))
.toList();
return Stream.of(inventarioRows).filter(x -> x.getCodMart() != null ? x.getCodMart().equalsIgnoreCase(inventarioArtDTO.getCodMart()) : inventarioArtDTO.getBarcode().contains(x.getScanCodBarre())).toList();
}
@ -201,9 +179,7 @@ public class PickingInventarioViewModel extends ViewModel {
var mtbAart = inventarioArtDTO.toMtbAart();
mtbAart.setFlagTracciabilita("N");
PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
.setMtbAart(mtbAart)
.setTempPickData(PickDataDTO.fromEan128(ean128Model));
PickingObjectDTO pickingObjectDTO = new PickingObjectDTO().setMtbAart(mtbAart).setTempPickData(PickDataDTO.fromEan128(ean128Model));
BigDecimal numCnfDaPrelevare = null;
BigDecimal qtaColDaPrelevare = null;
@ -277,64 +253,25 @@ public class PickingInventarioViewModel extends ViewModel {
}
if (inventarioArtDTO.isPlu()) {
this.saveNewRow(pickingObjectDTO,
initialNumCnf,
initialQtaCnf,
initialQtaTot,
null,
barcode);
this.saveNewRow(pickingObjectDTO, initialNumCnf, initialQtaCnf, initialQtaTot, null, barcode);
} else {
this.sendOnItemDispatched(
pickingObjectDTO,
pickingObjectDTO.getMtbAart(),
null, //initialNumCnf,
initialQtaCnf,
null, //initialQtaTot,
null,
null,
null,
null,
null,
null,
false,
true,
false,
(pickedQuantityDTO, shouldCloseLU) -> {
this.saveNewRow(pickingObjectDTO,
pickedQuantityDTO.getNumCnf(),
pickedQuantityDTO.getQtaCnf(),
pickedQuantityDTO.getQtaTot(),
pickedQuantityDTO.getPartitaMag(),
barcode);
this.sendOnItemDispatched(pickingObjectDTO, pickingObjectDTO.getMtbAart(), null, //initialNumCnf,
initialQtaCnf, null, //initialQtaTot,
null, null, null, null, null, null, false, true, false, (pickedQuantityDTO, shouldCloseLU) -> {
this.saveNewRow(pickingObjectDTO, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag(), barcode);
});
}
}
public void dispatchRowEdit(MtbAart mtbAart, InventarioRowRoomDTO inventarioRowRoomDTO) {
final PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
.setMtbAart(mtbAart);
final PickingObjectDTO pickingObjectDTO = new PickingObjectDTO().setMtbAart(mtbAart);
this.sendOnItemDispatched(
pickingObjectDTO,
pickingObjectDTO.getMtbAart(),
inventarioRowRoomDTO.getNumConf(),
inventarioRowRoomDTO.getQtaConf(),
inventarioRowRoomDTO.getQta(),
null, null, null,
null, null, null,
false,
false,
false,
(pickedQuantityDTO, shouldCloseLU) -> {
this.sendOnItemDispatched(pickingObjectDTO, pickingObjectDTO.getMtbAart(), inventarioRowRoomDTO.getNumConf(), inventarioRowRoomDTO.getQtaConf(), inventarioRowRoomDTO.getQta(), null, null, null, null, null, null, false, false, false, (pickedQuantityDTO, shouldCloseLU) -> {
this.saveEditedRow(inventarioRowRoomDTO,
pickedQuantityDTO.getNumCnf(),
pickedQuantityDTO.getQtaCnf(),
pickedQuantityDTO.getQtaTot(),
pickedQuantityDTO.getPartitaMag());
this.saveEditedRow(inventarioRowRoomDTO, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag());
});
}
@ -382,40 +319,13 @@ public class PickingInventarioViewModel extends ViewModel {
if (this.mListener != null) mListener.onError(ex);
}
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO,
MtbAart mtbAart,
BigDecimal initialNumCnf,
BigDecimal initialQtaCnf,
BigDecimal initialQtaTot,
BigDecimal totalQtaAvailable,
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged,
boolean canLUBeClosed,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
mtbAart,
initialNumCnf,
initialQtaCnf,
initialQtaTot,
totalQtaAvailable,
totalNumCnfAvailable,
qtaCnfAvailable,
totalQtaToBeTaken,
totalNumCnfToBeTaken,
qtaCnfToBeTaken,
canOverflowOrderQuantity,
canPartitaMagBeChanged,
canLUBeClosed,
onComplete);
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged, boolean canLUBeClosed, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
if (this.mListener != null)
mListener.onItemDispatched(pickingObjectDTO, mtbAart, initialNumCnf, initialQtaCnf, initialQtaTot, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, canOverflowOrderQuantity, canPartitaMagBeChanged, canLUBeClosed, onComplete);
}
private void sendOnItemAlreadyFound(InventarioArtDTO matchedArt, List<InventarioRowRoomDTO> alreadyScannedItems) {
if(this.mListener != null)
if (this.mListener != null)
this.mListener.onItemAlreadyFound(matchedArt, alreadyScannedItems);
}
@ -428,21 +338,7 @@ public class PickingInventarioViewModel extends ViewModel {
void onError(Exception ex);
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
MtbAart mtbAart,
BigDecimal initialNumCnf,
BigDecimal initialQtaCnf,
BigDecimal initialQtaTot,
BigDecimal totalQtaAvailable,
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged,
boolean canLUBeClosed,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged, boolean canLUBeClosed, RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onItemAlreadyFound(InventarioArtDTO matchedArt, List<InventarioRowRoomDTO> alreadyScannedItems);