123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- /* ==============================================================================
- * 功能描述:数据字典下拉列表数据源
- * 创 建 者:Garrett
- * 创建日期:2018/3/16 19:32:51
- * ==============================================================================*/
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Reflection;
- using Newtonsoft.Json.Linq;
- using SAGA.DotNetUtils;
- using SAGA.DotNetUtils.Extend;
- using SAGA.DotNetUtils.WPF.UserControl.ComboboxTreeView;
- using SAGA.MBI.CmbData;
- using SAGA.MBI.Common;
- using SAGA.MBI.DataArrange;
- using SAGA.MBI.Model;
- using SAGA.MBI.RequestData;
- using SAGA.MBI.Tools;
- namespace SAGA.MBI.JsonConvert
- {
- /// <summary>
- /// CmbDataSourceRequest
- /// </summary>
- public class CmbDataSourceConvert
- {
- /// <summary>
- /// 查询地理信息--省市信息
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<ProvinceInfo> GeographyDic()
- {
- List<ProvinceInfo> list = new List<ProvinceInfo>();
- string json = CmbDataSourceRequest.GeographyDic();
- if (!json.IsSuccessRequest()) return list;
- JObject jObject = JObject.Parse(json);
- foreach (KeyValuePair<string, JToken> keyValuePair in (JObject)jObject["Content"])
- {
- foreach (JObject provinceJObject in (JArray)keyValuePair.Value)
- {
- string provinceName = "";
- switch (keyValuePair.Key)
- {
- case "normal":
- ProvinceInfo provinceInfo = new ProvinceInfo();
- provinceInfo.ProvinceCode = (string)provinceJObject["provinceCode"];
- provinceInfo.ProvinceName = (string)provinceJObject["provinceName"];
- provinceInfo.Code = (string)provinceJObject["provinceInfo"][0]["code"];
- provinceInfo.Name = (string)provinceJObject["provinceInfo"][0]["name"];
- provinceInfo.LocalCode = (string)provinceJObject["provinceInfo"][1]["code"];
- provinceInfo.LocalName = (string)provinceJObject["provinceInfo"][1]["name"];
- foreach (var cityJObject in provinceJObject["cities"])
- {
- CityInfo cityInfo = new CityInfo();
- cityInfo.CityCode = (string)cityJObject["cityCode"];
- cityInfo.CityName = (string)cityJObject["cityName"];
- cityInfo.Climate = (string)cityJObject["climate"];
- cityInfo.DevelopLevel = (string)cityJObject["developLevel"];
- cityInfo.Code = (string)cityJObject["cityInfo"][0]["code"];
- cityInfo.Name = (string)cityJObject["cityInfo"][0]["name"];
- cityInfo.CityInfoI = GetDistrictInfo((JObject)cityJObject["cityInfo"][0]);
- cityInfo.CityLocalInfoI = GetDistrictInfo((JObject)cityJObject["cityInfo"][1]);
- provinceInfo.Cities.Add(cityInfo);
- foreach (JObject districtJObject in cityJObject["district"])
- {
- DistrictInfo districtInfo = GetDistrictInfo(districtJObject);
- cityInfo.Districts.Add(districtInfo);
- }
- }
- list.Add(provinceInfo);
- break;
- case "specialDistrict":
- ProvinceInfo specialProvinceInfo = new ProvinceInfo();
- specialProvinceInfo.Code = (string)provinceJObject["code"];
- specialProvinceInfo.Name = (string)provinceJObject["name"];
- CityInfo specialCityInfo = new CityInfo();
- specialCityInfo.Code = (string)provinceJObject["code"];
- specialCityInfo.Name = (string)provinceJObject["name"];
- specialCityInfo.Climate = (string)provinceJObject["climate"];
- specialCityInfo.DevelopLevel = (string)provinceJObject["developLevel"];
- specialProvinceInfo.Cities.Add(specialCityInfo);
- DistrictInfo specialDistrictInfo = GetDistrictInfo(provinceJObject);
- specialCityInfo.CityInfoI = specialDistrictInfo;
- specialCityInfo.Districts.Add(specialDistrictInfo);
- list.Add(specialProvinceInfo);
- break;
- case "specialCities":
- ProvinceInfo specialCitiesProvinceInfo = new ProvinceInfo();
- specialCitiesProvinceInfo.Code = (string)provinceJObject["cityInfo"][0]["code"];
- specialCitiesProvinceInfo.Name = (string)provinceJObject["cityInfo"][0]["name"];
- CityInfo specialCitiesCityInfo = new CityInfo();
- specialCitiesCityInfo.Code = (string)provinceJObject["cityInfo"][0]["code"];
- specialCitiesCityInfo.Name = (string)provinceJObject["cityInfo"][0]["name"];
- specialCitiesCityInfo.Climate = (string)provinceJObject["climate"];
- specialCitiesCityInfo.DevelopLevel = (string)provinceJObject["developLevel"];
- specialCitiesCityInfo.CityInfoI = GetDistrictInfo((JObject)provinceJObject["cityInfo"][0]);
- specialCitiesProvinceInfo.Cities.Add(specialCitiesCityInfo);
- foreach (JObject districtJObject in provinceJObject["district"])
- {
- DistrictInfo districtInfo = GetDistrictInfo(districtJObject);
- specialCitiesCityInfo.Districts.Add(districtInfo);
- }
- list.Add(specialCitiesProvinceInfo);
- break;
- }
- //list.Add(name);
- }
- }
- return list;
- }
- /// <summary>
- /// 查询地理信息--省市信息,使用TreeNodeItem形式表达
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<CMBTreeNodeItem<ICMBTreeNodeItem>> GeographyTree()
- {
- List<CMBTreeNodeItem<ICMBTreeNodeItem>> list = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- var provinces = GeographyDic();
- foreach (ProvinceInfo provinceInfo in provinces)
- {
- var cityItems = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- foreach (var cityInfo in provinceInfo.Cities)
- {
- var districtItems = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- foreach (var districtInfo in cityInfo.Districts)
- {
- districtItems.Add(new CMBTreeNodeItem<ICMBTreeNodeItem>(districtInfo, null));
- }
- cityItems.Add(new CMBTreeNodeItem<ICMBTreeNodeItem>(cityInfo, districtItems));
- }
- list.Add(new CMBTreeNodeItem<ICMBTreeNodeItem>(provinceInfo, cityItems));
- }
- return list;
- }
- /// <summary>
- /// 获取区域信息
- /// </summary>
- /// <param name="jObject"></param>
- /// <returns></returns>
- private static DistrictInfo GetDistrictInfo(JObject jObject)
- {
- DistrictInfo districtInfo = new DistrictInfo();
- districtInfo.Altitude = (string)jObject["altitude"];
- districtInfo.Code = (string)jObject["code"];
- districtInfo.DistrictCode = jObject.GetValueEx("districtCode");
- districtInfo.Name = jObject.GetValueEx("districtName");
- if (districtInfo.Name.IsNullOrEmpty())
- districtInfo.Name = jObject.GetValueEx("name");
- districtInfo.Latitude = (string)jObject["latitude"];
- districtInfo.Longitude = (string)jObject["longitude"];
- return (districtInfo);
- }
- /// <summary>
- /// 气候区
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<ClimaticRegion> ClimateDic()
- {
- List<ClimaticRegion> list = new List<ClimaticRegion>();
- string json = CmbDataSourceRequest.ClimateDic();
- if (!json.IsSuccessRequest()) return list;
- JObject jObject = JObject.Parse(json);
- foreach (JObject contentJObject in (JArray)jObject["Content"])
- {
- ClimaticRegion climaticRegion = new ClimaticRegion();
- climaticRegion.Name = (string)contentJObject["name"];
- climaticRegion.Code = (string)contentJObject["code"];
- foreach (var subJObject in contentJObject["content"])
- {
- ClimaticRegionSub subClimaticRegion = new ClimaticRegionSub();
- subClimaticRegion.Name = (string)subJObject["name"];
- subClimaticRegion.Code = (string)subJObject["code"];
- subClimaticRegion.Info = (string)subJObject["info"];
- climaticRegion.ClimaticRegionSubs.Add(subClimaticRegion);
- }
- list.Add(climaticRegion);
- }
- return list;
- }
- /// <summary>
- /// 气候区
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<CMBTreeNodeItem<ICMBTreeNodeItem>> ClimateTree()
- {
- List<CMBTreeNodeItem<ICMBTreeNodeItem>> list = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- var climates = ClimateDic();
- foreach (ClimaticRegion climaticRegion in climates)
- {
- var subItems = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- foreach (var subClimate in climaticRegion.ClimaticRegionSubs)
- {
- subItems.Add(new CMBTreeNodeItem<ICMBTreeNodeItem>(subClimate, null));
- }
- list.Add(new CMBTreeNodeItem<ICMBTreeNodeItem>(climaticRegion, subItems));
- }
- return list;
- }
- /// <summary>
- /// 建筑功能类型
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<CMBTreeNodeItem<ICMBTreeNodeItem>> BuildFuncTypeDic()
- {
- List<CMBTreeNodeItem<ICMBTreeNodeItem>> list = new List<CMBTreeNodeItem<ICMBTreeNodeItem>>();
- string json = CmbDataSourceRequest.BuildFuncTypeDic();
- if (!json.IsSuccessRequest()) return list;
-
- return DalCMBTreeView.ConvertToDataSource(json); ;
- }
- /// <summary>
- /// 建筑 信息点的数据源
- /// </summary>
- /// <param name="infoPointCode"></param>
- /// <returns></returns>
- [CacheAspect]
- public static List<CMBTreeNodeItem<ICMBTreeNodeItem>> BuildingInfoDS(string infoPointCode)
- {
- string code = "building";
- var pdtb = PEPCodeConvert.GetPropertyDefineTb(code);
- var infoDefine = pdtb.PropertyDefineItems.FirstOrDefault(t => t.CodeName == infoPointCode);
- return DalCMBTreeView.ConvertToDataSource(infoDefine?.EnumSource);
- }
- /// <summary>
- /// 楼层 信息点的数据源
- /// </summary>
- /// <param name="infoPointCode"></param>
- /// <returns></returns>
- [CacheAspect]
- public static List<CMBTreeNodeItem<ICMBTreeNodeItem>> FloorInfoDS(string infoPointCode)
- {
- string code = "floor";
- var pdtb = PEPCodeConvert.GetPropertyDefineTb(code);
- var infoDefine = pdtb.PropertyDefineItems.FirstOrDefault(t => t.CodeName == infoPointCode);
- return DalCMBTreeView.ConvertToDataSource(infoDefine?.EnumSource);
- }
- /// <summary>
- /// 设备种族类型编码
- /// </summary>
- /// <returns></returns>
- [CacheAspect]
- public static List<MEquipmentFamily> EquipmentFamilyDic()
- {
- List<MEquipmentFamily> list = new List<MEquipmentFamily>();
- string json = CmbDataSourceRequest.EquipmentFamilyDic();
- //if (!LoginRequest.IsSuccessRequest(json)) return list;
- JObject jObject = JObject.Parse(json);
- foreach (JObject contentJObject in (JArray)jObject["Content"])
- {
- MEquipmentFamily mInfo = new MEquipmentFamily(contentJObject.ToString());
- list.Add(mInfo);
- }
- return list;
- }
- }
- }
|