Merge branch 'develop' into feature/Refactoring_Spedizione

# Conflicts:
#	app/build.gradle
#	app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
#	app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
This commit is contained in:
Giuseppe Scorrano 2020-05-14 10:29:41 +02:00
commit ebb525da02
9 changed files with 248 additions and 97 deletions

View File

@ -88,14 +88,14 @@ dependencies {
}) })
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0' implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.google.firebase:firebase-core:17.3.0' implementation 'com.google.firebase:firebase-core:17.4.1'
implementation 'com.google.firebase:firebase-crash:16.2.1' implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:19.0.6' implementation 'com.google.firebase:firebase-perf:19.0.7'
implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta04' implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0' implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta6'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.preference:preference:1.1.1'
@ -131,7 +131,7 @@ dependencies {
implementation 'com.github.pedromassango:doubleClick:3.0' implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM //SQLite ROOM
def room_version = "2.2.4" def room_version = "2.2.5"
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"

View File

@ -11,6 +11,7 @@ import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -32,6 +33,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO; 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.ServiceRESTResponse;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
@ -254,13 +256,15 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
.setPartitaMag(original.getPartitaMag()) .setPartitaMag(original.getPartitaMag())
.setOperation(CommonModelConsts.OPERATION.INSERT); .setOperation(CommonModelConsts.OPERATION.INSERT);
for (OrdineLavorazioneDTO ordLav : ordini) { for (OrdineLavorazioneDTO ordLav : ordini) {
MtbColr ordColr = (MtbColr) mtbColrClone.clone(); if (ordLav.getQtaColVersamento().getBigDecimal().compareTo(BigDecimal.ZERO) > 0){
ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal()); MtbColr ordColr = (MtbColr) mtbColrClone.clone();
ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal()); ordColr.setQtaCol(ordLav.getQtaColVersamento().getBigDecimal());
ordColr.setDataOrd(ordLav.getDataOrdProd()) ordColr.setNumCnf(ordLav.getNumCnfVersamento().getBigDecimal());
.setNumOrd(ordLav.getNumOrdProd()) ordColr.setDataOrd(ordLav.getDataOrdProd())
.setRigaOrd(ordLav.getRigaOrdProd()); .setNumOrd(ordLav.getNumOrdProd())
newMtbColt.getMtbColr().add(ordColr); .setRigaOrd(ordLav.getRigaOrdProd());
newMtbColt.getMtbColr().add(ordColr);
}
} }
@ -665,4 +669,38 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
}); });
} }
public static void creaRettificaCollo(MtbColr sourceMtbColrOriginal, BigDecimal newNumCnf, BigDecimal newQtaTot, Runnable onComplete, RunnableArgs<Exception> 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<ServiceRESTResponse<JsonObject>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<JsonObject>> call, Response<ServiceRESTResponse<JsonObject>> response) {
analyzeAnswer(response, "GetBySSCC", data -> {
onComplete.run();
}, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<JsonObject>> call, Throwable t) {
if(onFailed != null) onFailed.run(new Exception(t));
}
});
}
} }

View File

@ -5,6 +5,7 @@ import com.google.gson.JsonObject;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO; 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.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import retrofit2.Call; import retrofit2.Call;
@ -24,4 +25,7 @@ public interface ColliMagazzinoRESTConsumerService {
@GET("getColliInBasket") @GET("getColliInBasket")
Call<ServiceRESTResponse<List<MtbColt>>> getColliInBasket(@Query("codMdep") String codMdep); Call<ServiceRESTResponse<List<MtbColt>>> getColliInBasket(@Query("codMdep") String codMdep);
@POST("creaRettificaCollo")
Call<ServiceRESTResponse<JsonObject>> creaRettificaCollo(@Query("codMdep") String codMdep, @Body RettificaULDTO rettificaULDTO);
} }

View File

@ -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;
}
}

View File

@ -22,6 +22,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; 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.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
@ -223,7 +224,7 @@ public class ProdRecuperoMaterialeViewModel {
mtbColtScarico.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColtScarico.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
RunnableArgs<MtbColt> saveRunnable = mtbColt -> { RunnableArgss<MtbColt, Boolean> saveRunnable = (mtbColt, createdLU) -> {
if(mtbColt != null) { if(mtbColt != null) {
@ -286,7 +287,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(); else DialogScanOrCreateLU.make(mContext, true, false, saveRunnable).show();
} }

View File

@ -86,7 +86,7 @@ public class ProdVersamentoMaterialViewModel {
public void openLU() { public void openLU() {
DialogScanOrCreateLU.make(mContext, false, false, true, false, mtbColt -> { DialogScanOrCreateLU.make(mContext, false, false, true, false, (mtbColt, created) -> {
if (mtbColt == null) { if (mtbColt == null) {
((IPoppableActivity) mContext).pop(); ((IPoppableActivity) mContext).pop();
} else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE || mtbColt.getGestioneEnum() == GestioneEnum.VENDITA) && mtbColt.getSegno().equals(+1)) { } else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE || mtbColt.getGestioneEnum() == GestioneEnum.VENDITA) && mtbColt.getSegno().equals(+1)) {

View File

@ -85,6 +85,8 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
public BindableBoolean isFabVisible = new BindableBoolean(); public BindableBoolean isFabVisible = new BindableBoolean();
public BindableBoolean isMtbColtLoaded = new BindableBoolean(); public BindableBoolean isMtbColtLoaded = new BindableBoolean();
private boolean isCreatedLU = true;
public void init(Activity context, FragmentMainRettificaGiacenzeBinding binding, RettificaGiacenzeHelper helper) { public void init(Activity context, FragmentMainRettificaGiacenzeBinding binding, RettificaGiacenzeHelper helper) {
mContext = context; mContext = context;
@ -92,8 +94,9 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mHelper = helper; mHelper = helper;
} }
public void setMtbColt(MtbColt mtbColt) { public void setMtbColt(MtbColt mtbColt, boolean isCreated) {
this.mtbColt.set(mtbColt); this.mtbColt.set(mtbColt);
this.isCreatedLU = isCreated;
isFabVisible.set(mtbColt != null); isFabVisible.set(mtbColt != null);
isMtbColtLoaded.set(mtbColt != null); isMtbColtLoaded.set(mtbColt != null);
@ -419,46 +422,76 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
.setCodMart(mtbAart.getCodMart()) .setCodMart(mtbAart.getCodMart())
.setPartitaMag(quantityDTO.batchLot.get()) .setPartitaMag(quantityDTO.batchLot.get())
.setDataScadPartita(quantityDTO.expireDate) .setDataScadPartita(quantityDTO.expireDate)
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDescrizione(mtbAart.getDescrizioneEstesa()) .setDescrizione(mtbAart.getDescrizioneEstesa())
.setCausale(MtbColr.Causale.RETTIFICA) .setCausale(MtbColr.Causale.RETTIFICA)
.setUtente(SettingsManager.i().user.fullname); .setUtente(SettingsManager.i().user.fullname);
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
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());
ColliMagazzinoRESTConsumer.creaRettificaCollo(mtbColr,
quantityDTO.numCnf.getBigDecimal(),
quantityDTO.qtaTot.getBigDecimal(),
() -> {
mtbColr.setUntMis(mtbAart.getUntMis())
.setMtbAart(mtbAart);
mtbColt.get().getMtbColr().add(mtbColr);
FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
resetTexts();
progress.dismiss();
}, ex -> {
UtilityExceptions.defaultException(mContext, ex, progress);
});
} else {
mtbColr
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal());
MtbColt cloneMtbColt = (MtbColt) mtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
MtbColt cloneMtbColt = (MtbColt) mtbColt.get().clone(); MtbColt cloneMtbColt = (MtbColt) mtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
cloneMtbColt.setMtbColr(new ObservableArrayList()); cloneMtbColt.setMtbColr(new ObservableArrayList());
cloneMtbColt.getMtbColr().add(mtbColr);
ColliMagazzinoRESTConsumer.saveColloStatic(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() { ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@Override @Override
public void onSuccess(MtbColt value) { public void onSuccess(MtbColt value) {
mtbColr mtbColr
.setDataCollo(value.getDataColloS()) .setDataCollo(value.getDataColloS())
.setNumCollo(value.getNumCollo()) .setNumCollo(value.getNumCollo())
.setGestione(value.getGestione()) .setGestione(value.getGestione())
.setSerCollo(value.getSerCollo()) .setSerCollo(value.getSerCollo())
.setRiga(value.getMtbColr().get(0).getRiga()) .setRiga(value.getMtbColr().get(0).getRiga())
.setUntMis(mtbAart.getUntMis()) .setUntMis(mtbAart.getUntMis())
.setMtbAart(mtbAart); .setMtbAart(mtbAart);
mtbColt.get().getMtbColr().add(mtbColr); mtbColt.get().getMtbColr().add(mtbColr);
FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
resetTexts(); resetTexts();
progress.dismiss(); progress.dismiss();
} }
@Override @Override
public void onFailed(Exception ex) { public void onFailed(Exception ex) {
UtilityExceptions.defaultException(mContext, ex, progress); UtilityExceptions.defaultException(mContext, ex, progress);
} }
}); });
}
} }
@ -479,11 +512,11 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
} }
public void openLU() { public void openLU() {
DialogScanOrCreateLU.make(mContext, true, false, mtbColt -> { DialogScanOrCreateLU.make(mContext, true, false, (mtbColt, created) -> {
if (mtbColt == null) { if (mtbColt == null) {
((IPoppableActivity) mContext).pop(); ((IPoppableActivity) mContext).pop();
} else { } else {
setMtbColt(mtbColt); setMtbColt(mtbColt, created);
} }
}).show(); }).show();
} }
@ -615,47 +648,69 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
DialogInputQuantity.makeBase(mContext, dto, true, value -> { 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) { if (newQtaCol.compareTo(BigDecimal.ZERO) != 0) {
if (newNumCnf.compareTo(BigDecimal.ZERO) == 0 && newQtaCol.compareTo(BigDecimal.ZERO) > 0)
BigDecimal numCnf = value.numCnf.getBigDecimal().subtract(mtbColrToEditClone.getNumCnf()); newNumCnf = BigDecimal.ONE;
else if (newNumCnf.compareTo(BigDecimal.ZERO) == 0 && newQtaCol.compareTo(BigDecimal.ZERO) < 0)
if (numCnf.compareTo(BigDecimal.ZERO) == 0 && qtaCol.compareTo(BigDecimal.ZERO) > 0) newNumCnf = new BigDecimal(-1);
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);
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtClone, valueNewMtbColt -> { mtbColrToEditClone
progressDialog.dismiss(); .setRiga(null);
mtbColt.get().getMtbColr().remove(index);
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 mtbColrToEditClone
.setQtaCol(value.qtaTot.getBigDecimal()) .setRiga(null)
.setNumCnf(value.numCnf.getBigDecimal()) .setDatetimeRow(UtilityDate.getDateInstance())
.setMtbAart(mtbColrToEdit.getMtbAart()) .setQtaCol(newQtaCol)
.setOperation(CommonModelConsts.OPERATION.NO_OP); .setNumCnf(newNumCnf)
.setUtente(SettingsManager.i().user.fullname)
.setCausale(MtbColr.Causale.RETTIFICA)
.setOperation(CommonModelConsts.OPERATION.INSERT);
mtbColt.get().getMtbColr().add(index, mtbColrToEditClone); MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
}, ex -> { mtbColtClone.setMtbColr(new ObservableArrayList<>());
UtilityExceptions.defaultException(mContext, ex, progressDialog); 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(); }, null).show();
@ -682,12 +737,25 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtClone, value -> {
progressDialog.dismiss(); if (!isCreatedLU) {
mtbColt.get().getMtbColr().remove(mtbColrToDelete); ColliMagazzinoRESTConsumer.creaRettificaCollo(
}, ex -> { mtbColrToDeleteClone,
UtilityExceptions.defaultException(mContext, ex, progressDialog); 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);
});
}
} }

View File

@ -68,7 +68,7 @@ public class VersamentoMerceViewModel {
} }
public void openLU() { public void openLU() {
DialogScanOrCreateLU.make(mContext, true, false, true, false, mtbColt -> { DialogScanOrCreateLU.make(mContext, true, false, true, false, (mtbColt, created) -> {
if(mtbColt == null) { if(mtbColt == null) {
((IPoppableActivity)mContext).pop(); ((IPoppableActivity)mContext).pop();
} else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){ } else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){

View File

@ -17,6 +17,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; 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.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
@ -41,7 +42,7 @@ public class DialogScanOrCreateLU {
private DialogScanOrCreateLuBinding mBinding; private DialogScanOrCreateLuBinding mBinding;
private RunnableArgs<MtbColt> mOnDialogDismiss; private RunnableArgss<MtbColt, Boolean> mOnDialogDismiss;
private MtbColt currentMtbColt; private MtbColt currentMtbColt;
@ -50,19 +51,19 @@ public class DialogScanOrCreateLU {
private boolean mShouldCheckIfExistDoc = true; private boolean mShouldCheckIfExistDoc = true;
public static Dialog make(final Context context, RunnableArgs<MtbColt> onDialogDismiss) { public static Dialog make(final Context context, RunnableArgss<MtbColt, Boolean> onDialogDismiss) {
return new DialogScanOrCreateLU(context, false, true, true, true, onDialogDismiss).mDialog; return new DialogScanOrCreateLU(context, false, true, true, true, onDialogDismiss).mDialog;
} }
public static Dialog make(final Context context, boolean enableCreation, boolean shouldCheckIfExistDoc, RunnableArgs<MtbColt> onDialogDismiss) { public static Dialog make(final Context context, boolean enableCreation, boolean shouldCheckIfExistDoc, RunnableArgss<MtbColt, Boolean> onDialogDismiss) {
return new DialogScanOrCreateLU(context, false, enableCreation, true, shouldCheckIfExistDoc, onDialogDismiss).mDialog; 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<MtbColt> onDialogDismiss) { public static Dialog make(final Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgss<MtbColt, Boolean> onDialogDismiss) {
return new DialogScanOrCreateLU(context, enableBasket, enableCreation, checkResiduo, shouldCheckIfExistDoc, onDialogDismiss).mDialog; return new DialogScanOrCreateLU(context, enableBasket, enableCreation, checkResiduo, shouldCheckIfExistDoc, onDialogDismiss).mDialog;
} }
private DialogScanOrCreateLU(Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgs<MtbColt> onDialogDismiss) { private DialogScanOrCreateLU(Context context, boolean enableBasket, boolean enableCreation, boolean checkResiduo, boolean shouldCheckIfExistDoc, RunnableArgss<MtbColt, Boolean> onDialogDismiss) {
mOnDialogDismiss = null; mOnDialogDismiss = null;
currentMtbColt = null; currentMtbColt = null;
mShouldCheckResiduo = checkResiduo; mShouldCheckResiduo = checkResiduo;
@ -88,14 +89,14 @@ public class DialogScanOrCreateLU {
} }
private void init(RunnableArgs<MtbColt> onDialogDismiss) { private void init(RunnableArgss<MtbColt, Boolean> onDialogDismiss) {
mOnDialogDismiss = onDialogDismiss; mOnDialogDismiss = onDialogDismiss;
mBinding.createNewLuButton.setOnClickListener(v -> { mBinding.createNewLuButton.setOnClickListener(v -> {
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
ColliMagazzinoRESTConsumer.createColloLavorazione(+1, createdMtbColt -> { ColliMagazzinoRESTConsumer.createColloLavorazione(+1, createdMtbColt -> {
sendMtbColt(createdMtbColt, progressDialog); sendMtbColt(createdMtbColt, progressDialog, true);
}, ex -> { }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog); UtilityExceptions.defaultException(mContext, ex, progressDialog);
}); });
@ -103,7 +104,7 @@ public class DialogScanOrCreateLU {
mBinding.viewBasket.setOnClickListener(v -> { mBinding.viewBasket.setOnClickListener(v -> {
DialogBasketLU.make(mContext, mtbColt -> { DialogBasketLU.make(mContext, mtbColt -> {
sendMtbColt(mtbColt, null); sendMtbColt(mtbColt, null, false);
}).show(); }).show();
}); });
} }
@ -118,7 +119,7 @@ public class DialogScanOrCreateLU {
BarcodeManager.removeCallback(barcodeIstanceID); BarcodeManager.removeCallback(barcodeIstanceID);
BarcodeManager.enable(); BarcodeManager.enable();
if(currentMtbColt == null) { if(currentMtbColt == null) {
mOnDialogDismiss.run(null); mOnDialogDismiss.run(null, false);
} }
}); });
@ -188,7 +189,7 @@ public class DialogScanOrCreateLU {
ColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(barcodeScanDTO, GestioneEnum.LAVORAZIONE, createdMtbColt -> { ColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(barcodeScanDTO, GestioneEnum.LAVORAZIONE, createdMtbColt -> {
BarcodeManager.enable(); BarcodeManager.enable();
createdMtbColt.setDisablePrint(true); createdMtbColt.setDisablePrint(true);
sendMtbColt(createdMtbColt, progressDialog); sendMtbColt(createdMtbColt, progressDialog, true);
}, ex -> { }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog); UtilityExceptions.defaultException(mContext, ex, progressDialog);
BarcodeManager.enable(); BarcodeManager.enable();
@ -208,7 +209,7 @@ public class DialogScanOrCreateLU {
BarcodeManager.enable(); BarcodeManager.enable();
mtbColt.setDisablePrint(true); mtbColt.setDisablePrint(true);
sendMtbColt(mtbColt, progressDialog); sendMtbColt(mtbColt, progressDialog, false);
} }
} }
@ -239,7 +240,7 @@ public class DialogScanOrCreateLU {
.show(); .show();
} else { } else {
BarcodeManager.enable(); BarcodeManager.enable();
sendMtbColt(mtbColt, progressDialog); sendMtbColt(mtbColt, progressDialog, false);
} }
@ -277,11 +278,11 @@ public class DialogScanOrCreateLU {
null, null).show(); null, null).show();
} }
private void sendMtbColt(MtbColt mtbColtToSend, Dialog progressDialog) { private void sendMtbColt(MtbColt mtbColtToSend, Dialog progressDialog, boolean created) {
currentMtbColt = mtbColtToSend; currentMtbColt = mtbColtToSend;
if(progressDialog != null) progressDialog.dismiss(); if(progressDialog != null) progressDialog.dismiss();
mDialog.dismiss(); mDialog.dismiss();
mOnDialogDismiss.run(mtbColtToSend); mOnDialogDismiss.run(mtbColtToSend, created);
} }
} }