Completata finestra di info sulle righe in picking uscita
This commit is contained in:
parent
0133a9232f
commit
1020a31b89
@ -2,7 +2,6 @@ apply plugin: 'com.android.application'
|
|||||||
apply plugin: 'com.google.firebase.firebase-perf'
|
apply plugin: 'com.google.firebase.firebase-perf'
|
||||||
apply plugin: 'com.google.firebase.crashlytics'
|
apply plugin: 'com.google.firebase.crashlytics'
|
||||||
apply plugin: 'kotlin-android'
|
apply plugin: 'kotlin-android'
|
||||||
apply plugin: 'kotlin-android-extensions'
|
|
||||||
apply plugin: 'com.google.gms.google-services'
|
apply plugin: 'com.google.gms.google-services'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@ -97,7 +96,7 @@ dependencies {
|
|||||||
implementation 'com.google.firebase:firebase-crash'
|
implementation 'com.google.firebase:firebase-crash'
|
||||||
implementation 'com.google.firebase:firebase-crashlytics'
|
implementation 'com.google.firebase:firebase-crashlytics'
|
||||||
implementation 'com.google.firebase:firebase-perf'
|
implementation 'com.google.firebase:firebase-perf'
|
||||||
implementation 'com.google.android.gms:play-services-basement:17.5.0'
|
implementation 'com.google.android.gms:play-services-basement:17.6.0'
|
||||||
|
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
@ -111,15 +110,13 @@ dependencies {
|
|||||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
implementation 'com.annimon:stream:1.2.1'
|
implementation 'com.annimon:stream:1.2.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.0'
|
||||||
implementation 'org.apache.commons:commons-text:1.9'
|
implementation 'org.apache.commons:commons-text:1.9'
|
||||||
|
|
||||||
//MVVM
|
//MVVM
|
||||||
def dagger2_version = '2.29.1'
|
def dagger2_version = '2.29.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
|
||||||
api "com.google.dagger:dagger:$dagger2_version"
|
api "com.google.dagger:dagger:$dagger2_version"
|
||||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
||||||
api "com.google.dagger:dagger-android:$dagger2_version"
|
api "com.google.dagger:dagger-android:$dagger2_version"
|
||||||
@ -139,7 +136,7 @@ dependencies {
|
|||||||
implementation 'com.github.pedromassango:doubleClick:3.0'
|
implementation 'com.github.pedromassango:doubleClick:3.0'
|
||||||
|
|
||||||
//SQLite ROOM
|
//SQLite ROOM
|
||||||
def room_version = "2.2.5"
|
def room_version = "2.2.6"
|
||||||
|
|
||||||
implementation "androidx.room:room-runtime:$room_version"
|
implementation "androidx.room:room-runtime:$room_version"
|
||||||
annotationProcessor "androidx.room:room-compiler:$room_version"
|
annotationProcessor "androidx.room:room-compiler:$room_version"
|
||||||
|
|||||||
@ -17,18 +17,14 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
android:usesCleartextTraffic="true">
|
android:usesCleartextTraffic="true"
|
||||||
|
android:fullBackupContent="@xml/backup_descriptor">
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.spedizione.SpedizioneActivity"
|
android:name=".gest.spedizione.SpedizioneActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/Light"
|
android:theme="@style/Light"
|
||||||
android:windowSoftInputMode="adjustNothing" />
|
android:windowSoftInputMode="adjustNothing" />
|
||||||
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
|
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
|
||||||
<activity
|
|
||||||
android:name=".gest.picking_resi_OLD.PickingResiActivity"
|
|
||||||
android:label="@string/activity_ultime_consegne_title"
|
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/Light" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".gest.picking_resi.PickingResiActivity"
|
android:name=".gest.picking_resi.PickingResiActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
|
|||||||
@ -25,6 +25,8 @@ import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeComp
|
|||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||||
@ -47,7 +49,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
|||||||
DialogInputQuantityV2Module.class,
|
DialogInputQuantityV2Module.class,
|
||||||
DialogScanArtModule.class,
|
DialogScanArtModule.class,
|
||||||
ProdFabbisognoLineeProdModule.class,
|
ProdFabbisognoLineeProdModule.class,
|
||||||
DialogAskMagazzinoProssimitaModule.class})
|
DialogAskMagazzinoProssimitaModule.class,
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdModule.class})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
MainActivityComponent.Factory mainActivityComponent();
|
MainActivityComponent.Factory mainActivityComponent();
|
||||||
@ -63,6 +66,7 @@ public interface MainApplicationComponent {
|
|||||||
DialogScanArtComponent.Factory dialogScanArtComponent();
|
DialogScanArtComponent.Factory dialogScanArtComponent();
|
||||||
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
|
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
|
||||||
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
|
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdComponent.Factory dialogRowInfoProdFabbisognoLineeProdComponent();
|
||||||
|
|
||||||
|
|
||||||
void inject(AppContext appContext);
|
void inject(AppContext appContext);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class MainApplicationModule {
|
public class MainApplicationModule {
|
||||||
@ -88,5 +89,12 @@ public class MainApplicationModule {
|
|||||||
return new PosizioniRESTConsumer(systemRESTConsumer);
|
return new PosizioniRESTConsumer(systemRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
return new ProdFabbisognoLineeProdRESTConsumer(systemRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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, null, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_picking)
|
.setID(R.id.nav_free_picking)
|
||||||
@ -79,7 +79,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(R.drawable.ic_black_external)
|
.setDrawerIcon(R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_lav_picking)
|
.setID(R.id.nav_free_lav_picking)
|
||||||
|
|||||||
@ -13,14 +13,18 @@ public class BaseFragment extends Fragment {
|
|||||||
|
|
||||||
protected void openProgress() {
|
protected void openProgress() {
|
||||||
if (this.mCurrentProgress == null) {
|
if (this.mCurrentProgress == null) {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void closeProgress() {
|
protected void closeProgress() {
|
||||||
if (mCurrentProgress != null) {
|
if (mCurrentProgress != null) {
|
||||||
|
getActivity().runOnUiThread(() -> {
|
||||||
mCurrentProgress.dismiss();
|
mCurrentProgress.dismiss();
|
||||||
mCurrentProgress = null;
|
mCurrentProgress = null;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.model;
|
package it.integry.integrywmsnative.core.rest.model;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class SitArtOrdDTO {
|
public class SitArtOrdDTO {
|
||||||
|
|
||||||
@ -25,6 +26,8 @@ public class SitArtOrdDTO {
|
|||||||
private String codMsfa;
|
private String codMsfa;
|
||||||
private String descrizioneMsfa;
|
private String descrizioneMsfa;
|
||||||
|
|
||||||
|
private final HashMap<String, Object> extraInfo = new HashMap<>();
|
||||||
|
|
||||||
public String getCodJcom() {
|
public String getCodJcom() {
|
||||||
return codJcom;
|
return codJcom;
|
||||||
}
|
}
|
||||||
@ -196,4 +199,8 @@ public class SitArtOrdDTO {
|
|||||||
this.descrizioneMsfa = descrizioneMsfa;
|
this.descrizioneMsfa = descrizioneMsfa;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HashMap<String, Object> getExtraInfo() {
|
||||||
|
return extraInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@ public class WiFiStatusChecker {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public WiFiStatusChecker(Context context){
|
public WiFiStatusChecker(Context context){
|
||||||
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
mWifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startMonitoring(RunnableArgs<SIGNAL> callback){
|
public void startMonitoring(RunnableArgs<SIGNAL> callback){
|
||||||
|
|||||||
@ -612,7 +612,7 @@ public class AccettazionePickingViewModel {
|
|||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setGestione(value.getGestione())
|
.setGestione(value.getGestione())
|
||||||
.setSerCollo(value.getSerCollo())
|
.setSerCollo(value.getSerCollo())
|
||||||
.setRiga(value.getMtbColr().get(0).getRiga())
|
.setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga())
|
||||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
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;
|
||||||
@ -111,8 +112,8 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
|
|||||||
|
|
||||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
||||||
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
||||||
holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
|
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner, null));
|
||||||
holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700));
|
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||||
|
|
||||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||||
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||||
|
|||||||
@ -2,13 +2,13 @@ package it.integry.integrywmsnative.gest.main;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -42,7 +42,7 @@ public class MenuListAdapter extends RecyclerView.Adapter<MenuListAdapter.ViewHo
|
|||||||
// binds the data to the TextView in each cell
|
// binds the data to the TextView in each cell
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||||
holder.mIcon.setImageDrawable(mContext.getResources().getDrawable(mDataset.get(position).getTitleIcon(), null));
|
holder.mIcon.setImageDrawable(ResourcesCompat.getDrawable(mContext.getResources(), mDataset.get(position).getTitleIcon(), null));
|
||||||
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
|
holder.mTitle.setText(mContext.getResources().getString(mDataset.get(position).getTitleText()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
@ -14,7 +13,6 @@ import androidx.appcompat.widget.AppCompatTextView;
|
|||||||
import androidx.core.content.res.ResourcesCompat;
|
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.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.annimon.stream.ComparatorCompat;
|
import com.annimon.stream.ComparatorCompat;
|
||||||
@ -30,7 +28,9 @@ import it.integry.integrywmsnative.MainApplication;
|
|||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
||||||
@ -45,17 +45,17 @@ import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
|||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
|
||||||
import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaBinding;
|
import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaBinding;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzato;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzato;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzatoViewModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.dialogs.DialogVenditaFiltroAvanzatoViewModel;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoAdapter;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoAdapter;
|
||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoListModel;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.list.OrdiniUscitaElencoListModel;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
|
|
||||||
public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragment, ILifecycleFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment, OrdiniUscitaElencoViewModel.Listener {
|
public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment, OrdiniUscitaElencoViewModel.Listener {
|
||||||
|
|
||||||
public BindableBoolean fabVisible = new BindableBoolean(false);
|
public BindableBoolean fabVisible = new BindableBoolean(false);
|
||||||
|
|
||||||
@ -69,19 +69,19 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
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 Class<? extends BaseDialogRowInfoView> mDialogRowInfo;
|
||||||
|
|
||||||
private ElevatedToolbar mToolbar;
|
private ElevatedToolbar mToolbar;
|
||||||
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
|
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
private Dialog mCurrentProgress;
|
|
||||||
|
|
||||||
|
|
||||||
public OrdiniUscitaElencoFragment() {
|
public OrdiniUscitaElencoFragment() {
|
||||||
// Required empty public constructor
|
// Required empty public constructor
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol) {
|
public static OrdiniUscitaElencoFragment newInstance(GestioneEnum gestioneOrd, GestioneEnum gestioneCol, int segnoCol, Class<? extends BaseDialogRowInfoView> dialogRowInfo) {
|
||||||
OrdiniUscitaElencoFragment fragment = new OrdiniUscitaElencoFragment();
|
OrdiniUscitaElencoFragment fragment = new OrdiniUscitaElencoFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
|
|
||||||
@ -89,6 +89,9 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
args.putString("gestioneCol", gestioneCol != null ? gestioneCol.getText() : null);
|
args.putString("gestioneCol", gestioneCol != null ? gestioneCol.getText() : null);
|
||||||
args.putInt("segnoCol", segnoCol);
|
args.putInt("segnoCol", segnoCol);
|
||||||
|
|
||||||
|
String keyDialogRowInfo = DataCache.addItem(dialogRowInfo);
|
||||||
|
args.putString("keyDialogRowInfo", keyDialogRowInfo);
|
||||||
|
|
||||||
fragment.setArguments(args);
|
fragment.setArguments(args);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
@ -100,6 +103,9 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
String gestioneCol = getArguments().getString("gestioneCol");
|
String gestioneCol = getArguments().getString("gestioneCol");
|
||||||
mCurrentGestioneCol = gestioneCol != null ? GestioneEnum.fromString(gestioneCol) : null;
|
mCurrentGestioneCol = gestioneCol != null ? GestioneEnum.fromString(gestioneCol) : null;
|
||||||
mCurrentSegnoCol = getArguments().getInt("segnoCol");
|
mCurrentSegnoCol = getArguments().getInt("segnoCol");
|
||||||
|
|
||||||
|
String keyDialogRowInfo = getArguments().getString("keyDialogRowInfo");
|
||||||
|
mDialogRowInfo = DataCache.retrieveItem(keyDialogRowInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -276,23 +282,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void openProgress() {
|
|
||||||
getActivity().runOnUiThread(() -> {
|
|
||||||
if (this.mCurrentProgress == null) {
|
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void closeProgress() {
|
|
||||||
getActivity().runOnUiThread(() -> {
|
|
||||||
if (mCurrentProgress != null) {
|
|
||||||
mCurrentProgress.dismiss();
|
|
||||||
mCurrentProgress = null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoadingStarted() {
|
public void onLoadingStarted() {
|
||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
@ -314,7 +303,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
public void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
||||||
// FBToast.infoToast(getActivity(), "Trovati: " + filteredOrders.size() + " ordini", Toast.LENGTH_LONG);
|
|
||||||
refreshList(filteredOrders);
|
refreshList(filteredOrders);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +323,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
||||||
null,
|
null,
|
||||||
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT)
|
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT, mDialogRowInfo)
|
||||||
).show();
|
).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
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;
|
||||||
@ -105,8 +106,8 @@ public class PickingResiListAdapter extends SectionedRecyclerViewAdapter<Picking
|
|||||||
|
|
||||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingResiListModel.isActive() ? View.VISIBLE : View.GONE);
|
holder.mBinding.deactivatedOverBg.setVisibility(!pickingResiListModel.isActive() ? View.VISIBLE : View.GONE);
|
||||||
holder.mBinding.getRoot().setAlpha(!pickingResiListModel.isActive() ? 0.8f : 1);
|
holder.mBinding.getRoot().setAlpha(!pickingResiListModel.isActive() ? 0.8f : 1);
|
||||||
holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingResiListModel.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
|
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingResiListModel.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner, null));
|
||||||
holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingResiListModel.isActive() ? R.color.gray_600 : R.color.green_700));
|
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingResiListModel.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||||
|
|
||||||
holder.mBinding.descrizione.setText(pickingResiListModel.getDescrizione());
|
holder.mBinding.descrizione.setText(pickingResiListModel.getDescrizione());
|
||||||
holder.mBinding.descrizione.setTextColor(pickingResiListModel.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
holder.mBinding.descrizione.setTextColor(pickingResiListModel.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBi
|
|||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaView;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaView;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple {@link Fragment} subclass.
|
* A simple {@link Fragment} subclass.
|
||||||
@ -86,12 +87,12 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
|
|
||||||
DialogAskMagazzinoProssimitaView
|
DialogAskMagazzinoProssimitaView
|
||||||
.newInstance((jtbFase, startDate, endDate) -> {
|
.newInstance((jtbFase, startDate, endDate) -> {
|
||||||
if (jtbFase == null) {
|
// if (jtbFase == null) {
|
||||||
((IPoppableActivity) getActivity()).pop();
|
// ((IPoppableActivity) getActivity()).pop();
|
||||||
} else {
|
// } else {
|
||||||
//Load fabbisogno
|
//Load fabbisogno
|
||||||
this.mViewModel.loadFabbisogno(startDate, endDate, jtbFase.getCodJfas(), codMdep, this::startPickingActivity);
|
this.mViewModel.loadFabbisogno(startDate, endDate, codMdep, this::startPickingActivity);
|
||||||
}
|
// }
|
||||||
})
|
})
|
||||||
.show(getActivity().getSupportFragmentManager(), "tag");
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
@ -130,12 +131,22 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
|
|
||||||
|
|
||||||
private void startPickingActivity(List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
private void startPickingActivity(List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
||||||
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
List<SitArtOrdDTO> sitArtOrdDTOS = Stream.of(fabbisognoList)
|
List<SitArtOrdDTO> sitArtOrdDTOS = Stream.of(fabbisognoList)
|
||||||
.map(x -> new SitArtOrdDTO()
|
.map(x -> {
|
||||||
|
SitArtOrdDTO sitArtOrdDTO = new SitArtOrdDTO()
|
||||||
.setCodMart(x.getCodMart())
|
.setCodMart(x.getCodMart())
|
||||||
|
.setCodMdep(codMdep)
|
||||||
.setQtaOrd(x.getQtaFabbisogno())
|
.setQtaOrd(x.getQtaFabbisogno())
|
||||||
.setNumCnfOrd(x.getNumCnfFabbisogno())
|
.setNumCnfOrd(x.getNumCnfFabbisogno())
|
||||||
.setFlagEnablePickManuale(false))
|
.setFlagEnablePickManuale(false);
|
||||||
|
|
||||||
|
sitArtOrdDTO.getExtraInfo().put("dataInizio", x.getDataInizio());
|
||||||
|
sitArtOrdDTO.getExtraInfo().put("dataFine", x.getDataFine());
|
||||||
|
|
||||||
|
return sitArtOrdDTO;
|
||||||
|
})
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
SpedizioneActivity.startActivity(getActivity(),
|
SpedizioneActivity.startActivity(getActivity(),
|
||||||
@ -144,7 +155,8 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
new ArrayList<>(),
|
new ArrayList<>(),
|
||||||
GestioneEnum.LAVORAZIONE,
|
GestioneEnum.LAVORAZIONE,
|
||||||
+1,
|
+1,
|
||||||
MtbColr.Causale.VERSAMENTO);
|
MtbColr.Causale.VERSAMENTO,
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdView.class);
|
||||||
|
|
||||||
((IPoppableActivity) getActivity()).pop();
|
((IPoppableActivity) getActivity()).pop();
|
||||||
|
|
||||||
|
|||||||
@ -2,14 +2,14 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
|||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
@Module(subcomponents = ProdFabbisognoLineeProdComponent.class)
|
@Module(subcomponents = ProdFabbisognoLineeProdComponent.class)
|
||||||
public class ProdFabbisognoLineeProdModule {
|
public class ProdFabbisognoLineeProdModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
ProdFabbisognoLineeProdViewModel providesProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) {
|
ProdFabbisognoLineeProdViewModel providesProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) {
|
||||||
return new ProdFabbisognoLineeProdViewModel(systemRESTConsumer);
|
return new ProdFabbisognoLineeProdViewModel(prodFabbisognoLineeProdRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,26 +1,23 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
public class ProdFabbisognoLineeProdViewModel {
|
public class ProdFabbisognoLineeProdViewModel {
|
||||||
|
|
||||||
private final SystemRESTConsumer mSystemRESTConsumer;
|
private final ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
|
||||||
public ProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) {
|
public ProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) {
|
||||||
this.mSystemRESTConsumer = systemRESTConsumer;
|
this.mProdFabbisognoLineeProdRESTConsumer = prodFabbisognoLineeProdRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
@ -28,105 +25,15 @@ public class ProdFabbisognoLineeProdViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void loadFabbisogno(Date startDate, Date endDate, String codMdep, RunnableArgs<List<ProdFabbisognoLineeProdDTO>> onComplete) {
|
||||||
public void loadFabbisogno(Date startDate, Date endDate, String lineaProd, String codMdep, RunnableArgs<List<ProdFabbisognoLineeProdDTO>> onComplete) {
|
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
String sql = "WITH input_values AS ( " +
|
this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(startDate, endDate, codMdep, jtbFasi -> {
|
||||||
" SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " +
|
if (jtbFasi != null) Stream.of(jtbFasi)
|
||||||
" " + UtilityDB.valueToString(endDate) + " AS data_fine, " +
|
.forEach(x -> x
|
||||||
" " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " +
|
.setDataInizio(startDate)
|
||||||
" " + UtilityDB.valueToString(codMdep) + " AS cod_mdep), " +
|
.setDataFine(endDate));
|
||||||
" withdraw_mtb_colr AS ( " +
|
|
||||||
" 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(num_cnf) AS num_cnf, " +
|
|
||||||
" posizione " +
|
|
||||||
" FROM mvw_sitart_udc_det_inventario " +
|
|
||||||
" GROUP BY cod_mart, posizione), " +
|
|
||||||
" grouped_ord AS ( " +
|
|
||||||
" 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) - " +
|
|
||||||
" 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(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " +
|
|
||||||
" SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata, " +
|
|
||||||
" jrl_fase_posizioni.posizione " +
|
|
||||||
" FROM dtb_ordr " +
|
|
||||||
" INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " +
|
|
||||||
" dtb_ordr.data_ord = dtb_ordt.data_ord AND " +
|
|
||||||
" dtb_ordr.num_ord = dtb_ordt.num_ord " +
|
|
||||||
" INNER JOIN jrl_fase_posizioni ON dtb_ordt.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
|
||||||
" LEFT OUTER JOIN withdraw_mtb_colr " +
|
|
||||||
" ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " +
|
|
||||||
" 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 " +
|
|
||||||
" WHERE dtb_ordt.gestione = 'L' " +
|
|
||||||
" AND flag_evaso = 'I' " +
|
|
||||||
" AND dtb_ordr.flag_evaso_forzato = '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 jrl_fase_posizioni.posizione = input_values.linea_prod " +
|
|
||||||
" 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, " +
|
|
||||||
" qta_ord, " +
|
|
||||||
" num_cnf_ord, " +
|
|
||||||
" unt_mis, " +
|
|
||||||
" qta_col_versata, " +
|
|
||||||
" num_cnf_versata, " +
|
|
||||||
" qta_col_scaricata, " +
|
|
||||||
" 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 " +
|
|
||||||
"ORDER BY cod_mart";
|
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<ProdFabbisognoLineeProdDTO>>() {}.getType();
|
|
||||||
this.mSystemRESTConsumer.<List<ProdFabbisognoLineeProdDTO>>processSql(sql, typeOfObjectsList, jtbFasi -> {
|
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
onComplete.run(jtbFasi);
|
onComplete.run(jtbFasi);
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
@ -9,19 +9,14 @@ import android.os.Bundle;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AutoCompleteTextView;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
import com.tfb.fbtoast.FBToast;
|
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -47,7 +42,7 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme
|
|||||||
private Context mContext;
|
private Context mContext;
|
||||||
private DialogAskMagazzinoProssimitaBinding mBindings;
|
private DialogAskMagazzinoProssimitaBinding mBindings;
|
||||||
|
|
||||||
private JtbFasi mSelectedItem;
|
// private JtbFasi mSelectedItem;
|
||||||
|
|
||||||
public static DialogAskMagazzinoProssimitaView newInstance(RunnableArgsss<JtbFasi, Date, Date> onItemSelected) {
|
public static DialogAskMagazzinoProssimitaView newInstance(RunnableArgsss<JtbFasi, Date, Date> onItemSelected) {
|
||||||
return new DialogAskMagazzinoProssimitaView(onItemSelected);
|
return new DialogAskMagazzinoProssimitaView(onItemSelected);
|
||||||
@ -82,11 +77,11 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme
|
|||||||
mBindings.buttonConfirm.setOnClickListener(new OnSingleClickListener() {
|
mBindings.buttonConfirm.setOnClickListener(new OnSingleClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSingleClick(View v) {
|
public void onSingleClick(View v) {
|
||||||
if(mSelectedItem != null) {
|
// if(mSelectedItem != null) {
|
||||||
getDialog().dismiss();
|
getDialog().dismiss();
|
||||||
} else {
|
// } else {
|
||||||
FBToast.warningToast(mContext, getResources().getString(R.string.please_select_an_item), Toast.LENGTH_LONG);
|
// FBToast.warningToast(mContext, getResources().getString(R.string.please_select_an_item), Toast.LENGTH_LONG);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -113,13 +108,13 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme
|
|||||||
this.mViewModel.setListener(this);
|
this.mViewModel.setListener(this);
|
||||||
this.mViewModel.init(codMdep);
|
this.mViewModel.init(codMdep);
|
||||||
|
|
||||||
this.mViewModel.getJtbFasi().observe(getViewLifecycleOwner(), this::onPosizioniLoaded);
|
// this.mViewModel.getJtbFasi().observe(getViewLifecycleOwner(), this::onPosizioniLoaded);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||||
super.onDismiss(dialog);
|
super.onDismiss(dialog);
|
||||||
mOnItemSelected.run(mSelectedItem, mViewModel.startDate, mViewModel.endDate);
|
mOnItemSelected.run(null, mViewModel.startDate, mViewModel.endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final View.OnClickListener onStartDateClickListener = new OnSingleClickListener() {
|
private final View.OnClickListener onStartDateClickListener = new OnSingleClickListener() {
|
||||||
@ -172,16 +167,16 @@ public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment impleme
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
private void onPosizioniLoaded(List<JtbFasi> items) {
|
// private void onPosizioniLoaded(List<JtbFasi> items) {
|
||||||
DialogAskMagazzinoProssimitaAdapter adapter = new DialogAskMagazzinoProssimitaAdapter(mContext, items);
|
// DialogAskMagazzinoProssimitaAdapter adapter = new DialogAskMagazzinoProssimitaAdapter(mContext, items);
|
||||||
|
//
|
||||||
AutoCompleteTextView editTextDropdownCliente = mBindings.dropdownLineaProd;
|
// AutoCompleteTextView editTextDropdownCliente = mBindings.dropdownLineaProd;
|
||||||
editTextDropdownCliente.setThreshold(0);
|
// editTextDropdownCliente.setThreshold(0);
|
||||||
editTextDropdownCliente.setAdapter(adapter);
|
// editTextDropdownCliente.setAdapter(adapter);
|
||||||
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
|
// editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
|
||||||
mSelectedItem = items.get(position);
|
// mSelectedItem = items.get(position);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Exception ex) {
|
public void onError(Exception ex) {
|
||||||
|
|||||||
@ -2,10 +2,6 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_m
|
|||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -14,7 +10,6 @@ import it.integry.integrywmsnative.core.di.BindableString;
|
|||||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
import it.integry.integrywmsnative.core.model.JtbFasi;
|
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
public class DialogAskMagazzinoProssimitaViewModel {
|
public class DialogAskMagazzinoProssimitaViewModel {
|
||||||
@ -36,7 +31,6 @@ public class DialogAskMagazzinoProssimitaViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void init(String codMdep) {
|
public void init(String codMdep) {
|
||||||
this.sendOnLoadingStarted();
|
|
||||||
|
|
||||||
Calendar c = UtilityDate.getCalendarInstance();
|
Calendar c = UtilityDate.getCalendarInstance();
|
||||||
c.set(Calendar.DAY_OF_WEEK, c.getActualMinimum(Calendar.DAY_OF_WEEK));
|
c.set(Calendar.DAY_OF_WEEK, c.getActualMinimum(Calendar.DAY_OF_WEEK));
|
||||||
@ -48,30 +42,32 @@ public class DialogAskMagazzinoProssimitaViewModel {
|
|||||||
endDate = c.getTime();
|
endDate = c.getTime();
|
||||||
endDateBindable.set(UtilityDate.formatDate(endDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
endDateBindable.set(UtilityDate.formatDate(endDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
String sql = "SELECT DISTINCT jrl_fase_posizioni.posizione as cod_jfas, " +
|
// this.sendOnLoadingStarted();
|
||||||
" descrizione, " +
|
//
|
||||||
" jrl_fase_posizioni.cod_mdep " +
|
// String sql = "SELECT DISTINCT jrl_fase_posizioni.posizione as cod_jfas, " +
|
||||||
"FROM jrl_fase_posizioni " +
|
// " descrizione, " +
|
||||||
" INNER JOIN mtb_depo_posizioni mdp ON jrl_fase_posizioni.cod_mdep = mdp.cod_mdep AND " +
|
// " jrl_fase_posizioni.cod_mdep " +
|
||||||
" jrl_fase_posizioni.posizione = mdp.posizione " +
|
// "FROM jrl_fase_posizioni " +
|
||||||
"WHERE cod_jfas IN (SELECT cod_jfas FROM jtb_fasi WHERE um_prod IS NOT NULL) " +
|
// " INNER JOIN mtb_depo_posizioni mdp ON jrl_fase_posizioni.cod_mdep = mdp.cod_mdep AND " +
|
||||||
" AND jrl_fase_posizioni.cod_mdep = " + UtilityDB.valueToString(codMdep) + " " +
|
// " jrl_fase_posizioni.posizione = mdp.posizione " +
|
||||||
"ORDER BY jrl_fase_posizioni.posizione";
|
// "WHERE cod_jfas IN (SELECT cod_jfas FROM jtb_fasi WHERE um_prod IS NOT NULL) " +
|
||||||
|
// " AND jrl_fase_posizioni.cod_mdep = " + UtilityDB.valueToString(codMdep) + " " +
|
||||||
|
// "ORDER BY jrl_fase_posizioni.posizione";
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<JtbFasi>>() {}.getType();
|
//
|
||||||
this.mSystemRESTConsumer.<List<JtbFasi>>processSql(sql, typeOfObjectsList, jtbFasi -> {
|
//
|
||||||
this.mJtbFasi.postValue(jtbFasi);
|
// Type typeOfObjectsList = new TypeToken<ArrayList<JtbFasi>>() {}.getType();
|
||||||
|
// this.mSystemRESTConsumer.<List<JtbFasi>>processSql(sql, typeOfObjectsList, jtbFasi -> {
|
||||||
this.sendOnLoadingEnded();
|
// this.mJtbFasi.postValue(jtbFasi);
|
||||||
}, this::sendError);
|
//
|
||||||
|
// this.sendOnLoadingEnded();
|
||||||
|
// }, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public MutableLiveData<List<JtbFasi>> getJtbFasi() {
|
// public MutableLiveData<List<JtbFasi>> getJtbFasi() {
|
||||||
return mJtbFasi;
|
// return mJtbFasi;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
private void sendOnLoadingStarted() {
|
private void sendOnLoadingStarted() {
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto;
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
public class ProdFabbisognoLineeProdDTO {
|
public class ProdFabbisognoLineeProdDTO {
|
||||||
|
|
||||||
private String codMart;
|
private String codMart;
|
||||||
|
private String codJfas;
|
||||||
private BigDecimal qtaOrd;
|
private BigDecimal qtaOrd;
|
||||||
private BigDecimal numCnfOrd;
|
private BigDecimal numCnfOrd;
|
||||||
private String untMis;
|
private String untMis;
|
||||||
@ -12,6 +14,11 @@ public class ProdFabbisognoLineeProdDTO {
|
|||||||
private BigDecimal numCnfVersata;
|
private BigDecimal numCnfVersata;
|
||||||
private BigDecimal qtaFabbisogno;
|
private BigDecimal qtaFabbisogno;
|
||||||
private BigDecimal numCnfFabbisogno;
|
private BigDecimal numCnfFabbisogno;
|
||||||
|
private Date dataInizio;
|
||||||
|
private Date dataFine;
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO() {
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodMart() {
|
public String getCodMart() {
|
||||||
return codMart;
|
return codMart;
|
||||||
@ -22,6 +29,15 @@ public class ProdFabbisognoLineeProdDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCodJfas() {
|
||||||
|
return codJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setCodJfas(String codJfas) {
|
||||||
|
this.codJfas = codJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getQtaOrd() {
|
public BigDecimal getQtaOrd() {
|
||||||
return qtaOrd;
|
return qtaOrd;
|
||||||
}
|
}
|
||||||
@ -84,4 +100,22 @@ public class ProdFabbisognoLineeProdDTO {
|
|||||||
this.numCnfFabbisogno = numCnfFabbisogno;
|
this.numCnfFabbisogno = numCnfFabbisogno;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getDataInizio() {
|
||||||
|
return dataInizio;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setDataInizio(Date dataInizio) {
|
||||||
|
this.dataInizio = dataInizio;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDataFine() {
|
||||||
|
return dataFine;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setDataFine(Date dataFine) {
|
||||||
|
this.dataFine = dataFine;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,402 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
public class ProdFabbisognoLineeProdRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
|
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void loadFabbisogno(Date startDate, Date endDate, String codMdep, RunnableArgs<List<ProdFabbisognoLineeProdDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
String sql = "WITH input_values AS ( " +
|
||||||
|
" SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " +
|
||||||
|
" " + UtilityDB.valueToString(endDate) + " AS data_fine, " +
|
||||||
|
// " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " +
|
||||||
|
" " + UtilityDB.valueToString(codMdep) + " AS cod_mdep)," +
|
||||||
|
" withdraw_mtb_colr AS ( " +
|
||||||
|
" SELECT cod_mart, " +
|
||||||
|
" SUM(ISNULL(qta_col, 0)) as qta_col, " +
|
||||||
|
" SUM(ISNULL(num_cnf, 0)) 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 " +
|
||||||
|
" AND cod_dtip IS NULL " +
|
||||||
|
" 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(num_cnf) AS num_cnf, " +
|
||||||
|
" posizione " +
|
||||||
|
" FROM mvw_sitart_udc_det_inventario " +
|
||||||
|
" GROUP BY cod_mart, posizione), " +
|
||||||
|
" grouped_ord AS ( " +
|
||||||
|
" 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) - " +
|
||||||
|
" 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(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " +
|
||||||
|
" SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata " +
|
||||||
|
" FROM dtb_ordr " +
|
||||||
|
" INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " +
|
||||||
|
" dtb_ordr.data_ord = dtb_ordt.data_ord AND " +
|
||||||
|
" dtb_ordr.num_ord = dtb_ordt.num_ord " +
|
||||||
|
" LEFT OUTER JOIN withdraw_mtb_colr " +
|
||||||
|
" ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " +
|
||||||
|
" 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 " +
|
||||||
|
" WHERE dtb_ordt.gestione = 'L' " +
|
||||||
|
" AND flag_evaso = 'I' " +
|
||||||
|
" AND dtb_ordr.flag_evaso_forzato = '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 " +
|
||||||
|
" GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione " +
|
||||||
|
" ), " +
|
||||||
|
" tmp_ord AS (SELECT grouped_ord.cod_mart, " +
|
||||||
|
" mtb_aart.unt_mis, " +
|
||||||
|
" grouped_ord.cod_jfas, " +
|
||||||
|
" SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord, " +
|
||||||
|
" SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord " +
|
||||||
|
" FROM grouped_ord " +
|
||||||
|
" 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, grouped_ord.cod_jfas " +
|
||||||
|
" ), " +
|
||||||
|
" ord_without_positioned_mtb_colt AS ( " +
|
||||||
|
" SELECT tmp_ord.cod_mart, " +
|
||||||
|
" tmp_ord.cod_jfas, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" qta_ord AS qta_ord_calc, " +
|
||||||
|
" num_cnf_ord AS num_cnf_ord_calc, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " +
|
||||||
|
" qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno, " +
|
||||||
|
" num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno " +
|
||||||
|
" FROM tmp_ord " +
|
||||||
|
" INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
||||||
|
" AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione " +
|
||||||
|
" LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " +
|
||||||
|
" ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " +
|
||||||
|
" tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione " +
|
||||||
|
" " +
|
||||||
|
" UNION ALL " +
|
||||||
|
" " +
|
||||||
|
" SELECT DISTINCT tmp_ord.cod_mart, " +
|
||||||
|
" null AS cod_jfas, " +
|
||||||
|
" jrl_fase_posizioni.posizione, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" 0 AS qta_ord_calc, " +
|
||||||
|
" 0 AS num_cnf_ord_calc, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " +
|
||||||
|
" 0 AS qta_fabbisogno, " +
|
||||||
|
" 0 AS num_cnf_fabbisogno " +
|
||||||
|
" FROM tmp_ord " +
|
||||||
|
" INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
||||||
|
" AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione " +
|
||||||
|
" " +
|
||||||
|
" " +
|
||||||
|
" LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " +
|
||||||
|
" ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " +
|
||||||
|
" jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione " +
|
||||||
|
" ) " +
|
||||||
|
"SELECT cod_mart, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" input_values.data_inizio, " +
|
||||||
|
" input_values.data_fine, " +
|
||||||
|
" SUM(qta_ord_calc) AS qta_ord, " +
|
||||||
|
" SUM(num_cnf_ord_calc) AS num_cnf_ord, " +
|
||||||
|
" SUM(qta_gia_posizionata) AS qta_col_versata, " +
|
||||||
|
" SUM(num_cnf_gia_posizionata) AS num_cnf_versata, " +
|
||||||
|
" SUM(qta_ord_calc - qta_gia_posizionata) AS qta_fabbisogno, " +
|
||||||
|
" SUM(num_cnf_ord_calc - num_cnf_gia_posizionata) AS num_cnf_fabbisogno " +
|
||||||
|
"FROM ord_without_positioned_mtb_colt " +
|
||||||
|
"CROSS APPLY input_values " +
|
||||||
|
"GROUP BY cod_mart, unt_mis, input_values.data_inizio, input_values.data_fine " +
|
||||||
|
"HAVING SUM(qta_ord_calc - qta_gia_posizionata) > 0 " +
|
||||||
|
"ORDER BY cod_mart";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Query splittata per cod_jfas (più pesante)
|
||||||
|
WITH input_values AS (SELECT '2021-02-15' AS data_inizio,
|
||||||
|
'2021-02-28' AS data_fine,
|
||||||
|
--'SC06' AS linea_prod,
|
||||||
|
'34' AS cod_mdep),
|
||||||
|
withdraw_mtb_colr AS (
|
||||||
|
SELECT cod_mart,
|
||||||
|
SUM(ISNULL(qta_col, 0)) as qta_col,
|
||||||
|
SUM(ISNULL(num_cnf, 0)) 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
|
||||||
|
and cod_dtip IS NULL
|
||||||
|
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(num_cnf) AS num_cnf,
|
||||||
|
posizione
|
||||||
|
FROM mvw_sitart_udc_det_inventario
|
||||||
|
GROUP BY cod_mart, posizione),
|
||||||
|
grouped_ord AS (
|
||||||
|
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) -
|
||||||
|
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(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata,
|
||||||
|
SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata
|
||||||
|
FROM dtb_ordr
|
||||||
|
INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND
|
||||||
|
dtb_ordr.data_ord = dtb_ordt.data_ord AND
|
||||||
|
dtb_ordr.num_ord = dtb_ordt.num_ord
|
||||||
|
LEFT OUTER JOIN withdraw_mtb_colr
|
||||||
|
ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND
|
||||||
|
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
|
||||||
|
WHERE dtb_ordt.gestione = 'L'
|
||||||
|
AND flag_evaso = 'I'
|
||||||
|
AND dtb_ordr.flag_evaso_forzato = '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
|
||||||
|
GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione
|
||||||
|
),
|
||||||
|
tmp_ord AS (SELECT grouped_ord.cod_mart,
|
||||||
|
mtb_aart.unt_mis,
|
||||||
|
grouped_ord.cod_jfas,
|
||||||
|
SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord,
|
||||||
|
SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord
|
||||||
|
FROM grouped_ord
|
||||||
|
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, grouped_ord.cod_jfas
|
||||||
|
),
|
||||||
|
ord_without_positioned_mtb_colt AS (
|
||||||
|
SELECT tmp_ord.cod_mart,
|
||||||
|
tmp_ord.cod_jfas,
|
||||||
|
ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione,
|
||||||
|
unt_mis,
|
||||||
|
qta_ord AS qta_ord_calc,
|
||||||
|
num_cnf_ord AS num_cnf_ord_calc,
|
||||||
|
ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata,
|
||||||
|
ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata,
|
||||||
|
qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno,
|
||||||
|
num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno
|
||||||
|
FROM tmp_ord
|
||||||
|
INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas
|
||||||
|
AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione
|
||||||
|
LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea
|
||||||
|
ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND
|
||||||
|
tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT DISTINCT tmp_ord.cod_mart,
|
||||||
|
null AS cod_jfas,
|
||||||
|
jrl_fase_posizioni.posizione,
|
||||||
|
unt_mis,
|
||||||
|
0 AS qta_ord_calc,
|
||||||
|
0 AS num_cnf_ord_calc,
|
||||||
|
ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata,
|
||||||
|
ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata,
|
||||||
|
0 AS qta_fabbisogno,
|
||||||
|
0 AS num_cnf_fabbisogno
|
||||||
|
FROM tmp_ord
|
||||||
|
INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas
|
||||||
|
AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione
|
||||||
|
|
||||||
|
|
||||||
|
LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea
|
||||||
|
ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND
|
||||||
|
jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione
|
||||||
|
)
|
||||||
|
SELECT cod_mart,
|
||||||
|
cod_jfas,
|
||||||
|
posizione,
|
||||||
|
unt_mis,
|
||||||
|
qta_ord_calc AS qta_ord,
|
||||||
|
num_cnf_ord_calc AS num_cnf_ord,
|
||||||
|
qta_gia_posizionata AS qta_col_versata,
|
||||||
|
num_cnf_gia_posizionata AS num_cnf_versata,
|
||||||
|
qta_ord_calc - qta_gia_posizionata AS qta_fabbisogno,
|
||||||
|
num_cnf_ord_calc - num_cnf_gia_posizionata AS num_cnf_fabbisogno
|
||||||
|
FROM ord_without_positioned_mtb_colt
|
||||||
|
|
||||||
|
ORDER BY cod_mart, posizione
|
||||||
|
* */
|
||||||
|
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<ProdFabbisognoLineeProdDTO>>() {}.getType();
|
||||||
|
this.mSystemRESTConsumer.processSql(sql, typeOfObjectsList, onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void loadFabbisogno(String codMart, Date startDate, Date endDate, String codMdep, RunnableArgs<List<ProdFabbisognoLineeProdDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
String sql = "WITH input_values AS ( " +
|
||||||
|
" SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " +
|
||||||
|
" " + UtilityDB.valueToString(endDate) + " AS data_fine, " +
|
||||||
|
// " " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " +
|
||||||
|
" " + UtilityDB.valueToString(codMdep) + " AS cod_mdep)," +
|
||||||
|
" withdraw_mtb_colr AS ( " +
|
||||||
|
" SELECT cod_mart, " +
|
||||||
|
" SUM(ISNULL(qta_col, 0)) as qta_col, " +
|
||||||
|
" SUM(ISNULL(num_cnf, 0)) 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 " +
|
||||||
|
" AND cod_dtip IS NULL " +
|
||||||
|
" 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(num_cnf) AS num_cnf, " +
|
||||||
|
" posizione " +
|
||||||
|
" FROM mvw_sitart_udc_det_inventario " +
|
||||||
|
" GROUP BY cod_mart, posizione), " +
|
||||||
|
" grouped_ord AS ( " +
|
||||||
|
" 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) - " +
|
||||||
|
" 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(ISNULL(withdraw_mtb_colr.qta_col, 0)) AS qta_col_scaricata, " +
|
||||||
|
" SUM(ISNULL(withdraw_mtb_colr.num_cnf, 0)) AS num_cnf_scaricata " +
|
||||||
|
" FROM dtb_ordr " +
|
||||||
|
" INNER JOIN dtb_ordt on dtb_ordr.gestione = dtb_ordt.gestione AND " +
|
||||||
|
" dtb_ordr.data_ord = dtb_ordt.data_ord AND " +
|
||||||
|
" dtb_ordr.num_ord = dtb_ordt.num_ord " +
|
||||||
|
" LEFT OUTER JOIN withdraw_mtb_colr " +
|
||||||
|
" ON withdraw_mtb_colr.gestione = dtb_ordt.gestione AND " +
|
||||||
|
" 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 " +
|
||||||
|
" WHERE dtb_ordt.gestione = 'L' " +
|
||||||
|
" AND flag_evaso = 'I' " +
|
||||||
|
" AND dtb_ordr.flag_evaso_forzato = '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 " +
|
||||||
|
" GROUP BY dtb_ordr.cod_mart, dtb_ordt.cod_jfas, dtb_ordt.cod_mdep, dtb_ordt.gestione " +
|
||||||
|
" ), " +
|
||||||
|
" tmp_ord AS (SELECT grouped_ord.cod_mart, " +
|
||||||
|
" mtb_aart.unt_mis, " +
|
||||||
|
" grouped_ord.cod_jfas, " +
|
||||||
|
" SUM(qta_ord) - SUM(qta_col_scaricata) AS qta_ord, " +
|
||||||
|
" SUM(num_cnf_ord) - SUM(num_cnf_scaricata) AS num_cnf_ord " +
|
||||||
|
" FROM grouped_ord " +
|
||||||
|
" 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, grouped_ord.cod_jfas " +
|
||||||
|
" ), " +
|
||||||
|
" ord_without_positioned_mtb_colt AS ( " +
|
||||||
|
" SELECT tmp_ord.cod_mart, " +
|
||||||
|
" tmp_ord.cod_jfas, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.posizione, tmp_ord.cod_jfas) AS posizione, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" qta_ord AS qta_ord_calc, " +
|
||||||
|
" num_cnf_ord AS num_cnf_ord_calc, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " +
|
||||||
|
" qta_ord - ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_fabbisogno, " +
|
||||||
|
" num_cnf_ord - ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_fabbisogno " +
|
||||||
|
" FROM tmp_ord " +
|
||||||
|
" INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
||||||
|
" AND tmp_ord.cod_jfas = jrl_fase_posizioni.posizione " +
|
||||||
|
" LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " +
|
||||||
|
" ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " +
|
||||||
|
" tmp_ord.cod_jfas = custom_mtb_colr_on_linea.posizione " +
|
||||||
|
" " +
|
||||||
|
" UNION ALL " +
|
||||||
|
" " +
|
||||||
|
" SELECT DISTINCT tmp_ord.cod_mart, " +
|
||||||
|
" null AS cod_jfas, " +
|
||||||
|
" jrl_fase_posizioni.posizione, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" 0 AS qta_ord_calc, " +
|
||||||
|
" 0 AS num_cnf_ord_calc, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.qta_col, 0) AS qta_gia_posizionata, " +
|
||||||
|
" ISNULL(custom_mtb_colr_on_linea.num_cnf, 0) AS num_cnf_gia_posizionata, " +
|
||||||
|
" 0 AS qta_fabbisogno, " +
|
||||||
|
" 0 AS num_cnf_fabbisogno " +
|
||||||
|
" FROM tmp_ord " +
|
||||||
|
" INNER JOIN jrl_fase_posizioni ON tmp_ord.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
||||||
|
" AND tmp_ord.cod_jfas <> jrl_fase_posizioni.posizione " +
|
||||||
|
" " +
|
||||||
|
" " +
|
||||||
|
" LEFT OUTER JOIN custom_mtb_colr custom_mtb_colr_on_linea " +
|
||||||
|
" ON tmp_ord.cod_mart = custom_mtb_colr_on_linea.cod_mart AND " +
|
||||||
|
" jrl_fase_posizioni.posizione = custom_mtb_colr_on_linea.posizione " +
|
||||||
|
" ) " +
|
||||||
|
"SELECT DISTINCT cod_mart, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" cod_jfas, " +
|
||||||
|
" input_values.data_inizio, " +
|
||||||
|
" input_values.data_fine " +
|
||||||
|
"FROM ord_without_positioned_mtb_colt " +
|
||||||
|
"CROSS APPLY input_values " +
|
||||||
|
"WHERE cod_mart = " + UtilityDB.valueToString(codMart) + " " +
|
||||||
|
"GROUP BY cod_mart, unt_mis, cod_jfas, input_values.data_inizio, input_values.data_fine " +
|
||||||
|
"HAVING SUM(qta_ord_calc - qta_gia_posizionata) > 0 " +
|
||||||
|
"ORDER BY cod_mart";
|
||||||
|
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<ProdFabbisognoLineeProdDTO>>() {}.getType();
|
||||||
|
this.mSystemRESTConsumer.processSql(sql, typeOfObjectsList, onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -203,7 +203,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
mHelper.deleteOrder(ordine, () -> {
|
mHelper.deleteOrder(ordine, () -> {
|
||||||
getActivity().runOnUiThread(() -> {
|
getActivity().runOnUiThread(() -> {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
Toast.makeText(getActivity(), "Ordine eliminato!", Toast.LENGTH_SHORT);
|
Toast.makeText(getActivity(), "Ordine eliminato!", Toast.LENGTH_SHORT).show();
|
||||||
fetchOrders();
|
fetchOrders();
|
||||||
});
|
});
|
||||||
}, e -> {
|
}, e -> {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import android.view.inputmethod.EditorInfo;
|
|||||||
|
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
@ -245,7 +246,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
|||||||
|
|
||||||
public void setUIToForn() {
|
public void setUIToForn() {
|
||||||
mBinding.rettificaGiacenzeFornCheckBox.setChecked(true);
|
mBinding.rettificaGiacenzeFornCheckBox.setChecked(true);
|
||||||
mBinding.rettificaGiacenzeFornLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left));
|
mBinding.rettificaGiacenzeFornLayout.setBackground(ResourcesCompat.getDrawable(getActivity().getResources(), R.drawable.circular_background_left, null));
|
||||||
mBinding.rettificaGiacenzeFornLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
mBinding.rettificaGiacenzeFornLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
||||||
|
|
||||||
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(false);
|
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(false);
|
||||||
@ -256,7 +257,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
|||||||
|
|
||||||
public void setUIToIntArt() {
|
public void setUIToIntArt() {
|
||||||
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(true);
|
mBinding.rettificaGiacenzeArtIntCheckBox.setChecked(true);
|
||||||
mBinding.rettificaGiacenzeArtIntLayout.setBackground(getActivity().getResources().getDrawable(R.drawable.circular_background_left));
|
mBinding.rettificaGiacenzeArtIntLayout.setBackground(ResourcesCompat.getDrawable(getActivity().getResources(), R.drawable.circular_background_left, null));
|
||||||
mBinding.rettificaGiacenzeArtIntLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
mBinding.rettificaGiacenzeArtIntLayout.setBackgroundTintList(ColorStateList.valueOf(getActivity().getResources().getColor(R.color.alpha_blue_500)));
|
||||||
|
|
||||||
mBinding.rettificaGiacenzeFornCheckBox.setChecked(false);
|
mBinding.rettificaGiacenzeFornCheckBox.setChecked(false);
|
||||||
|
|||||||
@ -55,6 +55,7 @@ import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
|||||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListAdapter;
|
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel;
|
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||||
@ -67,8 +68,8 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader;
|
import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
|
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
|
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
|
||||||
|
|
||||||
private ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>();
|
private final ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
|
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
|
||||||
@ -101,12 +102,20 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
private GestioneEnum mGestioneCol;
|
private GestioneEnum mGestioneCol;
|
||||||
private int mSegnoCol;
|
private int mSegnoCol;
|
||||||
private Integer mDefaultCausaleUL;
|
private Integer mDefaultCausaleUL;
|
||||||
|
private Class<? extends BaseDialogRowInfoView> mInfoDialogClassType;
|
||||||
|
|
||||||
private boolean mShouldCloseActivity;
|
private boolean mShouldCloseActivity;
|
||||||
|
|
||||||
private final int PICK_UL_REQUEST = 1;
|
private final int PICK_UL_REQUEST = 1;
|
||||||
|
|
||||||
public static void startActivity(Context context, List<SitArtOrdDTO> ordini, List<OrdineUscitaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL) {
|
public static void startActivity(Context context,
|
||||||
|
List<SitArtOrdDTO> ordini,
|
||||||
|
List<OrdineUscitaInevasoDTO> selectedOrders,
|
||||||
|
List<MtbColt> mtbColtList,
|
||||||
|
GestioneEnum gestioneCol,
|
||||||
|
int segnoCol,
|
||||||
|
Integer defaultCausaleUL,
|
||||||
|
Class<? extends BaseDialogRowInfoView> infoDialogClassType) {
|
||||||
Intent myIntent = new Intent(context, SpedizioneActivity.class);
|
Intent myIntent = new Intent(context, SpedizioneActivity.class);
|
||||||
|
|
||||||
String keyPickingList = DataCache.addItem(ordini);
|
String keyPickingList = DataCache.addItem(ordini);
|
||||||
@ -127,6 +136,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
String keyDefaultCausaleUL = DataCache.addItem(defaultCausaleUL);
|
String keyDefaultCausaleUL = DataCache.addItem(defaultCausaleUL);
|
||||||
myIntent.putExtra("keyDefaultCausaleCol", keyDefaultCausaleUL);
|
myIntent.putExtra("keyDefaultCausaleCol", keyDefaultCausaleUL);
|
||||||
|
|
||||||
|
String keyInfoDialogClassType = DataCache.addItem(infoDialogClassType);
|
||||||
|
myIntent.putExtra("keyInfoDialogClassType", keyInfoDialogClassType);
|
||||||
|
|
||||||
context.startActivity(myIntent);
|
context.startActivity(myIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,6 +152,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol"));
|
mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol"));
|
||||||
mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol"));
|
mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol"));
|
||||||
mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol"));
|
mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol"));
|
||||||
|
mInfoDialogClassType = DataCache.retrieveItem(getIntent().getStringExtra("keyInfoDialogClassType"));
|
||||||
|
|
||||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
||||||
|
|
||||||
@ -236,7 +249,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
this.noItemsToPick.set(!isThereAnyItemToPick(updatedData));
|
this.noItemsToPick.set(!isThereAnyItemToPick(updatedData));
|
||||||
});
|
});
|
||||||
|
|
||||||
SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData);
|
SpedizioneListAdapter spedizioneListAdapter = new SpedizioneListAdapter(this, mSpedizioneMutableData, mInfoDialogClassType, getSupportFragmentManager());
|
||||||
this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter);
|
this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter);
|
||||||
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
@ -348,7 +361,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
||||||
|
|
||||||
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
||||||
if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue;
|
if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO))
|
||||||
|
continue;
|
||||||
cloneModel.setQtaTot(qtaTot);
|
cloneModel.setQtaTot(qtaTot);
|
||||||
|
|
||||||
numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract);
|
numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract);
|
||||||
@ -372,7 +386,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
||||||
|
|
||||||
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
||||||
if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue;
|
if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO))
|
||||||
|
continue;
|
||||||
cloneModel.setQtaTot(qtaTot);
|
cloneModel.setQtaTot(qtaTot);
|
||||||
qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract);
|
qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract);
|
||||||
|
|
||||||
@ -511,7 +526,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
BigDecimal numCnfOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
||||||
|
|
||||||
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getNumCnf(), numCnfOrdCounter);
|
||||||
if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue;
|
if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO))
|
||||||
|
continue;
|
||||||
cloneModel.setQtaTot(qtaTot);
|
cloneModel.setQtaTot(qtaTot);
|
||||||
|
|
||||||
numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract);
|
numCnfOrdCounter = numCnfOrdCounter.subtract(numCnfOrdToSubstract);
|
||||||
@ -533,7 +549,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
BigDecimal qtaOrdToSubstract = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
||||||
|
|
||||||
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
BigDecimal qtaTot = UtilityBigDecimal.getLowerBetween(mtbColrToDispatch.getQtaCol(), qtaColOrdCounter);
|
||||||
if(UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO)) continue;
|
if (UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO) || UtilityBigDecimal.lowerThan(qtaTot, BigDecimal.ZERO))
|
||||||
|
continue;
|
||||||
cloneModel.setQtaTot(qtaTot);
|
cloneModel.setQtaTot(qtaTot);
|
||||||
qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract);
|
qtaColOrdCounter = qtaColOrdCounter.subtract(qtaOrdToSubstract);
|
||||||
|
|
||||||
|
|||||||
@ -1335,7 +1335,7 @@ public class SpedizioneViewModel {
|
|||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setGestione(value.getGestione())
|
.setGestione(value.getGestione())
|
||||||
.setSerCollo(value.getSerCollo())
|
.setSerCollo(value.getSerCollo())
|
||||||
.setRiga(value.getMtbColr().get(0).getRiga())
|
.setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga())
|
||||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
|
|||||||
@ -8,29 +8,37 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
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;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||||
|
|
||||||
|
import java.lang.reflect.Constructor;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
|
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
|
||||||
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding;
|
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||||
|
|
||||||
public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<SpedizioneListAdapter.SubheaderHolder, SpedizioneListAdapter.SingleItemViewHolder> {
|
public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<SpedizioneListAdapter.SubheaderHolder, SpedizioneListAdapter.SingleItemViewHolder> {
|
||||||
|
|
||||||
private Context mContext;
|
private final Context mContext;
|
||||||
|
private final Class<? extends BaseDialogRowInfoView> mInfoDialogClassType;
|
||||||
|
private final FragmentManager mFragmentManager;
|
||||||
private final List<SpedizioneListModel> mDataset = new ArrayList<>();
|
private final List<SpedizioneListModel> mDataset = new ArrayList<>();
|
||||||
|
|
||||||
private RunnableArgss<PickingObjectDTO, MtbColt> mOnItemClicked;
|
private RunnableArgss<PickingObjectDTO, MtbColt> mOnItemClicked;
|
||||||
@ -57,8 +65,10 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public SpedizioneListAdapter(AppCompatActivity context, ObservableArrayList<SpedizioneListModel> mutableDataSet) {
|
public SpedizioneListAdapter(AppCompatActivity context, ObservableArrayList<SpedizioneListModel> mutableDataSet, Class<? extends BaseDialogRowInfoView> infoDialogClassType, FragmentManager fragmentManager) {
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
|
this.mInfoDialogClassType = infoDialogClassType;
|
||||||
|
this.mFragmentManager = fragmentManager;
|
||||||
|
|
||||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
@ -113,8 +123,8 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
|
|
||||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
||||||
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
||||||
holder.mBinding.badge1.setBackground(mContext.getResources().getDrawable(!pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
|
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner, null));
|
||||||
holder.mBinding.qtaEvasa.setTextColor(mContext.getResources().getColor(!pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700));
|
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||||
|
|
||||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||||
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||||
@ -137,6 +147,16 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
|
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
|
||||||
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
|
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
|
if (mInfoDialogClassType != null) {
|
||||||
|
holder.mBinding.infoRow.setVisibility(View.VISIBLE);
|
||||||
|
holder.mBinding.infoRow.setOnClickListener(new OnSingleClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onSingleClick(View v) {
|
||||||
|
openInfoDialog(pickingObjectDTO);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
holder.mBinding.getRoot().setOnClickListener(v -> {
|
holder.mBinding.getRoot().setOnClickListener(v -> {
|
||||||
if (this.mOnItemClicked != null)
|
if (this.mOnItemClicked != null)
|
||||||
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel(), pickingObjectDTO.getSourceMtbColt());
|
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel(), pickingObjectDTO.getSourceMtbColt());
|
||||||
@ -166,4 +186,20 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void openInfoDialog(SpedizioneListModel item) {
|
||||||
|
try {
|
||||||
|
Constructor<?> cons = Class.forName(mInfoDialogClassType.getName()).getConstructors()[0];
|
||||||
|
BaseDialogRowInfoView object = (BaseDialogRowInfoView) cons.newInstance(item, (Runnable) () -> {
|
||||||
|
|
||||||
|
}, (Runnable) () -> {
|
||||||
|
|
||||||
|
});
|
||||||
|
object.show(mFragmentManager, "tag");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
UtilityExceptions.defaultException(this.mContext, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,31 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel;
|
||||||
|
|
||||||
|
public abstract class BaseDialogRowInfoView extends BaseDialogFragment implements IBaseDialogRowInfoView {
|
||||||
|
|
||||||
|
private final SpedizioneListModel mSpedizioneListModel;
|
||||||
|
private final Runnable mOnComplete;
|
||||||
|
private final Runnable mOnAbort;
|
||||||
|
|
||||||
|
public BaseDialogRowInfoView(@NotNull SpedizioneListModel spedizioneListModel, @NotNull Runnable onComplete, @NotNull Runnable onAbort) {
|
||||||
|
this.mSpedizioneListModel = spedizioneListModel;
|
||||||
|
this.mOnComplete = onComplete;
|
||||||
|
this.mOnAbort = onAbort;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected SpedizioneListModel getSpedizioneListModel() {
|
||||||
|
return mSpedizioneListModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Runnable getOnComplete() {
|
||||||
|
return mOnComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Runnable getOnAbort() {
|
||||||
|
return mOnAbort;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info;
|
||||||
|
|
||||||
|
public interface IBaseDialogRowInfoView {
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface DialogRowInfoProdFabbisognoLineeProdComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(DialogRowInfoProdFabbisognoLineeProdView dialogRowInfoProdFabbisognoLineeProdView);
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
|
@Module(subcomponents = DialogRowInfoProdFabbisognoLineeProdComponent.class)
|
||||||
|
public class DialogRowInfoProdFabbisognoLineeProdModule {
|
||||||
|
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdViewModel providesDialogRowInfoProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer prodFabbisognoLineeProdRESTConsumer) {
|
||||||
|
return new DialogRowInfoProdFabbisognoLineeProdViewModel(prodFabbisognoLineeProdRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,113 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogRowInfoProdFabbisognoLineeProdBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.core.SpedizioneListModel;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
|
|
||||||
|
public class DialogRowInfoProdFabbisognoLineeProdView extends BaseDialogRowInfoView implements DialogRowInfoProdFabbisognoLineeProdViewModel.Listener {
|
||||||
|
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
DialogRowInfoProdFabbisognoLineeProdViewModel mViewModel;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private DialogRowInfoProdFabbisognoLineeProdBinding mBindings;
|
||||||
|
|
||||||
|
public DialogRowInfoProdFabbisognoLineeProdView(@NotNull SpedizioneListModel spedizioneListModel, @NotNull Runnable onComplete, @NotNull Runnable onAbort) {
|
||||||
|
super(spedizioneListModel, onComplete, onAbort);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
this.mContext = getActivity();
|
||||||
|
|
||||||
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_row_info_prod_fabbisogno_linee_prod, container, false);
|
||||||
|
|
||||||
|
MainApplication.appComponent
|
||||||
|
.dialogRowInfoProdFabbisognoLineeProdComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
setCancelable(true);
|
||||||
|
getDialog().setCanceledOnTouchOutside(true);
|
||||||
|
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
|
this.mViewModel.setListener(this);
|
||||||
|
|
||||||
|
return mBindings.getRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
|
||||||
|
SitArtOrdDTO sitArtOrdDTO = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO();
|
||||||
|
|
||||||
|
this.mViewModel.getFabbisognoList().removeObservers(this);
|
||||||
|
this.mViewModel.getFabbisognoList().observe(this, this::onFabbisognoListLoaded);
|
||||||
|
|
||||||
|
this.mViewModel.init(
|
||||||
|
sitArtOrdDTO.getCodMart(),
|
||||||
|
sitArtOrdDTO.getCodMdep(),
|
||||||
|
(Date) sitArtOrdDTO.getExtraInfo().get("dataInizio"),
|
||||||
|
(Date) sitArtOrdDTO.getExtraInfo().get("dataFine"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onFabbisognoListLoaded(List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
||||||
|
for (int i = 0; i < fabbisognoList.size(); i++) {
|
||||||
|
String currentKey = fabbisognoList.get(i).getCodJfas();
|
||||||
|
|
||||||
|
ViewGroup.LayoutParams lparams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||||
|
TextView tv = new TextView(this.mContext);
|
||||||
|
tv.setLayoutParams(lparams);
|
||||||
|
tv.setText(currentKey);
|
||||||
|
|
||||||
|
this.mBindings.contentView.addView(tv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Exception ex) {
|
||||||
|
UtilityExceptions.defaultException(this.mContext, ex);
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
this.mBindings.loadingView.setVisibility(View.VISIBLE);
|
||||||
|
this.mBindings.contentView.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.mBindings.loadingView.setVisibility(View.GONE);
|
||||||
|
this.mBindings.contentView.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
|
public class DialogRowInfoProdFabbisognoLineeProdViewModel {
|
||||||
|
|
||||||
|
private final ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
|
||||||
|
private final MutableLiveData<List<ProdFabbisognoLineeProdDTO>> mFabbisognoList = new MutableLiveData<>();
|
||||||
|
|
||||||
|
private Listener mListener;
|
||||||
|
|
||||||
|
|
||||||
|
public DialogRowInfoProdFabbisognoLineeProdViewModel(ProdFabbisognoLineeProdRESTConsumer mProdFabbisognoLineeProdRESTConsumer) {
|
||||||
|
this.mProdFabbisognoLineeProdRESTConsumer = mProdFabbisognoLineeProdRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void init(String codMart, String codMdep, Date startDate, Date endDate) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
|
this.mProdFabbisognoLineeProdRESTConsumer.loadFabbisogno(codMart, startDate, endDate, codMdep, fabbisognoList -> {
|
||||||
|
this.mFabbisognoList.postValue(fabbisognoList);
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public MutableLiveData<List<ProdFabbisognoLineeProdDTO>> getFabbisognoList() {
|
||||||
|
return mFabbisognoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnLoadingStarted() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingStarted();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnLoadingEnded() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingEnded();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendError(Exception ex) {
|
||||||
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListener(Listener listener) {
|
||||||
|
this.mListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Listener extends ILoadingListener {
|
||||||
|
|
||||||
|
void onError(Exception ex);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -66,22 +67,22 @@ public class DialogSimpleMessageHelper {
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case INFO:
|
case INFO:
|
||||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300);
|
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300);
|
||||||
titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_info_78dp);
|
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300);
|
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300);
|
||||||
titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_done_white_24dp);
|
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WARNING:
|
case WARNING:
|
||||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600);
|
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600);
|
||||||
titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_warning_white_24dp);
|
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR:
|
case ERROR:
|
||||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300);
|
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300);
|
||||||
titleIconRes = mContext.getResources().getDrawable(R.drawable.ic_mood_bad_24dp);
|
titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="512dp"
|
android:width="128dp"
|
||||||
android:height="512dp"
|
android:height="128dp"
|
||||||
android:viewportWidth="512"
|
android:viewportWidth="512"
|
||||||
android:viewportHeight="512">
|
android:viewportHeight="512">
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="512dp"
|
android:width="128dp"
|
||||||
android:height="512dp"
|
android:height="128dp"
|
||||||
android:viewportWidth="512"
|
android:viewportWidth="512"
|
||||||
android:viewportHeight="512">
|
android:viewportHeight="512">
|
||||||
<path
|
<path
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="512dp"
|
android:width="128dp"
|
||||||
android:height="512dp"
|
android:height="128dp"
|
||||||
android:viewportWidth="512"
|
android:viewportWidth="512"
|
||||||
android:viewportHeight="512">
|
android:viewportHeight="512">
|
||||||
<path
|
<path
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="250dp"
|
android:width="200dp"
|
||||||
android:height="105dp"
|
android:height="84dp"
|
||||||
android:viewportWidth="250"
|
android:viewportWidth="250"
|
||||||
android:viewportHeight="105">
|
android:viewportHeight="105">
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
android:background="@color/full_white">
|
android:background="@color/full_white">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/content_view"
|
android:id="@+id/content_view_child"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -113,8 +113,8 @@
|
|||||||
android:id="@+id/deactivated_over_bg"
|
android:id="@+id/deactivated_over_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignTop="@id/content_view"
|
android:layout_alignTop="@id/content_view_child"
|
||||||
android:layout_alignBottom="@id/content_view"
|
android:layout_alignBottom="@id/content_view_child"
|
||||||
android:background="@android:color/black"
|
android:background="@android:color/black"
|
||||||
android:alpha="0.15" />
|
android:alpha="0.15" />
|
||||||
|
|
||||||
|
|||||||
@ -73,21 +73,21 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<!-- <com.google.android.material.textfield.TextInputLayout-->
|
||||||
android:id="@+id/input_linea_prod"
|
<!-- android:id="@+id/input_linea_prod"-->
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
|
<!-- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"-->
|
||||||
android:layout_width="match_parent"
|
<!-- android:layout_width="match_parent"-->
|
||||||
android:layout_height="wrap_content"
|
<!-- android:layout_height="wrap_content"-->
|
||||||
android:hint="@string/production_line">
|
<!-- android:hint="@string/production_line">-->
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
|
<!-- <androidx.appcompat.widget.AppCompatAutoCompleteTextView-->
|
||||||
android:id="@+id/dropdown_linea_prod"
|
<!-- android:id="@+id/dropdown_linea_prod"-->
|
||||||
android:layout_width="match_parent"
|
<!-- android:layout_width="match_parent"-->
|
||||||
android:layout_height="wrap_content"
|
<!-- android:layout_height="wrap_content"-->
|
||||||
android:singleLine="true"
|
<!-- android:singleLine="true"-->
|
||||||
android:ellipsize="end"/>
|
<!-- android:ellipsize="end"/>-->
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
<!-- </com.google.android.material.textfield.TextInputLayout>-->
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -24,24 +23,26 @@
|
|||||||
android:id="@+id/dialog_content_hashmap_key"
|
android:id="@+id/dialog_content_hashmap_key"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="0dp"
|
|
||||||
android:layout_marginStart="0dp"
|
android:layout_marginStart="0dp"
|
||||||
tools:text="TextView"
|
android:layout_marginEnd="0dp"
|
||||||
android:textColor="@android:color/black"
|
android:textColor="@android:color/black"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/dialog_content_hashmap_value"
|
android:id="@+id/dialog_content_hashmap_value"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="0dp"
|
|
||||||
android:layout_marginStart="0dp"
|
android:layout_marginStart="0dp"
|
||||||
tools:text="TextView"
|
android:layout_marginEnd="0dp"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline"
|
app:layout_constraintStart_toStartOf="@+id/guideline"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="TextView" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:cardCornerRadius="12dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
style="@style/TextViewMaterial.DialogTitle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:text="@string/info" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/loading_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<!-- <androidx.appcompat.widget.AppCompatTextView-->
|
||||||
|
<!-- style="@style/TextViewMaterial.DialogTitle"-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:gravity="center_horizontal"-->
|
||||||
|
<!-- android:text="@string/loading" />-->
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="true" />
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/content_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:text="Linee di impegno"
|
||||||
|
android:layout_marginBottom="8dp"/>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/content_view_child"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
</layout>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
android:id="@+id/badge1"
|
android:id="@+id/badge1"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="BADGE 1"
|
tools:text="BADGE 1"
|
||||||
android:background="@drawable/badge1_round_corner"
|
android:background="@drawable/badge1_round_corner"
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
android:paddingTop="2dp"
|
android:paddingTop="2dp"
|
||||||
@ -49,7 +49,6 @@
|
|||||||
style="@android:style/TextAppearance.Small"
|
style="@android:style/TextAppearance.Small"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginEnd="4dp"
|
||||||
android:layout_toStartOf="@id/compilato_da"
|
|
||||||
android:layout_below="@id/badge1"
|
android:layout_below="@id/badge1"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
|||||||
@ -1,30 +1,33 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<import type="android.view.View" />
|
<import type="android.view.View" />
|
||||||
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="articolo"
|
name="articolo"
|
||||||
type="it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine" />
|
type="it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp">
|
android:padding="8dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
||||||
android:id="@+id/linearLayout"
|
android:id="@+id/linearLayout"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/qta_box"
|
app:layout_constraintEnd_toStartOf="@+id/qta_box"
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
@ -65,9 +68,9 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:paddingStart="12dp"
|
||||||
android:paddingEnd="12dp"
|
android:paddingEnd="12dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
app:layout_constraintBottom_toBottomOf="parent">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@ -79,8 +82,8 @@
|
|||||||
android:paddingRight="6dp"
|
android:paddingRight="6dp"
|
||||||
android:paddingBottom="2dp"
|
android:paddingBottom="2dp"
|
||||||
android:text="@{UtilityNumber.decimalToString(articolo.qtaOrd) + `\n` + articolo.untMis}"
|
android:text="@{UtilityNumber.decimalToString(articolo.qtaOrd) + `\n` + articolo.untMis}"
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
|
android:textSize="16sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="280.45\nCONF" />
|
tools:text="280.45\nCONF" />
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
android:focusable="true">
|
android:focusable="true">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/content_view"
|
android:id="@+id/content_view_child"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -101,8 +101,8 @@
|
|||||||
android:id="@+id/deactivated_over_bg"
|
android:id="@+id/deactivated_over_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignTop="@id/content_view"
|
android:layout_alignTop="@id/content_view_child"
|
||||||
android:layout_alignBottom="@id/content_view"
|
android:layout_alignBottom="@id/content_view_child"
|
||||||
android:background="@android:color/black"
|
android:background="@android:color/black"
|
||||||
android:alpha="0.15" />
|
android:alpha="0.15" />
|
||||||
|
|
||||||
|
|||||||
@ -8,14 +8,14 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/full_white">
|
android:background="@color/full_white">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:id="@+id/content_view"
|
android:id="@+id/content_view_child"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp">
|
android:padding="8dp">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
@ -35,7 +35,7 @@
|
|||||||
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
style="@style/AppTheme.NewMaterial.Text.Small"/>
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
@ -84,12 +84,25 @@
|
|||||||
android:textColor="@android:color/black"
|
android:textColor="@android:color/black"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
tools:text="cnf"/>
|
tools:text="cnf"/>
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
|
android:id="@+id/info_row"
|
||||||
|
android:layout_width="22sp"
|
||||||
|
android:layout_height="22sp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:background="@drawable/ic_info_78dp"
|
||||||
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/descrizione"
|
android:id="@+id/descrizione"
|
||||||
@ -110,8 +123,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true">
|
||||||
android:layout_toStartOf="@+id/vendita_ordine_inevaso_main_list_group_item_badge2">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/subdescrizione1"
|
android:id="@+id/subdescrizione1"
|
||||||
@ -153,14 +165,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/deactivated_over_bg"
|
android:id="@+id/deactivated_over_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignTop="@id/content_view"
|
android:layout_alignTop="@id/content_view_child"
|
||||||
android:layout_alignBottom="@id/content_view"
|
android:layout_alignBottom="@id/content_view_child"
|
||||||
android:background="@android:color/black"
|
android:background="@android:color/black"
|
||||||
android:alpha="0.15" />
|
android:alpha="0.15" />
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +0,0 @@
|
|||||||
<RelativeLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<Switch
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_centerVertical="true" />
|
|
||||||
</RelativeLayout>
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
android:background="@color/full_white">
|
android:background="@color/full_white">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/content_view"
|
android:id="@+id/content_view_child"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
@ -156,8 +156,8 @@
|
|||||||
android:id="@+id/deactivated_over_bg"
|
android:id="@+id/deactivated_over_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_alignTop="@id/content_view"
|
android:layout_alignTop="@id/content_view_child"
|
||||||
android:layout_alignBottom="@id/content_view"
|
android:layout_alignBottom="@id/content_view_child"
|
||||||
android:background="@android:color/black"
|
android:background="@android:color/black"
|
||||||
android:alpha="0.15" />
|
android:alpha="0.15" />
|
||||||
|
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
<string name="scan_item">Scansiona il codice a barre di un <b>articolo</b></string>
|
<string name="scan_item">Scansiona il codice a barre di un <b>articolo</b></string>
|
||||||
<string name="please_open_lu">Prima di procedere apri una <b>nuova UL</b></string>
|
<string name="please_open_lu">Prima di procedere apri una <b>nuova UL</b></string>
|
||||||
<string name="extra_item">Articolo extra</string>
|
<string name="extra_item">Articolo extra</string>
|
||||||
|
<string name="info">Info</string>
|
||||||
<string name="lu_info">Info UL</string>
|
<string name="lu_info">Info UL</string>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -78,6 +78,7 @@
|
|||||||
<string name="action_close_order">Close order</string>
|
<string name="action_close_order">Close order</string>
|
||||||
<string name="action_show_created_ul">Show already created LU</string>
|
<string name="action_show_created_ul">Show already created LU</string>
|
||||||
<string name="dialog_input_peso_lu_description">Insert info about LU TYPE and NET / GROSS weight</string>
|
<string name="dialog_input_peso_lu_description">Insert info about LU TYPE and NET / GROSS weight</string>
|
||||||
|
<string name="info">Info</string>
|
||||||
<string name="lu_info">LU\'s info</string>
|
<string name="lu_info">LU\'s info</string>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
4
app/src/main/res/xml/backup_descriptor.xml
Normal file
4
app/src/main/res/xml/backup_descriptor.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<full-backup-content>
|
||||||
|
<!-- Exclude specific shared preferences that contain GCM registration Id -->
|
||||||
|
</full-backup-content>
|
||||||
@ -11,11 +11,18 @@ android {
|
|||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.1.1"
|
versionName "1.1.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
kotlinOptions.freeCompilerArgs += ['-module-name', "barcode.kaiteki"]
|
kotlinOptions.freeCompilerArgs += ['-module-name', "barcode.kaiteki"]
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For Kotlin projects
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "1.8"
|
||||||
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled false
|
minifyEnabled false
|
||||||
@ -28,9 +35,9 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||||
|
|
||||||
implementation 'androidx.core:core-ktx:1.1.0'
|
implementation 'androidx.core:core-ktx:1.3.2'
|
||||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||||
implementation 'com.google.android.material:material:1.3.0-alpha03'
|
implementation 'com.google.android.material:material:1.3.0-alpha03'
|
||||||
|
|
||||||
api 'androidx.camera:camera-core:1.0.0-alpha03'
|
api 'androidx.camera:camera-core:1.0.0-alpha03'
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.4.10'
|
kotlin_version = '1.4.31'
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@ -12,11 +12,11 @@ buildscript {
|
|||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:4.1.2'
|
classpath 'com.android.tools.build:gradle:4.1.2'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
classpath 'com.google.gms:google-services:4.3.4'
|
classpath 'com.google.gms:google-services:4.3.5'
|
||||||
classpath 'com.google.firebase:perf-plugin:1.3.3'
|
classpath 'com.google.firebase:perf-plugin:1.3.5'
|
||||||
|
|
||||||
// Add the Firebase Crashlytics Gradle plugin.
|
// Add the Firebase Crashlytics Gradle plugin.
|
||||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
|
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
|||||||
@ -1,18 +1,15 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility = '1.8'
|
sourceCompatibility = '1.8'
|
||||||
targetCompatibility = '1.8'
|
targetCompatibility = '1.8'
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -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, null, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
||||||
@ -61,7 +61,7 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration {
|
|||||||
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_prod_versamento_materiale)
|
.setID(it.integry.integrywmsnative.R.id.nav_prod_versamento_materiale)
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
apply plugin: "com.android.dynamic-feature"
|
apply plugin: "com.android.dynamic-feature"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -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, null, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
||||||
@ -80,7 +80,7 @@ public class MenuConfigurationGRAMM extends BaseMenuConfiguration {
|
|||||||
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_free_lav_picking)
|
.setID(it.integry.integrywmsnative.R.id.nav_free_lav_picking)
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -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, null, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
||||||
@ -79,7 +79,7 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
|
|||||||
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||||
).addGroup(
|
).addGroup(
|
||||||
new MenuGroup()
|
new MenuGroup()
|
||||||
.setGroupText(it.integry.integrywmsnative.R.string.internal_handling)
|
.setGroupText(it.integry.integrywmsnative.R.string.internal_handling)
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
apply plugin: 'com.android.dynamic-feature'
|
apply plugin: 'com.android.dynamic-feature'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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, null, -1)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
.setID(it.integry.integrywmsnative.R.id.nav_free_picking)
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
@ -21,6 +21,10 @@ android {
|
|||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
@ -21,6 +21,10 @@ android {
|
|||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
@ -20,6 +20,10 @@ android {
|
|||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user