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/build.gradle b/app/build.gradle index b9fe557f..598df092 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 = 409 + def appVersionName = '1.37.01' signingConfigs { release { 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/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()); 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +