Aggiornato filtro ordine in caso di recupera UL.

This commit is contained in:
Valerio Castellana 2022-03-28 17:57:04 +02:00
parent a0c85b3fcb
commit 473b9f22fb
3 changed files with 56 additions and 8 deletions

View File

@ -1,6 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="7da0808" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-03-28T14:25:54.077010500Z" />
<runningDeviceTargetsSelectedWithDialog>
<Target>
<type value="RUNNING_DEVICE_TARGET" />

View File

@ -1,5 +1,7 @@
package it.integry.integrywmsnative.core.model;
import android.text.TextUtils;
import androidx.databinding.ObservableArrayList;
import com.annimon.stream.Optional;
@ -8,6 +10,7 @@ import com.annimon.stream.Stream;
import org.jetbrains.annotations.Nullable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -120,24 +123,24 @@ public class MtbColt extends EntityBase {
case ACQUISTO:
case LAVORAZIONE:
case PRODUZIONE:
if(SettingsManager.iDB().getInternalCodAnags() == null) break;
if (SettingsManager.iDB().getInternalCodAnags() == null) break;
Optional<InternalCodAnagsDTO> optCodAnagForn = Stream.of(SettingsManager.iDB().getInternalCodAnags())
.filter(InternalCodAnagsDTO::isFornitore)
.findFirst();
if(optCodAnagForn.isEmpty()) break;
if (optCodAnagForn.isEmpty()) break;
codAnagToUse = optCodAnagForn.get().getCodAnag();
break;
case VENDITA:
if(SettingsManager.iDB().getInternalCodAnags() == null) break;
if (SettingsManager.iDB().getInternalCodAnags() == null) break;
Optional<InternalCodAnagsDTO> optCodAnagClie = Stream.of(SettingsManager.iDB().getInternalCodAnags())
.filter(InternalCodAnagsDTO::isCliente)
.findFirst();
if(optCodAnagClie.isEmpty()) break;
if (optCodAnagClie.isEmpty()) break;
codAnagToUse = optCodAnagClie.get().getCodAnag();
break;
@ -574,9 +577,41 @@ public class MtbColt extends EntityBase {
String xmlPrefix = "{\"whereCond\": \"";
String xmlSuffix = "\"}";
StringBuilder whereCond = new StringBuilder();
// StringBuilder whereCond = new StringBuilder();
String whereCond;
List<String> conditions = new ArrayList<>();
String existingFilter;
if (this.filtroOrdini != null) {
existingFilter = this.filtroOrdini;
existingFilter = existingFilter.replace(xmlPrefix, "").replace(xmlSuffix, "");
conditions.add(existingFilter);
} else {
existingFilter = "";
}
if (filtroOrdineDtos != null && filtroOrdineDtos.size() > 0) {
for (FiltroOrdineDTO filtroOrdineDTO : filtroOrdineDtos) {
try {
String condition = (String.format("(d.g = %s AND d.d = %s and d.n = %s",
UtilityDB.valueToString(filtroOrdineDTO.getGestioneOrd()),
UtilityDB.valueToString(UtilityDate.formatDate(filtroOrdineDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)),
UtilityDB.valueToString(filtroOrdineDTO.getNumOrd())));
if (!UtilityString.isNullOrEmpty(filtroOrdineDTO.getDataConsS())) {
condition += (String.format(" AND dr.dc = %s",
UtilityDB.valueToString(UtilityDate.formatDate(filtroOrdineDTO.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))));
}
condition += ")";
if (!existingFilter.contains(condition)) {
conditions.add(condition);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/*if (filtroOrdineDtos != null && filtroOrdineDtos.size() > 0) {
for (int i = 0; i < filtroOrdineDtos.size(); i++) {
FiltroOrdineDTO x = filtroOrdineDtos.get(i);
@ -602,7 +637,8 @@ public class MtbColt extends EntityBase {
}
}
}
}*/
whereCond = TextUtils.join(" OR ", conditions);
this.filtroOrdini = xmlPrefix + whereCond + xmlSuffix;
}

View File

@ -1752,7 +1752,7 @@ public class SpedizioneViewModel {
this.sendOnLoadingStarted();
this.mCurrentMtbColt = mtbColt;
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
this.mCurrentMtbColt.generaFiltroOrdineFromDTO(mDefaultFiltroOrdine);
this.mColliMagazzinoRESTConsumer.saveCollo(this.mCurrentMtbColt, savedMtbColt -> {