´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/PLCDBItem/GantryDBItem.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,98 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_Comm { public class GantryDBItem { /// <summary> /// VK4æ¡æ¶æºæ¢°æå¯¹è±¡éå /// </summary> public static List<GantryDBItem> VK4GantryDBItem = new List<GantryDBItem>(); /// <summary> /// VK5æ¡æ¶æºæ¢°æå¯¹è±¡éå /// </summary> public static List<GantryDBItem> VK5GantryDBItem = new List<GantryDBItem>(); /// <summary> /// åç§° /// </summary> public string Name { get; set; } /// <summary> /// çµæº /// </summary> public Boolean power_on { get; set; } /// <summary> /// åå¤è¿è¡ /// </summary> public Boolean ready_for_operate { get; set; } /// <summary> /// åå¤èªå¨å¯å¨ /// </summary> public Boolean ready_for_auto_start { get; set; } /// <summary> /// æä½æ¨¡å¼æå¨ /// </summary> public Boolean state_JOG { get; set; } /// <summary> /// æä½æ¨¡å¼(åèªå¨)æå¨è¾å ¥ï¼èªå¨è¿è¡ /// </summary> public Boolean state_MDA { get; set; } /// <summary> /// æä½æ¨¡å¼èªå¨ /// </summary> public Boolean state_AUTO { get; set; } /// <summary> /// éä¿¡ /// </summary> public Boolean communication_IO { get; set; } /// <summary> /// 驱卿 é /// </summary> public Boolean drive_fault { get; set; } /// <summary> /// 鍿 é /// </summary> public Boolean portal_fault { get; set; } /// <summary> /// ç´§æ¥åæ¢ /// </summary> public Boolean emergency_stop_portal { get; set; } /// <summary> /// æ éä¿®å¤ /// </summary> //public Boolean breakdown_repair { get; set; } /// <summary> /// æ éç»´ä¿® /// </summary> //public Boolean breakdown_maintenance { get; set; } /// <summary> /// æºå¨æ éè¿ç¨åæ¢ /// </summary> //public Boolean breakdown_changeover { get; set; } /// <summary> /// CNCå¯å¨åç¨åºè¿è¡ /// </summary> public Boolean programm_running { get; set; } /// <summary> /// ç¶æ /// </summary> public Int16 gantry_state { get; set; } /// <summary> /// æ éä¿¡æ¯éé /// </summary> //public string fault_channel { get; set; } /// <summary> /// æ éä¿¡æ¯è½´é©±å¨å¨ /// </summary> //public string fault_axes_drives { get; set; } /// <summary> /// æ éä¿¡æ¯ç¨æ·åº /// </summary> //public string fault_user_0_to1 { get; set; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/PLCDBItem/MachineDBItem.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,182 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_Comm { public class MachineDBItem { /// <summary> /// VK4æºåºå¯¹è±¡éå /// </summary> public static List<MachineDBItem> VK4MachineDBItem = new List<MachineDBItem>(); /// <summary> /// VK5æºåºå¯¹è±¡éå /// </summary> public static List<MachineDBItem> VK5MachineDBItem = new List<MachineDBItem>(); /// <summary> /// åç§° /// </summary> public string Name { get; set; } /// <summary> /// çµæº /// </summary> public Boolean Power_on { get; set; } /// <summary> /// åå¤å°±ç»ª /// </summary> public Boolean Ready_for_operate { get; set; } /// <summary> /// åå¤å¥½èªå¨å¯å¨ /// </summary> public Boolean Ready_for_Auto_start { get; set; } /// <summary> /// 工使¨¡å¼JOG /// </summary> public Boolean state_JOG { get; set; } /// <summary> /// è¿è¡æ¨¡å¼MDA /// </summary> public Boolean state_MDA { get; set; } /// <summary> /// æä½æ¨¡å¼AUTO /// </summary> public Boolean state_AUTO { get; set; } /// <summary> /// å®å ¨é¨å ³é /// </summary> public Boolean Safetydoors_closed { get; set; } /// <summary> /// 主转轴å¨Autoä¸è¿è¡ /// </summary> public Boolean Spindel_running { get; set; } /// <summary> /// éä¿¡ /// </summary> public Boolean Kommunikation_IO { get; set; } /// <summary> /// æ¶²åæ é /// </summary> public Boolean Hydraulik_fault { get; set; } /// <summary> /// è¿æé©±å¨æ é /// </summary> public Boolean feeddrive_fault { get; set; } /// <summary> /// 主驱å¨å¨æ é /// </summary> public Boolean Maindrive_fault { get; set; } /// <summary> /// æºå¨æ é /// </summary> public Boolean Machine_fault { get; set; } /// <summary> /// å·å´åæ é /// </summary> public Boolean Coolant_fault { get; set; } /// <summary> /// æå±æ é /// </summary> public Boolean Chipremoval_fault { get; set; } /// <summary> /// å·å´ååå¤å·¥ä½ /// </summary> public Boolean Coolant_ready_operate { get; set; } /// <summary> /// æå±åå¤å·¥ä½ /// </summary> public Boolean Chipremoval_ready_operat { get; set; } /// <summary> /// æºå¨ç´§æ¥åæ¢ /// </summary> public Boolean Emergency_Stop_machine { get; set; } /// <summary> /// æºå¨æ éä¿®ç /// </summary> public Boolean Breakdown_repair { get; set; } /// <summary> /// æºå¨æ éç»´æ¤ /// </summary> public Boolean Breakdown_maintenance { get; set; } /// <summary> /// æºå¨æ éæ´æ¢ /// </summary> public Boolean Breakdown_Toolchange { get; set; } /// <summary> /// æºå¨æ éè¿ç¨åæ¢ /// </summary> public Boolean Breakdown_changeover { get; set; } /// <summary> /// CNCå¯å¨åç¨åºè¿è¡ /// </summary> public Boolean Programm_running { get; set; } /// <summary> /// å 工第1é¢ /// </summary> public Boolean Prog_sel_side_1 { get; set; } /// <summary> /// å 工第2é¢ /// </summary> public Boolean Prog_sel_side_2 { get; set; } /// <summary> /// 第1é¢å®æ /// </summary> public Boolean programm_side_1_finished { get; set; } /// <summary> /// è£ è½½1é¢å®æ /// </summary> public Boolean load_side_1_finished { get; set; } /// <summary> /// 第2é¢å®æ /// </summary> public Boolean programm_side_2_finished { get; set; } /// <summary> /// è£ è½½2é¢å®æ /// </summary> public Boolean load_side_2_finished { get; set; } /// <summary> /// å·¥å ·åæ¢1 /// </summary> public Boolean Toolchange_magazine_1 { get; set; } /// <summary> /// å·¥å ·åæ¢2 /// </summary> public Boolean Toolchange_magazine_2 { get; set; } /// <summary> /// å·¥å ·å·²åæ¢1 /// </summary> public Int16 Changed_tool_mag_1 { get; set; } /// <summary> /// Duplonr已忢1 /// </summary> public Int16 Dupl_tool_mag_1 { get; set; } /// <summary> /// å·¥å ·å·²åæ¢2 /// </summary> public Int16 Changed_tool_mag_2 { get; set; } /// <summary> /// Duplonr已忢2 /// </summary> public Int16 Dupl_tool_mag_2 { get; set; } /// <summary> /// æºå¨ä¸çé¶ä»¶ç±»å /// </summary> public Int16 Parttype { get; set; } /// <summary> /// é¶ä»¶è®¡æ°å¨ /// </summary> public Int32 partcounter { get; set; } /// <summary> /// HMIä¸çæä½äººID /// </summary> public Int16 operator_ID { get; set; } /// <summary> /// æºå¨ç¶æ /// </summary> public Int16 machine_state { get; set; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/PLCDBItem/VKDBItem.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_Comm { public class VKDBItem { /// <summary> /// VK4ç¶æä¿¡æ¯å¯¹è±¡éå /// </summary> public static List<VKDBItem> VK4DBItem = new List<VKDBItem>(); /// <summary> /// VK5ç¶æä¿¡æ¯å¯¹è±¡éå /// </summary> public static List<VKDBItem> VK5DBItem = new List<VKDBItem>(); /// <summary> /// åç§° /// </summary> public string Name { get; set; } /// <summary> /// çµæº /// </summary> public Boolean power_on { get; set; } /// <summary> /// åå¤è¿è¡ /// </summary> public Boolean ready_for_operate { get; set; } /// <summary> /// åå¤èªå¨å¯å¨ /// </summary> public Boolean ready_for_auto_start { get; set; } /// <summary> /// VKæ é /// </summary> public Boolean VK_Fault { get; set; } public Boolean bag_out_1_Fault { get; set; } public Boolean bag_in_1_Fault { get; set; } public Boolean bag_out_2_Fault { get; set; } public Boolean bag_in_2_Fault { get; set; } public Boolean safety_OK { get; set; } public Boolean state_JOG_bag1 { get; set; } public Boolean state_AUTO_bag1 { get; set; } public Boolean state_JOG_bag2 { get; set; } public Boolean state_AUTO_bag2 { get; set; } public Boolean state_JOG_bag3 { get; set; } public Boolean state_AUTO_bag3 { get; set; } public Boolean state_JOG_bag4 { get; set; } public Boolean state_AUTO_bag4 { get; set; } public Boolean safetydoor_1_closed { get; set; } public Boolean safetydoor_2_closed { get; set; } public Boolean safetydoor_3_closed { get; set; } public Boolean safetydoor_4_closed { get; set; } public Boolean safetydoor_5_closed { get; set; } public Boolean safetydoor_6_closed { get; set; } public Boolean safetydoor_7_closed { get; set; } public Boolean safetydoor_8_closed { get; set; } public Boolean safetydoor_9_closed { get; set; } /// <summary> /// vkç¶æ /// </summary> public Int16 vk_state { get; set; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/WCS/dt_info_trace.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,280 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *å¦ææ°æ®åºå段åçååï¼è¯·å¨ä»£ç çå¨éæ°çææ¤Model */ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Entity.SystemModels; namespace WIDESEA_Entity.DomainModels { [Entity(TableCnName = "车轮信æ¯è¿½æº¯",TableName = "dt_info_trace")] public partial class dt_info_trace:BaseEntity { /// <summary> /// /// </summary> //[Display(Name ="ID")] //[Column(TypeName="int")] //[Required(AllowEmptyStrings=false)] //public int ID { get; set; } /// <summary> ///ä¸»é® /// </summary> [Key] [Display(Name ="主é®")] [Column(TypeName="uniqueidentifier")] [Required(AllowEmptyStrings=false)] public Guid trace_id { get; set; } /// <summary> ///车轮SNå· /// </summary> [Display(Name ="车轮SNå·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] [Required(AllowEmptyStrings=false)] public string trace_SN { get; set; } /// <summary> ///ç¶æ(å¾ å å·¥,å·²å å·¥) /// </summary> [Display(Name ="ç¶æ(å¾ å å·¥,å·²å å·¥)")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_status { get; set; } /// <summary> ///å·¥ä½ä»¤å· /// </summary> [Display(Name ="å·¥ä½ä»¤å·")] [MaxLength(50)] [Column(TypeName="nvarchar(50)")] public string trace_workOrder { get; set; } /// <summary> ///产ååç§° /// </summary> [Display(Name ="产ååç§°")] [MaxLength(40)] [Column(TypeName="nvarchar(40)")] public string trace_productName { get; set; } /// <summary> ///产åå¾å· /// </summary> [Display(Name ="产åå¾å·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_drawingNo { get; set; } /// <summary> ///çç¼çå· /// </summary> [Display(Name ="çç¼çå·")] [MaxLength(30)] [Column(TypeName="nvarchar(30)")] public string trace_heatBatchID { get; set; } /// <summary> ///çä»£å· /// </summary> [Display(Name ="ç代å·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_heatID { get; set; } /// <summary> ///é¢å¯å· /// </summary> [Display(Name ="é¢å¯å·")] [MaxLength(10)] [Column(TypeName="nvarchar(10)")] public string trace_billetID { get; set; } /// <summary> ///ç产线ç¼å· /// </summary> [Display(Name ="ç产线ç¼å·")] [MaxLength(10)] [Column(TypeName="nvarchar(10)")] public string trace_line_number { get; set; } /// <summary> ///ä¸çº¿æ¶é´ /// </summary> [Display(Name ="ä¸çº¿æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_online_time { get; set; } /// <summary> ///æºåºç¼å· /// </summary> [Display(Name ="æºåºç¼å·")] [MaxLength(10)] [Column(TypeName="nvarchar(10)")] public string trace_mach_number { get; set; } /// <summary> ///å å·¥å¼å§æ¶é´ /// </summary> [Display(Name ="å å·¥å¼å§æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_mach_start_time { get; set; } /// <summary> ///å 工宿æ¶é´ /// </summary> [Display(Name ="å 工宿æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_mach_finish_time { get; set; } /// <summary> ///å 工质éç¶æ /// </summary> [Display(Name ="å 工质éç¶æ")] [Column(TypeName="int")] public int? trace_mach_statu { get; set; } /// <summary> ///宿æ åµ /// </summary> [Display(Name ="宿æ åµ")] [Column(TypeName="int")] public int? trace_process { get; set; } /// <summary> ///æä½äººå /// </summary> [Display(Name ="æä½äººå")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_operator { get; set; } /// <summary> ///çç» /// </summary> [Display(Name ="çç»")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_shift { get; set; } /// <summary> ///é¢éåå®¶ /// </summary> [Display(Name ="é¢éåå®¶")] [MaxLength(50)] [Column(TypeName="nvarchar(50)")] public string trace_manufacturer { get; set; } /// <summary> ///ä¸çº¿æ¶é´ /// </summary> [Display(Name ="ä¸çº¿æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_offline_time { get; set; } /// <summary> ///è§è§æ£æµç¼å· /// </summary> [Display(Name ="è§è§æ£æµç¼å·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_tcvm_number { get; set; } /// <summary> ///è§è§æ£æµå¼å§æ¶é´ /// </summary> [Display(Name ="è§è§æ£æµå¼å§æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_tcvm_start_time { get; set; } /// <summary> ///è§è§æ£æµå®ææ¶é´ /// </summary> [Display(Name ="è§è§æ£æµå®ææ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_tcvm_finish_time { get; set; } /// <summary> ///æ£æµè´¨éç¶æ /// </summary> [Display(Name ="æ£æµè´¨éç¶æ")] [Column(TypeName="int")] public int? trace_tcvm_statu { get; set; } /// <summary> ///å·é²éæ¶²æ¶é´ /// </summary> [Display(Name ="å·é²éæ¶²æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_liquoring_time { get; set; } /// <summary> ///䏿ä½ç¼å· /// </summary> [Display(Name ="䏿ä½ç¼å·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_bait_number { get; set; } /// <summary> ///䏿æ¶é´ /// </summary> [Display(Name ="䏿æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_baiting_time { get; set; } /// <summary> ///å»å(å¾ æ£åº,å¤ååº) /// </summary> [Display(Name ="å»å(å¾ æ£åº,å¤ååº)")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_direction { get; set; } /// <summary> ///å ¥åºæ¶é´ /// </summary> [Display(Name ="å ¥åºæ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_in_time { get; set; } /// <summary> ///䏿ä½ç¼å· /// </summary> [Display(Name ="䏿ä½ç¼å·")] [MaxLength(20)] [Column(TypeName="nvarchar(20)")] public string trace_load_number { get; set; } /// <summary> ///䏿æ¶é´ /// </summary> [Display(Name ="䏿æ¶é´")] [Column(TypeName="datetime")] public DateTime? trace_loading_time { get; set; } /// <summary> ///ç¼ºé·æè¿° /// </summary> [Display(Name ="ç¼ºé·æè¿°")] [Column(TypeName="nvarchar(max)")] public string trace_defect { get; set; } /// <summary> ///夿³¨ï¼æ³¨æäºé¡¹ /// </summary> [Display(Name ="夿³¨ï¼æ³¨æäºé¡¹")] [Column(TypeName="nvarchar(max)")] public string trace_remark { get; set; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/WCS/partial/dt_info_trace.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *å¦ææ°æ®åºå段åçååï¼è¯·å¨ä»£ç çå¨éæ°çææ¤Model */ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Entity.SystemModels; namespace WIDESEA_Entity.DomainModels { public partial class dt_info_trace { //æ¤å¤é ç½®åæ®µ(åæ®µé ç½®è§æ¤modelçå¦ä¸ä¸ªpartial),å¦æè¡¨ä¸æ²¡ææ¤å段请å ä¸ [NotMapped]屿§ï¼å¦åä¼å¼å¸¸ } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/WCS/dt_info_traceMapConfig.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ using WIDESEA_Entity.MappingConfiguration; using WIDESEA_Entity.DomainModels; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace WIDESEA_Entity.MappingConfiguration { public class dt_info_traceMapConfig : EntityMappingConfiguration<dt_info_trace> { public override void Map(EntityTypeBuilder<dt_info_trace> builderTable) { //b.Property(x => x.StorageName).HasMaxLength(45); } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Common/equipment/GetWheelDate.cs
@@ -3,8 +3,10 @@ using System.Linq; using System.Reflection; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using WIDESEA_Comm; using WIDESEA_Core.Extensions; using WIDESEA_WCS.WCSClient; namespace WIDESEA_WCS @@ -12,13 +14,13 @@ public class GetDate { /// <summary> /// è·åè½¦è½®æ°æ® /// è·åè½¦è½®æ°æ®ä¿¡æ¯ /// </summary> public static List<WheelDBItem> GetWheelDate(PLCClient client) { List<WheelDBItem> wheelDBItems = new List<WheelDBItem>(); PropertyInfo[] propertyInfos = typeof(WheelDBItem).GetProperties(); var groups = client.itemGroups.OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); var groups = client.itemGroups.Where(x => x.opratortype == "wheel").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); foreach (var key in groups) { WheelDBItem StackerDBItem = new WheelDBItem(); @@ -56,5 +58,344 @@ } return wheelDBItems; } /// <summary> /// è·åVKç¶æä¿¡æ¯ /// </summary> /// <param name="client"></param> /// <returns></returns> public static List<VKDBItem> GetVKDate(PLCClient client) { List<VKDBItem> vKDBItems = new List<VKDBItem>(); PropertyInfo[] propertyInfos = typeof(VKDBItem).GetProperties(); var groups = client.itemGroups.Where(x => x.opratortype == "VK").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); foreach (var key in groups) { VKDBItem StackerDBItem = new VKDBItem(); foreach (var propertyInfo in propertyInfos) { if (propertyInfo.Name == "Name") { StackerDBItem.Name = key.Key; } else { DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); if (group != null) { var readData = DBExtension.Read(group, client); switch (propertyInfo.Name) { case "power_on": StackerDBItem.power_on = Convert.ToBoolean(readData); break; case "ready_for_operate": StackerDBItem.ready_for_operate = Convert.ToBoolean(readData); break; case "ready_for_auto_start": StackerDBItem.ready_for_auto_start = Convert.ToBoolean(readData); break; case "VK_Fault": StackerDBItem.VK_Fault = Convert.ToBoolean(readData); break; case "bag_out_1_Fault": StackerDBItem.bag_out_1_Fault = Convert.ToBoolean(readData); break; case "bag_in_1_Fault": StackerDBItem.bag_in_1_Fault = Convert.ToBoolean(readData); break; case "bag_out_2_Fault": StackerDBItem.bag_out_2_Fault = Convert.ToBoolean(readData); break; case "bag_in_2_Fault": StackerDBItem.bag_in_2_Fault = Convert.ToBoolean(readData); break; case "safety_OK": StackerDBItem.safety_OK = Convert.ToBoolean(readData); break; case "state_JOG_bag1": StackerDBItem.state_JOG_bag1 = Convert.ToBoolean(readData); break; case "state_AUTO_bag1": StackerDBItem.state_AUTO_bag1 = Convert.ToBoolean(readData); break; case "state_JOG_bag2": StackerDBItem.state_JOG_bag2 = Convert.ToBoolean(readData); break; case "state_AUTO_bag2": StackerDBItem.state_AUTO_bag2 = Convert.ToBoolean(readData); break; case "state_JOG_bag3": StackerDBItem.state_JOG_bag3 = Convert.ToBoolean(readData); break; case "state_AUTO_bag3": StackerDBItem.state_AUTO_bag3 = Convert.ToBoolean(readData); break; case "state_JOG_bag4": StackerDBItem.state_JOG_bag4 = Convert.ToBoolean(readData); break; case "state_AUTO_bag4": StackerDBItem.state_AUTO_bag4 = Convert.ToBoolean(readData); break; case "safetydoor_1_closed": StackerDBItem.safetydoor_1_closed = Convert.ToBoolean(readData); break; case "safetydoor_2_closed": StackerDBItem.safetydoor_2_closed = Convert.ToBoolean(readData); break; case "safetydoor_3_closed": StackerDBItem.safetydoor_3_closed = Convert.ToBoolean(readData); break; case "safetydoor_4_closed": StackerDBItem.safetydoor_4_closed = Convert.ToBoolean(readData); break; case "safetydoor_5_closed": StackerDBItem.safetydoor_5_closed = Convert.ToBoolean(readData); break; case "safetydoor_6_closed": StackerDBItem.safetydoor_6_closed = Convert.ToBoolean(readData); break; case "safetydoor_7_closed": StackerDBItem.safetydoor_7_closed = Convert.ToBoolean(readData); break; case "safetydoor_8_closed": StackerDBItem.safetydoor_8_closed = Convert.ToBoolean(readData); break; case "safetydoor_9_closed": StackerDBItem.safetydoor_9_closed = Convert.ToBoolean(readData); break; case "vk_state": StackerDBItem.vk_state = Convert.ToInt16(readData); break; } } } } vKDBItems.Add(StackerDBItem); } return vKDBItems; } /// <summary> /// è·åæºåºç¶æä¿¡æ¯ /// </summary> /// <param name="client"></param> /// <returns></returns> public static List<MachineDBItem> GetMachineDate(PLCClient client) { List<MachineDBItem> machineDBItems = new List<MachineDBItem>(); PropertyInfo[] propertyInfos = typeof(MachineDBItem).GetProperties(); var groups = client.itemGroups.Where(x => x.opratortype == "machine").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); foreach (var key in groups) { MachineDBItem StackerDBItem = new MachineDBItem(); foreach (var propertyInfo in propertyInfos) { if (propertyInfo.Name == "Name") { StackerDBItem.Name = key.Key; } else { DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); if (group != null) { var readData = DBExtension.Read(group, client); switch (propertyInfo.Name) { case "Power_on": StackerDBItem.Power_on = Convert.ToBoolean(readData); break; case "Ready_for_operate": StackerDBItem.Ready_for_operate = Convert.ToBoolean(readData); break; case "Ready_for_Auto_start": StackerDBItem.Ready_for_Auto_start = Convert.ToBoolean(readData); break; case "state_JOG": StackerDBItem.state_JOG = Convert.ToBoolean(readData); break; case "state_MDA": StackerDBItem.state_MDA = Convert.ToBoolean(readData); break; case "state_AUTO": StackerDBItem.state_AUTO = Convert.ToBoolean(readData); break; case "Safetydoors_closed": StackerDBItem.Safetydoors_closed = Convert.ToBoolean(readData); break; case "Spindel_running": StackerDBItem.Spindel_running = Convert.ToBoolean(readData); break; case "Kommunikation_IO": StackerDBItem.Kommunikation_IO = Convert.ToBoolean(readData); break; case "Hydraulik_fault": StackerDBItem.Hydraulik_fault = Convert.ToBoolean(readData); break; case "feeddrive_fault": StackerDBItem.feeddrive_fault = Convert.ToBoolean(readData); break; case "Maindrive_fault": StackerDBItem.Maindrive_fault = Convert.ToBoolean(readData); break; case "Machine_fault": StackerDBItem.Machine_fault = Convert.ToBoolean(readData); break; case "Coolant_fault": StackerDBItem.Coolant_fault = Convert.ToBoolean(readData); break; case "Chipremoval_fault": StackerDBItem.Chipremoval_fault = Convert.ToBoolean(readData); break; case "Coolant_ready_operate": StackerDBItem.Coolant_ready_operate = Convert.ToBoolean(readData); break; case "Chipremoval_ready_operat": StackerDBItem.Chipremoval_ready_operat = Convert.ToBoolean(readData); break; case "Emergency_Stop_machine": StackerDBItem.Emergency_Stop_machine = Convert.ToBoolean(readData); break; case "Breakdown_repair": StackerDBItem.Breakdown_repair = Convert.ToBoolean(readData); break; case "Breakdown_maintenance": StackerDBItem.Breakdown_maintenance = Convert.ToBoolean(readData); break; case "Breakdown_Toolchange": StackerDBItem.Breakdown_Toolchange = Convert.ToBoolean(readData); break; case "Breakdown_changeover": StackerDBItem.Breakdown_changeover = Convert.ToBoolean(readData); break; case "Programm_running": StackerDBItem.Programm_running = Convert.ToBoolean(readData); break; case "Prog_sel_side_1": StackerDBItem.Prog_sel_side_1 = Convert.ToBoolean(readData); break; case "Prog_sel_side_2": StackerDBItem.Prog_sel_side_2 = Convert.ToBoolean(readData); break; case "programm_side_1_finished": StackerDBItem.programm_side_1_finished = Convert.ToBoolean(readData); break; case "load_side_1_finished": StackerDBItem.load_side_1_finished = Convert.ToBoolean(readData); break; case "programm_side_2_finished": StackerDBItem.programm_side_2_finished = Convert.ToBoolean(readData); break; case "load_side_2_finished": StackerDBItem.load_side_2_finished = Convert.ToBoolean(readData); break; case "Toolchange_magazine_1": StackerDBItem.Toolchange_magazine_1 = Convert.ToBoolean(readData); break; case "Toolchange_magazine_2": StackerDBItem.Toolchange_magazine_2 = Convert.ToBoolean(readData); break; case "Changed_tool_mag_1": StackerDBItem.Changed_tool_mag_1 = Convert.ToInt16(readData); break; case "Dupl_tool_mag_1": StackerDBItem.Dupl_tool_mag_1 = Convert.ToInt16(readData); break; case "Changed_tool_mag_2": StackerDBItem.Changed_tool_mag_2 = Convert.ToInt16(readData); break; case "Dupl_tool_mag_2": StackerDBItem.Dupl_tool_mag_2 = Convert.ToInt16(readData); break; case "Parttype": StackerDBItem.Parttype = Convert.ToInt16(readData); break; case "partcounter": StackerDBItem.partcounter = Convert.ToInt32(readData); break; case "operator_ID": StackerDBItem.operator_ID = Convert.ToInt16(readData); break; case "machine_state": StackerDBItem.machine_state = Convert.ToInt16(readData); break; } } } } machineDBItems.Add(StackerDBItem); } return machineDBItems; } /// <summary> /// è·åæ¡æ¶æºæ¢°æç¶æä¿¡æ¯ /// </summary> /// <param name="client"></param> /// <returns></returns> public static List<GantryDBItem> GetGantryDate(PLCClient client) { List<GantryDBItem> gantryDBItems = new List<GantryDBItem>(); PropertyInfo[] propertyInfos = typeof(GantryDBItem).GetProperties(); var groups = client.itemGroups.Where(x => x.opratortype == "Gantry").OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList(); foreach (var key in groups) { GantryDBItem StackerDBItem = new GantryDBItem(); foreach (var propertyInfo in propertyInfos) { if (propertyInfo.Name == "Name") { StackerDBItem.Name = key.Key; } else { DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name); if (group != null) { var readData = DBExtension.Read(group, client); switch (propertyInfo.Name) { case "power_on": StackerDBItem.power_on = Convert.ToBoolean(readData); break; case "ready_for_operate": StackerDBItem.ready_for_operate = Convert.ToBoolean(readData); break; case "ready_for_auto_start": StackerDBItem.ready_for_auto_start = Convert.ToBoolean(readData); break; case "state_JOG": StackerDBItem.state_JOG = Convert.ToBoolean(readData); break; case "state_MDA": StackerDBItem.state_MDA = Convert.ToBoolean(readData); break; case "state_AUTO": StackerDBItem.state_AUTO = Convert.ToBoolean(readData); break; case "communication_IO": StackerDBItem.communication_IO = Convert.ToBoolean(readData); break; case "drive_fault": StackerDBItem.drive_fault = Convert.ToBoolean(readData); break; case "portal_fault": StackerDBItem.portal_fault = Convert.ToBoolean(readData); break; case "emergency_stop_portal": StackerDBItem.emergency_stop_portal = Convert.ToBoolean(readData); break; case "programm_running": StackerDBItem.programm_running = Convert.ToBoolean(readData); break; case "gantry_state": StackerDBItem.gantry_state = Convert.ToInt16(readData); break; } } } } gantryDBItems.Add(StackerDBItem); } return gantryDBItems; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/IRepositories/WCS/Idt_info_traceRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *Repositoryæä¾æ°æ®åºæä½ï¼å¦æè¦å¢å æ°æ®åºæä½è¯·å¨å½åç®å½ä¸Partialæä»¶å¤¹Idt_info_traceRepositoryç¼åæ¥å£ */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.BaseProvider; using WIDESEA_Entity.DomainModels; using WIDESEA_Core.Extensions.AutofacManager; namespace WIDESEA_WCS.IRepositories { public partial interface Idt_info_traceRepository : IDependency,IRepository<dt_info_trace> { } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/IServices/WCS/Idt_info_traceService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç */ using WIDESEA_Core.BaseProvider; using WIDESEA_Entity.DomainModels; namespace WIDESEA_WCS.IServices { public partial interface Idt_info_traceService : IService<dt_info_trace> { } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/IServices/WCS/Partial/Idt_info_traceService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ /* *ææå ³äºdt_info_traceç±»çä¸å¡ä»£ç æ¥å£åºå¨æ¤å¤ç¼å */ using WIDESEA_Core.BaseProvider; using WIDESEA_Entity.DomainModels; using WIDESEA_Core.Utilities; using System.Linq.Expressions; namespace WIDESEA_WCS.IServices { public partial interface Idt_info_traceService { } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/VK4Job.cs
@@ -40,6 +40,9 @@ return; } WheelDBItem.VK4WheelDBItem = GetDate.GetWheelDate(client); VKDBItem.VK4DBItem = GetDate.GetVKDate(client); GantryDBItem.VK4GantryDBItem = GetDate.GetGantryDate(client); MachineDBItem.VK4MachineDBItem = GetDate.GetMachineDate(client); } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/VK5Job.cs
@@ -36,6 +36,9 @@ return; } WheelDBItem.VK5WheelDBItem = GetDate.GetWheelDate(client); VKDBItem.VK5DBItem = GetDate.GetVKDate(client); GantryDBItem.VK5GantryDBItem = GetDate.GetGantryDate(client); MachineDBItem.VK5MachineDBItem = GetDate.GetMachineDate(client); } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Repositories/WCS/dt_info_traceRepository.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *Repositoryæä¾æ°æ®åºæä½ï¼å¦æè¦å¢å æ°æ®åºæä½è¯·å¨å½åç®å½ä¸Partialæä»¶å¤¹dt_info_traceRepositoryç¼å代ç */ using WIDESEA_WCS.IRepositories; using WIDESEA_Core.BaseProvider; using WIDESEA_Core.EFDbContext; using WIDESEA_Core.Extensions.AutofacManager; using WIDESEA_Entity.DomainModels; namespace WIDESEA_WCS.Repositories { public partial class dt_info_traceRepository : RepositoryBase<dt_info_trace> , Idt_info_traceRepository { public dt_info_traceRepository(VOLContext dbContext) : base(dbContext) { } public static Idt_info_traceRepository Instance { get { return AutofacContainerModule.GetService<Idt_info_traceRepository>(); } } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/VV_DispatchService.cs
@@ -238,6 +238,7 @@ { order.dbAddress = item.plcdetail_db + "." + item.plcdetail_value; } order.opratortype = item.plcdetail_opratortype; order.dataLen = item.plcdetail_len; order.Methods = item.plcdetail_number;// itmes.Add(order); ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/Partial/dt_info_traceService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ /* *ææå ³äºdt_info_traceç±»çä¸å¡ä»£ç åºå¨æ¤å¤ç¼å *å¯ä½¿ç¨repository.è°ç¨å¸¸ç¨æ¹æ³ï¼è·åEF/Dapperçä¿¡æ¯ *妿éè¦äºå¡è¯·ä½¿ç¨repository.DbContextBeginTransaction *ä¹å¯ä½¿ç¨DBServerProvider.æå¨è·åæ°æ®åºç¸å ³ä¿¡æ¯ *ç¨æ·ä¿¡æ¯ãæéãè§è²ç使ç¨UserContext.Currentæä½ *dt_info_traceService对å¢ãå ãæ¹æ¥ãå¯¼å ¥ã导åºãå®¡æ ¸ä¸å¡ä»£ç æ©å±åç §ServiceFunFilter */ using WIDESEA_Core.BaseProvider; using WIDESEA_Core.Extensions.AutofacManager; using WIDESEA_Entity.DomainModels; using System.Linq; using WIDESEA_Core.Utilities; using System.Linq.Expressions; using WIDESEA_Core.Extensions; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Http; using WIDESEA_WCS.IRepositories; namespace WIDESEA_WCS.Services { public partial class dt_info_traceService { private readonly IHttpContextAccessor _httpContextAccessor; private readonly Idt_info_traceRepository _repository;//è®¿é®æ°æ®åº [ActivatorUtilitiesConstructor] public dt_info_traceService( Idt_info_traceRepository dbRepository, IHttpContextAccessor httpContextAccessor ) : base(dbRepository) { _httpContextAccessor = httpContextAccessor; _repository = dbRepository; //å¤ç§æ·ä¼ç¨å°è¿init代ç ï¼å ¶ä»æ åµå¯ä»¥ä¸ç¨ //base.Init(dbRepository); } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/Services/WCS/dt_info_traceService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ /* *Authorï¼jxx *Contactï¼283591387@qq.com *代ç ç±æ¡æ¶çæ,æ¤å¤ä»»ä½æ´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *ææä¸å¡ç¼åå ¨é¨åºå¨Partialæä»¶å¤¹ä¸dt_info_traceServiceä¸Idt_info_traceServiceä¸ç¼å */ using WIDESEA_WCS.IRepositories; using WIDESEA_WCS.IServices; using WIDESEA_Core.BaseProvider; using WIDESEA_Core.Extensions.AutofacManager; using WIDESEA_Entity.DomainModels; namespace WIDESEA_WCS.Services { public partial class dt_info_traceService : ServiceBase<dt_info_trace, Idt_info_traceRepository> , Idt_info_traceService, IDependency { public dt_info_traceService(Idt_info_traceRepository repository) : base(repository) { Init(repository); } public static Idt_info_traceService Instance { get { return AutofacContainerModule.GetService<Idt_info_traceService>(); } } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBItemGroup.cs
@@ -27,10 +27,13 @@ /// æ°æ®é¿åº¦ /// </summary> public int? dataLen { get; set; } /// <summary> /// å¤çæ¹æ³ /// </summary> public string opratortype { get; set; } /// <summary> /// 设å¤åç§° /// </summary> public string Methods { get; set; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_info_traceController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ /* *æ¥å£ç¼åå¤... *妿æ¥å£éè¦åActionçæééªè¯ï¼è¯·å¨Actionä¸ä½¿ç¨å±æ§ *å¦: [ApiActionPermission("dt_info_trace",Enums.ActionPermissionOptions.Search)] */ using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Http; using WIDESEA_Entity.DomainModels; using WIDESEA_WCS.IServices; namespace WIDESEA_WCS.Controllers { public partial class dt_info_traceController { private readonly Idt_info_traceService _service;//访é®ä¸å¡ä»£ç private readonly IHttpContextAccessor _httpContextAccessor; [ActivatorUtilitiesConstructor] public dt_info_traceController( Idt_info_traceService service, IHttpContextAccessor httpContextAccessor ) : base(service) { _service = service; _httpContextAccessor = httpContextAccessor; } } } ´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_info_traceController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ /* *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç *妿è¦å¢å æ¹æ³è¯·å¨å½åç®å½ä¸Partialæä»¶å¤¹dt_info_traceControllerç¼å */ using Microsoft.AspNetCore.Mvc; using WIDESEA_Core.Controllers.Basic; using WIDESEA_Entity.AttributeManager; using WIDESEA_WCS.IServices; namespace WIDESEA_WCS.Controllers { [Route("api/dt_info_trace")] [PermissionTable(Name = "dt_info_trace")] public partial class dt_info_traceController : ApiBaseController<Idt_info_traceService> { public dt_info_traceController(Idt_info_traceService service) : base(service) { } } }