From 0f83419ea162d10cb3bc9f4a471ab1e65df68dff Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 29 十月 2025 18:45:52 +0800
Subject: [PATCH] 优化
---
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs | 241 ++++++++++++++++++++++++++---------------------
1 files changed, 134 insertions(+), 107 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
index 68a40ac..15afbf5 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
@@ -4,140 +4,167 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_IWMsInfoServices;
using WIDESEA_Model.Models;
+using static WIDESEA_DTO.SquareCabin.AlarmDto;
using static WIDESEA_DTO.SquareCabin.TowcsDto;
namespace WIDESEA_WMsInfoServices
{
public class EquipmentAlarmInforService : ServiceBase<Dt_EquipmentAlarmInfor, IRepository<Dt_EquipmentAlarmInfor>>, IEquipmentAlarmInforService
{
- public EquipmentAlarmInforService(IRepository<Dt_EquipmentAlarmInfor> BaseDal) : base(BaseDal)
+ private readonly IMessageInfoService _messageInfoService;
+
+ public EquipmentAlarmInforService(IRepository<Dt_EquipmentAlarmInfor> BaseDal, IMessageInfoService messageInfoService) : base(BaseDal)
{
+ _messageInfoService = messageInfoService;
}
-
- //public WebResponseContent getDeviceStatus(string? deviceCode)
- //{
- // try
- // {
- // var url = "http://172.16.1.2:9357/cube/taskInfo/getDeviceStatus";
- // // 璋冪敤WCS鎺ュ彛鑾峰彇璁惧鐘舵��
- // var result = HttpHelper.Get(url + (string.IsNullOrEmpty(deviceCode) ? "" : $"?deviceCode={deviceCode}"));
- // var response = JsonConvert.DeserializeObject<TowcsResponse<DeviceStatusData>>(result);
+ /// <summary>
+ /// 鏌ョ湅绔嬪簱灏忚溅鎶ヨ淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent getDeviceStatus()
+ {
+ try
+ {
+ var url = "http://172.16.1.2:8080/cube/taskInfo/getDeviceStatus?token=wH5zdAUCv2BEHJIinmowyki8cdc5ge8fAwFDcYZs0bVldNgmORt0O0l4GJTDv1dglRdMxb9xDK5Qb3NJAqL1Li2GkfdVa3KnIkfrQZtsP7UXhMmUz6xEuztG6d5svAJO9HENLb8JWVqCfpO2EWV6ebo/g5tJ9x7kbwwAxvCBrWdiEJv09FvaRQ== ";
+ var result = HttpHelper.Get(url);
- // // 妫�鏌ユ帴鍙e搷搴旀槸鍚︽垚鍔�
- // if (response == null || response.code != "0")
- // {
- // return new WebResponseContent { Status = false, Message = $"WCS鎺ュ彛璋冪敤澶辫触: {response?.msg}" };
- // }
+ var response = JsonConvert.DeserializeObject<AGVResponse<DeviceStatusData>>(result);
- // var syncTime = DateTime.Now;
- // var saveCount = 0;
- // // 澶勭悊鏈哄櫒浜鸿澶囨暟鎹�
- // if (response.data?.robot != null && response.data.robot.Any())
- // {
- // foreach (var robot in response.data.robot)
- // {
- // // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
- // var existingRecord = BaseDal.QueryData(x => x.RobotCode == robot.robotCode).FirstOrDefault();
- // if (existingRecord == null)
- // {
- // // 鍒涘缓鏂拌褰�
- // var newRecord = new Dt_EquipmentAlarmInfor
- // {
- // RobotName = robot.robotName,
- // RobotCode = robot.robotCode,
- // Status = robot.status,
- // SyncTime = syncTime,
- // CreateDate = syncTime,
- // Creater = "System"
- // };
- // BaseDal.AddData(newRecord);
- // }
- // else
- // {
- // // 鏇存柊鐜版湁璁板綍
- // existingRecord.RobotName = robot.robotName;
- // existingRecord.Status = robot.status;
- // existingRecord.SyncTime = syncTime;
- // existingRecord.ModifyDate = syncTime;
- // existingRecord.Modifier = "System";
- // BaseDal.UpdateData(existingRecord);
- // }
- // saveCount++;
- // }
- // }
+ // 妫�鏌ユ帴鍙e搷搴旀槸鍚︽垚鍔�
+ if (response == null || response.code != "0")
+ {
+ return new WebResponseContent { Status = false, Message = $"WCS鎺ュ彛璋冪敤澶辫触: {response?.msg}" };
+ }
- // // 澶勭悊鍒嗘嫞鍙拌澶囨暟鎹�
- // if (response.data?.sorters != null && response.data.sorters.Any())
- // {
- // foreach (var sorter in response.data.sorters)
- // {
- // // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
- // var existingRecord = BaseDal.QueryData(x => x.RobotCode == sorter.sorterCode).FirstOrDefault();
+ var syncTime = DateTime.Now;
+ var saveCount = 0;
- // if (existingRecord == null)
- // {
- // // 鍒涘缓鏂拌褰�
- // var newRecord = new Dt_EquipmentAlarmInfor
- // {
- // RobotName = sorter.sorterName,
- // RobotCode = sorter.sorterCode,
- // Status = sorter.status,
- // SyncTime = syncTime,
- // CreateDate = syncTime,
- // Creater = "System"
- // };
- // BaseDal.AddData(newRecord);
- // }
- // else
- // {
- // // 鏇存柊鐜版湁璁板綍
- // existingRecord.RobotName = sorter.sorterName;
- // existingRecord.Status = sorter.status;
- // existingRecord.SyncTime = syncTime;
- // existingRecord.ModifyDate = syncTime;
- // existingRecord.Modifier = "System";
- // BaseDal.UpdateData(existingRecord);
- // }
- // saveCount++;
- // }
- // }
+ // 澶勭悊鏈哄櫒浜鸿澶囨暟鎹�
+ if (response.data?.robot != null && response.data.robot.Any())
+ {
+ foreach (var robot in response.data.robot)
+ {
+ // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
+ var existingRecord = BaseDal.QueryData(x => x.RobotCode == robot.robotCode).FirstOrDefault();
- // //// 杩斿洖鐘舵�佺粺璁′俊鎭�
- // //var stateStats = response.data?.stateStatistics;
- // //var statsInfo = stateStats != null ?
- // // $"鍙敤:{stateStats.enable}, 鍏呯數:{stateStats.charging}, 涓嶅彲鐢�:{stateStats.disabled}, 閿欒:{stateStats.error}, 绂诲簱:{stateStats.down}, 鍗犵敤:{stateStats.occupied}"
- // // : "鏃犵粺璁′俊鎭�";
+ if (existingRecord == null)
+ {
+ // 鍒涘缓鏂拌褰�
+ var newRecord = new Dt_EquipmentAlarmInfor
+ {
+ RobotName = robot.robotName,
+ RobotCode = robot.robotCode,
+ Status = robot.status,
+ SyncTime = syncTime,
+ CreateDate = syncTime,
+ Creater = "System"
+ };
+ BaseDal.AddData(newRecord);
+ if (robot.status == "error")
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "灏忚溅鍚嶇О:" + robot.robotName, $"灏忚溅缂栧彿銆恵robot.robotCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+ }
+ }
+ else
+ {
+ // 鏇存柊鐜版湁璁板綍
+ existingRecord.RobotName = robot.robotName;
+ existingRecord.Status = robot.status;
+ existingRecord.SyncTime = syncTime;
+ existingRecord.ModifyDate = syncTime;
+ existingRecord.Modifier = "System";
+ BaseDal.UpdateData(existingRecord);
+ if (robot.status == "error")
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "灏忚溅鍚嶇О:" + robot.robotName, $"灏忚溅缂栧彿銆恵robot.robotCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+ }
+ }
+ saveCount++;
+ }
+ }
- // return new WebResponseContent
- // {
- // Status = true,
- // Message = $"鍚屾鎴愬姛锛屽叡澶勭悊 {saveCount} 鏉¤澶囪褰曘�傜姸鎬佺粺璁�: {statsInfo}"
- // };
- // }
- // catch (Exception ex)
- // {
- // // 璁板綍璇︾粏閿欒鏃ュ織
- // Console.WriteLine($"鑾峰彇璁惧鐘舵�佸紓甯�: {ex.Message}, StackTrace: {ex.StackTrace}");
+ // 澶勭悊鍒嗘嫞鍙拌澶囨暟鎹�
+ if (response.data?.sorters != null && response.data.sorters.Any())
+ {
+ foreach (var sorter in response.data.sorters)
+ {
+ // 鏍规嵁璁惧缂栫爜鏌ヨ鏄惁瀛樺湪璁板綍
+ var existingRecord = BaseDal.QueryData(x => x.RobotCode == sorter.sorterCode).FirstOrDefault();
- // return new WebResponseContent
- // {
- // Status = false,
- // Message = $"鑾峰彇璁惧鐘舵�佸け璐�: {ex.Message}"
- // };
- // }
- //}
+ if (existingRecord == null)
+ {
+ // 鍒涘缓鏂拌褰�
+ var newRecord = new Dt_EquipmentAlarmInfor
+ {
+ RobotName = sorter.sorterName,
+ RobotCode = sorter.sorterCode,
+ Status = sorter.status,
+ SyncTime = syncTime,
+ CreateDate = syncTime,
+ Creater = "System"
+ };
+ BaseDal.AddData(newRecord);
+ if (sorter.status == "error")
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕绉�:" + sorter.sorterName, $"缂栧彿銆恵sorter.sorterCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+ }
+ }
+ else
+ {
+ // 鏇存柊鐜版湁璁板綍
+ existingRecord.RobotName = sorter.sorterName;
+ existingRecord.Status = sorter.status;
+ existingRecord.SyncTime = syncTime;
+ existingRecord.ModifyDate = syncTime;
+ existingRecord.Modifier = "System";
+ BaseDal.UpdateData(existingRecord);
+ if (sorter.status == "error")
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, "鍒嗘嫞鍙板悕绉�:" + sorter.sorterName, $"缂栧彿銆恵sorter.sorterCode}銆戝彂鐢熼敊璇�", MessageStatusEnum.Emergency);
+ }
+ }
+ saveCount++;
+ }
+ }
+
+ //// 杩斿洖鐘舵�佺粺璁′俊鎭�
+ //var stateStats = response.data?.stateStatistics;
+ //var statsInfo = stateStats != null ?
+ // $"鍙敤:{stateStats.enable}, 鍏呯數:{stateStats.charging}, 涓嶅彲鐢�:{stateStats.disabled}, 閿欒:{stateStats.error}, 绂诲簱:{stateStats.down}, 鍗犵敤:{stateStats.occupied}"
+ // : "鏃犵粺璁′俊鎭�";
+
+ return new WebResponseContent
+ {
+ Status = true,
+ Message = $"鍚屾鎴愬姛锛屽叡澶勭悊 {saveCount} 鏉¤澶囪褰曘��"
+ };
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍璇︾粏閿欒鏃ュ織
+ Console.WriteLine($"鑾峰彇璁惧鐘舵�佸紓甯�: {ex.Message}, StackTrace: {ex.StackTrace}");
+
+ return new WebResponseContent
+ {
+ Status = false,
+ Message = $"鑾峰彇璁惧鐘舵�佸け璐�: {ex.Message}"
+ };
+ }
+ }
}
}
--
Gitblit v1.9.3