yanjinhui
2025-03-25 308e1a141a5d89fd9d2f97cb0d7bcb258188ef02
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Tasks/SerialPort/SerialPortTestJob.cs
@@ -141,3 +141,150 @@
//        }
//    }
//}
#region
//if (group == "电气")
//{
//    //获取当前任务号  //IPutakeServer里面的待执行的第一条任务;
//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
//        .OrderBy(x => x.Dispatchtime)
//        .FirstOrDefault();
//    var takeid = take?.Njtakeid;//拿到任务号
//    //调用Getcircuit拿到当前步骤
//    var process = _processServer.Getcircuit(group, takeid);
//    if (process != null && process.Status)
//    {
//        var list = JsonConvert.SerializeObject(process.Data);
//        var data = JsonConvert.DeserializeObject<ProcessData>(list);
//        if (data?.proNow != null)
//        {
//            int setpNum = data.proNow.SetpNum;
//            int sum = data.proNow.TorqueSum;
//            double torqueone = data.proNow.TorqueOne;
//            double torquetwo = data.proNow.TorqueTwo;
//            int onequantity = data.proNow.TorqueOneQuantity;
//            int towquantity = data.proNow.TorqueTwoQuantity;
//            //判断op表中这个值是否有该条任务的数据
//            var op = _orqueOpRepository.QueryData(x => x.TakeId == takeid && x.GroupOp == group && x.ProcessSte == setpNum);
//            if (op.Any())//判断是否有数据
//            {
//                //找到了就要对比现在op表中有多少条,是否和工艺表中的目标一致
//                // è®¡ç®—第一个扭矩的数量(在 Â±1 è¯¯å·®èŒƒå›´å†…)//Math.Abs(5.2 - 4.5) = 0.7 // è®¡å…¥ Math.Abs(6.0 - 4.5) = 1.5 ä¸è®¡å…¥
//                var oponecount = op.Count(x => Math.Abs(x.TorqueSize - torqueone) <= 1);
//                int times = 0;
//                if (op.Count() > onequantity)
//                {
//                    times = onequantity;//如果第一条以及满足就移除onequantity数量的数据
//                }
//                else
//                {
//                    times = op.Count();//没有满足就移除当前的数据数据
//                }
//                for (int i = 0; i < times; i++)
//                {
//                    //移除第一次值的影响(以为有可能俩个目标值相近而产生误判)
//                    op.RemoveAt(0); //移除 op åˆ—表的 ç¬¬ä¸€ä¸ªå…ƒç´ ï¼ˆå³æœ€æ—©å­˜å…¥çš„记录)
//                }
//                // è®¡ç®—第二个扭矩的数量(在 Â±1 è¯¯å·®èŒƒå›´å†…)
//                var optowcount = op.Count(x => Math.Abs(x.TorqueSize - torquetwo) <= 1);
//                sum = oponecount + optowcount;
//                //第一种,第一个扭力值没有扭完
//                if (oponecount < onequantity && torqueone != 0)
//                {
//                    //设值
//                    //var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
//                    //        .Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
//                              .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
//                    //格式化成整数
//                    serialPortDevice.Communicator.Write(com);
//                    //WriteDebug("写入", com);
//                }
//                //第二种,第一个值扭完了,第二个没有扭完
//                if (oponecount == onequantity && optowcount < towquantity && torquetwo != 0)
//                {
//                    //设值
//                    var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
//                            .Replace("[setNum]", Math.Round(torquetwo * 1000).ToString().PadLeft(7, '0')) + "\r";
//                    serialPortDevice.Communicator.Write(com);
//                }
//            }
//            //这里这个任务第一次执行,op表中肯定是没有数据的,所有第一次就要把工艺表中的值给它
//            else //防止步骤一中torqueone的值为0导致报错
//            {
//                //设值
//                var com = item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue
//                        .Replace("[setNum]", Math.Round(torqueone * 1000).ToString().PadLeft(7, '0')) + "\r";
//                serialPortDevice.Communicator.Write(com);
//            }
//        }
//        else
//        {
//            Console.WriteLine("proNow ä¸ºç©º");
//        }
//    }
//    else
//    {
//        Console.WriteLine($"Getcireit接口错误:{process?.Message}");
//    }
//}
#endregion
#region æ ¹æ®ä¸åŒçš„group存值
//if (group == "电气")
//{
//    var take = _putakeRepository.QueryData(x => x.Grouptype == group)
//                        .OrderBy(x => x.Dispatchtime)
//                        .FirstOrDefault();
//    var takeid = take?.Njtakeid;//拿到任务号
//    //调用Getcircuit拿到当前步骤
//    var process = _processServer.Getcircuit(group, takeid);
//    if (process != null && process.Status)
//    {
//        var list = JsonConvert.SerializeObject(process.Data);
//        var dataz = JsonConvert.DeserializeObject<ProcessData>(list);
//        if (dataz?.proNow != null)
//        {
//            int setpNum = dataz.proNow.SetpNum;
//            int sum = dataz.proNow.TorqueSum;
//            double torqueone = dataz.proNow.TorqueOne;
//            int onequantity = dataz.proNow.TorqueOneQuantity;
//            int towquantity = dataz.proNow.TorqueTwoQuantity;
//            double torquetwo = dataz.proNow.TorqueTwo;
//            Dt_TorqueOp Addop = new Dt_TorqueOp()
//            {
//                DeviceCode = devicecode,
//                TakeId = takeid,
//                GroupOp = group,
//                ProcessSte = setpNum,
//                TorqueSize = float.TryParse(torqueValue, out float torque) ? torque : 0.0f, // è¿™é‡Œè¿›è¡Œå­—符串到float的转换
//                CreateDate = DateTime.Now,
//            };
//            _orqueOpRepository.AddData(Addop);
//        }
//    }
//    item.DeviceProParamName = CommandType.None.ToString();
//}
#endregion