林豪 左 3 年之前
父节点
当前提交
d97855404f
共有 1 个文件被更改,包括 8 次插入5 次删除
  1. 8 5
      Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

+ 8 - 5
Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

@@ -250,7 +250,10 @@ namespace WCS.Service.Works.Station
                     var tunnels = Device.Where(v => tunnelNo.Contains(v.CODE)).ToList();
 
                     var tunnelInfos = new List<TunnelInfo>();
-                    code.infolog($"{res.WMSTaskGroupKey}第二次分配:WMS返回{JsonConvert.SerializeObject(tunnels)}。");
+                    var setting = new JsonSerializerSettings();
+                    setting.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
+                    setting.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
+                    code.infolog($"{res.WMSTaskGroupKey}第二次分配:WMS返回{JsonConvert.SerializeObject(tunnels, setting)}。");
                     foreach (var item in tunnels)
                     {
                         //当前巷道的取货点
@@ -258,16 +261,16 @@ namespace WCS.Service.Works.Station
                                           .Where(v => v.ROUTES.Any(p => p.NEXT.CODE == item.CODE)) //下一个点为当前巷道的取货点
                                           .Select(v => v.CODE)
                                           .ToList();
-                        code.infolog($"allIn:{JsonConvert.SerializeObject(allIn)};item:{item.CODE}");
+                        code.infolog($"allIn:{JsonConvert.SerializeObject(allIn, setting)};item:{item.CODE}");
                         //下一个目标地址包含取货点的设备,此时获得的数据是旋转台
                         var turntable = Device.Where(v => v.IsConv() && v.ROUTES.Any(p => p.NEXT != null && allIn.Contains(p.NEXT.CODE)))
                                               .Where(v => stationDeviceGroup.Items.Any(p => p.Entity == v))// 筛选出包含在当前设备组的设备
                                               .Distinct()
                                               .FirstOrDefault();//去一次重
-                        code.infolog($"turntable:{JsonConvert.SerializeObject(turntable)};item:{item.CODE}");
+                        code.infolog($"turntable:{JsonConvert.SerializeObject(turntable, setting)};item:{item.CODE}");
                         if (turntable == null) continue;
                         var dev = Device.Where(p => p.CODE.StartsWith("G") && p.DEVICEGROUP.Any(d => allIn.Contains(d.MEMBER.CODE))).MinBy(p => p.CODE);
-                        code.infolog($"dev:{JsonConvert.SerializeObject(dev)};item:{item.CODE}");
+                        code.infolog($"dev:{JsonConvert.SerializeObject(dev, setting)};item:{item.CODE}");
                         tunnelInfos.Add(new TunnelInfo
                         {
                             Tunnel = item,
@@ -285,7 +288,7 @@ namespace WCS.Service.Works.Station
                         }
                         catch { return false; }
                     }).MinBy(v => tunnelNo.IndexOf(v.Tunnel.CODE));
-                    code.infolog($"tunnelNo:{JsonConvert.SerializeObject(tunnelNo)}。");
+                    code.infolog($"tunnelNo:{JsonConvert.SerializeObject(tunnelNo, setting)}。");
                     if (tunnelInfo == null) throw new WarnException("无可用巷道");
                     code.infolog($"{res.WMSTaskGroupKey}第二次分配:WCS选择{tunnelInfo.Tunnel.CODE}。");