From 1014043c5346fe93058e730eb45ec96dee0a7a56 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 12 Jan 2024 12:39:31 +0100 Subject: [PATCH 01/30] Completato versamento materiale su ordine --- .../configs/MenuConfiguration.java | 12 +++- .../picking_libero/PickingLiberoFragment.java | 8 ++- .../DialogAskLineaProdView.java | 10 +++- .../ic_dashboard_prod_versamento_su_ord.xml | 56 +++++++++++++++++++ app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values/config.xml | 1 + app/src/main/res/values/strings.xml | 1 + .../ic_dashboard_prod_versamento_su_ord.svg | 45 +++++++++++++++ 8 files changed, 129 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable/ic_dashboard_prod_versamento_su_ord.xml create mode 100644 ext_sources/ICONS/ic_dashboard_prod_versamento_su_ord.svg diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java index 70526fa5..5dba0ebb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java @@ -86,7 +86,7 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setTitleText(R.string.free_picking) .setTitleIcon(R.drawable.ic_dashboard_picking_libero) .setDrawerIcon(R.drawable.ic_black_barcode_scanner) - .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false))) + .setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_picking, GestioneEnum.VENDITA, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false))) .addItem(new MenuItem() .setID(R.id.nav_resi_cliente) @@ -122,7 +122,7 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setTitleText(R.string.free_lav_picking) .setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero) .setDrawerIcon(R.drawable.ic_black_barcode_scanner) - .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false))) + .setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_lav_picking, GestioneEnum.LAVORAZIONE, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false))) .addItem(new MenuItem() .setID(R.id.nav_prod_posizionamento_da_ord) @@ -171,6 +171,14 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale) .setDrawerIcon(R.drawable.ic_black_external) .setFragmentFactory(ProdVersamentoMaterialeInBufferFragment::newInstance)) + + .addItem(new MenuItem() + .setID(R.id.nav_prod_versamento_su_ordine) + .setCodMenu("MG068") + .setTitleText(R.string.prod_versamento_su_ordine_title_fragment) + .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_su_ord) + .setDrawerIcon(R.drawable.ic_black_external) + .setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.prod_versamento_su_ordine_title_fragment, GestioneEnum.LAVORAZIONE, false, true))) ).addGroup( new MenuGroup() .setGroupText(R.string.internal_handling) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index b9007129..4d3c07f1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -8,6 +8,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.StringRes; import androidx.appcompat.widget.AppCompatTextView; import androidx.core.content.ContextCompat; import androidx.databinding.DataBindingUtil; @@ -93,10 +94,11 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme // Required empty public constructor } - public static PickingLiberoFragment newInstance(GestioneEnum gestioneEnum, boolean askCliente, boolean askLineaProd) { + public static PickingLiberoFragment newInstance(@StringRes int title, GestioneEnum gestioneEnum, boolean askCliente, boolean askLineaProd) { PickingLiberoFragment fragment = new PickingLiberoFragment(); Bundle args = new Bundle(); + args.putInt("title", title); args.putString("gestione", gestioneEnum.getText()); args.putBoolean("askCliente", askCliente); args.putBoolean("askLineaProd", askLineaProd); @@ -108,7 +110,6 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme @Override public void onCreateActionBar(AppCompatTextView titleText, Context context) { mToolbarTitleText = titleText; - mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString()); } @Override @@ -119,6 +120,9 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme mCurrentGestione = GestioneEnum.fromString(getArguments().getString("gestione")); mAskCliente = getArguments().getBoolean("askCliente"); mAskLineaProd = getArguments().getBoolean("askLineaProd"); + + + mToolbarTitleText.setText(getText(getArguments().getInt("title")).toString()); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_linea_prod/DialogAskLineaProdView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_linea_prod/DialogAskLineaProdView.java index fba4bf1a..91d2885b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_linea_prod/DialogAskLineaProdView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_linea_prod/DialogAskLineaProdView.java @@ -75,6 +75,7 @@ public class DialogAskLineaProdView extends BaseDialogFragment implements Dialog alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setOnShowListener(this); + alertDialog.setOnDismissListener(this); return alertDialog; } @@ -102,6 +103,13 @@ public class DialogAskLineaProdView extends BaseDialogFragment implements Dialog @Override public void onProductionLineSelected(String codJfas) { this.onComplete.run(codJfas); - dismiss(); + + requireActivity().runOnUiThread(this::dismiss); + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + BarcodeManager.removeCallback(mBarcodeScannerIstanceID); + super.onDismiss(dialog); } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_dashboard_prod_versamento_su_ord.xml b/app/src/main/res/drawable/ic_dashboard_prod_versamento_su_ord.xml new file mode 100644 index 00000000..1d7cd7ac --- /dev/null +++ b/app/src/main/res/drawable/ic_dashboard_prod_versamento_su_ord.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a0e808e2..ded9e2cf 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -335,6 +335,7 @@ Picking da ordine Versamento materiale Versamento materiale in buffer + Versamento su ordine Recupero materiale Seleziona un elemento per continuare diff --git a/app/src/main/res/values/config.xml b/app/src/main/res/values/config.xml index 49beff28..cb4d1d33 100644 --- a/app/src/main/res/values/config.xml +++ b/app/src/main/res/values/config.xml @@ -27,6 +27,7 @@ + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ac6c27ee..c8083c22 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -339,6 +339,7 @@ Manufacture picking Deposit raw material Deposit raw material in buffer + Deposit by order Recover raw material Please select an item before proceed diff --git a/ext_sources/ICONS/ic_dashboard_prod_versamento_su_ord.svg b/ext_sources/ICONS/ic_dashboard_prod_versamento_su_ord.svg new file mode 100644 index 00000000..6925aee2 --- /dev/null +++ b/ext_sources/ICONS/ic_dashboard_prod_versamento_su_ord.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + From 02cd92f2dd35d985b869e08a4029fc9a2fe29a6b Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 12 Jan 2024 12:42:51 +0100 Subject: [PATCH 02/30] -> v1.37.00 (408) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b9fe557f..cc6d396e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 407 - def appVersionName = '1.36.14' + def appVersionCode = 408 + def appVersionName = '1.37.00' signingConfigs { release { From 3c86db62c0d4700628ae52d7371dd79357bad6a7 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 15 Jan 2024 13:34:38 +0100 Subject: [PATCH 03/30] Fix per Tuidi --- .idea/deploymentTargetDropDown.xml | 16 ++++++++++ .../core/utility/UtilitySHA1.java | 31 +++++++++++++++++++ .../DocInterniEditFormViewModel.java | 8 ++++- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/utility/UtilitySHA1.java diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 0c0c3383..282ee6d0 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -2,6 +2,22 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilitySHA1.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilitySHA1.java new file mode 100644 index 00000000..746b9e4e --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilitySHA1.java @@ -0,0 +1,31 @@ +package it.integry.integrywmsnative.core.utility; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; + +public class UtilitySHA1 { + + + public static String getSha1Hex(String clearString) + { + try + { + MessageDigest messageDigest = MessageDigest.getInstance("SHA-1"); + messageDigest.update(clearString.getBytes(StandardCharsets.UTF_8)); + byte[] bytes = messageDigest.digest(); + StringBuilder buffer = new StringBuilder(); + for (byte b : bytes) + { + buffer.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); + } + return buffer.toString(); + } + catch (Exception ignored) + { + ignored.printStackTrace(); + return null; + } + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java index b96a38e6..2b55bb45 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java @@ -22,8 +22,10 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilitySHA1; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.CheckFornitoreDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO; @@ -201,8 +203,12 @@ public class DocInterniEditFormViewModel { private SaveDTO getSaveDto() { SqlMtbColt document = this.getDocument(); + + String UUID = SettingsManager.i().getUserSession().getDeviceId() + "-" + document.getId(); + UUID = UtilitySHA1.getSha1Hex(UUID); + SaveDTO saveDTO = new SaveDTO(); - saveDTO.setUUID(String.valueOf(document.getId())); + saveDTO.setUUID(UUID); saveDTO.setIdDisp("1"); saveDTO.setGestione(document.getGestione()); saveDTO.setCodMdep(document.getCodMdep()); From 1ceb8c9cf94ade53a18c86b40ab8f5ec3c46c086 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 15 Jan 2024 13:36:34 +0100 Subject: [PATCH 04/30] -> v1.37.01 (409) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cc6d396e..598df092 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 408 - def appVersionName = '1.37.00' + def appVersionCode = 409 + def appVersionName = '1.37.01' signingConfigs { release { From fb2bed2dbfbf79251c623a2dfd90cfa0453eec20 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 16 Jan 2024 11:54:45 +0100 Subject: [PATCH 05/30] Fix per Tuidi --- .../dialog/DialogSelectDocInfoViewModel.java | 43 ++++++------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java index 60a694e3..3edb1a81 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java @@ -3,10 +3,9 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.dialog; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; -import com.annimon.stream.Stream; - import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.exception.DocumentRequiredException; @@ -34,24 +33,11 @@ public class DialogSelectDocInfoViewModel extends ViewModel { private final MutableLiveData noteRequired = new MutableLiveData<>(false); public DialogSelectDocInfoViewModel() { - tipoDoc.observeForever(val -> - fornitoreRequired.postValue( - val != null && - (val.getGestioneDoc().equals("T") || - val.getGestioneDoc().equals("A") || - (val.getGestioneDoc().equals("P") && - !val.getGestione().equals("L"))))); + tipoDoc.observeForever(val -> fornitoreRequired.postValue(val != null && (val.getGestioneDoc().equals("T") || val.getGestioneDoc().equals("A") || (val.getGestioneDoc().equals("P") && !val.getGestione().equals("L"))))); - tipoDoc.observeForever(val -> - documentRequired.postValue( - val != null && - val.getGestioneDoc().equalsIgnoreCase("P") && !val.getGestione().equalsIgnoreCase("L"))); + tipoDoc.observeForever(val -> documentRequired.postValue(val != null && val.getGestioneDoc().equalsIgnoreCase("P") && !val.getGestione().equalsIgnoreCase("L"))); - tipoDoc.observeForever(val -> - noteRequired.postValue( - val != null && - val.getGestioneDoc().equals("P") && - val.getGestione().equals("L"))); + tipoDoc.observeForever(val -> noteRequired.postValue(val != null && val.getGestioneDoc().equals("P") && val.getGestione().equals("L"))); } public MutableLiveData> getAvailableFornitori() { @@ -60,18 +46,15 @@ public class DialogSelectDocInfoViewModel extends ViewModel { public void setFornitori(List fornitori) { tipoDoc.observeForever(val -> { - availableFornitori.postValue(Stream.of(fornitori) - .filter(forn -> { - if (val.getGestioneDoc().equalsIgnoreCase("T")) { - return forn.getTipoAnag().equalsIgnoreCase("D") && - forn.getGestioneAnag().equalsIgnoreCase( - val.getGestione().equalsIgnoreCase("V") ? "V" : "L" - ); - } else { - return forn.getTipoAnag().equalsIgnoreCase("F"); - } - }) - .toList()); + List availableFornitoriList = fornitori.stream().filter(forn -> { + if (val.getGestioneDoc().equalsIgnoreCase("T")) { + return forn.getTipoAnag().equalsIgnoreCase("D") && forn.getGestioneAnag().equalsIgnoreCase(val.getGestione().equalsIgnoreCase("V") ? "V" : "L"); + } else { + return forn.getTipoAnag().equalsIgnoreCase("F"); + } + }).collect(Collectors.toList()); + + availableFornitori.postValue(availableFornitoriList); }); } From db3eb1b0628f3c562dbfea21ba301b7532c4ef17 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Wed, 17 Jan 2024 09:14:44 +0100 Subject: [PATCH 06/30] Aggiunto nella sezione Approvvigionamento avanti elenco degli ordini e filtro per numOrd --- .idea/runConfigurations/app.xml | 2 +- .../core/rest/consumers/MesRESTConsumer.java | 4 +- .../consumers/MesRESTConsumerService.java | 2 +- .../core/utility/UtilityDB.java | 10 + .../core/utility/UtilityDate.java | 10 + .../OrdiniUscitaElencoBindings.java | 2 +- .../OrdiniUscitaElencoFragment.java | 2 +- .../ProdOrdineProduzioneElencoBindings.java | 2 +- .../ProdOrdineProduzioneElencoFragment.java | 2 +- .../ProdFabbisognoLineeProdBindings.java | 20 ++ .../ProdFabbisognoLineeProdFragment.java | 226 ++++++++++++++++-- .../ProdFabbisognoLineeProdModule.java | 7 +- .../ProdFabbisognoLineeProdViewModel.java | 57 ++++- .../dto/GroupTitleModel.java | 22 ++ .../dto/ProdFabbisognoLineeItemModelDto.java | 23 ++ ...rodFabbisognoLineeProdFilterViewModel.java | 74 ++++++ .../ProdFabbisognoLineeProdRESTConsumer.java | 4 +- ...abbisognoLineeProdRESTConsumerService.java | 4 +- .../dto/OrdineLavorazioneDTO.java | 10 + .../filters/FilterNumeroOrdineLayoutView.java | 2 +- .../accettazione_main_list_group_model.xml | 2 + ...ragment_main_ordini_uscita__list_model.xml | 2 + ...prod_fabbisogno_linee_list_single_item.xml | 127 ++++++++++ .../fragment_prod_fabbisogno_linee_prod.xml | 119 ++++++++- ...gment_prod_fabbisogno_linee_title_item.xml | 39 +++ ...ent_prod_ordine_produzione__list_model.xml | 94 +++----- .../layout/layout_filter_numero_ordine.xml | 2 +- ...layout_filter_numero_ordine__list_item.xml | 2 +- 28 files changed, 761 insertions(+), 111 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/ProdFabbisognoLineeProdBindings.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/GroupTitleModel.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/dto/ProdFabbisognoLineeItemModelDto.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/prod_fabbisogno_linee_prod/filters/ProdFabbisognoLineeProdFilterViewModel.java rename app/src/main/java/it/integry/integrywmsnative/{gest/ordini_uscita_elenco => ui/filter_chips}/filters/FilterNumeroOrdineLayoutView.java (98%) create mode 100644 app/src/main/res/layout/fragment_prod_fabbisogno_linee_list_single_item.xml create mode 100644 app/src/main/res/layout/fragment_prod_fabbisogno_linee_title_item.xml diff --git a/.idea/runConfigurations/app.xml b/.idea/runConfigurations/app.xml index e0479975..72c17371 100644 --- a/.idea/runConfigurations/app.xml +++ b/.idea/runConfigurations/app.xml @@ -1,6 +1,6 @@ - +