林豪 左 1 rok temu
rodzic
commit
a9710d38c0

+ 2 - 2
WCS.Core/PLC.cs

@@ -31,8 +31,8 @@ namespace WCS.Core
         {
             var p = new Ping();
             var res = p.Send(Entity.IP, timeout);
-            //return res.Status == IPStatus.Success;
-            return true;
+            return res.Status == IPStatus.Success;
+            //return true;
         }
     }
 

+ 6 - 0
WCS.Entity/WCS_Palletizing.cs

@@ -129,5 +129,11 @@ namespace WCS.Entity
         /// </summary>
         [SugarColumn(IsNullable = false, ColumnDescription = "创建时间")]
         public DateTime AddTime { get; set; }
+
+        /// <summary>
+        ///  编辑时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDescription = "编辑时间")]
+        public DateTime EditTime { get; set; }
     }
 }

+ 1 - 1
WCS.Entity/WCS_PalletizingRow.cs

@@ -25,7 +25,7 @@ namespace WCS.Entity
         /// <summary>
         ///  码垛信息表Id
         /// </summary>
-        [SugarColumn(IsNullable = false, ColumnDescription = "码垛信息表Id")]
+        [SugarColumn(IsNullable = true, ColumnDescription = "码垛信息表Id")]
         public int PalletizingId { get; set; }
 
         /// <summary>

+ 8 - 9
业务工程/分拣库/WCS.WorkEngineering/Extensions/DeviceExtension.cs

@@ -56,7 +56,7 @@ namespace WCS.WorkEngineering.Extensions
                         Port = 102,
                         Rack = 0,
                         Slot = 1,
-                        //Type = PLCType.Siemens
+                        Type = PLCType.Siemens
                     }
                 }
             };
@@ -385,14 +385,13 @@ namespace WCS.WorkEngineering.Extensions
         桁架分流点 = 1L << 32,
         桁架缓存放行点 = 1L << 33,
         桁架取货点 = 1L << 34,
-        拆盘机09 = 1L << 35,
-        拆盘机非09 = 1L << 36,
-        桁架码垛位 = 1L << 37,
-        环形库码垛工位 = 1L << 38,
-        Robot = 1L << 39,
-        桁架09缓存放行点 = 1L << 40,
-        桁架18缓存放行点 = 1L << 41,
-        桁架09异常缓存放行点 = 1L << 42,
+        拆盘机 = 1L << 35,
+        桁架码垛位 = 1L << 36,
+        环形库码垛工位 = 1L << 37,
+        Robot = 1L << 38,
+        桁架09缓存放行点 = 1L << 39,
+        桁架18缓存放行点 = 1L << 40,
+        桁架09异常缓存放行点 = 1L << 41,
     }
 
     /// <summary>

+ 4 - 3
业务工程/分拣库/WCS.WorkEngineering/Extensions/TaskExtension.cs

@@ -4,6 +4,7 @@ using ServiceCenter.Redis;
 using ServiceCenter.SqlSugars;
 using SqlSugar;
 using WCS.Entity;
+using wms.sqlsugar.model.fj;
 using TaskStatus = WCS.Entity.TaskStatus;
 
 namespace WCS.WorkEngineering.Extensions
@@ -192,9 +193,9 @@ namespace WCS.WorkEngineering.Extensions
         /// <param name="task"></param>
         public static void InitStackStructure(this WCS_TaskInfo task, SqlSugarScopeProvider db)
         {
-            var billBomsetinfo = db.Queryable<wms.sqlsugar.model.fj.BillBomsetinfo>().First(x => x.MatCode == task.MatCode);
-            var billBomsetinfos = db.Queryable<wms.sqlsugar.model.fj.BillBomsetinfo>().Where(x => x.BomSetHdrId == billBomsetinfo.BomSetHdrId).ToList();
-            var billBomsetgrp = db.Queryable<wms.sqlsugar.model.fj.BillBomsetgrp>().Single(x => x.Id == billBomsetinfo.BomSetHdrId);
+            var billBomsetinfo = db.Queryable<BillBomsetinfo>().First(x => x.MatCode == task.MatCode);
+            var billBomsetinfos = db.Queryable<BillBomsetinfo>().Where(x => x.BomSetHdrId == billBomsetinfo.BomSetHdrId).ToList();
+            var billBomsetgrp = db.Queryable<BillBomsetgrp>().Single(x => x.Id == billBomsetinfo.BomSetHdrId);
 
             //开始构造垛形信息
             var palletizing = new WCS_Palletizing()

+ 1 - 1
业务工程/分拣库/WCS.WorkEngineering/Systems/NoInteractionSystems.cs

@@ -17,7 +17,7 @@ namespace WCS.WorkEngineering.Systems
     /// <summary>
     ///  无交互系统
     /// </summary>
-    //[BelongTo(typeof(NoInteractionWorld))]
+    [BelongTo(typeof(NoInteractionWorld))]
     [Description("无交互系统")]
     public class NoInteractionSystems : DeviceSystem<Device<IStation520>>
     {

+ 4 - 4
业务工程/分拣库/WCS.WorkEngineering/Systems/RGVSystems.cs

@@ -61,8 +61,8 @@ namespace WCS.WorkEngineering.Systems
                             SqlSugarHelper.Do(_db =>
                             {
                                 var db = _db.Default;
-                                var dev = Device.All.First(x => x.Code == obj.Data2.StartPosition.ToString());
-                                if (dev.HasFlag(DeviceFlags.拆盘机09))
+                                var dev = Device.All.First(x => x.Code == obj.Data2.DestPosition.ToString());
+                                if (dev.HasFlag(DeviceFlags.桁架码垛位))
                                 {
                                     //开始绑定任务,并下发新的任务信息到小车
                                     var palletizingInfo = db.Queryable<WCS_Palletizing>().Single(x => x.Id == obj.Data2.TaskNumber);
@@ -71,7 +71,7 @@ namespace WCS.WorkEngineering.Systems
                                     db.Updateable(palletizingInfo).ExecuteCommand();
                                     taskNumber = palletizingInfo.Id;
                                 }
-                                else if (dev.HasFlag(DeviceFlags.拆盘机非09))
+                                else if (dev.HasFlag(DeviceFlags.环形库码垛工位))
                                 {
                                     //开始处理对应的搬运任务信息
                                     var task = db.Queryable<WCS_TaskInfo>().First(x => x.Type == TaskType.Delivery && x.ID == obj.Data2.TaskNumber && x.AddrTo == obj.Data2.DestPosition.ToString());
@@ -223,7 +223,7 @@ namespace WCS.WorkEngineering.Systems
                 foreach (var dev in devList)
                 {
                     //区分任务是拆盘机到码垛工位,还是码垛工位到拆盘机
-                    if (dev.Entity.HasFlag(DeviceFlags.拆盘机09, DeviceFlags.拆盘机非09))
+                    if (dev.Entity.HasFlag(DeviceFlags.拆盘机))
                     {
                         obj.Data.TaskNumber = dev.Data.TaskNumber;
                         obj.Data.CmdType = RGVCmdType.PickGoods;

+ 2 - 2
业务工程/分拣库/WCS.WorkEngineering/Systems/二楼拆盘机自动补空托盘组.cs

@@ -36,14 +36,14 @@ namespace WCS.WorkEngineering.Systems
                 //验证是否有对应的任务
                 if (!db.Queryable<WCS_TaskInfo>().Any(v => v.AddrTo == obj.Entity.Code))
                 {
-                    WmsApi.ApplyEmptyPalletGroupOutStorage(obj.Entity.Code, tunnel.Code.GetLastDigit(), obj.Entity.HasFlag(DeviceFlags.拆盘机09) ? PalletType.Pallet09 : PalletType.PalletNo09);
+                    WmsApi.ApplyEmptyPalletGroupOutStorage(obj.Entity.Code, tunnel.Code.GetLastDigit(), obj.Entity.HasFlag(DeviceFlags.拆盘机) ? PalletType.Pallet09 : PalletType.PalletNo09);
                 }
             });
         }
 
         public override bool Select(Device dev)
         {
-            return dev.HasFlag(DeviceFlags.拆盘机09) || dev.HasFlag(DeviceFlags.拆盘机非09);
+            return dev.HasFlag(DeviceFlags.拆盘机);
         }
     }
 }

+ 4 - 1
业务工程/分拣库/WCS.WorkEngineering/Systems/桁架码垛/桁架.cs

@@ -87,7 +87,10 @@ namespace WCS.WorkEngineering.Systems
                     db.Updateable(layer).ExecuteCommand();
 
                     //码垛完成后开始绑定托盘
-                    var palletizing = upDateableRow.First().Palletizing;
+                    var palletizingId = upDateableRow.First().Palletizing.Id;
+                    var palletizing = db.Queryable<WCS_Palletizing>().Single(x => x.Id == palletizingId);
+                    palletizing.EditTime = DateTime.Now;
+                    db.Updateable(palletizing).ExecuteCommand();
                     var taskId = upDateableRow.SelectMany(x => x.Locs).Select(x => x.TaskId).ToList();
                     var taskList = db.Queryable<WCS_TaskInfo>().Where(x => taskId.Any(t => t == x.ID)).Select(x => x.BarCode).ToList();
                     var res = WmsApi.BingPallet(palletizing.PalleCode, taskList, palletizing.WarehouseCode, palletizing.PalletizingStation);

+ 1 - 1
业务工程/分拣库/WCS.WorkEngineering/Systems/环形库/环形库码垛区补空托盘任务生成.cs

@@ -41,7 +41,7 @@ namespace WCS.WorkEngineering.Systems
                 var task = db.Queryable<WCS_TaskInfo>().First(x => x.Type == TaskType.Delivery && x.AddrTo == obj.Entity.Code);
                 if (task != null) return;
                 //开始获取当前地址上个设备的上一个设备中的非零九托盘拆机
-                var addrFrom = obj.Entity.Sources.SelectMany(x => x.Sources).Single(x => x.HasFlag(DeviceFlags.拆盘机非09));
+                var addrFrom = obj.Entity.Sources.SelectMany(x => x.Sources).Single(x => x.HasFlag(DeviceFlags.拆盘机));
                 var dev = Device.All.Where(x => x.Code == addrFrom.Code).Select(x => new Device<IStation520>(x, World)).FirstOrDefault();
                 if (dev.Data.TaskNumber != 0 || dev.Data.GoodsEnd != 0) throw new Exception($"{dev.Entity.Code}有残留任务信息,请处理!");
                 //开始创建搬运任务

+ 14 - 13
业务工程/分拣库/WCS.WorkEngineering/WorkStart.cs

@@ -1,6 +1,7 @@
 using ServiceCenter;
 using ServiceCenter.SqlSugars;
 using WCS.Core;
+using WCS.Entity;
 using WCS.Entity.Protocol.BCR;
 using WCS.Entity.Protocol.RGV;
 using WCS.Entity.Protocol.Robot;
@@ -1072,8 +1073,8 @@ namespace WCS.WorkEngineering
                 { DeviceFlags.桁架09异常缓存放行点, new List<string>(){  /*"591", "791" ,*/"991" , "1191" , "1391" , "1591" } },
                 { DeviceFlags.桁架18缓存放行点, new List<string>(){  /*"550", "564", "578", "750", "764", "778" ,*/ "950", "964", "978" , "1150", "1164", "1178" , "1350", "1364", "1378" , "1450", "1464", "1478" } },
                 { DeviceFlags.桁架取货点, new List<string>(){ /*"461", "475", "489", "503","517","531", "545", "559", "573", "586", "661", "675", "689", "703", "717", "731", "745", "759", "773", "786", */"861", "875", "889", "903", "917", "931", "945", "959", "973", "986", "1061", "1075", "1089", "1103", "1117", "1131", "1145", "1159", "1173", "1186", "1261", "1275", "1289", "1303", "1317", "1331", "1345", "1359", "1373", "1386" , "1461", "1475", "1489", "1503", "1517", "1531", "1545", "1559", "1573", "1586" } },
-                { DeviceFlags.拆盘机09, new List<string>(){ /*"1606", "1616",*/"1626","1636","1646","1656" } },
-                { DeviceFlags.拆盘机非09, new List<string>(){ /*"1602", "1612",*/"1622","1632","1642","1652" } },
+                //{ DeviceFlags.拆盘机09, new List<string>(){ /*"1606", "1616",*/"1626","1636","1646","1656" } },
+                { DeviceFlags.拆盘机, new List<string>(){ /*"1602", "1612",*/"1622","1632","1642","1652" } },
                 { DeviceFlags.桁架码垛位, new List<string>(){/* "1670", "1671", "1672", "1673", "1674", "1675","1664","1662","1663","1665","1677","1678","1679","1680","1685","1686","1687","1688","1689","1690",*/ "1692", "1693", "1694", "1695", "1700", "1701", "1702", "1703", "1704", "1705", "1707", "1708", "1709", "1710", "1715", "1716", "1717", "1718", "1719", "1720", "1722", "1723", "1724", "1725", "1730", "1731", "1732", "1733", "1734", "1735", "1737", "1738", "1739", "1740", "1745", "1746", "1747", "1748", "1749", "1750" } },
                 { DeviceFlags.环形库码垛工位, new List<string>(){ /*"1666", "1661", "1676", "1681",*/ "1691", "1696", "1706", "1711", "1721", "1726", "1736", "1741" } },
                 { DeviceFlags.AGV取货站台口, new List<string>(){ "2533", "2534", "2734","2733","2934","2933","3133","3134","3333","3334","3533","3534" } },
@@ -1108,17 +1109,17 @@ namespace WCS.WorkEngineering
                     {
                         case "WCSDB"://WCS基本数据库
                             SqlSugarHelper.SetDefault(connectionString.Key);
-                            //_db.CodeFirst.InitTables(typeof(WCS_PlcData));
-                            //_db.CodeFirst.InitTables(typeof(WCS_TaskInfo));
-                            //_db.CodeFirst.InitTables(typeof(WCS_TaskDtl));
-                            //_db.CodeFirst.InitTables(typeof(WCS_TaskOld));
-                            //_db.CodeFirst.InitTables(typeof(WCS_AgvTaskInfo));
-                            //_db.CodeFirst.InitTables(typeof(WCS_Palletizing));
-                            //_db.CodeFirst.InitTables(typeof(WCS_PalletizingLayer));
-                            //_db.CodeFirst.InitTables(typeof(WCS_PalletizingRow));
-                            //_db.CodeFirst.InitTables(typeof(WCS_PalletizingLoc));
-                            //_db.CodeFirst.InitTables(typeof(WCS_CacheLine));
-                            //_db.CodeFirst.InitTables(typeof(WCS_CacheLineLoc));
+                            _db.CodeFirst.InitTables(typeof(WCS_PlcData));
+                            _db.CodeFirst.InitTables(typeof(WCS_TaskInfo));
+                            _db.CodeFirst.InitTables(typeof(WCS_TaskDtl));
+                            _db.CodeFirst.InitTables(typeof(WCS_TaskOld));
+                            _db.CodeFirst.InitTables(typeof(WCS_AgvTaskInfo));
+                            _db.CodeFirst.InitTables(typeof(WCS_Palletizing));
+                            _db.CodeFirst.InitTables(typeof(WCS_PalletizingLayer));
+                            _db.CodeFirst.InitTables(typeof(WCS_PalletizingRow));
+                            _db.CodeFirst.InitTables(typeof(WCS_PalletizingLoc));
+                            _db.CodeFirst.InitTables(typeof(WCS_CacheLine));
+                            _db.CodeFirst.InitTables(typeof(WCS_CacheLineLoc));
 
                             break;