Implementato versamento in depositi diversi da quello dell'utente loggato

This commit is contained in:
Giuseppe Scorrano 2021-03-10 16:11:50 +01:00
parent e1d1878131
commit aa8a54547c
5 changed files with 39 additions and 8 deletions

View File

@ -549,7 +549,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>()); mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
if (posizione == null) mtbColtToSaveClone.setPosizione(null); if (posizione == null) mtbColtToSaveClone.setPosizione(null);
else mtbColtToSaveClone.setPosizione(posizione.getPosizione()); else mtbColtToSaveClone
.setPosizione(posizione.getPosizione())
.setCodMdep(posizione.getCodMdep());
ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtToSaveClone, mtbColt -> { ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtToSaveClone, mtbColt -> {
if (onComplete != null) onComplete.run(); if (onComplete != null) onComplete.run();

View File

@ -8,12 +8,11 @@ import java.util.List;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.core.utility.UtilityDB;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
@ -28,8 +27,30 @@ public class PosizioniRESTConsumer extends _BaseRESTConsumer{
this.mSystemRESTConsumer = systemRESTConsumer; this.mSystemRESTConsumer = systemRESTConsumer;
} }
public void getPosizioneFromString(String posizione, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
String sql = "SELECT TOP 1 mtb_depo_posizioni.*," +
" CASE WHEN jtb_fasi.cod_jfas IS NULL THEN 'N' ELSE 'S' END AS flag_linea_produzione " +
" FROM mtb_depo_posizioni " +
" LEFT OUTER JOIN jtb_fasi " +
" ON mtb_depo_posizioni.posizione = jtb_fasi.cod_jfas " +
" WHERE posizione = " + UtilityDB.valueToString(posizione);
SystemRESTConsumer.processSqlStatic(sql, MtbDepoPosizione.class, new ISimpleOperationCallback<MtbDepoPosizione>() {
@Override
public void onSuccess(MtbDepoPosizione value) {
if(onComplete != null) onComplete.run(value);
}
@Override
public void onFailed(Exception ex) {
if(onFailed != null) onFailed.run(ex);
}
});
}
public static void getAvailablePosizioni(RunnableArgs<List<MtbDepoPosizione>> onComplete, RunnableArgs<Exception> onFailed) { public static void getAvailablePosizioni(RunnableArgs<List<MtbDepoPosizione>> onComplete, RunnableArgs<Exception> onFailed) {
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); // String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
String codMdep = null;
PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class); PosizioniRESTConsumerService posizioniRESTConsumerService = RESTBuilder.getService(PosizioniRESTConsumerService.class);
posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback<ServiceRESTResponse<List<MtbDepoPosizione>>>() { posizioniRESTConsumerService.getAvailablePosizioni(codMdep).enqueue(new Callback<ServiceRESTResponse<List<MtbDepoPosizione>>>() {

View File

@ -33,19 +33,24 @@ public class UtilityBarcode {
} }
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) { public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) {
return isEtichettaPosizione(barcodeScanDTO, true);
}
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO, boolean enableCheckCodMdep) {
String currentCodMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
String barcode = barcodeScanDTO.getStringValue(); String barcode = barcodeScanDTO.getStringValue();
boolean isPosizione = false; boolean isPosizione = false;
if(SettingsManager.iDB().getAvailablePosizioni() != null) { if(SettingsManager.iDB().getAvailablePosizioni() != null) {
Stream<MtbDepoPosizione> tmpStream = Stream.of(SettingsManager.iDB().getAvailablePosizioni()) Stream<MtbDepoPosizione> tmpStream = Stream.of(SettingsManager.iDB().getAvailablePosizioni())
.filter(x -> x.getPosizione().equalsIgnoreCase(barcode)); .filter(x -> x.getPosizione().equalsIgnoreCase(barcode) && (!enableCheckCodMdep || currentCodMdep.equalsIgnoreCase(x.getCodMdep())));
if(tmpStream.count() > 0){ if(tmpStream.count() > 0){
isPosizione = true; isPosizione = true;
} }
} }
return isPosizione; return isPosizione;
} }

View File

@ -97,7 +97,7 @@ public class VersamentoMerceViewModel {
BarcodeManager.disable(); BarcodeManager.disable();
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
if (UtilityBarcode.isEtichettaPosizione(data)) { if (UtilityBarcode.isEtichettaPosizione(data, false)) {
progressDialog.show(); progressDialog.show();
this.executeEtichettaPosizione(data, progressDialog); this.executeEtichettaPosizione(data, progressDialog);
} else if (data.getType() == BarcodeType.EAN8 || data.getType() == BarcodeType.EAN13 || data.getType() == BarcodeType.UPCA) { } else if (data.getType() == BarcodeType.EAN8 || data.getType() == BarcodeType.EAN13 || data.getType() == BarcodeType.UPCA) {

View File

@ -199,14 +199,17 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
} }
public void onPositiveClick() { public void onPositiveClick() {
dismiss();
if(mOnPositiveClick != null) mOnPositiveClick.run(); if(mOnPositiveClick != null) mOnPositiveClick.run();
} }
public void onNeutralClick() { public void onNeutralClick() {
dismiss();
if(mOnNeutralClick != null) mOnNeutralClick.run(); if(mOnNeutralClick != null) mOnNeutralClick.run();
} }
public void onNegativeClick() { public void onNegativeClick() {
dismiss();
if(mOnNegativeClick != null) mOnNegativeClick.run(); if(mOnNegativeClick != null) mOnNegativeClick.run();
} }