Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Giuseppe Scorrano 2025-01-16 16:47:46 +01:00
commit db875491d0
6 changed files with 76 additions and 27 deletions

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.mapper;
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO; import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
import it.integry.integrywmsnative.core.model.MtbInvenr; import it.integry.integrywmsnative.core.model.MtbInvenr;
import it.integry.integrywmsnative.core.settings.SettingsManager;
public class InventarioRowMapper extends BaseMapper<MtbInvenr, InventarioRowRoomDTO> { public class InventarioRowMapper extends BaseMapper<MtbInvenr, InventarioRowRoomDTO> {
@ -32,6 +33,7 @@ public class InventarioRowMapper extends BaseMapper<MtbInvenr, InventarioRowRoom
data.setDataOraInv(inputData.getDataOraInv()); data.setDataOraInv(inputData.getDataOraInv());
data.setScanCodBarre(inputData.getScanCodBarre()); data.setScanCodBarre(inputData.getScanCodBarre());
data.setZona(inputData.getZona()); data.setZona(inputData.getZona());
data.setIdDisp(SettingsManager.i().getUserSession().getDeviceId());
return data; return data;
} }
} }

View File

@ -85,6 +85,7 @@ public class DBSettingsModel {
private String docInterniRequestNumDoc; private String docInterniRequestNumDoc;
private boolean flagEnableArtCreation; private boolean flagEnableArtCreation;
private List<String> allowedCodMgrpForArtCreation; private List<String> allowedCodMgrpForArtCreation;
private boolean flagAccettazioneGroupListForn = false;
public boolean isFlagSpedizioneEnableFakeGiacenza() { public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza; return flagSpedizioneEnableFakeGiacenza;
@ -733,4 +734,12 @@ public class DBSettingsModel {
this.flagPositionChangeRequest = flagPositionChangeRequest; this.flagPositionChangeRequest = flagPositionChangeRequest;
return this; return this;
} }
public boolean isFlagAccettazioneGroupListForn() {
return flagAccettazioneGroupListForn;
}
public void setFlagAccettazioneGroupListForn(boolean flagAccettazioneGroupListForn) {
this.flagAccettazioneGroupListForn = flagAccettazioneGroupListForn;
}
} }

View File

@ -243,6 +243,11 @@ public class SettingsManager {
.setSection("ACCETTAZIONE") .setSection("ACCETTAZIONE")
.setKeySection("FLAG_AUTO_OPEN_NEW_UL") .setKeySection("FLAG_AUTO_OPEN_NEW_UL")
.setSetter(dbSettingsModelIstance::setFlagCanAutoOpenNewULAccettazione)); .setSetter(dbSettingsModelIstance::setFlagCanAutoOpenNewULAccettazione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE")
.setKeySection("FLAG_GROUP_LIST_FORN")
.setSetter(dbSettingsModelIstance::setFlagAccettazioneGroupListForn));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING") .setGestName("PICKING")
.setSection("ACCETTAZIONE") .setSection("ACCETTAZIONE")

View File

@ -25,6 +25,7 @@ import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment; import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding; import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO; import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
@ -166,7 +167,7 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
this.mBolleInevaseMutableData.clear(); this.mBolleInevaseMutableData.clear();
if(tmpList != null) if (tmpList != null)
this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList)); this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList));
} }
@ -182,33 +183,44 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
} }
private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) { private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) {
if(dataList == null) boolean group = !SettingsManager.iDB().isFlagAccettazioneGroupListForn();
return null; if (dataList == null) return null;
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino) Stream<TestataBollaAccettazioneDTO> stream = Stream.of(dataList);
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
.thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
return Stream.of(dataList) if (group) {
.sorted(comparer) final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
.map(x -> { .thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel(); .thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
stream = stream.sorted(comparer);
} else {
stream = stream.sortBy(x -> x.getRagSoc() + UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH));
}
listModel.setOriginalModel(x); return stream.map(x -> {
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc()); MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); listModel.setOriginalModel(x);
listModel.setSubDescription(x.getDescrizioneListino()); if (group)
listModel.setRightDescription(x.getCodAnag()); listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
listModel.setRightSubDescription(x.getCodJcom()); else
listModel.setGroupTitle(x.getRagSoc());
return listModel; listModel.setDescription(String.format(getString(R.string.ord_acq_testata),
}) x.getNumDoc(),
.toList(); UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
if (group)
listModel.setSubDescription(x.getDescrizioneListino());
else
listModel.setSubDescription(x.getListino() + " - " + x.getDescrizioneListino());
listModel.setRightDescription(x.getCodAnag());
listModel.setRightSubDescription(x.getCodJcom());
return listModel;
}).toList();
} }

View File

@ -544,10 +544,6 @@ public class AccettazioneBollaPickingViewModel {
initialQtaCnf = qtaCnfDaPrelevare; initialQtaCnf = qtaCnfDaPrelevare;
initialQtaTot = qtaColDaPrelevare; initialQtaTot = qtaColDaPrelevare;
} else if (totalQtaDoc != null) {
initialNumCnf = totalNumCnfDoc;
initialQtaCnf = qtaCnfDoc;
initialQtaTot = totalQtaDoc;
} else { } else {
initialNumCnf = BigDecimal.ONE; initialNumCnf = BigDecimal.ONE;
initialQtaCnf = mtbAart.getQtaCnf(); initialQtaCnf = mtbAart.getQtaCnf();

View File

@ -2,10 +2,12 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.os.Build;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
@ -15,7 +17,11 @@ import androidx.recyclerview.widget.RecyclerView;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback; import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
@ -62,10 +68,29 @@ public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAd
this.mShowSecondaryUntMis = showSecondaryUntMis; this.mShowSecondaryUntMis = showSecondaryUntMis;
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() { mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
@Override @Override
public void onChanged(ObservableList sender) { public void onChanged(ObservableList sender) {
List<AccettazioneBollaPickingListModel> listaOrdinata = new ArrayList<>();
if (!sender.isEmpty()) {
listaOrdinata = new ArrayList<>(sender);
Collections.sort(listaOrdinata, (a, b) -> {
boolean condA = a.getQtaEvasa().subtract(a.getQtaTot()).floatValue() == 0;
boolean condB = b.getQtaEvasa().subtract(b.getQtaTot()).floatValue() == 0;
if (condA && !condB) {
return -1;
} else if (!condA && condB) {
return 1;
}
return 0;
});
}
mDataset.clear(); mDataset.clear();
mDataset.addAll(sender); mDataset.addAll(listaOrdinata);
notifyDataSetChanged(); notifyDataSetChanged();
notifyDataChanged(); notifyDataChanged();
} }