aggiunti controlli per rendere obbligatorie le note sui documenti di taglio di carelli
This commit is contained in:
@@ -31,8 +31,8 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.databinding.FragmentDocInterniBinding;
|
import it.integry.integrywmsnative.databinding.FragmentDocInterniBinding;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoView;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoView;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoViewModel;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoViewModel;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormActivity;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormActivity;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListAdapter;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListModel;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListModel;
|
||||||
@@ -201,6 +201,6 @@ public class DocInterniFragment extends BaseFragment implements ITitledFragment,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDocumentEditRequest(SqlMtbColt document, GrigliaAcquistiDTO arts) {
|
public void onDocumentEditRequest(SqlMtbColt document, GrigliaAcquistiDTO arts) {
|
||||||
requireActivity().startActivity(DocInterniEditFormActivity.newInstance(requireActivity(),document,arts));
|
requireActivity().startActivity(DocInterniEditFormActivity.newInstance(requireActivity(), document, arts, mViewModel.getTipoDoc()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package it.integry.integrywmsnative.gest.contab_doc_interni;
|
|||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -17,10 +15,10 @@ import it.integry.integrywmsnative.core.di.BindableInteger;
|
|||||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoViewModel;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoViewModel;
|
||||||
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.FornitoreDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.FornitoreDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GruppiArticoloDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GruppiArticoloDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
||||||
|
|
||||||
@@ -141,6 +139,13 @@ public class DocInterniViewModel {
|
|||||||
return this.dtbTipi.getValue().getCodDtip();
|
return this.dtbTipi.getValue().getCodDtip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TipiDocDTO getTipoDoc() {
|
||||||
|
if (this.dtbTipi.getValue() == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.dtbTipi.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
private String getCodMgrp() {
|
private String getCodMgrp() {
|
||||||
if (this.mtbGrup.getValue() == null) {
|
if (this.mtbGrup.getValue() == null) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -148,8 +148,7 @@ public class DialogSelectDocInfoViewModel {
|
|||||||
public boolean requiresNote() {
|
public boolean requiresNote() {
|
||||||
return this.getSelectedTipoDoc() != null &&
|
return this.getSelectedTipoDoc() != null &&
|
||||||
this.getSelectedTipoDoc().getGestioneDoc().equals("P") &&
|
this.getSelectedTipoDoc().getGestioneDoc().equals("P") &&
|
||||||
this.getSelectedTipoDoc().getGestione().equals("L")
|
this.getSelectedTipoDoc().getGestione().equals("L");
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInputValid() {
|
public boolean isInputValid() {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ public class TipiDocDTO {
|
|||||||
private String descrizione;
|
private String descrizione;
|
||||||
private String gestione;
|
private String gestione;
|
||||||
private String gestioneDoc;
|
private String gestioneDoc;
|
||||||
|
private boolean requireNote = false;
|
||||||
|
|
||||||
public String getCodDtip() {
|
public String getCodDtip() {
|
||||||
return codDtip;
|
return codDtip;
|
||||||
@@ -38,7 +39,17 @@ public class TipiDocDTO {
|
|||||||
public void setGestioneDoc(String gestioneDoc) {
|
public void setGestioneDoc(String gestioneDoc) {
|
||||||
this.gestioneDoc = gestioneDoc;
|
this.gestioneDoc = gestioneDoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLabel() {
|
public String getLabel() {
|
||||||
return this.codDtip + " - " + this.descrizione;
|
return this.codDtip + " - " + this.descrizione;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isRequireNote() {
|
||||||
|
return requireNote;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TipiDocDTO setRequireNote(boolean requireNote) {
|
||||||
|
this.requireNote = requireNote;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding;
|
import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiChildDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiChildDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
|
||||||
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
||||||
@@ -52,6 +53,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
|
|
||||||
private static final String DATA_KEY_DOCUMENT = "document";
|
private static final String DATA_KEY_DOCUMENT = "document";
|
||||||
private static final String DATA_KEY_PRODUCTS_LIST = "productsList";
|
private static final String DATA_KEY_PRODUCTS_LIST = "productsList";
|
||||||
|
private static final String DATA_KEY_TIPO_DOC = "docType";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
MtbColrRepository documentRowsRepository;
|
MtbColrRepository documentRowsRepository;
|
||||||
@@ -75,13 +77,15 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
public BindableBoolean isDocumentExportable = new BindableBoolean(false);
|
public BindableBoolean isDocumentExportable = new BindableBoolean(false);
|
||||||
private final ObservableArrayList<SqlMtbColr> documentRowsObservableList = new ObservableArrayList<>();
|
private final ObservableArrayList<SqlMtbColr> documentRowsObservableList = new ObservableArrayList<>();
|
||||||
|
|
||||||
public static Intent newInstance(Context context, SqlMtbColt document, GrigliaAcquistiDTO productList) {
|
public static Intent newInstance(Context context, SqlMtbColt document, GrigliaAcquistiDTO productList, TipiDocDTO tipoDoc) {
|
||||||
Intent myIntent = new Intent(context, DocInterniEditFormActivity.class);
|
Intent myIntent = new Intent(context, DocInterniEditFormActivity.class);
|
||||||
|
|
||||||
String doc = DataCache.addItem(document);
|
String doc = DataCache.addItem(document);
|
||||||
String productsKey = DataCache.addItem(productList);
|
String productsKey = DataCache.addItem(productList);
|
||||||
|
String docType = DataCache.addItem(tipoDoc);
|
||||||
myIntent.putExtra(DATA_KEY_DOCUMENT, doc);
|
myIntent.putExtra(DATA_KEY_DOCUMENT, doc);
|
||||||
myIntent.putExtra(DATA_KEY_PRODUCTS_LIST, productsKey);
|
myIntent.putExtra(DATA_KEY_PRODUCTS_LIST, productsKey);
|
||||||
|
myIntent.putExtra(DATA_KEY_TIPO_DOC, docType);
|
||||||
return myIntent;
|
return myIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +100,14 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
SqlMtbColt document = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_DOCUMENT));
|
SqlMtbColt document = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_DOCUMENT));
|
||||||
GrigliaAcquistiDTO griglia = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_PRODUCTS_LIST));
|
GrigliaAcquistiDTO griglia = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_PRODUCTS_LIST));
|
||||||
List<GrigliaAcquistiChildDTO> productList = griglia.getGrigliaAcquistiChild();
|
List<GrigliaAcquistiChildDTO> productList = griglia.getGrigliaAcquistiChild();
|
||||||
this.initViewModel(document, productList);
|
TipiDocDTO docType = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_TIPO_DOC));
|
||||||
|
|
||||||
|
this.initViewModel();
|
||||||
|
this.viewModel.setDocument(document);
|
||||||
|
this.viewModel.setProductsList(productList);
|
||||||
|
this.viewModel.setTipoDoc(docType);
|
||||||
|
|
||||||
|
|
||||||
this.initView();
|
this.initView();
|
||||||
this.initBindables();
|
this.initBindables();
|
||||||
this.initRecyclerView();
|
this.initRecyclerView();
|
||||||
@@ -137,12 +148,9 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
binding.bottomSheetMtbColrEdit.init(binding.bottomSheetMtbColrEdit, binding.bottomSheetMtbColrEditBackground);
|
binding.bottomSheetMtbColrEdit.init(binding.bottomSheetMtbColrEdit, binding.bottomSheetMtbColrEditBackground);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initViewModel(SqlMtbColt document, List<GrigliaAcquistiChildDTO> productList) {
|
private void initViewModel() {
|
||||||
this.viewModel.init();
|
this.viewModel.init();
|
||||||
this.viewModel.setListeners(this);
|
this.viewModel.setListeners(this);
|
||||||
this.viewModel.setDocument(document);
|
|
||||||
this.viewModel.setProductsList(productList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
@@ -239,6 +247,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
.setCanOverflowOrderQuantity(false)
|
.setCanOverflowOrderQuantity(false)
|
||||||
.setCanLUBeClosed(false)
|
.setCanLUBeClosed(false)
|
||||||
.setNotesAllowed(true)
|
.setNotesAllowed(true)
|
||||||
|
.setNotesMandatory(this.viewModel.isNotesMandatory())
|
||||||
.setDataScadMandatory(flagTracciabilita)
|
.setDataScadMandatory(flagTracciabilita)
|
||||||
.setCanPartitaMagBeChanged(flagTracciabilita)
|
.setCanPartitaMagBeChanged(flagTracciabilita)
|
||||||
.setSuggestPartitaMag(data -> {
|
.setSuggestPartitaMag(data -> {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
|
|||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiChildDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiChildDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ResultDTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ResultDTO;
|
||||||
|
|
||||||
@@ -38,6 +39,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
private final DocInterniRESTConsumer docInterniRESTConsumer;
|
private final DocInterniRESTConsumer docInterniRESTConsumer;
|
||||||
private DocInterniEditFormViewModel.Listener listener;
|
private DocInterniEditFormViewModel.Listener listener;
|
||||||
private List<GrigliaAcquistiChildDTO> productsList;
|
private List<GrigliaAcquistiChildDTO> productsList;
|
||||||
|
private TipiDocDTO tipoDoc;
|
||||||
private boolean isCheckPartitaMag = false;
|
private boolean isCheckPartitaMag = false;
|
||||||
private JSONObject checkFornitoreRules = null;
|
private JSONObject checkFornitoreRules = null;
|
||||||
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
|
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
|
||||||
@@ -299,6 +301,15 @@ public class DocInterniEditFormViewModel {
|
|||||||
return Stream.of(productsList).filter(prod -> prod.codMart.equalsIgnoreCase(codMart)).findFirstOrElse(null);
|
return Stream.of(productsList).filter(prod -> prod.codMart.equalsIgnoreCase(codMart)).findFirstOrElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DocInterniEditFormViewModel setTipoDoc(TipiDocDTO docType) {
|
||||||
|
this.tipoDoc = docType;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNotesMandatory() {
|
||||||
|
return this.tipoDoc != null && this.tipoDoc.isRequireNote();
|
||||||
|
}
|
||||||
|
|
||||||
public interface Listener extends ILoadingListener {
|
public interface Listener extends ILoadingListener {
|
||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class InvalidNotesException extends Exception {
|
||||||
|
|
||||||
|
public InvalidNotesException() {
|
||||||
|
super(UtilityResources.getString(R.string.empty_notes_input_message));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -30,6 +30,7 @@ public class DialogInputQuantityV2DTO {
|
|||||||
private boolean canPartitaMagBeChanged = true;
|
private boolean canPartitaMagBeChanged = true;
|
||||||
private boolean isDataScadMandatory = false;
|
private boolean isDataScadMandatory = false;
|
||||||
private boolean isNotesAllowed = false;
|
private boolean isNotesAllowed = false;
|
||||||
|
private boolean isNotesMandatory = false;
|
||||||
private boolean canLUBeClosed;
|
private boolean canLUBeClosed;
|
||||||
private boolean saveOnImeDone = false;
|
private boolean saveOnImeDone = false;
|
||||||
|
|
||||||
@@ -229,6 +230,15 @@ public class DialogInputQuantityV2DTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isNotesMandatory() {
|
||||||
|
return isNotesMandatory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setNotesMandatory(boolean notesMandatory) {
|
||||||
|
isNotesMandatory = notesMandatory;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public RunnableArgsWithReturn<DialogInputQuantityV2ViewModel, String> getSuggestPartitaMag() {
|
public RunnableArgsWithReturn<DialogInputQuantityV2ViewModel, String> getSuggestPartitaMag() {
|
||||||
return suggestPartitaMag;
|
return suggestPartitaMag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
.setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable())
|
.setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable())
|
||||||
.setPartitaMag(mDialogInputQuantityV2DTO.getPartitaMag())
|
.setPartitaMag(mDialogInputQuantityV2DTO.getPartitaMag())
|
||||||
.setNote(mDialogInputQuantityV2DTO.getNote())
|
.setNote(mDialogInputQuantityV2DTO.getNote())
|
||||||
|
.setIsNoteMandatory(mDialogInputQuantityV2DTO.isNotesMandatory())
|
||||||
.setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag())
|
.setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag())
|
||||||
.setDataScad(mDialogInputQuantityV2DTO.getDataScad());
|
.setDataScad(mDialogInputQuantityV2DTO.getDataScad());
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidBatchLotException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidBatchLotException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidExpireDateException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidExpireDateException;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidNotesException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidQtaCnfQuantityException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidQtaCnfQuantityException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidQuantityException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidQuantityException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowNumCnfAvailableQuantityException;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowNumCnfAvailableQuantityException;
|
||||||
@@ -50,6 +51,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
|
|
||||||
public Boolean shouldAskDataScad;
|
public Boolean shouldAskDataScad;
|
||||||
public Boolean shouldShowDataScad;
|
public Boolean shouldShowDataScad;
|
||||||
|
public Boolean isNoteMandatory;
|
||||||
|
|
||||||
private BigDecimal initialNumCnf;
|
private BigDecimal initialNumCnf;
|
||||||
private BigDecimal initialQtaCnf;
|
private BigDecimal initialQtaCnf;
|
||||||
@@ -403,7 +405,8 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
}
|
||||||
|
if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||||
if (suggestPartitaMagRunnable != null) {
|
if (suggestPartitaMagRunnable != null) {
|
||||||
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
||||||
if (internalPartitaMag == null) {
|
if (internalPartitaMag == null) {
|
||||||
@@ -415,38 +418,45 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
}
|
||||||
|
if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.mListener.onError(new InvalidBatchLotException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (this.shouldAskDataScad && this.internalDataScad == null) {
|
}
|
||||||
|
if (this.shouldAskDataScad && this.internalDataScad == null) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidExpireDateException());
|
this.mListener.onError(new InvalidExpireDateException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
}
|
||||||
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
|
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd)) {
|
}
|
||||||
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd)) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
|
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
}
|
||||||
|
if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
|
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable)) {
|
}
|
||||||
|
if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable)) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
|
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null ||
|
}
|
||||||
|
if (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null ||
|
||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalNumCnf, BigDecimal.ZERO) ||
|
UtilityBigDecimal.equalsOrLowerThan(this.internalNumCnf, BigDecimal.ZERO) ||
|
||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) ||
|
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) ||
|
||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) {
|
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) {
|
||||||
@@ -455,6 +465,10 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) {
|
||||||
|
this.mListener.onError(new InvalidNotesException());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
||||||
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
||||||
@@ -486,6 +500,14 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean isNoteMandatory() {
|
||||||
|
return isNoteMandatory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setIsNoteMandatory(Boolean noteMandatory) {
|
||||||
|
isNoteMandatory = noteMandatory;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public MtbAart getMtbAart() {
|
public MtbAart getMtbAart() {
|
||||||
return this.mtbAart.get();
|
return this.mtbAart.get();
|
||||||
|
|||||||
@@ -178,6 +178,7 @@
|
|||||||
<string name="invalid_production_line_error_message"><![CDATA[<b>Linea di produzione</b> non valida]]></string>
|
<string name="invalid_production_line_error_message"><![CDATA[<b>Linea di produzione</b> non valida]]></string>
|
||||||
<string name="expire_date_error_message"><![CDATA[La <b>data di scadenza</b> inserita non è valida]]></string>
|
<string name="expire_date_error_message"><![CDATA[La <b>data di scadenza</b> inserita non è valida]]></string>
|
||||||
<string name="batch_lot_error_message"><![CDATA[Il <b>lotto</b> inserito non è valido]]></string>
|
<string name="batch_lot_error_message"><![CDATA[Il <b>lotto</b> inserito non è valido]]></string>
|
||||||
|
<string name="empty_notes_input_message"><![CDATA[Il <b>campo note</b> deve essere compilato per il modulo corrente.]]></string>
|
||||||
<string name="settings_category">Impostazioni</string>
|
<string name="settings_category">Impostazioni</string>
|
||||||
<string name="check_box_preference_title">Check box</string>
|
<string name="check_box_preference_title">Check box</string>
|
||||||
<string name="check_box_preference_summary">This is a regular preference</string>
|
<string name="check_box_preference_summary">This is a regular preference</string>
|
||||||
|
|||||||
@@ -178,6 +178,7 @@
|
|||||||
<string name="invalid_production_line_error_message"><![CDATA[Invalid <b>production line</b>]]></string>
|
<string name="invalid_production_line_error_message"><![CDATA[Invalid <b>production line</b>]]></string>
|
||||||
<string name="expire_date_error_message"><![CDATA[The inserted <b>expire date</b> is not valid, please check it.]]></string>
|
<string name="expire_date_error_message"><![CDATA[The inserted <b>expire date</b> is not valid, please check it.]]></string>
|
||||||
<string name="batch_lot_error_message"><![CDATA[The inserted <b>batch lot</b> is not valid, please check it.]]></string>
|
<string name="batch_lot_error_message"><![CDATA[The inserted <b>batch lot</b> is not valid, please check it.]]></string>
|
||||||
|
<string name="empty_notes_input_message"><![CDATA[The <b>notes field</b> requires to be filled in for the current form.]]></string>
|
||||||
<string name="settings_category">Settings</string>
|
<string name="settings_category">Settings</string>
|
||||||
<string name="check_box_preference_title">Check box</string>
|
<string name="check_box_preference_title">Check box</string>
|
||||||
<string name="check_box_preference_summary">This is a regular preference</string>
|
<string name="check_box_preference_summary">This is a regular preference</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user