Fix numeri a 3 cifre decimali.

Fix distribuzione collo su SPLIT_ORDER.
Bugfix vari.
This commit is contained in:
Giuseppe Scorrano 2019-01-10 20:28:10 +01:00
parent ab7db0fe05
commit 8994dd7736
17 changed files with 237 additions and 87 deletions

View File

@ -226,14 +226,7 @@ public class MainActivity extends AppCompatActivity
private void init(){ private void init(){
if(BarcodeManager.getCurrentBarcodeInterface() != null) { initSessionData();
// DialogSimpleMessageHelper.makeInfoDialog(this,
// "Lettore barcode",
// new SpannableString("Trovato adattatore " + BarcodeManager.getCurrentBarcodeInterface().getAdapterName() + " installato nel sistema"),
// null, null).show();
}
//Preload done in splashPage
onDBLoaded();
ServerStatusChecker.getIstance().addCallback(value -> { ServerStatusChecker.getIstance().addCallback(value -> {
if(value && (!mIsOnline || firstCheckExecution)){ if(value && (!mIsOnline || firstCheckExecution)){
@ -242,7 +235,6 @@ public class MainActivity extends AppCompatActivity
mIsOnline = true; mIsOnline = true;
firstCheckExecution = false; firstCheckExecution = false;
onDBLoaded();
}, ex -> { }, ex -> {
//mNoConnectionLayout.expand(true); //mNoConnectionLayout.expand(true);
if(!mIsOnline) mIsOnline = false; if(!mIsOnline) mIsOnline = false;
@ -257,14 +249,18 @@ public class MainActivity extends AppCompatActivity
} }
private void onDBLoaded() { private void initSessionData() {
LinearLayout headerLayout = (LinearLayout) mBinding.navView.getHeaderView(0); LinearLayout headerLayout = (LinearLayout) mBinding.navView.getHeaderView(0);
((TextView) headerLayout.findViewById(R.id.drawer_username)).setText(SettingsManager.i().user.fullname); TextView textViewUsername = headerLayout.findViewById(R.id.drawer_username);
((TextView) headerLayout.findViewById(R.id.drawer_deposito)).setText(SettingsManager.i().userSession.depo.getCodMdep() + " - " + SettingsManager.i().userSession.depo.getDescrizione()); textViewUsername.setText(SettingsManager.i().user.fullname);
TextView textViewDeposito = headerLayout.findViewById(R.id.drawer_deposito);
textViewDeposito.setText(String.format("%s - %s", SettingsManager.i().userSession.depo.getCodMdep(), SettingsManager.i().userSession.depo.getDescrizione()));
if(SettingsManager.iDB().getDatiAzienda() != null && SettingsManager.iDB().getDatiAzienda().isLogoAvailable()) { if(SettingsManager.iDB().getDatiAzienda() != null && SettingsManager.iDB().getDatiAzienda().isLogoAvailable()) {
((ImageView) headerLayout.findViewById(R.id.drawer_logoAzienda)).setImageBitmap(SettingsManager.iDB().getDatiAzienda().getLogo()); ImageView imageViewLogoAzienda = headerLayout.findViewById(R.id.drawer_logoAzienda);
imageViewLogoAzienda.setImageBitmap(SettingsManager.iDB().getDatiAzienda().getLogo());
} }
} }

View File

@ -63,7 +63,12 @@ public class SplashActivity extends AppCompatActivity {
try { try {
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String version = pInfo.versionName; String version = pInfo.versionName;
appVersionTextView.setText("v" + version);
String debugText = "";
if(BuildConfig.DEBUG) debugText += "\n[DEBUG VERSION]";
appVersionTextView.setText("v" + version + debugText);
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -1,9 +1,11 @@
package it.integry.integrywmsnative.core.REST.consumers; package it.integry.integrywmsnative.core.REST.consumers;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
@ -178,7 +180,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
} }
public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, Runnable onComplete, RunnableArgs<Exception> onFailed) { public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
DistribuzioneColloDTO distribuzioneColloDTO = new DistribuzioneColloDTO() DistribuzioneColloDTO distribuzioneColloDTO = new DistribuzioneColloDTO()
.setCriterioDistribuzione(criterioDistribuzione) .setCriterioDistribuzione(criterioDistribuzione)
@ -192,7 +194,24 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
.enqueue(new Callback<ServiceRESTResponse<JsonObject>>() { .enqueue(new Callback<ServiceRESTResponse<JsonObject>>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<JsonObject>> call, Response<ServiceRESTResponse<JsonObject>> response) { public void onResponse(Call<ServiceRESTResponse<JsonObject>> call, Response<ServiceRESTResponse<JsonObject>> response) {
analyzeAnswer(response, "DistribuzioneCollo", obj -> onComplete.run(), onFailed); analyzeAnswerList(response, "DistribuzioneCollo", obj -> {
Gson gson = new Gson();
List<JsonObject> jsons = response.body().getEntityList();
List<MtbColt> newList = new ArrayList<>();
if(jsons != null) {
for (int i = 0; i < jsons.size(); i ++){
JsonObject jsonTmp = jsons.get(i);
newList.add(gson.fromJson(jsonTmp, MtbColt.class));
}
}
onComplete.run(newList);
}, onFailed);
} }
@Override @Override

View File

@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.REST.consumers;
import android.util.Log; import android.util.Log;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.EsitoType; import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@ -17,7 +19,14 @@ public class _BaseRESTConsumer {
if(response.body().getEsito() == EsitoType.OK) { if(response.body().getEsito() == EsitoType.OK) {
if(!UtilityString.isNullOrEmpty(response.body().getErrorMessage())){ if(!UtilityString.isNullOrEmpty(response.body().getErrorMessage())){
callback.onFailed(new Exception(response.body().getErrorMessage())); callback.onFailed(new Exception(response.body().getErrorMessage()));
} else callback.onSuccess(response.body().getDto()); } else {
T dataObj = response.body().getDto() != null ?
response.body().getDto() :
response.body().getEntity();
callback.onSuccess(dataObj);
}
} else { } else {
Log.e(logTitle, response.body().getErrorMessage()); Log.e(logTitle, response.body().getErrorMessage());
callback.onFailed(new Exception(response.body().getErrorMessage())); callback.onFailed(new Exception(response.body().getErrorMessage()));
@ -46,4 +55,45 @@ public class _BaseRESTConsumer {
}); });
} }
public static <T> void analyzeAnswerList(Response<ServiceRESTResponse<T>> response, String logTitle, final ISimpleOperationCallback<List<T>> callback){
if(response.isSuccessful()) {
if(response.body() != null) {
if(response.body().getEsito() == EsitoType.OK) {
if(!UtilityString.isNullOrEmpty(response.body().getErrorMessage())){
callback.onFailed(new Exception(response.body().getErrorMessage()));
} else {
List<T> dataObj = response.body().getEntityList();
callback.onSuccess(dataObj);
}
} else {
Log.e(logTitle, response.body().getErrorMessage());
callback.onFailed(new Exception(response.body().getErrorMessage()));
}
} else {
Log.e(logTitle, response.message());
callback.onFailed(new Exception(response.message()));
}
} else {
Log.e(logTitle, "Status " + response.code() + ": " + response.message());
callback.onFailed(new Exception("Status " + response.code() + ": " + response.message()));
}
}
public static <T> void analyzeAnswerList(Response<ServiceRESTResponse<T>> response, String logTitle, RunnableArgs<List<T>> onComplete, RunnableArgs<Exception> onFailed){
analyzeAnswerList(response, logTitle, new ISimpleOperationCallback<List<T>>() {
@Override
public void onSuccess(List<T> value) {
onComplete.run(value);
}
@Override
public void onFailed(Exception ex) {
onFailed.run(ex);
}
});
}
} }

View File

@ -12,6 +12,11 @@ public class SettingsModel {
return user != null; return user != null;
} }
public void createUserSession() {
this.user = new User();
this.userSession = new UserSession();
}
public static class Server { public static class Server {
public String codAzienda; public String codAzienda;

View File

@ -7,9 +7,14 @@ import java.util.Locale;
public class UtilityNumber { public class UtilityNumber {
public static String decimalToString(Float bigDecimal){
if(bigDecimal == null) return "0";
return decimalToString(bigDecimal, 3);
}
public static String decimalToString(BigDecimal bigDecimal){ public static String decimalToString(BigDecimal bigDecimal){
if(bigDecimal == null) return "0"; if(bigDecimal == null) return "0";
return decimalToString(bigDecimal, 2); return decimalToString(bigDecimal, 3);
} }
public static String decimalToString(BigDecimal bigDecimal, int decimal){ public static String decimalToString(BigDecimal bigDecimal, int decimal){

View File

@ -89,8 +89,8 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
private void init(){ private void init(){
mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this); mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this);
mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback(() -> this.refreshOrderBy(false)); mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback((deletedItem) -> this.refreshOrderBy(false));
mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback(() -> this.refreshOrderBy(false)); mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback((originalItem, editedItem) -> this.refreshOrderBy(false));
groupedOrdini = new ArrayList<>(); groupedOrdini = new ArrayList<>();
for (OrdineAccettazioneDTO ordine : mOrders){ for (OrdineAccettazioneDTO ordine : mOrders){

View File

@ -117,6 +117,8 @@ public class LoginViewModel {
public void onSuccess(final LoginDTO loginDTO) { public void onSuccess(final LoginDTO loginDTO) {
SettingsManager.iDB().setAvailableProfiles(loginDTO.availableProfiles); SettingsManager.iDB().setAvailableProfiles(loginDTO.availableProfiles);
SettingsManager.i().createUserSession();
SettingsManager.i().user.fullname = loginDTO.full_name; SettingsManager.i().user.fullname = loginDTO.full_name;

View File

@ -228,6 +228,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
//Cerco tramite etichetta ean 128 (che può indicarmi una UL) //Cerco tramite etichetta ean 128 (che può indicarmi una UL)
this.executeEtichettaEan128(data, progressDialog); this.executeEtichettaEan128(data, progressDialog);
} else { } else {
progressDialog.dismiss();
BarcodeManager.enable(); BarcodeManager.enable();
} }

View File

@ -78,11 +78,17 @@ public class RettificaGiacenzeHelper {
public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs<ArrayList<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) { public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs<ArrayList<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
String sql = "SELECT DISTINCT mtb_aart.* " + String sql = "SELECT DISTINCT mtb_aart.* " +
"FROM mtb_aart, mvw_barcode " + "FROM mtb_aart " +
"WHERE (case when len(mvw_barcode.cod_barre) > 13 " + "LEFT OUTER JOIN mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart " +
"then mvw_barcode.cod_barre " + "WHERE CASE" +
"else Replicate('0', 13 - len(mvw_barcode.cod_barre))+ mvw_barcode.cod_barre end LIKE '%' + case when len('" + codMartOrBarcodeOrDescr + "') > 13 then '" + codMartOrBarcodeOrDescr + "' else Replicate('0', 13 - len('" + codMartOrBarcodeOrDescr + "')) + '" + codMartOrBarcodeOrDescr + "'" + " WHEN LEN(mvw_barcode.cod_barre) > 13 THEN mvw_barcode.cod_barre " +
"end OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%') AND mtb_aart.cod_mart = mvw_barcode.cod_mart"; " ELSE Replicate('0', 13 - len(mvw_barcode.cod_barre))+ mvw_barcode.cod_barre " +
"END LIKE '%' + CASE " +
" WHEN LEN('" + codMartOrBarcodeOrDescr + "') > 13 THEN '" + codMartOrBarcodeOrDescr + "' " +
" ELSE Replicate('0', 13 - len('" + codMartOrBarcodeOrDescr + "')) + '" + codMartOrBarcodeOrDescr + "'" +
" END " +
"OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' " +
"OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%'";
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAart>>() {}.getType(); Type typeOfObjectsList = new TypeToken<ArrayList<MtbAart>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<MtbAart>>() { SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<MtbAart>>() {

View File

@ -91,8 +91,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
private void init(){ private void init(){
mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this); mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this);
mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback(() -> this.refreshOrderBy(false));
mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback(() -> this.refreshOrderBy(false)); mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback((deletedItem) -> {
this.onRowItemDeleted(deletedItem);
this.refreshOrderBy(false);
});
mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback((originalItem, editedItem) -> {
this.onRowItemEdited(originalItem, editedItem);
this.refreshOrderBy(false);
});
mHelper = new VenditaOrdineInevasoHelper(mActivity); mHelper = new VenditaOrdineInevasoHelper(mActivity);
@ -203,6 +211,37 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
} }
private void onRowItemEdited(MtbColr originalItem, MtbColr editedItem) {
for(int i = 0; i < mPickingList.size(); i++) {
int foundIndex = mPickingList.get(i).getWithdrawRows().indexOf(originalItem);
if(foundIndex >= 0){
mPickingList.get(i).getWithdrawRows().set(foundIndex, editedItem);
break;
}
}
}
private void onRowItemDeleted(MtbColr deletedItem) {
for(int i = 0; i < mPickingList.size(); i++) {
int foundIndex = mPickingList.get(i).getWithdrawRows().indexOf(deletedItem);
if(foundIndex >= 0){
mPickingList.get(i).getWithdrawRows().remove(foundIndex);
break;
}
}
}
public void refreshOrderBy(boolean forceHiddenCheck){ public void refreshOrderBy(boolean forceHiddenCheck){
try { try {
@ -656,7 +695,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
progress.show(); progress.show();
if(thereIsAnyRowInUL()) { if(thereIsAnyRowInUL()) {
updateDataFine(progress, () -> distribuisciCollo(progress, () -> printCollo(progress))); updateDataFine(progress, () -> distribuisciCollo(progress, (generatedMtbColts) -> printCollo(progress)));
} else { } else {
deleteCollo(progress); deleteCollo(progress);
} }
@ -685,17 +724,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void distribuisciCollo(ProgressDialog progress, Runnable onComplete) { private void distribuisciCollo(ProgressDialog progress, RunnableArgs<List<MtbColt>> onComplete) {
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, DistribuzioneColloDTO.CriterioDistribuzione.UPDATE, onComplete, ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, DistribuzioneColloDTO.CriterioDistribuzione.SPLIT_ORDINE, onComplete,
ex -> UtilityExceptions.defaultException(mActivity, ex, progress)); ex -> UtilityExceptions.defaultException(mActivity, ex, progress));
} }
private void printCollo(ProgressDialog progress) { private void printCollo(ProgressDialog progress) {
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.SECONDARY,new ISimpleOperationCallback<List<String>>() { PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.SECONDARY,new ISimpleOperationCallback<List<String>>() {
@Override @Override
public void onSuccess(List<String> value) { public void onSuccess(List<String> value) {

View File

@ -24,6 +24,7 @@ import it.integry.integrywmsnative.BR;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
@ -48,8 +49,8 @@ public class ArticoliInColloBottomSheetViewModel {
private BottomSheetBehavior mBottomSheetBehavior; private BottomSheetBehavior mBottomSheetBehavior;
private Runnable mOnItemDeletedCallback; private RunnableArgs<MtbColr> mOnItemDeletedCallback;
private Runnable mOnItemEditedCallback; private RunnableArgss<MtbColr, MtbColr> mOnItemEditedCallback;
public ArticoliInColloBottomSheetViewModel(AppCompatActivity context, final FragmentArticoliInColloBottomSheetBinding bindings){ public ArticoliInColloBottomSheetViewModel(AppCompatActivity context, final FragmentArticoliInColloBottomSheetBinding bindings){
@ -86,11 +87,11 @@ public class ArticoliInColloBottomSheetViewModel {
initBottomSheetActions(); initBottomSheetActions();
} }
public void setOnItemEditedCallback(Runnable onItemEditedCallback) { public void setOnItemEditedCallback(RunnableArgss<MtbColr, MtbColr> onItemEditedCallback) {
this.mOnItemEditedCallback = onItemEditedCallback; this.mOnItemEditedCallback = onItemEditedCallback;
} }
public void setOnItemDeletedCallback(Runnable onItemDeletedCallback) { public void setOnItemDeletedCallback(RunnableArgs<MtbColr> onItemDeletedCallback) {
this.mOnItemDeletedCallback = onItemDeletedCallback; this.mOnItemDeletedCallback = onItemDeletedCallback;
} }
@ -156,6 +157,9 @@ public class ArticoliInColloBottomSheetViewModel {
MtbColr itemToEdit = mtbColt.get().getMtbColr().get(position); MtbColr itemToEdit = mtbColt.get().getMtbColr().get(position);
MtbColr originalItem = (MtbColr) itemToEdit.clone();
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO() DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
@ -180,7 +184,7 @@ public class ArticoliInColloBottomSheetViewModel {
progress.dismiss(); progress.dismiss();
mtbColt.get().getMtbColr().set(position, itemToEdit); mtbColt.get().getMtbColr().set(position, itemToEdit);
if(mOnItemEditedCallback != null) mOnItemEditedCallback.run(); if(mOnItemEditedCallback != null) mOnItemEditedCallback.run(originalItem, itemToEdit);
}, },
ex -> UtilityExceptions.defaultException(mContext, ex, progress)); ex -> UtilityExceptions.defaultException(mContext, ex, progress));
@ -205,7 +209,7 @@ public class ArticoliInColloBottomSheetViewModel {
progress.dismiss(); progress.dismiss();
mtbColt.get().getMtbColr().remove(position); mtbColt.get().getMtbColr().remove(position);
if(this.mOnItemDeletedCallback != null) this.mOnItemDeletedCallback.run(); if(this.mOnItemDeletedCallback != null) this.mOnItemDeletedCallback.run(itemToDelete);
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress)); }, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
}, null).show(); }, null).show();

View File

@ -64,6 +64,7 @@
android:id="@+id/app_version_textview" android:id="@+id/app_version_textview"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_horizontal"
tools:text="v 1.0.0" tools:text="v 1.0.0"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@ -23,6 +23,7 @@
<import type="android.graphics.Color" /> <import type="android.graphics.Color" />
<import type="it.integry.integrywmsnative.core.utility.UtilityString" /> <import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
</data> </data>
@ -114,15 +115,14 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="@{viewmodel.qtaOrd == null ? View.GONE : View.VISIBLE}" android:visibility="@{viewmodel.qtaOrd == null ? View.GONE : View.VISIBLE}"
android:text="@string/ordered" android:text="@string/ordered_abbr"
android:textSize="16sp" android:textSize="16sp" />
tools:text="Ordinati" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="@{viewmodel.qtaOrd == null ? View.GONE : View.VISIBLE}" android:visibility="@{viewmodel.qtaOrd == null ? View.GONE : View.VISIBLE}"
android:text='@{String.format("%.2f", viewmodel.qtaOrd)}' android:text='@{UtilityNumber.decimalToString(viewmodel.qtaOrd)}'
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingLeft="4dp" android:paddingLeft="4dp"
@ -132,15 +132,14 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:text="@string/dispatched" android:text="@string/dispatched_abbr"
android:textSize="16sp" android:textSize="16sp"
android:visibility="@{quantityViewModel.qtaEvasa.get() == 0 ? View.GONE : View.VISIBLE}" android:visibility="@{quantityViewModel.qtaEvasa.get() == 0 ? View.GONE : View.VISIBLE}" />
tools:text="Evasi" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.format("%.2f", quantityViewModel.qtaEvasa.get())}' android:text='@{UtilityNumber.decimalToString(quantityViewModel.qtaEvasa.get())}'
android:visibility="@{quantityViewModel.qtaEvasa.get() == 0 ? View.GONE : View.VISIBLE}" android:visibility="@{quantityViewModel.qtaEvasa.get() == 0 ? View.GONE : View.VISIBLE}"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
@ -163,14 +162,13 @@
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/to_dispatch" android:text="@string/to_dispatch_abbr"
android:textSize="16sp" android:textSize="16sp" />
tools:text="Da evadere" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.format("%.2f", quantityViewModel.qtaDaEvadere.get())}' android:text='@{UtilityNumber.decimalToString(quantityViewModel.qtaDaEvadere.get())}'
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingLeft="4dp" android:paddingLeft="4dp"
@ -194,14 +192,13 @@
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/available" android:text="@string/available_abbr"
android:textSize="16sp" android:textSize="16sp" />
tools:text="Disponibile" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text='@{String.format("%.2f", quantityViewModel.qtaDisponibile.get())}' android:text='@{UtilityNumber.decimalToString(quantityViewModel.qtaDisponibile.get())}'
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingStart="4dp" android:paddingStart="4dp"

View File

@ -28,20 +28,6 @@
android:paddingRight="6dp" android:paddingRight="6dp"
android:textStyle="bold"/> android:textStyle="bold"/>
<TextView
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_badge2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BADGE 2"
android:background="@drawable/badge2_round_corner"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:layout_marginStart="8dp"
android:textStyle="bold"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -97,19 +83,54 @@
android:textColor="@android:color/black" android:textColor="@android:color/black"
tools:text="DESCRIZIONE"/> tools:text="DESCRIZIONE"/>
<TextView <RelativeLayout
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione1" android:layout_width="match_parent"
android:layout_width="wrap_content" android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:textSize="14sp" <LinearLayout
tools:text="SUB DESCRIZIONE"/> android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/vendita_ordine_inevaso_main_list_group_item_badge2">
<TextView
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
tools:text="SUB DESCRIZIONE"/>
<TextView
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
tools:text="SUB DESCRIZIONE"/>
</LinearLayout>
<TextView
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_badge2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BADGE 2"
android:background="@drawable/badge2_round_corner"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:layout_marginStart="8dp"
android:textStyle="bold"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
<TextView
android:id="@+id/vendita_ordine_inevaso_main_list_group_item_subdescrizione2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
tools:text="SUB DESCRIZIONE"/>
</LinearLayout> </LinearLayout>

View File

@ -24,7 +24,7 @@
<string name="ok">OK</string> <string name="ok">OK</string>
<string name="abort">Annulla</string> <string name="abort">Annulla</string>
<string name="reset">Resetta</string> <string name="reset">Resetta</string>
<string name="dispatched">Evasi</string> <string name="dispatched_abbr">Evasi</string>
<string name="permission_request_message">Questi permessi sono necessari al funzionamento dell\'app</string> <string name="permission_request_message">Questi permessi sono necessari al funzionamento dell\'app</string>
@ -97,9 +97,9 @@
<string name="quantity_short">Qtà</string> <string name="quantity_short">Qtà</string>
<string name="ordered">Ordinati</string> <string name="ordered_abbr">Ord</string>
<string name="to_dispatch">Da evadere</string> <string name="to_dispatch_abbr">Da ev</string>
<string name="available">Disponibile</string> <string name="available_abbr">Disp</string>
<string name="batch_lot">Lotto</string> <string name="batch_lot">Lotto</string>
<string name="batch_lot_text"><![CDATA[Lotto: <b>%s</b>]]></string> <string name="batch_lot_text"><![CDATA[Lotto: <b>%s</b>]]></string>

View File

@ -31,7 +31,7 @@
<string name="ok">OK</string> <string name="ok">OK</string>
<string name="abort">Abort</string> <string name="abort">Abort</string>
<string name="reset">Reset</string> <string name="reset">Reset</string>
<string name="dispatched">Dispatched</string> <string name="dispatched_abbr">Dspch</string>
<string name="no_description">No description</string> <string name="no_description">No description</string>
<string name="description">Description</string> <string name="description">Description</string>
<string name="stock">Stock</string> <string name="stock">Stock</string>
@ -96,9 +96,9 @@
<string name="quantity_short">Qty</string> <string name="quantity_short">Qty</string>
<string name="ordered">Ordered</string> <string name="ordered_abbr">Ord</string>
<string name="to_dispatch">To dispatch</string> <string name="to_dispatch_abbr">To disp</string>
<string name="available">Available</string> <string name="available_abbr">Avbl</string>
<string name="batch_lot">Batch lot</string> <string name="batch_lot">Batch lot</string>
<string name="level">Level</string> <string name="level">Level</string>