From 8b9a951cd69e0d1e546943bb8f28fcbf618d3514 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 28 Apr 2020 10:15:27 +0200 Subject: [PATCH 1/4] [ FRUDIS ] Inserito controllo colli con qta 0 --- .../consumers/ColliMagazzinoRESTConsumer.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index fbceb75c..2abfa8b7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -269,13 +269,15 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { .setPartitaMag(original.getPartitaMag()) .setOperation(CommonModelConsts.OPERATION.INSERT); for (OrdineLavorazioneDTO ordLav : ordini) { - MtbColr ordColr = (MtbColr) mtbColrClone.clone(); - ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal()); - ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal()); - ordColr.setDataOrd(ordLav.getDataOrdProd()) - .setNumOrd(ordLav.getNumOrdProd()) - .setRigaOrd(ordLav.getRigaOrdProd()); - newMtbColt.getMtbColr().add(ordColr); + if (ordLav.getQtaColVersamento().getBigDecimal().compareTo(BigDecimal.ZERO) > 0){ + MtbColr ordColr = (MtbColr) mtbColrClone.clone(); + ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal()); + ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal()); + ordColr.setDataOrd(ordLav.getDataOrdProd()) + .setNumOrd(ordLav.getNumOrdProd()) + .setRigaOrd(ordLav.getRigaOrdProd()); + newMtbColt.getMtbColr().add(ordColr); + } } From 7fc1285a2546a2d90dfab3bf77d4031093761a95 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 12 May 2020 11:47:27 +0200 Subject: [PATCH 2/4] Implementata nuova tecnica di rettifica --- .../consumers/ColliMagazzinoRESTConsumer.java | 37 ++++- .../ColliMagazzinoRESTConsumerService.java | 4 + .../core/rest/model/RettificaULDTO.java | 39 ++++++ .../ProdRecuperoMaterialeViewModel.java | 5 +- .../ProdVersamentoMaterialViewModel.java | 2 +- .../viewmodel/RettificaGiacenzeViewModel.java | 126 ++++++++++++------ .../viewmodel/VersamentoMerceViewModel.java | 2 +- .../DialogScanOrCreateLU.java | 31 ++--- 8 files changed, 183 insertions(+), 63 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/RettificaULDTO.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index fbceb75c..a5800c89 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -11,6 +11,7 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import org.jetbrains.annotations.NotNull; +import org.json.JSONObject; import java.lang.reflect.Type; import java.math.BigDecimal; @@ -31,8 +32,8 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO; +import it.integry.integrywmsnative.core.rest.model.RettificaULDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; -import it.integry.integrywmsnative.core.rest.model.SingleValueDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -675,4 +676,38 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { }); } + + + + + + public static void creaRettificaCollo(MtbColr sourceMtbColrOriginal, BigDecimal newNumCnf, BigDecimal newQtaTot, Runnable onComplete, RunnableArgs onFailed) { + MtbColr sourceMtbColr = (MtbColr) sourceMtbColrOriginal.clone(); + sourceMtbColr.setRifPartitaMag(null); + sourceMtbColr.setMtbAart(null); + + RettificaULDTO rettificaULDTO = new RettificaULDTO() + .setSourceMtbColr(sourceMtbColr) + .setNewNumCnf(newNumCnf) + .setNewQtaCol(newQtaTot); + + ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class); + colliMagazzinoRESTConsumerService.creaRettificaCollo( + SettingsManager.i().getUserSession().getDepo().getCodMdep(), + rettificaULDTO + ).enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "GetBySSCC", data -> { + onComplete.run(); + }, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + if(onFailed != null) onFailed.run(new Exception(t)); + } + }); + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumerService.java index 025b83d1..bb38fe6f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumerService.java @@ -5,6 +5,7 @@ import com.google.gson.JsonObject; import java.util.List; import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO; +import it.integry.integrywmsnative.core.rest.model.RettificaULDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.model.MtbColt; import retrofit2.Call; @@ -24,4 +25,7 @@ public interface ColliMagazzinoRESTConsumerService { @GET("getColliInBasket") Call>> getColliInBasket(@Query("codMdep") String codMdep); + @POST("creaRettificaCollo") + Call> creaRettificaCollo(@Query("codMdep") String codMdep, @Body RettificaULDTO rettificaULDTO); + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/RettificaULDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/RettificaULDTO.java new file mode 100644 index 00000000..347b3a8b --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/RettificaULDTO.java @@ -0,0 +1,39 @@ +package it.integry.integrywmsnative.core.rest.model; + +import java.math.BigDecimal; + +import it.integry.integrywmsnative.core.model.MtbColr; + +public class RettificaULDTO { + + private MtbColr sourceMtbColr; + private BigDecimal newNumCnf; + private BigDecimal newQtaCol; + + public MtbColr getSourceMtbColr() { + return sourceMtbColr; + } + + public RettificaULDTO setSourceMtbColr(MtbColr sourceMtbColr) { + this.sourceMtbColr = sourceMtbColr; + return this; + } + + public BigDecimal getNewNumCnf() { + return newNumCnf; + } + + public RettificaULDTO setNewNumCnf(BigDecimal newNumCnf) { + this.newNumCnf = newNumCnf; + return this; + } + + public BigDecimal getNewQtaCol() { + return newQtaCol; + } + + public RettificaULDTO setNewQtaCol(BigDecimal newQtaCol) { + this.newQtaCol = newQtaCol; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java index e0d97260..14668ab2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/viewmodel/ProdRecuperoMaterialeViewModel.java @@ -22,6 +22,7 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; @@ -224,7 +225,7 @@ public class ProdRecuperoMaterialeViewModel { mtbColtScarico.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); - RunnableArgs saveRunnable = mtbColt -> { + RunnableArgss saveRunnable = (mtbColt, createdLU) -> { if(mtbColt != null) { @@ -287,7 +288,7 @@ public class ProdRecuperoMaterialeViewModel { } }; - if(sourceMtbColt != null) saveRunnable.run(sourceMtbColt); + if(sourceMtbColt != null) saveRunnable.run(sourceMtbColt, false); else DialogScanOrCreateLU.make(mContext, true, false, saveRunnable).show(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java index 75a3bdd4..16d82803 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/viewmodel/ProdVersamentoMaterialViewModel.java @@ -86,7 +86,7 @@ public class ProdVersamentoMaterialViewModel { public void openLU() { - DialogScanOrCreateLU.make(mContext, false, false, true, false, mtbColt -> { + DialogScanOrCreateLU.make(mContext, false, false, true, false, (mtbColt, created) -> { if (mtbColt == null) { ((IPoppableActivity) mContext).pop(); } else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE || mtbColt.getGestioneEnum() == GestioneEnum.VENDITA) && mtbColt.getSegno().equals(+1)) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java index 9e358376..a953fe44 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java @@ -86,6 +86,8 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked public BindableBoolean isFabVisible = new BindableBoolean(); public BindableBoolean isMtbColtLoaded = new BindableBoolean(); + private boolean isCreatedLU = true; + public void init(Activity context, FragmentMainRettificaGiacenzeBinding binding, RettificaGiacenzeHelper helper) { mContext = context; @@ -93,8 +95,9 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked mHelper = helper; } - public void setMtbColt(MtbColt mtbColt) { + public void setMtbColt(MtbColt mtbColt, boolean isCreated) { this.mtbColt.set(mtbColt); + this.isCreatedLU = isCreated; isFabVisible.set(mtbColt != null); isMtbColtLoaded.set(mtbColt != null); @@ -434,6 +437,8 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked cloneMtbColt.setMtbColr(new ObservableArrayList()); cloneMtbColt.getMtbColr().add(mtbColr); +// ColliMagazzinoRESTConsumer.creaRettificaCollo(mtbColr); + ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback() { @Override public void onSuccess(MtbColt value) { @@ -480,11 +485,11 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked } public void openLU() { - DialogScanOrCreateLU.make(mContext, true, false, mtbColt -> { + DialogScanOrCreateLU.make(mContext, true, false, (mtbColt, created) -> { if (mtbColt == null) { ((IPoppableActivity) mContext).pop(); } else { - setMtbColt(mtbColt); + setMtbColt(mtbColt, created); } }).show(); } @@ -616,47 +621,69 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked DialogInputQuantity.makeBase(mContext, dto, true, value -> { - BigDecimal qtaCol = value.qtaTot.getBigDecimal().subtract(mtbColrToEditClone.getQtaCol()); + BigDecimal newQtaCol = value.qtaTot.getBigDecimal(); //.subtract(mtbColrToEditClone.getQtaCol()); + BigDecimal newNumCnf = value.numCnf.getBigDecimal(); //.subtract(mtbColrToEditClone.getNumCnf()); - if (qtaCol.compareTo(BigDecimal.ZERO) != 0) { - - BigDecimal numCnf = value.numCnf.getBigDecimal().subtract(mtbColrToEditClone.getNumCnf()); - - if (numCnf.compareTo(BigDecimal.ZERO) == 0 && qtaCol.compareTo(BigDecimal.ZERO) > 0) - numCnf = BigDecimal.ONE; - else if (numCnf.compareTo(BigDecimal.ZERO) == 0 && qtaCol.compareTo(BigDecimal.ZERO) < 0) - numCnf = new BigDecimal(-1); - - mtbColrToEditClone - .setRiga(null) - .setDatetimeRow(UtilityDate.getDateInstance()) - .setQtaCol(qtaCol) - .setNumCnf(numCnf) - .setUtente(SettingsManager.i().user.fullname) - .setCausale(MtbColr.Causale.RETTIFICA) - .setOperation(CommonModelConsts.OPERATION.INSERT); - - MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone(); - mtbColtClone.setMtbColr(new ObservableArrayList<>()); - mtbColtClone.getMtbColr().add(mtbColrToEditClone); - mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + if (newQtaCol.compareTo(BigDecimal.ZERO) != 0) { + if (newNumCnf.compareTo(BigDecimal.ZERO) == 0 && newQtaCol.compareTo(BigDecimal.ZERO) > 0) + newNumCnf = BigDecimal.ONE; + else if (newNumCnf.compareTo(BigDecimal.ZERO) == 0 && newQtaCol.compareTo(BigDecimal.ZERO) < 0) + newNumCnf = new BigDecimal(-1); Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, valueNewMtbColt -> { - progressDialog.dismiss(); - mtbColt.get().getMtbColr().remove(index); + mtbColrToEditClone + .setRiga(null); + + + if(!isCreatedLU) { + BigDecimal finalNewNumCnf = newNumCnf; + ColliMagazzinoRESTConsumer.creaRettificaCollo( + mtbColrToEditClone, + newNumCnf, + newQtaCol, + () -> { + progressDialog.dismiss(); + mtbColt.get().getMtbColr().remove(index); + + mtbColrToEditClone + .setQtaCol(newQtaCol) + .setNumCnf(finalNewNumCnf) + .setMtbAart(mtbColrToEdit.getMtbAart()) + .setOperation(CommonModelConsts.OPERATION.NO_OP); + + mtbColt.get().getMtbColr().add(index, mtbColrToEditClone); + }, ex -> UtilityExceptions.defaultException(mContext, ex, progressDialog) + ); + } else { mtbColrToEditClone - .setQtaCol(value.qtaTot.getBigDecimal()) - .setNumCnf(value.numCnf.getBigDecimal()) - .setMtbAart(mtbColrToEdit.getMtbAart()) - .setOperation(CommonModelConsts.OPERATION.NO_OP); + .setRiga(null) + .setDatetimeRow(UtilityDate.getDateInstance()) + .setQtaCol(newQtaCol) + .setNumCnf(newNumCnf) + .setUtente(SettingsManager.i().user.fullname) + .setCausale(MtbColr.Causale.RETTIFICA) + .setOperation(CommonModelConsts.OPERATION.INSERT); - mtbColt.get().getMtbColr().add(index, mtbColrToEditClone); - }, ex -> { - UtilityExceptions.defaultException(mContext, ex, progressDialog); - }); + MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone(); + mtbColtClone.setMtbColr(new ObservableArrayList<>()); + mtbColtClone.getMtbColr().add(mtbColrToEditClone); + mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + + ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, valueNewMtbColt -> { + progressDialog.dismiss(); + mtbColt.get().getMtbColr().remove(index); + + mtbColrToEditClone + .setQtaCol(value.qtaTot.getBigDecimal()) + .setNumCnf(value.numCnf.getBigDecimal()) + .setMtbAart(mtbColrToEdit.getMtbAart()) + .setOperation(CommonModelConsts.OPERATION.NO_OP); + + mtbColt.get().getMtbColr().add(index, mtbColrToEditClone); + }, ex -> UtilityExceptions.defaultException(mContext, ex, progressDialog)); + } } }, null).show(); @@ -683,12 +710,25 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, value -> { - progressDialog.dismiss(); - mtbColt.get().getMtbColr().remove(mtbColrToDelete); - }, ex -> { - UtilityExceptions.defaultException(mContext, ex, progressDialog); - }); + + if(!isCreatedLU) { + ColliMagazzinoRESTConsumer.creaRettificaCollo( + mtbColrToDeleteClone, + BigDecimal.ZERO, + BigDecimal.ZERO, + () -> { + progressDialog.dismiss(); + mtbColt.get().getMtbColr().remove(mtbColrToDelete); + }, ex -> UtilityExceptions.defaultException(mContext, ex, progressDialog) + ); + } else { + ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, value -> { + progressDialog.dismiss(); + mtbColt.get().getMtbColr().remove(mtbColrToDelete); + }, ex -> { + UtilityExceptions.defaultException(mContext, ex, progressDialog); + }); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java index 56f08ae9..335d4243 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java @@ -68,7 +68,7 @@ public class VersamentoMerceViewModel { } public void openLU() { - DialogScanOrCreateLU.make(mContext, true, false, true, false, mtbColt -> { + DialogScanOrCreateLU.make(mContext, true, false, true, false, (mtbColt, created) -> { if(mtbColt == null) { ((IPoppableActivity)mContext).pop(); } else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){ diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java index e7e0f8c5..12d85ef0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java @@ -21,6 +21,7 @@ import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -45,7 +46,7 @@ public class DialogScanOrCreateLU { private DialogScanOrCreateLuBinding mBinding; - private RunnableArgs mOnDialogDismiss; + private RunnableArgss mOnDialogDismiss; private MtbColt currentMtbColt; @@ -54,19 +55,19 @@ public class DialogScanOrCreateLU { private boolean mShouldCheckIfExistDoc = true; - public static Dialog make(final Context context, RunnableArgs onDialogDismiss) { + public static Dialog make(final Context context, RunnableArgss onDialogDismiss) { return new DialogScanOrCreateLU(context, false, true, true, true, onDialogDismiss).mDialog; } - public static Dialog make(final Context context, boolean enableCreation, boolean shouldCheckIfExistDoc, RunnableArgs onDialogDismiss) { + public static Dialog make(final Context context, boolean enableCreation, boolean shouldCheckIfExistDoc, RunnableArgss onDialogDismiss) { return new DialogScanOrCreateLU(context, false, enableCreation, true, shouldCheckIfExistDoc, onDialogDismiss).mDialog; } - public static Dialog make(final Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgs onDialogDismiss) { + public static Dialog make(final Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgss onDialogDismiss) { return new DialogScanOrCreateLU(context, enableBasket, enableCreation, checkResiduo, shouldCheckIfExistDoc, onDialogDismiss).mDialog; } - private DialogScanOrCreateLU(Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgs onDialogDismiss) { + private DialogScanOrCreateLU(Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgss onDialogDismiss) { mOnDialogDismiss = null; currentMtbColt = null; mShouldCheckResiduo = checkResiduo; @@ -92,14 +93,14 @@ public class DialogScanOrCreateLU { } - private void init(RunnableArgs onDialogDismiss) { + private void init(RunnableArgss onDialogDismiss) { mOnDialogDismiss = onDialogDismiss; mBinding.createNewLuButton.setOnClickListener(v -> { final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); ColliMagazzinoRESTConsumer.createColloLavorazione(+1, createdMtbColt -> { - sendMtbColt(createdMtbColt, progressDialog); + sendMtbColt(createdMtbColt, progressDialog, true); }, ex -> { UtilityExceptions.defaultException(mContext, ex, progressDialog); }); @@ -107,7 +108,7 @@ public class DialogScanOrCreateLU { mBinding.viewBasket.setOnClickListener(v -> { DialogBasketLU.make(mContext, mtbColt -> { - sendMtbColt(mtbColt, null); + sendMtbColt(mtbColt, null, false); }).show(); }); } @@ -122,7 +123,7 @@ public class DialogScanOrCreateLU { BarcodeManager.removeCallback(barcodeIstanceID); BarcodeManager.enable(); if(currentMtbColt == null) { - mOnDialogDismiss.run(null); + mOnDialogDismiss.run(null, false); } }); @@ -162,7 +163,7 @@ public class DialogScanOrCreateLU { DialogCommon.showNoULFound(mContext, null); } else if (mtbColtList.size() == 1) { ColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), mShouldCheckResiduo, false, mtbColt -> { - sendMtbColt(mtbColt, progressDialog); + sendMtbColt(mtbColt, progressDialog, false); }, ex -> { UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); @@ -192,7 +193,7 @@ public class DialogScanOrCreateLU { ColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(barcodeScanDTO, GestioneEnum.LAVORAZIONE, createdMtbColt -> { BarcodeManager.enable(); createdMtbColt.setDisablePrint(true); - sendMtbColt(createdMtbColt, progressDialog); + sendMtbColt(createdMtbColt, progressDialog, true); }, ex -> { UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); @@ -212,7 +213,7 @@ public class DialogScanOrCreateLU { BarcodeManager.enable(); mtbColt.setDisablePrint(true); - sendMtbColt(mtbColt, progressDialog); + sendMtbColt(mtbColt, progressDialog, false); } } @@ -243,7 +244,7 @@ public class DialogScanOrCreateLU { .show(); } else { BarcodeManager.enable(); - sendMtbColt(mtbColt, progressDialog); + sendMtbColt(mtbColt, progressDialog, false); } @@ -281,11 +282,11 @@ public class DialogScanOrCreateLU { null, null).show(); } - private void sendMtbColt(MtbColt mtbColtToSend, Dialog progressDialog) { + private void sendMtbColt(MtbColt mtbColtToSend, Dialog progressDialog, boolean created) { currentMtbColt = mtbColtToSend; if(progressDialog != null) progressDialog.dismiss(); mDialog.dismiss(); - mOnDialogDismiss.run(mtbColtToSend); + mOnDialogDismiss.run(mtbColtToSend, created); } } From c6adc453f61b71139505790487684f462956a01f Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 14 May 2020 10:05:44 +0200 Subject: [PATCH 3/4] Completata gestione della nuova Rettifica Giacenze --- .../viewmodel/RettificaGiacenzeViewModel.java | 86 ++++++++++++------- 1 file changed, 56 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java index a953fe44..591711ee 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java @@ -423,48 +423,74 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked .setCodMart(mtbAart.getCodMart()) .setPartitaMag(quantityDTO.batchLot.get()) .setDataScadPartita(quantityDTO.expireDate) - .setQtaCol(quantityDTO.qtaTot.getBigDecimal()) - .setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setDescrizione(mtbAart.getDescrizioneEstesa()) .setCausale(MtbColr.Causale.RETTIFICA) .setUtente(SettingsManager.i().user.fullname); mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); - MtbColt cloneMtbColt = (MtbColt) mtbColt.get().clone(); - cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); + if (!isCreatedLU) { + mtbColr + .setQtaCol(BigDecimal.ZERO) + .setNumCnf(BigDecimal.ZERO) + .setDataCollo(mtbColt.get().getDataColloS()) + .setNumCollo(mtbColt.get().getNumCollo()) + .setGestione(mtbColt.get().getGestione()) + .setSerCollo(mtbColt.get().getSerCollo()); - cloneMtbColt.setMtbColr(new ObservableArrayList()); - cloneMtbColt.getMtbColr().add(mtbColr); + ColliMagazzinoRESTConsumer.creaRettificaCollo(mtbColr, + quantityDTO.numCnf.getBigDecimal(), + quantityDTO.qtaTot.getBigDecimal(), + () -> { + mtbColr.setUntMis(mtbAart.getUntMis()) + .setMtbAart(mtbAart); -// ColliMagazzinoRESTConsumer.creaRettificaCollo(mtbColr); + mtbColt.get().getMtbColr().add(mtbColr); + FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); - ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback() { - @Override - public void onSuccess(MtbColt value) { + resetTexts(); + progress.dismiss(); + }, ex -> { + UtilityExceptions.defaultException(mContext, ex, progress); + }); + } else { + mtbColr + .setQtaCol(quantityDTO.qtaTot.getBigDecimal()) + .setNumCnf(quantityDTO.numCnf.getBigDecimal()); - mtbColr - .setDataCollo(value.getDataColloS()) - .setNumCollo(value.getNumCollo()) - .setGestione(value.getGestione()) - .setSerCollo(value.getSerCollo()) - .setRiga(value.getMtbColr().get(0).getRiga()) - .setUntMis(mtbAart.getUntMis()) - .setMtbAart(mtbAart); + MtbColt cloneMtbColt = (MtbColt) mtbColt.get().clone(); + cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); - mtbColt.get().getMtbColr().add(mtbColr); + cloneMtbColt.setMtbColr(new ObservableArrayList()); + cloneMtbColt.getMtbColr().add(mtbColr); - FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); + ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback() { + @Override + public void onSuccess(MtbColt value) { - resetTexts(); - progress.dismiss(); - } + mtbColr + .setDataCollo(value.getDataColloS()) + .setNumCollo(value.getNumCollo()) + .setGestione(value.getGestione()) + .setSerCollo(value.getSerCollo()) + .setRiga(value.getMtbColr().get(0).getRiga()) + .setUntMis(mtbAart.getUntMis()) + .setMtbAart(mtbAart); - @Override - public void onFailed(Exception ex) { - UtilityExceptions.defaultException(mContext, ex, progress); - } - }); + mtbColt.get().getMtbColr().add(mtbColr); + + FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); + + resetTexts(); + progress.dismiss(); + } + + @Override + public void onFailed(Exception ex) { + UtilityExceptions.defaultException(mContext, ex, progress); + } + }); + } } @@ -636,7 +662,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked .setRiga(null); - if(!isCreatedLU) { + if (!isCreatedLU) { BigDecimal finalNewNumCnf = newNumCnf; ColliMagazzinoRESTConsumer.creaRettificaCollo( mtbColrToEditClone, @@ -711,7 +737,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - if(!isCreatedLU) { + if (!isCreatedLU) { ColliMagazzinoRESTConsumer.creaRettificaCollo( mtbColrToDeleteClone, BigDecimal.ZERO, From 5139c33ad639780132736e21955ddba26b8c1a0e Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 14 May 2020 10:09:43 +0200 Subject: [PATCH 4/4] -> v1.12.8 (137) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5bc7d529..8504bab6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 136 - def appVersionName = '1.12.7' + def appVersionCode = 137 + def appVersionName = '1.12.8' signingConfigs { release {