From 259f95deb2ea38287d488d12060d7600c36cd92a Mon Sep 17 00:00:00 2001
From: chenhuan <czj123456>
Date: 星期二, 21 五月 2024 17:00:47 +0800
Subject: [PATCH] Merge branch 'master' of http://117.78.1.188:8089/r/dkyChenJiang

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectPersonServiceImpl.java |    6 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/add.html                        |   76 ++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectPersonController.java    |   41 +
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectPerson.java                  |  223 +++++--
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/upload.html                 |    2 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData2.html           |    8 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/addcopy.html              |  165 +++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/edit.html                   |    8 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/add.html                    |    8 
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectDataMapper.xml                      |   12 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/add.html                  |   85 ++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleLog.java                        |  147 +++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html                   |    5 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleLogController.java          |  120 ++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html            |    8 
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleLogMapper.xml                          |  105 +++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/edit.html                 |   88 +++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HolePersonController.java       |    1 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleLogMapper.java                  |   61 ++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectData.java                    |  134 ++--
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectPersonMapper.xml                    |   32 +
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleLogServiceImpl.java       |   94 +++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/holeLog.html                    |  120 ++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/edit.html                       |   73 ++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleLogService.java               |   61 ++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/projectPerson.html        |   36 +
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectPersonService.java         |    5 
 27 files changed, 1,572 insertions(+), 152 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleLogController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleLogController.java
new file mode 100644
index 0000000..583fcb9
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleLogController.java
@@ -0,0 +1,120 @@
+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.HoleLog;
+import com.javaweb.geo.service.IHoleLogService;
+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-21
+ */
+@Controller
+@RequestMapping("/geo/holeLog")
+public class HoleLogController extends BaseController {
+    private String prefix = "geo/holeLog";
+
+    @Autowired
+    private IHoleLogService holeLogService;
+
+    @RequiresPermissions("geo:holeLog:view")
+    @GetMapping()
+    public String holeLog(String id, ModelMap mmap) {
+        mmap.put("projectId", id);
+        return prefix + "/holeLog";
+    }
+
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織鍒楄〃
+     */
+    @RequiresPermissions("geo:holeLog:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(HoleLog holeLog) {
+        startPage();
+        List<HoleLog> list = holeLogService.selectHoleLogList(holeLog);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭閽诲瓟鏃ュ織鍒楄〃
+     */
+    @RequiresPermissions("geo:holeLog:export")
+    @Log(title = "閽诲瓟鏃ュ織", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(HoleLog holeLog) {
+        List<HoleLog> list = holeLogService.selectHoleLogList(holeLog);
+        ExcelUtil<HoleLog> util = new ExcelUtil<HoleLog>(HoleLog.class);
+        return util.exportExcel(list, "holeLog");
+    }
+
+    /**
+     * 鏂板閽诲瓟鏃ュ織
+     */
+    @GetMapping("/add")
+    public String add(String projectId, ModelMap mmap) {
+        mmap.put("projectId", projectId);
+        return prefix + "/add";
+    }
+
+    /**
+     * 鏂板淇濆瓨閽诲瓟鏃ュ織
+     */
+    @RequiresPermissions("geo:holeLog:add")
+    @Log(title = "閽诲瓟鏃ュ織", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(HoleLog holeLog) {
+        return toAjax(holeLogService.insertHoleLog(holeLog));
+    }
+
+    /**
+     * 淇敼閽诲瓟鏃ュ織
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") String id, ModelMap mmap) {
+        HoleLog holeLog = holeLogService.selectHoleLogById(id);
+        mmap.put("holeLog", holeLog);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 淇敼淇濆瓨閽诲瓟鏃ュ織
+     */
+    @RequiresPermissions("geo:holeLog:edit")
+    @Log(title = "閽诲瓟鏃ュ織", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(HoleLog holeLog) {
+        return toAjax(holeLogService.updateHoleLog(holeLog));
+    }
+
+    /**
+     * 鍒犻櫎閽诲瓟鏃ュ織
+     */
+    @RequiresPermissions("geo:holeLog:remove")
+    @Log(title = "閽诲瓟鏃ュ織", businessType = BusinessType.DELETE)
+    @PostMapping("/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids) {
+        return toAjax(holeLogService.deleteHoleLogByIds(ids));
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HolePersonController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HolePersonController.java
index cd0c283..02129cf 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HolePersonController.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HolePersonController.java
@@ -88,6 +88,7 @@
     @ResponseBody
     public AjaxResult addSave(HolePerson holePerson)
     {
+
         return toAjax(holePersonService.insertHolePerson(holePerson));
     }
 
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 f014bab..58e2edf 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
@@ -2,15 +2,15 @@
 
 import java.util.List;
 
+import com.javaweb.common.config.Global;
+import com.javaweb.common.config.ServerConfig;
+import com.javaweb.common.utils.IdGenerate;
+import com.javaweb.common.utils.file.FileUploadUtils;
 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 org.springframework.web.bind.annotation.*;
 import com.javaweb.common.annotation.Log;
 import com.javaweb.common.enums.BusinessType;
 import com.javaweb.geo.domain.ProjectPerson;
@@ -19,6 +19,9 @@
 import com.javaweb.common.core.domain.AjaxResult;
 import com.javaweb.common.utils.poi.ExcelUtil;
 import com.javaweb.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * 椤圭洰浜哄憳Controller
@@ -34,6 +37,9 @@
 
     @Autowired
     private IProjectPersonService projectPersonService;
+
+    @Autowired
+    private ServerConfig serverConfig;
 
     @RequiresPermissions("geo:projectPerson:view")
     @GetMapping()
@@ -84,6 +90,7 @@
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(ProjectPerson projectPerson) {
+
         return toAjax(projectPersonService.insertProjectPerson(projectPerson));
     }
 
@@ -118,4 +125,28 @@
     public AjaxResult remove(String ids) {
         return toAjax(projectPersonService.deleteProjectPersonByIds(ids));
     }
+
+    /**
+     * 涓婁紶鍥剧墖
+     */
+    @PostMapping("/uploadPersonFile")
+    @ResponseBody
+    public AjaxResult uploadPersonFile(MultipartFile file, HttpServletRequest request){
+        try
+        {
+            // 涓婁紶鏂囦欢璺緞
+            String filePath = Global.getUploadPath() +"/personfile";
+            // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
+            String fileName = FileUploadUtils.upload(filePath, file);
+            String url = serverConfig.getUrl() + fileName;
+            AjaxResult ajax = AjaxResult.success();
+            ajax.put("fileName", fileName);
+            ajax.put("url", url);
+            return ajax;
+        }
+        catch (Exception e)
+        {
+            return AjaxResult.error(e.getMessage());
+        }
+    }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleLog.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleLog.java
new file mode 100644
index 0000000..f1b7162
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleLog.java
@@ -0,0 +1,147 @@
+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_hole_log
+ * 
+ * @author cxy
+ * @date 2024-05-21
+ */
+public class HoleLog extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 椤圭洰id */
+    private String projectId;
+
+    /** 閽诲瓟id */
+    private String holeId;
+
+    /** 閽诲瓟缂栧彿 */
+    @Excel(name = "閽诲瓟缂栧彿")
+    private String code;
+
+    /** 璧峰娣卞害 */
+    @Excel(name = "璧峰娣卞害")
+    private Double beginDepth;
+
+    /** 缁堟娣卞害 */
+    @Excel(name = "缁堟娣卞害")
+    private Double endDepth;
+
+    /** 鎻忚堪鍛� */
+    @Excel(name = "鎻忚堪鍛�")
+    private String recordPerson;
+
+    /** 鎻忚堪澶囨敞 */
+    @Excel(name = "鎻忚堪澶囨敞")
+    private String description;
+
+    /** 鏄惁鍒犻櫎 */
+    private String isDelete;
+
+    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 setHoleId(String holeId) 
+    {
+        this.holeId = holeId;
+    }
+
+    public String getHoleId() 
+    {
+        return holeId;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setBeginDepth(Double beginDepth) 
+    {
+        this.beginDepth = beginDepth;
+    }
+
+    public Double getBeginDepth() 
+    {
+        return beginDepth;
+    }
+    public void setEndDepth(Double endDepth) 
+    {
+        this.endDepth = endDepth;
+    }
+
+    public Double getEndDepth() 
+    {
+        return endDepth;
+    }
+    public void setRecordPerson(String recordPerson) 
+    {
+        this.recordPerson = recordPerson;
+    }
+
+    public String getRecordPerson() 
+    {
+        return recordPerson;
+    }
+    public void setDescription(String description) 
+    {
+        this.description = description;
+    }
+
+    public String getDescription() 
+    {
+        return description;
+    }
+    public void setIsDelete(String isDelete) 
+    {
+        this.isDelete = isDelete;
+    }
+
+    public String getIsDelete() 
+    {
+        return isDelete;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("projectId", getProjectId())
+            .append("holeId", getHoleId())
+            .append("code", getCode())
+            .append("beginDepth", getBeginDepth())
+            .append("endDepth", getEndDepth())
+            .append("createTime", getCreateTime())
+            .append("recordPerson", getRecordPerson())
+            .append("description", getDescription())
+            .append("isDelete", getIsDelete())
+            .toString();
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectData.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectData.java
index 399fd5e..5db09aa 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectData.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectData.java
@@ -7,131 +7,137 @@
 
 /**
  * 椤圭洰璧勬枡瀵硅薄 js_project_data
- * 
+ *
  * @author cxy
  * @date 2024-05-16
  */
-public class ProjectData extends BaseEntity
-{
+public class ProjectData extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 涓婚敭 */
+    /**
+     * 涓婚敭
+     */
     private String id;
 
-    /** 椤圭洰id */
+    /**
+     * 椤圭洰id
+     */
     private String projectId;
 
-    /** 閽诲瓟id */
-    private String holeId;
+    /**
+     * 閽诲瓟Code
+     */
+    private String holeCode;
 
-    /** 璧勬枡鍚嶇О */
+    /**
+     * 璧勬枡鍚嶇О
+     */
     @Excel(name = "璧勬枡鍚嶇О")
     private String name;
 
-    /** 璧勬枡绫诲瀷 */
+    /**
+     * 璧勬枡绫诲瀷
+     */
     @Excel(name = "璧勬枡绫诲瀷")
     private String dataType;
 
-    /** 璧勬枡璺緞 */
+    /**
+     * 璧勬枡璺緞
+     */
     private String dataUrl;
 
-    /** 鏂囦欢绫诲瀷 */
+    /**
+     * 鏂囦欢绫诲瀷
+     */
     @Excel(name = "鏂囦欢绫诲瀷")
     private String fileType;
 
-    /** 鏍囩 */
+    /**
+     * 鏍囩
+     */
     @Excel(name = "鏍囩")
     private String labels;
 
-    public void setId(String id) 
-    {
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
         this.id = id;
     }
 
-    public String getId() 
-    {
-        return id;
+    public String getProjectId() {
+        return projectId;
     }
-    public void setProjectId(String projectId) 
-    {
+
+    public void setProjectId(String projectId) {
         this.projectId = projectId;
     }
 
-    public String getProjectId() 
-    {
-        return projectId;
-    }
-    public void setHoleId(String holeId) 
-    {
-        this.holeId = holeId;
+    public String getHoleCode() {
+        return holeCode;
     }
 
-    public String getHoleId() 
-    {
-        return holeId;
+    public void setHoleCode(String holeCode) {
+        this.holeCode = holeCode;
     }
-    public void setName(String name) 
-    {
+
+    public void setName(String name) {
         this.name = name;
     }
 
-    public String getName() 
-    {
+    public String getName() {
         return name;
     }
-    public void setDataType(String dataType) 
-    {
+
+    public void setDataType(String dataType) {
         this.dataType = dataType;
     }
 
-    public String getDataType() 
-    {
+    public String getDataType() {
         return dataType;
     }
-    public void setDataUrl(String dataUrl) 
-    {
+
+    public void setDataUrl(String dataUrl) {
         this.dataUrl = dataUrl;
     }
 
-    public String getDataUrl() 
-    {
+    public String getDataUrl() {
         return dataUrl;
     }
-    public void setFileType(String fileType) 
-    {
+
+    public void setFileType(String fileType) {
         this.fileType = fileType;
     }
 
-    public String getFileType() 
-    {
+    public String getFileType() {
         return fileType;
     }
-    public void setLabels(String labels) 
-    {
+
+    public void setLabels(String labels) {
         this.labels = labels;
     }
 
-    public String getLabels() 
-    {
+    public String getLabels() {
         return labels;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("projectId", getProjectId())
-            .append("holeId", getHoleId())
-            .append("name", getName())
-            .append("dataType", getDataType())
-            .append("dataUrl", getDataUrl())
-            .append("fileType", getFileType())
-            .append("labels", getLabels())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("projectId", getProjectId())
+                .append("holeCode", getHoleCode())
+                .append("name", getName())
+                .append("dataType", getDataType())
+                .append("dataUrl", getDataUrl())
+                .append("fileType", getFileType())
+                .append("labels", getLabels())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .toString();
     }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectPerson.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectPerson.java
index 4b1904d..171201f 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectPerson.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/ProjectPerson.java
@@ -5,107 +5,154 @@
 import com.javaweb.common.annotation.Excel;
 import com.javaweb.common.core.domain.BaseEntity;
 
+import java.util.Date;
+
 /**
  * 椤圭洰浜哄憳瀵硅薄 js_project_person
- * 
+ *
  * @author cxy
  * @date 2024-05-16
  */
-public class ProjectPerson extends BaseEntity
-{
+public class ProjectPerson extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** id */
+    /**
+     * id
+     */
     private String ids;
 
-    /** 椤圭洰id */
+    /**
+     * 椤圭洰id
+     */
     private String projectId;
 
-    /** 閽诲瓟id */
+    /**
+     * 閽诲瓟id
+     */
     private String holeId;
 
-    /** 浜哄憳鍚嶇О */
+    /**
+     * 浜哄憳鍚嶇О
+     */
     @Excel(name = "浜哄憳鍚嶇О")
     private String name;
 
-    /** 绫诲瀷 */
+    /**
+     * 绫诲瀷
+     */
     @Excel(name = "绫诲瀷")
     private String type;
 
-    /** 鎵嬫満鍙� */
+    /**
+     * 鎵嬫満鍙�
+     */
     @Excel(name = "鎵嬫満鍙�")
     private String phone;
 
-    /** 韬唤璇佸彿 */
+    /**
+     * 韬唤璇佸彿
+     */
     @Excel(name = "韬唤璇佸彿")
     private String idCard;
 
-    /** 浜哄憳鍒嗙粍 */
+    /**
+     * 浜哄憳鍒嗙粍
+     */
     @Excel(name = "浜哄憳鍒嗙粍")
     private String personGroup;
 
-    /** 鑱岃矗 */
+    /**
+     * 鑱岃矗
+     */
     @Excel(name = "鑱岃矗")
     private String responsibility;
 
-    /** 鐘舵�� */
+
+    /**
+     * 杩涘満鏃堕棿
+     */
+    @Excel(name = "杩涘満鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date inSiteTime;
+
+    /**
+     * 鍑哄満鏃堕棿
+     */
+    @Excel(name = "鍑哄満鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date outSiteTime;
+
+    /**
+     * 璇佷欢绫诲瀷
+     */
+    @Excel(name = "璇佷欢绫诲瀷")
+    private String documentType;
+
+    /**
+     * 璇佷欢缂栧彿
+     */
+    @Excel(name = "璇佷欢缂栧彿")
+    private String documentCode;
+
+    /**
+     * 璇佷欢url
+     */
+    @Excel(name = "璇佷欢url")
+    private String documentPath;
+
+    /**
+     * 鐘舵��
+     */
     private String status;
 
-    /** 鏄惁鍒犻櫎锛�0 鏈垹闄� 1鍒犻櫎锛� */
+    /**
+     * 鏄惁鍒犻櫎锛�0 鏈垹闄� 1鍒犻櫎锛�
+     */
     private String isDeleted;
 
-    public void setIds(String ids) 
-    {
+    public void setIds(String ids) {
         this.ids = ids;
     }
 
-    public String getIds() 
-    {
+    public String getIds() {
         return ids;
     }
-    public void setProjectId(String projectId) 
-    {
+
+    public void setProjectId(String projectId) {
         this.projectId = projectId;
     }
 
-    public String getProjectId() 
-    {
+    public String getProjectId() {
         return projectId;
     }
-    public void setHoleId(String holeId) 
-    {
+
+    public void setHoleId(String holeId) {
         this.holeId = holeId;
     }
 
-    public String getHoleId() 
-    {
+    public String getHoleId() {
         return holeId;
     }
-    public void setName(String name) 
-    {
+
+    public void setName(String name) {
         this.name = name;
     }
 
-    public String getName() 
-    {
+    public String getName() {
         return name;
     }
-    public void setType(String type) 
-    {
+
+    public void setType(String type) {
         this.type = type;
     }
 
-    public String getType() 
-    {
+    public String getType() {
         return type;
     }
-    public void setPhone(String phone) 
-    {
+
+    public void setPhone(String phone) {
         this.phone = phone;
     }
 
-    public String getPhone()
-    {
+    public String getPhone() {
         return phone;
     }
 
@@ -125,51 +172,95 @@
         this.personGroup = personGroup;
     }
 
-    public void setResponsibility(String responsibility)
-    {
+    public void setResponsibility(String responsibility) {
         this.responsibility = responsibility;
     }
 
-    public String getResponsibility() 
-    {
+    public String getResponsibility() {
         return responsibility;
     }
-    public void setStatus(String status) 
-    {
+
+
+    public Date getInSiteTime() {
+        return inSiteTime;
+    }
+
+    public void setInSiteTime(Date inSiteTime) {
+        this.inSiteTime = inSiteTime;
+    }
+
+    public void setOutSiteTime(Date outSiteTime) {
+        this.outSiteTime = outSiteTime;
+    }
+
+    public Date getOutSiteTime() {
+        return outSiteTime;
+    }
+
+    public void setDocumentType(String documentType) {
+        this.documentType = documentType;
+    }
+
+    public String getDocumentType() {
+        return documentType;
+    }
+
+    public void setDocumentCode(String documentCode) {
+        this.documentCode = documentCode;
+    }
+
+    public String getDocumentCode() {
+        return documentCode;
+    }
+
+    public void setDocumentPath(String documentPath) {
+        this.documentPath = documentPath;
+    }
+
+    public String getDocumentPath() {
+        return documentPath;
+    }
+
+
+    public void setStatus(String status) {
         this.status = status;
     }
 
-    public String getStatus() 
-    {
+
+    public String getStatus() {
         return status;
     }
-    public void setIsDeleted(String isDeleted) 
-    {
+
+    public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
 
-    public String getIsDeleted() 
-    {
+    public String getIsDeleted() {
         return isDeleted;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("ids", getIds())
-            .append("projectId", getProjectId())
-            .append("holeId", getHoleId())
-            .append("name", getName())
-            .append("type", getType())
-            .append("phone", getPhone())
-            .append("responsibility", getResponsibility())
-            .append("status", getStatus())
-            .append("isDeleted", getIsDeleted())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("ids", getIds())
+                .append("projectId", getProjectId())
+                .append("holeId", getHoleId())
+                .append("name", getName())
+                .append("type", getType())
+                .append("phone", getPhone())
+                .append("responsibility", getResponsibility())
+                .append("inSiteTime", getInSiteTime())
+                .append("outSiteTime", getOutSiteTime())
+                .append("documentType", getDocumentType())
+                .append("documentCode", getDocumentCode())
+                .append("documentPath", getDocumentPath())
+                .append("status", getStatus())
+                .append("isDeleted", getIsDeleted())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .toString();
     }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleLogMapper.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleLogMapper.java
new file mode 100644
index 0000000..4f6395e
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleLogMapper.java
@@ -0,0 +1,61 @@
+package com.javaweb.geo.mapper;
+
+import com.javaweb.geo.domain.HoleLog;
+import java.util.List;
+
+/**
+ * 閽诲瓟鏃ュ織Mapper鎺ュ彛
+ * 
+ * @author cxy
+ * @date 2024-05-21
+ */
+public interface HoleLogMapper 
+{
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織
+     * 
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 閽诲瓟鏃ュ織
+     */
+    public HoleLog selectHoleLogById(String id);
+
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織鍒楄〃
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 閽诲瓟鏃ュ織闆嗗悎
+     */
+    public List<HoleLog> selectHoleLogList(HoleLog holeLog);
+
+    /**
+     * 鏂板閽诲瓟鏃ュ織
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    public int insertHoleLog(HoleLog holeLog);
+
+    /**
+     * 淇敼閽诲瓟鏃ュ織
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    public int updateHoleLog(HoleLog holeLog);
+
+    /**
+     * 鍒犻櫎閽诲瓟鏃ュ織
+     * 
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 缁撴灉
+     */
+    public int deleteHoleLogById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎閽诲瓟鏃ュ織
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    public int deleteHoleLogByIds(String[] ids);
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleLogService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleLogService.java
new file mode 100644
index 0000000..8987eca
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleLogService.java
@@ -0,0 +1,61 @@
+package com.javaweb.geo.service;
+
+import com.javaweb.geo.domain.HoleLog;
+import java.util.List;
+
+/**
+ * 閽诲瓟鏃ュ織Service鎺ュ彛
+ * 
+ * @author cxy
+ * @date 2024-05-21
+ */
+public interface IHoleLogService 
+{
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織
+     * 
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 閽诲瓟鏃ュ織
+     */
+    public HoleLog selectHoleLogById(String id);
+
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織鍒楄〃
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 閽诲瓟鏃ュ織闆嗗悎
+     */
+    public List<HoleLog> selectHoleLogList(HoleLog holeLog);
+
+    /**
+     * 鏂板閽诲瓟鏃ュ織
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    public int insertHoleLog(HoleLog holeLog);
+
+    /**
+     * 淇敼閽诲瓟鏃ュ織
+     * 
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    public int updateHoleLog(HoleLog holeLog);
+
+    /**
+     * 鎵归噺鍒犻櫎閽诲瓟鏃ュ織
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    public int deleteHoleLogByIds(String ids);
+
+    /**
+     * 鍒犻櫎閽诲瓟鏃ュ織淇℃伅
+     * 
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 缁撴灉
+     */
+    public int deleteHoleLogById(String id);
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectPersonService.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectPersonService.java
index f635523..cf1642a 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectPersonService.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectPersonService.java
@@ -1,6 +1,10 @@
 package com.javaweb.geo.service;
 
+import com.javaweb.common.core.domain.AjaxResult;
 import com.javaweb.geo.domain.ProjectPerson;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -58,4 +62,5 @@
      * @return 缁撴灉
      */
     public int deleteProjectPersonById(String ids);
+
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleLogServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleLogServiceImpl.java
new file mode 100644
index 0000000..ca1dfa1
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleLogServiceImpl.java
@@ -0,0 +1,94 @@
+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.HoleLogMapper;
+import com.javaweb.geo.domain.HoleLog;
+import com.javaweb.geo.service.IHoleLogService;
+import com.javaweb.common.core.text.Convert;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * 閽诲瓟鏃ュ織Service涓氬姟灞傚鐞�
+ *
+ * @author cxy
+ * @date 2024-05-21
+ */
+@Service
+public class HoleLogServiceImpl implements IHoleLogService {
+    @Autowired
+    private HoleLogMapper holeLogMapper;
+
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織
+     *
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 閽诲瓟鏃ュ織
+     */
+    @Override
+    public HoleLog selectHoleLogById(String id) {
+        return holeLogMapper.selectHoleLogById(id);
+    }
+
+    /**
+     * 鏌ヨ閽诲瓟鏃ュ織鍒楄〃
+     *
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 閽诲瓟鏃ュ織
+     */
+    @Override
+    public List<HoleLog> selectHoleLogList(HoleLog holeLog) {
+        return holeLogMapper.selectHoleLogList(holeLog);
+    }
+
+    /**
+     * 鏂板閽诲瓟鏃ュ織
+     *
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertHoleLog(HoleLog holeLog) {
+        if(ObjectUtils.isEmpty(holeLog.getId())){
+            holeLog.setId(IdGenerate.nextId());
+        }
+        return holeLogMapper.insertHoleLog(holeLog);
+    }
+
+    /**
+     * 淇敼閽诲瓟鏃ュ織
+     *
+     * @param holeLog 閽诲瓟鏃ュ織
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateHoleLog(HoleLog holeLog) {
+        return holeLogMapper.updateHoleLog(holeLog);
+    }
+
+    /**
+     * 鍒犻櫎閽诲瓟鏃ュ織瀵硅薄
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHoleLogByIds(String ids) {
+        return holeLogMapper.deleteHoleLogByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 鍒犻櫎閽诲瓟鏃ュ織淇℃伅
+     *
+     * @param id 閽诲瓟鏃ュ織ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHoleLogById(String id) {
+        return holeLogMapper.deleteHoleLogById(id);
+    }
+}
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectPersonServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectPersonServiceImpl.java
index 2736c43..ea8a0d4 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectPersonServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectPersonServiceImpl.java
@@ -1,6 +1,8 @@
 package com.javaweb.geo.service.impl;
 
 import java.util.List;
+
+import com.javaweb.common.core.domain.AjaxResult;
 import com.javaweb.common.utils.DateUtils;
 import com.javaweb.common.utils.IdGenerate;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,6 +12,9 @@
 import com.javaweb.geo.service.IProjectPersonService;
 import com.javaweb.common.core.text.Convert;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * 椤圭洰浜哄憳Service涓氬姟灞傚鐞�
@@ -98,4 +103,5 @@
     {
         return projectPersonMapper.deleteProjectPersonById(ids);
     }
+
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleLogMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleLogMapper.xml
new file mode 100644
index 0000000..5dd1238
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleLogMapper.xml
@@ -0,0 +1,105 @@
+<?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.HoleLogMapper">
+    
+    <resultMap type="HoleLog" id="HoleLogResult">
+        <result property="id"    column="id"    />
+        <result property="projectId"    column="project_id"    />
+        <result property="holeId"    column="hole_id"    />
+        <result property="code"    column="code"    />
+        <result property="beginDepth"    column="begin_depth"    />
+        <result property="endDepth"    column="end_depth"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="recordPerson"    column="record_person"    />
+        <result property="description"    column="description"    />
+        <result property="isDelete"    column="is_delete"    />
+    </resultMap>
+
+    <sql id="selectHoleLogVo">
+        select id, project_id, hole_id, code, begin_depth, end_depth, create_time, record_person, description, is_delete from js_hole_log
+    </sql>
+
+    <select id="selectHoleLogList" parameterType="HoleLog" resultMap="HoleLogResult">
+        <include refid="selectHoleLogVo"/>
+        <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="code != null  and code != ''"> and code = #{code}</if>
+            <if test="beginDepth != null "> and begin_depth = #{beginDepth}</if>
+            <if test="endDepth != null "> and end_depth = #{endDepth}</if>
+            <if test="recordPerson != null  and recordPerson != ''"> and record_person = #{recordPerson}</if>
+            <if test="description != null  and description != ''"> and description = #{description}</if>
+            <!-- 寮�濮嬫椂闂存绱� -->
+            <if test="params.beginTime != null and params.beginTime != ''">
+                and date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginCreateTime},'%y%m%d')
+            </if>
+            <!-- 缁撴潫鏃堕棿妫�绱� -->
+            <if test="params.endTime != null and params.endTime != ''">
+                and date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endCreateTime},'%y%m%d')
+            </if>
+        </where>
+    </select>
+    
+    <select id="selectHoleLogById" parameterType="String" resultMap="HoleLogResult">
+        <include refid="selectHoleLogVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertHoleLog" parameterType="HoleLog">
+        insert into js_hole_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null  and id != ''">id,</if>
+            <if test="projectId != null  and projectId != ''">project_id,</if>
+            <if test="holeId != null  and holeId != ''">hole_id,</if>
+            <if test="code != null  and code != ''">code,</if>
+            <if test="beginDepth != null ">begin_depth,</if>
+            <if test="endDepth != null ">end_depth,</if>
+            <if test="createTime != null ">create_time,</if>
+            <if test="recordPerson != null  and recordPerson != ''">record_person,</if>
+            <if test="description != null  and description != ''">description,</if>
+            <if test="isDelete != null  and isDelete != ''">is_delete,</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="holeId != null  and holeId != ''">#{holeId},</if>
+            <if test="code != null  and code != ''">#{code},</if>
+            <if test="beginDepth != null ">#{beginDepth},</if>
+            <if test="endDepth != null ">#{endDepth},</if>
+            <if test="createTime != null ">#{createTime},</if>
+            <if test="recordPerson != null  and recordPerson != ''">#{recordPerson},</if>
+            <if test="description != null  and description != ''">#{description},</if>
+            <if test="isDelete != null  and isDelete != ''">#{isDelete},</if>
+         </trim>
+    </insert>
+
+    <update id="updateHoleLog" parameterType="HoleLog">
+        update js_hole_log
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="projectId != null  and projectId != ''">project_id = #{projectId},</if>
+            <if test="holeId != null  and holeId != ''">hole_id = #{holeId},</if>
+            <if test="code != null  and code != ''">code = #{code},</if>
+            <if test="beginDepth != null ">begin_depth = #{beginDepth},</if>
+            <if test="endDepth != null ">end_depth = #{endDepth},</if>
+            <if test="createTime != null ">create_time = #{createTime},</if>
+            <if test="recordPerson != null  and recordPerson != ''">record_person = #{recordPerson},</if>
+            <if test="description != null  and description != ''">description = #{description},</if>
+            <if test="isDelete != null  and isDelete != ''">is_delete = #{isDelete},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteHoleLogById" parameterType="String">
+        delete from js_hole_log where id = #{id}
+    </delete>
+
+    <delete id="deleteHoleLogByIds" parameterType="String">
+        delete from js_hole_log 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 2648c83..9d10598 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
@@ -7,7 +7,7 @@
     <resultMap type="ProjectData" id="ProjectDataResult">
         <result property="id"    column="id"    />
         <result property="projectId"    column="project_id"    />
-        <result property="holeId"    column="hole_id"    />
+        <result property="holeCode"    column="hole_code"    />
         <result property="name"    column="name"    />
         <result property="dataType"    column="data_type"    />
         <result property="dataUrl"    column="data_url"    />
@@ -21,14 +21,14 @@
     </resultMap>
 
     <sql id="selectProjectDataVo">
-        select id, project_id, hole_id, name, data_type, data_url, file_type, labels, create_by, create_time, update_by, update_time, remark from js_project_data
+        select id, project_id, hole_code, name, data_type, data_url, file_type, labels, create_by, create_time, update_by, update_time, remark from js_project_data
     </sql>
 
     <select id="selectProjectDataList" parameterType="ProjectData" resultMap="ProjectDataResult">
         <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="holeCode != null  and holeCode != ''"> and hole_code = #{holeCode}</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>
@@ -46,7 +46,7 @@
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null  and id != ''">id,</if>
             <if test="projectId != null  and projectId != ''">project_id,</if>
-            <if test="holeId != null  and holeId != ''">hole_id,</if>
+            <if test="holeCode != null  and holeCode != ''">hole_code,</if>
             <if test="name != null  and name != ''">name,</if>
             <if test="dataType != null  and dataType != ''">data_type,</if>
             <if test="dataUrl != null  and dataUrl != ''">data_url,</if>
@@ -61,7 +61,7 @@
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null  and id != ''">#{id},</if>
             <if test="projectId != null  and projectId != ''">#{projectId},</if>
-            <if test="holeId != null  and holeId != ''">#{holeId},</if>
+            <if test="holeCode != null  and holeCode != ''">#{holeCode},</if>
             <if test="name != null  and name != ''">#{name},</if>
             <if test="dataType != null  and dataType != ''">#{dataType},</if>
             <if test="dataUrl != null  and dataUrl != ''">#{dataUrl},</if>
@@ -79,7 +79,7 @@
         update js_project_data
         <trim prefix="SET" suffixOverrides=",">
             <if test="projectId != null  and projectId != ''">project_id = #{projectId},</if>
-            <if test="holeId != null  and holeId != ''">hole_id = #{holeId},</if>
+            <if test="holeCode != null  and holeCode != ''">hole_code = #{holeCode},</if>
             <if test="name != null  and name != ''">name = #{name},</if>
             <if test="dataType != null  and dataType != ''">data_type = #{dataType},</if>
             <if test="dataUrl != null  and dataUrl != ''">data_url = #{dataUrl},</if>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectPersonMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectPersonMapper.xml
index b878eed..11b176d 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectPersonMapper.xml
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectPersonMapper.xml
@@ -14,6 +14,11 @@
         <result property="idCard"    column="id_card"    />
         <result property="personGroup"    column="person_group"    />
         <result property="responsibility"    column="responsibility"    />
+        <result property="inSiteTime"    column="in_site_time"    />
+        <result property="outSiteTime"    column="out_site_time"    />
+        <result property="documentType"    column="document_type"    />
+        <result property="documentCode"    column="document_code"    />
+        <result property="documentPath"    column="document_path"    />
         <result property="status"    column="status"    />
         <result property="isDeleted"    column="is_deleted"    />
         <result property="createBy"    column="create_by"    />
@@ -24,17 +29,25 @@
     </resultMap>
 
     <sql id="selectProjectPersonVo">
-        select ids, project_id, hole_id, name, type, phone, id_card , person_group , responsibility, status, is_deleted, create_by, create_time, update_by, update_time, remark from js_project_person
+        select ids, project_id, hole_id, name, type, phone, id_card , person_group , responsibility, in_site_time, out_site_time, document_type, document_code, document_path,  status, is_deleted, create_by, create_time, update_by, update_time, remark from js_project_person
     </sql>
 
     <select id="selectProjectPersonList" parameterType="ProjectPerson" resultMap="ProjectPersonResult">
         <include refid="selectProjectPersonVo"/>
         <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="type != null  and type != ''"> and type = #{type}</if>
             <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
-            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
+            <if test="idCard != null  and idCard != ''"> and id_card = #{idCard}</if>
+            <if test="personGroup != null  and personGroup != ''"> and person_group = #{personGroup}</if>
+            <if test="responsibility != null  and responsibility != ''"> and responsibility = #{responsibility}</if>
+            <if test="inSiteTime != null "> and in_site_time = #{inSiteTime}</if>
+            <if test="outSiteTime != null "> and out_site_time = #{outSiteTime}</if>
+            <if test="documentType != null  and documentType != ''"> and document_type = #{documentType}</if>
+            <if test="documentCode != null  and documentCode != ''"> and document_code = #{documentCode}</if>
+            <if test="documentPath != null  and documentPath != ''"> and document_path = #{documentPath}</if>
         </where>
     </select>
     
@@ -55,6 +68,11 @@
             <if test="idCard != null  and idCard != ''">id_card,</if>
             <if test="personGroup != null  and personGroup != ''">person_group,</if>
             <if test="responsibility != null  and responsibility != ''">responsibility,</if>
+            <if test="inSiteTime != null ">in_site_time,</if>
+            <if test="outSiteTime != null ">out_site_time,</if>
+            <if test="documentType != null  and documentType != ''">document_type,</if>
+            <if test="documentCode != null  and documentCode != ''">document_code,</if>
+            <if test="documentPath != null  and documentPath != ''">document_path,</if>
             <if test="status != null  and status != ''">status,</if>
             <if test="isDeleted != null  and isDeleted != ''">is_deleted,</if>
             <if test="createBy != null  and createBy != ''">create_by,</if>
@@ -73,6 +91,11 @@
             <if test="idCard != null and idCard != ''">#{idCard},</if>
             <if test="personGroup != null  and personGroup != ''">#{personGroup},</if>
             <if test="responsibility != null  and responsibility != ''">#{responsibility},</if>
+            <if test="inSiteTime != null ">#{inSiteTime},</if>
+            <if test="outSiteTime != null ">#{outSiteTime},</if>
+            <if test="documentType != null  and documentType != ''">#{documentType},</if>
+            <if test="documentCode != null  and documentCode != ''">#{documentCode},</if>
+            <if test="documentPath != null  and documentPath != ''">#{documentPath},</if>
             <if test="status != null  and status != ''">#{status},</if>
             <if test="isDeleted != null  and isDeleted != ''">#{isDeleted},</if>
             <if test="createBy != null  and createBy != ''">#{createBy},</if>
@@ -94,6 +117,11 @@
             <if test="idCard != null  and idCard != ''">id_card = #{idCard},</if>
             <if test="personGroup != null  and personGroup != ''">person_group = #{personGroup},</if>
             <if test="responsibility != null  and responsibility != ''">responsibility = #{responsibility},</if>
+            <if test="inSiteTime != null ">in_site_time = #{inSiteTime},</if>
+            <if test="outSiteTime != null ">out_site_time = #{outSiteTime},</if>
+            <if test="documentType != null  and documentType != ''">document_type = #{documentType},</if>
+            <if test="documentCode != null  and documentCode != ''">document_code = #{documentCode},</if>
+            <if test="documentPath != null  and documentPath != ''">document_path = #{documentPath},</if>
             <if test="status != null  and status != ''">status = #{status},</if>
             <if test="isDeleted != null  and isDeleted != ''">is_deleted = #{isDeleted},</if>
             <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/add.html
new file mode 100644
index 0000000..d648160
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/add.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('鏂板閽诲瓟鏃ュ織')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-holeLog-add">
+            <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="beginDepth" 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="endDepth" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">璁板綍淇濆瓨鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="createTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">鎻忚堪鍛橈細</label>
+                <div class="col-sm-8">
+                    <input name="recordPerson" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鎻忚堪澶囨敞锛�</label>
+                <div class="col-sm-8">
+                    <textarea name="description" class="form-control"></textarea>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script th:inline="javascript">
+        var prefix = ctx + "geo/holeLog"
+        var projectId = [[${projectId}]];
+
+        $("#form-holeLog-add").validate({
+            focusCleanup: true
+        });
+
+        $("input[name='createTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                let formData = $('#form-holeLog-add').serialize();
+                let data = formData + "&projectId=" + projectId;
+                $.operate.save(prefix + "/add", data);
+            }
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/edit.html
new file mode 100644
index 0000000..e91ef49
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/edit.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('淇敼閽诲瓟鏃ュ織')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-holeLog-edit" th:object="${holeLog}">
+            <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="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="beginDepth" th:field="*{beginDepth}" 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="endDepth" th:field="*{endDepth}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">璁板綍淇濆瓨鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="createTime" th:value="${#dates.format(holeLog.createTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">鎻忚堪鍛橈細</label>
+                <div class="col-sm-8">
+                    <input name="recordPerson" th:field="*{recordPerson}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鎻忚堪澶囨敞锛�</label>
+                <div class="col-sm-8">
+                    <textarea name="description" class="form-control">[[*{description}]]</textarea>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "geo/holeLog";
+        $("#form-holeLog-edit").validate({
+            focusCleanup: true
+        });
+
+        $("input[name='createTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-holeLog-edit').serialize());
+            }
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/holeLog.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/holeLog.html
new file mode 100644
index 0000000..1ef883e
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/holeLog/holeLog.html
@@ -0,0 +1,120 @@
+<!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>閽诲瓟缂栧彿锛�</p>
+                                <input type="text" name="code"/>
+                            </li>
+                            <li class="select-time">
+                                <p>璁板綍淇濆瓨鏃堕棿锛�</p>
+                                <input type="text" class="time-input" id="startTime" placeholder="寮�濮嬫椂闂�" name="params[beginCreateTime]"/>
+                                <span>-</span>
+                                <input type="text" class="time-input" id="endTime" placeholder="缁撴潫鏃堕棿" name="params[endCreateTime]"/>
+                            </li>
+                            <li>
+                                <p>鎻忚堪鍛橈細</p>
+                                <input type="text" name="recordPerson"/>
+                            </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:holeLog:add">
+                    <i class="fa fa-plus"></i> 娣诲姞
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="geo:holeLog:edit">
+                    <i class="fa fa-edit"></i> 淇敼
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:holeLog:remove">
+                    <i class="fa fa-remove"></i> 鍒犻櫎
+                </a>
+<!--                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:holeLog: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:holeLog:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('geo:holeLog:remove')}]];
+        var prefix = ctx + "geo/holeLog";
+        var projectId=[[${projectId}]];
+
+        $(function() {
+            var options = {
+                url: prefix + "/list?projectId=" + projectId,
+                createUrl: prefix + "/add?projectId=" + projectId,
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "閽诲瓟鏃ュ織",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : '涓婚敭',
+                    visible: false
+                },
+                {
+                    field : 'code', 
+                    title : '閽诲瓟缂栧彿'
+                },
+                {
+                    field : 'beginDepth', 
+                    title : '璧峰娣卞害',
+                    sortable: true
+                },
+                {
+                    field : 'endDepth', 
+                    title : '缁堟娣卞害',
+                    sortable: true
+                },
+                {
+                    field : 'createTime', 
+                    title : '璁板綍淇濆瓨鏃堕棿',
+                    sortable: true
+                },
+                {
+                    field : 'recordPerson', 
+                    title : '鎻忚堪鍛�'
+                },
+                {
+                    field : 'description', 
+                    title : '鎻忚堪澶囨敞'
+                },
+                {
+                    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/project/navigate.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html
index 0694e9e..b534f5f 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
@@ -31,6 +31,11 @@
             </div>
             <div class="box-header ">
                 <div class="box-title">
+                    <i class="glyphicon glyphicon-map-marker"></i> <a class="afont" th:href="@{/geo/holeLog(id=${project.ids})}" target="mainFrame" onclick="selected(this)">閽诲瓟鏃ュ織</a>
+                </div>
+            </div>
+            <div class="box-header ">
+                <div class="box-title">
                     <i class="glyphicon glyphicon-user"></i> <a class="afont" th:href="@{/geo/projectPerson(id=${project.ids})}" target="mainFrame" onclick="selected(this)">浜哄憳绠$悊</a>
                 </div>
             </div>
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 4ed9e63..f923279 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
@@ -6,12 +6,18 @@
 <body class="white-bg">
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-projectData-add">
-            <div class="form-group">    
+            <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="holeCode" class="form-control" type="text">
+                </div>
+            </div>
 <!--            <div class="form-group">-->
 <!--                <label class="col-sm-3 control-label">璧勬枡绫诲瀷锛�</label>-->
 <!--                <div class="col-sm-8">-->
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/edit.html
index 1c29812..a358fe0 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/edit.html
@@ -7,12 +7,18 @@
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-projectData-edit" th:object="${projectData}">
             <input name="id" th:field="*{id}" type="hidden">
-            <div class="form-group">    
+            <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="holeCode" th:field="*{holeCode}" class="form-control" type="text">
+                </div>
+            </div>
 <!--            <div class="form-group">    -->
 <!--                <label class="col-sm-3 control-label">璧勬枡绫诲瀷锛�</label>-->
 <!--                <div class="col-sm-8">-->
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 5896ff9..c919e85 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
@@ -15,6 +15,10 @@
                                 <input type="text" name="name"/>
                             </li>
                             <li>
+                                <p>閽诲瓟缂栧彿锛�</p>
+                                <input type="text" name="holeCode"/>
+                            </li>
+                            <li>
                                 <p>鏍囩锛�</p>
                                 <input type="text" name="labels"/>
                             </li>
@@ -76,6 +80,10 @@
                     field : 'name',
                     title : '璧勬枡鍚嶇О'
                 },
+                    {
+                        field : 'holeCode',
+                        title : '閽诲瓟缂栧彿'
+                    },
                 {
                     field : 'labels', 
                     title : '鏍囩'
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData2.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData2.html
index aba6d71..f5683e3 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData2.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData2.html
@@ -15,6 +15,10 @@
                                 <input type="text" name="name"/>
                             </li>
                             <li>
+                                <p>閽诲瓟缂栧彿锛�</p>
+                                <input type="text" name="holeCode"/>
+                            </li>
+                            <li>
                                 <p>涓氬姟绫诲瀷锛�</p>
                                 <select name="fileType" th:with="type=${@dict.getType('project_data_file_type')}">
                                     <option value="">鎵�鏈�</option>
@@ -82,6 +86,10 @@
                     field : 'name',
                     title : '璧勬枡鍚嶇О'
                 },
+                    {
+                        field : 'holeCode',
+                        title : '閽诲瓟缂栧彿'
+                    },
                 {
                     field : 'fileType',
                     title : '涓氬姟绫诲瀷',
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/upload.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/upload.html
index ae27303..b02bb26 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/upload.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/upload.html
@@ -20,7 +20,7 @@
                              </li>  
                              
                              <li>
-                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="upload()"><i class="fa fa-search"></i>&nbsp;涓婁紶</a>
+                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="upload()"><i class="fa fa-upload"></i>&nbsp;涓婁紶</a>
                              </li>
                         </ul>
                     </div>
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 e023eaa..bb22c2e 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
@@ -2,6 +2,7 @@
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
     <th:block th:include="include :: header('鏂板椤圭洰浜哄憳')" />
+    <th:block th:include="include :: datetimepicker-css" />
 </head>
 <body class="white-bg">
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
@@ -44,9 +45,48 @@
                     <input name="responsibility" class="form-control" type="text">
                 </div>
             </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">杩涘満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="inSiteTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鍑哄満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="outSiteTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">璇佷欢绫诲瀷锛�</label>
+                <div class="col-sm-8">
+                    <input name="documentType" 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="documentCode" 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 type="file" name= "file" id="file"/>
+                </div>
+            </div>
+
         </form>
     </div>
     <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
     <script th:inline="javascript">
         var prefix = ctx + "geo/projectPerson"
         var projectId = [[${projectId}]];
@@ -56,12 +96,55 @@
         });
 
         function submitHandler() {
+            var result = doSubmitFile();
+            var documentFile =null;
+            if(result !=null){
+                if(result.code == web_status.SUCCESS){
+                    documentFile= result.fileName;
+                }
+            }
             if ($.validate.form()) {
                 let formData = $('#form-projectPerson-add').serialize();
-                let data = formData + "&projectId=" + projectId;
+                let data = formData + "&projectId=" + projectId +"&documentPath="+documentFile;
                 $.operate.save(prefix + "/add", data);
             }
         }
+        //涓婁紶鏂囦欢
+        function doSubmitFile(){
+            var file = $('#file').val();
+            if (file == '' || file ==null){
+                return null;
+            }
+            var formData = new FormData();
+            formData.append("file", $('#file')[0].files[0]);
+            var data = null;
+            $.ajax({
+                url: ctx + "geo/projectPerson/uploadPersonFile",
+                data: formData,
+                cache: false,
+                contentType: false,
+                processData: false,
+                type: 'POST',
+                async:false,
+                success: function (result) {
+                    data=  result;
+                }
+            });
+            return data;
+        }
+
+        $("input[name='inSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        $("input[name='outSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
     </script>
 </body>
 </html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/addcopy.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/addcopy.html
new file mode 100644
index 0000000..97525c4
--- /dev/null
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/addcopy.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('鏂板椤圭洰浜哄憳')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-projectPerson-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">
+                    <select name="type" class="form-control m-b" th:with="type=${@dict.getType('project_person_type')}">
+                        <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">
+                    <input name="phone" 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="idCard" 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="personGroup" 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="responsibility" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">杩涘満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="inSiteTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鍑哄満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="outSiteTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">璇佷欢绫诲瀷锛�</label>
+                <div class="col-sm-8">
+                    <input name="documentType" 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="documentCode" class="form-control" type="text">
+                </div>
+            </div>
+
+            <div class="form-group">
+                <label class="col-sm-3 control-label">涓婁紶璇佷欢锛�</label>
+                <div class="col-sm-8">
+                    <form id="formId"  enctype="multipart/form-data">
+                        <div class="select-list">
+                            <ul>
+                                <li>
+                                    <input type="file" id="file" name="file"/>
+                                </li>
+                                <li>
+                                    <a class="btn btn-primary btn-rounded btn-sm" onclick="upload()"><i class="fa fa-upload"></i>&nbsp;涓婁紶</a>
+                                </li>
+                            </ul>
+                        </div>
+                    </form>
+                </div>
+            </div>
+
+
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script th:inline="javascript">
+        var prefix = ctx + "geo/projectPerson"
+        var projectId = [[${projectId}]];
+
+        $("#form-projectPerson-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                let formData = $('#form-projectPerson-add').serialize();
+                let data = formData + "&projectId=" + projectId;
+                $.operate.save(prefix + "/add", data);
+            }
+        }
+
+        $("input[name='inSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        $("input[name='outSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        function upload(){
+            var file = $('#file').val();
+            if (file == '' || (!$.common.endWith(file, '.png'))){
+                $.modal.msgWarning("璇烽�夋嫨寰呬笂浼犵殑鏂囦欢");
+                return false;
+            }
+
+            var formData = new FormData();
+            formData.append("file", $('#file')[0].files[0]);
+            formData.append("projectId", projectId);
+            $.modal.loading("鏁版嵁涓婁紶瑙f瀽涓�");
+
+            $.ajax({
+                url: ctx + "geo/projectPerson/uploadImg",
+                data: formData,
+                cache: false,
+                contentType: false,
+                processData: false,
+                type: 'POST',
+                success: function (result) {
+                    if (result.code == web_status.SUCCESS) {
+                        $.modal.closeLoading();
+                        $.modal.alertSuccess(result.msg);
+                    } else if (result.code == web_status.WARNING) {
+                        $.modal.closeLoading();
+                        $.modal.alertWarning(result.msg)
+                    } else {
+                        $.modal.closeLoading();
+                        $.modal.alertError(result.msg);
+                    }
+                }
+            });
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/edit.html
index 252804b..a14508e 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/edit.html
@@ -2,6 +2,7 @@
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
     <th:block th:include="include :: header('淇敼椤圭洰浜哄憳')" />
+    <th:block th:include="include :: datetimepicker-css" />
 </head>
 <body class="white-bg">
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
@@ -45,9 +46,48 @@
                     <input name="responsibility" th:field="*{responsibility}" class="form-control" type="text">
                 </div>
             </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">杩涘満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="inSiteTime" th:value="${#dates.format(projectPerson.inSiteTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">鍑哄満鏃堕棿锛�</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="outSiteTime" th:value="${#dates.format(projectPerson.outSiteTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">璇佷欢绫诲瀷锛�</label>
+                <div class="col-sm-8">
+                    <input name="documentType" th:field="*{documentType}" 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="documentCode" th:field="*{documentCode}" 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 type="file" name= "file" id="file"/>
+
+                </div>
+            </div>
         </form>
     </div>
     <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
     <script type="text/javascript">
         var prefix = ctx + "geo/projectPerson";
         $("#form-projectPerson-edit").validate({
@@ -55,10 +95,56 @@
         });
 
         function submitHandler() {
+            var result = doSubmitFile();
+            var documentFile =null;
+            if(result !=null){
+                if(result.code == web_status.SUCCESS){
+                    documentFile= result.fileName;
+                }
+            }
             if ($.validate.form()) {
-                $.operate.save(prefix + "/edit", $('#form-projectPerson-edit').serialize());
+                let formData = $('#form-projectPerson-edit').serialize();
+                let data = formData  +"&documentPath="+documentFile;
+                $.operate.save(prefix + "/edit",data);
             }
         }
+
+        //涓婁紶鏂囦欢
+        function doSubmitFile(){
+            var file = $('#file').val();
+            if (file == '' || file ==null){
+                return null;
+            }
+            var formData = new FormData();
+            formData.append("file", $('#file')[0].files[0]);
+            var data = null;
+            $.ajax({
+                url: ctx + "geo/projectPerson/uploadPersonFile",
+                data: formData,
+                cache: false,
+                contentType: false,
+                processData: false,
+                type: 'POST',
+                async:false,
+                success: function (result) {
+                    data=  result;
+                }
+            });
+            return data;
+        }
+
+
+        $("input[name='inSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+
+        $("input[name='outSiteTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
     </script>
 </body>
 </html>
\ No newline at end of file
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/projectPerson.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/projectPerson.html
index 92f8fe4..e2af5b1 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/projectPerson.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectPerson/projectPerson.html
@@ -104,10 +104,33 @@
                     field : 'responsibility', 
                     title : '鑱岃矗'
                 },
-                {
-                    field : 'remark', 
-                    title : '澶囨敞'
-                },
+                    {
+                        field : 'inSiteTime',
+                        title : '杩涘満鏃堕棿'
+                    },
+                    {
+                        field : 'outSiteTime',
+                        title : '鍑哄満鏃堕棿'
+                    },
+                    {
+                        field : 'documentType',
+                        title : '璇佷欢绫诲瀷',
+                        visible: false
+                    },
+                    {
+                        field : 'documentCode',
+                        title : '璇佷欢缂栧彿',
+                        visible: false
+                    },
+                    {
+                        field : 'documentPath',
+                        title : '璇佷欢鐓х墖',
+                        formatter: function(value, row, index) {
+                            return `<a onclick="viewUserFile('${row.documentPath}')" href="#">璇佷欢鐓�</a>`;
+                        }
+
+                    },
+
                 {
                     title: '鎿嶄綔',
                     align: 'center',
@@ -121,6 +144,11 @@
             };
             $.table.init(options);
         });
+        //鏌ョ湅璇佷欢鐓х墖
+        function viewUserFile(path) {
+            var filepath = "/bjfw/"+path;
+            window.open(filepath)
+        }
     </script>
 </body>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1