Finish v1.39.03(416)

This commit is contained in:
Giuseppe Scorrano 2024-03-01 18:01:32 +01:00
commit 0098fdaf5a
7 changed files with 63 additions and 22 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 414 def appVersionCode = 416
def appVersionName = '1.39.01' def appVersionName = '1.39.03'
signingConfigs { signingConfigs {
release { release {

View File

@ -22,6 +22,7 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.utility.UtilityGson;
@Singleton @Singleton
public class ColliDataRecoverService { public class ColliDataRecoverService {
@ -108,7 +109,7 @@ public class ColliDataRecoverService {
private void loadLocalFile() { private void loadLocalFile() {
InputStream inputStream; InputStream inputStream;
Gson gson = new Gson(); Gson gson = UtilityGson.createObject();
try { try {
inputStream = mApplicationContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE); inputStream = mApplicationContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
@ -130,7 +131,7 @@ public class ColliDataRecoverService {
private void updateLocalFile() { private void updateLocalFile() {
FileOutputStream outputStream; FileOutputStream outputStream;
Gson gson = new Gson(); Gson gson = UtilityGson.createObject();
String jsonText = gson.toJson(mtbColtsSessions); String jsonText = gson.toJson(mtbColtsSessions);
try { try {

View File

@ -8,6 +8,7 @@ import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.base.Callable; import it.integry.integrywmsnative.core.base.Callable;
import it.integry.integrywmsnative.core.base.CallableII; import it.integry.integrywmsnative.core.base.CallableII;
import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class Ean128Service { public class Ean128Service {
@ -87,8 +88,8 @@ public class Ean128Service {
case DUE_DATE -> model.DueDate = convertToDateTime(aiValue.toString()); case DUE_DATE -> model.DueDate = convertToDateTime(aiValue.toString());
case PACK_DATE -> model.PackDate = convertToDateTime(aiValue.toString()); case PACK_DATE -> model.PackDate = convertToDateTime(aiValue.toString());
case BEST_BEFORE -> case BEST_BEFORE ->
model.BestBefore = String.valueOf(convertToDateTime(aiValue.toString())); model.BestBefore = UtilityDate.formatDate(convertToDateTime(aiValue.toString()), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH);
case EXPIRY -> model.Expiry = String.valueOf(convertToDateTime(aiValue.toString())); case EXPIRY -> model.Expiry = UtilityDate.formatDate(convertToDateTime(aiValue.toString()), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH);
case VARIANT -> model.Variant = aiValue.toString(); case VARIANT -> model.Variant = aiValue.toString();
case SERIAL -> model.Serial = aiValue.toString(); case SERIAL -> model.Serial = aiValue.toString();
case QTY_DATE_BATCH -> model.QtyDateBatch = aiValue.toString(); case QTY_DATE_BATCH -> model.QtyDateBatch = aiValue.toString();

View File

@ -52,7 +52,11 @@ public class BaseActivity extends AppCompatActivity {
if (!progressOpened && !this.mCurrentProgress.isAdded() && !this.mCurrentProgress.isInLayout()) { if (!progressOpened && !this.mCurrentProgress.isAdded() && !this.mCurrentProgress.isInLayout()) {
this.progressOpened = true; this.progressOpened = true;
runOnUiThread(() -> { runOnUiThread(() -> {
this.mCurrentProgress.show(getSupportFragmentManager(), "tag"); try {
this.mCurrentProgress.show(getSupportFragmentManager(), "tag");
} catch (IllegalStateException ise) {
//ignored
}
}); });
} }
} }

View File

@ -40,7 +40,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
if (response.body() != null) { if (response.body() != null) {
if (response.body().getEsito() == EsitoType.OK) { if (response.body().getEsito() == EsitoType.OK) {
Gson gson = new Gson(); Gson gson = UtilityGson.createObject();
T object = gson.fromJson(response.body().getEntity(), type); T object = gson.fromJson(response.body().getEntity(), type);
callback.onSuccess(object); callback.onSuccess(object);
@ -133,7 +133,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
if (response.body() != null) { if (response.body() != null) {
if (response.body().getEsito() == EsitoType.OK) { if (response.body().getEsito() == EsitoType.OK) {
Gson gson = new Gson(); Gson gson = UtilityGson.createObject();
List<JsonObject> jsons = response.body().getEntityList(); List<JsonObject> jsons = response.body().getEntityList();
List<T> newList = new ArrayList<T>(); List<T> newList = new ArrayList<T>();

View File

@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.system.RegisterDeviceRequestDTO; import it.integry.integrywmsnative.core.rest.model.system.RegisterDeviceRequestDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityGson;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
@ -72,15 +73,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) { public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
analyzeAnswer(response, "ProcessSql", o -> { analyzeAnswer(response, "ProcessSql", o -> {
Gson gson = new GsonBuilder() Gson gson = UtilityGson.createObject();
.registerTypeAdapter(Date.class, (JsonDeserializer<?>) (json, typeOfT, context) -> {
try {
return UtilityDate.recognizeDate(json.getAsString());
} catch (Exception e) {
throw new JsonParseException(e);
}
})
.create();
String json = gson.toJson(o); String json = gson.toJson(o);

View File

@ -15,6 +15,7 @@ import com.annimon.stream.Stream;
import com.ravikoradiya.liveadapter.LiveAdapter; import com.ravikoradiya.liveadapter.LiveAdapter;
import com.ravikoradiya.liveadapter.Type; import com.ravikoradiya.liveadapter.Type;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -29,6 +30,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback; import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
@ -42,11 +44,10 @@ import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsIn
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel; import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.filter.ProdRiposizionamentoDaProdFilterViewModel;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO; import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView; import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView; import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener { public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, ProdRiposizionamentoDaProdViewModel.Listener {
@Inject @Inject
ProdRiposizionamentoDaProdViewModel mViewModel; ProdRiposizionamentoDaProdViewModel mViewModel;
@ -57,6 +58,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
private final Handler mHandler = new Handler(); private final Handler mHandler = new Handler();
private final int mInterval = 120 * 1000; //2 minuti private final int mInterval = 120 * 1000; //2 minuti
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
private AppCompatTextView mAppBarTitle;
private String mTextFilter;
public ProdRiposizionamentoDaProdFragment() { public ProdRiposizionamentoDaProdFragment() {
@ -123,7 +126,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> { mViewModel.getItemsInventario().observe(getViewLifecycleOwner(), data -> {
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE); mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
mFilterViewModel.init(mViewModel.getItemsInventario().getValue()); mFilterViewModel.init(getFilteredList(mTextFilter));
this.refreshList(null); this.refreshList(null);
}); });
@ -254,6 +257,44 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
.show(requireActivity().getSupportFragmentManager(), "tag"); .show(requireActivity().getSupportFragmentManager(), "tag");
} }
@Override
public void onSearchEnabled() {
mAppBarTitle.setVisibility(View.GONE);
}
@Override
public void onSearchDisabled() {
mAppBarTitle.setVisibility(View.VISIBLE);
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
if (originalList == null || originalList.isEmpty()) return false;
mTextFilter = newText;
List<ArtsInGiacenzaDTO> filteredOrders = getFilteredList(newText);
refreshList(filteredOrders);
return true;
}
private List<ArtsInGiacenzaDTO> getFilteredList(String newText) {
List<ArtsInGiacenzaDTO> filteredOrders = new ArrayList<>();
List<ArtsInGiacenzaDTO> originalList = this.mViewModel.getItemsInventario().getValue();
if (originalList == null || originalList.isEmpty() || newText == null) return originalList;
for (int i = 0; i < originalList.size(); i++) {
if (originalList.get(i).getDescrizione().toLowerCase().contains(newText.toLowerCase())) {
filteredOrders.add(originalList.get(i));
}
}
return filteredOrders;
}
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
@ -274,7 +315,8 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
@Override @Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) { public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString()); mAppBarTitle = titleText;
mAppBarTitle.setText(context.getText(R.string.prod_riposizionamento_da_prod_title).toString());
} }
@Override @Override