From 2e360e81047055eb534474c349f02d2668ba9a1a Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 9 Jan 2024 15:51:15 +0100 Subject: [PATCH] Aggiunta la cancellazione delle udc create --- .../consumers/ColliMagazzinoRESTConsumer.java | 6 + .../ContenutoBancaleActivity.java | 81 ++++++++- .../lista_bancali/ListaBancaliActivity.java | 23 ++- .../main/res/drawable/ic_delete_material3.xml | 10 ++ .../main/res/drawable/ic_print_material3.xml | 10 ++ .../res/drawable/ic_recover_material3.xml | 10 ++ .../res/layout/activity_contenuto_bancale.xml | 165 +++++++++++------- .../res/menu/contenuto_bancale_fab_menu.xml | 16 ++ app/src/main/res/values-it/strings.xml | 2 + app/src/main/res/values/strings.xml | 4 +- 10 files changed, 250 insertions(+), 77 deletions(-) create mode 100644 app/src/main/res/drawable/ic_delete_material3.xml create mode 100644 app/src/main/res/drawable/ic_print_material3.xml create mode 100644 app/src/main/res/drawable/ic_recover_material3.xml create mode 100644 app/src/main/res/menu/contenuto_bancale_fab_menu.xml 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 9b71214c..4249e1fc 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 @@ -18,6 +18,7 @@ import java.util.List; import javax.inject.Singleton; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; +import it.integry.integrywmsnative.BuildConfig; import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.CommonModelConsts; @@ -696,6 +697,11 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { } public void printUL(PrintULRequestDTO printULRequestDTO, Runnable onComplete, RunnableArgs onFailed) { + if (BuildConfig.DEBUG) { + onComplete.run(); + return; + } + ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class); colliMagazzinoRESTConsumerService.printUL(printULRequestDTO) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java index 20086b1d..7af712ed 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contenuto_bancale/ContenutoBancaleActivity.java @@ -4,8 +4,11 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; +import android.text.Html; import android.text.SpannableString; +import android.view.Gravity; +import androidx.appcompat.widget.PopupMenu; import androidx.core.content.ContextCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableField; @@ -18,8 +21,10 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.expansion.BaseActivity; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; +import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO; import it.integry.integrywmsnative.databinding.ActivityContenutoBancaleBinding; import it.integry.integrywmsnative.gest.contenuto_bancale.ui.ContenutoBancaleListAdapter; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; @@ -38,11 +43,14 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB @Inject PrinterRESTConsumer mPrinterRESTConsumer; + @Inject + ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer; + public final ObservableField mtbColt = new ObservableField<>(); public final ObservableField descrizioneDepo = new ObservableField<>(); - public ObservableField fabVisible = new ObservableField<>(true); public ObservableField recoverFabMenuVisible = new ObservableField<>(false); + private PopupMenu fabPopupMenu; private String mReportName; @@ -95,11 +103,11 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB recoverFabMenuVisible.set(canRecoverUL); - initRecyclerView(); - initColloInfo(); + this.initRecyclerView(); + this.initColloInfo(); + this.initFab(); } - private void initRecyclerView() { this.bindings.contenutoBancaleMainList.setNestedScrollingEnabled(false); @@ -115,13 +123,39 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB this.bindings.contenutoBancaleMainList.setAdapter(adapter); } - private void initColloInfo() { mDepositoRESTConsumer.getDepoByCodMdep(mtbColt.get().getCodMdep(), depo -> { descrizioneDepo.set("(" + depo.getDescrizione() + ")"); }, this::onError); } + private void initFab() { + fabPopupMenu = new PopupMenu(this, this.bindings.accettazioneOrdineInevasoFab, + (Gravity.END | Gravity.BOTTOM), + androidx.appcompat.R.attr.popupMenuStyle, + com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu); + + fabPopupMenu.setForceShowIcon(true); + fabPopupMenu.getMenuInflater().inflate(R.menu.contenuto_bancale_fab_menu, fabPopupMenu.getMenu()); + + if(mtbColt.get().isDocumentPresent()){ + fabPopupMenu.getMenu().removeItem(R.id.delete_ul); + } + + fabPopupMenu.setOnMenuItemClickListener(item -> { + int itemId = item.getItemId(); + + if (itemId == R.id.recover_ul) { + this.recoverUL(); + } else if (itemId == R.id.print_ul) { + this.printUL(); + } else if (itemId == R.id.delete_ul) { + this.deleteUL(); + } + + return false; + }); + } public void recoverUL() { Intent data = new Intent(); @@ -132,9 +166,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB this.finish(); } - public void printUL() { - this.bindings.contenutoBancaleFab.close(true); this.onLoadingStarted(); try { this.mPrinterRESTConsumer.printCollo(mtbColt.get(), @@ -153,11 +185,42 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB } } + public void deleteUL() { + String text = getResources().getString(R.string.alert_delete_UL); + + DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)), null, () -> this.runOnUiThread(() -> { + this.onLoadingStarted(); + + try { + DeleteULRequestDTO deleteULRequestDTO = new DeleteULRequestDTO() + .setMtbColt(this.mtbColt.get()); + + mColliMagazzinoRESTConsumer.deleteUL(deleteULRequestDTO, () -> { + Intent data = new Intent(); + String key = DataCache.addItem(this.mtbColt.get()); + String keyDeleteUL = DataCache.addItem(true); + data.putExtra("key", key) + .putExtra("keyDeleteUL", keyDeleteUL); + + this.onLoadingEnded(); + this.setResult(RESULT_OK, data); + this.finish(); + }, this::onError); + } catch (Exception ex) { + this.onError(ex); + } + }), () -> { + }).show(this.getSupportFragmentManager(), "tag"); + } + + public void showFabMenu() { + fabPopupMenu.show(); + } + @Override public boolean onSupportNavigateUp() { - onBackPressed(); + getOnBackPressedDispatcher().onBackPressed(); return true; } - } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java index 17c27e32..0b3909e3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/lista_bancali/ListaBancaliActivity.java @@ -24,7 +24,7 @@ import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivi import it.integry.integrywmsnative.gest.lista_bancali.ui.ListaColliMainListAdapter; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; -public class ListaBancaliActivity extends BaseActivity implements ListaBancaliViewModel.Listener{ +public class ListaBancaliActivity extends BaseActivity implements ListaBancaliViewModel.Listener { private static class Key { private static final String MtbColtsKey = "mtbColtsKey"; @@ -47,7 +47,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi private static final int PICK_UL_REQUEST = 1; // The request code - public static Intent createIntent(Context context, List items, RunnableArgsWithReturn canRecoverUlAction, String reportName) { return createIntent(context, items, canRecoverUlAction, true, reportName); } @@ -126,17 +125,16 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi @Override public boolean onSupportNavigateUp() { - onBackPressed(); + getOnBackPressedDispatcher().onBackPressed(); return true; } - public void startContenutoBancaleActivity(MtbColt item){ + public void startContenutoBancaleActivity(MtbColt item) { Intent myIntent = ContenutoBancaleActivity.createIntent(this, item, mCanRecoverUl.run(item), mReportName); startActivityForResult(myIntent, PICK_UL_REQUEST); } - @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -144,9 +142,20 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi if (requestCode == PICK_UL_REQUEST) { // Make sure the request was successful if (resultCode == RESULT_OK) { + Object keyDeleteUL = DataCache.retrieveItem(data.getStringExtra("keyDeleteUL")); + boolean deleteUL = keyDeleteUL != null && (boolean) keyDeleteUL; + + if (deleteUL) { + this.onLoadingStarted(); + MtbColt item = DataCache.retrieveItem(data.getStringExtra("key")); + mtbColts.remove(item); + this.initRecyclerView(); + this.onLoadingEnded(); + } else { + this.setResult(RESULT_OK, data); + this.finish(); + } - this.setResult(RESULT_OK, data); - this.finish(); } } } diff --git a/app/src/main/res/drawable/ic_delete_material3.xml b/app/src/main/res/drawable/ic_delete_material3.xml new file mode 100644 index 00000000..d724c2e0 --- /dev/null +++ b/app/src/main/res/drawable/ic_delete_material3.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_print_material3.xml b/app/src/main/res/drawable/ic_print_material3.xml new file mode 100644 index 00000000..f144dac0 --- /dev/null +++ b/app/src/main/res/drawable/ic_print_material3.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_recover_material3.xml b/app/src/main/res/drawable/ic_recover_material3.xml new file mode 100644 index 00000000..3a1a828d --- /dev/null +++ b/app/src/main/res/drawable/ic_recover_material3.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_contenuto_bancale.xml b/app/src/main/res/layout/activity_contenuto_bancale.xml index 6034aba9..44829935 100644 --- a/app/src/main/res/layout/activity_contenuto_bancale.xml +++ b/app/src/main/res/layout/activity_contenuto_bancale.xml @@ -2,12 +2,15 @@ + + + + + + + + + + @@ -192,67 +218,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + \ No newline at end of file diff --git a/app/src/main/res/menu/contenuto_bancale_fab_menu.xml b/app/src/main/res/menu/contenuto_bancale_fab_menu.xml new file mode 100644 index 00000000..50023a2e --- /dev/null +++ b/app/src/main/res/menu/contenuto_bancale_fab_menu.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1dc4d0ef..a0e808e2 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -64,6 +64,7 @@ Mostra UL giĆ  create Recupera UL Stampa UL + Cancella UL Stampa Conferma Salva @@ -199,6 +200,7 @@ Check box This is a regular preference + Stai per eliminare una UL. Confermi? Stai per eliminare una riga. Confermi? Lista UL diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cb147c39..ac6c27ee 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -108,8 +108,7 @@ Recover LU - - + Delete LU Print LU Print Confirm @@ -201,6 +200,7 @@ Check box This is a regular preference + Are you sure you want to delete this UL? Please confirm Are you sure to delete? Please confirm Warehouse