yanjinhui
2025-03-26 42ffa2417f1a7a21412fb7f0f9985e23e8013f9b
ÏîÄ¿´úÂë/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表中有多少条,是否和工艺表中的目标一致