Implementato flag per impostare automaticamente la qta ordinata in fase di picking per Spedizione.

Migliorata gestione dell'update dei campi nel caso si scansiona un ean con peso in fase di inserimento qta.
This commit is contained in:
Giuseppe Scorrano 2021-03-12 17:05:20 +01:00
parent 94b2959d29
commit adc7343352
5 changed files with 43 additions and 6 deletions

View File

@ -33,6 +33,7 @@ public class DBSettingsModel {
private boolean flagForceAllToColli;
private boolean flagSpedizioneEnableManualPick;
private boolean flagSpedizioneCanSelectMultipleOrders;
private boolean flagSpedizioneUseQtaOrd;
private String produzioneDefaultCodAnag;
private String reportNameSpedizionChiudiOrdine;
@ -234,6 +235,15 @@ public class DBSettingsModel {
return this;
}
public boolean isFlagSpedizioneUseQtaOrd() {
return flagSpedizioneUseQtaOrd;
}
public DBSettingsModel setFlagSpedizioneUseQtaOrd(boolean flagSpedizioneUseQtaOrd) {
this.flagSpedizioneUseQtaOrd = flagSpedizioneUseQtaOrd;
return this;
}
public String getProduzioneDefaultCodAnag() {
return produzioneDefaultCodAnag;
}

View File

@ -258,6 +258,10 @@ public class SettingsManager {
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("REPORT_PACKING_LIST"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_USE_QTA_ORD"));
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
@ -281,6 +285,7 @@ public class SettingsManager {
dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneCanSelectMultipleOrders(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_SELECT_MULTIPLE_ORDERS", Boolean.class));
dbSettingsModelIstance.setReportNameSpedizionChiudiOrdine(getValueFromList(list, "SPEDIZIONE", "REPORT_PACKING_LIST", String.class));
dbSettingsModelIstance.setFlagSpedizioneUseQtaOrd(getValueFromList(list, "SPEDIZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
if(onComplete != null) onComplete.run();
}, onFailed);

View File

@ -198,6 +198,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
boolean enableCheckPartitaMag = SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV();
boolean canOverflowOrderQuantity = SettingsManager.iDB().isFlagCanAddExtraQuantitySpedizione();
boolean shouldAskPesoLU = SettingsManager.iDB().isFlagAskPesoColloSpedizione();
boolean useQtaOrd = SettingsManager.iDB().isFlagSpedizioneUseQtaOrd();
if (mEnableGiacenza) this.openProgress();
mViewmodel.init(
@ -211,7 +212,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
mColliRegistrati,
reportNameSpedizioneChiudiOrdine,
mGestioneCol, mSegnoCol, mDefaultCausaleUL,
mEnableQuantityReset);
mEnableQuantityReset,
useQtaOrd);
}
@Override

View File

@ -95,6 +95,7 @@ public class SpedizioneViewModel {
private String mReportNameSpedizioneChiudiOrdine;
private boolean mIsNewLU;
private boolean mEnableQuantityReset;
private boolean mUseQtaOrd;
private MtbColt mCurrentMtbColt = null;
@ -137,7 +138,8 @@ public class SpedizioneViewModel {
GestioneEnum gestioneCol,
int segnoCol,
Integer defaultCausaleUL,
boolean enableQuantityReset) {
boolean enableQuantityReset,
boolean useQtaOrd) {
this.sendOnLoadingStarted();
this.mDefaultCodMdep = codMdep;
@ -150,6 +152,7 @@ public class SpedizioneViewModel {
this.mReportNameSpedizioneChiudiOrdine = reportNameSpedizioneChiudiOrdine;
this.mDefaultCausaleOfUL = defaultCausaleUL;
this.mEnableQuantityReset = enableQuantityReset;
this.mUseQtaOrd = useQtaOrd;
if (enableGiacenza) {
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
@ -900,7 +903,9 @@ public class SpedizioneViewModel {
this.sendOnItemDispatched(
pickingObjectDTO,
pickingObjectDTO.getMtbAart(),
null, null, null,
mUseQtaOrd ? numCnfDaPrelevare : null,
mUseQtaOrd ? qtaCnfDaPrelevare : null,
mUseQtaOrd ? qtaColDaPrelevare : null,
qtaDaEvadere,
numCnfDaEvadere,
qtaCnfDaEvadere,

View File

@ -160,6 +160,9 @@ public class DialogInputQuantityV2ViewModel {
this.setNumCnf(BigDecimal.ONE);
this.setQtaCnf(UtilityBigDecimal.divide(this.getQtaTot(), this.getNumCnf()));
}
this.unlockNumCnf();
this.unlockQtaCnf();
}
this.mListener.onDataChanged();
@ -289,10 +292,10 @@ public class DialogInputQuantityV2ViewModel {
// return;
}
if (!this.blockedQtaTot.get() && this.internalQtaCnf != null)
this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalQtaCnf);
else if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalQtaTot != null)
if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalQtaTot != null)
this.internalQtaCnf = UtilityBigDecimal.divide(newValue, internalQtaTot);
else if (!this.blockedQtaTot.get() && this.internalQtaCnf != null)
this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalQtaCnf);
this.mListener.onDataChanged();
}
@ -336,6 +339,18 @@ public class DialogInputQuantityV2ViewModel {
this.mListener.onDataChanged();
}
private void unlockNumCnf() {
this.blockedNumCnf.set(false);
}
private void unlockQtaCnf() {
this.blockedQtaCnf.set(false);
}
private void unlockQtaCol() {
this.blockedQtaTot.set(false);
}
public boolean validate() {
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {