[REFACT] Ricostruito completamente l'adapter della lista di avantielenco Accettazione
This commit is contained in:
parent
508c722897
commit
66543a06b5
@ -21,26 +21,21 @@ import android.widget.Toast;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.AccettazioneHelper;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.MainListAccettazioneAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.MainListAccettazioneAdapterNew;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadOrdiniCallback;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadPickingListCallback;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
@ -53,10 +48,11 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
|
||||
private FragmentMainAccettazioneBinding mBinding;
|
||||
|
||||
private AccettazioneHelper helper;
|
||||
private AccettazioneHelper mHelper;
|
||||
private MainListAccettazioneAdapterNew mAdapter;
|
||||
|
||||
private List<OrdineAccettazioneGroupedInevasoDTO> groupedOrdiniInevasi;
|
||||
private MainListAccettazioneAdapter mAdapter;
|
||||
private List<OrdineAccettazioneInevasoDTO> mOriginalOrderList;
|
||||
private List<OrdineAccettazioneInevasoDTO> mRenderedOrderList = new ArrayList<>();
|
||||
|
||||
private AppCompatTextView mAppBarTitle;
|
||||
|
||||
@ -126,18 +122,19 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
|
||||
final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting), getText(R.string.loading) + " ...", true);
|
||||
|
||||
helper = new AccettazioneHelper(getActivity());
|
||||
mHelper = new AccettazioneHelper(getActivity());
|
||||
|
||||
helper.loadOrdini(new ILoadOrdiniCallback() {
|
||||
mHelper.loadOrdini(new ILoadOrdiniCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(List<OrdineAccettazioneInevasoDTO> ordini) {
|
||||
if(ordini != null) {
|
||||
Toast.makeText(getActivity(), "Caricati " + ordini.size() + " ordini", Toast.LENGTH_LONG).show();
|
||||
groupOrdiniAndMakeRecycler(ordini);
|
||||
mOriginalOrderList = ordini;
|
||||
}
|
||||
|
||||
mBinding.ordiniAccettazioneEmptyView.setVisibility(ordini != null && ordini.size() > 0 ? View.GONE : View.VISIBLE);
|
||||
|
||||
refreshRenderedOrdini(ordini);
|
||||
initRecyclerView();
|
||||
progress.dismiss();
|
||||
}
|
||||
|
||||
@ -154,127 +151,156 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void groupOrdiniAndMakeRecycler(List<OrdineAccettazioneInevasoDTO> ordini){
|
||||
|
||||
for(OrdineAccettazioneInevasoDTO ordine : ordini){
|
||||
if(UtilityString.isNullOrEmpty(ordine.getCodJcom()) || ordine.getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){
|
||||
ordine.setCodJcom(CommonConst.Config.COMMESSA_MAG);
|
||||
ordine.setDescrizioneCom("MAGAZZINO");
|
||||
}
|
||||
}
|
||||
|
||||
groupedOrdiniInevasi = new ArrayList<>();
|
||||
|
||||
//Splitto gli ordini per codAnagClie
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> groupedOrdini = Stream.of(ordini)
|
||||
.map(x -> {
|
||||
OrdineAccettazioneGroupedInevasoDTO groupedOrdine = new OrdineAccettazioneGroupedInevasoDTO();
|
||||
|
||||
groupedOrdine.codAnagForn = x.getCodAnagOrd();
|
||||
groupedOrdine.nomeFornitore = x.getRagSocOrd();
|
||||
groupedOrdine.ordini = new ArrayList<>();
|
||||
|
||||
return groupedOrdine;
|
||||
})
|
||||
.distinctBy(x -> x.codAnagForn + "_" + x.nomeFornitore)
|
||||
.sortBy(x -> x.nomeFornitore)
|
||||
.toList();
|
||||
|
||||
|
||||
Stream.of(groupedOrdini).forEach(groupedOrdine -> {
|
||||
|
||||
|
||||
//Splitto gli ordini di ogni fornitore per data e numero
|
||||
List<OrdineAccettazioneGroupedInevasoDTO.Ordine> tmpOrd = Stream.of(ordini)
|
||||
.filter(x -> x.getCodAnagOrd().equals(groupedOrdine.codAnagForn))
|
||||
|
||||
.sortBy(x -> x.getDataConsD() != null ? x.getDataConsD() : new Date(2000, 01, 01))
|
||||
.map(x -> {
|
||||
|
||||
OrdineAccettazioneGroupedInevasoDTO.Ordine rigaOrdine = new OrdineAccettazioneGroupedInevasoDTO.Ordine();
|
||||
|
||||
rigaOrdine.data = x.getData();
|
||||
rigaOrdine.numero = x.getNumero();
|
||||
rigaOrdine.gestione = x.getGestione();
|
||||
rigaOrdine.codAnagOrd = x.getCodAnagOrd();
|
||||
rigaOrdine.ragSocOrd = x.getRagSocOrd();
|
||||
rigaOrdine.pesoTotale = x.getPesoTotale();
|
||||
rigaOrdine.barcode = x.getBarcode();
|
||||
rigaOrdine.termCons = x.getTermCons();
|
||||
rigaOrdine.dataCons = x.getDataConsS();
|
||||
rigaOrdine.rifOrd = x.getRifOrd();
|
||||
rigaOrdine.clienti = new ArrayList<>();
|
||||
|
||||
return rigaOrdine;
|
||||
})
|
||||
.distinctBy(x -> x.barcode)
|
||||
.toList();
|
||||
|
||||
|
||||
Stream.of(tmpOrd)
|
||||
.forEach(rigaOrdine -> {
|
||||
|
||||
Stream.of(ordini)
|
||||
.filter(x ->
|
||||
x.getCodAnagOrd().equals(rigaOrdine.codAnagOrd) &&
|
||||
x.getNumero() == rigaOrdine.numero &&
|
||||
x.getData().equals(rigaOrdine.data))
|
||||
.forEach(x -> {
|
||||
OrdineAccettazioneGroupedInevasoDTO.Cliente cliente = new OrdineAccettazioneGroupedInevasoDTO.Cliente();
|
||||
|
||||
cliente.codJcom = x.getCodJcom();
|
||||
cliente.ragSocCom = x.getRagSocCom();
|
||||
cliente.descrCom = x.getDescrizioneCom();
|
||||
cliente.dataCons = x.getDataConsS();
|
||||
cliente.numCnf = x.getNumCnf();
|
||||
cliente.rifOrd = x.getRifOrd();
|
||||
|
||||
rigaOrdine.clienti.add(cliente);
|
||||
});
|
||||
|
||||
|
||||
groupedOrdine.ordini.add(rigaOrdine);
|
||||
|
||||
});
|
||||
|
||||
groupedOrdiniInevasi.add(groupedOrdine);
|
||||
});
|
||||
|
||||
mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged);
|
||||
private void initRecyclerView() {
|
||||
mAdapter = new MainListAccettazioneAdapterNew(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
|
||||
mBinding.accettazioneMainList.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
private void refreshRenderedOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
|
||||
|
||||
mRenderedOrderList.clear();
|
||||
mRenderedOrderList.addAll(ordini);
|
||||
}
|
||||
|
||||
private void refreshRecyclerView() {
|
||||
mAdapter.updateItems(mRenderedOrderList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||
|
||||
if(dto.isSelected()) {
|
||||
Stream.of(selectedOrders)
|
||||
.filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
|
||||
.forEach(x -> x.setSelected(false));
|
||||
}
|
||||
|
||||
if(selectedOrders != null && selectedOrders.size() > 0) {
|
||||
mBinding.accettazioneMainFab.show();
|
||||
}
|
||||
else {
|
||||
mBinding.accettazioneMainFab.hide();
|
||||
}
|
||||
};
|
||||
|
||||
// private void groupOrdiniAndMakeRecycler(List<OrdineAccettazioneInevasoDTO> ordini){
|
||||
//
|
||||
// for(OrdineAccettazioneInevasoDTO ordine : ordini){
|
||||
// if(UtilityString.isNullOrEmpty(ordine.getCodJcom()) || ordine.getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){
|
||||
// ordine.setCodJcom(CommonConst.Config.COMMESSA_MAG);
|
||||
// ordine.setDescrizioneCom("MAGAZZINO");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// groupedOrdiniInevasi = new ArrayList<>();
|
||||
//
|
||||
// //Splitto gli ordini per codAnagClie
|
||||
// List<OrdineAccettazioneGroupedInevasoDTO> groupedOrdini = Stream.of(ordini)
|
||||
// .map(x -> {
|
||||
// OrdineAccettazioneGroupedInevasoDTO groupedOrdine = new OrdineAccettazioneGroupedInevasoDTO();
|
||||
//
|
||||
// groupedOrdine.codAnagForn = x.getCodAnagOrd();
|
||||
// groupedOrdine.nomeFornitore = x.getRagSocOrd();
|
||||
// groupedOrdine.ordini = new ArrayList<>();
|
||||
//
|
||||
// return groupedOrdine;
|
||||
// })
|
||||
// .distinctBy(x -> x.codAnagForn + "_" + x.nomeFornitore)
|
||||
// .sortBy(x -> x.nomeFornitore)
|
||||
// .toList();
|
||||
//
|
||||
//
|
||||
// Stream.of(groupedOrdini).forEach(groupedOrdine -> {
|
||||
//
|
||||
//
|
||||
// //Splitto gli ordini di ogni fornitore per data e numero
|
||||
// List<OrdineAccettazioneGroupedInevasoDTO.Ordine> tmpOrd = Stream.of(ordini)
|
||||
// .filter(x -> x.getCodAnagOrd().equals(groupedOrdine.codAnagForn))
|
||||
//
|
||||
// .sortBy(x -> x.getDataConsD() != null ? x.getDataConsD() : new Date(2000, 01, 01))
|
||||
// .map(x -> {
|
||||
//
|
||||
// OrdineAccettazioneGroupedInevasoDTO.Ordine rigaOrdine = new OrdineAccettazioneGroupedInevasoDTO.Ordine();
|
||||
//
|
||||
// rigaOrdine.data = x.getData();
|
||||
// rigaOrdine.numero = x.getNumero();
|
||||
// rigaOrdine.gestione = x.getGestione();
|
||||
// rigaOrdine.codAnagOrd = x.getCodAnagOrd();
|
||||
// rigaOrdine.ragSocOrd = x.getRagSocOrd();
|
||||
// rigaOrdine.pesoTotale = x.getPesoTotale();
|
||||
// rigaOrdine.barcode = x.getBarcode();
|
||||
// rigaOrdine.termCons = x.getTermCons();
|
||||
// rigaOrdine.dataCons = x.getDataConsS();
|
||||
// rigaOrdine.rifOrd = x.getRifOrd();
|
||||
// rigaOrdine.clienti = new ArrayList<>();
|
||||
//
|
||||
// return rigaOrdine;
|
||||
// })
|
||||
// .distinctBy(x -> x.barcode)
|
||||
// .toList();
|
||||
//
|
||||
//
|
||||
// Stream.of(tmpOrd)
|
||||
// .forEach(rigaOrdine -> {
|
||||
//
|
||||
// Stream.of(ordini)
|
||||
// .filter(x ->
|
||||
// x.getCodAnagOrd().equals(rigaOrdine.codAnagOrd) &&
|
||||
// x.getNumero() == rigaOrdine.numero &&
|
||||
// x.getData().equals(rigaOrdine.data))
|
||||
// .forEach(x -> {
|
||||
// OrdineAccettazioneGroupedInevasoDTO.Cliente cliente = new OrdineAccettazioneGroupedInevasoDTO.Cliente();
|
||||
//
|
||||
// cliente.codJcom = x.getCodJcom();
|
||||
// cliente.ragSocCom = x.getRagSocCom();
|
||||
// cliente.descrCom = x.getDescrizioneCom();
|
||||
// cliente.dataCons = x.getDataConsS();
|
||||
// cliente.numCnf = x.getNumCnf();
|
||||
// cliente.rifOrd = x.getRifOrd();
|
||||
//
|
||||
// rigaOrdine.clienti.add(cliente);
|
||||
// });
|
||||
//
|
||||
//
|
||||
// groupedOrdine.ordini.add(rigaOrdine);
|
||||
//
|
||||
// });
|
||||
//
|
||||
// groupedOrdiniInevasi.add(groupedOrdine);
|
||||
// });
|
||||
//
|
||||
// mAdapter = new MainListAccettazioneAdapterNew(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged);
|
||||
// mBinding.accettazioneMainList.setAdapter(mAdapter);
|
||||
// }
|
||||
|
||||
private void onAccettazioneMainFabClick() {
|
||||
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
|
||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||
List<String> barcodes = new ArrayList<>();
|
||||
|
||||
for(OrdineAccettazioneGroupedInevasoDTO ordine : selectedOrders){
|
||||
for(OrdineAccettazioneGroupedInevasoDTO.Ordine righeOrd : ordine.ordini){
|
||||
barcodes.add(righeOrd.barcode);
|
||||
}
|
||||
for(OrdineAccettazioneInevasoDTO ordine : selectedOrders){
|
||||
if(!barcodes.contains(ordine.getBarcode())) barcodes.add(ordine.getBarcode());
|
||||
}
|
||||
|
||||
final ProgressDialog progress = ProgressDialog.show(getActivity(), getText(R.string.waiting),
|
||||
getText(R.string.loading) + " ...", true);
|
||||
|
||||
helper.retrievePickingList(barcodes, new ILoadPickingListCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(final List<OrdineAccettazioneDTO> ordini) {
|
||||
mHelper.retrievePickingList(barcodes, ordini -> {
|
||||
progress.dismiss();
|
||||
|
||||
AtomicInteger artsCounter = new AtomicInteger();
|
||||
|
||||
Stream.of(ordini).forEach(x -> {
|
||||
artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.getQtaDaEvadere().floatValue() > 0).count());
|
||||
artsCounter.addAndGet((int) Stream.of(x.getOrdini()).filter(y -> y.getQtaDaEvadere().floatValue() > 0).count());
|
||||
});
|
||||
|
||||
List<String> ordersKeys = new ArrayList<>();
|
||||
|
||||
for(OrdineAccettazioneDTO ordine : ordini){
|
||||
if(!ordersKeys.contains(ordine.data + " " + ordine.numero + " " + ordine.gestione)){
|
||||
ordersKeys.add(ordine.data + " " + ordine.numero + " " + ordine.gestione);
|
||||
if(!ordersKeys.contains(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione())){
|
||||
ordersKeys.add(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione());
|
||||
}
|
||||
}
|
||||
|
||||
@ -294,36 +320,32 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
|
||||
}).show();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFail(Exception ex) {
|
||||
}, ex -> {
|
||||
// Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
|
||||
progress.dismiss();
|
||||
|
||||
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
|
||||
if(errorMessage == null) errorMessage = ex.getMessage() + "\n" + ex.getCause().getCause().getMessage();
|
||||
DialogSimpleMessageHelper.makeErrorDialog(getActivity(), new SpannableString(errorMessage), null, null).show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
|
||||
|
||||
if(selectedOrders != null && selectedOrders.size() > 1){
|
||||
for (OrdineAccettazioneGroupedInevasoDTO selectedOrder : selectedOrders) {
|
||||
if(!dto.codAnagForn.equalsIgnoreCase(selectedOrder.codAnagForn)) {
|
||||
Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(selectedOrders.size() > 0) mBinding.accettazioneMainFab.show();
|
||||
else mBinding.accettazioneMainFab.hide();
|
||||
};
|
||||
// private RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
|
||||
// List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||
//
|
||||
// if(selectedOrders != null && selectedOrders.size() > 1){
|
||||
// for (OrdineAccettazioneGroupedInevasoDTO selectedOrder : selectedOrders) {
|
||||
// if(!dto.codAnagForn.equalsIgnoreCase(selectedOrder.codAnagForn)) {
|
||||
// Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if(selectedOrders.size() > 0) mBinding.accettazioneMainFab.show();
|
||||
// else mBinding.accettazioneMainFab.hide();
|
||||
// };
|
||||
|
||||
|
||||
|
||||
@ -345,8 +367,8 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
final List<OrdineAccettazioneGroupedInevasoDTO> filtermodelist = helper.getFilteredOrdersByFornitore(groupedOrdiniInevasi, newText);
|
||||
mAdapter.setFilter(filtermodelist);
|
||||
final List<OrdineAccettazioneInevasoDTO> filtermodelist = mHelper.getFilteredOrdersByFornitore(mOriginalOrderList, newText);
|
||||
mAdapter.updateItems(filtermodelist);
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
@ -4,19 +4,19 @@ import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.REST.model.EsitoType;
|
||||
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadOrdiniCallback;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadPickingListCallback;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumerService;
|
||||
import retrofit2.Call;
|
||||
@ -70,7 +70,7 @@ public class AccettazioneHelper {
|
||||
});
|
||||
}
|
||||
|
||||
public void retrievePickingList(List<String> barcodeOrdini, final ILoadPickingListCallback callback){
|
||||
public void retrievePickingList(List<String> barcodeOrdini, RunnableArgs<List<OrdineAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed){
|
||||
|
||||
String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
|
||||
|
||||
@ -86,26 +86,26 @@ public class AccettazioneHelper {
|
||||
List<OrdineAccettazioneDTO> dto = response.body().getDto();
|
||||
|
||||
for (OrdineAccettazioneDTO ordine : dto) {
|
||||
for(OrdineAccettazioneDTO.Riga riga : ordine.ordini){
|
||||
riga.numOrd = ordine.numero;
|
||||
riga.dataOrd = ordine.data;
|
||||
riga.gestioneOrd = ordine.gestione;
|
||||
riga.codAlis = ordine.codAlis;
|
||||
for(OrdineAccettazioneDTO.Riga riga : ordine.getOrdini()){
|
||||
riga.numOrd = ordine.getNumero();
|
||||
riga.dataOrd = ordine.getData();
|
||||
riga.gestioneOrd = ordine.getGestione();
|
||||
riga.codAlis = ordine.getCodAlis();
|
||||
}
|
||||
}
|
||||
|
||||
callback.onLoadSuccess(dto);
|
||||
onComplete.run(dto);
|
||||
} else {
|
||||
Log.e("Accettazione", response.body().getErrorMessage());
|
||||
callback.onLoadFail(new Exception(response.message()));
|
||||
onFailed.run(new Exception(response.message()));
|
||||
}
|
||||
} else {
|
||||
Log.e("Accettazione", response.message());
|
||||
callback.onLoadFail(new Exception(response.message()));
|
||||
onFailed.run(new Exception(response.message()));
|
||||
}
|
||||
} else {
|
||||
Log.e("Accettazione", "Status " + response.code() + ": " + response.message());
|
||||
callback.onLoadFail(new Exception("Status " + response.code() + ": " + response.message()));
|
||||
onFailed.run(new Exception("Status " + response.code() + ": " + response.message()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,50 +113,32 @@ public class AccettazioneHelper {
|
||||
public void onFailure(Call<ServiceRESTResponse<List<OrdineAccettazioneDTO>>> call, Throwable t) {
|
||||
Log.e("Accettazione", t.toString());
|
||||
UtilityLogger.errorMe(new Exception(t));
|
||||
callback.onLoadFail(new Exception(t));
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<OrdineAccettazioneGroupedInevasoDTO> getSelectedOrders(List<OrdineAccettazioneGroupedInevasoDTO> groupedOrdiniInevasi){
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrdini = new ArrayList<>();
|
||||
|
||||
for(int i = 0; i < groupedOrdiniInevasi.size(); i++){
|
||||
List<OrdineAccettazioneGroupedInevasoDTO.Ordine> selectedOrdiniGroup = new ArrayList<>();
|
||||
|
||||
for(int j = 0; j < groupedOrdiniInevasi.get(i).ordini.size(); j++){
|
||||
if(groupedOrdiniInevasi.get(i).ordini.get(j).checkBox) {
|
||||
selectedOrdiniGroup.add(groupedOrdiniInevasi.get(i).ordini.get(j));
|
||||
}
|
||||
public List<OrdineAccettazioneInevasoDTO> getSelectedOrders(List<OrdineAccettazioneInevasoDTO> ordiniList){
|
||||
return Stream.of(ordiniList)
|
||||
.filter(OrdineAccettazioneInevasoDTO::isSelected)
|
||||
.toList();
|
||||
}
|
||||
|
||||
if(selectedOrdiniGroup.size() > 0) {
|
||||
try {
|
||||
OrdineAccettazioneGroupedInevasoDTO cloneOrdine = groupedOrdiniInevasi.get(i).clone();
|
||||
cloneOrdine.ordini = selectedOrdiniGroup;
|
||||
selectedOrdini.add(cloneOrdine);
|
||||
} catch (CloneNotSupportedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return selectedOrdini;
|
||||
}
|
||||
|
||||
public List<OrdineAccettazioneGroupedInevasoDTO> getFilteredOrdersByFornitore(List<OrdineAccettazioneGroupedInevasoDTO> groupedOrdiniInevasi, String textFilter){
|
||||
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrdini = new ArrayList<>();
|
||||
public List<OrdineAccettazioneInevasoDTO> getFilteredOrdersByFornitore(List<OrdineAccettazioneInevasoDTO> groupedOrdiniInevasi, String textFilter){
|
||||
List<OrdineAccettazioneInevasoDTO> filteredOrders = new ArrayList<>();
|
||||
|
||||
for(int i = 0; i < groupedOrdiniInevasi.size(); i++){
|
||||
|
||||
if(groupedOrdiniInevasi.get(i).nomeFornitore.toLowerCase().contains(textFilter.toLowerCase())){
|
||||
selectedOrdini.add(groupedOrdiniInevasi.get(i));
|
||||
if(groupedOrdiniInevasi.get(i).getRagSocOrd().toLowerCase().contains(textFilter.toLowerCase())){
|
||||
filteredOrders.add(groupedOrdiniInevasi.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
return selectedOrdini;
|
||||
return filteredOrders;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,213 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione.core;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.core.util.Pools;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.Html;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
||||
|
||||
/**
|
||||
* Created by GiuseppeS on 06/03/2018.
|
||||
*/
|
||||
|
||||
public class MainListAccettazioneAdapter extends RecyclerView.Adapter<MainListAccettazioneAdapter.ViewHolder> {
|
||||
|
||||
private Context mContext;
|
||||
private List<OrdineAccettazioneGroupedInevasoDTO> mDataset;
|
||||
private RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> mOnGroupSelected;
|
||||
|
||||
private Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(2000);
|
||||
private Pools.SynchronizedPool sPoolClienti = new Pools.SynchronizedPool(3000);
|
||||
|
||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
// each data item is just a string in this case
|
||||
private TextView mTextViewGroupHeader;
|
||||
private LinearLayout mLinearLayoutGroupItemContainer;
|
||||
|
||||
private List<View> views = new ArrayList<>();
|
||||
|
||||
public ViewHolder(View v) {
|
||||
super(v);
|
||||
}
|
||||
}
|
||||
|
||||
// Provide a suitable constructor (depends on the kind of dataset)
|
||||
public MainListAccettazioneAdapter(Context context, List<OrdineAccettazioneGroupedInevasoDTO> myDataset, RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelected) {
|
||||
mContext = context;
|
||||
mDataset = myDataset;
|
||||
mOnGroupSelected = onGroupSelected;
|
||||
}
|
||||
|
||||
// Create new views (invoked by the layout manager)
|
||||
@Override
|
||||
public MainListAccettazioneAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
|
||||
int viewType) {
|
||||
// create a new view
|
||||
View v = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.accettazione_main_list_model, parent, false);
|
||||
|
||||
ViewHolder vh = new ViewHolder(v);
|
||||
|
||||
TextView groupHeader = v.findViewById(R.id.accettazione_main_list_group_header);
|
||||
vh.mTextViewGroupHeader = groupHeader;
|
||||
|
||||
LinearLayout groupItemContainer = v.findViewById(R.id.accettazione_main_list_group_item_container);
|
||||
vh.mLinearLayoutGroupItemContainer = groupItemContainer;
|
||||
|
||||
return vh;
|
||||
}
|
||||
|
||||
// Replace the contents of a view (invoked by the layout manager)
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
// - get element from your dataset at this position
|
||||
// - replace the contents of the view with that element
|
||||
|
||||
final List<OrdineAccettazioneGroupedInevasoDTO.Ordine> subGroup = mDataset.get(position).ordini;
|
||||
final int finalPosition = position;
|
||||
|
||||
holder.mTextViewGroupHeader.setText(mDataset.get(position).nomeFornitore);
|
||||
holder.itemView.setOnClickListener(view -> {
|
||||
boolean newValue = true;
|
||||
|
||||
for(int i = 0; i < subGroup.size(); i++){
|
||||
if(subGroup.get(i).checkBox) newValue = false;
|
||||
}
|
||||
|
||||
for(int i = 0; i < subGroup.size(); i++){
|
||||
subGroup.get(i).setCheckbox(newValue);
|
||||
}
|
||||
|
||||
mOnGroupSelected.run(mDataset.get(finalPosition));
|
||||
});
|
||||
|
||||
for (int i = 0; i < subGroup.size(); i++) {
|
||||
final OrdineAccettazioneGroupedInevasoDTO.Ordine ordine = subGroup.get(i);
|
||||
|
||||
ordine.checkBoxCallback = new ArrayList<>();
|
||||
|
||||
View groupModelViewPool = (View) sPool.acquire();
|
||||
if(groupModelViewPool == null){
|
||||
groupModelViewPool = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.accettazione_main_list_group_model, holder.mLinearLayoutGroupItemContainer, false);
|
||||
}
|
||||
|
||||
View groupModelView = groupModelViewPool;
|
||||
holder.views.add(groupModelView);
|
||||
|
||||
|
||||
groupModelView.setVisibility(View.VISIBLE);
|
||||
|
||||
if (i % 2 == 1) {
|
||||
groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
|
||||
} else {
|
||||
groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.white));
|
||||
}
|
||||
|
||||
final CheckBox checkBox = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_checkBox);
|
||||
checkBox.setChecked(ordine.checkBox);
|
||||
|
||||
ordine.checkBoxCallback.add(checkBox::setChecked);
|
||||
|
||||
groupModelView.setOnClickListener(view -> {
|
||||
checkBox.toggle();
|
||||
ordine.checkBox = checkBox.isChecked();
|
||||
mOnGroupSelected.run(mDataset.get(finalPosition));
|
||||
// mCheckBoxCallback.onToggle(checkBox.isChecked());
|
||||
});
|
||||
|
||||
TextView testataOrdTextView = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_testata_ord);
|
||||
String testataOrdString = String.format(mContext.getString(R.string.ord_acq_testata), String.valueOf(ordine.numero), UtilityDate.formatDate(ordine.getData(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
testataOrdTextView.setText(Html.fromHtml(testataOrdString));
|
||||
|
||||
LinearLayout clientLinearLayout = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_clienti_ord);
|
||||
List<OrdineAccettazioneGroupedInevasoDTO.Cliente> subGroupClienti = ordine.clienti;
|
||||
|
||||
clientLinearLayout.removeAllViews();
|
||||
|
||||
for (int k = 0; k < subGroupClienti.size(); k++) {
|
||||
|
||||
|
||||
View groupClienteModelViewPool = (View) sPoolClienti.acquire();
|
||||
if(groupClienteModelViewPool == null){
|
||||
groupClienteModelViewPool = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.accettazione_main_list_group_clienti, clientLinearLayout, false);
|
||||
}
|
||||
|
||||
View groupClienteModelView = groupClienteModelViewPool;
|
||||
|
||||
|
||||
TextView clienteComm = groupClienteModelView.findViewById(R.id.accettazione_main_list_group_clienti_comm);
|
||||
String clienteText;
|
||||
// clienteText = subGroupClienti.get(k).codJcom + " - " + subGroupClienti.get(k).descrCom;
|
||||
clienteText = subGroupClienti.get(k).rifOrd;
|
||||
clienteComm.setText(clienteText);
|
||||
|
||||
TextView dataCons = groupClienteModelView.findViewById(R.id.accettazione_main_list_group_clienti_datacons);
|
||||
if (subGroupClienti.get(k).getDataCons() != null) {
|
||||
dataCons.setText(UtilityDate.formatDate(subGroupClienti.get(k).getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
} else {
|
||||
dataCons.setText("");
|
||||
}
|
||||
|
||||
clientLinearLayout.addView(groupClienteModelView);
|
||||
}
|
||||
|
||||
holder.mLinearLayoutGroupItemContainer.addView(groupModelView);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewRecycled(ViewHolder holder){
|
||||
if(holder != null){
|
||||
for(int i = 0; i < holder.views.size(); i++){
|
||||
View groupModelView = holder.views.get(i);
|
||||
|
||||
LinearLayout clientLinearLayout = groupModelView.findViewById(R.id.accettazione_main_list_group_item_container_clienti_ord);
|
||||
|
||||
for(int k = 0; k < clientLinearLayout.getChildCount(); k++){
|
||||
View cliente = clientLinearLayout.getChildAt(k);
|
||||
((ViewGroup) cliente.getParent()).removeView(cliente);
|
||||
|
||||
sPoolClienti.release(cliente);
|
||||
}
|
||||
|
||||
((ViewGroup) groupModelView.getParent()).removeView(groupModelView);
|
||||
sPool.release(groupModelView);
|
||||
}
|
||||
|
||||
holder.views.clear();
|
||||
}
|
||||
|
||||
super.onViewRecycled(holder);
|
||||
}
|
||||
|
||||
// Return the size of your dataset (invoked by the layout manager)
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
|
||||
public void setFilter(List<OrdineAccettazioneGroupedInevasoDTO> newDataset) {
|
||||
mDataset = new ArrayList<>();
|
||||
mDataset.addAll(newDataset);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,194 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione.core;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Html;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.Observable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.AccettazioneMainListGroupClientiBinding;
|
||||
import it.integry.integrywmsnative.databinding.AccettazioneMainListGroupModelBinding;
|
||||
import it.integry.integrywmsnative.databinding.AccettazioneMainListModelBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.prod_ord_produzione.core.OrdineProduzioneListAdapter;
|
||||
import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
|
||||
|
||||
public class MainListAccettazioneAdapterNew extends SectionedRecyclerViewAdapter<MainListAccettazioneAdapterNew.SubheaderHolder, MainListAccettazioneAdapterNew.SingleItemViewHolder> implements SectionTitleProvider {
|
||||
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private List<OrdineAccettazioneInevasoDTO> mOriginalDataset;
|
||||
private List<OrdineAccettazioneInevasoDTO> mDataset;
|
||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> mOnSingleSelectionChanged;
|
||||
|
||||
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
AccettazioneMainListModelBinding binding;
|
||||
|
||||
SubheaderHolder(AccettazioneMainListModelBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
AccettazioneMainListGroupModelBinding binding;
|
||||
|
||||
SingleItemViewHolder(AccettazioneMainListGroupModelBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.binding = binding;
|
||||
}
|
||||
}
|
||||
|
||||
public MainListAccettazioneAdapterNew(Context context, List<OrdineAccettazioneInevasoDTO> myDataset, RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged) {
|
||||
mContext = context;
|
||||
mOriginalDataset = myDataset;
|
||||
mDataset = orderItems(myDataset);
|
||||
mOnSingleSelectionChanged = onSingleSelectionChanged;
|
||||
}
|
||||
|
||||
public void updateItems(List<OrdineAccettazioneInevasoDTO> updatedDataset) {
|
||||
mDataset.clear();
|
||||
mDataset.addAll(orderItems(updatedDataset));
|
||||
notifyDataSetChanged();
|
||||
notifyDataChanged();
|
||||
}
|
||||
|
||||
|
||||
private List<OrdineAccettazioneInevasoDTO> orderItems(List<OrdineAccettazioneInevasoDTO> dataset) {
|
||||
return Stream.of(dataset)
|
||||
.distinctBy(OrdineAccettazioneInevasoDTO::getBarcode)
|
||||
.sortBy(x -> x.getRagSocOrd() + "" + UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))
|
||||
.toList();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
|
||||
AccettazioneMainListModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.accettazione_main_list_model, parent, false);
|
||||
return new SubheaderHolder(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
|
||||
AccettazioneMainListGroupModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.accettazione_main_list_group_model, parent, false);
|
||||
return new SingleItemViewHolder(binding);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
|
||||
subheaderHolder.binding.accettazioneMainListGroupHeader.setText(mDataset.get(nextItemPosition).getRagSocOrd());
|
||||
|
||||
subheaderHolder.binding.getRoot().setOnClickListener(v -> {
|
||||
|
||||
boolean anySelected = Stream.of(mDataset)
|
||||
.filter(x -> x.getCodAnagOrd().equals(mDataset.get(nextItemPosition).getCodAnagOrd()))
|
||||
.anyMatch(OrdineAccettazioneInevasoDTO::isSelected);
|
||||
|
||||
Stream.of(mDataset)
|
||||
.filter(x -> x.getCodAnagOrd().equals(mDataset.get(nextItemPosition).getCodAnagOrd()))
|
||||
.forEach(x -> x.setSelected(!anySelected));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindItemViewHolder(SingleItemViewHolder h, int itemPosition) {
|
||||
final OrdineAccettazioneInevasoDTO ordine = mDataset.get(itemPosition);
|
||||
final SingleItemViewHolder holder = h;
|
||||
|
||||
holder.binding.accettazioneMainListGroupItemContainerCheckBox.setTag(ordine.getNumero());
|
||||
|
||||
holder.binding.accettazioneMainListGroupItemContainerCheckBox.setOnCheckedChangeListener(null);
|
||||
|
||||
ordine.selected.resetOnPropertyChangedCallback();
|
||||
|
||||
|
||||
String testataOrdString = String.format(mContext.getString(R.string.ord_acq_testata), String.valueOf(ordine.getNumero()), UtilityDate.formatDate(ordine.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
holder.binding.accettazioneMainListGroupItemContainerTestataOrd.setText(Html.fromHtml(testataOrdString));
|
||||
|
||||
holder.binding.accettazioneMainListGroupItemContainerClientiOrd.removeAllViews();
|
||||
|
||||
List<OrdineAccettazioneInevasoDTO> clienti = Stream.of(mOriginalDataset)
|
||||
.filter(x -> x.getBarcode().equals(ordine.getBarcode()))
|
||||
.toList();
|
||||
|
||||
for (OrdineAccettazioneInevasoDTO cliente : clienti) {
|
||||
AccettazioneMainListGroupClientiBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.accettazione_main_list_group_clienti, holder.binding.accettazioneMainListGroupItemContainerClientiOrd, false);
|
||||
|
||||
binding.accettazioneMainListGroupClientiComm.setText(cliente.getRifOrd());
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(cliente.getDataConsS())) {
|
||||
binding.accettazioneMainListGroupClientiDatacons.setText(UtilityDate.formatDate(cliente.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
} else {
|
||||
binding.accettazioneMainListGroupClientiDatacons.setText("");
|
||||
}
|
||||
|
||||
holder.binding.accettazioneMainListGroupItemContainerClientiOrd.addView(binding.getRoot());
|
||||
}
|
||||
|
||||
holder.binding.setCheckboxValue(ordine.selected);
|
||||
|
||||
holder.binding.getRoot().setOnClickListener(v -> {
|
||||
ordine.setSelected(!ordine.isSelected());
|
||||
});
|
||||
|
||||
holder.binding.accettazioneMainListGroupItemContainerCheckBox.setChecked(ordine.isSelected());
|
||||
|
||||
//Bindable to View
|
||||
ordine.selected.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
||||
@Override
|
||||
public void onPropertyChanged(Observable sender, int propertyId) {
|
||||
if(holder.binding.accettazioneMainListGroupItemContainerCheckBox.getTag().equals(ordine.getNumero())) {
|
||||
holder.binding.accettazioneMainListGroupItemContainerCheckBox.setChecked(((BindableBoolean) sender).get());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//View to Bindable
|
||||
holder.binding.accettazioneMainListGroupItemContainerCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
ordine.setSelected(isChecked);
|
||||
mOnSingleSelectionChanged.run(ordine);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onPlaceSubheaderBetweenItems(int position) {
|
||||
return !this.mDataset.get(position).getRagSocOrd().equalsIgnoreCase(this.mDataset.get(position + 1).getRagSocOrd());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemSize() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSectionTitle(int position) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -20,17 +20,17 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
|
||||
public class OrdineAccettazioneDTO implements Parcelable {
|
||||
|
||||
public String ragSoc;
|
||||
public int numero;
|
||||
public String data;
|
||||
public String gestione;
|
||||
public String codMdep;
|
||||
public String codAnag;
|
||||
private String ragSoc;
|
||||
private int numero;
|
||||
private String data;
|
||||
private String gestione;
|
||||
private String codMdep;
|
||||
private String codAnag;
|
||||
private String codVdes;
|
||||
private String termCons;
|
||||
public ArrayList<Riga> ordini;
|
||||
public String codAlis;
|
||||
public String rifOrd;
|
||||
private ArrayList<Riga> ordini;
|
||||
private String codAlis;
|
||||
private String rifOrd;
|
||||
|
||||
|
||||
public static class Riga implements Parcelable {
|
||||
@ -242,6 +242,8 @@ public class OrdineAccettazioneDTO implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Riga(){}
|
||||
|
||||
protected Riga(Parcel in) {
|
||||
@ -382,5 +384,102 @@ public class OrdineAccettazioneDTO implements Parcelable {
|
||||
};
|
||||
|
||||
|
||||
public String getRagSoc() {
|
||||
return ragSoc;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setRagSoc(String ragSoc) {
|
||||
this.ragSoc = ragSoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getNumero() {
|
||||
return numero;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setNumero(int numero) {
|
||||
this.numero = numero;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setData(String data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGestione() {
|
||||
return gestione;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setGestione(String gestione) {
|
||||
this.gestione = gestione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVdes() {
|
||||
return codVdes;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setCodVdes(String codVdes) {
|
||||
this.codVdes = codVdes;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTermCons() {
|
||||
return termCons;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setTermCons(String termCons) {
|
||||
this.termCons = termCons;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ArrayList<Riga> getOrdini() {
|
||||
return ordini;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setOrdini(ArrayList<Riga> ordini) {
|
||||
this.ordini = ordini;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAlis() {
|
||||
return codAlis;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setCodAlis(String codAlis) {
|
||||
this.codAlis = codAlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRifOrd() {
|
||||
return rifOrd;
|
||||
}
|
||||
|
||||
public OrdineAccettazioneDTO setRifOrd(String rifOrd) {
|
||||
this.rifOrd = rifOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,233 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione.dto;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
|
||||
/**
|
||||
* Created by GiuseppeS on 06/03/2018.
|
||||
*/
|
||||
|
||||
public class OrdineAccettazioneGroupedInevasoDTO implements Cloneable, Serializable, Parcelable {
|
||||
|
||||
public String codAnagForn;
|
||||
public String nomeFornitore;
|
||||
public List<Ordine> ordini;
|
||||
|
||||
public OrdineAccettazioneGroupedInevasoDTO clone() throws CloneNotSupportedException {
|
||||
return (OrdineAccettazioneGroupedInevasoDTO) super.clone();
|
||||
}
|
||||
|
||||
|
||||
public static class Ordine implements Parcelable{
|
||||
public String data;
|
||||
public int numero;
|
||||
public String codAnagOrd = "";
|
||||
public String ragSocOrd = "";
|
||||
public Float pesoTotale;
|
||||
public String barcode;
|
||||
public String termCons;
|
||||
public String dataCons;
|
||||
public String rifOrd;
|
||||
public String gestione;
|
||||
|
||||
public boolean checkBox;
|
||||
public List<ICheckBoxCallback> checkBoxCallback = new ArrayList<>();
|
||||
public void setCheckbox(boolean newValue){
|
||||
checkBox = newValue;
|
||||
if(checkBoxCallback != null && checkBoxCallback.size() > 0) {
|
||||
for(ICheckBoxCallback callback : checkBoxCallback) callback.onToggle(newValue);
|
||||
}
|
||||
}
|
||||
|
||||
public List<Cliente> clienti;
|
||||
|
||||
|
||||
public Date getData(){
|
||||
try {
|
||||
return UtilityDate.recognizeDate(data);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public Ordine(){}
|
||||
|
||||
protected Ordine(Parcel in) {
|
||||
data = in.readString();
|
||||
numero = in.readInt();
|
||||
codAnagOrd = in.readString();
|
||||
ragSocOrd = in.readString();
|
||||
pesoTotale = in.readByte() == 0x00 ? null : in.readFloat();
|
||||
barcode = in.readString();
|
||||
termCons = in.readString();
|
||||
dataCons = in.readString();
|
||||
rifOrd = in.readString();
|
||||
if (in.readByte() == 0x01) {
|
||||
clienti = new ArrayList<Cliente>();
|
||||
in.readList(clienti, Cliente.class.getClassLoader());
|
||||
} else {
|
||||
clienti = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeString(data);
|
||||
dest.writeInt(numero);
|
||||
dest.writeString(codAnagOrd);
|
||||
dest.writeString(ragSocOrd);
|
||||
if (pesoTotale == null) {
|
||||
dest.writeByte((byte) (0x00));
|
||||
} else {
|
||||
dest.writeByte((byte) (0x01));
|
||||
dest.writeFloat(pesoTotale);
|
||||
}
|
||||
dest.writeString(barcode);
|
||||
dest.writeString(termCons);
|
||||
dest.writeString(dataCons);
|
||||
dest.writeString(rifOrd);
|
||||
if (clienti == null) {
|
||||
dest.writeByte((byte) (0x00));
|
||||
} else {
|
||||
dest.writeByte((byte) (0x01));
|
||||
dest.writeList(clienti);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static final Parcelable.Creator<Ordine> CREATOR = new Parcelable.Creator<Ordine>() {
|
||||
@Override
|
||||
public Ordine createFromParcel(Parcel in) {
|
||||
return new Ordine(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ordine[] newArray(int size) {
|
||||
return new Ordine[size];
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
public static class Cliente implements Parcelable{
|
||||
public String codJcom;
|
||||
public String ragSocCom;
|
||||
public int idRiga;
|
||||
public String dataCons;
|
||||
public Integer numCnf;
|
||||
public String descrCom;
|
||||
public String rifOrd;
|
||||
|
||||
public Date getDataCons(){
|
||||
try {
|
||||
return UtilityDate.recognizeDate(dataCons);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Cliente(){}
|
||||
|
||||
protected Cliente(Parcel in) {
|
||||
codJcom = in.readString();
|
||||
ragSocCom = in.readString();
|
||||
idRiga = in.readInt();
|
||||
dataCons = in.readString();
|
||||
numCnf = in.readByte() == 0x00 ? null : in.readInt();
|
||||
descrCom = in.readString();
|
||||
rifOrd = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeString(codJcom);
|
||||
dest.writeString(ragSocCom);
|
||||
dest.writeInt(idRiga);
|
||||
dest.writeString(dataCons);
|
||||
if (numCnf == null) {
|
||||
dest.writeByte((byte) (0x00));
|
||||
} else {
|
||||
dest.writeByte((byte) (0x01));
|
||||
dest.writeInt(numCnf);
|
||||
}
|
||||
dest.writeString(descrCom);
|
||||
dest.writeString(rifOrd);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static final Parcelable.Creator<Cliente> CREATOR = new Parcelable.Creator<Cliente>() {
|
||||
@Override
|
||||
public Cliente createFromParcel(Parcel in) {
|
||||
return new Cliente(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Cliente[] newArray(int size) {
|
||||
return new Cliente[size];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public OrdineAccettazioneGroupedInevasoDTO(){}
|
||||
|
||||
protected OrdineAccettazioneGroupedInevasoDTO(Parcel in) {
|
||||
codAnagForn = in.readString();
|
||||
nomeFornitore = in.readString();
|
||||
if (in.readByte() == 0x01) {
|
||||
ordini = new ArrayList<Ordine>();
|
||||
in.readList(ordini, Ordine.class.getClassLoader());
|
||||
} else {
|
||||
ordini = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeString(codAnagForn);
|
||||
dest.writeString(nomeFornitore);
|
||||
if (ordini == null) {
|
||||
dest.writeByte((byte) (0x00));
|
||||
} else {
|
||||
dest.writeByte((byte) (0x01));
|
||||
dest.writeList(ordini);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static final Parcelable.Creator<OrdineAccettazioneGroupedInevasoDTO> CREATOR = new Parcelable.Creator<OrdineAccettazioneGroupedInevasoDTO>() {
|
||||
@Override
|
||||
public OrdineAccettazioneGroupedInevasoDTO createFromParcel(Parcel in) {
|
||||
return new OrdineAccettazioneGroupedInevasoDTO(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrdineAccettazioneGroupedInevasoDTO[] newArray(int size) {
|
||||
return new OrdineAccettazioneGroupedInevasoDTO[size];
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
@ -98,7 +98,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
|
||||
private void setTitle(List<OrdineAccettazioneDTO> ordini){
|
||||
if(ordini.size() > 0){
|
||||
if(ordini.size() == 1){
|
||||
setTitle(ordini.get(0).ragSoc);
|
||||
setTitle(ordini.get(0).getRagSoc());
|
||||
} else {
|
||||
setTitle(R.string.accettazione_ordine_inevaso_title_multiple_order);
|
||||
}
|
||||
|
||||
@ -27,12 +27,12 @@ public class OrdineAccettazioneInevasoRESTConsumerService {
|
||||
|
||||
Stream.of(ordiniToShow).forEach(x -> {
|
||||
try {
|
||||
Date date = UtilityDate.recognizeDate(x.data);
|
||||
Date date = UtilityDate.recognizeDate(x.getData());
|
||||
String dateString = UtilityDate.formatDate(date, "yyyy/MM/dd");
|
||||
|
||||
if (!colliWhereCond.contains(x.gestione + " " + dateString + " " + x.numero)) {
|
||||
String gestione = x.gestione.equalsIgnoreCase("P") ? "L" : x.gestione;
|
||||
colliWhereCond.add(gestione + " " + dateString + " " + x.numero);
|
||||
if (!colliWhereCond.contains(x.getGestione() + " " + dateString + " " + x.getNumero())) {
|
||||
String gestione = x.getGestione().equalsIgnoreCase("P") ? "L" : x.getGestione();
|
||||
colliWhereCond.add(gestione + " " + dateString + " " + x.getNumero());
|
||||
}
|
||||
} catch (Exception ex){
|
||||
UtilityLogger.errorMe(ex);
|
||||
|
||||
@ -97,7 +97,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
|
||||
groupedOrdini = new ArrayList<>();
|
||||
for (OrdineAccettazioneDTO ordine : mOrders){
|
||||
groupedOrdini.addAll(ordine.ordini);
|
||||
groupedOrdini.addAll(ordine.getOrdini());
|
||||
}
|
||||
|
||||
helper = new AccettazioneOrdineInevasoHelper(mActivity);
|
||||
@ -475,7 +475,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
|
||||
List<String> codAnags =
|
||||
stream(mOrders)
|
||||
.select(c -> c.codAnag)
|
||||
.select(c -> c.getCodAnag())
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
@ -485,7 +485,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
|
||||
List<String> rifOrds =
|
||||
stream(mOrders)
|
||||
.select(c -> c.rifOrd)
|
||||
.select(c -> c.getRifOrd())
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
@ -495,13 +495,13 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
|
||||
List<String> numDataOrds =
|
||||
stream(mOrders)
|
||||
.select(value -> ("" + value.numero) + value.data)
|
||||
.select(value -> ("" + value.getNumero()) + value.getData())
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
if(numDataOrds != null && numDataOrds.size() == 1){
|
||||
mtbColtToAddRefs.setNumOrd(mOrders.get(0).numero);
|
||||
mtbColtToAddRefs.setDataOrd(mOrders.get(0).data);
|
||||
mtbColtToAddRefs.setNumOrd(mOrders.get(0).getNumero());
|
||||
mtbColtToAddRefs.setDataOrd(mOrders.get(0).getData());
|
||||
|
||||
try {
|
||||
mtbColtToAddRefs.generaFiltroOrdine();
|
||||
|
||||
@ -162,15 +162,11 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
|
||||
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
|
||||
|
||||
if(!SettingsManager.iDB().isFlagMultiClienteOrdV()){
|
||||
boolean allMatch = Stream.of(selectedOrders).allMatch(x -> dto.getCodAnagOrd().equalsIgnoreCase(x.getCodAnagOrd()));
|
||||
|
||||
if(!allMatch) {
|
||||
if(dto.isSelected()) {
|
||||
Stream.of(selectedOrders)
|
||||
.filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(x.getCodAnagOrd()))
|
||||
.filter(x -> !x.getCodAnagOrd().equalsIgnoreCase(dto.getCodAnagOrd()))
|
||||
.forEach(x -> x.setSelected(false));
|
||||
}
|
||||
}
|
||||
|
||||
if(selectedOrders != null && selectedOrders.size() > 0) {
|
||||
mBinding.ordineProduzioneMainFab.show();
|
||||
@ -200,14 +196,14 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
|
||||
AtomicInteger artsCounter = new AtomicInteger();
|
||||
|
||||
Stream.of(ordini).forEach(x -> {
|
||||
artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.getQtaDaEvadere().floatValue() > 0).count());
|
||||
artsCounter.addAndGet((int) Stream.of(x.getOrdini()).filter(y -> y.getQtaDaEvadere().floatValue() > 0).count());
|
||||
});
|
||||
|
||||
List<String> ordersKeys = new ArrayList<>();
|
||||
|
||||
for(OrdineAccettazioneDTO ordine : ordini){
|
||||
if(!ordersKeys.contains(ordine.data + " " + ordine.numero + " " + ordine.gestione)){
|
||||
ordersKeys.add(ordine.data + " " + ordine.numero + " " + ordine.gestione);
|
||||
if(!ordersKeys.contains(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione())){
|
||||
ordersKeys.add(ordine.getData() + " " + ordine.getNumero() + " " + ordine.getGestione());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -80,11 +80,11 @@ public class OrdineProduzioneHelper {
|
||||
List<OrdineAccettazioneDTO> dto = response.body().getDto();
|
||||
|
||||
for (OrdineAccettazioneDTO ordine : dto) {
|
||||
for(OrdineAccettazioneDTO.Riga riga : ordine.ordini){
|
||||
riga.numOrd = ordine.numero;
|
||||
riga.dataOrd = ordine.data;
|
||||
riga.gestioneOrd = ordine.gestione;
|
||||
riga.codAlis = ordine.codAlis;
|
||||
for(OrdineAccettazioneDTO.Riga riga : ordine.getOrdini()){
|
||||
riga.numOrd = ordine.getNumero();
|
||||
riga.dataOrd = ordine.getData();
|
||||
riga.gestioneOrd = ordine.getGestione();
|
||||
riga.codAlis = ordine.getCodAlis();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
@ -35,6 +36,7 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private List<OrdineAccettazioneInevasoDTO> mOriginalDataset;
|
||||
private List<OrdineAccettazioneInevasoDTO> mDataset;
|
||||
private RunnableArgs<OrdineAccettazioneInevasoDTO> mOnSingleSelectionChanged;
|
||||
|
||||
@ -63,6 +65,7 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
|
||||
public OrdineProduzioneListAdapter(Context context, List<OrdineAccettazioneInevasoDTO> myDataset, RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged) {
|
||||
mContext = context;
|
||||
mOriginalDataset = myDataset;
|
||||
mDataset = orderItems(myDataset);
|
||||
mOnSingleSelectionChanged = onSingleSelectionChanged;
|
||||
}
|
||||
@ -78,7 +81,7 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
private List<OrdineAccettazioneInevasoDTO> orderItems(List<OrdineAccettazioneInevasoDTO> dataset) {
|
||||
return Stream.of(dataset)
|
||||
.distinctBy(OrdineAccettazioneInevasoDTO::getBarcode)
|
||||
.sortBy(OrdineAccettazioneInevasoDTO::getRagSocOrd)
|
||||
.sortBy(x -> x.getRagSocOrd() + "" + UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))
|
||||
.toList();
|
||||
|
||||
}
|
||||
@ -86,15 +89,15 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
|
||||
|
||||
@Override
|
||||
public OrdineProduzioneListAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
|
||||
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
|
||||
FragmentProdOrdineProduzioneListModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_prod_ordine_produzione__list_model, parent, false);
|
||||
return new OrdineProduzioneListAdapter.SubheaderHolder(binding);
|
||||
return new SubheaderHolder(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrdineProduzioneListAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
|
||||
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
|
||||
FragmentProdOrdineProduzioneListGroupModelBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_prod_ordine_produzione__list_group_model, parent, false);
|
||||
return new OrdineProduzioneListAdapter.SingleItemViewHolder(binding);
|
||||
return new SingleItemViewHolder(binding);
|
||||
}
|
||||
|
||||
|
||||
@ -131,7 +134,7 @@ public class OrdineProduzioneListAdapter extends SectionedRecyclerViewAdapter<Or
|
||||
|
||||
holder.binding.ordineProduzioneMainListGroupItemContainerClientiOrd.removeAllViews();
|
||||
|
||||
List<OrdineAccettazioneInevasoDTO> clienti = Stream.of(mDataset)
|
||||
List<OrdineAccettazioneInevasoDTO> clienti = Stream.of(mOriginalDataset)
|
||||
.filter(x -> x.getBarcode().equals(ordine.getBarcode()))
|
||||
.toList();
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<layout>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
@ -20,4 +21,5 @@
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_weight="1"
|
||||
android:text="TextView" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
</layout>
|
||||
@ -1,5 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<layout>
|
||||
<data>
|
||||
<import type="it.integry.integrywmsnative.R" />
|
||||
<variable
|
||||
name="checkboxValue"
|
||||
type="it.integry.integrywmsnative.core.di.BindableBoolean" />
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -16,13 +27,13 @@
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@id/accettazione_main_list_group_item_container_checkBox">
|
||||
android:layout_toEndOf="@id/accettazione_main_list_group_item_container_checkBox">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/accettazione_main_list_group_item_container_testata_ord"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ord. Acq. 39 del 27 ott 2017"
|
||||
android:text="Ord. Prod. 39 del 27 ott 2017"
|
||||
android:textColor="#000" />
|
||||
|
||||
|
||||
@ -36,4 +47,7 @@
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</layout>
|
||||
@ -1,23 +1,25 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
||||
<layout>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:card_view="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
xmlns:card_view="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/card_view"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
card_view:cardUseCompatPadding="true"
|
||||
card_view:cardCornerRadius="4dp"
|
||||
card_view:cardElevation="4dp">
|
||||
<!--<androidx.cardview.widget.CardView-->
|
||||
<!--xmlns:card_view="http://schemas.android.com/apk/res-auto"-->
|
||||
<!--android:id="@+id/card_view"-->
|
||||
<!--android:layout_gravity="center"-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--card_view:cardUseCompatPadding="true"-->
|
||||
<!--card_view:cardCornerRadius="4dp"-->
|
||||
<!--card_view:cardElevation="4dp">-->
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
<!--<LinearLayout-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="match_parent"-->
|
||||
<!--android:orientation="vertical">-->
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -43,18 +45,20 @@
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/accettazione_main_list_group_item_container">
|
||||
<!--<LinearLayout-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--android:orientation="vertical"-->
|
||||
<!--android:id="@+id/accettazione_main_list_group_item_container">-->
|
||||
|
||||
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
<!--</androidx.cardview.widget.CardView>-->
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
Loading…
x
Reference in New Issue
Block a user