This commit is contained in:
2025-08-28 19:22:51 +08:00
parent d91a9737af
commit 91d25247cc

View File

@@ -262,27 +262,37 @@ public class InstructionServiceImpl implements IInstructionService {
} }
private String handleTF(String input) { private String handleTF(String input) {
String[] parts = input.replace("TF", "").split("\t"); // 使用制表符分割 String body = input.replaceFirst("^TF\\s*", "");
if (parts.length >= 3) { String[] lines = body.split("\\r?\\n+");
String modelNumber = parts[0].replace("\\n", ""); // 型号 List<String> outputs = new ArrayList<>();
String quantityStr = parts[1]; // 数量 for (String line : lines) {
StringBuilder address = new StringBuilder(); if (line == null) continue;
// 使用正则表达式提取中文字符 line = line.trim();
Pattern pattern = Pattern.compile("[\\u4E00-\\u9FA5]+"); if (line.isEmpty()) continue;
Matcher matcher = pattern.matcher(parts[2]); String[] parts = line.split("\t"); // 使用制表符分割每一行
if (matcher.find()) { if (parts.length >= 3) {
address = new StringBuilder(matcher.group()); String modelNumber = parts[0].replace("\\n", ""); // 型号
} String quantityStr = parts[1]; // 数量
for (int i = 3; i < parts.length; i++) { StringBuilder address = new StringBuilder();
address.append(parts[i]); // 使用正则表达式提取中文字符(常用于姓名开头)
} Pattern pattern = Pattern.compile("[\\u4E00-\\u9FA5]+");
String jf = productWithJF.get(modelNumber); Matcher matcher = pattern.matcher(parts[2]);
if (matcher.find()) {
address = new StringBuilder(matcher.group());
}
for (int i = 3; i < parts.length; i++) {
address.append(parts[i]);
}
String jf = productWithJF.get(modelNumber);
StringBuilder order = new StringBuilder(); StringBuilder order = new StringBuilder();
order.append("").append("\n").append("H-TF").append("\n").append(modelNumber).append("\n").append(jf).append("\n").append(quantityStr).append("\n").append(address); order.append("").append("\n").append("H-TF").append("\n").append(modelNumber).append("\n").append(jf).append("\n").append(quantityStr).append("\n").append(address);
return generateOrderText(order.toString()); outputs.add(generateOrderText(order.toString()));
} else {
outputs.add("TF 指令格式TF\t型号\t数量\t地址(可含其它字段) ;也支持多行,每行一条数据");
}
} }
return "TF 指令格式TF\t型号\t数量\t地址(可含其它字段)"; return String.join("\n\n", outputs);
} }
private String handleH(String input) { private String handleH(String input) {