Modifiche parziali Picking Libero
This commit is contained in:
parent
7005ccf97a
commit
26c08f1945
@ -16,6 +16,9 @@ import androidx.databinding.DataBindingUtil;
|
|||||||
|
|
||||||
import com.tfb.fbtoast.FBToast;
|
import com.tfb.fbtoast.FBToast;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
@ -25,9 +28,11 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
|||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.VtbDest;
|
import it.integry.integrywmsnative.core.model.VtbDest;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
@ -37,9 +42,13 @@ import it.integry.integrywmsnative.core.utility.UtilityToast;
|
|||||||
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
|
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel;
|
import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
|
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple {@link Fragment} subclass.
|
* A simple {@link Fragment} subclass.
|
||||||
@ -243,4 +252,53 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
}
|
}
|
||||||
}).show();
|
}).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemDispatched(
|
||||||
|
PickingObjectDTO pickingObjectDTO,
|
||||||
|
MtbAart mtbAart,
|
||||||
|
BigDecimal initialNumCnf,
|
||||||
|
BigDecimal initialQtaCnf,
|
||||||
|
BigDecimal initialQtaTot,
|
||||||
|
BigDecimal totalQtaToBeTaken,
|
||||||
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
|
BigDecimal qtaCnfToBeTaken,
|
||||||
|
String partitaMag,
|
||||||
|
Date dataScad,
|
||||||
|
boolean canOverflowOrderQuantity,
|
||||||
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
|
|
||||||
|
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||||
|
.setMtbAart(mtbAart)
|
||||||
|
.setInitialNumCnf(initialNumCnf)
|
||||||
|
.setInitialQtaCnf(initialQtaCnf)
|
||||||
|
.setInitialQtaTot(initialQtaTot)
|
||||||
|
.setTotalQtaToBeTaken(totalQtaToBeTaken)
|
||||||
|
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
|
||||||
|
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
|
||||||
|
.setPartitaMag(partitaMag)
|
||||||
|
.setDataScad(dataScad)
|
||||||
|
.setCanOverflowOrderQuantity(canOverflowOrderQuantity);
|
||||||
|
|
||||||
|
DialogInputQuantityV2
|
||||||
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
.setQtaCnf(resultDTO.getQtaCnf())
|
||||||
|
.setQtaTot(resultDTO.getQtaTot())
|
||||||
|
.setPartitaMag(resultDTO.getPartitaMag())
|
||||||
|
.setDataScad(resultDTO.getDataScad());
|
||||||
|
|
||||||
|
this.openProgress();
|
||||||
|
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||||
|
}, () -> {
|
||||||
|
this.closeProgress();
|
||||||
|
})
|
||||||
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRowSaved() {
|
||||||
|
FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +1,23 @@
|
|||||||
package it.integry.integrywmsnative.gest.picking_libero;
|
package it.integry.integrywmsnative.gest.picking_libero;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.text.SpannableString;
|
|
||||||
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
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.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
|
||||||
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
||||||
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.VtbDest;
|
import it.integry.integrywmsnative.core.model.VtbDest;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
@ -26,10 +28,14 @@ import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickDataDTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
||||||
|
|
||||||
public class PickingLiberoViewModelNEW {
|
public class PickingLiberoViewModelNEW {
|
||||||
|
|
||||||
@ -66,6 +72,16 @@ public class PickingLiberoViewModelNEW {
|
|||||||
|
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete){
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete){
|
||||||
|
if(this.mCurrentMtbColt == null) {
|
||||||
|
this.createNewLU(null, null, () -> {
|
||||||
|
executeEtichettaBehaviour(barcodeScanDTO, onComplete);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
executeEtichettaBehaviour(barcodeScanDTO, onComplete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void executeEtichettaBehaviour(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
if(UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)){
|
if(UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)){
|
||||||
//Cerco gli articoli presenti nell'ul dell'etichetta anonima
|
//Cerco gli articoli presenti nell'ul dell'etichetta anonima
|
||||||
this.executeEtichettaLU(barcodeScanDTO.getStringValue(), onComplete);
|
this.executeEtichettaLU(barcodeScanDTO.getStringValue(), onComplete);
|
||||||
@ -99,7 +115,7 @@ public class PickingLiberoViewModelNEW {
|
|||||||
if(mtbColtScanned == null) {
|
if(mtbColtScanned == null) {
|
||||||
this.sendError(new NoLUFoundException());
|
this.sendError(new NoLUFoundException());
|
||||||
} else if((mtbColtScanned.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColtScanned.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColtScanned.getSegno() > 0) {
|
} else if((mtbColtScanned.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColtScanned.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColtScanned.getSegno() > 0) {
|
||||||
// pickMerceULtoUL(mtbColtScanned, mtbColt.get(), onComplete);
|
pickMerceULtoUL(mtbColtScanned, onComplete);
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoLUFoundException());
|
this.sendError(new NoLUFoundException());
|
||||||
}
|
}
|
||||||
@ -201,13 +217,140 @@ public class PickingLiberoViewModelNEW {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void dispatchArt(MtbAart mtbAart, Ean128Model ean128Model){
|
private void dispatchArt(MtbAart mtbAart, Ean128Model ean128Model){
|
||||||
|
PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
|
||||||
|
.setMtbAart(mtbAart)
|
||||||
|
.setTempPickData(PickDataDTO.fromEan128(ean128Model));
|
||||||
|
|
||||||
|
BigDecimal numCnfDaPrelevare = null;
|
||||||
|
BigDecimal qtaColDaPrelevare = null;
|
||||||
|
BigDecimal qtaCnfDaPrelevare = null;
|
||||||
|
|
||||||
|
BigDecimal initialNumCnf = null;
|
||||||
|
BigDecimal initialQtaCnf = null;
|
||||||
|
BigDecimal initialQtaTot = null;
|
||||||
|
|
||||||
|
String partitaMag = null;
|
||||||
|
Date dataScad = null;
|
||||||
|
|
||||||
|
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||||
|
//Oppure le info del barcode scansionato
|
||||||
|
PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO();
|
||||||
|
|
||||||
|
qtaColDaPrelevare = manualPickDTO.getQtaTot();
|
||||||
|
numCnfDaPrelevare = manualPickDTO.getNumCnf();
|
||||||
|
|
||||||
|
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
|
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
||||||
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
||||||
|
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||||
|
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||||
|
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
||||||
|
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||||
|
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||||
|
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||||
|
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
initialNumCnf = BigDecimal.ONE;
|
||||||
|
initialQtaCnf = mtbAart.getQtaCnf();
|
||||||
|
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(numCnfDaPrelevare == null && qtaColDaPrelevare == null && initialNumCnf == null && initialQtaTot == null) {
|
||||||
|
initialNumCnf = BigDecimal.ONE;
|
||||||
|
initialQtaCnf = mtbAart.getQtaCnf();
|
||||||
|
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.sendOnItemDispatched(
|
||||||
|
pickingObjectDTO,
|
||||||
|
pickingObjectDTO.getMtbAart(),
|
||||||
|
initialNumCnf,
|
||||||
|
initialQtaCnf,
|
||||||
|
initialQtaTot,
|
||||||
|
qtaColDaPrelevare,
|
||||||
|
numCnfDaPrelevare,
|
||||||
|
qtaCnfDaPrelevare,
|
||||||
|
partitaMag,
|
||||||
|
dataScad,
|
||||||
|
false,
|
||||||
|
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||||
|
this.saveNewRow(pickingObjectDTO,
|
||||||
|
pickedQuantityDTO.getNumCnf(),
|
||||||
|
pickedQuantityDTO.getQtaCnf(),
|
||||||
|
pickedQuantityDTO.getQtaTot(),
|
||||||
|
pickedQuantityDTO.getPartitaMag(),
|
||||||
|
pickedQuantityDTO.getDataScad(),
|
||||||
|
shouldCloseLU);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void pickMerceULtoUL(MtbColt sourceMtbColt, Runnable onComplete) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pickMerceULtoUL(MtbColt sourceMtbColt, MtbColt destMtbColt) {
|
|
||||||
|
|
||||||
|
|
||||||
|
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
|
final MtbColr mtbColr = new MtbColr()
|
||||||
|
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
||||||
|
.setPartitaMag(partitaMag)
|
||||||
|
.setDataScadPartita(dataScad)
|
||||||
|
.setQtaCol(qtaTot)
|
||||||
|
.setQtaCnf(qtaCnf)
|
||||||
|
.setNumCnf(numCnf)
|
||||||
|
.setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa())
|
||||||
|
.setDatetimeRow(UtilityDate.getDateInstance());
|
||||||
|
|
||||||
|
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
||||||
|
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
||||||
|
|
||||||
|
cloneMtbColt.setMtbColr(new ObservableArrayList());
|
||||||
|
cloneMtbColt.getMtbColr().add((MtbColr) mtbColr.clone());
|
||||||
|
|
||||||
|
if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {
|
||||||
|
mtbColr
|
||||||
|
.setDataCollo(value.getDataColloS())
|
||||||
|
.setNumCollo(value.getNumCollo())
|
||||||
|
.setGestione(value.getGestione())
|
||||||
|
.setSerCollo(value.getSerCollo())
|
||||||
|
.setRiga(value.getMtbColr().get(0).getRiga())
|
||||||
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
|
mCurrentMtbColt.getMtbColr().add(mtbColr);
|
||||||
|
|
||||||
|
this.sendOnRowSaved();
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
|
||||||
|
if (shouldCloseLU) closeLU();
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void closeLU() {
|
public void closeLU() {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -235,6 +378,36 @@ public class PickingLiberoViewModelNEW {
|
|||||||
if(this.mListener != null) mListener.onLUClienteRequired(onComplete, onAbort);
|
if(this.mListener != null) mListener.onLUClienteRequired(onComplete, onAbort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||||
|
MtbAart mtbAart,
|
||||||
|
BigDecimal initialNumCnf,
|
||||||
|
BigDecimal initialQtaCnf,
|
||||||
|
BigDecimal initialQtaTot,
|
||||||
|
BigDecimal totalQtaToBeTaken,
|
||||||
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
|
BigDecimal qtaCnfToBeTaken,
|
||||||
|
String partitaMag,
|
||||||
|
Date dataScad,
|
||||||
|
boolean canOverflowOrderQuantity,
|
||||||
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
|
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
|
||||||
|
mtbAart,
|
||||||
|
initialNumCnf,
|
||||||
|
initialQtaCnf,
|
||||||
|
initialQtaTot,
|
||||||
|
totalQtaToBeTaken,
|
||||||
|
totalNumCnfToBeTaken,
|
||||||
|
qtaCnfToBeTaken,
|
||||||
|
partitaMag,
|
||||||
|
dataScad,
|
||||||
|
canOverflowOrderQuantity,
|
||||||
|
onComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnRowSaved() {
|
||||||
|
if (this.mListener != null) mListener.onRowSaved();
|
||||||
|
}
|
||||||
|
|
||||||
public PickingLiberoViewModelNEW setListener(Listener listener) {
|
public PickingLiberoViewModelNEW setListener(Listener listener) {
|
||||||
this.mListener = listener;
|
this.mListener = listener;
|
||||||
return this;
|
return this;
|
||||||
@ -262,21 +435,15 @@ public class PickingLiberoViewModelNEW {
|
|||||||
void onFilterRemoved();
|
void onFilterRemoved();
|
||||||
|
|
||||||
void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete);
|
void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete);
|
||||||
|
*/
|
||||||
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||||
MtbAart mtbAart,
|
MtbAart mtbAart,
|
||||||
BigDecimal initialNumCnf,
|
BigDecimal initialNumCnf,
|
||||||
BigDecimal initialQtaCnf,
|
BigDecimal initialQtaCnf,
|
||||||
BigDecimal initialQtaTot,
|
BigDecimal initialQtaTot,
|
||||||
BigDecimal totalQtaOrd,
|
|
||||||
BigDecimal totalNumCnfOrd,
|
|
||||||
BigDecimal qtaCnfOrd,
|
|
||||||
BigDecimal totalQtaToBeTaken,
|
BigDecimal totalQtaToBeTaken,
|
||||||
BigDecimal totalNumCnfToBeTaken,
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
BigDecimal qtaCnfToBeTaken,
|
BigDecimal qtaCnfToBeTaken,
|
||||||
BigDecimal totalQtaAvailable,
|
|
||||||
BigDecimal totalNumCnfAvailable,
|
|
||||||
BigDecimal qtaCnfAvailable,
|
|
||||||
String partitaMag,
|
String partitaMag,
|
||||||
Date dataScad,
|
Date dataScad,
|
||||||
boolean canOverflowOrderQuantity,
|
boolean canOverflowOrderQuantity,
|
||||||
@ -284,7 +451,7 @@ public class PickingLiberoViewModelNEW {
|
|||||||
|
|
||||||
void onRowSaved();
|
void onRowSaved();
|
||||||
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
|
|
||||||
public class HistoryVersamentoProdULDTO {
|
public class HistoryVersamentoProdULDTO {
|
||||||
|
|
||||||
@ -36,6 +37,7 @@ public class HistoryVersamentoProdULDTO {
|
|||||||
private MtbAart mtbAart;
|
private MtbAart mtbAart;
|
||||||
|
|
||||||
public BigDecimal getQtaCnf() {
|
public BigDecimal getQtaCnf() {
|
||||||
|
if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO)) return BigDecimal.ONE;
|
||||||
return qtaCol.divide(numCnf, 3, RoundingMode.HALF_EVEN);
|
return qtaCol.divide(numCnf, 3, RoundingMode.HALF_EVEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.MainApplicationModule;
|
import it.integry.integrywmsnative.MainApplicationModule;
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
@ -22,8 +23,8 @@ public class SpedizioneModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer) {
|
SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer) {
|
||||||
return new SpedizioneViewModel(colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer);
|
return new SpedizioneViewModel(barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,16 +92,19 @@ public class SpedizioneViewModel {
|
|||||||
private MtbColt mCurrentMtbColt = null;
|
private MtbColt mCurrentMtbColt = null;
|
||||||
|
|
||||||
private Integer mMtbColtSessionID;
|
private Integer mMtbColtSessionID;
|
||||||
|
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||||
private final ColliDataRecoverService mColliDataRecoverService;
|
private final ColliDataRecoverService mColliDataRecoverService;
|
||||||
private final OrdiniRESTConsumer mOrdiniRestConsumerService;
|
private final OrdiniRESTConsumer mOrdiniRestConsumerService;
|
||||||
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||||
private final PrinterRESTConsumer mPrinterRESTConsumer;
|
private final PrinterRESTConsumer mPrinterRESTConsumer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public SpedizioneViewModel(ColliDataRecoverService colliDataRecoverService,
|
public SpedizioneViewModel( BarcodeRESTConsumer barcodeRESTConsumer,
|
||||||
|
ColliDataRecoverService colliDataRecoverService,
|
||||||
OrdiniRESTConsumer ordiniRESTConsumer,
|
OrdiniRESTConsumer ordiniRESTConsumer,
|
||||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||||
PrinterRESTConsumer printerRESTConsumer) {
|
PrinterRESTConsumer printerRESTConsumer) {
|
||||||
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
this.mColliDataRecoverService = colliDataRecoverService;
|
this.mColliDataRecoverService = colliDataRecoverService;
|
||||||
this.mOrdiniRestConsumerService = ordiniRESTConsumer;
|
this.mOrdiniRestConsumerService = ordiniRESTConsumer;
|
||||||
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||||
@ -289,8 +292,7 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
||||||
if (this.mListeners != null)
|
if (this.mListeners != null) mListeners.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete);
|
||||||
mListeners.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendLUPrintRequest(RunnableArgs<Boolean> onComplete) {
|
private void sendLUPrintRequest(RunnableArgs<Boolean> onComplete) {
|
||||||
@ -493,7 +495,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
BarcodeRESTConsumer.decodeEan128Static(barcodeScanDTO, ean128Model -> {
|
mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||||
|
|
||||||
String barcodeProd = null;
|
String barcodeProd = null;
|
||||||
|
|
||||||
@ -808,8 +810,6 @@ public class SpedizioneViewModel {
|
|||||||
.setMtbAart(mtbAart)
|
.setMtbAart(mtbAart)
|
||||||
.setTempPickData(PickDataDTO.fromEan128(ean128Model));
|
.setTempPickData(PickDataDTO.fromEan128(ean128Model));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BigDecimal numCnfDaPrelevare = null;
|
BigDecimal numCnfDaPrelevare = null;
|
||||||
BigDecimal qtaColDaPrelevare = null;
|
BigDecimal qtaColDaPrelevare = null;
|
||||||
BigDecimal qtaCnfDaPrelevare = null;
|
BigDecimal qtaCnfDaPrelevare = null;
|
||||||
|
|||||||
@ -38,6 +38,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
public BigDecimal qtaCnfAvailable;
|
public BigDecimal qtaCnfAvailable;
|
||||||
|
|
||||||
public Boolean shouldAskDataScad;
|
public Boolean shouldAskDataScad;
|
||||||
|
public Boolean shouldShowDataScad;
|
||||||
|
|
||||||
private BigDecimal initialNumCnf;
|
private BigDecimal initialNumCnf;
|
||||||
private BigDecimal initialQtaCnf;
|
private BigDecimal initialQtaCnf;
|
||||||
@ -77,6 +78,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.shouldAskDataScad = mtbAart.get().isFlagQtaCnfFissaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0;
|
this.shouldAskDataScad = mtbAart.get().isFlagQtaCnfFissaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0;
|
||||||
|
this.shouldShowDataScad = this.internalDataScad != null;
|
||||||
|
|
||||||
this.blockedNumCnf.set(false);
|
this.blockedNumCnf.set(false);
|
||||||
this.blockedQtaCnf.set(false);
|
this.blockedQtaCnf.set(false);
|
||||||
|
|||||||
@ -380,7 +380,7 @@
|
|||||||
style="@style/TextInputLayout.OutlinePrimary"
|
style="@style/TextInputLayout.OutlinePrimary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="@{viewmodel.shouldAskDataScad ? 1f : 2f}"
|
android:layout_weight="@{viewmodel.shouldAskDataScad || viewmodel.shouldShowDataScad ? 1f : 2f}"
|
||||||
android:paddingEnd="4dp"
|
android:paddingEnd="4dp"
|
||||||
tools:layout_weight="1">
|
tools:layout_weight="1">
|
||||||
|
|
||||||
@ -400,7 +400,7 @@
|
|||||||
style="@style/TextInputLayout.OutlinePrimary"
|
style="@style/TextInputLayout.OutlinePrimary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="@{viewmodel.shouldAskDataScad ? View.VISIBLE : View.GONE}"
|
android:visibility="@{viewmodel.shouldAskDataScad || viewmodel.shouldShowDataScad ? View.VISIBLE : View.GONE}"
|
||||||
android:layout_weight="1">
|
android:layout_weight="1">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user