Aggiunta ricerca barcode articolo con conversione da 8 a 13 caratteri

This commit is contained in:
Valerio Castellana 2022-02-14 15:44:50 +01:00
parent 47f29899a2
commit 692a350128

View File

@ -4,6 +4,8 @@ import androidx.lifecycle.MutableLiveData;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -68,8 +70,8 @@ public class DocInterniEditFormViewModel {
} }
public void editRow(SqlMtbColr row,boolean flagTracciabilita) { public void editRow(SqlMtbColr row, boolean flagTracciabilita) {
this.listener.onEditRowRequest(row,flagTracciabilita); this.listener.onEditRowRequest(row, flagTracciabilita);
} }
private Integer getNextIdRiga() { private Integer getNextIdRiga() {
@ -91,7 +93,8 @@ public class DocInterniEditFormViewModel {
}, this::sendError); }, this::sendError);
}, this::sendError); }, this::sendError);
} }
public void deleteDocument() {
public void deleteDocument() {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
docInterniRESTConsumer.saveDoc(this.getSaveDto(), obj -> { docInterniRESTConsumer.saveDoc(this.getSaveDto(), obj -> {
SqlMtbColt document = this.getDocument(); SqlMtbColt document = this.getDocument();
@ -117,7 +120,7 @@ public void deleteDocument() {
} }
SqlMtbColr row = this.getRowForArticolo(articolo); SqlMtbColr row = this.getRowForArticolo(articolo);
this.sendOnLoadingEnded(); this.sendOnLoadingEnded();
this.editRow(row,articolo.getFlagTracciabilita().equalsIgnoreCase("S")); this.editRow(row, articolo.getFlagTracciabilita().equalsIgnoreCase("S"));
} }
@ -148,7 +151,12 @@ public void deleteDocument() {
} }
private GrigliaAcquistiChildDTO searchArticolo(String filter) { private GrigliaAcquistiChildDTO searchArticolo(String filter) {
return Stream.of(this.productsList).filter(dto -> filter.equalsIgnoreCase(dto.getCodMart()) || filter.equalsIgnoreCase(dto.getBarcode())).findFirstOrElse(null); return Stream.of(this.productsList).filter(dto ->
filter.equalsIgnoreCase(dto.getCodMart())
|| filter.equalsIgnoreCase(dto.getBarcode())
|| StringUtils.leftPad(filter, 13, '0').equalsIgnoreCase(dto.getCodMart())
|| StringUtils.leftPad(filter, 13, '0').equalsIgnoreCase(dto.getBarcode())
).findFirstOrElse(null);
} }
private SaveDTO getSaveDto() { private SaveDTO getSaveDto() {
@ -251,7 +259,7 @@ public void deleteDocument() {
} }
public GrigliaAcquistiChildDTO getArticoloByCodMart(String codMart) { public GrigliaAcquistiChildDTO getArticoloByCodMart(String codMart) {
return Stream.of(productsList).filter(prod->prod.codMart.equalsIgnoreCase(codMart)).findFirstOrElse(null); return Stream.of(productsList).filter(prod -> prod.codMart.equalsIgnoreCase(codMart)).findFirstOrElse(null);
} }
public interface Listener extends ILoadingListener { public interface Listener extends ILoadingListener {
@ -260,7 +268,7 @@ public void deleteDocument() {
void onRowsChanged(List<SqlMtbColr> rows); void onRowsChanged(List<SqlMtbColr> rows);
void onEditRowRequest(SqlMtbColr row,boolean flagTracciabilita); void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita);
void onDocumentHoldRequest(); void onDocumentHoldRequest();