Finish v1_12_11(140)

This commit is contained in:
Giuseppe Scorrano 2020-05-22 17:41:11 +02:00
commit f9e4b1f286
11 changed files with 271 additions and 266 deletions

View File

@ -14,8 +14,6 @@
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />

View File

@ -14,8 +14,6 @@
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
@ -42,7 +40,7 @@
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="ADVANCED_PROFILING_ENABLED" value="true" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
</Profilers>

View File

@ -11,11 +11,9 @@
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="false" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />

View File

@ -14,8 +14,6 @@
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />

View File

@ -14,8 +14,6 @@
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />

View File

@ -14,8 +14,6 @@
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
<option name="PREFERRED_AVD" value="" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />

View File

@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 138
def appVersionName = '1.12.9'
def appVersionCode = 140
def appVersionName = '1.12.11'
signingConfigs {
release {

View File

@ -220,7 +220,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
});
}
public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt, MtbDepoPosizione posizione, List<OrdineLavorazioneDTO> ordini, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
public static void createColliScaricoDaOrdineLavorazione(MtbColt sourceMtbColt,MtbColr sourceMtbColr, MtbDepoPosizione posizione, List<OrdineLavorazioneDTO> ordini, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
MtbColt newMtbColt = new MtbColt()
.initDefaultFields()
@ -252,7 +252,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
// onFailed.run(new Exception());
// return;
// }
MtbColr original = sourceMtbColt.getMtbColr().get(0);
MtbColr original = sourceMtbColr;
MtbColr mtbColrClone = new MtbColr();
mtbColrClone
.setNumCollo(null)

View File

@ -40,10 +40,10 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
private HashMap<CheckableOrdineLavoro, Integer> mDatasetPositions = new HashMap<>();
public ChooseOrdsLavFromListAdapter(Context context, List<ChooseOrdsLavFromListItemModel> myDataset, MtbColt mtbColt) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
public ChooseOrdsLavFromListAdapter(Context context, List<ChooseOrdsLavFromListItemModel> myDataset, MtbColt mtbColt, MtbColr mtbColr) throws ParseException, TimeNotRecognizedException, DateNotRecognizedException {
mContext = context;
mMtbColt = mtbColt;
mMtbColr = mtbColt.getMtbColr().get(0);
mMtbColr = mtbColr;
if (myDataset != null) {
mDataset = Stream.of(myDataset)
.withoutNulls()
@ -92,7 +92,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
private void calculateMtbColtShare() {
MtbColr mtbColr = mMtbColt.getMtbColr().get(0);
MtbColr mtbColr = mMtbColr;
BigDecimal residuoCol = mtbColr.getQtaCol();
BigDecimal residuoCnf = mtbColr.getNumCnf();
BigDecimal offsetCol = BigDecimal.ZERO.add(residuoCol);

View File

@ -11,14 +11,18 @@ import android.widget.Toast;
import androidx.databinding.ObservableField;
import androidx.recyclerview.widget.LinearLayoutManager;
import org.jetbrains.annotations.NotNull;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
@ -56,6 +60,7 @@ public class ProdVersamentoMaterialViewModel {
private List<ChooseOrdsLavFromListItemModel> mDataset = new ArrayList<>();
private ChooseOrdsLavFromListAdapter currentAdapter;
public ObservableField<MtbColt> mtbColt = new ObservableField<>();
public MtbColr mMtbColr;
public void init(Activity context, FragmentProdVersamentoMaterialeBinding binding, ProdVersamentoMaterialHelper helper, Runnable onVersamentoCompleted) {
@ -68,6 +73,7 @@ public class ProdVersamentoMaterialViewModel {
}
public void setMtbColr(MtbColr mtbColr) {
mMtbColr = mtbColr;
mBinding.descrArt.setText(mtbColr.getDescrizione());
mBinding.codArt.setText(mtbColr.getCodMart());
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
@ -84,7 +90,6 @@ public class ProdVersamentoMaterialViewModel {
}
}
public void openLU() {
DialogScanOrCreateLU.make(mContext, false, false, true, false, (mtbColt, created) -> {
if (mtbColt == null) {
@ -124,9 +129,13 @@ public class ProdVersamentoMaterialViewModel {
null, this::openLU).show();
return;
} else if (mtbColt.get().getMtbColr().size() > 1) {
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Il collo selezionato contiene più articoli, solo il primo verrà versato in questa sessione. <br> Per versare i colli restanti ripetere l'operazione di versamento.")),
null, null).show();
null, () -> {
cyclicGetOrdiniLavByCollo(mtbColt.get().getMtbColr().iterator(), mtbDepoPosizione);
}).show();
return;
}
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), getIdMaterialeFromCollo(mtbColt.get()), ordini -> richiediOrdiniPerVersamento(ordini, mtbDepoPosizione), e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
@ -151,7 +160,6 @@ public class ProdVersamentoMaterialViewModel {
return UtilityString.isNullOrEmpty(articolo.getIdArtEqui()) ? articolo.getCodMart() : articolo.getIdArtEqui();
}
private void createColloScarico(MtbDepoPosizione mtbDepoPosizione) {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
@ -162,7 +170,6 @@ public class ProdVersamentoMaterialViewModel {
}), ex -> UtilityExceptions.defaultException(mContext, ex));
}
public void setMtbColt(MtbColt mtbColt) {
this.mtbColt.set(mtbColt);
this.setMtbColr(mtbColt.getMtbColr().get(0));
@ -170,10 +177,11 @@ public class ProdVersamentoMaterialViewModel {
public void resetMtbColt() {
this.mtbColt.set(null);
this.mMtbColr = null;
openLU();
}
public void richiediOrdiniPerVersamento(List<OrdineLavorazioneDTO> ordini, MtbDepoPosizione mtbDepoPosizione) {
private void richiediOrdiniPerVersamento(List<OrdineLavorazioneDTO> ordini, MtbDepoPosizione mtbDepoPosizione) {
if (ordini == null || ordini.size() <= 0) {
mBinding.positiveFab.setVisibility(View.GONE);
@ -200,7 +208,7 @@ public class ProdVersamentoMaterialViewModel {
List<OrdineLavorazioneDTO> ordLavs = currentAdapter.getSelectedItems();
if (ordLavs.size() > 0) {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
ColliMagazzinoRESTConsumer.createColliScaricoDaOrdineLavorazione(mtbColt.get(), mMtbColr, mtbDepoPosizione, ordLavs, generatedMtbColt -> DialogCommon.showDataSaved(mContext, () -> {
progressDialog.dismiss();
mOnVersamentoCompleted.run();
}), ex -> UtilityExceptions.defaultException(mContext, ex));
@ -216,8 +224,28 @@ public class ProdVersamentoMaterialViewModel {
mBinding.dialogChooseArtsFromListaArtMainList.setLayoutManager(new LinearLayoutManager(mContext));
currentAdapter = new ChooseOrdsLavFromListAdapter(mContext, mDataset, mtbColt.get());
currentAdapter = new ChooseOrdsLavFromListAdapter(mContext, mDataset, mtbColt.get(), mMtbColr);
mBinding.dialogChooseArtsFromListaArtMainList.setAdapter(currentAdapter);
}
private void cyclicGetOrdiniLavByCollo(@NotNull Iterator<MtbColr> righeCollo, MtbDepoPosizione mtbDepoPosizione) {
MtbColr colr = righeCollo.next();
setMtbColr(colr);
MtbAart articolo = colr.getMtbAart();
MesRESTConsumer.getOrdiniLavorazioneMateriale(mtbDepoPosizione.getPosizione(), UtilityString.isNullOrEmpty(articolo.getIdArtEqui()) ? articolo.getCodMart() : articolo.getIdArtEqui(), ordini -> {
if (ordini == null || ordini.isEmpty()) {
if (righeCollo.hasNext()) {
cyclicGetOrdiniLavByCollo(righeCollo, mtbDepoPosizione);
} else {
richiediOrdiniPerVersamento(ordini, mtbDepoPosizione);
}
} else {
richiediOrdiniPerVersamento(ordini, mtbDepoPosizione);
}
}
, e -> DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml(e.getMessage())),
null, this::openLU).show());
}
}

View File

@ -5,6 +5,7 @@ import android.app.Dialog;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import com.annimon.stream.Stream;
@ -187,7 +188,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
defaultCodMdepOfUL = SettingsManager.i().userSession.depo.getCodMdep();
//Definizione del filtro ordine da applicare a tutti i colli generati
Stream.of(mTestateOrdini).forEach(x -> {
FiltroOrdineDTO filtro = new FiltroOrdineDTO()
@ -200,7 +200,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
});
//Definizione del codAnag
List<String> foundCodAnag = Stream.of(mTestateOrdini)
.map(OrdineVenditaInevasoDTO::getCodAnagOrd)
@ -213,7 +212,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
//Definizione del codAnag
List<String> foundRagSoc = Stream.of(mTestateOrdini)
.map(OrdineVenditaInevasoDTO::getRagSocOrd)
@ -491,9 +489,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
}
@ -525,7 +520,8 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
if(!UtilityString.isNullOrEmpty(ean128Model.Content)) barcodeProd = ean128Model.Content;
if (!UtilityString.isNullOrEmpty(ean128Model.Content))
barcodeProd = ean128Model.Content;
if (!UtilityString.isNullOrEmpty(barcodeProd)) {
@ -631,7 +627,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
.toList();
List<PickingObjectDTO> matchPickingObjectByArt = Stream.of(pickingList)
.filter(x -> //x.getNumCollo() == null &&
(listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
@ -643,7 +638,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
List<MtbColr> matchWithPartitaMag = Stream.of(scannedUL.getMtbColr())
.filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) &&
Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList();
@ -697,8 +691,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
//}
matchPickingObject.addAll(matchPickingObjectByArt);
@ -874,7 +866,8 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
progress,
currentMtbColt,
() -> distribuisciCollo(progress, (generatedMtbColts) -> {
if(shouldPrint) printCollo(progress, generatedMtbColts, onComplete);
if (shouldPrint)
printCollo(progress, generatedMtbColts, onComplete);
else {
postCloseOperations(generatedMtbColts, onComplete);
progress.dismiss();
@ -1086,7 +1079,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if (numCnfDaEvadere < 0) numCnfDaEvadere = 0;
AtomicBigDecimal qtaColEvasaInCurrentUL = new AtomicBigDecimal();
AtomicBigDecimal numCnfEvasaInCurrentUL = new AtomicBigDecimal();
@ -1182,8 +1174,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
}
if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) {
@ -1215,7 +1205,10 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
qtaCnf = item.getMtbAart().getQtaCnf();
}
if(qtaDaEvadere.compareTo(BigDecimal.ZERO) > 0) {
if (qtaDisponibile != null && qtaDisponibile.compareTo(BigDecimal.ZERO) > 0) {
dto.setNumCnf(qtaDisponibile.divide(qtaCnf, 3, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.UP).intValue());
} else if (qtaDaEvadere.compareTo(BigDecimal.ZERO) > 0) {
dto.setNumCnf(qtaDaEvadere.divide(qtaCnf, 3, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.UP).intValue());
}
@ -1301,7 +1294,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
onOrdineRowSave(item, cloneMtbColt, closeUL, !shouldPrint, progress);
}
private void addTipoPedanaFromArt(PickingObjectDTO item, MtbColt cloneMtbColt, boolean closeUL, Dialog progress) {
@ -1482,9 +1474,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}
public void manualSearch() {
BarcodeManager.disable();
DialogSimpleInputHelper.makeInputDialog(mActivity, "Inserisci il codice a barre", codice -> {