Compare commits

...

12 Commits

15 changed files with 811 additions and 301 deletions

View File

@@ -7,8 +7,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 159 def appVersionCode = 162
def appVersionName = '1.13.13' def appVersionName = '1.13.16'
signingConfigs { signingConfigs {
release { release {

View File

@@ -1,23 +1,6 @@
package it.integry.integrywmsnative.core.di; package it.integry.integrywmsnative.core.di;
import androidx.annotation.ColorRes;
import androidx.annotation.IdRes;
import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView;
import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.BindingAdapter;
import androidx.databinding.BindingConversion;
import androidx.constraintlayout.widget.Guideline;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import androidx.core.util.Pair;
import androidx.appcompat.widget.AppCompatCheckBox;
import androidx.appcompat.widget.AppCompatTextView;
import android.app.DatePickerDialog; import android.app.DatePickerDialog;
import android.content.Context;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
@@ -25,10 +8,25 @@ import android.widget.AutoCompleteTextView;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.RadioGroup; import android.widget.RadioGroup;
import androidx.annotation.ColorRes;
import androidx.appcompat.widget.AppCompatCheckBox;
import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.constraintlayout.widget.Guideline;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.util.Pair;
import androidx.databinding.BindingAdapter;
import androidx.databinding.BindingConversion;
import androidx.databinding.Observable;
import androidx.databinding.ObservableField;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
@@ -37,15 +35,10 @@ import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.Locale; import java.util.Locale;
import androidx.databinding.Observable;
import androidx.databinding.ObservableField;
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.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityContext;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
@@ -386,7 +379,7 @@ public class Converters {
} }
@BindingAdapter({"app:visibility"}) @BindingAdapter({"visibility"})
public static void bindViewVisibility(View view, final BindableBoolean bindableBoolean) { public static void bindViewVisibility(View view, final BindableBoolean bindableBoolean) {
if (view.getTag(R.id.bound_observable) != bindableBoolean) { if (view.getTag(R.id.bound_observable) != bindableBoolean) {
view.setTag(R.id.bound_observable, bindableBoolean); view.setTag(R.id.bound_observable, bindableBoolean);

View File

@@ -234,17 +234,34 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) BigDecimal numCnfEvasa = BigDecimal.ZERO;
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add); if(x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null) if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@@ -271,17 +288,33 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
BigDecimal qtaEvasa = BigDecimal.ZERO; if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol) .map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null) if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@@ -309,20 +342,35 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd())); accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
BigDecimal qtaEvasa = BigDecimal.ZERO; if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol) .map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null) { if (x.getMtbAart() != null) {
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa()); accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
accettazioneListModel.setOriginalModel(x); accettazioneListModel.setOriginalModel(x);
@@ -481,7 +529,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
} }
@Override @Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) { public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart) .setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf) .setInitialNumCnf(initialNumCnf)
@@ -499,7 +547,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
.setPartitaMag(partitaMag) .setPartitaMag(partitaMag)
.setDataScad(dataScad) .setDataScad(dataScad)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged) .setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setCanLUBeClosed(true); .setCanLUBeClosed(true)
.setCanOverflowOrderQuantity(canOverflowQuantity);
DialogInputQuantityV2 DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> { .newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {

View File

@@ -851,6 +851,7 @@ public class AccettazionePickingViewModel {
partitaMag, partitaMag,
dataScad, dataScad,
canPartitaMagBeChanged, canPartitaMagBeChanged,
true,
onComplete); onComplete);
} }
@@ -899,7 +900,8 @@ public class AccettazionePickingViewModel {
BigDecimal qtaCnfAvailable, BigDecimal qtaCnfAvailable,
String partitaMag, String partitaMag,
Date dataScad, Date dataScad,
boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged,
boolean canOverflowQuantity,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete); RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onRowSaved(); void onRowSaved();

View File

@@ -2,18 +2,18 @@ package it.integry.integrywmsnative.gest.lista_bancali;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import androidx.databinding.DataBindingUtil;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import androidx.databinding.DataBindingUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.databinding.ActivityListaBancaliBinding; import it.integry.integrywmsnative.databinding.ActivityListaBancaliBinding;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleActivity;
import it.integry.integrywmsnative.gest.lista_bancali.viewmodel.ListaBancaliViewModel; import it.integry.integrywmsnative.gest.lista_bancali.viewmodel.ListaBancaliViewModel;
@@ -25,6 +25,7 @@ public class ListaBancaliActivity extends BaseActivity {
private static final String CanRecoverUL = "canRecoverUL"; private static final String CanRecoverUL = "canRecoverUL";
private static final String PrinterType = "printerType"; private static final String PrinterType = "printerType";
private static final String ReportName = "reportName"; private static final String ReportName = "reportName";
private static final String FlagOnlyResiduo = "flagOnlyResiduo";
} }
public ActivityListaBancaliBinding bindings; public ActivityListaBancaliBinding bindings;
@@ -34,6 +35,7 @@ public class ListaBancaliActivity extends BaseActivity {
private boolean mCanRecoverUl; private boolean mCanRecoverUl;
private PrinterRESTConsumer.Type mPrinterType; private PrinterRESTConsumer.Type mPrinterType;
private String mReportName; private String mReportName;
private boolean mFlagOnlyResiduo;
private static final int PICK_UL_REQUEST = 1; // The request code private static final int PICK_UL_REQUEST = 1; // The request code
@@ -54,10 +56,13 @@ public class ListaBancaliActivity extends BaseActivity {
String reportNameKey = DataCache.addItem(reportName); String reportNameKey = DataCache.addItem(reportName);
myIntent.putExtra(Key.ReportName, reportNameKey); myIntent.putExtra(Key.ReportName, reportNameKey);
String flagOnlyResiduoKey = DataCache.addItem(true);
myIntent.putExtra(Key.FlagOnlyResiduo, flagOnlyResiduoKey);
return myIntent; return myIntent;
} }
public static Intent createIntent(Context context, ArrayList<MtbColt> items, boolean canRecoverUl, PrinterRESTConsumer.Type printerType) { public static Intent createIntent(Context context, ArrayList<MtbColt> items, boolean canRecoverUl, PrinterRESTConsumer.Type printerType, boolean onlyResiduo) {
Intent myIntent = new Intent(context, ListaBancaliActivity.class); Intent myIntent = new Intent(context, ListaBancaliActivity.class);
String mtbColtsKey = DataCache.addItem(items); String mtbColtsKey = DataCache.addItem(items);
@@ -69,6 +74,9 @@ public class ListaBancaliActivity extends BaseActivity {
String printerTypeKey = DataCache.addItem(printerType); String printerTypeKey = DataCache.addItem(printerType);
myIntent.putExtra(Key.PrinterType, printerTypeKey); myIntent.putExtra(Key.PrinterType, printerTypeKey);
String flagOnlyResiduoKey = DataCache.addItem(onlyResiduo);
myIntent.putExtra(Key.FlagOnlyResiduo, flagOnlyResiduoKey);
return myIntent; return myIntent;
} }
@@ -81,9 +89,10 @@ public class ListaBancaliActivity extends BaseActivity {
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL)); mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType)); mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName)); mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
mFlagOnlyResiduo = DataCache.retrieveItem(getIntent().getStringExtra(Key.FlagOnlyResiduo));
List<MtbColt> mtbColts = DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtsKey)); List<MtbColt> mtbColts = DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtsKey));
mViewModel = new ListaBancaliViewModel(this, mtbColts); mViewModel = new ListaBancaliViewModel(this, mtbColts, mFlagOnlyResiduo);
setSupportActionBar(this.bindings.toolbar); setSupportActionBar(this.bindings.toolbar);

View File

@@ -26,11 +26,15 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
private MainListListaColliAdapter mAdapter; private MainListListaColliAdapter mAdapter;
public ListaBancaliViewModel(ListaBancaliActivity context, List<MtbColt> mtbColts){ private boolean mLoadOnlyResiduo;
public ListaBancaliViewModel(ListaBancaliActivity context, List<MtbColt> mtbColts, boolean loadOnlyResiduo){
mContext = context; mContext = context;
mMtbColts = new ObservableArrayList<>(); mMtbColts = new ObservableArrayList<>();
mMtbColts.addAll(mtbColts); mMtbColts.addAll(mtbColts);
this.mLoadOnlyResiduo = loadOnlyResiduo;
initRecyclerView(); initRecyclerView();
} }
@@ -56,7 +60,7 @@ public class ListaBancaliViewModel implements IRecyclerItemClicked<MtbColt> {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext); final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
try { try {
ColliMagazzinoRESTConsumer.getByTestataStatic(item, true, false, mtbColt -> { ColliMagazzinoRESTConsumer.getByTestataStatic(item, mLoadOnlyResiduo, false, mtbColt -> {
ObservableArrayList<MtbColr> mtbColrObservableArrayList = new ObservableArrayList<>(); ObservableArrayList<MtbColr> mtbColrObservableArrayList = new ObservableArrayList<>();
mtbColrObservableArrayList.addAll(mtbColt.getMtbColr()); mtbColrObservableArrayList.addAll(mtbColt.getMtbColr());

View File

@@ -570,16 +570,16 @@ public class RettificaGiacenzeViewModel {
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone();
mtbColr.setOperation(CommonModelConsts.OPERATION.UPDATE);
mtbColr mtbColr
.setNumCnf(numCnf) .setNumCnf(numCnf.subtract(mtbColr.getNumCnf()))
.setQtaCnf(qtaCnf) .setQtaCnf(qtaCnf)
.setQtaCol(qtaTot) .setQtaCol(qtaTot.subtract(mtbColr.getQtaCol()))
.setPartitaMag(partitaMag) .setPartitaMag(partitaMag)
.setDataScadPartita(dataScad) .setDataScadPartita(dataScad)
.setUtente(SettingsManager.i().getUser().getFullname()) .setUtente(SettingsManager.i().getUser().getFullname())
.setCausale(MtbColr.Causale.RETTIFICA) .setCausale(MtbColr.Causale.RETTIFICA)
.setDatetimeRow(UtilityDate.getDateInstance()); .setDatetimeRow(UtilityDate.getDateInstance())
.setOperation(CommonModelConsts.OPERATION.INSERT);
mtbColt.getMtbColr().add(mtbColr); mtbColt.getMtbColr().add(mtbColr);
@@ -626,8 +626,17 @@ public class RettificaGiacenzeViewModel {
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone(); MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone();
mtbColr
.setNumCnf(mtbColr.getNumCnf().multiply(new BigDecimal(-1)))
.setQtaCnf(mtbColr.getQtaCnf())
.setQtaCol(mtbColr.getQtaCol().multiply(new BigDecimal(-1)))
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScadPartita(mtbColr.getDataScadPartitaD())
.setUtente(SettingsManager.i().getUser().getFullname())
.setCausale(MtbColr.Causale.RETTIFICA)
.setDatetimeRow(UtilityDate.getDateInstance())
.setOperation(CommonModelConsts.OPERATION.INSERT);
mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE);
mtbColt.getMtbColr().add(mtbColr); mtbColt.getMtbColr().add(mtbColr);
this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> {

View File

@@ -584,7 +584,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
ArrayList<MtbColt> createdMtbColts = this.mViewmodel.getCreatedMtbColts(); ArrayList<MtbColt> createdMtbColts = this.mViewmodel.getCreatedMtbColts();
Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, PrinterRESTConsumer.Type.PRIMARIA); Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, PrinterRESTConsumer.Type.PRIMARIA, false);
this.startActivityForResult(myIntent, PICK_UL_REQUEST); this.startActivityForResult(myIntent, PICK_UL_REQUEST);
} }

View File

@@ -103,12 +103,12 @@ public class SpedizioneViewModel {
private final PrinterRESTConsumer mPrinterRESTConsumer; private final PrinterRESTConsumer mPrinterRESTConsumer;
@Inject @Inject
public SpedizioneViewModel( ArticoloRESTConsumer articoloRESTConsumer, public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer,
ColliDataRecoverService colliDataRecoverService, ColliDataRecoverService colliDataRecoverService,
OrdiniRESTConsumer ordiniRESTConsumer, OrdiniRESTConsumer ordiniRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer) { PrinterRESTConsumer printerRESTConsumer) {
this.mArticoloRESTConsumer = articoloRESTConsumer; this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer; this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliDataRecoverService = colliDataRecoverService; this.mColliDataRecoverService = colliDataRecoverService;
@@ -298,7 +298,8 @@ public class SpedizioneViewModel {
} }
private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) { private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
if (this.mListener != null) mListener.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete); if (this.mListener != null)
mListener.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete);
} }
private void sendLUPrintRequest(RunnableArgs<Boolean> onComplete) { private void sendLUPrintRequest(RunnableArgs<Boolean> onComplete) {
@@ -489,7 +490,7 @@ public class SpedizioneViewModel {
mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> { mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) { if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
if(mtbColt.getSegno() != -1) { if (mtbColt.getSegno() != -1) {
searchArtFromUL(mtbColt, onComplete); searchArtFromUL(mtbColt, onComplete);
} else this.sendError(new InvalidLUException()); } else this.sendError(new InvalidLUException());
} else { } else {
@@ -606,7 +607,7 @@ public class SpedizioneViewModel {
.filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) && .filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) &&
UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) &&
UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) && UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) &&
(!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag())))) (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(matchedObject.getSitArtOrdDTO().getPartitaMag()))))
.forEach(cloneMtbColrs::remove); .forEach(cloneMtbColrs::remove);
cloneMtbColt.setMtbColr(cloneMtbColrs); cloneMtbColt.setMtbColr(cloneMtbColrs);
@@ -708,13 +709,14 @@ public class SpedizioneViewModel {
if (mtbColrToDispatch != null) { if (mtbColrToDispatch != null) {
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) { if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere) || UtilityBigDecimal.equalsTo(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf(); numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol(); qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
} else { } else {
numCnfDaPrelevare = numCnfDaEvadere; numCnfDaPrelevare = numCnfDaEvadere;
qtaColDaPrelevare = qtaDaEvadere; qtaColDaPrelevare = qtaDaEvadere;
} }
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf(); qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
@@ -744,8 +746,8 @@ public class SpedizioneViewModel {
if (mtbAart.isFlagQtaCnfFissaBoolean()) { if (mtbAart.isFlagQtaCnfFissaBoolean()) {
qtaCnfDaPrelevare = mtbAart.getQtaCnf(); qtaCnfDaPrelevare = mtbAart.getQtaCnf();
if(manualPickDTO.isEanPeso()) { if (manualPickDTO.isEanPeso()) {
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) { if (mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) { if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
this.sendError(new InvalidPesoKGException()); this.sendError(new InvalidPesoKGException());
} else { } else {
@@ -761,8 +763,9 @@ public class SpedizioneViewModel {
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) { if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf()); numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
if(!mtbAart.isFlagQtaCnfFissaBoolean()) { if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
if(UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ONE; if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
numCnfDaPrelevare = BigDecimal.ONE;
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare); qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
} }
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) { } else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
@@ -853,7 +856,7 @@ public class SpedizioneViewModel {
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf); initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
} }
if(numCnfDaPrelevare == null && qtaColDaPrelevare == null && initialNumCnf == null && initialQtaTot == null) { if (numCnfDaPrelevare == null && qtaColDaPrelevare == null && initialNumCnf == null && initialQtaTot == null) {
initialNumCnf = BigDecimal.ONE; initialNumCnf = BigDecimal.ONE;
initialQtaCnf = mtbAart.getQtaCnf(); initialQtaCnf = mtbAart.getQtaCnf();
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf); initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
@@ -899,7 +902,7 @@ public class SpedizioneViewModel {
PickingObjectDTO pickingObjectDTO = null; PickingObjectDTO pickingObjectDTO = null;
if(optionalPickingObjectDTO.isPresent()) { if (optionalPickingObjectDTO.isPresent()) {
pickingObjectDTO = optionalPickingObjectDTO.get(); pickingObjectDTO = optionalPickingObjectDTO.get();
} }
@@ -915,7 +918,7 @@ public class SpedizioneViewModel {
BigDecimal qtaDaEvadere = null; BigDecimal qtaDaEvadere = null;
BigDecimal qtaCnfDaEvadere = null; BigDecimal qtaCnfDaEvadere = null;
if(finalPickingObjectDTO != null) { if (finalPickingObjectDTO != null) {
totalQtaOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaOrd(); totalQtaOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
totalNumCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd(); totalNumCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
qtaCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd(); qtaCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
@@ -954,12 +957,14 @@ public class SpedizioneViewModel {
if (mtbColrRifs != null && mtbColrRifs.size() > 0) { if (mtbColrRifs != null && mtbColrRifs.size() > 0) {
//TODO: Da capire se è necessario controllare anche il cod_jcom //TODO: Da capire se è necessario controllare anche il cod_jcom
mtbColrRif = Stream.of(mtbColrRifs) Optional<MtbColr> optionalMtbColr = Stream.of(mtbColrRifs)
.filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) && .filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) &&
UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) && UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) &&
UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) &&
UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag())) UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag()))
.single(); .findSingle();
mtbColrRif = optionalMtbColr.isPresent() ? optionalMtbColr.get() : null;
} }
@@ -969,6 +974,9 @@ public class SpedizioneViewModel {
totalNumCnfAvailable = mtbColrRif.getNumCnf(); totalNumCnfAvailable = mtbColrRif.getNumCnf();
qtaCnfAvailable = mtbColrRif.getQtaCnf(); qtaCnfAvailable = mtbColrRif.getQtaCnf();
totalNumCnfAvailable = totalNumCnfAvailable.add(mtbColrToEdit.getNumCnf());
totalQtaAvailable = totalQtaAvailable.add(mtbColrToEdit.getQtaCol());
} else { } else {
totalQtaAvailable = mtbColrToEdit.getQtaCol(); totalQtaAvailable = mtbColrToEdit.getQtaCol();
@@ -977,9 +985,6 @@ public class SpedizioneViewModel {
} }
totalNumCnfAvailable = totalNumCnfAvailable.add(mtbColrToEdit.getNumCnf());
totalQtaAvailable = totalQtaAvailable.add(mtbColrToEdit.getQtaCol());
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO)) if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
numCnfDaPrelevare = BigDecimal.ZERO; numCnfDaPrelevare = BigDecimal.ZERO;
@@ -1103,7 +1108,8 @@ public class SpedizioneViewModel {
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
if (mtbColrToDispatch != null) { if (mtbColrToDispatch != null) {
if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol()))
mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol()));
mtbColr mtbColr
.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())) .setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom()))
@@ -1113,13 +1119,13 @@ public class SpedizioneViewModel {
.setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); .setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS()));
if(mtbColrToDispatch.getPesoNettoKg() != null) { if (mtbColrToDispatch.getPesoNettoKg() != null) {
//Proporzione //Proporzione
BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol()); BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol());
mtbColr.setPesoNettoKg(pesoNettoKg); mtbColr.setPesoNettoKg(pesoNettoKg);
} }
if(mtbColrToDispatch.getPesoLordoKg() != null) { if (mtbColrToDispatch.getPesoLordoKg() != null) {
//Proporzione //Proporzione
BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol()); BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol());
mtbColr.setPesoLordoKg(pesoLordoKg); mtbColr.setPesoLordoKg(pesoLordoKg);
@@ -1156,7 +1162,7 @@ public class SpedizioneViewModel {
} }
if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) { if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
resetMatchedRows(); resetMatchedRows();
this.sendOnLoadingEnded(); this.sendOnLoadingEnded();
@@ -1225,7 +1231,7 @@ public class SpedizioneViewModel {
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate)) .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate))
.findSingle(); .findSingle();
if(pickingObjectDTO.isPresent()) { if (pickingObjectDTO.isPresent()) {
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate);
pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr); pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr);
} }
@@ -1269,7 +1275,7 @@ public class SpedizioneViewModel {
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete)) .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete))
.findSingle(); .findSingle();
if(pickingObjectDTO.isPresent()) { if (pickingObjectDTO.isPresent()) {
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete); pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete);
} }
@@ -1400,9 +1406,11 @@ public class SpedizioneViewModel {
} }
private void postCloseOperations(List<MtbColt> mtbColtList) { private void postCloseOperations(List<MtbColt> mtbColtList) {
this.mColliRegistrati.addAll(mtbColtList); Stream.of(mtbColtList)
.filter(x -> !this.mColliRegistrati.contains(x))
.forEach(x -> this.mColliRegistrati.add(x));
for(MtbColt mtbColt : mtbColtList) { for (MtbColt mtbColt : mtbColtList) {
Stream.of(mTestateOrdini) Stream.of(mTestateOrdini)
.filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum()) .filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum())
.forEach(x -> x.setExistColloBoolean(true)); .forEach(x -> x.setExistColloBoolean(true));
@@ -1436,7 +1444,7 @@ public class SpedizioneViewModel {
.findFirst(); .findFirst();
if(optionalMtbColrReference.isPresent()) { if (optionalMtbColrReference.isPresent()) {
//looking for real refMtbColr instance //looking for real refMtbColr instance
MtbColr mtbColr = optionalMtbColrReference.get(); MtbColr mtbColr = optionalMtbColrReference.get();

View File

@@ -1,7 +1,6 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel; package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
@@ -15,14 +14,14 @@ import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.GtbAnag; import it.integry.integrywmsnative.core.model.GtbAnag;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
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.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzato; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzato;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
public class UltimeConsegneClienteViewModel { public class UltimeConsegneClienteViewModel {
@@ -96,9 +95,8 @@ public class UltimeConsegneClienteViewModel {
currentCodAnagFilter, currentCodAnagFilter,
null, null,
null, null,
365, 548,
consegne -> { consegne -> {
this.mItems = consegne; this.mItems = consegne;
this.initDataAdapter(consegne); this.initDataAdapter(consegne);
@@ -109,7 +107,6 @@ public class UltimeConsegneClienteViewModel {
mAdapter.updateItems(mRenderedItems); mAdapter.updateItems(mRenderedItems);
progressDialog.dismiss(); progressDialog.dismiss();
}, ex -> { }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog); UtilityExceptions.defaultException(mContext, ex, progressDialog);
}); });

View File

@@ -1,13 +1,12 @@
package it.integry.integrywmsnative.gest.versamento_merce.viewmodel; package it.integry.integrywmsnative.gest.versamento_merce.viewmodel;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.text.Html; import android.text.Html;
import android.text.SpannableString; import android.text.SpannableString;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.fragment.app.FragmentActivity;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
@@ -43,13 +42,14 @@ import it.integry.integrywmsnative.view.dialogs.DialogAskLivelloPosizione;
import it.integry.integrywmsnative.view.dialogs.DialogCommon; import it.integry.integrywmsnative.view.dialogs.DialogCommon;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
public class VersamentoMerceViewModel { public class VersamentoMerceViewModel {
private Context mContext; private FragmentActivity mContext;
private FragmentMainVersamentoMerceBinding mBinding; private FragmentMainVersamentoMerceBinding mBinding;
private VersamentoMerceHelper mHelper; private VersamentoMerceHelper mHelper;
@@ -58,7 +58,7 @@ public class VersamentoMerceViewModel {
private Runnable mOnVersamentoCompleted; private Runnable mOnVersamentoCompleted;
public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) { public void init(FragmentActivity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) {
mContext = context; mContext = context;
mBinding = binding; mBinding = binding;
mHelper = helper; mHelper = helper;
@@ -356,27 +356,65 @@ public class VersamentoMerceViewModel {
private void askSingleQuantity(MtbColr mtbColr, RunnableArgs<MtbColr> onComplete, Runnable onAbort) { private void askSingleQuantity(MtbColr mtbColr, RunnableArgs<MtbColr> onComplete, Runnable onAbort) {
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setBatchLot(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
.setMtbAart(mtbColr.getMtbAart()) .setMtbAart(mtbColr.getMtbAart())
.setQtaTot(mtbColr.getQtaCol()) .setInitialNumCnf(mtbColr.getNumCnf())
.setQtaOrd(mtbColr.getQtaCol()) .setInitialQtaCnf(mtbColr.getQtaCnf())
.setQtaDaEvadere(new BigDecimal(-1)) .setInitialQtaTot(mtbColr.getQtaCol())
.setQtaEvasa(BigDecimal.ZERO) .setTotalQtaAvailable(mtbColr.getQtaCol())
.setTotalNumCnfAvailable(mtbColr.getNumCnf())
.setQtaCnfAvailable(mtbColr.getQtaCnf())
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
.setCanOverflowOrderQuantity(false)
.setCanPartitaMagBeChanged(false) .setCanPartitaMagBeChanged(false)
.setCanDataScadBeChanged(false) .setCanLUBeClosed(false);
.setMaxQta(mtbColr.getQtaCol());
DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> { DialogInputQuantityV2
mtbColr .newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
.setQtaCol(quantityDTO.qtaTot.getBigDecimal()) // PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) // .setNumCnf(resultDTO.getNumCnf())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) // .setQtaCnf(resultDTO.getQtaCnf())
.setDatetimeRow(UtilityDate.getDateInstance()); // .setQtaTot(resultDTO.getQtaTot())
// .setPartitaMag(resultDTO.getPartitaMag())
// .setDataScad(resultDTO.getDataScad());
//
// onComplete.run(pickedQuantityDTO, shouldCloseLU);
onComplete.run(mtbColr); mtbColr
}, onAbort).show(); .setQtaCol(resultDTO.getQtaTot())
.setQtaCnf(resultDTO.getQtaCnf())
.setNumCnf(resultDTO.getNumCnf())
.setDatetimeRow(UtilityDate.getDateInstance());
onComplete.run(mtbColr);
}, onAbort)
.show(mContext.getSupportFragmentManager(), "tag");
// DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
// .setBatchLot(mtbColr.getPartitaMag())
// .setDataScad(mtbColr.getDataScadPartitaD())
// .setMtbAart(mtbColr.getMtbAart())
// .setQtaTot(mtbColr.getQtaCol())
// .setQtaOrd(mtbColr.getQtaCol())
// .setQtaDaEvadere(new BigDecimal(-1))
// .setQtaEvasa(BigDecimal.ZERO)
// .setCanPartitaMagBeChanged(false)
// .setCanDataScadBeChanged(false)
// .setMaxQta(mtbColr.getQtaCol());
//
// DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> {
// mtbColr
// .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
// .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
// .setNumCnf(quantityDTO.numCnf.getBigDecimal())
// .setDatetimeRow(UtilityDate.getDateInstance());
//
// onComplete.run(mtbColr);
// }, onAbort).show();
} }

View File

@@ -101,6 +101,10 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
mBinding.textviewArtDescription.setText(mContext.getResources().getQuantityString(R.plurals.articles, mtbColrs.size())); mBinding.textviewArtDescription.setText(mContext.getResources().getQuantityString(R.plurals.articles, mtbColrs.size()));
} }
public void collapseMtbColrActionSheet(){
this.mBinding.bottomSheetMtbColrEdit.collapse();
}
public BottomSheetFragmentLUContentView setListener(Listener listener) { public BottomSheetFragmentLUContentView setListener(Listener listener) {
this.mListener = listener; this.mListener = listener;
return this; return this;

View File

@@ -390,7 +390,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#99000000" android:background="#99000000"
android:visibility="gone" /> android:visibility="gone"
singleClick="@{() -> view.collapseMtbColrActionSheet()}"/>
<it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView <it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditView
android:id="@+id/bottom_sheet__mtb_colr_edit" android:id="@+id/bottom_sheet__mtb_colr_edit"

View File

@@ -1,16 +1,25 @@
<?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:tools="http://schemas.android.com/tools" 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">
<data> <data>
<import type="android.view.View" /> <import type="android.view.View" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate.COMMONS_DATE_FORMATS" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
<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.settings.SettingsManager" /> <import type="it.integry.integrywmsnative.core.settings.SettingsManager" />
<variable <variable
name="mtbColr" name="mtbColr"
type="it.integry.integrywmsnative.core.model.MtbColr"/> type="it.integry.integrywmsnative.core.model.MtbColr" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
@@ -18,101 +27,290 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="8dp"> android:padding="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout android:id="@+id/art_detail"
android:id="@+id/linearLayout" android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:background="@drawable/badge2_round_corner"
android:paddingStart="6dp"
android:paddingEnd="6dp"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:textColor="@android:color/white"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
tools:text="PESO KG" />
</RelativeLayout>
<TextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:paddingStart="0dp"
android:paddingEnd="8dp"
android:text="@{mtbColr.getDescrizione()}"
android:textColor="@android:color/black"
android:textSize="16sp"
tools:text="Descrizione lunga articolo" />
<TextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{`Lotto: ` + mtbColr.getPartitaMag()}"
android:textSize="14sp"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.getPartitaMag()) ? View.INVISIBLE : View.VISIBLE}"
tools:text="Lotto: ABCDE" />
</LinearLayout>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:id="@+id/qta_box"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="COD MART" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? 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>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@{mtbColr.getDescrizione()}"
android:textColor="@android:color/black"
android:textSize="16sp"
android:paddingStart="0dp"
android:paddingEnd="8dp"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="Descrizione lunga articolo" />
<TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{`Lotto: ` + mtbColr.getPartitaMag()}" android:paddingStart="12dp"
android:textSize="14sp" android:paddingEnd="12dp"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.getPartitaMag()) ? View.INVISIBLE : View.VISIBLE}" app:layout_constraintBottom_toBottomOf="parent"
style="@style/AppTheme.NewMaterial.Text.Small" app:layout_constraintEnd_toEndOf="parent"
tools:text="Lotto: ABCDE" /> app:layout_constraintTop_toTopOf="parent">
</LinearLayout> <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_textview"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge1_round_corner"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:text="280.45\nCONF" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/qta_box" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="12dp" android:layout_marginEnd="10dp"
android:paddingEnd="12dp" android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintTop_toBottomOf="@id/art_detail">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_textview" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/badge1_round_corner" android:background="@drawable/badge1_round_corner"
android:gravity="center" android:backgroundTint="@color/green_600"
android:paddingLeft="6dp" android:orientation="horizontal"
android:paddingTop="2dp" android:padding="2dp">
android:paddingRight="6dp"
android:paddingBottom="2dp" <androidx.appcompat.widget.LinearLayoutCompat
android:textSize="16sp" android:layout_width="match_parent"
android:textColor="@android:color/white" android:layout_height="wrap_content"
android:textStyle="bold" android:background="@drawable/badge1_round_corner"
android:textAllCaps="true" android:backgroundTint="@android:color/white"
style="@style/AppTheme.NewMaterial.Text.Small" android:orientation="horizontal"
tools:text="280.45\nCONF" /> android:padding="0dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="2dp"
android:paddingEnd="4dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/ic_box"
android:tint="@color/green_600" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/refs_title"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Prelevato da"
android:textColor="@color/green_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="2dp"
android:layout_height="match_parent"
android:background="@color/green_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp"
android:weightSum="2">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Num: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.numColloRif.toString()}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="5230" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gest: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.gestioneRif}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="V" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(mtbColr.dataColloRifD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="02 mar 2020" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Serie: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.serColloRif}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="UL" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>

View File

@@ -1,131 +1,329 @@
<?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:app="http://schemas.android.com/apk/res-auto"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View" /> <import type="android.view.View" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate.COMMONS_DATE_FORMATS" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
<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.settings.SettingsManager" /> <import type="it.integry.integrywmsnative.core.settings.SettingsManager" />
<variable <variable
name="mtbColr" name="mtbColr"
type="it.integry.integrywmsnative.core.model.MtbColr" /> type="it.integry.integrywmsnative.core.model.MtbColr" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="8dp"> android:padding="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout android:id="@+id/art_detail"
android:id="@+id/linearLayout" android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/cod_mart"
style="@style/AppTheme.NewMaterial.Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/diacod"
style="@style/AppTheme.NewMaterial.Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_toEndOf="@id/cod_mart"
android:text="@{`(` + mtbColr.mtbAart.diacod + `)`}"
android:textColor="@color/red_600"
android:textSize="13sp"
android:textStyle="bold"
android:visibility="@{(mtbColr.mtbAart != null &amp;&amp; !UtilityString.isNullOrEmpty(mtbColr.mtbAart.diacod)) ? View.VISIBLE : View.GONE}"
tools:text="(12345)" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:background="@drawable/badge2_round_corner"
android:paddingStart="6dp"
android:paddingEnd="6dp"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:textColor="@android:color/white"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? View.VISIBLE : View.GONE}"
tools:text="PESO KG" />
</RelativeLayout>
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@{mtbColr.getDescrizione()}"
android:textColor="@android:color/black"
android:textSize="16sp"
tools:text="Descrizione lunga articolo" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{`Lotto: ` + mtbColr.getPartitaMag()}"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.getPartitaMag()) ? View.INVISIBLE : View.VISIBLE}"
tools:text="Lotto: ABCDE" />
</LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/qta_box"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/cod_mart" android:id="@+id/qta_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text" style="@style/AppTheme.NewMaterial.Text"
tools:text="COD MART" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/diacod"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{`(` + mtbColr.mtbAart.diacod + `)`}" android:background="@drawable/badge1_round_corner"
android:textColor="@color/red_600" android:gravity="center"
android:textSize="13sp" android:paddingLeft="6dp"
android:textStyle="bold" android:paddingTop="2dp"
android:layout_marginStart="8dp" android:paddingRight="6dp"
android:layout_toEndOf="@id/cod_mart" android:paddingBottom="2dp"
android:visibility="@{(mtbColr.mtbAart != null &amp;&amp; !UtilityString.isNullOrEmpty(mtbColr.mtbAart.diacod)) ? View.VISIBLE : View.GONE}" android:textAllCaps="true"
style="@style/AppTheme.NewMaterial.Text"
tools:text="(12345)" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(mtbColr.qtaCol) + mtbColr.mtbAart.untMis}"
android:visibility="@{SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.mtbAart != null &amp;&amp; !mtbColr.mtbAart.flagQtaCnfFissaBoolean) ? 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" android:textColor="@android:color/white"
style="@style/AppTheme.NewMaterial.Text.Small" android:textSize="16sp"
tools:text="PESO KG" /> android:textStyle="bold"
tools:text="280.45\nCONF" />
</RelativeLayout> </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@{mtbColr.getDescrizione()}"
android:textColor="@android:color/black"
android:textSize="16sp"
tools:text="Descrizione lunga articolo"
style="@style/AppTheme.NewMaterial.Text.Small" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{`Lotto: ` + mtbColr.getPartitaMag()}"
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.getPartitaMag()) ? View.INVISIBLE : View.VISIBLE}"
tools:text="Lotto: ABCDE"
style="@style/AppTheme.NewMaterial.Text.Small" />
</LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/qta_box" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="12dp" android:layout_marginEnd="10dp"
android:paddingEnd="12dp" android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintTop_toBottomOf="@id/art_detail">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_textview" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/badge1_round_corner" android:background="@drawable/badge1_round_corner"
android:gravity="center" android:backgroundTint="@color/green_600"
android:paddingLeft="6dp" android:orientation="horizontal"
android:paddingTop="2dp" android:padding="2dp">
android:paddingRight="6dp"
android:paddingBottom="2dp" <androidx.appcompat.widget.LinearLayoutCompat
android:textSize="16sp" android:layout_width="match_parent"
android:textColor="@android:color/white" android:layout_height="wrap_content"
android:textStyle="bold" android:background="@drawable/badge1_round_corner"
android:textAllCaps="true" android:backgroundTint="@android:color/white"
style="@style/AppTheme.NewMaterial.Text" android:orientation="horizontal"
tools:text="280.45\nCONF" /> android:padding="0dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="2dp"
android:paddingEnd="4dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/ic_box"
android:tint="@color/green_600" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/refs_title"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Prelevato da"
android:textColor="@color/green_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="2dp"
android:layout_height="match_parent"
android:background="@color/green_600"/>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp"
android:weightSum="2">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Num: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.numColloRif.toString()}"
tools:text="5230"
android:textColor="@android:color/black"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="2dp">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gest: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.gestioneRif}"
tools:text="V"
android:textColor="@android:color/black"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(mtbColr.dataColloRifD, &quot;dd MMM yy&quot;)}"
tools:text="02 mar 2020"
android:textColor="@android:color/black"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="2dp">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Serie: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.serColloRif}"
tools:text="UL"
android:textColor="@android:color/black"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>