Aggiunto flag per gestire la possibilità di aggiungere articoli non riconosciuti all'interno di un inventario
This commit is contained in:
parent
3da92d4630
commit
3a9b6a99eb
@ -54,6 +54,7 @@ public class DBSettingsModel {
|
|||||||
private boolean groupShippingByCommodityGroup = true;
|
private boolean groupShippingByCommodityGroup = true;
|
||||||
private boolean showCodFornSpedizione = true;
|
private boolean showCodFornSpedizione = true;
|
||||||
private boolean flagCanCreateInventario = true;
|
private boolean flagCanCreateInventario = true;
|
||||||
|
private boolean flagCanAddUnknownItemsInventario = true;
|
||||||
|
|
||||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||||
return flagSpedizioneEnableFakeGiacenza;
|
return flagSpedizioneEnableFakeGiacenza;
|
||||||
@ -406,4 +407,13 @@ public class DBSettingsModel {
|
|||||||
this.flagCanCreateInventario = flagCanCreateInventario;
|
this.flagCanCreateInventario = flagCanCreateInventario;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagCanAddUnknownItemsInventario() {
|
||||||
|
return flagCanAddUnknownItemsInventario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagCanAddUnknownItemsInventario(boolean flagCanAddUnknownItemsInventario) {
|
||||||
|
this.flagCanAddUnknownItemsInventario = flagCanAddUnknownItemsInventario;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -353,6 +353,10 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("INVENTARIO")
|
.setSection("INVENTARIO")
|
||||||
.setKeySection("FLAG_CAN_CREATE_INVENTARIO"));
|
.setKeySection("FLAG_CAN_CREATE_INVENTARIO"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("INVENTARIO")
|
||||||
|
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS"));
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> {
|
mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> {
|
||||||
@ -385,7 +389,8 @@ public class SettingsManager {
|
|||||||
dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class));
|
dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class));
|
||||||
dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE));
|
dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE));
|
||||||
dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE));
|
dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE));
|
||||||
dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE));
|
dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE));
|
||||||
|
dbSettingsModelIstance.setFlagCanAddUnknownItemsInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_ADD_UNKNOWN_ITEMS", Boolean.class, Boolean.TRUE));
|
||||||
|
|
||||||
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
|
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
|
||||||
if (notePerdita != null)
|
if (notePerdita != null)
|
||||||
|
|||||||
@ -32,6 +32,7 @@ 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.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO;
|
import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityPickingInventarioBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPickingInventarioBinding;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityPickingInventarioListItemBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPickingInventarioListItemBinding;
|
||||||
@ -96,7 +97,8 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
|
|||||||
|
|
||||||
mViewModel.init(
|
mViewModel.init(
|
||||||
DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO)),
|
DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO)),
|
||||||
DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS)));
|
DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS)),
|
||||||
|
SettingsManager.iDB().isFlagCanAddUnknownItemsInventario());
|
||||||
|
|
||||||
initToolbar();
|
initToolbar();
|
||||||
initBarcodeReader();
|
initBarcodeReader();
|
||||||
|
|||||||
@ -36,6 +36,8 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
private final InventarioRepository inventarioRepository;
|
private final InventarioRepository inventarioRepository;
|
||||||
private final InventarioRowRepository inventarioRowRepository;
|
private final InventarioRowRepository inventarioRowRepository;
|
||||||
|
|
||||||
|
private boolean canAddUnknownItems;
|
||||||
|
|
||||||
public MutableLiveData<InventarioRoomDTO> currentInventario = new MutableLiveData<>();
|
public MutableLiveData<InventarioRoomDTO> currentInventario = new MutableLiveData<>();
|
||||||
public LiveData<List<InventarioRowRoomDTO>> currentInventarioRows = new MutableLiveData<>();
|
public LiveData<List<InventarioRowRoomDTO>> currentInventarioRows = new MutableLiveData<>();
|
||||||
|
|
||||||
@ -49,7 +51,9 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
this.inventarioRowRepository = inventarioRowRepository;
|
this.inventarioRowRepository = inventarioRowRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(InventarioRoomDTO inventarioRoomDTO, List<InventarioArtDTO> inventarioArts) {
|
public void init(InventarioRoomDTO inventarioRoomDTO, List<InventarioArtDTO> inventarioArts, boolean canAddUnknownItems) {
|
||||||
|
this.canAddUnknownItems = canAddUnknownItems;
|
||||||
|
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
this.currentInventario.postValue(inventarioRoomDTO);
|
this.currentInventario.postValue(inventarioRoomDTO);
|
||||||
@ -89,19 +93,27 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
var barcodeList = new ArrayList<String>();
|
var barcodeList = new ArrayList<String>();
|
||||||
barcodeList.add(itemToUpdate.getScanCodBarre());
|
barcodeList.add(itemToUpdate.getScanCodBarre());
|
||||||
|
|
||||||
var matchedArt = availableInventarioArts.stream()
|
var matchedArtOpt = availableInventarioArts.stream()
|
||||||
.filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart()))
|
.filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart()))
|
||||||
.findFirst()
|
.findFirst();
|
||||||
.orElse(new InventarioArtDTO()
|
|
||||||
.setBarcode(barcodeList)
|
|
||||||
.setFlagQtaCnfFissa(true)
|
|
||||||
.setPlu(false)
|
|
||||||
.setUntMis(itemToUpdate.getUntMis())
|
|
||||||
.setQtaCnf(itemToUpdate.getQtaConf()));
|
|
||||||
|
|
||||||
var articolo = matchedArt.toMtbAart();
|
MtbAart articolo = null;
|
||||||
articolo.setFlagTracciabilita("N");
|
|
||||||
dispatchRowEdit(articolo, itemToUpdate);
|
if (canAddUnknownItems) {
|
||||||
|
var matchedArt = matchedArtOpt.orElse(new InventarioArtDTO()
|
||||||
|
.setBarcode(barcodeList)
|
||||||
|
.setFlagQtaCnfFissa(true)
|
||||||
|
.setPlu(false)
|
||||||
|
.setUntMis(itemToUpdate.getUntMis())
|
||||||
|
.setQtaCnf(itemToUpdate.getQtaConf()));
|
||||||
|
|
||||||
|
articolo = matchedArt.toMtbAart()
|
||||||
|
.setFlagTracciabilita("N");
|
||||||
|
}
|
||||||
|
if (articolo != null) {
|
||||||
|
dispatchRowEdit(articolo, itemToUpdate);
|
||||||
|
} else
|
||||||
|
this.sendError(new NoResultFromBarcodeException(itemToUpdate.getScanCodBarre()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteRow(InventarioRowRoomDTO itemToDelete) {
|
public void deleteRow(InventarioRowRoomDTO itemToDelete) {
|
||||||
@ -111,7 +123,7 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
|
|
||||||
|
|
||||||
public void exportAll(Runnable onComplete) {
|
public void exportAll(Runnable onComplete) {
|
||||||
if(this.currentInventarioRows.getValue().isEmpty()) {
|
if (this.currentInventarioRows.getValue().isEmpty()) {
|
||||||
this.sendError(new Exception("Impossibile esportare un inventario senza righe"));
|
this.sendError(new Exception("Impossibile esportare un inventario senza righe"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -139,16 +151,22 @@ public class PickingInventarioViewModel extends ViewModel {
|
|||||||
var barcodeList = new ArrayList<String>();
|
var barcodeList = new ArrayList<String>();
|
||||||
barcodeList.add(barcodeProd);
|
barcodeList.add(barcodeProd);
|
||||||
|
|
||||||
var matchedArt = availableInventarioArts.stream()
|
var matchedArtOpt = availableInventarioArts.stream()
|
||||||
.filter(x -> x.getBarcode().contains(barcodeProd))
|
.filter(x -> x.getBarcode().contains(barcodeProd))
|
||||||
.findFirst()
|
.findFirst();
|
||||||
.orElse(new InventarioArtDTO()
|
|
||||||
|
InventarioArtDTO matchedArt = null;
|
||||||
|
|
||||||
|
if (canAddUnknownItems) {
|
||||||
|
matchedArt = matchedArtOpt.orElse(new InventarioArtDTO()
|
||||||
.setBarcode(barcodeList)
|
.setBarcode(barcodeList)
|
||||||
.setFlagQtaCnfFissa(true)
|
.setFlagQtaCnfFissa(true)
|
||||||
.setPlu(false)
|
.setPlu(false)
|
||||||
.setUntMis("PZ")
|
.setUntMis("PZ")
|
||||||
.setQtaCnf(BigDecimal.ONE));
|
.setQtaCnf(BigDecimal.ONE));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (matchedArt != null) {
|
if (matchedArt != null) {
|
||||||
this.dispatchRowInsert(barcodeProd, matchedArt, ean128Model);
|
this.dispatchRowInsert(barcodeProd, matchedArt, ean128Model);
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.8.0'
|
kotlin_version = '1.8.0'
|
||||||
agp_version = '8.1.0-alpha08'
|
agp_version = '8.1.0-alpha09'
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user