diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 0c0c3383..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/udc/CreateUDCRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/udc/CreateUDCRequestDTO.java index 21b491cc..119da115 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/udc/CreateUDCRequestDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/udc/CreateUDCRequestDTO.java @@ -7,6 +7,7 @@ public class CreateUDCRequestDTO { private String codMdep; private Integer numCollo; private String serCollo; + private String codAnag; private String codTcol; private String annotazioni; @@ -41,6 +42,15 @@ public class CreateUDCRequestDTO { return this; } + public String getCodAnag() { + return codAnag; + } + + public CreateUDCRequestDTO setCodAnag(String codAnag) { + this.codAnag = codAnag; + return this; + } + public String getCodTcol() { return codTcol; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 461226c8..2ec799b9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -62,6 +62,10 @@ public class DBSettingsModel { private String commessaMagazzino; private boolean flagGeneraDocumentoSpedizione = false; private boolean flagIsInventarioCacheEnabled = false; + private boolean flagAskPrintUlAccettazioneBolla = false; + private boolean flagAskTipoColloAccettazioneBolla = false; + private boolean flagAskVersamentoAutomaticoAccettazioneBolla = false; + private boolean flagCanAddUnknownItemsAccettazioneBolla = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -486,4 +490,40 @@ public class DBSettingsModel { this.flagIsInventarioCacheEnabled = flagIsInventarioCacheEnabled; return this; } + + public boolean isFlagAskPrintUlAccettazioneBolla() { + return flagAskPrintUlAccettazioneBolla; + } + + public DBSettingsModel setFlagAskPrintUlAccettazioneBolla(boolean flagAskPrintUlAccettazioneBolla) { + this.flagAskPrintUlAccettazioneBolla = flagAskPrintUlAccettazioneBolla; + return this; + } + + public boolean isFlagAskTipoColloAccettazioneBolla() { + return flagAskTipoColloAccettazioneBolla; + } + + public DBSettingsModel setFlagAskTipoColloAccettazioneBolla(boolean flagAskTipoColloAccettazioneBolla) { + this.flagAskTipoColloAccettazioneBolla = flagAskTipoColloAccettazioneBolla; + return this; + } + + public boolean isFlagAskVersamentoAutomaticoAccettazioneBolla() { + return flagAskVersamentoAutomaticoAccettazioneBolla; + } + + public DBSettingsModel setFlagAskVersamentoAutomaticoAccettazioneBolla(boolean flagAskVersamentoAutomaticoAccettazioneBolla) { + this.flagAskVersamentoAutomaticoAccettazioneBolla = flagAskVersamentoAutomaticoAccettazioneBolla; + return this; + } + + public boolean isFlagCanAddUnknownItemsAccettazioneBolla() { + return flagCanAddUnknownItemsAccettazioneBolla; + } + + public DBSettingsModel setFlagCanAddUnknownItemsAccettazioneBolla(boolean flagCanAddUnknownItemsAccettazioneBolla) { + this.flagCanAddUnknownItemsAccettazioneBolla = flagCanAddUnknownItemsAccettazioneBolla; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index 31916bd5..a5586e0b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -388,6 +388,23 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SPEDIZIONE") .setKeySection("GENERA_DOC")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("ACCETTAZIONE_BOLLA") + .setKeySection("FLAG_ASK_PRINT_UL")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("ACCETTAZIONE_BOLLA") + .setKeySection("FLAG_ASK_TIPO_COLLO")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("ACCETTAZIONE_BOLLA") + .setKeySection("FLAG_ASK_VERSAMENTO_AUTOMATICO")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("ACCETTAZIONE_BOLLA") + .setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")); + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -429,6 +446,10 @@ public class SettingsManager { dbSettingsModelIstance.setCommessaMagazzino(getValueFromList(list, "SETUP", "COMMESSA_MAGAZZINO", String.class, CommonConst.Config.COMMESSA_MAG)); dbSettingsModelIstance.setFlagGeneraDocumentoSpedizione(getValueFromList(list, "SPEDIZIONE", "GENERA_DOC", Boolean.class, Boolean.FALSE)); dbSettingsModelIstance.setFlagIsInventarioCacheEnabled(getValueFromList(list, "INVENTARIO", "ENABLE_OFFLINE_CACHE", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setFlagAskPrintUlAccettazioneBolla(getValueFromList(list, "ACCETTAZIONE_BOLLA", "FLAG_ASK_PRINT_UL", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setFlagAskTipoColloAccettazioneBolla(getValueFromList(list, "ACCETTAZIONE_BOLLA", "FLAG_ASK_TIPO_COLLO", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setFlagAskVersamentoAutomaticoAccettazioneBolla(getValueFromList(list, "ACCETTAZIONE_BOLLA", "FLAG_ASK_VERSAMENTO_AUTOMATICO", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setFlagCanAddUnknownItemsAccettazioneBolla(getValueFromList(list, "ACCETTAZIONE_BOLLA", "FLAG_CAN_ADD_UNKNOWN_ITEMS", Boolean.class, Boolean.FALSE)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java index bf4d2c55..a7202cae 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java @@ -11,6 +11,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import javax.inject.Inject; @@ -89,6 +90,7 @@ public class AccettazioneBollaPickingViewModel { private MtbColt mCurrentMtbColt = null; private GestioneEnum defaultGestioneOfUL = null; + private String defaultCodAnag = null; private final List mHistoryUsedAarts = new ArrayList<>(); @@ -109,8 +111,8 @@ public class AccettazioneBollaPickingViewModel { this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer; } - public void init(List orders, List sitArts, boolean useQtaOrd) { - this.mBolle = orders; + public void init(List bolle, List sitArts, boolean useQtaOrd) { + this.mBolle = bolle; this.mUseQtaBolla = useQtaOrd; List mSitArts = Stream.of(sitArts) @@ -123,6 +125,12 @@ public class AccettazioneBollaPickingViewModel { defaultGestioneOfUL = GestioneEnum.ACQUISTO; + var availableCodAnags = bolle.stream() + .map(TestataBollaAccettazioneDTO::getCodAnag) + .distinct() + .collect(Collectors.toList()); + defaultCodAnag = availableCodAnags.size() == 1 ? availableCodAnags.get(0) : null; + switch (defaultGestioneOfUL) { case ACQUISTO -> this.mColliCaricoRESTConsumer = mColliAccettazioneRESTConsumer; case LAVORAZIONE -> this.mColliCaricoRESTConsumer = mColliLavorazioneRESTConsumer; @@ -311,7 +319,6 @@ public class AccettazioneBollaPickingViewModel { if (mtbAartList != null && mtbAartList.size() > 0) { this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete); } else { -// this.sendError(new NoResultFromBarcodeException(barcodeProd)); onComplete.run(); this.sendOnUnknownBarcodeScanned(barcodeProd); } @@ -354,7 +361,7 @@ public class AccettazioneBollaPickingViewModel { public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) { - this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> { + this.manageInfoAggiuntiveRequest((additionalNotes, tCol) -> { final CreateUDCRequestDTO createUDCRequestDTO = new CreateUDCRequestDTO() @@ -362,7 +369,8 @@ public class AccettazioneBollaPickingViewModel { .setAnnotazioni(additionalNotes) .setCodTcol(tCol != null ? tCol.getCodTcol() : null) .setNumCollo(customNumCollo) - .setSerCollo(customSerCollo); + .setSerCollo(customSerCollo) + .setCodAnag(defaultCodAnag); this.mColliCaricoRESTConsumer.createUDC(createUDCRequestDTO, createdUDS -> { this.mCurrentMtbColt = createdUDS; @@ -377,6 +385,14 @@ public class AccettazioneBollaPickingViewModel { }); } + private void manageInfoAggiuntiveRequest(RunnableArgss onComplete) { + if(!SettingsManager.iDB().isFlagAskTipoColloAccettazioneBolla()) { + onComplete.run(null, null); + return; + } + + this.sendOnInfoAggiuntiveRequest(onComplete); + } public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) { if (this.mCurrentMtbColt == null) return; @@ -698,31 +714,35 @@ public class AccettazioneBollaPickingViewModel { mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> { Runnable onVersamentoCompleted = () -> { - if (!mCurrentMtbColt.getDisablePrint()) { - printCollo(this::postCloseOperations); - } else { - postCloseOperations(); - } + managePrintCollo(this::postCloseOperations); this.sendLUClosed(); this.sendOnLoadingEnded(); }; - sendVersamentoAutomaticoULRequest(response -> { - if (response) { - versaAutomaticamenteUL(onVersamentoCompleted); - } else { - onVersamentoCompleted.run(); - } - }); - - + manageVersamentoAutomatico(onVersamentoCompleted); }, this::sendError); } }, this::sendError); } - public void versaAutomaticamenteUL(Runnable onComplete) { + private void manageVersamentoAutomatico(Runnable onComplete) { + + if(!SettingsManager.iDB().isFlagAskVersamentoAutomaticoAccettazioneBolla()) { + onComplete.run(); + return; + } + + sendVersamentoAutomaticoULRequest(response -> { + if (response) { + versaAutomaticamenteUL(onComplete); + } else { + onComplete.run(); + } + }); + } + + private void versaAutomaticamenteUL(Runnable onComplete) { if (mCurrentMtbColt == null) return; mColliMagazzinoRESTConsumer.versamentoAutomaticoUL(mCurrentMtbColt, versamentoResult -> { @@ -730,6 +750,14 @@ public class AccettazioneBollaPickingViewModel { }, this::sendError); } + private void managePrintCollo(Runnable onComplete) { + if(!mCurrentMtbColt.getDisablePrint() || !SettingsManager.iDB().isFlagAskPrintUlAccettazioneBolla()) { + onComplete.run(); + return; + } + + printCollo(onComplete); + } private void printCollo(Runnable onComplete) {