qiuyao
2025-03-31 ee91fab34fcd79f3da55956897633b9cdf3e2f59
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs
@@ -58,8 +58,9 @@
        private WebSocketServer _webSocketContext;
        private readonly IProcessServer _processServer;
        private readonly IPutakeServer _putakeServer;
        private readonly ITorqueOpServer _torqueOpServer;
        public SerialPortJob(IPutakeServer putakeServer,IProcessServer processServer, IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext)
        public SerialPortJob(ITorqueOpServer torqueOpServer,IPutakeServer putakeServer,IProcessServer processServer, IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext)
        {
            _putakeRepository = putakeRepository;
            _processRepository = processRepository;
@@ -67,6 +68,7 @@
            _webSocketContext = webSocketContext;
            _processServer = processServer;
            _putakeServer = putakeServer;
            _torqueOpServer= torqueOpServer;
        }
        public Task Execute(IJobExecutionContext context)
@@ -133,10 +135,6 @@
                                        string group = item.DeviceProDataBlock; // è®¾å¤‡æ‰€å±žç»„别
                                        string devicecode = item.DeviceChildCode;//设备编号
                                        string torqueValue = ExtractTorqueValue(receiveData);//调用转值方法
                                        if (group == "电气" || group == "地沟" || group == "机械")
                                        {
                                            SaveTorqueOpData(group, devicecode, torqueValue);
@@ -203,13 +201,20 @@
        /// <param name="deviceProtocolDetail">设备协议详情</param>
        private void ProcessElectricTask(string group, SerialPortDevice serialPortDevice, DeviceProDTO item, DeviceProtocolDetailDTO deviceProtocolDetail)
        {
            //获取当前任务号  //IPutakeServer里面的待执行的第一条任务;
            var take = _putakeRepository.QueryData(x => x.Grouptype == group)
                .OrderBy(x => x.Dispatchtime)
                .FirstOrDefault();
            //1.获取当前任务号  //IPutakeServer里面的待执行的第一条任务;
            //var take = _putakeRepository.QueryData(x => x.Grouptype == group)
            //    .OrderBy(x => x.Dispatchtime)
            //    .FirstOrDefault();
            var takeResponse = _putakeServer.PerformTasks(group);
            if (takeResponse == null || !takeResponse.Status)
            {
                Console.WriteLine($"任务分级表接口错误:{takeResponse?.Message}");
            }
            var take = JsonConvert.DeserializeObject<Dt_Putake>(JsonConvert.SerializeObject(takeResponse.Data)); // ç¡®ä¿è½¬æ¢æ­£ç¡®
            var takeid = take?.Njtakeid;//拿到任务号
            //调用Getcircuit拿到当前步骤
            //2.调用Getcircuit拿到当前步骤
            var process = _processServer.Getcircuit(group, takeid);
            if (process != null && process.Status)
@@ -230,7 +235,18 @@
                    //判断op表中这个值是否有该条任务的数据
                    var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
                    //var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
                    // 3. æŸ¥è¯¢æ‰­çŸ©è®°å½•
                    var opResponse = _torqueOpServer.WhetherSaveValueData(takeid, group, setpNum);
                    if (opResponse == null || !opResponse.Status || opResponse.Data == null)
                    {
                        Console.WriteLine($"WhetherSaveValueData接口错误:{opResponse?.Message}");
                        return;
                    }
                    var op = JsonConvert.DeserializeObject<List<Dt_TorqueOp>>(JsonConvert.SerializeObject(opResponse.Data)); // ç¡®ä¿è½¬æ¢æ­£ç¡®
                    if (op.Any())//判断是否有数据
                    {
                        //找到了就要对比现在op表中有多少条,是否和工艺表中的目标一致
@@ -321,9 +337,17 @@
        /// </summary>
        private void SaveTorqueOpData(string group, string devicecode, string torqueValue)
        {
            var take = _putakeRepository.QueryData(x => x.Grouptype == group)
                                                                .OrderBy(x => x.Dispatchtime)
                                                                .FirstOrDefault();
            //var take = _putakeRepository.QueryData(x => x.Grouptype == group)
            //                                                    .OrderBy(x => x.Dispatchtime)
            //                                                    .FirstOrDefault();
            //var takeid = take?.Njtakeid;//拿到任务号
            var takeResponse = _putakeServer.PerformTasks(group);
            if (takeResponse == null || !takeResponse.Status)
            {
                Console.WriteLine($"任务分级表接口错误:{takeResponse?.Message}");
            }
            var take = JsonConvert.DeserializeObject<Dt_Putake>(JsonConvert.SerializeObject(takeResponse.Data)); // ç¡®ä¿è½¬æ¢æ­£ç¡®
            var takeid = take?.Njtakeid;//拿到任务号
            //调用Getcircuit拿到当前步骤
@@ -352,7 +376,10 @@
                        TorqueSize = float.TryParse(torqueValue, out float torque) ? torque : 0.0f, // è¿™é‡Œè¿›è¡Œå­—符串到float的转换
                        CreateDate = DateTime.Now,
                    };
                    _orqueOpRepository.AddData(Addop);
                    //_orqueOpRepository.AddData(Addop);
                    _torqueOpServer.AddData(Addop);
                }
            }
        }