Compare commits
28 Commits
v1.46.06(4
...
v1.46.12(5
| Author | SHA1 | Date | |
|---|---|---|---|
| 40e1fb4f83 | |||
| ed53b9e3b4 | |||
| 37ac05b8ab | |||
| 823d0d7a33 | |||
| 5b07ff5efa | |||
| c5639a643a | |||
| 012f75198b | |||
| d7e0e858d2 | |||
| 339a5e5b68 | |||
| 02a13911d8 | |||
| b6f51971f1 | |||
| 57079c0062 | |||
| 63c353a83c | |||
| c069d21cbf | |||
| afeb9ecc23 | |||
| 2ff8d80da3 | |||
| 891e2641fa | |||
| ca79107809 | |||
| 5c37b986ce | |||
| c426250cd5 | |||
| f090c11146 | |||
| 5c90f22a49 | |||
| f1ddaa1fca | |||
| 8490553a32 | |||
| 66824fccb1 | |||
| 39dce4d23f | |||
| c1dbbde905 | |||
| 927b14c9fc |
4
.idea/deploymentTargetSelector.xml
generated
4
.idea/deploymentTargetSelector.xml
generated
@@ -4,10 +4,10 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2025-03-17T09:16:48.549771200Z">
|
||||
<DropdownSelection timestamp="2025-05-14T09:45:15.341614500Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" />
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=23324B682F" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
|
||||
@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 494
|
||||
def appVersionName = '1.46.06'
|
||||
def appVersionCode = 500
|
||||
def appVersionName = '1.46.12'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
@@ -101,7 +101,7 @@ configurations {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
// androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1', {
|
||||
// exclude group: 'com.android.support', module: 'support-annotations'
|
||||
@@ -112,11 +112,11 @@ dependencies {
|
||||
//Firebase
|
||||
|
||||
// Import the Firebase BoM
|
||||
implementation platform('com.google.firebase:firebase-bom:33.9.0')
|
||||
implementation platform('com.google.firebase:firebase-bom:33.13.0')
|
||||
implementation 'com.google.firebase:firebase-analytics'
|
||||
implementation 'com.google.firebase:firebase-crashlytics'
|
||||
implementation 'com.google.firebase:firebase-perf'
|
||||
implementation 'com.google.android.gms:play-services-basement:18.5.0'
|
||||
implementation 'com.google.android.gms:play-services-basement:18.7.0'
|
||||
|
||||
//JJWT
|
||||
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
|
||||
@@ -128,7 +128,7 @@ dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.12.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.4.0'
|
||||
|
||||
@@ -142,7 +142,7 @@ dependencies {
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.annimon:stream:1.2.2'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime:2.8.7'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime:2.9.0'
|
||||
implementation 'org.apache.commons:commons-text:1.9'
|
||||
|
||||
//MVVM
|
||||
@@ -162,7 +162,7 @@ dependencies {
|
||||
implementation 'com.github.pedromassango:doubleClick:3.0'
|
||||
|
||||
//SQLite ROOM
|
||||
def room_version = "2.6.1"
|
||||
def room_version = "2.7.1"
|
||||
|
||||
implementation "androidx.room:room-runtime:$room_version"
|
||||
annotationProcessor "androidx.room:room-compiler:$room_version"
|
||||
|
||||
@@ -97,6 +97,7 @@ public class DBSettingsModel {
|
||||
private List<String> allowedCodMgrpForArtCreation;
|
||||
private boolean flagAccettazioneGroupListForn = false;
|
||||
private boolean flagSpedizioneEnableFastPicking = false;
|
||||
private boolean flagAccettazioneBollaEditableQtaTot = true;
|
||||
|
||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||
return flagSpedizioneEnableFakeGiacenza;
|
||||
@@ -815,4 +816,12 @@ public class DBSettingsModel {
|
||||
public void setFlagSpedizioneEnableFastPicking(boolean flagSpedizioneEnableFastPicking) {
|
||||
this.flagSpedizioneEnableFastPicking = flagSpedizioneEnableFastPicking;
|
||||
}
|
||||
|
||||
public boolean isFlagAccettazioneBollaEditableQtaTot() {
|
||||
return flagAccettazioneBollaEditableQtaTot;
|
||||
}
|
||||
|
||||
public void setFlagAccettazioneBollaEditableQtaTot(boolean flagAccettazioneBollaEditableQtaTot) {
|
||||
this.flagAccettazioneBollaEditableQtaTot = flagAccettazioneBollaEditableQtaTot;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -564,6 +564,12 @@ public class SettingsManager {
|
||||
.setKeySection("ENABLE_FAST_PICKING")
|
||||
.setSetter(dbSettingsModelIstance::setFlagSpedizioneEnableFastPicking)
|
||||
.setDefaultValue(false));
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("ACCETTAZIONE_BOLLA")
|
||||
.setKeySection("FLAG_QTA_TOT_EDITABLE")
|
||||
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaEditableQtaTot)
|
||||
.setDefaultValue(true));
|
||||
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
||||
.setGestName("PICKING")
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
@@ -54,7 +55,7 @@ public class BolleAccettazioneRESTConsumer extends _BaseRESTConsumer {
|
||||
.enqueue(new ManagedErrorCallback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> call, Response<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> response) {
|
||||
analyzeAnswer(response, "retrievePickingListBolle", data -> onComplete.run(data.getSitArticoli()), onFailed);
|
||||
analyzeAnswer(response, "retrievePickingListBolle", data -> onComplete.run(data.getSitArticoli() == null ? new ArrayList<>() : data.getSitArticoli()), onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -620,6 +620,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
||||
.setDataScad(dataScad)
|
||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||
.setCanLUBeClosed(true)
|
||||
.setQtaTotEditable(SettingsManager.iDB().isFlagAccettazioneBollaEditableQtaTot())
|
||||
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
||||
.setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagAccettazioneBollaDisableMandatoryTracciabilita());
|
||||
|
||||
|
||||
@@ -338,6 +338,8 @@ public class PickingLiberoViewModel {
|
||||
|
||||
if (this.mFlagAskCliente) {
|
||||
var data = this.sendLUClienteRequired();
|
||||
if (data == null) return;
|
||||
|
||||
vtbDest = data.first;
|
||||
codJcom = data.second;
|
||||
}
|
||||
@@ -648,7 +650,6 @@ public class PickingLiberoViewModel {
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void executeDepositChangeIfNeeded(MtbColt refMtbColt) throws Exception {
|
||||
//Considero solo la prima UDC scansionata
|
||||
boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) &&
|
||||
@@ -860,7 +861,7 @@ public class PickingLiberoViewModel {
|
||||
|
||||
if (this.mDefaultGestione == GestioneEnum.LAVORAZIONE && SettingsManager.iDB().isProduzioneGeneraDocScar()) {
|
||||
|
||||
if(SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty())
|
||||
if (SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty())
|
||||
throw new Exception("Nessuna anagrafica aziendale configurata. Assicurarsi di aver abilitato il flag FLAG_USE_COD_ANAG_AZIENDALE.");
|
||||
|
||||
closeUDSRequest
|
||||
|
||||
@@ -201,6 +201,8 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra
|
||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessful)
|
||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(requireContext(), ex, false)));
|
||||
|
||||
BarcodeManager.enable(barcodeScannerIstanceID);
|
||||
}
|
||||
|
||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||
@@ -209,12 +211,12 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
this.mViewModel.processBarcodeDTO(data);
|
||||
this.onLoadingEnded();
|
||||
} catch (Exception e) {
|
||||
this.onError(e);
|
||||
}
|
||||
});
|
||||
|
||||
this.onLoadingEnded();
|
||||
};
|
||||
|
||||
|
||||
@@ -279,6 +281,7 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra
|
||||
.setTotalNumCnfOrd(incomingNumCnf)
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
.setCanInputZeroQuantity(true)
|
||||
.setCanLUBeClosed(false);
|
||||
|
||||
if (!dialogInputQuantityV2View.isVisible())
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -63,6 +64,9 @@ public class DialogAskClienteView extends BaseDialogFragment {
|
||||
@Inject
|
||||
DialogProgressView dialogProgressView;
|
||||
|
||||
@Inject
|
||||
Handler handler;
|
||||
|
||||
public static DialogAskClienteView newInstance(@NotNull RunnableArgss<VtbDest, String> onComplete, @NotNull Runnable onAbort) {
|
||||
return new DialogAskClienteView(onComplete, onAbort);
|
||||
}
|
||||
@@ -119,6 +123,8 @@ public class DialogAskClienteView extends BaseDialogFragment {
|
||||
DialogAskCliente_Page1ViewModel viewModel1 = (DialogAskCliente_Page1ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page1);
|
||||
DialogAskCliente_Page2ViewModel viewModel2 = (DialogAskCliente_Page2ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page2);
|
||||
|
||||
viewModel1.setHandler(handler);
|
||||
|
||||
viewModel1.setOnConfirmClickListener(() -> {
|
||||
String codAnag = viewModel1.getCurrentCliente();
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.widget.AutoCompleteTextView;
|
||||
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
@@ -37,9 +38,15 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
|
||||
private Runnable onConfirmClickListener;
|
||||
private Runnable onAbortClickListener;
|
||||
|
||||
private Handler handler;
|
||||
|
||||
public DialogAskCliente_Page1ViewModel() {
|
||||
}
|
||||
|
||||
public void setHandler(Handler handler){
|
||||
this.handler = handler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContext(Context context) {
|
||||
this.mContext = context;
|
||||
@@ -147,33 +154,33 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod
|
||||
|
||||
|
||||
private void initializeAdapter(ArrayList<DialogAskClienteClienteDTO> items) {
|
||||
handler.post(() -> {
|
||||
var orderedList = Stream.of(items)
|
||||
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
|
||||
.toList();
|
||||
|
||||
var orderedList = Stream.of(items)
|
||||
.sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "")
|
||||
.toList();
|
||||
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList);
|
||||
|
||||
DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList);
|
||||
AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente;
|
||||
editTextDropdownCliente.setThreshold(0);
|
||||
editTextDropdownCliente.setAdapter(adapter);
|
||||
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
|
||||
refreshCodJcoms(items.get(position));
|
||||
});
|
||||
|
||||
AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente;
|
||||
editTextDropdownCliente.setThreshold(0);
|
||||
editTextDropdownCliente.setAdapter(adapter);
|
||||
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
|
||||
refreshCodJcoms(items.get(position));
|
||||
});
|
||||
DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext);
|
||||
|
||||
AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa;
|
||||
editTextDropdownCommessa.setThreshold(0);
|
||||
editTextDropdownCommessa.setAdapter(commessaAdapter);
|
||||
|
||||
DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext);
|
||||
|
||||
AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa;
|
||||
editTextDropdownCommessa.setThreshold(0);
|
||||
editTextDropdownCommessa.setAdapter(commessaAdapter);
|
||||
|
||||
codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
commessaAdapter.clear();
|
||||
commessaAdapter.addAll(codJcoms);
|
||||
}
|
||||
codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
commessaAdapter.clear();
|
||||
commessaAdapter.addAll(codJcoms);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ public class DialogChooseArtFromListaArtsView extends BaseDialogFragment {
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
dismiss();
|
||||
//dismiss();
|
||||
}
|
||||
|
||||
public void dismiss(MtbAart item) {
|
||||
|
||||
@@ -41,6 +41,7 @@ public class DialogInputQuantityV2DTO {
|
||||
private boolean isNotesAllowed = false;
|
||||
private boolean isNotesMandatory = false;
|
||||
private boolean isNumCnfEditable = true;
|
||||
private boolean isQtaTotEditable = true;
|
||||
private boolean isFocusOnStart = true;
|
||||
private boolean canLUBeClosed;
|
||||
private boolean saveOnImeDone = false;
|
||||
@@ -323,6 +324,15 @@ public class DialogInputQuantityV2DTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isQtaTotEditable() {
|
||||
return isQtaTotEditable;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2DTO setQtaTotEditable(boolean qtaTotEditable) {
|
||||
this.isQtaTotEditable = qtaTotEditable;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RunnableArgsWithReturn<DialogInputQuantityV2ViewModel, String> getSuggestPartitaMag() {
|
||||
return suggestPartitaMag;
|
||||
}
|
||||
|
||||
@@ -255,9 +255,9 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
}
|
||||
|
||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||
this.onLoadingStarted();
|
||||
handler.post(() -> {
|
||||
this.onLoadingStarted();
|
||||
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
this.mViewModel.processBarcodeDTO(data);
|
||||
this.onLoadingEnded();
|
||||
@@ -397,7 +397,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
toggleTextInputLayoutError(textColorsNumCnf, this.mBindings.inputNumCnfLayout, value);
|
||||
|
||||
if (this.mViewModel.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||
this.enabledQtaTot.set(!value);
|
||||
this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable() && !value);
|
||||
} else {
|
||||
if (value) {
|
||||
if (this.mViewModel.blockedQtaCnf.get()) {
|
||||
@@ -407,7 +407,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
}
|
||||
} else {
|
||||
if (!this.enabledQtaTot.get()) {
|
||||
this.enabledQtaTot.set(true);
|
||||
this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable());
|
||||
} else if (!this.enabledQtaCnf.get()) {
|
||||
this.enabledQtaCnf.set(true);
|
||||
}
|
||||
@@ -426,7 +426,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
}
|
||||
} else {
|
||||
if (!this.enabledQtaTot.get()) {
|
||||
this.enabledQtaTot.set(true);
|
||||
this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable());
|
||||
} else if (!this.enabledNumCnf.get()) {
|
||||
this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable());
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ public class DialogScanOrCreateLUViewModel {
|
||||
|
||||
} else {
|
||||
var createUdcRequest = new CreateUDCRequestDTO()
|
||||
.setBarcodeUl(barcodeScanDTO.getStringValue())
|
||||
.setBarcodeUl(ean128Model.Sscc)
|
||||
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep());
|
||||
|
||||
this.mColliLavorazioneRESTConsumer.createUDC(createUdcRequest, createdMtbColt -> {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
buildscript {
|
||||
ext {
|
||||
kotlin_version = '2.1.0'
|
||||
agp_version = '8.8.0'
|
||||
agp_version = '8.10.0'
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
#Mon Feb 13 15:14:43 CET 2023
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
Reference in New Issue
Block a user