Implementato flag allow empty destinatario
This commit is contained in:
parent
da70d7c064
commit
acb7727f3c
@ -22,7 +22,7 @@ public class DBSettingsModel {
|
||||
private String defaultCausaleRettificaGiacenze;
|
||||
private DistribuzioneColloDTO.CriterioDistribuzione defaultCriterioDistribuzione;
|
||||
private boolean flagAskClienteInPickingLibero;
|
||||
private boolean flagAllowEmptyClienteInPickingLibero;
|
||||
private boolean flagPickLiberoAllowEmptyCliente;
|
||||
|
||||
private boolean flagCanAddExtraItemSpedizione;
|
||||
private boolean flagCanAutoOpenNewULAccettazione;
|
||||
@ -42,6 +42,7 @@ public class DBSettingsModel {
|
||||
private String reportNameSpedizionChiudiOrdine;
|
||||
private int onNumCnfInputChanged = 1;
|
||||
private boolean flagAccettazioneUseQtaOrd = false;
|
||||
private boolean flagPickLiberoAllowEmptyDest = false;
|
||||
|
||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||
return flagSpedizioneEnableFakeGiacenza;
|
||||
@ -141,12 +142,12 @@ public class DBSettingsModel {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagAllowEmptyClienteInPickingLibero() {
|
||||
return flagAllowEmptyClienteInPickingLibero;
|
||||
public boolean isFlagPickLiberoAllowEmptyCliente() {
|
||||
return flagPickLiberoAllowEmptyCliente;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagAllowEmptyClienteInPickingLibero(boolean flagAllowEmptyClienteInPickingLibero) {
|
||||
this.flagAllowEmptyClienteInPickingLibero = flagAllowEmptyClienteInPickingLibero;
|
||||
public DBSettingsModel setFlagPickLiberoAllowEmptyCliente(boolean flagPickLiberoAllowEmptyCliente) {
|
||||
this.flagPickLiberoAllowEmptyCliente = flagPickLiberoAllowEmptyCliente;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -312,4 +313,13 @@ public class DBSettingsModel {
|
||||
this.flagAccettazioneUseQtaOrd = flagAccettazioneUseQtaOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagPickLiberoAllowEmptyDest() {
|
||||
return flagPickLiberoAllowEmptyDest;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagPickLiberoAllowEmptyDest(boolean flagPickLiberoAllowEmptyDest) {
|
||||
this.flagPickLiberoAllowEmptyDest = flagPickLiberoAllowEmptyDest;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -282,6 +282,10 @@ public class SettingsManager {
|
||||
.setGestName("PICKING")
|
||||
.setSection("ACCETTAZIONE")
|
||||
.setKeySection("FLAG_USE_QTA_ORD"));
|
||||
stbGestSetupList.add(new StbGestSetup()
|
||||
.setGestName("PICKING")
|
||||
.setSection("PICKING_LIBERO")
|
||||
.setKeySection("FLAG_ALLOW_EMPTY_DEST"));
|
||||
|
||||
|
||||
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
||||
@ -291,7 +295,7 @@ public class SettingsManager {
|
||||
dbSettingsModelIstance.setDefaultCodAnag(getValueFromList(list, "SETUP", "COD_ANAG_DEFAULT", String.class));
|
||||
dbSettingsModelIstance.setDefaultCriterioDistribuzione(getValueFromList(list, "SETUP", "DEFAULT_CRITERIO_DISTRIBUZIONE", String.class));
|
||||
dbSettingsModelIstance.setFlagAskClienteInPickingLibero(getValueFromList(list, "PICKING_LIBERO", "FLAG_ASK_CLIENTE", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagAllowEmptyClienteInPickingLibero(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_CLIENTE", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagPickLiberoAllowEmptyCliente(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_CLIENTE", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_ITEMS", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "ACCETTAZIONE", "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
|
||||
@ -309,6 +313,7 @@ public class SettingsManager {
|
||||
dbSettingsModelIstance.setFlagOrdinaNuoviArticoliInGriglia(getValueFromList(list, "ORDINI_A", "ORDINA_NUOVI_ARTICOLI", Boolean.class));
|
||||
dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class));
|
||||
dbSettingsModelIstance.setFlagAccettazioneUseQtaOrd(getValueFromList(list, "ACCETTAZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
|
||||
dbSettingsModelIstance.setFlagPickLiberoAllowEmptyDest(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_DEST", Boolean.class));
|
||||
|
||||
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
|
||||
if (notePerdita != null) {
|
||||
|
||||
@ -94,7 +94,7 @@ public class DialogAskClienteDestinatarioDTO {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("%s (%s)", getDestinatario(), getCodVdes());
|
||||
return getDestinatario() + (getCodVdes() != null ? (" (" + getCodVdes() + ")") : "");
|
||||
}
|
||||
|
||||
public VtbDest toVtbDestModel() {
|
||||
|
||||
@ -145,7 +145,12 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
|
||||
|
||||
|
||||
private void initializeAdapter(ArrayList<DialogAskClienteClienteDTO> items) {
|
||||
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, items);
|
||||
|
||||
var orderedList = Stream.of(items)
|
||||
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
|
||||
.toList();
|
||||
|
||||
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList);
|
||||
|
||||
AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente;
|
||||
editTextDropdownCliente.setThreshold(0);
|
||||
@ -177,7 +182,7 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
|
||||
|
||||
|
||||
private boolean validateCliente() {
|
||||
if (SettingsManager.iDB().isFlagAllowEmptyClienteInPickingLibero() && mBinding.inputCliente.getEditText().getText().toString().trim().length() == 0) {
|
||||
if (SettingsManager.iDB().isFlagPickLiberoAllowEmptyCliente() && mBinding.inputCliente.getEditText().getText().toString().trim().length() == 0) {
|
||||
return true;
|
||||
} else return getCurrentCliente() != null;
|
||||
}
|
||||
|
||||
@ -20,13 +20,13 @@ import it.integry.integrywmsnative.view.dialogs.ask_cliente.dto.DialogAskCliente
|
||||
|
||||
public class DialogAskCliente_Page1_Cliente_ArrayAdapter extends ArrayAdapter<DialogAskClienteClienteDTO> implements Filterable {
|
||||
|
||||
private Context mContext;
|
||||
private List<DialogAskClienteClienteDTO> mDataset;
|
||||
private final Context mContext;
|
||||
private final List<DialogAskClienteClienteDTO> mDataset;
|
||||
private List<DialogAskClienteClienteDTO> mDatasetAllItems;
|
||||
|
||||
private ListFilter listFilter = new ListFilter();
|
||||
private final ListFilter listFilter = new ListFilter();
|
||||
|
||||
public DialogAskCliente_Page1_Cliente_ArrayAdapter(@NonNull Context context, @NonNull ArrayList<DialogAskClienteClienteDTO> list) {
|
||||
public DialogAskCliente_Page1_Cliente_ArrayAdapter(@NonNull Context context, @NonNull List<DialogAskClienteClienteDTO> list) {
|
||||
super(context, 0 , list);
|
||||
mContext = context;
|
||||
mDataset = list;
|
||||
@ -37,13 +37,15 @@ public class DialogAskCliente_Page1_Cliente_ArrayAdapter extends ArrayAdapter<Di
|
||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||
View listItem = convertView;
|
||||
if(listItem == null) {
|
||||
listItem = LayoutInflater.from(mContext).inflate(R.layout.dropdown_simple_item, parent, false);
|
||||
listItem = LayoutInflater.from(mContext).inflate(R.layout.dropdown_simple_item_w_subtitle, parent, false);
|
||||
}
|
||||
|
||||
if(position < mDataset.size()) {
|
||||
AppCompatTextView textView = listItem.findViewById(R.id.text);
|
||||
AppCompatTextView textView = listItem.findViewById(R.id.title);
|
||||
AppCompatTextView subTitle = listItem.findViewById(R.id.subtitle);
|
||||
|
||||
textView.setText(mDataset.get(position).getRagSoc());
|
||||
subTitle.setText(mDataset.get(position).getCodAnag());
|
||||
|
||||
return listItem;
|
||||
}
|
||||
@ -59,7 +61,7 @@ public class DialogAskCliente_Page1_Cliente_ArrayAdapter extends ArrayAdapter<Di
|
||||
}
|
||||
|
||||
public class ListFilter extends Filter {
|
||||
private Object lock = new Object();
|
||||
private final Object lock = new Object();
|
||||
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence prefix) {
|
||||
@ -81,7 +83,7 @@ public class DialogAskCliente_Page1_Cliente_ArrayAdapter extends ArrayAdapter<Di
|
||||
ArrayList<DialogAskClienteClienteDTO> matchValues = new ArrayList<>();
|
||||
|
||||
for (DialogAskClienteClienteDTO dataItem : mDatasetAllItems) {
|
||||
if (dataItem.getRagSoc().toLowerCase().startsWith(searchStrLowerCase)) {
|
||||
if (dataItem.getRagSoc().toLowerCase().contains(searchStrLowerCase)) {
|
||||
matchValues.add(dataItem);
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ public class DialogAskCliente_Page1_Commessa_ArrayAdapter extends ArrayAdapter<S
|
||||
private List<String> mDataset = new ArrayList<>();
|
||||
private List<String> mDatasetAllItems;
|
||||
|
||||
private DialogAskCliente_Page1_Commessa_ArrayAdapter.ListFilter listFilter = new DialogAskCliente_Page1_Commessa_ArrayAdapter.ListFilter();
|
||||
private final DialogAskCliente_Page1_Commessa_ArrayAdapter.ListFilter listFilter = new DialogAskCliente_Page1_Commessa_ArrayAdapter.ListFilter();
|
||||
|
||||
public DialogAskCliente_Page1_Commessa_ArrayAdapter(@NonNull Context context) {
|
||||
super(context, 0);
|
||||
@ -56,7 +56,7 @@ public class DialogAskCliente_Page1_Commessa_ArrayAdapter extends ArrayAdapter<S
|
||||
}
|
||||
|
||||
public class ListFilter extends Filter {
|
||||
private Object lock = new Object();
|
||||
private final Object lock = new Object();
|
||||
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence prefix) {
|
||||
@ -78,7 +78,7 @@ public class DialogAskCliente_Page1_Commessa_ArrayAdapter extends ArrayAdapter<S
|
||||
ArrayList<String> matchValues = new ArrayList<>();
|
||||
|
||||
for (String dataItem : mDatasetAllItems) {
|
||||
if (dataItem.toLowerCase().startsWith(searchStrLowerCase)) {
|
||||
if (dataItem.toLowerCase().contains(searchStrLowerCase)) {
|
||||
matchValues.add(dataItem);
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskClientePage2Binding;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.dto.DialogAskClienteDestinatarioDTO;
|
||||
|
||||
@ -57,6 +58,12 @@ public class DialogAskCliente_Page2ViewModel implements IDialogAskClienteViewMod
|
||||
return;
|
||||
}
|
||||
|
||||
if(SettingsManager.iDB().isFlagPickLiberoAllowEmptyDest()) {
|
||||
filteredDestinatari.add(new DialogAskClienteDestinatarioDTO()
|
||||
.setCodAnag(null)
|
||||
.setDestinatario("Nessuno"));
|
||||
}
|
||||
|
||||
initializeAdapter(filteredDestinatari);
|
||||
|
||||
|
||||
@ -95,7 +102,11 @@ public class DialogAskCliente_Page2ViewModel implements IDialogAskClienteViewMod
|
||||
|
||||
|
||||
private void initializeAdapter(List<DialogAskClienteDestinatarioDTO> items) {
|
||||
DialogAskCliente_Page2_ArrayAdapter adapter = new DialogAskCliente_Page2_ArrayAdapter(mContext, items);
|
||||
var orderedList = Stream.of(items)
|
||||
.sortBy(x -> x.getCodAnag() != null ? x.getCodAnag() : "")
|
||||
.toList();
|
||||
|
||||
DialogAskCliente_Page2_ArrayAdapter adapter = new DialogAskCliente_Page2_ArrayAdapter(mContext, orderedList);
|
||||
|
||||
|
||||
AutoCompleteTextView editTextFilledExposedDropdown = mBinding.dropdownDestinatario;
|
||||
@ -105,7 +116,9 @@ public class DialogAskCliente_Page2ViewModel implements IDialogAskClienteViewMod
|
||||
|
||||
|
||||
private boolean validateDestinatario() {
|
||||
return getCurrentDestinatario() != null;
|
||||
if (SettingsManager.iDB().isFlagPickLiberoAllowEmptyDest() && getCurrentDestinatario() == null) {
|
||||
return true;
|
||||
} else return getCurrentDestinatario() != null;
|
||||
}
|
||||
|
||||
public DialogAskClienteDestinatarioDTO getCurrentDestinatario() {
|
||||
|
||||
@ -11,6 +11,7 @@ import android.widget.Filterable;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -21,14 +22,15 @@ import it.integry.integrywmsnative.view.dialogs.ask_cliente.dto.DialogAskCliente
|
||||
|
||||
public class DialogAskCliente_Page2_ArrayAdapter extends ArrayAdapter<DialogAskClienteDestinatarioDTO> implements Filterable {
|
||||
|
||||
private Context mContext;
|
||||
private List<DialogAskClienteDestinatarioDTO> mDataset;
|
||||
private final Context mContext;
|
||||
private final List<DialogAskClienteDestinatarioDTO> mDataset;
|
||||
private List<DialogAskClienteDestinatarioDTO> mDatasetAllItems;
|
||||
|
||||
private ListFilter listFilter = new ListFilter();
|
||||
private final ListFilter listFilter = new ListFilter();
|
||||
|
||||
public DialogAskCliente_Page2_ArrayAdapter(@NonNull Context context, @NonNull List<DialogAskClienteDestinatarioDTO> list) {
|
||||
super(context, 0 , list);
|
||||
|
||||
mContext = context;
|
||||
mDataset = list;
|
||||
}
|
||||
@ -43,18 +45,21 @@ public class DialogAskCliente_Page2_ArrayAdapter extends ArrayAdapter<DialogAskC
|
||||
|
||||
if(position < mDataset.size()) {
|
||||
|
||||
var item = mDataset.get(position);
|
||||
|
||||
AppCompatTextView destinatario = listItem.findViewById(R.id.destinatario);
|
||||
destinatario.setText(UtilityString.capitalizeWords(mDataset.get(position).toString()));
|
||||
destinatario.setText(UtilityString.capitalizeWords(item.getDestinatario() + (item.getCodVdes() != null ? ("(" + item.getCodVdes() + ")") : "")));
|
||||
if(item.getCodVdes() == null) destinatario.setTextColor(ContextCompat.getColor(mContext, R.color.gray_800));
|
||||
|
||||
AppCompatTextView subtitle = listItem.findViewById(R.id.subtitle);
|
||||
|
||||
StringBuilder subtitleStr = new StringBuilder();
|
||||
if(!UtilityString.isNullOrEmpty(mDataset.get(position).getCitta())) {
|
||||
subtitleStr.append(UtilityString.capitalizeWords(mDataset.get(position).getCitta()) + " - ");
|
||||
subtitleStr.append(UtilityString.capitalizeWords(item.getCitta())).append(" - ");
|
||||
}
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(mDataset.get(position).getIndirizzo())) {
|
||||
subtitleStr.append(UtilityString.capitalizeWords(mDataset.get(position).getIndirizzo()));
|
||||
subtitleStr.append(UtilityString.capitalizeWords(item.getIndirizzo()));
|
||||
}
|
||||
|
||||
subtitle.setText(subtitleStr);
|
||||
@ -95,7 +100,7 @@ public class DialogAskCliente_Page2_ArrayAdapter extends ArrayAdapter<DialogAskC
|
||||
ArrayList<DialogAskClienteDestinatarioDTO> matchValues = new ArrayList<>();
|
||||
|
||||
for (DialogAskClienteDestinatarioDTO dataItem : mDatasetAllItems) {
|
||||
if (dataItem.toString().toLowerCase().startsWith(searchStrLowerCase)) {
|
||||
if (dataItem.toString().toLowerCase().contains(searchStrLowerCase)) {
|
||||
matchValues.add(dataItem);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,38 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/destinatario"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
tools:text="Destinatario"
|
||||
style="@style/AppTheme.NewMaterial.Text"/>
|
||||
tools:text="Destinatario" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/subtitle"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
android:textColor="@color/gray_800"
|
||||
tools:text="Città" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
tools:text="Città"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
33
app/src/main/res/layout/dropdown_simple_item_w_subtitle.xml
Normal file
33
app/src/main/res/layout/dropdown_simple_item_w_subtitle.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
tools:text="Destinatario" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/subtitle"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
android:textColor="@color/gray_800"
|
||||
tools:text="Città" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
Loading…
x
Reference in New Issue
Block a user