From 0a430c14f3e3ceb4ba63462c4f2c92768fc79e87 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期三, 12 三月 2025 19:04:26 +0800 Subject: [PATCH] 美型 --- 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs | 186 +++++++++++++++++++++++++++++----------------- 1 files changed, 117 insertions(+), 69 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs" index 72412de..d2c82c9 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs" @@ -32,15 +32,15 @@ public enum CommandType { None = 0, - Get = 1, - Set = 2, + Get = 1,//鍙戜俊鍙� + Set = 2,//璁惧�� } public enum CommandResult { - SetOK = 0, - GetOK = 1, - GetError = 2, + SetOK = 0,//parseok + GetOK = 1,//03 + GetError = 2,//04 } private readonly IPutakeRepository _putakeRepository; private readonly IProcessRepository _processRepository; @@ -67,59 +67,107 @@ DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set)); if (deviceProtocolDetail != null) { - //鎴戣鍓嶇杩斿洖缁欐垜涓�涓粍鍒紝鍜屼换鍔d + //鍏堟煡鐘舵�佸拰缁勶紝鎸夋椂闂撮檷搴� - string group = "鐢垫皵"; - - + string group = item.DeviceProDataBlock; + + //杩欓噷鍒ゆ柇缁勫埆涓変釜鐪嬫槸閭d釜锛屽氨鏌ラ偅涓伐鑹鸿〃鐨勫�� - if (group=="鐢垫皵") + if (group == "鐢垫皵") { - - //鍏堢湅宸ヨ壓琛ㄤ腑姝ラ涓�涓鎵殑鍊兼湁澶氬皯涓� 鍐嶆煡鐪婦t_TorqueOp琛ㄤ腑鏄惁鏈夎浠诲姟鍙穒d鍜屾楠ゆ�绘暟鏄惁婊¤冻宸ヨ壓琛� - // 鏌ヨ鎵�鏈夊伐鑹烘暟鎹紝鎸夌収姝ラ鍙� SetpNum 閫掑鎺掑簭 - var processList = _processRepository.QueryData(x => x.CraftType == group) - .OrderBy(x => x.SetpNum) - .ToList(); - - foreach (var process in processList) + + // 鍏堢湅Dt_TorqueOp琛紝鏌ヨ鍒扮幇鍦ㄨ繖鏉℃暟鎹殑浠诲姟鍙峰拰姝ラ + var take = _putakeRepository.QueryData(x => x.Pustatus == 2 && x.Grouptype == group).OrderBy(x => x.Dispatchtime).First(); + if (take==null) { - float torqueone = process.TorqueOne;//璇诲埌鍊间簡 - float torquetow = process.TorqueTwo; - if (torqueone!=0) - { - serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r"); - } - if (torquetow != 0) - { - serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torquetow * 1000).ToString().PadLeft(7, '0')) + "\r"); - } - - // 璁$畻褰撳墠姝ラ鎵�闇�鐨� Torque 鎬绘暟 - int requiredTorqueCount = process.TorqueOneQuantity + process.TorqueTwoQuantity; - - // 鏌ヨ褰撳墠姝ラ鐨� TorqueOp 璁板綍锛屽尮閰� ProcessSte鍜岀粍锛屾鏌ユ槸鍚﹁揪鍒拌姹� - int torqueCount = _orqueOpRepository.QueryData(x => x.ProcessSte == process.SetpNum&& x.GroupOp== group).Count(); - - if (torqueCount < requiredTorqueCount) - { - // 濡傛灉鏁伴噺涓嶆弧瓒筹紝鍋滄璇诲彇 - - break; - } - //绗﹀悎瑕佹眰锛岀户缁鍙栦笅涓�姝� - + //绛変簬绌哄氨鍋� } - } - if (group == "鏈烘") - { + //鏌ュ埌鏈夎鏉℃暟鎹簡 + var process = _processRepository.QueryData(x => x.CraftType == group).OrderBy(x => x.SetpNum).First(); - } - if (group == "鍦版矡") - { - } + + float torqueone = process.TorqueOne;//璇诲埌鍊间簡 + float torquetow = process.TorqueTwo; + if (torqueone != 0) + { + serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r"); + //杩欓噷缁欏畠璁惧畬鍊煎氨 鏌ュ瓨鍌ㄥ�艰〃 杩欎釜鏁版嵁鏄惁婊¤冻浜嗭紝婊¤冻浜嗗氨杩涜涓嬩竴涓�硷紝涓嶆弧瓒冲氨涓嶅彉涓�鐩寸粰鍊� + var num= _orqueOpRepository.QueryData(x => x.TakeId == take.Njtakeid && x.GroupOp == group && x.TorqueSize == torqueone).Count(); + if (num!= process.TorqueOneQuantity) + { + + } + + } + if (torquetow != 0) + { + serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torquetow * 1000).ToString().PadLeft(7, '0')) + "\r"); + } + + // // 璁$畻褰撳墠姝ラ鎵�闇�鐨� Torque 鎬绘暟 + int requiredTorqueCount = process.TorqueOneQuantity + process.TorqueTwoQuantity; + + // 鏌ヨ褰撳墠姝ラ鐨� TorqueOp 璁板綍锛屽尮閰� ProcessSte鍜岀粍锛屾鏌ユ槸鍚﹁揪鍒拌姹� + int torqueCount = _orqueOpRepository.QueryData(x => x.ProcessSte == process.SetpNum && x.GroupOp == group).Count(); + + if (torqueCount < requiredTorqueCount) + { + // 濡傛灉鏁伴噺涓嶆弧瓒筹紝鍋滄璇诲彇 + + break; + } + #region + + // //鍏堢湅宸ヨ壓琛ㄤ腑姝ラ涓�涓鎵殑鍊兼湁澶氬皯涓� 鍐嶆煡鐪婦t_TorqueOp琛ㄤ腑鏄惁鏈夎浠诲姟鍙穒d鍜屾楠ゆ�绘暟鏄惁婊¤冻宸ヨ壓琛� + // // 鏌ヨ鎵�鏈夊伐鑹烘暟鎹紝鎸夌収姝ラ鍙� SetpNum 閫掑鎺掑簭 + // var processList = _processRepository.QueryData(x => x.CraftType == group) + // .OrderBy(x => x.SetpNum) + // .ToList(); + + // foreach (var process in processList) + // { + // float torqueone = process.TorqueOne;//璇诲埌鍊间簡 + // float torquetow = process.TorqueTwo; + // if (torqueone!=0) + // { + // serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torqueone * 1000).ToString().PadLeft(7, '0')) + "\r"); + // } + // if (torquetow != 0) + // { + // serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (torquetow * 1000).ToString().PadLeft(7, '0')) + "\r"); + // } + + // // 璁$畻褰撳墠姝ラ鎵�闇�鐨� Torque 鎬绘暟 + // int requiredTorqueCount = process.TorqueOneQuantity + process.TorqueTwoQuantity; + + // // 鏌ヨ褰撳墠姝ラ鐨� TorqueOp 璁板綍锛屽尮閰� ProcessSte鍜岀粍锛屾鏌ユ槸鍚﹁揪鍒拌姹� + // int torqueCount = _orqueOpRepository.QueryData(x => x.ProcessSte == process.SetpNum&& x.GroupOp== group).Count(); + + // if (torqueCount < requiredTorqueCount) + // { + // // 濡傛灉鏁伴噺涓嶆弧瓒筹紝鍋滄璇诲彇 + + // break; + // } + // //绗﹀悎瑕佹眰锛岀户缁鍙栦笅涓�姝� + + } + + //} + //if (group == "鏈烘") + //{ + + //} + //if (group == "鍦版矡") + //{ + + //} + #endregion + + + serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue.Replace("[setNum]", (5 * 1000).ToString().PadLeft(7, '0')) + "\r"); //鎵撳紑涓插彛鏃跺厛璁惧�� item.DeviceProParamName = CommandType.Set.ToString(); } @@ -173,28 +221,28 @@ if (deviceProtocolDetail != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue)) { - //杩欓噷鎴愬姛涔嬪悗锛岃瀛樺偍鍒扮湅Dt_TorqueOp锛堝瓨浠诲姟鍙凤紝缁勶紝鍊硷級 - string group = ""; - if (group == "鐢垫皵") - { - var putake = _putakeRepository.QueryData(x => x.Pustatus == 2 && x.Grouptype == group).OrderByDescending(x => x.Dispatchtime).FirstOrDefault();//姣忔閮芥嬁鏈�鏃╃殑閭f潯 - var punjid = putake.ID; - var Nj = new Dt_TorqueOp() - { - TakeId = putake.Njtakeid, - GroupOp = group, - //ProcessSte= processList - TorqueSize = receiveData + ////杩欓噷鎴愬姛涔嬪悗锛岃瀛樺偍鍒扮湅Dt_TorqueOp锛堝瓨浠诲姟鍙凤紝缁勶紝鍊硷級 + //string group = ""; + //if (group == "鐢垫皵") + //{ + // var putake = _putakeRepository.QueryData(x => x.Pustatus == 2 && x.Grouptype == group).OrderByDescending(x => x.Dispatchtime).FirstOrDefault();//姣忔閮芥嬁鏈�鏃╃殑閭f潯 + // var punjid = putake.ID; + // var Nj = new Dt_TorqueOp() + // { + // TakeId = putake.Njtakeid, + // GroupOp = group, + // //ProcessSte= processList + // TorqueSize = receiveData - }; - _orqueOpRepository.AddData(Nj); + // }; + // _orqueOpRepository.AddData(Nj); - } - if (group == "鏈烘") - { + //} + //if (group == "鏈烘") + //{ - } - if (group == "鍦版矡") + //} + //if (group == "鍦版矡") item.DeviceProParamName = CommandType.Set.ToString(); -- Gitblit v1.9.3