Aggiunta lettura di SSCC fornitore in accettazione merce

This commit is contained in:
2024-02-20 11:40:22 +01:00
parent 435b6d753a
commit 3fddb6bcf7
13 changed files with 191 additions and 168 deletions

View File

@@ -713,7 +713,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
this.fabPopupMenu.dismiss();
this.onLoadingStarted();
this.mViewModel.createNewLU(null, null, false, () -> {
this.mViewModel.createNewLU(null, null, null, false, () -> {
this.onLoadingEnded();
});
}

View File

@@ -2,6 +2,7 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
@@ -33,14 +34,15 @@ public class AccettazioneOrdiniPickingModule {
PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer,
barcodeRESTConsumer,
colliMagazzinoRESTConsumer,
printerRESTConsumer,
accettazioneOrdiniPickingRESTConsumer,
colliAccettazioneRESTConsumer,
colliLavorazioneRESTConsumer);
colliLavorazioneRESTConsumer, ean128Service);
}
}

View File

@@ -16,6 +16,7 @@ import javax.inject.Inject;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.exception.AlreadyUsedAnonymousLabelException;
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
import it.integry.integrywmsnative.core.exception.LUScanNotGrantedException;
@@ -31,6 +32,7 @@ import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
@@ -52,12 +54,10 @@ import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.PrintULRequestDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.BarcodeEan128.UtilityBarcodeEan128;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO;
@@ -76,6 +76,7 @@ public class AccettazioneOrdiniPickingViewModel {
private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer;
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
private final Ean128Service mEan128Service;
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
@@ -97,7 +98,8 @@ public class AccettazioneOrdiniPickingViewModel {
PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
@@ -105,6 +107,7 @@ public class AccettazioneOrdiniPickingViewModel {
this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer;
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
this.mEan128Service = ean128Service;
}
@@ -211,10 +214,10 @@ public class AccettazioneOrdiniPickingViewModel {
//dell'etichetta anonima
this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete);
} else {
if (SettingsManager.iDB().isFlagAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)){
this.executeBarcodeFornitore(barcodeScanDTO);
}else{
this.processBarcodeNotOpenedLU(barcodeScanDTO, onComplete);
if (SettingsManager.iDB().isFlagAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
this.executeSSCCFornitore(barcodeScanDTO, onComplete);
} else {
this.processBarcodeNotOpenedLU(barcodeScanDTO, null, onComplete);
}
}
@@ -227,13 +230,14 @@ public class AccettazioneOrdiniPickingViewModel {
}
}
private void executeBarcodeFornitore(BarcodeScanDTO barcodeScanDTO) {
try{
Ean128Model ean128Model = UtilityBarcodeEan128.decode(barcodeScanDTO);
private void executeSSCCFornitore(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
try {
Ean128Model ean128Model = mEan128Service.decode(barcodeScanDTO);
String barcodeProd = null;
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
}catch (Exception e){
//Nel caso trovo un SSCC lo aggiungo
this.processBarcodeNotOpenedLU(barcodeScanDTO, ean128Model.Sscc, onComplete);
} catch (Exception e) {
this.sendError(e);
}
}
@@ -250,6 +254,7 @@ public class AccettazioneOrdiniPickingViewModel {
try {
numCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue());
this.createNewLU(
null,
numCollo,
CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, true, onComplete);
} catch (Exception ex) {
@@ -263,12 +268,17 @@ public class AccettazioneOrdiniPickingViewModel {
}, this::sendError);
}
private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, String customSSCC, Runnable onComplete) {
this.createNewLU(
customSSCC,
null,
null,
false,
() -> processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete));
() -> {
if(UtilityString.isNullOrEmpty(customSSCC))
processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete);
else onComplete.run();
});
}
private void processBarcodeAlreadyOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
@@ -382,7 +392,7 @@ public class AccettazioneOrdiniPickingViewModel {
}
}
public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
public void createNewLU(String customSSCC, Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> {
final List<CreateUDCRequestOrderDTO> orders = Stream.of(this.mOrders)
@@ -392,8 +402,8 @@ public class AccettazioneOrdiniPickingViewModel {
.setDataOrd(UtilityDate.toLocalDate(x.getDataD()))
.setNumOrd(x.getNumero());
if(x.getGestioneEnum() == GestioneEnum.PRODUZIONE) {
if(x.isOrdTrasf())
if (x.getGestioneEnum() == GestioneEnum.PRODUZIONE) {
if (x.isOrdTrasf())
createUDCRequestOrderDTO.setGestione(GestioneEnum.ACQUISTO.getText());
else
createUDCRequestOrderDTO.setGestione(GestioneEnum.LAVORAZIONE.getText());
@@ -411,6 +421,7 @@ public class AccettazioneOrdiniPickingViewModel {
.setCodTcol(tCol != null ? tCol.getCodTcol() : null)
.setNumCollo(customNumCollo)
.setSerCollo(customSerCollo)
.setBarcodeUl(customSSCC)
.setOrders(orders);
this.mColliCaricoRESTConsumer.createUDC(createUDCRequestDTO, createdUDS -> {
@@ -803,8 +814,8 @@ public class AccettazioneOrdiniPickingViewModel {
this.sendOnLoadingEnded();
}
private void calculateQtaDaEvadere(){
if (SettingsManager.iDB().isFlagDeleteRowOnClose()){
private void calculateQtaDaEvadere() {
if (SettingsManager.iDB().isFlagDeleteRowOnClose()) {
for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) {
List<MtbColr> withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs();
BigDecimal qtaEvasa = BigDecimal.ZERO;