Finish v1.40.10(427)
This commit is contained in:
commit
fa9947f22b
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 426
|
||||
def appVersionName = '1.40.09'
|
||||
def appVersionCode = 427
|
||||
def appVersionName = '1.40.10'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
|
||||
@ -136,6 +136,14 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
||||
return null;
|
||||
});
|
||||
|
||||
itemType.areContentsTheSame((oldObject, newObject) ->
|
||||
oldObject.getCodMart().equalsIgnoreCase(newObject.getCodMart()) &&
|
||||
oldObject.getNumOrd().equals(newObject.getNumOrd()) &&
|
||||
oldObject.getDataOrd().equals(newObject.getDataOrd())
|
||||
);
|
||||
|
||||
itemType.areItemSame((oldObject, newObject) -> oldObject == newObject);
|
||||
|
||||
new LiveAdapter(mItemsInventario)
|
||||
.map(ArtsInGiacenzaDTO.class, itemType)
|
||||
.into(this.mBindings.inventarioList);
|
||||
@ -199,10 +207,10 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
||||
.setOnFilterApplied(mFilterViewModel::setPositionFilter)
|
||||
.setPreselected(
|
||||
Stream.of(Objects.requireNonNull(mViewModel.getItemsInventario().getValue()))
|
||||
.filter(mFilterViewModel.getCurrentPositionPredicate().get() == null ?
|
||||
x -> false : Objects.requireNonNull(mFilterViewModel.getCurrentPositionPredicate().get()))
|
||||
.map(ArtsInGiacenzaDTO::getPosizione)
|
||||
.toList()
|
||||
.filter(mFilterViewModel.getCurrentPositionPredicate().get() == null ?
|
||||
x -> false : Objects.requireNonNull(mFilterViewModel.getCurrentPositionPredicate().get()))
|
||||
.map(ArtsInGiacenzaDTO::getPosizione)
|
||||
.toList()
|
||||
);
|
||||
}
|
||||
|
||||
@ -213,6 +221,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
||||
|
||||
public void onInfoClick(ArtsInGiacenzaDTO item) {
|
||||
try {
|
||||
BarcodeManager.disable();
|
||||
DialogInfoGiacenzaView.newInstance(item).show(getChildFragmentManager(), DialogInfoGiacenzaView.class.getName());
|
||||
} catch (Exception e) {
|
||||
UtilityExceptions.defaultException(this.getContext(), e);
|
||||
|
||||
@ -179,7 +179,24 @@ public class ProdRiposizionamentoDaProdViewModel {
|
||||
Objects.equals(x.getNumOrd(), dtoList.get(0).getNumOrd()) &&
|
||||
Objects.equals(x.getDataOrd(), dtoList.get(0).getDataOrd())
|
||||
)
|
||||
.findFirstOrElse(null);
|
||||
.findFirstOrElse(new StatoArtInventarioDTO());
|
||||
|
||||
MvwSitArtUdcDetInventario mvwInventario = mvwSitArtUdcDetInventario.get();
|
||||
|
||||
if (mvwInventario.getCodMart().equalsIgnoreCase(dtoList.get(0).getCodMart()) &&
|
||||
Objects.equals(mvwInventario.getNumOrd(), dtoList.get(0).getNumOrd()) &&
|
||||
Objects.equals(mvwInventario.getDataOrd(), dtoList.get(0).getDataOrd())) {
|
||||
BigDecimal colliMag = statoArticolo.getColliMag();
|
||||
Integer pedMag = statoArticolo.getPedMag();
|
||||
BigDecimal qtaMag = statoArticolo.getQtaMag();
|
||||
|
||||
BigDecimal numCnf = mvwInventario.getNumCnf();
|
||||
BigDecimal qtaCol = mvwInventario.getQtaCol();
|
||||
|
||||
statoArticolo.setColliMag(colliMag.add(numCnf));
|
||||
statoArticolo.setQtaMag(qtaMag.add(qtaCol));
|
||||
statoArticolo.setPedMag(pedMag + 1);
|
||||
}
|
||||
|
||||
return new ArtsInGiacenzaDTO()
|
||||
.setCodMart(dtoList.get(0).getCodMart())
|
||||
|
||||
@ -10,13 +10,9 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.BR;
|
||||
@ -24,7 +20,6 @@ import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.databinding.DialogInfoGiacenzaBinding;
|
||||
import it.integry.integrywmsnative.databinding.DialogInfoGiacenzaSituazioneArticoloBinding;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.StatoArtInventarioDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem;
|
||||
@ -34,8 +29,7 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||
DialogInfoGiacenzaViewModel mViewModel;
|
||||
|
||||
private DialogInfoGiacenzaBinding mBindings;
|
||||
private Context mContext;
|
||||
private ArtsInGiacenzaDTO item;
|
||||
private final ArtsInGiacenzaDTO item;
|
||||
|
||||
public static DialogInfoGiacenzaView newInstance(ArtsInGiacenzaDTO item) {
|
||||
return new DialogInfoGiacenzaView(item);
|
||||
@ -48,9 +42,9 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
Context mContext = requireContext();
|
||||
|
||||
mBindings = DialogInfoGiacenzaBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings = DialogInfoGiacenzaBinding.inflate(LayoutInflater.from(mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
MainApplication.appComponent
|
||||
@ -60,7 +54,7 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||
|
||||
setCancelable(true);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
var alertDialog = new MaterialAlertDialogBuilder(mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setNeutralButton(R.string.action_close, null)
|
||||
.setCancelable(isCancelable())
|
||||
@ -86,17 +80,8 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||
if (availableItems == null)
|
||||
return;
|
||||
|
||||
var listItem = Stream.of(availableItems)
|
||||
.flatMap(x -> Stream.of(x.getMvwSitArtUdcDetInventarioDTO())
|
||||
.map(DialogInfoSituazioneArticoloAvailableListItem::fromMvwSitArtUdcDetInventario)
|
||||
)
|
||||
.toList();
|
||||
|
||||
List<StatoArtInventarioDTO> statoArticolo = null;
|
||||
StatoArtInventarioDTO statoArtInventario = availableItems.getStatoArtInventario();
|
||||
if (statoArtInventario != null) {
|
||||
statoArticolo = Stream.of(statoArtInventario).toList();
|
||||
|
||||
if (statoArtInventario.colliArrivoIsLessThenZero() &&
|
||||
statoArtInventario.colliMagIsLessThenZero()) {
|
||||
this.mBindings.situazioneArticolo.setVisibility(View.GONE);
|
||||
@ -105,11 +90,11 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||
this.mBindings.situazioneArticolo.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
new LiveAdapter(listItem, BR.item)
|
||||
new LiveAdapter(this.item.getSituazioneArticoloAvailableListItem(), BR.item)
|
||||
.map(DialogInfoSituazioneArticoloAvailableListItem.class, R.layout.dialog_info_giacenza_list_item)
|
||||
.into(this.mBindings.availableList);
|
||||
|
||||
new LiveAdapter(statoArticolo, BR.item)
|
||||
new LiveAdapter(this.item.getStatoInventario(), BR.item)
|
||||
.map(StatoArtInventarioDTO.class, R.layout.dialog_info_giacenza_situazione_articolo)
|
||||
.into(this.mBindings.situazioneArticolo);
|
||||
}
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem;
|
||||
|
||||
public class ArtsInGiacenzaDTO {
|
||||
|
||||
@ -113,4 +116,16 @@ public class ArtsInGiacenzaDTO {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<DialogInfoSituazioneArticoloAvailableListItem> getSituazioneArticoloAvailableListItem() {
|
||||
return Stream.of(this)
|
||||
.flatMap(x -> Stream.of(x.getMvwSitArtUdcDetInventarioDTO())
|
||||
.map(DialogInfoSituazioneArticoloAvailableListItem::fromMvwSitArtUdcDetInventario)
|
||||
)
|
||||
.toList();
|
||||
}
|
||||
|
||||
public List<StatoArtInventarioDTO> getStatoInventario(){
|
||||
return Stream.of(this.statoArtInventario).toList();
|
||||
}
|
||||
}
|
||||
|
||||
@ -403,32 +403,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
||||
String codMart = dialogInputQuantityV2DTO.getMtbAart().getCodMart();
|
||||
String flagStato = dialogInputQuantityV2DTO.getMtbAart().getFlagStato();
|
||||
|
||||
if (flagStato.equalsIgnoreCase("I")) {
|
||||
DialogSimpleMessageView.makeWarningDialog(
|
||||
new SpannableString(Html.fromHtml(String.format(UtilityResources.getString(R.string.item_not_enabled), codMart))),
|
||||
null,
|
||||
() -> {
|
||||
if (!mDialogInputQuantityV2View.isVisible())
|
||||
mDialogInputQuantityV2View
|
||||
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
||||
.setOnComplete((resultDTO, shouldCloseLU) -> {
|
||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||
.setNumCnf(resultDTO.getNumCnf())
|
||||
.setQtaCnf(resultDTO.getQtaCnf())
|
||||
.setQtaTot(resultDTO.getQtaTot())
|
||||
.setPartitaMag(resultDTO.getPartitaMag())
|
||||
.setDataScad(resultDTO.getDataScad());
|
||||
|
||||
this.onLoadingStarted();
|
||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||
})
|
||||
.setOnAbort(this::onLoadingEnded)
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
},
|
||||
this::onLoadingEnded)
|
||||
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||
} else {
|
||||
this.onLoadingEnded();
|
||||
checkIfItemIsActive(flagStato, codMart, () -> {
|
||||
if (!mDialogInputQuantityV2View.isVisible())
|
||||
mDialogInputQuantityV2View
|
||||
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
||||
@ -440,13 +415,23 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
||||
.setPartitaMag(resultDTO.getPartitaMag())
|
||||
.setDataScad(resultDTO.getDataScad());
|
||||
|
||||
this.onLoadingStarted();
|
||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||
})
|
||||
.setOnAbort(this::onLoadingEnded)
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
}, () -> {});
|
||||
}
|
||||
|
||||
private void checkIfItemIsActive(String flagStato, String codMart, Runnable onContinue, Runnable onNegativeClick){
|
||||
if (flagStato.equalsIgnoreCase("I")) {
|
||||
DialogSimpleMessageView.makeWarningDialog(
|
||||
new SpannableString(Html.fromHtml(String.format(UtilityResources.getString(R.string.item_not_enabled), codMart))),
|
||||
null,
|
||||
onContinue,
|
||||
onNegativeClick)
|
||||
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||
} else {
|
||||
onContinue.run();
|
||||
}
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -271,7 +271,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
this.mViewModel.validate(validated -> {
|
||||
if (validated) {
|
||||
this.mAbort = false;
|
||||
dismiss();this.onLoadingEnded();
|
||||
dismiss();
|
||||
this.mOnComplete.run(this.mViewModel.getResult(), true);
|
||||
}else {
|
||||
this.onLoadingEnded();
|
||||
|
||||
@ -485,7 +485,6 @@ public class DialogInputQuantityV2ViewModel {
|
||||
}
|
||||
|
||||
public void validate(RunnableArgs<Boolean> onValidated) {
|
||||
this.sendOnLoadingStarted();
|
||||
new Thread(() -> {
|
||||
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
||||
|
||||
@ -611,7 +610,6 @@ public class DialogInputQuantityV2ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
this.sendOnLoadingEnded();
|
||||
onValidated.run(true);
|
||||
}).start();
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.exception.AlreadyAttachedDocumentToLUException;
|
||||
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
||||
import it.integry.integrywmsnative.core.exception.TooManyLUFoundInMonoLUPositionException;
|
||||
@ -114,7 +115,20 @@ public class DialogScanOrCreateLUViewModel {
|
||||
|
||||
if (mtbColt == null) {
|
||||
if (mEnableCreation) {
|
||||
this.mColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(barcodeScanDTO, GestioneEnum.LAVORAZIONE, createdMtbColt -> {
|
||||
Integer customNumCollo = null;
|
||||
|
||||
try {
|
||||
customNumCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue());
|
||||
} catch (Exception ex) {
|
||||
this.sendError(ex);
|
||||
}
|
||||
|
||||
var createUdcRequest = new CreateUDCRequestDTO()
|
||||
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep())
|
||||
.setNumCollo(customNumCollo)
|
||||
.setSerCollo(CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE);
|
||||
|
||||
this.mColliLavorazioneRESTConsumer.createUDC(createUdcRequest, createdMtbColt -> {
|
||||
onComplete.run();
|
||||
this.sendOnLUOpened(createdMtbColt, true);
|
||||
}, this::sendError);
|
||||
|
||||
@ -354,8 +354,8 @@
|
||||
<string name="delivered_on">Consegnato il %s</string>
|
||||
<string name="title_dynamic_frudis">Personalizzazioni Frudis</string>
|
||||
|
||||
<string name="batch_lot_not_enabled"><![CDATA[Il lotto: <b>%s</b> non è attivo.]]></string>
|
||||
<string name="item_not_enabled"><![CDATA[L\'articolo: <b>%s</b> non è attivo.]]></string>
|
||||
<string name="batch_lot_not_enabled"><![CDATA[Il lotto: <b>%s</b> non è attivo. Continuare?]]></string>
|
||||
<string name="item_not_enabled"><![CDATA[L\'articolo: <b>%s</b> non è attivo. Continuare?]]></string>
|
||||
<string name="punto_vendita">Punto Vendita</string>
|
||||
<string name="title_dynamic_saporiveri_pv">SaporiVeri PV</string>
|
||||
<string name="generate_orders">Genera ordini di acquisto</string>
|
||||
|
||||
@ -359,8 +359,8 @@
|
||||
<string name="delivered_on">Delivered on %s</string>
|
||||
<string name="title_dynamic_frudis">Frudis customizations</string>
|
||||
|
||||
<string name="batch_lot_not_enabled"><![CDATA[Batch lot: <b>%s</b> is inactive.]]></string>
|
||||
<string name="item_not_enabled"><![CDATA[Item: <b>%s</b> is inactive.]]></string>
|
||||
<string name="batch_lot_not_enabled"><![CDATA[Batch lot: <b>%s</b> is inactive. To continue?]]></string>
|
||||
<string name="item_not_enabled"><![CDATA[Item: <b>%s</b> is inactive. To continue?]]></string>
|
||||
<string name="other">Other</string>
|
||||
<string name="home">Home</string>
|
||||
<string name="logout">Logout</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user