فهرست منبع

码垛重写任务卡控

Administrator 2 سال پیش
والد
کامیت
e39bdadafa

BIN
DLL/PLC.Siemens.dll


+ 3 - 3
Projects/永冠/WCS.Service/Works/Stations/出库交通管制.cs

@@ -114,7 +114,7 @@ namespace WCS.Service.Works.Stations
                 {
                     var rgv = Device.Find("RGV5").Device<IRGV521, IRGV520>();
                     if (rgv.Data2.Trigger == 1)
-                        throw new Exception("等待WCS与RGV5交互完成");
+                        throw new Exception("[2325]等待WCS与RGV5交互完成");
                     var outqty = (rgv.Data.DestPosition == 2081 && rgv.Data.SystemStatus != RGVRunStatus.空闲) ? 1 : 0;
 
                     outqty += Device.Where(v => "2325,2081,2083,2084,2086".Split(',').Contains(v.CODE)).Select(v => v.Device<IStation521, IStation520>())
@@ -122,7 +122,7 @@ namespace WCS.Service.Works.Stations
                     .Count();
                     if (outqty >= 2)
                     {
-                        throw new Exception($"流量控制,放行任务数已达{outqty}");
+                        throw new Exception($"[2325]流量控制,放行任务数已达{outqty}");
                     }
 
                     var inqty = Device.Where(v => "2081,2083,2088".Split(',').Contains(v.CODE)).Select(v => v.Device<IStation521,IStation520>())
@@ -130,7 +130,7 @@ namespace WCS.Service.Works.Stations
                     .Count();
                     if (inqty > 0)
                     {
-                        throw new Exception($"交通管制,正在入库的任务数{inqty}");
+                        throw new Exception($"[2325]交通管制,正在入库的任务数{inqty}");
                     }
 
                     //var outPath = obj.Entity.GetPath(task.ADDRTO);

+ 1 - 1
Projects/永冠/WCS.Service/Works/Stations/原膜入库.cs

@@ -34,7 +34,7 @@ namespace WCS.Service.Works.Stations
                 var task = db.Default.Set<WCS_TASK>().Where(v => v.ADDRFROM == dev.Entity.CODE && v.STATUS == WCS.Entity.TaskStatus.新建 && v.TYPE == TaskType.入库).FirstOrDefault();
                 if (task == null)
                 {
-                    throw new Exception("未创建入库任务");
+                    throw new Exception($"[{dev.Entity.CODE}]未创建入库任务");
                 }
                 task.STATUS = WCS.Entity.TaskStatus.执行中;
                 task.ADDRTO = dev.Entity.CODE;

+ 5 - 0
Projects/永冠/WCS.Service/Works/Stations/组盘位.cs

@@ -113,16 +113,21 @@ namespace WCS.Service.Works.Stations
                         var task = db.Default.Set<WCS_TASK>().Find(taskid);
                         if (task == null)
                             throw new Exception("空托盘任务号" + taskid + "不存在");
+                        if (task.TYPE == TaskType.入库)
+                            return;
 
                         var qty = db.Default.Set<WCS_TASK>().Where(v => v.TYPE == TaskType.组盘 && v.GROUPTASK == taskid).Count();
                         if (Ltc.Do(dev, v => qty < v.Data3.MaxQty))
                             return;
+                        //防止二次写入
+                        if (dev.Data3.MaxQty == 0) return;
 
                         var res = WMS.InBound(task.BARCODE, dev.Entity.CODE);
                         //if (Ltc.Do(res, v => v.ResType == false))
                         //    throw new Exception(res.ResMessage);
                         //var target = res.TunnelNum.Split(',').Select(v => endStations.FirstOrDefault(d => d.Entity.Tunnel().ToString() == v))
                         //                .Where(v => v != null).FirstOrDefault();
+                        
                         task = new WCS_TASK
                         {
                             TYPE = TaskType.入库,