From 4227b39d7a4fc6bc3ba012a09b59f653ab92ab23 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 15 十二月 2025 16:40:54 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ai/utils/AiUtils.java | 129 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 129 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/ai/utils/AiUtils.java b/src/main/java/com/zy/ai/utils/AiUtils.java
index 8be437b..a7cdeb9 100644
--- a/src/main/java/com/zy/ai/utils/AiUtils.java
+++ b/src/main/java/com/zy/ai/utils/AiUtils.java
@@ -1,5 +1,6 @@
package com.zy.ai.utils;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.ai.entity.DeviceConfigsData;
import com.zy.ai.entity.DeviceRealTimeData;
@@ -11,6 +12,7 @@
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.common.utils.RedisUtil;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.StationObjModel;
@@ -18,6 +20,8 @@
import com.zy.core.model.protocol.StationProtocol;
import com.zy.core.thread.CrnThread;
import com.zy.core.thread.StationThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -34,6 +38,10 @@
private BasCrnpService basCrnpService;
@Autowired
private BasDevpService basDevpService;
+ @Autowired
+ private ConfigService configService;
+ @Autowired
+ private RedisUtil redisUtil;
public WcsDiagnosisRequest makeAiRequest(int logLimit, String alarmMessage) {
WcsDiagnosisRequest request = new WcsDiagnosisRequest();
@@ -124,6 +132,9 @@
deviceRealTimeDataList.add(stationData);
}
+ //鍓旈櫎鍏ㄩ儴杈撻�佺珯鐐逛俊鎭紝浠ュ厤鏁版嵁閲忚繃澶э紝鍚庢湡鐪嬪疄闄呮儏鍐垫槸鍚︽墦寮�
+ basDevp.setStationList(null);
+
DeviceConfigsData deviceConfigsData = new DeviceConfigsData();
deviceConfigsData.setDeviceNo(basDevp.getDevpNo());
deviceConfigsData.setDeviceType(String.valueOf(SlaveType.Devp));
@@ -133,7 +144,125 @@
request.setDeviceRealtimeData(deviceRealTimeDataList);
request.setDeviceConfigs(deviceConfigsDataList);
+
+ List<Config> systemConfigList = configService.selectList(new EntityWrapper<Config>().notIn("dingdingReportUrl"));
+ request.setSystemConfigs(systemConfigList);
+
return request;
}
+ public String buildDiagnosisUserContent(WcsDiagnosisRequest request) {
+ StringBuilder sb = new StringBuilder();
+
+ if (request.getAlarmMessage() != null && !request.getAlarmMessage().isEmpty()) {
+ sb.append("銆愰棶棰樻弿杩般�慭n");
+ sb.append(request.getAlarmMessage()).append("\n\n");
+ }
+
+ sb.append("銆愯澶囦俊鎭�慭n");
+ sb.append("鍏虫敞璁惧锛堝鏋滄湁鎸囧畾锛�: ")
+ .append(request.getCraneNo() != null ? request.getCraneNo() : "鏈寚瀹氾紝闇�鏁翠綋鍒嗘瀽")
+ .append("\n\n");
+
+ Object pseudo = redisUtil.get(com.zy.core.enums.RedisKeyType.MAIN_PROCESS_PSEUDOCODE.key);
+ if (pseudo != null) {
+ sb.append("銆愪富娴佺▼浼唬鐮� mainProcessPseudo銆慭n");
+ sb.append(String.valueOf(pseudo)).append("\n\n");
+ }
+
+ if (request.getExtraContext() != null && !request.getExtraContext().isEmpty()) {
+ sb.append("銆愰澶栦笂涓嬫枃 extraContext銆慭n");
+ sb.append(JSON.toJSONString(request.getExtraContext(), true)).append("\n\n");
+ }
+
+ if (request.getTasks() != null && !request.getTasks().isEmpty()) {
+ sb.append("銆愪换鍔′俊鎭� tasks銆慭n");
+ sb.append("涓嬮潰鏄綋鍓嶇浉鍏充换鍔″垪琛ㄧ殑 JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getTasks(), true)).append("\n\n");
+ } else {
+ sb.append("銆愪换鍔′俊鎭� tasks銆慭n");
+ sb.append("褰撳墠鏈彁渚涗换鍔′俊鎭�俓n\n");
+ }
+
+ if (request.getDeviceRealtimeData() != null && !request.getDeviceRealtimeData().isEmpty()) {
+ sb.append("銆愯澶囧疄鏃舵暟鎹� deviceRealtimeData銆慭n");
+ sb.append("涓嬮潰鏄悇璁惧褰撳墠瀹炴椂鐘舵�佺殑 JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getDeviceRealtimeData(), true)).append("\n\n");
+ } else {
+ sb.append("銆愯澶囧疄鏃舵暟鎹� deviceRealtimeData銆慭n");
+ sb.append("褰撳墠鏈彁渚涜澶囧疄鏃舵暟鎹�俓n\n");
+ }
+
+ if (request.getDeviceConfigs() != null && !request.getDeviceConfigs().isEmpty()) {
+ sb.append("銆愯澶囬厤缃俊鎭� deviceConfigs銆慭n");
+ sb.append("涓嬮潰鏄悇璁惧閰嶇疆鐨� JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getDeviceConfigs(), true)).append("\n\n");
+ } else {
+ sb.append("銆愯澶囬厤缃俊鎭� deviceConfigs銆慭n");
+ sb.append("褰撳墠鏈彁渚涜澶囬厤缃俊鎭�俓n\n");
+ }
+
+ if (request.getLogs() != null && !request.getLogs().isEmpty()) {
+ sb.append("銆愮郴缁熸棩蹇� logs锛堟寜鏃堕棿椤哄簭锛夈�慭n");
+ for (String logLine : request.getLogs()) {
+ sb.append(logLine).append("\n");
+ }
+ } else {
+ sb.append("銆愮郴缁熸棩蹇� logs锛堟寜鏃堕棿椤哄簭锛夈�慭n");
+ sb.append("褰撳墠鏈彁渚涙棩蹇椾俊鎭�俓n");
+ }
+
+ if (request.getSystemConfigs() != null && !request.getSystemConfigs().isEmpty()) {
+ sb.append("銆愮郴缁熼厤缃� sys_config銆慭n");
+ sb.append("涓嬮潰鏄悇绯荤粺閰嶇疆鐨� JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getSystemConfigs(), true)).append("\n\n");
+ }
+
+ sb.append("\n璇锋牴鎹互涓婃墍鏈変俊鎭紝缁撳悎浣犵殑缁忛獙杩涜鍒嗘瀽璇婃柇銆�");
+
+ return sb.toString();
+ }
+
+ public String buildAskUserContent(WcsDiagnosisRequest request) {
+ StringBuilder sb = new StringBuilder();
+
+ if (request.getExtraContext() != null && !request.getExtraContext().isEmpty()) {
+ sb.append("銆愰澶栦笂涓嬫枃 extraContext銆慭n");
+ sb.append(JSON.toJSONString(request.getExtraContext(), true)).append("\n\n");
+ }
+
+ if (request.getTasks() != null && !request.getTasks().isEmpty()) {
+ sb.append("銆愪换鍔′俊鎭� tasks銆慭n");
+ sb.append("涓嬮潰鏄綋鍓嶇浉鍏充换鍔″垪琛ㄧ殑 JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getTasks(), true)).append("\n\n");
+ }
+
+ if (request.getDeviceRealtimeData() != null && !request.getDeviceRealtimeData().isEmpty()) {
+ sb.append("銆愯澶囧疄鏃舵暟鎹� deviceRealtimeData銆慭n");
+ sb.append("涓嬮潰鏄悇璁惧褰撳墠瀹炴椂鐘舵�佺殑 JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getDeviceRealtimeData(), true)).append("\n\n");
+ }
+
+ if (request.getDeviceConfigs() != null && !request.getDeviceConfigs().isEmpty()) {
+ sb.append("銆愯澶囬厤缃俊鎭� deviceConfigs銆慭n");
+ sb.append("涓嬮潰鏄悇璁惧閰嶇疆鐨� JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getDeviceConfigs(), true)).append("\n\n");
+ }
+
+ if (request.getLogs() != null && !request.getLogs().isEmpty()) {
+ sb.append("銆愮郴缁熸棩蹇� logs锛堟寜鏃堕棿椤哄簭锛夈�慭n");
+ for (String logLine : request.getLogs()) {
+ sb.append(logLine).append("\n");
+ }
+ }
+
+ if (request.getSystemConfigs() != null && !request.getSystemConfigs().isEmpty()) {
+ sb.append("銆愮郴缁熼厤缃� sys_config銆慭n");
+ sb.append("涓嬮潰鏄悇绯荤粺閰嶇疆鐨� JSON 鏁版嵁锛歕n");
+ sb.append(JSON.toJSONString(request.getSystemConfigs(), true)).append("\n\n");
+ }
+
+ return sb.toString();
+ }
+
}
--
Gitblit v1.9.1