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 { android {
def appVersionCode = 378 def appVersionCode = 380
def appVersionName = '1.33.07' def appVersionName = '1.33.09'
signingConfigs { signingConfigs {
release { release {

View File

@ -58,7 +58,7 @@ public abstract class _BaseRepository<
.collect(Collectors.toList()); .collect(Collectors.toList());
var dataToDelete = finalLocalData.stream() 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()); .collect(Collectors.toList());
var dataToInsert = finalRemoteData.stream() var dataToInsert = finalRemoteData.stream()

View File

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

View File

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