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.Provides;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
@Module
public class MainApplicationModule {
@ -23,5 +24,11 @@ public class MainApplicationModule {
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(sendEmail) UtilityLogger.errorMe(ex);
// if(sendEmail) UtilityLogger.errorMe(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.ProdOrdineLavorazioneListAdapter;
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.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -215,8 +215,8 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
progress.dismiss();
List<String> codMarts = Stream.of(ordini)
.distinctBy(PickingObjectDTO::getCodMart)
.map(PickingObjectDTO::getCodMart)
.distinctBy(PickingObjectDTOOld::getCodMart)
.map(PickingObjectDTOOld::getCodMart)
.toList();
int alreadyRegisteredUL = mtbColtList.size();
@ -276,7 +276,7 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
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);
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.UtilityLogger;
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 retrofit2.Call;
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 joinedBarcodes = TextUtils.join(",", barcodeOrdini);
@ -106,9 +106,9 @@ public class ProdOrdineLavorazioneHelper {
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_lavorazione");
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
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.body() != null) {
@ -134,7 +134,7 @@ public class ProdOrdineLavorazioneHelper {
}
@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);
Log.e("Ord Lavorazione", t.toString());
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.gest.lista_bancali.ListaBancaliActivity;
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.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
@ -45,7 +45,7 @@ public class VenditaOrdineInevasoActivity extends BaseActivity {
FragmentArticoliInColloBottomSheetBinding bindings = this.mBindings.bottomSheetInclude;
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<MtbColt> colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
mVenditaOrdineInevasoViewModel = new VenditaOrdineInevasoViewModel(

View File

@ -4,13 +4,13 @@ import androidx.databinding.ObservableArrayList;
import java.util.List;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
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.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.settings.SettingsManager;
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;
public class VenditaOrdineInevasoHelper {
@ -34,7 +34,7 @@ public class VenditaOrdineInevasoHelper {
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();
@ -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++) {
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.setHidden(false);
@ -57,7 +57,7 @@ public class VenditaOrdineInevasoHelper {
List<String> listOfKnownPositions = Stream.of(mPickingList)
.filter(x -> !x.isDeactivated())
.map(PickingObjectDTO::getPosizione)
.map(PickingObjectDTOOld::getPosizione)
.distinctBy(x -> x)
.withoutNulls()
.sortBy(x -> x)
@ -67,16 +67,16 @@ public class VenditaOrdineInevasoHelper {
listOfKnownPositions.add(null);
List<List<PickingObjectDTO>> groupedRighe = new ArrayList<>();
List<List<PickingObjectDTOOld>> groupedRighe = new ArrayList<>();
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) ||
(x.getPosizione() != null && x.getPosizione().equalsIgnoreCase(position))).toList();
for(int i = 0; i < tmpList.size(); i++){
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.setTempHidden(false);
@ -89,8 +89,8 @@ public class VenditaOrdineInevasoHelper {
}
List<PickingObjectDTO> deactivatedItems = Stream.of(mPickingList)
.filter(PickingObjectDTO::isDeactivated)
List<PickingObjectDTOOld> deactivatedItems = Stream.of(mPickingList)
.filter(PickingObjectDTOOld::isDeactivated)
.toList();
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);
List<VenditaOrdineInevasoListViewModel> listModel = new ArrayList<>();
for(int i = 0; i < groupedRighe.size(); i++) {
List<PickingObjectDTO> currentGroup = groupedRighe.get(i);
List<PickingObjectDTOOld> currentGroup = groupedRighe.get(i);
VenditaOrdineInevasoListViewModel itemModel = new VenditaOrdineInevasoListViewModel();
@ -123,7 +123,7 @@ public class VenditaOrdineInevasoHelper {
itemModel.rows = new ArrayList<>();
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();
String badge1 = "";

View File

@ -1,8 +1,8 @@
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 {
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.util.List;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class VenditaOrdineInevasoListViewModel {
public String descrizioneGroup;
@ -29,7 +29,7 @@ public class VenditaOrdineInevasoListViewModel {
private BigDecimal qtaOrdinata;
private String untMis;
private PickingObjectDTO originalModel;
private PickingObjectDTOOld originalModel;
public String getBadge1() {
return badge1;
@ -94,11 +94,11 @@ public class VenditaOrdineInevasoListViewModel {
return this;
}
public PickingObjectDTO getOriginalModel() {
public PickingObjectDTOOld getOriginalModel() {
return originalModel;
}
public SubItem setOriginalModel(PickingObjectDTO originalModel) {
public SubItem setOriginalModel(PickingObjectDTOOld originalModel) {
this.originalModel = originalModel;
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.databinding.ActivityVenditaOrdineInevasoBinding;
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.core.VenditaOrdineInevasoHelper;
import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter;
@ -84,8 +84,8 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
private final ActivityVenditaOrdineInevasoBinding mBindings;
private final ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
private final List<PickingObjectDTO> mPickingList;
private List<List<PickingObjectDTO>> mGroupedPickingList;
private final List<PickingObjectDTOOld> mPickingList;
private List<List<PickingObjectDTOOld>> mGroupedPickingList;
private final List<OrdineVenditaInevasoDTO> mTestateOrdini;
private final List<MtbColt> mColliRegistrati;
@ -105,7 +105,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
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.mBindings = bindings;
this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel;
@ -533,7 +533,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
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 {
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) {
UtilityExceptions.defaultException(mActivity, ex, progressDialog);
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) {
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
}
@ -607,16 +607,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
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()) &&
x.getDataColloS().equals(scannedUL.getDataColloS()) &&
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList();
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
//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 &&
(listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
.toList();
@ -635,7 +635,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
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);
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
.setMtbPartitaMag(matchRow.getRifPartitaMag())
.setNumCnf(matchRow.getNumCnf())
.setQtaCnf(matchRow.getQtaCnf())
@ -670,7 +670,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} else {
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())
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList();
@ -678,7 +678,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
MtbColr matchRow = matchWithColloRow.get(k);
PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
.setMtbPartitaMag(matchRow.getRifPartitaMag())
.setNumCnf(matchRow.getNumCnf())
.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 &&
(mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
.toList();
if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
List<PickingObjectDTO> matchWithPartitaMag = Stream.of(matchPickingObject)
List<PickingObjectDTOOld> matchWithPartitaMag = Stream.of(matchPickingObject)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
(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);
}
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
private void loadMatchedRows(List<PickingObjectDTOOld> matchedRows) {
if(matchedRows == null || matchedRows.size() == 0) {
DialogCommon.showNoArtFoundDialog(mActivity, null);
} else {
@ -1054,7 +1054,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
@Override
public void onOrdineRowDispatch(final PickingObjectDTO item) {
public void onOrdineRowDispatch(final PickingObjectDTOOld item) {
if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){
@ -1122,7 +1122,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
boolean batchLotEnabled = true;
if(item.getTempPickData() != null) {
PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
PickingObjectDTOOld.PickData tmpPickData = item.getTempPickData();
if(tmpPickData.getQtaCnf() == null && tmpPickData.getNumCnf() != null && tmpPickData.getQtaTot() != null) {
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 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();
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 -> {
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.expansion.RunnableArgs;
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.rest.model.SitArtOrdDTO;
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.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
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.model.PickingObjectDTO;
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.input_quantity_v2.DialogInputQuantityV2;
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);
private boolean mFlashShowCodForn;
private boolean mFlagShowCodForn;
private int barcodeScannerIstanceID = -1;
private ArrayList<PickingObjectDTO> mPickingList;
private ArrayList<SitArtOrdDTO> mSitArtOrd;
private ArrayList<OrdineVenditaInevasoDTO> mTestateOrdini;
private ArrayList<MtbColt> mColliRegistrati;
@ -72,7 +76,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
mSitArtOrd = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
@ -91,7 +95,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
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.setSpedizioneView(this);
@ -101,7 +105,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mViewmodel.setDataset(codMdep, mPickingList, mTestateOrdini);
mViewmodel.loadDataset(codMdep, mSitArtOrd, mTestateOrdini);
}
@Override
@ -117,7 +121,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
}
private void initRecyclerView() {
this.mViewmodel.getmPickingList().observe(this, updatedData -> {
this.mViewmodel.getPickingList().observe(this, updatedData -> {
this.mSpedizioneMutableData.clear();
this.mSpedizioneMutableData.addAll(convertDataModelToListModel(updatedData));
this.noItemsToPick.set(!isThereAnyItemToPick(updatedData));
@ -138,18 +142,18 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
private List<SpedizioneListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<PickingObjectDTO> tmpList = Stream.of(dataList)
.filter(x -> (x.isHidden() == null || !x.isHidden()) && (x.isTempHidden() == null || !x.isTempHidden()))
.filter(x -> !x.isHidden())
.toList();
List<PickingObjectDTO> sortedList = Stream.of(tmpList)
.filter(x -> !x.isDeactivated() && !UtilityString.isNullOrEmpty(x.getPosizione()))
.sortBy(PickingObjectDTO::getPosizione)
.filter(x -> !x.isDeactivated() && (x.getMtbColt() != null && !UtilityString.isNullOrEmpty(x.getMtbColt().getPosizione())))
.sortBy(x -> x.getMtbColt().getPosizione())
.toList();
sortedList.addAll(
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()
);
@ -167,48 +171,49 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
if (x.isDeactivated()) {
spedizioneListModel.setGroupTitle(getString(R.string.picking_not_available));
} 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());
String badge1 = "";
if (mFlashShowCodForn) {
badge1 += !UtilityString.isNullOrEmpty(x.getCodAlis()) ? (x.getCodAlis() + " - ") : "";
badge1 += (!UtilityString.isNullOrEmpty(x.getCodArtFor()) ? x.getCodArtFor() : x.getCodMart());
if (mFlagShowCodForn) {
badge1 += !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodAlis()) ? (x.getSitArtOrdDTO().getCodAlis() + " - ") : "";
badge1 += (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodArtFor()) ? x.getSitArtOrdDTO().getCodArtFor() : x.getMtbAart().getCodMart());
} else {
badge1 += x.getCodMart();
badge1 += x.getMtbAart().getCodMart();
}
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.setDescrizionePresente(false);
} else {
spedizioneListModel.setDescrizione(x.getDescrizioneEstesa());
spedizioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
spedizioneListModel.setDescrizionePresente(true);
}
if (!UtilityString.isNullOrEmpty(x.getPartitaMag())) {
spedizioneListModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), x.getPartitaMag()));
MtbColr mtbColrToDispatch = x.getMtbColt() != null && x.getMtbColt().getMtbColr() != null && x.getMtbColt().getMtbColr().size() > 0 ? x.getMtbColt().getMtbColr().get(0) : null;
if (mtbColrToDispatch != null && !UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag())) {
spedizioneListModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag()));
}
if (x.getNumCollo() != null) {
spedizioneListModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), x.getNumCollo(), x.getDataColloHuman()));
if (x.getMtbColt() != null) {
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())) {
spedizioneListModel.setUntMis("col");
spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getNumCnfCollo() : x.getNumCnfOrd());
spedizioneListModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd());
} else {
spedizioneListModel.setQtaTot(x.getNumCollo() != null ? x.getQtaCollo() : x.getQtaOrd());
spedizioneListModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getQtaCol() : x.getSitArtOrdDTO().getQtaOrd());
if (x.getMtbAart() != null)
spedizioneListModel.setUntMis(x.getMtbAart().getUntMis());
}
spedizioneListModel.setOriginalModel(x);
// spedizioneListModel.setOriginalModel(x);
return spedizioneListModel;
}).toList();
@ -216,7 +221,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
return Stream.of(dataList)
.anyMatch(x -> !x.isHidden() && !x.isTempHidden());
.anyMatch(x -> !x.isHidden());
}
private RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {

View File

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

View File

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

View File

@ -1,6 +1,5 @@
package it.integry.integrywmsnative.gest.spedizione_new.core;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.text.Html;
@ -12,32 +11,21 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
import androidx.lifecycle.MutableLiveData;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
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.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.UtilityString;
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
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> {
@ -45,7 +33,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
private Context mContext;
private List<SpedizioneListModel> mDataset = new ArrayList<>();
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
private RunnableArgs<PickingObjectDTOOld> mOnItemClicked;
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;
}

View File

@ -2,7 +2,7 @@ package it.integry.integrywmsnative.gest.spedizione_new.core;
import java.math.BigDecimal;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
public class SpedizioneListModel {
@ -21,7 +21,7 @@ public class SpedizioneListModel {
private boolean active;
private PickingObjectDTO mOriginalModel;
private PickingObjectDTOOld mOriginalModel;
public String getGroupTitle() {
return groupTitle;
@ -122,11 +122,11 @@ public class SpedizioneListModel {
return this;
}
public PickingObjectDTO getOriginalModel() {
public PickingObjectDTOOld getOriginalModel() {
return mOriginalModel;
}
public SpedizioneListModel setOriginalModel(PickingObjectDTO originalModel) {
public SpedizioneListModel setOriginalModel(PickingObjectDTOOld originalModel) {
this.mOriginalModel = originalModel;
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.model.MtbColt;
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.utility.UtilityExceptions;
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.DialogVenditaFiltroAvanzatoViewModel;
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.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -215,14 +215,41 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
final String finalDataCons = dataCons;
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 -> {
progress.dismiss();
List<String> codMarts = Stream.of(ordini)
.distinctBy(PickingObjectDTO::getCodMart)
.map(PickingObjectDTO::getCodMart)
List<String> codMarts = Stream.of(sitArtsDTO)
.distinctBy(SitArtOrdDTO::getCodMart)
.map(SitArtOrdDTO::getCodMart)
.toList();
int alreadyRegisteredUL = mtbColtList.size();
@ -236,22 +263,21 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
+ "<br />" +
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
null,
() -> startVenditaActivity(ordini, selectedOrders, mtbColtList)
() -> startVenditaActivity(sitArtsDTO, selectedOrders, mtbColtList)
).show();
}, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
};
if(SettingsManager.iDB().isFlagUseNewPickingListSpedizione()) {
mHelper.retrievePickingListNew(selectedOrders, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
} else {
mHelper.retrievePickingList(barcodes, finalDataCons, onPostGetPickingList, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
}
OrdiniRESTConsumer.retrieveListaArticoliFromOrdiniVendita(selectedOrders, onPostGetListaArts, ex -> UtilityExceptions.defaultException(getActivity(), ex, progress));
}, () -> {
progress.dismiss();
});
// if(SettingsManager.iDB().isFlagUseNewPickingListSpedizione()) {
// 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
@ -358,8 +384,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
}
}
private void startVenditaActivity(List<PickingObjectDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
// Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
private void startVenditaActivity(List<SitArtOrdDTO> ordini, List<OrdineVenditaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class);
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.gest.vendita.dto.GetPickingListDTO;
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 retrofit2.Call;
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 joinedBarcodes = TextUtils.join(",", barcodeOrdini);
@ -97,9 +99,9 @@ public class VenditaHelper {
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
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.body() != null) {
@ -122,7 +124,7 @@ public class VenditaHelper {
}
@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);
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();
List<GetPickingListDTO> getPickingListDTOs = Stream.of(orders)
@ -149,9 +151,9 @@ public class VenditaHelper {
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
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.body() != null) {
@ -174,7 +176,7 @@ public class VenditaHelper {
}
@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);
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.UtilityString;
public class PickingObjectDTO {
public class PickingObjectDTOOld {
private Integer numCollo;
private String gestione;
@ -53,7 +53,7 @@ public class PickingObjectDTO {
return numCollo;
}
public PickingObjectDTO setNumCollo(Integer numCollo) {
public PickingObjectDTOOld setNumCollo(Integer numCollo) {
this.numCollo = numCollo;
return this;
}
@ -62,7 +62,7 @@ public class PickingObjectDTO {
return gestione;
}
public PickingObjectDTO setGestione(String gestione) {
public PickingObjectDTOOld setGestione(String gestione) {
this.gestione = gestione;
return this;
}
@ -71,7 +71,7 @@ public class PickingObjectDTO {
return serCollo;
}
public PickingObjectDTO setSerCollo(String serCollo) {
public PickingObjectDTOOld setSerCollo(String serCollo) {
this.serCollo = serCollo;
return this;
}
@ -80,7 +80,7 @@ public class PickingObjectDTO {
return descrizioneEstesa;
}
public PickingObjectDTO setDescrizioneEstesa(String descrizioneEstesa) {
public PickingObjectDTOOld setDescrizioneEstesa(String descrizioneEstesa) {
this.descrizioneEstesa = descrizioneEstesa;
return this;
}
@ -89,7 +89,7 @@ public class PickingObjectDTO {
return codJcom;
}
public PickingObjectDTO setCodJcom(String codJcom) {
public PickingObjectDTOOld setCodJcom(String codJcom) {
this.codJcom = codJcom;
return this;
}
@ -98,7 +98,7 @@ public class PickingObjectDTO {
return codMart;
}
public PickingObjectDTO setCodMart(String codMart) {
public PickingObjectDTOOld setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
@ -107,7 +107,7 @@ public class PickingObjectDTO {
return posizione;
}
public PickingObjectDTO setPosizione(String posizione) {
public PickingObjectDTOOld setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
@ -116,7 +116,7 @@ public class PickingObjectDTO {
return qtaCollo != null ? qtaCollo : BigDecimal.ZERO;
}
public PickingObjectDTO setQtaCollo(BigDecimal qtaCollo) {
public PickingObjectDTOOld setQtaCollo(BigDecimal qtaCollo) {
this.qtaCollo = qtaCollo;
return this;
}
@ -142,7 +142,7 @@ public class PickingObjectDTO {
} else return null;
}
public PickingObjectDTO setDataCollo(String dataCollo) {
public PickingObjectDTOOld setDataCollo(String dataCollo) {
this.dataCollo = dataCollo;
return this;
}
@ -151,7 +151,7 @@ public class PickingObjectDTO {
return idViaggio;
}
public PickingObjectDTO setIdViaggio(Integer idViaggio) {
public PickingObjectDTOOld setIdViaggio(Integer idViaggio) {
this.idViaggio = idViaggio;
return this;
}
@ -160,7 +160,7 @@ public class PickingObjectDTO {
return codTagl;
}
public PickingObjectDTO setCodTagl(String codTagl) {
public PickingObjectDTOOld setCodTagl(String codTagl) {
this.codTagl = codTagl;
return this;
}
@ -169,7 +169,7 @@ public class PickingObjectDTO {
return codCol;
}
public PickingObjectDTO setCodCol(String codCol) {
public PickingObjectDTOOld setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
@ -182,7 +182,7 @@ public class PickingObjectDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
}
public PickingObjectDTO setDataScad(String dataScad) {
public PickingObjectDTOOld setDataScad(String dataScad) {
this.dataScad = dataScad;
return this;
}
@ -191,7 +191,7 @@ public class PickingObjectDTO {
return codArtFor;
}
public PickingObjectDTO setCodArtFor(String codArtFor) {
public PickingObjectDTOOld setCodArtFor(String codArtFor) {
this.codArtFor = codArtFor;
return this;
}
@ -200,7 +200,7 @@ public class PickingObjectDTO {
return partitaMag;
}
public PickingObjectDTO setPartitaMag(String partitaMag) {
public PickingObjectDTOOld setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag;
return this;
}
@ -209,7 +209,7 @@ public class PickingObjectDTO {
return qtaOrd != null ? qtaOrd : BigDecimal.ZERO;
}
public PickingObjectDTO setQtaOrd(BigDecimal qtaOrd) {
public PickingObjectDTOOld setQtaOrd(BigDecimal qtaOrd) {
this.qtaOrd = qtaOrd;
return this;
}
@ -218,7 +218,7 @@ public class PickingObjectDTO {
return numCnfCollo;
}
public PickingObjectDTO setNumCnfCollo(BigDecimal numCnfCollo) {
public PickingObjectDTOOld setNumCnfCollo(BigDecimal numCnfCollo) {
this.numCnfCollo = numCnfCollo;
return this;
}
@ -227,7 +227,7 @@ public class PickingObjectDTO {
return numCnfOrd;
}
public PickingObjectDTO setNumCnfOrd(BigDecimal numCnfOrd) {
public PickingObjectDTOOld setNumCnfOrd(BigDecimal numCnfOrd) {
this.numCnfOrd = numCnfOrd;
return this;
}
@ -250,7 +250,7 @@ public class PickingObjectDTO {
return codAlis;
}
public PickingObjectDTO setCodAlis(String codAlis) {
public PickingObjectDTOOld setCodAlis(String codAlis) {
this.codAlis = codAlis;
return this;
}
@ -259,7 +259,7 @@ public class PickingObjectDTO {
return colliPedana;
}
public PickingObjectDTO setColliPedana(BigDecimal colliPedana) {
public PickingObjectDTOOld setColliPedana(BigDecimal colliPedana) {
this.colliPedana = colliPedana;
return this;
}
@ -268,7 +268,7 @@ public class PickingObjectDTO {
return qtaDisponibileCollo;
}
public PickingObjectDTO setQtaDisponibileCollo(BigDecimal qtaDisponibileCollo) {
public PickingObjectDTOOld setQtaDisponibileCollo(BigDecimal qtaDisponibileCollo) {
this.qtaDisponibileCollo = qtaDisponibileCollo;
return this;
}
@ -277,7 +277,7 @@ public class PickingObjectDTO {
return numCnfDisponibileCollo;
}
public PickingObjectDTO setNumCnfDisponibileCollo(BigDecimal numCnfDisponibileCollo) {
public PickingObjectDTOOld setNumCnfDisponibileCollo(BigDecimal numCnfDisponibileCollo) {
this.numCnfDisponibileCollo = numCnfDisponibileCollo;
return this;
}
@ -286,7 +286,7 @@ public class PickingObjectDTO {
return codTcol;
}
public PickingObjectDTO setCodTcol(String codTcol) {
public PickingObjectDTOOld setCodTcol(String codTcol) {
this.codTcol = codTcol;
return this;
}
@ -295,7 +295,7 @@ public class PickingObjectDTO {
return mtbAart;
}
public PickingObjectDTO setMtbAart(MtbAart mtbAart) {
public PickingObjectDTOOld setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart;
return this;
}
@ -305,7 +305,7 @@ public class PickingObjectDTO {
return hidden;
}
public PickingObjectDTO setHidden(boolean hidden) {
public PickingObjectDTOOld setHidden(boolean hidden) {
this.hidden = hidden;
return this;
}
@ -315,7 +315,7 @@ public class PickingObjectDTO {
return deactivated;
}
public PickingObjectDTO setDeactivated(boolean deactivated) {
public PickingObjectDTOOld setDeactivated(boolean deactivated) {
this.deactivated = deactivated;
return this;
}
@ -325,7 +325,7 @@ public class PickingObjectDTO {
return tempHidden;
}
public PickingObjectDTO setTempHidden(Boolean tempHidden) {
public PickingObjectDTOOld setTempHidden(Boolean tempHidden) {
this.tempHidden = tempHidden;
return this;
}
@ -334,7 +334,7 @@ public class PickingObjectDTO {
return tempPickData;
}
public PickingObjectDTO setTempPickData(PickData tempPickData) {
public PickingObjectDTOOld setTempPickData(PickData tempPickData) {
this.tempPickData = tempPickData;
return this;
}
@ -344,7 +344,7 @@ public class PickingObjectDTO {
return withdrawRows;
}
public PickingObjectDTO setWithdrawRows(ArrayList<MtbColr> withdrawRows) {
public PickingObjectDTOOld setWithdrawRows(ArrayList<MtbColr> withdrawRows) {
this.withdrawRows = withdrawRows;
return this;
}
@ -412,10 +412,10 @@ public class PickingObjectDTO {
}
public static PickData fromEan128(Ean128Model ean128Model) {
PickingObjectDTO.PickData pickData = null;
PickingObjectDTOOld.PickData pickData = null;
if(ean128Model != null){
pickData = new PickingObjectDTO.PickData();
pickData = new PickingObjectDTOOld.PickData();
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.gest.vendita.dto.GetPickingListDTO;
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.http.Body;
import retrofit2.http.GET;
@ -22,10 +22,10 @@ public interface OrdiniVenditaRESTConsumerService {
Call<ServiceRESTResponse<List<OrdineVenditaInevasoDTO>>> listOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
@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")
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")
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);