Merge branch 'release/v1.30.05__323'
This commit is contained in:
commit
341359d871
17
.idea/deploymentTargetDropDown.xml
generated
17
.idea/deploymentTargetDropDown.xml
generated
@ -1,17 +0,0 @@
|
|||||||
<?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="20119B1E55" />
|
|
||||||
</Key>
|
|
||||||
</deviceKey>
|
|
||||||
</Target>
|
|
||||||
</runningDeviceTargetSelectedWithDropDown>
|
|
||||||
<timeTargetWasSelectedWithDropDown value="2022-12-12T15:40:54.351888Z" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 322
|
def appVersionCode = 323
|
||||||
def appVersionName = '1.30.04'
|
def appVersionName = '1.30.05'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -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.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
public class ArticoliOrdineDataSource extends BaseDataSource implements ArticoliOrdineRepository {
|
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<Exception> onError) {
|
public void saveArticoloToOrdine(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
articolo.setDataIns(UtilityDate.getDateInstance());
|
||||||
if (articolo.getArticoloOrdineId() != null && articolo.getArticoloOrdineId() > 0) {
|
if (articolo.getArticoloOrdineId() != null && articolo.getArticoloOrdineId() > 0) {
|
||||||
execute(() -> mArticoloOrdineDao.update(articolo), onSuccess, onError);
|
execute(() -> mArticoloOrdineDao.update(articolo), onSuccess, onError);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -26,6 +26,7 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
|
|||||||
private String ragSocCom;
|
private String ragSocCom;
|
||||||
private String ragSocOrd;
|
private String ragSocOrd;
|
||||||
private String destinatario;
|
private String destinatario;
|
||||||
|
private String codVdes;
|
||||||
private String citta;
|
private String citta;
|
||||||
private String provincia;
|
private String provincia;
|
||||||
private String indirizzo;
|
private String indirizzo;
|
||||||
@ -424,4 +425,13 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCodVdes() {
|
||||||
|
return codVdes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrdineUscitaInevasoDTO setCodVdes(String codVdes) {
|
||||||
|
this.codVdes = codVdes;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,15 +159,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
|
|
||||||
DialogAskActionView.newInstance(articoloOrdine.getDescrizione(),
|
DialogAskActionView.newInstance(articoloOrdine.getDescrizione(),
|
||||||
articoloOrdine.getQtaOrd() + " " + articoloOrdine.getUntMis(),
|
articoloOrdine.getQtaOrd() + " " + articoloOrdine.getUntMis(),
|
||||||
() -> {
|
() -> this.onItemDispatched(articoloOrdine, () -> {
|
||||||
this.mViewModel.checkArticolo(articoloOrdine.getCodMart(),
|
|
||||||
artOrd -> {
|
}),
|
||||||
this.onItemDispatched(artOrd);
|
|
||||||
BarcodeManager.enable();
|
|
||||||
},
|
|
||||||
this::onError);
|
|
||||||
BarcodeManager.enable();
|
|
||||||
},
|
|
||||||
() -> {
|
() -> {
|
||||||
this.deleteArticolo(articoloOrdine);
|
this.deleteArticolo(articoloOrdine);
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
@ -186,23 +180,18 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
mBinding.closeActivityFab.close(false);
|
this.mViewModel.processBarcode(data.getStringValue());
|
||||||
this.onLoadingStarted();
|
|
||||||
BarcodeManager.disable();
|
|
||||||
|
|
||||||
this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onItemDispatched(ArticoloOrdine articoloOrdine) {
|
public void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess) {
|
||||||
DialogEditArticoloView
|
DialogEditArticoloView
|
||||||
.newInstance(articoloOrdine, articolo -> {
|
.newInstance(articoloOrdine, articolo -> {
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
if (articolo != null) {
|
if (articolo != null) {
|
||||||
Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
this.mViewModel.refreshListArticoli();
|
this.mViewModel.refreshListArticoli(onSuccess);
|
||||||
});
|
});
|
||||||
}, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView");
|
}, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView");
|
||||||
}
|
}
|
||||||
@ -233,16 +222,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi
|
|||||||
|
|
||||||
public void manualSearch() {
|
public void manualSearch() {
|
||||||
BarcodeManager.disable();
|
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.onLoadingStarted();
|
||||||
this.mViewModel.checkArticolo(codice,
|
this.mViewModel.processBarcode(barcode);
|
||||||
articoloOrdine -> {
|
|
||||||
this.onItemDispatched(articoloOrdine);
|
|
||||||
this.onLoadingEnded();
|
|
||||||
BarcodeManager.enable();
|
|
||||||
},
|
|
||||||
this::onError
|
|
||||||
);
|
|
||||||
}, BarcodeManager::enable).show();
|
}, BarcodeManager::enable).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,8 +12,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
|
||||||
import it.integry.integrywmsnative.R;
|
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.ArticoloOrdine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
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.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
@ -69,19 +69,23 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
|
|
||||||
public void init(Ordine ordine, List<ArticoloDTO> articoliGriglia) {
|
public void init(Ordine ordine, List<ArticoloDTO> articoliGriglia) {
|
||||||
this.mCurrentOrdine = ordine;
|
this.mCurrentOrdine = ordine;
|
||||||
|
|
||||||
this.sendOnLoadingStarted();
|
|
||||||
|
|
||||||
mArticoliGriglia.clear();
|
mArticoliGriglia.clear();
|
||||||
mArticoliGriglia.addAll(articoliGriglia);
|
mArticoliGriglia.addAll(articoliGriglia);
|
||||||
this.refreshListArticoli();
|
this.refreshListArticoli();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refreshListArticoli() {
|
public void refreshListArticoli() {
|
||||||
|
refreshListArticoli(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refreshListArticoli(Runnable onSuccess) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
this.loadArticoli(mCurrentOrdine, articoli -> {
|
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.mArticoli.postValue(articoli);
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
|
if (onSuccess != null)
|
||||||
|
onSuccess.run();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,6 +96,12 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
art.setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta()));
|
art.setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta()));
|
||||||
art.setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita()));
|
art.setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita()));
|
||||||
art.setBgTint(getBgTint(art));
|
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;
|
return art;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,15 +121,26 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
return mArticoli;
|
return mArticoli;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
public void processBarcode(String barcode) {
|
||||||
this.checkArticolo(
|
try {
|
||||||
barcodeScanDTO.getStringValue(),
|
BarcodeManager.disable();
|
||||||
articoloOrdine -> {
|
this.sendOnLoadingStarted();
|
||||||
this.sendOnItemDispatched(articoloOrdine);
|
ArticoloDTO articoloDTO = getArticoloFromBarcode(barcode);
|
||||||
onComplete.run();
|
if (articoloDTO == null) {
|
||||||
},
|
throw new NoResultFromBarcodeException(barcode);
|
||||||
this::sendError
|
}
|
||||||
);
|
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<List<ArticoloOrdine>> onLoad) {
|
private void loadArticoli(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad) {
|
||||||
@ -130,42 +151,17 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkArticolo(String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
public void addArticoloToOrdine(ArticoloDTO art, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
try {
|
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) -> {
|
mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, art.codMart, (articolo) -> {
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
if (articolo != null) {
|
if (articolo != null) {
|
||||||
if (isAutoOrderOnScan()) {
|
if (isAutoOrderOnScan()) {
|
||||||
articolo.setQtaOrd(articolo.getQtaOrd() + articolo.getQtaCnf());
|
articolo.setQtaOrd(articolo.getQtaOrd() + articolo.getQtaCnf());
|
||||||
mArticoliOrdineRepository.saveArticoloToOrdine(articolo, this::refreshListArticoli, this::sendError);
|
mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail);
|
||||||
} else {
|
} else {
|
||||||
articolo
|
this.sendOnItemDispatched(articolo, onSuccess);
|
||||||
.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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -173,9 +169,9 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
articolo = art.convertToArticoloOrdine(mCurrentOrdine);
|
articolo = art.convertToArticoloOrdine(mCurrentOrdine);
|
||||||
if (isAutoOrderOnScan()) {
|
if (isAutoOrderOnScan()) {
|
||||||
articolo.setQtaOrd(articolo.getQtaCnf());
|
articolo.setQtaOrd(articolo.getQtaCnf());
|
||||||
mArticoliOrdineRepository.saveArticoloToOrdine(articolo, this::refreshListArticoli, this::sendError);
|
mArticoliOrdineRepository.saveArticoloToOrdine(articolo, () -> this.refreshListArticoli(onSuccess), onFail);
|
||||||
} else {
|
} else {
|
||||||
onSuccess.run(articolo);
|
this.sendOnItemDispatched(articolo, onSuccess);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, onFail);
|
}, 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() {
|
private boolean isAutoOrderOnScan() {
|
||||||
return SettingsManager.iDB().isFlagOrdinaArticoliOnScan();
|
return SettingsManager.iDB().isFlagOrdinaArticoliOnScan();
|
||||||
}
|
}
|
||||||
@ -195,8 +204,6 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void orderNewProducts() {
|
public void orderNewProducts() {
|
||||||
this.sendOnLoadingStarted();
|
|
||||||
|
|
||||||
List<ArticoloDTO> newArts = getNewArticoli();
|
List<ArticoloDTO> newArts = getNewArticoli();
|
||||||
if (!newArts.isEmpty()) {
|
if (!newArts.isEmpty()) {
|
||||||
List<ArticoloOrdine> articoliToSave = new ArrayList<>();
|
List<ArticoloOrdine> articoliToSave = new ArrayList<>();
|
||||||
@ -243,8 +250,8 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendOnItemDispatched(ArticoloOrdine articoloOrdine) {
|
private void sendOnItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess) {
|
||||||
if (this.mListener != null) mListener.onItemDispatched(articoloOrdine);
|
if (this.mListener != null) mListener.onItemDispatched(articoloOrdine, onSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendOnLoadingStarted() {
|
private void sendOnLoadingStarted() {
|
||||||
@ -260,7 +267,7 @@ public class PVOrdineAcquistoEditViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface Listener extends ILoadingListener {
|
public interface Listener extends ILoadingListener {
|
||||||
void onItemDispatched(ArticoloOrdine articoloOrdine);
|
void onItemDispatched(ArticoloOrdine articoloOrdine, Runnable onSuccess);
|
||||||
|
|
||||||
int getColorFromResource(int resId);
|
int getColorFromResource(int resId);
|
||||||
|
|
||||||
|
|||||||
@ -1734,10 +1734,13 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
var loadCollidto = new LoadColliDTO();
|
var loadCollidto = new LoadColliDTO();
|
||||||
var codAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).withoutNulls().distinctBy(x -> x).findFirst().get();
|
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.setColli(getCreatedMtbColts());
|
||||||
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV());
|
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV());
|
||||||
loadCollidto.setCodMdep(mDefaultCodMdep);
|
loadCollidto.setCodMdep(mDefaultCodMdep);
|
||||||
loadCollidto.setCodAnag(codAnag);
|
loadCollidto.setCodAnag(codAnag);
|
||||||
|
loadCollidto.setCodVdes(codVdes);
|
||||||
loadCollidto.setSaveDoc(true);
|
loadCollidto.setSaveDoc(true);
|
||||||
loadCollidto.setGestione("L");
|
loadCollidto.setGestione("L");
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user