diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/CorpImportLogController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/CorpImportLogController.java index 8b20ca54..18dc4251 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/CorpImportLogController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/CorpImportLogController.java @@ -126,7 +126,7 @@ public class CorpImportLogController { //解析数据 try { String fileType = fileName.substring(fileName.lastIndexOf(".")); - if (".udi".equalsIgnoreCase(fileType)) { + if (".udi".equalsIgnoreCase(fileType) || ".LowerIn".equalsIgnoreCase(fileType)) { String jsonData = IoUtil.read(file.getInputStream()).toString(); BasicUnitMaintainExportResponse data = JSONUtil.toBean(jsonData, BasicUnitMaintainExportResponse.class); diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java index 85a7fff1..a4dbf9d9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java @@ -57,8 +57,8 @@ public class FilterUdiUtils { } else { serialNo = null; } - }else{ - if (last.length() >= 10 && last.substring(8, 10).equals("21")){ + } else { + if (last.length() >= 10 && last.substring(8, 10).equals("21")) { serialNo = last.substring(10); } } @@ -71,8 +71,8 @@ public class FilterUdiUtils { } else { serialNo = null; } - }else { - if (last.length() >= 10 && last.substring(8, 10).equals("21")){ + } else { + if (last.length() >= 10 && last.substring(8, 10).equals("21")) { serialNo = last.substring(10); } } @@ -97,7 +97,7 @@ public class FilterUdiUtils { batchNo = data.substring(34, data.length()); } - }else if (data.length() >= 34 && data.substring(32, 34).equals("21")) { + } else if (data.length() >= 34 && data.substring(32, 34).equals("21")) { serialNo = data.substring(34, data.length()); } } else if (data.length() >= 26 && data.substring(24, 26).equals("10")) { @@ -177,7 +177,9 @@ public class FilterUdiUtils { Gs1128Decoder decoder = engine.decoder(); Map result = decoder.decode("]C1" + data); UdiEntity udiEntity = new UdiEntity(); + int length = 0; for (Map.Entry entry : result.entrySet()) { + length = length + entry.getValue().length(); if (entry.getKey() == AIs.GTIN) { udiEntity.setUdi(entry.getValue()); } else if (entry.getKey() == AIs.BATCH_LOT) { @@ -190,6 +192,10 @@ public class FilterUdiUtils { udiEntity.setSerialNo(entry.getValue()); } } + + if (data.length() - length > 12) { + return null; + } if (StrUtil.isEmpty(udiEntity.getUdi())) { return null; } else @@ -298,11 +304,13 @@ public class FilterUdiUtils { } return data; } + public static String transGlxpNoSerStr(WarehouseEntity warehouseEntity) { String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; return udiCode; } + public static String transGlxpNoSerStr(UdiEntity warehouseEntity) { String udiCode = "#" + warehouseEntity.getUdi() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#";