Compare commits

...

8 Commits

15 changed files with 810 additions and 301 deletions

View File

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

View File

@@ -1,23 +1,6 @@
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.content.Context;
import android.content.res.ColorStateList;
import android.util.Log;
import android.view.View;
@@ -25,10 +8,25 @@ import android.widget.AutoCompleteTextView;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RadioButton;
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.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
@@ -37,15 +35,10 @@ import java.util.Date;
import java.util.GregorianCalendar;
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.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
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.UtilityNumber;
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) {
if (view.getTag(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());
BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
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)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@@ -271,17 +288,33 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
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) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.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)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@@ -309,20 +342,35 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
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) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.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) {
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
}
accettazioneListModel.setOriginalModel(x);
@@ -481,7 +529,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
}
@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()
.setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf)
@@ -499,7 +547,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setCanLUBeClosed(true);
.setCanLUBeClosed(true)
.setCanOverflowOrderQuantity(canOverflowQuantity);
DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {

View File

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

View File

@@ -2,18 +2,18 @@ package it.integry.integrywmsnative.gest.lista_bancali;
import android.content.Context;
import android.content.Intent;
import androidx.databinding.DataBindingUtil;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.databinding.DataBindingUtil;
import java.util.ArrayList;
import java.util.List;
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.expansion.BaseActivity;
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.gest.contenuto_bancale.ContenutoBancaleActivity;
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 PrinterType = "printerType";
private static final String ReportName = "reportName";
private static final String FlagOnlyResiduo = "flagOnlyResiduo";
}
public ActivityListaBancaliBinding bindings;
@@ -34,6 +35,7 @@ public class ListaBancaliActivity extends BaseActivity {
private boolean mCanRecoverUl;
private PrinterRESTConsumer.Type mPrinterType;
private String mReportName;
private boolean mFlagOnlyResiduo;
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);
myIntent.putExtra(Key.ReportName, reportNameKey);
String flagOnlyResiduoKey = DataCache.addItem(true);
myIntent.putExtra(Key.FlagOnlyResiduo, flagOnlyResiduoKey);
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);
String mtbColtsKey = DataCache.addItem(items);
@@ -69,6 +74,9 @@ public class ListaBancaliActivity extends BaseActivity {
String printerTypeKey = DataCache.addItem(printerType);
myIntent.putExtra(Key.PrinterType, printerTypeKey);
String flagOnlyResiduoKey = DataCache.addItem(onlyResiduo);
myIntent.putExtra(Key.FlagOnlyResiduo, flagOnlyResiduoKey);
return myIntent;
}
@@ -81,9 +89,10 @@ public class ListaBancaliActivity extends BaseActivity {
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
mFlagOnlyResiduo = DataCache.retrieveItem(getIntent().getStringExtra(Key.FlagOnlyResiduo));
List<MtbColt> mtbColts = DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtsKey));
mViewModel = new ListaBancaliViewModel(this, mtbColts);
mViewModel = new ListaBancaliViewModel(this, mtbColts, mFlagOnlyResiduo);
setSupportActionBar(this.bindings.toolbar);

View File

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

View File

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

View File

@@ -584,7 +584,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
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);
}

View File

@@ -103,12 +103,12 @@ public class SpedizioneViewModel {
private final PrinterRESTConsumer mPrinterRESTConsumer;
@Inject
public SpedizioneViewModel( ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliDataRecoverService colliDataRecoverService,
OrdiniRESTConsumer ordiniRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer) {
public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliDataRecoverService colliDataRecoverService,
OrdiniRESTConsumer ordiniRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer) {
this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliDataRecoverService = colliDataRecoverService;
@@ -298,7 +298,8 @@ public class SpedizioneViewModel {
}
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) {
@@ -489,7 +490,7 @@ public class SpedizioneViewModel {
mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
if(mtbColt.getSegno() != -1) {
if (mtbColt.getSegno() != -1) {
searchArtFromUL(mtbColt, onComplete);
} else this.sendError(new InvalidLUException());
} else {
@@ -606,7 +607,7 @@ public class SpedizioneViewModel {
.filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) &&
UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) &&
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);
cloneMtbColt.setMtbColr(cloneMtbColrs);
@@ -708,13 +709,14 @@ public class SpedizioneViewModel {
if (mtbColrToDispatch != null) {
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere) || UtilityBigDecimal.equalsTo(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
} else {
numCnfDaPrelevare = numCnfDaEvadere;
qtaColDaPrelevare = qtaDaEvadere;
}
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
@@ -744,8 +746,8 @@ public class SpedizioneViewModel {
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
if(manualPickDTO.isEanPeso()) {
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
if (manualPickDTO.isEanPeso()) {
if (mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
this.sendError(new InvalidPesoKGException());
} else {
@@ -761,8 +763,9 @@ public class SpedizioneViewModel {
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
if(!mtbAart.isFlagQtaCnfFissaBoolean()) {
if(UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ONE;
if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
numCnfDaPrelevare = BigDecimal.ONE;
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
}
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
@@ -853,7 +856,7 @@ public class SpedizioneViewModel {
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;
initialQtaCnf = mtbAart.getQtaCnf();
initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf);
@@ -899,7 +902,7 @@ public class SpedizioneViewModel {
PickingObjectDTO pickingObjectDTO = null;
if(optionalPickingObjectDTO.isPresent()) {
if (optionalPickingObjectDTO.isPresent()) {
pickingObjectDTO = optionalPickingObjectDTO.get();
}
@@ -915,7 +918,7 @@ public class SpedizioneViewModel {
BigDecimal qtaDaEvadere = null;
BigDecimal qtaCnfDaEvadere = null;
if(finalPickingObjectDTO != null) {
if (finalPickingObjectDTO != null) {
totalQtaOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
totalNumCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
qtaCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
@@ -954,12 +957,14 @@ public class SpedizioneViewModel {
if (mtbColrRifs != null && mtbColrRifs.size() > 0) {
//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()) &&
UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) &&
UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) &&
UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag()))
.single();
.findSingle();
mtbColrRif = optionalMtbColr.isPresent() ? optionalMtbColr.get() : null;
}
@@ -969,6 +974,9 @@ public class SpedizioneViewModel {
totalNumCnfAvailable = mtbColrRif.getNumCnf();
qtaCnfAvailable = mtbColrRif.getQtaCnf();
totalNumCnfAvailable = totalNumCnfAvailable.add(mtbColrToEdit.getNumCnf());
totalQtaAvailable = totalQtaAvailable.add(mtbColrToEdit.getQtaCol());
} else {
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))
numCnfDaPrelevare = BigDecimal.ZERO;
@@ -1103,7 +1108,7 @@ public class SpedizioneViewModel {
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
if (mtbColrToDispatch != null) {
if(UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol()))
if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol()))
mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol()));
mtbColr
@@ -1114,13 +1119,13 @@ public class SpedizioneViewModel {
.setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS()));
if(mtbColrToDispatch.getPesoNettoKg() != null) {
if (mtbColrToDispatch.getPesoNettoKg() != null) {
//Proporzione
BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol());
mtbColr.setPesoNettoKg(pesoNettoKg);
}
if(mtbColrToDispatch.getPesoLordoKg() != null) {
if (mtbColrToDispatch.getPesoLordoKg() != null) {
//Proporzione
BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol());
mtbColr.setPesoLordoKg(pesoLordoKg);
@@ -1157,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();
this.sendOnLoadingEnded();
@@ -1226,7 +1231,7 @@ public class SpedizioneViewModel {
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate))
.findSingle();
if(pickingObjectDTO.isPresent()) {
if (pickingObjectDTO.isPresent()) {
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate);
pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr);
}
@@ -1270,7 +1275,7 @@ public class SpedizioneViewModel {
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete))
.findSingle();
if(pickingObjectDTO.isPresent()) {
if (pickingObjectDTO.isPresent()) {
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete);
}
@@ -1401,9 +1406,11 @@ public class SpedizioneViewModel {
}
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)
.filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum())
.forEach(x -> x.setExistColloBoolean(true));
@@ -1437,7 +1444,7 @@ public class SpedizioneViewModel {
.findFirst();
if(optionalMtbColrReference.isPresent()) {
if (optionalMtbColrReference.isPresent()) {
//looking for real refMtbColr instance
MtbColr mtbColr = optionalMtbColrReference.get();

View File

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

View File

@@ -1,13 +1,12 @@
package it.integry.integrywmsnative.gest.versamento_merce.viewmodel;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.text.Html;
import android.text.SpannableString;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.fragment.app.FragmentActivity;
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.base.DialogSimpleMessageHelper;
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;
public class VersamentoMerceViewModel {
private Context mContext;
private FragmentActivity mContext;
private FragmentMainVersamentoMerceBinding mBinding;
private VersamentoMerceHelper mHelper;
@@ -58,7 +58,7 @@ public class VersamentoMerceViewModel {
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;
mBinding = binding;
mHelper = helper;
@@ -356,27 +356,65 @@ public class VersamentoMerceViewModel {
private void askSingleQuantity(MtbColr mtbColr, RunnableArgs<MtbColr> onComplete, Runnable onAbort) {
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
.setBatchLot(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbColr.getMtbAart())
.setQtaTot(mtbColr.getQtaCol())
.setQtaOrd(mtbColr.getQtaCol())
.setQtaDaEvadere(new BigDecimal(-1))
.setQtaEvasa(BigDecimal.ZERO)
.setInitialNumCnf(mtbColr.getNumCnf())
.setInitialQtaCnf(mtbColr.getQtaCnf())
.setInitialQtaTot(mtbColr.getQtaCol())
.setTotalQtaAvailable(mtbColr.getQtaCol())
.setTotalNumCnfAvailable(mtbColr.getNumCnf())
.setQtaCnfAvailable(mtbColr.getQtaCnf())
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
.setCanOverflowOrderQuantity(false)
.setCanPartitaMagBeChanged(false)
.setCanDataScadBeChanged(false)
.setMaxQta(mtbColr.getQtaCol());
.setCanLUBeClosed(false);
DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> {
mtbColr
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDatetimeRow(UtilityDate.getDateInstance());
DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
// PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
// .setNumCnf(resultDTO.getNumCnf())
// .setQtaCnf(resultDTO.getQtaCnf())
// .setQtaTot(resultDTO.getQtaTot())
// .setPartitaMag(resultDTO.getPartitaMag())
// .setDataScad(resultDTO.getDataScad());
//
// onComplete.run(pickedQuantityDTO, shouldCloseLU);
onComplete.run(mtbColr);
}, onAbort).show();
mtbColr
.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()));
}
public void collapseMtbColrActionSheet(){
this.mBinding.bottomSheetMtbColrEdit.collapse();
}
public BottomSheetFragmentLUContentView setListener(Listener listener) {
this.mListener = listener;
return this;

View File

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

View File

@@ -1,16 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<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.UtilityNumber" />
<import type="it.integry.integrywmsnative.core.settings.SettingsManager" />
<variable
name="mtbColr"
type="it.integry.integrywmsnative.core.model.MtbColr"/>
type="it.integry.integrywmsnative.core.model.MtbColr" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
@@ -18,101 +27,290 @@
android:layout_height="wrap_content"
android:padding="8dp">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/art_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintEnd_toEndOf="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
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="@{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:id="@+id/qta_box"
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}"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="Lotto: ABCDE" />
android:paddingStart="12dp"
android:paddingEnd="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
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
android:id="@+id/qta_box"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:layout_marginEnd="10dp"
android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/art_detail">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_textview"
android:layout_width="wrap_content"
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/badge1_round_corner"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:textSize="16sp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textAllCaps="true"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="280.45\nCONF" />
android:backgroundTint="@color/green_600"
android:orientation="horizontal"
android:padding="2dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/badge1_round_corner"
android:backgroundTint="@android:color/white"
android:orientation="horizontal"
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>

View File

@@ -1,131 +1,329 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<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.UtilityNumber" />
<import type="it.integry.integrywmsnative.core.settings.SettingsManager" />
<variable
name="mtbColr"
type="it.integry.integrywmsnative.core.model.MtbColr" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/art_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/qta_box"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="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
android:id="@+id/qta_box"
android:layout_width="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
android:id="@+id/cod_mart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
android:id="@+id/qta_textview"
style="@style/AppTheme.NewMaterial.Text"
tools:text="COD MART" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/diacod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{`(` + mtbColr.mtbAart.diacod + `)`}"
android:textColor="@color/red_600"
android:textSize="13sp"
android:textStyle="bold"
android:layout_marginStart="8dp"
android:layout_toEndOf="@id/cod_mart"
android:visibility="@{(mtbColr.mtbAart != null &amp;&amp; !UtilityString.isNullOrEmpty(mtbColr.mtbAart.diacod)) ? View.VISIBLE : View.GONE}"
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: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"
style="@style/AppTheme.NewMaterial.Text.Small"
tools:text="PESO KG" />
android:textSize="16sp"
android:textStyle="bold"
tools:text="280.45\nCONF" />
</RelativeLayout>
<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>
</androidx.constraintlayout.widget.ConstraintLayout>
<RelativeLayout
android:id="@+id/qta_box"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:layout_marginEnd="10dp"
android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/art_detail">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/qta_textview"
android:layout_width="wrap_content"
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/badge1_round_corner"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:textSize="16sp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textAllCaps="true"
style="@style/AppTheme.NewMaterial.Text"
tools:text="280.45\nCONF" />
android:backgroundTint="@color/green_600"
android:orientation="horizontal"
android:padding="2dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/badge1_round_corner"
android:backgroundTint="@android:color/white"
android:orientation="horizontal"
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>