Aggiunto suggerimento data scadenza in caso di partita esistente
This commit is contained in:
parent
9aae16521f
commit
c548c6484f
@ -1,13 +1,19 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.consumers;
|
package it.integry.integrywmsnative.core.rest.consumers;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
@ -59,4 +65,20 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void retrieveAllPartitaMag(List<String> codMarts, Date dataScad, RunnableArgs<List<MtbPartitaMag>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||||
|
service.retrieveAllPartitaMag(codMarts, UtilityDate.formatDate(dataScad, UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH))
|
||||||
|
.enqueue(new Callback<>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(@NonNull Call<ServiceRESTResponse<List<MtbPartitaMag>>> call, @NonNull Response<ServiceRESTResponse<List<MtbPartitaMag>>> response) {
|
||||||
|
analyzeAnswer(response, "retrieveAllPartitaMag", onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(@NonNull Call<ServiceRESTResponse<List<MtbPartitaMag>>> call, @NonNull Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,14 +3,12 @@ package it.integry.integrywmsnative.core.rest.consumers;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.http.Body;
|
import retrofit2.http.Body;
|
||||||
import retrofit2.http.GET;
|
import retrofit2.http.GET;
|
||||||
import retrofit2.http.POST;
|
import retrofit2.http.POST;
|
||||||
import retrofit2.http.Path;
|
|
||||||
import retrofit2.http.Query;
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
public interface MagazzinoRESTConsumerService {
|
public interface MagazzinoRESTConsumerService {
|
||||||
@ -22,6 +20,7 @@ public interface MagazzinoRESTConsumerService {
|
|||||||
Call<ServiceRESTResponse<MtbPartitaMag>> retrievePartitaMag(@Query("codMart") String codMart,
|
Call<ServiceRESTResponse<MtbPartitaMag>> retrievePartitaMag(@Query("codMart") String codMart,
|
||||||
@Query("partitaMag") String partitaMag);
|
@Query("partitaMag") String partitaMag);
|
||||||
|
|
||||||
|
@POST("wms/partita-magazzino/retrieveAllPartitaMag")
|
||||||
|
Call<ServiceRESTResponse<List<MtbPartitaMag>>> retrieveAllPartitaMag(@Body List<String> codMarts,
|
||||||
|
@Query("dataScad") String dataScad);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -82,6 +82,8 @@ public class DBSettingsModel {
|
|||||||
private boolean flagPickingLiberoEnableScanArt = false;
|
private boolean flagPickingLiberoEnableScanArt = false;
|
||||||
private boolean flagAskDuplicateUDSSpedizione = false;
|
private boolean flagAskDuplicateUDSSpedizione = false;
|
||||||
|
|
||||||
|
private boolean suggestDataScad = false;
|
||||||
|
|
||||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||||
return flagSpedizioneEnableFakeGiacenza;
|
return flagSpedizioneEnableFakeGiacenza;
|
||||||
}
|
}
|
||||||
@ -684,4 +686,13 @@ public class DBSettingsModel {
|
|||||||
this.flagAskDuplicateUDSSpedizione = flagAskDuplicateUDSSpedizione;
|
this.flagAskDuplicateUDSSpedizione = flagAskDuplicateUDSSpedizione;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSuggestDataScad() {
|
||||||
|
return suggestDataScad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setSuggestDataScad(boolean suggestDataScad) {
|
||||||
|
this.suggestDataScad = suggestDataScad;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -456,6 +456,12 @@ public class SettingsManager {
|
|||||||
.setKeySection("GENERA_DOC")
|
.setKeySection("GENERA_DOC")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagGeneraDocumentoSpedizione)
|
.setSetter(dbSettingsModelIstance::setFlagGeneraDocumentoSpedizione)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SPEDIZIONE")
|
||||||
|
.setKeySection("SUGGEST_DATA_SCAD")
|
||||||
|
.setSetter(dbSettingsModelIstance::setSuggestDataScad)
|
||||||
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
|
|||||||
@ -916,7 +916,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
||||||
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus());
|
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus())
|
||||||
|
.setMtbPartitaMagList(mViewmodel.getmPartitaMagList());
|
||||||
|
|
||||||
if (!mDialogInputQuantityV2View.isVisible())
|
if (!mDialogInputQuantityV2View.isVisible())
|
||||||
mDialogInputQuantityV2View
|
mDialogInputQuantityV2View
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsum
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
@ -36,7 +37,8 @@ public class SpedizioneModule {
|
|||||||
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
||||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||||
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
|
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
|
||||||
ImballiRESTConsumer imballiRESTConsumer) {
|
ImballiRESTConsumer imballiRESTConsumer,
|
||||||
|
MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
return new SpedizioneViewModel(articoloRESTConsumer,
|
return new SpedizioneViewModel(articoloRESTConsumer,
|
||||||
barcodeRESTConsumer,
|
barcodeRESTConsumer,
|
||||||
colliDataRecoverService,
|
colliDataRecoverService,
|
||||||
@ -48,7 +50,8 @@ public class SpedizioneModule {
|
|||||||
colliSpedizioneRESTConsumer,
|
colliSpedizioneRESTConsumer,
|
||||||
colliLavorazioneRESTConsumer,
|
colliLavorazioneRESTConsumer,
|
||||||
magazzinoAutomaticoRESTConsumer,
|
magazzinoAutomaticoRESTConsumer,
|
||||||
imballiRESTConsumer);
|
imballiRESTConsumer,
|
||||||
|
magazzinoRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import java.math.BigDecimal;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -59,6 +60,7 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsum
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
@ -105,6 +107,7 @@ public class SpedizioneViewModel {
|
|||||||
private List<OrdineUscitaInevasoDTO> mTestateOrdini;
|
private List<OrdineUscitaInevasoDTO> mTestateOrdini;
|
||||||
private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
|
private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
|
||||||
private List<MtbColt> mColliRegistrati = new ArrayList<>();
|
private List<MtbColt> mColliRegistrati = new ArrayList<>();
|
||||||
|
private List<MtbPartitaMag> mPartitaMagList = new ArrayList<>();
|
||||||
|
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
|
||||||
@ -143,6 +146,7 @@ public class SpedizioneViewModel {
|
|||||||
private final ImballiRESTConsumer mImballiRESTConsumer;
|
private final ImballiRESTConsumer mImballiRESTConsumer;
|
||||||
|
|
||||||
private ColliScaricoRESTConsumerInterface mColliScaricoRESTConsumer;
|
private ColliScaricoRESTConsumerInterface mColliScaricoRESTConsumer;
|
||||||
|
private MagazzinoRESTConsumer magazzinoRESTConsumer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
||||||
@ -156,7 +160,8 @@ public class SpedizioneViewModel {
|
|||||||
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
||||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||||
MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer,
|
MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer,
|
||||||
ImballiRESTConsumer imballiRESTConsumer) {
|
ImballiRESTConsumer imballiRESTConsumer,
|
||||||
|
MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
this.mColliDataRecoverService = colliDataRecoverService;
|
this.mColliDataRecoverService = colliDataRecoverService;
|
||||||
@ -169,6 +174,7 @@ public class SpedizioneViewModel {
|
|||||||
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
||||||
this.mMagazzinoAutomaticoRESTConsumer = mMagazzinoAutomaticoRESTConsumer;
|
this.mMagazzinoAutomaticoRESTConsumer = mMagazzinoAutomaticoRESTConsumer;
|
||||||
this.mImballiRESTConsumer = imballiRESTConsumer;
|
this.mImballiRESTConsumer = imballiRESTConsumer;
|
||||||
|
this.magazzinoRESTConsumer = magazzinoRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -190,21 +196,35 @@ public class SpedizioneViewModel {
|
|||||||
if (enableGiacenza) {
|
if (enableGiacenza) {
|
||||||
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
||||||
this.mPickingList.postValue(pickingObjectList);
|
this.mPickingList.postValue(pickingObjectList);
|
||||||
this.sendOnLoadingEnded();
|
|
||||||
}, ex -> this.sendError(new OrdersLoadException(ex)));
|
}, ex -> this.sendError(new OrdersLoadException(ex)));
|
||||||
} else {
|
} else {
|
||||||
getEmptyPickingList(pickingList, pickingObjectList -> {
|
getEmptyPickingList(pickingList, pickingObjectList -> {
|
||||||
this.mPickingList.postValue(pickingObjectList);
|
this.mPickingList.postValue(pickingObjectList);
|
||||||
this.sendOnLoadingEnded();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPartitaMagList(pickingList, mtbPartitaMagList -> {
|
||||||
|
this.mPartitaMagList = mtbPartitaMagList;
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
});
|
||||||
|
|
||||||
this.mDefaultGestioneOfUL = gestioneCol;
|
this.mDefaultGestioneOfUL = gestioneCol;
|
||||||
this.mDefaultSegnoCol = segnoCol;
|
this.mDefaultSegnoCol = segnoCol;
|
||||||
|
|
||||||
this.initDefaultVars();
|
this.initDefaultVars();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void getPartitaMagList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<MtbPartitaMag>> onComplete) {
|
||||||
|
if (SettingsManager.iDB().isSuggestDataScad()) {
|
||||||
|
List<String> codMarts = sitArtOrdList.stream()
|
||||||
|
.map(x -> x.getCodMart().trim())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
this.magazzinoRESTConsumer.retrieveAllPartitaMag(codMarts, new Date(), onComplete, this::sendError);
|
||||||
|
} else {
|
||||||
|
onComplete.run(new ArrayList<>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
||||||
List<String> codMarts = sitArtOrdList.stream()
|
List<String> codMarts = sitArtOrdList.stream()
|
||||||
@ -1653,7 +1673,7 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void duplicateUDS(MtbColt savedMtbColt, Integer inputNumber, RunnableArgs<List<MtbColt>> onComplete){
|
private void duplicateUDS(MtbColt savedMtbColt, Integer inputNumber, RunnableArgs<List<MtbColt>> onComplete) {
|
||||||
var duplicateUDSRequestDTO = new DuplicateUDSRequestDTO()
|
var duplicateUDSRequestDTO = new DuplicateUDSRequestDTO()
|
||||||
.setMtbColt(savedMtbColt)
|
.setMtbColt(savedMtbColt)
|
||||||
.setNumOfDuplicates(inputNumber);
|
.setNumOfDuplicates(inputNumber);
|
||||||
@ -1982,6 +2002,10 @@ public class SpedizioneViewModel {
|
|||||||
return mPickingList;
|
return mPickingList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<MtbPartitaMag> getmPartitaMagList() {
|
||||||
|
return mPartitaMagList;
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<MtbColt> getCreatedMtbColts() {
|
public ArrayList<MtbColt> getCreatedMtbColts() {
|
||||||
return (ArrayList<MtbColt>) this.mColliRegistrati;
|
return (ArrayList<MtbColt>) this.mColliRegistrati;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,9 +2,11 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
|
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
|
|
||||||
@ -57,6 +59,8 @@ public class DialogInputQuantityV2DTO {
|
|||||||
|
|
||||||
private String customArtDescription;
|
private String customArtDescription;
|
||||||
|
|
||||||
|
private List<MtbPartitaMag> mtbPartitaMagList;
|
||||||
|
|
||||||
public MtbAart getMtbAart() {
|
public MtbAart getMtbAart() {
|
||||||
return mtbAart;
|
return mtbAart;
|
||||||
}
|
}
|
||||||
@ -380,4 +384,13 @@ public class DialogInputQuantityV2DTO {
|
|||||||
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<MtbPartitaMag> getMtbPartitaMagList() {
|
||||||
|
return mtbPartitaMagList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setMtbPartitaMagList(List<MtbPartitaMag> mtbPartitaMagList) {
|
||||||
|
this.mtbPartitaMagList = mtbPartitaMagList;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import com.pedromassango.doubleclick.DoubleClickListener;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@ -177,6 +178,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
.setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag())
|
.setSuggestPartitaMagRunnable(mDialogInputQuantityV2DTO.getSuggestPartitaMag())
|
||||||
.setDataScad(mDialogInputQuantityV2DTO.getDataScad())
|
.setDataScad(mDialogInputQuantityV2DTO.getDataScad())
|
||||||
.setDisableTracciabilitaCheck(mDialogInputQuantityV2DTO.isDisableTracciabilitaCheck())
|
.setDisableTracciabilitaCheck(mDialogInputQuantityV2DTO.isDisableTracciabilitaCheck())
|
||||||
|
.setmPartitaMagList(mDialogInputQuantityV2DTO.getMtbPartitaMagList())
|
||||||
.setStatoArt(mDialogInputQuantityV2DTO.getStatoPartitaMag() != null ? mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt() : null);
|
.setStatoArt(mDialogInputQuantityV2DTO.getStatoPartitaMag() != null ? mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt() : null);
|
||||||
|
|
||||||
mBindings.setView(this);
|
mBindings.setView(this);
|
||||||
@ -301,7 +303,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
|
|
||||||
UtilityObservable.addPropertyChanged(this.currentPartitaMag, (value) -> {
|
UtilityObservable.addPropertyChanged(this.currentPartitaMag, (value) -> {
|
||||||
if (this.mEnableDataCallback) {
|
if (this.mEnableDataCallback) {
|
||||||
this.mViewModel.setPartitaMag(value);
|
this.mViewModel.setNewPartitaMag(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -403,7 +405,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
UtilityObservable.addPropertyChanged(this.mViewModel.blockedQtaTot, (value) -> {
|
UtilityObservable.addPropertyChanged(this.mViewModel.blockedQtaTot, (value) -> {
|
||||||
toggleTextInputLayoutError(textColorsQtaTot, this.mBindings.inputQtaTotLayout, value);
|
toggleTextInputLayoutError(textColorsQtaTot, this.mBindings.inputQtaTotLayout, value);
|
||||||
|
|
||||||
if (this.mViewModel.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
if (Objects.requireNonNull(this.mViewModel.mtbAart.get()).isFlagQtaCnfFissaBoolean()) {
|
||||||
this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable() && !value);
|
this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable() && !value);
|
||||||
} else {
|
} else {
|
||||||
if (value) {
|
if (value) {
|
||||||
|
|||||||
@ -4,8 +4,13 @@ import androidx.databinding.ObservableField;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.FutureTask;
|
import java.util.concurrent.FutureTask;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@ -100,6 +105,8 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
|
|
||||||
private StatoPartitaMag statoArt;
|
private StatoPartitaMag statoArt;
|
||||||
|
|
||||||
|
private List<MtbPartitaMag> mPartitaMagList;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
@ -354,6 +361,11 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setmPartitaMagList(List<MtbPartitaMag> mPartitaMagList) {
|
||||||
|
this.mPartitaMagList = mPartitaMagList;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setWarnOnQuantityOverflow(boolean warnOnQuantityOverflow) {
|
public DialogInputQuantityV2ViewModel setWarnOnQuantityOverflow(boolean warnOnQuantityOverflow) {
|
||||||
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
||||||
return this;
|
return this;
|
||||||
@ -378,6 +390,37 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNewPartitaMag(String internalPartitaMag) {
|
||||||
|
this.internalPartitaMag = internalPartitaMag;
|
||||||
|
|
||||||
|
if (mPartitaMagList != null && SettingsManager.iDB().isSuggestDataScad()){
|
||||||
|
Optional<MtbPartitaMag> partitaMag = mPartitaMagList.stream()
|
||||||
|
.filter(x -> x.getPartitaMag().equalsIgnoreCase(internalPartitaMag))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if (partitaMag.isPresent()){
|
||||||
|
setNewDataScad(partitaMag.get().getDataScad());
|
||||||
|
} else {
|
||||||
|
MtbAart localMtbAart = mtbAart.get();
|
||||||
|
LocalDate dataScad = null;
|
||||||
|
|
||||||
|
if (localMtbAart != null && localMtbAart.getGgScadPartita() != null && localMtbAart.getGgScadPartita() > 0) {
|
||||||
|
dataScad = UtilityDate.getNow();
|
||||||
|
dataScad.plusDays(localMtbAart.getGgScadPartita());
|
||||||
|
}
|
||||||
|
|
||||||
|
setNewDataScad(dataScad);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.mListener.onDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewDataScad(LocalDate internalDataScad) {
|
||||||
|
this.internalDataScad = internalDataScad;
|
||||||
|
this.mListener.onDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setDataScad(LocalDate internalDataScad) {
|
public DialogInputQuantityV2ViewModel setDataScad(LocalDate internalDataScad) {
|
||||||
this.internalDataScad = internalDataScad;
|
this.internalDataScad = internalDataScad;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user