From ddab693f389b648157c8b48c7fcbdefc92561dd2 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期五, 05 七月 2024 19:55:22 +0800 Subject: [PATCH] 老PCS替换代码优化,工业大屏优化,PDA功能优化 --- 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs | 104 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 80 insertions(+), 24 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs" index 91c04eb..1d9eb35 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_patternService.cs" @@ -22,6 +22,9 @@ using WIDESEA_Core.EFDbContext; using WIDESEA_WCS.Repositories; using WIDESEA_Comm; +using WIDESEA_WCS.WCSClient; +using System.Xml.Linq; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; namespace WIDESEA_WCS.Services { @@ -50,19 +53,46 @@ public WebResponseContent UpdateAuto(string v) { WebResponseContent content = new WebResponseContent(); - VOLContext context = new VOLContext(); - Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); - var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList(); - if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any()) - return content.Error("璁剧疆涓烘ā寮�1澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�"); + try + { + var model = JsonConvert.DeserializeObject<dt_pattern>(v); + if (model.pattern_state == 1) throw new Exception("褰撳墠灏辨槸妯″紡1"); + var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "妗佹灦"); + if (Gantry_client == null) throw new Exception("妗佹灦璋冨害鏈嶅姟鏈紑鍚紒"); + if (!Gantry_client.IsConnected) throw new Exception("涓庢鏋惰繛鎺ヨ秴鏃讹紒"); + VOLContext context = new VOLContext(); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); + var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList(); + if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any()) + throw new Exception("璁剧疆涓烘ā寮�1澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�"); - var model = JsonConvert.DeserializeObject<dt_pattern>(v); - model.pattern_state = 1; - var cont = _repository.Update(model, true); - if (cont > 0) - content.OK(model.pattern_name + "璁剧疆涓烘ā寮�1鎴愬姛锛�"); - else - content.Error(model.pattern_name + "璁剧疆涓烘ā寮�1澶辫触锛�"); + + #region 鍐欏叆淇″彿鍛婅瘔妗佹灦鍒囨崲妯″紡 + var ok = Gantry_client.ReadByOrder<bool>("o_enable_change_mode", model.pattern_name); + #endregion + if (ok) + { + Gantry_client.WriteByOrder("i_mode", (Int16)1, model.pattern_name); + model.pattern_state = 1; + var cont = _repository.Update(model, true); + if (cont > 0) + content.OK(model.pattern_name + "璁剧疆涓烘ā寮�1鎴愬姛锛�"); + else + throw new Exception(model.pattern_name + "璁剧疆涓烘ā寮�2澶辫触锛�"); + foreach (var stat in stations) + { + stat.enable = true; + } + stationinfoRepository.UpdateRange(stations, x => new { x.enable }, true); + } + else + content.Error(model.pattern_name + "璁剧疆涓烘ā寮�1澶辫触锛佹鏋舵湭鍏佽璁剧疆涓烘ā寮�1"); + + } + catch (Exception ex) + { + content.Error(ex.Message); + } return content; } /// <summary> @@ -73,18 +103,44 @@ public WebResponseContent UpdateManual(string v) { WebResponseContent content = new WebResponseContent(); - VOLContext context = new VOLContext(); - Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); - var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList(); - if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any()) - return content.Error("璁剧疆涓烘ā寮�2澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�"); - var model = JsonConvert.DeserializeObject<dt_pattern>(v); - model.pattern_state = 0; - var cont = _repository.Update(model, true); - if (cont > 0) - content.OK(model.pattern_name + "璁剧疆涓烘ā寮�2鎴愬姛锛�"); - else - content.Error(model.pattern_name + "璁剧疆涓烘ā寮�2澶辫触锛�"); + try + { + var model = JsonConvert.DeserializeObject<dt_pattern>(v); + if (model.pattern_state == 0) throw new Exception("褰撳墠灏辨槸妯″紡2"); + var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "妗佹灦"); + if (Gantry_client == null) throw new Exception("妗佹灦璋冨害鏈嶅姟鏈紑鍚紒"); + if (!Gantry_client.IsConnected) throw new Exception("涓庢鏋惰繛鎺ヨ秴鏃讹紒"); + VOLContext context = new VOLContext(); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); + var stations = stationinfoRepository.Find(x => x.stationCode == "X01001001" || x.stationCode == "X01001002" || x.stationCode == "X02001001" || x.stationCode == "X02001002").ToList(); + if (stations.Where(x => x.tray_status == TrayStateEnum.StrogeTray.ToString()).Any()) + throw new Exception("璁剧疆涓烘ā寮�2澶辫触锛佷笅鏂欎綅瀛樺湪杞﹁疆锛�"); + #region 鍐欏叆淇″彿鍛婅瘔妗佹灦鍒囨崲妯″紡 + var ok = Gantry_client.ReadByOrder<bool>("o_enable_change_mode", model.pattern_name); + #endregion + if (ok) + { + Gantry_client.WriteByOrder("i_mode", (Int16)2, model.pattern_name); + model.pattern_state = 0; + var cont = _repository.Update(model, true); + if (cont > 0) + content.OK(model.pattern_name + "璁剧疆涓烘ā寮�2鎴愬姛锛�"); + else + throw new Exception(model.pattern_name + "璁剧疆涓烘ā寮�2澶辫触锛�"); + foreach (var stat in stations) + { + stat.enable = false; + } + stationinfoRepository.UpdateRange(stations, x => new { x.enable }, true); + } + else + content.Error(model.pattern_name + "璁剧疆涓烘ā寮�2澶辫触锛佹鏋舵湭鍏佽璁剧疆涓烘ā寮�2"); + + } + catch (Exception ex) + { + content.Error(ex.Message); + } return content; } } -- Gitblit v1.9.3