Create nuove classi e nuova struttura per GetPickingList

This commit is contained in:
Giuseppe Scorrano 2020-03-18 19:44:48 +01:00
parent 9d5e3d7d94
commit 434f9e8629
24 changed files with 673 additions and 329 deletions

View File

@ -7,6 +7,7 @@ import javax.inject.Singleton;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
@Module @Module
public class MainApplicationModule { public class MainApplicationModule {
@ -23,5 +24,11 @@ public class MainApplicationModule {
return new ColliDataRecoverService(mContext); return new ColliDataRecoverService(mContext);
} }
@Provides
@Singleton
OrdiniRESTConsumer provideOrdiniRESTConsumer() {
return new OrdiniRESTConsumer();
}
} }

View File

@ -0,0 +1,73 @@
package it.integry.integrywmsnative.core.rest.consumers;
import com.annimon.stream.Stream;
import java.util.List;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@Singleton
public class OrdiniRESTConsumer extends _BaseRESTConsumer {
public static void retrieveListaArticoliFromOrdiniVendita(List<OrdineVenditaInevasoDTO> orders, RunnableArgs<List<SitArtOrdDTO>> onComplete, RunnableArgs<Exception> onFailed) {
List<GetPickingListDTO> getPickingListDTOs = Stream.of(orders)
.map(x -> new GetPickingListDTO()
.setData(x.getDataOrdS())
.setGestione(x.getGestione())
.setNumero(x.getNumOrd())
.setDataConsegna(x.getDataConsS())
.setIdViaggio(x.getIdViaggio()))
.toList();
OrdiniRESTConsumerService service = RESTBuilder.getService(OrdiniRESTConsumerService.class, 90);
service.getArticoliFromOrdini(getPickingListDTOs).enqueue(new Callback<ServiceRESTResponse<List<SitArtOrdDTO>>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Response<ServiceRESTResponse<List<SitArtOrdDTO>>> response) {
analyzeAnswer(response, "retrieveListaArticoliFromOrdiniVendita", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<SitArtOrdDTO>>> call, Throwable t) {
UtilityLogger.errorMe(new Exception(t));
onFailed.run(new Exception(t));
}
});
}
public void getSuggestedPickingList(String codMdep, List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete, RunnableArgs<Exception> onFailed) {
OrdiniRESTConsumerService service = RESTBuilder.getService(OrdiniRESTConsumerService.class, 90);
service
.getSuggestedPickingList(codMdep, sitArtOrdList)
.enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) {
analyzeAnswer(response, "getSuggestedPickingList", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) {
UtilityLogger.errorMe(new Exception(t));
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,22 @@
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;
public interface OrdiniRESTConsumerService {
@POST("wms/getArticoliFromOrdini")
Call<ServiceRESTResponse<List<SitArtOrdDTO>>> getArticoliFromOrdini(@Body List<GetPickingListDTO> pickingListDTO);
@POST("wms/getSuggestedPickingList")
Call<ServiceRESTResponse<List<PickingObjectDTO>>> getSuggestedPickingList(@Query("codMdep") String codMdep, @Body List<SitArtOrdDTO> sitArtOrdDTOList);
}

View File

@ -0,0 +1,118 @@
package it.integry.integrywmsnative.core.rest.model;
import java.math.BigDecimal;
public class SitArtOrdDTO {
private String codJcom;
private String codMart;
private String codCol;
private String codTagl;
private String codAlis;
private String codArtFor;
private String partitaMag;
private BigDecimal qtaOrd;
private BigDecimal numCnfOrd;
private String idViaggio;
private String codMdep;
public String getCodJcom() {
return codJcom;
}
public SitArtOrdDTO setCodJcom(String codJcom) {
this.codJcom = codJcom;
return this;
}
public String getCodMart() {
return codMart;
}
public SitArtOrdDTO setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getCodCol() {
return codCol;
}
public SitArtOrdDTO setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
public String getCodTagl() {
return codTagl;
}
public SitArtOrdDTO setCodTagl(String codTagl) {
this.codTagl = codTagl;
return this;
}
public String getCodAlis() {
return codAlis;
}
public SitArtOrdDTO setCodAlis(String codAlis) {
this.codAlis = codAlis;
return this;
}
public String getCodArtFor() {
return codArtFor;
}
public SitArtOrdDTO setCodArtFor(String codArtFor) {
this.codArtFor = codArtFor;
return this;
}
public String getPartitaMag() {
return partitaMag;
}
public SitArtOrdDTO setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag;
return this;
}
public BigDecimal getQtaOrd() {
return qtaOrd;
}
public SitArtOrdDTO setQtaOrd(BigDecimal qtaOrd) {
this.qtaOrd = qtaOrd;
return this;
}
public BigDecimal getNumCnfOrd() {
return numCnfOrd;
}
public SitArtOrdDTO setNumCnfOrd(BigDecimal numCnfOrd) {
this.numCnfOrd = numCnfOrd;
return this;
}
public String getIdViaggio() {
return idViaggio;
}
public SitArtOrdDTO setIdViaggio(String idViaggio) {
this.idViaggio = idViaggio;
return this;
}
public String getCodMdep() {
return codMdep;
}
public SitArtOrdDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
}

View File

@ -44,7 +44,7 @@ public class UtilityExceptions {
} }
if(!BuildConfig.DEBUG) { if(!BuildConfig.DEBUG) {
if(sendEmail) UtilityLogger.errorMe(ex); // if(sendEmail) UtilityLogger.errorMe(ex);
FirebaseCrashlytics.getInstance().recordException(ex); FirebaseCrashlytics.getInstance().recordException(ex);
} }
} }

View File

@ -38,7 +38,7 @@ import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElen
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneHelper; import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneHelper;
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter; import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity; import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -215,8 +215,8 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
progress.dismiss(); progress.dismiss();
List<String> codMarts = Stream.of(ordini) List<String> codMarts = Stream.of(ordini)
.distinctBy(PickingObjectDTO::getCodMart) .distinctBy(PickingObjectDTOOld::getCodMart)
.map(PickingObjectDTO::getCodMart) .map(PickingObjectDTOOld::getCodMart)
.toList(); .toList();
int alreadyRegisteredUL = mtbColtList.size(); int alreadyRegisteredUL = mtbColtList.size();
@ -276,7 +276,7 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
onComplete.run(); onComplete.run();
} }
private void startPickingActivity(List<PickingObjectDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) { private void startPickingActivity(List<PickingObjectDTOOld> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class); Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
String keyPickingList = DataCache.addItem(ordini); String keyPickingList = DataCache.addItem(ordini);

View File

@ -25,7 +25,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityFirebase; import it.integry.integrywmsnative.core.utility.UtilityFirebase;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService; import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
@ -96,7 +96,7 @@ public class ProdOrdineLavorazioneHelper {
public void retrievePickingList(List<String> barcodeOrdini, String dateCons, RunnableArgs<List<PickingObjectDTO>> onComplete, RunnableArgs<Exception> onFailed){ public void retrievePickingList(List<String> barcodeOrdini, String dateCons, RunnableArgs<List<PickingObjectDTOOld>> onComplete, RunnableArgs<Exception> onFailed){
String codMdep = SettingsManager.i().userSession.depo.getCodMdep(); String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
String joinedBarcodes = TextUtils.join(",", barcodeOrdini); String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
@ -106,9 +106,9 @@ public class ProdOrdineLavorazioneHelper {
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_lavorazione"); Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_lavorazione");
perfTrace.start(); perfTrace.start();
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() { service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTOOld>>>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) { public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Response<ServiceRESTResponse<List<PickingObjectDTOOld>>> response) {
if(response.isSuccessful()) { if(response.isSuccessful()) {
if(response.body() != null) { if(response.body() != null) {
@ -134,7 +134,7 @@ public class ProdOrdineLavorazioneHelper {
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Throwable t) {
UtilityFirebase.stopPerformanceTrace(perfTrace, true); UtilityFirebase.stopPerformanceTrace(perfTrace, true);
Log.e("Ord Lavorazione", t.toString()); Log.e("Ord Lavorazione", t.toString());
UtilityLogger.errorMe(new Exception(t)); UtilityLogger.errorMe(new Exception(t));

View File

@ -21,7 +21,7 @@ import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBindi
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding; import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity; import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel; import it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
@ -45,7 +45,7 @@ public class VenditaOrdineInevasoActivity extends BaseActivity {
FragmentArticoliInColloBottomSheetBinding bindings = this.mBindings.bottomSheetInclude; FragmentArticoliInColloBottomSheetBinding bindings = this.mBindings.bottomSheetInclude;
mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings); mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings);
ArrayList<PickingObjectDTO> pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList")); ArrayList<PickingObjectDTOOld> pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
ArrayList<OrdineVenditaInevasoDTO> testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini")); ArrayList<OrdineVenditaInevasoDTO> testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
ArrayList<MtbColt> colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati")); ArrayList<MtbColt> colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
mVenditaOrdineInevasoViewModel = new VenditaOrdineInevasoViewModel( mVenditaOrdineInevasoViewModel = new VenditaOrdineInevasoViewModel(

View File

@ -4,13 +4,13 @@ import androidx.databinding.ObservableArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class SpedizioneHelper { public class SpedizioneHelper {
private ObservableArrayList<PickingObjectDTO> mPickingObjectDtoList; private ObservableArrayList<PickingObjectDTOOld> mPickingObjectDtoList;
public SpedizioneHelper(List<PickingObjectDTO> pickingObjectDTOList) { public SpedizioneHelper(List<PickingObjectDTOOld> pickingObjectDTOList) {
this.mPickingObjectDtoList = new ObservableArrayList<>(); this.mPickingObjectDtoList = new ObservableArrayList<>();
this.mPickingObjectDtoList.addAll(pickingObjectDTOList); this.mPickingObjectDtoList.addAll(pickingObjectDTOList);
} }

View File

@ -17,7 +17,7 @@ import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfigura
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel; import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel;
public class VenditaOrdineInevasoHelper { public class VenditaOrdineInevasoHelper {
@ -34,7 +34,7 @@ public class VenditaOrdineInevasoHelper {
return new MainListOrdineVenditaInevasoAdapter(mContext, mListViewModels, emptyView); return new MainListOrdineVenditaInevasoAdapter(mContext, mListViewModels, emptyView);
} }
public void updateListModel(List<List<PickingObjectDTO>> mDataset, List<MtbColr> mtbColrs) throws Exception { public void updateListModel(List<List<PickingObjectDTOOld>> mDataset, List<MtbColr> mtbColrs) throws Exception {
mListViewModels.clear(); mListViewModels.clear();
@ -42,12 +42,12 @@ public class VenditaOrdineInevasoHelper {
} }
public List<List<PickingObjectDTO>> getPickingListRaggruppataPerPosizione(List<PickingObjectDTO> mPickingList, boolean forceHiddenCheck){ public List<List<PickingObjectDTOOld>> getPickingListRaggruppataPerPosizione(List<PickingObjectDTOOld> mPickingList, boolean forceHiddenCheck){
for(int i = 0; i < mPickingList.size(); i++) { for(int i = 0; i < mPickingList.size(); i++) {
if(mPickingList.get(i).isHidden() == null || forceHiddenCheck) { if(mPickingList.get(i).isHidden() == null || forceHiddenCheck) {
PickingObjectDTO tmpItem = mPickingList.get(i); PickingObjectDTOOld tmpItem = mPickingList.get(i);
tmpItem.setDeactivated(tmpItem.getQtaCollo() == null || tmpItem.getQtaCollo().floatValue() == 0); tmpItem.setDeactivated(tmpItem.getQtaCollo() == null || tmpItem.getQtaCollo().floatValue() == 0);
tmpItem.setHidden(false); tmpItem.setHidden(false);
@ -57,7 +57,7 @@ public class VenditaOrdineInevasoHelper {
List<String> listOfKnownPositions = Stream.of(mPickingList) List<String> listOfKnownPositions = Stream.of(mPickingList)
.filter(x -> !x.isDeactivated()) .filter(x -> !x.isDeactivated())
.map(PickingObjectDTO::getPosizione) .map(PickingObjectDTOOld::getPosizione)
.distinctBy(x -> x) .distinctBy(x -> x)
.withoutNulls() .withoutNulls()
.sortBy(x -> x) .sortBy(x -> x)
@ -67,16 +67,16 @@ public class VenditaOrdineInevasoHelper {
listOfKnownPositions.add(null); listOfKnownPositions.add(null);
List<List<PickingObjectDTO>> groupedRighe = new ArrayList<>(); List<List<PickingObjectDTOOld>> groupedRighe = new ArrayList<>();
for (String position : listOfKnownPositions) { for (String position : listOfKnownPositions) {
List<PickingObjectDTO> tmpList = Stream.of(mPickingList) List<PickingObjectDTOOld> tmpList = Stream.of(mPickingList)
.filter(x -> !x.isDeactivated() && (x.getPosizione() == null && position == null) || .filter(x -> !x.isDeactivated() && (x.getPosizione() == null && position == null) ||
(x.getPosizione() != null && x.getPosizione().equalsIgnoreCase(position))).toList(); (x.getPosizione() != null && x.getPosizione().equalsIgnoreCase(position))).toList();
for(int i = 0; i < tmpList.size(); i++){ for(int i = 0; i < tmpList.size(); i++){
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) { if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
PickingObjectDTO tmpItem = tmpList.get(i); PickingObjectDTOOld tmpItem = tmpList.get(i);
tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().getFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0)); tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().getFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
tmpItem.setTempHidden(false); tmpItem.setTempHidden(false);
@ -89,8 +89,8 @@ public class VenditaOrdineInevasoHelper {
} }
List<PickingObjectDTO> deactivatedItems = Stream.of(mPickingList) List<PickingObjectDTOOld> deactivatedItems = Stream.of(mPickingList)
.filter(PickingObjectDTO::isDeactivated) .filter(PickingObjectDTOOld::isDeactivated)
.toList(); .toList();
if(deactivatedItems.size() > 0) groupedRighe.add(deactivatedItems); if(deactivatedItems.size() > 0) groupedRighe.add(deactivatedItems);
@ -99,14 +99,14 @@ public class VenditaOrdineInevasoHelper {
} }
public List<VenditaOrdineInevasoListViewModel> getListViewModelPerPosizione(List<List<PickingObjectDTO>> groupedRighe, List<MtbColr> mtbColrs) { public List<VenditaOrdineInevasoListViewModel> getListViewModelPerPosizione(List<List<PickingObjectDTOOld>> groupedRighe, List<MtbColr> mtbColrs) {
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
List<VenditaOrdineInevasoListViewModel> listModel = new ArrayList<>(); List<VenditaOrdineInevasoListViewModel> listModel = new ArrayList<>();
for(int i = 0; i < groupedRighe.size(); i++) { for(int i = 0; i < groupedRighe.size(); i++) {
List<PickingObjectDTO> currentGroup = groupedRighe.get(i); List<PickingObjectDTOOld> currentGroup = groupedRighe.get(i);
VenditaOrdineInevasoListViewModel itemModel = new VenditaOrdineInevasoListViewModel(); VenditaOrdineInevasoListViewModel itemModel = new VenditaOrdineInevasoListViewModel();
@ -123,7 +123,7 @@ public class VenditaOrdineInevasoHelper {
itemModel.rows = new ArrayList<>(); itemModel.rows = new ArrayList<>();
for(int k = 0; k < currentGroup.size(); k++) { for(int k = 0; k < currentGroup.size(); k++) {
final PickingObjectDTO currentItem = currentGroup.get(k); final PickingObjectDTOOld currentItem = currentGroup.get(k);
final VenditaOrdineInevasoListViewModel.SubItem rowModel = new VenditaOrdineInevasoListViewModel.SubItem(); final VenditaOrdineInevasoListViewModel.SubItem rowModel = new VenditaOrdineInevasoListViewModel.SubItem();
String badge1 = ""; String badge1 = "";

View File

@ -1,8 +1,8 @@
package it.integry.integrywmsnative.gest.spedizione.core.interfaces; package it.integry.integrywmsnative.gest.spedizione.core.interfaces;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public interface IOnOrdineVenditaRowDispatched { public interface IOnOrdineVenditaRowDispatched {
void onOrdineRowDispatch(PickingObjectDTO item); void onOrdineRowDispatch(PickingObjectDTOOld item);
} }

View File

@ -5,7 +5,7 @@ import com.annimon.stream.Stream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class VenditaOrdineInevasoListViewModel { public class VenditaOrdineInevasoListViewModel {
public String descrizioneGroup; public String descrizioneGroup;
@ -29,7 +29,7 @@ public class VenditaOrdineInevasoListViewModel {
private BigDecimal qtaOrdinata; private BigDecimal qtaOrdinata;
private String untMis; private String untMis;
private PickingObjectDTO originalModel; private PickingObjectDTOOld originalModel;
public String getBadge1() { public String getBadge1() {
return badge1; return badge1;
@ -94,11 +94,11 @@ public class VenditaOrdineInevasoListViewModel {
return this; return this;
} }
public PickingObjectDTO getOriginalModel() { public PickingObjectDTOOld getOriginalModel() {
return originalModel; return originalModel;
} }
public SubItem setOriginalModel(PickingObjectDTO originalModel) { public SubItem setOriginalModel(PickingObjectDTOOld originalModel) {
this.originalModel = originalModel; this.originalModel = originalModel;
return this; return this;
} }

View File

@ -56,7 +56,7 @@ import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding; import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity; import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.gest.spedizione.core.VenditaOrdineInevasoHelper; import it.integry.integrywmsnative.gest.spedizione.core.VenditaOrdineInevasoHelper;
import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter; import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter;
@ -84,8 +84,8 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
private final ActivityVenditaOrdineInevasoBinding mBindings; private final ActivityVenditaOrdineInevasoBinding mBindings;
private final ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel; private final ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
private final List<PickingObjectDTO> mPickingList; private final List<PickingObjectDTOOld> mPickingList;
private List<List<PickingObjectDTO>> mGroupedPickingList; private List<List<PickingObjectDTOOld>> mGroupedPickingList;
private final List<OrdineVenditaInevasoDTO> mTestateOrdini; private final List<OrdineVenditaInevasoDTO> mTestateOrdini;
private final List<MtbColt> mColliRegistrati; private final List<MtbColt> mColliRegistrati;
@ -105,7 +105,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
private Integer mtbColtSessionID = null; private Integer mtbColtSessionID = null;
public VenditaOrdineInevasoViewModel(VenditaOrdineInevasoActivity activity, ActivityVenditaOrdineInevasoBinding bindings, ArticoliInColloBottomSheetViewModel articoliInColloBottomSheetViewModel, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> orders, List<MtbColt> colliRegistrati) { public VenditaOrdineInevasoViewModel(VenditaOrdineInevasoActivity activity, ActivityVenditaOrdineInevasoBinding bindings, ArticoliInColloBottomSheetViewModel articoliInColloBottomSheetViewModel, List<PickingObjectDTOOld> pickingList, List<OrdineVenditaInevasoDTO> orders, List<MtbColt> colliRegistrati) {
this.mActivity = activity; this.mActivity = activity;
this.mBindings = bindings; this.mBindings = bindings;
this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel; this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel;
@ -533,7 +533,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
barcodeProd = barcodeProd.substring(1); barcodeProd = barcodeProd.substring(1);
} }
this.loadArticolo(barcodeProd, PickingObjectDTO.PickData.fromEan128(ean128Model), progressDialog); this.loadArticolo(barcodeProd, PickingObjectDTOOld.PickData.fromEan128(ean128Model), progressDialog);
} }
@ -555,14 +555,14 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
try { try {
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue()); Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTO.PickData.fromEan128(ean13PesoModel.toEan128()), progressDialog); this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTOOld.PickData.fromEan128(ean13PesoModel.toEan128()), progressDialog);
} catch (Exception ex) { } catch (Exception ex) {
UtilityExceptions.defaultException(mActivity, ex, progressDialog); UtilityExceptions.defaultException(mActivity, ex, progressDialog);
BarcodeManager.enable(); BarcodeManager.enable();
} }
} }
private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, Dialog progressDialog) { private void loadArticolo(String barcodeProd, PickingObjectDTOOld.PickData pickData, Dialog progressDialog) {
if(barcodeProd.length() == 14) { if(barcodeProd.length() == 14) {
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd); barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
} }
@ -607,16 +607,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
private void searchArtFromUL(MtbColt scannedUL, Dialog progressDialog) { private void searchArtFromUL(MtbColt scannedUL, Dialog progressDialog) {
final List<PickingObjectDTO> pickingList = mPickingList; final List<PickingObjectDTOOld> pickingList = mPickingList;
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList) List<PickingObjectDTOOld> matchPickingObject = Stream.of(pickingList)
.filter(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && .filter(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
x.getDataColloS().equals(scannedUL.getDataColloS()) && x.getDataColloS().equals(scannedUL.getDataColloS()) &&
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList(); (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList();
List<String> alreadyMatchedArts = Stream.of(matchPickingObject) List<String> alreadyMatchedArts = Stream.of(matchPickingObject)
.map(PickingObjectDTO::getCodMart).toList(); .map(PickingObjectDTOOld::getCodMart).toList();
//Cerco se devo fare pick dell'articolo tramite codMart perché forse non risulta in nessun collo //Cerco se devo fare pick dell'articolo tramite codMart perché forse non risulta in nessun collo
//if(matchPickingObject != null && matchPickingObject.size() == 0 && scannedUL.getItem() != null && scannedUL.getItem().size() > 0) { //if(matchPickingObject != null && matchPickingObject.size() == 0 && scannedUL.getItem() != null && scannedUL.getItem().size() > 0) {
@ -627,7 +627,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList) List<PickingObjectDTOOld> matchPickingObjectByArt = Stream.of(pickingList)
.filter(x -> //x.getNumCollo() == null && .filter(x -> //x.getNumCollo() == null &&
(listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart()))) (listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
.toList(); .toList();
@ -635,7 +635,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) { if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
for (int i = 0; i < matchPickingObjectByArt.size(); i++) { for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i); PickingObjectDTOOld tmpPickObj = matchPickingObjectByArt.get(i);
@ -655,7 +655,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
MtbColr matchRow = matchWithPartitaMag.get(k); MtbColr matchRow = matchWithPartitaMag.get(k);
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData() PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
.setMtbPartitaMag(matchRow.getRifPartitaMag()) .setMtbPartitaMag(matchRow.getRifPartitaMag())
.setNumCnf(matchRow.getNumCnf()) .setNumCnf(matchRow.getNumCnf())
.setQtaCnf(matchRow.getQtaCnf()) .setQtaCnf(matchRow.getQtaCnf())
@ -670,7 +670,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} else { } else {
for (int i = 0; i < matchPickingObjectByArt.size(); i++) { for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i); PickingObjectDTOOld tmpPickObj = matchPickingObjectByArt.get(i);
List<MtbColr> matchWithColloRow = Stream.of(scannedUL.getMtbColr()) List<MtbColr> matchWithColloRow = Stream.of(scannedUL.getMtbColr())
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList(); .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList();
@ -678,7 +678,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
MtbColr matchRow = matchWithColloRow.get(k); MtbColr matchRow = matchWithColloRow.get(k);
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData() PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
.setMtbPartitaMag(matchRow.getRifPartitaMag()) .setMtbPartitaMag(matchRow.getRifPartitaMag())
.setNumCnf(matchRow.getNumCnf()) .setNumCnf(matchRow.getNumCnf())
.setQtaCnf(matchRow.getQtaCnf()) .setQtaCnf(matchRow.getQtaCnf())
@ -705,18 +705,18 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTO.PickData pickData) { private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTOOld.PickData pickData) {
final List<PickingObjectDTO> pickingList = mPickingList; final List<PickingObjectDTOOld> pickingList = mPickingList;
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList) List<PickingObjectDTOOld> matchPickingObject = Stream.of(pickingList)
.filter(x -> x.getNumCollo() == null && .filter(x -> x.getNumCollo() == null &&
(mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart()))) (mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
.toList(); .toList();
if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) { if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
List<PickingObjectDTO> matchWithPartitaMag = Stream.of(matchPickingObject) List<PickingObjectDTOOld> matchWithPartitaMag = Stream.of(matchPickingObject)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) && .filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
(pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList(); (pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList();
@ -730,7 +730,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
this.loadMatchedRows(matchPickingObject); this.loadMatchedRows(matchPickingObject);
} }
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) { private void loadMatchedRows(List<PickingObjectDTOOld> matchedRows) {
if(matchedRows == null || matchedRows.size() == 0) { if(matchedRows == null || matchedRows.size() == 0) {
DialogCommon.showNoArtFoundDialog(mActivity, null); DialogCommon.showNoArtFoundDialog(mActivity, null);
} else { } else {
@ -1054,7 +1054,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
@Override @Override
public void onOrdineRowDispatch(final PickingObjectDTO item) { public void onOrdineRowDispatch(final PickingObjectDTOOld item) {
if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){ if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){
@ -1122,7 +1122,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
boolean batchLotEnabled = true; boolean batchLotEnabled = true;
if(item.getTempPickData() != null) { if(item.getTempPickData() != null) {
PickingObjectDTO.PickData tmpPickData = item.getTempPickData(); PickingObjectDTOOld.PickData tmpPickData = item.getTempPickData();
if(tmpPickData.getQtaCnf() == null && tmpPickData.getNumCnf() != null && tmpPickData.getQtaTot() != null) { if(tmpPickData.getQtaCnf() == null && tmpPickData.getNumCnf() != null && tmpPickData.getQtaTot() != null) {
tmpPickData.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_EVEN)); tmpPickData.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_EVEN));
@ -1229,7 +1229,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
} }
private void onOrdineRowDispatched(PickingObjectDTO item, QuantityDTO quantityDTO, boolean closeUL){ private void onOrdineRowDispatched(PickingObjectDTOOld item, QuantityDTO quantityDTO, boolean closeUL){
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity); final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
final MtbColr mtbColr = new MtbColr() final MtbColr mtbColr = new MtbColr()
@ -1299,7 +1299,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void addTipoPedanaFromArt(PickingObjectDTO item, MtbColt cloneMtbColt, boolean closeUL, Dialog progress) { private void addTipoPedanaFromArt(PickingObjectDTOOld item, MtbColt cloneMtbColt, boolean closeUL, Dialog progress) {
String codTcol = item.getCodTcol(); String codTcol = item.getCodTcol();
if(codTcol != null) { if(codTcol != null) {
@ -1327,7 +1327,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void onOrdineRowSave(PickingObjectDTO item, MtbColt cloneMtbColt, boolean closeUL, boolean hasTipoCollo, Dialog progress) { private void onOrdineRowSave(PickingObjectDTOOld item, MtbColt cloneMtbColt, boolean closeUL, boolean hasTipoCollo, Dialog progress) {
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {
MtbColr mtbColr = cloneMtbColt.getMtbColr().get(0); MtbColr mtbColr = cloneMtbColt.getMtbColr().get(0);

View File

@ -30,16 +30,20 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
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.rest.model.SitArtOrdDTO;
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.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding; import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter; import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel; import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
@ -59,10 +63,10 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
public BindableBoolean noLUPresent = new BindableBoolean(true); public BindableBoolean noLUPresent = new BindableBoolean(true);
private boolean mFlashShowCodForn; private boolean mFlagShowCodForn;
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
private ArrayList<PickingObjectDTO> mPickingList; private ArrayList<SitArtOrdDTO> mSitArtOrd;
private ArrayList<OrdineVenditaInevasoDTO> mTestateOrdini; private ArrayList<OrdineVenditaInevasoDTO> mTestateOrdini;
private ArrayList<MtbColt> mColliRegistrati; private ArrayList<MtbColt> mColliRegistrati;
@ -72,7 +76,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
mPickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList")); mSitArtOrd = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini")); mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati")); mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
@ -91,7 +95,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
mFlashShowCodForn = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE); mFlagShowCodForn = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE);
mBindings.setLifecycleOwner(this); mBindings.setLifecycleOwner(this);
mBindings.setSpedizioneView(this); mBindings.setSpedizioneView(this);
@ -101,7 +105,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mViewmodel.setDataset(codMdep, mPickingList, mTestateOrdini); mViewmodel.loadDataset(codMdep, mSitArtOrd, mTestateOrdini);
} }
@Override @Override
@ -117,7 +121,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
} }
private void initRecyclerView() { private void initRecyclerView() {
this.mViewmodel.getmPickingList().observe(this, updatedData -> { this.mViewmodel.getPickingList().observe(this, updatedData -> {
this.mSpedizioneMutableData.clear(); this.mSpedizioneMutableData.clear();
this.mSpedizioneMutableData.addAll(convertDataModelToListModel(updatedData)); this.mSpedizioneMutableData.addAll(convertDataModelToListModel(updatedData));
this.noItemsToPick.set(!isThereAnyItemToPick(updatedData)); this.noItemsToPick.set(!isThereAnyItemToPick(updatedData));
@ -138,18 +142,18 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
private List<SpedizioneListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) { private List<SpedizioneListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<PickingObjectDTO> tmpList = Stream.of(dataList) List<PickingObjectDTO> tmpList = Stream.of(dataList)
.filter(x -> (x.isHidden() == null || !x.isHidden()) && (x.isTempHidden() == null || !x.isTempHidden())) .filter(x -> !x.isHidden())
.toList(); .toList();
List<PickingObjectDTO> sortedList = Stream.of(tmpList) List<PickingObjectDTO> sortedList = Stream.of(tmpList)
.filter(x -> !x.isDeactivated() && !UtilityString.isNullOrEmpty(x.getPosizione())) .filter(x -> !x.isDeactivated() && (x.getMtbColt() != null && !UtilityString.isNullOrEmpty(x.getMtbColt().getPosizione())))
.sortBy(PickingObjectDTO::getPosizione) .sortBy(x -> x.getMtbColt().getPosizione())
.toList(); .toList();
sortedList.addAll( sortedList.addAll(
Stream.of(tmpList) Stream.of(tmpList)
.filter(x -> !x.isDeactivated() && UtilityString.isNullOrEmpty(x.getPosizione())) .filter(x -> !x.isDeactivated() && x.getMtbColt() == null || (x.getMtbColt() != null && UtilityString.isNullOrEmpty(x.getMtbColt().getPosizione())))
.toList() .toList()
); );
@ -167,48 +171,49 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
if (x.isDeactivated()) { if (x.isDeactivated()) {
spedizioneListModel.setGroupTitle(getString(R.string.picking_not_available)); spedizioneListModel.setGroupTitle(getString(R.string.picking_not_available));
} else { } else {
spedizioneListModel.setGroupTitle(String.format("%s: %s", getString(R.string.position_text), UtilityString.isNullOrEmpty(x.getPosizione()) ? "N.A." : x.getPosizione())); spedizioneListModel.setGroupTitle(String.format("%s: %s", getString(R.string.position_text), x.getMtbColt() == null || UtilityString.isNullOrEmpty(x.getMtbColt().getPosizione()) ? "N.A." : x.getMtbColt().getPosizione()));
} }
spedizioneListModel.setActive(!x.isDeactivated()); spedizioneListModel.setActive(!x.isDeactivated());
String badge1 = ""; String badge1 = "";
if (mFlashShowCodForn) { if (mFlagShowCodForn) {
badge1 += !UtilityString.isNullOrEmpty(x.getCodAlis()) ? (x.getCodAlis() + " - ") : ""; badge1 += !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodAlis()) ? (x.getSitArtOrdDTO().getCodAlis() + " - ") : "";
badge1 += (!UtilityString.isNullOrEmpty(x.getCodArtFor()) ? x.getCodArtFor() : x.getCodMart()); badge1 += (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodArtFor()) ? x.getSitArtOrdDTO().getCodArtFor() : x.getMtbAart().getCodMart());
} else { } else {
badge1 += x.getCodMart(); badge1 += x.getMtbAart().getCodMart();
} }
spedizioneListModel.setBadge1(badge1); spedizioneListModel.setBadge1(badge1);
spedizioneListModel.setBadge2(x.getCodJcom()); spedizioneListModel.setBadge2(x.getSitArtOrdDTO().getCodJcom());
if (UtilityString.isNullOrEmpty(x.getDescrizioneEstesa())) { if (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa())) {
spedizioneListModel.setDescrizione(getString(R.string.no_description)); spedizioneListModel.setDescrizione(getString(R.string.no_description));
spedizioneListModel.setDescrizionePresente(false); spedizioneListModel.setDescrizionePresente(false);
} else { } else {
spedizioneListModel.setDescrizione(x.getDescrizioneEstesa()); spedizioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
spedizioneListModel.setDescrizionePresente(true); spedizioneListModel.setDescrizionePresente(true);
} }
if (!UtilityString.isNullOrEmpty(x.getPartitaMag())) { MtbColr mtbColrToDispatch = x.getMtbColt() != null && x.getMtbColt().getMtbColr() != null && x.getMtbColt().getMtbColr().size() > 0 ? x.getMtbColt().getMtbColr().get(0) : null;
spedizioneListModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), x.getPartitaMag())); if (mtbColrToDispatch != null && !UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) {
spedizioneListModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag()));
} }
if (x.getNumCollo() != null) { if (x.getMtbColt() != null) {
spedizioneListModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), x.getNumCollo(), x.getDataColloHuman())); spedizioneListModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), x.getMtbColt().getNumCollo(), UtilityDate.formatDate(x.getMtbColt().getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
} }
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().getFlagQtaCnfFissaBoolean())) { if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().getFlagQtaCnfFissaBoolean())) {
spedizioneListModel.setUntMis("col"); spedizioneListModel.setUntMis("col");
spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getNumCnfCollo() : x.getNumCnfOrd()); spedizioneListModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd());
} else { } else {
spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getQtaCollo() : x.getQtaOrd()); spedizioneListModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getQtaCol() : x.getSitArtOrdDTO().getQtaOrd());
if (x.getMtbAart() != null) if (x.getMtbAart() != null)
spedizioneListModel.setUntMis(x.getMtbAart().getUntMis()); spedizioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
spedizioneListModel.setOriginalModel(x); // spedizioneListModel.setOriginalModel(x);
return spedizioneListModel; return spedizioneListModel;
}).toList(); }).toList();
@ -216,7 +221,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) { private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
return Stream.of(dataList) return Stream.of(dataList)
.anyMatch(x -> !x.isHidden() && !x.isTempHidden()); .anyMatch(x -> !x.isHidden());
} }
private RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> { private RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {

View File

@ -6,14 +6,15 @@ import dagger.Module;
import dagger.Provides; import dagger.Provides;
import it.integry.integrywmsnative.MainApplicationModule; import it.integry.integrywmsnative.MainApplicationModule;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
@Module(includes = {MainApplicationModule.class}) @Module(includes = {MainApplicationModule.class})
public class SpedizioneModule { public class SpedizioneModule {
@Provides @Provides
@Singleton @Singleton
SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService) { SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer) {
return new SpedizioneViewModel(colliDataRecoverService); return new SpedizioneViewModel(colliDataRecoverService, ordiniRESTConsumer);
} }
} }

View File

@ -2,51 +2,51 @@ package it.integry.integrywmsnative.gest.spedizione_new;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.annimon.stream.function.Function;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
import javax.inject.Inject; import javax.inject.Inject;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal; import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.FiltroOrdineDTO; import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
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.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoArtsFoundException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoArtsFoundException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoLUFoundException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoLUFoundException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoOrdersSelectedException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoOrdersSelectedException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoResultFromBarcodeException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoResultFromBarcodeException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NotCurrentYearLUException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NotCurrentYearLUException;
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.ScannedPositionNotExistException; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.ScannedPositionNotExistException;
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class SpedizioneViewModel { public class SpedizioneViewModel {
@ -69,22 +69,52 @@ public class SpedizioneViewModel {
private Integer mMtbColtSessionID; private Integer mMtbColtSessionID;
private final ColliDataRecoverService mColliDataRecoverService; private final ColliDataRecoverService mColliDataRecoverService;
private final OrdiniRESTConsumer mOrdiniRestConsumerService;
@Inject @Inject
public SpedizioneViewModel(ColliDataRecoverService colliDataRecoverService) { public SpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer) {
this.mColliDataRecoverService = colliDataRecoverService; this.mColliDataRecoverService = colliDataRecoverService;
this.mOrdiniRestConsumerService = ordiniRESTConsumer;
} }
public void setDataset(String codMdep, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) { public void loadDataset(String codMdep, List<SitArtOrdDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) {
this.mDefaultCodMdep = codMdep; this.mDefaultCodMdep = codMdep;
this.mPickingList.postValue(pickingList);
this.mTestateOrdini = testateOrdini; this.mTestateOrdini = testateOrdini;
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
this.mPickingList.postValue(pickingObjectList);
}, ex -> this.sendError(new OrdersLoadException()));
// getEmptyPickingList(pickingList, pickingObjectList -> {
// this.mPickingList.postValue(pickingObjectList);
// });
this.initDefaultVars(); this.initDefaultVars();
} }
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
List<String> codMarts = Stream.of(sitArtOrdList)
.map(SitArtOrdDTO::getCodMart)
.toList();
ArticoloRESTConsumer.getByCodMart(codMarts, listMtbAarts -> {
onComplete.run(Stream.of(sitArtOrdList)
.map(sitArtOrdDTO -> {
MtbAart mtbAart = Stream.of(listMtbAarts)
.filter(x -> x.getCodMart().equalsIgnoreCase(sitArtOrdDTO.getCodMart()))
.single();
return new PickingObjectDTO()
.setSitArtOrdDTO(sitArtOrdDTO)
.setMtbAart(mtbAart);
})
.toList());
}, this::sendError);
}
private void initDefaultVars() { private void initDefaultVars() {
if (this.mTestateOrdini == null || this.mTestateOrdini.size() == 0) { if (this.mTestateOrdini == null || this.mTestateOrdini.size() == 0) {
sendError(new NoOrdersSelectedException()); sendError(new NoOrdersSelectedException());
@ -355,7 +385,7 @@ public class SpedizioneViewModel {
barcodeProd = barcodeProd.substring(1); barcodeProd = barcodeProd.substring(1);
} }
this.loadArticolo(barcodeProd, PickingObjectDTO.PickData.fromEan128(ean128Model), onComplete); this.loadArticolo(barcodeProd, PickingObjectDTOOld.PickData.fromEan128(ean128Model), onComplete);
} }
@ -373,13 +403,13 @@ public class SpedizioneViewModel {
try { try {
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue()); Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTO.PickData.fromEan128(ean13PesoModel.toEan128()), onComplete); this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTOOld.PickData.fromEan128(ean13PesoModel.toEan128()), onComplete);
} catch (Exception ex) { } catch (Exception ex) {
this.sendError(ex); this.sendError(ex);
} }
} }
private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, Runnable onComplete) { private void loadArticolo(String barcodeProd, PickingObjectDTOOld.PickData pickData, Runnable onComplete) {
if (barcodeProd.length() == 14) { if (barcodeProd.length() == 14) {
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd); barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
} }
@ -401,119 +431,117 @@ public class SpedizioneViewModel {
final List<PickingObjectDTO> pickingList = mPickingList.getValue(); final List<PickingObjectDTO> pickingList = mPickingList.getValue();
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList) // List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
.filter(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && // .filter(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
x.getDataColloS().equals(scannedUL.getDataColloS()) && // x.getDataColloS().equals(scannedUL.getDataColloS()) &&
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && // x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList(); // (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList();
//
List<String> alreadyMatchedArts = Stream.of(matchPickingObject) // List<String> alreadyMatchedArts = Stream.of(matchPickingObject)
.map(PickingObjectDTO::getCodMart).toList(); // .map(PickingObjectDTO::getCodMart).toList();
//
//Cerco se devo fare pick dell'articolo tramite codMart perché forse non risulta in nessun collo // //Cerco se devo fare pick dell'articolo tramite codMart perché forse non risulta in nessun collo
//if(matchPickingObject != null && matchPickingObject.size() == 0 && scannedUL.getItem() != null && scannedUL.getItem().size() > 0) { // List<String> listOfCodMartsInRowCollo = Stream.of(scannedUL.getMtbColr())
List<String> listOfCodMartsInRowCollo = Stream.of(scannedUL.getMtbColr()) // .map(MtbColr::getCodMart)
.map(MtbColr::getCodMart) // .withoutNulls()
.withoutNulls() // .toList();
.toList(); //
//
// List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList)
List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList) // .filter(x -> //x.getNumCollo() == null &&
.filter(x -> //x.getNumCollo() == null && // (listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
(listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart()))) // .toList();
.toList(); //
//
// if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) { // for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
for (int i = 0; i < matchPickingObjectByArt.size(); i++) { // PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i); //
//
// List<MtbColr> matchWithPartitaMag = Stream.of(scannedUL.getMtbColr())
List<MtbColr> matchWithPartitaMag = Stream.of(scannedUL.getMtbColr()) // .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) &&
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) && // Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList();
Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList(); //
// boolean anyMatch = matchWithPartitaMag.size() > 0;
boolean anyMatch = matchWithPartitaMag.size() > 0; //
// if (!anyMatch) {
if (!anyMatch) { // matchPickingObjectByArt.remove(i);
matchPickingObjectByArt.remove(i); // i--;
i--; // } else {
} else { //
// for (int k = 0; k < matchWithPartitaMag.size(); k++) {
for (int k = 0; k < matchWithPartitaMag.size(); k++) { //
//
// MtbColr matchRow = matchWithPartitaMag.get(k);
MtbColr matchRow = matchWithPartitaMag.get(k); //
// PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData() // .setMtbPartitaMag(matchRow.getRifPartitaMag())
.setMtbPartitaMag(matchRow.getRifPartitaMag()) // .setNumCnf(matchRow.getNumCnf())
.setNumCnf(matchRow.getNumCnf()) // .setQtaCnf(matchRow.getQtaCnf())
.setQtaCnf(matchRow.getQtaCnf()) // .setQtaTot(matchRow.getQtaCol())
.setQtaTot(matchRow.getQtaCol()) // .setSourceMtbColt(scannedUL);
.setSourceMtbColt(scannedUL); //
// tmpPickObj.setTempPickData(pickData);
tmpPickObj.setTempPickData(pickData); // }
} // }
} // }
} //
// } else {
} else { // for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
for (int i = 0; i < matchPickingObjectByArt.size(); i++) { //
// PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i); // List<MtbColr> matchWithColloRow = Stream.of(scannedUL.getMtbColr())
List<MtbColr> matchWithColloRow = Stream.of(scannedUL.getMtbColr()) // .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList();
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList(); //
// for (int k = 0; k < matchWithColloRow.size(); k++) {
for (int k = 0; k < matchWithColloRow.size(); k++) { //
//
// MtbColr matchRow = matchWithColloRow.get(k);
MtbColr matchRow = matchWithColloRow.get(k); // PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData() // .setMtbPartitaMag(matchRow.getRifPartitaMag())
.setMtbPartitaMag(matchRow.getRifPartitaMag()) // .setNumCnf(matchRow.getNumCnf())
.setNumCnf(matchRow.getNumCnf()) // .setQtaCnf(matchRow.getQtaCnf())
.setQtaCnf(matchRow.getQtaCnf()) // .setQtaTot(matchRow.getQtaCol())
.setQtaTot(matchRow.getQtaCol()) // .setSourceMtbColt(scannedUL);
.setSourceMtbColt(scannedUL); //
// tmpPickObj.setTempPickData(pickData);
tmpPickObj.setTempPickData(pickData); // }
} //
// }
} // }
} //
//
// matchPickingObject.addAll(matchPickingObjectByArt);
//} //
matchPickingObject.addAll(matchPickingObjectByArt); // this.loadMatchedRows(matchPickingObject);
this.loadMatchedRows(matchPickingObject);
onComplete.run(); onComplete.run();
} }
private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTO.PickData pickData, Runnable onComplete) { private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTOOld.PickData pickData, Runnable onComplete) {
final List<PickingObjectDTO> pickingList = mPickingList.getValue(); final List<PickingObjectDTO> pickingList = mPickingList.getValue();
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList) // List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
.filter(x -> x.getNumCollo() == null && // .filter(x -> x.getNumCollo() == null &&
(mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart()))) // (mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
.toList(); // .toList();
//
//
if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) { // if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
matchPickingObject = Stream.of(matchPickingObject) // matchPickingObject = Stream.of(matchPickingObject)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) && // .filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
(pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList(); // (pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList();
//
} // }
//
if (matchPickingObject.size() == 1) { // if (matchPickingObject.size() == 1) {
matchPickingObject.get(0).setTempPickData(pickData); // matchPickingObject.get(0).setTempPickData(pickData);
} // }
//
this.loadMatchedRows(matchPickingObject); // this.loadMatchedRows(matchPickingObject);
onComplete.run(); onComplete.run();
} }
@ -523,51 +551,51 @@ public class SpedizioneViewModel {
if (matchedRows == null || matchedRows.size() == 0) { if (matchedRows == null || matchedRows.size() == 0) {
this.sendError(new NoArtsFoundException()); this.sendError(new NoArtsFoundException());
} else { } else {
List<PickingObjectDTO> pickingList = mPickingList.getValue(); // List<PickingObjectDTO> pickingList = mPickingList.getValue();
//
for (int i = 0; i < pickingList.size(); i++) { // for (int i = 0; i < pickingList.size(); i++) {
if (!matchedRows.contains(pickingList.get(i))) { // if (!matchedRows.contains(pickingList.get(i))) {
pickingList.get(i).setTempHidden(true); // pickingList.get(i).setTempHidden(true);
} // }
} // }
//
if (matchedRows.size() == 1) { // if (matchedRows.size() == 1) {
//
if (matchedRows.get(0).getTempPickData() != null && // if (matchedRows.get(0).getTempPickData() != null &&
matchedRows.get(0).getTempPickData().getSourceMtbColt() != null) { // matchedRows.get(0).getTempPickData().getSourceMtbColt() != null) {
//
// MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt(); //// MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt();
//
// if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) && //// if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) &&
// tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() && //// tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() &&
// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) && //// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) { //// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
//
dispatchOrdineRow(matchedRows.get(0)); // dispatchOrdineRow(matchedRows.get(0));
// } else { //// } else {
// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in //// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
// //automatico ma ti mostro il filtro //// //automatico ma ti mostro il filtro
// applyFilter(""); //// applyFilter("");
// refreshOrderBy(false); //// refreshOrderBy(false);
// } //// }
//
} else if (matchedRows.get(0).isDeactivated()) { // } else if (matchedRows.get(0).isDeactivated()) {
this.sendFilterChanged(""); // this.sendFilterChanged("");
// applyFilter(""); //// applyFilter("");
// refreshOrderBy(false); //// refreshOrderBy(false);
} else { // } else {
dispatchOrdineRow(matchedRows.get(0)); // dispatchOrdineRow(matchedRows.get(0));
} // }
} else { // } else {
this.sendFilterChanged(""); // this.sendFilterChanged("");
// applyFilter(""); //// applyFilter("");
// refreshOrderBy(false); //// refreshOrderBy(false);
} // }
} }
} }
public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) { public void dispatchOrdineRow(final PickingObjectDTOOld pickingObjectDTO) {
BigDecimal totalQtaOrd = pickingObjectDTO.getQtaOrd(); BigDecimal totalQtaOrd = pickingObjectDTO.getQtaOrd();
BigDecimal totalNumCnfOrd = pickingObjectDTO.getNumCnfOrd(); BigDecimal totalNumCnfOrd = pickingObjectDTO.getNumCnfOrd();
@ -590,7 +618,7 @@ public class SpedizioneViewModel {
BigDecimal totalQtaAvailable = null; BigDecimal totalQtaAvailable = null;
BigDecimal totalNumCnfAvailable = null; BigDecimal totalNumCnfAvailable = null;
if(pickingObjectDTO.getNumCollo() != null) { if (pickingObjectDTO.getNumCollo() != null) {
numCnfDaPrelevare = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue()); numCnfDaPrelevare = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue());
qtaColDaPrelevare = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue()); qtaColDaPrelevare = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue());
qtaCnfDaPrelevare = pickingObjectDTO.getQtaCnfCollo(); qtaCnfDaPrelevare = pickingObjectDTO.getQtaCnfCollo();
@ -650,7 +678,7 @@ public class SpedizioneViewModel {
} }
public MutableLiveData<List<PickingObjectDTO>> getmPickingList() { public MutableLiveData<List<PickingObjectDTO>> getPickingList() {
return mPickingList; return mPickingList;
} }

View File

@ -1,6 +1,5 @@
package it.integry.integrywmsnative.gest.spedizione_new.core; package it.integry.integrywmsnative.gest.spedizione_new.core;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.text.Html; import android.text.Html;
@ -12,32 +11,21 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList; import androidx.databinding.ObservableList;
import androidx.lifecycle.MutableLiveData;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback; import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding; import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding; import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<SpedizioneListAdapter.SubheaderHolder, SpedizioneListAdapter.SingleItemViewHolder> { public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<SpedizioneListAdapter.SubheaderHolder, SpedizioneListAdapter.SingleItemViewHolder> {
@ -45,7 +33,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
private Context mContext; private Context mContext;
private List<SpedizioneListModel> mDataset = new ArrayList<>(); private List<SpedizioneListModel> mDataset = new ArrayList<>();
private RunnableArgs<PickingObjectDTO> mOnItemClicked; private RunnableArgs<PickingObjectDTOOld> mOnItemClicked;
static class SubheaderHolder extends RecyclerView.ViewHolder { static class SubheaderHolder extends RecyclerView.ViewHolder {
@ -83,7 +71,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
}); });
} }
public void setOnItemClicked(RunnableArgs<PickingObjectDTO> onItemClicked) { public void setOnItemClicked(RunnableArgs<PickingObjectDTOOld> onItemClicked) {
this.mOnItemClicked = onItemClicked; this.mOnItemClicked = onItemClicked;
} }

View File

@ -2,7 +2,7 @@ package it.integry.integrywmsnative.gest.spedizione_new.core;
import java.math.BigDecimal; import java.math.BigDecimal;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class SpedizioneListModel { public class SpedizioneListModel {
@ -21,7 +21,7 @@ public class SpedizioneListModel {
private boolean active; private boolean active;
private PickingObjectDTO mOriginalModel; private PickingObjectDTOOld mOriginalModel;
public String getGroupTitle() { public String getGroupTitle() {
return groupTitle; return groupTitle;
@ -122,11 +122,11 @@ public class SpedizioneListModel {
return this; return this;
} }
public PickingObjectDTO getOriginalModel() { public PickingObjectDTOOld getOriginalModel() {
return mOriginalModel; return mOriginalModel;
} }
public SpedizioneListModel setOriginalModel(PickingObjectDTO originalModel) { public SpedizioneListModel setOriginalModel(PickingObjectDTOOld originalModel) {
this.mOriginalModel = originalModel; this.mOriginalModel = originalModel;
return this; return this;
} }

View File

@ -0,0 +1,9 @@
package it.integry.integrywmsnative.gest.spedizione_new.exceptions;
public class OrdersLoadException extends Exception {
public OrdersLoadException() {
super("Errore durante il caricamento degli ordini");
}
}

View File

@ -0,0 +1,66 @@
package it.integry.integrywmsnative.gest.spedizione_new.model;
import java.math.BigDecimal;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
public class PickingObjectDTO {
private SitArtOrdDTO sitArtOrdDTO;
private MtbAart mtbAart;
private MtbColt mtbColt;
// private BigDecimal qtaDisponibileCollo;
// private BigDecimal numCnfDisponibileCollo;
private boolean hidden = false;
private boolean deactivated = false;
public SitArtOrdDTO getSitArtOrdDTO() {
return sitArtOrdDTO;
}
public PickingObjectDTO setSitArtOrdDTO(SitArtOrdDTO sitArtOrdDTO) {
this.sitArtOrdDTO = sitArtOrdDTO;
return this;
}
public MtbAart getMtbAart() {
return mtbAart;
}
public PickingObjectDTO setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart;
return this;
}
public MtbColt getMtbColt() {
return mtbColt;
}
public PickingObjectDTO setMtbColt(MtbColt mtbColt) {
this.mtbColt = mtbColt;
return this;
}
public boolean isHidden() {
return hidden;
}
public PickingObjectDTO setHidden(boolean hidden) {
this.hidden = hidden;
return this;
}
public boolean isDeactivated() {
return deactivated;
}
public PickingObjectDTO setDeactivated(boolean deactivated) {
this.deactivated = deactivated;
return this;
}
}

View File

@ -33,6 +33,8 @@ import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment; import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
@ -45,9 +47,7 @@ import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato; import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzato;
import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzatoViewModel; import it.integry.integrywmsnative.gest.vendita.dialogs.DialogVenditaFiltroAvanzatoViewModel;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.viewmodel.VenditaViewModel; import it.integry.integrywmsnative.gest.vendita.viewmodel.VenditaViewModel;
import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -215,14 +215,41 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
final String finalDataCons = dataCons; final String finalDataCons = dataCons;
checkSelectedOrders(selectedOrders, () -> { checkSelectedOrders(selectedOrders, () -> {
RunnableArgs<List<PickingObjectDTO>> onPostGetPickingList = ordini -> { // RunnableArgs<List<PickingObjectDTO>> onPostGetPickingList = ordini -> {
//
// mHelper.getBancaliVenditaGiaRegistrati(selectedOrders, mtbColtList -> {
// progress.dismiss();
//
// List<String> codMarts = Stream.of(ordini)
// .distinctBy(PickingObjectDTO::getCodMart)
// .map(PickingObjectDTO::getCodMart)
// .toList();
//
// int alreadyRegisteredUL = mtbColtList.size();
//
//
// DialogSimpleMessageHelper.makeInfoDialog(getActivity(),
// getText(R.string.orders).toString(),
// Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, selectedOrders.size()), selectedOrders.size())
// + "<br />" +
// "<b>" + codMarts.size() + "</b> " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
// + "<br />" +
// "<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
// null,
// () -> startVenditaActivity(ordini, selectedOrders, mtbColtList)
// ).show();
//
// }, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
//
// };
RunnableArgs<List<SitArtOrdDTO>> onPostGetListaArts = sitArtsDTO -> {
mHelper.getBancaliVenditaGiaRegistrati(selectedOrders, mtbColtList -> { mHelper.getBancaliVenditaGiaRegistrati(selectedOrders, mtbColtList -> {
progress.dismiss(); progress.dismiss();
List<String> codMarts = Stream.of(ordini) List<String> codMarts = Stream.of(sitArtsDTO)
.distinctBy(PickingObjectDTO::getCodMart) .distinctBy(SitArtOrdDTO::getCodMart)
.map(PickingObjectDTO::getCodMart) .map(SitArtOrdDTO::getCodMart)
.toList(); .toList();
int alreadyRegisteredUL = mtbColtList.size(); int alreadyRegisteredUL = mtbColtList.size();
@ -236,22 +263,21 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
+ "<br />" + + "<br />" +
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)), "<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
null, null,
() -> startVenditaActivity(ordini, selectedOrders, mtbColtList) () -> startVenditaActivity(sitArtsDTO, selectedOrders, mtbColtList)
).show(); ).show();
}, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress)); }, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
}; };
if(SettingsManager.iDB().isFlagUseNewPickingListSpedizione()) { OrdiniRESTConsumer.retrieveListaArticoliFromOrdiniVendita(selectedOrders, onPostGetListaArts, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
mHelper.retrievePickingListNew(selectedOrders, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
} else {
mHelper.retrievePickingList(barcodes, finalDataCons, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
}
}, () -> { // if(SettingsManager.iDB().isFlagUseNewPickingListSpedizione()) {
progress.dismiss(); // mHelper.retrievePickingListNew(selectedOrders, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
}); // } else {
// mHelper.retrievePickingList(barcodes, finalDataCons, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
// }
}, progress::dismiss);
} }
@Override @Override
@ -358,8 +384,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
} }
} }
private void startVenditaActivity(List<PickingObjectDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) { private void startVenditaActivity(List<SitArtOrdDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
// Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class); Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class);
String keyPickingList = DataCache.addItem(ordini); String keyPickingList = DataCache.addItem(ordini);

View File

@ -28,7 +28,7 @@ import it.integry.integrywmsnative.core.utility.UtilityFirebase;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO; import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService; import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
@ -85,7 +85,9 @@ public class VenditaHelper {
public void retrievePickingList(List<String> barcodeOrdini, String dateCons, RunnableArgs<List<PickingObjectDTO>> onComplete, RunnableArgs<Exception> onFailed){
public void retrievePickingList(List<String> barcodeOrdini, String dateCons, RunnableArgs<List<PickingObjectDTOOld>> onComplete, RunnableArgs<Exception> onFailed){
String codMdep = SettingsManager.i().userSession.depo.getCodMdep(); String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
String joinedBarcodes = TextUtils.join(",", barcodeOrdini); String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
@ -97,9 +99,9 @@ public class VenditaHelper {
codMdep = SettingsManager.iDB().isFlagEnableCheckDepositoSpedizione() ? codMdep : null; codMdep = SettingsManager.iDB().isFlagEnableCheckDepositoSpedizione() ? codMdep : null;
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() { service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTOOld>>>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) { public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Response<ServiceRESTResponse<List<PickingObjectDTOOld>>> response) {
if(response.isSuccessful()) { if(response.isSuccessful()) {
if(response.body() != null) { if(response.body() != null) {
@ -122,7 +124,7 @@ public class VenditaHelper {
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Throwable t) {
UtilityFirebase.stopPerformanceTrace(perfTrace, true); UtilityFirebase.stopPerformanceTrace(perfTrace, true);
onFailed.run(new Exception(t)); onFailed.run(new Exception(t));
} }
@ -130,7 +132,7 @@ public class VenditaHelper {
} }
public void retrievePickingListNew(List<OrdineVenditaInevasoDTO> orders, RunnableArgs<List<PickingObjectDTO>> onComplete, RunnableArgs<Exception> onFailed){ public void retrievePickingListNew(List<OrdineVenditaInevasoDTO> orders, RunnableArgs<List<PickingObjectDTOOld>> onComplete, RunnableArgs<Exception> onFailed){
String codMdep = SettingsManager.i().userSession.depo.getCodMdep(); String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
List<GetPickingListDTO> getPickingListDTOs = Stream.of(orders) List<GetPickingListDTO> getPickingListDTOs = Stream.of(orders)
@ -149,9 +151,9 @@ public class VenditaHelper {
codMdep = SettingsManager.iDB().isFlagEnableCheckDepositoSpedizione() ? codMdep : null; codMdep = SettingsManager.iDB().isFlagEnableCheckDepositoSpedizione() ? codMdep : null;
service.getPickingListNew(codMdep, getPickingListDTOs).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() { service.getPickingListNew(codMdep, getPickingListDTOs).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTOOld>>>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) { public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Response<ServiceRESTResponse<List<PickingObjectDTOOld>>> response) {
if(response.isSuccessful()) { if(response.isSuccessful()) {
if(response.body() != null) { if(response.body() != null) {
@ -174,7 +176,7 @@ public class VenditaHelper {
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> call, Throwable t) {
UtilityFirebase.stopPerformanceTrace(perfTrace, true); UtilityFirebase.stopPerformanceTrace(perfTrace, true);
onFailed.run(new Exception(t)); onFailed.run(new Exception(t));
} }

View File

@ -14,7 +14,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
public class PickingObjectDTO { public class PickingObjectDTOOld {
private Integer numCollo; private Integer numCollo;
private String gestione; private String gestione;
@ -53,7 +53,7 @@ public class PickingObjectDTO {
return numCollo; return numCollo;
} }
public PickingObjectDTO setNumCollo(Integer numCollo) { public PickingObjectDTOOld setNumCollo(Integer numCollo) {
this.numCollo = numCollo; this.numCollo = numCollo;
return this; return this;
} }
@ -62,7 +62,7 @@ public class PickingObjectDTO {
return gestione; return gestione;
} }
public PickingObjectDTO setGestione(String gestione) { public PickingObjectDTOOld setGestione(String gestione) {
this.gestione = gestione; this.gestione = gestione;
return this; return this;
} }
@ -71,7 +71,7 @@ public class PickingObjectDTO {
return serCollo; return serCollo;
} }
public PickingObjectDTO setSerCollo(String serCollo) { public PickingObjectDTOOld setSerCollo(String serCollo) {
this.serCollo = serCollo; this.serCollo = serCollo;
return this; return this;
} }
@ -80,7 +80,7 @@ public class PickingObjectDTO {
return descrizioneEstesa; return descrizioneEstesa;
} }
public PickingObjectDTO setDescrizioneEstesa(String descrizioneEstesa) { public PickingObjectDTOOld setDescrizioneEstesa(String descrizioneEstesa) {
this.descrizioneEstesa = descrizioneEstesa; this.descrizioneEstesa = descrizioneEstesa;
return this; return this;
} }
@ -89,7 +89,7 @@ public class PickingObjectDTO {
return codJcom; return codJcom;
} }
public PickingObjectDTO setCodJcom(String codJcom) { public PickingObjectDTOOld setCodJcom(String codJcom) {
this.codJcom = codJcom; this.codJcom = codJcom;
return this; return this;
} }
@ -98,7 +98,7 @@ public class PickingObjectDTO {
return codMart; return codMart;
} }
public PickingObjectDTO setCodMart(String codMart) { public PickingObjectDTOOld setCodMart(String codMart) {
this.codMart = codMart; this.codMart = codMart;
return this; return this;
} }
@ -107,7 +107,7 @@ public class PickingObjectDTO {
return posizione; return posizione;
} }
public PickingObjectDTO setPosizione(String posizione) { public PickingObjectDTOOld setPosizione(String posizione) {
this.posizione = posizione; this.posizione = posizione;
return this; return this;
} }
@ -116,7 +116,7 @@ public class PickingObjectDTO {
return qtaCollo != null ? qtaCollo : BigDecimal.ZERO; return qtaCollo != null ? qtaCollo : BigDecimal.ZERO;
} }
public PickingObjectDTO setQtaCollo(BigDecimal qtaCollo) { public PickingObjectDTOOld setQtaCollo(BigDecimal qtaCollo) {
this.qtaCollo = qtaCollo; this.qtaCollo = qtaCollo;
return this; return this;
} }
@ -142,7 +142,7 @@ public class PickingObjectDTO {
} else return null; } else return null;
} }
public PickingObjectDTO setDataCollo(String dataCollo) { public PickingObjectDTOOld setDataCollo(String dataCollo) {
this.dataCollo = dataCollo; this.dataCollo = dataCollo;
return this; return this;
} }
@ -151,7 +151,7 @@ public class PickingObjectDTO {
return idViaggio; return idViaggio;
} }
public PickingObjectDTO setIdViaggio(Integer idViaggio) { public PickingObjectDTOOld setIdViaggio(Integer idViaggio) {
this.idViaggio = idViaggio; this.idViaggio = idViaggio;
return this; return this;
} }
@ -160,7 +160,7 @@ public class PickingObjectDTO {
return codTagl; return codTagl;
} }
public PickingObjectDTO setCodTagl(String codTagl) { public PickingObjectDTOOld setCodTagl(String codTagl) {
this.codTagl = codTagl; this.codTagl = codTagl;
return this; return this;
} }
@ -169,7 +169,7 @@ public class PickingObjectDTO {
return codCol; return codCol;
} }
public PickingObjectDTO setCodCol(String codCol) { public PickingObjectDTOOld setCodCol(String codCol) {
this.codCol = codCol; this.codCol = codCol;
return this; return this;
} }
@ -182,7 +182,7 @@ public class PickingObjectDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS()); return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
} }
public PickingObjectDTO setDataScad(String dataScad) { public PickingObjectDTOOld setDataScad(String dataScad) {
this.dataScad = dataScad; this.dataScad = dataScad;
return this; return this;
} }
@ -191,7 +191,7 @@ public class PickingObjectDTO {
return codArtFor; return codArtFor;
} }
public PickingObjectDTO setCodArtFor(String codArtFor) { public PickingObjectDTOOld setCodArtFor(String codArtFor) {
this.codArtFor = codArtFor; this.codArtFor = codArtFor;
return this; return this;
} }
@ -200,7 +200,7 @@ public class PickingObjectDTO {
return partitaMag; return partitaMag;
} }
public PickingObjectDTO setPartitaMag(String partitaMag) { public PickingObjectDTOOld setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag; this.partitaMag = partitaMag;
return this; return this;
} }
@ -209,7 +209,7 @@ public class PickingObjectDTO {
return qtaOrd != null ? qtaOrd : BigDecimal.ZERO; return qtaOrd != null ? qtaOrd : BigDecimal.ZERO;
} }
public PickingObjectDTO setQtaOrd(BigDecimal qtaOrd) { public PickingObjectDTOOld setQtaOrd(BigDecimal qtaOrd) {
this.qtaOrd = qtaOrd; this.qtaOrd = qtaOrd;
return this; return this;
} }
@ -218,7 +218,7 @@ public class PickingObjectDTO {
return numCnfCollo; return numCnfCollo;
} }
public PickingObjectDTO setNumCnfCollo(BigDecimal numCnfCollo) { public PickingObjectDTOOld setNumCnfCollo(BigDecimal numCnfCollo) {
this.numCnfCollo = numCnfCollo; this.numCnfCollo = numCnfCollo;
return this; return this;
} }
@ -227,7 +227,7 @@ public class PickingObjectDTO {
return numCnfOrd; return numCnfOrd;
} }
public PickingObjectDTO setNumCnfOrd(BigDecimal numCnfOrd) { public PickingObjectDTOOld setNumCnfOrd(BigDecimal numCnfOrd) {
this.numCnfOrd = numCnfOrd; this.numCnfOrd = numCnfOrd;
return this; return this;
} }
@ -250,7 +250,7 @@ public class PickingObjectDTO {
return codAlis; return codAlis;
} }
public PickingObjectDTO setCodAlis(String codAlis) { public PickingObjectDTOOld setCodAlis(String codAlis) {
this.codAlis = codAlis; this.codAlis = codAlis;
return this; return this;
} }
@ -259,7 +259,7 @@ public class PickingObjectDTO {
return colliPedana; return colliPedana;
} }
public PickingObjectDTO setColliPedana(BigDecimal colliPedana) { public PickingObjectDTOOld setColliPedana(BigDecimal colliPedana) {
this.colliPedana = colliPedana; this.colliPedana = colliPedana;
return this; return this;
} }
@ -268,7 +268,7 @@ public class PickingObjectDTO {
return qtaDisponibileCollo; return qtaDisponibileCollo;
} }
public PickingObjectDTO setQtaDisponibileCollo(BigDecimal qtaDisponibileCollo) { public PickingObjectDTOOld setQtaDisponibileCollo(BigDecimal qtaDisponibileCollo) {
this.qtaDisponibileCollo = qtaDisponibileCollo; this.qtaDisponibileCollo = qtaDisponibileCollo;
return this; return this;
} }
@ -277,7 +277,7 @@ public class PickingObjectDTO {
return numCnfDisponibileCollo; return numCnfDisponibileCollo;
} }
public PickingObjectDTO setNumCnfDisponibileCollo(BigDecimal numCnfDisponibileCollo) { public PickingObjectDTOOld setNumCnfDisponibileCollo(BigDecimal numCnfDisponibileCollo) {
this.numCnfDisponibileCollo = numCnfDisponibileCollo; this.numCnfDisponibileCollo = numCnfDisponibileCollo;
return this; return this;
} }
@ -286,7 +286,7 @@ public class PickingObjectDTO {
return codTcol; return codTcol;
} }
public PickingObjectDTO setCodTcol(String codTcol) { public PickingObjectDTOOld setCodTcol(String codTcol) {
this.codTcol = codTcol; this.codTcol = codTcol;
return this; return this;
} }
@ -295,7 +295,7 @@ public class PickingObjectDTO {
return mtbAart; return mtbAart;
} }
public PickingObjectDTO setMtbAart(MtbAart mtbAart) { public PickingObjectDTOOld setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart; this.mtbAart = mtbAart;
return this; return this;
} }
@ -305,7 +305,7 @@ public class PickingObjectDTO {
return hidden; return hidden;
} }
public PickingObjectDTO setHidden(boolean hidden) { public PickingObjectDTOOld setHidden(boolean hidden) {
this.hidden = hidden; this.hidden = hidden;
return this; return this;
} }
@ -315,7 +315,7 @@ public class PickingObjectDTO {
return deactivated; return deactivated;
} }
public PickingObjectDTO setDeactivated(boolean deactivated) { public PickingObjectDTOOld setDeactivated(boolean deactivated) {
this.deactivated = deactivated; this.deactivated = deactivated;
return this; return this;
} }
@ -325,7 +325,7 @@ public class PickingObjectDTO {
return tempHidden; return tempHidden;
} }
public PickingObjectDTO setTempHidden(Boolean tempHidden) { public PickingObjectDTOOld setTempHidden(Boolean tempHidden) {
this.tempHidden = tempHidden; this.tempHidden = tempHidden;
return this; return this;
} }
@ -334,7 +334,7 @@ public class PickingObjectDTO {
return tempPickData; return tempPickData;
} }
public PickingObjectDTO setTempPickData(PickData tempPickData) { public PickingObjectDTOOld setTempPickData(PickData tempPickData) {
this.tempPickData = tempPickData; this.tempPickData = tempPickData;
return this; return this;
} }
@ -344,7 +344,7 @@ public class PickingObjectDTO {
return withdrawRows; return withdrawRows;
} }
public PickingObjectDTO setWithdrawRows(ArrayList<MtbColr> withdrawRows) { public PickingObjectDTOOld setWithdrawRows(ArrayList<MtbColr> withdrawRows) {
this.withdrawRows = withdrawRows; this.withdrawRows = withdrawRows;
return this; return this;
} }
@ -412,10 +412,10 @@ public class PickingObjectDTO {
} }
public static PickData fromEan128(Ean128Model ean128Model) { public static PickData fromEan128(Ean128Model ean128Model) {
PickingObjectDTO.PickData pickData = null; PickingObjectDTOOld.PickData pickData = null;
if(ean128Model != null){ if(ean128Model != null){
pickData = new PickingObjectDTO.PickData(); pickData = new PickingObjectDTOOld.PickData();
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag(); MtbPartitaMag mtbPartitaMag = new MtbPartitaMag();

View File

@ -6,7 +6,7 @@ import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.DtbOrdt; import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO; import it.integry.integrywmsnative.gest.vendita.dto.GetPickingListDTO;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO; import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.GET; import retrofit2.http.GET;
@ -22,10 +22,10 @@ public interface OrdiniVenditaRESTConsumerService {
Call<ServiceRESTResponse<List<OrdineVenditaInevasoDTO>>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione); Call<ServiceRESTResponse<List<OrdineVenditaInevasoDTO>>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
@GET("getPickingListFromOrdini") @GET("getPickingListFromOrdini")
Call<ServiceRESTResponse<List<PickingObjectDTO>>> getPickingList(@Query("codMdep") String codMdep, @Query("dataCons") String dataCons, @Query("chiaviOrdini") String codBarreBacale); Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> getPickingList(@Query("codMdep") String codMdep, @Query("dataCons") String dataCons, @Query("chiaviOrdini") String codBarreBacale);
@POST("getPickingListFromOrdini2") @POST("getPickingListFromOrdini2")
Call<ServiceRESTResponse<List<PickingObjectDTO>>> getPickingListNew(@Query("codMdep") String codMdep, @Body List<GetPickingListDTO> pickingListDTO); Call<ServiceRESTResponse<List<PickingObjectDTOOld>>> getPickingListNew(@Query("codMdep") String codMdep, @Body List<GetPickingListDTO> pickingListDTO);
@GET("getOrdiniInCommCollo") @GET("getOrdiniInCommCollo")
Call<ServiceRESTResponse<List<DtbOrdt>>> getOrdiniInCommessaCollo(@Query("dataCollo") String dataCollo, @Query("numCollo") Integer numCollo, @Query("serCollo") String serCollo, @Query("gestioneCollo") String gestioneCollo, @Query("gestioneOrdine") String gestioneOrdine, @Query("codMdep") String codMdep); Call<ServiceRESTResponse<List<DtbOrdt>>> getOrdiniInCommessaCollo(@Query("dataCollo") String dataCollo, @Query("numCollo") Integer numCollo, @Query("serCollo") String serCollo, @Query("gestioneCollo") String gestioneCollo, @Query("gestioneOrdine") String gestioneOrdine, @Query("codMdep") String codMdep);