Gestiti ean128 articolo in Vendita

This commit is contained in:
Giuseppe Scorrano 2018-11-30 09:51:33 +01:00
parent ae154e55f3
commit 3c5907a184
4 changed files with 113 additions and 3 deletions

Binary file not shown.

View File

@ -12,6 +12,7 @@ import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString;
public class PickingObjectDTO implements Parcelable { public class PickingObjectDTO implements Parcelable {
@ -463,5 +464,50 @@ public class PickingObjectDTO implements Parcelable {
this.dataScad = dataScad; this.dataScad = dataScad;
return this; return this;
} }
public static PickData fromEan128(Ean128Model ean128Model) {
PickingObjectDTO.PickData pickData = null;
if(ean128Model != null){
pickData = new PickingObjectDTO.PickData();
if(!UtilityString.isNullOrEmpty(ean128Model.BatchLot)) {
pickData.setBatchLot(ean128Model.BatchLot);
}
try {
if(!UtilityString.isNullOrEmpty(ean128Model.BestBefore)){
pickData.setDataScad(UtilityDate.recognizeDate(ean128Model.BestBefore));
} else if(!UtilityString.isNullOrEmpty(ean128Model.Expiry)) {
pickData.setDataScad(UtilityDate.recognizeDate(ean128Model.Expiry));
}
} catch (Exception e) {
UtilityLogger.errorMe(e);
}
if(ean128Model.Count != null && ean128Model.Count > 0) {
//if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
pickData.setNumCnf(new BigDecimal(ean128Model.Count));
//} else {
// dto.setQtaTot(new BigDecimal(ean128Model.Count));
//}
}
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) {
pickData.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
}
if(pickData.getQtaTot() != null && pickData.getQtaTot().floatValue() > 0 && pickData.getNumCnf() != null && pickData.getNumCnf().floatValue() > 0) {
pickData.setQtaCnf(pickData.getQtaTot().divide(pickData.getNumCnf()));
}
}
return pickData;
}
} }
} }

View File

@ -71,6 +71,9 @@ public class VenditaOrdineInevasoActivity extends AppCompatActivity {
mArticoliInColloBottomSheetViewModel.collapse(); mArticoliInColloBottomSheetViewModel.collapse();
} else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) { } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) {
mArticoliInColloBottomSheetViewModel.closeCurrentUL(); mArticoliInColloBottomSheetViewModel.closeCurrentUL();
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
} else { } else {
BarcodeManager.removeCallback(barcodeScannerIstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed(); super.onBackPressed();

View File

@ -16,6 +16,7 @@ import java.util.Objects;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
@ -25,6 +26,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.FiltroOrdineDTO; import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
@ -364,7 +366,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
barcodeProd = barcodeProd.substring(1, barcodeProd.length()); barcodeProd = barcodeProd.substring(1, barcodeProd.length());
} }
// this.loadArticolo(barcodeProd, ean128Model, progressDialog); this.loadArticolo(barcodeProd, PickingObjectDTO.PickData.fromEan128(ean128Model), progressDialog);
} }
@ -380,8 +382,45 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
}); });
} }
private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, ProgressDialog progressDialog) {
if(barcodeProd.length() == 14) {
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
}
ArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
if(mtbAartList != null && mtbAartList.size() > 0) {
// if(!thereIsAnOpenedUL()){
//
// this.createNewUL(null, null, progressDialog, false, () -> {
// BarcodeManager.enable();
// this.searchArtInList(mtbAartList.get(0), ean128Model);
// });
//
// } else {
this.searchArtFromAnag(mtbAartList.get(0), pickData);
BarcodeManager.enable();
progressDialog.dismiss();
// }
//
} else {
BarcodeManager.enable();
progressDialog.dismiss();
DialogSimpleMessageHelper.makeWarningDialog(mActivity,
new SpannableString(mActivity.getResources().getText(R.string.no_result_from_barcode)),
null, null)
.show();
}
}, ex -> {
BarcodeManager.enable();
UtilityExceptions.defaultException(mActivity, ex, progressDialog);
});
private void executeEtichettaEan128Art(BarcodeScanDTO barcodeScanDTO, ProgressDialog progressDialog) {
} }
@ -472,8 +511,30 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
private void searchArtFromAnag() { private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTO.PickData pickData) {
final List<PickingObjectDTO> pickingList = mPickingList;
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
.filter(x -> x.getNumCollo() == null &&
(mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
.toList();
if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
List<PickingObjectDTO> matchWithPartitaMag = Stream.of(matchPickingObject)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
Objects.equals(x.getPartitaMag(), pickData.getBatchLot())).toList();
matchPickingObject = matchWithPartitaMag;
}
if(matchPickingObject.size() == 1){
matchPickingObject.get(0).setTempPickData(pickData);
}
this.loadMatchedRows(matchPickingObject);
} }