Aggiunta lettura di SSCC fornitore in accettazione merce

This commit is contained in:
Giuseppe Scorrano 2024-02-20 11:40:22 +01:00
parent 435b6d753a
commit 3fddb6bcf7
13 changed files with 191 additions and 168 deletions

View File

@ -16,6 +16,7 @@ import it.integry.integrywmsnative.core.context.AppContext;
import it.integry.integrywmsnative.core.context.MainContext; import it.integry.integrywmsnative.core.context.MainContext;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.data_store.db.AppDatabase; import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.menu.MenuRESTConsumer; import it.integry.integrywmsnative.core.menu.MenuRESTConsumer;
import it.integry.integrywmsnative.core.menu.MenuService; import it.integry.integrywmsnative.core.menu.MenuService;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
@ -103,6 +104,12 @@ public class MainApplicationModule {
return colliDataRecoverService; return colliDataRecoverService;
} }
@Provides
@Singleton
Ean128Service provideEan128Service() {
return new Ean128Service();
}
@Provides @Provides
@Singleton @Singleton
MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) { MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) {
@ -198,8 +205,8 @@ public class MainApplicationModule {
@Provides @Provides
@Singleton @Singleton
BarcodeRESTConsumer provideBarcodeRESTConsumer() { BarcodeRESTConsumer provideBarcodeRESTConsumer(Ean128Service ean128Service) {
return new BarcodeRESTConsumer(); return new BarcodeRESTConsumer(ean128Service);
} }
@Provides @Provides

View File

@ -75,7 +75,7 @@ public class BarcodeManager {
var scanMode = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_MODE, null); var scanMode = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_MODE, null);
var scanModeSetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_MODE, scanMode); var scanModeSetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_MODE, scanMode);
additionalSettings.add(scanModeSetting); additionalSettings.add(scanModeSetting);
BarcodeManager.changeSettings(additionalSettings); BarcodeManager.changeSettings(additionalSettings);
}); });

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.utility.BarcodeEan128; package it.integry.integrywmsnative.core.ean128;
public enum Ean128AI { public enum Ean128AI {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.utility.BarcodeEan128; package it.integry.integrywmsnative.core.ean128;
public class Ean128AIModel implements Cloneable { public class Ean128AIModel implements Cloneable {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.utility.BarcodeEan128; package it.integry.integrywmsnative.core.ean128;
import java.util.regex.MatchResult; import java.util.regex.MatchResult;
import java.util.regex.Matcher; import java.util.regex.Matcher;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.utility.BarcodeEan128; package it.integry.integrywmsnative.core.ean128;
public class Ean128ISOValueModel<T> { public class Ean128ISOValueModel<T> {

View File

@ -1,6 +1,4 @@
package it.integry.integrywmsnative.core.utility.BarcodeEan128; package it.integry.integrywmsnative.core.ean128;
import android.annotation.SuppressLint;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -11,15 +9,14 @@ import it.integry.integrywmsnative.core.base.Callable;
import it.integry.integrywmsnative.core.base.CallableII; import it.integry.integrywmsnative.core.base.CallableII;
import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean128Model;
public class UtilityBarcodeEan128 { public class Ean128Service {
public static Ean128Model decode(BarcodeScanDTO barcodeScanDTO){
public Ean128Model decode(BarcodeScanDTO barcodeScanDTO) throws Exception {
byte[] inputEan128ByteArr = barcodeScanDTO.getStringValue().replaceAll("" + ((char) 29), "|").getBytes(); byte[] inputEan128ByteArr = barcodeScanDTO.getStringValue().replaceAll("" + ((char) 29), "|").getBytes();
Ean128AIModelBij ean128AIModelBij = new Ean128AIModelBij(); Ean128AIModelBij ean128AIModelBij = new Ean128AIModelBij();
String aiCodeBuffer = ""; String aiCodeBuffer = "";
//char[] charList = barcodeAsString.ToCharArray();
Ean128Model model = new Ean128Model(); Ean128Model model = new Ean128Model();
for (int i = 0; i < inputEan128ByteArr.length; i++) { for (int i = 0; i < inputEan128ByteArr.length; i++) {
@ -36,12 +33,12 @@ public class UtilityBarcodeEan128 {
Ean128AIModel aiModel = ean128AIModelBij.getAI(aiIndex); Ean128AIModel aiModel = ean128AIModelBij.getAI(aiIndex);
String aiValue = ""; StringBuilder aiValue = new StringBuilder();
if (!aiModel.flagVariableLength) { if (!aiModel.flagVariableLength) {
for (int j = (i + 1); j < (i + 1) + aiModel.dataLength; j++) { for (int j = (i + 1); j < (i + 1) + aiModel.dataLength; j++) {
aiValue += (char) inputEan128ByteArr[j]; aiValue.append((char) inputEan128ByteArr[j]);
} }
//aiValue = barcodeAsString.Substring(i + 1, aiModel.DataLength); //aiValue = barcodeAsString.Substring(i + 1, aiModel.DataLength);
@ -63,172 +60,173 @@ public class UtilityBarcodeEan128 {
i++; i++;
} }
aiValue = tempBuffer.replace("\r", "").replace("\n", ""); aiValue = new StringBuilder(tempBuffer.replace("\r", "").replace("\n", ""));
} }
switch (aiModel.AI) { switch (aiModel.AI) {
case SSCC -> { case SSCC -> {
if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) { if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) {
aiValue = aiValue.substring(1); aiValue = new StringBuilder(aiValue.substring(1));
} }
model.Sscc = aiValue; model.Sscc = aiValue.toString();
} }
case GTIN -> { case GTIN -> {
if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) { if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) {
aiValue = aiValue.substring(1); aiValue = new StringBuilder(aiValue.substring(1));
} }
model.Gtin = aiValue; model.Gtin = aiValue.toString();
} }
case CONTENT -> { case CONTENT -> {
if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) { if (aiValue.length() > 0 && (aiValue.charAt(0) == '0' || aiValue.charAt(0) == '9')) {
aiValue = aiValue.substring(1); aiValue = new StringBuilder(aiValue.substring(1));
} }
model.Content = aiValue; model.Content = aiValue.toString();
} }
case BATCH_LOT -> model.BatchLot = aiValue; case BATCH_LOT -> model.BatchLot = aiValue.toString();
case PROD_DATE -> model.ProdDate = convertToDateTime(aiValue); case PROD_DATE -> model.ProdDate = convertToDateTime(aiValue.toString());
case DUE_DATE -> model.DueDate = convertToDateTime(aiValue); case DUE_DATE -> model.DueDate = convertToDateTime(aiValue.toString());
case PACK_DATE -> model.PackDate = convertToDateTime(aiValue); case PACK_DATE -> model.PackDate = convertToDateTime(aiValue.toString());
case BEST_BEFORE -> model.BestBefore = String.valueOf(convertToDateTime(aiValue)); case BEST_BEFORE ->
case EXPIRY -> model.Expiry = String.valueOf(convertToDateTime(aiValue)); model.BestBefore = String.valueOf(convertToDateTime(aiValue.toString()));
case VARIANT -> model.Variant = aiValue; case EXPIRY -> model.Expiry = String.valueOf(convertToDateTime(aiValue.toString()));
case SERIAL -> model.Serial = aiValue; case VARIANT -> model.Variant = aiValue.toString();
case QTY_DATE_BATCH -> model.QtyDateBatch = aiValue; case SERIAL -> model.Serial = aiValue.toString();
case ADDITIONAL_ID -> model.AdditionalID = aiValue; case QTY_DATE_BATCH -> model.QtyDateBatch = aiValue.toString();
case CUST_PART_NO -> model.CustPartNumber = aiValue; case ADDITIONAL_ID -> model.AdditionalID = aiValue.toString();
case SECONDARY_SERIAL -> model.SecondarySerial = aiValue; case CUST_PART_NO -> model.CustPartNumber = aiValue.toString();
case REF_TO_SOURCE -> model.RefToSource = aiValue; case SECONDARY_SERIAL -> model.SecondarySerial = aiValue.toString();
case VAR_COUNT -> model.VarCount = aiValue; case REF_TO_SOURCE -> model.RefToSource = aiValue.toString();
case VAR_COUNT -> model.VarCount = aiValue.toString();
case NET_WEIGHT_KG -> case NET_WEIGHT_KG ->
model.NetWeightKg = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetWeightKg = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_M -> case LENGTH_M ->
model.LengthM = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthM = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_M -> case WIDTH_M ->
model.WidthM = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthM = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_M -> case HEIGHT_M ->
model.HeightM = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeightM = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_M2 -> case AREA_M2 ->
model.AreaM2 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaM2 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_L -> case NET_VOLUME_L ->
model.NetVolumeL = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeL = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_M3 -> case NET_VOLUME_M3 ->
model.NetVolumeM3 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeM3 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_WEIGHT_LB -> case NET_WEIGHT_LB ->
model.NetWeightLb = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetWeightLb = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_I -> case LENGTH_I ->
model.LengthI = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthI = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_F -> case LENGTH_F ->
model.LengthF = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthF = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_Y -> case LENGTH_Y ->
model.LengthY = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthY = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_I -> case WIDTH_I ->
model.WidthI = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthI = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_F -> case WIDTH_F ->
model.WidthF = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthF = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_Y -> case WIDTH_Y ->
model.WidthY = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthY = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_I -> case HEIGHT_I ->
model.HeightI = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeightI = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_F -> case HEIGHT_F ->
model.HeightF = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeightF = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_Y -> case HEIGHT_Y ->
model.HeightY = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeightY = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case CROSSWEIGHT_KG_LOG -> case CROSSWEIGHT_KG_LOG ->
model.CrossweightKgLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.CrossweightKgLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case CROSSWEIGHT_LB_LOG -> case CROSSWEIGHT_LB_LOG ->
model.CrossweightLbLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.CrossweightLbLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_M_LOG -> case LENGTH_M_LOG ->
model.LengthMLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthMLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_M_LOG -> case WIDTH_M_LOG ->
model.WidthMLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthMLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_M_LOG -> case HEIGHT_M_LOG ->
model.HeigthMLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeigthMLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_M2_LOG -> case AREA_M2_LOG ->
model.AreaM2Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaM2Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_L_LOG -> case VOLUME_L_LOG ->
model.VolumeLLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeLLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_M3_LOG -> case VOLUME_M3_LOG ->
model.VolumeM3Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeM3Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_I_LOG -> case LENGTH_I_LOG ->
model.LengthILog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthILog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_F_LOG -> case LENGTH_F_LOG ->
model.LengthFLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthFLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case LENGTH_Y_LOG -> case LENGTH_Y_LOG ->
model.LengthYLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.LengthYLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_I_LOG -> case WIDTH_I_LOG ->
model.WidthILog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthILog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_F_LOG -> case WIDTH_F_LOG ->
model.WidthFLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthFLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case WIDTH_Y_LOG -> case WIDTH_Y_LOG ->
model.WidthYLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.WidthYLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_I_LOG -> case HEIGHT_I_LOG ->
model.HeigthILog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeigthILog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_F_LOG -> case HEIGHT_F_LOG ->
model.HeigthFLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeigthFLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case HEIGHT_Y_LOG -> case HEIGHT_Y_LOG ->
model.HeigthYLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.HeigthYLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_I2 -> case AREA_I2 ->
model.AreaI2 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaI2 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_F2 -> case AREA_F2 ->
model.AreaF2 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaF2 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_Y2 -> case AREA_Y2 ->
model.AreaY2 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaY2 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_I2_LOG -> case AREA_I2_LOG ->
model.AreaI2Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaI2Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_F2_LOG -> case AREA_F2_LOG ->
model.AreaF2Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaF2Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AREA_Y2_LOG -> case AREA_Y2_LOG ->
model.AreaY2Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.AreaY2Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_WEIGHT_T -> case NET_WEIGHT_T ->
model.NetWeightT = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetWeightT = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_OZ -> case NET_VOLUME_OZ ->
model.NetVolumeOz = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeOz = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_LB -> case NET_VOLUME_LB ->
model.NetVolumeLb = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeLb = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_G -> case NET_VOLUME_G ->
model.NetVolumeG = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeG = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_Q_LOG -> case VOLUME_Q_LOG ->
model.VolumeQLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeQLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_G_LOG -> case VOLUME_G_LOG ->
model.VolumeGLog = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeGLog = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_I3 -> case NET_VOLUME_I3 ->
model.NetVolumeI3 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeI3 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_F3 -> case NET_VOLUME_F3 ->
model.NetVolumeF3 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeF3 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case NET_VOLUME_Y3 -> case NET_VOLUME_Y3 ->
model.NetVolumeY3 = convertToDecimalString(aiValue, aiModel.decimalDigits); model.NetVolumeY3 = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_I3_LOG -> case VOLUME_I3_LOG ->
model.VolumeI3Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeI3Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_F3_LOG -> case VOLUME_F3_LOG ->
model.VolumeF3Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeF3Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case VOLUME_Y3_LOG -> case VOLUME_Y3_LOG ->
model.VolumeY3Log = convertToDecimalString(aiValue, aiModel.decimalDigits); model.VolumeY3Log = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case COUNT -> model.Count = Integer.parseInt(aiValue); case COUNT -> model.Count = Integer.parseInt(aiValue.toString());
case AMOUNT -> case AMOUNT ->
model.Amount = convertToDecimalString(aiValue, aiModel.decimalDigits); model.Amount = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case AMOUNT_ISO -> case AMOUNT_ISO ->
model.AmountISO = convertToIsoValueModel(aiValue, aiModel.decimalDigits, model.AmountISO = convertToIsoValueModel(aiValue.toString(), aiModel.decimalDigits,
Double::parseDouble, Double::parseDouble,
(input, input2) -> String.valueOf(convertToDecimalString(input, input2))); (input, input2) -> String.valueOf(convertToDecimalString(input, input2)));
case PRICE -> case PRICE ->
model.Price = convertToDecimalString(aiValue, aiModel.decimalDigits); model.Price = convertToDecimalString(aiValue.toString(), aiModel.decimalDigits);
case PRICE_ISO -> case PRICE_ISO ->
model.PriceISO = convertToIsoValueModel(aiValue, aiModel.decimalDigits, model.PriceISO = convertToIsoValueModel(aiValue.toString(), aiModel.decimalDigits,
Double::parseDouble, Double::parseDouble,
(input, input2) -> String.valueOf(convertToDecimalString(input, input2))); (input, input2) -> String.valueOf(convertToDecimalString(input, input2)));
case ORDER_NUMBER -> model.OrderNumber = aiValue; case ORDER_NUMBER -> model.OrderNumber = aiValue.toString();
case CONSIGNMENT -> model.Consignment = aiValue; case CONSIGNMENT -> model.Consignment = aiValue.toString();
case SHIPMENT_NO -> model.ShipmentNo = aiValue; case SHIPMENT_NO -> model.ShipmentNo = aiValue.toString();
case ROUTE -> model.Route = aiValue; case ROUTE -> model.Route = aiValue.toString();
case SHIP_TO_LOC -> model.ShipToLoc = aiValue; case SHIP_TO_LOC -> model.ShipToLoc = aiValue.toString();
case BILL_TO_LOC -> model.BillToLoc = aiValue; case BILL_TO_LOC -> model.BillToLoc = aiValue.toString();
case PURCHASE_FROM_LOC -> model.PurchaseFromLoc = aiValue; case PURCHASE_FROM_LOC -> model.PurchaseFromLoc = aiValue.toString();
case SHIP_FOR_LOC -> model.ShipForLoc = aiValue; case SHIP_FOR_LOC -> model.ShipForLoc = aiValue.toString();
case LOC_NO -> model.LocationNumber = aiValue; case LOC_NO -> model.LocationNumber = aiValue.toString();
case PAY_TO_LOC -> model.PayToLoc = aiValue; case PAY_TO_LOC -> model.PayToLoc = aiValue.toString();
case SHIP_TO_POST -> model.ShipToPost = aiValue; case SHIP_TO_POST -> model.ShipToPost = aiValue.toString();
case SHIP_TO_POST_ISO -> case SHIP_TO_POST_ISO ->
model.ShipToPostISO = convertToIsoValueModel(aiValue, 0, model.ShipToPostISO = convertToIsoValueModel(aiValue.toString(), 0,
new Callable<String, String>() { new Callable<String, String>() {
@Override @Override
public String call(String input) { public String call(String input) {
@ -241,39 +239,39 @@ public class UtilityBarcodeEan128 {
return input; return input;
} }
}); });
case ORIGIN -> model.Origin = aiValue; case ORIGIN -> model.Origin = aiValue.toString();
case COUNTRY_INITIAL_PROCESS -> case COUNTRY_INITIAL_PROCESS ->
model.ShipToPostISO = convertToIsoValueModel(aiValue, 0, model.ShipToPostISO = convertToIsoValueModel(aiValue.toString(), 0,
input -> input, input -> input,
(input, input2) -> input); (input, input2) -> input);
case COUNTRY_PROCESS -> model.CountryProcess = aiValue; case COUNTRY_PROCESS -> model.CountryProcess = aiValue.toString();
case COUNTRY_DISASSEMBLY -> model.CountryDisassembly = aiValue; case COUNTRY_DISASSEMBLY -> model.CountryDisassembly = aiValue.toString();
case COUNTRY_FULL_PROCESS -> model.CountryFullProcess = aiValue; case COUNTRY_FULL_PROCESS -> model.CountryFullProcess = aiValue.toString();
case NSN -> model.NSN = aiValue; case NSN -> model.NSN = aiValue.toString();
case MEAT_CUT -> model.MeatCut = aiValue; case MEAT_CUT -> model.MeatCut = aiValue.toString();
case DIMENSIONS -> model.Dimensions = aiValue; case DIMENSIONS -> model.Dimensions = aiValue.toString();
case CMT_NO -> model.CmtNo = aiValue; case CMT_NO -> model.CmtNo = aiValue.toString();
case GRAI -> model.Grai = aiValue; case GRAI -> model.Grai = aiValue.toString();
case GIAI -> model.Giai = aiValue; case GIAI -> model.Giai = aiValue.toString();
case PRICE_PER_UNIT -> model.PricePerUnit = aiValue; case PRICE_PER_UNIT -> model.PricePerUnit = aiValue.toString();
case GCTIN -> model.Gctin = aiValue; case GCTIN -> model.Gctin = aiValue.toString();
case IBAN -> model.Iban = aiValue; case IBAN -> model.Iban = aiValue.toString();
case PROD_TIME -> model.ProdTime = convertToDateTime(aiValue); case PROD_TIME -> model.ProdTime = convertToDateTime(aiValue.toString());
case GSRN -> model.Gsrn = aiValue; case GSRN -> model.Gsrn = aiValue.toString();
case REF_NO -> model.RefNo = aiValue; case REF_NO -> model.RefNo = aiValue.toString();
case COUPON_1 -> model.Coupon1 = aiValue; case COUPON_1 -> model.Coupon1 = aiValue.toString();
case COUPON_2 -> model.Coupon2 = aiValue; case COUPON_2 -> model.Coupon2 = aiValue.toString();
case COUPON_3 -> model.Coupon3 = aiValue; case COUPON_3 -> model.Coupon3 = aiValue.toString();
case INTERNAL_PART -> model.InternalPart = aiValue; case INTERNAL_PART -> model.InternalPart = aiValue.toString();
case INTERNAL_1 -> model.Internal1 = aiValue; case INTERNAL_1 -> model.Internal1 = aiValue.toString();
case INTERNAL_2 -> model.Internal2 = aiValue; case INTERNAL_2 -> model.Internal2 = aiValue.toString();
case INTERNAL_3 -> model.Internal3 = aiValue; case INTERNAL_3 -> model.Internal3 = aiValue.toString();
case INTERNAL_4 -> model.Internal4 = aiValue; case INTERNAL_4 -> model.Internal4 = aiValue.toString();
case INTERNAL_5 -> model.Internal5 = aiValue; case INTERNAL_5 -> model.Internal5 = aiValue.toString();
case INTERNAL_6 -> model.Internal6 = aiValue; case INTERNAL_6 -> model.Internal6 = aiValue.toString();
case INTERNAL_7 -> model.Internal7 = aiValue; case INTERNAL_7 -> model.Internal7 = aiValue.toString();
case INTERNAL_8 -> model.Internal8 = aiValue; case INTERNAL_8 -> model.Internal8 = aiValue.toString();
case INTERNAL_9 -> model.Internal9 = aiValue; case INTERNAL_9 -> model.Internal9 = aiValue.toString();
default -> { default -> {
} }
} }
@ -289,14 +287,14 @@ public class UtilityBarcodeEan128 {
} }
private static float convertToDecimalString(String sourceString, int numberOfdecimalDigits) { private float convertToDecimalString(String sourceString, int numberOfdecimalDigits) {
int divider = (int) Math.pow(10, numberOfdecimalDigits); int divider = (int) Math.pow(10, numberOfdecimalDigits);
return Float.parseFloat(sourceString) / divider; return Float.parseFloat(sourceString) / divider;
} }
private static <T> Ean128ISOValueModel<T> convertToIsoValueModel(String sourceString, int numberOfDecimalDigits, Callable<String, T> castFunc, CallableII<String, Integer, String> splitFunc) { private <T> Ean128ISOValueModel<T> convertToIsoValueModel(String sourceString, int numberOfDecimalDigits, Callable<String, T> castFunc, CallableII<String, Integer, String> splitFunc) {
String isoCode = sourceString.substring(0, 3); String isoCode = sourceString.substring(0, 3);
T value = castFunc.call(splitFunc.call(sourceString.substring(3), numberOfDecimalDigits)); T value = castFunc.call(splitFunc.call(sourceString.substring(3), numberOfDecimalDigits));
@ -308,7 +306,7 @@ public class UtilityBarcodeEan128 {
return isoModel; return isoModel;
} }
private static Date convertToDateTime(String sourceString) { private Date convertToDateTime(String sourceString) {
int year = Integer.parseInt(sourceString.substring(0, 2)); int year = Integer.parseInt(sourceString.substring(0, 2));
//Se l'anno è minore di 50 indica 2000-2050 altrimenti 1951-1999 //Se l'anno è minore di 50 indica 2000-2050 altrimenti 1951-1999
@ -320,14 +318,13 @@ public class UtilityBarcodeEan128 {
Date d = null; Date d = null;
try { try {
@SuppressLint("SimpleDateFormat") SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
d = formatter.parse(day + "/" + month + "/" + correctedYear); d = formatter.parse(day + "/" + month + "/" + correctedYear);
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
return d; return d;
} }
} }

View File

@ -3,16 +3,22 @@ package it.integry.integrywmsnative.core.rest.consumers;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.utility.BarcodeEan128.UtilityBarcodeEan128;
@Singleton @Singleton
public class BarcodeRESTConsumer extends _BaseRESTConsumer { public class BarcodeRESTConsumer extends _BaseRESTConsumer {
private final Ean128Service ean128Service;
public BarcodeRESTConsumer(Ean128Service ean128Service) {
this.ean128Service = ean128Service;
}
public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs<Ean128Model> onComplete, RunnableArgs<Exception> onFailed) { public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs<Ean128Model> onComplete, RunnableArgs<Exception> onFailed) {
try { try {
onComplete.run(UtilityBarcodeEan128.decode(barcodeObj)); onComplete.run(this.ean128Service.decode(barcodeObj));
} catch (Exception e){ } catch (Exception e){
onFailed.run(e); onFailed.run(e);
} }

View File

@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.rest.model;
import java.util.Date; import java.util.Date;
import it.integry.integrywmsnative.core.utility.BarcodeEan128.Ean128ISOValueModel; import it.integry.integrywmsnative.core.ean128.Ean128ISOValueModel;
public class Ean128Model { public class Ean128Model {

View File

@ -713,7 +713,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
this.fabPopupMenu.dismiss(); this.fabPopupMenu.dismiss();
this.onLoadingStarted(); this.onLoadingStarted();
this.mViewModel.createNewLU(null, null, false, () -> { this.mViewModel.createNewLU(null, null, null, false, () -> {
this.onLoadingEnded(); this.onLoadingEnded();
}); });
} }

View File

@ -2,6 +2,7 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; 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.ColliAccettazioneRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
@ -33,14 +34,15 @@ public class AccettazioneOrdiniPickingModule {
PrinterRESTConsumer printerRESTConsumer, PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer, AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer, ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) { ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer, return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer,
barcodeRESTConsumer, barcodeRESTConsumer,
colliMagazzinoRESTConsumer, colliMagazzinoRESTConsumer,
printerRESTConsumer, printerRESTConsumer,
accettazioneOrdiniPickingRESTConsumer, accettazioneOrdiniPickingRESTConsumer,
colliAccettazioneRESTConsumer, colliAccettazioneRESTConsumer,
colliLavorazioneRESTConsumer); colliLavorazioneRESTConsumer, ean128Service);
} }
} }

View File

@ -16,6 +16,7 @@ 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.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.exception.AlreadyUsedAnonymousLabelException; import it.integry.integrywmsnative.core.exception.AlreadyUsedAnonymousLabelException;
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException; import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
import it.integry.integrywmsnative.core.exception.LUScanNotGrantedException; import it.integry.integrywmsnative.core.exception.LUScanNotGrantedException;
@ -31,6 +32,7 @@ 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.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
@ -52,12 +54,10 @@ import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.PrintULRequestDTO; import it.integry.integrywmsnative.core.rest.model.uds.PrintULRequestDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.BarcodeEan128.UtilityBarcodeEan128;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
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.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO; import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO; import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO; import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO;
@ -76,6 +76,7 @@ public class AccettazioneOrdiniPickingViewModel {
private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer; private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer;
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer; private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer; private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
private final Ean128Service mEan128Service;
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer; private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
@ -97,7 +98,8 @@ public class AccettazioneOrdiniPickingViewModel {
PrinterRESTConsumer printerRESTConsumer, PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer, AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer, ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) { ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
this.mArticoloRESTConsumer = articoloRESTConsumer; this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer; this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer; this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
@ -105,6 +107,7 @@ public class AccettazioneOrdiniPickingViewModel {
this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer; this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer;
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer; this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer; this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
this.mEan128Service = ean128Service;
} }
@ -211,10 +214,10 @@ public class AccettazioneOrdiniPickingViewModel {
//dell'etichetta anonima //dell'etichetta anonima
this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete); this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete);
} else { } else {
if (SettingsManager.iDB().isFlagAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)){ if (SettingsManager.iDB().isFlagAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
this.executeBarcodeFornitore(barcodeScanDTO); this.executeSSCCFornitore(barcodeScanDTO, onComplete);
}else{ } else {
this.processBarcodeNotOpenedLU(barcodeScanDTO, onComplete); this.processBarcodeNotOpenedLU(barcodeScanDTO, null, onComplete);
} }
} }
@ -227,13 +230,14 @@ public class AccettazioneOrdiniPickingViewModel {
} }
} }
private void executeBarcodeFornitore(BarcodeScanDTO barcodeScanDTO) { private void executeSSCCFornitore(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
try{ try {
Ean128Model ean128Model = UtilityBarcodeEan128.decode(barcodeScanDTO); Ean128Model ean128Model = mEan128Service.decode(barcodeScanDTO);
String barcodeProd = null; //Nel caso trovo un SSCC lo aggiungo
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc; this.processBarcodeNotOpenedLU(barcodeScanDTO, ean128Model.Sscc, onComplete);
}catch (Exception e){
} catch (Exception e) {
this.sendError(e); this.sendError(e);
} }
} }
@ -250,6 +254,7 @@ public class AccettazioneOrdiniPickingViewModel {
try { try {
numCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue()); numCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue());
this.createNewLU( this.createNewLU(
null,
numCollo, numCollo,
CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, true, onComplete); CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, true, onComplete);
} catch (Exception ex) { } catch (Exception ex) {
@ -263,12 +268,17 @@ public class AccettazioneOrdiniPickingViewModel {
}, this::sendError); }, this::sendError);
} }
private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, String customSSCC, Runnable onComplete) {
this.createNewLU( this.createNewLU(
customSSCC,
null, null,
null, null,
false, false,
() -> processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete)); () -> {
if(UtilityString.isNullOrEmpty(customSSCC))
processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete);
else onComplete.run();
});
} }
private void processBarcodeAlreadyOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { private void processBarcodeAlreadyOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
@ -382,7 +392,7 @@ public class AccettazioneOrdiniPickingViewModel {
} }
} }
public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) { public void createNewLU(String customSSCC, Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> { this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> {
final List<CreateUDCRequestOrderDTO> orders = Stream.of(this.mOrders) final List<CreateUDCRequestOrderDTO> orders = Stream.of(this.mOrders)
@ -392,8 +402,8 @@ public class AccettazioneOrdiniPickingViewModel {
.setDataOrd(UtilityDate.toLocalDate(x.getDataD())) .setDataOrd(UtilityDate.toLocalDate(x.getDataD()))
.setNumOrd(x.getNumero()); .setNumOrd(x.getNumero());
if(x.getGestioneEnum() == GestioneEnum.PRODUZIONE) { if (x.getGestioneEnum() == GestioneEnum.PRODUZIONE) {
if(x.isOrdTrasf()) if (x.isOrdTrasf())
createUDCRequestOrderDTO.setGestione(GestioneEnum.ACQUISTO.getText()); createUDCRequestOrderDTO.setGestione(GestioneEnum.ACQUISTO.getText());
else else
createUDCRequestOrderDTO.setGestione(GestioneEnum.LAVORAZIONE.getText()); createUDCRequestOrderDTO.setGestione(GestioneEnum.LAVORAZIONE.getText());
@ -411,6 +421,7 @@ public class AccettazioneOrdiniPickingViewModel {
.setCodTcol(tCol != null ? tCol.getCodTcol() : null) .setCodTcol(tCol != null ? tCol.getCodTcol() : null)
.setNumCollo(customNumCollo) .setNumCollo(customNumCollo)
.setSerCollo(customSerCollo) .setSerCollo(customSerCollo)
.setBarcodeUl(customSSCC)
.setOrders(orders); .setOrders(orders);
this.mColliCaricoRESTConsumer.createUDC(createUDCRequestDTO, createdUDS -> { this.mColliCaricoRESTConsumer.createUDC(createUDCRequestDTO, createdUDS -> {
@ -803,8 +814,8 @@ public class AccettazioneOrdiniPickingViewModel {
this.sendOnLoadingEnded(); this.sendOnLoadingEnded();
} }
private void calculateQtaDaEvadere(){ private void calculateQtaDaEvadere() {
if (SettingsManager.iDB().isFlagDeleteRowOnClose()){ if (SettingsManager.iDB().isFlagDeleteRowOnClose()) {
for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) { for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) {
List<MtbColr> withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs(); List<MtbColr> withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs();
BigDecimal qtaEvasa = BigDecimal.ZERO; BigDecimal qtaEvasa = BigDecimal.ZERO;

View File

@ -3,7 +3,7 @@
buildscript { buildscript {
ext { ext {
kotlin_version = '1.9.0' kotlin_version = '1.9.0'
agp_version = '8.2.1' agp_version = '8.2.2'
} }
repositories { repositories {