From d8ce658341ea3d29aae2e76ed06b4312e4d33d2e Mon Sep 17 00:00:00 2001 From: "lj7788@126.com" Date: Wed, 23 Jul 2025 18:19:58 +0800 Subject: [PATCH] =?UTF-8?q?BIM=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yanzhu/manage/domain/ProProjectInfo.java | 13 +++++++ .../manage/mapper/ProProjectInfoMapper.java | 16 +++++++++ .../mapper/manage/ProProjectInfoMapper.xml | 17 +++++++-- .../controller/ProProjectInfoController.java | 12 +++++++ .../service/IProProjectInfoService.java | 14 ++++++++ .../impl/ProProjectInfoServiceImpl.java | 24 ++++++++++++- .../src/api/manage/proProjectInfo.js | 20 +++++++++++ .../views/bim/bimModel/LocalCoordinates.vue | 4 +-- .../views/bim/bimModel/bimConfigDialog.vue | 35 +++++++++++++++++++ .../src/views/bim/bimModel/index.vue | 8 +++++ .../views/bim/bimModel/uploadModelDialog.vue | 5 +-- 11 files changed, 160 insertions(+), 8 deletions(-) create mode 100644 yanzhu-ui-vue3/src/views/bim/bimModel/bimConfigDialog.vue diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfo.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfo.java index 7c73f3af..2f90d263 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfo.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProProjectInfo.java @@ -238,6 +238,19 @@ public class ProProjectInfo extends BaseEntity @Excel(name = "删除标识") private Long isDel; + /** + * BIM 设置 + */ + private String bimConfig; + + public String getBimConfig() { + return bimConfig; + } + + public void setBimConfig(String bimConfig) { + this.bimConfig = bimConfig; + } + private ProProjectInfoSetting setting; private List projectDeptsList; diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoMapper.java index 5f3ed6c2..11d857c0 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProProjectInfoMapper.java @@ -91,4 +91,20 @@ public interface ProProjectInfoMapper * @param sysRoleDept */ public void insertProRoleDept(SysRoleDept sysRoleDept); + + /** + * 查询项目BIM信息 + * + * @param id 项目信息主键 + * @return 项目信息 + */ + public String getProjectBimConfig(Long id); + + /** + * 更新项目BIM信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + public int updateProjectBimConfig(ProProjectInfo proProjectInfo); } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml index af45bfb8..0396b9f7 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml @@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -82,7 +83,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select pi.id, pi.com_id, sd.dept_name as com_name, pi.dis_dept_id, pi.project_name, pi.project_code, pi.tech_leader,pi.tech_leader_phone,pi.province,pi.city,pi.district, - pi.simple_name, pi.project_type, pi.project_level, pi.project_regional, pi.project_package, pi.project_address, pi.project_nature, pi.licence_number, pi.project_person, pi.project_person_phone, pi.longitude, pi.latitude, pi.project_time_limit, pi.total_investment, pi.floor_area, pi.total_output_value, pi.planned_completion_time, pi.scheduled_start_time, pi.actual_operating_time, pi.actual_completion_time, pi.contract_amount, pi.paid_amount, pi.on_account_amount, pi.project_schedule, pi.project_summarize, pi.project_qr_code, pi.project_status, pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time, pi.remark + pi.simple_name, pi.project_type, pi.project_level, pi.project_regional, pi.project_package, pi.project_address, pi.project_nature, pi.licence_number, pi.project_person, pi.project_person_phone, pi.longitude, pi.latitude, pi.project_time_limit, pi.total_investment, pi.floor_area, pi.total_output_value, pi.planned_completion_time, pi.scheduled_start_time, pi.actual_operating_time, pi.actual_completion_time, pi.contract_amount, pi.paid_amount, pi.on_account_amount, pi.project_schedule, pi.project_summarize, pi.project_qr_code, pi.project_status, pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time + , pi.remark,pi.bim_config from pro_project_info pi left join sys_dept sd on sd.dept_id = pi.com_id @@ -123,7 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pi.floor_area, pi.total_output_value, pi.planned_completion_time, pi.scheduled_start_time, pi.actual_operating_time, pi.actual_completion_time, pi.contract_amount, pi.paid_amount, pi.on_account_amount, pi.project_schedule, pi.project_summarize, pi.project_qr_code, pi.project_status, pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time, pi.remark, - pd.id pd_id,pd.dept_type pd_type,pd.dept_name pd_name,pd.dept_code pd_code,pd.leader pd_leader,pd.phone pd_phone, + pd.id pd_id,pd.dept_type pd_type,pd.dept_name pd_name,pd.dept_code pd_code,pd.leader pd_leader,pd.phone pd_phone,pi.bim_config ps.id ps_id,ps.org_name ps_org_name,ps.org_logo ps_org_logo,ps.org_image ps_org_image,ps.org_video ps_org_video,ps.org_plane ps_org_plane,ac.vendors_code from pro_project_info pi left join sys_dept sd on sd.dept_id = pi.com_id @@ -284,6 +286,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, + bim_config = #{bimConfig}, where id = #{id} @@ -396,7 +399,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pi.licence_number, pi.project_person, pi.project_person_phone, pi.longitude, pi.latitude, pi.project_time_limit, pi.total_investment, pi.floor_area, pi.total_output_value, pi.planned_completion_time, pi.scheduled_start_time, pi.actual_operating_time, pi.actual_completion_time, pi.contract_amount, pi.paid_amount, pi.on_account_amount, pi.project_schedule, pi.project_summarize, pi.project_qr_code, pi.project_status, - pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time, pi.remark, + pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time, pi.remark,pi.bim_config, ps.id ps_id,ps.org_name ps_org_name,ps.org_logo ps_org_logo,ps.org_image ps_org_image,ps.org_video ps_org_video,ps.org_plane ps_org_plane,cfg.vendors_code from pro_project_info pi left join pro_project_info_setting ps on pi.id=ps.project_id @@ -429,4 +432,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by psu.sort_by, pi.id desc + + + + update pro_project_info set bim_config = #{bimConfig} where id = #{id} + + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java index 0a281988..fa246a97 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java @@ -151,4 +151,16 @@ public class ProProjectInfoController extends BaseController return getDataTable(list); } + @GetMapping("/getProjectBimConfig/{id}") + public AjaxResult getProjectBimConfig(@PathVariable("id") Long id) + { + return success(proProjectInfoService.getProjectBimConfig(id)); + } + + @PostMapping("/updateProjectBimConfig") + public AjaxResult updateProjectBimConfig(@RequestBody ProProjectInfo proProjectInfo) + { + return toAjax(proProjectInfoService.updateProjectBimConfig(proProjectInfo)); + } + } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoService.java index 570ae9ef..46c2d510 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoService.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoService.java @@ -77,4 +77,18 @@ public interface IProProjectInfoService * @return */ public List selectMyProjectList(com.yanzhu.manage.domain.ProProjectInfo proProjectInfo); + + /** + * 查询项目BIM信息 + * @param id + * @return + */ + String getProjectBimConfig(Long id); + + /** + * 更新项目BIM信息 + * @param proProjectInfo + * @return + */ + int updateProjectBimConfig(ProProjectInfo proProjectInfo); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java index d041fe97..5989135c 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java @@ -42,7 +42,7 @@ import java.util.stream.Collectors; * @date 2024-08-25 */ @Service -public class ProProjectInfoServiceImpl implements IProProjectInfoService +public class ProProjectInfoServiceImpl implements IProProjectInfoService { @Autowired private WxMaService wxMaService; @@ -100,6 +100,28 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService return proProjectInfoMapper.selectMyProjectList(proProjectInfo); } + /** + * 查询项目BIM信息 + * + * @param id 项目信息主键 + * @return 项目信息 + */ + @Override + public String getProjectBimConfig(Long id) { + return proProjectInfoMapper.getProjectBimConfig(id); + } + + /** + * 更新项目BIM信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + @Override + public int updateProjectBimConfig(ProProjectInfo proProjectInfo) { + return proProjectInfoMapper.updateProjectBimConfig(proProjectInfo); + } + /** * 查询项目信息 * diff --git a/yanzhu-ui-vue3/src/api/manage/proProjectInfo.js b/yanzhu-ui-vue3/src/api/manage/proProjectInfo.js index ea5b33f9..c31e11b4 100644 --- a/yanzhu-ui-vue3/src/api/manage/proProjectInfo.js +++ b/yanzhu-ui-vue3/src/api/manage/proProjectInfo.js @@ -50,4 +50,24 @@ export function delProProjectInfo(id) { url: '/manage/proProjectInfo/' + id, method: 'delete' }) +} + +// 获取项目BIM配置信息 +export function getProjectBimConfig(id){ + return request({ + url: '/manage/proProjectInfo/getProjectBimConfig/'+id, + method: 'get' + }) +} + +// 获取项目BIM配置信息 +export function updateProjectBimConfig(id,data){ + return request({ + url: '/manage/proProjectInfo/updateProjectBimConfig', + method: 'post', + data: { + id:id, + bimConfig:JSON.stringify(data) + } + }) } \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/LocalCoordinates.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/LocalCoordinates.vue index 12599e03..87946430 100644 --- a/yanzhu-ui-vue3/src/views/bim/bimModel/LocalCoordinates.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/LocalCoordinates.vue @@ -42,8 +42,8 @@ export default { openStatus: 2, }, form: { - longitude: '108.88', - latitude: '34.2', + longitude: '34.2', + latitude: '108.88', }, formRules: { longitude: [{ required: true, message: '请输入经度值' }], diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/bimConfigDialog.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/bimConfigDialog.vue new file mode 100644 index 00000000..fdea77b5 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/bimConfigDialog.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue index 92da18b4..19b64f4e 100755 --- a/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue @@ -24,6 +24,7 @@ 绑定模型 上传模型 + BIM设置 @@ -101,6 +102,7 @@ + @@ -113,6 +115,7 @@ import { onMounted } from "vue"; import modelSelectDialog from "./modelSelectDialog.vue"; import uploadModelDialog from "./uploadModelDialog.vue"; import modelDialog from "./modelDialog2.vue"; +import bimConfigDialog from "./bimConfigDialog.vue"; import { fileSize } from "@/utils"; const { proxy } = getCurrentInstance(); const unitInfos = [ @@ -137,6 +140,7 @@ const title = ref(""); const selDlg = ref(); const uploadDlg = ref(); const mDlg = ref(); +const configDlg = ref(); const data = reactive({ form: {}, queryParams: { @@ -167,6 +171,10 @@ const data = reactive({ }); const { queryParams, form, rules } = toRefs(data); + +function doBimConfig(){ + configDlg.value.showDialog(); +} function showModel(row) { mDlg.value.showDialog(JSON.parse(row.gisJson)); } diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/uploadModelDialog.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/uploadModelDialog.vue index d8b68458..a4df966e 100644 --- a/yanzhu-ui-vue3/src/views/bim/bimModel/uploadModelDialog.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/uploadModelDialog.vue @@ -398,8 +398,8 @@ export default { if (that.srs.split(":").length == 2) { let current = that.srs.split(":")[1].split(","); if (current.length == 2) { - _paras.longitude = (Math.PI / 180) * current[1]; - _paras.latitude = (Math.PI / 180) * current[0]; + _paras.longitude = (Math.PI / 180) * current[0]; + _paras.latitude = (Math.PI / 180) * current[1]; } } } @@ -437,6 +437,7 @@ export default { // _paras.draco = that.draco; // _paras.compressionLevel = values.compressionLevel; _paras.isLod = that.isLod; + _paras.srs = "" if (_paras.isLod) { _paras.lodNAryTreeXYZ = [ that.modelValue.xCount,