林豪 左 1 year ago
parent
commit
9dd5cd8d06

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

@@ -86,36 +86,28 @@ namespace WCS.WorkEngineering.Systems
                                 //检查库存表是否有残留库存信息
                                 if (db.Queryable<BillInvnow>().Any(x => x.ContGrpBarCode == bcrCode))
                                 {
-                                    try
+                                    //删除库存
+                                    var invNow = db.Queryable<BillInvnow>().Where(x => x.ContGrpBarCode == bcrCode).OrderByDescending(x => x.AddTime).First();
+
+                                    if (invNow.IsTorsChk) //是一楼码垛入库
                                     {
-                                        //检查条码对应的任务是否是一楼人工组盘入库
-                                        var task = db.Queryable<WCS_TaskInfo>().Where(x => x.BarCode == bcrCode).OrderByDescending(x => x.AddTime).First();
+                                        db.DeleteableRowLock(invNow).ExecuteCommand(); //删除库存
+
+                                        var invInit = db.Queryable<BillInvinit>().Where(x => x.ContGrpBarCode == bcrCode).OrderByDescending(x => x.AddTime).First();
+                                        db.DeleteableRowLock(invInit).ExecuteCommand();//删除条码
 
-                                        if (task.Status == TaskStatus.NewBuild && task.BusType == "人工满托入库") //人工满托入库新建任务
+                                        var taskInfos = db.Queryable<WCS_TaskInfo>().Where(x => x.BarCode == bcrCode && x.Status == TaskStatus.NewBuild && x.BusType == "人工满托入库").ToList();
+                                        foreach (var task in taskInfos)
                                         {
-                                            //删除条码
-                                            var invInit = db.Queryable<BillInvinit>()
-                                                .Where(x => x.ContGrpBarCode == bcrCode)
-                                                .OrderByDescending(x => x.AddTime).First();
-                                            db.DeleteableRowLock(invInit).ExecuteCommand();
-                                            //删除库存
-                                            var invNow = db.Queryable<BillInvnow>()
-                                                .Where(x => x.ContGrpBarCode == bcrCode)
-                                                .OrderByDescending(x => x.AddTime).First();
-                                            db.DeleteableRowLock(invNow).ExecuteCommand();
                                             //取消任务
                                             task.Status = TaskStatus.Cancel;
                                             task.ManualRemarks = "托盘已使用,需在二楼组盘";
                                             db.Updateable(task).ExecuteCommand();
                                             task.AddWCS_TASK_DTL(db, obj.Entity.Code, "", "取消任务");
                                         }
-
-                                        World.Log($"【{obj.Entity.Code}】上的托盘 【{bcrCode}】存在历史库存信息,请检查对应托盘条码是否存在未完成的出库任务!!!!!", LogLevelEnum.High);
-                                    }
-                                    catch (Exception e)
-                                    {
-                                        World.Log($"{e.Message}:{e.StackTrace}", LogLevelEnum.High);
                                     }
+
+                                    World.Log($"【{obj.Entity.Code}】上的托盘 【{bcrCode}】存在历史库存信息,请检查对应托盘条码是否存在未完成的出库任务!!!!!", LogLevelEnum.High);
                                     return;
                                 }
 

+ 16 - 14
业务工程/分拣库/WCS.WorkEngineering/Systems/环形库/环形库分配货位.cs

@@ -1,28 +1,22 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using ServiceCenter.Extensions;
-using ServiceCenter.Logs;
+using ServiceCenter.Extensions;
 using ServiceCenter.SqlSugars;
+using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.Robot;
 using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.WebApi.Models.WMS.Response;
 using WCS.WorkEngineering.Worlds;
-using WCS.WorkEngineering.Worlds.环形库.环形库;
 using TaskStatus = WCS.Entity.TaskStatus;
 
 namespace WCS.WorkEngineering.Systems.环形库
 {
+    /// <summary>
+    ///  环形库分配货位
+    /// </summary>
     [BelongTo(typeof(SortingBranchWorld))]
-    [Description("机械臂")]
+    [Description("环形库分配货位")]
     public class 环形库分配货位 : DeviceSystem<Device<IStation520, IStation521, IStation523>>
     {
         protected override bool ParallelDo => true;
@@ -58,7 +52,7 @@ namespace WCS.WorkEngineering.Systems.环形库
             }
 
             WCS_TaskInfo taskInfo = null;
-
+            int sideNum = 0;
             //开始获取货位号
             SqlSugarHelper.Do(db =>
             {
@@ -96,6 +90,8 @@ namespace WCS.WorkEngineering.Systems.环形库
                 task.EditWho = "WCS";
                 db.Default.UpdateableRowLock(task).UpdateColumns(x => new { x.Status, x.AddrTo, x.Line, x.Col, x.Layer, x.Depth, x.LastInteractionPoint, x.SrmStation, x.Device, x.EditWho }).ExecuteCommand();
                 task.AddWCS_TASK_DTL(db.Default, obj.Entity.Code, task.AddrTo, $"任务分配货位{task.AddrTo}");
+                var invNow = db.Default.Queryable<BillInvnow>().NoLock().First(x => x.ContGrpBarCode == task.BarCode);
+                sideNum = invNow.SideNum;
                 taskInfo = task;
             });
             if (taskInfo == null) return;
@@ -105,6 +101,12 @@ namespace WCS.WorkEngineering.Systems.环形库
             obj.Data.GoodsStart = obj.Entity.Code.ToShort();
             obj.Data.GoodsStart = obj.Entity.Code.ToShort();
             obj.Data.GoodsEnd = next;
+            if (sideNum == 2) //反面
+            {
+                obj.Data.CmdType = StationCmd.Res6;
+                obj.Data.CmdType = StationCmd.Res6;
+            }
+
             obj.Data.GoodsEnd = next;
             obj.Data.SetVoucherNo();
         }
@@ -120,4 +122,4 @@ namespace WCS.WorkEngineering.Systems.环形库
             return codes.Any(x => x == dev.Code);
         }
     }
-}
+}