From 9383485ba4326b0131abc03b51822075dfc00e92 Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期四, 16 五月 2024 18:18:52 +0800
Subject: [PATCH] 数据表挂载项目id

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectCameraServiceImpl.java |   95 ++++++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java      |    4 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java    |    2 
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectCameraMapper.xml                    |   92 ++++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html                   |    5 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html            |    5 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectCameraMapper.java            |   61 ++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/device/add.html                         |    2 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/projectCamera.html        |  122 ++++++++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectCameraController.java    |  119 +++++++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectCameraService.java         |   61 ++++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectDataServiceImpl.java   |   41 +-
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html                    |   26 +
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/edit.html                 |   56 +++
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml                      |    1 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/add.html                  |   55 +++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/deviceLog/add.html                      |    2 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectCamera.java                  |  122 ++++++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html                  |    8 
 19 files changed, 835 insertions(+), 44 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectCameraController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectCameraController.java
new file mode 100644
index 0000000..b530c64
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectCameraController.java
@@ -0,0 +1,119 @@
+package com.javaweb.geo.controller;
+
+import java.util.List;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.javaweb.common.annotation.Log;
+import com.javaweb.common.enums.BusinessType;
+import com.javaweb.geo.domain.ProjectCamera;
+import com.javaweb.geo.service.IProjectCameraService;
+import com.javaweb.common.core.controller.BaseController;
+import com.javaweb.common.core.domain.AjaxResult;
+import com.javaweb.common.utils.poi.ExcelUtil;
+import com.javaweb.common.core.page.TableDataInfo;
+
+/**
+ * 鐩戞帶璁惧Controller
+ *
+ * @author cxy
+ * @date 2024-05-16
+ */
+@Controller
+@RequestMapping("/geo/projectCamera")
+public class ProjectCameraController extends BaseController {
+    private String prefix = "geo/projectCamera";
+
+    @Autowired
+    private IProjectCameraService projectCameraService;
+
+    @RequiresPermissions("geo:projectCamera:view")
+    @GetMapping()
+    public String projectCamera(String id, ModelMap mmap) {
+        mmap.put("projectId", id);
+        return prefix + "/projectCamera";
+    }
+
+    /**
+     * 鏌ヨ鐩戞帶璁惧鍒楄〃
+     */
+    @RequiresPermissions("geo:projectCamera:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(ProjectCamera projectCamera) {
+        startPage();
+        List<ProjectCamera> list = projectCameraService.selectProjectCameraList(projectCamera);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鐩戞帶璁惧鍒楄〃
+     */
+    @RequiresPermissions("geo:projectCamera:export")
+    @Log(title = "鐩戞帶璁惧", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(ProjectCamera projectCamera) {
+        List<ProjectCamera> list = projectCameraService.selectProjectCameraList(projectCamera);
+        ExcelUtil<ProjectCamera> util = new ExcelUtil<ProjectCamera>(ProjectCamera.class);
+        return util.exportExcel(list, "projectCamera");
+    }
+
+    /**
+     * 鏂板鐩戞帶璁惧
+     */
+    @GetMapping("/add")
+    public String add() {
+        return prefix + "/add";
+    }
+
+    /**
+     * 鏂板淇濆瓨鐩戞帶璁惧
+     */
+    @RequiresPermissions("geo:projectCamera:add")
+    @Log(title = "鐩戞帶璁惧", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(ProjectCamera projectCamera) {
+        return toAjax(projectCameraService.insertProjectCamera(projectCamera));
+    }
+
+    /**
+     * 淇敼鐩戞帶璁惧
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") String id, ModelMap mmap) {
+        ProjectCamera projectCamera = projectCameraService.selectProjectCameraById(id);
+        mmap.put("projectCamera", projectCamera);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 淇敼淇濆瓨鐩戞帶璁惧
+     */
+    @RequiresPermissions("geo:projectCamera:edit")
+    @Log(title = "鐩戞帶璁惧", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(ProjectCamera projectCamera) {
+        return toAjax(projectCameraService.updateProjectCamera(projectCamera));
+    }
+
+    /**
+     * 鍒犻櫎鐩戞帶璁惧
+     */
+    @RequiresPermissions("geo:projectCamera:remove")
+    @Log(title = "鐩戞帶璁惧", businessType = BusinessType.DELETE)
+    @PostMapping("/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids) {
+        return toAjax(projectCameraService.deleteProjectCameraByIds(ids));
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java
index c7f6597..b1f2552 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java
@@ -71,7 +71,9 @@
      * 鏂板椤圭洰璧勬枡
      */
     @GetMapping("/add")
-    public String add() {
+    public String add(String projectId, String dataType, ModelMap mmap) {
+        mmap.put("projectId", projectId);
+        mmap.put("dataType", dataType);
         return prefix + "/add";
     }
 
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java
index 143cb28..f014bab 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java
@@ -72,7 +72,7 @@
      */
     @GetMapping("/add")
     public String add(String projectId, ModelMap mmap) {
-        mmap.put("project_Id", projectId);
+        mmap.put("projectId", projectId);
         return prefix + "/add";
     }
 
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectCamera.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectCamera.java
new file mode 100644
index 0000000..e1002ec
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectCamera.java
@@ -0,0 +1,122 @@
+package com.javaweb.geo.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.javaweb.common.annotation.Excel;
+import com.javaweb.common.core.domain.BaseEntity;
+
+/**
+ * 鐩戞帶璁惧瀵硅薄 js_project_camera
+ * 
+ * @author cxy
+ * @date 2024-05-16
+ */
+public class ProjectCamera extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 椤圭洰id */
+    private String projectId;
+
+    /** 鍚嶇О */
+    @Excel(name = "鍚嶇О")
+    private String name;
+
+    /** 瑙嗛缂栧彿 */
+    @Excel(name = "瑙嗛缂栧彿")
+    private String code;
+
+    /** 缁忓害 */
+    @Excel(name = "缁忓害")
+    private Double lng;
+
+    /** 绾害 */
+    @Excel(name = "绾害")
+    private Double lat;
+
+    /** Ip鍦板潃 */
+    @Excel(name = "Ip鍦板潃")
+    private String ip;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setProjectId(String projectId) 
+    {
+        this.projectId = projectId;
+    }
+
+    public String getProjectId() 
+    {
+        return projectId;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setLng(Double lng) 
+    {
+        this.lng = lng;
+    }
+
+    public Double getLng() 
+    {
+        return lng;
+    }
+    public void setLat(Double lat) 
+    {
+        this.lat = lat;
+    }
+
+    public Double getLat() 
+    {
+        return lat;
+    }
+    public void setIp(String ip) 
+    {
+        this.ip = ip;
+    }
+
+    public String getIp() 
+    {
+        return ip;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("projectId", getProjectId())
+            .append("name", getName())
+            .append("code", getCode())
+            .append("lng", getLng())
+            .append("lat", getLat())
+            .append("ip", getIp())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .toString();
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectCameraMapper.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectCameraMapper.java
new file mode 100644
index 0000000..da1dafd
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectCameraMapper.java
@@ -0,0 +1,61 @@
+package com.javaweb.geo.mapper;
+
+import com.javaweb.geo.domain.ProjectCamera;
+import java.util.List;
+
+/**
+ * 鐩戞帶璁惧Mapper鎺ュ彛
+ * 
+ * @author cxy
+ * @date 2024-05-16
+ */
+public interface ProjectCameraMapper 
+{
+    /**
+     * 鏌ヨ鐩戞帶璁惧
+     * 
+     * @param id 鐩戞帶璁惧ID
+     * @return 鐩戞帶璁惧
+     */
+    public ProjectCamera selectProjectCameraById(String id);
+
+    /**
+     * 鏌ヨ鐩戞帶璁惧鍒楄〃
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 鐩戞帶璁惧闆嗗悎
+     */
+    public List<ProjectCamera> selectProjectCameraList(ProjectCamera projectCamera);
+
+    /**
+     * 鏂板鐩戞帶璁惧
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    public int insertProjectCamera(ProjectCamera projectCamera);
+
+    /**
+     * 淇敼鐩戞帶璁惧
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    public int updateProjectCamera(ProjectCamera projectCamera);
+
+    /**
+     * 鍒犻櫎鐩戞帶璁惧
+     * 
+     * @param id 鐩戞帶璁惧ID
+     * @return 缁撴灉
+     */
+    public int deleteProjectCameraById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎鐩戞帶璁惧
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    public int deleteProjectCameraByIds(String[] ids);
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectCameraService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectCameraService.java
new file mode 100644
index 0000000..2746587
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectCameraService.java
@@ -0,0 +1,61 @@
+package com.javaweb.geo.service;
+
+import com.javaweb.geo.domain.ProjectCamera;
+import java.util.List;
+
+/**
+ * 鐩戞帶璁惧Service鎺ュ彛
+ * 
+ * @author cxy
+ * @date 2024-05-16
+ */
+public interface IProjectCameraService 
+{
+    /**
+     * 鏌ヨ鐩戞帶璁惧
+     * 
+     * @param id 鐩戞帶璁惧ID
+     * @return 鐩戞帶璁惧
+     */
+    public ProjectCamera selectProjectCameraById(String id);
+
+    /**
+     * 鏌ヨ鐩戞帶璁惧鍒楄〃
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 鐩戞帶璁惧闆嗗悎
+     */
+    public List<ProjectCamera> selectProjectCameraList(ProjectCamera projectCamera);
+
+    /**
+     * 鏂板鐩戞帶璁惧
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    public int insertProjectCamera(ProjectCamera projectCamera);
+
+    /**
+     * 淇敼鐩戞帶璁惧
+     * 
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    public int updateProjectCamera(ProjectCamera projectCamera);
+
+    /**
+     * 鎵归噺鍒犻櫎鐩戞帶璁惧
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    public int deleteProjectCameraByIds(String ids);
+
+    /**
+     * 鍒犻櫎鐩戞帶璁惧淇℃伅
+     * 
+     * @param id 鐩戞帶璁惧ID
+     * @return 缁撴灉
+     */
+    public int deleteProjectCameraById(String id);
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectCameraServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectCameraServiceImpl.java
new file mode 100644
index 0000000..bddc2e3
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectCameraServiceImpl.java
@@ -0,0 +1,95 @@
+package com.javaweb.geo.service.impl;
+
+import java.util.List;
+
+import com.javaweb.common.utils.DateUtils;
+import com.javaweb.common.utils.IdGenerate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.javaweb.geo.mapper.ProjectCameraMapper;
+import com.javaweb.geo.domain.ProjectCamera;
+import com.javaweb.geo.service.IProjectCameraService;
+import com.javaweb.common.core.text.Convert;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * 鐩戞帶璁惧Service涓氬姟灞傚鐞�
+ *
+ * @author cxy
+ * @date 2024-05-16
+ */
+@Service
+public class ProjectCameraServiceImpl implements IProjectCameraService {
+    @Autowired
+    private ProjectCameraMapper projectCameraMapper;
+
+    /**
+     * 鏌ヨ鐩戞帶璁惧
+     *
+     * @param id 鐩戞帶璁惧ID
+     * @return 鐩戞帶璁惧
+     */
+    @Override
+    public ProjectCamera selectProjectCameraById(String id) {
+        return projectCameraMapper.selectProjectCameraById(id);
+    }
+
+    /**
+     * 鏌ヨ鐩戞帶璁惧鍒楄〃
+     *
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 鐩戞帶璁惧
+     */
+    @Override
+    public List<ProjectCamera> selectProjectCameraList(ProjectCamera projectCamera) {
+        return projectCameraMapper.selectProjectCameraList(projectCamera);
+    }
+
+    /**
+     * 鏂板鐩戞帶璁惧
+     *
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertProjectCamera(ProjectCamera projectCamera) {
+        if(ObjectUtils.isEmpty(projectCamera.getId())){
+            projectCamera.setId(IdGenerate.nextId());
+        }
+        projectCamera.setCreateTime(DateUtils.getNowDate());
+        return projectCameraMapper.insertProjectCamera(projectCamera);
+    }
+
+    /**
+     * 淇敼鐩戞帶璁惧
+     *
+     * @param projectCamera 鐩戞帶璁惧
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateProjectCamera(ProjectCamera projectCamera) {
+        return projectCameraMapper.updateProjectCamera(projectCamera);
+    }
+
+    /**
+     * 鍒犻櫎鐩戞帶璁惧瀵硅薄
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteProjectCameraByIds(String ids) {
+        return projectCameraMapper.deleteProjectCameraByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 鍒犻櫎鐩戞帶璁惧淇℃伅
+     *
+     * @param id 鐩戞帶璁惧ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteProjectCameraById(String id) {
+        return projectCameraMapper.deleteProjectCameraById(id);
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectDataServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectDataServiceImpl.java
index 732af07..e5a66b5 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectDataServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectDataServiceImpl.java
@@ -1,6 +1,7 @@
 package com.javaweb.geo.service.impl;
 
 import java.util.List;
+
 import com.javaweb.common.utils.DateUtils;
 import com.javaweb.common.utils.IdGenerate;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,50 +14,49 @@
 
 /**
  * 椤圭洰璧勬枡Service涓氬姟灞傚鐞�
- * 
+ *
  * @author cxy
  * @date 2024-05-16
  */
 @Service
-public class ProjectDataServiceImpl implements IProjectDataService 
-{
+public class ProjectDataServiceImpl implements IProjectDataService {
     @Autowired
     private ProjectDataMapper projectDataMapper;
 
     /**
      * 鏌ヨ椤圭洰璧勬枡
-     * 
+     *
      * @param id 椤圭洰璧勬枡ID
      * @return 椤圭洰璧勬枡
      */
     @Override
-    public ProjectData selectProjectDataById(String id)
-    {
+    public ProjectData selectProjectDataById(String id) {
         return projectDataMapper.selectProjectDataById(id);
     }
 
     /**
      * 鏌ヨ椤圭洰璧勬枡鍒楄〃
-     * 
+     *
      * @param projectData 椤圭洰璧勬枡
      * @return 椤圭洰璧勬枡
      */
     @Override
-    public List<ProjectData> selectProjectDataList(ProjectData projectData)
-    {
+    public List<ProjectData> selectProjectDataList(ProjectData projectData) {
+        if (!ObjectUtils.isEmpty(projectData.getDataType()) && projectData.getDataType().endsWith(",")){
+            projectData.setDataType(projectData.getDataType().substring(0,1));
+        }
         return projectDataMapper.selectProjectDataList(projectData);
     }
 
     /**
      * 鏂板椤圭洰璧勬枡
-     * 
+     *
      * @param projectData 椤圭洰璧勬枡
      * @return 缁撴灉
      */
     @Override
-    public int insertProjectData(ProjectData projectData)
-    {
-        if(ObjectUtils.isEmpty(projectData.getId())){
+    public int insertProjectData(ProjectData projectData) {
+        if (ObjectUtils.isEmpty(projectData.getId())) {
             projectData.setId(IdGenerate.nextId());
         }
         projectData.setCreateTime(DateUtils.getNowDate());
@@ -65,38 +65,35 @@
 
     /**
      * 淇敼椤圭洰璧勬枡
-     * 
+     *
      * @param projectData 椤圭洰璧勬枡
      * @return 缁撴灉
      */
     @Override
-    public int updateProjectData(ProjectData projectData)
-    {
+    public int updateProjectData(ProjectData projectData) {
         projectData.setUpdateTime(DateUtils.getNowDate());
         return projectDataMapper.updateProjectData(projectData);
     }
 
     /**
      * 鍒犻櫎椤圭洰璧勬枡瀵硅薄
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
      * @return 缁撴灉
      */
     @Override
-    public int deleteProjectDataByIds(String ids)
-    {
+    public int deleteProjectDataByIds(String ids) {
         return projectDataMapper.deleteProjectDataByIds(Convert.toStrArray(ids));
     }
 
     /**
      * 鍒犻櫎椤圭洰璧勬枡淇℃伅
-     * 
+     *
      * @param id 椤圭洰璧勬枡ID
      * @return 缁撴灉
      */
     @Override
-    public int deleteProjectDataById(String id)
-    {
+    public int deleteProjectDataById(String id) {
         return projectDataMapper.deleteProjectDataById(id);
     }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectCameraMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectCameraMapper.xml
new file mode 100644
index 0000000..3a4a281
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectCameraMapper.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.javaweb.geo.mapper.ProjectCameraMapper">
+    
+    <resultMap type="ProjectCamera" id="ProjectCameraResult">
+        <result property="id"    column="id"    />
+        <result property="projectId"    column="project_id"    />
+        <result property="name"    column="name"    />
+        <result property="code"    column="code"    />
+        <result property="lng"    column="lng"    />
+        <result property="lat"    column="lat"    />
+        <result property="ip"    column="ip"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+    </resultMap>
+
+    <sql id="selectProjectCameraVo">
+        select id, project_id, name, code, lng, lat, ip, create_by, create_time from js_project_camera
+    </sql>
+
+    <select id="selectProjectCameraList" parameterType="ProjectCamera" resultMap="ProjectCameraResult">
+        <include refid="selectProjectCameraVo"/>
+        <where>  
+            <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="lng != null "> and lng = #{lng}</if>
+            <if test="lat != null "> and lat = #{lat}</if>
+            <if test="ip != null  and ip != ''"> and ip = #{ip}</if>
+        </where>
+    </select>
+    
+    <select id="selectProjectCameraById" parameterType="String" resultMap="ProjectCameraResult">
+        <include refid="selectProjectCameraVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertProjectCamera" parameterType="ProjectCamera">
+        insert into js_project_camera
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null  and id != ''">id,</if>
+            <if test="projectId != null  and projectId != ''">project_id,</if>
+            <if test="name != null  and name != ''">name,</if>
+            <if test="code != null  and code != ''">code,</if>
+            <if test="lng != null ">lng,</if>
+            <if test="lat != null ">lat,</if>
+            <if test="ip != null  and ip != ''">ip,</if>
+            <if test="createBy != null ">create_by,</if>
+            <if test="createTime != null ">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null  and id != ''">#{id},</if>
+            <if test="projectId != null  and projectId != ''">#{projectId},</if>
+            <if test="name != null  and name != ''">#{name},</if>
+            <if test="code != null  and code != ''">#{code},</if>
+            <if test="lng != null ">#{lng},</if>
+            <if test="lat != null ">#{lat},</if>
+            <if test="ip != null  and ip != ''">#{ip},</if>
+            <if test="createBy != null ">#{createBy},</if>
+            <if test="createTime != null ">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateProjectCamera" parameterType="ProjectCamera">
+        update js_project_camera
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="projectId != null  and projectId != ''">project_id = #{projectId},</if>
+            <if test="name != null  and name != ''">name = #{name},</if>
+            <if test="code != null  and code != ''">code = #{code},</if>
+            <if test="lng != null ">lng = #{lng},</if>
+            <if test="lat != null ">lat = #{lat},</if>
+            <if test="ip != null  and ip != ''">ip = #{ip},</if>
+            <if test="createBy != null ">create_by = #{createBy},</if>
+            <if test="createTime != null ">create_time = #{createTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteProjectCameraById" parameterType="String">
+        delete from js_project_camera where id = #{id}
+    </delete>
+
+    <delete id="deleteProjectCameraByIds" parameterType="String">
+        delete from js_project_camera where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+</mapper>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml
index 8b2cb56..2648c83 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml
@@ -28,6 +28,7 @@
         <include refid="selectProjectDataVo"/>
         <where>
             <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
+            <if test="holeId != null  and holeId != ''"> and hole_id = #{holeId}</if>
             <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
             <if test="dataType != null  and dataType != ''"> and data_type = #{dataType}</if>
             <if test="fileType != null  and fileType != ''"> and file_type = #{fileType}</if>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/device/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/device/add.html
index 0a8fb12..68781c3 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/device/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/device/add.html
@@ -64,7 +64,7 @@
     </div>
     <th:block th:include="include :: footer" />
     <th:block th:include="include :: datetimepicker-js" />
-    <script type="text/javascript">
+    <script th:inline="javascript">
         var prefix = ctx + "geo/device"
         $("#form-device-add").validate({
             focusCleanup: true
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/deviceLog/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/deviceLog/add.html
index d02353d..3e47423 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/deviceLog/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/deviceLog/add.html
@@ -59,7 +59,7 @@
         </form>
     </div>
     <th:block th:include="include :: footer" />
-    <script type="text/javascript">
+    <script th:inline="javascript">
         var prefix = ctx + "geo/deviceLog"
         $("#form-deviceLog-add").validate({
             focusCleanup: true
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html
index b0a4c4a..b07c8c4 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html
@@ -74,6 +74,11 @@
                     <i class="glyphicon glyphicon-tint"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='7')}" target="mainFrame" onclick="selected(this)">姘磋川鍒嗘瀽</a>
                 </div>
             </div>
+            <div class="box-header ">
+                <div class="box-title">
+                    <i class="glyphicon glyphicon-facetime-video"></i> <a class="afont" th:href="@{/geo/projectCamera(id=${project.ids},type='7')}" target="mainFrame" onclick="selected(this)">鐜板満鐩戞帶璁惧</a>
+                </div>
+            </div>
         </div>
     </div>
     
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/add.html
new file mode 100644
index 0000000..53d203a
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/add.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('鏂板鐩戞帶璁惧')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-projectCamera-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">鍚嶇О锛�</label>
+                <div class="col-sm-8">
+                    <input name="name" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">瑙嗛缂栧彿锛�</label>
+                <div class="col-sm-8">
+                    <input name="code" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">缁忓害锛�</label>
+                <div class="col-sm-8">
+                    <input name="lng" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">绾害锛�</label>
+                <div class="col-sm-8">
+                    <input name="lat" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">Ip鍦板潃锛�</label>
+                <div class="col-sm-8">
+                    <input name="ip" class="form-control" type="text">
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "geo/projectCamera"
+        $("#form-projectCamera-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-projectCamera-add').serialize());
+            }
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/edit.html
new file mode 100644
index 0000000..abcf3af
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/edit.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('淇敼鐩戞帶璁惧')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-projectCamera-edit" th:object="${projectCamera}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">鍚嶇О锛�</label>
+                <div class="col-sm-8">
+                    <input name="name" th:field="*{name}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">瑙嗛缂栧彿锛�</label>
+                <div class="col-sm-8">
+                    <input name="code" th:field="*{code}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">缁忓害锛�</label>
+                <div class="col-sm-8">
+                    <input name="lng" th:field="*{lng}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">绾害锛�</label>
+                <div class="col-sm-8">
+                    <input name="lat" th:field="*{lat}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">Ip鍦板潃锛�</label>
+                <div class="col-sm-8">
+                    <input name="ip" th:field="*{ip}" class="form-control" type="text">
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script type="text/javascript">
+        var prefix = ctx + "geo/projectCamera";
+        $("#form-projectCamera-edit").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-projectCamera-edit').serialize());
+            }
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/projectCamera.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/projectCamera.html
new file mode 100644
index 0000000..51aa254
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectCamera/projectCamera.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('鐩戞帶璁惧鍒楄〃')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+                            <li>
+                                <p>椤圭洰id锛�</p>
+                                <input type="text" name="projectId"/>
+                            </li>
+                            <li>
+                                <p>鍚嶇О锛�</p>
+                                <input type="text" name="name"/>
+                            </li>
+                            <li>
+                                <p>瑙嗛缂栧彿锛�</p>
+                                <input type="text" name="code"/>
+                            </li>
+                            <li>
+                                <p>缁忓害锛�</p>
+                                <input type="text" name="lng"/>
+                            </li>
+                            <li>
+                                <p>绾害锛�</p>
+                                <input type="text" name="lat"/>
+                            </li>
+                            <li>
+                                <p>Ip鍦板潃锛�</p>
+                                <input type="text" name="ip"/>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;鎼滅储</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;閲嶇疆</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="geo:projectCamera:add">
+                    <i class="fa fa-plus"></i> 娣诲姞
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="geo:projectCamera:edit">
+                    <i class="fa fa-edit"></i> 淇敼
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:projectCamera:remove">
+                    <i class="fa fa-remove"></i> 鍒犻櫎
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectCamera:export">
+                    <i class="fa fa-download"></i> 瀵煎嚭
+                 </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('geo:projectCamera:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('geo:projectCamera:remove')}]];
+        var prefix = ctx + "geo/projectCamera";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "鐩戞帶璁惧",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : '涓婚敭',
+                    visible: false
+                },
+                {
+                    field : 'name', 
+                    title : '鍚嶇О'
+                },
+                {
+                    field : 'code', 
+                    title : '瑙嗛缂栧彿'
+                },
+                {
+                    field : 'lng', 
+                    title : '缁忓害'
+                },
+                {
+                    field : 'lat', 
+                    title : '绾害'
+                },
+                {
+                    field : 'ip', 
+                    title : 'Ip鍦板潃'
+                },
+                {
+                    title: '鎿嶄綔',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>缂栬緫</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>鍒犻櫎</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html
index 7f34c23..d42906e 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html
@@ -12,14 +12,14 @@
                     <input name="name" class="form-control" type="text">
                 </div>
             </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">璧勬枡绫诲瀷锛�</label>
-                <div class="col-sm-8">
-                    <select name="dataType" class="form-control m-b" th:with="type=${@dict.getType('project_data_type')}" required>
-                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                    </select>
-                </div>
-            </div>
+<!--            <div class="form-group">-->
+<!--                <label class="col-sm-3 control-label">璧勬枡绫诲瀷锛�</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <select name="dataType" class="form-control m-b" th:with="type=${@dict.getType('project_data_type')}" required>-->
+<!--                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                    </select>-->
+<!--                </div>-->
+<!--            </div>-->
             <div class="form-group">    
                 <label class="col-sm-3 control-label">鏂囦欢绫诲瀷锛�</label>
                 <div class="col-sm-8">
@@ -37,15 +37,21 @@
         </form>
     </div>
     <th:block th:include="include :: footer" />
-    <script type="text/javascript">
+    <script th:inline="javascript">
         var prefix = ctx + "geo/projectData"
+        var projectId = [[${projectId}]];
+        var dataType = [[${dataType}]];
+
         $("#form-projectData-add").validate({
             focusCleanup: true
         });
 
         function submitHandler() {
             if ($.validate.form()) {
-                $.operate.save(prefix + "/add", $('#form-projectData-add').serialize());
+                let formData = $('#form-projectData-add').serialize();
+                let data = formData + "&projectId=" + projectId + "&dataType=" + dataType;
+                console.log("222",data);
+                $.operate.save(prefix + "/add", data);
             }
         }
     </script>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html
index bb97ca8..176921d 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html
@@ -69,11 +69,12 @@
         var projectId=[[${projectId}]];
         var type=[[${type}]];
         var prefix = ctx + "geo/projectData";
+        console.log("type",type);
 
         $(function() {
             var options = {
-                url: prefix + "/list?projectId="+projectId + "&dataType=" + type,
-                createUrl: prefix + "/add",
+                url: prefix + "/list?projectId=" + projectId + "&dataType=" + type,
+                createUrl: prefix + "/add?projectId=" + projectId + "&dataType=" + type,
                 updateUrl: prefix + "/edit/{id}",
                 removeUrl: prefix + "/remove",
                 exportUrl: prefix + "/export",
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html
index 742db8c..1e6efd5 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html
@@ -43,9 +43,7 @@
     <th:block th:include="include :: footer" />
     <script th:inline="javascript">
         var prefix = ctx + "geo/projectPerson"
-        var project_Ids = [[${project_Id}]];
-        alert(project_Ids);
-        console.log("projectId",project_Id);
+        var projectId = [[${projectId}]];
 
         $("#form-projectPerson-add").validate({
             focusCleanup: true
@@ -54,9 +52,7 @@
         function submitHandler() {
             if ($.validate.form()) {
                 let formData = $('#form-projectPerson-add').serialize();
-                let data = formData + "&projectId=" + project_Id
-                console.log("projectId",project_Id);
-                console.log("data",data);
+                let data = formData + "&projectId=" + projectId;
                 $.operate.save(prefix + "/add", data);
             }
         }

--
Gitblit v1.9.1