Finish v1_10_6(109)
This commit is contained in:
commit
15332ee349
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 108
|
def appVersionCode = 109
|
||||||
def appVersionName = '1.10.5'
|
def appVersionName = '1.10.6'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.data_recover;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.annimon.stream.Optional;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
import com.google.android.gms.common.util.IOUtils;
|
import com.google.android.gms.common.util.IOUtils;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
@ -16,6 +18,7 @@ import java.io.InputStream;
|
|||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.CommonConst;
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
@ -24,12 +27,22 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|||||||
public class ColliDataRecover {
|
public class ColliDataRecover {
|
||||||
|
|
||||||
private static class RecoverDTO {
|
private static class RecoverDTO {
|
||||||
|
private int id;
|
||||||
private int numCollo;
|
private int numCollo;
|
||||||
private String serCollo;
|
private String serCollo;
|
||||||
private String dataCollo;
|
private String dataCollo;
|
||||||
private String gestioneCollo;
|
private String gestioneCollo;
|
||||||
private String filtro;
|
private String filtro;
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RecoverDTO setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int getNumCollo() {
|
public int getNumCollo() {
|
||||||
return numCollo;
|
return numCollo;
|
||||||
}
|
}
|
||||||
@ -92,26 +105,12 @@ public class ColliDataRecover {
|
|||||||
return mtbColtsSessions.size() > 0;
|
return mtbColtsSessions.size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Integer getFirstSessionID() {
|
|
||||||
|
|
||||||
if(thereIsAnExistantSession()){
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
|
|
||||||
} else return null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Integer> getAllSessionIDs() {
|
public static List<Integer> getAllSessionIDs() {
|
||||||
if(thereIsAnExistantSession()) {
|
if(thereIsAnExistantSession()) {
|
||||||
|
|
||||||
List<Integer> sessionIDs = new ArrayList<>();
|
return Stream.of(mtbColtsSessions)
|
||||||
|
.map(RecoverDTO::getId)
|
||||||
for(int i = 0; i < mtbColtsSessions.size(); i++){
|
.toList();
|
||||||
sessionIDs.add(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sessionIDs;
|
|
||||||
|
|
||||||
} else return null;
|
} else return null;
|
||||||
}
|
}
|
||||||
@ -120,7 +119,7 @@ public class ColliDataRecover {
|
|||||||
|
|
||||||
if(sessionID == null) return null;
|
if(sessionID == null) return null;
|
||||||
|
|
||||||
RecoverDTO dto = mtbColtsSessions.get(sessionID);
|
RecoverDTO dto = getIfExists(sessionID);
|
||||||
|
|
||||||
return new MtbColt()
|
return new MtbColt()
|
||||||
.setNumCollo(dto.getNumCollo())
|
.setNumCollo(dto.getNumCollo())
|
||||||
@ -130,9 +129,27 @@ public class ColliDataRecover {
|
|||||||
.setFiltroOrdini(dto.getFiltro());
|
.setFiltroOrdini(dto.getFiltro());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static RecoverDTO getIfExists(int id) {
|
||||||
|
Optional<RecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
|
||||||
|
.filter(x -> x.getId() == id)
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
|
||||||
|
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
|
||||||
|
}
|
||||||
|
|
||||||
public static int startNewSession(MtbColt mtbColtSession) {
|
public static int startNewSession(MtbColt mtbColtSession) {
|
||||||
|
Integer newId = null;
|
||||||
|
|
||||||
|
while(newId == null) {
|
||||||
|
int randomId = new Random().nextInt(1000);
|
||||||
|
RecoverDTO dto = getIfExists(randomId);
|
||||||
|
if(dto == null) newId = randomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
RecoverDTO recoverDTO = new RecoverDTO()
|
RecoverDTO recoverDTO = new RecoverDTO()
|
||||||
|
.setId(newId)
|
||||||
.setDataCollo(mtbColtSession.getDataColloS())
|
.setDataCollo(mtbColtSession.getDataColloS())
|
||||||
.setNumCollo(mtbColtSession.getNumCollo())
|
.setNumCollo(mtbColtSession.getNumCollo())
|
||||||
.setSerCollo(mtbColtSession.getSerCollo())
|
.setSerCollo(mtbColtSession.getSerCollo())
|
||||||
@ -141,12 +158,16 @@ public class ColliDataRecover {
|
|||||||
|
|
||||||
mtbColtsSessions.add(recoverDTO);
|
mtbColtsSessions.add(recoverDTO);
|
||||||
updateLocalFile();
|
updateLocalFile();
|
||||||
return mtbColtsSessions.indexOf(recoverDTO);
|
return newId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void closeSession(int ID) {
|
public static void closeSession(int ID) {
|
||||||
mtbColtsSessions.remove(ID);
|
RecoverDTO dto = getIfExists(ID);
|
||||||
updateLocalFile();
|
|
||||||
|
if(dto != null) {
|
||||||
|
mtbColtsSessions.remove(dto);
|
||||||
|
updateLocalFile();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -52,6 +52,7 @@ public class MtbColt extends EntityBase {
|
|||||||
private Integer numDoc;
|
private Integer numDoc;
|
||||||
private Integer numDocProvv;
|
private Integer numDocProvv;
|
||||||
private BigDecimal pesoKg;
|
private BigDecimal pesoKg;
|
||||||
|
private BigDecimal pesoNettoKg;
|
||||||
private BigDecimal lunghezzaCm;
|
private BigDecimal lunghezzaCm;
|
||||||
private BigDecimal larghezzaCm;
|
private BigDecimal larghezzaCm;
|
||||||
private BigDecimal altezzaCm;
|
private BigDecimal altezzaCm;
|
||||||
@ -427,6 +428,15 @@ public class MtbColt extends EntityBase {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPesoNettoKg() {
|
||||||
|
return pesoNettoKg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbColt setPesoNettoKg(BigDecimal pesoNettoKg) {
|
||||||
|
this.pesoNettoKg = pesoNettoKg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getLunghezzaCm() {
|
public BigDecimal getLunghezzaCm() {
|
||||||
return lunghezzaCm;
|
return lunghezzaCm;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,4 +36,24 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void getTipiCollo(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
String baseSql = "SELECT * " +
|
||||||
|
"FROM mtb_tcol ";
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<MtbTCol>>() {}.getType();
|
||||||
|
SystemRESTConsumer.processSql(baseSql, typeOfObjectsList, new ISimpleOperationCallback<List<MtbTCol>>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<MtbTCol> values) {
|
||||||
|
if(onComplete != null) {
|
||||||
|
onComplete.run(values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailed(Exception ex) {
|
||||||
|
if(onFailed != null) onFailed.run(ex);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,6 +26,7 @@ public class DBSettingsModel {
|
|||||||
private boolean flagCanAutoOpenNewULAccettazione;
|
private boolean flagCanAutoOpenNewULAccettazione;
|
||||||
private boolean flagCanAddExtraQuantitySpedizione;
|
private boolean flagCanAddExtraQuantitySpedizione;
|
||||||
private boolean flagEnableCheckDepositoSpedizione;
|
private boolean flagEnableCheckDepositoSpedizione;
|
||||||
|
private boolean flagForceAllToColli;
|
||||||
|
|
||||||
public List<String> getAvailableProfiles() {
|
public List<String> getAvailableProfiles() {
|
||||||
return availableProfiles;
|
return availableProfiles;
|
||||||
@ -150,4 +151,13 @@ public class DBSettingsModel {
|
|||||||
this.flagEnableCheckDepositoSpedizione = flagEnableCheckDepositoSpedizione;
|
this.flagEnableCheckDepositoSpedizione = flagEnableCheckDepositoSpedizione;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagForceAllToColli() {
|
||||||
|
return flagForceAllToColli;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagForceAllToColli(boolean flagForceAllToColli) {
|
||||||
|
this.flagForceAllToColli = flagForceAllToColli;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -218,6 +218,10 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
.setKeySection("ENABLE_CHECK_DEPOSITO"));
|
.setKeySection("ENABLE_CHECK_DEPOSITO"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SETUP")
|
||||||
|
.setKeySection("FLAG_FORCE_ALL_TO_COLLI"));
|
||||||
|
|
||||||
|
|
||||||
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
||||||
@ -231,6 +235,7 @@ public class SettingsManager {
|
|||||||
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
|
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
|
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagEnableCheckDepositoSpedizione(getValueFromList(list, "ENABLE_CHECK_DEPOSITO", Boolean.class));
|
dbSettingsModelIstance.setFlagEnableCheckDepositoSpedizione(getValueFromList(list, "ENABLE_CHECK_DEPOSITO", Boolean.class));
|
||||||
|
dbSettingsModelIstance.setFlagForceAllToColli(getValueFromList(list, "FLAG_FORCE_ALL_TO_COLLI", Boolean.class));
|
||||||
|
|
||||||
if(onComplete != null) onComplete.run();
|
if(onComplete != null) onComplete.run();
|
||||||
}, onFailed);
|
}, onFailed);
|
||||||
|
|||||||
@ -50,7 +50,7 @@ public class UtilityBarcode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isEanPeso(BarcodeScanDTO barcodeScanDTO) {
|
public static boolean isEanPeso(BarcodeScanDTO barcodeScanDTO) {
|
||||||
return isEan13(barcodeScanDTO) && barcodeScanDTO.getStringValue().startsWith("2");
|
return (isEtichetta128(barcodeScanDTO) || isEan13(barcodeScanDTO)) && barcodeScanDTO.getStringValue().startsWith("2");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isEan13(BarcodeScanDTO barcodeScanDTO) {
|
public static boolean isEan13(BarcodeScanDTO barcodeScanDTO) {
|
||||||
|
|||||||
@ -155,8 +155,9 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
cyclicRecover(sessionsIterator, onComplete, onFailed);
|
cyclicRecover(sessionsIterator, onComplete, onFailed);
|
||||||
}, ex -> {
|
}, ex -> {
|
||||||
|
|
||||||
if(ex.getMessage().contains("Dati collo non corretti")) {
|
if(ex.getMessage().contains("Dati collo non corretti") || (ex.getMessage().contains("Il collo numero") && ex.getMessage().contains("non esiste"))) {
|
||||||
ColliDataRecover.closeSession(recoveredMtbColtID);
|
ColliDataRecover.closeSession(recoveredMtbColtID);
|
||||||
|
onFailed.run(ex);
|
||||||
} else {
|
} else {
|
||||||
onFailed.run(ex);
|
onFailed.run(ex);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,19 +5,29 @@ import android.content.Context;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
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.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.databinding.DialogInputQuantityToReturnBinding;
|
import it.integry.integrywmsnative.databinding.DialogInputQuantityToReturnBinding;
|
||||||
|
|
||||||
public class InputQuantityToReturnDialog {
|
public class InputQuantityToReturnDialog {
|
||||||
|
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
private Dialog currentDialog;
|
private Dialog currentDialog;
|
||||||
|
|
||||||
public static Dialog make(final Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs<BigDecimal> onDialogDismiss) {
|
public static Dialog make(final Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs<BigDecimal> onDialogDismiss) {
|
||||||
@ -25,6 +35,8 @@ public class InputQuantityToReturnDialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private InputQuantityToReturnDialog(Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs<BigDecimal> onDialogDismiss) {
|
private InputQuantityToReturnDialog(Context context, MtbAart mtbAart, BigDecimal minQuantity, BigDecimal maxQuantity, RunnableArgs<BigDecimal> onDialogDismiss) {
|
||||||
|
this.mContext = context;
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
DialogInputQuantityToReturnBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_to_return, null, false);
|
DialogInputQuantityToReturnBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_to_return, null, false);
|
||||||
|
|
||||||
@ -55,7 +67,6 @@ public class InputQuantityToReturnDialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class InputQuantityToReturnViewModel {
|
public class InputQuantityToReturnViewModel {
|
||||||
|
|
||||||
public MtbAart mtbAart;
|
public MtbAart mtbAart;
|
||||||
|
|||||||
@ -77,7 +77,7 @@ public class VenditaOrdineInevasoHelper {
|
|||||||
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
|
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
|
||||||
PickingObjectDTO tmpItem = tmpList.get(i);
|
PickingObjectDTO tmpItem = tmpList.get(i);
|
||||||
|
|
||||||
tmpItem.setHidden(tmpItem.getQtaCollo().floatValue() < 0);
|
tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().isFlagQtaCnfFissa() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
|
||||||
tmpItem.setTempHidden(false);
|
tmpItem.setTempHidden(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,6 +69,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt;
|
||||||
@ -357,18 +358,18 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
//invece se esiste apro un collo nuovo e cerco gli articoli presenti nell'ul
|
//invece se esiste apro un collo nuovo e cerco gli articoli presenti nell'ul
|
||||||
//dell'etichetta anonima
|
//dell'etichetta anonima
|
||||||
this.executeEtichettaAnonimaNotOpenedLU(data, progressDialog);
|
this.executeEtichettaAnonimaNotOpenedLU(data, progressDialog);
|
||||||
} else if(UtilityBarcode.isEtichetta128(data)) {
|
|
||||||
|
|
||||||
//Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
|
||||||
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
|
||||||
this.executeEtichettaEan128(data, progressDialog);
|
|
||||||
});
|
|
||||||
} else if(UtilityBarcode.isEanPeso(data)) {
|
} else if(UtilityBarcode.isEanPeso(data)) {
|
||||||
|
|
||||||
//Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
//Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||||
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
||||||
this.executeEtichettaEanPeso(data, progressDialog);
|
this.executeEtichettaEanPeso(data, progressDialog);
|
||||||
});
|
});
|
||||||
|
} else if(UtilityBarcode.isEtichetta128(data)) {
|
||||||
|
|
||||||
|
//Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||||
|
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
||||||
|
this.executeEtichettaEan128(data, progressDialog);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
this.createNewUL(null, null, progressDialog, false, false, () -> {
|
||||||
this.loadArticolo(data.getStringValue(), null, progressDialog);
|
this.loadArticolo(data.getStringValue(), null, progressDialog);
|
||||||
@ -380,16 +381,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
this.executeEtichettaLU(data.getStringValue(), progressDialog);
|
this.executeEtichettaLU(data.getStringValue(), progressDialog);
|
||||||
|
|
||||||
|
|
||||||
} else if(UtilityBarcode.isEtichetta128(data)) {
|
|
||||||
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
|
||||||
this.executeEtichettaEan128(data, progressDialog);
|
|
||||||
|
|
||||||
|
|
||||||
} else if(UtilityBarcode.isEanPeso(data)) {
|
} else if(UtilityBarcode.isEanPeso(data)) {
|
||||||
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||||
this.executeEtichettaEanPeso(data, progressDialog);
|
this.executeEtichettaEanPeso(data, progressDialog);
|
||||||
|
|
||||||
|
|
||||||
|
} else if(UtilityBarcode.isEtichetta128(data)) {
|
||||||
|
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||||
|
this.executeEtichettaEan128(data, progressDialog);
|
||||||
|
|
||||||
|
|
||||||
} else if(UtilityBarcode.isEtichettaPosizione(data)) {
|
} else if(UtilityBarcode.isEtichettaPosizione(data)) {
|
||||||
//Cerco l'UL presente all'interno della posizione
|
//Cerco l'UL presente all'interno della posizione
|
||||||
this.executeEtichettaPosizione(data.getStringValue(), progressDialog);
|
this.executeEtichettaPosizione(data.getStringValue(), progressDialog);
|
||||||
@ -867,7 +868,13 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
ColliMagazzinoRESTConsumer.doesColloContainsAnyRow(currentMtbColt, containRows -> {
|
ColliMagazzinoRESTConsumer.doesColloContainsAnyRow(currentMtbColt, containRows -> {
|
||||||
|
|
||||||
if(containRows) {
|
if(containRows) {
|
||||||
ColliMagazzinoRESTConsumer.updateDataFine(
|
DialogInputPeso.make(mActivity, currentMtbColt.getCodTcol(), currentMtbColt.getPesoNettoKg(), currentMtbColt.getPesoKg(), (newCodTcol, newNetWeight, newGrossWeight) -> {
|
||||||
|
|
||||||
|
currentMtbColt.setCodTcol(newCodTcol);
|
||||||
|
currentMtbColt.setPesoNettoKg(newNetWeight);
|
||||||
|
currentMtbColt.setPesoKg(newGrossWeight);
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumer.updateDataFine(
|
||||||
mActivity,
|
mActivity,
|
||||||
progress,
|
progress,
|
||||||
currentMtbColt,
|
currentMtbColt,
|
||||||
@ -878,6 +885,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
}).show();
|
||||||
} else {
|
} else {
|
||||||
if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
|
if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
|
||||||
deleteCollo(progress, onComplete);
|
deleteCollo(progress, onComplete);
|
||||||
@ -1045,6 +1053,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
public void onOrdineRowDispatch(final PickingObjectDTO item) {
|
public void onOrdineRowDispatch(final PickingObjectDTO item) {
|
||||||
if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){
|
if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){
|
||||||
|
|
||||||
|
|
||||||
List<MtbColr> currentMtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr();
|
List<MtbColr> currentMtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr();
|
||||||
|
|
||||||
List<MtbColr> filteredMtbColrs = Stream.of(currentMtbColrs).filter(
|
List<MtbColr> filteredMtbColrs = Stream.of(currentMtbColrs).filter(
|
||||||
@ -1115,6 +1124,12 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
if(item.getTempPickData() != null) {
|
if(item.getTempPickData() != null) {
|
||||||
PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
|
PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
|
||||||
|
|
||||||
|
if(tmpPickData.getQtaCnf() == null && tmpPickData.getNumCnf() != null && tmpPickData.getQtaTot() != null) {
|
||||||
|
tmpPickData.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_EVEN));
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isTakenFromUL = tmpPickData.getSourceMtbColt() != null;
|
||||||
|
|
||||||
if(tmpPickData.getMtbPartitaMag() != null) {
|
if(tmpPickData.getMtbPartitaMag() != null) {
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(tmpPickData.getMtbPartitaMag().getPartitaMag())) {
|
if (!UtilityString.isNullOrEmpty(tmpPickData.getMtbPartitaMag().getPartitaMag())) {
|
||||||
@ -1132,16 +1147,21 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
boolean useQtaDaEvadere = false;
|
boolean useQtaDaEvadere = false;
|
||||||
|
|
||||||
if(tmpPickData.getQtaTot() != null) {
|
if(tmpPickData.getQtaTot() != null) {
|
||||||
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa();
|
useQtaDaEvadere = isTakenFromUL || (qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa());
|
||||||
if (useQtaDaEvadere) {
|
if (useQtaDaEvadere) {
|
||||||
dto.setQtaTot(qtaDaEvadere);
|
dto.setQtaTot(qtaDaEvadere);
|
||||||
dto.setMaxQta(qtaDaEvadere);
|
dto.setMaxQta(qtaDaEvadere);
|
||||||
|
|
||||||
|
if(isTakenFromUL) {
|
||||||
|
dto.setNumCnf(qtaDaEvadere.divide(tmpPickData.getQtaCnf(), 0, RoundingMode.HALF_UP).intValue());
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
dto.setQtaTot(tmpPickData.getQtaTot());
|
dto.setQtaTot(tmpPickData.getQtaTot());
|
||||||
dto.setMaxQta(tmpPickData.getQtaTot());
|
dto.setMaxQta(tmpPickData.getQtaTot());
|
||||||
|
|
||||||
if(tmpPickData.getNumCnf() != null) {
|
if(tmpPickData.getNumCnf() != null) {
|
||||||
dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf()));
|
dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP));
|
||||||
} else {
|
} else {
|
||||||
dto.setQtaCnf(tmpPickData.getQtaTot());
|
dto.setQtaCnf(tmpPickData.getQtaTot());
|
||||||
}
|
}
|
||||||
@ -1206,6 +1226,18 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
.setNumColloRif(sourceMtbColt.getNumCollo())
|
.setNumColloRif(sourceMtbColt.getNumCollo())
|
||||||
.setGestioneRif(UtilityString.empty2null(sourceMtbColt.getGestione()))
|
.setGestioneRif(UtilityString.empty2null(sourceMtbColt.getGestione()))
|
||||||
.setDataColloRif(UtilityString.empty2null(sourceMtbColt.getDataColloS()));
|
.setDataColloRif(UtilityString.empty2null(sourceMtbColt.getDataColloS()));
|
||||||
|
|
||||||
|
MtbColt currentOpenedMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get();
|
||||||
|
|
||||||
|
if( currentOpenedMtbColt.getCodTcol() == null &&
|
||||||
|
currentOpenedMtbColt.getPesoKg() == null &&
|
||||||
|
currentOpenedMtbColt.getPesoNettoKg() == null) {
|
||||||
|
|
||||||
|
currentOpenedMtbColt.setCodTcol(sourceMtbColt.getCodTcol());
|
||||||
|
currentOpenedMtbColt.setPesoKg(sourceMtbColt.getPesoKg());
|
||||||
|
currentOpenedMtbColt.setPesoNettoKg(sourceMtbColt.getPesoNettoKg());
|
||||||
|
}
|
||||||
|
|
||||||
} else if(item.getNumCollo() != null) {
|
} else if(item.getNumCollo() != null) {
|
||||||
mtbColr
|
mtbColr
|
||||||
.setCodJcom(UtilityString.empty2null(item.getCodJcom()))
|
.setCodJcom(UtilityString.empty2null(item.getCodJcom()))
|
||||||
@ -1219,7 +1251,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
|
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
|
||||||
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
||||||
|
|
||||||
cloneMtbColt.setMtbColr(new ObservableArrayList());
|
cloneMtbColt.setMtbColr(new ObservableArrayList());
|
||||||
cloneMtbColt.getMtbColr().add(mtbColr);
|
cloneMtbColt.getMtbColr().add(mtbColr);
|
||||||
|
|||||||
@ -0,0 +1,136 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.input_peso_lu;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
|
import com.annimon.stream.Optional;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
|
||||||
|
|
||||||
|
public class DialogInputPeso {
|
||||||
|
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private DialogInputPesoLuBinding mBindings;
|
||||||
|
private DialogInputPesoViewModel mViewModel;
|
||||||
|
private Dialog currentDialog;
|
||||||
|
|
||||||
|
private List<MtbTCol> codTcolList = null;
|
||||||
|
private ArrayAdapter<String> codTcolArrayAdapter = null;
|
||||||
|
|
||||||
|
public static Dialog make(final Context context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss) {
|
||||||
|
return new DialogInputPeso(context, codTcol, netWeight, grossWeight, onDialogDismiss).currentDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private DialogInputPeso(final Context context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss<String, BigDecimal, BigDecimal> onDialogDismiss) {
|
||||||
|
this.mContext = context;
|
||||||
|
|
||||||
|
|
||||||
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_peso_lu, null, false);
|
||||||
|
|
||||||
|
currentDialog = new Dialog(context);
|
||||||
|
currentDialog.setContentView(mBindings.getRoot());
|
||||||
|
|
||||||
|
currentDialog.setCanceledOnTouchOutside(false);
|
||||||
|
currentDialog.setCancelable(false);
|
||||||
|
currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
|
mViewModel = new DialogInputPesoViewModel();
|
||||||
|
mViewModel.codTcol.set(codTcol);
|
||||||
|
mViewModel.netWeight.set(UtilityNumber.decimalToString(netWeight));
|
||||||
|
mViewModel.grossWeight.set(UtilityNumber.decimalToString(grossWeight));
|
||||||
|
|
||||||
|
mBindings.setViewModel(mViewModel);
|
||||||
|
|
||||||
|
mBindings.buttonConfirm.setOnClickListener(v -> {
|
||||||
|
currentDialog.dismiss();
|
||||||
|
|
||||||
|
String newCodTcol = null;
|
||||||
|
|
||||||
|
if(mViewModel.codTcol.get() != null) {
|
||||||
|
Optional<MtbTCol> newCodTcolOptional = Stream.of(codTcolList)
|
||||||
|
.filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(mViewModel.codTcol.get()))
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BigDecimal netWeightDecimal = new BigDecimal(mViewModel.netWeight.get());
|
||||||
|
BigDecimal grossWeightDecimal = new BigDecimal(mViewModel.grossWeight.get());
|
||||||
|
|
||||||
|
onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void init() {
|
||||||
|
|
||||||
|
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
|
||||||
|
MagazzinoRESTConsumer.getTipiCollo(codTcols -> {
|
||||||
|
this.codTcolList = codTcols;
|
||||||
|
|
||||||
|
List<String> codTcolDescriptions = Stream.of(codTcols)
|
||||||
|
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
if(mViewModel.codTcol.get() != null) {
|
||||||
|
Optional<String> newCodTcol = Stream.of(codTcols)
|
||||||
|
.filter(x -> x.getCodTcol().equalsIgnoreCase(mViewModel.codTcol.get()))
|
||||||
|
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
if(newCodTcol.isPresent()) mViewModel.codTcol.set(newCodTcol.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
codTcolArrayAdapter = new ArrayAdapter(mContext, R.layout.array_adapter_single_item);
|
||||||
|
codTcolArrayAdapter.addAll(codTcolDescriptions);
|
||||||
|
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
|
||||||
|
|
||||||
|
progressDialog.dismiss();
|
||||||
|
|
||||||
|
}, ex -> {
|
||||||
|
UtilityExceptions.defaultException(mContext, ex, progressDialog);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class DialogInputPesoViewModel {
|
||||||
|
public BindableString codTcol = new BindableString();
|
||||||
|
public BindableString netWeight = new BindableString();
|
||||||
|
public BindableString grossWeight = new BindableString();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
8
app/src/main/res/layout/array_adapter_single_item.xml
Normal file
8
app/src/main/res/layout/array_adapter_single_item.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text"/>
|
||||||
190
app/src/main/res/layout/dialog_input_peso_lu.xml
Normal file
190
app/src/main/res/layout/dialog_input_peso_lu.xml
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
<data>
|
||||||
|
<import type="android.text.Html" />
|
||||||
|
<import type="it.integry.integrywmsnative.R" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
<variable
|
||||||
|
name="mContext"
|
||||||
|
type="android.content.Context" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="viewModel"
|
||||||
|
type="it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso.DialogInputPesoViewModel" />
|
||||||
|
</data>
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical" android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
app:cardCornerRadius="12dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/light_blue_300"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:src="@drawable/ic_error_white_24dp"
|
||||||
|
android:layout_margin="24dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="24dp"
|
||||||
|
android:paddingLeft="24dp"
|
||||||
|
android:paddingRight="24dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextViewMaterial.DialogTitle"
|
||||||
|
android:text="@string/action_insert_weight"
|
||||||
|
android:gravity="center_horizontal"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextViewMaterial"
|
||||||
|
android:text="@string/dialog_input_peso_lu_description"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginTop="16dp" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/input_cod_tcol"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/lu_type">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
|
||||||
|
android:id="@+id/filled_exposed_dropdown_cod_tcol"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="textNoSuggestions"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
|
android:nextFocusForward="@id/filled_exposed_dropdown_vettore"
|
||||||
|
app:binding="@{viewModel.codTcol}"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guide_center_1"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.49"/>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guide_center_2"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.51"/>
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="@id/guide_center_1"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
style="@style/TextInputLayout.OutlinePrimary">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/gross_weight"
|
||||||
|
android:inputType="numberDecimal"
|
||||||
|
app:binding="@{viewModel.grossWeight}"
|
||||||
|
style="@style/TextInputEditText.OutlinePrimary"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/guide_center_2"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
style="@style/TextInputLayout.OutlinePrimary">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/net_weight"
|
||||||
|
android:inputType="numberDecimal"
|
||||||
|
app:binding="@{viewModel.netWeight}"
|
||||||
|
style="@style/TextInputEditText.OutlinePrimary"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingTop="12dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
android:gravity="bottom|center_horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/button_confirm"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Button.PrimaryFull"
|
||||||
|
app:icon="@drawable/ic_save_24dp"
|
||||||
|
android:text="@string/confirm"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -45,6 +45,8 @@
|
|||||||
<string name="action_orderBy">Ordina</string>
|
<string name="action_orderBy">Ordina</string>
|
||||||
<string name="action_create_ul">Crea nuova UL</string>
|
<string name="action_create_ul">Crea nuova UL</string>
|
||||||
<string name="action_insert_quantity">Inserisci quantità</string>
|
<string name="action_insert_quantity">Inserisci quantità</string>
|
||||||
|
<string name="action_insert_weight">Inserisci peso</string>
|
||||||
|
<string name="dialog_input_peso_lu_description">Inserisci le informazioni del TIPO UL e il peso NETTO e LORDO</string>
|
||||||
<string name="action_show_created_ul">Mostra UL già create</string>
|
<string name="action_show_created_ul">Mostra UL già create</string>
|
||||||
<string name="action_recover_ul">Recupera UL</string>
|
<string name="action_recover_ul">Recupera UL</string>
|
||||||
<string name="action_print_ul">Stampa UL</string>
|
<string name="action_print_ul">Stampa UL</string>
|
||||||
@ -119,6 +121,9 @@
|
|||||||
<string name="quantity">Quantità</string>
|
<string name="quantity">Quantità</string>
|
||||||
<string name="packages">Confezioni</string>
|
<string name="packages">Confezioni</string>
|
||||||
<string name="quantity_short">Qtà</string>
|
<string name="quantity_short">Qtà</string>
|
||||||
|
<string name="net_weight">Peso netto (KG)</string>
|
||||||
|
<string name="gross_weight">Peso lordo (KG)</string>
|
||||||
|
<string name="lu_type">Tipo pedana</string>
|
||||||
|
|
||||||
<string name="ordered_abbr">Ord</string>
|
<string name="ordered_abbr">Ord</string>
|
||||||
<string name="to_dispatch_abbr">Da ev</string>
|
<string name="to_dispatch_abbr">Da ev</string>
|
||||||
|
|||||||
@ -71,7 +71,9 @@
|
|||||||
<string name="action_orderBy">Order</string>
|
<string name="action_orderBy">Order</string>
|
||||||
<string name="action_create_ul">Create new LU</string>
|
<string name="action_create_ul">Create new LU</string>
|
||||||
<string name="action_insert_quantity">Insert quantity</string>
|
<string name="action_insert_quantity">Insert quantity</string>
|
||||||
|
<string name="action_insert_weight">Insert weight</string>
|
||||||
<string name="action_show_created_ul">Show already created LU</string>
|
<string name="action_show_created_ul">Show already created LU</string>
|
||||||
|
<string name="dialog_input_peso_lu_description">Insert info about LU TYPE and NET / GROSS weight</string>
|
||||||
|
|
||||||
|
|
||||||
<!-- SETTINGS -->
|
<!-- SETTINGS -->
|
||||||
@ -116,6 +118,9 @@
|
|||||||
<string name="quantity">Quantity</string>
|
<string name="quantity">Quantity</string>
|
||||||
<string name="packages">Packages</string>
|
<string name="packages">Packages</string>
|
||||||
<string name="quantity_short">Qty</string>
|
<string name="quantity_short">Qty</string>
|
||||||
|
<string name="net_weight">Net weight (KG)</string>
|
||||||
|
<string name="gross_weight">Gross weight (KG)</string>
|
||||||
|
<string name="lu_type">LU type</string>
|
||||||
|
|
||||||
<string name="ordered_abbr">Ord</string>
|
<string name="ordered_abbr">Ord</string>
|
||||||
<string name="to_dispatch_abbr">To disp</string>
|
<string name="to_dispatch_abbr">To disp</string>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user