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 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 #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);
        }
        /// <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);
        }
        /// <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);
        }