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

View File

@ -85,6 +85,7 @@ public class DBSettingsModel {
private String docInterniRequestNumDoc;
private boolean flagEnableArtCreation;
private List<String> allowedCodMgrpForArtCreation;
private boolean flagAccettazioneGroupListForn = false;
public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza;
@ -733,4 +734,12 @@ public class DBSettingsModel {
this.flagPositionChangeRequest = flagPositionChangeRequest;
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")
.setKeySection("FLAG_AUTO_OPEN_NEW_UL")
.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)
.setGestName("PICKING")
.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.interfaces.IScrollableFragment;
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.databinding.FragmentMainAccettazioneBollaBinding;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
@ -166,7 +167,7 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
this.mBolleInevaseMutableData.clear();
if(tmpList != null)
if (tmpList != null)
this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList));
}
@ -182,33 +183,44 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
}
private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) {
if(dataList == null)
return null;
boolean group = !SettingsManager.iDB().isFlagAccettazioneGroupListForn();
if (dataList == null) return null;
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
.thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
Stream<TestataBollaAccettazioneDTO> stream = Stream.of(dataList);
return Stream.of(dataList)
.sorted(comparer)
.map(x -> {
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
if (group) {
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
.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);
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
return stream.map(x -> {
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
listModel.setOriginalModel(x);
listModel.setSubDescription(x.getDescrizioneListino());
listModel.setRightDescription(x.getCodAnag());
listModel.setRightSubDescription(x.getCodJcom());
if (group)
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
else
listModel.setGroupTitle(x.getRagSoc());
return listModel;
})
.toList();
listModel.setDescription(String.format(getString(R.string.ord_acq_testata),
x.getNumDoc(),
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;
initialQtaTot = qtaColDaPrelevare;
} else if (totalQtaDoc != null) {
initialNumCnf = totalNumCnfDoc;
initialQtaCnf = qtaCnfDoc;
initialQtaTot = totalQtaDoc;
} else {
initialNumCnf = BigDecimal.ONE;
initialQtaCnf = mtbAart.getQtaCnf();

View File

@ -2,10 +2,12 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.ObservableArrayList;
@ -15,7 +17,11 @@ import androidx.recyclerview.widget.RecyclerView;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
@ -62,10 +68,29 @@ public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAd
this.mShowSecondaryUntMis = showSecondaryUntMis;
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
@Override
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.addAll(sender);
mDataset.addAll(listaOrdinata);
notifyDataSetChanged();
notifyDataChanged();
}