From 0deffcf086c01690773682b5c4e461386ab059e9 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期三, 26 六月 2024 14:43:58 +0800 Subject: [PATCH] 提交 --- 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs | 421 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 334 insertions(+), 87 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs" index 8bb61cc..34252f0 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ReadplcController.cs" @@ -1,4 +1,6 @@ 锘縰sing Microsoft.AspNetCore.Mvc; +using OfficeOpenXml.Drawing.Chart; +using System; using System.Collections.Generic; using System.Linq; using WIDESEA_Comm; @@ -16,7 +18,7 @@ public class ReadplcController : Controller { #region PCS骞抽潰鍥� - public class SectionData //姝诲弬鏁� + public class SectionData //闈欐�佸弬鏁� { public int r_direction { get; set; } public bool r_machine_nr { get; set; } @@ -25,6 +27,8 @@ public string r_wheel_SN { get; set; } public int r_wheel_type { get; set; } public string stackerNo { get; set; } + public string Name { get; set; } + public int vk_state { get; set; } } #region 杈婇亾1 @@ -33,16 +37,61 @@ { var DBIems = WheelDBItem.VK4WheelDBItem; //鑾峰彇杈婇亾锛岃緭閫佺嚎淇℃伅 var DBIems2 = VKDBItem.VK4DBItem; //VK4鐘舵�佷俊鎭璞¢泦鍚� - var DBIems3 = GantryDBItem.VK4GantryDBItem.Where(x => x.Name == "Gantry1").FirstOrDefault(); // VK4妗佹灦鏈烘鎵嬪璞¢泦鍚� + // VK4妗佹灦鏈烘鎵嬪璞¢泦鍚� + if (DBIems.Count == 0) + { + List<SectionData> DBIemss = new List<SectionData>(); + for (int i = 0; i < 32; i++) + { + var seDataList = new SectionData + { + r_direction = 0, + r_machine_nr = false, + r_part_process = 1, + r_part_status = 0, + r_wheel_SN = "", + r_wheel_type = 3, + stackerNo = "4." + i.ToString(), + }; + switch (i) + { + case 27: + seDataList.stackerNo = "鏈烘鎵�1"; + break; + case 28: + seDataList.stackerNo = "10.11"; + break; + case 29: + seDataList.stackerNo = "10.12"; + break; + case 30: + seDataList.stackerNo = "10.5"; + break; + case 31: + seDataList.stackerNo = "10.6"; + break; + default: + break; + } + DBIemss.Add(seDataList); + } + + + + List<WheelDBItem> convertedList = DBIemss.Select(sd => new WheelDBItem + { + StackerNo = sd.stackerNo, + }).ToList(); + + DBIems = convertedList; + } var Section_one = DBIems.Where(x => IsInRange(x.StackerNo, 4, 13, 4, 24)).ToList(); var Section_two = DBIems.Where(x => IsInRange(x.StackerNo, 4, 11, 4, 12)).ToList(); var Section_three = DBIems.Where(x => IsInRange(x.StackerNo, 4, 9, 4, 10)).ToList(); var Section_four = DBIems.Where(x => IsInRange(x.StackerNo, 4, 1, 4, 8)).ToList(); - - var Section_six = DBIems.Where(x => IsInRange(x.StackerNo, 10, 1, 10, 2)).ToList(); //10.1-10.2 var Section_seven = DBIems.Where(x => IsInRange(x.StackerNo, 10, 3, 10, 4)).ToList(); //10.3-10.4 var Section_eight = DBIems.Where(x => IsInRange(x.StackerNo, 10, 7, 10, 8)).ToList(); //10.7-10.8 @@ -50,44 +99,17 @@ + #region - - //var Section_five = DBIems.Where(x => IsInRange(x.StackerNo, 10, 5, 10, 6) || IsInRange(x.StackerNo, 10, 11, 10, 12)).ToList(); - var Section_five = DBIems .Where(x => IsInRange(x.StackerNo, 10, 5, 10, 6) || IsInRange(x.StackerNo, 10, 11, 10, 12)) .Select(x => CreateSectionFiveItem(x)) .ToList(); #endregion - - - - //鑰佹満姊版墜 var Section_ten = DBIems.Where(x => x.StackerNo == "鏈烘鎵�1") - .Select(x => new - { - stackerNo = x.StackerNo, - r_wheel_SN = x.R_wheel_SN, - r_wheel_type = x.R_wheel_type, - r_part_status = x.R_part_status, - r_part_process = x.R_part_process, - g_name = DBIems3.Name, - g_communication_IO = DBIems3.communication_IO, - g_drive_fault = DBIems3.drive_fault, - g_emergency_stop_portal = DBIems3.emergency_stop_portal, - g_gantry_state = DBIems3.gantry_state, - g_portal_fault = DBIems3.portal_fault, - g_power_on = DBIems3.power_on, - g_programm_running = DBIems3.programm_running, - g_ready_for_auto_start = DBIems3.ready_for_auto_start, - g_ready_for_operate = DBIems3.ready_for_operate, - g_state_AUTO = DBIems3.state_AUTO, - g_state_JOG = DBIems3.state_JOG, - g_state_MDA = DBIems3.state_MDA, - - }) + .Select(x => CreateSectionFiveItem4(x, 1)) .ToList(); @@ -101,9 +123,6 @@ r_wheel_type = x.R_wheel_type, r_part_status = x.R_part_status, r_part_process = x.R_part_process, - - - }) .ToList(); @@ -127,7 +146,24 @@ var Section_thirteen = DBIems.Where(x => x.StackerNo == "4.11").ToList(); //瑙嗚妫�娴嬪彴 var Section_fourteen = DBIems.Where(x => x.StackerNo == "4.12").ToList(); //瑙嗚妫�娴嬪彴 + var Section_fifteen = DBIems2.ToList(); + if (DBIems2.Count == 0) + { + List<SectionData> sectDataList1 = new List<SectionData>(); + var seDataList1 = new SectionData + { + Name = "VK4", + vk_state = 0, + + }; + sectDataList1.Add(seDataList1); + List<VKDBItem> convertedList = sectDataList1.Select(sd => new VKDBItem + { + Name = sd.Name, + }).ToList(); + Section_fifteen = convertedList; + } var data = new { @@ -152,7 +188,7 @@ return Ok(data); } - private object CreateSectionFiveItem(WheelDBItem x) + private object CreateSectionFiveItem(WheelDBItem x) //杞﹀簥鏁版嵁 { var stackerToMachineMap = new Dictionary<string, string> { @@ -179,11 +215,17 @@ { return new { - StackerNo = (string)null, - + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + c_machine_state = 0, }; } } + + [HttpGet("Four_unit_plc")] public IActionResult Four_unit_plc(string staname) @@ -194,12 +236,122 @@ } #endregion + #region 鍏辩敤鏂规硶锛堣緤閬�1-2锛� + private object CreateSectionFiveItem4(WheelDBItem x, int k) //鏈烘鎵嬫暟鎹� + { + var DBIems3 = GantryDBItem.VK4GantryDBItem.Where(x => x.Name == "Gantry1").FirstOrDefault(); + if (k == 2) + { + DBIems3 = GantryDBItem.VK4GantryDBItem.Where(x => x.Name == "Gantry2").FirstOrDefault(); + } + if (DBIems3 == null) + { + return new + { + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + g_name = false, + g_communication_IO = false, + g_drive_fault = false, + g_emergency_stop_portal = false, + g_gantry_state = false, + g_portal_fault = false, + g_power_on = false, + g_programm_running = false, + g_ready_for_auto_start = false, + g_ready_for_operate = false, + g_state_AUTO = false, + g_state_JOG = false, + g_state_MDA = false, + + }; + } + else + { + return new + { + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + g_name = DBIems3.Name, + g_communication_IO = DBIems3.communication_IO, + g_drive_fault = DBIems3.drive_fault, + g_emergency_stop_portal = DBIems3.emergency_stop_portal, + g_gantry_state = DBIems3.gantry_state, + g_portal_fault = DBIems3.portal_fault, + g_power_on = DBIems3.power_on, + g_programm_running = DBIems3.programm_running, + g_ready_for_auto_start = DBIems3.ready_for_auto_start, + g_ready_for_operate = DBIems3.ready_for_operate, + g_state_AUTO = DBIems3.state_AUTO, + g_state_JOG = DBIems3.state_JOG, + g_state_MDA = DBIems3.state_MDA, + + }; + } + } + #endregion + + #region 杈婇亾2 [HttpPost("Two_unit_plc")] public IActionResult Two_unit_plc() { var DBIems = WheelDBItem.VK4WheelDBItem; var DBIems3 = GantryDBItem.VK4GantryDBItem.Where(x => x.Name == "Gantry2").FirstOrDefault(); + if (DBIems.Count == 0) + { + List<SectionData> DBIemss = new List<SectionData>(); + for (int i = 0; i < 32; i++) + { + var seDataList = new SectionData + { + r_direction = 0, + r_machine_nr = false, + r_part_process = 1, + r_part_status = 0, + r_wheel_SN = "", + r_wheel_type = 3, + stackerNo = "5." + i.ToString(), + }; + switch (i) + { + case 27: + seDataList.stackerNo = "鏈烘鎵�2"; + break; + case 28: + seDataList.stackerNo = "20.11"; + break; + case 29: + seDataList.stackerNo = "20.12"; + break; + case 30: + seDataList.stackerNo = "20.5"; + break; + case 31: + seDataList.stackerNo = "20.6"; + break; + default: + break; + } + DBIemss.Add(seDataList); + } + + + + List<WheelDBItem> convertedList = DBIemss.Select(sd => new WheelDBItem + { + StackerNo = sd.stackerNo, + }).ToList(); + + DBIems = convertedList; + } + List<SectionData> DataList2 = new List<SectionData>(); var Section_one = DBIems.Where(x => IsInRange(x.StackerNo, 5, 13, 5, 24)).ToList(); @@ -226,28 +378,7 @@ //鑰佹満姊版墜锛堟満搴婁綅锛� var Section_ten = DBIems.Where(x => x.StackerNo == "鏈烘鎵�2") - .Select(x => new - { - stackerNo = x.StackerNo, - r_wheel_SN = x.R_wheel_SN, - r_wheel_type = x.R_wheel_type, - r_part_status = x.R_part_status, - r_part_process = x.R_part_process, - g_name = DBIems3.Name, - g_communication_IO = DBIems3.communication_IO, - g_drive_fault = DBIems3.drive_fault, - g_emergency_stop_portal = DBIems3.emergency_stop_portal, - g_gantry_state = DBIems3.gantry_state, - g_portal_fault = DBIems3.portal_fault, - g_power_on = DBIems3.power_on, - g_programm_running = DBIems3.programm_running, - g_ready_for_auto_start = DBIems3.ready_for_auto_start, - g_ready_for_operate = DBIems3.ready_for_operate, - g_state_AUTO = DBIems3.state_AUTO, - g_state_JOG = DBIems3.state_JOG, - g_state_MDA = DBIems3.state_MDA, - - }) + .Select(x => CreateSectionFiveItem4(x, 2)) .ToList(); @@ -322,7 +453,12 @@ { return new { - StackerNo = (string)null, + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + c_machine_state = 0, }; } @@ -346,7 +482,59 @@ var DBIems = WheelDBItem.VK5WheelDBItem; var DBIems2 = VKDBItem.VK5DBItem; //VK4鐘舵�佷俊鎭璞¢泦鍚� - var DBIems3 = GantryDBItem.VK5GantryDBItem.Where(x => x.Name == "Gantry3").FirstOrDefault(); + + + if (DBIems.Count == 0) + { + List<SectionData> DBIemss = new List<SectionData>(); + for (int i = 0; i < 31; i++) + { + var seDataList = new SectionData + { + r_direction = 0, + r_machine_nr = false, + r_part_process = 0, + r_part_status = 0, + r_wheel_SN = "", + r_wheel_type = 0, + stackerNo = "6." + i.ToString(), + }; + switch (i) + { + case 25: + seDataList.stackerNo = "7.21"; + break; + case 26: + seDataList.stackerNo = "30.9"; + break; + case 27: + seDataList.stackerNo = "30.10"; + break; + case 28: + seDataList.stackerNo = "30.4"; + break; + case 29: + seDataList.stackerNo = "30.5"; + break; + case 30: + seDataList.stackerNo = "鏈烘鎵�3"; + break; + default: + break; + } + DBIemss.Add(seDataList); + } + + + + List<WheelDBItem> convertedList = DBIemss.Select(sd => new WheelDBItem + { + StackerNo = sd.stackerNo, + }).ToList(); + + DBIems = convertedList; + } + var Section_one = DBIems.Where(x => IsInRange(x.StackerNo, 6, 13, 6, 20) || x.StackerNo == "6.24" || x.StackerNo == "7.21").ToList(); var Section_two = DBIems.Where(x => IsInRange(x.StackerNo, 6, 11, 6, 12)).ToList(); var Section_three = DBIems.Where(x => IsInRange(x.StackerNo, 6, 9, 6, 10)).ToList(); @@ -372,28 +560,7 @@ //鑰佹満姊版墜锛堟満搴婁綅锛� var Section_ten = DBIems.Where(x => x.StackerNo == "鏈烘鎵�3") - .Select(x => new - { - stackerNo = x.StackerNo, - r_wheel_SN = x.R_wheel_SN, - r_wheel_type = x.R_wheel_type, - r_part_status = x.R_part_status, - r_part_process = x.R_part_process, - g_name = DBIems3.Name, - g_communication_IO = DBIems3.communication_IO, - g_drive_fault = DBIems3.drive_fault, - g_emergency_stop_portal = DBIems3.emergency_stop_portal, - g_gantry_state = DBIems3.gantry_state, - g_portal_fault = DBIems3.portal_fault, - g_power_on = DBIems3.power_on, - g_programm_running = DBIems3.programm_running, - g_ready_for_auto_start = DBIems3.ready_for_auto_start, - g_ready_for_operate = DBIems3.ready_for_operate, - g_state_AUTO = DBIems3.state_AUTO, - g_state_JOG = DBIems3.state_JOG, - g_state_MDA = DBIems3.state_MDA, - - }) + .Select(x => CreateSectionFiveItem4(x)) .ToList(); var Section_twelve = DBIems.Where(x => x.StackerNo == "鏈烘鎵�3").ToList(); //鏂版満姊版墜锛堜笅鏂欏彛浣嶏級 @@ -415,6 +582,22 @@ var Section_eleven = sectDataList7.ToList(); //娑傛补鏈� var Section_fifteen = DBIems2.ToList(); + if (DBIems2.Count == 0) + { + List<SectionData> sectDataList1 = new List<SectionData>(); + var seDataList1 = new SectionData + { + Name = "VK5", + vk_state = 0, + + }; + sectDataList1.Add(seDataList1); + List<VKDBItem> convertedList = sectDataList1.Select(sd => new VKDBItem + { + Name = sd.Name, + }).ToList(); + Section_fifteen = convertedList; + } var data = new { @@ -464,11 +647,71 @@ { return new { - StackerNo = (string)null, + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + c_machine_state = 0 }; } } + private object CreateSectionFiveItem4(WheelDBItem x) //鏈烘鎵嬫暟鎹� + { + var DBIems3 = GantryDBItem.VK5GantryDBItem.Where(x => x.Name == "Gantry3").FirstOrDefault(); + if (DBIems3 == null) + { + return new + { + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + g_name = false, + g_communication_IO = false, + g_drive_fault = false, + g_emergency_stop_portal = false, + g_gantry_state = false, + g_portal_fault = false, + g_power_on = false, + g_programm_running = false, + g_ready_for_auto_start = false, + g_ready_for_operate = false, + g_state_AUTO = false, + g_state_JOG = false, + g_state_MDA = false, + + }; + } + else + { + return new + { + stackerNo = x.StackerNo, + r_wheel_SN = x.R_wheel_SN, + r_wheel_type = x.R_wheel_type, + r_part_status = x.R_part_status, + r_part_process = x.R_part_process, + g_name = DBIems3.Name, + g_communication_IO = DBIems3.communication_IO, + g_drive_fault = DBIems3.drive_fault, + g_emergency_stop_portal = DBIems3.emergency_stop_portal, + g_gantry_state = DBIems3.gantry_state, + g_portal_fault = DBIems3.portal_fault, + g_power_on = DBIems3.power_on, + g_programm_running = DBIems3.programm_running, + g_ready_for_auto_start = DBIems3.ready_for_auto_start, + g_ready_for_operate = DBIems3.ready_for_operate, + g_state_AUTO = DBIems3.state_AUTO, + g_state_JOG = DBIems3.state_JOG, + g_state_MDA = DBIems3.state_MDA, + + }; + } + } + [HttpGet("Four_unit_plc3")] public IActionResult Four_unit_plc3(string staname) @@ -477,6 +720,9 @@ return Ok(data); } + + + #endregion @@ -508,7 +754,8 @@ Idt_mes_headRepository db = new dt_mes_headRepository(volContext); Idt_mes_detailRepository dbs = new dt_mes_detailRepository(volContext); var data = db.Find(_ => true).Where(x => x.processCode == "28").OrderByDescending(x => x.CreateTime).Take(10).ToList(); - var dataList = data.Select(x => new { + var dataList = data.Select(x => new + { jobID = x.jobID, drawingNo = x.drawingNo, quantity = x.quantity, -- Gitblit v1.9.3