/// <summary> /// 货柜信息 /// </summary> public BoxRpt BoxInfo(int box) { BoxRpt boxRpt = new BoxRpt(); int colcount = JPBoxConfigUtil.GetColcount(m_com); HuoDaoRpt huoDaoRpt = base.GET_HUODAO((byte)box); int i = 0; foreach (HuoDaoInfo huoDaoInfo in huoDaoRpt.HuoDaoInfoList) { i++; RoadRpt roadRpt = new RoadRpt(); roadRpt.Floor = ((i - 1) / colcount) + 1; roadRpt.Num = ((i - 1) % colcount) + 1; roadRpt.IsOK = huoDaoInfo.HuoDaoSt == HuoDaoSt.正常 ? true : false; switch (huoDaoInfo.HuoDaoSt) { case HuoDaoSt.货道不存在: roadRpt.ErrorMsg = "货道不存在"; break; case HuoDaoSt.暂不可用: roadRpt.ErrorMsg = "货道暂不可用"; break; case HuoDaoSt.故障: roadRpt.ErrorMsg = "货道故障"; break; } roadRpt.Remainder = huoDaoInfo.Remainder; boxRpt.RoadCollection.RoadList.Add(roadRpt); } return boxRpt; }
/// <summary> /// 货柜信息 /// </summary> public BoxRpt BoxInfo(int box) { BoxRpt boxRpt = new BoxRpt(); //机器设备状态 BoxStatus boxStatus = base.QueryBoxStatus(box); boxRpt.BoxStatus += string.Format("机器设备状态:\r\n{0}\r\n", boxStatus.ToString()); //制冷压缩机/风机/照明/除雾/广告灯/工控机等设备状态 EquipmentsStatus equipmentsStatus = base.QueryEquipmentsStatus(box); boxRpt.BoxStatus += string.Format("制冷压缩机/风机/照明/除雾/广告灯/工控机等设备状态:\r\n{0}\r\n", equipmentsStatus.ToString()); //制冷压缩机/照明/除雾/广告灯/工控机等设备控制策略参数 EquipmentInfo equipmentAll = base.QueryEquipmentAll(box); boxRpt.BoxSetup += equipmentAll.ToString(); //货道信息 RoadModelCollection roadModelCollection = JMBoxConfigUtil.GetRoadsConfig(box); foreach (RoadModel road in roadModelCollection.RoadList) { RoadInfo roadInfo = base.QueryRoadInfo(box, road.Floor, road.Num); RoadRpt roadRpt = new RoadRpt(); roadRpt.Floor = road.Floor; roadRpt.Num = road.Num; roadRpt.IsOK = roadInfo.IsOK; roadRpt.ErrorMsg = roadInfo.ErrorMsg; roadRpt.Price = roadInfo.Price; boxRpt.RoadCollection.RoadList.Add(roadRpt); } boxRpt.RoadCollection.FloorCount = roadModelCollection.FloorCount; return boxRpt; }
/// <summary> /// 查询单个货道信息 /// </summary> public RoadRpt QueryRoadRpt(string com, int box, int floor, int num) { RoadRpt roadRpt; try { IMachine machine = MachineFactory.GetMachine(com); roadRpt = machine.QueryRoadRpt(box, floor, num); } catch (Exception ex) { roadRpt = new RoadRpt(); roadRpt.IsOK = false; roadRpt.ErrorMsg = ex.Message; FileLogger.LogError("查询单个货道信息失败" + ex.Message); } return roadRpt; }
/// <summary> /// 查询单个货道信息 /// </summary> public RoadRpt QueryRoadRpt(int box, int floor, int num) { RoadRpt roadRpt = new RoadRpt(); if (huoDaoRpt == null) { huoDaoRpt = base.GET_HUODAO((byte)box); } int hd_id = -1; #region 计算货道 hd_id = (byte)((floor - 1) * JPBoxConfigUtil.GetColcount(m_com) + num); #endregion if (hd_id <= 0 || hd_id > huoDaoRpt.HuoDaoInfoList.Count) { roadRpt.IsOK = false; roadRpt.ErrorMsg = "换算物理货道失败"; return roadRpt; } HuoDaoInfo huoDaoInfo = huoDaoRpt.HuoDaoInfoList[hd_id - 1]; roadRpt.Floor = floor; roadRpt.Num = num; if (huoDaoInfo.HuoDaoSt == HuoDaoSt.正常) { roadRpt.IsOK = true; roadRpt.Remainder = huoDaoInfo.Remainder; } else { roadRpt.IsOK = false; switch (huoDaoInfo.HuoDaoSt) { case HuoDaoSt.故障: roadRpt.ErrorMsg = "货道故障"; break; case HuoDaoSt.货道不存在: roadRpt.ErrorMsg = "货道不存在"; break; case HuoDaoSt.暂不可用: roadRpt.ErrorMsg = "货道暂不可用"; break; } } return roadRpt; }
/// <summary> /// 查询单个货道信息 /// </summary> public RoadRpt QueryRoadRpt(int box, int floor, int num) { RoadRpt roadRpt = new RoadRpt(); int cost; string status; bool bl = base.QueryRoadInfo(box, floor, num, out cost, out status); roadRpt.Floor = floor; roadRpt.Num = num; if (bl) { roadRpt.IsOK = true; roadRpt.Price = cost; } else { roadRpt.IsOK = false; roadRpt.ErrorMsg = status; } return roadRpt; }