Compare commits

...

25 Commits

Author SHA1 Message Date
c4c4013995 Finish v1.16.9(191) 2021-02-24 12:48:07 +01:00
e9230aba11 -> v1.16.9 (191) 2021-02-24 12:48:03 +01:00
d044c2ab26 Fix su dialog dismiss in DialogScanArt.
Rivista implementazione di destroy fragment.
2021-02-24 12:47:33 +01:00
843679620b Finish v1.16.8(190) 2021-02-23 16:48:40 +01:00
7346357b8e Finish v1.16.8(190) 2021-02-23 16:48:40 +01:00
b29a64a75a -> v1.16.8 (190) 2021-02-23 16:48:35 +01:00
163a8cb27a Fix su raggruppamento per partita nel calcolo dei fabbisogni per produzione 2021-02-23 16:48:07 +01:00
8311f56154 Finish v1.16.7(189) 2021-02-23 16:21:22 +01:00
0a76cc856c Finish v1.16.7(189) 2021-02-23 16:21:21 +01:00
0ed536b0d5 -> v1.16.7 (189) 2021-02-23 16:21:16 +01:00
c8f8ccd64f Ripristinate etichette colorate per indicare stato evasione ordini.
Possibile fix su onCreate di DialogScanArt.
2021-02-23 16:20:48 +01:00
ecd0678aab Finish v1.16.6(188) 2021-02-22 16:30:24 +01:00
3d7fb9e14f Finish v1.16.6(188) 2021-02-22 16:30:23 +01:00
489687d392 -> v1.16.6 (188) 2021-02-22 16:30:18 +01:00
5aa360af7c Fix su gestione impostata erroneamente in Spedizione 2021-02-22 16:29:47 +01:00
e43ba3341f Finish v1.16.5(187) 2021-02-19 17:09:17 +01:00
db21ce554a Finish v1.16.5(187) 2021-02-19 17:09:16 +01:00
86c9f3464c -> v1.16.5 (187) 2021-02-19 17:09:09 +01:00
6376668d15 Fix su fabbisogno per linee di produzione: non veniva calcolata la qta già scaricata dagli ordini 2021-02-19 17:08:28 +01:00
669bc1a8f5 Finish v1.16.4(186) 2021-02-18 15:08:50 +01:00
d78d99094f Finish v1.16.4(186) 2021-02-18 15:08:49 +01:00
c2c23c37a4 -> v1.16.4 (186) 2021-02-18 15:08:41 +01:00
b30bdb3df1 Sbloccata possibilità di imputare una quantità a peso variabile maggiore della qta ordinata. 2021-02-18 13:07:44 +01:00
8e7ad53ec9 Sistemati ricalcoli di qta_cnf e num_cnf in caso di barcode a peso in Accettazione. 2021-02-17 17:55:57 +01:00
e36441db73 Finish v1.16.3(185) 2021-02-17 12:47:00 +01:00
33 changed files with 253 additions and 200 deletions

View File

@@ -7,8 +7,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 185 def appVersionCode = 191
def appVersionName = '1.16.3' def appVersionName = '1.16.9'
signingConfigs { signingConfigs {
release { release {

View File

@@ -289,6 +289,10 @@ public class MainActivity extends BaseActivity
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE); mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE);
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE); mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this); ((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this);
((IScrollableFragment) fragment).addOnPreDestroy(() -> {
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE);
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
});
} else { } else {
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE); mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.VISIBLE);
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE); mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
@@ -296,7 +300,7 @@ public class MainActivity extends BaseActivity
if(fragment instanceof IScrollableFragment) { if(fragment instanceof IScrollableFragment) {
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar); ((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
((IScrollableFragment) fragment).setScrollableOnPreDestroy(() -> { ((IScrollableFragment) fragment).addOnPreDestroy(() -> {
mBinding.appBarMain.elevatedToolbar.resetAll(); mBinding.appBarMain.elevatedToolbar.resetAll();
}); });
} }

View File

@@ -48,7 +48,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.setTitleText(R.string.vendita_title_fragment) .setTitleText(R.string.vendita_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_spedizione) .setTitleIcon(R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(R.drawable.ic_black_upload) .setDrawerIcon(R.drawable.ic_black_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1))) .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1)))
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(R.id.nav_free_picking) .setID(R.id.nav_free_picking)

View File

@@ -25,6 +25,7 @@ public class BaseDialogFragment extends DialogFragment {
} }
} }
private boolean isControlKey(KeyEvent keyEvent) { private boolean isControlKey(KeyEvent keyEvent) {
int keyCode = keyEvent.getKeyCode(); int keyCode = keyEvent.getKeyCode();
return ( return (

View File

@@ -0,0 +1,7 @@
package it.integry.integrywmsnative.core.interfaces;
public interface IDestroyableFragment {
void addOnPreDestroy(Runnable onPreDestroy);
}

View File

@@ -2,10 +2,8 @@ package it.integry.integrywmsnative.core.interfaces;
import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.ElevatedToolbar;
public interface IScrollableFragment { public interface IScrollableFragment extends IDestroyableFragment {
void setScrollToolbar(ElevatedToolbar toolbar); void setScrollToolbar(ElevatedToolbar toolbar);
void setScrollableOnPreDestroy(Runnable onPreDestroy);
} }

View File

@@ -8,10 +8,8 @@ import androidx.appcompat.widget.AppCompatTextView;
* Created by GiuseppeS on 07/03/2018. * Created by GiuseppeS on 07/03/2018.
*/ */
public interface ITitledFragment { public interface ITitledFragment extends IDestroyableFragment {
void onCreateActionBar(AppCompatTextView titleText, Context context); void onCreateActionBar(AppCompatTextView titleText, Context context);
void onActionBarPreDestroy(Runnable onActionBarPreDestroy);
} }

View File

@@ -111,6 +111,14 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, GestioneEnum gestione, int segno, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) { public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, GestioneEnum gestione, int segno, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
String whereCondGestione = "";
if(gestione != null) {
whereCondGestione = "mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " ";
} else {
whereCondGestione = "(mtb_colt.gestione = 'V' OR mtb_colt.gestione = 'L') ";
}
String baseSql = "SELECT DISTINCT mtb_colt.* " + String baseSql = "SELECT DISTINCT mtb_colt.* " +
"FROM mtb_colt, " + "FROM mtb_colt, " +
" mtb_colr " + " mtb_colr " +
@@ -118,7 +126,7 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
" AND mtb_colt.ser_collo = mtb_colr.ser_collo " + " AND mtb_colt.ser_collo = mtb_colr.ser_collo " +
" AND mtb_colt.data_collo = mtb_colr.data_collo " + " AND mtb_colt.data_collo = mtb_colr.data_collo " +
" AND mtb_colt.num_collo = mtb_colr.num_collo " + " AND mtb_colt.num_collo = mtb_colr.num_collo " +
" AND mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " " + " AND " + whereCondGestione +
" AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " + " AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " +
" AND mtb_colt.data_doc IS NULL AND "; " AND mtb_colt.data_doc IS NULL AND ";

View File

@@ -45,7 +45,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment { public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private FragmentMainAccettazioneBinding mBinding; private FragmentMainAccettazioneBinding mBinding;
@@ -54,7 +54,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
private MainListAccettazioneAdapter mAdapter; private MainListAccettazioneAdapter mAdapter;
private List<OrdineAccettazioneInevasoDTO> mOriginalOrderList; private List<OrdineAccettazioneInevasoDTO> mOriginalOrderList;
private List<OrdineAccettazioneInevasoDTO> mRenderedOrderList = new ArrayList<>(); private final List<OrdineAccettazioneInevasoDTO> mRenderedOrderList = new ArrayList<>();
private AppCompatTextView mAppBarTitle; private AppCompatTextView mAppBarTitle;
@@ -81,24 +81,14 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString()); mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false); mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false);
init();
mBinding.setView(this); mBinding.setView(this);
mBinding.accettazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity())); mBinding.accettazioneMainList.setLayoutManager(new LinearLayoutManager(getActivity()));
mBinding.accettazioneMainFab.hide(); mBinding.accettazioneMainFab.hide();
@@ -159,7 +149,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
private RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> { private final RunnableArgs<OrdineAccettazioneInevasoDTO> onSingleSelectionChanged = dto -> {
List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList); List<OrdineAccettazioneInevasoDTO> selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList);
if(dto.isSelected()) { if(dto.isSelected()) {
@@ -254,8 +244,9 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override @Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) { public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy); this.mOnPreDestroyList.add(onPreDestroy);
} }
} }

View File

@@ -482,7 +482,7 @@ public class AccettazionePickingViewModel {
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) { if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf()); numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
if (!mtbAart.isFlagQtaCnfFissaBoolean()) { if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))

View File

@@ -50,7 +50,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private FragmentMainBinding mBindings; private FragmentMainBinding mBindings;
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private LayoutInflater mLayoutInflater; private LayoutInflater mLayoutInflater;
@@ -210,21 +210,11 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
titleText.setText(context.getText(R.string.app_name).toString()); titleText.setText(context.getText(R.string.app_name).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void setScrollToolbar(ElevatedToolbar toolbar) { public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroyList.add(onPreDestroy);
}
private void initGestMenu() { private void initGestMenu() {
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
@@ -264,4 +254,9 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
String appVersion = UtilityResources.getAppVersion(); String appVersion = UtilityResources.getAppVersion();
mBindings.currentAppVersionName.setText("v" + appVersion); mBindings.currentAppVersionName.setText("v" + appVersion);
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -11,6 +11,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.AppCompatTextView;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@@ -63,14 +64,14 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
private FragmentMainOrdiniUscitaBinding mBindings = null; private FragmentMainOrdiniUscitaBinding mBindings = null;
private ObservableArrayList<OrdiniUscitaElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>(); private final ObservableArrayList<OrdiniUscitaElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
private GestioneEnum mCurrentGestioneOrd = null; private GestioneEnum mCurrentGestioneOrd = null;
private GestioneEnum mCurrentGestioneCol = null; private GestioneEnum mCurrentGestioneCol = null;
private int mCurrentSegnoCol = 0; private int mCurrentSegnoCol = 0;
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
private Dialog mCurrentProgress; private Dialog mCurrentProgress;
@@ -85,7 +86,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString("gestioneOrd", gestioneOrd.getText()); args.putString("gestioneOrd", gestioneOrd.getText());
args.putString("gestioneCol", gestioneCol.getText()); args.putString("gestioneCol", gestioneCol != null ? gestioneCol.getText() : null);
args.putInt("segnoCol", segnoCol); args.putInt("segnoCol", segnoCol);
fragment.setArguments(args); fragment.setArguments(args);
@@ -96,7 +97,8 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
mCurrentGestioneOrd = GestioneEnum.fromString(getArguments().getString("gestioneOrd")); mCurrentGestioneOrd = GestioneEnum.fromString(getArguments().getString("gestioneOrd"));
mCurrentGestioneCol = GestioneEnum.fromString(getArguments().getString("gestioneCol")); String gestioneCol = getArguments().getString("gestioneCol");
mCurrentGestioneCol = gestioneCol != null ? GestioneEnum.fromString(gestioneCol) : null;
mCurrentSegnoCol = getArguments().getInt("segnoCol"); mCurrentSegnoCol = getArguments().getInt("segnoCol");
} }
@@ -131,6 +133,14 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol); mViewModel.init(codMdep, mCurrentGestioneOrd, mCurrentGestioneCol, mCurrentSegnoCol);
} }
@Override
public void onDestroy() {
for (Runnable onPreDestroy : mOnPreDestroyList) {
onPreDestroy.run();
}
super.onDestroy();
}
private void initRecyclerView() { private void initRecyclerView() {
boolean canSelectMultipleOrdini = SettingsManager.iDB().isFlagSpedizioneCanSelectMultipleOrders(); boolean canSelectMultipleOrdini = SettingsManager.iDB().isFlagSpedizioneCanSelectMultipleOrders();
@@ -209,6 +219,14 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
.map(x -> { .map(x -> {
OrdiniUscitaElencoListModel listModel = new OrdiniUscitaElencoListModel(); OrdiniUscitaElencoListModel listModel = new OrdiniUscitaElencoListModel();
if (x.isFlagEvaso()) {
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.mainGreen, null));
} else if (x.isExistColloBoolean()) {
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), R.color.colorPrimary, null));
} else {
listModel.setEtichettaColor(ResourcesCompat.getColor(getResources(), android.R.color.transparent, null));
}
listModel.setGroupTitle(x.getRagSocOrd()); listModel.setGroupTitle(x.getRagSocOrd());
String testataOrdString = String.format(getString(R.string.ord_ven_testata), String.valueOf(x.getNumOrd()), UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); String testataOrdString = String.format(getString(R.string.ord_ven_testata), String.valueOf(x.getNumOrd()), UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
@@ -237,10 +255,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
@Override @Override
public void onPreDestroy(Runnable onComplete) { public void onPreDestroy(Runnable onComplete) {
for (Runnable onPreDestroy : mOnPreDestroyList) {
onPreDestroy.run();
}
BarcodeManager.removeCallback(barcodeScannerIstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
onComplete.run(); onComplete.run();
} }
@@ -250,11 +264,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString()); titleText.setText(context.getText(R.string.prod_ordine_lavorazione_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
public void dispatchOrders() { public void dispatchOrders() {
List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData) List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
@@ -335,11 +344,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
@Override @Override
public boolean isSelectAllButtonEnabled() { public boolean isSelectAllButtonEnabled() {
return SettingsManager.iDB().isFlagMultiClienteOrdV(); return SettingsManager.iDB().isFlagMultiClienteOrdV();
@@ -379,4 +383,9 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
}).show(); }).show();
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -7,6 +7,7 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList; import androidx.databinding.ObservableList;
@@ -127,6 +128,10 @@ public class OrdiniUscitaElencoAdapter extends SectionedRecyclerViewAdapter<Ordi
listModel.getSelectedObservable().resetOnPropertyChangedCallback(); listModel.getSelectedObservable().resetOnPropertyChangedCallback();
if(listModel.getEtichettaColor() != null)
holder.mBinding.emptyView.setBackgroundColor(listModel.getEtichettaColor());
else holder.mBinding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
if(!UtilityString.isNullOrEmpty(listModel.getDescription())) if(!UtilityString.isNullOrEmpty(listModel.getDescription()))
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription())); holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));

View File

@@ -1,5 +1,7 @@
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.list; package it.integry.integrywmsnative.gest.ordini_uscita_elenco.list;
import androidx.annotation.ColorInt;
import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
@@ -11,6 +13,8 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
private String rightDescription; private String rightDescription;
private String rightSubDescription; private String rightSubDescription;
private @ColorInt Integer etichettaColor;
private boolean hidden; private boolean hidden;
private BindableBoolean selected = new BindableBoolean(); private BindableBoolean selected = new BindableBoolean();
@@ -63,6 +67,15 @@ public class OrdiniUscitaElencoListModel implements Cloneable {
return this; return this;
} }
public @ColorInt Integer getEtichettaColor() {
return etichettaColor;
}
public OrdiniUscitaElencoListModel setEtichettaColor(@ColorInt Integer etichettaColor) {
this.etichettaColor = etichettaColor;
return this;
}
public boolean isHidden() { public boolean isHidden() {
return hidden; return hidden;
} }

View File

@@ -108,11 +108,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString()); mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -236,11 +231,11 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
} }
@Override @Override
public void onDestroyView() { public void onDestroy() {
for (Runnable onPreDestroy : mOnPreDestroyList) { for (Runnable onPreDestroy : mOnPreDestroyList) {
onPreDestroy.run(); onPreDestroy.run();
} }
super.onDestroyView(); super.onDestroy();
} }
@Override @Override
@@ -248,11 +243,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroyList.add(onPreDestroy);
}
@Override @Override
public void onLoadingStarted() { public void onLoadingStarted() {
@@ -413,4 +403,9 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
if(thereIsAnOpenedUL.get()) mViewModel.closeLU(onComplete); if(thereIsAnOpenedUL.get()) mViewModel.closeLU(onComplete);
else onComplete.run(); else onComplete.run();
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -117,11 +117,6 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
mAppBarTitle.setText(context.getText(R.string.prod_ordine_produzione_title_fragment).toString()); mAppBarTitle.setText(context.getText(R.string.prod_ordine_produzione_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
private void init() { private void init() {
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity()); final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
@@ -152,12 +147,6 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroyList.add(onPreDestroy);
}
private void initRecyclerView() { private void initRecyclerView() {
mAdapter = new OrdineProduzioneListAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged); mAdapter = new OrdineProduzioneListAdapter(getActivity(), mRenderedOrderList, onSingleSelectionChanged);
mBinding.ordineProduzioneMainList.setAdapter(mAdapter); mBinding.ordineProduzioneMainList.setAdapter(mAdapter);
@@ -260,4 +249,9 @@ public class ProdOrdineProduzioneElencoFragment extends Fragment implements ITit
mRenderedOrderList.clear(); mRenderedOrderList.clear();
mRenderedOrderList.addAll(ordini); mRenderedOrderList.addAll(ordini);
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -20,7 +20,6 @@ import javax.inject.Inject;
import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
@@ -38,12 +37,12 @@ import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
* Use the {@link ProdFabbisognoLineeProdFragment#newInstance} factory method to * Use the {@link ProdFabbisognoLineeProdFragment#newInstance} factory method to
* create an instance of this fragment. * create an instance of this fragment.
*/ */
public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, ProdFabbisognoLineeProdViewModel.Listener { public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITitledFragment, ProdFabbisognoLineeProdViewModel.Listener {
@Inject @Inject
ProdFabbisognoLineeProdViewModel mViewModel; ProdFabbisognoLineeProdViewModel mViewModel;
private ArrayList<Runnable> mOnPreDestroyList = new ArrayList<>(); private final ArrayList<Runnable> mOnPreDestroyList = new ArrayList<>();
private FragmentProdFabbisognoLineeProdBinding mBindings; private FragmentProdFabbisognoLineeProdBinding mBindings;
@@ -97,10 +96,6 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
.show(getActivity().getSupportFragmentManager(), "tag"); .show(getActivity().getSupportFragmentManager(), "tag");
} }
@Override
public void onPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
@Override @Override
public void onDestroy() { public void onDestroy() {
@@ -116,11 +111,6 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
titleText.setText(context.getText(R.string.prod_fabbisogno_linee_prod_title).toString()); titleText.setText(context.getText(R.string.prod_fabbisogno_linee_prod_title).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void onError(Exception ex) { public void onError(Exception ex) {
@@ -159,4 +149,9 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
((IPoppableActivity) getActivity()).pop(); ((IPoppableActivity) getActivity()).pop();
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -36,53 +36,92 @@ public class ProdFabbisognoLineeProdViewModel {
" SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " + " SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " +
" " + UtilityDB.valueToString(endDate) + " AS data_fine, " + " " + UtilityDB.valueToString(endDate) + " AS data_fine, " +
" " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " + " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " +
" " + UtilityDB.valueToString(codMdep) + " AS cod_mdep " + " " + UtilityDB.valueToString(codMdep) + " AS cod_mdep), " +
"), " + " withdraw_mtb_colr AS ( " +
" custom_mtb_colr AS ( " +
" SELECT cod_mart, " + " SELECT cod_mart, " +
" SUM(qta_col) as qta_col, " +
" SUM(num_cnf) as num_cnf, " +
" mtb_colr.data_ord, " +
" mtb_colr.num_ord, " +
" mtb_colr.gestione " +
" FROM mtb_colr " +
" INNER JOIN mtb_colt mc on mtb_colr.gestione = mc.gestione and mtb_colr.data_collo = mc.data_collo and " +
" mtb_colr.ser_collo = mc.ser_collo and mtb_colr.num_collo = mc.num_collo " +
" WHERE segno = -1 " +
" GROUP BY cod_mart, " +
" mtb_colr.data_ord, " +
" mtb_colr.num_ord, " +
" mtb_colr.gestione " +
" ), " +
" custom_mtb_colr AS (SELECT cod_mart, " +
" sum(qta_col) AS qta_col, " + " sum(qta_col) AS qta_col, " +
" sum(num_cnf) AS num_cnf, " + " sum(num_cnf) AS num_cnf, " +
" sum(qta_col) / sum(num_cnf) AS qta_cnf, " +
" posizione " + " posizione " +
" FROM mvw_sitart_udc_det_inventario " + " FROM mvw_sitart_udc_det_inventario " +
" GROUP BY cod_mart, posizione " + " GROUP BY cod_mart, posizione), " +
" ), " + " grouped_ord AS ( " +
" tmp_ord AS ( " +
" SELECT dtb_ordr.cod_mart, " + " SELECT dtb_ordr.cod_mart, " +
" dtb_ordt.cod_jfas, " +
" dtb_ordt.cod_mdep, " +
" dtb_ordt.gestione, " +
" CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " + " CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " +
" SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " + " SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " +
" SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " + " SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " +
" mtb_aart.unt_mis, " + " SUM(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " +
" SUM(ISNULL(custom_mtb_colr.qta_col, 0)) AS qta_col_versata, " + " SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata, " +
" SUM(ISNULL(custom_mtb_colr.qta_cnf, 0)) AS qta_cnf_versata, " + " jrl_fase_posizioni.posizione " +
" SUM(ISNULL(custom_mtb_colr.num_cnf, 0)) AS num_cnf_versata" +
" FROM dtb_ordr " + " FROM dtb_ordr " +
" INNER JOIN dtb_ordt " + " INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " +
" on dtb_ordr.gestione = dtb_ordt.gestione AND dtb_ordr.data_ord = dtb_ordt.data_ord AND " + " dtb_ordr.data_ord = dtb_ordt.data_ord AND " +
" dtb_ordr.num_ord = dtb_ordt.num_ord " + " dtb_ordr.num_ord = dtb_ordt.num_ord " +
" INNER JOIN jrl_fase_posizioni ON dtb_ordt.cod_jfas = jrl_fase_posizioni.cod_jfas " + " INNER JOIN jrl_fase_posizioni ON dtb_ordt.cod_jfas = jrl_fase_posizioni.cod_jfas " +
" LEFT OUTER JOIN custom_mtb_colr ON custom_mtb_colr.posizione = jrl_fase_posizioni.posizione AND " + " LEFT OUTER JOIN withdraw_mtb_colr " +
" dtb_ordr.cod_mart = custom_mtb_colr.cod_mart " + " ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " +
" INNER JOIN mtb_aart ON dtb_ordr.cod_mart = mtb_aart.cod_mart " + " withdraw_mtb_colr.num_ord = dtb_ordt.num_ord AND " +
" withdraw_mtb_colr.data_ord = dtb_ordt.data_ord AND " +
" withdraw_mtb_colr.cod_mart = dtb_ordr.cod_mart " +
" CROSS APPLY input_values " + " CROSS APPLY input_values " +
" WHERE dtb_ordt.gestione = 'L' " + " WHERE dtb_ordt.gestione = 'L' " +
" AND dtb_ordt.cod_mdep = input_values.cod_mdep " +
" AND jrl_fase_posizioni.posizione = input_values.linea_prod " +
" AND flag_evaso = 'I' " + " AND flag_evaso = 'I' " +
" AND dtb_ordr.flag_evaso_forzato = 'N' " + " AND dtb_ordr.flag_evaso_forzato = 'N' " +
" AND flag_annulla = 'N' " + " AND flag_annulla = 'N' " +
" AND dtb_ordt.cod_mdep = input_values.cod_mdep " +
" AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " + " AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " +
" GROUP BY dtb_ordr.cod_mart, " + " AND jrl_fase_posizioni.posizione = input_values.linea_prod " +
" mtb_aart.unt_mis " + " GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione, " +
" ) " + " jrl_fase_posizioni.posizione " +
" ), " +
" tmp_ord AS (SELECT grouped_ord.cod_mart, " +
" mtb_aart.unt_mis, " +
" SUM(qta_ord) AS qta_ord, " +
" SUM(num_cnf_ord) AS num_cnf_ord, " +
" SUM(qta_col_scaricata) AS qta_col_scaricata, " +
" SUM(num_cnf_scaricata) AS num_cnf_scaricata, " +
" SUM(ISNULL(custom_mtb_colr.qta_col, 0)) AS qta_col_versata, " +
" SUM(ISNULL(custom_mtb_colr.num_cnf, 0)) AS num_cnf_versata " +
" " +
" FROM grouped_ord " +
" LEFT OUTER JOIN custom_mtb_colr " +
" ON custom_mtb_colr.posizione = grouped_ord.posizione AND " +
" grouped_ord.cod_mart = custom_mtb_colr.cod_mart " +
" INNER JOIN mtb_aart ON grouped_ord.cod_mart = mtb_aart.cod_mart " +
" CROSS APPLY input_values " +
" GROUP BY grouped_ord.cod_mart, mtb_aart.unt_mis) " +
" " +
"SELECT cod_mart, " + "SELECT cod_mart, " +
" qta_ord, " + " qta_ord, " +
" num_cnf_ord, " + " num_cnf_ord, " +
" unt_mis, " + " unt_mis, " +
" qta_col_versata, " + " qta_col_versata, " +
" num_cnf_versata, " + " num_cnf_versata, " +
" CASE WHEN qta_ord - qta_col_versata < 0 THEN 0 ELSE qta_ord - qta_col_versata END AS qta_fabbisogno, " + " qta_col_scaricata, " +
" CASE WHEN num_cnf_ord - num_cnf_versata < 0 THEN 0 ELSE num_cnf_ord - num_cnf_versata END AS num_cnf_fabbisogno " + " num_cnf_scaricata, " +
" CASE " +
" WHEN qta_ord - qta_col_versata - qta_col_scaricata < 0 THEN 0 " +
" ELSE qta_ord - qta_col_versata - qta_col_scaricata END AS qta_fabbisogno, " +
" CASE " +
" WHEN num_cnf_ord - num_cnf_versata - num_cnf_scaricata < 0 THEN 0 " +
" ELSE num_cnf_ord - num_cnf_versata - num_cnf_scaricata END AS num_cnf_fabbisogno " +
"FROM tmp_ord " + "FROM tmp_ord " +
"ORDER BY cod_mart"; "ORDER BY cod_mart";

View File

@@ -29,7 +29,7 @@ public class ProdRecuperoMaterialeFragment extends Fragment implements ITitledFr
private ProdRecuperoMaterialeViewModel mViewmodel; private ProdRecuperoMaterialeViewModel mViewmodel;
private ProdRecuperoMaterialeHelper mHelper; private ProdRecuperoMaterialeHelper mHelper;
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
public ProdRecuperoMaterialeFragment() { public ProdRecuperoMaterialeFragment() {
// Required empty public constructor // Required empty public constructor
@@ -72,12 +72,6 @@ public class ProdRecuperoMaterialeFragment extends Fragment implements ITitledFr
titleText.setText(context.getText(R.string.prod_recupero_materiale_title_fragment).toString()); titleText.setText(context.getText(R.string.prod_recupero_materiale_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void onDestroy() { public void onDestroy() {
for (Runnable onPreDestroy : mOnPreDestroyList) { for (Runnable onPreDestroy : mOnPreDestroyList) {
@@ -86,4 +80,8 @@ public class ProdRecuperoMaterialeFragment extends Fragment implements ITitledFr
super.onDestroy(); super.onDestroy();
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -26,7 +26,7 @@ public class ProdVersamentoMaterialeFragment extends Fragment implements ITitled
private ProdVersamentoMaterialViewModel mViewmodel; private ProdVersamentoMaterialViewModel mViewmodel;
private ProdVersamentoMaterialHelper mHelper; private ProdVersamentoMaterialHelper mHelper;
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
public ProdVersamentoMaterialeFragment() { public ProdVersamentoMaterialeFragment() {
// Required empty public constructor // Required empty public constructor
@@ -87,7 +87,7 @@ public class ProdVersamentoMaterialeFragment extends Fragment implements ITitled
} }
@Override @Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) { public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy); this.mOnPreDestroyList.add(onPreDestroy);
} }
} }

View File

@@ -55,7 +55,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
private OrdineAcquistoPvHelper mHelper; private OrdineAcquistoPvHelper mHelper;
private Griglia mGriglia; private Griglia mGriglia;
private OrdineAcquistoPvOpenListAdapter mAdapter; private OrdineAcquistoPvOpenListAdapter mAdapter;
private List<OrdineWrapper> mRenderedOrderList = new ArrayList<>(); private final List<OrdineWrapper> mRenderedOrderList = new ArrayList<>();
private boolean mRedirectToNewOrder = true; private boolean mRedirectToNewOrder = true;
private final List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
@@ -122,11 +122,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString()); titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
private void setGriglia(Griglia griglia) { private void setGriglia(Griglia griglia) {
mGriglia = griglia; mGriglia = griglia;
mBinding.fabNewOrder.setVisibility(View.VISIBLE); mBinding.fabNewOrder.setVisibility(View.VISIBLE);
@@ -238,11 +233,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
@@ -259,4 +249,9 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
onPreDestroy.run(); onPreDestroy.run();
} }
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -215,11 +215,6 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
titleText.setText(context.getText(R.string.rettifica_giacenze_fragment_title).toString()); titleText.setText(context.getText(R.string.rettifica_giacenze_fragment_title).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> { private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
BarcodeManager.disable(); BarcodeManager.disable();
@@ -527,7 +522,12 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
@Override @Override
public void onPreDestroy(Runnable onComplete) { public void onPreDestroy(Runnable onComplete) {
mViewModel.closeLU(false, onComplete);
BarcodeManager.removeCallback(barcodeScannerIstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
mViewModel.closeLU(false, onComplete);
}
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
} }
} }

View File

@@ -18,14 +18,13 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
titleText.setText(context.getText(R.string.settings_category).toString()); titleText.setText(context.getText(R.string.settings_category).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
}
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.app_preferences, rootKey); setPreferencesFromResource(R.xml.app_preferences, rootKey);
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
}
} }

View File

@@ -24,7 +24,7 @@ import it.integry.integrywmsnative.ui.ElevatedToolbar;
public class UltimeConsegneClienteFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment { public class UltimeConsegneClienteFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment {
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private UltimeConsegneClienteViewModel mViewModel; private UltimeConsegneClienteViewModel mViewModel;
@@ -71,23 +71,18 @@ public class UltimeConsegneClienteFragment extends Fragment implements ITitledFr
titleText.setText(context.getText(R.string.ultime_consegne_cliente_title).toString()); titleText.setText(context.getText(R.string.ultime_consegne_cliente_title).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void setScrollToolbar(ElevatedToolbar toolbar) { public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
@Override @Override
public void onFilterClick() { public void onFilterClick() {
mViewModel.openFilterDialog(); mViewModel.openFilterDialog();
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -27,7 +27,7 @@ import it.integry.integrywmsnative.ui.ElevatedToolbar;
*/ */
public class UltimiArriviFornitoreFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment { public class UltimiArriviFornitoreFragment extends Fragment implements ITitledFragment, IScrollableFragment, IFilterableFragment {
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private ElevatedToolbar mToolbar; private ElevatedToolbar mToolbar;
private UltimiArriviFornitoreViewModel mViewModel; private UltimiArriviFornitoreViewModel mViewModel;
@@ -74,20 +74,11 @@ public class UltimiArriviFornitoreFragment extends Fragment implements ITitledFr
titleText.setText(context.getText(R.string.ultime_arrivi_fornitore_title).toString()); titleText.setText(context.getText(R.string.ultime_arrivi_fornitore_title).toString());
} }
@Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy);
}
@Override @Override
public void setScrollToolbar(ElevatedToolbar toolbar) { public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar; mToolbar = toolbar;
} }
@Override
public void setScrollableOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
@@ -98,5 +89,8 @@ public class UltimiArriviFornitoreFragment extends Fragment implements ITitledFr
} }
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
} }

View File

@@ -29,7 +29,7 @@ public class VersamentoMerceFragment extends Fragment implements ITitledFragment
private VersamentoMerceViewModel mVersamentoMerceViewModel; private VersamentoMerceViewModel mVersamentoMerceViewModel;
private VersamentoMerceHelper mHelper; private VersamentoMerceHelper mHelper;
private List<Runnable> mOnPreDestroyList = new ArrayList<>(); private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
@@ -92,7 +92,7 @@ public class VersamentoMerceFragment extends Fragment implements ITitledFragment
} }
@Override @Override
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) { public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onActionBarPreDestroy); this.mOnPreDestroyList.add(onPreDestroy);
} }
} }

View File

@@ -117,6 +117,13 @@ public class DialogInputQuantityV2ViewModel {
this.mtbAart.get().getBarCode() != null && this.mtbAart.get().getBarCode() != null &&
(ean13PesoModel.getPrecode().contains(this.mtbAart.get().getBarCode()) || this.mtbAart.get().getBarCode().contains(ean13PesoModel.getPrecode()))) { (ean13PesoModel.getPrecode().contains(this.mtbAart.get().getBarCode()) || this.mtbAart.get().getBarCode().contains(ean13PesoModel.getPrecode()))) {
this.setQtaTot(BigDecimal.valueOf(ean13PesoModel.getPeso())); this.setQtaTot(BigDecimal.valueOf(ean13PesoModel.getPeso()));
this.setNumCnf(UtilityBigDecimal.divideAndRoundToInteger(this.getQtaTot(), this.mtbAart.get().getQtaCnf()));
if (!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
if (UtilityBigDecimal.equalsTo(this.getNumCnf(), BigDecimal.ZERO))
this.setNumCnf(BigDecimal.ONE);
this.setQtaCnf(UtilityBigDecimal.divide(this.getQtaTot(), this.getNumCnf()));
}
} }
onComplete.run(); onComplete.run();
@@ -146,6 +153,13 @@ public class DialogInputQuantityV2ViewModel {
this.setNumCnf(BigDecimal.valueOf(ean128Model.Count)); this.setNumCnf(BigDecimal.valueOf(ean128Model.Count));
} else if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) { } else if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) {
this.setQtaTot(BigDecimal.valueOf(ean128Model.NetWeightKg)); this.setQtaTot(BigDecimal.valueOf(ean128Model.NetWeightKg));
this.setNumCnf(UtilityBigDecimal.divideAndRoundToInteger(this.getQtaTot(), this.mtbAart.get().getQtaCnf()));
if (!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
if (UtilityBigDecimal.equalsTo(this.getNumCnf(), BigDecimal.ZERO))
this.setNumCnf(BigDecimal.ONE);
this.setQtaCnf(UtilityBigDecimal.divide(this.getQtaTot(), this.getNumCnf()));
}
} }
this.mListener.onDataChanged(); this.mListener.onDataChanged();
@@ -306,7 +320,7 @@ public class DialogInputQuantityV2ViewModel {
newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaAvailable); newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaAvailable);
//Se è piu' grande della qta da prelevare e non posso aggiungere qta extra allora ricalcolo //Se è piu' grande della qta da prelevare e non posso aggiungere qta extra allora ricalcolo
if (!canOverflowOrderQuantity) { if (!canOverflowOrderQuantity && this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaOrd); newValue = UtilityBigDecimal.getLowerBetween(newValue, totalQtaOrd);
this.internalQtaTot = newValue; this.internalQtaTot = newValue;
this.mListener.onDataChanged(); this.mListener.onDataChanged();

View File

@@ -1,6 +1,7 @@
package it.integry.integrywmsnative.view.dialogs.scan_art; package it.integry.integrywmsnative.view.dialogs.scan_art;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
@@ -55,17 +56,11 @@ public class DialogScanArtView extends BaseDialogFragment implements DialogScanA
mOnItemChoosed = onItemChoosed; mOnItemChoosed = onItemChoosed;
} }
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.initBarcode();
}
@Nullable @Nullable
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
this.mContext = getActivity(); this.mContext = getActivity();
this.initBarcode();
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_art, container, false); mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_art, container, false);
@@ -85,17 +80,19 @@ public class DialogScanArtView extends BaseDialogFragment implements DialogScanA
dismiss(); dismiss();
}); });
getDialog().setOnDismissListener(dialog -> {
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
BarcodeManager.enable();
});
return mBindings.getRoot(); return mBindings.getRoot();
} }
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
BarcodeManager.enable();
super.onDismiss(dialog);
}
private void initBarcode() { private void initBarcode() {
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessfull(onScanSuccessfull) .setOnScanSuccessfull(onScanSuccessfull)

View File

@@ -11,14 +11,23 @@
</data> </data>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat 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"
android:paddingStart="2dp" android:paddingStart="2dp"
android:paddingEnd="4dp"> android:paddingEnd="4dp"
android:orientation="horizontal">
<View
android:id="@+id/empty_view"
android:layout_width="8dp"
android:layout_height="match_parent"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp" />
<RelativeLayout <RelativeLayout
android:id="@+id/ordine_lavorazione_main_list_group_item_container_root" android:id="@+id/ordine_lavorazione_main_list_group_item_container_root"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -89,7 +98,7 @@
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </androidx.appcompat.widget.LinearLayoutCompat>
</layout> </layout>

View File

@@ -27,7 +27,7 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1))) .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1)))
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setID(it.integry.integrywmsnative.R.id.nav_free_picking)

View File

@@ -47,7 +47,7 @@ public class MenuConfigurationGRAMM extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1))) .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1)))
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setID(it.integry.integrywmsnative.R.id.nav_free_picking)

View File

@@ -46,7 +46,7 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1))) .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1)))
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setID(it.integry.integrywmsnative.R.id.nav_free_picking)

View File

@@ -34,7 +34,7 @@ public class MenuConfigurationVG extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, GestioneEnum.VENDITA, -1))) .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1)))
.addItem(new MenuItem() .addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setID(it.integry.integrywmsnative.R.id.nav_free_picking)