Implementato override del check della tracciabilità in Accettazione da bolla
This commit is contained in:
parent
1e129d1ea9
commit
d003a0322e
@ -68,6 +68,7 @@ public class DBSettingsModel {
|
||||
private boolean flagCanAddUnknownItemsAccettazioneBolla = false;
|
||||
private boolean flagCanAddUnknownBarcodesAccettazioneBolla = false;
|
||||
private boolean flagEnableFastPickAccettazioneBolla = false;
|
||||
private boolean flagDisableMandatoryTracciabilitaAccettazioneBolla = false;
|
||||
|
||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||
return flagSpedizioneEnableFakeGiacenza;
|
||||
@ -546,4 +547,13 @@ public class DBSettingsModel {
|
||||
this.flagEnableFastPickAccettazioneBolla = flagEnableFastPickAccettazioneBolla;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagDisableMandatoryTracciabilitaAccettazioneBolla() {
|
||||
return flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagDisableMandatoryTracciabilitaAccettazioneBolla(boolean flagDisableMandatoryTracciabilitaAccettazioneBolla) {
|
||||
this.flagDisableMandatoryTracciabilitaAccettazioneBolla = flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -464,6 +464,12 @@ public class SettingsManager {
|
||||
.setKeySection("FLAG_ENABLE_FAST_PICK")
|
||||
.setSetter(dbSettingsModelIstance::setFlagEnableFastPickAccettazioneBolla)
|
||||
.setDefaultValue(false));
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("ACCETTAZIONE_BOLLA")
|
||||
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
|
||||
.setSetter(dbSettingsModelIstance::setFlagDisableMandatoryTracciabilitaAccettazioneBolla)
|
||||
.setDefaultValue(false));
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
|
||||
|
||||
@ -200,7 +200,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
||||
});
|
||||
|
||||
adapter.setOnItemClicked(clickedItem -> {
|
||||
this.mViewModel.dispatchBollaRow(clickedItem);
|
||||
this.mViewModel.manageDispatchBollaRow(clickedItem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -491,7 +491,8 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
||||
.setDataScad(dataScad)
|
||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||
.setCanLUBeClosed(true)
|
||||
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
||||
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
||||
.setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagDisableMandatoryTracciabilitaAccettazioneBolla());
|
||||
|
||||
if (!mDialogInputQuantityV2View.isVisible())
|
||||
mDialogInputQuantityV2View
|
||||
|
||||
@ -341,7 +341,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
if (matchedRows == null || matchedRows.size() == 0) {
|
||||
manageNoArtFound(mtbAart);
|
||||
} else if (matchedRows.size() == 1) {
|
||||
this.dispatchBollaRow(matchedRows.get(0));
|
||||
this.manageDispatchBollaRow(matchedRows.get(0));
|
||||
} else {
|
||||
//So che il codMart sarà solo 1
|
||||
var firstCodMart = Stream.of(matchedRows)
|
||||
@ -359,7 +359,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
if (SettingsManager.iDB().isFlagCanAddUnknownBarcodesAccettazioneBolla()) {
|
||||
//TODO: Implementare popup che richiede delle note aggiuntive sul barcode scansionato
|
||||
this.sendOnUnknownBarcodeScanned(barcode, notes -> {
|
||||
this.dispatchBollaRow(new PickingObjectDTO()
|
||||
this.manageDispatchBollaRow(new PickingObjectDTO()
|
||||
.setMtbAart(new MtbAart()
|
||||
.setDescrizione(notes)
|
||||
.setDescrizioneEstesa(notes)
|
||||
@ -378,7 +378,7 @@ public class AccettazioneBollaPickingViewModel {
|
||||
private void manageNoArtFound(MtbAart mtbAart) {
|
||||
if (SettingsManager.iDB().isFlagCanAddUnknownItemsAccettazioneBolla()) {
|
||||
|
||||
this.dispatchBollaRow(new PickingObjectDTO()
|
||||
this.manageDispatchBollaRow(new PickingObjectDTO()
|
||||
.setMtbAart(mtbAart));
|
||||
} else
|
||||
this.sendError(new NoArtsFoundException());
|
||||
@ -417,6 +417,22 @@ public class AccettazioneBollaPickingViewModel {
|
||||
this.sendOnInfoAggiuntiveRequest(onComplete);
|
||||
}
|
||||
|
||||
public void manageDispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
||||
if (SettingsManager.iDB().isFlagEnableFastPickAccettazioneBolla()) {
|
||||
this.saveNewRow(pickingObjectDTO,
|
||||
BigDecimal.ONE,
|
||||
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
||||
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
||||
null,
|
||||
null,
|
||||
false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
dispatchBollaRow(pickingObjectDTO);
|
||||
}
|
||||
|
||||
public void dispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
||||
if (this.mCurrentMtbColt == null) return;
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@ -70,7 +71,6 @@ public class DialogAskUnknownBarcodeNotesView extends BaseDialogFragment {
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setPositiveButton(R.string.confirm, ((dialogInterface, i) -> {
|
||||
if(this.onComplete != null) onComplete.run(mViewModel.userNotes.get());
|
||||
}))
|
||||
.setNegativeButton(R.string.abort, (dialogInterface, i) -> {
|
||||
if (this.onAbort != null) onAbort.run();
|
||||
@ -90,6 +90,22 @@ public class DialogAskUnknownBarcodeNotesView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
super.onShow(dialogInterface);
|
||||
|
||||
((AlertDialog) getDialog())
|
||||
.getButton(AlertDialog.BUTTON_POSITIVE)
|
||||
.setOnClickListener(v -> {
|
||||
if(!mViewModel.validateInput())
|
||||
return;
|
||||
|
||||
dismiss();
|
||||
if (onComplete != null) onComplete.run(mViewModel.userNotes.get());
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
||||
@ -98,8 +114,6 @@ public class DialogAskUnknownBarcodeNotesView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void initBarcode() {
|
||||
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessfull)
|
||||
|
||||
@ -4,14 +4,15 @@ import androidx.databinding.ObservableField;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.core.di.BindableString;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
|
||||
public class DialogAskUnknownBarcodeNotesViewModel {
|
||||
public ObservableField<String> userNotes = new ObservableField<>();
|
||||
public BindableString userNotesErrorMessage = new BindableString();
|
||||
|
||||
private ArticoloRESTConsumer articoloRESTConsumer;
|
||||
|
||||
@ -57,4 +58,14 @@ public class DialogAskUnknownBarcodeNotesViewModel {
|
||||
articoloRESTConsumer.updateBarcodeImballo(mtbAart.getCodMart(), unknownBarcode, onComplete, onFailed);
|
||||
}, onFailed);
|
||||
}
|
||||
|
||||
public boolean validateInput() {
|
||||
final boolean emptyUserNotes = userNotes.get() != null && !userNotes.get().isEmpty() && !userNotes.get().isBlank();
|
||||
|
||||
if(!emptyUserNotes)
|
||||
userNotesErrorMessage.set("E' necessario scrivere delle note");
|
||||
|
||||
|
||||
return emptyUserNotes;
|
||||
}
|
||||
}
|
||||
@ -43,6 +43,7 @@ public class DialogInputQuantityV2DTO {
|
||||
private boolean canLUBeClosed;
|
||||
private boolean saveOnImeDone = false;
|
||||
private boolean notifyProductLotStatus = false;
|
||||
private boolean disableTracciabilitaCheck = false;
|
||||
|
||||
private StatoArticoloDTO statoPartitaMag;
|
||||
|
||||
@ -349,4 +350,13 @@ public class DialogInputQuantityV2DTO {
|
||||
this.notifyProductLotStatus = notifyProductLotStatus;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isDisableTracciabilitaCheck() {
|
||||
return disableTracciabilitaCheck;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2DTO setDisableTracciabilitaCheck(boolean disableTracciabilitaCheck) {
|
||||
this.disableTracciabilitaCheck = disableTracciabilitaCheck;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -173,7 +173,8 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
.setNote(mDialogInputQuantityV2DTO.getNote())
|
||||
.setIsNoteMandatory(mDialogInputQuantityV2DTO.isNotesMandatory())
|
||||
.setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag())
|
||||
.setDataScad(mDialogInputQuantityV2DTO.getDataScad());
|
||||
.setDataScad(mDialogInputQuantityV2DTO.getDataScad())
|
||||
.setDisableTracciabilitaCheck(mDialogInputQuantityV2DTO.isDisableTracciabilitaCheck());
|
||||
|
||||
mBindings.setView(this);
|
||||
mBindings.setViewmodel(this.mViewModel);
|
||||
|
||||
@ -77,6 +77,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
private boolean canPartitaMagBeChanged;
|
||||
private int onNumCnfInputChanged;
|
||||
private int onQtaTotInputChanged;
|
||||
private boolean disableTracciabilitaCheck;
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
@ -330,6 +331,11 @@ public class DialogInputQuantityV2ViewModel {
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2ViewModel setDisableTracciabilitaCheck(boolean disableTracciabilitaCheck) {
|
||||
this.disableTracciabilitaCheck = disableTracciabilitaCheck;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean canPartitaMagBeChanged() {
|
||||
return canPartitaMagBeChanged;
|
||||
}
|
||||
@ -451,7 +457,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||
if (!disableTracciabilitaCheck && mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||
if (suggestPartitaMagRunnable != null) {
|
||||
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
||||
if (internalPartitaMag == null) {
|
||||
|
||||
@ -58,6 +58,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:imeOptions="actionDone"
|
||||
android:layout_marginTop="12dp"
|
||||
app:errorText="@{viewmodel.userNotesErrorMessage}"
|
||||
android:hint="Note">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user