林豪 左 преди 3 години
родител
ревизия
a15e79a3f7

+ 16 - 6
Projects/永冠OPP/WCS.Entity.Protocol/WCS_AGVTask.cs

@@ -1,10 +1,6 @@
 using System;
-using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
-using System.Linq;
 using System.Runtime.Serialization;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace WCS.Entity.Protocol
 {
@@ -13,32 +9,46 @@ namespace WCS.Entity.Protocol
     {
         [DataMember(Order = 0)]
         public int ID { get; set; }
-        [DataMember(Order = 1)]
 
+        [DataMember(Order = 1)]
         [StringLength(20)]
         public string AGVID { get; set; }
+
         [DataMember(Order = 2)]
         public AGVTaskType TaskType { get; set; }
+
         [DataMember(Order = 3)]
         public AGVTaskStatus Status { get; set; }
+
         [DataMember(Order = 4)]
         public AGVTaskStatus AGVStatus { get; set; }
+
         [DataMember(Order = 5)]
         public int Workshop { get; set; }
+
         [DataMember(Order = 6)]
         [StringLength(20)]
         public string Station { get; set; }
+
         [DataMember(Order = 7)]
         [StringLength(20)]
         [Required]
         public string Position { get; set; }
+
         [DataMember(Order = 8)]
         public DateTime CreateTime { get; set; }
+
         [DataMember(Order = 9)]
         public DateTime? UpdateTime { get; set; }
+
         [DataMember(Order = 10)]
         public DateTime? AGVUpdateTime { get; set; }
 
+        /// <summary>
+        /// 货物数量(1.两个位置放1个货物,2.两个位置放2个货物)
+        /// </summary>
+        [DataMember(Order = 11)]
+        public int Goodsnum { get; set; }
     }
 
     public enum AGVTaskStatus
@@ -60,4 +70,4 @@ namespace WCS.Entity.Protocol
         入库 = 1,
         叫料 = 2
     }
-}
+}

+ 1977 - 0
Projects/永冠OPP/WCS.Service/Migrations/20220510062109_agvtask新增货物数量.Designer.cs

@@ -0,0 +1,1977 @@
+// <auto-generated />
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using WCS.Service;
+
+#nullable disable
+
+namespace WCS.Service.Migrations
+{
+    [DbContext(typeof(WCSDB))]
+    [Migration("20220510062109_agvtask新增货物数量")]
+    partial class agvtask新增货物数量
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "6.0.4")
+                .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+            modelBuilder.Entity("WCS.Entity.Protocol.BCR.WCS_BCR80", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("Content")
+                        .HasMaxLength(130)
+                        .HasColumnType("nvarchar(130)");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_BCR80");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station520", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<short>("CmdType")
+                        .HasColumnType("smallint");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<short>("GoodsSize")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Goodscode")
+                        .HasColumnType("int");
+
+                    b.Property<short>("Goodsend")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Goodsnum")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Goodsstart")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Istation521Status")
+                        .HasColumnType("int");
+
+                    b.Property<short>("Request")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Tasknum")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<short>("VoucherNo")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_STATION520");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station521", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<short>("CmdType")
+                        .HasColumnType("smallint");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<short>("GoodsSize")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Goodscode")
+                        .HasColumnType("int");
+
+                    b.Property<short>("Goodsend")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Goodsnum")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Goodsstart")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("Request")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Tasknum")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<short>("VoucherNo")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_STATION521");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station523", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<int>("Alarm")
+                        .HasColumnType("int");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("RES")
+                        .HasColumnType("smallint");
+
+                    b.Property<float>("RunTime")
+                        .HasColumnType("real");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_STATION523");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_AGVTask", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("AGVID")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("AGVStatus")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime?>("AGVUpdateTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<DateTime>("CreateTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("Goodsnum")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Position")
+                        .IsRequired()
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("Station")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TaskType")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime?>("UpdateTime")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("Workshop")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_AGVTask");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_MAPPINGENTRY", b =>
+                {
+                    b.Property<int>("MEP_ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MEP_ID"), 1L, 1);
+
+                    b.Property<bool>("MEP_ISSTOP")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("MEP_MAPPINGCHNAME")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<int>("MEP_MAPPINGNO")
+                        .HasColumnType("int");
+
+                    b.Property<string>("MEP_MAPPINGTYPE")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.HasKey("MEP_ID");
+
+                    b.ToTable("WCS_MAPPINGENTRY");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV520", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<short>("DestPosition_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("DestPosition_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("Priority_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Priority_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES1_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES1_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("StartPosition_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("StartPosition_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("TaskID_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TaskID_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("TaskType_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("TaskType_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Trigger_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Trigger_2")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_RGV520");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV521", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<short>("DestPosition_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("DestPosition_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<float>("Mileage")
+                        .HasColumnType("real");
+
+                    b.Property<short>("PRIORITY_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("PRIORITY_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<float>("Position")
+                        .HasColumnType("real");
+
+                    b.Property<short>("RES1_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES1_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES6")
+                        .HasColumnType("smallint");
+
+                    b.Property<float>("Runtime")
+                        .HasColumnType("real");
+
+                    b.Property<short>("StartPosition_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("StartPosition_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Status_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("SystemStatus")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("TaskID_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TaskID_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("TaskType_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("TaskType_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Trigger_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Trigger_2")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.Property<short>("WorkMode")
+                        .HasColumnType("smallint");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_RGV521");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV523", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("Fault")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Fault1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Fault2")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status2")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_RGV523");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM520", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<short>("ECol_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ECol_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("EDepth_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("EDepth_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELayer_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELayer_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELine_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELine_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<short>("FinishedACK_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("FinishedACK_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("GoodsType_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("GoodsType_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Handshake_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Handshake_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("RES1_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES1_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES2_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES3_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES3_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES4_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES4_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SCSpeedMode_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SCol_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SCol_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SDepth_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SDepth_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLayer_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLayer_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLine_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLine_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SpeedMode_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("TaskID_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TaskID_2")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<short>("VoucherNo_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("VoucherNo_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_SRM520");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM521", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<short>("Alarm")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Col_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Col_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<short>("ECol_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ECol_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("EDepth_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("EDepth_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELayer_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELayer_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELine_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("ELine_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("FinishedTask_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("FinishedTask_2")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ForkPos_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ForkPos_2")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ForkStatus_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ForkStatus_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("GoodsType_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("GoodsType_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("Layer_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Layer_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("LiftPos_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("LiftPos_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("Line_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Line_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Mode_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Mode_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES10_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES10_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("RES11_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES11_2")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES12_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES12_2")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES13_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES13_2")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES14_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RES14_2")
+                        .HasColumnType("int");
+
+                    b.Property<short>("RES9_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("RES9_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<float>("Runtime")
+                        .HasColumnType("real");
+
+                    b.Property<float>("Runtime_1")
+                        .HasColumnType("real");
+
+                    b.Property<float>("Runtime_2")
+                        .HasColumnType("real");
+
+                    b.Property<short>("SCol_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SCol_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SDepth_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SDepth_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLayer_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLayer_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLine_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SLine_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SRMMode")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("SRMStatus")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Status_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("Status_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("TaskID_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TaskID_2")
+                        .HasColumnType("int");
+
+                    b.Property<float>("TotalKM")
+                        .HasColumnType("real");
+
+                    b.Property<float>("TotalKM_1")
+                        .HasColumnType("real");
+
+                    b.Property<float>("TotalKM_2")
+                        .HasColumnType("real");
+
+                    b.Property<int>("TravelPos_1")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TravelPos_2")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<short>("VoucherNo_1")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("VoucherNo_2")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_SRM521");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM537", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime>("FRAME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<bool>("ISLAST")
+                        .HasColumnType("bit");
+
+                    b.Property<decimal>("SCAlarm")
+                        .HasColumnType("decimal(20,0)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_SRM537");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_StatusLog", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("NewStatus")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Node")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("OldStatus")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCS_TASKID")
+                        .HasColumnType("int");
+
+                    b.Property<string>("msg")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<int>("upStatus")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_StatusLog");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SystemConfig", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("Code")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("DEVICECODE")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Describe")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Direction")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("TUNNEL")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_SystemConfig");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_Users", b =>
+                {
+                    b.Property<string>("USER_NO")
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<string>("USER_PWD")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("nvarchar(128)");
+
+                    b.Property<byte[]>("USER_TEXT")
+                        .HasColumnType("varbinary(max)");
+
+                    b.HasKey("USER_NO");
+
+                    b.ToTable("WCS_Users");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_CMD", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICE_CODE")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("PROPERTY")
+                        .HasMaxLength(32)
+                        .HasColumnType("nvarchar(32)");
+
+                    b.Property<string>("PROTOCOL")
+                        .HasMaxLength(256)
+                        .HasColumnType("nvarchar(256)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("VALUE")
+                        .HasMaxLength(512)
+                        .HasColumnType("nvarchar(512)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WCSVERSION")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_CMD");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DATABLOCK", b =>
+                {
+                    b.Property<string>("CODE")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("DATALENGTH")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<int>("LENGTH")
+                        .HasColumnType("int");
+
+                    b.Property<string>("NAME")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("NO")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("NOUPDATE")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("PLCCODE")
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("PROTOCOL")
+                        .IsRequired()
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("CODE");
+
+                    b.HasIndex("PLCCODE");
+
+                    b.ToTable("WCS_DATABLOCK");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DEVICE", b =>
+                {
+                    b.Property<string>("CODE")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("NAME")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("CODE");
+
+                    b.ToTable("WCS_DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DEVICEPROTOCOL", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DBCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("DEVICECODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<short>("POSITION")
+                        .HasColumnType("smallint");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DBCODE");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.ToTable("WCS_DEVICEPROTOCOL");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_EXCEPTION", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICE")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("EXCEPTIONTYPE")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)");
+
+                    b.Property<string>("MSG")
+                        .HasMaxLength(1000)
+                        .HasColumnType("nvarchar(1000)");
+
+                    b.Property<DateTime>("STARTTIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("TIMES")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_EXCEPTION");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_GROUPMEMBER", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("GROUPCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("MEMBERCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("GROUPCODE");
+
+                    b.HasIndex("MEMBERCODE");
+
+                    b.ToTable("WCS_GROUPMEMBER");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_PATH", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("ENDCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("PATH")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("STARTCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ENDCODE");
+
+                    b.HasIndex("STARTCODE");
+
+                    b.ToTable("WCS_PATH");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_PATHPOINT", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("ENDCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("NEXTCODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("PREVCODE")
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<string>("STARTCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.HasIndex("ENDCODE");
+
+                    b.HasIndex("NEXTCODE");
+
+                    b.HasIndex("PREVCODE");
+
+                    b.HasIndex("STARTCODE");
+
+                    b.ToTable("WCS_PATHPOINT");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_PLC", b =>
+                {
+                    b.Property<string>("CODE")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("IP")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("MODEL")
+                        .HasMaxLength(10)
+                        .HasColumnType("nvarchar(10)");
+
+                    b.Property<string>("NAME")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("PORT")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RACK")
+                        .HasColumnType("int");
+
+                    b.Property<int>("SLOT")
+                        .HasColumnType("int");
+
+                    b.Property<int>("TYPE")
+                        .HasColumnType("int");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("CODE");
+
+                    b.ToTable("WCS_PLC");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_ROUTE", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("DEVICECODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<string>("NEXTCODE")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("DEVICECODE");
+
+                    b.HasIndex("NEXTCODE");
+
+                    b.ToTable("WCS_ROUTE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_TASK", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasColumnOrder(0);
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"), 1L, 1);
+
+                    b.Property<string>("ADDRFROM")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("ADDRNEXT")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<string>("ADDRTO")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("AgvTask")
+                        .HasColumnType("int");
+
+                    b.Property<string>("BARCODE")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<DateTime>("CREATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("DEVICE")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<int>("DOCID")
+                        .HasColumnType("int");
+
+                    b.Property<bool>("ENABLED")
+                        .HasColumnType("bit");
+
+                    b.Property<DateTime?>("ENDTIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("FLOOR")
+                        .HasColumnType("int");
+
+                    b.Property<short>("FULLQTY")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("HEIGHT")
+                        .HasColumnType("smallint");
+
+                    b.Property<decimal>("Length")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property<string>("ManualRemarks")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<short>("PALLETTYPE")
+                        .HasColumnType("smallint");
+
+                    b.Property<short>("PRODLINE")
+                        .HasColumnType("smallint");
+
+                    b.Property<int>("Priority")
+                        .HasColumnType("int");
+
+                    b.Property<string>("SRMSTATION")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property<DateTime?>("STARTTIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<int>("STATUS")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TUNNEL")
+                        .HasMaxLength(10)
+                        .HasColumnType("nvarchar(10)");
+
+                    b.Property<int>("TYPE")
+                        .HasColumnType("int");
+
+                    b.Property<string>("TaskGroupKey")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<DateTime>("UPDATETIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property<string>("UPDATEUSER")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property<int>("UPLOADED")
+                        .HasColumnType("int");
+
+                    b.Property<byte[]>("VER")
+                        .IsConcurrencyToken()
+                        .ValueGeneratedOnAddOrUpdate()
+                        .HasColumnType("rowversion");
+
+                    b.Property<int>("WMSTASK")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("WCS_TASK");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.BCR.WCS_BCR80", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station520", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station521", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.Station.WCS_Station523", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV520", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV521", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_RGV523", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM520", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM521", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.Protocol.WCS_SRM537", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DATABLOCK", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_PLC", "PLC")
+                        .WithMany()
+                        .HasForeignKey("PLCCODE");
+
+                    b.Navigation("PLC");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DEVICEPROTOCOL", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DATABLOCK", "DB")
+                        .WithMany()
+                        .HasForeignKey("DBCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany("PROTOCOLS")
+                        .HasForeignKey("DEVICECODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("DB");
+
+                    b.Navigation("DEVICE");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_GROUPMEMBER", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "GROUP")
+                        .WithMany("DEVICEGROUP")
+                        .HasForeignKey("GROUPCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "MEMBER")
+                        .WithMany()
+                        .HasForeignKey("MEMBERCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("GROUP");
+
+                    b.Navigation("MEMBER");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_PATH", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "END")
+                        .WithMany()
+                        .HasForeignKey("ENDCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "START")
+                        .WithMany("PATHS")
+                        .HasForeignKey("STARTCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("END");
+
+                    b.Navigation("START");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_PATHPOINT", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany()
+                        .HasForeignKey("DEVICECODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "END")
+                        .WithMany()
+                        .HasForeignKey("ENDCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "NEXT")
+                        .WithMany()
+                        .HasForeignKey("NEXTCODE");
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "PREV")
+                        .WithMany()
+                        .HasForeignKey("PREVCODE");
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "START")
+                        .WithMany()
+                        .HasForeignKey("STARTCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("DEVICE");
+
+                    b.Navigation("END");
+
+                    b.Navigation("NEXT");
+
+                    b.Navigation("PREV");
+
+                    b.Navigation("START");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_ROUTE", b =>
+                {
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "DEVICE")
+                        .WithMany("ROUTES")
+                        .HasForeignKey("DEVICECODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.HasOne("WCS.Entity.WCS_DEVICE", "NEXT")
+                        .WithMany()
+                        .HasForeignKey("NEXTCODE")
+                        .OnDelete(DeleteBehavior.Restrict)
+                        .IsRequired();
+
+                    b.Navigation("DEVICE");
+
+                    b.Navigation("NEXT");
+                });
+
+            modelBuilder.Entity("WCS.Entity.WCS_DEVICE", b =>
+                {
+                    b.Navigation("DEVICEGROUP");
+
+                    b.Navigation("PATHS");
+
+                    b.Navigation("PROTOCOLS");
+
+                    b.Navigation("ROUTES");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}

+ 26 - 0
Projects/永冠OPP/WCS.Service/Migrations/20220510062109_agvtask新增货物数量.cs

@@ -0,0 +1,26 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace WCS.Service.Migrations
+{
+    public partial class agvtask新增货物数量 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<int>(
+                name: "Goodsnum",
+                table: "WCS_AGVTask",
+                type: "int",
+                nullable: false,
+                defaultValue: 0);
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "Goodsnum",
+                table: "WCS_AGVTask");
+        }
+    }
+}

+ 3 - 0
Projects/永冠OPP/WCS.Service/Migrations/WCSDBModelSnapshot.cs

@@ -295,6 +295,9 @@ namespace WCS.Service.Migrations
                     b.Property<DateTime>("CreateTime")
                         .HasColumnType("datetime2");
 
+                    b.Property<int>("Goodsnum")
+                        .HasColumnType("int");
+
                     b.Property<string>("Position")
                         .IsRequired()
                         .HasMaxLength(20)

+ 5 - 7
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -153,14 +153,10 @@ namespace WCS.Service.Works.Station
                 var station = dev.Entity.CODE;
                 DB.Do(db =>
                 {
-                    var arr = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status == AGVTaskStatus.完成).Where(v => v.Station == station).ToArray();
+                    var agvTask = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status == AGVTaskStatus.完成).Where(v => v.Station == station).FirstOrDefault();
 
-                    foreach (var t in arr)
-                    {
-                        t.Status = AGVTaskStatus.完成扫码;
-                        t.UpdateTime = DateTime.Now;
-                    }
-                    db.Default.SaveChanges();
+                    agvTask.Status = AGVTaskStatus.完成扫码;
+                    agvTask.UpdateTime = DateTime.Now;
 
                     var task = new WCS_TASK();
                     task.BARCODE = info.ContainerCode;
@@ -175,6 +171,7 @@ namespace WCS.Service.Works.Station
                     task.TaskGroupKey = info.TaskGroupKey;
                     task.ADDRNEXT = next.CODE;
                     task.HEIGHT = dev.Data2.GoodsSize;
+                    task.AgvTask = agvTask.ID;
 
                     db.Default.Set<WCS_TASK>().Add(task);
                     db.Default.SaveChanges();
@@ -182,6 +179,7 @@ namespace WCS.Service.Works.Station
                     dev.Data.Tasknum = task.ID;
                     dev.Data.Goodsstart = task.ADDRFROM.ToShort();
                     dev.Data.Goodsend = task.ADDRNEXT.ToShort();
+                    dev.Data.Goodsnum = (short)agvTask.Goodsnum;
                     dev.Data.CmdType = IstationCmdType.扫码入库;
                     dev.Data.VoucherNo++;
                     var msg = $"下达从{dev.Entity.CODE}移动至{next}的PLC指令。";