Finish v1_0_15(18)
This commit is contained in:
commit
2851327e32
51
.idea/assetWizardSettings.xml
generated
51
.idea/assetWizardSettings.xml
generated
@ -1,51 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="WizardSettings">
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="imageWizard">
|
|
||||||
<value>
|
|
||||||
<PersistentState />
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
<entry key="vectorWizard">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="vectorAssetStep">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="clipartAsset">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="values">
|
|
||||||
<map>
|
|
||||||
<entry key="url" value="jar:file:/C:/Program%20Files/Android/Android%20Studio/plugins/android/lib/android.jar!/images/material_design_icons/content/ic_clear_black_24dp.xml" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
<option name="values">
|
|
||||||
<map>
|
|
||||||
<entry key="outputName" value="ic_clear_black_24dp" />
|
|
||||||
<entry key="sourceFile" value="C:\Users\Giuseppe" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
2
.idea/modules.xml
generated
2
.idea/modules.xml
generated
@ -2,7 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/WMS.iml" filepath="$PROJECT_DIR$/WMS.iml" />
|
<module fileurl="file://$PROJECT_DIR$/WMS_Native.iml" filepath="$PROJECT_DIR$/WMS_Native.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" filepath="$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" />
|
<module fileurl="file://$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" filepath="$PROJECT_DIR$/barcode_base_library/barcode_base_library.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" />
|
<module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" />
|
||||||
|
|||||||
@ -21,8 +21,8 @@ android {
|
|||||||
applicationId "it.integry.integrywmsnative"
|
applicationId "it.integry.integrywmsnative"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
versionCode 17
|
versionCode 18
|
||||||
versionName "1.0.14"
|
versionName "1.0.15"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,18 +18,21 @@ public class RESTBuilder {
|
|||||||
return getService(service, SettingsManager.i().server.host, SettingsManager.i().server.port, true);
|
return getService(service, SettingsManager.i().server.host, SettingsManager.i().server.port, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
public static <T> T getService(final Class<T> service, long timeout) {
|
public static <T> T getService(final Class<T> service, int timeout) {
|
||||||
// return getService(service, "192.168.2.13", 8080);
|
// return getService(service, "192.168.2.13", 8080);
|
||||||
return getService(service, SettingsManager.i().server.host, SettingsManager.i().server.port, true);
|
return getService(service, SettingsManager.i().server.host, SettingsManager.i().server.port, true, timeout);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public static <T> T getService(final Class<T> service, String host, int port, boolean addInterceptors) {
|
||||||
|
return getService(service, host, port, addInterceptors, 30);
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> T getService(final Class<T> service, String host, int port, boolean addInterceptors){
|
public static <T> T getService(final Class<T> service, String host, int port, boolean addInterceptors, int timeout){
|
||||||
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
|
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
|
||||||
|
|
||||||
clientBuilder.connectTimeout(30, TimeUnit.SECONDS);
|
clientBuilder.connectTimeout(timeout, TimeUnit.SECONDS);
|
||||||
clientBuilder.readTimeout(30, TimeUnit.SECONDS);
|
clientBuilder.readTimeout(timeout, TimeUnit.SECONDS);
|
||||||
clientBuilder.writeTimeout(30, TimeUnit.SECONDS);
|
clientBuilder.writeTimeout(timeout, TimeUnit.SECONDS);
|
||||||
|
|
||||||
if(addInterceptors) clientBuilder.addInterceptor(new HttpInterceptor());
|
if(addInterceptors) clientBuilder.addInterceptor(new HttpInterceptor());
|
||||||
|
|
||||||
|
|||||||
@ -178,10 +178,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void distribuisciCollo(MtbColt mtbColtToDistribute, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
DistribuzioneColloDTO distribuzioneColloDTO = new DistribuzioneColloDTO()
|
DistribuzioneColloDTO distribuzioneColloDTO = new DistribuzioneColloDTO()
|
||||||
.setCriterioDistribuzione(DistribuzioneColloDTO.CriterioDistribuzione.UPDATE)
|
.setCriterioDistribuzione(criterioDistribuzione)
|
||||||
.setDataCollo(mtbColtToDistribute.getDataColloS())
|
.setDataCollo(mtbColtToDistribute.getDataColloS())
|
||||||
.setNumCollo(mtbColtToDistribute.getNumCollo())
|
.setNumCollo(mtbColtToDistribute.getNumCollo())
|
||||||
.setGestione(mtbColtToDistribute.getGestione())
|
.setGestione(mtbColtToDistribute.getGestione())
|
||||||
|
|||||||
@ -63,7 +63,8 @@ public class DistribuzioneColloDTO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum CriterioDistribuzione {
|
public enum CriterioDistribuzione {
|
||||||
UPDATE("U"); //UPDATE COLLO GIA' ESISTENTE
|
UPDATE("U"), //UPDATE COLLO GIA' ESISTENTE
|
||||||
|
SPLIT_ORDINE("O"); //UPDATE COLLO GIA' ESISTENTE
|
||||||
|
|
||||||
private String text;
|
private String text;
|
||||||
CriterioDistribuzione(String text) {
|
CriterioDistribuzione(String text) {
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
package it.integry.integrywmsnative.core.context;
|
||||||
|
|
||||||
|
public class AppContext {
|
||||||
|
|
||||||
|
public AppContext() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -8,6 +8,7 @@ import android.util.Log;
|
|||||||
import com.crashlytics.android.Crashlytics;
|
import com.crashlytics.android.Crashlytics;
|
||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.BuildConfig;
|
||||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||||
|
|
||||||
@ -30,9 +31,12 @@ public class UtilityExceptions {
|
|||||||
if(errorMessage == null) errorMessage = ex.getMessage();
|
if(errorMessage == null) errorMessage = ex.getMessage();
|
||||||
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
|
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
|
||||||
|
|
||||||
if(sendEmail) UtilityLogger.errorMe(ex);
|
|
||||||
|
|
||||||
Crashlytics.logException(ex.getCause());
|
if(!BuildConfig.DEBUG) {
|
||||||
|
if(sendEmail) UtilityLogger.errorMe(ex);
|
||||||
|
|
||||||
|
Crashlytics.logException(ex.getCause());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,10 +35,18 @@ public class PickingLiberoActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
setSupportActionBar(this.mBindings.toolbar);
|
setSupportActionBar(this.mBindings.toolbar);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||||
|
|
||||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
.setOnScanSuccessfull(mViewModel.onScanSuccessfull)
|
.setOnScanSuccessfull(mViewModel.onScanSuccessfull)
|
||||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||||
|
|
||||||
|
|
||||||
|
mBindings.waterfallToolbar.setNestedScrollView(mBindings.scrollView);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
mBindings.toolbarTitle.setText(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -0,0 +1,108 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.picking_libero.core;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
|
import it.integry.integrywmsnative.databinding.ListaPickingLiberoListModelBinding;
|
||||||
|
|
||||||
|
public class PickingLiberoListAdapter extends RecyclerView.Adapter<PickingLiberoListAdapter.ViewHolder>{
|
||||||
|
|
||||||
|
protected Context mContext;
|
||||||
|
protected ObservableArrayList<MtbColr> mDataset;
|
||||||
|
|
||||||
|
private IRecyclerItemClicked<MtbColr> mOnItemClickListener;
|
||||||
|
|
||||||
|
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
protected ListaPickingLiberoListModelBinding mViewDataBinding;
|
||||||
|
|
||||||
|
|
||||||
|
public ViewHolder(ListaPickingLiberoListModelBinding v) {
|
||||||
|
super(v.getRoot());
|
||||||
|
mViewDataBinding = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bind(MtbColr mtbColr) {
|
||||||
|
mViewDataBinding.setMtbColr(mtbColr);
|
||||||
|
mViewDataBinding.executePendingBindings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public PickingLiberoListAdapter(Context context, ObservableArrayList<MtbColr> myDataset, IRecyclerItemClicked<MtbColr> onItemClickListener) {
|
||||||
|
mContext = context;
|
||||||
|
mDataset = myDataset;
|
||||||
|
mOnItemClickListener = onItemClickListener;
|
||||||
|
|
||||||
|
myDataset.addOnListChangedCallback(onListChangedCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PickingLiberoListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||||
|
// create a new view
|
||||||
|
ListaPickingLiberoListModelBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.lista_picking_libero_list_model, parent, false);
|
||||||
|
|
||||||
|
return new PickingLiberoListAdapter.ViewHolder(viewDataBinding);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(PickingLiberoListAdapter.ViewHolder holder, int position) {
|
||||||
|
MtbColr item = mDataset.get(position);
|
||||||
|
holder.bind(item);
|
||||||
|
|
||||||
|
holder.mViewDataBinding.getRoot().setOnClickListener(x -> {
|
||||||
|
if(mOnItemClickListener != null) {
|
||||||
|
mOnItemClickListener.onItemClick(item, position);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewRecycled(PickingLiberoListAdapter.ViewHolder holder) {
|
||||||
|
super.onViewRecycled(holder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemCount() {
|
||||||
|
return mDataset.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private ObservableList.OnListChangedCallback onListChangedCallback = new ObservableList.OnListChangedCallback<ObservableList<MtbColr>>(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChanged(ObservableList<MtbColr> sender) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeChanged(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeInserted(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeMoved(ObservableList<MtbColr> sender, int fromPosition, int toPosition, int itemCount) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeRemoved(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@ -3,8 +3,10 @@ package it.integry.integrywmsnative.gest.picking_libero.viewmodel;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -12,9 +14,14 @@ import java.util.Date;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.databinding.Observable;
|
import androidx.databinding.Observable;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.CommonConst;
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
|
||||||
@ -26,6 +33,7 @@ import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
|
|||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
@ -33,10 +41,13 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
|||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPickingLiberoBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoActivity;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
|
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
|
||||||
|
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.ui.StatusBarAlert;
|
import it.integry.integrywmsnative.ui.StatusBarAlert;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||||
@ -45,7 +56,7 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuanti
|
|||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
|
||||||
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
|
||||||
|
|
||||||
public class PickingLiberoViewModel {
|
public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
|
||||||
|
|
||||||
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
|
||||||
|
|
||||||
@ -54,16 +65,24 @@ public class PickingLiberoViewModel {
|
|||||||
public BindableBoolean thereIsAnyRowInUL = new BindableBoolean();
|
public BindableBoolean thereIsAnyRowInUL = new BindableBoolean();
|
||||||
public BindableBoolean thereIsAnOpenULWithoutRows = new BindableBoolean();
|
public BindableBoolean thereIsAnOpenULWithoutRows = new BindableBoolean();
|
||||||
|
|
||||||
private Activity mContext;
|
private BottomSheetBehavior mBottomSheetBehavior;
|
||||||
|
|
||||||
|
private PickingLiberoActivity mContext;
|
||||||
private ActivityPickingLiberoBinding mBinding;
|
private ActivityPickingLiberoBinding mBinding;
|
||||||
private PickingLiberoHelper mHelper;
|
private PickingLiberoHelper mHelper;
|
||||||
|
|
||||||
public void init(Activity context, ActivityPickingLiberoBinding binding, PickingLiberoHelper helper) {
|
private PickingLiberoListAdapter mAdapter;
|
||||||
|
|
||||||
|
public void init(PickingLiberoActivity context, ActivityPickingLiberoBinding binding, PickingLiberoHelper helper) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mBinding = binding;
|
mBinding = binding;
|
||||||
mHelper = helper;
|
mHelper = helper;
|
||||||
|
|
||||||
initObservable();
|
initObservable();
|
||||||
|
|
||||||
|
initRecyclerView();
|
||||||
|
|
||||||
|
initBottomSheetActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -79,9 +98,62 @@ public class PickingLiberoViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void refreshBindables() {
|
private void refreshBindables() {
|
||||||
|
if(mtbColt.get() != null) {
|
||||||
|
initAdapter();
|
||||||
|
|
||||||
|
mContext.setTitle(String.format(mContext.getText(R.string.lu_number_text).toString(), mtbColt.get().getNumCollo()));
|
||||||
|
|
||||||
|
initObservableMtbColr();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
destroyAdapter();
|
||||||
|
|
||||||
|
mContext.setTitle(mContext.getText(R.string.free_picking).toString());
|
||||||
|
}
|
||||||
|
|
||||||
thereIsAnOpenedUL.set(mtbColt.get() != null);
|
thereIsAnOpenedUL.set(mtbColt.get() != null);
|
||||||
thereIsntAnOpenedUL.set(!thereIsAnOpenedUL.get());
|
thereIsntAnOpenedUL.set(!thereIsAnOpenedUL.get());
|
||||||
|
|
||||||
|
|
||||||
|
refreshObservableMtbColr();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initObservableMtbColr() {
|
||||||
|
mtbColt.get().getMtbColr().addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<MtbColr>>() {
|
||||||
|
@Override
|
||||||
|
public void onChanged(ObservableList<MtbColr> sender) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeChanged(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeInserted(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeMoved(ObservableList<MtbColr> sender, int fromPosition, int toPosition, int itemCount) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemRangeRemoved(ObservableList<MtbColr> sender, int positionStart, int itemCount) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refresh() {
|
||||||
|
refreshObservableMtbColr();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshObservableMtbColr() {
|
||||||
thereIsAnyRowInUL.set(mtbColt.get() != null &&
|
thereIsAnyRowInUL.set(mtbColt.get() != null &&
|
||||||
mtbColt.get().getMtbColr() != null &&
|
mtbColt.get().getMtbColr() != null &&
|
||||||
mtbColt.get().getMtbColr().size() > 0);
|
mtbColt.get().getMtbColr().size() > 0);
|
||||||
@ -92,6 +164,49 @@ public class PickingLiberoViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initRecyclerView() {
|
||||||
|
mBinding.pickingLiberoMainList.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
|
mBinding.pickingLiberoMainList.setHasFixedSize(true);
|
||||||
|
|
||||||
|
mBinding.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(mContext));
|
||||||
|
|
||||||
|
DividerItemDecoration itemDecorator = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
|
||||||
|
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
||||||
|
mBinding.pickingLiberoMainList.addItemDecoration(itemDecorator);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initAdapter() {
|
||||||
|
mAdapter = new PickingLiberoListAdapter(mContext, mtbColt.get().getMtbColr(), this);
|
||||||
|
mBinding.pickingLiberoMainList.setAdapter(mAdapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void destroyAdapter() {
|
||||||
|
mAdapter = null;
|
||||||
|
mBinding.pickingLiberoMainList.setAdapter(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initBottomSheetActions() {
|
||||||
|
mBinding.bg.setOnClickListener(v -> mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED));
|
||||||
|
|
||||||
|
mBottomSheetBehavior = BottomSheetBehavior.from(mBinding.bottomSheetActions);
|
||||||
|
|
||||||
|
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
|
||||||
|
@Override
|
||||||
|
public void onStateChanged(@NonNull View bottomSheet, int newState) {
|
||||||
|
if (newState == BottomSheetBehavior.STATE_COLLAPSED)
|
||||||
|
mBinding.bg.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
|
||||||
|
mBinding.bg.setVisibility(View.VISIBLE);
|
||||||
|
mBinding.bg.setAlpha(slideOffset);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
if(thereIsAnOpenedUL.get()) {
|
if(thereIsAnOpenedUL.get()) {
|
||||||
this.closeLU();
|
this.closeLU();
|
||||||
@ -365,6 +480,9 @@ public class PickingLiberoViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void setULToCurrentContext(MtbColt mtbColt){
|
private void setULToCurrentContext(MtbColt mtbColt){
|
||||||
|
if(mtbColt != null && mtbColt.getMtbColr() == null) {
|
||||||
|
mtbColt.setMtbColr(new ObservableArrayList<>());
|
||||||
|
}
|
||||||
this.mtbColt.set(mtbColt);
|
this.mtbColt.set(mtbColt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,4 +531,42 @@ public class PickingLiberoViewModel {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(MtbColr item, int position) {
|
||||||
|
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||||
|
|
||||||
|
MtbColr clickedItem = mtbColt.get().getMtbColr().get(position);
|
||||||
|
|
||||||
|
mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
|
||||||
|
mBinding.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
|
||||||
|
|
||||||
|
mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(item));
|
||||||
|
|
||||||
|
mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getMtbAart().getUntMis());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void onItemDelete(MtbColr mtbColrToDelete) {
|
||||||
|
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||||
|
|
||||||
|
MtbColr mtbColrToDeleteClone = (MtbColr) mtbColrToDelete.clone();
|
||||||
|
|
||||||
|
mtbColrToDeleteClone
|
||||||
|
.setRiga(null)
|
||||||
|
.setDatetimeRow(new Date())
|
||||||
|
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
|
||||||
|
.setOperation(CommonModelConsts.OPERATION.DELETE);
|
||||||
|
|
||||||
|
MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
|
||||||
|
mtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||||
|
mtbColtClone.getMtbColr().add(mtbColrToDeleteClone);
|
||||||
|
mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, value -> {
|
||||||
|
progressDialog.dismiss();
|
||||||
|
mtbColt.get().getMtbColr().remove(mtbColrToDelete);
|
||||||
|
}, ex -> UtilityExceptions.defaultException(mContext, ex, progressDialog));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -519,16 +519,6 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
|
|||||||
|
|
||||||
}).show();
|
}).show();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onItemDelete(MtbColr mtbColrToDelete) {
|
private void onItemDelete(MtbColr mtbColrToDelete) {
|
||||||
|
|||||||
@ -93,7 +93,7 @@ public class VenditaHelper {
|
|||||||
|
|
||||||
String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
|
String joinedBarcodes = TextUtils.join(",", barcodeOrdini);
|
||||||
|
|
||||||
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
|
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class, 60);
|
||||||
|
|
||||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
|
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
|
||||||
perfTrace.start();
|
perfTrace.start();
|
||||||
|
|||||||
@ -12,7 +12,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel;
|
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.dto.VenditaOrdineInevasoListViewModel;
|
||||||
@ -111,7 +110,7 @@ public class VenditaOrdineInevasoHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(currentItem.getNumCollo() != null) {
|
if(currentItem.getNumCollo() != null) {
|
||||||
rowModel.setSubDescrizione2(String.format(mContext.getResources().getText(R.string.lu_number_text).toString(), currentItem.getNumCollo(), currentItem.getDataColloHuman()));
|
rowModel.setSubDescrizione2(String.format(mContext.getResources().getText(R.string.lu_number_data_text).toString(), currentItem.getNumCollo(), currentItem.getDataColloHuman()));
|
||||||
}
|
}
|
||||||
|
|
||||||
rowModel.setQtaRiservata(getRigaQuantityEvasa(currentItem, mtbColrs));
|
rowModel.setQtaRiservata(getRigaQuantityEvasa(currentItem, mtbColrs));
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
||||||
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
@ -688,7 +689,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
|
|
||||||
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
|
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, onComplete,
|
ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, DistribuzioneColloDTO.CriterioDistribuzione.UPDATE, onComplete,
|
||||||
ex -> UtilityExceptions.defaultException(mActivity, ex, progress));
|
ex -> UtilityExceptions.defaultException(mActivity, ex, progress));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -35,128 +35,133 @@
|
|||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize"
|
android:layout_height="?actionBarSize"
|
||||||
tools:title="Picking Libero"
|
android:gravity="center_horizontal"
|
||||||
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
app:popupTheme="@style/AppTheme.PopupOverlay">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/toolbar_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="Picking Libero"
|
||||||
|
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
|
||||||
|
android:layout_gravity="center" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
</it.integry.plugins.waterfalltoolbar.WaterfallToolbar>
|
</it.integry.plugins.waterfalltoolbar.WaterfallToolbar>
|
||||||
|
|
||||||
<net.cachapa.expandablelayout.ExpandableLayout
|
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/scroll_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:padding="8dp"
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
app:el_expanded_bind="@{viewmodel.thereIsAnOpenedUL}">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal">
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:focusableInTouchMode="true"
|
||||||
|
tools:context=".gest.contenuto_bancale.ContenutoBancaleActivity">
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/picking_libero_main_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginTop="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:layout_marginBottom="92dp"
|
||||||
android:paddingTop="8dp"
|
android:paddingStart="2dp"
|
||||||
android:paddingBottom="8dp"
|
android:paddingEnd="2dp">
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="@android:color/white"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:background="@drawable/badge1_round_corner"
|
|
||||||
android:text="@{viewmodel.mtbColt.get().numCollo.toString()}"
|
|
||||||
tools:text="2156"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="12dp"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:visibility="@{!UtilityString.isNullOrEmpty(viewmodel.mtbColt.get().posizione) ? View.VISIBLE : View.GONE}"
|
|
||||||
android:text="@{viewmodel.mtbColt.get().posizione}"
|
|
||||||
tools:text="ME1FS032"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.recyclerview.widget.RecyclerView>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
</net.cachapa.expandablelayout.ExpandableLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/free_picking__suggestion_1__guideline_top"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
app:layout_constraintGuide_percent="0.35"/>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/free_picking__suggestion_1__guideline_left"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.2" />
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/free_picking__suggestion_1__guideline_right"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.8" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:alpha="0.4"
|
|
||||||
app:visibility="@{viewmodel.thereIsntAnOpenedUL}"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
|
|
||||||
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
|
|
||||||
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:text="@string/free_picking_suggestion_1"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:alpha="0.4"
|
|
||||||
app:visibility="@{viewmodel.thereIsAnOpenULWithoutRows}"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
|
|
||||||
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
|
|
||||||
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@android:color/black"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:text="@string/free_picking_suggestion_2"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/free_picking__suggestion_1__guideline_top"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintGuide_percent="0.35"/>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/free_picking__suggestion_1__guideline_left"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.2" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/free_picking__suggestion_1__guideline_right"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintGuide_percent="0.8" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:alpha="0.4"
|
||||||
|
app:visibility="@{viewmodel.thereIsntAnOpenedUL}"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
|
||||||
|
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
|
||||||
|
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:text="@string/free_picking_suggestion_1"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:alpha="0.4"
|
||||||
|
app:visibility="@{viewmodel.thereIsAnOpenULWithoutRows}"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top"
|
||||||
|
app:layout_constraintLeft_toRightOf="@id/free_picking__suggestion_1__guideline_left"
|
||||||
|
app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:text="@string/free_picking_suggestion_2"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<com.github.clans.fab.FloatingActionButton
|
<com.github.clans.fab.FloatingActionButton
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -187,6 +192,109 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:visibility="gone"
|
||||||
|
android:id="@+id/bg"
|
||||||
|
android:background="#99000000"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/bottom_sheet_actions"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="#fff"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
app:behavior_hideable="true"
|
||||||
|
app:behavior_peekHeight="0dp"
|
||||||
|
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:layout_gravity="center_vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/bottom_sheet_actions_quantity"
|
||||||
|
app:layout_constraintStart_toStartOf="parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/bottom_sheet_actions_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="Descrizione articolo"
|
||||||
|
android:textColor="#444"
|
||||||
|
android:textSize="18dp"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:paddingRight="8dp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/bottom_sheet_actions_subtitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:text="ABF52IL"
|
||||||
|
android:textSize="14dp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/bottom_sheet_actions_quantity"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:gravity="right"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textSize="15dp"
|
||||||
|
tools:text="250 PZ"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"/>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
android:gravity="center">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
|
android:id="@+id/bottom_sheet_actions_delete_btn"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:background="@android:color/white"
|
||||||
|
android:scaleX="1.5"
|
||||||
|
android:scaleY="1.5"
|
||||||
|
android:src="@drawable/ic_delete_24dp"
|
||||||
|
android:tint="@color/red_600" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Cancella"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|
||||||
|
|||||||
94
app/src/main/res/layout/lista_picking_libero_list_model.xml
Normal file
94
app/src/main/res/layout/lista_picking_libero_list_model.xml
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<data>
|
||||||
|
<import type="android.view.View" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
<variable
|
||||||
|
name="mtbColr"
|
||||||
|
type="it.integry.integrywmsnative.core.model.MtbColr" />
|
||||||
|
</data>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="8dp">
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/linearLayout"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/qta_box"
|
||||||
|
app:layout_constraintStart_toStartOf="parent">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{mtbColr.codMart}"
|
||||||
|
android:textColor="@color/colorPrimary"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="COD MART" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentLeft="true"
|
||||||
|
android:layout_toLeftOf="@id/posizione_collo"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:text="@{mtbColr.getDescrizione()}"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:text="Descrizione lunga articolo" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{`Lotto: ` + mtbColr.getPartitaMag()}"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:visibility="@{UtilityString.isNullOrEmpty(mtbColr.getPartitaMag()) ? View.INVISIBLE : View.VISIBLE}"
|
||||||
|
tools:text="Lotto: ABCDE" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/qta_box"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="12dp"
|
||||||
|
android:paddingEnd="12dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/badge1_round_corner"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingLeft="6dp"
|
||||||
|
android:paddingTop="2dp"
|
||||||
|
android:paddingRight="6dp"
|
||||||
|
android:paddingBottom="2dp"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(mtbColr.getQtaCol()) + (mtbColr.mtbAart != null && !UtilityString.isNullOrEmpty(mtbColr.mtbAart.untMis) ? `\n` + mtbColr.mtbAart.untMis : ``)}"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="280.45\nCONF" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -122,7 +122,8 @@
|
|||||||
<string name="activity_contenuto_bancale_title">Contenuto UL</string>
|
<string name="activity_contenuto_bancale_title">Contenuto UL</string>
|
||||||
<string name="activity_vendita_inevaso_title">Spedizione merce</string>
|
<string name="activity_vendita_inevaso_title">Spedizione merce</string>
|
||||||
|
|
||||||
<string name="lu_number_text"><![CDATA[UL n° <b>%d</b> - <b>%s</b>]]></string>
|
<string name="lu_number_data_text"><![CDATA[UL n° <b>%d</b> - <b>%s</b>]]></string>
|
||||||
|
<string name="lu_number_text"><![CDATA[UL n° %d]]></string>
|
||||||
|
|
||||||
<string name="button_ignore_print">Salta stampa</string>
|
<string name="button_ignore_print">Salta stampa</string>
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,8 @@
|
|||||||
<string name="activity_contenuto_bancale_title">LU Content</string>
|
<string name="activity_contenuto_bancale_title">LU Content</string>
|
||||||
<string name="activity_vendita_inevaso_title">Shipping goods</string>
|
<string name="activity_vendita_inevaso_title">Shipping goods</string>
|
||||||
|
|
||||||
<string name="lu_number_text"><![CDATA[LU n° <b>%d</b> - <b>%s</b>]]></string>
|
<string name="lu_number_data_text"><![CDATA[LU n° <b>%d</b> - <b>%s</b>]]></string>
|
||||||
|
<string name="lu_number_text"><![CDATA[LU n° %d]]></string>
|
||||||
|
|
||||||
<string name="button_ignore_print">Skip print</string>
|
<string name="button_ignore_print">Skip print</string>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user