Merge branch 'feature/RefactoringGestioneColli' into master-beta
All checks were successful
WMS - Android (New)/pipeline/head This commit looks good

This commit is contained in:
2025-07-14 16:15:14 +02:00
4 changed files with 47 additions and 24 deletions

View File

@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 515
def appVersionName = '1.47.02'
def appVersionCode = 516
def appVersionName = '1.47.03'
signingConfigs {
release {

View File

@@ -36,6 +36,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.TrasferimentoPedane
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.ActivityTraferimentoPedaneEditBinding;
import it.integry.integrywmsnative.databinding.ActivityTrasferimentoPedaneRowListItemBinding;
@@ -94,7 +95,7 @@ public class TrasferimentoPedaneEditActivity extends BaseActivity implements Tra
mBindings.setViewModel(mViewModel);
mViewModel.setListener(this);
mViewModel.init(trasferimentoPedaneEntityId);
mViewModel.init(trasferimentoPedaneEntityId, SettingsManager.i().getUserSession().getDepo().getCodMdep());
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
documentsPrinterName = sharedPreferences.getString(MainSettingsFragment.KEY_DOCUMENTS_PRINTER, null);

View File

@@ -6,6 +6,7 @@ import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors;
@@ -44,6 +45,8 @@ public class TrasferimentoPedaneEditViewModel {
private MutableLiveData<Boolean> canBeModifiedLiveData = new MutableLiveData<>(false);
private MutableLiveData<Boolean> canBePrintedLiveData = new MutableLiveData<>(false);
private List<MtbColt> cacheMtbColtList = new ArrayList<>();
private Listener listener;
private String defaultSourceCodMdep = null;
@@ -66,7 +69,9 @@ public class TrasferimentoPedaneEditViewModel {
this.trasferimentoPedaneRowRepository = trasferimentoPedaneRowRepository;
}
public void init(long trasferimentoPedaneId) {
public void init(long trasferimentoPedaneId, String sourceCodMdep) {
defaultSourceCodMdep = sourceCodMdep;
executorService.execute(() -> {
this.currentTrasferimentoPedane = trasferimentoPedaneRepository.retrieve(trasferimentoPedaneId);
canBeModifiedLiveData.postValue(this.currentTrasferimentoPedane.getStatusEnum() == TrasferimentoPedaneStatusEnum.APERTO);
@@ -113,13 +118,30 @@ public class TrasferimentoPedaneEditViewModel {
}
private void fillTransferWithMtbColtDetails(List<TrasferimentoPedaneRowEntity> rowList) throws Exception {
List<MtbColt> bySsccListSynchronized = colliMagazzinoRESTConsumer.getBySsccListSynchronized(rowList.stream()
rowList.forEach(row -> {
if (row.getDetailMtbColt() == null) {
row.setDetailMtbColt(cacheMtbColtList.stream()
.filter(x -> x.getBarcodeUl().equalsIgnoreCase(row.getBarcodeUl()))
.findFirst()
.orElse(null));
}
});
List<String> ssccList = rowList.stream()
.filter(x -> x.getDetailMtbColt() == null)
.map(TrasferimentoPedaneRowEntity::getBarcodeUl)
.collect(Collectors.toUnmodifiableList()), true, false);
.collect(Collectors.toUnmodifiableList());
rowList.forEach(row -> {
if (!ssccList.isEmpty()) {
List<MtbColt> bySsccListSynchronized = colliMagazzinoRESTConsumer.getBySsccListSynchronized(ssccList, true, false);
cacheMtbColtList.addAll(bySsccListSynchronized);
rowList
.stream()
.filter(x -> x.getDetailMtbColt() == null)
.forEach(row -> {
MtbColt mtbColtDetail = bySsccListSynchronized.stream()
.filter(x -> x.getBarcodeUl().equals(row.getBarcodeUl()))
.findFirst()
@@ -127,11 +149,10 @@ public class TrasferimentoPedaneEditViewModel {
row.setDetailMtbColt(mtbColtDetail);
});
}
}
private void checkDataConsistency(List<TrasferimentoPedaneRowEntity> rowList) throws
Exception {
private void checkDataConsistency(List<TrasferimentoPedaneRowEntity> rowList) throws Exception {
rowList.forEach(x -> {
x.setFlagInconsistent(x.getDetailMtbColt() == null);
});
@@ -205,6 +226,7 @@ public class TrasferimentoPedaneEditViewModel {
public void deleteRow(TrasferimentoPedaneRowEntity row) {
trasferimentoPedaneRowRepository.deleteSynchronized(row);
cacheMtbColtList.removeIf(x -> x.getBarcodeUl().equals(row.getBarcodeUl()));
}
public void closeAndDelete() {

View File

@@ -3,7 +3,7 @@
buildscript {
ext {
kotlin_version = '2.1.0'
agp_version = '8.11.0'
agp_version = '8.11.1'
}
repositories {