This commit is contained in:
Giuseppe Scorrano 2020-03-10 09:43:20 +01:00
parent 9648412bf2
commit b2330b6416
34 changed files with 614 additions and 218 deletions

View File

@ -18,7 +18,11 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<activity android:name=".gest.spedizione_new.SpedizioneActivity"></activity> <activity
android:name=".gest.spedizione_new.SpedizioneActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" ></activity>
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" /> <activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
<activity <activity
android:name=".gest.picking_resi.PickingResiActivity" android:name=".gest.picking_resi.PickingResiActivity"

View File

@ -3,11 +3,14 @@ package it.integry.integrywmsnative.core.di;
import androidx.annotation.ColorRes; import androidx.annotation.ColorRes;
import androidx.annotation.IdRes; import androidx.annotation.IdRes;
import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView; import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView;
import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.BindingAdapter; import androidx.databinding.BindingAdapter;
import androidx.databinding.BindingConversion; import androidx.databinding.BindingConversion;
import androidx.constraintlayout.widget.Guideline; import androidx.constraintlayout.widget.Guideline;
import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText;
import androidx.core.util.Pair; import androidx.core.util.Pair;
import androidx.appcompat.widget.AppCompatCheckBox; import androidx.appcompat.widget.AppCompatCheckBox;
import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.AppCompatTextView;
@ -22,15 +25,19 @@ import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.Locale; import java.util.Locale;
import androidx.databinding.Observable; import androidx.databinding.Observable;
import androidx.databinding.ObservableField;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
public class Converters { public class Converters {
@ -52,7 +59,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
bindableString.set(s.toString()); bindableString.set(s.toString());
} }
}; };
@ -73,7 +81,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
bindableString.set(s.toString()); bindableString.set(s.toString());
} }
}; };
@ -86,6 +95,28 @@ public class Converters {
} }
} }
@BindingAdapter("binding")
public static void bindTextInputEditText(TextInputEditText view, final ObservableField<BigDecimal> observableBigDecimal) {
Pair<ObservableField<BigDecimal>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
if (pair == null || pair.first != observableBigDecimal) {
if (pair != null) {
view.removeTextChangedListener(pair.second);
}
TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
observableBigDecimal.set(new BigDecimal(s.toString()));
}
};
view.setTag(R.id.bound_observable, new Pair<>(observableBigDecimal, watcher));
view.addTextChangedListener(watcher);
}
BigDecimal newValue = observableBigDecimal.get();
if(view.getText().toString().trim().length() > 0 && !UtilityBigDecimal.equalsTo(new BigDecimal(view.getText().toString()), newValue)) {
view.setText(UtilityNumber.decimalToString(newValue));
}
}
@BindingAdapter("binding") @BindingAdapter("binding")
public static void bindAutoCompleteTextView(AutoCompleteTextView view, final BindableString bindableString) { public static void bindAutoCompleteTextView(AutoCompleteTextView view, final BindableString bindableString) {
Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable); Pair<BindableString, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
@ -94,7 +125,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
bindableString.set(s.toString()); bindableString.set(s.toString());
} }
}; };
@ -115,7 +147,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
bindableString.set(s.toString()); bindableString.set(s.toString());
} }
}; };
@ -136,7 +169,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
bindableString.set(s.toString()); bindableString.set(s.toString());
} }
}; };
@ -166,7 +200,8 @@ public class Converters {
view.removeTextChangedListener(pair.second); view.removeTextChangedListener(pair.second);
} }
TextWatcherAdapter watcher = new TextWatcherAdapter() { TextWatcherAdapter watcher = new TextWatcherAdapter() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try { try {
if (s.toString().trim().isEmpty()) { if (s.toString().trim().isEmpty()) {
bindableFloat.set(null); bindableFloat.set(null);
@ -251,4 +286,13 @@ public class Converters {
view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE); view.setVisibility(bindableBoolean.get() ? View.VISIBLE : View.GONE);
} }
@BindingAdapter("android:layout_weight")
public static void setLayoutWeight(View view, final Float weight) {
LinearLayoutCompat.LayoutParams layoutParams = (LinearLayoutCompat.LayoutParams) view.getLayoutParams();
layoutParams.weight = weight;
view.setLayoutParams(layoutParams);
}
} }

View File

@ -6,6 +6,8 @@ import android.os.Parcelable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityString;
/** /**
* Created by GiuseppeS on 06/03/2018. * Created by GiuseppeS on 06/03/2018.
*/ */
@ -658,6 +660,10 @@ public class MtbAart implements Parcelable{
return flagRapConvVariabile; return flagRapConvVariabile;
} }
public boolean getFlagRapConvVariabileBoolean() {
return !UtilityString.isNullOrEmpty(flagRapConvVariabile) && flagRapConvVariabile.equalsIgnoreCase("S");
}
public MtbAart setFlagRapConvVariabile(String flagRapConvVariabile) { public MtbAart setFlagRapConvVariabile(String flagRapConvVariabile) {
this.flagRapConvVariabile = flagRapConvVariabile; this.flagRapConvVariabile = flagRapConvVariabile;
return this; return this;
@ -703,7 +709,7 @@ public class MtbAart implements Parcelable{
return flagQtaCnfFissa; return flagQtaCnfFissa;
} }
public boolean isFlagQtaCnfFissa() { public boolean getFlagQtaCnfFissaBoolean() {
return "S".equalsIgnoreCase(flagQtaCnfFissa); return "S".equalsIgnoreCase(flagQtaCnfFissa);
} }

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.core.utility;
import androidx.databinding.Observable;
import androidx.databinding.ObservableField;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class UtilityObservable {
public static <T> void addPropertyChanged(ObservableField<T> observableField, RunnableArgs<T> onValueChanged) {
observableField.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
onValueChanged.run(observableField.get());
}
});
}
}

View File

@ -784,7 +784,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
//if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) { //if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
dto.setQtaTot(new BigDecimal(ean128Model.Count)); dto.setQtaTot(new BigDecimal(ean128Model.Count));
if (!item.getMtbAart().isFlagQtaCnfFissa()) { if (!item.getMtbAart().getFlagQtaCnfFissaBoolean()) {
dto.setQtaCnf(new BigDecimal(ean128Model.Count)); dto.setQtaCnf(new BigDecimal(ean128Model.Count));
} }
//} else { //} else {
@ -827,7 +827,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
.setCodJcom(item.getCodJcom()) .setCodJcom(item.getCodJcom())
.setRigaOrd(item.getRigaOrd()); .setRigaOrd(item.getRigaOrd());
if (!item.getMtbAart().isFlagQtaCnfFissa()) { if (!item.getMtbAart().getFlagQtaCnfFissaBoolean()) {
mtbColr.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()); mtbColr.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal());
} }

View File

@ -39,7 +39,7 @@ public class ContenutoBancaleListAdapter extends RecyclerView.Adapter<ContenutoB
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) { if(mtbColr.getMtbAart() != null) {
@ -78,7 +78,7 @@ public class ContenutoBancaleListAdapter extends RecyclerView.Adapter<ContenutoB
holder.bind(mtbColr); holder.bind(mtbColr);
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) { if(mtbColr.getMtbAart() != null) {

View File

@ -20,6 +20,7 @@ import java.util.List;
import it.integry.integrywmsnative.MainActivity; import it.integry.integrywmsnative.MainActivity;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration; import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
@ -144,6 +145,18 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
} }
private void cyclicRecover(Iterator<Integer> sessionsIterator, Runnable onComplete, RunnableArgs<Exception> onFailed) { private void cyclicRecover(Iterator<Integer> sessionsIterator, Runnable onComplete, RunnableArgs<Exception> onFailed) {
RunnableArgss<Exception, Integer> tmpOnFailed = (ex, recoveredMtbColtID) -> {
if (ex.getMessage().contains("Dati entity mtb_colt non trovati") || ex.getMessage().contains("Dati collo non corretti") || (ex.getMessage().contains("Il collo numero") && ex.getMessage().contains("non esiste"))) {
ColliDataRecover.closeSession(recoveredMtbColtID);
onFailed.run(ex);
} else {
onFailed.run(ex);
}
cyclicRecover(sessionsIterator, onComplete, onFailed);
};
if (sessionsIterator.hasNext()) { if (sessionsIterator.hasNext()) {
Integer recoveredMtbColtID = sessionsIterator.next(); Integer recoveredMtbColtID = sessionsIterator.next();
ColliDataRecover.RecoverDTO recoveredMtbColtDto = ColliDataRecover.getSession(recoveredMtbColtID); ColliDataRecover.RecoverDTO recoveredMtbColtDto = ColliDataRecover.getSession(recoveredMtbColtID);
@ -160,17 +173,11 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
cyclicRecover(sessionsIterator, onComplete, onFailed); cyclicRecover(sessionsIterator, onComplete, onFailed);
}, ex -> { }, ex -> {
tmpOnFailed.run(ex, recoveredMtbColtID);
if(ex.getMessage().contains("Dati collo non corretti") || (ex.getMessage().contains("Il collo numero") && ex.getMessage().contains("non esiste"))) { });
ColliDataRecover.closeSession(recoveredMtbColtID); }, ex -> {
onFailed.run(ex); tmpOnFailed.run(ex, recoveredMtbColtID);
} else {
onFailed.run(ex);
}
cyclicRecover(sessionsIterator, onComplete, onFailed);
}); });
}, onFailed);
} else { } else {
ColliDataRecover.closeSession(recoveredMtbColtID); ColliDataRecover.closeSession(recoveredMtbColtID);
cyclicRecover(sessionsIterator, onComplete, onFailed); cyclicRecover(sessionsIterator, onComplete, onFailed);
@ -182,11 +189,13 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
} }
private void collapseNoConnectionLayout() { private void collapseNoConnectionLayout() {
if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.collapse(true)); if (getActivity() != null)
getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.collapse(true));
} }
private void expandNoConnectionLayout() { private void expandNoConnectionLayout() {
if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.expand(true)); if (getActivity() != null)
getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.expand(true));
} }
private void startRecoverMode() { private void startRecoverMode() {
@ -213,15 +222,6 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
} }
private void initGestMenu() { private void initGestMenu() {
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION); BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);

View File

@ -36,7 +36,7 @@ public class PickingLiberoListAdapter extends RecyclerView.Adapter<PickingLibero
public void bind(MtbColr mtbColr) { public void bind(MtbColr mtbColr) {
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) { if(mtbColr.getMtbAart() != null) {

View File

@ -1,9 +1,7 @@
package it.integry.integrywmsnative.gest.picking_resi.core; package it.integry.integrywmsnative.gest.picking_resi.core;
import android.content.Context; import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
@ -140,7 +138,7 @@ public class PickingResiListAdapter extends SectionedRecyclerViewAdapter<Picking
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (dtbDocr.getMtbAart() == null || dtbDocr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (dtbDocr.getMtbAart() == null || dtbDocr.getMtbAart().getFlagQtaCnfFissaBoolean())){
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(qtaColEvasa)); holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(qtaColEvasa));
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc())); holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc()));
holder.mBinding.untMis.setText(dtbDocr.getUntDoc()); holder.mBinding.untMis.setText(dtbDocr.getUntDoc());

View File

@ -8,7 +8,6 @@ import androidx.databinding.DataBindingUtil;
import androidx.databinding.Observable; import androidx.databinding.Observable;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -104,7 +103,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
for (CheckableOrdineLavoro c : ordiniSelezionati) { for (CheckableOrdineLavoro c : ordiniSelezionati) {
BigDecimal usedCol, usedCnf; BigDecimal usedCol, usedCnf;
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr; float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa()) ){ if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean()) ){
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR); usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){ if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){
usedCnf = BigDecimal.ONE; usedCnf = BigDecimal.ONE;
@ -128,7 +127,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
majorOrder = ordiniSelezionati.get(0); majorOrder = ordiniSelezionati.get(0);
} }
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){ if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa())) { if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue()); majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue()); majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
} else { } else {
@ -155,7 +154,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
mViewDataBinding.setMtbColr(mtbColr); mViewDataBinding.setMtbColr(mtbColr);
mViewDataBinding.executePendingBindings(); mViewDataBinding.executePendingBindings();
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())) { if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get()); String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get());
if (mtbColr.getMtbAart() != null) { if (mtbColr.getMtbAart() != null) {

View File

@ -71,7 +71,7 @@ public class ProdVersamentoMaterialViewModel {
mBinding.descrArt.setText(mtbColr.getDescrizione()); mBinding.descrArt.setText(mtbColr.getDescrizione());
mBinding.codArt.setText(mtbColr.getCodMart()); mBinding.codArt.setText(mtbColr.getCodMart());
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : "")); mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())) { if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if (mtbColr.getMtbAart() != null) { if (mtbColr.getMtbAart() != null) {

View File

@ -66,7 +66,7 @@ public class RettificaGiacenzeMainListAdapter extends RecyclerView.Adapter<Retti
holder.bind(mtbColr); holder.bind(mtbColr);
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) { if(mtbColr.getMtbAart() != null) {

View File

@ -78,7 +78,7 @@ public class VenditaOrdineInevasoHelper {
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) { if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
PickingObjectDTO tmpItem = tmpList.get(i); PickingObjectDTO tmpItem = tmpList.get(i);
tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().isFlagQtaCnfFissa() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0)); tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().getFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
tmpItem.setTempHidden(false); tmpItem.setTempHidden(false);
} }
} }
@ -161,7 +161,7 @@ public class VenditaOrdineInevasoHelper {
if(!SettingsManager.iDB().isFlagForceAllToColli() && (currentItem.getMtbAart() == null || currentItem.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (currentItem.getMtbAart() == null || currentItem.getMtbAart().getFlagQtaCnfFissaBoolean())){
rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getQtaCollo() : currentItem.getQtaOrd()); rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getQtaCollo() : currentItem.getQtaOrd());
rowModel.setQtaRiservata(currentQtaColEvasa); rowModel.setQtaRiservata(currentQtaColEvasa);

View File

@ -1147,7 +1147,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
boolean useQtaDaEvadere = false; boolean useQtaDaEvadere = false;
if(tmpPickData.getQtaTot() != null) { if(tmpPickData.getQtaTot() != null) {
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa(); useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().getFlagQtaCnfFissaBoolean();
if (useQtaDaEvadere && !isTakenFromUL) { if (useQtaDaEvadere && !isTakenFromUL) {
dto.setQtaTot(qtaDaEvadere); dto.setQtaTot(qtaDaEvadere);
dto.setMaxQta(qtaDaEvadere); dto.setMaxQta(qtaDaEvadere);
@ -1409,7 +1409,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
qtaDto.setNumCnf(ean128Model.Count); qtaDto.setNumCnf(ean128Model.Count);
} }
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0 && !mtbAart.isFlagQtaCnfFissa()) { if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0 && !mtbAart.getFlagQtaCnfFissaBoolean()) {
qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg)); qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
} else { } else {
qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf()))); qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf())));

View File

@ -3,7 +3,6 @@ package it.integry.integrywmsnative.gest.spedizione_new;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.Dialog; import android.app.Dialog;
@ -28,8 +27,6 @@ import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
import it.integry.integrywmsnative.core.class_router.ClassRouter; import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration; import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
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.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
@ -202,7 +199,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
spedizioneListModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), x.getNumCollo(), x.getDataColloHuman())); spedizioneListModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), x.getNumCollo(), x.getDataColloHuman()));
} }
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissa())) { if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().getFlagQtaCnfFissaBoolean())) {
spedizioneListModel.setUntMis("col"); spedizioneListModel.setUntMis("col");
spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getNumCnfCollo() : x.getNumCnfOrd()); spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getNumCnfCollo() : x.getNumCnfOrd());
} else { } else {
@ -288,11 +285,16 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
} }
@Override @Override
public void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd) { public void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart) .setMtbAart(mtbAart)
.setTotalQtaOrd(totalQtaOrd) .setTotalQtaOrd(totalQtaOrd)
.setTotalNumCnfOrd(totalNumCnfOrd); .setTotalNumCnfOrd(totalNumCnfOrd)
.setTotalQtaToBeTaken(totalQtaToBeTaken)
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
.setTotalQtaAvailable(totalQtaAvailable)
.setTotalNumCnfAvailable(totalNumCnfAvailable);
DialogInputQuantityV2 DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO) .newInstance(dialogInputQuantityV2DTO)

View File

@ -76,7 +76,6 @@ public class SpedizioneViewModel {
} }
public void setDataset(String codMdep, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) { public void setDataset(String codMdep, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) {
this.mDefaultCodMdep = codMdep; this.mDefaultCodMdep = codMdep;
this.mPickingList.postValue(pickingList); this.mPickingList.postValue(pickingList);
@ -205,8 +204,9 @@ public class SpedizioneViewModel {
for (Listeners listener : mListeners) listener.onFilterChanged(newValue); for (Listeners listener : mListeners) listener.onFilterChanged(newValue);
} }
private void sendOnItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd) { private void sendOnItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable) {
for (Listeners listener : mListeners) listener.onItemDispatched(mtbAart, totalQtaOrd, totalNumCnfOrd); for (Listeners listener : mListeners)
listener.onItemDispatched(mtbAart, totalQtaOrd, totalNumCnfOrd, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, totalQtaAvailable, totalNumCnfAvailable);
} }
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
@ -418,7 +418,6 @@ public class SpedizioneViewModel {
.toList(); .toList();
List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList) List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList)
.filter(x -> //x.getNumCollo() == null && .filter(x -> //x.getNumCollo() == null &&
(listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart()))) (listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
@ -430,7 +429,6 @@ public class SpedizioneViewModel {
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i); PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
List<MtbColr> matchWithPartitaMag = Stream.of(scannedUL.getMtbColr()) List<MtbColr> matchWithPartitaMag = Stream.of(scannedUL.getMtbColr())
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) && .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) &&
Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList(); Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList();
@ -484,8 +482,6 @@ public class SpedizioneViewModel {
} }
//} //}
matchPickingObject.addAll(matchPickingObjectByArt); matchPickingObject.addAll(matchPickingObjectByArt);
@ -586,14 +582,32 @@ public class SpedizioneViewModel {
}); });
BigDecimal numCnfDaPrelevare = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue()); BigDecimal numCnfDaPrelevare = null;
BigDecimal qtaColDaPrelevare = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue()); BigDecimal qtaColDaPrelevare = null;
BigDecimal qtaCnfDaPrelevare = null;
if(UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ZERO;
if(UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO)) qtaColDaPrelevare = BigDecimal.ZERO;
this.sendOnItemDispatched(pickingObjectDTO.getMtbAart(), totalQtaOrd, totalNumCnfOrd); BigDecimal totalQtaAvailable = null;
BigDecimal totalNumCnfAvailable = null;
if(pickingObjectDTO.getNumCollo() != null) {
numCnfDaPrelevare = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue());
qtaColDaPrelevare = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue());
qtaCnfDaPrelevare = pickingObjectDTO.getQtaCnfCollo();
totalQtaAvailable = pickingObjectDTO.getQtaDisponibileCollo();
totalNumCnfAvailable = pickingObjectDTO.getNumCnfDisponibileCollo();
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
numCnfDaPrelevare = BigDecimal.ZERO;
if (UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO))
qtaColDaPrelevare = BigDecimal.ZERO;
}
this.sendOnItemDispatched(pickingObjectDTO.getMtbAart(), totalQtaOrd, totalNumCnfOrd, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable);
} }
@ -628,7 +642,6 @@ public class SpedizioneViewModel {
this.mCurrentMtbColt = mtbColt; this.mCurrentMtbColt = mtbColt;
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini); mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
if (onComplete != null) onComplete.run(); if (onComplete != null) onComplete.run();
@ -655,7 +668,7 @@ public class SpedizioneViewModel {
void onError(Exception ex); void onError(Exception ex);
void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd); void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable);
} }
} }

View File

@ -49,7 +49,7 @@ public class ArticoliInColloBottomSheetMtbColrAdapter extends BaseAdapter {
binding.setMtbColr(mtbColr); binding.setMtbColr(mtbColr);
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());

View File

@ -1,30 +1,19 @@
package it.integry.integrywmsnative.view.bottomsheet.viewmodel; package it.integry.integrywmsnative.view.bottomsheet.viewmodel;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.Observable; import androidx.databinding.Observable;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.databinding.ObservableList;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.shape.CornerFamily;
import com.google.android.material.shape.CornerTreatment;
import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import java.lang.ref.WeakReference;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.CommonModelConsts;
@ -38,7 +27,6 @@ import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityProgress; 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.databinding.FragmentArticoliInColloBottomSheetBinding; import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetMtbcolrItemBinding;
import it.integry.integrywmsnative.view.bottomsheet.ArticoliInColloBottomSheetHelper; import it.integry.integrywmsnative.view.bottomsheet.ArticoliInColloBottomSheetHelper;
import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback; import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback;
import it.integry.integrywmsnative.view.bottomsheet.view.ArticoliInColloBottomSheetMtbColrAdapter; import it.integry.integrywmsnative.view.bottomsheet.view.ArticoliInColloBottomSheetMtbColrAdapter;
@ -161,7 +149,7 @@ public class ArticoliInColloBottomSheetViewModel {
//Setting qty with unt_mis //Setting qty with unt_mis
if(clickedItem.getMtbAart() != null) { if(clickedItem.getMtbAart() != null) {
if (clickedItem.getMtbAart().isFlagQtaCnfFissa()) { if (clickedItem.getMtbAart().getFlagQtaCnfFissaBoolean()) {
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : "")); mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : ""));
} else { } else {
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col)); mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col));

View File

@ -57,7 +57,7 @@ public class DialogBasketLU_Page2_ListAdapter extends RecyclerView.Adapter<Dialo
holder.bind(mtbColr); holder.bind(mtbColr);
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
if(mtbColr.getMtbAart() != null) { if(mtbColr.getMtbAart() != null) {

View File

@ -77,7 +77,7 @@ public class DialogChooseArtsFromListaArtsAdapter extends RecyclerView.Adapter<D
MtbColr mtbColr = checkableMtbColr.getItem().getMtbColr(); MtbColr mtbColr = checkableMtbColr.getItem().getMtbColr();
//Setting qty with unt_mis //Setting qty with unt_mis
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())){ if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());

View File

@ -1,9 +1,7 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity; package it.integry.integrywmsnative.view.dialogs.input_quantity;
import androidx.appcompat.app.AlertDialog;
import android.app.DatePickerDialog; import android.app.DatePickerDialog;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
@ -22,7 +20,6 @@ import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -43,7 +40,6 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
@ -350,7 +346,7 @@ public class DialogInputQuantity {
quantityDTO.qtaCnf.set(dto.mtbAart.getQtaCnf().floatValue()); quantityDTO.qtaCnf.set(dto.mtbAart.getQtaCnf().floatValue());
if(dto.getMtbAart().isFlagQtaCnfFissa()) { if(dto.getMtbAart().getFlagQtaCnfFissaBoolean()) {
quantityDTO.blockedQtaPerCnf.set(true); quantityDTO.blockedQtaPerCnf.set(true);
} }
} }

View File

@ -48,9 +48,18 @@ public class DialogInputQuantityV2 extends DialogFragment {
bindings.toolbar.setTitle("Inserimento articolo"); bindings.toolbar.setTitle("Inserimento articolo");
this.mViewModel = new DialogInputQuantityV2ViewModel(); this.mViewModel = new DialogInputQuantityV2ViewModel();
this.mViewModel.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart()); this.mViewModel.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart());
this.mViewModel.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd()); this.mViewModel.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd());
this.mViewModel.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd()); this.mViewModel.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd());
this.mViewModel.setTotalNumCnfToBeTaken(mDialogInputQuantityV2DTO.getTotalNumCnfToBeTaken());
this.mViewModel.setTotalQtaToBeTaken(mDialogInputQuantityV2DTO.getTotalQtaToBeTaken());
this.mViewModel.setQtaCnfToBeTaken(mDialogInputQuantityV2DTO.getQtaCnfToBeTaken());
this.mViewModel.setTotalNumCnfAvailable(mDialogInputQuantityV2DTO.getTotalNumCnfAvailable());
this.mViewModel.setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable());
this.mViewModel.init();
bindings.setViewmodel(this.mViewModel); bindings.setViewmodel(this.mViewModel);
return bindings.getRoot(); return bindings.getRoot();

View File

@ -11,6 +11,13 @@ public class DialogInputQuantityV2DTO {
private BigDecimal totalQtaOrd; private BigDecimal totalQtaOrd;
private BigDecimal totalNumCnfOrd; private BigDecimal totalNumCnfOrd;
private BigDecimal totalQtaToBeTaken;
private BigDecimal totalNumCnfToBeTaken;
private BigDecimal qtaCnfToBeTaken;
private BigDecimal totalQtaAvailable;
private BigDecimal totalNumCnfAvailable;
public MtbAart getMtbAart() { public MtbAart getMtbAart() {
return mtbAart; return mtbAart;
} }
@ -37,4 +44,49 @@ public class DialogInputQuantityV2DTO {
this.totalNumCnfOrd = totalNumCnfOrd; this.totalNumCnfOrd = totalNumCnfOrd;
return this; return this;
} }
public BigDecimal getTotalQtaToBeTaken() {
return totalQtaToBeTaken;
}
public DialogInputQuantityV2DTO setTotalQtaToBeTaken(BigDecimal totalQtaToBeTaken) {
this.totalQtaToBeTaken = totalQtaToBeTaken;
return this;
}
public BigDecimal getTotalNumCnfToBeTaken() {
return totalNumCnfToBeTaken;
}
public DialogInputQuantityV2DTO setTotalNumCnfToBeTaken(BigDecimal totalNumCnfToBeTaken) {
this.totalNumCnfToBeTaken = totalNumCnfToBeTaken;
return this;
}
public BigDecimal getQtaCnfToBeTaken() {
return qtaCnfToBeTaken;
}
public DialogInputQuantityV2DTO setQtaCnfToBeTaken(BigDecimal qtaCnfToBeTaken) {
this.qtaCnfToBeTaken = qtaCnfToBeTaken;
return this;
}
public BigDecimal getTotalQtaAvailable() {
return totalQtaAvailable;
}
public DialogInputQuantityV2DTO setTotalQtaAvailable(BigDecimal totalQtaAvailable) {
this.totalQtaAvailable = totalQtaAvailable;
return this;
}
public BigDecimal getTotalNumCnfAvailable() {
return totalNumCnfAvailable;
}
public DialogInputQuantityV2DTO setTotalNumCnfAvailable(BigDecimal totalNumCnfAvailable) {
this.totalNumCnfAvailable = totalNumCnfAvailable;
return this;
}
} }

View File

@ -1,10 +1,12 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2; package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
import androidx.databinding.Observable;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import java.math.BigDecimal; import java.math.BigDecimal;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityObservable;
public class DialogInputQuantityV2ViewModel { public class DialogInputQuantityV2ViewModel {
@ -13,11 +15,35 @@ public class DialogInputQuantityV2ViewModel {
public BigDecimal totalQtaOrd; public BigDecimal totalQtaOrd;
public BigDecimal totalNumCnfOrd; public BigDecimal totalNumCnfOrd;
public BigDecimal totalQtaToBeTaken;
public BigDecimal totalNumCnfToBeTaken;
public BigDecimal qtaCnfToBeTaken;
public DialogInputQuantityV2ViewModel() { public BigDecimal totalQtaAvailable;
public BigDecimal totalNumCnfAvailable;
public ObservableField<BigDecimal> currentNumCnf = new ObservableField<>();
public ObservableField<BigDecimal> currentQtaCnf = new ObservableField<>();
public ObservableField<BigDecimal> currentQtaTot = new ObservableField<>();
public void init() {
this.currentNumCnf.set(totalNumCnfToBeTaken != null ? totalNumCnfToBeTaken : BigDecimal.ONE);
UtilityObservable.addPropertyChanged(this.currentNumCnf, this::onCurrentNumCnfChanged);
this.currentQtaCnf.set(qtaCnfToBeTaken != null ? qtaCnfToBeTaken : this.mtbAart.get().getQtaCnf());
UtilityObservable.addPropertyChanged(this.currentQtaCnf, this::onCurrentQtaCnfChanged);
this.currentQtaTot.set(totalQtaToBeTaken != null ? totalQtaToBeTaken : this.mtbAart.get().getQtaCnf());
UtilityObservable.addPropertyChanged(this.currentQtaTot, this::onCurrentQtaTotChanged);
} }
public void setMtbAart(MtbAart mtbAart) { public void setMtbAart(MtbAart mtbAart) {
this.mtbAart.set(mtbAart); this.mtbAart.set(mtbAart);
} }
@ -31,4 +57,44 @@ public class DialogInputQuantityV2ViewModel {
this.totalNumCnfOrd = totalNumCnfOrd; this.totalNumCnfOrd = totalNumCnfOrd;
return this; return this;
} }
public DialogInputQuantityV2ViewModel setTotalQtaToBeTaken(BigDecimal totalQtaToBeTaken) {
this.totalQtaToBeTaken = totalQtaToBeTaken;
return this;
}
public DialogInputQuantityV2ViewModel setTotalNumCnfToBeTaken(BigDecimal totalNumCnfToBeTaken) {
this.totalNumCnfToBeTaken = totalNumCnfToBeTaken;
return this;
}
public DialogInputQuantityV2ViewModel setQtaCnfToBeTaken(BigDecimal qtaCnfToBeTaken) {
this.qtaCnfToBeTaken = qtaCnfToBeTaken;
return this;
}
public DialogInputQuantityV2ViewModel setTotalQtaAvailable(BigDecimal totalQtaAvailable) {
this.totalQtaAvailable = totalQtaAvailable;
return this;
}
public DialogInputQuantityV2ViewModel setTotalNumCnfAvailable(BigDecimal totalNumCnfAvailable) {
this.totalNumCnfAvailable = totalNumCnfAvailable;
return this;
}
private void onCurrentNumCnfChanged(BigDecimal newValue) {
String a = "";
}
private void onCurrentQtaCnfChanged(BigDecimal newValue) {
String a = "";
}
private void onCurrentQtaTotChanged(BigDecimal newValue) {
String a = "";
}
} }

View File

@ -67,7 +67,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -68,7 +68,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(checkableMtbColr.item.mtbColr.qtaCol) + checkableMtbColr.item.mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(checkableMtbColr.item.mtbColr.qtaCol) + checkableMtbColr.item.mtbColr.mtbAart.untMis}"
android:visibility="@{checkableMtbColr.item.mtbColr.mtbAart != null &amp;&amp; !checkableMtbColr.item.mtbColr.mtbAart.isFlagQtaCnfFissa() ? View.VISIBLE : View.GONE}" android:visibility="@{checkableMtbColr.item.mtbColr.mtbAart != null &amp;&amp; !checkableMtbColr.item.mtbColr.mtbAart.flagQtaCnfFissaBoolean ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingStart="6dp" android:paddingStart="6dp"

View File

@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"> <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" /> <import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
<import type="it.integry.integrywmsnative.core.utility.UtilityBigDecimal" /> <import type="it.integry.integrywmsnative.core.utility.UtilityBigDecimal" />
<import type="android.view.View" /> <import type="android.view.View" />
<variable <variable
@ -12,8 +18,7 @@
type="it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ViewModel" /> type="it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2ViewModel" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -22,13 +27,12 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary"
app:layout_constraintTop_toTopOf="parent" android:minHeight="?attr/actionBarSize"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintTop_toTopOf="parent"
app:titleTextColor="@android:color/white">
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
@ -37,11 +41,11 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_margin="8dp"> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar">
<RelativeLayout <RelativeLayout
android:id="@+id/dialog_title_panel" android:id="@+id/dialog_title_panel"
@ -61,8 +65,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:textColor="@color/colorPrimary"
android:text="@{viewmodel.mtbAart.codMart}" android:text="@{viewmodel.mtbAart.codMart}"
android:textColor="@color/colorPrimary"
tools:text="COD MART (Partita mag)" /> tools:text="COD MART (Partita mag)" />
@ -84,117 +88,108 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:visibility="@{UtilityString.isNullOrEmpty(viewmodel.mtbAart.untMis) ? View.GONE : View.VISIBLE}"> android:visibility="@{UtilityString.isNullOrEmpty(viewmodel.mtbAart.untMis) ? View.GONE : View.VISIBLE}">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_bordered"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="4dp">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAllCaps="true"
android:textColor="@android:color/black"
android:text="@string/unt_mis" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Large" style="@style/AppTheme.NewMaterial.Text.Large"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:text="@{viewmodel.mtbAart.untMis}" android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@android:color/black"
tools:text="(PZ)" /> tools:text="(PZ)" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{viewmodel.mtbAart.descrizioneEstesa}"
android:singleLine="false" android:singleLine="false"
style="@style/AppTheme.NewMaterial.Text.Small" android:text="@{viewmodel.mtbAart.descrizioneEstesa}"
android:layout_marginTop="4dp"
tools:text="RAD 25 D H/L 200 - 10 EL B BIANCO" /> tools:text="RAD 25 D H/L 200 - 10 EL B BIANCO" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/gray_400"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" />
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:visibility="@{viewmodel.totalNumCnfOrd != null || viewmodel.totalQtaOrd != null ? View.VISIBLE : View.GONE}"> android:visibility="@{viewmodel.totalNumCnfOrd != null || viewmodel.totalQtaOrd != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toStartOf="@id/qta_ord_panel" android:layout_toStartOf="@id/qta_ord_panel"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@string/total_ordered"
android:text="@string/total_ordered"/> android:textColor="@android:color/black" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_ord_panel" android:id="@+id/qta_ord_panel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_alignParentEnd="true"
android:layout_alignParentEnd="true"> android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfOrd)}"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfOrd)}"/> android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@string/unt_mis_col"
android:text="@string/unt_mis_col"/> android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="("
android:text="("/> android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AppTheme.NewMaterial.Text.Medium" android:layout_marginStart="0dp"
android:layout_marginStart="2dp" android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaOrd)}"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaOrd)}"/> android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginStart="2dp" android:layout_marginStart="2dp"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@{viewmodel.mtbAart.untMis}"
android:text="@string/unt_mis_col"/> android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginStart="2dp" android:layout_marginStart="0dp"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text=")"
android:text=")"/> android:textStyle="bold"
android:textColor="@android:color/black" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
@ -203,100 +198,297 @@
</RelativeLayout> </RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:background="@color/gray_400" />
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:visibility="@{viewmodel.totalNumCnfToBeTaken != null || viewmodel.totalQtaToBeTaken != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toStartOf="@id/qta_da_prelevare" android:layout_toStartOf="@id/qta_da_prelevare_panel"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@string/to_be_taken"
android:text="@string/to_be_taken"/> android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_da_prelevare" android:id="@+id/qta_da_prelevare_panel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium" style="@style/AppTheme.NewMaterial.Text.Medium"
android:text="10"/> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfToBeTaken)}"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="("
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaToBeTaken)}"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="2dp"
android:text="@{viewmodel.mtbAart.untMis}"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="0dp"
android:text=")"
android:textStyle="bold"
android:textColor="@android:color/black" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:visibility="@{viewmodel.totalNumCnfAvailable != null || viewmodel.totalQtaAvailable != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toStartOf="@id/qta_disponibile" android:layout_toStartOf="@id/qta_disponibile_panel"
style="@style/AppTheme.NewMaterial.Text.Medium" android:text="@string/total_available"
android:text="@string/total_available"/> android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_disponibile" android:id="@+id/qta_disponibile_panel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium" style="@style/AppTheme.NewMaterial.Text.Medium"
android:text="10"/> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfAvailable)}"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="("
android:textStyle="bold"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:textStyle="bold"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaAvailable)}"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="2dp"
android:textStyle="bold"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="0dp"
android:textStyle="bold"
android:text=")"
android:textColor="@android:color/black" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:orientation="horizontal"
android:weightSum="3">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_num_cnf_layout"
style="@style/TextInputLayout.OutlinePrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}"
tools:layout_weight="1"
android:paddingEnd="4dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_num_cnf_text"
style="@style/TextInputEditText.OutlinePrimary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/num_pcks"
android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_qta_cnf_layout"
style="@style/TextInputLayout.OutlinePrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? View.VISIBLE : View.GONE}"
android:paddingEnd="4dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_qta_cnf_text"
style="@style/TextInputEditText.OutlinePrimary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/qty_x_pck"
android:inputType="number"
app:binding="@{viewmodel.currentQtaCnf}"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_qta_tot_layout"
style="@style/TextInputLayout.OutlinePrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="@{!viewmodel.mtbAart.flagQtaCnfFissaBoolean ? 1f : 1.5f}"
tools:layout_weight="1">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_qta_tot_text"
style="@style/TextInputEditText.OutlinePrimary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/tot_qty"
android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:orientation="horizontal"
android:weightSum="1"> android:weightSum="1">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/close_lu_btn" android:id="@+id/close_lu_btn"
android:layout_weight="0.4" style="@style/Button.PrimaryOutline"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
android:layout_marginStart="0dp" android:layout_marginStart="0dp"
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
app:layout_constraintTop_toTopOf="parent" android:layout_weight="0.4"
android:text="@string/action_close_ul"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:strokeColor="@color/colorPrimary" app:layout_constraintTop_toTopOf="parent"
android:text="@string/action_close_ul"/> app:strokeColor="@color/colorPrimary" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/abort_btn" android:id="@+id/abort_btn"
android:layout_weight="0.3" style="@style/Button.DangerFull"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Button.DangerFull"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
android:layout_weight="0.3"
android:paddingEnd="3dp" android:paddingEnd="3dp"
app:layout_constraintTop_toTopOf="parent"
app:icon="@drawable/ic_close_24dp" app:icon="@drawable/ic_close_24dp"
app:iconGravity="textStart"/> app:iconGravity="textStart"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/save_btn" android:id="@+id/save_btn"
android:layout_weight="0.3" style="@style/Button.PrimaryFull"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Button.PrimaryFull"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:layout_marginEnd="0dp" android:layout_marginEnd="0dp"
android:layout_weight="0.3"
android:paddingEnd="3dp" android:paddingEnd="3dp"
app:layout_constraintTop_toTopOf="parent"
app:icon="@drawable/ic_save_24" app:icon="@drawable/ic_save_24"
app:iconGravity="textStart"/> app:iconGravity="textStart"
app:layout_constraintTop_toTopOf="parent" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -48,7 +48,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -71,7 +71,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(checkableOrdineLav.qtaCol.get()) +' '+ mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(checkableOrdineLav.qtaCol.get()) +' '+ mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -63,7 +63,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -46,7 +46,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -65,7 +65,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}" android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}" android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -84,7 +84,13 @@
<style name="AppTheme.NewMaterial.Dialog.FullscreenDialog" parent="Theme.AppCompat.Light.DialogWhenLarge"> <style name="AppTheme.NewMaterial.Dialog.FullscreenDialog" parent="Theme.AppCompat.Light.DialogWhenLarge">
<item name="android:statusBarColor">@android:color/black</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="fontFamily">@font/google_sans_regular</item> <!-- target android sdk versions < 26 and > 14 if theme other than AppCompat -->
<item name="android:statusBarColor">@android:color/white</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<item name="android:windowAnimationStyle">@style/Animation.AppCompat.Dialog</item> <item name="android:windowAnimationStyle">@style/Animation.AppCompat.Dialog</item>
</style> </style>
@ -113,6 +119,8 @@
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item> <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
<item name="android:statusBarColor">@android:color/white</item> <item name="android:statusBarColor">@android:color/white</item>
<item name="fontFamily">@font/google_sans_regular</item> <!-- target android sdk versions < 26 and > 14 if theme other than AppCompat -->
</style> </style>

View File

@ -14,7 +14,7 @@ buildscript {
} }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.6.0' classpath 'com.android.tools.build:gradle:3.6.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.3' classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.google.firebase:perf-plugin:1.3.1' classpath 'com.google.firebase:perf-plugin:1.3.1'