Nuova gestione linee di produzione

This commit is contained in:
Valerio Castellana 2022-05-25 17:17:58 +02:00
parent e0e9e657c9
commit 9dc3996aef
9 changed files with 215 additions and 139 deletions

View File

@ -45,6 +45,8 @@ import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisogn
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdModule; import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdModule;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaComponent; import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaComponent;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaModule; import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaModule;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneComponent;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneModule;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeComponent; import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeComponent;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule; import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule;
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent; import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
@ -131,7 +133,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
DialogSelectDocRowsModule.class, DialogSelectDocRowsModule.class,
DialogAskClienteModule.class, DialogAskClienteModule.class,
DialogEditArticoloModule.class, DialogEditArticoloModule.class,
DialogPrintOrderSSCCListModule.class DialogPrintOrderSSCCListModule.class,
ProdLineeProduzioneModule.class
}) })
public interface MainApplicationComponent { public interface MainApplicationComponent {
@ -221,6 +224,8 @@ public interface MainApplicationComponent {
DialogPrintOrderSSCCListComponent.Factory dialogPrintOrderSSCCListComponent(); DialogPrintOrderSSCCListComponent.Factory dialogPrintOrderSSCCListComponent();
ProdLineeProduzioneComponent.Factory prodLineeProduzioneComponent();
void inject(MainApplication mainApplication); void inject(MainApplication mainApplication);
void inject(AppContext mainApplication); void inject(AppContext mainApplication);

View File

@ -8,6 +8,7 @@ import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoF
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment; import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneFragment;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment; import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceFragment; import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceFragment;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment; import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
@ -133,6 +134,14 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_accettazione_produzione) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_accettazione_produzione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
.setFragmentFactory(ProdRientroMerceFragment::newInstance)) .setFragmentFactory(ProdRientroMerceFragment::newInstance))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_prod_linee)
.setCodMenu("MG061")
.setTitleText(it.integry.integrywmsnative.R.string.nav_prod_linee_title)
.setTitleIcon(R.drawable.ic_production_line)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_production_line)
.setFragmentFactory(ProdLineeProduzioneFragment::newInstance))
).addGroup( ).addGroup(
new MenuGroup() new MenuGroup()
.setGroupText(R.string.internal_handling) .setGroupText(R.string.internal_handling)

View File

@ -32,6 +32,10 @@ public class UtilityBarcode {
return barcodeScanDTO != null && (barcodeScanDTO.getType() == BarcodeType.CODE128 || barcodeScanDTO.getType() == BarcodeType.EAN128); return barcodeScanDTO != null && (barcodeScanDTO.getType() == BarcodeType.CODE128 || barcodeScanDTO.getType() == BarcodeType.EAN128);
} }
public static boolean isEan128(BarcodeScanDTO barcodeScanDTO) {
return barcodeScanDTO != null && barcodeScanDTO.getType() == BarcodeType.EAN128;
}
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) { public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) {
return isEtichettaPosizione(barcodeScanDTO, true); return isEtichettaPosizione(barcodeScanDTO, true);
} }

View File

@ -4,6 +4,7 @@ import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.text.InputType;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
@ -21,15 +22,14 @@ import it.integry.integrywmsnative.databinding.DialogInputGeneralBinding;
public class DialogSimpleInputHelper { public class DialogSimpleInputHelper {
private static Dialog makeBase(Context mContext, String titleText, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick){ private static Dialog makeBase(Context mContext, String titleText, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
Dialog dialog = new Dialog(mContext); Dialog dialog = new Dialog(mContext);
DialogSimpleInputViewModel viewModel = new DialogSimpleInputViewModel(dialog); DialogSimpleInputViewModel viewModel = new DialogSimpleInputViewModel(dialog);
DialogInputGeneralBinding mBinding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.dialog_input_general, null, false); DialogInputGeneralBinding mBinding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.dialog_input_general, null, false);
viewModel viewModel
.setOnPositive(()->{ .setOnPositive(() -> {
onPositiveClick.run(mBinding.generalInput.getText().toString()); onPositiveClick.run(mBinding.generalInput.getText().toString());
}) })
@ -38,50 +38,79 @@ public class DialogSimpleInputHelper {
mBinding.setViewmodel(viewModel); mBinding.setViewmodel(viewModel);
//Title VIEW //Title VIEW
mBinding.titleText.setText(titleText); mBinding.titleText.setText(titleText);
if (!UtilityString.isNullOrEmpty(hintText)){ if (!UtilityString.isNullOrEmpty(hintText)) {
mBinding.generalInput.setHint(hintText); mBinding.generalInput.setHint(hintText);
} }
if (!UtilityString.isNullOrEmpty(defaultTextValue)){ if (!UtilityString.isNullOrEmpty(defaultTextValue)) {
mBinding.generalInput.setText(defaultTextValue); mBinding.generalInput.setText(defaultTextValue);
} }
if (inputType != null) {
mBinding.generalInput.setInputType(InputType.TYPE_CLASS_NUMBER);
}
//Content View //Content View
dialog.setCancelable(true); dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(false); dialog.setCanceledOnTouchOutside(false);
dialog.setContentView(mBinding.getRoot()); dialog.setContentView(mBinding.getRoot());
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
UtilityDialog.setTo90PercentWidth(mContext,dialog); UtilityDialog.setTo90PercentWidth(mContext, dialog);
return dialog; return dialog;
} }
public static Dialog makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick){ public static Dialog makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
return makeBase(mContext, return makeBase(mContext,
title, title,
null, null,
null, null,
onPositiveClick, onPositiveClick,
onNegativeClick); onNegativeClick,
null);
} }
public static Dialog makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick){ public static Dialog makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick) {
return makeBase(mContext, return makeBase(mContext,
title, title,
defaultTextValue, defaultTextValue,
hintText, hintText,
onPositiveClick, onPositiveClick,
onNegativeClick); onNegativeClick,
null);
}
public static Dialog makeInputDialog(Context mContext, String title, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
return makeBase(mContext,
title,
null,
null,
onPositiveClick,
onNegativeClick,
inputType);
} }
public static Dialog makeInputDialog(Context mContext, String title, String defaultTextValue, String hintText, RunnableArgs<String> onPositiveClick, Runnable onNegativeClick, Integer inputType) {
return makeBase(mContext,
title,
defaultTextValue,
hintText,
onPositiveClick,
onNegativeClick,
inputType);
}
} }

View File

@ -67,7 +67,7 @@
android:id="@+id/radioGroup" android:id="@+id/radioGroup"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:onCheckedChanged="@{view.onCheckChange}" android:onCheckedChanged="@{view::onCheckChange}"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/description_text"> app:layout_constraintTop_toBottomOf="@id/description_text">

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"> <layout>
<data> <data>
<import type="it.integry.integrywmsnative.R" /> <import type="it.integry.integrywmsnative.R" />
</data> </data>
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -46,7 +46,7 @@
android:textColor="@color/colorPrimaryGray" android:textColor="@color/colorPrimaryGray"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:textSize="14sp" android:textSize="14sp"
tools:text="13 Apr"/> tools:text="13 Apr" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/num_rows" android:id="@+id/num_rows"
@ -58,7 +58,7 @@
android:layout_below="@id/doc_description" android:layout_below="@id/doc_description"
android:singleLine="true" android:singleLine="true"
android:ellipsize="end" android:ellipsize="end"
tools:text="0 Articoli"/> tools:text="0 Articoli" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>

View File

@ -8,6 +8,7 @@
<string name="waiting">Attendere</string> <string name="waiting">Attendere</string>
<string name="loading">Caricamento</string> <string name="loading">Caricamento</string>
<string name="completed">Completato</string> <string name="completed">Completato</string>
<string name="success">Successo</string>
<string name="ord_acq_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string> <string name="ord_acq_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string>
<string name="ord_ven_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string> <string name="ord_ven_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string>
<string name="ord_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string> <string name="ord_testata"><![CDATA[N° <b>%s</b> del <b>%s</b>]]></string>
@ -390,4 +391,17 @@
<string name="newly_inserted_prod">Nuovo articolo in griglia</string> <string name="newly_inserted_prod">Nuovo articolo in griglia</string>
<string name="doc_interni_select_row_to_edit">Seleziona la riga da modificare</string> <string name="doc_interni_select_row_to_edit">Seleziona la riga da modificare</string>
<string name="incoming_cnf">Colli in arrivo</string> <string name="incoming_cnf">Colli in arrivo</string>
<string name="nav_prod_linee_title">Linee di produzione</string>
<string name="no_line_available">Nessuna linea disponibile</string>
<string name="in_progress">In lavorazione</string>
<string name="stand_by">In pausa</string>
<string name="stopped">Ferma</string>
<string name="risorse_impostate">Risorse allocate</string>
<string name="orders_in_progress">Ordini in lavorazione</string>
<string name="ridistribuisci_risorse">Ridistribuisci risorse</string>
<string name="avvia_nuova_produzione">Avvia nuova produzione</string>
<string name="arresta_produzione">Arresta produzione</string>
<string name="inizio_produzione">Inizio produzione</string>
<string name="ultima_produzione">Ultima produzione</string>
<string name="nessuna_linea_disponibile">Nessuna linea disponibile</string>
</resources> </resources>

View File

@ -26,8 +26,9 @@
<item name="nav_prod_ordine_lavorazione" type="id" /> <item name="nav_prod_ordine_lavorazione" type="id" />
<item name="nav_prod_recupero_materiale" type="id" /> <item name="nav_prod_recupero_materiale" type="id" />
<item name="nav_pv_ordini_acquisto" type="id" /> <item name="nav_pv_ordini_acquisto" type="id" />
<item name="nav_pv_ordini_acquisto_trasmessi" type="id"/> <item name="nav_pv_ordini_acquisto_trasmessi" type="id" />
<item name="nav_prod_rientro_merce" type="id"/> <item name="nav_prod_rientro_merce" type="id" />
<item name="nav_prod_linee" type="id" />
<item name="nav_settings" type="id" /> <item name="nav_settings" type="id" />
<item name="nav_logout" type="id" /> <item name="nav_logout" type="id" />
<item name="nav_pv_doc_interni" type="id" /> <item name="nav_pv_doc_interni" type="id" />

View File

@ -45,6 +45,7 @@
<string name="waiting">Waiting</string> <string name="waiting">Waiting</string>
<string name="loading">Loading</string> <string name="loading">Loading</string>
<string name="completed">Completed</string> <string name="completed">Completed</string>
<string name="success">Success</string>
<string name="search">Search&#8230;</string> <string name="search">Search&#8230;</string>
<string name="login">Login</string> <string name="login">Login</string>
<string name="permission_request_message">Permissions are required for app to work properly</string> <string name="permission_request_message">Permissions are required for app to work properly</string>
@ -396,4 +397,17 @@
<string name="newly_inserted_prod">Newly added product</string> <string name="newly_inserted_prod">Newly added product</string>
<string name="doc_interni_select_row_to_edit">Select document row to edit</string> <string name="doc_interni_select_row_to_edit">Select document row to edit</string>
<string name="incoming_cnf">Incoming packages</string> <string name="incoming_cnf">Incoming packages</string>
<string name="nav_prod_linee_title">Production lines</string>
<string name="no_line_available">No line available</string>
<string name="in_progress">in progress</string>
<string name="stand_by">Stand by</string>
<string name="stopped">Stopped</string>
<string name="risorse_impostate">Resources set</string>
<string name="orders_in_progress">Orders in progress</string>
<string name="ridistribuisci_risorse">Redistribute resources</string>
<string name="avvia_nuova_produzione">Start production</string>
<string name="arresta_produzione">Stop production</string>
<string name="inizio_produzione">Production start</string>
<string name="ultima_produzione">Last production</string>
<string name="nessuna_linea_disponibile">No production line available</string>
</resources> </resources>