package com.zy.ai.mcp.tool;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.zy.ai.mcp.service.WcsDataFacade;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.ai.tool.annotation.Tool;
|
import org.springframework.ai.tool.annotation.ToolParam;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Date;
|
|
@Component
|
@RequiredArgsConstructor
|
public class DataAnalysisMcpTools {
|
|
private final WcsDataFacade wcsDataFacade;
|
|
@Tool(name = "analysis_query_task_throughput", description = "查询指定时间范围内的任务吞吐量统计:任务总量、入库/出库/移库数量、平均时长、故障汇总")
|
public Object queryTaskThroughput(
|
@ToolParam(description = "分析开始时间") Date startTime,
|
@ToolParam(description = "分析结束时间") Date endTime) {
|
return wcsDataFacade.getTaskThroughput(json().fluentPut("startTime", startTime).fluentPut("endTime", endTime));
|
}
|
|
@Tool(name = "analysis_query_device_fault_summary", description = "查询指定时间范围内的设备故障汇总:按设备类型(堆垛机/双工位堆垛机/RGV/输送线)统计故障次数和故障时长")
|
public Object queryDeviceFaultSummary(
|
@ToolParam(description = "分析开始时间") Date startTime,
|
@ToolParam(description = "分析结束时间") Date endTime) {
|
return wcsDataFacade.getDeviceFaultSummary(json().fluentPut("startTime", startTime).fluentPut("endTime", endTime));
|
}
|
|
@Tool(name = "analysis_query_device_utilization", description = "查询指定时间范围内的设备利用率:按设备编号统计任务分配量、平均任务时长、故障数")
|
public Object queryDeviceUtilization(
|
@ToolParam(description = "分析开始时间") Date startTime,
|
@ToolParam(description = "分析结束时间") Date endTime) {
|
return wcsDataFacade.getDeviceUtilization(json().fluentPut("startTime", startTime).fluentPut("endTime", endTime));
|
}
|
|
@Tool(name = "analysis_query_error_logs", description = "查询指定时间范围内的设备错误日志统计:按设备类型统计错误次数")
|
public Object queryErrorLogs(
|
@ToolParam(description = "分析开始时间") Date startTime,
|
@ToolParam(description = "分析结束时间") Date endTime) {
|
return wcsDataFacade.getErrorLogSummary(json().fluentPut("startTime", startTime).fluentPut("endTime", endTime));
|
}
|
|
private JSONObject json() {
|
return new JSONObject();
|
}
|
}
|