Refactoring UI pannello di informazioni documento interno caricato

This commit is contained in:
Giuseppe Scorrano 2023-03-29 11:14:41 +02:00
parent 8de54a504b
commit f419944699
5 changed files with 157 additions and 116 deletions

View File

@ -1,10 +1,9 @@
package it.integry.integrywmsnative.core.di; package it.integry.integrywmsnative.core.di;
import java.math.BigDecimal;
import java.math.RoundingMode;
import androidx.databinding.BaseObservable; import androidx.databinding.BaseObservable;
import java.math.BigDecimal;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
@ -20,7 +19,7 @@ public class BindableFloat extends BaseObservable {
if(numberOfDigits > CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS) numberOfDigits = CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS; if(numberOfDigits > CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS) numberOfDigits = CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS;
return new BigDecimal(get()); return BigDecimal.valueOf(get());
} }
public Float get(boolean defaultIfNull) { public Float get(boolean defaultIfNull) {

View File

@ -3,7 +3,6 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -130,7 +129,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
if (document.getCodAnag() != null) { if (document.getCodAnag() != null) {
this.codAnag.set(document.getCodAnag() + (document.getCodVdes() != null ? " - " + document.getCodVdes() : "")); this.codAnag.set(document.getCodAnag() + (document.getCodVdes() != null ? " - " + document.getCodVdes() : ""));
} else { } else {
this.binding.supplierLayout.setVisibility(View.GONE); this.codAnag.set(null);
} }
this.documentHeader.set(String.format(this.getString(R.string.doc_interni_doc_header), document.getId(), document.getCodDtipProvv())); this.documentHeader.set(String.format(this.getString(R.string.doc_interni_doc_header), document.getId(), document.getCodDtipProvv()));
@ -138,7 +137,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
if (document.getNumDoc() != null && document.getDataDoc() != null) { if (document.getNumDoc() != null && document.getDataDoc() != null) {
this.documentRifHeader.set(String.format(this.getString(R.string.doc_testata), document.getNumDoc().toString(), UtilityDate.formatDate(document.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); this.documentRifHeader.set(String.format(this.getString(R.string.doc_testata), document.getNumDoc().toString(), UtilityDate.formatDate(document.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
} else { } else {
this.binding.docRifLayout.setVisibility(View.GONE); this.documentRifHeader.set(null);
} }
} }

View File

@ -48,6 +48,7 @@ public class DocInterniEditFormViewModel {
private TipoDocDTO tipoDoc; private TipoDocDTO tipoDoc;
private boolean isCheckPartitaMag = false; private boolean isCheckPartitaMag = false;
private JSONObject checkFornitoreRules = null; private JSONObject checkFornitoreRules = null;
public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>(); public MutableLiveData<SqlMtbColt> document = new MutableLiveData<>();
public MutableLiveData<List<SqlMtbColr>> docRows = new MutableLiveData<>(); public MutableLiveData<List<SqlMtbColr>> docRows = new MutableLiveData<>();

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,2C4.906,2 4,2.906 4,4L4,20C4,21.094 4.906,22 6,22L18,22C19.094,22 20,21.094 20,20L20,8L14,2L6,2zM6,4L13,4L13,9L18,9L18,20L6,20L6,4zM8,12L8,14L16,14L16,12L8,12zM8,16L8,18L16,18L16,16L8,16z"
android:fillColor="#5B5B5B"/>
</vector>

View File

@ -71,136 +71,167 @@
</it.integry.integrywmsnative.ui.ElevatedToolbar> </it.integry.integrywmsnative.ui.ElevatedToolbar>
<RelativeLayout <androidx.cardview.widget.CardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="8dp" android:layout_margin="12dp"
android:layout_marginRight="8dp" app:cardCornerRadius="16dp"
android:background="@drawable/gray_detail_background_round16" app:cardElevation="4dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/profile_root_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:orientation="horizontal"
android:padding="16dp"> android:padding="16dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content" <androidx.appcompat.widget.AppCompatImageView
android:layout_height="wrap_content" android:layout_width="30dp"
android:orientation="vertical" android:layout_height="30dp"
android:layout_toStartOf="@id/info_arts_button" android:layout_gravity="center_vertical"
android:layout_alignParentStart="true"> android:layout_marginEnd="16dp"
android:adjustViewBounds="true"
android:src="@drawable/ic_doc_interni_outline"
android:tint="@color/white" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="2dp"
android:layout_toStartOf="@id/loaded_arts_info_layout"
android:orientation="horizontal"> android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small" style="@style/AppTheme.NewMaterial.Text.TextBoxDashboard"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/document_label" android:text="ID:"
android:textColor="@android:color/black" android:textColor="@android:color/white" />
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/order_identifier" style="@style/AppTheme.NewMaterial.Text.TextBoxDashboard"
style="@style/AppTheme.NewMaterial.Text.Small" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black" android:layout_marginStart="4dp"
android:textSize="16sp"
android:textStyle="bold"
app:binding="@{view.documentHeader}" app:binding="@{view.documentHeader}"
tools:text="#documentId" /> android:textColor="@android:color/white"
tools:text="670" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/doc_rif_layout" android:id="@+id/loaded_arts_info_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/document_rif_label"
android:textColor="@android:color/black"
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/document_rif"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
app:binding="@{view.documentRifHeader}"
tools:text="#documentId" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/supplier_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fornitore"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/cod_anag"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:textStyle="italic"
app:binding="@{view.codAnag}"
tools:text="F000 - 01" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/prod_count"
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/count_art_ord"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:textStyle="bold"
app:binding="@{view.prodsCount}"
tools:text="10" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/info_arts_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:src="@drawable/ic_information_outline_24dp" android:orientation="horizontal"
app:singleClick="@{() -> view.showInfoArtDialog()}" /> app:singleClick="@{() -> view.showInfoArtDialog()}">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(viewModel.productsList.size())}"
tools:text="10250" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="articoli" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:adjustViewBounds="true"
android:src="@drawable/ic_black_barcode_scanner"
android:tint="@color/white" />
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout> </RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rif:" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="Non definito"
android:textStyle="italic"
app:visibility="@{view.documentRifHeader.get() == null}" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
app:binding="@{view.documentRifHeader}"
app:visibility="@{view.documentRifHeader.get() != null}" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fornitore:" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="Non definito"
android:textStyle="italic"
app:visibility="@{view.codAnag.get() == null}" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.TextBoxLittleDashboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
app:binding="@{view.codAnag}"
app:visibility="@{view.codAnag.get() != null}" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.cardview.widget.CardView>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/document_rows_list" android:id="@+id/document_rows_list"
@ -209,7 +240,9 @@
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginBottom="92dp" android:layout_marginBottom="92dp"
android:paddingStart="2dp" android:paddingStart="2dp"
android:paddingEnd="2dp" /> android:paddingEnd="2dp"
tools:itemCount="5"
tools:listitem="@layout/activity_contab_doc_interno_row__list_single_item" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/scan_art_spinner" android:id="@+id/scan_art_spinner"