Implementato recupera UL in Spedizione
This commit is contained in:
parent
2e1d4d6325
commit
908755a669
@ -88,7 +88,7 @@ dependencies {
|
|||||||
})
|
})
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation 'com.orhanobut:logger:2.2.0'
|
implementation 'com.orhanobut:logger:2.2.0'
|
||||||
implementation 'com.google.firebase:firebase-core:17.4.1'
|
implementation 'com.google.firebase:firebase-core:17.4.2'
|
||||||
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
||||||
implementation 'com.google.firebase:firebase-perf:19.0.7'
|
implementation 'com.google.firebase:firebase-perf:19.0.7'
|
||||||
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
|
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import androidx.databinding.ObservableArrayList;
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
|
||||||
@ -34,8 +35,10 @@ import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
|||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
@ -45,6 +48,7 @@ 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.core.utility.UtilityToast;
|
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||||
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
|
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
|
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
||||||
@ -92,6 +96,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
private Dialog mCurrentProgress;
|
private Dialog mCurrentProgress;
|
||||||
private boolean mShouldCloseActivity;
|
private boolean mShouldCloseActivity;
|
||||||
|
|
||||||
|
private final int PICK_UL_REQUEST = 1;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -368,8 +374,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
public void showCreatedUL() {
|
public void showCreatedUL() {
|
||||||
this.mBindings.spedizioneFab.close(true);
|
this.mBindings.spedizioneFab.close(true);
|
||||||
}
|
|
||||||
|
|
||||||
|
ArrayList<MtbColt> createdMtbColts = this.mViewmodel.getCreatedMtbColts();
|
||||||
|
|
||||||
|
Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, PrinterRESTConsumer.Type.PRIMARIA);
|
||||||
|
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -383,7 +393,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLUCreated(MtbColt mtbColt) {
|
public void onLUOpened(MtbColt mtbColt) {
|
||||||
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
|
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
|
||||||
noLUPresent.set(false);
|
noLUPresent.set(false);
|
||||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
@ -462,6 +472,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
public void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||||
|
MtbAart mtbAart,
|
||||||
BigDecimal initialNumCnf,
|
BigDecimal initialNumCnf,
|
||||||
BigDecimal initialQtaCnf,
|
BigDecimal initialQtaCnf,
|
||||||
BigDecimal initialQtaTot,
|
BigDecimal initialQtaTot,
|
||||||
@ -479,7 +490,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
boolean canOverflowOrderQuantity,
|
boolean canOverflowOrderQuantity,
|
||||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart())
|
.setMtbAart(mtbAart)
|
||||||
.setInitialNumCnf(initialNumCnf)
|
.setInitialNumCnf(initialNumCnf)
|
||||||
.setInitialQtaCnf(initialQtaCnf)
|
.setInitialQtaCnf(initialQtaCnf)
|
||||||
.setInitialQtaTot(initialQtaTot)
|
.setInitialQtaTot(initialQtaTot)
|
||||||
@ -545,4 +556,20 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
mCurrentProgress = null;
|
mCurrentProgress = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|
||||||
|
// Check which request we're responding to
|
||||||
|
if (requestCode == PICK_UL_REQUEST) {
|
||||||
|
|
||||||
|
// Make sure the request was successful
|
||||||
|
if (resultCode == RESULT_OK) {
|
||||||
|
MtbColt recoveredMtbColt = DataCache.retrieveItem(data.getStringExtra("key"));
|
||||||
|
this.mViewmodel.recoverLU(recoveredMtbColt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import androidx.databinding.ObservableArrayList;
|
|||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
|
|
||||||
|
import com.annimon.stream.Optional;
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -50,6 +51,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidLUException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoPrintersFoundException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoPrintersFoundException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException;
|
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException;
|
||||||
@ -282,8 +284,8 @@ public class SpedizioneViewModel {
|
|||||||
if (this.mListeners != null) mListeners.onError(ex);
|
if (this.mListeners != null) mListeners.onError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendLUCreated(MtbColt mtbColt) {
|
private void sendLUOpened(MtbColt mtbColt) {
|
||||||
if (this.mListeners != null) mListeners.onLUCreated(mtbColt);
|
if (this.mListeners != null) mListeners.onLUOpened(mtbColt);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
||||||
@ -316,6 +318,7 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO,
|
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||||
|
MtbAart mtbAart,
|
||||||
BigDecimal initialNumCnf,
|
BigDecimal initialNumCnf,
|
||||||
BigDecimal initialQtaCnf,
|
BigDecimal initialQtaCnf,
|
||||||
BigDecimal initialQtaTot,
|
BigDecimal initialQtaTot,
|
||||||
@ -333,6 +336,7 @@ public class SpedizioneViewModel {
|
|||||||
boolean canOverflowOrderQuantity,
|
boolean canOverflowOrderQuantity,
|
||||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
if (this.mListeners != null) mListeners.onItemDispatched(pickingObjectDTO,
|
if (this.mListeners != null) mListeners.onItemDispatched(pickingObjectDTO,
|
||||||
|
mtbAart,
|
||||||
initialNumCnf,
|
initialNumCnf,
|
||||||
initialQtaCnf,
|
initialQtaCnf,
|
||||||
initialQtaTot,
|
initialQtaTot,
|
||||||
@ -477,7 +481,9 @@ public class SpedizioneViewModel {
|
|||||||
mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
||||||
|
|
||||||
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||||
searchArtFromUL(mtbColt, onComplete);
|
if(mtbColt.getSegno() != -1) {
|
||||||
|
searchArtFromUL(mtbColt, onComplete);
|
||||||
|
} else this.sendError(new InvalidLUException());
|
||||||
} else {
|
} else {
|
||||||
this.sendError(new NoArtsFoundException());
|
this.sendError(new NoArtsFoundException());
|
||||||
}
|
}
|
||||||
@ -763,6 +769,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
this.sendOnItemDispatched(
|
this.sendOnItemDispatched(
|
||||||
pickingObjectDTO,
|
pickingObjectDTO,
|
||||||
|
pickingObjectDTO.getMtbAart(),
|
||||||
null, null, null,
|
null, null, null,
|
||||||
qtaDaEvadere,
|
qtaDaEvadere,
|
||||||
numCnfDaEvadere,
|
numCnfDaEvadere,
|
||||||
@ -848,6 +855,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
this.sendOnItemDispatched(
|
this.sendOnItemDispatched(
|
||||||
pickingObjectDTO,
|
pickingObjectDTO,
|
||||||
|
pickingObjectDTO.getMtbAart(),
|
||||||
initialNumCnf,
|
initialNumCnf,
|
||||||
initialQtaCnf,
|
initialQtaCnf,
|
||||||
initialQtaTot,
|
initialQtaTot,
|
||||||
@ -876,30 +884,49 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
|
|
||||||
public void dispatchRowEdit(final MtbColr mtbColrToEdit) {
|
public void dispatchRowEdit(final MtbColr mtbColrToEdit) {
|
||||||
PickingObjectDTO pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
|
||||||
.filter(x -> Stream.of(x.getWithdrawMtbColr()).anyMatch(y -> y == mtbColrToEdit))
|
|
||||||
.single();
|
|
||||||
|
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
|
Optional<PickingObjectDTO> optionalPickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||||
|
.filter(x -> Stream.of(x.getWithdrawMtbColr()).anyMatch(y -> y == mtbColrToEdit))
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
PickingObjectDTO pickingObjectDTO = null;
|
||||||
|
|
||||||
|
if(optionalPickingObjectDTO.isPresent()) {
|
||||||
|
pickingObjectDTO = optionalPickingObjectDTO.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PickingObjectDTO finalPickingObjectDTO = pickingObjectDTO;
|
||||||
loadRifULFromMtbColr(mtbColrToEdit, mtbColtRif -> {
|
loadRifULFromMtbColr(mtbColrToEdit, mtbColtRif -> {
|
||||||
|
|
||||||
BigDecimal totalQtaOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
|
BigDecimal totalQtaOrd = null;
|
||||||
BigDecimal totalNumCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
|
BigDecimal totalNumCnfOrd = null;
|
||||||
BigDecimal qtaCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
|
BigDecimal qtaCnfOrd = null;
|
||||||
|
|
||||||
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
BigDecimal numCnfDaEvadere = null;
|
||||||
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
BigDecimal qtaDaEvadere = null;
|
||||||
|
BigDecimal qtaCnfDaEvadere = null;
|
||||||
|
|
||||||
Stream.of(pickingObjectDTO.getWithdrawMtbColr())
|
if(finalPickingObjectDTO != null) {
|
||||||
.forEach(row -> {
|
totalQtaOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
|
||||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
totalNumCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
|
||||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
qtaCnfOrd = finalPickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
|
||||||
});
|
|
||||||
|
|
||||||
BigDecimal numCnfDaEvadere = totalNumCnfOrd.subtract(numCnfWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getNumCnf());
|
|
||||||
BigDecimal qtaDaEvadere = totalQtaOrd.subtract(qtaColWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getQtaCol());
|
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal(0);
|
||||||
BigDecimal qtaCnfDaEvadere = mtbColrToEdit.getQtaCnf();
|
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal(0);
|
||||||
|
|
||||||
|
Stream.of(finalPickingObjectDTO.getWithdrawMtbColr())
|
||||||
|
.forEach(row -> {
|
||||||
|
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||||
|
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||||
|
});
|
||||||
|
|
||||||
|
numCnfDaEvadere = totalNumCnfOrd.subtract(numCnfWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getNumCnf());
|
||||||
|
qtaDaEvadere = totalQtaOrd.subtract(qtaColWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getQtaCol());
|
||||||
|
qtaCnfDaEvadere = mtbColrToEdit.getQtaCnf();
|
||||||
|
}
|
||||||
|
|
||||||
BigDecimal numCnfDaPrelevare = null;
|
BigDecimal numCnfDaPrelevare = null;
|
||||||
BigDecimal qtaColDaPrelevare = null;
|
BigDecimal qtaColDaPrelevare = null;
|
||||||
@ -960,7 +987,8 @@ public class SpedizioneViewModel {
|
|||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
|
|
||||||
this.sendOnItemDispatched(
|
this.sendOnItemDispatched(
|
||||||
pickingObjectDTO,
|
finalPickingObjectDTO,
|
||||||
|
mtbColrToEdit.getMtbAart(),
|
||||||
mtbColrToEdit.getNumCnf(),
|
mtbColrToEdit.getNumCnf(),
|
||||||
mtbColrToEdit.getQtaCnf(),
|
mtbColrToEdit.getQtaCnf(),
|
||||||
mtbColrToEdit.getQtaCol(),
|
mtbColrToEdit.getQtaCol(),
|
||||||
@ -991,7 +1019,8 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
private void loadRifULFromMtbColr(MtbColr mtbColr, RunnableArgs<MtbColt> onComplete) {
|
private void loadRifULFromMtbColr(MtbColr mtbColr, RunnableArgs<MtbColt> onComplete) {
|
||||||
//Se ho dei riferimenti ad una UL devo leggere la QTA ancora disponibile sulla Ul
|
//Se ho dei riferimenti ad una UL devo leggere la QTA ancora disponibile sulla Ul
|
||||||
if (!UtilityString.isNullOrEmpty(mtbColr.getGestioneRif()) &&
|
if (mtbColr != null &&
|
||||||
|
!UtilityString.isNullOrEmpty(mtbColr.getGestioneRif()) &&
|
||||||
!UtilityString.isNullOrEmpty(mtbColr.getSerColloRif()) &&
|
!UtilityString.isNullOrEmpty(mtbColr.getSerColloRif()) &&
|
||||||
!UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) &&
|
!UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) &&
|
||||||
mtbColr.getNumColloRif() != null) {
|
mtbColr.getNumColloRif() != null) {
|
||||||
@ -1042,7 +1071,7 @@ public class SpedizioneViewModel {
|
|||||||
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
||||||
|
|
||||||
if (onComplete != null) onComplete.run();
|
if (onComplete != null) onComplete.run();
|
||||||
this.sendLUCreated(mtbColt);
|
this.sendLUOpened(mtbColt);
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1068,6 +1097,8 @@ public class SpedizioneViewModel {
|
|||||||
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
|
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
|
||||||
|
|
||||||
if (mtbColrToDispatch != null) {
|
if (mtbColrToDispatch != null) {
|
||||||
|
|
||||||
|
|
||||||
mtbColr
|
mtbColr
|
||||||
.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom()))
|
.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom()))
|
||||||
.setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo()))
|
.setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo()))
|
||||||
@ -1075,16 +1106,20 @@ public class SpedizioneViewModel {
|
|||||||
.setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione()))
|
.setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione()))
|
||||||
.setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS()));
|
.setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS()));
|
||||||
|
|
||||||
if (mCurrentMtbColt.getCodTcol() == null &&
|
|
||||||
mCurrentMtbColt.getPesoKg() == null &&
|
|
||||||
mCurrentMtbColt.getPesoNettoKg() == null) {
|
|
||||||
|
|
||||||
MtbColt sourceMtbColt = pickingObjectDTO.getTempPickData().getSourceMtbColt();
|
if(mtbColrToDispatch.getPesoNettoKg() != null) {
|
||||||
|
//Proporzione
|
||||||
mCurrentMtbColt.setCodTcol(sourceMtbColt.getCodTcol());
|
BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol());
|
||||||
mCurrentMtbColt.setPesoKg(sourceMtbColt.getPesoKg());
|
mtbColr.setPesoNettoKg(pesoNettoKg);
|
||||||
mCurrentMtbColt.setPesoNettoKg(sourceMtbColt.getPesoNettoKg());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(mtbColrToDispatch.getPesoLordoKg() != null) {
|
||||||
|
//Proporzione
|
||||||
|
BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol());
|
||||||
|
mtbColr.setPesoLordoKg(pesoLordoKg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} else if (mEnableGiacenza && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() > 0) {
|
} else if (mEnableGiacenza && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() > 0) {
|
||||||
// Vecchia logica di aggancio UL (se non ho sparato una etichetta UL comunque ti aggangio la prima UL suggerita)
|
// Vecchia logica di aggancio UL (se non ho sparato una etichetta UL comunque ti aggangio la prima UL suggerita)
|
||||||
// mtbColr
|
// mtbColr
|
||||||
@ -1174,17 +1209,18 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> {
|
this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> {
|
||||||
|
|
||||||
PickingObjectDTO pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
|
||||||
.filter(x -> Stream.of(x.getWithdrawMtbColr()).anyMatch(y -> y == mtbColrToUpdate))
|
|
||||||
.single();
|
|
||||||
|
|
||||||
|
|
||||||
mtbColr.setNumCnf(numCnf)
|
mtbColr.setNumCnf(numCnf)
|
||||||
.setQtaCnf(qtaCnf)
|
.setQtaCnf(qtaCnf)
|
||||||
.setQtaCol(qtaTot);
|
.setQtaCol(qtaTot);
|
||||||
|
|
||||||
pickingObjectDTO.getWithdrawMtbColr().remove(mtbColrToUpdate);
|
Optional<PickingObjectDTO> pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||||
pickingObjectDTO.getWithdrawMtbColr().add(mtbColr);
|
.filter(x -> Stream.of(x.getWithdrawMtbColr()).anyMatch(y -> y == mtbColrToUpdate))
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
if(pickingObjectDTO.isPresent()) {
|
||||||
|
pickingObjectDTO.get().getWithdrawMtbColr().remove(mtbColrToUpdate);
|
||||||
|
pickingObjectDTO.get().getWithdrawMtbColr().add(mtbColr);
|
||||||
|
}
|
||||||
|
|
||||||
this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate);
|
this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate);
|
||||||
this.mCurrentMtbColt.getMtbColr().add(mtbColr);
|
this.mCurrentMtbColt.getMtbColr().add(mtbColr);
|
||||||
@ -1343,6 +1379,15 @@ public class SpedizioneViewModel {
|
|||||||
}, onFailed);
|
}, onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void recoverLU(MtbColt mtbColt) {
|
||||||
|
this.mCurrentMtbColt = mtbColt;
|
||||||
|
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
||||||
|
|
||||||
|
this.resetMatchedRows();
|
||||||
|
this.sendLUOpened(this.mCurrentMtbColt);
|
||||||
|
}
|
||||||
|
|
||||||
private void postCloseOperations(List<MtbColt> mtbColtList) {
|
private void postCloseOperations(List<MtbColt> mtbColtList) {
|
||||||
this.mColliRegistrati.addAll(mtbColtList);
|
this.mColliRegistrati.addAll(mtbColtList);
|
||||||
|
|
||||||
@ -1411,6 +1456,10 @@ public class SpedizioneViewModel {
|
|||||||
return mPickingList;
|
return mPickingList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<MtbColt> getCreatedMtbColts() {
|
||||||
|
return (ArrayList<MtbColt>) this.mColliRegistrati;
|
||||||
|
}
|
||||||
|
|
||||||
public SpedizioneViewModel setListeners(Listeners listeners) {
|
public SpedizioneViewModel setListeners(Listeners listeners) {
|
||||||
this.mListeners = listeners;
|
this.mListeners = listeners;
|
||||||
return this;
|
return this;
|
||||||
@ -1421,7 +1470,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
void onLoadingEnded();
|
void onLoadingEnded();
|
||||||
|
|
||||||
void onLUCreated(MtbColt mtbColt);
|
void onLUOpened(MtbColt mtbColt);
|
||||||
|
|
||||||
void onLUClosed();
|
void onLUClosed();
|
||||||
|
|
||||||
@ -1440,6 +1489,7 @@ public class SpedizioneViewModel {
|
|||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||||
|
MtbAart mtbAart,
|
||||||
BigDecimal initialNumCnf,
|
BigDecimal initialNumCnf,
|
||||||
BigDecimal initialQtaCnf,
|
BigDecimal initialQtaCnf,
|
||||||
BigDecimal initialQtaTot,
|
BigDecimal initialQtaTot,
|
||||||
|
|||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione_new.exceptions;
|
||||||
|
|
||||||
|
public class InvalidLUException extends Exception {
|
||||||
|
public InvalidLUException() {
|
||||||
|
super("L'unità logistica scansionata non è valida");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -64,6 +64,7 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie
|
|||||||
this.mViewModel.getObservableMtbColt().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
this.mViewModel.getObservableMtbColt().addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPropertyChanged(Observable sender, int propertyId) {
|
public void onPropertyChanged(Observable sender, int propertyId) {
|
||||||
|
initAdapter();
|
||||||
if(mViewModel.getObservableMtbColt().get() != null) {
|
if(mViewModel.getObservableMtbColt().get() != null) {
|
||||||
onMtbColrItemChanged();
|
onMtbColrItemChanged();
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,8 @@ public class HoneywellBarcodeTypeMapper {
|
|||||||
return BarcodeType.UPCA;
|
return BarcodeType.UPCA;
|
||||||
case "E":
|
case "E":
|
||||||
return BarcodeType.UPCE;
|
return BarcodeType.UPCE;
|
||||||
|
case "e":
|
||||||
|
return BarcodeType.INTERLEAVED_2OF5;
|
||||||
default:
|
default:
|
||||||
Log.d("SCAN TYPE", inputType);
|
Log.d("SCAN TYPE", inputType);
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user