林豪 左 1 year ago
parent
commit
46084bc1c8
27 changed files with 68 additions and 7 deletions
  1. 16 6
      WCS.Core/Extentions.cs
  2. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR80.cs
  3. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR81.cs
  4. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR83.cs
  5. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV520.cs
  6. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV521.cs
  7. 2 1
      业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV523.cs
  8. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot520.cs
  9. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot521.cs
  10. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot522.cs
  11. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot530.cs
  12. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot531.cs
  13. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM520.cs
  14. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM521.cs
  15. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM523.cs
  16. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station520.cs
  17. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station521.cs
  18. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station523.cs
  19. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station524.cs
  20. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station525.cs
  21. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station90.cs
  22. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station91.cs
  23. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss520.cs
  24. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss521.cs
  25. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss523.cs
  26. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss530.cs
  27. 2 0
      业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss531.cs

+ 16 - 6
WCS.Core/Extentions.cs

@@ -35,18 +35,28 @@ namespace WCS.Core
 
         private static ConcurrentDictionary<World, ConcurrentDictionary<object, object>> ExObjsOfWorld = new ConcurrentDictionary<World, ConcurrentDictionary<object, object>>();
 
-        private static T GetExOfWorld<T>(this object source, World world)
+        static T GetExOfWorld<T>(this object source, World world)
         {
             if (!ExObjsOfWorld.TryGetValue(world, out var objs))
             {
-                objs = new ConcurrentDictionary<object, object>();
-                ExObjsOfWorld[world] = objs;
+                ExObjsOfWorld.TryAdd(world, new ConcurrentDictionary<object, object>());
+                objs = ExObjsOfWorld[world];
             }
 
-            if (objs.TryGetValue(source, out var obj)) return (T)obj;
-            obj = Activator.CreateInstance(typeof(T), source, world);
-            objs[source] = obj;
+            if (!objs.TryGetValue(source, out var obj))
+            {
+                lock (objs)
+                {
+                    if (!objs.ContainsKey(source))
+                    {
+                        obj = Activator.CreateInstance(typeof(T), source, world);
+                        objs.TryAdd(source, obj);
+                    }
+                    obj = objs[source];
+                }
+            }
             return (T)obj;
+
         }
 
         public static DataBlock Ex(this DBInfo source, World world)

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR80.cs

@@ -18,9 +18,11 @@ namespace WCS.Entity.Protocol.BCR
         public string Content { get; set; }
 
         [DataMember(Order = 1)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 2)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR81.cs

@@ -18,9 +18,11 @@ namespace WCS.Entity.Protocol.BCR
         public string Content { get; set; }
 
         [DataMember(Order = 1)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 2)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/BCR/WCS_BCR83.cs

@@ -67,9 +67,11 @@ namespace WCS.Entity.Protocol.BCR
         public string BcrCode11 { get; set; }
 
         [DataMember(Order = 14)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 15)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV520.cs

@@ -33,9 +33,11 @@ namespace WCS.Entity.Protocol.RGV
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 7)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 8)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV521.cs

@@ -48,9 +48,11 @@ namespace WCS.Entity.Protocol.RGV
         public RGVStatus Status { get; set; }
 
         [DataMember(Order = 13)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 14)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 1
业务工程/分拣库/WCS.Entity.Protocol/RGV/WCS_RGV523.cs

@@ -34,8 +34,9 @@ namespace WCS.Entity.Protocol.RGV
     {
         public string Alarm { get; set; }
 
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
-
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot520.cs

@@ -111,9 +111,11 @@ namespace WCS.Entity.Protocol.Robot
         public short Res11 { get; set; }
 
         [DataMember(Order = 34)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 35)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot521.cs

@@ -205,9 +205,11 @@ namespace WCS.Entity.Protocol.Robot
         public short Res36 { get; set; }
 
         [DataMember(Order = 65)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 66)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot522.cs

@@ -27,9 +27,11 @@ namespace WCS.Entity.Protocol.Robot
         public string Alarm { get; set; }
 
         [DataMember(Order = 1)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 2)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot530.cs

@@ -22,9 +22,11 @@ namespace WCS.Entity.Protocol.Robot
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 4)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 5)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Robot/WCS_Robot531.cs

@@ -115,9 +115,11 @@ namespace WCS.Entity.Protocol.Robot
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 35)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 36)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM520.cs

@@ -81,9 +81,11 @@ namespace WCS.Entity.Protocol.SRM
         public short Cmd { get; set; }
 
         [DataMember(Order = 18)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 19)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM521.cs

@@ -128,9 +128,11 @@ namespace WCS.Entity.Protocol.SRM
         public int Res6 { get; set; }
 
         [DataMember(Order = 29)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 30)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/SRM/WCS_SRM523.cs

@@ -35,8 +35,10 @@ namespace WCS.Entity.Protocol.SRM
     {
         public string Alarm { get; set; }
 
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station520.cs

@@ -36,9 +36,11 @@ namespace WCS.Entity.Protocol.Station
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 6)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 7)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station521.cs

@@ -40,9 +40,11 @@ namespace WCS.Entity.Protocol.Station
         public short Request { get; set; }
 
         [DataMember(Order = 7)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 8)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station523.cs

@@ -32,9 +32,11 @@ namespace WCS.Entity.Protocol.Station
         public StationStatus1 Status1 { get; set; }
 
         [DataMember(Order = 5)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 6)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station524.cs

@@ -30,9 +30,11 @@ namespace WCS.Entity.Protocol.Station
         public short Request { get; set; }
 
         [DataMember(Order = 7)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 8)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station525.cs

@@ -1062,9 +1062,11 @@ namespace WCS.Entity.Protocol.Station
         public short VoucherNo49 { get; set; }
 
         [DataMember(Order = 355)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 356)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station90.cs

@@ -12,9 +12,11 @@ namespace WCS.Entity.Protocol.Station
     public class WCS_Station90 : IStation90
     {
         [DataMember(Order = 0)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 1)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Station/WCS_Station91.cs

@@ -28,9 +28,11 @@ namespace WCS.Entity.Protocol.Station
         public float Width { get; set; }
 
         [DataMember(Order = 4)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 5)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss520.cs

@@ -102,9 +102,11 @@ namespace WCS.Entity.Protocol.Truss
         public int PalletizingRowId2 { get; set; }
 
         [DataMember(Order = 31)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 32)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss521.cs

@@ -105,9 +105,11 @@ namespace WCS.Entity.Protocol.Truss
         public int PalletizingRowId2 { get; set; }
 
         [DataMember(Order = 32)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 33)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss523.cs

@@ -26,9 +26,11 @@ namespace WCS.Entity.Protocol.Truss
         public string Alarm { get; set; }
 
         [DataMember(Order = 1)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 2)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss530.cs

@@ -215,9 +215,11 @@ namespace WCS.Entity.Protocol.Truss
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 10)]
+        [TimeDbSplitField(DateType.Month)]
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 11)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.Entity.Protocol/Truss/WCS_Truss531.cs

@@ -204,10 +204,12 @@ namespace WCS.Entity.Protocol.Truss
         public short VoucherNo { get; set; }
 
         [DataMember(Order = 65)]
+        [TimeDbSplitField(DateType.Month)]
         
         public new DateTime Frame { get; set; }
 
         [DataMember(Order = 66)]
+        [SugarColumn(ColumnDataType = "symbol")]
         public new string Code { get; set; }
     }
 }