Finish v1_0_28(31)

This commit is contained in:
Giuseppe Scorrano 2019-01-30 16:53:06 +01:00
commit 0ec8c8b7d0
17 changed files with 195 additions and 107 deletions

Binary file not shown.

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 30
def appVersionName = '1.0.27'
def appVersionCode = 31
def appVersionName = '1.0.28'
signingConfigs {
release {
@ -124,6 +124,7 @@ dependencies {
//implementation 'com.getbase:floatingactionbutton:1.10.1'
implementation 'com.github.clans:fab:1.6.4'
//CUSTOM VIEWS
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'

View File

@ -102,6 +102,20 @@ public class ColliDataRecover {
}
public static List<Integer> getAllSessionIDs() {
if(thereIsAnExistantSession()) {
List<Integer> sessionIDs = new ArrayList<>();
for(int i = 0; i < mtbColtsSessions.size(); i++){
sessionIDs.add(i);
}
return sessionIDs;
} else return null;
}
public static MtbColt getSession(Integer sessionID) {
if(sessionID == null) return null;

View File

@ -308,7 +308,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
}
RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
private RunnableArgs<OrdineAccettazioneGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
List<OrdineAccettazioneGroupedInevasoDTO> selectedOrders = helper.getSelectedOrders(groupedOrdiniInevasi);
if(selectedOrders != null && selectedOrders.size() > 1){

View File

@ -8,6 +8,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -462,13 +463,16 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
finalProgress.dismiss();
new StatusBarAlert.Builder(mActivity)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
if(onComplete != null) onComplete.run();
@ -794,13 +798,15 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().add(mtbColr);
refreshOrderBy(false);
new StatusBarAlert.Builder(mActivity)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
progress.dismiss();
}

View File

@ -17,6 +17,10 @@ import android.widget.TextView;
import net.cachapa.expandablelayout.ExpandableLayout;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
@ -27,6 +31,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsume
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.MtbColt;
@ -113,23 +118,44 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
if(ColliDataRecover.thereIsAnExistantSession()){
startRecoverMode();
Integer recoveredMtbColtID = ColliDataRecover.getFirstSessionID();
List<Exception> generatedErrors = new ArrayList<>();
Iterator sessionsIterator = ColliDataRecover.getAllSessionIDs().iterator();
cyclicRecover(sessionsIterator, () -> {
for (Exception ex : generatedErrors) {
UtilityExceptions.defaultException(getActivity(), ex);
}
endRecoverMode();
}, generatedErrors::add);
}
}
private void cyclicRecover(Iterator<Integer> sessionsIterator, Runnable onComplete, RunnableArgs<Exception> onFailed) {
if(sessionsIterator.hasNext()) {
Integer recoveredMtbColtID = sessionsIterator.next();
MtbColt recoveredMtbColt = ColliDataRecover.getSession(recoveredMtbColtID);
if(recoveredMtbColt != null && recoveredMtbColt.getGestioneEnum() == GestioneEnum.VENDITA && !UtilityString.isNullOrEmpty(recoveredMtbColt.getFiltroOrdini())) {
if(recoveredMtbColt != null && (recoveredMtbColt.getGestioneEnum() == GestioneEnum.VENDITA || recoveredMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && !UtilityString.isNullOrEmpty(recoveredMtbColt.getFiltroOrdini())) {
ColliMagazzinoRESTConsumer.distribuisciCollo(recoveredMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
mtbColts -> {
ColliDataRecover.closeSession(recoveredMtbColtID);
endRecoverMode();
},
ex -> {
UtilityExceptions.defaultException(getActivity(), ex);
endRecoverMode();
cyclicRecover(sessionsIterator, onComplete, onFailed);
}, ex -> {
onFailed.run(ex);
cyclicRecover(sessionsIterator, onComplete, onFailed);
});
} else {
ColliDataRecover.closeSession(recoveredMtbColtID);
endRecoverMode();
cyclicRecover(sessionsIterator, onComplete, onFailed);
}
} else {
onComplete.run();
}
}

View File

@ -8,6 +8,7 @@ import android.view.View;
import com.annimon.stream.Stream;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -480,13 +481,16 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
if(shouldCloseProgress) progressDialogFinal.dismiss();
new StatusBarAlert.Builder(mContext)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mContext)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
if(onComplete != null) onComplete.run();

View File

@ -16,6 +16,7 @@ import android.view.View;
import android.view.inputmethod.EditorInfo;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -341,13 +342,15 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mtbColt.get().getMtbColr().add(mtbColr);
new StatusBarAlert.Builder(mContext)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mContext, mContext.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mContext)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
resetTexts();
progress.dismiss();

View File

@ -289,7 +289,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
}
};
RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
private RunnableArgs<OrdineVenditaGroupedInevasoDTO> onGroupSelectionChanged = dto -> {
List<OrdineVenditaGroupedInevasoDTO> selectedOrders = mHelper.getSelectedOrders(groupedOrdiniInevasi);
if(!SettingsManager.iDB().isFlagMultiClienteOrdV()){

View File

@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
@ -146,10 +147,10 @@ public class VenditaHelper {
"mtb_colt.ser_collo = mtb_colr.ser_collo AND " +
"mtb_colt.data_collo = mtb_colr.data_collo AND " +
"mtb_colt.num_collo = mtb_colr.num_collo AND " +
"mtb_colt.gestione = 'V' AND " +
"mtb_colt.gestione IN ('V', 'L') AND " +
"mtb_colt.data_doc is null AND ";
String whereCond = "";
StringBuilder whereCond = new StringBuilder();
for(int i = 0; i < orders.size(); i++){
@ -157,13 +158,16 @@ public class VenditaHelper {
for(int j = 0; j < currentOrders.size(); j++){
whereCond += "(mtb_colr.data_ord = '" + UtilityDate.formatDate(currentOrders.get(j).getData(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH) + "' " +
"AND mtb_colr.num_ord = " + currentOrders.get(j).getNumero() + ") ";
whereCond
.append("(mtb_colr.data_ord = '").append(UtilityDate.formatDate(currentOrders.get(j).getData(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)).append("' ")
.append("AND mtb_colr.num_ord = ").append(currentOrders.get(j).getNumero()).append(" ")
.append("AND mtb_colr.gestione = ").append(UtilityDB.valueToString(currentOrders.get(j).getGestione()))
.append(") ");
if(i != (orders.size() - 1)){
whereCond += "OR ";
whereCond.append("OR ");
} else if(j != (currentOrders.size() - 1)) {
whereCond += "OR ";
whereCond.append("OR ");
}
}
}

View File

@ -199,13 +199,13 @@ public class DialogVenditaFiltroAvanzato {
currentNumOrdsPredicate = o -> numOrdsInteger.contains(o.getNumOrd());
bindings.inputNumOrds.setErrorEnabled(false);
bindings.inputNumOrds.setError("");
// bindings.inputNumOrds.setErrorEnabled(false);
// bindings.inputNumOrds.setError("");
} catch (NumberFormatException ex) {
currentNumOrdsPredicate = null;
bindings.inputNumOrds.setErrorEnabled(true);
bindings.inputNumOrds.setError(currentContext.getResources().getString(R.string.error));
// bindings.inputNumOrds.setErrorEnabled(true);
// bindings.inputNumOrds.setError(currentContext.getResources().getString(R.string.error));
}
}
@ -320,7 +320,7 @@ public class DialogVenditaFiltroAvanzato {
currentFilteredOrderList = tmpStream.toList();
}
return Stream.of(currentFilteredOrderList).map(x -> x.getCodVvet() + " - " + x.getDescrizioneVettore()).distinct().withoutNulls().toList();
return Stream.of(currentFilteredOrderList).filter(x -> x.getCodVvet() != null).map(x -> x.getCodVvet() + " - " + x.getDescrizioneVettore()).distinct().withoutNulls().toList();
}
private List<String> getAvailableAutomezzi() {

View File

@ -34,6 +34,7 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
private String dataCons;
private String rifOrd;
private String gestione;
private int colliRiservati;
private String codAnagClie;
@ -169,6 +170,15 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
return this;
}
public int getColliRiservati() {
return colliRiservati;
}
public Ordine setColliRiservati(int colliRiservati) {
this.colliRiservati = colliRiservati;
return this;
}
public List<Cliente> getClienti() {
return clienti;
}
@ -206,6 +216,7 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
clienti = null;
}
gestione = in.readString();
colliRiservati = in.readInt();
}
@Override
@ -236,6 +247,7 @@ public class OrdineVenditaGroupedInevasoDTO implements Cloneable, Serializable,
dest.writeList(clienti);
}
dest.writeString(gestione);
dest.writeInt(colliRiservati);
}
@SuppressWarnings("unused")

View File

@ -43,6 +43,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
private BigDecimal saldoContabile;
private String codVzon;
private String ragSocOrdV;
private int colliRiservati;
protected OrdineVenditaInevasoDTO(Parcel in) {
@ -85,6 +86,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
}
codVzon = in.readString();
ragSocOrdV = in.readString();
colliRiservati = in.readInt();
}
@Override
@ -131,6 +133,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
}
dest.writeString(codVzon);
dest.writeString(ragSocOrdV);
dest.writeInt(colliRiservati);
}
@Override
@ -448,4 +451,13 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
this.ragSocOrdV = ragSocOrdV;
return this;
}
public int getColliRiservati() {
return colliRiservati;
}
public OrdineVenditaInevasoDTO setColliRiservati(int colliRiservati) {
this.colliRiservati = colliRiservati;
return this;
}
}

View File

@ -7,6 +7,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -658,7 +659,10 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
@Override
public void onSuccess(MtbColt value) {
mtbColtSessionID = ColliDataRecover.startNewSession(value);
mtbColt
.setNumCollo(value.getNumCollo())
.setDataCollo(value.getDataColloS());
mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt);
value
.setDisablePrint(disablePrint)
@ -668,13 +672,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(closeProgress) finalProgress.dismiss();
new StatusBarAlert.Builder(mActivity)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
if(onComplete != null) onComplete.run();
@ -1043,13 +1050,16 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
removeListFilter();
new StatusBarAlert.Builder(mActivity)
.autoHide(true)
.withDuration(2500)
.showProgress(false)
.withText(R.string.data_saved)
.withAlertColor(R.color.mainGreen)
.build();
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
progress.dismiss();
}

View File

@ -12,9 +12,6 @@ import it.integry.integrywmsnative.databinding.DialogAskShouldPrintBinding;
public class DialogAskShouldPrint {
private Context currentContext;
private AlertDialog currentAlert;
public static AlertDialog make(final Context context, final String nomeEtichetta, RunnableArgs<Boolean> onDialogDismiss) {
@ -22,8 +19,6 @@ public class DialogAskShouldPrint {
}
private DialogAskShouldPrint(Context context, String nomeEtichetta, RunnableArgs<Boolean> onDialogDismiss) {
currentContext = context;
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
DialogAskShouldPrintBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_should_print, null, false);

View File

@ -7,7 +7,7 @@
android:background="@color/colorPrimary"
tools:context=".SplashActivity">
<ImageView
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -31,13 +31,13 @@
android:layout_marginBottom="12dp"/>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_num_ords"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_num_ords"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number|text"
@ -45,16 +45,17 @@
app:binding="@{viewmodel.numOrds}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_cliente"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:id="@+id/input_cliente"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_cliente"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textNoSuggestions"
@ -62,13 +63,13 @@
app:binding="@{viewmodel.cliente}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
@ -80,13 +81,13 @@
android:focusable="false"
app:binding="@{viewmodel.dataConsegna}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
@ -98,13 +99,13 @@
android:focusable="false"
app:binding="@{viewmodel.terminiConsegna}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
@ -116,13 +117,13 @@
android:focusable="false"
app:binding="@{viewmodel.vettore}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/hint_text">
<!--<com.google.android.material.textfield.TextInputLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--app:hintTextAppearance="@style/hint_text">-->
<com.google.android.material.textfield.TextInputEditText
@ -134,7 +135,7 @@
android:focusable="false"
app:binding="@{viewmodel.automezzo}"/>
</com.google.android.material.textfield.TextInputLayout>
<!--</com.google.android.material.textfield.TextInputLayout>-->
</LinearLayout>