Merge branch 'develop' into feature/Refactoring_Spedizione

# Conflicts:
#	app/build.gradle
This commit is contained in:
Giuseppe Scorrano 2020-05-28 12:09:18 +02:00
commit 2e1d4d6325
3 changed files with 37 additions and 63 deletions

View File

@ -7,7 +7,7 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 137
def appVersionCode = 142
def appVersionName = '1.13.0'
signingConfigs {

View File

@ -13,17 +13,11 @@ public class CheckableOrdineLavoro {
private ChooseOrdsLavFromListItemModel item;
private BindableBoolean checked = new BindableBoolean(false);
private BindableBoolean hidden = new BindableBoolean(false);
private String testata;
public CheckableOrdineLavoro(ChooseOrdsLavFromListItemModel item) {
this.item = item;
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
hidden.set(item.isHidden());
}
});
}
public ChooseOrdsLavFromListItemModel getItem() {
@ -33,13 +27,6 @@ public class CheckableOrdineLavoro {
public CheckableOrdineLavoro setItem(ChooseOrdsLavFromListItemModel item) {
this.item = item;
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
hidden.set(item.isHidden());
}
});
return this;
}
@ -52,19 +39,6 @@ public class CheckableOrdineLavoro {
return this;
}
public BindableBoolean getHidden() {
return hidden;
}
public boolean isHidden() {
return hidden.get();
}
public CheckableOrdineLavoro setHidden(BindableBoolean hidden) {
this.hidden = hidden;
return this;
}
public BindableFloat getQtaCol() {
return item.getOrdineLav().getQtaColVersamento();
}

View File

@ -1,6 +1,8 @@
package it.integry.integrywmsnative.gest.prod_versamento_materiale.core;
import android.content.Context;
import android.text.Html;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.ViewGroup;
@ -16,6 +18,7 @@ import java.util.HashMap;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
@ -28,6 +31,7 @@ import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentChooseOrdsLavFromListItemModelBinding;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrdsLavFromListAdapter.ViewHolder> {
@ -47,40 +51,18 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
mDataset = Stream.of(myDataset)
.withoutNulls()
.map(CheckableOrdineLavoro::new).toList();
for (int i = 0; i < mDataset.size(); i++) {
final CheckableOrdineLavoro itemModel = mDataset.get(i);
OrdineLavorazioneDTO ordine = itemModel.getItem().getOrdineLav();
itemModel.setTestata(UtilityString.formatHtmlStringFromResId(R.string.ord_testata, String.valueOf(ordine.getNumOrd()), UtilityDate.formatDate(ordine.getDateOrd(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)).toString());
mDatasetPositions.put(itemModel, i);
itemModel.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
onItemHidden(itemModel);
}
});
itemModel.getChecked().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
onItemChecked(itemModel);
}
});
}
}
}
private void onItemHidden(CheckableOrdineLavoro itemModel) {
if (itemModel.isHidden()) {
mDataset.remove(itemModel);
} else {
mDataset.add(mDatasetPositions.get(itemModel), itemModel);
}
calculateMtbColtShare();
notifyDataSetChanged();
}
private void onItemChecked(CheckableOrdineLavoro itemModel) {
if (itemModel.isChecked() && itemModel.getItem().getOrdineLav().getHrNum() <= 0){
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Nessuna risorsa umana registrata per l'ordine selezionato! <br> Per una corretta suddivisione delle quantità registra le risorse.")),
null, () -> {
itemModel.getChecked().set(false);
}).show();
return;
}
if (!itemModel.isChecked()) {
itemModel.setQtaCol(0);
itemModel.setNumCnf(0);
@ -140,7 +122,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
}
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public class ViewHolder extends RecyclerView.ViewHolder {
protected FragmentChooseOrdsLavFromListItemModelBinding mViewDataBinding;
@ -149,10 +131,21 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
mViewDataBinding = v;
}
public void bind(CheckableOrdineLavoro checkableOrdineLavoro, MtbColr mtbColr) {
public void bind(CheckableOrdineLavoro checkableOrdineLavoro, MtbColr mtbColr) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
mViewDataBinding.setCheckableOrdineLav(checkableOrdineLavoro);
mViewDataBinding.setMtbColr(mtbColr);
mViewDataBinding.executePendingBindings();
OrdineLavorazioneDTO ordine = checkableOrdineLavoro.getItem().getOrdineLav();
checkableOrdineLavoro.setTestata(UtilityString.formatHtmlStringFromResId(R.string.ord_testata, String.valueOf(ordine.getNumOrd()), UtilityDate.formatDate(ordine.getDateOrd(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)).toString());
checkableOrdineLavoro.getChecked().resetOnPropertyChangedCallback();
checkableOrdineLavoro.getChecked().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
onItemChecked(checkableOrdineLavoro);
}
});
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get());
@ -166,7 +159,6 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
mViewDataBinding.qtaTextview.setText(UtilityNumber.decimalToString(checkableOrdineLavoro.getNumCnf().get()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
}
mViewDataBinding.setMtbColr(mtbColr);
mViewDataBinding.executePendingBindings();
}
}
@ -182,7 +174,15 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
@Override
public void onBindViewHolder(ChooseOrdsLavFromListAdapter.ViewHolder holder, int position) {
CheckableOrdineLavoro item = mDataset.get(position);
try {
holder.bind(item, mMtbColr);
} catch (ParseException e) {
e.printStackTrace();
} catch (TimeNotRecognizedException e) {
e.printStackTrace();
} catch (DateNotRecognizedException e) {
e.printStackTrace();
}
}