浏览代码

适配校称

林豪 左 3 月之前
父节点
当前提交
e9968779d0
共有 1 个文件被更改,包括 25 次插入6 次删除
  1. 25 6
      成品库/WCS.WorkEngineering/Systems/装箱区扫码.cs

+ 25 - 6
成品库/WCS.WorkEngineering/Systems/装箱区扫码.cs

@@ -32,6 +32,7 @@ namespace WCS.WorkEngineering.Systems
         protected override bool SaveLogsToFile => true;
         private List<Station> devs = new List<Station>();
         private List<SRM> srms = new List<SRM>();
+
         public override void Do(Device<IStation520, IStation521, IStation523, IStation91, IBCR81> obj)
         {
             obj.入库站点是否被禁止();
@@ -70,7 +71,7 @@ namespace WCS.WorkEngineering.Systems
                         else if (taskInfo.Type == TaskType.OutDepot && taskInfo.BusType == "间隔板出库")
                         {
                             taskInfo.AddrNext = taskInfo.AddrTo;
-                        }  
+                        }
                         taskInfo.Status = Entity.TaskStatus.ConveyorExecution;
                         taskInfo.EditWho = "WCS";
                         taskInfo.EditTime = DateTime.Now;
@@ -83,7 +84,7 @@ namespace WCS.WorkEngineering.Systems
                 else
                 {
                     var taskInfo = db.Queryable<WCS_TaskInfo>().First(x => x.ID == obj.Data2.TaskNumber);
-                    if (taskInfo == null && obj.Data2.TaskNumber>0)
+                    if (taskInfo == null && obj.Data2.TaskNumber > 0)
                     {
                         obj.Data.TaskNumber = obj.Data2.TaskNumber;
                         obj.Data.GoodsStart = obj.Entity.Code.ToShort();
@@ -144,6 +145,25 @@ namespace WCS.WorkEngineering.Systems
                             taskInfo.AddWCS_TASK_DTL(_db, obj.Entity.Code, taskInfo.AddrNext, $"8058重复扫码完成");
                             task = taskInfo;
                         }
+                        else if (taskInfo.Type == TaskType.OutDepot && taskInfo.BusType == "砝码出库")
+                        {
+                            //上抛重量信息并记录
+                            try { WmsApi.WcsUploadInfo(taskInfo.ID, (decimal)taskInfo.Weight, ""); }
+                            catch (Exception ex) { throw new KnownException(ex.Message, LogLevelEnum.Mid); }
+
+                            //把状态变更为入库任务并且需要从库前执行入库,固定分配至5巷道    砝码入库
+                            taskInfo.AddrNext = taskInfo.AddrTo; //TODO:目标地址改为库前入库相关路径
+                            taskInfo.EditWho = "WCS";
+                            taskInfo.EditTime = DateTime.Now;
+                            taskInfo.Weight = (float)Math.Round(obj.Data4.Weight, 2);
+                            taskInfo.Type = TaskType.EnterDepot;
+                            taskInfo.Status = Entity.TaskStatus.ConveyorExecution;
+                            task.BusType = "砝码出库";
+
+                            db.Updateable(taskInfo).ExecuteCommand();
+                            taskInfo.AddWCS_TASK_DTL(_db, obj.Entity.Code, taskInfo.AddrNext, $"8058重复扫码完成");
+                            task = taskInfo;
+                        }
                         else
                         {
                             //taskInfo.AddrNext = string.IsNullOrEmpty(taskInfo.AddrTo) ? "8128" : "8161";
@@ -160,7 +180,6 @@ namespace WCS.WorkEngineering.Systems
                             //taskInfo.updateRedisHash();
                             task = taskInfo;
                         }
-
                     }
                 }
             });
@@ -170,11 +189,11 @@ namespace WCS.WorkEngineering.Systems
             obj.Data.GoodsEnd = task.AddrNext.ToShort();
             obj.Data.VoucherNo++;
             World.Log($"设备号{obj.Entity.Code},任务号{task.ID},起始地址{obj.Data.GoodsStart},目标地址{obj.Data.GoodsEnd}");
-
         }
+
         public override bool Select(Device dev)
         {
-            return dev.Code == "8050"|| dev.Code == "8058";
+            return dev.Code == "8050" || dev.Code == "8058";
         }
     }
-}
+}