Finish v1.29.0(304)

This commit is contained in:
Giuseppe Scorrano 2022-08-04 09:58:54 +02:00
commit 6b01861a26
27 changed files with 1075 additions and 355 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 303
def appVersionName = '1.28.9'
def appVersionCode = 304
def appVersionName = '1.29.0'
signingConfigs {
release {

View File

@ -88,6 +88,11 @@ public class MtbAart extends EntityBase {
private String marchio;
private Integer sezione;
private UntMisRifPesoEnum untMisRifPeso;
private BigDecimal qtaEsistente;
private BigDecimal qtaImpegnata;
private BigDecimal numCnfEsistente;
private BigDecimal numCnfImpegnata;
private List<MtbUntMis> mtbUntMis;
@ -819,4 +824,40 @@ public class MtbAart extends EntityBase {
this.untMisRifPeso = untMisRifPeso;
return this;
}
public BigDecimal getQtaEsistente() {
return qtaEsistente;
}
public MtbAart setQtaEsistente(BigDecimal qtaEsistente) {
this.qtaEsistente = qtaEsistente;
return this;
}
public BigDecimal getQtaImpegnata() {
return qtaImpegnata;
}
public MtbAart setQtaImpegnata(BigDecimal qtaImpegnata) {
this.qtaImpegnata = qtaImpegnata;
return this;
}
public BigDecimal getNumCnfEsistente() {
return numCnfEsistente;
}
public MtbAart setNumCnfEsistente(BigDecimal numCnfEsistente) {
this.numCnfEsistente = numCnfEsistente;
return this;
}
public BigDecimal getNumCnfImpegnata() {
return numCnfImpegnata;
}
public MtbAart setNumCnfImpegnata(BigDecimal numCnfImpegnata) {
this.numCnfImpegnata = numCnfImpegnata;
return this;
}
}

View File

@ -326,7 +326,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
public void getBySSCC(String ssccString, boolean onlyResiduo, boolean throwExcIfNull, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
colliMagazzinoRESTConsumerService.getColloByBarcode(ssccString, onlyResiduo, throwExcIfNull).enqueue(new Callback<ServiceRESTResponse<MtbColt>>() {
colliMagazzinoRESTConsumerService.getColloByBarcode(ssccString, onlyResiduo, throwExcIfNull).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<MtbColt>> call, Response<ServiceRESTResponse<MtbColt>> response) {
analyzeAnswer(response, "GetBySSCC", mtbColt -> {

View File

@ -49,6 +49,7 @@ import it.integry.integrywmsnative.core.utility.UtilityContext;
import it.integry.integrywmsnative.databinding.ActivityMainBinding;
import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
public class MainActivity extends BaseActivity
implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity {
@ -70,6 +71,10 @@ public class MainActivity extends BaseActivity
@Inject
UpdatesManager updatesManager;
@Inject
DialogInputQuantityV2View mDialogInputQuantityV2View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -103,6 +108,14 @@ public class MainActivity extends BaseActivity
init();
// mDialogInputQuantityV2View
// .setDialogInputQuantityV2DTO(new DialogInputQuantityV2DTO()
// .setMtbAart(new MtbAart()
// .setCodMart("AAAA")
// .setFlagQtaCnfFissa("S")))
// .show(getSupportFragmentManager(), "tag");
}
private void startLoginActivity() {

View File

@ -231,6 +231,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett
public void requestResources() {
this.onLoadingEnded();
BarcodeManager.disable();
this.runOnUiThread(() -> {
DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il numero di risorse da allocare", this.hrNum.get(), "n. risorse", qta -> {
@ -276,7 +277,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett
getSupportFragmentManager()
.beginTransaction()
.add(R.id.frame_layout_container,
ProdRecuperoMaterialeFragment.newInstance(null, DATA_KEY_FRAGMENT_LISTENER))
ProdRecuperoMaterialeFragment.newInstance(mViewModel.getLineaProd().getCodJfas(), DATA_KEY_FRAGMENT_LISTENER))
.addToBackStack("ProdRecuperoMaterialeFragment")
.commit();

View File

@ -10,7 +10,6 @@ import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
@ -43,11 +42,6 @@ public class ProdLineeProduzioneFragment extends BaseFragment implements ITitled
private FragmentLineeProdBinding mBinding;
private ElevatedToolbar mToolbar;
private int barcodeScannerIstanceID = -1;
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
this.onLoadingStarted();
this.mViewModel.processBarcodeDTO(data);
};
public static ProdLineeProduzioneFragment newInstance() {
return new ProdLineeProduzioneFragment();
@ -83,6 +77,11 @@ public class ProdLineeProduzioneFragment extends BaseFragment implements ITitled
.setOnScanFailed(this::onError));
}
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
this.onLoadingStarted();
this.mViewModel.processBarcodeDTO(data);
};
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
@ -98,11 +97,14 @@ public class ProdLineeProduzioneFragment extends BaseFragment implements ITitled
private void initRecyclerView() {
this.mViewModel.getProdLinesList().observe(getViewLifecycleOwner(), this::refreshLineeProd);
LinesListAdapter prodLinesListAdapter = new LinesListAdapter(this.requireActivity(), this.mLinesObservableList);
prodLinesListAdapter.setEmptyView(this.mBinding.linesListEmptyView);
LinesListAdapter prodLinesListAdapter = new LinesListAdapter(this.mLinesObservableList);
this.mBinding.linesMainList.setAdapter(prodLinesListAdapter);
this.mBinding.linesMainList.setLayoutManager(new LinearLayoutManager(this.requireActivity()));
prodLinesListAdapter.setOnItemClicked(this.mViewModel::onLineSelected);
prodLinesListAdapter
.setOnItemClicked(this::selectLine)
.setEmptyView(this.mBinding.linesListEmptyView);
if (mToolbar != null)
mToolbar.setRecyclerView(this.mBinding.linesMainList);
}
@ -136,6 +138,7 @@ public class ProdLineeProduzioneFragment extends BaseFragment implements ITitled
public void selectLine(ProdLineStatusDTO dto) {
this.onLoadingEnded();
BarcodeManager.disable();
if (!dto.isStarted()) {
this.requestResources(dto);
} else {

View File

@ -1,6 +1,5 @@
package it.integry.integrywmsnative.gest.prod_linee_produzione.ui;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
@ -16,13 +15,11 @@ import it.integry.integrywmsnative.databinding.FragmentLineeProdMainListModelBin
import it.integry.integrywmsnative.gest.prod_linee_produzione.dto.ProdLineStatusDTO;
public class LinesListAdapter extends ExtendedRecyclerView<ProdLineStatusDTO, LinesListAdapter.SingleItemViewHolder> {
private Context mContext;
private RunnableArgs<ProdLineStatusDTO> mOnItemClicked;
public LinesListAdapter(Context context, ObservableArrayList<ProdLineStatusDTO> myDataset) {
public LinesListAdapter(ObservableArrayList<ProdLineStatusDTO> myDataset) {
super(myDataset);
this.mContext = context;
}
@NonNull
@ -38,6 +35,7 @@ public class LinesListAdapter extends ExtendedRecyclerView<ProdLineStatusDTO, Li
holder.binding.setListModel(line);
holder.binding.executePendingBindings();
holder.binding.getRoot().setOnClickListener(v -> {
if (this.mOnItemClicked != null)
this.mOnItemClicked.run(line);
@ -45,8 +43,9 @@ public class LinesListAdapter extends ExtendedRecyclerView<ProdLineStatusDTO, Li
}
public void setOnItemClicked(RunnableArgs<ProdLineStatusDTO> onItemClicked) {
public LinesListAdapter setOnItemClicked(RunnableArgs<ProdLineStatusDTO> onItemClicked) {
this.mOnItemClicked = onItemClicked;
return this;
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {

View File

@ -63,6 +63,8 @@ public class ProdRientroMerceFragment extends BaseFragment implements
return new ProdRientroMerceFragment();
}
@Override
public void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

View File

@ -52,7 +52,6 @@ import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdDTO;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdView;
import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCView;
import it.integry.integrywmsnative.view.dialogs.printSsccUl.dto.PrintUlDTO;
/**
* A simple {@link Fragment} subclass.
@ -251,18 +250,16 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
@Override
public void onDataSaved(MtbColt mtbColt) {
PrintUlDTO dto = new PrintUlDTO();
dto.setMtbColt(mtbColt);
String codJcom = currentOrder.getValue().getCodJcom();
dto.setFlagPrintShipmentLabel(!UtilityString.isNullOrEmpty(codJcom));
dto.setFlagPrintProductionLabel(UtilityString.isNullOrEmpty(codJcom));
DialogPrintUlSSCCView.newInstance(dto, result -> {
if (result.isFlagPrintShipmentLabel() || result.isFlagPrintProductionLabel()) {
this.mViewModel.printSavedMtbColt(result);
} else {
this.mViewModel.refreshMtbColts();
}
}).show(requireActivity().getSupportFragmentManager(), "DialogPrintUlSSCC");
DialogPrintUlSSCCView.newInstance(codJcom, mtbColt, result -> {
if (result.isFlagPrintShipmentLabel() || result.isFlagPrintProductionLabel()) {
this.mViewModel.printSavedMtbColt(result);
} else {
this.mViewModel.refreshMtbColts();
}
})
.show(requireActivity().getSupportFragmentManager(), "DialogPrintUlSSCC");
}

View File

@ -288,8 +288,8 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
}
@Override
public void onArtListLoaded(ArrayList<MtbAart> artList) {
DialogChooseArtFromListaArts.make(getActivity(), artList, mtbAart -> mViewModel.dispatchArt(mtbAart, null)).show();
public void onArtListLoaded(ArrayList<MtbAart> artList, RunnableArgs<MtbAart> onArtChoosed) {
DialogChooseArtFromListaArts.make(getActivity(), artList, onArtChoosed).show();
}
@Override
@ -352,6 +352,10 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
BigDecimal initialNumCnf,
BigDecimal initialQtaCnf,
BigDecimal initialQtaTot,
BigDecimal totalQtaInWarehouse,
BigDecimal totalNumCnfInWarehouse,
BigDecimal totalQtaCommitted,
BigDecimal totalNumCnfCommitted,
BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
@ -367,6 +371,10 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
.setInitialNumCnf(initialNumCnf)
.setInitialQtaCnf(initialQtaCnf)
.setInitialQtaTot(initialQtaTot)
.setTotalQtaInWarehouse(totalQtaInWarehouse)
.setTotalNumCnfInWarehouse(totalNumCnfInWarehouse)
.setTotalQtaCommitted(totalQtaCommitted)
.setTotalNumCnfCommitted(totalNumCnfCommitted)
.setTotalQtaToBeTaken(totalQtaToBeTaken)
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
@ -493,7 +501,11 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
@Override
public void onPreDestroy(Runnable onComplete) {
// BarcodeManager.removeCallback(barcodeScannerIstanceID);
mViewModel.closeLU(false);
if(mViewModel.getCurrentMtbColt() != null)
mViewModel.closeLU(false);
else {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
onComplete.run();
}
}
}

View File

@ -196,10 +196,24 @@ public class RettificaGiacenzeViewModel {
return;
}
RunnableArgs<MtbAart> dispatchArtRunnable = mtbAart -> {
var matchRows = Stream.of(this.mCurrentMtbColt.getMtbColr())
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()))
.toList();
if (matchRows.size() != 1) {
dispatchArt(mtbAart, null);
} else {
dispatchRowEdit(matchRows.get(0));
}
};
if (artsList.size() == 1) {
dispatchArt(artsList.get(0), null);
dispatchArtRunnable.run(artsList.get(0));
} else {
this.sendOnArtListLoaded(new ArrayList<>(artsList));
this.sendOnArtListLoaded(new ArrayList<>(artsList), dispatchArtRunnable);
}
}
@ -291,6 +305,10 @@ public class RettificaGiacenzeViewModel {
initialNumCnf,
initialQtaCnf,
initialQtaTot,
mtbAart.getQtaEsistente(),
mtbAart.getNumCnfEsistente(),
mtbAart.getQtaImpegnata(),
mtbAart.getNumCnfImpegnata(),
qtaColDaPrelevare,
numCnfDaPrelevare,
qtaCnfDaPrelevare,
@ -507,33 +525,41 @@ public class RettificaGiacenzeViewModel {
public void dispatchRowEdit(MtbColr mtbColrToUpdate) {
final PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
.setMtbAart(mtbColrToUpdate.getMtbAart());
this.mRettificaGiacenzeRESTConsumer.searchArtInt(mtbColrToUpdate.getMtbAart().getCodMart(), newMtbAartList -> {
this.sendOnItemDispatched(
pickingObjectDTO,
pickingObjectDTO.getMtbAart(),
mtbColrToUpdate.getNumCnf(),
mtbColrToUpdate.getQtaCnf(),
mtbColrToUpdate.getQtaCol(),
null,
null,
null,
mtbColrToUpdate.getPartitaMag(),
mtbColrToUpdate.getDataScadPartitaD(),
false,
false,
true,
(pickedQuantityDTO, shouldCloseLU) -> {
var newMtbAart = newMtbAartList.get(0);
final PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
.setMtbAart(newMtbAart);
this.sendOnItemDispatched(
pickingObjectDTO,
pickingObjectDTO.getMtbAart(),
mtbColrToUpdate.getNumCnf(),
mtbColrToUpdate.getQtaCnf(),
mtbColrToUpdate.getQtaCol(),
newMtbAart.getQtaEsistente(), newMtbAart.getNumCnfEsistente(),
newMtbAart.getQtaImpegnata(), newMtbAart.getNumCnfImpegnata(),
null,
null,
null,
mtbColrToUpdate.getPartitaMag(),
mtbColrToUpdate.getDataScadPartitaD(),
false,
false,
true,
(pickedQuantityDTO, shouldCloseLU) -> {
this.saveEditedRow(mtbColrToUpdate,
pickedQuantityDTO.getNumCnf(),
pickedQuantityDTO.getQtaCnf(),
pickedQuantityDTO.getQtaTot(),
pickedQuantityDTO.getPartitaMag(),
pickedQuantityDTO.getDataScad(),
shouldCloseLU);
});
}, this::sendError);
this.saveEditedRow(mtbColrToUpdate,
pickedQuantityDTO.getNumCnf(),
pickedQuantityDTO.getQtaCnf(),
pickedQuantityDTO.getQtaTot(),
pickedQuantityDTO.getPartitaMag(),
pickedQuantityDTO.getDataScad(),
shouldCloseLU);
});
}
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
@ -670,8 +696,8 @@ public class RettificaGiacenzeViewModel {
}
private void sendOnArtListLoaded(ArrayList<MtbAart> artList) {
if (this.mListener != null) mListener.onArtListLoaded(artList);
private void sendOnArtListLoaded(ArrayList<MtbAart> artList, RunnableArgs<MtbAart> onArtChoosed) {
if (this.mListener != null) mListener.onArtListLoaded(artList, onArtChoosed);
}
private void sendOnLUOpenRequest(RunnableArgss<MtbColt, Boolean> onComplete) {
@ -699,6 +725,10 @@ public class RettificaGiacenzeViewModel {
BigDecimal initialNumCnf,
BigDecimal initialQtaCnf,
BigDecimal initialQtaTot,
BigDecimal totalQtaInWarehouse,
BigDecimal totalNumCnfInWarehouse,
BigDecimal totalQtaCommitted,
BigDecimal totalNumCnfCommitted,
BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
@ -713,6 +743,10 @@ public class RettificaGiacenzeViewModel {
initialNumCnf,
initialQtaCnf,
initialQtaTot,
totalQtaInWarehouse,
totalNumCnfInWarehouse,
totalQtaCommitted,
totalNumCnfCommitted,
totalQtaToBeTaken,
totalNumCnfToBeTaken,
qtaCnfToBeTaken,
@ -751,7 +785,7 @@ public class RettificaGiacenzeViewModel {
void onFornitoriLoaded(ArrayList<FornitoreDTO> fornitoriList);
void onArtListLoaded(ArrayList<MtbAart> artList);
void onArtListLoaded(ArrayList<MtbAart> artList, RunnableArgs<MtbAart> onArtChoosed);
void onLUOpenRequest(RunnableArgss<MtbColt, Boolean> onComplete);
@ -768,6 +802,10 @@ public class RettificaGiacenzeViewModel {
BigDecimal initialNumCnf,
BigDecimal initialQtaCnf,
BigDecimal initialQtaTot,
BigDecimal totalQtaInWarehouse,
BigDecimal totalNumCnfInWarehouse,
BigDecimal totalQtaCommitted,
BigDecimal totalNumCnfCommitted,
BigDecimal totalQtaToBeTaken,
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,

View File

@ -12,6 +12,7 @@ import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbAartWithFornitore;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
@ -41,7 +42,7 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
" WHERE mtb_lisa.cod_alis = " + UtilityDB.valueToString(codAlis) +
" AND mtb_lisa.cod_mart = mtb_aart.cod_mart " +
" AND mtb_lisa.cod_mart = mtb_part.cod_mart " +
" AND mtb_part.cod_mdep = '01' " +
" AND mtb_part.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "' " +
" AND (mtb_aart.descrizione_estesa LIKE '%" + codArtForOrDescr + "%' OR cod_art_for LIKE '%" + codArtForOrDescr + "%') " +
" ORDER BY ABS(mtb_part.qta_esistente) DESC, mtb_aart.descrizione_estesa";
@ -55,13 +56,19 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs<ArrayList<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
String sql = "SELECT DISTINCT mtb_aart.* " +
"FROM mtb_aart " +
"LEFT OUTER JOIN mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart " +
"WHERE CASE" +
String sql = "SELECT DISTINCT mtb_aart.*," +
" qta_esistente, " +
" qta_imp_cli + qta_imp_lav AS qta_impegnata, " +
" num_esistente AS num_cnf_esistente, " +
" num_imp_cli + num_imp_lav AS num_cnf_impegnata " +
" FROM mtb_aart " +
" LEFT OUTER JOIN mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart " +
" LEFT OUTER JOIN mtb_part mp on mtb_aart.cod_mart = mp.cod_mart " +
" AND mp.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "'" +
" WHERE CASE" +
" WHEN LEN(mvw_barcode.cod_barre) > 13 THEN mvw_barcode.cod_barre " +
" ELSE Replicate('0', 13 - len(mvw_barcode.cod_barre))+ mvw_barcode.cod_barre " +
"END LIKE '%' + CASE " +
" END LIKE '%' + CASE " +
" WHEN LEN('" + codMartOrBarcodeOrDescr + "') > 13 THEN '" + codMartOrBarcodeOrDescr + "' " +
" ELSE Replicate('0', 13 - len('" + codMartOrBarcodeOrDescr + "')) + '" + codMartOrBarcodeOrDescr + "'" +
" END " +

View File

@ -1,68 +1,115 @@
package it.integry.integrywmsnative.view.dialogs.base;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.text.InputType;
import android.view.LayoutInflater;
import androidx.databinding.DataBindingUtil;
import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogInputGeneralBinding;
import it.integry.integrywmsnative.databinding.DialogInputGeneralContentBinding;
/**
* Created by GiuseppeS on 22/03/2018.
*/
public class DialogSimpleInputHelper {
public class DialogSimpleInputHelper extends MaterialAlertDialogBuilder {
private static Dialog makeBase(Context mContext, String titleText, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
Dialog dialog = new Dialog(mContext);
DialogSimpleInputViewModel viewModel = new DialogSimpleInputViewModel(dialog);
public final ObservableField<String> inputValue = new ObservableField<>();
public DialogSimpleInputHelper(@NonNull Context context, String titleText, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
super(context);
DialogInputGeneralBinding mBinding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.dialog_input_general, null, false);
viewModel
.setOnPositive(() -> {
var dialogBindings = DialogInputGeneralContentBinding.inflate(LayoutInflater.from(context));
dialogBindings.setView(this);
onPositiveClick.run(mBinding.generalInput.getText().toString());
})
.setOnNegative(onNegativeClick);
dialogBindings.executePendingBindings();
mBinding.setViewmodel(viewModel);
//Title VIEW
mBinding.titleText.setText(titleText);
this.setTitle(titleText);
// this.setMessage("Inserisci la nuova quantità residua dell'ordine");
this.setView(dialogBindings.getRoot());
this.setCancelable(true);
if (!UtilityString.isNullOrEmpty(hintText)) {
mBinding.generalInput.setHint(hintText);
dialogBindings.generalInputText.setHint(hintText);
}
if (!UtilityString.isNullOrEmpty(defaultTextValue)) {
mBinding.generalInput.setText(defaultTextValue);
dialogBindings.generalInputText.setText(defaultTextValue);
}
if (inputType != null) {
mBinding.generalInput.setInputType(InputType.TYPE_CLASS_NUMBER);
dialogBindings.generalInputText.setInputType(InputType.TYPE_CLASS_NUMBER);
}
//Content View
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(false);
dialog.setContentView(mBinding.getRoot());
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
UtilityDialog.setTo90PercentWidth(mContext, dialog);
return dialog;
this.setPositiveButton("Ok", (dialog, which) -> {
if(onPositiveClick != null) onPositiveClick.run(this.inputValue.get());
});
this.setNegativeButton("Annulla", (dialog, which) -> {
if(onNegativeClick != null) onNegativeClick.run();
});
}
public static Dialog makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
private static DialogSimpleInputHelper makeBase(Context mContext, String titleText, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
DialogSimpleInputHelper dialogSimpleInputHelper = new DialogSimpleInputHelper(
mContext,
titleText,
defaultTextValue,
hintText,
onPositiveClick,
onNegativeClick,
inputType
);
return dialogSimpleInputHelper;
// Dialog dialog = new Dialog(mContext);
// DialogSimpleInputViewModel viewModel = new DialogSimpleInputViewModel(dialog);
//
//
// DialogInputGeneralBinding mBinding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.dialog_input_general, null, false);
// viewModel
// .setOnPositive(() -> {
//
// onPositiveClick.run(mBinding.generalInput.getText().toString());
// })
// .setOnNegative(onNegativeClick);
//
// mBinding.setViewmodel(viewModel);
//
// //Title VIEW
// mBinding.titleText.setText(titleText);
//
// if (!UtilityString.isNullOrEmpty(hintText)) {
// mBinding.generalInput.setHint(hintText);
// }
//
// if (!UtilityString.isNullOrEmpty(defaultTextValue)) {
// mBinding.generalInput.setText(defaultTextValue);
// }
// if (inputType != null) {
// mBinding.generalInput.setInputType(InputType.TYPE_CLASS_NUMBER);
// }
// //Content View
// dialog.setCancelable(true);
// dialog.setCanceledOnTouchOutside(false);
// dialog.setContentView(mBinding.getRoot());
// dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
// UtilityDialog.setTo90PercentWidth(mContext, dialog);
//
// return dialog;
}
public static DialogSimpleInputHelper makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
return makeBase(mContext,
title,
@ -75,7 +122,7 @@ public class DialogSimpleInputHelper {
}
public static Dialog makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
public static DialogSimpleInputHelper makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
return makeBase(mContext,
title,
@ -87,7 +134,7 @@ public class DialogSimpleInputHelper {
}
public static Dialog makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
public static DialogSimpleInputHelper makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
return makeBase(mContext,
title,
@ -100,7 +147,7 @@ public class DialogSimpleInputHelper {
}
public static Dialog makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
public static DialogSimpleInputHelper makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
return makeBase(mContext,
title,

View File

@ -19,6 +19,11 @@ public class DialogInputQuantityV2DTO {
private BigDecimal totalNumCnfOrd;
private BigDecimal qtaCnfOrd;
private BigDecimal totalQtaInWarehouse;
private BigDecimal totalNumCnfInWarehouse;
private BigDecimal totalQtaCommitted;
private BigDecimal totalNumCnfCommitted;
private BigDecimal totalQtaToBeTaken;
private BigDecimal totalNumCnfToBeTaken;
private BigDecimal qtaCnfToBeTaken;
@ -106,6 +111,42 @@ public class DialogInputQuantityV2DTO {
return this;
}
public BigDecimal getTotalQtaInWarehouse() {
return totalQtaInWarehouse;
}
public DialogInputQuantityV2DTO setTotalQtaInWarehouse(BigDecimal totalQtaInWarehouse) {
this.totalQtaInWarehouse = totalQtaInWarehouse;
return this;
}
public BigDecimal getTotalNumCnfInWarehouse() {
return totalNumCnfInWarehouse;
}
public DialogInputQuantityV2DTO setTotalNumCnfInWarehouse(BigDecimal totalNumCnfInWarehouse) {
this.totalNumCnfInWarehouse = totalNumCnfInWarehouse;
return this;
}
public BigDecimal getTotalQtaCommitted() {
return totalQtaCommitted;
}
public DialogInputQuantityV2DTO setTotalQtaCommitted(BigDecimal totalQtaCommitted) {
this.totalQtaCommitted = totalQtaCommitted;
return this;
}
public BigDecimal getTotalNumCnfCommitted() {
return totalNumCnfCommitted;
}
public DialogInputQuantityV2DTO setTotalNumCnfCommitted(BigDecimal totalNumCnfCommitted) {
this.totalNumCnfCommitted = totalNumCnfCommitted;
return this;
}
public BigDecimal getTotalQtaToBeTaken() {
return UtilityBigDecimal.round(totalQtaToBeTaken);
}

View File

@ -1,7 +1,6 @@
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.ColorStateList;
import android.os.Bundle;
import android.os.Handler;
@ -16,7 +15,6 @@ import android.view.inputmethod.EditorInfo;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableField;
import androidx.fragment.app.DialogFragment;
@ -83,7 +81,8 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
public ObservableField<Boolean> enabledChangePartitaMag = new ObservableField<>(true);
public ObservableField<Boolean> enabledNotes = new ObservableField<>(false);
public ObservableField<Boolean> enabledLUCloseButton = new ObservableField<>(true);
private Handler mHandler = new Handler();
private final Handler mHandler = new Handler();
private Context context;
@ -110,6 +109,11 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
return this;
}
public DialogInputQuantityV2View() {
super();
// openInFullScreen();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -122,7 +126,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
this.context = getActivity();
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_v2, container, false);
mBindings = DialogInputQuantityV2Binding.inflate(inflater, container, false);
mBindings.setLifecycleOwner(this);
mBindings.toolbar.setTitle("Inserimento articolo");
@ -136,6 +140,10 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
.setInitialNumCnf(mDialogInputQuantityV2DTO.getInitialNumCnf())
.setInitialQtaCnf(mDialogInputQuantityV2DTO.getInitialQtaCnf())
.setInitialQtaTot(mDialogInputQuantityV2DTO.getInitialQtaTot())
.setTotalQtaInWarehouse(mDialogInputQuantityV2DTO.getTotalQtaInWarehouse())
.setTotalNumCnfInWarehouse(mDialogInputQuantityV2DTO.getTotalNumCnfInWarehouse())
.setTotalQtaCommitted(mDialogInputQuantityV2DTO.getTotalQtaCommitted())
.setTotalNumCnfCommitted(mDialogInputQuantityV2DTO.getTotalNumCnfCommitted())
.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd())
.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd())
.setQtaCnfOrd(mDialogInputQuantityV2DTO.getQtaCnfOrd())
@ -185,6 +193,14 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
return mBindings.getRoot();
}
@Override
public void onDestroyView() {
super.onDestroyView();
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
if (mAbort) this.mOnAbort.run();
}
private void initBarcode() {
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessful(onScanSuccessful)
@ -213,12 +229,12 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
}
}
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
if (mAbort) this.mOnAbort.run();
super.onDismiss(dialog);
}
// @Override
// public void onDismiss(@NonNull DialogInterface dialog) {
// BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
// if (mAbort) this.mOnAbort.run();
// super.onDismiss(dialog);
// }
@Override
public void onStart() {

View File

@ -45,6 +45,11 @@ public class DialogInputQuantityV2ViewModel {
public BigDecimal totalNumCnfToBeTaken;
public BigDecimal qtaCnfToBeTaken;
public BigDecimal totalQtaInWarehouse;
public BigDecimal totalNumCnfInWarehouse;
public BigDecimal totalQtaCommitted;
public BigDecimal totalNumCnfCommitted;
public BigDecimal totalQtaAvailable;
public BigDecimal totalNumCnfAvailable;
public BigDecimal qtaCnfAvailable;
@ -244,6 +249,26 @@ public class DialogInputQuantityV2ViewModel {
return this;
}
public DialogInputQuantityV2ViewModel setTotalQtaInWarehouse(BigDecimal totalQtaInWarehouse) {
this.totalQtaInWarehouse = totalQtaInWarehouse;
return this;
}
public DialogInputQuantityV2ViewModel setTotalNumCnfInWarehouse(BigDecimal totalNumCnfInWarehouse) {
this.totalNumCnfInWarehouse = totalNumCnfInWarehouse;
return this;
}
public DialogInputQuantityV2ViewModel setTotalQtaCommitted(BigDecimal totalQtaCommitted) {
this.totalQtaCommitted = totalQtaCommitted;
return this;
}
public DialogInputQuantityV2ViewModel setTotalNumCnfCommitted(BigDecimal totalNumCnfCommitted) {
this.totalNumCnfCommitted = totalNumCnfCommitted;
return this;
}
public DialogInputQuantityV2ViewModel setTotalQtaOrd(BigDecimal totalQtaOrd) {
this.totalQtaOrd = totalQtaOrd;
return this;

View File

@ -18,7 +18,9 @@ import org.jetbrains.annotations.Nullable;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogPrintUlSsccBinding;
import it.integry.integrywmsnative.view.dialogs.printSsccUl.dto.PrintUlDTO;
@ -32,15 +34,19 @@ public class DialogPrintUlSSCCView extends BaseDialogFragment {
public static DialogPrintUlSSCCView newInstance(
PrintUlDTO printUlDTO,
String codJcom, MtbColt mtbColt,
RunnableArgs<PrintUlDTO> onDismiss
) {
return new DialogPrintUlSSCCView(printUlDTO, onDismiss);
return new DialogPrintUlSSCCView(codJcom, mtbColt, onDismiss);
}
public DialogPrintUlSSCCView(@NotNull PrintUlDTO printUlDTO, @NotNull RunnableArgs<PrintUlDTO> onDismiss) {
this.printUlDTO = printUlDTO;
public DialogPrintUlSSCCView(@NotNull String codJcom, @NotNull MtbColt mtbColt, @NotNull RunnableArgs<PrintUlDTO> onDismiss) {
this.onDialogClose = onDismiss;
this.printUlDTO = new PrintUlDTO()
.setMtbColt(mtbColt)
.setFlagPrintShipmentLabel(!UtilityString.isNullOrEmpty(codJcom))
.setFlagPrintProductionLabel(UtilityString.isNullOrEmpty(codJcom));
}

View File

@ -3,6 +3,7 @@ package it.integry.integrywmsnative.view.dialogs.printSsccUl.dto;
import it.integry.integrywmsnative.core.model.MtbColt;
public class PrintUlDTO {
private boolean flagPrintShipmentLabel = false;
private boolean flagPrintProductionLabel = false;
private MtbColt mtbColt;

View File

@ -1,5 +1,6 @@
package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu;
import android.app.Dialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
@ -92,8 +93,6 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
this.mViewModel
.setListener(this);
getDialog().setCanceledOnTouchOutside(false);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation);
@ -110,6 +109,16 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
return mBindings.getRoot();
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
var dialog = super.onCreateDialog(savedInstanceState);
dialog.setCanceledOnTouchOutside(false);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
return dialog;
}
@Override
public void onDismiss(@NonNull DialogInterface dialog) {

View File

@ -276,6 +276,215 @@
</RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="1">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="2dp"
android:layout_weight="0.5"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/light_blue_100"
android:orientation="vertical"
android:paddingHorizontal="8dp"
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/in_warehouse"
android:textColor="@color/gray_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfInWarehouse, 1)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<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:layout_marginStart="4dp"
android:text="("
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaInWarehouse, 2)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="2dp"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="0dp"
android:text=")"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="2dp"
android:layout_weight="0.5"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/light_blue_100"
android:orientation="vertical"
android:paddingHorizontal="8dp"
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/total_committed"
android:textColor="@color/gray_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfCommitted, 1)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<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:layout_marginStart="4dp"
android:text="("
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaCommitted, 2)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="2dp"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="0dp"
android:text=")"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<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>
<variable
name="view"
type="it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/general_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:focusableInTouchMode="false"
android:imeOptions="actionDone"
android:layout_marginTop="8dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/general_input_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:selectAllOnFocus="true"
app:binding="@{view.inputValue}" />
</com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -29,7 +29,8 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
@ -287,6 +288,214 @@
</RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="1">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="2dp"
android:layout_weight="0.5"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/light_blue_100"
android:orientation="vertical"
android:paddingHorizontal="8dp"
android:visibility="@{viewmodel.totalNumCnfInWarehouse != null || viewmodel.totalQtaInWarehouse != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/in_warehouse"
android:textColor="@color/gray_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfInWarehouse, 1)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<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:layout_marginStart="4dp"
android:text="("
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaInWarehouse, 2)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="2dp"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="0dp"
android:text=")"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="2dp"
android:layout_weight="0.5"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/light_blue_100"
android:orientation="vertical"
android:paddingHorizontal="8dp"
android:visibility="@{viewmodel.totalNumCnfCommitted != null || viewmodel.totalQtaCommitted != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/total_committed"
android:textColor="@color/gray_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalNumCnfCommitted, 1)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="4dp"
android:text="@string/unt_mis_col"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<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:layout_marginStart="4dp"
android:text="("
android:textColor="@color/gray_600"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:text="@{UtilityNumber.decimalToString(viewmodel.totalQtaCommitted, 2)}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="2dp"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@color/gray_600"
android:textStyle="bold" />
<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:layout_marginStart="0dp"
android:text=")"
android:textColor="@color/gray_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -1,86 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/full_white">
<RelativeLayout
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/lines_main_list"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:itemCount="5"
tools:listitem="@layout/fragment_linee_prod_main_list_model" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/lines_main_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/lines_list_empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.3">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/lines_list_empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.3">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.15" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_top"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.85" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="72dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
android:adjustViewBounds="true"
android:src="@drawable/ic_playlist_add_check_24dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_left"
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.15" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_empty_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.85" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
android:text="@string/nessuna_linea_disponibile"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="72dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_playlist_add_check_24dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/nessuna_linea_disponibile"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
</layout>

View File

@ -25,204 +25,200 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true">
<RelativeLayout
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
app:layout_constraintEnd_toEndOf="parent"
android:background="?attr/selectableItemBackground"
app:layout_constraintStart_toStartOf="parent"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="0dp">
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:weightSum="2">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/mtb_grp_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:weightSum="2">
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/mtb_grp_container"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.getLabel()}"
android:textColor="@{ContextCompat.getColor(context,listModel.isStarted() ? R.color.green_600 : listModel.isPaused() ? R.color.orange_600 : R.color.red_600)}"
android:textSize="16sp"
android:textStyle="bold"
tools:text="L2 - Linea 2"
tools:textColor="@color/green_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@{ContextCompat.getColor(context, listModel.isStarted() ? R.color.green_600 : listModel.isPaused() ? R.color.orange_600 : R.color.red_600)}"
android:orientation="horizontal"
android:weightSum="2"
tools:backgroundTint="@color/green_600">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="18dp"
android:layout_height="19dp"
android:layout_gravity="center_horizontal"
android:src="@{ContextCompat.getDrawable(context, listModel.isStarted() ? R.drawable.ic_baseline_play_arrow_24 : listModel.isPaused() ? R.drawable.ic_baseline_pause_24 : R.drawable.ic_baseline_stop_24)}"
app:tint="@color/white"
tools:src="@drawable/ic_baseline_play_arrow_24" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Large"
android:id="@+id/peso_lordo_collo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.getLabel()}"
android:textColor="@{ContextCompat.getColor(context,listModel.isStarted() ? R.color.green_600 : listModel.isPaused() ? R.color.orange_600 : R.color.red_600)}"
android:textSize="16sp"
android:text="@{listModel.isStarted() ? R.string.in_progress : listModel.isPaused() ? R.string.stand_by : R.string.stopped}"
android:textAppearance="@style/AppTheme.NewMaterial.Text.Medium"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="L2 - Linea 2"
tools:textColor="@color/green_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@{ContextCompat.getColor(context, listModel.isStarted() ? R.color.green_600 : listModel.isPaused() ? R.color.orange_600 : R.color.red_600)}"
android:orientation="horizontal"
android:weightSum="2"
tools:backgroundTint="@color/green_600">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="18dp"
android:layout_height="19dp"
android:layout_gravity="center_horizontal"
android:src="@{ContextCompat.getDrawable(context, listModel.isStarted() ? R.drawable.ic_baseline_play_arrow_24 : listModel.isPaused() ? R.drawable.ic_baseline_pause_24 : R.drawable.ic_baseline_stop_24)}"
app:tint="@color/white"
tools:src="@drawable/ic_baseline_play_arrow_24" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/peso_lordo_collo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.isStarted() ? R.string.in_progress : listModel.isPaused() ? R.string.stand_by : R.string.stopped}"
android:textAppearance="@style/AppTheme.NewMaterial.Text.Medium"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="In lavorazione" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/resources_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/risorse_impostate"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/resources"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.getRisorseLabel()}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="5/25" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/lista_ords_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() &amp;&amp; !UtilityString.isNullOrEmpty(listModel.listaOrd) ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/orders_in_progress"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lista_ords"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.listaOrd}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="125|255" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/production_start_cotnainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/inizio_produzione"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/production_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(listModel.datetimeStart, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="05/07/2022 14:00:00" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/production_stop_cotnainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.GONE : View.VISIBLE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/ultima_produzione"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/production_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(listModel.datetimeEnd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="05/07/2022 23:59:59" />
</androidx.appcompat.widget.LinearLayoutCompat>
tools:text="In lavorazione" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/resources_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/risorse_impostate"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/resources"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.getRisorseLabel()}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="5/25" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/lista_ords_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() &amp;&amp; !UtilityString.isNullOrEmpty(listModel.listaOrd) ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/orders_in_progress"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lista_ords"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{listModel.listaOrd}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="125|255" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/production_start_cotnainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/inizio_produzione"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/production_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(listModel.datetimeStart, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="05/07/2022 14:00:00" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/production_stop_cotnainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="@{listModel.isStarted() ? View.GONE : View.VISIBLE}">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="@string/ultima_produzione"
android:textColor="@android:color/black"
android:textSize="14sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/production_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(listModel.datetimeEnd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH)}"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="05/07/2022 23:59:59" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -3,12 +3,13 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
style="@style/Widget.Material3.CardView.Elevated"
android:layout_margin="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="4dp">
app:cardCornerRadius="4dp"
app:cardElevation="4dp">
@ -20,7 +21,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/menu_icon"
android:layout_width="64sp"
android:layout_height="wrap_content"

View File

@ -146,6 +146,8 @@
<string name="total_ordered">Totale ordinato</string>
<string name="total_available">Totale disponibile</string>
<string name="total_committed">Totale impegnato</string>
<string name="in_warehouse">In magazzino</string>
<string name="to_be_taken">Da prelevare</string>
<string name="ordered_abbr">Ord</string>
<string name="to_dispatch_abbr">Da ev</string>

View File

@ -144,6 +144,8 @@
<string name="total_ordered">Total ordered</string>
<string name="total_available">Total available</string>
<string name="total_committed">Total committed</string>
<string name="in_warehouse">In warehouse</string>
<string name="to_be_taken">To be taken</string>
<string name="ordered_abbr">Ord</string>
<string name="to_dispatch_abbr">To disp</string>