[FRUDIS - VERSAMENTO MERCE]
- versamento merce su linea di produzione
This commit is contained in:
parent
315bc48b6b
commit
fd2f8edf40
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 116
|
def appVersionCode = 117
|
||||||
def appVersionName = '1.10.13'
|
def appVersionName = '1.10.14'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -2,20 +2,21 @@ package it.integry.integrywmsnative.core.model;
|
|||||||
|
|
||||||
import androidx.databinding.Observable;
|
import androidx.databinding.Observable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.core.di.BindableFloat;
|
import it.integry.integrywmsnative.core.di.BindableFloat;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsItemModel;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ChooseOrdsLavFromListItemModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_ordsLav_from_list.DialogChooseOrdsLavFromListItemModel;
|
|
||||||
|
|
||||||
public class CheckableOrdineLavoro {
|
public class CheckableOrdineLavoro {
|
||||||
|
|
||||||
|
|
||||||
private DialogChooseOrdsLavFromListItemModel item;
|
private ChooseOrdsLavFromListItemModel item;
|
||||||
private BindableBoolean checked = new BindableBoolean(false);
|
private BindableBoolean checked = new BindableBoolean(false);
|
||||||
private BindableBoolean hidden = new BindableBoolean(false);
|
private BindableBoolean hidden = new BindableBoolean(false);
|
||||||
private String testata;
|
private String testata;
|
||||||
|
|
||||||
public CheckableOrdineLavoro(DialogChooseOrdsLavFromListItemModel item) {
|
public CheckableOrdineLavoro(ChooseOrdsLavFromListItemModel item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
@ -25,11 +26,11 @@ public class CheckableOrdineLavoro {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogChooseOrdsLavFromListItemModel getItem() {
|
public ChooseOrdsLavFromListItemModel getItem() {
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CheckableOrdineLavoro setItem(DialogChooseOrdsLavFromListItemModel item) {
|
public CheckableOrdineLavoro setItem(ChooseOrdsLavFromListItemModel item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
|
|
||||||
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
this.item.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
||||||
@ -87,4 +88,12 @@ public class CheckableOrdineLavoro {
|
|||||||
public void setTestata(String testata) {
|
public void setTestata(String testata) {
|
||||||
this.testata = testata;
|
this.testata = testata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BindableFloat getNumCnf() {
|
||||||
|
return item.getOrdineLav().getNumCnfVersamento();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumCnf(float numCnf) {
|
||||||
|
this.item.getOrdineLav().setNumCnfVersamento(numCnf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import com.google.gson.reflect.TypeToken;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -253,12 +254,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
|
|
||||||
if (posizione != null) {
|
if (posizione != null) {
|
||||||
newMtbColt
|
newMtbColt.setPosizione(posizione.getPosizione());
|
||||||
.setPosizione(posizione.getPosizione());
|
|
||||||
|
|
||||||
if (posizione.isFlagLineaProduzione()) {
|
if (posizione.isFlagLineaProduzione()) {
|
||||||
newMtbColt
|
newMtbColt.setCodJfas(posizione.getPosizione());
|
||||||
.setCodJfas(posizione.getPosizione());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,13 +278,14 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
.setSerColloRif(sourceMtbColt.getSerCollo())
|
.setSerColloRif(sourceMtbColt.getSerCollo())
|
||||||
.setCodMart(original.getCodMart())
|
.setCodMart(original.getCodMart())
|
||||||
.setCodCol(original.getCodCol())
|
.setCodCol(original.getCodCol())
|
||||||
|
.setQtaCnf(original.getQtaCnf())
|
||||||
.setCodTagl(original.getCodTagl())
|
.setCodTagl(original.getCodTagl())
|
||||||
.setPartitaMag(original.getPartitaMag())
|
.setPartitaMag(original.getPartitaMag())
|
||||||
.setNumCnf(original.getNumCnf())
|
|
||||||
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
.setOperation(CommonModelConsts.OPERATION.INSERT);
|
||||||
for (OrdineLavorazioneDTO ordLav : ordini) {
|
for (OrdineLavorazioneDTO ordLav : ordini) {
|
||||||
MtbColr ordColr = (MtbColr) mtbColrClone.clone();
|
MtbColr ordColr = (MtbColr) mtbColrClone.clone();
|
||||||
ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal());
|
ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal());
|
||||||
|
ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal());
|
||||||
ordColr.setDataOrd(ordLav.getDataOrdProd())
|
ordColr.setDataOrd(ordLav.getDataOrdProd())
|
||||||
.setNumOrd(ordLav.getNumOrdProd())
|
.setNumOrd(ordLav.getNumOrdProd())
|
||||||
.setRigaOrd(ordLav.getRigaOrdProd());
|
.setRigaOrd(ordLav.getRigaOrdProd());
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
|
import android.text.Html;
|
||||||
|
import android.text.Spanned;
|
||||||
|
|
||||||
|
import androidx.annotation.IdRes;
|
||||||
|
import androidx.annotation.StringRes;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -58,4 +64,12 @@ public class UtilityString {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Spanned formatHtmlString(String format, String... params){
|
||||||
|
return Html.fromHtml(String.format(format,params));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Spanned formatHtmlStringFromResId(@StringRes int stringId, String... params){
|
||||||
|
return Html.fromHtml(String.format(UtilityResources.getString(stringId),params));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_ordsLav_from_list;
|
package it.integry.integrywmsnative.gest.prod_versamento_materiale.core;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.Html;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
@ -14,7 +13,6 @@ import com.annimon.stream.Stream;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -24,11 +22,15 @@ import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
|||||||
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
|
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.databinding.DialogChooseOrdsLavFromListItemModelBinding;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
|
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.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<DialogChooseOrdsLavFromListAdapter.ViewHolder> {
|
public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrdsLavFromListAdapter.ViewHolder> {
|
||||||
|
|
||||||
protected Context mContext;
|
protected Context mContext;
|
||||||
|
|
||||||
@ -38,7 +40,7 @@ public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<Dia
|
|||||||
private HashMap<CheckableOrdineLavoro, Integer> mDatasetPositions = new HashMap<>();
|
private HashMap<CheckableOrdineLavoro, Integer> mDatasetPositions = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public DialogChooseOrdsLavFromListAdapter(Context context, List<DialogChooseOrdsLavFromListItemModel> myDataset, MtbColt mtbColt) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
public ChooseOrdsLavFromListAdapter(Context context, List<ChooseOrdsLavFromListItemModel> myDataset, MtbColt mtbColt) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mMtbColt = mtbColt;
|
mMtbColt = mtbColt;
|
||||||
mMtbColr = mtbColt.getMtbColr().get(0);
|
mMtbColr = mtbColt.getMtbColr().get(0);
|
||||||
@ -50,7 +52,7 @@ public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<Dia
|
|||||||
for (int i = 0; i < mDataset.size(); i++) {
|
for (int i = 0; i < mDataset.size(); i++) {
|
||||||
final CheckableOrdineLavoro itemModel = mDataset.get(i);
|
final CheckableOrdineLavoro itemModel = mDataset.get(i);
|
||||||
OrdineLavorazioneDTO ordine = itemModel.getItem().getOrdineLav();
|
OrdineLavorazioneDTO ordine = itemModel.getItem().getOrdineLav();
|
||||||
itemModel.setTestata(Html.fromHtml(String.format(mContext.getString(R.string.ord_testata), String.valueOf(ordine.getNumOrd()), UtilityDate.formatDate(ordine.getDateOrd(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))).toString());
|
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);
|
mDatasetPositions.put(itemModel, i);
|
||||||
|
|
||||||
itemModel.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
itemModel.getHidden().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
||||||
@ -78,9 +80,11 @@ public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<Dia
|
|||||||
calculateMtbColtShare();
|
calculateMtbColtShare();
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onItemChecked(CheckableOrdineLavoro itemModel) {
|
private void onItemChecked(CheckableOrdineLavoro itemModel) {
|
||||||
if (!itemModel.isChecked()){
|
if (!itemModel.isChecked()) {
|
||||||
itemModel.setQtaCol(0);
|
itemModel.setQtaCol(0);
|
||||||
|
itemModel.setNumCnf(0);
|
||||||
}
|
}
|
||||||
calculateMtbColtShare();
|
calculateMtbColtShare();
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
@ -89,36 +93,41 @@ public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<Dia
|
|||||||
|
|
||||||
private void calculateMtbColtShare() {
|
private void calculateMtbColtShare() {
|
||||||
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
|
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
|
||||||
BigDecimal residuo = mtbColr.getQtaCol();
|
BigDecimal residuoCol = mtbColr.getQtaCol();
|
||||||
BigDecimal offset = BigDecimal.ZERO.add(residuo);
|
BigDecimal residuoCnf = mtbColr.getNumCnf();
|
||||||
|
BigDecimal offset = BigDecimal.ZERO.add(residuoCol);
|
||||||
|
mtbColr.setQtaCnf(mtbColr.getQtaCol().divide(mtbColr.getNumCnf(),5,BigDecimal.ROUND_HALF_UP));
|
||||||
|
|
||||||
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
||||||
|
|
||||||
int totalHr = Stream.of(ordiniSelezionati).mapToInt(x -> x.getItem().getOrdineLav().getHrNum()).sum();
|
int totalHr = Stream.of(ordiniSelezionati).mapToInt(x -> x.getItem().getOrdineLav().getHrNum()).sum();
|
||||||
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
||||||
float perc = (c.getItem().getOrdineLav().getHrNum() * 100)/ totalHr;
|
BigDecimal usedCol, usedCnf;
|
||||||
BigDecimal used = residuo.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0,BigDecimal.ROUND_HALF_DOWN);
|
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
||||||
offset = offset.subtract(used);
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
||||||
c.setQtaCol(used.floatValue());
|
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_CEILING);
|
||||||
}
|
usedCol = usedCnf.multiply(mtbColr.getQtaCnf()).setScale(0,BigDecimal.ROUND_FLOOR);
|
||||||
if (ordiniSelezionati.size() > 0 && offset.floatValue() > 0){
|
} else {
|
||||||
Optional<CheckableOrdineLavoro> majorOrder = Stream.of(ordiniSelezionati).max((o1,o2)-> Integer.compare(o1.getItem().getOrdineLav().getHrNum(),o2.getItem().getOrdineLav().getHrNum()));
|
usedCol = residuoCol.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
||||||
if (!majorOrder.isEmpty()){
|
usedCnf = usedCol.divide(mtbColr.getQtaCnf()).setScale(0, BigDecimal.ROUND_CEILING);
|
||||||
majorOrder.get().setQtaCol(majorOrder.get().getQtaCol().get()+offset.floatValue());
|
|
||||||
}else{
|
|
||||||
ordiniSelezionati.get(0).setQtaCol(ordiniSelezionati.get(0).getQtaCol().get()+offset.floatValue());
|
|
||||||
}
|
}
|
||||||
|
offset = offset.subtract(usedCol);
|
||||||
|
c.setQtaCol(usedCol.floatValue());
|
||||||
|
c.setNumCnf(usedCnf.floatValue());
|
||||||
|
}
|
||||||
|
if (ordiniSelezionati.size() > 0 && offset.floatValue() != 0) {
|
||||||
|
CheckableOrdineLavoro majorOrder = Stream.of(ordiniSelezionati).max((o1, o2) -> Integer.compare(o1.getItem().getOrdineLav().getHrNum(), o2.getItem().getOrdineLav().getHrNum())).get();
|
||||||
|
if (majorOrder == null) {
|
||||||
|
majorOrder = ordiniSelezionati.get(0);
|
||||||
|
}
|
||||||
|
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offset.floatValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
protected DialogChooseOrdsLavFromListItemModelBinding mViewDataBinding;
|
protected FragmentChooseOrdsLavFromListItemModelBinding mViewDataBinding;
|
||||||
|
|
||||||
|
|
||||||
public ViewHolder(DialogChooseOrdsLavFromListItemModelBinding v) {
|
public ViewHolder(FragmentChooseOrdsLavFromListItemModelBinding v) {
|
||||||
super(v.getRoot());
|
super(v.getRoot());
|
||||||
mViewDataBinding = v;
|
mViewDataBinding = v;
|
||||||
}
|
}
|
||||||
@ -127,26 +136,41 @@ public class DialogChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<Dia
|
|||||||
mViewDataBinding.setCheckableOrdineLav(checkableOrdineLavoro);
|
mViewDataBinding.setCheckableOrdineLav(checkableOrdineLavoro);
|
||||||
mViewDataBinding.setMtbColr(mtbColr);
|
mViewDataBinding.setMtbColr(mtbColr);
|
||||||
mViewDataBinding.executePendingBindings();
|
mViewDataBinding.executePendingBindings();
|
||||||
|
|
||||||
|
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
||||||
|
String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get());
|
||||||
|
|
||||||
|
if (mtbColr.getMtbAart() != null) {
|
||||||
|
text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? "\n" + mtbColr.getMtbAart().getUntMis() : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
mViewDataBinding.qtaTextview.setText(text);
|
||||||
|
} else {
|
||||||
|
mViewDataBinding.qtaTextview.setText(UtilityNumber.decimalToString(checkableOrdineLavoro.getNumCnf().get()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
}
|
||||||
|
|
||||||
|
mViewDataBinding.setMtbColr(mtbColr);
|
||||||
|
mViewDataBinding.executePendingBindings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DialogChooseOrdsLavFromListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
public ChooseOrdsLavFromListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||||
// create a new view
|
// create a new view
|
||||||
DialogChooseOrdsLavFromListItemModelBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.dialog_choose_ords_lav_from_list__item_model, parent, false);
|
FragmentChooseOrdsLavFromListItemModelBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.fragment_choose_ords_lav_from_list__item_model, parent, false);
|
||||||
|
|
||||||
return new ViewHolder(viewDataBinding);
|
return new ViewHolder(viewDataBinding);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(DialogChooseOrdsLavFromListAdapter.ViewHolder holder, int position) {
|
public void onBindViewHolder(ChooseOrdsLavFromListAdapter.ViewHolder holder, int position) {
|
||||||
CheckableOrdineLavoro item = mDataset.get(position);
|
CheckableOrdineLavoro item = mDataset.get(position);
|
||||||
holder.bind(item, mMtbColr);
|
holder.bind(item, mMtbColr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewRecycled(DialogChooseOrdsLavFromListAdapter.ViewHolder holder) {
|
public void onViewRecycled(ChooseOrdsLavFromListAdapter.ViewHolder holder) {
|
||||||
super.onViewRecycled(holder);
|
super.onViewRecycled(holder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1,9 +1,9 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_ordsLav_from_list;
|
package it.integry.integrywmsnative.gest.prod_versamento_materiale.core;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
public class DialogChooseOrdsLavFromListItemModel {
|
public class ChooseOrdsLavFromListItemModel {
|
||||||
|
|
||||||
private OrdineLavorazioneDTO ordineLav;
|
private OrdineLavorazioneDTO ordineLav;
|
||||||
private BindableBoolean hidden = new BindableBoolean(false);
|
private BindableBoolean hidden = new BindableBoolean(false);
|
||||||
@ -12,7 +12,7 @@ public class DialogChooseOrdsLavFromListItemModel {
|
|||||||
return ordineLav;
|
return ordineLav;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogChooseOrdsLavFromListItemModel setOrdineLav(OrdineLavorazioneDTO ordineLav) {
|
public ChooseOrdsLavFromListItemModel setOrdineLav(OrdineLavorazioneDTO ordineLav) {
|
||||||
this.ordineLav= ordineLav;
|
this.ordineLav= ordineLav;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -21,7 +21,7 @@ public class DialogChooseOrdsLavFromListItemModel {
|
|||||||
return hidden.get();
|
return hidden.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogChooseOrdsLavFromListItemModel setHidden(boolean hidden) {
|
public ChooseOrdsLavFromListItemModel setHidden(boolean hidden) {
|
||||||
this.hidden.set(hidden);
|
this.hidden.set(hidden);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -99,6 +99,7 @@ public class OrdineLavorazioneDTO {
|
|||||||
|
|
||||||
|
|
||||||
private BindableFloat qtaColVersamento = new BindableFloat();
|
private BindableFloat qtaColVersamento = new BindableFloat();
|
||||||
|
private BindableFloat numCnfVersamento = new BindableFloat();
|
||||||
|
|
||||||
public String getDataOrdProd() {
|
public String getDataOrdProd() {
|
||||||
return dataOrdProd;
|
return dataOrdProd;
|
||||||
@ -454,4 +455,12 @@ public class OrdineLavorazioneDTO {
|
|||||||
public void setQtaColVersamento(float qtaColVersamento) {
|
public void setQtaColVersamento(float qtaColVersamento) {
|
||||||
this.qtaColVersamento.set(qtaColVersamento);
|
this.qtaColVersamento.set(qtaColVersamento);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BindableFloat getNumCnfVersamento() {
|
||||||
|
return numCnfVersamento;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumCnfVersamento(float numCnfVersamento) {
|
||||||
|
this.numCnfVersamento.set(numCnfVersamento);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,15 +5,23 @@ import android.app.Dialog;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
||||||
|
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||||
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
@ -21,16 +29,19 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsume
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
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.UtilityResources;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdVersamentoMaterialeBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdVersamentoMaterialeBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ChooseOrdsLavFromListAdapter;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ChooseOrdsLavFromListItemModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ProdVersamentoMaterialHelper;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ProdVersamentoMaterialHelper;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_ordsLav_from_list.DialogChooseOrdsLavFromList;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
||||||
|
|
||||||
|
|
||||||
@ -42,7 +53,8 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
private FragmentProdVersamentoMaterialeBinding mBinding;
|
private FragmentProdVersamentoMaterialeBinding mBinding;
|
||||||
private ProdVersamentoMaterialHelper mHelper;
|
private ProdVersamentoMaterialHelper mHelper;
|
||||||
private Runnable mOnVersamentoCompleted;
|
private Runnable mOnVersamentoCompleted;
|
||||||
|
private List<ChooseOrdsLavFromListItemModel> mDataset = new ArrayList<>();
|
||||||
|
private ChooseOrdsLavFromListAdapter currentAdapter;
|
||||||
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
||||||
|
|
||||||
|
|
||||||
@ -55,6 +67,23 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setMtbColr(MtbColr mtbColr) {
|
||||||
|
mBinding.descrArt.setText(mtbColr.getDescrizione());
|
||||||
|
mBinding.codArt.setText(mtbColr.getCodMart());
|
||||||
|
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
|
||||||
|
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissa())) {
|
||||||
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
|
if (mtbColr.getMtbAart() != null) {
|
||||||
|
text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? " " + mtbColr.getMtbAart().getUntMis() : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
mBinding.qtaCol.setText(text);
|
||||||
|
} else {
|
||||||
|
mBinding.qtaCol.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + " " + UtilityResources.getString(R.string.unt_mis_col));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void openLU() {
|
public void openLU() {
|
||||||
DialogScanOrCreateLU.make(mContext, true, true, false, mtbColt -> {
|
DialogScanOrCreateLU.make(mContext, true, true, false, mtbColt -> {
|
||||||
@ -89,18 +118,18 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
if (!SettingsManager.iDB().isFlagVersamentoDirettoProduzione()) {
|
if (!SettingsManager.iDB().isFlagVersamentoDirettoProduzione()) {
|
||||||
createColloScarico(mtbDepoPosizione);
|
createColloScarico(mtbDepoPosizione);
|
||||||
} else {
|
} else {
|
||||||
if (mtbColt == null || mtbColt.get() == null || mtbColt.get().getMtbColr() == null || mtbColt.get().getMtbColr().size()<=0){
|
if (mtbColt == null || mtbColt.get() == null || mtbColt.get().getMtbColr() == null || mtbColt.get().getMtbColr().size() <= 0) {
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
||||||
new SpannableString(Html.fromHtml("Il collo selezionato non presenta articoli versabili sulla linea.")),
|
new SpannableString(Html.fromHtml("Il collo selezionato non presenta articoli versabili sulla linea.")),
|
||||||
null, this::openLU).show();
|
null, this::openLU).show();
|
||||||
return;
|
return;
|
||||||
}else if (mtbColt.get().getMtbColr().size() > 1){
|
} else if (mtbColt.get().getMtbColr().size() > 1) {
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
||||||
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, per versarli in produzione vanno separati in colli differenti.")),
|
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, per versarli in produzione vanno separati in colli differenti.")),
|
||||||
null, this::openLU).show();
|
null, this::openLU).show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()) ,ordini-> richiediOrdiniPerVersamento(ordini,mtbDepoPosizione), e-> DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
||||||
new SpannableString(Html.fromHtml(e.getMessage())),
|
new SpannableString(Html.fromHtml(e.getMessage())),
|
||||||
null, this::openLU).show());
|
null, this::openLU).show());
|
||||||
}
|
}
|
||||||
@ -119,7 +148,7 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
|
|
||||||
private String getIdMaterialeFromCollo(MtbColt mtbColt) {
|
private String getIdMaterialeFromCollo(MtbColt mtbColt) {
|
||||||
MtbAart articolo = mtbColt.getMtbColr().get(0).getMtbAart();
|
MtbAart articolo = mtbColt.getMtbColr().get(0).getMtbAart();
|
||||||
return UtilityString.isNullOrEmpty(articolo.getIdArtEqui())? articolo.getCodMart():articolo.getIdArtEqui();
|
return UtilityString.isNullOrEmpty(articolo.getIdArtEqui()) ? articolo.getCodMart() : articolo.getIdArtEqui();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -136,6 +165,7 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
|
|
||||||
public void setMtbColt(MtbColt mtbColt) {
|
public void setMtbColt(MtbColt mtbColt) {
|
||||||
this.mtbColt.set(mtbColt);
|
this.mtbColt.set(mtbColt);
|
||||||
|
this.setMtbColr(mtbColt.getMtbColr().get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetMtbColt() {
|
public void resetMtbColt() {
|
||||||
@ -143,30 +173,51 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
openLU();
|
openLU();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void richiediOrdiniPerVersamento(List<OrdineLavorazioneDTO> ordini, MtbDepoPosizione mtbDepoPosizione){
|
public void richiediOrdiniPerVersamento(List<OrdineLavorazioneDTO> ordini, MtbDepoPosizione mtbDepoPosizione) {
|
||||||
|
|
||||||
|
if (ordini == null || ordini.size() <= 0) {
|
||||||
|
mBinding.positiveFab.setVisibility(View.GONE);
|
||||||
|
mBinding.positiveFab.setOnClickListener(null);
|
||||||
|
mBinding.emptyView.setVisibility(View.VISIBLE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mBinding.positiveFab.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
mBinding.positiveFab.setOnClickListener(c -> onPositiveClick(mtbDepoPosizione));
|
||||||
|
for (OrdineLavorazioneDTO ordineLav : ordini) {
|
||||||
|
mDataset.add(new ChooseOrdsLavFromListItemModel().setOrdineLav(ordineLav));
|
||||||
|
}
|
||||||
|
mBinding.emptyView.setVisibility(mDataset != null && mDataset.size() > 0 ? View.GONE : View.VISIBLE);
|
||||||
try {
|
try {
|
||||||
DialogChooseOrdsLavFromList.make(mContext, mtbColt.get(), ordini, ordLavs -> {
|
initRecyclerView();
|
||||||
if (ordLavs.size() > 0){
|
|
||||||
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
|
||||||
ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
|
|
||||||
progressDialog.dismiss();
|
|
||||||
mOnVersamentoCompleted.run();
|
|
||||||
}), ex -> UtilityExceptions.defaultException(mContext, ex));
|
|
||||||
}else{
|
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
|
||||||
new SpannableString(Html.fromHtml("Nessun ordine selezionato!")),
|
|
||||||
null, this::openLU).show();
|
|
||||||
mOnVersamentoCompleted.run();
|
|
||||||
}
|
|
||||||
},()->{
|
|
||||||
mOnVersamentoCompleted.run();
|
|
||||||
}).show();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext,
|
UtilityExceptions.defaultException(mContext, e);
|
||||||
new SpannableString(Html.fromHtml("Si è verificato un errore. Riprovare")),
|
}
|
||||||
null, this::openLU).show();
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onPositiveClick(MtbDepoPosizione mtbDepoPosizione) {
|
||||||
|
List<OrdineLavorazioneDTO> ordLavs = currentAdapter.getSelectedItems();
|
||||||
|
if (ordLavs.size() > 0) {
|
||||||
|
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
|
||||||
|
progressDialog.dismiss();
|
||||||
|
mOnVersamentoCompleted.run();
|
||||||
|
}), ex -> UtilityExceptions.defaultException(mContext, ex));
|
||||||
|
} else {
|
||||||
|
Toast.makeText(mContext, "Nessun ordine selezionato!", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initRecyclerView() throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
||||||
|
mBinding.dialogChooseArtsFromListaArtMainList.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
|
mBinding.dialogChooseArtsFromListaArtMainList.setHasFixedSize(true);
|
||||||
|
|
||||||
|
mBinding.dialogChooseArtsFromListaArtMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
||||||
|
|
||||||
|
currentAdapter = new ChooseOrdsLavFromListAdapter(mContext, mDataset, mtbColt.get());
|
||||||
|
mBinding.dialogChooseArtsFromListaArtMainList.setAdapter(currentAdapter);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,108 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_ordsLav_from_list;
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.drawable.ColorDrawable;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
|
||||||
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogChooseOrdsLavFromListLayoutBinding;
|
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
|
||||||
|
|
||||||
public class DialogChooseOrdsLavFromList {
|
|
||||||
|
|
||||||
private Context currentContext;
|
|
||||||
private Dialog mDialog;
|
|
||||||
|
|
||||||
private DialogChooseOrdsLavFromListAdapter currentAdapter;
|
|
||||||
|
|
||||||
private RunnableArgs<List<OrdineLavorazioneDTO>> mOnItemsChoosed;
|
|
||||||
private Runnable mOnAbort;
|
|
||||||
private MtbColt mMtbColt;
|
|
||||||
|
|
||||||
private List<DialogChooseOrdsLavFromListItemModel> mDataset;
|
|
||||||
|
|
||||||
public static Dialog make(final Context context, MtbColt collo, List<OrdineLavorazioneDTO> listaOrdini, RunnableArgs<List<OrdineLavorazioneDTO>> onItemsChoosed, Runnable onAbort) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
|
||||||
return new DialogChooseOrdsLavFromList(context, collo, listaOrdini, onItemsChoosed, onAbort).mDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private DialogChooseOrdsLavFromList(Context context, MtbColt collo, List<OrdineLavorazioneDTO> listaOrdiniLavoro, RunnableArgs<List<OrdineLavorazioneDTO>> onItemsChoosed, Runnable onAbort) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
|
||||||
currentContext = context;
|
|
||||||
mOnItemsChoosed = onItemsChoosed;
|
|
||||||
mOnAbort = onAbort;
|
|
||||||
mMtbColt = collo;
|
|
||||||
|
|
||||||
mDataset = new ArrayList<>();
|
|
||||||
|
|
||||||
if(listaOrdiniLavoro != null){
|
|
||||||
for (OrdineLavorazioneDTO ordineLav : listaOrdiniLavoro) {
|
|
||||||
mDataset.add(new DialogChooseOrdsLavFromListItemModel().setOrdineLav(ordineLav));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
|
||||||
DialogChooseOrdsLavFromListLayoutBinding binding = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_ords_lav_from_list_layout, null, false);
|
|
||||||
binding.setMtbColr(mMtbColt.getMtbColr().get(0));
|
|
||||||
|
|
||||||
binding.emptyView.setVisibility(mDataset != null && mDataset.size() > 0 ? View.GONE : View.VISIBLE);
|
|
||||||
|
|
||||||
mDialog = new Dialog(context);
|
|
||||||
mDialog.setContentView(binding.getRoot());
|
|
||||||
mDialog.setCanceledOnTouchOutside(false);
|
|
||||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
||||||
|
|
||||||
|
|
||||||
initRecyclerView(binding);
|
|
||||||
|
|
||||||
binding.positiveButton.setOnClickListener(v -> {
|
|
||||||
mDialog.dismiss();
|
|
||||||
onPositiveClick();
|
|
||||||
});
|
|
||||||
|
|
||||||
binding.negativeButton.setOnClickListener(v -> {
|
|
||||||
mDialog.dismiss();
|
|
||||||
onNegativeClick();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initRecyclerView(DialogChooseOrdsLavFromListLayoutBinding binding) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
|
|
||||||
binding.dialogChooseArtsFromListaArtMainList.setNestedScrollingEnabled(false);
|
|
||||||
|
|
||||||
binding.dialogChooseArtsFromListaArtMainList.setHasFixedSize(true);
|
|
||||||
|
|
||||||
binding.dialogChooseArtsFromListaArtMainList.setLayoutManager(new LinearLayoutManager(currentContext));
|
|
||||||
|
|
||||||
currentAdapter = new DialogChooseOrdsLavFromListAdapter(currentContext, mDataset, mMtbColt);
|
|
||||||
binding.dialogChooseArtsFromListaArtMainList.setAdapter(currentAdapter);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void onPositiveClick() {
|
|
||||||
if(mOnItemsChoosed != null) {
|
|
||||||
mOnItemsChoosed.run(currentAdapter.getSelectedItems());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void onNegativeClick() {
|
|
||||||
if(this.mOnAbort != null) mOnAbort.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,232 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
<data>
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
|
||||||
<variable
|
|
||||||
name="mtbColr"
|
|
||||||
type="it.integry.integrywmsnative.core.model.MtbColr"/>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:id="@+id/base_root"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
app:cardCornerRadius="12dp"
|
|
||||||
app:cardElevation="0dp">
|
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<!--<RelativeLayout-->
|
|
||||||
<!--android:id="@+id/title_container"-->
|
|
||||||
<!--android:layout_width="match_parent"-->
|
|
||||||
<!--android:layout_height="wrap_content"-->
|
|
||||||
<!--android:background="@color/light_blue_300"-->
|
|
||||||
<!--android:gravity="center_horizontal">-->
|
|
||||||
|
|
||||||
<!--<androidx.appcompat.widget.AppCompatImageView-->
|
|
||||||
<!--android:id="@+id/title_icon"-->
|
|
||||||
<!--android:layout_width="wrap_content"-->
|
|
||||||
<!--android:layout_height="wrap_content"-->
|
|
||||||
<!--android:src="@drawable/ic_error_white_24dp"-->
|
|
||||||
<!--android:layout_margin="24dp"/>-->
|
|
||||||
|
|
||||||
<!--</RelativeLayout>-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingTop="24dp"
|
|
||||||
android:paddingBottom="8dp"
|
|
||||||
android:paddingStart="8dp"
|
|
||||||
android:paddingEnd="8dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/title_text"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
style="@style/TextViewMaterial.DialogTitle"
|
|
||||||
android:text="@string/distribute_ul"
|
|
||||||
android:gravity="center_horizontal"/>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@drawable/gray_detail_background_round8"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginTop="12dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
android:padding="16dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/article"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="16sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/cod_alis"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
tools:text="CAVOLO VERZA"
|
|
||||||
android:text="@{mtbColr.mtbAart.descrizione}"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/batch_lot"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/descr_lis"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
tools:text="35119F0038"
|
|
||||||
android:text="@{mtbColr.partitaMag}"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="italic" />
|
|
||||||
</LinearLayout>
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/quantity"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/qta_col"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
tools:text="385 PZ"
|
|
||||||
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol)+ ' ' + mtbColr.mtbAart.untMis}"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="italic" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="8dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/empty_view"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:gravity="center"
|
|
||||||
android:padding="16dp"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:layout_marginBottom="16dp">
|
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/no_item_to_pick_text"
|
|
||||||
android:textSize="20sp"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="@color/empty_view_gray"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/dialog_choose_arts_from_lista_art__main_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content" />
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:weightSum="1">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
android:id="@+id/negative_button"
|
|
||||||
android:layout_weight="0.5"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
style="@style/Button.PrimaryOutline"
|
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:paddingStart="3dp"
|
|
||||||
android:paddingEnd="3dp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@id/left_buttons_guideline"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/right_buttons_guideline"
|
|
||||||
android:text="@string/abort"/>
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
android:id="@+id/positive_button"
|
|
||||||
android:layout_weight="0.5"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
style="@style/Button.PrimaryFull"
|
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:paddingEnd="3dp"
|
|
||||||
android:paddingStart="3dp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="@id/right_buttons_guideline"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
android:text="@string/confirm"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
|
||||||
</layout>
|
|
||||||
@ -6,8 +6,10 @@
|
|||||||
|
|
||||||
<data>
|
<data>
|
||||||
<import type="it.integry.integrywmsnative.R" />
|
<import type="it.integry.integrywmsnative.R" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.settings.SettingsManager" />
|
||||||
<import type="android.view.View" />
|
<import type="android.view.View" />
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityResources" />
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
<variable
|
<variable
|
||||||
name="checkableOrdineLav"
|
name="checkableOrdineLav"
|
||||||
@ -43,6 +45,7 @@
|
|||||||
app:checked="@{checkableOrdineLav.checked}"/>
|
app:checked="@{checkableOrdineLav.checked}"/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
||||||
android:id="@+id/linearLayout"
|
android:id="@+id/linearLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -50,15 +53,37 @@
|
|||||||
android:layout_toEndOf="@id/checkbox"
|
android:layout_toEndOf="@id/checkbox"
|
||||||
android:layout_toStartOf="@id/qta_box">
|
android:layout_toStartOf="@id/qta_box">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{checkableOrdineLav.getTestata()}"
|
||||||
|
android:textColor="@color/colorPrimary"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
tools:text="N° X del dd/mm/yyyy" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(checkableOrdineLav.qtaCol.get()) +' '+ mtbColr.mtbAart.untMis}"
|
||||||
|
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null && !mtbColr.mtbAart.isFlagQtaCnfFissa()) ? View.VISIBLE : View.GONE}"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:paddingStart="6dp"
|
||||||
|
android:paddingEnd="6dp"
|
||||||
|
android:background="@drawable/badge2_round_corner"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
tools:text="PESO KG" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@{checkableOrdineLav.getTestata()}"
|
|
||||||
android:textColor="@color/colorPrimary"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="N° X del dd/mm/yyyy" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -67,7 +92,7 @@
|
|||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:text="@{checkableOrdineLav.item.ordineLav.codProd +' '+ checkableOrdineLav.item.ordineLav.descrizioneProd}"
|
android:text="@{checkableOrdineLav.item.ordineLav.codProd +' '+ checkableOrdineLav.item.ordineLav.descrizioneProd}"
|
||||||
android:textColor="@android:color/secondary_text_light"
|
android:textColor="@android:color/secondary_text_light"
|
||||||
android:textSize="14sp"
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
tools:text="150303-010 CAVOLO VERZA 6 PZ PL NERA 604018" />
|
tools:text="150303-010 CAVOLO VERZA 6 PZ PL NERA 604018" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
@ -75,10 +100,18 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:text="@{checkableOrdineLav.item.ordineLav.partitaMag}"
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
android:textColor="@android:color/holo_red_light"
|
android:text="@{UtilityString.formatHtmlStringFromResId(R.string.batch_lot_text, checkableOrdineLav.item.ordineLav.partitaMag)}"
|
||||||
android:textSize="14sp"
|
|
||||||
tools:text="Lotto: 35119F0038" />
|
tools:text="Lotto: 35119F0038" />
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:visibility="@{!UtilityString.isNullOrEmpty(checkableOrdineLav.item.ordineLav.noteLav) ? View.VISIBLE : View.GONE}"
|
||||||
|
android:maxLines="2"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:text="@{UtilityString.formatHtmlStringFromResId(R.string.notes_text, checkableOrdineLav.item.ordineLav.noteLav)}"
|
||||||
|
tools:text="note: prova" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -97,6 +130,7 @@
|
|||||||
android:layout_centerVertical="true">
|
android:layout_centerVertical="true">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/qta_textview"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/badge1_round_corner"
|
android:background="@drawable/badge1_round_corner"
|
||||||
@ -105,11 +139,12 @@
|
|||||||
android:paddingTop="2dp"
|
android:paddingTop="2dp"
|
||||||
android:paddingRight="6dp"
|
android:paddingRight="6dp"
|
||||||
android:paddingBottom="2dp"
|
android:paddingBottom="2dp"
|
||||||
android:text="@{UtilityNumber.decimalToString(checkableOrdineLav.qtaCol.get()) + (mtbColr.mtbAart != null && !UtilityString.isNullOrEmpty(mtbColr.mtbAart.untMis) ? `\n` + mtbColr.mtbAart.untMis : ``)}"
|
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="15\nKG" />
|
android:textAllCaps="true"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
tools:text="280.45\nCONF" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
@ -1,18 +1,183 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:fab="http://schemas.android.com/apk/res-auto">
|
|
||||||
<data>
|
<data>
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="match_parent"
|
android:id="@+id/base_root"
|
||||||
tools:context=".gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment">
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:visibility="visible"
|
||||||
|
app:cardCornerRadius="12dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
||||||
</FrameLayout>
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextViewMaterial.DialogTitle"
|
||||||
|
android:text="@string/distribute_ul"
|
||||||
|
android:gravity="center_horizontal"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/gray_detail_background_round8"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_marginLeft="8dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:layout_marginRight="8dp"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/descr_art"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="CAVOLO VERZA"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:textColor="@color/colorPrimary"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/article"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/cod_art"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="150303-010"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/batch_lot"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/batch"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="35119F0038"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="italic" />
|
||||||
|
</LinearLayout>
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/quantity"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/qta_col"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="385 CONF"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="italic" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/empty_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/no_available_order_on_line"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="@color/empty_view_gray"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/dialog_choose_arts_from_lista_art__main_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:paddingBottom="80dp"
|
||||||
|
android:clipToPadding="false"
|
||||||
|
android:scrollbarStyle="outsideOverlay"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
|
android:id="@+id/positive_fab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="bottom|end"
|
||||||
|
android:layout_margin="@dimen/fab_margin"
|
||||||
|
android:tint="@android:color/white"
|
||||||
|
style="@style/Widget.MaterialComponents.FloatingActionButton"
|
||||||
|
app:srcCompat="@drawable/ic_check_black_24dp" />
|
||||||
|
</FrameLayout>
|
||||||
</layout>
|
</layout>
|
||||||
@ -132,6 +132,7 @@
|
|||||||
|
|
||||||
<string name="batch_lot">Lotto</string>
|
<string name="batch_lot">Lotto</string>
|
||||||
<string name="batch_lot_text"><![CDATA[Lotto: <b>%s</b>]]></string>
|
<string name="batch_lot_text"><![CDATA[Lotto: <b>%s</b>]]></string>
|
||||||
|
<string name="notes_text"><![CDATA[Note: <b>%s</b>]]></string>
|
||||||
<string name="expire_date">Data scad</string>
|
<string name="expire_date">Data scad</string>
|
||||||
<string name="num_pcks">Num cnf</string>
|
<string name="num_pcks">Num cnf</string>
|
||||||
<string name="qty_x_pck"><![CDATA[Qtà x cnf]]></string>
|
<string name="qty_x_pck"><![CDATA[Qtà x cnf]]></string>
|
||||||
@ -165,6 +166,7 @@
|
|||||||
<string name="no_item_to_pick_text">Nessun articolo da prelevare</string>
|
<string name="no_item_to_pick_text">Nessun articolo da prelevare</string>
|
||||||
<string name="no_docs_to_show_text">Nessun documento da mostrare</string>
|
<string name="no_docs_to_show_text">Nessun documento da mostrare</string>
|
||||||
<string name="no_orders_to_pick_text">Nessun ordine da evadere</string>
|
<string name="no_orders_to_pick_text">Nessun ordine da evadere</string>
|
||||||
|
<string name="no_available_order_on_line">Nessun ordine compatibile</string>
|
||||||
<string name="no_item_text">Nessun articolo</string>
|
<string name="no_item_text">Nessun articolo</string>
|
||||||
<string name="no_item_in_recupera_materiale">Nessuna UL versata in produzione</string>
|
<string name="no_item_in_recupera_materiale">Nessuna UL versata in produzione</string>
|
||||||
|
|
||||||
|
|||||||
@ -131,6 +131,7 @@
|
|||||||
<string name="level">Level</string>
|
<string name="level">Level</string>
|
||||||
<string name="not_valid">Not valid</string>
|
<string name="not_valid">Not valid</string>
|
||||||
<string name="batch_lot_text"><![CDATA[Batch lot: <b>%s</b>]]></string>
|
<string name="batch_lot_text"><![CDATA[Batch lot: <b>%s</b>]]></string>
|
||||||
|
<string name="notes_text"><![CDATA[Notes: <b>%s</b>]]></string>
|
||||||
<string name="expire_date">Expire date</string>
|
<string name="expire_date">Expire date</string>
|
||||||
<string name="num_pcks">Pcks num</string>
|
<string name="num_pcks">Pcks num</string>
|
||||||
<string name="qty_x_pck">Qty x pck</string>
|
<string name="qty_x_pck">Qty x pck</string>
|
||||||
@ -166,6 +167,7 @@
|
|||||||
<string name="no_item_to_pick_text">No items to pick</string>
|
<string name="no_item_to_pick_text">No items to pick</string>
|
||||||
<string name="no_docs_to_show_text">No documents to show</string>
|
<string name="no_docs_to_show_text">No documents to show</string>
|
||||||
<string name="no_orders_to_pick_text">No orders to dispatch</string>
|
<string name="no_orders_to_pick_text">No orders to dispatch</string>
|
||||||
|
.<string name="no_available_order_on_line">no compatible orders found</string>
|
||||||
<string name="no_item_text">No items</string>
|
<string name="no_item_text">No items</string>
|
||||||
<string name="no_item_in_recupera_materiale">No LU poured into production</string>
|
<string name="no_item_in_recupera_materiale">No LU poured into production</string>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user