Ver código fonte

fix: 机外对刀仪数据功能增加

wang.sq@aliyun.com 4 meses atrás
pai
commit
759c35eeb6

+ 14 - 0
IMCS_CCS/Controllers/CcsController.cs

@@ -4,6 +4,8 @@ using IMCS.CCS.Models.vo;
 using IMCS.CCS.Services;
 using IMCS_CCS.Model.vo;
 using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using System;
 using System.Collections.Generic;
 using System.Threading.Tasks;
  
@@ -143,5 +145,17 @@ namespace IMCS.CCS.Controllers
         {
             return await _httpRequestService.GetTools(data);
         }
+
+        /// <summary>
+        /// 机外对刀仪数据接受: POST: api/PushPushToMachine
+        /// </summary> 
+        /// <returns></returns>
+        [Route("api/PushPushToMachine")]
+        [HttpPost]
+        public async Task<ActionResult<ResponseECSData>> PushPushToMachine(RequestData<CutterTestData> data)
+        {
+            Console.WriteLine("机外对刀仪数据接受"+ JsonConvert.SerializeObject(data));
+            return await _httpRequestService.PushPushToMachine(data);
+        }
     }
 }

BIN
IMCS_CCS/Dll/Newtonsoft.Json.dll


+ 51 - 0
IMCS_CCS/Entitys/RequestData.cs

@@ -1,5 +1,9 @@
 
+using Google.Protobuf.WellKnownTypes;
 using IMCS.CCS.Entitys;
+using Renci.SshNet.Messages;
+using StackExchange.Redis;
+using System.Xml.Linq;
 
 namespace IMCS.CCS.Models
 {
@@ -240,4 +244,51 @@ namespace IMCS.CCS.Models
 
     }
 
+    // 机外对刀仪数据
+    public class CutterTestData {
+        /*到位点*/
+        public string cutterP { get; set; }
+
+        /*刀具名*/
+        public string cutterName { get; set; }
+
+        /*刀号*/
+        public string cutterT { get; set; }
+
+        /*刀具类型(对刀仪)*/
+
+        public string cutterTyp { get; set; }
+
+        /*刀具类型(机床)*/
+        public string cutterTypDnc { get; set; }
+
+        /*刀具类型子类型(机床)*/
+        public string cutterTypSubDnc { get; set; }
+
+
+        /*刀具长度*/
+        public string cutterZl { get; set; }
+
+        /*刀具半径/直径*/
+        public string cutterXl { get; set; }
+
+        /*刀具R角*/
+        public string cutterRs { get; set; }
+
+        /*刀尖角*/
+        public string cutterTo { get; set; }
+
+        /*主轴定向角度*/
+        public string cutterOri { get; set; }
+
+        /*刀具使用寿命*/
+        public string cutterTime2 { get; set; }
+
+        /*刀具使用寿命,不允许超过该值*/
+        public string cutterOverTime { get; set; }
+
+        /*内冷开*/
+        public string cutterPlcBit { get; set; }
+    }
+
 }

+ 11 - 0
IMCS_CCS/IMCS.CCS.xml

@@ -259,6 +259,12 @@
             </summary> 
             <returns></returns>
         </member>
+        <member name="M:IMCS.CCS.Controllers.CcsController.PushPushToMachine(IMCS.CCS.Models.RequestData{IMCS.CCS.Models.CutterTestData})">
+            <summary>
+            机外对刀仪数据接受: POST: api/PushPushToMachine
+            </summary> 
+            <returns></returns>
+        </member>
         <member name="M:IMCS.CCS.Controllers.DeviceController.GetDevice(System.Int32)">
             <summary>
             获取设备详情:GET: api/Device/5
@@ -1800,6 +1806,11 @@
             根据任务id查询回调列表
             </summary> 
         </member>
+        <member name="M:IMCS.CCS.Services.IHttpRequestService.PushPushToMachine(IMCS.CCS.Models.RequestData{IMCS.CCS.Models.CutterTestData})">
+            <summary>
+            根据任务id查询回调列表
+            </summary> 
+        </member>
         <member name="M:IMCS.CCS.Services.HttpRequestService.GetTagValue(IMCS.CCS.Models.RequestTagValueData)">
             <summary>
             获取状态当前值

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

@@ -24,6 +24,8 @@ namespace IMCS_CCS.Model.vo
 
         public string Type
         { get; set; }
+        public string CutterData
+        { get; set; }
     }
 
     /// <summary>

+ 12 - 6
IMCS_CCS/Service/IHttpRequestService .cs

@@ -26,24 +26,24 @@ namespace IMCS.CCS.Services
         /// 查询设备状态
         /// </summary> 
         Task<List<EquipmentMonitor>> GetEquipMent();
- 
+
 
         /// <summary>
         /// 机器人动作取放
         /// </summary> 
         Task<ResponseECSData> RobotAction(RequestData<LocationData> req);
- 
+
 
         /// <summary>
         /// 上传文件
         /// </summary> 
         Task<ResponseECSData> UploadFile(RequestData<UploadFileData> req);
- 
+
 
         /// <summary>
         /// 启动机床程序
         /// </summary> 
-        Task<ResponseECSData> StartNCProgram(RequestData<StartNCProgramData> req); 
+        Task<ResponseECSData> StartNCProgram(RequestData<StartNCProgramData> req);
 
         /// <summary>
         /// 启动清洗机
@@ -55,14 +55,14 @@ namespace IMCS.CCS.Services
         /// </summary> 
         Task<ResponseECSData> StartDryMachine(RequestData<object> req);
 
-       
+
 
         /// <summary>
         /// 刀具接口列表
         /// </summary> 
         Task<List<ResponseToolData>> GetTools(RequestToolData req);
 
-        
+
         /// <summary>
         /// 设备更新上线离线
         /// </summary> 
@@ -72,5 +72,11 @@ namespace IMCS.CCS.Services
         /// 根据任务id查询回调列表
         /// </summary> 
         Task<List<TaskCallback>> GetCallBackListByCondition(RequestCallBackData vo);
+
+        /// <summary>
+        /// 根据任务id查询回调列表
+        /// </summary> 
+        Task<ResponseECSData> PushPushToMachine(RequestData<CutterTestData> reqs);
+
     }
 }

+ 63 - 0
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -19,6 +19,8 @@ using FTP;
 using HslCommunication;
 using System.Text.RegularExpressions;
 using System.IO;
+using Org.BouncyCastle.Ocsp;
+using MySqlX.XDevAPI.Common;
 
 namespace IMCS.CCS.Services
 {
@@ -871,5 +873,66 @@ namespace IMCS.CCS.Services
             return taskCallbackData;
         }
 
+        public async Task<ResponseECSData> PushPushToMachine(RequestData<CutterTestData> req)
+        {
+            Log.Instance.WriteLogAdd("机外对刀仪数据接受===>> "+ JsonConvert.SerializeObject(req),"机外对刀仪");
+            // 1、根据url查询设备信息   2、调用httpserveer 发送执行消息
+
+            ResponseECSData responseData = new ResponseECSData(req.taskId, req.taskNodeId);
+            try
+            {
+                List<Device> devices = _deviceService.GetDeviceList();
+
+                Device device = devices.Where(x => x.Ip.Equals(req.url) && x.Port.Equals(req.port)).FirstOrDefault();
+
+                if (device == null)
+                {
+                    Log.Instance.WriteLogAdd(ActionTypeEnum.StartCleanMachine + "设备已离线===>>" + JsonConvert.SerializeObject(req),
+                    EnumHelper.GetDescription(ActionTypeEnum.StartCleanMachine));
+                    responseData.result = "false";
+                    responseData.resultMsg = ActionTypeEnum.StartCleanMachine + "设备已离线===>>" + JsonConvert.SerializeObject(req);
+                    return responseData;
+                }
+
+                if (device.ProtocolType == ProtocalTypeEnum.HEIDEHAIN.ToString())
+                {
+
+                    RequestHeidhData hdhReq = new RequestHeidhData();
+                    hdhReq.ServerUrl = device.ServerUrl;
+                    hdhReq.MachineName = device.UserName;
+                    hdhReq.Type = "ReadAndWriteTool";
+                    hdhReq.CutterData = JsonConvert.SerializeObject(req.data);
+
+                    var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, hdhUrlContext, hdhReq, null);
+                    ResponseHeidhData responseHeidhData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
+                    if (!Result.IsSuccess || !responseHeidhData.result)
+                    {
+                        Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "机外对刀仪数据上传异常===>>" + JsonConvert.SerializeObject(req)+"======结果数据:"+ Result, "机外对刀仪");
+                        responseData.result = "false";
+                        responseData.resultMsg = Result.Message;
+                    }
+                    else
+                    {
+                        responseData.result = "true";
+                        responseData.resultMsg = "消费成功";
+                    }
+                }
+                else {
+                    responseData.result = "false";
+                    responseData.resultMsg = "没找到对应的数类型方法";
+                }
+            }
+            catch (Exception ex) {
+
+                Log.Instance.WriteLogAdd(ActionTypeEnum.StartDryMachine + "任务下发异常===>>" + ex.Message + JsonConvert.SerializeObject(req),
+                    EnumHelper.GetDescription(ActionTypeEnum.StartDryMachine));
+                responseData.result = "false";
+                responseData.resultMsg = ex.Message;
+                return responseData;
+            }
+
+
+            return responseData;    
+        }
     }
 }

+ 5 - 0
IMCS_CCS/libman.json

@@ -0,0 +1,5 @@
+{
+  "version": "1.0",
+  "defaultProvider": "cdnjs",
+  "libraries": []
+}

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
IMCS_CCS/wwwroot/db/Tasks.json


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff