Fix & Updates
This commit is contained in:
parent
3d275bfe4f
commit
c8dbbcf06a
@ -82,33 +82,41 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation 'com.orhanobut:logger:2.2.0'
|
implementation 'com.orhanobut:logger:2.2.0'
|
||||||
implementation 'com.google.firebase:firebase-core:17.5.0'
|
|
||||||
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
//Firebase
|
||||||
implementation 'com.google.firebase:firebase-perf:19.0.8'
|
|
||||||
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
|
// Import the Firebase BoM
|
||||||
|
implementation platform('com.google.firebase:firebase-bom:25.12.0')
|
||||||
|
implementation 'com.google.firebase:firebase-core'
|
||||||
|
implementation 'com.google.firebase:firebase-crash'
|
||||||
|
implementation 'com.google.firebase:firebase-perf'
|
||||||
|
implementation 'com.google.firebase:firebase-crashlytics'
|
||||||
|
implementation 'com.google.firebase:firebase-analytics'
|
||||||
|
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
implementation 'com.google.android.material:material:1.3.0-alpha02'
|
implementation 'com.google.android.material:material:1.3.0-alpha03'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
||||||
implementation 'androidx.cardview:cardview:1.0.0'
|
implementation 'androidx.cardview:cardview:1.0.0'
|
||||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||||
implementation 'androidx.preference:preference:1.1.1'
|
implementation 'androidx.preference:preference:1.1.1'
|
||||||
implementation 'com.squareup.okhttp3:okhttp:4.5.0'
|
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
|
||||||
implementation 'com.squareup.retrofit2:retrofit:2.8.1'
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-gson:2.8.1'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
implementation 'com.annimon:stream:1.2.1'
|
implementation 'com.annimon:stream:1.2.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
||||||
implementation 'org.apache.commons:commons-text:1.8'
|
implementation 'org.apache.commons:commons-text:1.9'
|
||||||
|
|
||||||
//MVVM
|
//MVVM
|
||||||
def dagger2_version = '2.27'
|
def dagger2_version = '2.29.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
||||||
api "com.google.dagger:dagger:$dagger2_version"
|
api "com.google.dagger:dagger:$dagger2_version"
|
||||||
@ -125,7 +133,7 @@ dependencies {
|
|||||||
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
|
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
|
||||||
implementation 'com.fede987:status-bar-alert:1.0.1'
|
implementation 'com.fede987:status-bar-alert:1.0.1'
|
||||||
implementation 'com.fxn769:stash:1.2'
|
implementation 'com.fxn769:stash:1.2'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
|
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
|
||||||
implementation 'com.github.pedromassango:doubleClick:3.0'
|
implementation 'com.github.pedromassango:doubleClick:3.0'
|
||||||
|
|
||||||
@ -145,8 +153,8 @@ dependencies {
|
|||||||
implementation project(':honeywellscannerlibrary')
|
implementation project(':honeywellscannerlibrary')
|
||||||
implementation project(':keyobardemulatorscannerlibrary')
|
implementation project(':keyobardemulatorscannerlibrary')
|
||||||
implementation project(':barcode_kaiteki')
|
implementation project(':barcode_kaiteki')
|
||||||
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.1'
|
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
||||||
androidTestImplementation 'org.testng:testng:7.1.0'
|
androidTestImplementation 'org.testng:testng:7.3.0'
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.gest.accettazione.core;
|
package it.integry.integrywmsnative.gest.accettazione.core;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.TextUtils;
|
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
@ -13,7 +12,6 @@ import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
|||||||
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.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumerService;
|
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumerService;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
@ -63,52 +61,6 @@ public class AccettazioneHelper {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void retrievePickingList(List<String> barcodeOrdini, RunnableArgs<List<OrdineAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed){
|
|
||||||
|
|
||||||
String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
|
|
||||||
|
|
||||||
OrdiniAccettazioneRESTConsumerService service = RESTBuilder.getService(OrdiniAccettazioneRESTConsumerService.class);
|
|
||||||
|
|
||||||
service.pickingListAccettazione(joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<OrdineAccettazioneDTO>>>() {
|
|
||||||
@Override
|
|
||||||
public void onResponse(Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> response) {
|
|
||||||
if(response.isSuccessful()) {
|
|
||||||
|
|
||||||
if(response.body() != null) {
|
|
||||||
if(response.body().getEsito() == EsitoType.OK) {
|
|
||||||
List<OrdineAccettazioneDTO> dto = response.body().getDto();
|
|
||||||
|
|
||||||
for (OrdineAccettazioneDTO ordine : dto) {
|
|
||||||
for(OrdineAccettazioneDTO.Riga riga : ordine.getOrdini()){
|
|
||||||
riga.numOrd = ordine.getNumero();
|
|
||||||
riga.dataOrd = ordine.getData();
|
|
||||||
riga.gestioneOrd = ordine.getGestione();
|
|
||||||
riga.codAlis = ordine.getCodAlis();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onComplete.run(dto);
|
|
||||||
} else {
|
|
||||||
onFailed.run(new Exception(response.body().getErrorMessage()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
onFailed.run(new Exception(response.message()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
onFailed.run(new Exception("Status " + response.code() + ": " + response.message()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> call, Throwable t) {
|
|
||||||
onFailed.run(new Exception(t));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.accettazione.dto;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -223,6 +224,10 @@ public class OrdineAccettazioneInevasoDTO {
|
|||||||
return gestione;
|
return gestione;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GestioneEnum getGestioneEnum() {
|
||||||
|
return GestioneEnum.fromString(gestione);
|
||||||
|
}
|
||||||
|
|
||||||
public OrdineAccettazioneInevasoDTO setGestione(String gestione) {
|
public OrdineAccettazioneInevasoDTO setGestione(String gestione) {
|
||||||
this.gestione = gestione;
|
this.gestione = gestione;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.GetPickingListAccettazioneDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.GetPickingListAccettazioneDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
@ -22,9 +21,6 @@ public interface OrdiniAccettazioneRESTConsumerService {
|
|||||||
@GET("SM2GetOrdiniAccettazioneInevasi")
|
@GET("SM2GetOrdiniAccettazioneInevasi")
|
||||||
Call<ServiceRESTResponse<List<OrdineAccettazioneInevasoDTO>>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
|
Call<ServiceRESTResponse<List<OrdineAccettazioneInevasoDTO>>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
|
||||||
|
|
||||||
@GET("WMSGetPickingListAccettazione")
|
|
||||||
Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> pickingListAccettazione(@Query("codBarreBancale") String codBarreBacale);
|
|
||||||
|
|
||||||
@POST("wms/getArticoliFromOrdiniAccettazione")
|
@POST("wms/getArticoliFromOrdiniAccettazione")
|
||||||
Call<ServiceRESTResponse<List<SitArtOrdDTO>>> getArticoliFromOrdiniAccettazione(@Body List<GetPickingListAccettazioneDTO> pickingListAccettazioneDTOS);
|
Call<ServiceRESTResponse<List<SitArtOrdDTO>>> getArticoliFromOrdiniAccettazione(@Body List<GetPickingListAccettazioneDTO> pickingListAccettazioneDTOS);
|
||||||
|
|
||||||
|
|||||||
@ -107,8 +107,8 @@ public class AccettazionePickingViewModel {
|
|||||||
.get();
|
.get();
|
||||||
|
|
||||||
//Definizione della gestione collo di default
|
//Definizione della gestione collo di default
|
||||||
List<GestioneEnum> foundGestioni = Stream.of(mSitArts)
|
List<GestioneEnum> foundGestioni = Stream.of(mOrders)
|
||||||
.map(SitArtOrdDTO::getGestioneEnum)
|
.map(OrdineAccettazioneInevasoDTO::getGestioneEnum)
|
||||||
.withoutNulls()
|
.withoutNulls()
|
||||||
.distinctBy(x -> x)
|
.distinctBy(x -> x)
|
||||||
.toList();
|
.toList();
|
||||||
|
|||||||
@ -19,9 +19,9 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
@ -30,11 +30,13 @@ import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
|||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
import it.integry.integrywmsnative.core.rest.CommonRESTException;
|
import it.integry.integrywmsnative.core.rest.CommonRESTException;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElencoBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElencoBinding;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso_OLD.AccettazioneOrdineInevasoActivity;
|
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneHelper;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneHelper;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneListAdapter;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core.OrdineProduzioneListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.dialog.DialogOrdineProduzioneFiltroAvanzato;
|
||||||
@ -107,13 +109,12 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void init() {
|
private void init() {
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
|
||||||
mHelper = new OrdineProduzioneHelper(getActivity());
|
mHelper = new OrdineProduzioneHelper(getActivity());
|
||||||
mHelper.loadOrdini(ordini -> {
|
mHelper.loadOrdini(ordini -> {
|
||||||
if(ordini != null) {
|
if (ordini != null) {
|
||||||
Toast.makeText(getActivity(), "Caricati " + ordini.size() + " ordini", Toast.LENGTH_LONG).show();
|
Toast.makeText(getActivity(), "Caricati " + ordini.size() + " ordini", Toast.LENGTH_LONG).show();
|
||||||
mOriginalOrderList = ordini;
|
mOriginalOrderList = ordini;
|
||||||
}
|
}
|
||||||
@ -126,7 +127,7 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
|
|
||||||
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
||||||
if(errorMessage == null) errorMessage = ex.getMessage();
|
if (errorMessage == null) errorMessage = ex.getMessage();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -143,7 +144,6 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
mAdapter = new OrdineProduzioneListAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
|
mAdapter = new OrdineProduzioneListAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
|
||||||
mBinding.ordineProduzioneMainList.setAdapter(mAdapter);
|
mBinding.ordineProduzioneMainList.setAdapter(mAdapter);
|
||||||
@ -152,7 +152,7 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
private void refreshRenderedOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
|
private void refreshRenderedOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
|
||||||
|
|
||||||
mRenderedOrderList.clear();
|
mRenderedOrderList.clear();
|
||||||
if(ordini != null) mRenderedOrderList.addAll(ordini);
|
if (ordini != null) mRenderedOrderList.addAll(ordini);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshRecyclerView() {
|
private void refreshRecyclerView() {
|
||||||
@ -162,62 +162,52 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
||||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||||
|
|
||||||
if(dto.isSelected()) {
|
if (dto.isSelected()) {
|
||||||
Stream.of(selectedOrders)
|
Stream.of(selectedOrders)
|
||||||
.filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
|
.filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
|
||||||
.forEach(x -> x.setSelected(false));
|
.forEach(x -> x.setSelected(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(selectedOrders != null && selectedOrders.size() > 0) {
|
if (selectedOrders != null && selectedOrders.size() > 0) {
|
||||||
mBinding.ordineProduzioneMainFab.show();
|
mBinding.ordineProduzioneMainFab.show();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
mBinding.ordineProduzioneMainFab.hide();
|
mBinding.ordineProduzioneMainFab.hide();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void onAccettazioneMainFabClick() {
|
private void onAccettazioneMainFabClick() {
|
||||||
|
|
||||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||||
List<String> barcodes = new ArrayList<>();
|
|
||||||
|
|
||||||
for(OrdineAccettazioneInevasoDTO ordine : selectedOrders){
|
|
||||||
if(!barcodes.contains(ordine.getBarcode())) barcodes.add(ordine.getBarcode());
|
|
||||||
}
|
|
||||||
|
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
|
||||||
mHelper.retrievePickingList(barcodes, ordini -> {
|
OrdiniAccettazioneRESTConsumer.retrievePickingListNewStatic(selectedOrders, sitArtOrds -> {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
|
|
||||||
AtomicInteger artsCounter = new AtomicInteger();
|
long artsCounter = Stream.of(sitArtOrds)
|
||||||
|
.filter(x -> UtilityBigDecimal.greaterThan(x.getQtaDaEvadere(), BigDecimal.ZERO))
|
||||||
|
.map(SitArtOrdDTO::getCodMart)
|
||||||
|
.distinct()
|
||||||
|
.count();
|
||||||
|
|
||||||
Stream.of(ordini).forEach(x -> {
|
long ordsCounter = Stream.of(sitArtOrds)
|
||||||
artsCounter.addAndGet((int) Stream.of(x.getOrdini()).filter(y -> y.getQtaDaEvadere().floatValue() > 0).count());
|
.distinctBy(x -> x.getDataOrd() + " " + x.getNumOrd() + " " + x.getGestione())
|
||||||
});
|
.count();
|
||||||
|
|
||||||
List<String> ordersKeys = new ArrayList<>();
|
|
||||||
|
|
||||||
for(OrdineAccettazioneDTO ordine : ordini){
|
|
||||||
if(!ordersKeys.contains(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione())){
|
|
||||||
ordersKeys.add(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
|
||||||
getText(R.string.orders).toString(),
|
getText(R.string.orders).toString(),
|
||||||
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, ordersKeys.size()), ordersKeys.size())
|
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
|
||||||
+ "<br /><br />" +
|
+ "<br /><br />" +
|
||||||
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, artsCounter.get())),
|
"<b>" + artsCounter + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
|
|
||||||
String cacheItemID = DataCache.addItem(ordini);
|
String cacheSitArtItemID = DataCache.addItem(sitArtOrds);
|
||||||
|
String cacheOrdersItemID = DataCache.addItem(selectedOrders);
|
||||||
|
|
||||||
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
|
Intent myIntent = new Intent(getActivity(), AccettazionePickingActivity.class);
|
||||||
myIntent.putExtra("key", cacheItemID);
|
myIntent.putExtra("keyOrders", cacheOrdersItemID);
|
||||||
|
myIntent.putExtra("keySitArts", cacheSitArtItemID);
|
||||||
getActivity().startActivity(myIntent);
|
getActivity().startActivity(myIntent);
|
||||||
|
|
||||||
}).show();
|
}).show();
|
||||||
@ -229,7 +219,8 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
|
|
||||||
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
||||||
if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
|
if (errorMessage == null)
|
||||||
|
errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -241,7 +232,7 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
DialogOrdineProduzioneFiltroAvanzato.make(getActivity(), mOriginalOrderList, mAppliedFilterViewModel, (filteredOrderList, filter) -> {
|
DialogOrdineProduzioneFiltroAvanzato.make(getActivity(), mOriginalOrderList, mAppliedFilterViewModel, (filteredOrderList, filter) -> {
|
||||||
mAppliedFilterViewModel = filter;
|
mAppliedFilterViewModel = filter;
|
||||||
|
|
||||||
if(filteredOrderList != null){
|
if (filteredOrderList != null) {
|
||||||
|
|
||||||
refreshOrdini(filteredOrderList);
|
refreshOrdini(filteredOrderList);
|
||||||
refreshRecyclerView();
|
refreshRecyclerView();
|
||||||
@ -251,9 +242,7 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void refreshOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
|
||||||
|
|
||||||
public void refreshOrdini(List<OrdineAccettazioneInevasoDTO> ordini){
|
|
||||||
mRenderedOrderList.clear();
|
mRenderedOrderList.clear();
|
||||||
mRenderedOrderList.addAll(ordini);
|
mRenderedOrderList.addAll(ordini);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core;
|
package it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.core;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
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.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumerService;
|
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumerService;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
@ -64,58 +61,6 @@ public class OrdineProduzioneHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void retrievePickingList(List<String> barcodeOrdini, RunnableArgs<List<OrdineAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed){
|
|
||||||
|
|
||||||
String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
|
|
||||||
|
|
||||||
OrdiniAccettazioneRESTConsumerService service = RESTBuilder.getService(OrdiniAccettazioneRESTConsumerService.class);
|
|
||||||
|
|
||||||
service.pickingListAccettazione(joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<OrdineAccettazioneDTO>>>() {
|
|
||||||
@Override
|
|
||||||
public void onResponse(Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> call, Response<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> response) {
|
|
||||||
if(response.isSuccessful()) {
|
|
||||||
|
|
||||||
if(response.body() != null) {
|
|
||||||
if(response.body().getEsito() == EsitoType.OK) {
|
|
||||||
List<OrdineAccettazioneDTO> dto = response.body().getDto();
|
|
||||||
|
|
||||||
for (OrdineAccettazioneDTO ordine : dto) {
|
|
||||||
for(OrdineAccettazioneDTO.Riga riga : ordine.getOrdini()){
|
|
||||||
riga.numOrd = ordine.getNumero();
|
|
||||||
riga.dataOrd = ordine.getData();
|
|
||||||
riga.gestioneOrd = ordine.getGestione();
|
|
||||||
riga.codAlis = ordine.getCodAlis();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onComplete.run(dto);
|
|
||||||
} else {
|
|
||||||
Log.e("Produzione", response.body().getErrorMessage());
|
|
||||||
onFailed.run(new Exception(response.body().getErrorMessage()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Log.e("Produzione", response.message());
|
|
||||||
onFailed.run(new Exception(response.message()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Log.e("Produzione", "Status " + response.code() + ": " + response.message());
|
|
||||||
onFailed.run(new Exception("Status " + response.code() + ": " + response.message()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> call, Throwable t) {
|
|
||||||
Log.e("Produzione", t.toString());
|
|
||||||
UtilityLogger.errorMe(new Exception(t));
|
|
||||||
onFailed.run(new Exception(t));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<OrdineAccettazioneInevasoDTO> getSelectedOrders(List<OrdineAccettazioneInevasoDTO> ordiniList){
|
public List<OrdineAccettazioneInevasoDTO> getSelectedOrders(List<OrdineAccettazioneInevasoDTO> ordiniList){
|
||||||
return Stream.of(ordiniList)
|
return Stream.of(ordiniList)
|
||||||
.filter(OrdineAccettazioneInevasoDTO::isSelected)
|
.filter(OrdineAccettazioneInevasoDTO::isSelected)
|
||||||
|
|||||||
@ -30,10 +30,10 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ buildscript {
|
|||||||
classpath 'com.android.tools.build:gradle:4.0.2'
|
classpath 'com.android.tools.build:gradle:4.0.2'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
classpath 'com.google.gms:google-services:4.3.4'
|
classpath 'com.google.gms:google-services:4.3.4'
|
||||||
classpath 'com.google.firebase:perf-plugin:1.3.1'
|
classpath 'com.google.firebase:perf-plugin:1.3.2'
|
||||||
|
|
||||||
// Add the Firebase Crashlytics Gradle plugin.
|
// Add the Firebase Crashlytics Gradle plugin.
|
||||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
|
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
|
||||||
|
|||||||
@ -24,5 +24,5 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation project(':app')
|
implementation project(':app')
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,8 +21,8 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
implementation project(":app")
|
implementation project(":app")
|
||||||
testImplementation 'junit:junit:4.12'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||||
androidTestImplementation 'androidx.annotation:annotation:1.1.0'
|
androidTestImplementation 'androidx.annotation:annotation:1.1.0'
|
||||||
}
|
}
|
||||||
@ -23,5 +23,5 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation project(':app')
|
implementation project(':app')
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,5 +24,5 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation project(':app')
|
implementation project(':app')
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,5 +24,5 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation project(':app')
|
implementation project(':app')
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,5 +19,5 @@ dependencies {
|
|||||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||||
implementation project(':app')
|
implementation project(':app')
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,10 +30,10 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test:runner:1.2.0'
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation project(path: ':barcode_base_android_library')
|
implementation project(path: ':barcode_base_android_library')
|
||||||
|
|||||||
@ -27,10 +27,10 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation project(':barcode_base_android_library')
|
implementation project(':barcode_base_android_library')
|
||||||
|
|||||||
@ -26,10 +26,10 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test:runner:1.2.0'
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation project(':barcode_base_android_library')
|
implementation project(':barcode_base_android_library')
|
||||||
|
|||||||
@ -27,10 +27,10 @@ dependencies {
|
|||||||
|
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13.1'
|
||||||
androidTestImplementation 'androidx.test:runner:1.2.0'
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
||||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0', {
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
implementation project(path: ':barcode_base_android_library')
|
implementation project(path: ':barcode_base_android_library')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user