bim漫游功能开发
parent
e4752ef2a6
commit
77333b2137
|
@ -89,7 +89,7 @@
|
||||||
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">绿碳中心</div>
|
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">绿碳中心</div>
|
||||||
<!-- <div :class="nav == 7 ? 'head-nav active' : 'head-nav'" @click="doNav(7)">BIM应用</div> -->
|
<!-- <div :class="nav == 7 ? 'head-nav active' : 'head-nav'" @click="doNav(7)">BIM应用</div> -->
|
||||||
<div :class="(nav >= 700 && nav < 800) || nav == 7 ? 'head-nav active' : 'head-nav'" style="position: relative" class="has-submenu">
|
<div :class="(nav >= 700 && nav < 800) || nav == 7 ? 'head-nav active' : 'head-nav'" style="position: relative" class="has-submenu">
|
||||||
<div>BIM应用</div>
|
<div>数字孪生</div>
|
||||||
<div class="header-btn-list">
|
<div class="header-btn-list">
|
||||||
<div class="header-btn-list-arrow"></div>
|
<div class="header-btn-list-arrow"></div>
|
||||||
<div class="header-btn-list-item" style>
|
<div class="header-btn-list-item" style>
|
||||||
|
|
|
@ -1521,7 +1521,7 @@ export default {
|
||||||
.row-title {
|
.row-title {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
font-size: 32px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -732,6 +732,8 @@ export default {
|
||||||
}
|
}
|
||||||
.roam-tool {
|
.roam-tool {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
|
@ -744,7 +746,112 @@ export default {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #00000030;
|
color: #909399;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1920px) {
|
||||||
|
}
|
||||||
|
@media (min-width: 2561px) {
|
||||||
|
.data-content {
|
||||||
|
.div-row {
|
||||||
|
min-height: 420px;
|
||||||
|
.row-title {
|
||||||
|
height: 48px;
|
||||||
|
line-height: 48px;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.div-tools {
|
||||||
|
bottom: 25vh;
|
||||||
|
margin-left: -68px;
|
||||||
|
border-radius: 10px;
|
||||||
|
.tool-item {
|
||||||
|
padding: 10px 20px;
|
||||||
|
.icon {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
border-radius: 30px;
|
||||||
|
.svg-icon {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sp-text {
|
||||||
|
margin-top: 10px;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.model-tree {
|
||||||
|
.el-tree {
|
||||||
|
font-size: 24px;
|
||||||
|
.el-tree-node__content {
|
||||||
|
height: 36px;
|
||||||
|
}
|
||||||
|
.el-tree-node__expand-icon {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.el-checkbox {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.el-tree-node__label {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.el-tree__empty-text {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.view-point-list {
|
||||||
|
height: calc(100% - 48px);
|
||||||
|
|
||||||
|
.viewpoint-item {
|
||||||
|
margin: 10px 10px 0px;
|
||||||
|
|
||||||
|
.viewpoint-content {
|
||||||
|
border-radius: 4px;
|
||||||
|
.el-image {
|
||||||
|
height: 160px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.viewpoint-title {
|
||||||
|
width: calc(100% - 10px);
|
||||||
|
line-height: 30px;
|
||||||
|
font-size: 24px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 0px 10px;
|
||||||
|
border-radius: 0px 0px 4px 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.roaming-list {
|
||||||
|
height: calc(100% - 48px);
|
||||||
|
.roaming-item {
|
||||||
|
margin: 10px;
|
||||||
|
line-height: 48px;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 0px 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
.roam-text {
|
||||||
|
max-width: calc(100% - 40px);
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.roam-tool {
|
||||||
|
margin-left: 10px;
|
||||||
|
.svg-icon {
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.loading {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class BimDataSource {
|
||||||
HikariConfig config = new HikariConfig();
|
HikariConfig config = new HikariConfig();
|
||||||
config.setDriverClassName(driverName);
|
config.setDriverClassName(driverName);
|
||||||
config.setJdbcUrl(url);
|
config.setJdbcUrl(url);
|
||||||
|
config.setConnectionTimeout(120*1000L);
|
||||||
config.setMaximumPoolSize(100);
|
config.setMaximumPoolSize(100);
|
||||||
config.setConnectionTestQuery("SELECT 1");
|
config.setConnectionTestQuery("SELECT 1");
|
||||||
DataSource ds= new HikariDataSource(config);
|
DataSource ds= new HikariDataSource(config);
|
||||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.yanzhu.common.core.utils.StringUtils;
|
import com.yanzhu.common.core.utils.StringUtils;
|
||||||
import com.yanzhu.common.core.web.domain.AjaxResult;
|
import com.yanzhu.common.core.web.domain.AjaxResult;
|
||||||
|
import com.yanzhu.common.redis.service.RedisService;
|
||||||
import com.yanzhu.manage.bim.BimDataSource;
|
import com.yanzhu.manage.bim.BimDataSource;
|
||||||
import com.yanzhu.manage.bim.BimDataSourceConfig;
|
import com.yanzhu.manage.bim.BimDataSourceConfig;
|
||||||
import com.yanzhu.manage.domain.bim.ModelPropertyVo;
|
import com.yanzhu.manage.domain.bim.ModelPropertyVo;
|
||||||
|
@ -19,6 +20,7 @@ import java.sql.ResultSet;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/bim/modelInfo")
|
@RequestMapping("/bim/modelInfo")
|
||||||
|
@ -27,6 +29,9 @@ public class BimModelController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BimDataSource bimDataSource;
|
private BimDataSource bimDataSource;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 带子节点的model_tree查询
|
* 带子节点的model_tree查询
|
||||||
* @param name
|
* @param name
|
||||||
|
@ -38,6 +43,11 @@ public class BimModelController {
|
||||||
if(StringUtils.isEmpty(name)){
|
if(StringUtils.isEmpty(name)){
|
||||||
return AjaxResult.error("name is null");
|
return AjaxResult.error("name is null");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelTreeAllChild."+name+"."+pid;
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String sql="";
|
String sql="";
|
||||||
if(StringUtils.isEmpty(pid)){
|
if(StringUtils.isEmpty(pid)){
|
||||||
sql="select * from model_tree ";
|
sql="select * from model_tree ";
|
||||||
|
@ -73,6 +83,7 @@ public class BimModelController {
|
||||||
modelTreeVo.setPGlid(rs.getString("pGlid"));
|
modelTreeVo.setPGlid(rs.getString("pGlid"));
|
||||||
list.add(modelTreeVo);
|
list.add(modelTreeVo);
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
@ -91,6 +102,11 @@ public class BimModelController {
|
||||||
if(StringUtils.isEmpty(name)){
|
if(StringUtils.isEmpty(name)){
|
||||||
return AjaxResult.error("name is null");
|
return AjaxResult.error("name is null");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelTreeAllLeafChild."+name+"."+pid;
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String sql="";
|
String sql="";
|
||||||
if(StringUtils.isEmpty(pid)){
|
if(StringUtils.isEmpty(pid)){
|
||||||
sql="select * from model_tree ";
|
sql="select * from model_tree ";
|
||||||
|
@ -118,6 +134,7 @@ public class BimModelController {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
list.add(rs.getString("glid"));
|
list.add(rs.getString("glid"));
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
@ -135,6 +152,11 @@ public class BimModelController {
|
||||||
if(StringUtils.isEmpty(name)){
|
if(StringUtils.isEmpty(name)){
|
||||||
return AjaxResult.error("name is null");
|
return AjaxResult.error("name is null");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelTree."+name+"."+pid;
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String sql="";
|
String sql="";
|
||||||
if(StringUtils.isEmpty(pid)){
|
if(StringUtils.isEmpty(pid)){
|
||||||
sql="select * from model_tree where level=0";
|
sql="select * from model_tree where level=0";
|
||||||
|
@ -164,6 +186,7 @@ public class BimModelController {
|
||||||
modelTreeVo.setPGlid(rs.getString("pGlid"));
|
modelTreeVo.setPGlid(rs.getString("pGlid"));
|
||||||
list.add(modelTreeVo);
|
list.add(modelTreeVo);
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
@ -181,6 +204,11 @@ public class BimModelController {
|
||||||
if(StringUtils.isEmpty(name)){
|
if(StringUtils.isEmpty(name)){
|
||||||
return AjaxResult.error("name is null");
|
return AjaxResult.error("name is null");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelTypeAllChild."+name+"."+pid;
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String sql="";
|
String sql="";
|
||||||
if(StringUtils.isEmpty(pid)){
|
if(StringUtils.isEmpty(pid)){
|
||||||
sql="select * from model_type ";
|
sql="select * from model_type ";
|
||||||
|
@ -216,6 +244,7 @@ public class BimModelController {
|
||||||
vo.setId(rs.getLong("id"));
|
vo.setId(rs.getLong("id"));
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
@ -233,6 +262,11 @@ public class BimModelController {
|
||||||
if(StringUtils.isEmpty(name)){
|
if(StringUtils.isEmpty(name)){
|
||||||
return AjaxResult.error("name is null");
|
return AjaxResult.error("name is null");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelType."+name+"."+pid;
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String sql="";
|
String sql="";
|
||||||
if(StringUtils.isEmpty(pid)){
|
if(StringUtils.isEmpty(pid)){
|
||||||
sql="select * from model_type where level=0";
|
sql="select * from model_type where level=0";
|
||||||
|
@ -262,6 +296,7 @@ public class BimModelController {
|
||||||
vo.setId(rs.getLong("id"));
|
vo.setId(rs.getLong("id"));
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
@ -273,11 +308,17 @@ public class BimModelController {
|
||||||
if(CollectionUtil.isEmpty(glids)){
|
if(CollectionUtil.isEmpty(glids)){
|
||||||
return AjaxResult.error("glids is null");
|
return AjaxResult.error("glids is null");
|
||||||
}
|
}
|
||||||
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
|
||||||
for (int i = 0; i < glids.size(); i++) {
|
for (int i = 0; i < glids.size(); i++) {
|
||||||
stringBuilder.append("?,");
|
stringBuilder.append("?,");
|
||||||
}
|
}
|
||||||
|
String key="BimModelController.getModelProperty."+name+"."+stringBuilder.toString();
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
String placeHolders = stringBuilder.deleteCharAt(stringBuilder.length() - 1)
|
String placeHolders = stringBuilder.deleteCharAt(stringBuilder.length() - 1)
|
||||||
.toString();
|
.toString();
|
||||||
String sql="select * from model_property where glid in ("+placeHolders+")";
|
String sql="select * from model_property where glid in ("+placeHolders+")";
|
||||||
|
@ -308,6 +349,7 @@ public class BimModelController {
|
||||||
vo.setPropertyTypeName(rs.getString("propertyTypeName"));
|
vo.setPropertyTypeName(rs.getString("propertyTypeName"));
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
|
Loading…
Reference in New Issue