Merge branch 'develop' into feature/Refactoring_Spedizione
# Conflicts: # app/build.gradle # app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java # app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
This commit is contained in:
commit
021f7e9732
2
.idea/runConfigurations/app_base.xml
generated
2
.idea/runConfigurations/app_base.xml
generated
@ -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" />
|
||||
|
||||
4
.idea/runConfigurations/app_frudis.xml
generated
4
.idea/runConfigurations/app_frudis.xml
generated
@ -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>
|
||||
|
||||
4
.idea/runConfigurations/app_ime.xml
generated
4
.idea/runConfigurations/app_ime.xml
generated
@ -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" />
|
||||
|
||||
2
.idea/runConfigurations/app_saporiveri.xml
generated
2
.idea/runConfigurations/app_saporiveri.xml
generated
@ -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" />
|
||||
|
||||
2
.idea/runConfigurations/app_saporiveri_pv.xml
generated
2
.idea/runConfigurations/app_saporiveri_pv.xml
generated
@ -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" />
|
||||
|
||||
2
.idea/runConfigurations/app_vglimenti.xml
generated
2
.idea/runConfigurations/app_vglimenti.xml
generated
@ -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" />
|
||||
|
||||
@ -207,7 +207,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()
|
||||
@ -239,7 +239,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)
|
||||
@ -538,23 +538,19 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
}
|
||||
|
||||
|
||||
public static void changePosizione(MtbColt testata, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
public static void changePosizione(MtbColt mtbColtToSave, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
||||
|
||||
testata.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
||||
mtbColtToSaveClone.setOperation(CommonModelConsts.OPERATION.UPDATE);
|
||||
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
|
||||
|
||||
if (posizione == null) testata.setPosizione(null);
|
||||
else testata.setPosizione(posizione.getPosizione());
|
||||
if (posizione == null) mtbColtToSaveClone.setPosizione(null);
|
||||
else mtbColtToSaveClone.setPosizione(posizione.getPosizione());
|
||||
|
||||
ColliMagazzinoRESTConsumer.saveColloStatic(testata, new ISimpleOperationCallback<MtbColt>() {
|
||||
@Override
|
||||
public void onSuccess(MtbColt value) {
|
||||
if (onComplete != null) onComplete.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtToSaveClone, mtbColt -> {
|
||||
if (onComplete != null) onComplete.run();
|
||||
}, ex -> {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@ -39,10 +39,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()
|
||||
@ -91,7 +91,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);
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user