| | |
| | | private readonly IPutakeServer _putakeServer; |
| | | private readonly ITorqueOpServer _torqueOpServer; |
| | | |
| | | static string takeid = ""; // å¨å¾ªç¯å¼å§å声æ takeid |
| | | |
| | | public SerialPortJob(ITorqueOpServer torqueOpServer,IPutakeServer putakeServer,IProcessServer processServer, IPutakeRepository putakeRepository, IProcessRepository processRepository, ITorqueOpRepository torqueOpRepository, WebSocketServer webSocketContext) |
| | | { |
| | | _putakeRepository = putakeRepository; |
| | |
| | | _torqueOpServer= torqueOpServer; |
| | | } |
| | | |
| | | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | |
| | | if (serialPortDevice != null) |
| | | { |
| | | List<DeviceProDTO> deviceProDTOs = serialPortDevice.DeviceProDTOs; |
| | | |
| | | foreach (var item in deviceProDTOs) |
| | | { |
| | | if (item.DeviceProParamName != CommandType.Get.ToString() && item.DeviceProParamName != CommandType.Set.ToString()) |
| | |
| | | DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set)); |
| | | if (deviceProtocolDetail != null) |
| | | { |
| | | string group = item.DeviceProDataBlock; |
| | | |
| | | string group = item.DeviceProDataBlock;//ç»å« |
| | | if (group == "çµæ°" || group == "å°æ²" || group == "æºæ¢°") |
| | | { |
| | | ProcessElectricTask(group, serialPortDevice, item, deviceProtocolDetail); |
| | | { // **æ¥è¯¢ä»»å¡ä¿¡æ¯ä¸æ¬¡** |
| | | var takeResponse = _putakeServer.PerformTasks(group); |
| | | if (takeResponse == null || !takeResponse.Status) |
| | | { |
| | | Console.WriteLine($"ä»»å¡å级表æ¥å£é误ï¼{takeResponse?.Message}"); |
| | | continue; |
| | | } |
| | | |
| | | var take = JsonConvert.DeserializeObject<Dt_Putake>(JsonConvert.SerializeObject(takeResponse.Data)); |
| | | takeid = take?.Njtakeid; // ç¼åä»»å¡å· |
| | | if (takeid != null) |
| | | { |
| | | ProcessElectricTask(group, serialPortDevice, item, deviceProtocolDetail, takeid); |
| | | } |
| | | } |
| | | item.DeviceProParamName = CommandType.None.ToString(); |
| | | } |
| | |
| | | string torqueValue = ExtractTorqueValue(receiveData);//è°ç¨è½¬å¼æ¹æ³ |
| | | if (group == "çµæ°" || group == "å°æ²" || group == "æºæ¢°") |
| | | { |
| | | SaveTorqueOpData(group, devicecode, torqueValue); |
| | | if (takeid != null) |
| | | { |
| | | SaveTorqueOpData(group, devicecode, torqueValue, takeid); |
| | | } |
| | | |
| | | item.DeviceProParamName = CommandType.None.ToString(); |
| | | } |
| | | |
| | |
| | | /// <param name="serialPortDevice">串å£è®¾å¤</param> |
| | | /// <param name="item">设å¤ä¿¡æ¯</param> |
| | | /// <param name="deviceProtocolDetail">设å¤å议详æ
</param> |
| | | private void ProcessElectricTask(string group, SerialPortDevice serialPortDevice, DeviceProDTO item, DeviceProtocolDetailDTO deviceProtocolDetail) |
| | | private void ProcessElectricTask(string group, SerialPortDevice serialPortDevice, DeviceProDTO item, DeviceProtocolDetailDTO deviceProtocolDetail,string takeid) |
| | | { |
| | | //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;//æ¿å°ä»»å¡å· |
| | | |
| | | |
| | | //2.è°ç¨Getcircuitæ¿å°å½åæ¥éª¤ |
| | | var process = _processServer.Getcircuit(group, takeid); |
| | |
| | | /// <summary> |
| | | /// åå¨æç©æ°æ®å° `op` 表 |
| | | /// </summary> |
| | | private void SaveTorqueOpData(string group, string devicecode, string torqueValue) |
| | | private void SaveTorqueOpData(string group, string devicecode, string torqueValue,string takeid) |
| | | { |
| | | //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æ¿å°å½åæ¥éª¤ |
| | | var process = _processServer.Getcircuit(group, takeid); |
| | | |