Exemple #1
0
        /// <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;
        }
Exemple #2
0
        /// <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;
        }
Exemple #3
0
        /// <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;
        }
Exemple #4
0
        /// <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;
        }
Exemple #5
0
 /// <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;
 }