diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index 039e6190..00000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index e250ab32..ca4124c4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
- def appVersionCode = 322
- def appVersionName = '1.30.04'
+ def appVersionCode = 323
+ def appVersionName = '1.30.05'
signingConfigs {
release {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java
index 188e3e9a..524a4614 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java
@@ -15,6 +15,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.utility.UtilityDate;
public class ArticoliOrdineDataSource extends BaseDataSource implements ArticoliOrdineRepository {
@@ -53,6 +54,7 @@ public class ArticoliOrdineDataSource extends BaseDataSource implements Articoli
}
public void saveArticoloToOrdine(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs onError) {
+ articolo.setDataIns(UtilityDate.getDateInstance());
if (articolo.getArticoloOrdineId() != null && articolo.getArticoloOrdineId() > 0) {
execute(() -> mArticoloOrdineDao.update(articolo), onSuccess, onError);
} else {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java
index b0f71268..67ea3a29 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java
@@ -26,6 +26,7 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
private String ragSocCom;
private String ragSocOrd;
private String destinatario;
+ private String codVdes;
private String citta;
private String provincia;
private String indirizzo;
@@ -424,4 +425,13 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
return this;
}
}
+
+ public String getCodVdes() {
+ return codVdes;
+ }
+
+ public OrdineUscitaInevasoDTO setCodVdes(String codVdes) {
+ this.codVdes = codVdes;
+ return this;
+ }
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
index be45bc01..434e8db0 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java
@@ -159,15 +159,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
DialogAskActionView.newInstance(articoloOrdine.getDescrizione(),
articoloOrdine.getQtaOrd() + " " + articoloOrdine.getUntMis(),
- () -> {
- this.mViewModel.checkArticolo(articoloOrdine.getCodMart(),
- artOrd -> {
- this.onItemDispatched(artOrd);
- BarcodeManager.enable();
- },
- this::onError);
- BarcodeManager.enable();
- },
+ () -> this.onItemDispatched(articoloOrdine, () -> {
+
+ }),
() -> {
this.deleteArticolo(articoloOrdine);
BarcodeManager.enable();
@@ -186,23 +180,18 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
}
private final RunnableArgs onScanSuccessful = data -> {
- mBinding.closeActivityFab.close(false);
- this.onLoadingStarted();
- BarcodeManager.disable();
-
- this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
-
+ this.mViewModel.processBarcode(data.getStringValue());
};
@Override
- public void onItemDispatched(ArticoloOrdine articoloOrdine) {
+ public void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess) {
DialogEditArticoloView
.newInstance(articoloOrdine, articolo -> {
runOnUiThread(() -> {
if (articolo != null) {
Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show();
}
- this.mViewModel.refreshListArticoli();
+ this.mViewModel.refreshListArticoli(onSuccess);
});
}, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView");
}
@@ -233,16 +222,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
public void manualSearch() {
BarcodeManager.disable();
- DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre/codice articolo da cercare", codice -> {
+ DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre/codice articolo da cercare", barcode -> {
this.onLoadingStarted();
- this.mViewModel.checkArticolo(codice,
- articoloOrdine -> {
- this.onItemDispatched(articoloOrdine);
- this.onLoadingEnded();
- BarcodeManager.enable();
- },
- this::onError
- );
+ this.mViewModel.processBarcode(barcode);
}, BarcodeManager::enable).show();
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
index 1bb85b96..1252a41d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
@@ -12,8 +12,8 @@ import java.util.List;
import javax.inject.Inject;
-import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
@@ -69,19 +69,23 @@ public class PVOrdineAcquistoEditViewModel {
public void init(Ordine ordine, List articoliGriglia) {
this.mCurrentOrdine = ordine;
-
- this.sendOnLoadingStarted();
-
mArticoliGriglia.clear();
mArticoliGriglia.addAll(articoliGriglia);
this.refreshListArticoli();
}
public void refreshListArticoli() {
+ refreshListArticoli(null);
+ }
+
+ public void refreshListArticoli(Runnable onSuccess) {
+ this.sendOnLoadingStarted();
this.loadArticoli(mCurrentOrdine, articoli -> {
- articoli = Stream.of(articoli).map(this::completeDataArticoli).toList();
+ articoli = Stream.of(articoli).map(this::completeDataArticoli).sorted((a, b) -> a.getDataIns().after(b.getDataIns()) ? -1 : 1).toList();
this.mArticoli.postValue(articoli);
this.sendOnLoadingEnded();
+ if (onSuccess != null)
+ onSuccess.run();
});
}
@@ -92,6 +96,12 @@ public class PVOrdineAcquistoEditViewModel {
art.setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta()));
art.setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita()));
art.setBgTint(getBgTint(art));
+ art.setMediaSett(artGrid.getMediaSett());
+ art.setQtaMinOrdinabile(artGrid.getQtaMinOrdinabile());
+ art.setMerceDaRic(artGrid.getMerceDaRic());
+ art.setNewNoPromo(artGrid.isNewNoPromo());
+ art.setFlagQtaMultipla(artGrid.getFlagQtaMultipla());
+ art.setSystemNote(artGrid.generateSystemNote());
return art;
}
@@ -111,15 +121,26 @@ public class PVOrdineAcquistoEditViewModel {
return mArticoli;
}
- public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
- this.checkArticolo(
- barcodeScanDTO.getStringValue(),
- articoloOrdine -> {
- this.sendOnItemDispatched(articoloOrdine);
- onComplete.run();
- },
- this::sendError
- );
+ public void processBarcode(String barcode) {
+ try {
+ BarcodeManager.disable();
+ this.sendOnLoadingStarted();
+ ArticoloDTO articoloDTO = getArticoloFromBarcode(barcode);
+ if (articoloDTO == null) {
+ throw new NoResultFromBarcodeException(barcode);
+ }
+ this.addArticoloToOrdine(
+ articoloDTO,
+ BarcodeManager::enable,
+ e -> {
+ this.sendError(e);
+ BarcodeManager.enable();
+ }
+ );
+ } catch (Exception e) {
+ this.sendError(e);
+ BarcodeManager.enable();
+ }
}
private void loadArticoli(Ordine ordine, RunnableArgs> onLoad) {
@@ -130,42 +151,17 @@ public class PVOrdineAcquistoEditViewModel {
}
}
- public void checkArticolo(String barcode, RunnableArgs onSuccess, RunnableArgs onFail) {
+ public void addArticoloToOrdine(ArticoloDTO art, Runnable onSuccess, RunnableArgs onFail) {
try {
- if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) {
- onFail.run(new NoArtsInGridException());
- return;
- }
- ArticoloDTO art = Stream.of(mArticoliGriglia).filter(articolo ->
- articolo.getCodMart().equalsIgnoreCase(barcode) ||
- articolo.getBarcode().equalsIgnoreCase(barcode) ||
- articolo.getBarcode().equalsIgnoreCase(StringUtils.leftPad(barcode, 13, "0"))
- ).sortBy(x -> x.getSortByBarcodeCondition(barcode)).findFirst().orElse(null);
-
- if (art == null) {
- onFail.run(new NoResultFromBarcodeException(barcode));
- return;
- }
mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, art.codMart, (articolo) -> {
-
+ this.sendOnLoadingEnded();
if (articolo != null) {
if (isAutoOrderOnScan()) {
articolo.setQtaOrd(articolo.getQtaOrd() + articolo.getQtaCnf());
- mArticoliOrdineRepository.saveArticoloToOrdine(articolo, this::refreshListArticoli, this::sendError);
+ mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail);
} else {
- articolo
- .setQtaPrevistaVendita(BigDecimal.valueOf(art.getQtaPrevistaVendita()))
- .setQtaProposta(BigDecimal.valueOf(art.getQtaProposta()))
- .setGiacenza(BigDecimal.valueOf(art.getGiacenza()))
- .setMediaSett(art.getMediaSett());
-
- articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile());
- articolo.setMerceDaRic(art.getMerceDaRic());
- articolo.setNewNoPromo(art.isNewNoPromo());
- articolo.setFlagQtaMultipla(art.getFlagQtaMultipla());
- articolo.setSystemNote(art.generateSystemNote());
- onSuccess.run(articolo);
+ this.sendOnItemDispatched(articolo, onSuccess);
}
@@ -173,9 +169,9 @@ public class PVOrdineAcquistoEditViewModel {
articolo = art.convertToArticoloOrdine(mCurrentOrdine);
if (isAutoOrderOnScan()) {
articolo.setQtaOrd(articolo.getQtaCnf());
- mArticoliOrdineRepository.saveArticoloToOrdine(articolo, this::refreshListArticoli, this::sendError);
+ mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail);
} else {
- onSuccess.run(articolo);
+ this.sendOnItemDispatched(articolo, onSuccess);
}
}
}, onFail);
@@ -186,6 +182,19 @@ public class PVOrdineAcquistoEditViewModel {
}
}
+ public ArticoloDTO getArticoloFromBarcode(String barcode) throws NoArtsInGridException {
+ if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) {
+ throw new NoArtsInGridException();
+ }
+
+ return Stream.of(mArticoliGriglia).filter(articolo ->
+ articolo.getCodMart().equalsIgnoreCase(barcode) ||
+ articolo.getBarcode().equalsIgnoreCase(barcode) ||
+ articolo.getBarcode().equalsIgnoreCase(StringUtils.leftPad(barcode, 13, "0"))
+ ).sortBy(x -> x.getSortByBarcodeCondition(barcode)).findFirst().orElse(null);
+ }
+
+
private boolean isAutoOrderOnScan() {
return SettingsManager.iDB().isFlagOrdinaArticoliOnScan();
}
@@ -195,8 +204,6 @@ public class PVOrdineAcquistoEditViewModel {
}
public void orderNewProducts() {
- this.sendOnLoadingStarted();
-
List newArts = getNewArticoli();
if (!newArts.isEmpty()) {
List articoliToSave = new ArrayList<>();
@@ -243,8 +250,8 @@ public class PVOrdineAcquistoEditViewModel {
}, this::sendError);
}
- private void sendOnItemDispatched(ArticoloOrdine articoloOrdine) {
- if (this.mListener != null) mListener.onItemDispatched(articoloOrdine);
+ private void sendOnItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess) {
+ if (this.mListener != null) mListener.onItemDispatched(articoloOrdine, onSuccess);
}
private void sendOnLoadingStarted() {
@@ -260,7 +267,7 @@ public class PVOrdineAcquistoEditViewModel {
}
public interface Listener extends ILoadingListener {
- void onItemDispatched(ArticoloOrdine articoloOrdine);
+ void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess);
int getColorFromResource(int resId);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
index dabedb89..9076fae6 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
@@ -1734,10 +1734,13 @@ public class SpedizioneViewModel {
var loadCollidto = new LoadColliDTO();
var codAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).withoutNulls().distinctBy(x -> x).findFirst().get();
+ var codVdes = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodVdes).withoutNulls().distinctBy(x -> x).findFirst().get();
+
loadCollidto.setColli(getCreatedMtbColts());
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV());
loadCollidto.setCodMdep(mDefaultCodMdep);
loadCollidto.setCodAnag(codAnag);
+ loadCollidto.setCodVdes(codVdes);
loadCollidto.setSaveDoc(true);
loadCollidto.setGestione("L");