UDI码解析问题

busUser
anthonywj 2 years ago
parent 9176c14d7d
commit 2587341809

@ -126,7 +126,7 @@ public class CorpImportLogController {
//解析数据 //解析数据
try { try {
String fileType = fileName.substring(fileName.lastIndexOf(".")); String fileType = fileName.substring(fileName.lastIndexOf("."));
if (".udi".equalsIgnoreCase(fileType)) { if (".udi".equalsIgnoreCase(fileType) || ".LowerIn".equalsIgnoreCase(fileType)) {
String jsonData = IoUtil.read(file.getInputStream()).toString(); String jsonData = IoUtil.read(file.getInputStream()).toString();
BasicUnitMaintainExportResponse data = JSONUtil.toBean(jsonData, BasicUnitMaintainExportResponse.class); BasicUnitMaintainExportResponse data = JSONUtil.toBean(jsonData, BasicUnitMaintainExportResponse.class);

@ -177,7 +177,9 @@ public class FilterUdiUtils {
Gs1128Decoder decoder = engine.decoder(); Gs1128Decoder decoder = engine.decoder();
Map<AI, String> result = decoder.decode("]C1" + data); Map<AI, String> result = decoder.decode("]C1" + data);
UdiEntity udiEntity = new UdiEntity(); UdiEntity udiEntity = new UdiEntity();
int length = 0;
for (Map.Entry<AI, String> entry : result.entrySet()) { for (Map.Entry<AI, String> entry : result.entrySet()) {
length = length + entry.getValue().length();
if (entry.getKey() == AIs.GTIN) { if (entry.getKey() == AIs.GTIN) {
udiEntity.setUdi(entry.getValue()); udiEntity.setUdi(entry.getValue());
} else if (entry.getKey() == AIs.BATCH_LOT) { } else if (entry.getKey() == AIs.BATCH_LOT) {
@ -190,6 +192,10 @@ public class FilterUdiUtils {
udiEntity.setSerialNo(entry.getValue()); udiEntity.setSerialNo(entry.getValue());
} }
} }
if (data.length() - length > 12) {
return null;
}
if (StrUtil.isEmpty(udiEntity.getUdi())) { if (StrUtil.isEmpty(udiEntity.getUdi())) {
return null; return null;
} else } else
@ -298,11 +304,13 @@ public class FilterUdiUtils {
} }
return data; return data;
} }
public static String transGlxpNoSerStr(WarehouseEntity warehouseEntity) { public static String transGlxpNoSerStr(WarehouseEntity warehouseEntity) {
String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() +
"#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#";
return udiCode; return udiCode;
} }
public static String transGlxpNoSerStr(UdiEntity warehouseEntity) { public static String transGlxpNoSerStr(UdiEntity warehouseEntity) {
String udiCode = "#" + warehouseEntity.getUdi() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + String udiCode = "#" + warehouseEntity.getUdi() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() +
"#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#";

Loading…
Cancel
Save