Finish v1.36.13(406)
This commit is contained in:
commit
112110e10f
1
.idea/runConfigurations/app.xml
generated
1
.idea/runConfigurations/app.xml
generated
@ -9,6 +9,7 @@
|
|||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
<option name="CLEAR_APP_STORAGE" value="false" />
|
<option name="CLEAR_APP_STORAGE" value="false" />
|
||||||
|
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="false" />
|
<option name="CLEAR_LOGCAT" value="false" />
|
||||||
|
|||||||
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 403
|
def appVersionCode = 406
|
||||||
def appVersionName = '1.36.10'
|
def appVersionName = '1.36.13'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class NoOrdersScheduledException extends Exception {
|
||||||
|
|
||||||
|
public NoOrdersScheduledException() {
|
||||||
|
super(UtilityResources.getString(R.string.no_orders_scheduled));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ import java.util.List;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
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.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
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) {
|
public void printUL(PrintULRequestDTO printULRequestDTO, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
if (BuildConfig.DEBUG) {
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||||
|
|
||||||
colliMagazzinoRESTConsumerService.printUL(printULRequestDTO)
|
colliMagazzinoRESTConsumerService.printUL(printULRequestDTO)
|
||||||
|
|||||||
@ -40,7 +40,6 @@ public class DBSettingsModel {
|
|||||||
private boolean flagOrdinaArticoliOnScan;
|
private boolean flagOrdinaArticoliOnScan;
|
||||||
private boolean flagConsentiFuoriPianoLogistico;
|
private boolean flagConsentiFuoriPianoLogistico;
|
||||||
private boolean flagConsentiOrdineSenzaGriglia;
|
private boolean flagConsentiOrdineSenzaGriglia;
|
||||||
private String docInterniCheckFornitore;
|
|
||||||
private String produzioneDefaultCodAnag;
|
private String produzioneDefaultCodAnag;
|
||||||
private boolean flagPrintPackingListOnOrderClose;
|
private boolean flagPrintPackingListOnOrderClose;
|
||||||
private boolean flagPrintEtichetteOnOrderClose;
|
private boolean flagPrintEtichetteOnOrderClose;
|
||||||
@ -333,15 +332,6 @@ public class DBSettingsModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDocInterniCheckFornitore() {
|
|
||||||
return docInterniCheckFornitore;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DBSettingsModel setDocInterniCheckFornitore(String docInterniCheckFornitore) {
|
|
||||||
this.docInterniCheckFornitore = docInterniCheckFornitore;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFlagAccettazioneUseQtaOrd() {
|
public boolean isFlagAccettazioneUseQtaOrd() {
|
||||||
return flagAccettazioneUseQtaOrd;
|
return flagAccettazioneUseQtaOrd;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -340,11 +340,6 @@ public class SettingsManager {
|
|||||||
.setSection("ORDINI_A")
|
.setSection("ORDINI_A")
|
||||||
.setKeySection("FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA")
|
.setKeySection("FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagConsentiOrdineSenzaGriglia));
|
.setSetter(dbSettingsModelIstance::setFlagConsentiOrdineSenzaGriglia));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
|
||||||
.setGestName("PVM")
|
|
||||||
.setSection("DOC_INTERNI")
|
|
||||||
.setKeySection("CHECK_FORNITORE")
|
|
||||||
.setSetter(dbSettingsModelIstance::setDocInterniCheckFornitore));
|
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE")
|
.setSection("ACCETTAZIONE")
|
||||||
|
|||||||
@ -17,6 +17,8 @@ public class SaveDTO {
|
|||||||
private ColloDTO colloDTO;
|
private ColloDTO colloDTO;
|
||||||
private InventarioDTO inventarioDTO;
|
private InventarioDTO inventarioDTO;
|
||||||
|
|
||||||
|
private String UUID;
|
||||||
|
|
||||||
public String getGestione() {
|
public String getGestione() {
|
||||||
return gestione;
|
return gestione;
|
||||||
}
|
}
|
||||||
@ -112,4 +114,13 @@ public class SaveDTO {
|
|||||||
public void setInventarioDTO(InventarioDTO inventarioDTO) {
|
public void setInventarioDTO(InventarioDTO inventarioDTO) {
|
||||||
this.inventarioDTO = inventarioDTO;
|
this.inventarioDTO = inventarioDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUUID() {
|
||||||
|
return UUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaveDTO setUUID(String UUID) {
|
||||||
|
this.UUID = UUID;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,9 +3,11 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.view.Gravity;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.widget.PopupMenu;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@ -26,7 +28,6 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
|
|||||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
|
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
|
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableInteger;
|
import it.integry.integrywmsnative.core.di.BindableInteger;
|
||||||
import it.integry.integrywmsnative.core.di.BindableString;
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
@ -42,7 +43,6 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipoDocDTO;
|
|||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsItemListModel;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsItemListModel;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
|
||||||
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView;
|
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemListModel;
|
import it.integry.integrywmsnative.view.dialogs.available_items.DialogAvailableItemListModel;
|
||||||
@ -77,9 +77,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
public BindableString codMgrp = new BindableString();
|
public BindableString codMgrp = new BindableString();
|
||||||
public BindableString codAnag = new BindableString();
|
public BindableString codAnag = new BindableString();
|
||||||
public BindableInteger prodsCount = new BindableInteger(0);
|
public BindableInteger prodsCount = new BindableInteger(0);
|
||||||
public BindableBoolean isDocumentExportable = new BindableBoolean(false);
|
|
||||||
private final ObservableArrayList<SqlMtbColr> documentRowsObservableList = new ObservableArrayList<>();
|
private final ObservableArrayList<SqlMtbColr> documentRowsObservableList = new ObservableArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
private PopupMenu fabPopupMenu;
|
||||||
|
|
||||||
public static Intent newInstance(Context context, SqlMtbColt document, List<DocumentoArtDTO> arts, TipoDocDTO tipoDoc, DocInterniSetupDTO mDocInterniSetupDTO) {
|
public static Intent newInstance(Context context, SqlMtbColt document, List<DocumentoArtDTO> arts, TipoDocDTO tipoDoc, DocInterniSetupDTO mDocInterniSetupDTO) {
|
||||||
Intent myIntent = new Intent(context, DocInterniEditFormActivity.class);
|
Intent myIntent = new Intent(context, DocInterniEditFormActivity.class);
|
||||||
|
|
||||||
@ -119,6 +121,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
this.initView();
|
this.initView();
|
||||||
this.initBindables();
|
this.initBindables();
|
||||||
this.initRecyclerView();
|
this.initRecyclerView();
|
||||||
|
this.initFab();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initBindables() {
|
private void initBindables() {
|
||||||
@ -151,7 +154,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
setSupportActionBar(binding.toolbar);
|
setSupportActionBar(binding.toolbar);
|
||||||
binding.toolbar.setTitle(R.string.edit_doc);
|
binding.toolbar.setTitle(R.string.edit_doc);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
FabMenuCustomAnimations.changeIconOnFocus(binding.closeActivityFab, R.drawable.ic_menu_24dp, R.drawable.ic_close_24dp);
|
|
||||||
|
// FabMenuCustomAnimations.changeIconOnFocus(binding.closeActivityFab, R.drawable.ic_menu_24dp, R.drawable.ic_close_24dp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,6 +166,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
this.viewModel.docRows.observe(this, this::refreshList);
|
this.viewModel.docRows.observe(this, this::refreshList);
|
||||||
|
|
||||||
DocumentRowsListAdapter listAdapter = new DocumentRowsListAdapter(this, documentRowsObservableList);
|
DocumentRowsListAdapter listAdapter = new DocumentRowsListAdapter(this, documentRowsObservableList);
|
||||||
listAdapter.setEmptyView(binding.scanArtSpinner);
|
listAdapter.setEmptyView(binding.scanArtSpinner);
|
||||||
binding.documentRowsList.setAdapter(listAdapter);
|
binding.documentRowsList.setAdapter(listAdapter);
|
||||||
@ -173,11 +178,58 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initFab() {
|
||||||
|
fabPopupMenu = new PopupMenu(this, this.binding.mainFab,
|
||||||
|
(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.doc_interni_edit_fab_menu, fabPopupMenu.getMenu());
|
||||||
|
|
||||||
|
|
||||||
|
fabPopupMenu.setOnMenuItemClickListener(item -> {
|
||||||
|
int itemId = item.getItemId();
|
||||||
|
|
||||||
|
if (itemId == R.id.export_document) {
|
||||||
|
viewModel.exportDocument();
|
||||||
|
} else if (itemId == R.id.delete_document) {
|
||||||
|
viewModel.deleteDocument();
|
||||||
|
} else if (itemId == R.id.hold_document) {
|
||||||
|
viewModel.holdDocument();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
refreshFabMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshFabMenu() {
|
||||||
|
fabPopupMenu.getMenu()
|
||||||
|
.findItem(R.id.export_document)
|
||||||
|
.setVisible(isDocumentExportable());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showFabMenu() {
|
||||||
|
fabPopupMenu.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closeFabMenu() {
|
||||||
|
fabPopupMenu.dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
private void refreshList(List<SqlMtbColr> sqlMtbColrs) {
|
private void refreshList(List<SqlMtbColr> sqlMtbColrs) {
|
||||||
this.documentRowsObservableList.clear();
|
this.documentRowsObservableList.clear();
|
||||||
this.documentRowsObservableList.addAll(this.viewModel.docRows.getValue());
|
this.documentRowsObservableList.addAll(this.viewModel.docRows.getValue());
|
||||||
|
|
||||||
|
this.prodsCount.set(this.viewModel.docRows.getValue().size());
|
||||||
|
this.refreshFabMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isDocumentExportable() {
|
||||||
|
return prodsCount.get() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
public void closeEdit() {
|
public void closeEdit() {
|
||||||
this.onBackPressed();
|
this.onBackPressed();
|
||||||
@ -230,7 +282,6 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
@Override
|
@Override
|
||||||
public void onRowsChanged(List<SqlMtbColr> rows) {
|
public void onRowsChanged(List<SqlMtbColr> rows) {
|
||||||
this.prodsCount.set(rows.size());
|
this.prodsCount.set(rows.size());
|
||||||
this.isDocumentExportable.set(rows.size() > 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -283,7 +334,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
this.viewModel.saveRow(row, resultDTO);
|
this.viewModel.saveRow(row, resultDTO);
|
||||||
})
|
})
|
||||||
.setOnAbort(() -> {})
|
.setOnAbort(() -> {
|
||||||
|
})
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,7 +346,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDocDeleted() {
|
public void onDocDeleted() {
|
||||||
this.binding.closeActivityFab.close(true);
|
this.closeFabMenu();
|
||||||
this.closeEdit();
|
this.closeEdit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,7 +390,8 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
|
|
||||||
DialogSelectDocRowsView.newInstance(dataset, data -> {
|
DialogSelectDocRowsView.newInstance(dataset, data -> {
|
||||||
this.viewModel.dispatchRowEdit((SqlMtbColr) data.getOriginalModel(), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
|
this.viewModel.dispatchRowEdit((SqlMtbColr) data.getOriginalModel(), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
|
||||||
}, () -> {})
|
}, () -> {
|
||||||
|
})
|
||||||
.show(this.getSupportFragmentManager(), "dialogSelectDocRowsNew");
|
.show(this.getSupportFragmentManager(), "dialogSelectDocRowsNew");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,12 +2,8 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form;
|
|||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.annimon.stream.Optional;
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -26,7 +22,6 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
|
|||||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||||
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
|
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
|
||||||
@ -49,7 +44,6 @@ public class DocInterniEditFormViewModel {
|
|||||||
private TipoDocDTO tipoDoc;
|
private TipoDocDTO tipoDoc;
|
||||||
|
|
||||||
private boolean isCheckPartitaMag = false;
|
private boolean isCheckPartitaMag = false;
|
||||||
private JSONObject checkFornitoreRules = null;
|
|
||||||
|
|
||||||
|
|
||||||
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
|
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
|
||||||
@ -65,12 +59,6 @@ public class DocInterniEditFormViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
try {
|
|
||||||
var docInterniCheckFornitore = SettingsManager.iDB().getDocInterniCheckFornitore();
|
|
||||||
this.checkFornitoreRules = docInterniCheckFornitore != null ? new JSONObject(docInterniCheckFornitore) : null;
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -214,6 +202,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
private SaveDTO getSaveDto() {
|
private SaveDTO getSaveDto() {
|
||||||
SqlMtbColt document = this.getDocument();
|
SqlMtbColt document = this.getDocument();
|
||||||
SaveDTO saveDTO = new SaveDTO();
|
SaveDTO saveDTO = new SaveDTO();
|
||||||
|
saveDTO.setUUID(String.valueOf(document.getId()));
|
||||||
saveDTO.setIdDisp("1");
|
saveDTO.setIdDisp("1");
|
||||||
saveDTO.setGestione(document.getGestione());
|
saveDTO.setGestione(document.getGestione());
|
||||||
saveDTO.setCodMdep(document.getCodMdep());
|
saveDTO.setCodMdep(document.getCodMdep());
|
||||||
@ -243,6 +232,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
artDto.setUntMis(row.getUntMis());
|
artDto.setUntMis(row.getUntMis());
|
||||||
artDto.setCodMart(row.getCodMart());
|
artDto.setCodMart(row.getCodMart());
|
||||||
artDto.setSystemNote(row.getNote());
|
artDto.setSystemNote(row.getNote());
|
||||||
|
artDto.setPartitaMag(row.getPartitaMag());
|
||||||
if (row.getDataScad() != null) {
|
if (row.getDataScad() != null) {
|
||||||
artDto.setDataScad(row.getDataScad());
|
artDto.setDataScad(row.getDataScad());
|
||||||
}
|
}
|
||||||
@ -277,10 +267,15 @@ public class DocInterniEditFormViewModel {
|
|||||||
if (doc == null || fornitori == null || tipoDocDTO == null)
|
if (doc == null || fornitori == null || tipoDocDTO == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
List<FornitoreDTO> filterFornitori = Stream.of(fornitori).filter(x->x.getCodAnag().equals(doc.getCodAnag())).toList();
|
List<FornitoreDTO> filterFornitori = Stream.of(fornitori)
|
||||||
|
.filter(x -> x.getCodAnag().equals(doc.getCodAnag()))
|
||||||
|
.toList();
|
||||||
List<CheckFornitoreDTO> checkFornitoreDTO;
|
List<CheckFornitoreDTO> checkFornitoreDTO;
|
||||||
|
|
||||||
TipoDocDTO tipoDoc = Stream.of(tipoDocDTO).filter(x -> x.getCodDtip().equals(doc.getCodDtipProvv())).findFirst().get();
|
TipoDocDTO tipoDoc = Stream.of(tipoDocDTO)
|
||||||
|
.filter(x -> x.getCodDtip().equals(doc.getCodDtipProvv()))
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
|
||||||
if (tipoDoc.isFlagChkTracciabilita()) {
|
if (tipoDoc.isFlagChkTracciabilita()) {
|
||||||
this.isCheckPartitaMag = tipoDoc.isFlagChkTracciabilita();
|
this.isCheckPartitaMag = tipoDoc.isFlagChkTracciabilita();
|
||||||
@ -351,6 +346,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
row.setQtaCol(resultDTO.getQtaTot().floatValue());
|
row.setQtaCol(resultDTO.getQtaTot().floatValue());
|
||||||
row.setNote(resultDTO.getNote());
|
row.setNote(resultDTO.getNote());
|
||||||
row.setDataScad(resultDTO.getDataScad());
|
row.setDataScad(resultDTO.getDataScad());
|
||||||
|
row.setPartitaMag(resultDTO.getPartitaMag());
|
||||||
if (row.getId() > 0) {
|
if (row.getId() > 0) {
|
||||||
this.mtbColrRepository.update(row, id -> {
|
this.mtbColrRepository.update(row, id -> {
|
||||||
this.fetchDocumentRows();
|
this.fetchDocumentRows();
|
||||||
|
|||||||
@ -4,8 +4,11 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.Html;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.view.Gravity;
|
||||||
|
|
||||||
|
import androidx.appcompat.widget.PopupMenu;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableField;
|
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.data_cache.DataCache;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
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.DepositoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
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.databinding.ActivityContenutoBancaleBinding;
|
||||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ui.ContenutoBancaleListAdapter;
|
import it.integry.integrywmsnative.gest.contenuto_bancale.ui.ContenutoBancaleListAdapter;
|
||||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||||
@ -38,11 +43,14 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
|
|||||||
@Inject
|
@Inject
|
||||||
PrinterRESTConsumer mPrinterRESTConsumer;
|
PrinterRESTConsumer mPrinterRESTConsumer;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||||
|
|
||||||
public final ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
public final ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
||||||
public final ObservableField<String> descrizioneDepo = new ObservableField<>();
|
public final ObservableField<String> descrizioneDepo = new ObservableField<>();
|
||||||
|
|
||||||
public ObservableField<Boolean> fabVisible = new ObservableField<>(true);
|
public ObservableField<Boolean> fabVisible = new ObservableField<>(true);
|
||||||
public ObservableField<Boolean> recoverFabMenuVisible = new ObservableField<>(false);
|
public ObservableField<Boolean> recoverFabMenuVisible = new ObservableField<>(false);
|
||||||
|
private PopupMenu fabPopupMenu;
|
||||||
|
|
||||||
private String mReportName;
|
private String mReportName;
|
||||||
|
|
||||||
@ -95,11 +103,11 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
|
|||||||
|
|
||||||
recoverFabMenuVisible.set(canRecoverUL);
|
recoverFabMenuVisible.set(canRecoverUL);
|
||||||
|
|
||||||
initRecyclerView();
|
this.initRecyclerView();
|
||||||
initColloInfo();
|
this.initColloInfo();
|
||||||
|
this.initFab();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
this.bindings.contenutoBancaleMainList.setNestedScrollingEnabled(false);
|
this.bindings.contenutoBancaleMainList.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
@ -115,13 +123,39 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
|
|||||||
this.bindings.contenutoBancaleMainList.setAdapter(adapter);
|
this.bindings.contenutoBancaleMainList.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initColloInfo() {
|
private void initColloInfo() {
|
||||||
mDepositoRESTConsumer.getDepoByCodMdep(mtbColt.get().getCodMdep(), depo -> {
|
mDepositoRESTConsumer.getDepoByCodMdep(mtbColt.get().getCodMdep(), depo -> {
|
||||||
descrizioneDepo.set("(" + depo.getDescrizione() + ")");
|
descrizioneDepo.set("(" + depo.getDescrizione() + ")");
|
||||||
}, this::onError);
|
}, 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() {
|
public void recoverUL() {
|
||||||
Intent data = new Intent();
|
Intent data = new Intent();
|
||||||
@ -132,9 +166,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
|
|||||||
this.finish();
|
this.finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void printUL() {
|
public void printUL() {
|
||||||
this.bindings.contenutoBancaleFab.close(true);
|
|
||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
try {
|
try {
|
||||||
this.mPrinterRESTConsumer.printCollo(mtbColt.get(),
|
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
|
@Override
|
||||||
public boolean onSupportNavigateUp() {
|
public boolean onSupportNavigateUp() {
|
||||||
onBackPressed();
|
getOnBackPressedDispatcher().onBackPressed();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -276,7 +276,7 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
|
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inventarioArtDTO.isPlu()) {
|
if (pickingObjectDTO.getTempPickData() != null && inventarioArtDTO.isPlu()) {
|
||||||
this.saveNewRow(pickingObjectDTO, initialNumCnf, initialQtaCnf, initialQtaTot, null, barcode);
|
this.saveNewRow(pickingObjectDTO, initialNumCnf, initialQtaCnf, initialQtaTot, null, barcode);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|||||||
@ -47,7 +47,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
|||||||
private static final int PICK_UL_REQUEST = 1; // The request code
|
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) {
|
public static Intent createIntent(Context context, List<MtbColt> items, RunnableArgsWithReturn<MtbColt, Boolean> canRecoverUlAction, String reportName) {
|
||||||
return createIntent(context, items, canRecoverUlAction, true, reportName);
|
return createIntent(context, items, canRecoverUlAction, true, reportName);
|
||||||
}
|
}
|
||||||
@ -126,7 +125,7 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onSupportNavigateUp() {
|
public boolean onSupportNavigateUp() {
|
||||||
onBackPressed();
|
getOnBackPressedDispatcher().onBackPressed();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,7 +135,6 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
@ -144,10 +142,21 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
|||||||
if (requestCode == PICK_UL_REQUEST) {
|
if (requestCode == PICK_UL_REQUEST) {
|
||||||
// Make sure the request was successful
|
// Make sure the request was successful
|
||||||
if (resultCode == RESULT_OK) {
|
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.setResult(RESULT_OK, data);
|
||||||
this.finish();
|
this.finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.annimon.stream.Stream;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.exception.NoOrdersScheduledException;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
@ -29,13 +30,17 @@ public class ProdFabbisognoLineeProdViewModel {
|
|||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(startDate, endDate, codMdep, jtbFasi -> {
|
this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(startDate, endDate, codMdep, jtbFasi -> {
|
||||||
if (jtbFasi != null) Stream.of(jtbFasi)
|
if (jtbFasi != null){
|
||||||
|
Stream.of(jtbFasi)
|
||||||
.forEach(x -> x
|
.forEach(x -> x
|
||||||
.setDataInizio(startDate)
|
.setDataInizio(startDate)
|
||||||
.setDataFine(endDate));
|
.setDataFine(endDate));
|
||||||
|
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
onComplete.run(jtbFasi);
|
onComplete.run(jtbFasi);
|
||||||
|
}else{
|
||||||
|
this.mListener.onError(new NoOrdersScheduledException());
|
||||||
|
}
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -207,12 +207,12 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void confirmCheckForUnlistedProduct(String barcode) {
|
public void confirmCheckForUnlistedProduct(String barcode, Runnable onComplete) {
|
||||||
DialogSimpleMessageView.makeInfoDialog(getText(R.string.info).toString(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.info).toString(),
|
||||||
Html.fromHtml(getResources().getString(R.string.confirm_order_unlisted_item)),
|
Html.fromHtml(getResources().getString(R.string.confirm_order_unlisted_item)),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
this.mViewModel.loadArticolo(barcode);
|
this.mViewModel.loadArticolo(barcode, onComplete);
|
||||||
}, this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExceedingQtyOrder");
|
}, this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExceedingQtyOrder");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,8 +255,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
DialogSimpleMessageView.makeInfoDialog(getText(R.string.warning).toString(),
|
DialogSimpleMessageView.makeInfoDialog(getText(R.string.warning).toString(),
|
||||||
Html.fromHtml(getResources().getString(R.string.confirm_export_invalid_product)),
|
Html.fromHtml(getResources().getString(R.string.confirm_export_invalid_product)),
|
||||||
null,
|
null,
|
||||||
onConfirm
|
onConfirm,
|
||||||
,
|
|
||||||
this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExportInvalidProducts");
|
this::onLoadingEnded).show(getSupportFragmentManager(), "confirmExportInvalidProducts");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@ -25,7 +26,6 @@ import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloOrdinab
|
|||||||
import it.integry.integrywmsnative.core.exception.ArtNotFoundInGridException;
|
import it.integry.integrywmsnative.core.exception.ArtNotFoundInGridException;
|
||||||
import it.integry.integrywmsnative.core.exception.EmptyOrderException;
|
import it.integry.integrywmsnative.core.exception.EmptyOrderException;
|
||||||
import it.integry.integrywmsnative.core.exception.ExpiredProductListException;
|
import it.integry.integrywmsnative.core.exception.ExpiredProductListException;
|
||||||
import it.integry.integrywmsnative.core.exception.MultipleResultFromBarcodeException;
|
|
||||||
import it.integry.integrywmsnative.core.exception.NoArtsInGridException;
|
import it.integry.integrywmsnative.core.exception.NoArtsInGridException;
|
||||||
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
@ -157,38 +157,49 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processBarcode(String barcode) {
|
public void processBarcode(String barcode) {
|
||||||
try {
|
Runnable onComplete = BarcodeManager::enable;
|
||||||
this.sendOnLoadingStarted();
|
BarcodeManager.disable();
|
||||||
|
|
||||||
List<ArticoloOrdinabileDTO> listArticoli = matchArticoliForBarcode(barcode);
|
try {
|
||||||
if (listArticoli == null || listArticoli.isEmpty()) {
|
List<ArticoloOrdinabileDTO> listArticoli = findArticoliByBarcode(barcode);
|
||||||
|
|
||||||
|
if (listArticoli == null || listArticoli.isEmpty())
|
||||||
|
onNoArtsFoundByBarcode(barcode, onComplete);
|
||||||
|
else
|
||||||
|
addArtFromGriglia(listArticoli, onComplete);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.sendError(e);
|
||||||
|
onComplete.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onNoArtsFoundByBarcode(String barcode, Runnable onComplete) throws NoResultFromBarcodeException {
|
||||||
if (SettingsManager.iDB().isFlagConsentiFuoriPianoLogistico() && UtilityString.isNullOrEmpty(mCurrentOrdine.getCodAlis())) {
|
if (SettingsManager.iDB().isFlagConsentiFuoriPianoLogistico() && UtilityString.isNullOrEmpty(mCurrentOrdine.getCodAlis())) {
|
||||||
this.mListener.confirmCheckForUnlistedProduct(barcode);
|
this.mListener.confirmCheckForUnlistedProduct(barcode, onComplete);
|
||||||
return;
|
|
||||||
} else {
|
} else {
|
||||||
throw new NoResultFromBarcodeException(barcode);
|
throw new NoResultFromBarcodeException(barcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addArtFromGriglia(List<ArticoloOrdinabileDTO> listArticoli, Runnable onComplete) {
|
||||||
if (listArticoli.size() == 1) {
|
if (listArticoli.size() == 1) {
|
||||||
this.addArticoloToOrdine(
|
this.addArticoloToOrdine(
|
||||||
listArticoli.get(0),
|
listArticoli.get(0),
|
||||||
this::sendOnLoadingEnded,
|
onComplete,
|
||||||
this::sendError
|
this::sendError
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
this.mListener.chooseArtFromList(listArticoli, (art) -> {
|
this.mListener.chooseArtFromList(listArticoli, (art) -> {
|
||||||
this.addArticoloToOrdine(
|
this.addArticoloToOrdine(
|
||||||
art,
|
art,
|
||||||
this::sendOnLoadingEnded,
|
onComplete,
|
||||||
this::sendError);
|
this::sendError);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
this.sendError(e);
|
|
||||||
BarcodeManager.enable();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void loadArticoli(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad) {
|
private void loadArticoli(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad) {
|
||||||
try {
|
try {
|
||||||
mArticoliOrdineRepository.findArticoliByOrdine(ordine, onLoad, this::sendError);
|
mArticoliOrdineRepository.findArticoliByOrdine(ordine, onLoad, this::sendError);
|
||||||
@ -256,10 +267,11 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
return articolo;
|
return articolo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ArticoloOrdinabileDTO> matchArticoliForBarcode(String barcode) throws NoArtsInGridException, MultipleResultFromBarcodeException, NoResultFromBarcodeException {
|
public List<ArticoloOrdinabileDTO> findArticoliByBarcode(String barcode) throws NoArtsInGridException {
|
||||||
if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) {
|
if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) {
|
||||||
throw new NoArtsInGridException();
|
throw new NoArtsInGridException();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ArticoloOrdinabileDTO> articoli = Stream.of(mArticoliGriglia).filter(articolo ->
|
List<ArticoloOrdinabileDTO> articoli = Stream.of(mArticoliGriglia).filter(articolo ->
|
||||||
articolo.getCodMart().equalsIgnoreCase(barcode) ||
|
articolo.getCodMart().equalsIgnoreCase(barcode) ||
|
||||||
articolo.getBarcode().contains(barcode) ||
|
articolo.getBarcode().contains(barcode) ||
|
||||||
@ -366,13 +378,17 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
if (this.mListener != null) mListener.onError(ex);
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadArticolo(String barcode) {
|
public void loadArticolo(String barcode, Runnable onComplete) {
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
pvOrdiniAcquistoRESTConsumer.retrieveArticolo(null, codMdep, barcode, (grigliaDTO) -> {
|
pvOrdiniAcquistoRESTConsumer.retrieveArticolo(null, codMdep, barcode, (grigliaDTO) -> {
|
||||||
|
|
||||||
RunnableArgs<ArticoloOrdinabileDTO> addArtToOrder = (articolo) -> {
|
RunnableArgs<ArticoloOrdinabileDTO> addArtToOrder = (articolo) -> {
|
||||||
ArticoloOrdinabileDTO existingArt = Stream.of(mArticoliGriglia).filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart())).findFirstOrElse(null);
|
|
||||||
|
ArticoloOrdinabileDTO existingArt = Stream.of(mArticoliGriglia)
|
||||||
|
.filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart()))
|
||||||
|
.findFirstOrElse(null);
|
||||||
|
|
||||||
if (existingArt != null) {
|
if (existingArt != null) {
|
||||||
List<String> barcodes = existingArt.getBarcode();
|
List<String> barcodes = existingArt.getBarcode();
|
||||||
barcodes.addAll(articolo.getBarcode());
|
barcodes.addAll(articolo.getBarcode());
|
||||||
@ -381,7 +397,8 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
} else {
|
} else {
|
||||||
mArticoliGriglia.add(articolo);
|
mArticoliGriglia.add(articolo);
|
||||||
}
|
}
|
||||||
this.processBarcode(barcode);
|
|
||||||
|
this.addArtFromGriglia(Collections.singletonList(existingArt), onComplete);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (grigliaDTO == null || grigliaDTO.getArticoli().isEmpty()) {
|
if (grigliaDTO == null || grigliaDTO.getArticoli().isEmpty()) {
|
||||||
@ -400,7 +417,6 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
|
|
||||||
addArtToOrder.run(newArt);
|
addArtToOrder.run(newArt);
|
||||||
|
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,7 +436,7 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
void confirmCheckForUnlistedProduct(String barcode);
|
void confirmCheckForUnlistedProduct(String barcode, Runnable onComplete);
|
||||||
|
|
||||||
void confirmExportInvalidProducts(Runnable onConfirm);
|
void confirmExportInvalidProducts(Runnable onConfirm);
|
||||||
|
|
||||||
|
|||||||
10
app/src/main/res/drawable/ic_delete_material3.xml
Normal file
10
app/src/main/res/drawable/ic_delete_material3.xml
Normal 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>
|
||||||
10
app/src/main/res/drawable/ic_print_material3.xml
Normal file
10
app/src/main/res/drawable/ic_print_material3.xml
Normal 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>
|
||||||
10
app/src/main/res/drawable/ic_recover_material3.xml
Normal file
10
app/src/main/res/drawable/ic_recover_material3.xml
Normal 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>
|
||||||
@ -267,81 +267,15 @@
|
|||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
<com.github.clans.fab.FloatingActionMenu
|
style="?attr/floatingActionButtonPrimaryStyle"
|
||||||
android:id="@+id/close_activity_fab"
|
android:id="@+id/main_fab"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:layout_anchor="@+id/linearLayout2"
|
|
||||||
app:layout_anchorGravity="center"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:menu_icon="@drawable/ic_menu_24dp"
|
|
||||||
fab:menu_animationDelayPerItem="50"
|
|
||||||
fab:menu_backgroundColor="@color/white_bg_alpha"
|
|
||||||
fab:menu_buttonSpacing="0dp"
|
|
||||||
fab:menu_colorNormal="@color/success_color"
|
|
||||||
fab:menu_colorPressed="@color/green_400"
|
|
||||||
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/export_document"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@drawable/ic_upload"
|
android:layout_gravity="bottom|end"
|
||||||
android:visibility="@{view.isDocumentExportable.get() ? View.VISIBLE : View.GONE}"
|
android:layout_margin="16dp"
|
||||||
app:fab_colorNormal="@color/white"
|
app:singleClick="@{() -> view.showFabMenu()}"
|
||||||
app:fab_colorPressed="@color/white_pressed"
|
app:srcCompat="@drawable/ic_menu_24dp" />
|
||||||
app:fab_colorRipple="#66FFFFFF"
|
|
||||||
app:onClick="@{() -> viewModel.exportDocument()}"
|
|
||||||
fab:fab_label="@string/export_document" />
|
|
||||||
|
|
||||||
<com.github.clans.fab.FloatingActionButton
|
|
||||||
android:id="@+id/delete_document"
|
|
||||||
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:onClick="@{() -> viewModel.deleteDocument()}"
|
|
||||||
fab:fab_label="@string/delete_document" />
|
|
||||||
|
|
||||||
<com.github.clans.fab.FloatingActionButton
|
|
||||||
android:id="@+id/save_document"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/ic_check_black_24dp"
|
|
||||||
android:visibility="visible"
|
|
||||||
app:fab_colorNormal="@color/white"
|
|
||||||
app:fab_colorPressed="@color/white_pressed"
|
|
||||||
app:fab_colorRipple="#66FFFFFF"
|
|
||||||
app:onClick="@{() -> viewModel.holdDocument()}"
|
|
||||||
fab:fab_label="@string/save_document" />
|
|
||||||
|
|
||||||
|
|
||||||
</com.github.clans.fab.FloatingActionMenu>
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
</layout>
|
</layout>
|
||||||
@ -2,12 +2,15 @@
|
|||||||
|
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
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">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<import type="android.view.View" />
|
<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
|
<variable
|
||||||
name="viewModel"
|
name="viewModel"
|
||||||
@ -170,6 +173,29 @@
|
|||||||
tools:text="(Bari)" />
|
tools:text="(Bari)" />
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</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>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
@ -192,67 +218,88 @@
|
|||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</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
|
<!-- <com.github.clans.fab.FloatingActionButton-->
|
||||||
android:id="@+id/contenuto_bancale_fab"
|
<!-- android:id="@+id/accettazione_ordine_inevaso_fab_item1"-->
|
||||||
android:layout_width="match_parent"
|
<!-- android:layout_width="wrap_content"-->
|
||||||
android:layout_height="match_parent"
|
<!-- android:layout_height="wrap_content"-->
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
<!-- android:scaleX="-1"-->
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
<!-- android:src="@drawable/ic_recover_ul_24dp"-->
|
||||||
app:visibility="@{view.fabVisible}"
|
<!-- app:fab_colorNormal="@color/white"-->
|
||||||
fab:menu_animationDelayPerItem="50"
|
<!-- app:fab_colorPressed="@color/white_pressed"-->
|
||||||
fab:menu_backgroundColor="@color/white_bg_alpha"
|
<!-- app:fab_colorRipple="#66FFFFFF"-->
|
||||||
fab:menu_buttonSpacing="0dp"
|
<!-- app:onClick="@{() -> view.recoverUL()}"-->
|
||||||
fab:menu_colorNormal="@color/colorSecondary"
|
<!-- app:visibility="@{view.recoverFabMenuVisible}"-->
|
||||||
fab:menu_colorPressed="@color/colorSecondaryDark"
|
<!-- fab:fab_label="@string/action_recover_ul" />-->
|
||||||
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
|
<!-- <com.github.clans.fab.FloatingActionButton-->
|
||||||
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
|
<!-- 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_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:scaleX="-1"
|
android:layout_gravity="bottom|end"
|
||||||
android:src="@drawable/ic_recover_ul_24dp"
|
android:layout_margin="16dp"
|
||||||
app:fab_colorNormal="@color/white"
|
android:onClick="@{() -> view.showFabMenu()}"
|
||||||
app:fab_colorPressed="@color/white_pressed"
|
app:srcCompat="@drawable/ic_menu_24dp"
|
||||||
app:fab_colorRipple="#66FFFFFF"
|
style="?attr/floatingActionButtonPrimaryStyle" />
|
||||||
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>
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
</layout>
|
</layout>
|
||||||
16
app/src/main/res/menu/contenuto_bancale_fab_menu.xml
Normal file
16
app/src/main/res/menu/contenuto_bancale_fab_menu.xml
Normal 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>
|
||||||
17
app/src/main/res/menu/doc_interni_edit_fab_menu.xml
Normal file
17
app/src/main/res/menu/doc_interni_edit_fab_menu.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/export_document"
|
||||||
|
android:icon="@drawable/ic_upload"
|
||||||
|
android:title="@string/export_document"
|
||||||
|
android:visible="false"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/delete_document"
|
||||||
|
android:icon="@drawable/ic_delete_material3"
|
||||||
|
android:title="@string/delete_document" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/hold_document"
|
||||||
|
android:icon="@drawable/ic_check_black_24dp"
|
||||||
|
android:title="@string/save_document" />
|
||||||
|
|
||||||
|
</menu>
|
||||||
@ -64,6 +64,7 @@
|
|||||||
<string name="action_show_created_ul">Mostra UL già create</string>
|
<string name="action_show_created_ul">Mostra UL già create</string>
|
||||||
<string name="action_recover_ul">Recupera UL</string>
|
<string name="action_recover_ul">Recupera UL</string>
|
||||||
<string name="action_print_ul">Stampa 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="action_print">Stampa</string>
|
||||||
<string name="confirm">Conferma</string>
|
<string name="confirm">Conferma</string>
|
||||||
<string name="action_save">Salva</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_title">Check box</string>
|
||||||
<string name="check_box_preference_summary">This is a regular preference</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="alert_delete_mtb_colr">Stai per eliminare una riga. Confermi?</string>
|
||||||
|
|
||||||
<string name="activity_lista_bancali_title">Lista UL</string>
|
<string name="activity_lista_bancali_title">Lista UL</string>
|
||||||
@ -215,6 +217,7 @@
|
|||||||
<string name="no_item_to_pick_text">Nessun articolo da prelevare</string>
|
<string name="no_item_to_pick_text">Nessun articolo da prelevare</string>
|
||||||
<string name="no_docs_to_show_text">Nessun documento da mostrare</string>
|
<string name="no_docs_to_show_text">Nessun documento da mostrare</string>
|
||||||
<string name="no_orders_to_pick_text">Nessun ordine da evadere</string>
|
<string name="no_orders_to_pick_text">Nessun ordine da evadere</string>
|
||||||
|
<string name="no_orders_scheduled">Nessun ordine programmato sulla linea per il periodo selezionato</string>
|
||||||
<string name="no_available_order_on_line">Nessun ordine compatibile</string>
|
<string name="no_available_order_on_line">Nessun ordine compatibile</string>
|
||||||
<string name="no_item_text">Nessun articolo</string>
|
<string name="no_item_text">Nessun articolo</string>
|
||||||
<string name="no_item_in_recupera_materiale">Nessuna UL versata in produzione</string>
|
<string name="no_item_in_recupera_materiale">Nessuna UL versata in produzione</string>
|
||||||
|
|||||||
@ -108,8 +108,7 @@
|
|||||||
|
|
||||||
<!-- SETTINGS -->
|
<!-- SETTINGS -->
|
||||||
<string name="action_recover_ul">Recover LU</string>
|
<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_ul">Print LU</string>
|
||||||
<string name="action_print">Print</string>
|
<string name="action_print">Print</string>
|
||||||
<string name="confirm">Confirm</string>
|
<string name="confirm">Confirm</string>
|
||||||
@ -201,6 +200,7 @@
|
|||||||
<string name="check_box_preference_title">Check box</string>
|
<string name="check_box_preference_title">Check box</string>
|
||||||
<string name="check_box_preference_summary">This is a regular preference</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="alert_delete_mtb_colr">Are you sure to delete? Please confirm</string>
|
||||||
|
|
||||||
<string name="warehouse">Warehouse</string>
|
<string name="warehouse">Warehouse</string>
|
||||||
@ -219,6 +219,7 @@
|
|||||||
<string name="no_item_to_pick_text">No items to pick</string>
|
<string name="no_item_to_pick_text">No items to pick</string>
|
||||||
<string name="no_docs_to_show_text">No documents to show</string>
|
<string name="no_docs_to_show_text">No documents to show</string>
|
||||||
<string name="no_orders_to_pick_text">No orders to dispatch</string>
|
<string name="no_orders_to_pick_text">No orders to dispatch</string>
|
||||||
|
<string name="no_orders_scheduled">No orders scheduled on the line for the selected period: </string>
|
||||||
<string name="no_inventory_available_text">No inventory available</string>
|
<string name="no_inventory_available_text">No inventory available</string>
|
||||||
|
|
||||||
<string name="no_available_order_on_line">no compatible orders found</string>
|
<string name="no_available_order_on_line">no compatible orders found</string>
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdk 34
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdk 34
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
consumerProguardFiles 'consumer-rules.pro'
|
consumerProguardFiles 'consumer-rules.pro'
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.9.0'
|
kotlin_version = '1.9.0'
|
||||||
agp_version = '8.2.0'
|
agp_version = '8.2.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdk 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdk 34
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdk 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdk 34
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
consumerProguardFiles 'consumer-rules.pro'
|
consumerProguardFiles 'consumer-rules.pro'
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdk 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdk 34
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdk 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdk 34
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user