Finish v1.36.06(399)
This commit is contained in:
commit
7c936bc387
17
.idea/deploymentTargetDropDown.xml
generated
Normal file
17
.idea/deploymentTargetDropDown.xml
generated
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetDropDown">
|
||||||
|
<runningDeviceTargetSelectedWithDropDown>
|
||||||
|
<Target>
|
||||||
|
<type value="RUNNING_DEVICE_TARGET" />
|
||||||
|
<deviceKey>
|
||||||
|
<Key>
|
||||||
|
<type value="SERIAL_NUMBER" />
|
||||||
|
<value value="21088B8EFD" />
|
||||||
|
</Key>
|
||||||
|
</deviceKey>
|
||||||
|
</Target>
|
||||||
|
</runningDeviceTargetSelectedWithDropDown>
|
||||||
|
<timeTargetWasSelectedWithDropDown value="2023-11-20T09:49:24.751485900Z" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
14
.idea/runConfigurations/app.xml
generated
14
.idea/runConfigurations/app.xml
generated
@ -1,6 +1,6 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
|
<configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
|
||||||
<module name="WMS.app.main" />
|
<module name="WMS_Native.app.main" />
|
||||||
<option name="DEPLOY" value="true" />
|
<option name="DEPLOY" value="true" />
|
||||||
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||||
<option name="DEPLOY_AS_INSTANT" value="false" />
|
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||||
@ -9,7 +9,6 @@
|
|||||||
<option name="ALL_USERS" value="false" />
|
<option name="ALL_USERS" value="false" />
|
||||||
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||||
<option name="CLEAR_APP_STORAGE" value="false" />
|
<option name="CLEAR_APP_STORAGE" value="false" />
|
||||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS.dynamic__base,WMS.dynamic_vgalimenti" />
|
|
||||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||||
<option name="MODE" value="default_activity" />
|
<option name="MODE" value="default_activity" />
|
||||||
<option name="CLEAR_LOGCAT" value="false" />
|
<option name="CLEAR_LOGCAT" value="false" />
|
||||||
@ -25,6 +24,8 @@
|
|||||||
<option name="WORKING_DIR" value="" />
|
<option name="WORKING_DIR" value="" />
|
||||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||||
|
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||||
</Auto>
|
</Auto>
|
||||||
<Hybrid>
|
<Hybrid>
|
||||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||||
@ -32,14 +33,21 @@
|
|||||||
<option name="WORKING_DIR" value="" />
|
<option name="WORKING_DIR" value="" />
|
||||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||||
|
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||||
</Hybrid>
|
</Hybrid>
|
||||||
<Java />
|
<Java>
|
||||||
|
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||||
|
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||||
|
</Java>
|
||||||
<Native>
|
<Native>
|
||||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||||
<option name="SHOW_STATIC_VARS" value="true" />
|
<option name="SHOW_STATIC_VARS" value="true" />
|
||||||
<option name="WORKING_DIR" value="" />
|
<option name="WORKING_DIR" value="" />
|
||||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||||
|
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||||
|
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||||
</Native>
|
</Native>
|
||||||
<Profilers>
|
<Profilers>
|
||||||
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
|
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
|
||||||
|
|||||||
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 398
|
def appVersionCode = 399
|
||||||
def appVersionName = '1.36.05'
|
def appVersionName = '1.36.06'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -69,6 +69,7 @@ public class DBSettingsModel {
|
|||||||
private boolean flagCanAddUnknownBarcodesAccettazioneBolla = false;
|
private boolean flagCanAddUnknownBarcodesAccettazioneBolla = false;
|
||||||
private boolean flagEnableFastPickAccettazioneBolla = false;
|
private boolean flagEnableFastPickAccettazioneBolla = false;
|
||||||
private boolean flagDisableMandatoryTracciabilitaAccettazioneBolla = false;
|
private boolean flagDisableMandatoryTracciabilitaAccettazioneBolla = false;
|
||||||
|
private boolean flagOverflowQuantityWarning = false;
|
||||||
|
|
||||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||||
return flagSpedizioneEnableFakeGiacenza;
|
return flagSpedizioneEnableFakeGiacenza;
|
||||||
@ -556,4 +557,13 @@ public class DBSettingsModel {
|
|||||||
this.flagDisableMandatoryTracciabilitaAccettazioneBolla = flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
this.flagDisableMandatoryTracciabilitaAccettazioneBolla = flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagOverflowQuantityWarning() {
|
||||||
|
return flagOverflowQuantityWarning;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagOverflowQuantityWarning(boolean flagOverflowQuantityWarning) {
|
||||||
|
this.flagOverflowQuantityWarning = flagOverflowQuantityWarning;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -470,6 +470,12 @@ public class SettingsManager {
|
|||||||
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
|
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagDisableMandatoryTracciabilitaAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagDisableMandatoryTracciabilitaAccettazioneBolla)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SPEDIZIONE")
|
||||||
|
.setKeySection("FLAG_OVERFLOW_QUANTITY_WARNING")
|
||||||
|
.setSetter(dbSettingsModelIstance::setFlagOverflowQuantityWarning)
|
||||||
|
.setDefaultValue(false));
|
||||||
|
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
|
|||||||
@ -333,13 +333,13 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
pickingObjectDTO.setTempPickData(pickData);
|
pickingObjectDTO.setTempPickData(pickData);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loadMatchedRows(matchPickingObject, mtbAart);
|
this.loadMatchedRows(matchPickingObject, mtbAart, pickData);
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows, MtbAart mtbAart) {
|
private void loadMatchedRows(List<PickingObjectDTO> matchedRows, MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
||||||
if (matchedRows == null || matchedRows.size() == 0) {
|
if (matchedRows == null || matchedRows.size() == 0) {
|
||||||
manageNoArtFound(mtbAart);
|
manageNoArtFound(mtbAart, pickDataDTO);
|
||||||
} else if (matchedRows.size() == 1) {
|
} else if (matchedRows.size() == 1) {
|
||||||
this.manageDispatchBollaRow(matchedRows.get(0));
|
this.manageDispatchBollaRow(matchedRows.get(0));
|
||||||
} else {
|
} else {
|
||||||
@ -375,11 +375,12 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void manageNoArtFound(MtbAart mtbAart) {
|
private void manageNoArtFound(MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
||||||
if (SettingsManager.iDB().isFlagCanAddUnknownItemsAccettazioneBolla()) {
|
if (SettingsManager.iDB().isFlagCanAddUnknownItemsAccettazioneBolla()) {
|
||||||
|
|
||||||
this.manageDispatchBollaRow(new PickingObjectDTO()
|
this.manageDispatchBollaRow(new PickingObjectDTO()
|
||||||
.setMtbAart(mtbAart));
|
.setMtbAart(mtbAart)
|
||||||
|
.setTempPickData(pickDataDTO));
|
||||||
} else
|
} else
|
||||||
this.sendError(new NoArtsFoundException());
|
this.sendError(new NoArtsFoundException());
|
||||||
}
|
}
|
||||||
@ -418,12 +419,21 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void manageDispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
public void manageDispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
||||||
|
String partitaMag = null;
|
||||||
|
if(pickingObjectDTO.getTempPickData() != null){
|
||||||
|
if(pickingObjectDTO.getTempPickData().getManualPickDTO() != null){
|
||||||
|
if(pickingObjectDTO.getTempPickData().getManualPickDTO().getMtbPartitaMag() != null){
|
||||||
|
partitaMag = pickingObjectDTO.getTempPickData().getManualPickDTO().getMtbPartitaMag().getPartitaMag();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagEnableFastPickAccettazioneBolla()) {
|
if (SettingsManager.iDB().isFlagEnableFastPickAccettazioneBolla()) {
|
||||||
this.saveNewRow(pickingObjectDTO,
|
this.saveNewRow(pickingObjectDTO,
|
||||||
BigDecimal.ONE,
|
BigDecimal.ONE,
|
||||||
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
||||||
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
||||||
null,
|
partitaMag,
|
||||||
null,
|
null,
|
||||||
false);
|
false);
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
|
||||||
@ -33,6 +34,17 @@ public class SitArtOrdDTO {
|
|||||||
private String descrizioneCommessa;
|
private String descrizioneCommessa;
|
||||||
private String termCons;
|
private String termCons;
|
||||||
private String descrizioneEstesaArt;
|
private String descrizioneEstesaArt;
|
||||||
|
private String descrizioneEstesaOrd;
|
||||||
|
private Date dataCons;
|
||||||
|
|
||||||
|
public String getDescrizioneEstesaOrd() {
|
||||||
|
return descrizioneEstesaOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SitArtOrdDTO setDescrizioneEstesaOrd(String descrizioneEstesaOrd) {
|
||||||
|
this.descrizioneEstesaOrd = descrizioneEstesaOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodJcom() {
|
public String getCodJcom() {
|
||||||
return codJcom;
|
return codJcom;
|
||||||
@ -280,4 +292,13 @@ public class SitArtOrdDTO {
|
|||||||
this.descrizioneEstesaArt = descrizioneEstesaArt;
|
this.descrizioneEstesaArt = descrizioneEstesaArt;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getDataCons() {
|
||||||
|
return dataCons;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SitArtOrdDTO setDataCons(Date dataCons) {
|
||||||
|
this.dataCons = dataCons;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,6 +47,7 @@ import it.integry.integrywmsnative.core.report.ReportManager;
|
|||||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||||
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;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
@ -415,6 +416,8 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
|||||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||||
|
|
||||||
|
accettazioneOrdiniPickingListModel.setSubDescrizione1("Consegna: " + UtilityDate.formatDate(x.getSitArtOrdDTO().getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||||
|
|
||||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||||
if (x.getMtbAart() != null)
|
if (x.getMtbAart() != null)
|
||||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||||
@ -585,8 +588,9 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
|||||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneEstesaOrd());
|
||||||
|
|
||||||
if (x.getMtbAart() != null) {
|
if (x.getMtbAart() != null) {
|
||||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
|
|
||||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -788,7 +792,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, String customArtDescription, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||||
.setMtbAart(mtbAart)
|
.setMtbAart(mtbAart)
|
||||||
.setInitialNumCnf(initialNumCnf)
|
.setInitialNumCnf(initialNumCnf)
|
||||||
@ -807,7 +811,8 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
|||||||
.setDataScad(dataScad)
|
.setDataScad(dataScad)
|
||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
||||||
|
.setCustomArtDescription(customArtDescription);
|
||||||
|
|
||||||
if (!mDialogInputQuantityV2View.isVisible())
|
if (!mDialogInputQuantityV2View.isVisible())
|
||||||
mDialogInputQuantityV2View
|
mDialogInputQuantityV2View
|
||||||
|
|||||||
@ -539,6 +539,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
partitaMag,
|
partitaMag,
|
||||||
dataScad,
|
dataScad,
|
||||||
true,
|
true,
|
||||||
|
pickingObjectDTO.getSitArtOrdDTO().getDescrizioneEstesaOrd(),
|
||||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||||
this.saveNewRow(pickingObjectDTO,
|
this.saveNewRow(pickingObjectDTO,
|
||||||
pickedQuantityDTO.getNumCnf(),
|
pickedQuantityDTO.getNumCnf(),
|
||||||
@ -625,6 +626,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
mtbColrToEdit.getPartitaMag(),
|
mtbColrToEdit.getPartitaMag(),
|
||||||
mtbColrToEdit.getDataScadPartita(),
|
mtbColrToEdit.getDataScadPartita(),
|
||||||
true,
|
true,
|
||||||
|
null,
|
||||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||||
|
|
||||||
this.saveEditedRow(mtbColrToEdit,
|
this.saveEditedRow(mtbColrToEdit,
|
||||||
@ -883,6 +885,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
String partitaMag,
|
String partitaMag,
|
||||||
LocalDate dataScad,
|
LocalDate dataScad,
|
||||||
boolean canPartitaMagBeChanged,
|
boolean canPartitaMagBeChanged,
|
||||||
|
String customArtDescription,
|
||||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
|
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
|
||||||
mtbAart,
|
mtbAart,
|
||||||
@ -902,6 +905,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
dataScad,
|
dataScad,
|
||||||
canPartitaMagBeChanged,
|
canPartitaMagBeChanged,
|
||||||
true,
|
true,
|
||||||
|
customArtDescription,
|
||||||
onComplete);
|
onComplete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -958,6 +962,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
LocalDate dataScad,
|
LocalDate dataScad,
|
||||||
boolean canPartitaMagBeChanged,
|
boolean canPartitaMagBeChanged,
|
||||||
boolean canOverflowQuantity,
|
boolean canOverflowQuantity,
|
||||||
|
String customArtDescription,
|
||||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||||
|
|
||||||
void onFilterCodMartApplied(String codMartToFilter);
|
void onFilterCodMartApplied(String codMartToFilter);
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import java.util.List;
|
|||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.AccettazioneOrdineInevasoMainListGroupHeaderBinding;
|
import it.integry.integrywmsnative.databinding.AccettazioneOrdineInevasoMainListGroupHeaderBinding;
|
||||||
@ -119,7 +120,10 @@ public class AccettazioneOrdiniPickingListAdapter extends SectionedRecyclerViewA
|
|||||||
|
|
||||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||||
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||||
|
holder.mBinding.descrizione.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getDescrizione()) ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
|
holder.mBinding.descrizioneSub1.setText(pickingObjectDTO.getSubDescrizione1());
|
||||||
|
holder.mBinding.descrizioneSub1.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSubDescrizione1()) ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1());
|
holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1());
|
||||||
holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2());
|
holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2());
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
|
||||||
|
|
||||||
|
|||||||
@ -849,6 +849,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
.setPartitaMag(partitaMag)
|
.setPartitaMag(partitaMag)
|
||||||
.setDataScad(dataScad)
|
.setDataScad(dataScad)
|
||||||
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
||||||
|
.setWarnOnQuantityOverflow(SettingsManager.iDB().isFlagOverflowQuantityWarning())
|
||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
||||||
|
|||||||
@ -44,6 +44,7 @@ public class DialogInputQuantityV2DTO {
|
|||||||
private boolean saveOnImeDone = false;
|
private boolean saveOnImeDone = false;
|
||||||
private boolean notifyProductLotStatus = false;
|
private boolean notifyProductLotStatus = false;
|
||||||
private boolean disableTracciabilitaCheck = false;
|
private boolean disableTracciabilitaCheck = false;
|
||||||
|
private boolean warnOnQuantityOverflow = false;
|
||||||
|
|
||||||
private StatoArticoloDTO statoPartitaMag;
|
private StatoArticoloDTO statoPartitaMag;
|
||||||
|
|
||||||
@ -54,6 +55,8 @@ public class DialogInputQuantityV2DTO {
|
|||||||
|
|
||||||
private boolean canOverflowOrderQuantity;
|
private boolean canOverflowOrderQuantity;
|
||||||
|
|
||||||
|
private String customArtDescription;
|
||||||
|
|
||||||
public MtbAart getMtbAart() {
|
public MtbAart getMtbAart() {
|
||||||
return mtbAart;
|
return mtbAart;
|
||||||
}
|
}
|
||||||
@ -359,4 +362,22 @@ public class DialogInputQuantityV2DTO {
|
|||||||
this.disableTracciabilitaCheck = disableTracciabilitaCheck;
|
this.disableTracciabilitaCheck = disableTracciabilitaCheck;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCustomArtDescription() {
|
||||||
|
return customArtDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setCustomArtDescription(String customArtDescription) {
|
||||||
|
this.customArtDescription = customArtDescription;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isWarnOnQuantityOverflow() {
|
||||||
|
return warnOnQuantityOverflow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setWarnOnQuantityOverflow(boolean warnOnQuantityOverflow) {
|
||||||
|
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityFocus;
|
import it.integry.integrywmsnative.core.utility.UtilityFocus;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||||
|
|
||||||
@ -151,6 +152,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
|
|
||||||
this.mViewModel
|
this.mViewModel
|
||||||
.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart())
|
.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart())
|
||||||
|
.setArtDescription(UtilityString.isNull(mDialogInputQuantityV2DTO.getCustomArtDescription(), mDialogInputQuantityV2DTO.getMtbAart().getDescrizioneEstesa()))
|
||||||
.setInitialNumCnf(mDialogInputQuantityV2DTO.getInitialNumCnf())
|
.setInitialNumCnf(mDialogInputQuantityV2DTO.getInitialNumCnf())
|
||||||
.setInitialQtaCnf(mDialogInputQuantityV2DTO.getInitialQtaCnf())
|
.setInitialQtaCnf(mDialogInputQuantityV2DTO.getInitialQtaCnf())
|
||||||
.setInitialQtaTot(mDialogInputQuantityV2DTO.getInitialQtaTot())
|
.setInitialQtaTot(mDialogInputQuantityV2DTO.getInitialQtaTot())
|
||||||
@ -168,6 +170,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
.setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable())
|
.setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable())
|
||||||
.setCanInputZeroQuantity(mDialogInputQuantityV2DTO.isCanInputZeroQuantity())
|
.setCanInputZeroQuantity(mDialogInputQuantityV2DTO.isCanInputZeroQuantity())
|
||||||
.setCanOverflowOrderQuantity(mDialogInputQuantityV2DTO.isCanOverflowOrderQuantity())
|
.setCanOverflowOrderQuantity(mDialogInputQuantityV2DTO.isCanOverflowOrderQuantity())
|
||||||
|
.setWarnOnQuantityOverflow(mDialogInputQuantityV2DTO.isWarnOnQuantityOverflow())
|
||||||
.setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable())
|
.setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable())
|
||||||
.setPartitaMag(mDialogInputQuantityV2DTO.getPartitaMag())
|
.setPartitaMag(mDialogInputQuantityV2DTO.getPartitaMag())
|
||||||
.setNote(mDialogInputQuantityV2DTO.getNote())
|
.setNote(mDialogInputQuantityV2DTO.getNote())
|
||||||
@ -254,19 +257,23 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
};
|
};
|
||||||
|
|
||||||
public void save() {
|
public void save() {
|
||||||
if (this.mViewModel.validate()) {
|
this.mViewModel.validate(validated -> {
|
||||||
this.mAbort = false;
|
if (validated) {
|
||||||
dismiss();
|
this.mAbort = false;
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
dismiss();
|
||||||
}
|
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveAndCloseLU() {
|
public void saveAndCloseLU() {
|
||||||
if (this.mViewModel.validate()) {
|
this.mViewModel.validate(validated -> {
|
||||||
this.mAbort = false;
|
if (validated) {
|
||||||
dismiss();
|
this.mAbort = false;
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), true);
|
dismiss();
|
||||||
}
|
this.mOnComplete.run(this.mViewModel.getResult(), true);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
@ -530,4 +537,13 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
.makeErrorDialog(new SpannableString(Html.fromHtml(ex.getMessage())), null, null)
|
.makeErrorDialog(new SpannableString(Html.fromHtml(ex.getMessage())), null, null)
|
||||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onWarning(String text, RunnableArgs<Boolean> result) {
|
||||||
|
DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(text)),
|
||||||
|
null,
|
||||||
|
() -> result.run(true),
|
||||||
|
() -> result.run(false)
|
||||||
|
).show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,11 +3,14 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
|||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
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.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
@ -32,6 +35,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
private final int UPDATE_QTA_TOT = 2;
|
private final int UPDATE_QTA_TOT = 2;
|
||||||
|
|
||||||
public ObservableField<MtbAart> mtbAart = new ObservableField<>();
|
public ObservableField<MtbAart> mtbAart = new ObservableField<>();
|
||||||
|
public BindableString artDescription = new BindableString();
|
||||||
|
|
||||||
public ObservableField<Boolean> blockedNumCnf = new ObservableField<>();
|
public ObservableField<Boolean> blockedNumCnf = new ObservableField<>();
|
||||||
public ObservableField<Boolean> blockedQtaCnf = new ObservableField<>();
|
public ObservableField<Boolean> blockedQtaCnf = new ObservableField<>();
|
||||||
@ -78,6 +82,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
private int onNumCnfInputChanged;
|
private int onNumCnfInputChanged;
|
||||||
private int onQtaTotInputChanged;
|
private int onQtaTotInputChanged;
|
||||||
private boolean disableTracciabilitaCheck;
|
private boolean disableTracciabilitaCheck;
|
||||||
|
private boolean warnOnQuantityOverflow;
|
||||||
|
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
|
||||||
@ -236,6 +241,11 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setArtDescription(String artDescription) {
|
||||||
|
this.artDescription.set(artDescription);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setInitialNumCnf(BigDecimal initialNumCnf) {
|
public DialogInputQuantityV2ViewModel setInitialNumCnf(BigDecimal initialNumCnf) {
|
||||||
this.initialNumCnf = initialNumCnf;
|
this.initialNumCnf = initialNumCnf;
|
||||||
return this;
|
return this;
|
||||||
@ -326,6 +336,11 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setWarnOnQuantityOverflow(boolean warnOnQuantityOverflow) {
|
||||||
|
this.warnOnQuantityOverflow = warnOnQuantityOverflow;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setCanPartitaMagBeChanged(boolean canPartitaMagBeChanged) {
|
public DialogInputQuantityV2ViewModel setCanPartitaMagBeChanged(boolean canPartitaMagBeChanged) {
|
||||||
this.canPartitaMagBeChanged = canPartitaMagBeChanged;
|
this.canPartitaMagBeChanged = canPartitaMagBeChanged;
|
||||||
return this;
|
return this;
|
||||||
@ -450,11 +465,12 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
this.blockedQtaTot.set(false);
|
this.blockedQtaTot.set(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean validate() {
|
public void validate(RunnableArgs<Boolean> onValidated) {
|
||||||
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!disableTracciabilitaCheck && mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
if (!disableTracciabilitaCheck && mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||||
@ -462,51 +478,59 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
internalPartitaMag = suggestPartitaMagRunnable.run(this);
|
||||||
if (internalPartitaMag == null) {
|
if (internalPartitaMag == null) {
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.mListener.onError(new InvalidBatchLotException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.mListener.onError(new InvalidBatchLotException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidBatchLotException());
|
this.mListener.onError(new InvalidBatchLotException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.shouldAskDataScad && this.internalDataScad == null) {
|
if (this.shouldAskDataScad && this.internalDataScad == null) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidExpireDateException());
|
this.mListener.onError(new InvalidExpireDateException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
|
this.mListener.onError(new OverflowQtaTotOrderedQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
|
this.mListener.onError(new OverflowNumCnfOrderedQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
|
this.mListener.onError(new OverflowQtaTotAvailableQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable) &&
|
if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
|
this.mListener.onError(new OverflowNumCnfAvailableQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.canInputZeroQuantity && (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null ||
|
if (!this.canInputZeroQuantity && (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null ||
|
||||||
@ -515,17 +539,36 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO))) {
|
UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO))) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidQuantityException());
|
this.mListener.onError(new InvalidQuantityException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) {
|
if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) {
|
||||||
this.mListener.onError(new InvalidNotesException());
|
this.mListener.onError(new InvalidNotesException());
|
||||||
return false;
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
||||||
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
||||||
return true;
|
|
||||||
|
//Gli ultimi due controlli sono in coda a causa della callBack di onWarning, non eseguirebbe i controlli messi dopo
|
||||||
|
|
||||||
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
|
this.mListener.onWarning("Hai inserito una quantità superiore rispetto a quella presente nell'ordine. <br>Continuare?", onValidated);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
||||||
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
|
this.mListener.onWarning("Hai inserito una quantità superiore rispetto a quella presente nell'ordine. <br>Continuare?", onValidated);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
onValidated.run(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ResultDTO getResult() {
|
public DialogInputQuantityV2ResultDTO getResult() {
|
||||||
@ -536,7 +579,6 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
.setQtaCnf(this.internalQtaCnf)
|
.setQtaCnf(this.internalQtaCnf)
|
||||||
.setNote(this.internalNote)
|
.setNote(this.internalNote)
|
||||||
.setQtaTot(this.internalQtaTot);
|
.setQtaTot(this.internalQtaTot);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setListener(Listener listener) {
|
public void setListener(Listener listener) {
|
||||||
@ -570,5 +612,6 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
void onDataChanged();
|
void onDataChanged();
|
||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
void onWarning(String text, RunnableArgs<Boolean> result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -147,6 +147,18 @@
|
|||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
tools:text="DESCRIZIONE" />
|
tools:text="DESCRIZIONE" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/descrizione_sub_1"
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentStart="true"
|
||||||
|
android:layout_marginTop="2dp"
|
||||||
|
android:layout_toStartOf="@id/secondary_unt_mis"
|
||||||
|
android:layout_below="@+id/descrizione"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
android:textSize="14sp"
|
||||||
|
tools:text="DATA ORD" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:id="@+id/secondary_unt_mis"
|
android:id="@+id/secondary_unt_mis"
|
||||||
|
|||||||
@ -108,7 +108,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:singleLine="false"
|
android:singleLine="false"
|
||||||
android:text="@{viewmodel.mtbAart.descrizioneEstesa}"
|
android:text="@{viewmodel.artDescription}"
|
||||||
tools:text="RAD 25 D H/L 200 - 10 EL B BIANCO" />
|
tools:text="RAD 25 D H/L 200 - 10 EL B BIANCO" />
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user