Пример #1
0
        public ActionResult Scene()
        {
            using (var db = new IntegrateDbContext())
            {
                var                       projectListItems  = new List <SelectListItem>();
                var                       projectListSql    = string.Format(StaticSql.PROJECT_LIST);
                var                       projectList       = db.Database.SqlQuery <Project>(projectListSql);
                List <Project>            projects          = projectList.ToList();
                IDictionary <int, string> projectDictionary = new Dictionary <int, string>();
                //projectDictionary.Add(-1, "- 请选择项目 -");
                projects.ForEach(item =>
                {
                    SelectListItem projectItem = new SelectListItem();
                    projectItem.Text           = item.Name;
                    projectItem.Value          = item.Id.ToString();
                    projectListItems.Add(projectItem);

                    projectDictionary.Add(item.Id, item.Name);
                });
                projectListItems.Insert(0, new SelectListItem {
                    Text = "请选择项目", Value = "-1", Selected = true
                });
                ViewBag.SelectItems = projectListItems;
                ViewBag.Projects    = JsonConvert.SerializeObject(projects);
            }
            return(View());
        }
Пример #2
0
        // GET: Weight
        public ActionResult Index(bool write = false, string viewToken = "003b95d50b554031a213ff9eb3a5183a")
        {
            InitTemperatureValue2();
            List <double>           values            = new List <double>();
            List <TemperaturePoint> temperaturePoints = new List <TemperaturePoint>();
            string sql        = StaticSql.TEMPERATURE_POINT;
            string querySpace = StaticSql.QUERY_SPACE;

            using (var db = new IntegrateDbContext())
            {
                List <TemperaturePointOriginal> temperaturePointOriginals = db.Database.SqlQuery <TemperaturePointOriginal>(sql).ToList();
                temperaturePointOriginals.ForEach(item =>
                {
                    BoundingBox boundingbox = JsonConvert.DeserializeObject <BoundingBox>(item.BoundingBox);
                    double x     = (boundingbox.max.x + boundingbox.min.x) * 0.5;
                    double y     = (boundingbox.max.y + boundingbox.min.y) * 0.5;
                    double z     = (boundingbox.max.z + boundingbox.min.z) * 0.5;
                    var position = string.Format("{0},{1},{2}", x, y, z);
                    temperaturePoints.Add(new TemperaturePoint {
                        objectId = item.Id, position = position
                    });
                });

                List <PointWeight> pointWeights = db.Database.SqlQuery <PointWeight>(querySpace).ToList();
                int R = 0; int G = 0; int B = 0;
                pointWeights.ForEach(item =>
                {
                    //if (string.IsNullOrEmpty(item.Weight))
                    //    return;
                    // 1689689599747552.2346327:0.0961006025123045; 1689689599747552.2346298:0.0901430435338005;
                    double degree    = 0;
                    string[] weights = item.Weight.Split(';');
                    foreach (string weight in weights)
                    {
                        string[] keyValue = weight.Split(':');
                        string key        = (keyValue[0]);
                        double value      = Convert.ToDouble(keyValue[1]);
                        if (!m_temperatureValue.ContainsKey(keyValue[0]))
                        {
                            continue;
                        }
                        degree += m_temperatureValue[keyValue[0]] * value;
                    }
                    Color realrgb = ConvertDegreeToRGB(degree);
                    values.Add(degree);
                    R          = realrgb.R; G = realrgb.G; B = realrgb.B;
                    string rgb = string.Format("{0},{1},{2}", R, G, B);
                    //直接把当前元素添加到,key对应的List集合中。
                    finalData[item.Id] = rgb;
                });
                ViewBag.TemperatureData = JsonConvert.SerializeObject(finalData.ToList());
                ViewBag.V = JsonConvert.SerializeObject(values);
            }
            ViewBag.viewToken = viewToken;
            return(View());
        }
Пример #3
0
        public ActionResult Index(int?projectId = 366)
        {
            using (var db = new IntegrateDbContext())
            {
                var project       = string.Format(StaticSql.PROJECT, projectId);
                var projectEntity = db.Database.SqlQuery <Project>(project).FirstOrDefault();
                var tplId         = projectEntity.TplId;
                ViewBag.ProjectName = projectEntity.Name;

                // 获取数字化移交设备分类
                var         fileSql = string.Format(StaticSql.TPL_FILE, tplId, projectId);
                List <File> files   = db.Database.SqlQuery <File>(fileSql).ToList();

                var sql = string.Format(StaticSql.SYSTEM_CONFIG, projectId);
                List <SystemConfig> systemConfigList = db.Database.SqlQuery <SystemConfig>(sql).ToList();

                files.ForEach(file =>
                {
                    dataTransferNodes.Add(
                        new DataTransferNode
                    {
                        id         = file.Id,
                        text       = file.Name,
                        nodes      = new List <DataTransferNode>(),
                        tags       = file,
                        code       = file.Code,
                        parentCode = file.ParentId
                    });
                });
                dataTransferNodes.ForEach(o => buildDataTransferTree(o));
                ViewBag.dataTransferTree = JsonConvert.SerializeObject(dataTransferTree);

                // 构建系统分类节点
                systemConfigList.ForEach(item =>
                {
                    systemConfigNodes.Add(
                        new SystemConfigNode
                    {
                        id         = item.id,
                        text       = item.sysName,
                        nodes      = new List <SystemConfigNode>(),
                        tags       = item,
                        code       = item.sysCode,
                        parentCode = item.parentCode
                    });
                });

                // 递归建立父子关系
                systemConfigNodes.ForEach(o => buildSystemConfigTree(o));
                ViewBag.systemConfigTree = JsonConvert.SerializeObject(systemConfigTree);
                ViewBag.ProjectId        = projectId;
            }
            return(View());
        }
Пример #4
0
 // GET: Operation
 public ActionResult FetchModelFiles(string project)
 {
     if (null != project)
     {
         using (var db = new IntegrateDbContext())
         {
             string            sql        = string.Format(StaticSql.PROJECT_MODEL_LIST, project);
             List <ModelFiles> modelFiles = db.Database.SqlQuery <ModelFiles>(sql).ToList();
             return(Json(modelFiles, JsonRequestBehavior.AllowGet));
         }
     }
     return(Json(new List <ModelFiles>(), JsonRequestBehavior.AllowGet));
 }
Пример #5
0
        public ActionResult Index()
        {
            using (var db = new IntegrateDbContext())
            {
                string projectListSql = string.Format(StaticSql.PROJECT_LIST);
                string floorsSql      = StaticSql.FLOORS;
                string specialtiesSql = StaticSql.SPECIALTY;

                var projectList   = db.Database.SqlQuery <Project>(projectListSql);
                var floorList     = db.Database.SqlQuery <Floor>(floorsSql);
                var specialtyList = db.Database.SqlQuery <Specialty>(specialtiesSql);

                List <SelectListItem> projectListItems = new List <SelectListItem>();
                List <SelectListItem> floorsItems      = new List <SelectListItem>();
                List <SelectListItem> specialtyItems   = new List <SelectListItem>();
                if (null != projectList)
                {
                    List <Project> projects = projectList.ToList();
                    projects.ForEach(item =>
                    {
                        SelectListItem projectItem = new SelectListItem();
                        projectItem.Text           = item.Name;
                        projectItem.Value          = item.Id.ToString();
                        projectListItems.Add(projectItem);
                    });

                    floorList.Distinct().ToList().ForEach(item =>
                    {
                        SelectListItem floorItem = new SelectListItem();
                        floorItem.Text           = item.FloorName;
                        floorItem.Value          = item.FloorName;
                        floorsItems.Add(floorItem);
                    });

                    specialtyList.Distinct().ToList().ForEach(item =>
                    {
                        SelectListItem specialtyItem = new SelectListItem();
                        specialtyItem.Text           = item.SpecialtyName;
                        specialtyItem.Value          = item.SpecialtyName;
                        specialtyItems.Add(specialtyItem);
                    });
                }
                projectListItems.Insert(0, new SelectListItem {
                    Text = "请选择项目", Value = "-1", Selected = true
                });
                ViewBag.SelectItems = projectListItems;
                ViewBag.floors      = floorsItems;
                ViewBag.specialty   = specialtyItems;
            }
            return(View());
        }
Пример #6
0
        /// <summary>
        /// 准备空间数据,空间Guid和position位置信息
        /// </summary>
        private void PrepareBlock(string floor)
        {
            List <BlockPoint> items = new List <BlockPoint>();

            using (StreamReader reader = new StreamReader(Server.MapPath("~/App_Data/data.json")))
            {
                string json = reader.ReadToEnd();
                items = JsonConvert.DeserializeObject <List <BlockPoint> >(json);
            }

            var           guid        = Guid.NewGuid().ToString();
            int           projectId   = 366;
            long          integration = 1736233257547680;
            StringBuilder builder     = new StringBuilder();

            foreach (BlockPoint dr in items)
            {
                List <BlockParameter> blockPointsParameters = null;
                if (m_blockMap.ContainsKey(floor))
                {
                    blockPointsParameters = m_blockMap[floor];
                }
                else
                {
                    blockPointsParameters = new List <BlockParameter>();
                    m_blockMap.Add(floor, blockPointsParameters);
                }
                BlockParameter blockPara = new BlockParameter();
                string[]       xyz       = dr.position.Split(',');
                blockPara.px = Convert.ToDouble(xyz[0]);
                blockPara.py = Convert.ToDouble(xyz[1]);
                blockPara.pz = Convert.ToDouble(xyz[2]);
                blockPara.id = dr.id;
                blockPara.relationIdWeight = new Dictionary <string, double>();
                blockPointsParameters.Add(blockPara);

                builder.AppendFormat("({0},{1},'{2}','{3}','','{4}','{5}'),", projectId, integration, dr.id, floor, DateTime.Now, guid);
            }
            var sqlValue = builder.ToString().TrimEnd(',');
            var sql      = string.Format(StaticSql.ADD_SPACE_WEIGHT, sqlValue);

            using (var db = new IntegrateDbContext())
            {
                int ret = db.Database.ExecuteSqlCommand(sql);
                Console.WriteLine(ret);
            }
        }
 public ActionResult FetchScenes(int?projectId)
 {
     try
     {
         using (var db = new IntegrateDbContext())
         {
             string       sql    = string.Format(StaticSql.SCENES);
             List <Sence> sences = db.Database.SqlQuery <Sence>(sql).ToList();
             return(Json(sences, JsonRequestBehavior.AllowGet));
         }
     }
     catch (System.Exception e)
     {
         Console.WriteLine(e.Message);
     }
     return(null);
 }
Пример #8
0
        /// <summary>
        /// 准备温感点位数据,Id和position位置信息
        /// </summary>
        /// <param name="floorName"></param>
        private void PrepareTemperature(string floorName)
        {
            List <TemperaturePoint> temperaturePoints = new List <TemperaturePoint>();
            string sql = StaticSql.TEMPERATURE_POINT;

            using (var db = new IntegrateDbContext())
            {
                List <TemperaturePointOriginal> temperaturePointOriginals = db.Database.SqlQuery <TemperaturePointOriginal>(sql).ToList();
                temperaturePointOriginals.ForEach(item =>
                {
                    BoundingBox boundingbox = JsonConvert.DeserializeObject <BoundingBox>(item.BoundingBox);
                    double x     = (boundingbox.max.x + boundingbox.min.x) * 0.5;
                    double y     = (boundingbox.max.y + boundingbox.min.y) * 0.5;
                    double z     = (boundingbox.max.z + boundingbox.min.z) * 0.5;
                    var position = string.Format("{0},{1},{2}", x, y, z);
                    temperaturePoints.Add(new TemperaturePoint {
                        objectId = item.Id, position = position
                    });
                });
            }

            foreach (TemperaturePoint dr in temperaturePoints)
            {
                List <TemperatureParameter> temperaturePointsParameters = null;
                if (m_tempMap.ContainsKey(floorName))
                {
                    temperaturePointsParameters = m_tempMap[floorName];
                }
                else
                {
                    temperaturePointsParameters = new List <TemperatureParameter>();
                    m_tempMap.Add(floorName, temperaturePointsParameters);
                }

                TemperatureParameter tempPara = new TemperatureParameter();
                string[]             xyz      = dr.position.Split(',');
                tempPara.px = Convert.ToDouble(xyz[0]);
                tempPara.py = Convert.ToDouble(xyz[1]);
                tempPara.pz = Convert.ToDouble(xyz[2]);
                tempPara.id = dr.objectId;
                temperaturePointsParameters.Add(tempPara);
            }
        }
Пример #9
0
 /// <summary>
 /// 更新权重信息
 /// </summary>
 private void OutputWeight()
 {
     using (var db = new IntegrateDbContext())
     {
         foreach (List <BlockParameter> blockPointsParameters in m_blockMap.Values)
         {
             foreach (BlockParameter blockPara in blockPointsParameters)
             {
                 var id      = blockPara.id.ToString();
                 var weights = string.Empty;
                 foreach (KeyValuePair <string, double> kvp in blockPara.relationIdWeight)
                 {
                     weights += kvp.Key.ToString() + ":" + kvp.Value.ToString() + ";";
                 }
                 weights = weights.TrimEnd(';');
                 var ret = db.Database.ExecuteSqlCommand(string.Format(StaticSql.UPDATE_WEIGHT, weights, id));
             }
         }
     }
 }
Пример #10
0
 public ActionResult Authority()
 {
     using (var db = new IntegrateDbContext())
     {
         var            projectListItems = new List <SelectListItem>();
         var            projectListSql   = string.Format(StaticSql.PROJECT_LIST);
         var            projectList      = db.Database.SqlQuery <Project>(projectListSql);
         List <Project> projects         = projectList.ToList();
         projects.ForEach(item =>
         {
             SelectListItem projectItem = new SelectListItem();
             projectItem.Text           = item.Name;
             projectItem.Value          = item.Id.ToString();
             projectListItems.Add(projectItem);
         });
         projectListItems.Insert(0, new SelectListItem {
             Text = "请选择项目", Value = "-1", Selected = true
         });
         ViewBag.SelectItems = projectListItems;
     }
     return(View());
 }