Finish v1.40.11(428)
This commit is contained in:
commit
23522c9370
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 427
|
def appVersionCode = 428
|
||||||
def appVersionName = '1.40.10'
|
def appVersionName = '1.40.11'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -2,8 +2,11 @@ package it.integry.integrywmsnative.core.rest.consumers;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -12,11 +15,13 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.model.ErrorResponse;
|
||||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||||
|
import okhttp3.ResponseBody;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
@ -90,6 +95,14 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MtbPartitaMag retrievePartitaMagSyncronized(String partitaMag, String codMart, RunnableArgs<Exception> onFailed) throws Exception {
|
||||||
|
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||||
|
Response<ServiceRESTResponse<MtbPartitaMag>> response = service.retrievePartitaMag(codMart, partitaMag)
|
||||||
|
.execute();
|
||||||
|
|
||||||
|
return analyzeAnswer(response, "retrievePartitaMag");
|
||||||
|
}
|
||||||
|
|
||||||
public void retrievePartitaMag(String partitaMag, String codMart, RunnableArgs<MtbPartitaMag> onComplete, RunnableArgs<Exception> onFailed) {
|
public void retrievePartitaMag(String partitaMag, String codMart, RunnableArgs<MtbPartitaMag> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||||
service.retrievePartitaMag(codMart, partitaMag)
|
service.retrievePartitaMag(codMart, partitaMag)
|
||||||
|
|||||||
@ -256,15 +256,20 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
};
|
};
|
||||||
|
|
||||||
public void save() {
|
public void save() {
|
||||||
|
this.onLoadingStarted();
|
||||||
|
|
||||||
this.mViewModel.validate(validated -> {
|
this.mViewModel.validate(validated -> {
|
||||||
|
|
||||||
|
requireActivity().runOnUiThread(() -> {
|
||||||
|
this.onLoadingEnded();
|
||||||
|
|
||||||
if (validated) {
|
if (validated) {
|
||||||
this.mAbort = false;
|
this.mAbort = false;
|
||||||
dismiss();
|
dismiss();
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
||||||
}else {
|
|
||||||
this.onLoadingEnded();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveAndCloseLU() {
|
public void saveAndCloseLU() {
|
||||||
@ -527,13 +532,6 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
this.mEnableDataCallback = true;
|
this.mEnableDataCallback = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onError(Exception ex) {
|
|
||||||
DialogSimpleMessageView
|
|
||||||
.makeErrorDialog(new SpannableString(Html.fromHtml(ex.getMessage())), null, null)
|
|
||||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onWarning(String text, RunnableArgs<Boolean> result) {
|
public void onWarning(String text, RunnableArgs<Boolean> result) {
|
||||||
DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)),
|
DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)),
|
||||||
|
|||||||
@ -99,7 +99,6 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
|
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
|
||||||
|
|
||||||
private StatoPartitaMag statoArt;
|
private StatoPartitaMag statoArt;
|
||||||
private MtbPartitaMag mtbPartitaMag;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
@ -488,7 +487,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
this.sendError(new InvalidQtaCnfQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -497,33 +496,33 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (suggestPartitaMagRunnable != null) {
|
if (suggestPartitaMagRunnable != null) {
|
||||||
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
||||||
if (internalPartitaMag == null) {
|
if (internalPartitaMag == null) {
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.sendError(new InvalidBatchLotException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.sendError(new InvalidBatchLotException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.statoArt == StatoPartitaMag.DISATTIVO) {
|
if (this.statoArt == StatoPartitaMag.DISATTIVO) {
|
||||||
this.mListener.onError(new InactiveBatchLotException(internalPartitaMag));
|
this.sendError(new InactiveBatchLotException(internalPartitaMag));
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.sendError(new InvalidBatchLotException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.shouldAskDataScad && this.internalDataScad == null) {
|
if (this.shouldAskDataScad && this.internalDataScad == null) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidExpireDateException());
|
this.sendError(new InvalidExpireDateException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -531,7 +530,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
|
this.sendError(new OverflowQtaTotOrderedQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -539,14 +538,14 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
|
this.sendError(new OverflowNumCnfOrderedQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
|
this.sendError(new OverflowQtaTotAvailableQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -554,7 +553,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable) &&
|
if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
|
this.sendError(new OverflowNumCnfAvailableQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -564,13 +563,13 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) ||
|
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) ||
|
||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO))) {
|
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO))) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidQuantityException());
|
this.sendError(new InvalidQuantityException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) {
|
if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) {
|
||||||
this.mListener.onError(new InvalidNotesException());
|
this.sendError(new InvalidNotesException());
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -579,10 +578,17 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagWarningNewPartitaMag()) {
|
if (SettingsManager.iDB().isFlagWarningNewPartitaMag()) {
|
||||||
asyncMagazzinoRESTConsumer(internalPartitaMag, this.getMtbAart().getCodMart());
|
MtbPartitaMag mtbPartitaMag = null;
|
||||||
|
try {
|
||||||
|
mtbPartitaMag = retrievePartitaMag(internalPartitaMag, this.getMtbAart().getCodMart());
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.sendError(e);
|
||||||
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (mtbPartitaMag == null) {
|
if (mtbPartitaMag == null) {
|
||||||
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.batch_lot_inexistent_error_message));
|
boolean result = runWarningDialogSyncronized(UtilityResources.getString(R.string.batch_lot_inexistent_error_message));
|
||||||
if (!result) {
|
if (!result) {
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
@ -593,7 +599,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.confirm_ordered_quantity_overflow_error_message));
|
boolean result = runWarningDialogSyncronized(UtilityResources.getString(R.string.confirm_ordered_quantity_overflow_error_message));
|
||||||
if (!result) {
|
if (!result) {
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
@ -603,7 +609,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.confirm_ordered_num_cnf_overflow_error_message));
|
boolean result = runWarningDialogSyncronized(UtilityResources.getString(R.string.confirm_ordered_num_cnf_overflow_error_message));
|
||||||
if (!result) {
|
if (!result) {
|
||||||
onValidated.run(false);
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
@ -614,7 +620,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean runAsyncWarningDialog(String text) {
|
private boolean runWarningDialogSyncronized(String text) {
|
||||||
try {
|
try {
|
||||||
final FutureTask<Object> ft = new FutureTask<>(() -> {
|
final FutureTask<Object> ft = new FutureTask<>(() -> {
|
||||||
}, new Object());
|
}, new Object());
|
||||||
@ -632,26 +638,9 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void asyncMagazzinoRESTConsumer(String partitaMag, String codMart) {
|
private MtbPartitaMag retrievePartitaMag(String partitaMag, String codMart) throws Exception {
|
||||||
try {
|
return mMagazzinoRESTConsumer.retrievePartitaMagSyncronized(partitaMag, codMart, this::sendError);
|
||||||
final FutureTask<Object> ft = new FutureTask<>(() -> {
|
|
||||||
}, new Object());
|
|
||||||
mMagazzinoRESTConsumer.retrievePartitaMag(
|
|
||||||
partitaMag,
|
|
||||||
codMart,
|
|
||||||
returnPartitaMag -> {
|
|
||||||
mtbPartitaMag = returnPartitaMag;
|
|
||||||
ft.run();
|
|
||||||
},
|
|
||||||
e -> {
|
|
||||||
this.sendError(e);
|
|
||||||
ft.run();
|
|
||||||
});
|
|
||||||
|
|
||||||
ft.get();
|
|
||||||
} catch (Exception e) {
|
|
||||||
this.sendError(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ResultDTO getResult() {
|
public DialogInputQuantityV2ResultDTO getResult() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user