zhuhao 1 年間 前
コミット
d8de557654

+ 2 - 0
IMCS_CCS/Model/vo/RequestHeidhData.cs

@@ -9,6 +9,8 @@ namespace IMCS_CCS.Model.vo
     {
         public string MachineName
         { get; set; }
+        public string DeviceType
+        { get; set; }
 
         public string ServerUrl
         { get; set; }

+ 67 - 2
IMCS_CCS/Model/vo/ResponseDigitalTwinsData.cs

@@ -1,5 +1,6 @@
 using System;
-
+using System.Collections.Generic;
+
 namespace IMCS.CCS.Models.vo
 {
     public class ResponseDigitalTwinsData
@@ -69,8 +70,72 @@ namespace IMCS.CCS.Models.vo
         /// <summary>
         /// 主轴负载
         /// </summary>
-        public string spindleLoad { get; set; }    }
+        public string spindleLoad { get; set; }
+
+        public string mainProg //主程序号
+        { get; set; }
+        public int partsCount //工件数
+        { get; set; }
+        public string actFeedSpeed  //主轴进给速度
+        { get; set; }
+        public string feedAxisLoad  //进给轴负载
+        { get; set; }
+        public string servoLoad  //伺服负载
+        { get; set; }
+  
+        public string powerOnTime  //开机时长
+        { get; set; }
+        public string ncSysTime  //nc系统时间
+        { get; set; }
+        public string ncModel  //nc型号
+        { get; set; }
+        public string machineCoordinate  //机械坐标
+        { get; set; }
+        public string relativeCoordinate  //相对坐标
+        { get; set; }
+        public string absoluteCoordinate  //绝对坐标
+        { get; set; }
+        public string runMode  //运行模式
+        { get; set; }
+        public string ncRunTime  //NC运行时间
+        { get; set; }
+        public string currentToolNo  //当前刀号
+        { get; set; }
+
+        public string runStatus  //运行状态
+        { get; set; } = "空闲";
+        public string deviceState  //设备状态
+        { get; set; } = "离线";
+
+        public List<ToolsInfo> toolsInfo { get; set; } = new List<ToolsInfo>();
+        public List<ErrorInfo> alarms { get; set; } = new List<ErrorInfo>();
+    }
+    public class ToolsInfo
+    {
+        public string position { get; set; }
+        public string number { get; set; }
+
+        public string name { get; set; }
+
+        public string targetLife { get; set; }
+
+        //额定寿命
+        public string rateLife { get; set; }
+
+        public string useLife { get; set; }
 
+        public string curTime { get; set; }
+        //0:时间 1:次数
+        public int lifeType { get; set; } = 0; 
+
+    }
+
+    public class ErrorInfo
+    {
+        public string no { get; set; }
+        public string msg { get; set; }
+
+    }
     public class ProcessingParametersData
     {
         /// <summary>

+ 46 - 6
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -93,14 +93,54 @@ namespace IMCS.CCS.Services
         /// </summary> 
         public async Task<List<ResponseDigitalTwinsData>> GetDigitalTwins()
         {
-            List<Device> devices = _deviceService.GetDeviceList();            
+            List<Device> devices = _deviceService.GetDeviceList();
             List<ResponseDigitalTwinsData> list = new List<ResponseDigitalTwinsData>();
 
-            String query3dUrl = ecsRootUrlContext + "/api/authority/agv/agvCallbackService/query3dResouceDataInfo";
-            var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, query3dUrl, new Object(), null);
-            ResponsePageData<ResponseDigitalTwinsData> responseData = JsonConvert.DeserializeObject<ResponsePageData<ResponseDigitalTwinsData>>(result.Message);
-            list = responseData.Data;
-            
+            //String query3dUrl = ecsRootUrlContext + "/api/authority/agv/agvCallbackService/query3dResouceDataInfo";
+            //var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, query3dUrl, new Object(), null);
+            //ResponsePageData<ResponseDigitalTwinsData> responseData = JsonConvert.DeserializeObject<ResponsePageData<ResponseDigitalTwinsData>>(result.Message);
+            //list = responseData.Data;
+            ResponseDigitalTwinsData aa = new ResponseDigitalTwinsData();
+            list.Add(aa);
+            List<ResponseDigitalTwinsData> collectDatas = new List<ResponseDigitalTwinsData>();
+            foreach (ResponseDigitalTwinsData responseDigitalTwinsData in list)
+            {
+                //EquipmentMonitor equipmentMonitor = await _equipmentMonitorService.GetById(long.Parse(responseDigitalTwinsData.resourceId));
+                //if (equipmentMonitor == null || equipmentMonitor.IP == null)
+                //{
+                //    continue;
+                //}
+                //Device device = devices.Where(x => x.Ip.Equals(equipmentMonitor.IP)).FirstOrDefault();
+                //if (null != device && equipmentMonitor.Type == ProtocalTypeEnum.MAZAK.ToString())
+                if(1==1)
+                {
+                    RequestHeidhData reqBody = new RequestHeidhData();
+                    reqBody.ServerUrl = "127.0.0.1";
+                    reqBody.DeviceType = "Mazaka";
+                    reqBody.Type = "Collect";
+                    var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, mazakUrlContext, reqBody, null);
+                    if (Result.IsSuccess)
+                    {
+                        ResponseHeidhData retData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
+                        if (retData != null && retData.code == 0)
+                        {
+                            ResponseDigitalTwinsData twinsData = JsonConvert.DeserializeObject<ResponseDigitalTwinsData>(retData.runDatasInfo);
+                            //responseDigitalTwinsData.feedRate = !string.IsNullOrEmpty(twinsData.feedRate) ? twinsData.feedRate : "0";
+                            //responseDigitalTwinsData.spindleMagnification = !string.IsNullOrEmpty(twinsData.spindleMagnification) ? twinsData.spindleMagnification : "0";
+                            //responseDigitalTwinsData.spindleSpeed = !string.IsNullOrEmpty(twinsData.spindleSpeed) ? twinsData.spindleSpeed + "00" : "0";
+                            //responseDigitalTwinsData.spindleLoad = !string.IsNullOrEmpty(twinsData.spindleLoad) ? twinsData.spindleMagnification : "-";
+                            twinsData.toolsInfo = JsonConvert.DeserializeObject<List<ToolsInfo>>(retData.toolsInfo);
+                            twinsData.alarms = JsonConvert.DeserializeObject<List<ErrorInfo>>(retData.errorsInfo);
+                            twinsData.id = responseDigitalTwinsData.id;
+                            twinsData.deviceType = responseDigitalTwinsData.deviceType;
+                            twinsData.resourceId = responseDigitalTwinsData.resourceId;
+                            twinsData.deviceName = responseDigitalTwinsData.deviceName;
+                            twinsData.monitoringStatus = responseDigitalTwinsData.monitoringStatus;
+                            collectDatas.Add(twinsData);
+                        }
+                    }
+                } 
+            }
 
             return list;
 

+ 5 - 6
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -641,21 +641,20 @@ namespace IMCS.CCS.Service.Impl
                         CallBackRequestData requestData = new CallBackRequestData();
                         requestData.taskId = long.Parse(task.TaskId);
                         requestData.taskNodeId = long.Parse(task.TaskNodeId);
-                        //var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
-                        //ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
-                        //  if (result.IsSuccess && responseECSCallback.code == 0)
-                        if (true)
+                        var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
+                        ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
+                        if (result.IsSuccess && responseECSCallback.code == 0)
                         {
                             task.State = false;
                             task.UpdateTime = DateTime.Now;
                             await _taskCallbackService.CreateOrUpdateAndCache(task);
-                           // message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
+                            message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
                             Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
                         }
                         else
                         {
                             message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
-                            //Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
+                            Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
                         }
                     }