public List <SelectVO> Select(JObject bo)
        {
            //int a = 9;
            //int b = 0;
            //double c = a / b;

            /*************************************
            * 在_damageVOs中查找
            * {
            *    "基地":["11","12"],用info里的tags
            *    "发射平台":["井","车"],用info里的tags
            *    "弹型":["DF-5C"]  用info里的tags。
            *  }
            *************************************/

            try
            {
                Dictionary <string, List <string> > body = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, List <string> > >(bo.ToString());
                List <InfoBO> ret = _mongoService.FindTargetByTag(body);

                var r = _noFilterDamageVOs;

                //_damageVOs
                List <SelectVO> selectVOs = new List <SelectVO>();

                for (int i = 0; i < r.Count; i++)
                {
                    var damageVO = r.ElementAt(i);

                    if (ret.Find(s => s._id.ToString() == damageVO.id) == null)
                    {
                        continue;
                    }

                    SelectVO selectVO = new SelectVO();

                    selectVO.launchUnit      = damageVO.launchUnitInfo.LaunchUnit;
                    selectVO.platform        = damageVO.platform;
                    selectVO.warZone         = damageVO.warZone;
                    selectVO.combatZone      = damageVO.combatZone;
                    selectVO.brigade         = damageVO.launchUnitInfo.Brigade;
                    selectVO.platoon         = damageVO.platoon;
                    selectVO.missileNo       = damageVO.launchUnitInfo.MissileNo;
                    selectVO.missileNum      = damageVO.missileNum;
                    selectVO.warBase         = damageVO.warBase;
                    selectVO.lon             = damageVO.lon;
                    selectVO.lat             = damageVO.lat;
                    selectVO.alt             = damageVO.alt;
                    selectVO.nonce           = damageVO.nonce;
                    selectVO.decisionTimeUtc = MyCore.Utils.Const.TimestampMax;
                    selectVO.name            = damageVO.name;

                    // 0730 添加了一个decisionTimeUtc,在 _returnCounterVOs里找launchUnit相等的,
                    // 把 _returnCounterVOs的timerange第一个endtime
                    // 赋值回来。如果找不到,就写decisionTimeUtc=999
                    var result = _returnCounterVOs.Find(s => s.launchUnitInfo.LaunchUnit.Equals(selectVO.launchUnit));
                    if (result != null)
                    {
                        selectVO.decisionTimeUtc = result.timeRanges[0].EndTimeUtc;
                    }

                    selectVO.missileList      = damageVO.missileList;
                    selectVO.statusTimeRanges = damageVO.statusTimeRanges;

                    selectVOs.Add(selectVO);
                }

                return(selectVOs);
            }
            catch (Exception e)
            {
                _logger.LogDebug("ExceptionList<SelectVO> Select(JObject bo):" + e.ToString());
            }

            return(null);
        }