Aggiunta la cancellazione delle udc create

This commit is contained in:
Marco Elefante 2024-01-09 15:51:15 +01:00
parent 7c52a692e3
commit 2e360e8104
10 changed files with 250 additions and 77 deletions

View File

@ -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<Exception> onFailed) {
if (BuildConfig.DEBUG) {
onComplete.run();
return;
}
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
colliMagazzinoRESTConsumerService.printUL(printULRequestDTO)

View File

@ -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> mtbColt = new ObservableField<>();
public final ObservableField<String> descrizioneDepo = new ObservableField<>();
public ObservableField<Boolean> fabVisible = new ObservableField<>(true);
public ObservableField<Boolean> 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;
}
}

View File

@ -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<MtbColt> items, RunnableArgsWithReturn<MtbColt, Boolean> canRecoverUlAction, String reportName) {
return createIntent(context, items, canRecoverUlAction, true, reportName);
}
@ -126,7 +125,7 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
getOnBackPressedDispatcher().onBackPressed();
return true;
}
@ -136,7 +135,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@ -144,10 +142,21 @@ 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();
}
}
}
}
}

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M280,840Q247,840 223.5,816.5Q200,793 200,760L200,240L160,240L160,160L360,160L360,120L600,120L600,160L800,160L800,240L760,240L760,760Q760,793 736.5,816.5Q713,840 680,840L280,840ZM680,240L280,240L280,760Q280,760 280,760Q280,760 280,760L680,760Q680,760 680,760Q680,760 680,760L680,240ZM360,680L440,680L440,320L360,320L360,680ZM520,680L600,680L600,320L520,320L520,680ZM280,240L280,240L280,760Q280,760 280,760Q280,760 280,760L280,760Q280,760 280,760Q280,760 280,760L280,240Z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M640,320L640,200L320,200L320,320L240,320L240,120L720,120L720,320L640,320ZM160,400L160,400Q160,400 171.5,400Q183,400 200,400L760,400Q777,400 788.5,400Q800,400 800,400L800,400L720,400L720,400L240,400L240,400L160,400ZM720,500Q737,500 748.5,488.5Q760,477 760,460Q760,443 748.5,431.5Q737,420 720,420Q703,420 691.5,431.5Q680,443 680,460Q680,477 691.5,488.5Q703,500 720,500ZM640,760L640,600L320,600L320,760L640,760ZM720,840L240,840L240,680L80,680L80,440Q80,389 115,354.5Q150,320 200,320L760,320Q811,320 845.5,354.5Q880,389 880,440L880,680L720,680L720,840ZM800,600L800,440Q800,423 788.5,411.5Q777,400 760,400L200,400Q183,400 171.5,411.5Q160,423 160,440L160,600L240,600L240,520L720,520L720,600L800,600Z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M440,838Q319,823 239.5,732.5Q160,642 160,520Q160,454 186,393.5Q212,333 260,288L317,345Q279,379 259.5,424Q240,469 240,520Q240,608 296,675.5Q352,743 440,758L440,838ZM520,838L520,758Q607,742 663.5,675Q720,608 720,520Q720,420 650,350Q580,280 480,280L477,280L521,324L465,380L325,240L465,100L521,156L477,200L480,200Q614,200 707,293Q800,386 800,520Q800,641 720.5,731.5Q641,822 520,838Z"/>
</vector>

View File

@ -2,12 +2,15 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<import type="it.integry.integrywmsnative.R" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="android.text.Html" />
<variable
name="viewModel"
@ -170,6 +173,29 @@
tools:text="(Bari)" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="horizontal"
android:visibility="@{view.mtbColt.getNumDoc() != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:text="Documento:" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:text="@{Html.fromHtml(context.getString(R.string.doc_testata, view.mtbColt.getNumDoc(), view.mtbColt.getDataDoc()))}"
tools:text="n. 123 del 29/03/2023" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
@ -192,67 +218,88 @@
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- <com.github.clans.fab.FloatingActionMenu-->
<!-- android:id="@+id/contenuto_bancale_fab"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:visibility="@{view.fabVisible}"-->
<!-- fab:menu_animationDelayPerItem="50"-->
<!-- fab:menu_backgroundColor="@color/white_bg_alpha"-->
<!-- fab:menu_buttonSpacing="0dp"-->
<!-- fab:menu_colorNormal="@color/colorSecondary"-->
<!-- fab:menu_colorPressed="@color/colorSecondaryDark"-->
<!-- fab:menu_fab_size="normal"-->
<!-- fab:menu_labels_colorNormal="@color/white"-->
<!-- fab:menu_labels_colorPressed="@color/white_pressed"-->
<!-- fab:menu_labels_colorRipple="#66FFFFFF"-->
<!-- fab:menu_labels_cornerRadius="3dp"-->
<!-- fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"-->
<!-- fab:menu_labels_margin="0dp"-->
<!-- fab:menu_labels_padding="8dp"-->
<!-- fab:menu_labels_paddingBottom="4dp"-->
<!-- fab:menu_labels_paddingLeft="8dp"-->
<!-- fab:menu_labels_paddingRight="8dp"-->
<!-- fab:menu_labels_paddingTop="4dp"-->
<!-- fab:menu_labels_position="left"-->
<!-- fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"-->
<!-- fab:menu_labels_showShadow="true"-->
<!-- fab:menu_labels_textColor="@color/black_semi_transparent"-->
<!-- fab:menu_labels_textSize="18sp"-->
<!-- fab:menu_openDirection="up"-->
<!-- fab:menu_shadowColor="#66000000"-->
<!-- fab:menu_shadowRadius="4dp"-->
<!-- fab:menu_shadowXOffset="1dp"-->
<!-- fab:menu_shadowYOffset="3dp"-->
<!-- fab:menu_showShadow="true">-->
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/contenuto_bancale_fab"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:visibility="@{view.fabVisible}"
fab:menu_animationDelayPerItem="50"
fab:menu_backgroundColor="@color/white_bg_alpha"
fab:menu_buttonSpacing="0dp"
fab:menu_colorNormal="@color/colorSecondary"
fab:menu_colorPressed="@color/colorSecondaryDark"
fab:menu_fab_size="normal"
fab:menu_labels_colorNormal="@color/white"
fab:menu_labels_colorPressed="@color/white_pressed"
fab:menu_labels_colorRipple="#66FFFFFF"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_margin="0dp"
fab:menu_labels_padding="8dp"
fab:menu_labels_paddingBottom="4dp"
fab:menu_labels_paddingLeft="8dp"
fab:menu_labels_paddingRight="8dp"
fab:menu_labels_paddingTop="4dp"
fab:menu_labels_position="left"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_showShadow="true"
fab:menu_labels_textColor="@color/black_semi_transparent"
fab:menu_labels_textSize="18sp"
fab:menu_openDirection="up"
fab:menu_shadowColor="#66000000"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="3dp"
fab:menu_showShadow="true">
<!-- <com.github.clans.fab.FloatingActionButton-->
<!-- android:id="@+id/accettazione_ordine_inevaso_fab_item1"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:scaleX="-1"-->
<!-- android:src="@drawable/ic_recover_ul_24dp"-->
<!-- app:fab_colorNormal="@color/white"-->
<!-- app:fab_colorPressed="@color/white_pressed"-->
<!-- app:fab_colorRipple="#66FFFFFF"-->
<!-- app:onClick="@{() -> view.recoverUL()}"-->
<!-- app:visibility="@{view.recoverFabMenuVisible}"-->
<!-- fab:fab_label="@string/action_recover_ul" />-->
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
<!-- <com.github.clans.fab.FloatingActionButton-->
<!-- android:id="@+id/accettazione_ordine_inevaso_fab_item2"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:src="@drawable/ic_print_24dp"-->
<!-- app:fab_colorNormal="@color/white"-->
<!-- app:fab_colorPressed="@color/white_pressed"-->
<!-- app:fab_colorRipple="#66FFFFFF"-->
<!-- app:onClick="@{() -> view.printUL()}"-->
<!-- fab:fab_label="@string/action_print_ul" />-->
<!-- <com.github.clans.fab.FloatingActionButton-->
<!-- android:id="@+id/accettazione_ordine_inevaso_fab_item3"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:src="@drawable/ic_delete_24dp"-->
<!-- app:fab_colorNormal="@color/white"-->
<!-- app:fab_colorPressed="@color/white_pressed"-->
<!-- app:fab_colorRipple="#66FFFFFF"-->
<!-- app:visibility="@{!view.mtbColt.documentPresent}"-->
<!-- app:onClick="@{() -> view.deleteUL()}"-->
<!-- fab:fab_label="@string/action_delete_ul" />-->
<!-- </com.github.clans.fab.FloatingActionMenu>-->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="-1"
android:src="@drawable/ic_recover_ul_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
app:onClick="@{() -> view.recoverUL()}"
app:visibility="@{view.recoverFabMenuVisible}"
fab:fab_label="@string/action_recover_ul" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/accettazione_ordine_inevaso_fab_item2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_print_24dp"
app:fab_colorNormal="@color/white"
app:fab_colorPressed="@color/white_pressed"
app:fab_colorRipple="#66FFFFFF"
app:onClick="@{() -> view.printUL()}"
fab:fab_label="@string/action_print_ul" />
</com.github.clans.fab.FloatingActionMenu>
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:onClick="@{() -> view.showFabMenu()}"
app:srcCompat="@drawable/ic_menu_24dp"
style="?attr/floatingActionButtonPrimaryStyle" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/recover_ul"
android:icon="@drawable/ic_recover_material3"
android:title="@string/action_recover_ul" />
<item
android:id="@+id/print_ul"
android:icon="@drawable/ic_print_material3"
android:title="@string/action_print_ul" />
<item
android:id="@+id/delete_ul"
android:icon="@drawable/ic_delete_material3"
android:title="@string/action_delete_ul" />
</menu>

View File

@ -64,6 +64,7 @@
<string name="action_show_created_ul">Mostra UL già create</string>
<string name="action_recover_ul">Recupera UL</string>
<string name="action_print_ul">Stampa UL</string>
<string name="action_delete_ul">Cancella UL</string>
<string name="action_print">Stampa</string>
<string name="confirm">Conferma</string>
<string name="action_save">Salva</string>
@ -199,6 +200,7 @@
<string name="check_box_preference_title">Check box</string>
<string name="check_box_preference_summary">This is a regular preference</string>
<string name="alert_delete_UL">Stai per eliminare una UL. Confermi?</string>
<string name="alert_delete_mtb_colr">Stai per eliminare una riga. Confermi?</string>
<string name="activity_lista_bancali_title">Lista UL</string>

View File

@ -108,8 +108,7 @@
<!-- SETTINGS -->
<string name="action_recover_ul">Recover LU</string>
<string name="action_delete_ul">Delete LU</string>
<string name="action_print_ul">Print LU</string>
<string name="action_print">Print</string>
<string name="confirm">Confirm</string>
@ -201,6 +200,7 @@
<string name="check_box_preference_title">Check box</string>
<string name="check_box_preference_summary">This is a regular preference</string>
<string name="alert_delete_UL">Are you sure you want to delete this UL? Please confirm</string>
<string name="alert_delete_mtb_colr">Are you sure to delete? Please confirm</string>
<string name="warehouse">Warehouse</string>