diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 00000000..02b915b8 --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 1593df0a..927c8b1b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 325 - def appVersionName = '1.30.07' + def appVersionCode = 326 + def appVersionName = '1.30.08' signingConfigs { release { @@ -31,12 +31,12 @@ android { } } - compileSdkVersion 32 + compileSdkVersion 33 defaultConfig { applicationId "it.integry.integrywmsnative" minSdkVersion 21 - targetSdkVersion 32 + targetSdkVersion 33 versionCode appVersionCode versionName appVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -66,7 +66,7 @@ android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 - coreLibraryDesugaringEnabled true + //coreLibraryDesugaringEnabled true } productFlavors { @@ -115,9 +115,9 @@ dependencies { implementation 'com.google.android.gms:play-services-basement:18.1.0' - implementation 'androidx.appcompat:appcompat:1.5.1' + implementation 'androidx.appcompat:appcompat:1.6.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.6.1' + implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' @@ -156,12 +156,12 @@ dependencies { implementation 'com.github.pedromassango:doubleClick:3.0' //SQLite ROOM - def room_version = "2.4.3" + def room_version = "2.5.0" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-rxjava3:$room_version" - androidTestImplementation "androidx.room:room-testing:2.4.3" + androidTestImplementation "androidx.room:room-testing:2.5.0" //AppUpdate implementation 'com.github.javiersantos:AppUpdater:2.7' @@ -189,8 +189,6 @@ dependencies { implementation 'io.reactivex.rxjava2:rxjava:2.1.12' implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.0' - } repositories { diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index 79c5b00a..b96c0bc9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -92,8 +92,10 @@ import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetM import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalModule; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteComponent; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModule; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsComponent; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsModule; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListComponent; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListModule; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListComponent; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListModule; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule; import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialogComponent; @@ -148,7 +150,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr ProdOrdineProduzioneElencoModule.class, ProdRecuperoMaterialeModule.class, ProdVersamentoMaterialeModule.class, - DialogChooseArtsFromListaArtsModule.class, + DialogChooseArtsFromMtbColrListModule.class, DocInterniModule.class, DialogSelectDocInfoModule.class, DocInterniEditFormModule.class, @@ -166,6 +168,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr BottomSheetInventarioActionsModule.class, BottomSheetInventarioRowActionsModule.class, BottomSheetMtbColrEditModalModule.class, + DialogChooseArtsFromMtbAartListModule.class, + }) public interface MainApplicationComponent { @@ -243,7 +247,7 @@ public interface MainApplicationComponent { ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent(); - DialogChooseArtsFromListaArtsComponent.Factory dialogChooseArtsFromListaArtsComponent(); + DialogChooseArtsFromMtbColrListComponent.Factory dialogChooseArtsFromListaArtsComponent(); DocInterniComponent.Factory docInterniComponent(); @@ -279,6 +283,8 @@ public interface MainApplicationComponent { BottomSheetMtbColrEditModalComponent.Factory bottomSheetMtbColrEditModalComponent(); + DialogChooseArtsFromMtbAartListComponent.Factory dialogDialogDialogChooseArtsFromMtbAartListViewComponent(); + void inject(MainApplication mainApplication); void inject(AppContext mainApplication); diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java index e46802cd..5d903053 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java @@ -22,13 +22,16 @@ import it.integry.integrywmsnative.core.menu.MenuService; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; @@ -254,4 +257,22 @@ public class MainApplicationModule { return new DocumentiRESTConsumer(); } + @Provides + @Singleton + ColliSpedizioneRESTConsumer provideColliSpedizioneRESTConsumer() { + return new ColliSpedizioneRESTConsumer(); + } + + @Provides + @Singleton + ColliLavorazioneRESTConsumer provideColliLavorazioneRESTConsumer() { + return new ColliLavorazioneRESTConsumer(); + } + + @Provides + @Singleton + MagazzinoAutomaticoRESTConsumer provideMagazzinoAutomaticoRESTConsumer() { + return new MagazzinoAutomaticoRESTConsumer(); + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/OrdiniVenditaInterface.java similarity index 77% rename from app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java rename to app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/OrdiniVenditaInterface.java index a25ccc38..092cdb80 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/IOrdiniVendita.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/interfaces/OrdiniVenditaInterface.java @@ -6,8 +6,11 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; -public interface IOrdiniVendita { +public interface OrdiniVenditaInterface { + boolean isTrasfOrder(List testateOrdini); + + @Deprecated void distribuisciCollo(MtbColt mtbColt, List testateOrdini, RunnableArgs> onComplete, RunnableArgs onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableBoolean.java b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableBoolean.java index 7bc7649f..3fc1c52f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableBoolean.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableBoolean.java @@ -18,7 +18,6 @@ public class BindableBoolean implements Observable { this.mValue = startValue; } - @Override public void addOnPropertyChangedCallback(@NonNull OnPropertyChangedCallback callback) { synchronized (this) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java index 85e6c7cd..994992b2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java @@ -37,14 +37,12 @@ public class BaseActivity extends AppCompatActivity { public void onLoadingEnded() { this.closeProgress(); - BarcodeManager.enable(); } public void onError(Exception ex) { this.runOnUiThread(() -> { this.closeProgress(); UtilityExceptions.defaultException(this, ex); - BarcodeManager.enable(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/CheckableMtbColr.java b/app/src/main/java/it/integry/integrywmsnative/core/model/CheckableMtbColr.java index 591ccd46..6374522c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/CheckableMtbColr.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/CheckableMtbColr.java @@ -2,16 +2,16 @@ package it.integry.integrywmsnative.core.model; import androidx.databinding.Observable; import it.integry.integrywmsnative.core.di.BindableBoolean; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsItemModel; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListItemModel; public class CheckableMtbColr { - private DialogChooseArtsFromListaArtsItemModel item; + private DialogChooseArtsFromMtbColrListItemModel item; private BindableBoolean checked = new BindableBoolean(false); private BindableBoolean hidden = new BindableBoolean(false); - public CheckableMtbColr(DialogChooseArtsFromListaArtsItemModel item) { + public CheckableMtbColr(DialogChooseArtsFromMtbColrListItemModel item) { this.item = item; this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() { @@ -22,11 +22,11 @@ public class CheckableMtbColr { }); } - public DialogChooseArtsFromListaArtsItemModel getItem() { + public DialogChooseArtsFromMtbColrListItemModel getItem() { return item; } - public CheckableMtbColr setItem(DialogChooseArtsFromListaArtsItemModel item) { + public CheckableMtbColr setItem(DialogChooseArtsFromMtbColrListItemModel item) { this.item = item; this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java index e06b7a5c..ded07f62 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java @@ -600,33 +600,6 @@ public class MtbColt extends EntityBase { } } - /*if (filtroOrdineDtos != null && filtroOrdineDtos.size() > 0) { - - for (int i = 0; i < filtroOrdineDtos.size(); i++) { - FiltroOrdineDTO x = filtroOrdineDtos.get(i); - - try { - whereCond.append("("); - whereCond.append(String.format("d.g = %s AND d.d = %s and d.n = %s", - UtilityDB.valueToString(x.getGestioneOrd()), - UtilityDB.valueToString(UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)), - UtilityDB.valueToString(x.getNumOrd()))); - - if (!UtilityString.isNullOrEmpty(x.getDataConsS())) { - whereCond.append(String.format(" AND dr.dc = %s", - UtilityDB.valueToString(UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)))); - } - - whereCond.append(")"); - if (i < filtroOrdineDtos.size() - 1) { - whereCond.append(" OR "); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - }*/ whereCond = TextUtils.join(" OR ", conditions); this.filtroOrdini = xmlPrefix + whereCond + xmlSuffix; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java index 8b06a471..2f315ca7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.core.model; import it.integry.integrywmsnative.core.utility.UtilityLogger; +import it.integry.integrywmsnative.core.utility.UtilityString; public class MtbDepoPosizione { @@ -11,6 +12,8 @@ public class MtbDepoPosizione { private String flagLineaProduzione; private Integer priorita; + private String tipoMagazAutomatico; + public MtbDepoPosizione clone() { @@ -85,4 +88,17 @@ public class MtbDepoPosizione { this.priorita = priorita; return this; } + + public String getTipoMagazAutomatico() { + return tipoMagazAutomatico; + } + + public MtbDepoPosizione setTipoMagazAutomatico(String tipoMagazAutomatico) { + this.tipoMagazAutomatico = tipoMagazAutomatico; + return this; + } + + public boolean isMagazzinoAutomatico() { + return !UtilityString.isNullOrEmpty(getTipoMagazAutomatico()); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java new file mode 100644 index 00000000..fe0669c8 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumer.java @@ -0,0 +1,158 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import javax.inject.Singleton; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliScaricoRESTConsumerInterface; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +@Singleton +public class ColliLavorazioneRESTConsumer extends _BaseRESTConsumer implements ColliScaricoRESTConsumerInterface { + + + public void createUDS(CreateUDSRequestDTO createUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.createUDS(createUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/createUDS", data -> onComplete.run(data.getMtbColt()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + @Override + public void closeUDS(CloseUDSRequestDTO closeUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.closeUDS(closeUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/closeUDS", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + @Override + public void canUDSBeDeleted(CanUDSBeDeletedRequestDTO canUDSBeDeletedRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.canUDSBeDeleted(canUDSBeDeletedRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/canUDSBeDeleted", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + @Override + public void deleteUDS(DeleteUDSRequestDTO deleteUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.deleteUDS(deleteUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/deleteUDS", Void -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + @Override + public void printUDS(PrintUDSRequestDTO printUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.printUDS(printUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/printUDS", Void -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + @Override + public void insertUDSRow(InsertUDSRowRequestDTO insertUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.insertUDSRow(insertUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/insertUDSRow", data -> onComplete.run(data.getSavedMtbColr()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + @Override + public void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRowRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = RESTBuilder.getService(ColliLavorazioneRESTConsumerService.class); + + colliLavorazioneRESTConsumerService.deleteUDSRow(deleteUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "lavorazione/deleteUDSRow", data -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java new file mode 100644 index 00000000..da8e7908 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliLavorazioneRESTConsumerService.java @@ -0,0 +1,41 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface ColliLavorazioneRESTConsumerService { + + @POST("wms/lavorazione/createUDS") + Call> createUDS(@Body CreateUDSRequestDTO createUDSRequestDTO); + + @POST("wms/lavorazione/closeUDS") + Call> closeUDS(@Body CloseUDSRequestDTO createUDSRequestDTO); + + @POST("wms/lavorazione/canUDSBeDeleted") + Call> canUDSBeDeleted(@Body CanUDSBeDeletedRequestDTO canUDSBeDeletedRequestDTO); + + @POST("wms/lavorazione/deleteUDS") + Call> deleteUDS(@Body DeleteUDSRequestDTO deleteUDSRequestDTO); + + @POST("wms/lavorazione/printUDS") + Call> printUDS(@Body PrintUDSRequestDTO printUDSRequestDTO); + + @POST("wms/lavorazione/insertUDSRow") + Call> insertUDSRow(@Body InsertUDSRowRequestDTO insertUDSRowRequestDTO); + + @POST("wms/lavorazione/deleteUDSRow") + Call> deleteUDSRow(@Body DeleteUDSRowRequestDTO deleteUDSRowRequestDTO); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index 58421651..8a245f2e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -292,7 +292,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class); colliMagazzinoRESTConsumerService.distribuisciCollo(distribuzioneColloDTO) - .enqueue(new Callback>() { + .enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswerList(response, "DistribuzioneCollo", obj -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java new file mode 100644 index 00000000..06408a31 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumer.java @@ -0,0 +1,154 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import javax.inject.Singleton; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliScaricoRESTConsumerInterface; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +@Singleton +public class ColliSpedizioneRESTConsumer extends _BaseRESTConsumer implements ColliScaricoRESTConsumerInterface { + + + public void createUDS(CreateUDSRequestDTO createUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.createUDS(createUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/createUDS", data -> onComplete.run(data.getMtbColt()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + public void closeUDS(CloseUDSRequestDTO closeUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.closeUDS(closeUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/closeUDS", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + public void canUDSBeDeleted(CanUDSBeDeletedRequestDTO canUDSBeDeletedRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.canUDSBeDeleted(canUDSBeDeletedRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/canUDSBeDeleted", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + public void deleteUDS(DeleteUDSRequestDTO deleteUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.deleteUDS(deleteUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/deleteUDS", Void -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + public void printUDS(PrintUDSRequestDTO printUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.printUDS(printUDSRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/printUDS", Void -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + + public void insertUDSRow(InsertUDSRowRequestDTO insertUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.insertUDSRow(insertUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/insertUDSRow", data -> onComplete.run(data.getSavedMtbColr()), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + public void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRowRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + ColliSpedizioneRESTConsumerService colliSpedizioneRESTConsumerService = RESTBuilder.getService(ColliSpedizioneRESTConsumerService.class); + + colliSpedizioneRESTConsumerService.deleteUDSRow(deleteUDSRowRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "spedizione/deleteUDSRow", data -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java new file mode 100644 index 00000000..b324a596 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliSpedizioneRESTConsumerService.java @@ -0,0 +1,41 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface ColliSpedizioneRESTConsumerService { + + @POST("wms/spedizione/createUDS") + Call> createUDS(@Body CreateUDSRequestDTO createUDSRequestDTO); + + @POST("wms/spedizione/closeUDS") + Call> closeUDS(@Body CloseUDSRequestDTO createUDSRequestDTO); + + @POST("wms/spedizione/canUDSBeDeleted") + Call> canUDSBeDeleted(@Body CanUDSBeDeletedRequestDTO canUDSBeDeletedRequestDTO); + + @POST("wms/spedizione/deleteUDS") + Call> deleteUDS(@Body DeleteUDSRequestDTO deleteUDSRequestDTO); + + @POST("wms/spedizione/printUDS") + Call> printUDS(@Body PrintUDSRequestDTO printUDSRequestDTO); + + @POST("wms/spedizione/insertUDSRow") + Call> insertUDSRow(@Body InsertUDSRowRequestDTO insertUDSRowRequestDTO); + + @POST("wms/spedizione/deleteUDSRow") + Call> deleteUDSRow(@Body DeleteUDSRowRequestDTO deleteUDSRowRequestDTO); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumer.java new file mode 100644 index 00000000..dff77381 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumer.java @@ -0,0 +1,35 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import javax.inject.Singleton; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemsRequestDTO; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +@Singleton +public class MagazzinoAutomaticoRESTConsumer extends _BaseRESTConsumer { + + + public void pickItems(MagazzinoAutomaticoPickItemsRequestDTO magazzinoAutomaticoPickItemsRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + MagazzinoAutomaticoRESTConsumerService magazzinoAutomaticoRESTConsumerService = RESTBuilder.getService(MagazzinoAutomaticoRESTConsumerService.class); + + magazzinoAutomaticoRESTConsumerService.pickItems(magazzinoAutomaticoPickItemsRequestDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "magazzino-automatico/pickItems", data -> onComplete.run(), onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumerService.java new file mode 100644 index 00000000..a2d37c39 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoAutomaticoRESTConsumerService.java @@ -0,0 +1,13 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemsRequestDTO; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface MagazzinoAutomaticoRESTConsumerService { + + @POST("wms/magazzino-automatico/pickItems") + Call> pickItems(@Body MagazzinoAutomaticoPickItemsRequestDTO magazzinoAutomaticoPickItemsRequestDTO); +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java index 1e620a2d..4ccc6c0d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/OrdiniRESTConsumer.java @@ -46,9 +46,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer { } public void getSuggestedPickingList(String codMdep, List sitArtOrdList, RunnableArgs> onComplete, RunnableArgs onFailed) { - OrdiniRESTConsumerService service = RESTBuilder.getService(OrdiniRESTConsumerService.class, 90); - service .getSuggestedPickingList(codMdep, sitArtOrdList) .enqueue(new Callback<>() { @@ -109,7 +107,6 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer { @Override public void onFailure(Call>> call, Throwable t) { - UtilityLogger.error(new Exception(t)); onFailed.run(new Exception(t)); } }); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java index 6207acb6..dcb88f14 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java @@ -66,24 +66,23 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer { } PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); - Call> callable = null; - callable = printerService.printCollo(testataColloToPrint); + printerService + .printCollo(testataColloToPrint) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "printCollo", data -> { + onComplete.run(); + }, onFailed); + } - callable.enqueue(new Callback<>() { - @Override - public void onResponse(Call> call, Response> response) { - analyzeAnswer(response, "printCollo", data -> { - onComplete.run(); - }, onFailed); - } - - @Override - public void onFailure(Call> call, Throwable t) { - if (t.getMessage().contains("Printer not found")) { - onFailed.run(new NoPrintersFoundException()); - } else onFailed.run(new Exception(t)); - } - }); + @Override + public void onFailure(Call> call, Throwable t) { + if (t.getMessage().contains("Printer not found")) { + onFailed.run(new NoPrintersFoundException()); + } else onFailed.run(new Exception(t)); + } + }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java index 6dda06d8..eace9e55 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java @@ -30,8 +30,9 @@ public abstract class _BaseRESTConsumer { onComplete.run(dataObj); } } else { - Log.e(logTitle, response.body().getErrorMessage()); - onFailed.run(CommonRESTException.tryRecognizeException(response.body().getErrorMessage())); + String errorMessage = UtilityString.isNull(response.body().getErrorMessage(), "Empty message"); + Log.e(logTitle, errorMessage); + onFailed.run(CommonRESTException.tryRecognizeException(errorMessage)); } } else { Log.e(logTitle, response.message()); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java new file mode 100644 index 00000000..c9be7035 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/interfaces/ColliScaricoRESTConsumerInterface.java @@ -0,0 +1,30 @@ +package it.integry.integrywmsnative.core.rest.consumers.interfaces; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; + +public interface ColliScaricoRESTConsumerInterface { + + void createUDS(CreateUDSRequestDTO createUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + + void closeUDS(CloseUDSRequestDTO closeUDSRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + + void canUDSBeDeleted(CanUDSBeDeletedRequestDTO canUDSBeDeletedRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + + void deleteUDS(DeleteUDSRequestDTO deleteUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed); + + void printUDS(PrintUDSRequestDTO printUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed); + + void insertUDSRow(InsertUDSRowRequestDTO insertUDSRowRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed); + + void deleteUDSRow(DeleteUDSRowRequestDTO deleteUDSRequestDTO, Runnable onComplete, RunnableArgs onFailed); +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemRequestDTO.java new file mode 100644 index 00000000..6eb4335f --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemRequestDTO.java @@ -0,0 +1,71 @@ +package it.integry.integrywmsnative.core.rest.model.magazzino_automatico; + +import java.math.BigDecimal; + +public class MagazzinoAutomaticoPickItemRequestDTO { + + private String codMart; + private String partitaMag; + private String untMis; + private BigDecimal qtaTot; + private BigDecimal qtaCnf; + private BigDecimal numCnf; + + public MagazzinoAutomaticoPickItemRequestDTO(String codMart) { + this.codMart = codMart; + } + + public String getCodMart() { + return codMart; + } + + public MagazzinoAutomaticoPickItemRequestDTO setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public MagazzinoAutomaticoPickItemRequestDTO setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public String getUntMis() { + return untMis; + } + + public MagazzinoAutomaticoPickItemRequestDTO setUntMis(String untMis) { + this.untMis = untMis; + return this; + } + + public BigDecimal getQtaTot() { + return qtaTot; + } + + public MagazzinoAutomaticoPickItemRequestDTO setQtaTot(BigDecimal qtaTot) { + this.qtaTot = qtaTot; + return this; + } + + public BigDecimal getQtaCnf() { + return qtaCnf; + } + + public MagazzinoAutomaticoPickItemRequestDTO setQtaCnf(BigDecimal qtaCnf) { + this.qtaCnf = qtaCnf; + return this; + } + + public BigDecimal getNumCnf() { + return numCnf; + } + + public MagazzinoAutomaticoPickItemRequestDTO setNumCnf(BigDecimal numCnf) { + this.numCnf = numCnf; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemsRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemsRequestDTO.java new file mode 100644 index 00000000..78a78e06 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickItemsRequestDTO.java @@ -0,0 +1,59 @@ +package it.integry.integrywmsnative.core.rest.model.magazzino_automatico; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class MagazzinoAutomaticoPickItemsRequestDTO { + + private boolean shouldCreateUDS; + private String defaultGestioneOfNewUDS; + private List ordersOfNewUDS; + private MtbColt inputMtbColt; + private List itemsToPick; + + public boolean isShouldCreateUDS() { + return shouldCreateUDS; + } + + public MagazzinoAutomaticoPickItemsRequestDTO setShouldCreateUDS(boolean shouldCreateUDS) { + this.shouldCreateUDS = shouldCreateUDS; + return this; + } + + public String getDefaultGestioneOfNewUDS() { + return defaultGestioneOfNewUDS; + } + + public MagazzinoAutomaticoPickItemsRequestDTO setDefaultGestioneOfNewUDS(String defaultGestioneOfNewUDS) { + this.defaultGestioneOfNewUDS = defaultGestioneOfNewUDS; + return this; + } + + public List getOrdersOfNewUDS() { + return ordersOfNewUDS; + } + + public MagazzinoAutomaticoPickItemsRequestDTO setOrdersOfNewUDS(List ordersOfNewUDS) { + this.ordersOfNewUDS = ordersOfNewUDS; + return this; + } + + public MtbColt getInputMtbColt() { + return inputMtbColt; + } + + public MagazzinoAutomaticoPickItemsRequestDTO setInputMtbColt(MtbColt inputMtbColt) { + this.inputMtbColt = inputMtbColt; + return this; + } + + public List getItemsToPick() { + return itemsToPick; + } + + public MagazzinoAutomaticoPickItemsRequestDTO setItemsToPick(List itemsToPick) { + this.itemsToPick = itemsToPick; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickOrderRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickOrderRequestDTO.java new file mode 100644 index 00000000..18b1c4cb --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/magazzino_automatico/MagazzinoAutomaticoPickOrderRequestDTO.java @@ -0,0 +1,43 @@ +package it.integry.integrywmsnative.core.rest.model.magazzino_automatico; + +import java.time.LocalDate; + +public class MagazzinoAutomaticoPickOrderRequestDTO { + + private final String type = "dtb_ordr"; + private LocalDate dataCons; + private LocalDate dataOrd; + private String gestione; + private int numOrd; + + public MagazzinoAutomaticoPickOrderRequestDTO(LocalDate dataOrd, String gestione, int numOrd) { + this.dataOrd = dataOrd; + this.gestione = gestione; + this.numOrd = numOrd; + } + + public LocalDate getDataOrd() { + return dataOrd; + } + + public String getGestione() { + return gestione; + } + + public int getNumOrd() { + return numOrd; + } + + public LocalDate getDataCons() { + return dataCons; + } + + public MagazzinoAutomaticoPickOrderRequestDTO setDataCons(LocalDate dataCons) { + this.dataCons = dataCons; + return this; + } + + public String getType() { + return type; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CanUDSBeDeletedRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CanUDSBeDeletedRequestDTO.java new file mode 100644 index 00000000..46df1d51 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CanUDSBeDeletedRequestDTO.java @@ -0,0 +1,18 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class CanUDSBeDeletedRequestDTO { + + + private MtbColt mtbColt; + + public MtbColt getMtbColt() { + return mtbColt; + } + + public CanUDSBeDeletedRequestDTO setMtbColt(MtbColt mtbColt) { + this.mtbColt = mtbColt; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSRequestDTO.java new file mode 100644 index 00000000..e88cbc5e --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSRequestDTO.java @@ -0,0 +1,47 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class CloseUDSRequestDTO { + + private boolean printSSCC; + private boolean enableTransferLogic; + private String orderCodMdep; + private MtbColt mtbColt; + + public boolean isPrintSSCC() { + return printSSCC; + } + + public CloseUDSRequestDTO setPrintSSCC(boolean printSSCC) { + this.printSSCC = printSSCC; + return this; + } + + public boolean isEnableTransferLogic() { + return enableTransferLogic; + } + + public CloseUDSRequestDTO setEnableTransferLogic(boolean enableTransferLogic) { + this.enableTransferLogic = enableTransferLogic; + return this; + } + + public String getOrderCodMdep() { + return orderCodMdep; + } + + public CloseUDSRequestDTO setOrderCodMdep(String orderCodMdep) { + this.orderCodMdep = orderCodMdep; + return this; + } + + public MtbColt getMtbColt() { + return mtbColt; + } + + public CloseUDSRequestDTO setMtbColt(MtbColt mtbColt) { + this.mtbColt = mtbColt; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSResponseDTO.java new file mode 100644 index 00000000..d24f43f7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CloseUDSResponseDTO.java @@ -0,0 +1,24 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class CloseUDSResponseDTO { + private boolean saved; + private boolean deleted; + + private List generatedMtbColts; + + public boolean isSaved() { + return saved; + } + + public boolean isDeleted() { + return deleted; + } + + public List getGeneratedMtbColts() { + return generatedMtbColts; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestDTO.java new file mode 100644 index 00000000..d53a312e --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestDTO.java @@ -0,0 +1,85 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.util.List; + +public class CreateUDSRequestDTO { + + private String codMdep; + private int segno; + private String ragSoc; + private Integer numCollo; + private String serCollo; + private int causaleCollo; + + private List orders; + + public String getCodMdep() { + return codMdep; + } + + public CreateUDSRequestDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public int getSegno() { + return segno; + } + + public CreateUDSRequestDTO setSegno(int segno) { + this.segno = segno; + return this; + } + + public String getRagSoc() { + return ragSoc; + } + + public CreateUDSRequestDTO setRagSoc(String ragSoc) { + this.ragSoc = ragSoc; + return this; + } + + public Integer getNumCollo() { + return numCollo; + } + + public CreateUDSRequestDTO setNumCollo(Integer numCollo) { + this.numCollo = numCollo; + return this; + } + + public String getSerCollo() { + return serCollo; + } + + public CreateUDSRequestDTO setSerCollo(String serCollo) { + this.serCollo = serCollo; + return this; + } + + public int getCausaleCollo() { + return causaleCollo; + } + + public CreateUDSRequestDTO setCausaleCollo(int causaleCollo) { + this.causaleCollo = causaleCollo; + return this; + } + + public List getOrders() { + return orders; + } + + public CreateUDSRequestDTO setOrders(List orders) { + this.orders = orders; + return this; + } + + + + public static class Causale { + public static final int SCARICO = 0; + public static final int POSIZIONAMENTO = 1; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestOrderDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestOrderDTO.java new file mode 100644 index 00000000..ba3dd5de --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSRequestOrderDTO.java @@ -0,0 +1,49 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.time.LocalDate; + +public class CreateUDSRequestOrderDTO { + + + private String gestione; + private LocalDate dataOrd; + private LocalDate dataCons; + private int numOrd; + + + public String getGestione() { + return gestione; + } + + public CreateUDSRequestOrderDTO setGestione(String gestione) { + this.gestione = gestione; + return this; + } + + public LocalDate getDataOrd() { + return dataOrd; + } + + public CreateUDSRequestOrderDTO setDataOrd(LocalDate dataOrd) { + this.dataOrd = dataOrd; + return this; + } + + public LocalDate getDataCons() { + return dataCons; + } + + public CreateUDSRequestOrderDTO setDataCons(LocalDate dataCons) { + this.dataCons = dataCons; + return this; + } + + public int getNumOrd() { + return numOrd; + } + + public CreateUDSRequestOrderDTO setNumOrd(int numOrd) { + this.numOrd = numOrd; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSResponseDTO.java new file mode 100644 index 00000000..f0d59cbf --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/CreateUDSResponseDTO.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class CreateUDSResponseDTO { + + private MtbColt mtbColt; + + public MtbColt getMtbColt() { + return mtbColt; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRequestDTO.java new file mode 100644 index 00000000..b82ddbe3 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRequestDTO.java @@ -0,0 +1,17 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class DeleteUDSRequestDTO { + + private MtbColt mtbColt; + + public MtbColt getMtbColt() { + return mtbColt; + } + + public DeleteUDSRequestDTO setMtbColt(MtbColt mtbColt) { + this.mtbColt = mtbColt; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRowRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRowRequestDTO.java new file mode 100644 index 00000000..e9a4d5e4 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/DeleteUDSRowRequestDTO.java @@ -0,0 +1,17 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColr; + +public class DeleteUDSRowRequestDTO { + + private MtbColr mtbColrToDelete; + + public MtbColr getMtbColrToDelete() { + return mtbColrToDelete; + } + + public DeleteUDSRowRequestDTO setMtbColrToDelete(MtbColr mtbColrToDelete) { + this.mtbColrToDelete = mtbColrToDelete; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowRequestDTO.java new file mode 100644 index 00000000..4e704c4d --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowRequestDTO.java @@ -0,0 +1,92 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.math.BigDecimal; +import java.time.LocalDate; + +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; + +public class InsertUDSRowRequestDTO { + + private MtbColr sourceMtbColr; + private MtbColt targetMtbColt; + + private String codMart; + private BigDecimal qtaTot; + private BigDecimal qtaCnf; + private BigDecimal numCnf; + private String partitaMag; + private LocalDate dataScad; + + public MtbColr getSourceMtbColr() { + return sourceMtbColr; + } + + public InsertUDSRowRequestDTO setSourceMtbColr(MtbColr sourceMtbColr) { + this.sourceMtbColr = sourceMtbColr; + return this; + } + + public MtbColt getTargetMtbColt() { + return targetMtbColt; + } + + public InsertUDSRowRequestDTO setTargetMtbColt(MtbColt targetMtbColt) { + this.targetMtbColt = targetMtbColt; + return this; + } + + public String getCodMart() { + return codMart; + } + + public InsertUDSRowRequestDTO setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public BigDecimal getQtaTot() { + return qtaTot; + } + + public InsertUDSRowRequestDTO setQtaTot(BigDecimal qtaTot) { + this.qtaTot = qtaTot; + return this; + } + + public BigDecimal getQtaCnf() { + return qtaCnf; + } + + public InsertUDSRowRequestDTO setQtaCnf(BigDecimal qtaCnf) { + this.qtaCnf = qtaCnf; + return this; + } + + public BigDecimal getNumCnf() { + return numCnf; + } + + public InsertUDSRowRequestDTO setNumCnf(BigDecimal numCnf) { + this.numCnf = numCnf; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public InsertUDSRowRequestDTO setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public LocalDate getDataScad() { + return dataScad; + } + + public InsertUDSRowRequestDTO setDataScad(LocalDate dataScad) { + this.dataScad = dataScad; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowResponseDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowResponseDTO.java new file mode 100644 index 00000000..891759f6 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/InsertUDSRowResponseDTO.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import it.integry.integrywmsnative.core.model.MtbColr; + +public class InsertUDSRowResponseDTO { + + private MtbColr savedMtbColr; + + public MtbColr getSavedMtbColr() { + return savedMtbColr; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/PrintUDSRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/PrintUDSRequestDTO.java new file mode 100644 index 00000000..c541259c --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/uds/PrintUDSRequestDTO.java @@ -0,0 +1,19 @@ +package it.integry.integrywmsnative.core.rest.model.uds; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class PrintUDSRequestDTO { + + private List mtbColts; + + public List getMtbColts() { + return mtbColts; + } + + public PrintUDSRequestDTO setMtbColts(List mtbColts) { + this.mtbColts = mtbColts; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/watcher/ServerStatusChecker.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/watcher/ServerStatusChecker.java index 3d0e2921..aa7a5e85 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/watcher/ServerStatusChecker.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/watcher/ServerStatusChecker.java @@ -12,12 +12,12 @@ import it.integry.integrywmsnative.core.utility.UtilityString; public class ServerStatusChecker { - private static ServerStatusChecker instance = new ServerStatusChecker(); + private static final ServerStatusChecker instance = new ServerStatusChecker(); - private List> mCallback = new ArrayList<>(); + private final List> mCallback = new ArrayList<>(); - private RunnableArgs mInternalCallback = value -> { - for (RunnableArgs callback : mCallback) { + private final RunnableArgs mInternalCallback = value -> { + for (RunnableArgs callback : mCallback) { callback.run(value); } }; @@ -26,8 +26,8 @@ public class ServerStatusChecker { private final long MILLIS_DELAY = 5 * 1000; - private Handler handler = new Handler(); - private Runnable runnableCode = new Runnable() { + private final Handler handler = new Handler(); + private final Runnable runnableCode = new Runnable() { @Override public void run() { if (shouldExecute && !UtilityString.isNullOrEmpty(SettingsManager.i().getServer().getHost())) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java index a661959a..3ffe676b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java @@ -43,7 +43,7 @@ public class UtilityServer { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() - .url(String.format("http://%s:%d/ems-api/retail/status", serverAddress, serverTCPport)) + .url(String.format("http://%s:%d/ems-api/system/ok", serverAddress, serverTCPport)) .build(); try { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java index eefe275b..030fd92b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java @@ -30,7 +30,7 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.class_router.ClassRouter; import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration; -import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.class_router.interfaces.OrdiniVenditaInterface; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverDTO; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -196,7 +196,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab if (recoveredMtbColt != null && (recoveredMtbColt.getGestioneEnum() == GestioneEnum.VENDITA || recoveredMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && !UtilityString.isNullOrEmpty(recoveredMtbColt.getFiltroOrdini())) { - IOrdiniVendita ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA); + OrdiniVenditaInterface ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA); this.colliMagazzinoRESTConsumer.updateDataFine(recoveredMtbColt, () -> { ordiniVendita.distribuisciCollo(recoveredMtbColt, recoveredMtbColtDto.getTestateOrdini(), diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index 65f5c567..f052ea47 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -55,7 +55,7 @@ import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrList; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; @@ -288,7 +288,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme @Override public void onArtSelectionRequest(List mtbColrsToPick, MtbAart mtbAart, RunnableArgs> onComplete, Runnable onAbort) { - DialogChooseArtsFromListaArts + DialogChooseArtsFromMtbColrList .newInstance(mtbColrsToPick, mtbAart, onComplete, () -> { onAbort.run(); BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index 434e8db0..c2b93767 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -187,12 +187,10 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi public void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess) { DialogEditArticoloView .newInstance(articoloOrdine, articolo -> { - runOnUiThread(() -> { - if (articolo != null) { - Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show(); - } - this.mViewModel.refreshListArticoli(onSuccess); - }); + if (articolo != null) { + Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show(); + } + this.mViewModel.refreshListArticoli(onSuccess); }, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView"); } @@ -203,10 +201,8 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi public void exportOrdine() { this.mViewModel.exportOrdine(() -> { - runOnUiThread(() -> { - Toast.makeText(this, "Ordine salvato con successo", Toast.LENGTH_SHORT).show(); - close(); - }); + Toast.makeText(this, "Ordine salvato con successo", Toast.LENGTH_SHORT).show(); + close(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java index 1252a41d..f83182fa 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java @@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import javax.inject.Inject; @@ -123,23 +124,21 @@ public class PVOrdineAcquistoEditViewModel { public void processBarcode(String barcode) { try { - BarcodeManager.disable(); this.sendOnLoadingStarted(); + ArticoloDTO articoloDTO = getArticoloFromBarcode(barcode); if (articoloDTO == null) { throw new NoResultFromBarcodeException(barcode); } this.addArticoloToOrdine( articoloDTO, - BarcodeManager::enable, - e -> { - this.sendError(e); - BarcodeManager.enable(); - } + this::sendOnLoadingEnded, + this::sendError ); } catch (Exception e) { this.sendError(e); BarcodeManager.enable(); + } finally { } } @@ -154,26 +153,18 @@ public class PVOrdineAcquistoEditViewModel { public void addArticoloToOrdine(ArticoloDTO art, Runnable onSuccess, RunnableArgs onFail) { try { - mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, art.codMart, (articolo) -> { - this.sendOnLoadingEnded(); - if (articolo != null) { - if (isAutoOrderOnScan()) { - articolo.setQtaOrd(articolo.getQtaOrd() + articolo.getQtaCnf()); - mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail); - } else { - this.sendOnItemDispatched(articolo, onSuccess); - } + mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, art.codMart, foundArt -> { + var articolo = foundArt != null ? foundArt : art.convertToArticoloOrdine(mCurrentOrdine); + if (isAutoOrderOnScan()) { + articolo.setQtaOrd(articolo.getQtaOrd() + articolo.getQtaCnf()); + mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail); } else { - articolo = art.convertToArticoloOrdine(mCurrentOrdine); - if (isAutoOrderOnScan()) { - articolo.setQtaOrd(articolo.getQtaCnf()); - mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail); - } else { - this.sendOnItemDispatched(articolo, onSuccess); - } + this.sendOnItemDispatched(articolo, onSuccess); } + + }, onFail); @@ -200,7 +191,9 @@ public class PVOrdineAcquistoEditViewModel { } private List getNewArticoli() { - return Stream.of(mArticoliGriglia).filter(x -> x.getQtaOrd() > 0f).toList(); + return mArticoliGriglia.stream() + .filter(x -> x.getQtaOrd() > 0f) + .collect(Collectors.toList()); } public void orderNewProducts() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 61868227..ee067f9b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -73,6 +73,7 @@ import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShould import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListView; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView; import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLU; import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUView; @@ -248,7 +249,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } else if (!noLUPresent.get()) { this.mShouldCloseActivity = true; BarcodeManager.removeCallback(barcodeScannerIstanceID); - this.mViewmodel.closeLU(true); + this.mViewmodel.requestCloseLU(true); } else { BarcodeManager.removeCallback(barcodeScannerIstanceID); super.onBackPressed(); @@ -409,7 +410,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo y.getRefMtbColr().getGestioneEnum().equals(mtbColrToDispatch.getGestioneEnum()) && UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodMart(), mtbColrToDispatch.getCodMart()) && UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodTagl(), mtbColrToDispatch.getCodTagl()) && - UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodCol(), mtbColrToDispatch.getCodCol())*/ y.getRefMtbColr().equals(mtbColrToDispatch)) + UtilityString.equalsIgnoreCase(y.getRefMtbColr().getCodCol(), mtbColrToDispatch.getCodCol())*/ + y.getRefMtbColr().equals(mtbColrToDispatch)) .map(MtbColr::getNumCnf) .reduce(BigDecimal.ZERO, BigDecimal::add); @@ -925,7 +927,16 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onCreateDocsRequest() { DialogYesNoView.newInstance("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> { - this.mViewmodel.onCreateDocsAnswered(result); + + switch (result) { + case YES: + this.mViewmodel.createDocs(); + break; + case NO: + this.onOrderClosed(); + break; + } + }).show(this.getSupportFragmentManager(), "tag"); } @@ -935,6 +946,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo .show(getSupportFragmentManager(), "tag"); } + @Override + public void onChooseArtsRequest(List artsList, RunnableArgs> onComplete) { + DialogChooseArtsFromMtbAartListView.newInstance(artsList, onComplete, this::onLoadingEnded) + .show(getSupportFragmentManager(), "tag"); + } + @Override public void onOrderClosed() { this.onLoadingEnded(); @@ -948,7 +965,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onBottomSheetLUClose() { - this.mViewmodel.closeLU(true); + this.mViewmodel.requestCloseLU(true); } @Override @@ -958,7 +975,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onMtbColrDelete(MtbColr mtbColr) { - this.mViewmodel.deleteRow(mtbColr); + this.mViewmodel.requestDeleteRow(mtbColr); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java index 307a815c..19a6802d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java @@ -5,8 +5,11 @@ import dagger.Provides; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; @@ -21,8 +24,28 @@ public class SpedizioneModule { } @Provides - SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer) { - return new SpedizioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, posizioniRESTConsumer, documentiRESTConsumer); + SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, + ColliDataRecoverService colliDataRecoverService, + OrdiniRESTConsumer ordiniRESTConsumer, + ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, + PrinterRESTConsumer printerRESTConsumer, + BarcodeRESTConsumer barcodeRESTConsumer, + PosizioniRESTConsumer posizioniRESTConsumer, + DocumentiRESTConsumer documentiRESTConsumer, + ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer, + ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer, + MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer) { + return new SpedizioneViewModel(articoloRESTConsumer, + barcodeRESTConsumer, + colliDataRecoverService, + ordiniRESTConsumer, + colliMagazzinoRESTConsumer, + printerRESTConsumer, + posizioniRESTConsumer, + documentiRESTConsumer, + colliSpedizioneRESTConsumer, + colliLavorazioneRESTConsumer, + magazzinoAutomaticoRESTConsumer); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index 912b8e41..c4f86cfb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -6,22 +6,21 @@ import androidx.lifecycle.MutableLiveData; import com.annimon.stream.Optional; import com.annimon.stream.Stream; -import org.jetbrains.annotations.NotNull; +import org.apache.commons.lang3.NotImplementedException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.class_router.ClassRouter; -import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.class_router.interfaces.OrdiniVenditaInterface; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.exception.EmptyLUException; import it.integry.integrywmsnative.core.exception.InvalidLUException; @@ -48,19 +47,33 @@ import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; -import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliScaricoRESTConsumerInterface; import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.rest.model.LoadColliDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; +import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemRequestDTO; +import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemsRequestDTO; +import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickOrderRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CanUDSBeDeletedRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestOrderDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO; +import it.integry.integrywmsnative.core.rest.model.uds.PrintUDSRequestDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; @@ -68,13 +81,13 @@ import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException; +import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidMagazzinoAutomaticoMovementException; import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException; import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException; import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadException; import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione.model.PrintOrderCloseDTO; -import it.integry.integrywmsnative.view.dialogs.DialogConsts; public class SpedizioneViewModel { @@ -88,12 +101,6 @@ public class SpedizioneViewModel { private int mDefaultSegnoCol = -1; private String mDefaultCodMdep = null; private final List mDefaultFiltroOrdine = new ArrayList<>(); - private String mDefaultCodAnagOfUL = null; - private String mDefaultRagSocOfUL = null; - private String mDefaultRifOrdOfUL = null; - private Integer mDefaultNumOrdOfUL = null; - private Date mDefaultDataOrdOfUL = null; - private String mDefaultCodJFasOfUL = null; private Integer mDefaultCausaleOfUL = null; private boolean mEnableGiacenza; @@ -116,9 +123,15 @@ public class SpedizioneViewModel { private final PrinterRESTConsumer mPrinterRESTConsumer; private final PosizioniRESTConsumer mPosizioneRESTConsumer; private final DocumentiRESTConsumer mDocumentiRESTConsumer; + private final ColliSpedizioneRESTConsumer mColliSpedizioneRESTConsumer; + private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer; + + private final MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer; + + private ColliScaricoRESTConsumerInterface mColliScaricoRESTConsumer; @Inject - public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer) { + public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer, ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer, ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer, MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer) { this.mArticoloRESTConsumer = articoloRESTConsumer; this.mBarcodeRESTConsumer = barcodeRESTConsumer; this.mColliDataRecoverService = colliDataRecoverService; @@ -127,6 +140,9 @@ public class SpedizioneViewModel { this.mPrinterRESTConsumer = printerRESTConsumer; this.mPosizioneRESTConsumer = posizioniRESTConsumer; this.mDocumentiRESTConsumer = documentiRESTConsumer; + this.mColliSpedizioneRESTConsumer = colliSpedizioneRESTConsumer; + this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer; + this.mMagazzinoAutomaticoRESTConsumer = mMagazzinoAutomaticoRESTConsumer; } @@ -143,6 +159,7 @@ public class SpedizioneViewModel { this.mDefaultCausaleOfUL = defaultCausaleUL; this.mEnableQuantityReset = enableQuantityReset; this.mUseQtaOrd = useQtaOrd; + if (testateOrdini != null) { this.mIsOrdTrasf = Stream.of(testateOrdini).map(OrdineUscitaInevasoDTO::isOrdTrasf).withoutNulls().distinctBy(x -> x).findFirst().get(); } @@ -203,59 +220,31 @@ public class SpedizioneViewModel { } } + //Definizione del filtro ordine da applicare a tutti i colli generati - Stream.of(mTestateOrdini).forEach(x -> { - FiltroOrdineDTO filtro = new FiltroOrdineDTO().setDataOrd(x.getDataOrdD()).setNumOrd(x.getNumOrd()).setGestioneOrd(x.getGestione()).setDataCons(x.getDataConsD()); + mTestateOrdini + .forEach(x -> { + var filtro = new FiltroOrdineDTO() + .setDataOrd(x.getDataOrdD()) + .setNumOrd(x.getNumOrd()) + .setGestioneOrd(x.getGestione()) + .setDataCons(x.getDataConsD()); - if (!mDefaultFiltroOrdine.contains(filtro)) mDefaultFiltroOrdine.add(filtro); - }); + if (!mDefaultFiltroOrdine.contains(filtro)) + mDefaultFiltroOrdine.add(filtro); + }); - //Definizione del codAnag - List foundCodAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).distinctBy(x -> x).toList(); + if (mDefaultGestioneOfUL == GestioneEnum.VENDITA) { + mColliScaricoRESTConsumer = mColliSpedizioneRESTConsumer; - if (foundCodAnag != null && foundCodAnag.size() == 1) { - mDefaultCodAnagOfUL = foundCodAnag.get(0); - } + } else if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == -1) { + mColliScaricoRESTConsumer = mColliLavorazioneRESTConsumer; - - //Definizione del codAnag - List foundRagSoc = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getRagSocOrd).distinctBy(x -> x).toList(); - - if (foundRagSoc != null && foundRagSoc.size() == 1) { - mDefaultRagSocOfUL = foundRagSoc.get(0); - } - - - //Definizione del rifOrd - List foundRifOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getRifOrd).distinctBy(x -> x).toList(); - - if (foundRifOrd != null && foundRifOrd.size() == 1) { - mDefaultRifOrdOfUL = foundRifOrd.get(0); - } - - - //Definizione del numOrd - List foundNumOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getNumOrd).withoutNulls().distinctBy(x -> x).toList(); - - if (foundNumOrd != null && foundNumOrd.size() == 1) { - mDefaultNumOrdOfUL = foundNumOrd.get(0); - } - - - //Definizione del dataOrd - List foundDataOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getDataOrdD).withoutNulls().distinctBy(x -> x).toList(); - - if (foundDataOrd != null && foundDataOrd.size() == 1) { - mDefaultDataOrdOfUL = foundDataOrd.get(0); - } - - - //Definizione del codJfas - List foundCodJfas = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodJfas).distinctBy(x -> x).toList(); - - if (foundCodJfas != null && foundCodJfas.size() == 1) { - mDefaultCodJFasOfUL = foundCodJfas.get(0); + } else if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == +1) { + mColliScaricoRESTConsumer = mColliLavorazioneRESTConsumer; + } else { + this.sendError(new NotImplementedException(String.format("Gestione %s e segno %d non gestito", mDefaultGestioneOfUL.getText(), mDefaultSegnoCol))); } } @@ -282,6 +271,13 @@ public class SpedizioneViewModel { if (this.mListener != null) mListener.onCreateDocsRequest(); } + private void sendChooseArtRequest(List mtbAarts, RunnableArgs onComplete) { + if (this.mListener != null) mListener.onChooseArtRequest(mtbAarts, onComplete); + } + + private void sendChooseArtsRequest(List mtbAarts, RunnableArgs> onComplete) { + if (this.mListener != null) mListener.onChooseArtsRequest(mtbAarts, onComplete); + } private void sendOnOrderClosed() { if (this.mListener != null) mListener.onOrderClosed(); @@ -379,45 +375,53 @@ public class SpedizioneViewModel { private void processBarcodePosizioneNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(barcodeScanDTO.getStringValue()); - if (foundPosizione != null) { - if (foundPosizione.isFlagMonoCollo()) { - - this.mPosizioneRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> { - if (mtbColtList == null || mtbColtList.size() != 1) { - //Nessuna UL trovata oppure più UL nella stessa posizione - this.sendError(new NoLUFoundException()); - } else { - mColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> { - - if (mtbColt.getSegno() != mDefaultSegnoCol) { - this.sendError(new InvalidLUException()); - onComplete.run(); - } else { - //Reset of existant mtbColrs - mtbColt.setMtbColr(new ObservableArrayList<>()); - - this.mCurrentMtbColt = mtbColt; - mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini); - this.mIsNewLU = false; - - this.sendLUOpened(mtbColt); - - onComplete.run(); - } - - }, this::sendError); - } - }, this::sendError); - - } else { - //La posizione non è Mono-UL - this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); - } - - } else { + if (foundPosizione == null) { //Nessuna posizione trovata con questo barcode this.sendError(new ScannedPositionNotExistException()); + return; } + + if (!foundPosizione.isFlagMonoCollo()) { + //La posizione non è Mono-UL + this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); + return; + } + + if (foundPosizione.isMagazzinoAutomatico()) { + //La posizione è di un magazzino automatico + this.sendError(new InvalidMagazzinoAutomaticoMovementException(foundPosizione)); + return; + } + + this.mPosizioneRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> { + if (mtbColtList == null || mtbColtList.size() != 1) { + //Nessuna UL trovata oppure più UL nella stessa posizione + this.sendError(new NoLUFoundException()); + return; + } + + mColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> { + + if (mtbColt.getSegno() != mDefaultSegnoCol) { + this.sendError(new InvalidLUException()); + onComplete.run(); + return; + } + + //Reset of existant mtbColrs + mtbColt.setMtbColr(new ObservableArrayList<>()); + + this.mCurrentMtbColt = mtbColt; + this.mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini); + this.mIsNewLU = false; + + this.sendLUOpened(mtbColt); + + onComplete.run(); + + }, this::sendError); + }, this::sendError); + } private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { @@ -475,38 +479,44 @@ public class SpedizioneViewModel { private void executeEtichettaPosizione(String posizione, Runnable onComplete) { MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(posizione); - if (foundPosizione != null) { - if (foundPosizione.isFlagMonoCollo()) { - - this.mPosizioneRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> { - - if (mtbColtList == null || mtbColtList.size() != 1) { - //Nessuna UL trovata oppure più UL nella stessa posizione - this.sendError(new NoLUFoundException()); - - } else { - mColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> { - if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) { - searchArtFromUL(mtbColt, onComplete); - } else { - this.sendError(new EmptyLUException()); - } - - }, this::sendError); - } - - }, this::sendError); - - } else { - //La posizione non è Mono-UL - this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); - } - - } else { + if (foundPosizione == null) { //Nessuna posizione trovata con questo barcode this.sendError(new ScannedPositionNotExistException()); - + return; } + + if (!foundPosizione.isFlagMonoCollo()) { + //La posizione non è Mono-UL + this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); + return; + } + + if (foundPosizione.isMagazzinoAutomatico()) { + //Eseguo picking da magazzino automatico + executeMagazzinoAutomatico(foundPosizione, onComplete); + return; + } + + + this.mPosizioneRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> { + + if (mtbColtList == null || mtbColtList.size() != 1) { + //Nessuna UL trovata oppure più UL nella stessa posizione + this.sendError(new NoLUFoundException()); + return; + } + + mColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> { + if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) { + this.searchArtFromUL(mtbColt, onComplete); + } else { + this.sendError(new EmptyLUException()); + } + + }, this::sendError); + + }, this::sendError); + } private void executeEtichettaLU(String SSCC, Runnable onComplete) { @@ -569,7 +579,7 @@ public class SpedizioneViewModel { if (mtbAartList.size() == 1) { this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete); } else { - mListener.onChooseArtRequest(mtbAartList, art -> this.searchArtFromAnag(art, pickData, onComplete)); + this.sendChooseArtRequest(mtbAartList, art -> this.searchArtFromAnag(art, pickData, onComplete)); } } else { this.sendError(new NoResultFromBarcodeException(barcodeProd)); @@ -578,6 +588,54 @@ public class SpedizioneViewModel { }, this::sendError); } + private void executeMagazzinoAutomatico(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) { + var magazzinoAutomaticoPickableArts = Stream.of(Objects.requireNonNull(this.mPickingList.getValue())) + .filter(x -> Stream.of(x.getMtbColts()).anyMatch(y -> y.getPosizione().equalsIgnoreCase(mtbDepoPosizione.getPosizione()))) + .toList(); + + var mtbAarts = Stream.of(magazzinoAutomaticoPickableArts) + .map(PickingObjectDTO::getMtbAart) + .toList(); + + this.sendChooseArtsRequest(mtbAarts, selectedArts -> { + + final List orders = Stream.of(this.mTestateOrdini) + .map(x -> new MagazzinoAutomaticoPickOrderRequestDTO(UtilityDate.toLocalDate(x.getDataOrdD()), x.getGestione(), x.getNumOrd()) + .setDataCons(UtilityDate.toLocalDate(x.getDataConsD()))) + .toList(); + + final List magazzinoAutomaticoPickItemRequestDTOList = new ArrayList<>(); + for (MtbAart selectedArt : selectedArts) { + final PickingObjectDTO pickingObjectDTO = Stream.of(magazzinoAutomaticoPickableArts) + .filter(x -> x.getMtbAart().getCodMart().equalsIgnoreCase(selectedArt.getCodMart())) + .findFirst() + .orElse(null); + + final List mtbColrs = Stream.of(pickingObjectDTO.getMtbColts()) + .filter(x -> x.getPosizione().equalsIgnoreCase(mtbDepoPosizione.getPosizione())) + .flatMap(x -> Stream.of(x.getMtbColr())) + .filter(x -> x.getCodMart().equalsIgnoreCase(selectedArt.getCodMart())) + .toList(); + + MagazzinoAutomaticoPickItemRequestDTO itemDto = new MagazzinoAutomaticoPickItemRequestDTO(selectedArt.getCodMart()) + .setQtaTot(Stream.of(mtbColrs).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add)) + .setNumCnf(Stream.of(mtbColrs).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add)) + .setUntMis(selectedArt.getUntMis()); + + magazzinoAutomaticoPickItemRequestDTOList.add(itemDto); + } + + + var magazzinoAutomaticoPickRequest = new MagazzinoAutomaticoPickItemsRequestDTO() + .setShouldCreateUDS(true) + .setDefaultGestioneOfNewUDS(mDefaultGestioneOfUL.getText()) + .setOrdersOfNewUDS(orders) + .setItemsToPick(magazzinoAutomaticoPickItemRequestDTOList); + + mMagazzinoAutomaticoRESTConsumer.pickItems(magazzinoAutomaticoPickRequest, onComplete, this::sendError); + }); + } + private void searchArtFromUL(MtbColt scannedUL, Runnable onComplete) { final List pickingList = mPickingList.getValue(); @@ -1126,98 +1184,127 @@ public class SpedizioneViewModel { } public void createNewLU(Integer customNumCollo, String customSerCollo, Runnable onComplete) { - MtbColt mtbColt = new MtbColt(); - mtbColt.initDefaultFields(mDefaultGestioneOfUL).setSegno(mDefaultSegnoCol).setRifOrd(mDefaultRifOrdOfUL).setNumOrd(mDefaultNumOrdOfUL).setDataOrdD(mDefaultDataOrdOfUL).setCodAnag(mDefaultCodAnagOfUL).setCodMdep(mDefaultCodMdep).setRagSocCliente(mDefaultRagSocOfUL).setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + final List orders = this.mTestateOrdini.stream() + .map(x -> new CreateUDSRequestOrderDTO() + .setDataCons(UtilityDate.toLocalDate(x.getDataConsD())) + .setDataOrd(UtilityDate.toLocalDate(x.getDataOrdD())) + .setGestione(x.getGestione()) + .setNumOrd(x.getNumOrd())) + .collect(Collectors.toList()); - if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == -1) - mtbColt.setPosizione(mDefaultCodJFasOfUL); - if (customNumCollo != null) mtbColt.setNumCollo(customNumCollo); - if (!UtilityString.isNullOrEmpty(customSerCollo)) mtbColt.setSerCollo(customSerCollo); + final CreateUDSRequestDTO createUDSRequestDTO = new CreateUDSRequestDTO() + .setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep()) + .setSegno(mDefaultSegnoCol) + .setNumCollo(customNumCollo) + .setSerCollo(customSerCollo) + .setOrders(orders); - mtbColt.generaFiltroOrdineFromDTO(mDefaultFiltroOrdine); - - mColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> { - mtbColt.setNumCollo(value.getNumCollo()).setDataCollo(value.getDataColloS()).setMtbColr(new ObservableArrayList<>()); - - this.mCurrentMtbColt = mtbColt; - mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini); + this.mColliScaricoRESTConsumer.createUDS(createUDSRequestDTO, createdUDS -> { + this.mCurrentMtbColt = createdUDS; + mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(createdUDS, mTestateOrdini); this.mIsNewLU = true; if (onComplete != null) onComplete.run(); - this.sendLUOpened(mtbColt); + this.sendLUOpened(createdUDS); }, this::sendError); - } public void saveNewRow(PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { this.sendOnLoadingStarted(); - final MtbColr mtbColr = new MtbColr().setCausale(mDefaultCausaleOfUL).setCodMart(pickingObjectDTO.getMtbAart().getCodMart()).setPartitaMag(partitaMag).setDataScadPartita(dataScad).setQtaCol(qtaTot).setQtaCnf(qtaCnf).setNumCnf(numCnf).setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()).setDatetimeRow(UtilityDate.getDateInstance()); + +// final MtbColr mtbColr = new MtbColr() +// .setCausale(mDefaultCausaleOfUL) +// .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) +// .setPartitaMag(partitaMag) +// .setDataScadPartita(dataScad) +// .setQtaCol(qtaTot) +// .setQtaCnf(qtaCnf) +// .setNumCnf(numCnf) +// .setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()) +// .setDatetimeRow(UtilityDate.getDateInstance()); //TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta - final MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ? pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; - - if (mtbColrToDispatch != null) { - if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol())) - mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol())); - - mtbColr.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())).setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo())).setNumColloRif(mtbColrToDispatch.getNumCollo()).setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione())).setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); + final MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null && + pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && + pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null && + pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ? + pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; - if (mtbColrToDispatch.getPesoNettoKg() != null) { - //Proporzione - BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol()); - mtbColr.setPesoNettoKg(pesoNettoKg); - } - - if (mtbColrToDispatch.getPesoLordoKg() != null) { - //Proporzione - BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol()); - mtbColr.setPesoLordoKg(pesoLordoKg); - } +// if (mtbColrToDispatch != null) { +// if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol())) +// mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol())); +// +// mtbColr.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())) +// .setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo())) +// .setNumColloRif(mtbColrToDispatch.getNumCollo()) +// .setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione())) +// .setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); +// +// +// if (mtbColrToDispatch.getPesoNettoKg() != null) { +// //Proporzione +// BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol()); +// mtbColr.setPesoNettoKg(pesoNettoKg); +// } +// +// if (mtbColrToDispatch.getPesoLordoKg() != null) { +// //Proporzione +// BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol()); +// mtbColr.setPesoLordoKg(pesoLordoKg); +// } +// } +// +// mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); +// +// MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); +// cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); +// +// cloneMtbColt.setMtbColr(new ObservableArrayList<>()); +// cloneMtbColt.getMtbColr().add((MtbColr) mtbColr.clone()); - } else if (mEnableGiacenza && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() > 0) { - // Vecchia logica di aggancio UL (se non ho sparato una etichetta UL comunque ti aggangio la prima UL suggerita) -// mtbColr -// .setCodJcom(UtilityString.empty2null(item.getCodJcom())) -// .setSerColloRif(UtilityString.empty2null(item.getSerCollo())) -// .setNumColloRif(item.getNumCollo()) -// .setGestioneRif(UtilityString.empty2null(item.getGestione())) -// .setDataColloRif(UtilityString.empty2null(item.getDataColloS())); - } - - mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); - - MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); - cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); - - cloneMtbColt.setMtbColr(new ObservableArrayList<>()); - cloneMtbColt.getMtbColr().add((MtbColr) mtbColr.clone()); - - boolean shouldPrint = true; + boolean shouldPrint = !shouldCloseLU || mCurrentMtbColt.getMtbColr().size() != 0; //Se è l'unico articolo del collo (controllo se è uguale a 0 perché ancora non è stato aggiunto nella lista delle righe) - if (shouldCloseLU && mCurrentMtbColt.getMtbColr().size() == 0) { - shouldPrint = false; - } - if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) { resetMatchedRows(); this.sendOnLoadingEnded(); - if (shouldCloseLU) closeLU(shouldPrint); + if (shouldCloseLU) requestCloseLU(shouldPrint); return; } - boolean finalShouldPrint = shouldPrint; - mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { - mtbColr.setDataCollo(value.getDataColloS()).setNumCollo(value.getNumCollo()).setGestione(value.getGestione()).setSerCollo(value.getSerCollo()).setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()).setUntMis(pickingObjectDTO.getMtbAart().getUntMis()).setMtbAart(pickingObjectDTO.getMtbAart()); + var insertUDSRowRequestDto = new InsertUDSRowRequestDTO() + .setSourceMtbColr(mtbColrToDispatch) + .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) + .setQtaTot(qtaTot) + .setQtaCnf(qtaCnf) + .setNumCnf(numCnf) + .setPartitaMag(partitaMag) + .setTargetMtbColt(mCurrentMtbColt); + + if (dataScad != null) + insertUDSRowRequestDto + .setDataScad(UtilityDate.toLocalDate(dataScad)); + + this.mColliScaricoRESTConsumer.insertUDSRow(insertUDSRowRequestDto, createdMtbColr -> { + pickingObjectDTO.getWithdrawMtbColrs().add(createdMtbColr); + this.mCurrentMtbColt.getMtbColr().add(createdMtbColr); + + createdMtbColr + .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) + .setMtbAart(pickingObjectDTO.getMtbAart()); if (mEnableGiacenza) { - MtbColr refMtbColr = new MtbColr().setCodMart(mtbColr.getCodMart()).setPartitaMag(mtbColr.getPartitaMag()).setCodTagl(mtbColr.getCodTagl()).setCodCol(mtbColr.getCodCol()); + MtbColr refMtbColr = new MtbColr() + .setCodMart(createdMtbColr.getCodMart()) + .setPartitaMag(createdMtbColr.getPartitaMag()) + .setCodTagl(createdMtbColr.getCodTagl()) + .setCodCol(createdMtbColr.getCodCol()); if (refMtbColt != null) { @@ -1227,23 +1314,73 @@ public class SpedizioneViewModel { refMtbColr.setId(originalRefMtbColr.getId()); } - refMtbColr.setNumCollo(refMtbColt.getNumCollo()).setDataCollo(refMtbColt.getDataColloS()).setSerCollo(refMtbColt.getSerCollo()).setGestione(refMtbColt.getGestione()); + refMtbColr.setNumCollo(refMtbColt.getNumCollo()) + .setDataCollo(refMtbColt.getDataColloS()) + .setSerCollo(refMtbColt.getSerCollo()) + .setGestione(refMtbColt.getGestione()); } - mtbColr.setRefMtbColr(refMtbColr); + createdMtbColr.setRefMtbColr(refMtbColr); } - pickingObjectDTO.getWithdrawMtbColrs().add(mtbColr); - mCurrentMtbColt.getMtbColr().add(mtbColr); - //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei resetMatchedRows(); this.sendOnRowSaved(); this.sendOnLoadingEnded(); - if (shouldCloseLU) closeLU(finalShouldPrint); + if (shouldCloseLU) requestCloseLU(shouldPrint); + }, this::sendError); + +// boolean finalShouldPrint = shouldPrint; +// mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { +// +// mtbColr +// .setDataCollo(value.getDataColloS()) +// .setNumCollo(value.getNumCollo()) +// .setGestione(value.getGestione()) +// .setSerCollo(value.getSerCollo()) +// .setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()) +// .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) +// .setMtbAart(pickingObjectDTO.getMtbAart()); +// +// +// if (mEnableGiacenza) { +// MtbColr refMtbColr = new MtbColr() +// .setCodMart(mtbColr.getCodMart()) +// .setPartitaMag(mtbColr.getPartitaMag()) +// .setCodTagl(mtbColr.getCodTagl()) +// .setCodCol(mtbColr.getCodCol()); +// +// if (refMtbColt != null) { +// +// MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && refMtbColt.getMtbColr().size() > 0 ? refMtbColt.getMtbColr().get(0) : null; +// +// if (originalRefMtbColr != null) { +// refMtbColr.setId(originalRefMtbColr.getId()); +// } +// +// refMtbColr.setNumCollo(refMtbColt.getNumCollo()) +// .setDataCollo(refMtbColt.getDataColloS()) +// .setSerCollo(refMtbColt.getSerCollo()) +// .setGestione(refMtbColt.getGestione()); +// } +// mtbColr.setRefMtbColr(refMtbColr); +// } +// +// pickingObjectDTO.getWithdrawMtbColrs().add(mtbColr); +// mCurrentMtbColt.getMtbColr().add(mtbColr); +// +// //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei +// resetMatchedRows(); +// +// this.sendOnRowSaved(); +// this.sendOnLoadingEnded(); +// +// if (shouldCloseLU) requestCloseLU(finalShouldPrint); +// }, this::sendError); + } private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { @@ -1281,159 +1418,254 @@ public class SpedizioneViewModel { } - public void deleteRow(MtbColr mtbColrToDelete) { + public void requestDeleteRow(MtbColr mtbColrToDelete) { this.sendMtbColrDeleteRequest(canDelete -> { + if (!canDelete) + return; - if (canDelete) { - this.sendOnLoadingStarted(); + this.sendOnLoadingStarted(); - MtbColt mtbColt = new MtbColt().setNumCollo(mtbColrToDelete.getNumCollo()).setDataCollo(mtbColrToDelete.getDataColloS()).setSerCollo(mtbColrToDelete.getSerCollo()).setGestione(mtbColrToDelete.getGestione()).setMtbColr(new ObservableArrayList<>()); - mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); + var deleteUDSRowRequestoDTO = new DeleteUDSRowRequestDTO() + .setMtbColrToDelete(mtbColrToDelete); - MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone(); + this.mColliScaricoRESTConsumer.deleteUDSRow(deleteUDSRowRequestoDTO, () -> { + Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) + .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete)) + .findSingle(); - if (mCurrentMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) { - mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE); - } else { - mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); - mtbColr.setQtaCol(mtbColr.getQtaCol().multiply(new BigDecimal(-1))).setNumCnf(mtbColr.getNumCnf().multiply(new BigDecimal(-1))).setRiga(null).setPesoLordoKg(null).setPesoNettoKg(null); + if (pickingObjectDTO.isPresent()) { + pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete); } - mtbColt.getMtbColr().add(mtbColr); + this.mCurrentMtbColt.getMtbColr().remove(mtbColrToDelete); - this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { - - Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete)).findSingle(); - - if (pickingObjectDTO.isPresent()) { - pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete); - } - - this.mCurrentMtbColt.getMtbColr().remove(mtbColrToDelete); - - this.resetMatchedRows(); - this.sendOnRowSaved(); - this.sendOnLoadingEnded(); - - }, this::sendError); - } + this.resetMatchedRows(); + this.sendOnRowSaved(); + this.sendOnLoadingEnded(); + }, this::sendError); }); } - public void closeLU(boolean shouldPrint) { + public void requestCloseLU(boolean shouldPrint) { if (mCurrentMtbColt == null) return; this.sendOnLoadingStarted(); - mColliMagazzinoRESTConsumer.canLUBeDeleted(mCurrentMtbColt, canBeDeleted -> { + this.checkIfShouldBeDeleted(() -> { + deleteLU(() -> { + this.mCurrentMtbColt = null; - if (canBeDeleted) { - deleteLU(() -> { - this.mIsNewLU = false; - this.sendLUClosed(); - this.sendOnLoadingEnded(); - }); - } else { - if (mDefaultSegnoCol == -1) { - Runnable saveAction = () -> { - if (SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) { - this.mListener.onInfoAggiuntiveRequired(mCurrentMtbColt, (note, mtbTcol) -> { - mCurrentMtbColt.setAnnotazioni(note); - if (mtbTcol != null) { - mCurrentMtbColt.setMtbTCol(mtbTcol); - mCurrentMtbColt.setCodTcol(mtbTcol.getCodTcol()); - } else { - mCurrentMtbColt.setMtbTCol(null); - mCurrentMtbColt.setCodTcol(null); - } - mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { - if (shouldPrint) - printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); - else { - postCloseOperations(generatedMtbColts); - } - }), this::sendError); - }); - } else { + if (mMtbColtSessionID != null) + this.mColliDataRecoverService.closeSession(mMtbColtSessionID); - mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { - if (shouldPrint) - printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); - else { - postCloseOperations(generatedMtbColts); - } - }), this::sendError); - } - }; + this.mIsNewLU = false; + this.sendLUClosed(); + this.sendOnLoadingEnded(); + }); - if (mShouldAskPesoLU) { - this.sendLUPesoRequired(mCurrentMtbColt.getCodTcol(), mCurrentMtbColt.getPesoNettoKg(), mCurrentMtbColt.getPesoKg(), (newCodTcol, newNetWeight, newGrossWeight) -> { + }, () -> { + this.askPeso(() -> { - mCurrentMtbColt.setCodTcol(newCodTcol); - mCurrentMtbColt.setPesoNettoKg(newNetWeight); - mCurrentMtbColt.setPesoKg(newGrossWeight); + this.askInfoAggiuntive(() -> { - saveAction.run(); - }); - } else { - saveAction.run(); - } - } else { + this.closeLU(generatedMtbColts -> { - distribuisciLU(mtbColts -> { - if (this.mIsNewLU) { - this.sendLUPositionChangeRequest((shouldChangePosition, mtbDepoPosizione) -> { + this.mColliMagazzinoRESTConsumer.fillMtbAartsOfMtbColts(generatedMtbColts, filledMtbColts -> { - if (shouldChangePosition) { + this.askPositionChange( + filledMtbColts, + positionedMtbColts -> { - if (mtbDepoPosizione != null) { - if (mtbDepoPosizione.isFlagMonoCollo()) { - this.mPosizioneRESTConsumer.getBancaliInPosizione(mtbDepoPosizione, destMtbColtList -> { - if (destMtbColtList == null || destMtbColtList.size() != 1) { - //Nessuna UL trovata oppure più UL nella stessa posizione - this.sendError(new NoLUFoundException()); - } else { - if (destMtbColtList.get(0).getSegno() != mDefaultSegnoCol) { - this.sendError(new InvalidLUException()); - } else { - moveLUtoLU(mtbColts, destMtbColtList.get(0), savedMtbColt -> { - ArrayList savedMtbColtList = new ArrayList<>(); - savedMtbColtList.add(savedMtbColt); - postCloseOperations(savedMtbColtList); - }); - } + this.askPrint(shouldPrint, positionedMtbColts, () -> { + positionedMtbColts.stream() + .filter(x -> !this.mColliRegistrati.contains(x)) + .forEach(x -> this.mColliRegistrati.add(x)); - } - }, this::sendError); - } else { - //La posizione non è Mono-UL - this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); - } - } else { - //Nessuna posizione trovata con questo barcode - this.sendError(new ScannedPositionNotExistException()); - } - } else { - postCloseOperations(mtbColts); - } - }); - } else { - postCloseOperations(mtbColts); - } + postCloseOperations(positionedMtbColts); + + this.mIsNewLU = false; + + this.resetMatchedRows(); + this.sendLUClosed(); + this.sendOnLoadingEnded(); + }); + + }); + + }, this::sendError); }); - } - } - }, this::sendError); + + }); + }); + }); } - private void distribuisciLU(RunnableArgs> onComplete) { - MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); - IOrdiniVendita ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA); - ordiniVendita.distribuisciCollo(cloneMtbColt, mTestateOrdini, mtbColts -> { - mColliMagazzinoRESTConsumer.fillMtbAartsOfMtbColts(mtbColts, onComplete, this::sendError); -// mColliMagazzinoRESTConsumer.getMultipleByTestate(mtbColts, false, onComplete, this::sendError); + private void closeLU(RunnableArgs> onComplete) { + var closeUDSRequestDto = new CloseUDSRequestDTO() + .setMtbColt(this.mCurrentMtbColt) + //.setPrintSSCC(shouldPrint) + .setOrderCodMdep(mTestateOrdini.get(0).getCodMdep()) + .setEnableTransferLogic(isTrasfOrderLogicEnabled()); + + + this.mColliSpedizioneRESTConsumer.closeUDS(closeUDSRequestDto, closeResponse -> { + onComplete.run(closeResponse.getGeneratedMtbColts()); }, this::sendError); + + + } + + private void checkIfShouldBeDeleted(Runnable onDeleted, Runnable onContinue) { + var requestDto = + new CanUDSBeDeletedRequestDTO() + .setMtbColt(this.mCurrentMtbColt); + + this.mColliSpedizioneRESTConsumer.canUDSBeDeleted(requestDto, + canBeDeleted -> { + if (canBeDeleted == null || !canBeDeleted) + onContinue.run(); + + else onDeleted.run(); + + }, this::sendError); + } + + + private void deleteLU(Runnable onComplete) { + this.mColliSpedizioneRESTConsumer.deleteUDS( + new DeleteUDSRequestDTO() + .setMtbColt(this.mCurrentMtbColt), + onComplete, this::sendError); + } + + private boolean isTrasfOrderLogicEnabled() { + OrdiniVenditaInterface ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA); + return ordiniVendita != null && ordiniVendita.isTrasfOrder(mTestateOrdini); + } + + private void askPeso(Runnable onComplete) { + + if (mDefaultSegnoCol != -1 || !mShouldAskPesoLU) { + onComplete.run(); + return; + } + + this.sendLUPesoRequired(mCurrentMtbColt.getCodTcol(), mCurrentMtbColt.getPesoNettoKg(), mCurrentMtbColt.getPesoKg(), (newCodTcol, newNetWeight, newGrossWeight) -> { + + mCurrentMtbColt.setCodTcol(newCodTcol); + mCurrentMtbColt.setPesoNettoKg(newNetWeight); + mCurrentMtbColt.setPesoKg(newGrossWeight); + + onComplete.run(); + }); + + } + + private void askInfoAggiuntive(Runnable onComplete) { + if (mDefaultSegnoCol != -1 || !SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) { + onComplete.run(); + return; + } + + this.mListener.onInfoAggiuntiveRequired(mCurrentMtbColt, (note, mtbTcol) -> { + mCurrentMtbColt.setAnnotazioni(note); + + if (mtbTcol != null) { + mCurrentMtbColt.setMtbTCol(mtbTcol); + mCurrentMtbColt.setCodTcol(mtbTcol.getCodTcol()); + } else { + mCurrentMtbColt.setMtbTCol(null); + mCurrentMtbColt.setCodTcol(null); + } + + onComplete.run(); + }); + } + + private void askPositionChange(List mtbColtsToMove, RunnableArgs> onComplete) { + if (mDefaultGestioneOfUL != GestioneEnum.LAVORAZIONE || mDefaultSegnoCol != 1 || !this.mIsNewLU) { + onComplete.run(mtbColtsToMove); + return; + } + + this.sendLUPositionChangeRequest((shouldChangePosition, mtbDepoPosizione) -> { + + if (!shouldChangePosition) { + onComplete.run(mtbColtsToMove); + return; + } + + if (mtbDepoPosizione == null) { + //Nessuna posizione trovata con questo barcode + this.sendError(new ScannedPositionNotExistException()); + return; + } + + if (!mtbDepoPosizione.isFlagMonoCollo()) { + //La posizione non è Mono-UL + this.sendError(new CurrentMonoLUPositionIsNotCorrectException()); + return; + } + + + this.mPosizioneRESTConsumer.getBancaliInPosizione(mtbDepoPosizione, destMtbColtList -> { + + if (destMtbColtList == null || destMtbColtList.size() != 1) { + //Nessuna UL trovata oppure più UL nella stessa posizione + this.sendError(new NoLUFoundException()); + return; + + } + + if (destMtbColtList.get(0).getSegno() != mDefaultSegnoCol) { + this.sendError(new InvalidLUException()); + return; + + } + + moveLUtoLU(mtbColtsToMove, destMtbColtList.get(0), savedMtbColt -> { + ArrayList savedMtbColtList = new ArrayList<>(); + savedMtbColtList.add(savedMtbColt); + onComplete.run(savedMtbColtList); + }); + + + }, this::sendError); + + + }); + + } + + + private void askPrint(boolean canPrint, List mtbColtsToPrint, Runnable onComplete) { + + if (mDefaultGestioneOfUL != GestioneEnum.VENDITA || + mDefaultSegnoCol != -1 || + mtbColtsToPrint == null || + mtbColtsToPrint.isEmpty() || + !canPrint) { + + onComplete.run(); + return; + } + + + this.sendLUPrintRequest(shouldPrint -> { + if (!shouldPrint) { + onComplete.run(); + return; + } + + var printUDSRequestDto = new PrintUDSRequestDTO() + .setMtbColts(mtbColtsToPrint); + + this.mColliSpedizioneRESTConsumer.printUDS(printUDSRequestDto, onComplete, + ex -> this.sendLUPrintError(ex, onComplete)); + + }); + } @@ -1462,33 +1694,6 @@ public class SpedizioneViewModel { }, this::sendError); } - private void printCollo(List mtbColtsToPrint, Runnable onComplete) { - this.sendLUPrintRequest(shouldPrint -> { - - if (!shouldPrint) { - onComplete.run(); - } else { - cyclicPrint(mtbColtsToPrint.iterator(), onComplete, ex -> this.sendLUPrintError(ex, onComplete)); - - } - - }); - } - - private void cyclicPrint(@NotNull Iterator sourceMtbColts, Runnable onComplete, RunnableArgs onAbort) { - if (sourceMtbColts.hasNext()) { - singlePrint(sourceMtbColts.next(), () -> { - cyclicPrint(sourceMtbColts, onComplete, onAbort); - }, onAbort); - } else { - onComplete.run(); - } - } - - private void singlePrint(MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onFailed) { - this.mPrinterRESTConsumer.printCollo(mtbColtToPrint, onComplete, onFailed); - } - public void recoverLU(MtbColt mtbColt) { this.sendOnLoadingStarted(); @@ -1505,18 +1710,14 @@ public class SpedizioneViewModel { } private void postCloseOperations(List mtbColtList) { - Stream.of(mtbColtList).filter(x -> !this.mColliRegistrati.contains(x)).forEach(x -> this.mColliRegistrati.add(x)); - if (mTestateOrdini != null) { for (MtbColt mtbColt : mtbColtList) { - Stream.of(mTestateOrdini).filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum()).forEach(x -> x.setExistColloBoolean(true)); + mTestateOrdini.stream() + .filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum()) + .forEach(x -> x.setExistColloBoolean(true)); } } - if (mMtbColtSessionID != null) - this.mColliDataRecoverService.closeSession(mMtbColtSessionID); - this.mCurrentMtbColt = null; - if (mEnableQuantityReset) { for (PickingObjectDTO pickingObjectDTO : mPickingList.getValue()) { @@ -1547,21 +1748,6 @@ public class SpedizioneViewModel { pickingObjectDTO.setWithdrawMtbColrs(new ArrayList<>()); } } - - this.mIsNewLU = false; - - this.resetMatchedRows(); - this.sendLUClosed(); - this.sendOnLoadingEnded(); - } - - private void deleteLU(Runnable onComplete) { - mColliMagazzinoRESTConsumer.deleteCollo(mCurrentMtbColt, () -> { - this.mColliDataRecoverService.closeSession(mMtbColtSessionID); - this.mCurrentMtbColt = null; - - if (onComplete != null) onComplete.run(); - }, this::sendError); } public void resetMatchedRows() { @@ -1601,45 +1787,6 @@ public class SpedizioneViewModel { this.mPrinterRESTConsumer.printClosedOrders(dto, SettingsManager.i().getUserSession().getDepo().getCodMdep(), onSuccess, onAbort); } - private void cyclicPrintPackingList(@NotNull Iterator sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs onAbort) { - if (sourceTestateOrdineVenditaIterator.hasNext()) { - singlePrintPackingList(sourceTestateOrdineVenditaIterator.next(), () -> { - cyclicPrintPackingList(sourceTestateOrdineVenditaIterator, onComplete, onAbort); - }, onAbort); - } else { - onComplete.run(); - } - } - - private void cyclicPrintListEtichette(@NotNull Iterator sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs onAbort) { - if (sourceTestateOrdineVenditaIterator.hasNext()) { - singlePrintListEtichette(sourceTestateOrdineVenditaIterator.next(), () -> { - cyclicPrintListEtichette(sourceTestateOrdineVenditaIterator, onComplete, onAbort); - }, onAbort); - } else { - onComplete.run(); - } - } - - private void singlePrintPackingList(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs onFailed) { - HashMap params = new HashMap<>(); - params.put("gestione", ordineUscitaInevasoDTO.getGestione()); - params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); - params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); - - this.mPrinterRESTConsumer.printReportType(ReportType.WMS_SPEDIZIONE_PACKING_LIST_ORD, SettingsManager.i().getUserSession().getDepo().getCodMdep(), ordineUscitaInevasoDTO.getCodAnagOrd(), params, onComplete, onFailed); - - } - - private void singlePrintListEtichette(OrdineUscitaInevasoDTO ordineUscitaInevasoDTO, Runnable onComplete, RunnableArgs onFailed) { - HashMap params = new HashMap<>(); - params.put("gestione", ordineUscitaInevasoDTO.getGestione()); - params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); - params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); - - this.mPrinterRESTConsumer.printReportType(ReportType.WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD, SettingsManager.i().getUserSession().getDepo().getCodMdep(), ordineUscitaInevasoDTO.getCodAnagOrd(), params, onComplete, onFailed); - - } public MutableLiveData> getPickingList() { return mPickingList; @@ -1649,23 +1796,7 @@ public class SpedizioneViewModel { return (ArrayList) this.mColliRegistrati; } - public SpedizioneViewModel setListeners(Listener listener) { - this.mListener = listener; - return this; - } - - public void onCreateDocsAnswered(DialogConsts.Results result) { - switch (result) { - case YES: - this.createDocs(); - break; - case NO: - this.sendOnOrderClosed(); - break; - } - } - - private void createDocs() { + void createDocs() { var loadCollidto = new LoadColliDTO(); var codAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).withoutNulls().distinctBy(x -> x).findFirst().get(); @@ -1682,6 +1813,11 @@ public class SpedizioneViewModel { this.mDocumentiRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError); } + public SpedizioneViewModel setListeners(Listener listener) { + this.mListener = listener; + return this; + } + public interface Listener extends ILUPrintListener, ILoadingListener, ILUBaseOperationsListener { void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete); @@ -1706,6 +1842,8 @@ public class SpedizioneViewModel { void onChooseArtRequest(List artsList, RunnableArgs onComplete); + void onChooseArtsRequest(List artsList, RunnableArgs> onComplete); + void onOrderClosed(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/exceptions/InvalidMagazzinoAutomaticoMovementException.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/exceptions/InvalidMagazzinoAutomaticoMovementException.java new file mode 100644 index 00000000..808c3f64 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/exceptions/InvalidMagazzinoAutomaticoMovementException.java @@ -0,0 +1,9 @@ +package it.integry.integrywmsnative.gest.spedizione.exceptions; + +import it.integry.integrywmsnative.core.model.MtbDepoPosizione; + +public class InvalidMagazzinoAutomaticoMovementException extends Exception { + public InvalidMagazzinoAutomaticoMovementException(MtbDepoPosizione mtbDepoPosizione) { + super(String.format("Non è possibile movimentare una posizione legata ad un magazzino automatico (%s)", mtbDepoPosizione.getPosizione())); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java index f89d6af5..e6c578be 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultimi_arrivi_fornitore/UltimiArriviFornitoreFragment.java @@ -44,7 +44,7 @@ import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity; import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.ui.UltimiArriviFornitoreListAdapter; import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.dialog.DialogUltimiArriviFornitoreFiltroAvanzato; import it.integry.integrywmsnative.ui.ElevatedToolbar; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrList; /** * A simple {@link BaseFragment} subclass. @@ -255,7 +255,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl @Override public void onMtbColtScanned(MtbColt scannedMtbColt) { - DialogChooseArtsFromListaArts + DialogChooseArtsFromMtbColrList .newInstance(scannedMtbColt.getMtbColr(), items -> { List mtbAarts = Stream.of(items) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java index 8010faef..31ccbca6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/VersamentoMerceFragment.java @@ -37,7 +37,7 @@ import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.view.dialogs.DialogAskLivelloPosizione; import it.integry.integrywmsnative.view.dialogs.DialogCommon; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; -import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; +import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrList; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView; @@ -170,7 +170,7 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag @Override public void onArtsChooseRequired(List mtbColrList, RunnableArgs> onComplete, Runnable onAbort) { this.requireActivity().runOnUiThread(() -> { - DialogChooseArtsFromListaArts + DialogChooseArtsFromMtbColrList .newInstance(mtbColrList, onComplete, onAbort) .show(requireActivity().getSupportFragmentManager(), "tag"); }); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java deleted file mode 100644 index e99add7f..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsComponent.java +++ /dev/null @@ -1,15 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; - -import dagger.Subcomponent; - -@Subcomponent -public interface DialogChooseArtsFromListaArtsComponent { - - @Subcomponent.Factory - interface Factory { - DialogChooseArtsFromListaArtsComponent create(); - } - - void inject(DialogChooseArtsFromListaArts dialogChooseArtsFromListaArts); - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java deleted file mode 100644 index fd6c526b..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsModule.java +++ /dev/null @@ -1,7 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; - -import dagger.Module; - -@Module(subcomponents = DialogChooseArtsFromListaArtsComponent.class) -public class DialogChooseArtsFromListaArtsModule { -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListComponent.java new file mode 100644 index 00000000..bb8ff761 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListComponent.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import dagger.Subcomponent; + +@Subcomponent +public interface DialogChooseArtsFromMtbAartListComponent { + + @Subcomponent.Factory + interface Factory { + DialogChooseArtsFromMtbAartListComponent create(); + } + + void inject(DialogChooseArtsFromMtbAartListView dialogChooseArtsFromMtbAartListView); +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListItemModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListItemModel.java new file mode 100644 index 00000000..048a3591 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListItemModel.java @@ -0,0 +1,103 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import java.math.BigDecimal; + +import it.integry.integrywmsnative.core.di.BindableBoolean; +import it.integry.integrywmsnative.core.model.MtbAart; + +public class DialogChooseArtsFromMtbAartListItemModel { + + private BindableBoolean selected = new BindableBoolean(false); + private String codMart; + private String diacod; + private String descrizione; + private BigDecimal peso; + private String pesoUntMis; + private BigDecimal qta; + private String qtaUntMis; + + private MtbAart originalModel; + + + + public BindableBoolean getSelected() { + return selected; + } + + public DialogChooseArtsFromMtbAartListItemModel setSelected(BindableBoolean selected) { + this.selected = selected; + return this; + } + + public String getCodMart() { + return codMart; + } + + public DialogChooseArtsFromMtbAartListItemModel setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public String getDiacod() { + return diacod; + } + + public DialogChooseArtsFromMtbAartListItemModel setDiacod(String diacod) { + this.diacod = diacod; + return this; + } + + public String getDescrizione() { + return descrizione; + } + + public DialogChooseArtsFromMtbAartListItemModel setDescrizione(String descrizione) { + this.descrizione = descrizione; + return this; + } + + public BigDecimal getPeso() { + return peso; + } + + public DialogChooseArtsFromMtbAartListItemModel setPeso(BigDecimal peso) { + this.peso = peso; + return this; + } + + public String getPesoUntMis() { + return pesoUntMis; + } + + public DialogChooseArtsFromMtbAartListItemModel setPesoUntMis(String pesoUntMis) { + this.pesoUntMis = pesoUntMis; + return this; + } + + public BigDecimal getQta() { + return qta; + } + + public DialogChooseArtsFromMtbAartListItemModel setQta(BigDecimal qta) { + this.qta = qta; + return this; + } + + public String getQtaUntMis() { + return qtaUntMis; + } + + public DialogChooseArtsFromMtbAartListItemModel setQtaUntMis(String qtaUntMis) { + this.qtaUntMis = qtaUntMis; + return this; + } + + public MtbAart getOriginalModel() { + return originalModel; + } + + public DialogChooseArtsFromMtbAartListItemModel setOriginalModel(MtbAart originalModel) { + this.originalModel = originalModel; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListModule.java new file mode 100644 index 00000000..53ba8768 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListModule.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import dagger.Module; +import dagger.Provides; + +@Module(subcomponents = DialogChooseArtsFromMtbAartListComponent.class) +public class DialogChooseArtsFromMtbAartListModule { + + @Provides + DialogChooseArtsFromMtbAartListViewModel providesDialogDialogDialogChooseArtsFromMtbAartListViewViewModel() { + return new DialogChooseArtsFromMtbAartListViewModel(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java new file mode 100644 index 00000000..ca1d490e --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java @@ -0,0 +1,121 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.LayoutInflater; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.annimon.stream.Stream; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.ravikoradiya.liveadapter.LiveAdapter; + +import java.util.List; + +import javax.inject.Inject; + +import it.integry.integrywmsnative.BR; +import it.integry.integrywmsnative.MainApplication; +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.databinding.DialogChooseArtsFromMtbAartListLayoutBinding; + +public class DialogChooseArtsFromMtbAartListView extends BaseDialogFragment implements DialogInterface.OnShowListener { + + + @Inject + DialogChooseArtsFromMtbAartListViewModel mViewModel; + + private DialogChooseArtsFromMtbAartListLayoutBinding mBindings; + + private Context mContext; + + private final List mtbAarts; + private List artsItemModels = null; + private final RunnableArgs> onConfirmed; + private final Runnable onAbort; + + //Pass here all external parameters + public static DialogChooseArtsFromMtbAartListView newInstance(List mtbAarts, RunnableArgs> onConfirmed, Runnable onAbort) { + return new DialogChooseArtsFromMtbAartListView(mtbAarts, onConfirmed, onAbort); + } + + private DialogChooseArtsFromMtbAartListView(List mtbAarts, RunnableArgs> onConfirmed, Runnable onAbort) { + super(); + + this.mtbAarts = mtbAarts; + this.onConfirmed = onConfirmed; + this.onAbort = onAbort; + } + + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + this.mContext = requireContext(); + + mBindings = DialogChooseArtsFromMtbAartListLayoutBinding.inflate(LayoutInflater.from(this.mContext), null, false); + mBindings.setLifecycleOwner(this); + + MainApplication.appComponent + .dialogDialogDialogChooseArtsFromMtbAartListViewComponent() + .create() + .inject(this); + + + var cancelable = false; + + var alertDialog = new MaterialAlertDialogBuilder(this.mContext) + .setView(mBindings.getRoot()) + .setCancelable(cancelable) + .setPositiveButton(R.string.ok, (dialog, which) -> { + var selectedArts = Stream.of(this.artsItemModels) + .filter(x -> x.getSelected().get()) + .map(DialogChooseArtsFromMtbAartListItemModel::getOriginalModel) + .toList(); + + if(selectedArts.isEmpty()) { + if (this.onAbort != null) this.onAbort.run(); + return; + } + + if (this.onConfirmed != null) + this.onConfirmed.run(selectedArts); + }) + .setNegativeButton(R.string.abort, (dialog, which) -> { + if (this.onAbort != null) this.onAbort.run(); + }) + .create(); + + + + + alertDialog.setOnShowListener(this); + alertDialog.setCanceledOnTouchOutside(cancelable); + return alertDialog; + } + + @Override + public void onShow(DialogInterface dialogInterface) { + this.initList(); + } + + private void initList() { + this.artsItemModels = Stream.of(this.mtbAarts) + .map(x -> new DialogChooseArtsFromMtbAartListItemModel() + .setCodMart(x.getCodMart()) + .setDescrizione(x.getDescrizioneEstesa()) + .setDiacod(x.getDiacod()) + .setOriginalModel(x)) + .toList(); + + new LiveAdapter(this.artsItemModels, BR.item) + .map(DialogChooseArtsFromMtbAartListItemModel.class, R.layout.dialog_choose_arts_from_mtb_aart_list__item_model) + .into(this.mBindings.listaArts); + } +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListViewModel.java new file mode 100644 index 00000000..4783700b --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListViewModel.java @@ -0,0 +1,5 @@ +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; + +public class DialogChooseArtsFromMtbAartListViewModel { + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java similarity index 89% rename from app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java rename to app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java index 660c3a81..7c3da664 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java @@ -1,4 +1,4 @@ -package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list; import android.content.Context; import android.content.DialogInterface; @@ -38,10 +38,10 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityDialog; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding; +import it.integry.integrywmsnative.databinding.DialogChooseArtsFromMtbColrListLayoutBinding; import it.integry.integrywmsnative.view.dialogs.DialogCommon; -public class DialogChooseArtsFromListaArts extends BaseDialogFragment { +public class DialogChooseArtsFromMtbColrList extends BaseDialogFragment { @Inject BarcodeRESTConsumer barcodeRESTConsumer; @@ -51,23 +51,24 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { private Context context; - private DialogChooseArtsFromListaArtsLayoutBinding mBindings; - private DialogChooseArtsFromListaArtsAdapter currentAdapter; + private DialogChooseArtsFromMtbColrListLayoutBinding mBindings; + + private DialogChooseArtsFromMtbColrListAdapter currentAdapter; private final RunnableArgs> mOnItemsChoosed; private final Runnable mOnAbort; - private final List mDataset; + private final List mDataset; private int mBarcodeScannerIstanceID; private MtbAart selectedArt; - public static DialogChooseArtsFromListaArts newInstance(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { - return new DialogChooseArtsFromListaArts(listaMtbColr, onItemsChoosed, onAbort); + public static DialogChooseArtsFromMtbColrList newInstance(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { + return new DialogChooseArtsFromMtbColrList(listaMtbColr, onItemsChoosed, onAbort); } - public static DialogChooseArtsFromListaArts newInstance(List listaMtbColr, MtbAart mtbAart, RunnableArgs> onItemsChoosed, Runnable onAbort) { - DialogChooseArtsFromListaArts dialog = newInstance(listaMtbColr, onItemsChoosed, onAbort); + public static DialogChooseArtsFromMtbColrList newInstance(List listaMtbColr, MtbAart mtbAart, RunnableArgs> onItemsChoosed, Runnable onAbort) { + DialogChooseArtsFromMtbColrList dialog = newInstance(listaMtbColr, onItemsChoosed, onAbort); dialog.setSelectedArt(mtbAart); return dialog; } @@ -76,7 +77,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { this.selectedArt = mtbAart; } - private DialogChooseArtsFromListaArts(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { + private DialogChooseArtsFromMtbColrList(List listaMtbColr, RunnableArgs> onItemsChoosed, Runnable onAbort) { super(); mOnItemsChoosed = onItemsChoosed; @@ -90,7 +91,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { mtbColr.setUntMis(mtbColr.getMtbAart().getUntMis()); } - mDataset.add(new DialogChooseArtsFromListaArtsItemModel().setMtbColr(mtbColr)); + mDataset.add(new DialogChooseArtsFromMtbColrListItemModel().setMtbColr(mtbColr)); } } } @@ -101,7 +102,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { super.onCreateView(inflater, container, savedInstanceState); this.context = getActivity(); - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false); + mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_mtb_colr_list_layout, null, false); mBindings.setLifecycleOwner(getViewLifecycleOwner()); MainApplication.appComponent @@ -148,7 +149,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { mBindings.listaArts.setHasFixedSize(true); mBindings.listaArts.setLayoutManager(new LinearLayoutManager(context)); - currentAdapter = new DialogChooseArtsFromListaArtsAdapter(context, mDataset); + currentAdapter = new DialogChooseArtsFromMtbColrListAdapter(context, mDataset); mBindings.listaArts.setAdapter(currentAdapter); } @@ -203,7 +204,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { if (!UtilityString.isNullOrEmpty(newText) && newText.trim().length() > 2) { String finalNewText = newText; - List foundRowsList = Stream.of(mDataset) + List foundRowsList = Stream.of(mDataset) .filter(x -> { String codMart = x.getMtbColr().getMtbAart().getCodMart().toLowerCase(); String descrizioneArt = x.getMtbColr().getMtbAart().getDescrizioneEstesa().toLowerCase(); @@ -331,7 +332,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { private void searchArtInList(MtbAart mtbAart, Ean128Model ean128Model) { removeListFilter(); - List foundRowsList = Stream.of(mDataset) + List foundRowsList = Stream.of(mDataset) .filter(x -> x.getMtbColr().getMtbAart().getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) && !x.isHidden()) .toList(); @@ -348,7 +349,7 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { private void removeListFilter() { - for (DialogChooseArtsFromListaArtsItemModel itemModel : mDataset) { + for (DialogChooseArtsFromMtbColrListItemModel itemModel : mDataset) { itemModel.setHidden(false); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrListAdapter.java similarity index 78% rename from app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsAdapter.java rename to app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrListAdapter.java index 2645115d..26d43ff2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArtsAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrListAdapter.java @@ -1,11 +1,12 @@ -package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts; +package it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list; import android.content.Context; +import android.view.LayoutInflater; +import android.view.ViewGroup; + import androidx.databinding.DataBindingUtil; import androidx.databinding.Observable; import androidx.recyclerview.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.ViewGroup; import com.annimon.stream.Stream; @@ -19,9 +20,9 @@ import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsItemModelBinding; +import it.integry.integrywmsnative.databinding.DialogChooseArtsFromMtbColrListItemModelBinding; -public class DialogChooseArtsFromListaArtsAdapter extends RecyclerView.Adapter { +public class DialogChooseArtsFromMtbColrListAdapter extends RecyclerView.Adapter { protected Context mContext; @@ -29,7 +30,7 @@ public class DialogChooseArtsFromListaArtsAdapter extends RecyclerView.Adapter mDatasetPositions = new HashMap<>(); - public DialogChooseArtsFromListaArtsAdapter(Context context, List myDataset) { + public DialogChooseArtsFromMtbColrListAdapter(Context context, List myDataset) { mContext = context; if(myDataset != null) { @@ -63,10 +64,10 @@ public class DialogChooseArtsFromListaArtsAdapter extends RecyclerView.Adapter