Fix su rettifica giacenza e nuova finestra input qta su versamento merce

This commit is contained in:
Giuseppe Scorrano 2020-10-27 19:21:44 +01:00
parent 74d0369cb5
commit 0d9d0ff8b0
5 changed files with 156 additions and 61 deletions

View File

@ -234,6 +234,20 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO; BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if(x.getWithdrawMtbColrs().size() > 0) {
@ -244,6 +258,9 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
}
if (x.getMtbAart() != null) if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@ -271,6 +288,19 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO; BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if(x.getWithdrawMtbColrs().size() > 0) {
@ -281,6 +311,9 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
}
if (x.getMtbAart() != null) if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
@ -309,6 +342,19 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd())); accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
accettazioneListModel.setUntMis("col");
} else {
BigDecimal qtaEvasa = BigDecimal.ZERO; BigDecimal qtaEvasa = BigDecimal.ZERO;
if(x.getWithdrawMtbColrs().size() > 0) { if(x.getWithdrawMtbColrs().size() > 0) {
@ -319,10 +365,12 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
}
if (x.getMtbAart() != null) { if (x.getMtbAart() != null) {
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa()); accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
} }
accettazioneListModel.setOriginalModel(x); accettazioneListModel.setOriginalModel(x);
@ -481,7 +529,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
} }
@Override @Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) { public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart) .setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf) .setInitialNumCnf(initialNumCnf)
@ -499,7 +547,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
.setPartitaMag(partitaMag) .setPartitaMag(partitaMag)
.setDataScad(dataScad) .setDataScad(dataScad)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged) .setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setCanLUBeClosed(true); .setCanLUBeClosed(true)
.setCanOverflowOrderQuantity(canOverflowQuantity);
DialogInputQuantityV2 DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> { .newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {

View File

@ -851,6 +851,7 @@ public class AccettazionePickingViewModel {
partitaMag, partitaMag,
dataScad, dataScad,
canPartitaMagBeChanged, canPartitaMagBeChanged,
true,
onComplete); onComplete);
} }
@ -899,7 +900,8 @@ public class AccettazionePickingViewModel {
BigDecimal qtaCnfAvailable, BigDecimal qtaCnfAvailable,
String partitaMag, String partitaMag,
Date dataScad, Date dataScad,
boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged,
boolean canOverflowQuantity,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete); RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onRowSaved(); void onRowSaved();

View File

@ -570,16 +570,16 @@ public class RettificaGiacenzeViewModel {
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone();
mtbColr.setOperation(CommonModelConsts.OPERATION.UPDATE);
mtbColr mtbColr
.setNumCnf(numCnf) .setNumCnf(numCnf.subtract(mtbColr.getNumCnf()))
.setQtaCnf(qtaCnf) .setQtaCnf(qtaCnf)
.setQtaCol(qtaTot) .setQtaCol(qtaTot.subtract(mtbColr.getQtaCol()))
.setPartitaMag(partitaMag) .setPartitaMag(partitaMag)
.setDataScadPartita(dataScad) .setDataScadPartita(dataScad)
.setUtente(SettingsManager.i().getUser().getFullname()) .setUtente(SettingsManager.i().getUser().getFullname())
.setCausale(MtbColr.Causale.RETTIFICA) .setCausale(MtbColr.Causale.RETTIFICA)
.setDatetimeRow(UtilityDate.getDateInstance()); .setDatetimeRow(UtilityDate.getDateInstance())
.setOperation(CommonModelConsts.OPERATION.INSERT);
mtbColt.getMtbColr().add(mtbColr); mtbColt.getMtbColr().add(mtbColr);
@ -626,8 +626,17 @@ public class RettificaGiacenzeViewModel {
mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone(); MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone();
mtbColr
.setNumCnf(mtbColr.getNumCnf().multiply(new BigDecimal(-1)))
.setQtaCnf(mtbColr.getQtaCnf())
.setQtaCol(mtbColr.getQtaCol().multiply(new BigDecimal(-1)))
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScadPartita(mtbColr.getDataScadPartitaD())
.setUtente(SettingsManager.i().getUser().getFullname())
.setCausale(MtbColr.Causale.RETTIFICA)
.setDatetimeRow(UtilityDate.getDateInstance())
.setOperation(CommonModelConsts.OPERATION.INSERT);
mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE);
mtbColt.getMtbColr().add(mtbColr); mtbColt.getMtbColr().add(mtbColr);
this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> {

View File

@ -1,7 +1,6 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel; package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
@ -15,14 +14,14 @@ import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.GtbAnag; import it.integry.integrywmsnative.core.model.GtbAnag;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzato; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzato;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
public class UltimeConsegneClienteViewModel { public class UltimeConsegneClienteViewModel {
@ -96,9 +95,8 @@ public class UltimeConsegneClienteViewModel {
currentCodAnagFilter, currentCodAnagFilter,
null, null,
null, null,
365, 548,
consegne -> { consegne -> {
this.mItems = consegne; this.mItems = consegne;
this.initDataAdapter(consegne); this.initDataAdapter(consegne);
@ -109,7 +107,6 @@ public class UltimeConsegneClienteViewModel {
mAdapter.updateItems(mRenderedItems); mAdapter.updateItems(mRenderedItems);
progressDialog.dismiss(); progressDialog.dismiss();
}, ex -> { }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog); UtilityExceptions.defaultException(mContext, ex, progressDialog);
}); });

View File

@ -1,13 +1,12 @@
package it.integry.integrywmsnative.gest.versamento_merce.viewmodel; package it.integry.integrywmsnative.gest.versamento_merce.viewmodel;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.text.Html; import android.text.Html;
import android.text.SpannableString; import android.text.SpannableString;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.fragment.app.FragmentActivity;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
@ -43,13 +42,14 @@ import it.integry.integrywmsnative.view.dialogs.DialogAskLivelloPosizione;
import it.integry.integrywmsnative.view.dialogs.DialogCommon; import it.integry.integrywmsnative.view.dialogs.DialogCommon;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts; import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
public class VersamentoMerceViewModel { public class VersamentoMerceViewModel {
private Context mContext; private FragmentActivity mContext;
private FragmentMainVersamentoMerceBinding mBinding; private FragmentMainVersamentoMerceBinding mBinding;
private VersamentoMerceHelper mHelper; private VersamentoMerceHelper mHelper;
@ -58,7 +58,7 @@ public class VersamentoMerceViewModel {
private Runnable mOnVersamentoCompleted; private Runnable mOnVersamentoCompleted;
public void init(Activity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) { public void init(FragmentActivity context, FragmentMainVersamentoMerceBinding binding, VersamentoMerceHelper helper, Runnable onVersamentoCompleted) {
mContext = context; mContext = context;
mBinding = binding; mBinding = binding;
mHelper = helper; mHelper = helper;
@ -356,27 +356,65 @@ public class VersamentoMerceViewModel {
private void askSingleQuantity(MtbColr mtbColr, RunnableArgs<MtbColr> onComplete, Runnable onAbort) { private void askSingleQuantity(MtbColr mtbColr, RunnableArgs<MtbColr> onComplete, Runnable onAbort) {
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setBatchLot(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
.setMtbAart(mtbColr.getMtbAart()) .setMtbAart(mtbColr.getMtbAart())
.setQtaTot(mtbColr.getQtaCol()) .setInitialNumCnf(mtbColr.getNumCnf())
.setQtaOrd(mtbColr.getQtaCol()) .setInitialQtaCnf(mtbColr.getQtaCnf())
.setQtaDaEvadere(new BigDecimal(-1)) .setInitialQtaTot(mtbColr.getQtaCol())
.setQtaEvasa(BigDecimal.ZERO) .setTotalQtaAvailable(mtbColr.getQtaCol())
.setTotalNumCnfAvailable(mtbColr.getNumCnf())
.setQtaCnfAvailable(mtbColr.getQtaCnf())
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD())
.setCanOverflowOrderQuantity(false)
.setCanPartitaMagBeChanged(false) .setCanPartitaMagBeChanged(false)
.setCanDataScadBeChanged(false) .setCanLUBeClosed(false);
.setMaxQta(mtbColr.getQtaCol());
DialogInputQuantityV2
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
// PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
// .setNumCnf(resultDTO.getNumCnf())
// .setQtaCnf(resultDTO.getQtaCnf())
// .setQtaTot(resultDTO.getQtaTot())
// .setPartitaMag(resultDTO.getPartitaMag())
// .setDataScad(resultDTO.getDataScad());
//
// onComplete.run(pickedQuantityDTO, shouldCloseLU);
DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> {
mtbColr mtbColr
.setQtaCol(quantityDTO.qtaTot.getBigDecimal()) .setQtaCol(resultDTO.getQtaTot())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal()) .setQtaCnf(resultDTO.getQtaCnf())
.setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setNumCnf(resultDTO.getNumCnf())
.setDatetimeRow(UtilityDate.getDateInstance()); .setDatetimeRow(UtilityDate.getDateInstance());
onComplete.run(mtbColr); onComplete.run(mtbColr);
}, onAbort).show(); }, onAbort)
.show(mContext.getSupportFragmentManager(), "tag");
// DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
// .setBatchLot(mtbColr.getPartitaMag())
// .setDataScad(mtbColr.getDataScadPartitaD())
// .setMtbAart(mtbColr.getMtbAart())
// .setQtaTot(mtbColr.getQtaCol())
// .setQtaOrd(mtbColr.getQtaCol())
// .setQtaDaEvadere(new BigDecimal(-1))
// .setQtaEvasa(BigDecimal.ZERO)
// .setCanPartitaMagBeChanged(false)
// .setCanDataScadBeChanged(false)
// .setMaxQta(mtbColr.getQtaCol());
//
// DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> {
// mtbColr
// .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
// .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
// .setNumCnf(quantityDTO.numCnf.getBigDecimal())
// .setDatetimeRow(UtilityDate.getDateInstance());
//
// onComplete.run(mtbColr);
// }, onAbort).show();
} }