From 88efb19f50ea094228344dc4ec2f4c4926f458ff Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 18 三月 2026 11:11:54 +0800
Subject: [PATCH] #
---
/dev/null | 129 --------------------------------
src/main/java/com/zy/ai/mcp/service/impl/WcsDataFacadeImpl.java | 68 -----------------
src/main/java/com/zy/ai/mcp/service/WcsDataFacade.java | 2
3 files changed, 0 insertions(+), 199 deletions(-)
diff --git a/src/main/java/com/zy/ai/mcp/service/WcsDataFacade.java b/src/main/java/com/zy/ai/mcp/service/WcsDataFacade.java
index efb669d..8edf358 100644
--- a/src/main/java/com/zy/ai/mcp/service/WcsDataFacade.java
+++ b/src/main/java/com/zy/ai/mcp/service/WcsDataFacade.java
@@ -19,6 +19,4 @@
Object getSystemConfig(JSONObject args);
Object getSystemPseudocode(JSONObject args);
-
- Object buildDiagnosisSnapshot(JSONObject args);
}
diff --git a/src/main/java/com/zy/ai/mcp/service/impl/WcsDataFacadeImpl.java b/src/main/java/com/zy/ai/mcp/service/impl/WcsDataFacadeImpl.java
index f7d6777..d7fb5e7 100644
--- a/src/main/java/com/zy/ai/mcp/service/impl/WcsDataFacadeImpl.java
+++ b/src/main/java/com/zy/ai/mcp/service/impl/WcsDataFacadeImpl.java
@@ -284,75 +284,7 @@
return mainProcessPseudocodeService.queryMainProcessPseudocode(refresh);
}
- @Override
- public Object buildDiagnosisSnapshot(JSONObject args) {
- String wh = mustStr(args, "warehouseCode");
- List<String> crnDeviceNos = optStrList(args, "crnDeviceNos");
- List<String> taskIds = optStrList(args, "taskIds");
- int lookbackSeconds = optInt(args, "lookbackSeconds", 300);
- int logMaxLines = optInt(args, "logMaxLines", 600);
- boolean includeConfig = optBool(args, "includeConfig", true);
-
- long now = System.currentTimeMillis();
- long fromTs = now - lookbackSeconds * 1000L;
-
- // 1) crn devices
- JSONObject devArgs = new JSONObject();
- devArgs.put("deviceNos", crnDeviceNos);
- JSONObject devices = (JSONObject) getCrnDeviceStatus(devArgs);
-
- // 2) tasks
- JSONObject taskArgs = new JSONObject();
- taskArgs.put("warehouseCode", wh);
- taskArgs.put("taskIds", taskIds);
- taskArgs.put("limit", 200);
- JSONObject tasks = (JSONObject) getTasks(taskArgs);
-
- // 3) logs (涓�娆℃�у彇鍥烇紝鐒跺悗鍋氬垎妗�+鎺掑簭+鎴柇)
- JSONObject logArgs = new JSONObject();
- logArgs.put("warehouseCode", wh);
- logArgs.put("fromTs", fromTs);
- logArgs.put("toTs", now);
-// logArgs.put("deviceIds", deviceIds);
- logArgs.put("taskIds", taskIds);
- logArgs.put("maxLines", logMaxLines);
- JSONObject logs = (JSONObject) getLogs(logArgs);
-
- // 4) 缁撴瀯鍖栧揩鐓ц緭鍑猴紙寤鸿锛氬垎妗讹級
- JSONObject snapshot = new JSONObject();
- snapshot.put("warehouseCode", wh);
- snapshot.put("generatedTs", now);
- snapshot.put("timeRange", new JSONObject()
- .fluentPut("fromTs", fromTs)
- .fluentPut("toTs", now)
- .fluentPut("lookbackSeconds", lookbackSeconds));
-
- snapshot.put("devices", devices);
- snapshot.put("tasks", tasks);
- snapshot.put("logs", logs);
-
- JSONArray hints = new JSONArray();
- hints.add("Prefer diagnosing with snapshot.devices + snapshot.tasks + snapshot.logs");
- hints.add("Logs are already filtered by time range; if missing, expand lookbackSeconds");
- snapshot.put("hints", hints);
-
- JSONObject data = new JSONObject();
- data.put("snapshot", snapshot);
- return data;
- }
-
// --------- helpers ---------
-
- private String mustStr(JSONObject o, String key) {
- if (o == null || o.getString(key) == null || o.getString(key).trim().isEmpty())
- throw new IllegalArgumentException(key + " is required");
- return o.getString(key).trim();
- }
-
- private long mustLong(JSONObject o, String key) {
- if (o == null || !o.containsKey(key)) throw new IllegalArgumentException(key + " is required");
- return o.getLongValue(key);
- }
private int optInt(JSONObject o, String key, int def) {
if (o == null || !o.containsKey(key)) return def;
diff --git a/src/main/java/com/zy/ai/service/WcsQueryService.java b/src/main/java/com/zy/ai/service/WcsQueryService.java
deleted file mode 100644
index b531aab..0000000
--- a/src/main/java/com/zy/ai/service/WcsQueryService.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.zy.ai.service;
-
-import org.springframework.stereotype.Service;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Service
-public class WcsQueryService {
-
- // 杩欓噷娉ㄥ叆浣犵幇鏈夌殑鍚勭被 Service/Mapper锛歞eviceService/taskService/logService/configService...
-
- public Map<String, Object> buildDiagnosisSnapshot(Map<String, Object> args) {
- Map<String, Object> focus = (Map<String, Object>) args.get("focus");
- List<String> deviceIds = focus == null ? Collections.emptyList() : (List<String>) focus.get("deviceIds");
- List<String> taskIds = focus == null ? Collections.emptyList() : (List<String>) focus.get("taskIds");
-
- int timeWindowSec = getInt(args, "timeWindowSec", 600);
- int logLimit = getInt(args, "logLimit", 400);
- boolean includeConfigs = getBool(args, "includeConfigs", true);
- boolean includeDerived = getBool(args, "includeDerivedSignals", true);
-
- Date now = new Date();
- Date from = new Date(now.getTime() - timeWindowSec * 1000L);
-
- // 1) devices
- List<Object> devices = new ArrayList<>();
- for (String deviceId : safeList(deviceIds)) {
- Map<String, Object> a = new HashMap<>();
- a.put("deviceId", deviceId);
- devices.add(getDeviceState(a));
- }
-
- // 2) tasks
- Map<String, Object> taskArgs = new HashMap<>();
- if (!safeList(taskIds).isEmpty()) {
- // 浣犲彲浠ヨ listTasks 鏀寔 taskIds 绮剧‘杩囨护
- taskArgs.put("taskIds", taskIds);
- } else if (!safeList(deviceIds).isEmpty()) {
- taskArgs.put("deviceId", deviceIds.get(0)); // 鎴栨敼鎴愭敮鎸� deviceIds 鏁扮粍
- taskArgs.put("statuses", Arrays.asList("WAITING","RUNNING","SUSPENDED"));
- taskArgs.put("limit", 200);
- }
- Map<String, Object> taskResult = (Map<String, Object>) listTasks(taskArgs);
- List<Object> tasks = taskResult == null ? new ArrayList<>() : (List<Object>) taskResult.get("tasks");
-
- // 3) logs
- Map<String, Object> logArgs = new HashMap<>();
- logArgs.put("timeFrom", iso(from));
- logArgs.put("timeTo", iso(now));
- logArgs.put("limit", logLimit);
- if (!safeList(deviceIds).isEmpty()) logArgs.put("deviceId", deviceIds.get(0));
- if (!safeList(taskIds).isEmpty()) logArgs.put("taskId", taskIds.get(0));
- Map<String, Object> logResult = (Map<String, Object>) queryLogs(logArgs);
- List<Object> logs = logResult == null ? new ArrayList<>() : (List<Object>) logResult.get("logs");
-
- // 4) configs
- Object configs = null;
- if (includeConfigs) {
- configs = getSystemConfig(new HashMap<String, Object>());
- }
-
- // 5) derived
- Object derived = null;
- if (includeDerived) {
- derived = deriveSignals(devices, tasks, logs);
- }
-
- // output
- Map<String, Object> out = new LinkedHashMap<>();
- Map<String, Object> meta = new LinkedHashMap<>();
- meta.put("snapshotId", UUID.randomUUID().toString());
- meta.put("generatedAt", iso(now));
- meta.put("timeFrom", iso(from));
- meta.put("timeTo", iso(now));
-
- out.put("meta", meta);
- out.put("devices", devices);
- out.put("tasks", tasks);
- out.put("logs", logs);
- out.put("configs", configs);
- out.put("derivedSignals", derived);
- return out;
- }
-
- private Map<String, Object> deriveSignals(List<Object> devices, List<Object> tasks, List<Object> logs) {
- Map<String, Object> d = new LinkedHashMap<>();
- List<String> flags = new ArrayList<>();
- List<String> causes = new ArrayList<>();
- List<String> bottlenecks = new ArrayList<>();
-
- // TODO锛氭妸浣� WCS 棰嗗煙瑙勫垯濉炶繖閲岋紙蹇冭烦瓒呮椂銆佺瓑寰呯‘璁ゃ�佸懡浠ゆ棤ACK銆佺珯鍙版弧銆佷笅娓搁樆濉炵瓑锛�
- // 鍏堢粰涓ず渚嬶細
- if (tasks != null && !tasks.isEmpty() && (devices == null || devices.isEmpty())) {
- flags.add("HAS_TASKS_BUT_NO_DEVICE_SNAPSHOT");
- }
-
- d.put("anomalyFlags", flags);
- d.put("suspectedRootCauses", causes);
- d.put("suspectedBottlenecks", bottlenecks);
- return d;
- }
-
- // ======= 涓嬮潰杩欎簺鍑芥暟锛屼綘鐢ㄧ幇鏈� service 瀹炵幇鍗冲彲 =======
- public Map<String, Object> getDeviceState(Map<String, Object> args) { /* ... */ return new HashMap<>(); }
- public Map<String, Object> listTasks(Map<String, Object> args) { /* ... */ return new HashMap<>(); }
- public Map<String, Object> queryLogs(Map<String, Object> args) { /* ... */ return new HashMap<>(); }
- public Object getSystemConfig(Map<String, Object> args) { /* ... */ return new HashMap<>(); }
-
- // helpers
- private int getInt(Map<String, Object> m, String k, int def) {
- Object v = m.get(k);
- if (v == null) return def;
- if (v instanceof Number) return ((Number) v).intValue();
- return Integer.parseInt(String.valueOf(v));
- }
- private boolean getBool(Map<String, Object> m, String k, boolean def) {
- Object v = m.get(k);
- if (v == null) return def;
- if (v instanceof Boolean) return (Boolean) v;
- return Boolean.parseBoolean(String.valueOf(v));
- }
- private List<String> safeList(List<String> l) { return l == null ? Collections.emptyList() : l; }
- private String iso(Date d) {
- SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
- f.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
- return f.format(d);
- }
-}
\ No newline at end of file
--
Gitblit v1.9.1