From a999c9084ba7b6f410a9743da11c8ce469cdf41b Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期五, 17 五月 2024 15:35:11 +0800
Subject: [PATCH] 修改钻孔

---
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/hole.html                     |   95 +-------
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/add.html                      |  146 +-------------
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/ProjectDataController.java |    2 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html                  |   12 
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java     |   35 +-
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/navigate.html              |   34 --
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/projectData/projectData.html       |   38 ++-
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html                   |   12 
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/edit.html                     |  118 +----------
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleController.java        |   38 +--
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html               |   18 
 11 files changed, 128 insertions(+), 420 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleController.java
index f8fdd70..6ae2f30 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleController.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/HoleController.java
@@ -1,6 +1,7 @@
 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;
@@ -21,14 +22,14 @@
 
 /**
  * 閽诲瓟Controller
- * 
+ *
  * @author zmk
  * @date 2022-10-20
  */
 @Controller
 @RequestMapping("/geo/hole")
-public class HoleController extends BaseController
-{
+public class HoleController extends BaseController {
+
     private String prefix = "geo/hole";
 
     @Autowired
@@ -36,11 +37,11 @@
 
     @RequiresPermissions("geo:hole:view")
     @GetMapping()
-    public String hole(String id,ModelMap mmap)
-    {
-    	mmap.put("projectId", id);
+    public String hole(String id, ModelMap mmap) {
+        mmap.put("projectId", id);
         return prefix + "/hole";
     }
+
 
     /**
      * 鏌ヨ閽诲瓟鍒楄〃
@@ -48,12 +49,12 @@
     @RequiresPermissions("geo:hole:list")
     @PostMapping("/list")
     @ResponseBody
-    public TableDataInfo list(Hole hole)
-    {
+    public TableDataInfo list(Hole hole) {
         startPage();
         List<Hole> list = holeService.selectHoleList(hole);
         return getDataTable(list);
     }
+
 
     /**
      * 瀵煎嚭閽诲瓟鍒楄〃
@@ -62,8 +63,7 @@
     @Log(title = "閽诲瓟", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ResponseBody
-    public AjaxResult export(Hole hole)
-    {
+    public AjaxResult export(Hole hole) {
         List<Hole> list = holeService.selectHoleList(hole);
         ExcelUtil<Hole> util = new ExcelUtil<Hole>(Hole.class);
         return util.exportExcel(list, "hole");
@@ -73,8 +73,8 @@
      * 鏂板閽诲瓟
      */
     @GetMapping("/add")
-    public String add()
-    {
+    public String add(String projectId, ModelMap mmap) {
+        mmap.put("projectId", projectId);
         return prefix + "/add";
     }
 
@@ -85,8 +85,7 @@
     @Log(title = "閽诲瓟", businessType = BusinessType.INSERT)
     @PostMapping("/add")
     @ResponseBody
-    public AjaxResult addSave(Hole hole)
-    {
+    public AjaxResult addSave(Hole hole) {
         return toAjax(holeService.insertHole(hole));
     }
 
@@ -94,8 +93,7 @@
      * 淇敼閽诲瓟
      */
     @GetMapping("/edit/{ids}")
-    public String edit(@PathVariable("ids") String ids, ModelMap mmap)
-    {
+    public String edit(@PathVariable("ids") String ids, ModelMap mmap) {
         Hole hole = holeService.selectHoleById(ids);
         mmap.put("hole", hole);
         return prefix + "/edit";
@@ -108,8 +106,7 @@
     @Log(title = "閽诲瓟", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
     @ResponseBody
-    public AjaxResult editSave(Hole hole)
-    {
+    public AjaxResult editSave(Hole hole) {
         return toAjax(holeService.updateHole(hole));
     }
 
@@ -118,10 +115,9 @@
      */
     @RequiresPermissions("geo:hole:remove")
     @Log(title = "閽诲瓟", businessType = BusinessType.DELETE)
-    @PostMapping( "/remove")
+    @PostMapping("/remove")
     @ResponseBody
-    public AjaxResult remove(String ids)
-    {
+    public AjaxResult remove(String ids) {
         return toAjax(holeService.deleteHoleByIds(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 b1f2552..7380ad3 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
@@ -42,6 +42,8 @@
         return prefix + "/projectData";
     }
 
+
+
     /**
      * 鏌ヨ椤圭洰璧勬枡鍒楄〃
      */
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
index 1faa0fa..ba7f4c6 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import com.javaweb.common.utils.DateUtils;
+import com.javaweb.common.utils.IdGenerate;
 import com.javaweb.geo.domain.*;
 import com.javaweb.geo.mapper.*;
 import com.javaweb.geo.service.*;
@@ -13,7 +14,7 @@
 
 /**
  * 閽诲瓟Service涓氬姟灞傚鐞�
- * 
+ *
  * @author zmk
  * @date 2022-10-20
  */
@@ -43,57 +44,56 @@
 
     /**
      * 鏌ヨ閽诲瓟
-     * 
+     *
      * @param ids 閽诲瓟ID
      * @return 閽诲瓟
      */
     @Override
-    public Hole selectHoleById(String ids)
-    {
+    public Hole selectHoleById(String ids) {
         return holeMapper.selectHoleById(ids);
     }
 
     /**
      * 鏌ヨ閽诲瓟鍒楄〃
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 閽诲瓟
      */
     @Override
-    public List<Hole> selectHoleList(Hole hole)
-    {
+    public List<Hole> selectHoleList(Hole hole) {
         return holeMapper.selectHoleList(hole);
     }
 
     /**
      * 鏂板閽诲瓟
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 缁撴灉
      */
     @Override
-    public int insertHole(Hole hole)
-    {
+    public int insertHole(Hole hole) {
+        if(ObjectUtils.isEmpty(hole.getIds())){
+            hole.setIds(IdGenerate.nextId());
+        }
         hole.setCreateTime(DateUtils.getNowDate());
         return holeMapper.insertHole(hole);
     }
 
     /**
      * 淇敼閽诲瓟
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 缁撴灉
      */
     @Override
-    public int updateHole(Hole hole)
-    {
+    public int updateHole(Hole hole) {
         hole.setUpdateTime(DateUtils.getNowDate());
         return holeMapper.updateHole(hole);
     }
 
     /**
      * 鍒犻櫎閽诲瓟瀵硅薄
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
      * @return 缁撴灉
      */
@@ -102,7 +102,7 @@
 
         // 鎵归噺鍒犻櫎閽诲瓟涓嬮潰鐨勫叧鑱旀暟鎹�
         String[] strings = Convert.toStrArray(ids);
-        if (!ObjectUtils.isEmpty(strings)){
+        if (!ObjectUtils.isEmpty(strings)) {
             for (String holeId : strings) {
 
                 // =======鏍囪疮==========
@@ -143,13 +143,12 @@
 
     /**
      * 鍒犻櫎閽诲瓟淇℃伅
-     * 
+     *
      * @param ids 閽诲瓟ID
      * @return 缁撴灉
      */
     @Override
-    public int deleteHoleById(String ids)
-    {
+    public int deleteHoleById(String ids) {
         return holeMapper.deleteHoleById(ids);
     }
 }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/add.html
index 3a99683..1bbcaeb 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/add.html
@@ -7,34 +7,13 @@
 <body class="white-bg">
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-hole-add">
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">椤圭洰搴忓垪鍙凤細</label>
-                <div class="col-sm-8">
-                    <input name="projectId" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭紪鍙凤細</label>
+            <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="description" 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">
-                        <option value="">鎵�鏈�</option>
-                    </select>
-                    <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 浠g爜鐢熸垚璇烽�夋嫨瀛楀吀灞炴��</span>
-                </div>
-            </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">瀛斿彛楂樼▼锛�</label>
                 <div class="col-sm-8">
                     <input name="elevation" class="form-control" type="text">
@@ -47,136 +26,41 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭粡搴︼細</label>
+                <label class="col-sm-3 control-label">閽诲瓟缁忓害锛�</label>
                 <div class="col-sm-8">
                     <input name="longitude" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭含搴︼細</label>
+                <label class="col-sm-3 control-label">閽诲瓟绾害锛�</label>
                 <div class="col-sm-8">
                     <input name="latitude" class="form-control" type="text">
                 </div>
             </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣X锛�</label>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">杩涘害锛�</label>
                 <div class="col-sm-8">
-                    <input name="surveyX" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣Y锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyY" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣Z锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyZ" 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="surveyLatitude" 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="surveyLongitude" 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="mapLatitude" 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="mapLongitude" 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="mapTime" 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="position" 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="locateTime" 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="reason" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収1锛�</label>
-                <div class="col-sm-8">
-                    <input name="pic1" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収2锛�</label>
-                <div class="col-sm-8">
-                    <input name="pic2" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収3锛�</label>
-                <div class="col-sm-8">
-                    <input name="pic3" 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="radio-box">
-                        <input type="radio" name="status" value="">
-                        <label th:for="status" th:text="鏈煡"></label>
-                    </div>
-                    <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 浠g爜鐢熸垚璇烽�夋嫨瀛楀吀灞炴��</span>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鏄惁鍒犻櫎锛�</label>
-                <div class="col-sm-8">
-                    <input name="isDeleted" class="form-control" type="text">
+                    <input name="pic1" class="form-control" type="text" placeholder="璇疯緭鍏ヨ繘搴︽暟瀛楋紙渚嬶細10浠h〃10%锛�">
                 </div>
             </div>
         </form>
     </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/hole"
+        var projectId = [[${projectId}]];
+
         $("#form-hole-add").validate({
             focusCleanup: true
         });
 
         function submitHandler() {
             if ($.validate.form()) {
-                $.operate.save(prefix + "/add", $('#form-hole-add').serialize());
+                let formData = $('#form-hole-add').serialize();
+                let data = formData + "&projectId=" + projectId;
+                $.operate.save(prefix + "/add", data);
             }
         }
 
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/edit.html
index efa69dd..ecdff4f 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/edit.html
@@ -9,146 +9,48 @@
         <form class="form-horizontal m" id="form-hole-edit" th:object="${hole}">
             <input name="ids" th:field="*{ids}" type="hidden">
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭紪鍙凤細</label>
+                <label class="col-sm-3 control-label">閽诲瓟缂栧彿锛�</label>
                 <div class="col-sm-8">
                     <input name="code" th:field="*{code}" class="form-control" type="text"  disabled="disabled">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鎻忚堪銆佹妧鏈姹傦細</label>
-                <div class="col-sm-8">
-                    <input name="description" th:field="*{description}" class="form-control" type="text" disabled="disabled">
-                </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('hole_type')}" disabled="disabled">
-                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{type}"></option>
-                    </select>
-                </div>
-            </div>
-            <div class="form-group">    
                 <label class="col-sm-3 control-label">瀛斿彛楂樼▼锛�</label>
                 <div class="col-sm-8">
-                    <input name="elevation" th:field="*{elevation}" class="form-control" type="text"  disabled="disabled" >
+                    <input name="elevation" th:field="*{elevation}" 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="depth" th:field="*{depth}" class="form-control" type="text"  disabled="disabled">
+                    <input name="depth" th:field="*{depth}" class="form-control" type="text" >
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭粡搴︼細</label>
+                <label class="col-sm-3 control-label">閽诲瓟缁忓害锛�</label>
                 <div class="col-sm-8">
-                    <input name="longitude" th:field="*{longitude}" class="form-control" type="text"  disabled="disabled">
+                    <input name="longitude" th:field="*{longitude}" class="form-control" type="text"  >
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鍕樻帰鐐圭含搴︼細</label>
+                <label class="col-sm-3 control-label">閽诲瓟绾害锛�</label>
                 <div class="col-sm-8">
-                    <input name="latitude" th:field="*{latitude}" class="form-control" type="text"  disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣X锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyX" th:field="*{surveyX}" class="form-control" type="text"  disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣Y锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyY" th:field="*{surveyY}" class="form-control" type="text"  disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐩稿鍧愭爣Z锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyZ" th:field="*{surveyZ}" class="form-control" type="text"  disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">娴嬮噺鍧愭爣绾害锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyLatitude" th:field="*{surveyLatitude}" class="form-control" type="text" disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">娴嬮噺鍧愭爣缁忓害锛�</label>
-                <div class="col-sm-8">
-                    <input name="surveyLongitude" th:field="*{surveyLongitude}" class="form-control" type="text"  disabled="disabled" >
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">閽诲瓟瀹氫綅绾害锛�</label>
-                <div class="col-sm-8">
-                    <input name="mapLatitude" th:field="*{mapLatitude}" class="form-control" type="text"  disabled="disabled">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">閽诲瓟瀹氫綅缁忓害锛�</label>
-                <div class="col-sm-8">
-                    <input name="mapLongitude" th:field="*{mapLongitude}" class="form-control" type="text"  disabled="disabled">
-                </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="mapTime" th:value="${#dates.format(hole.mapTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text"  disabled="disabled">
-                    </div>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鏃犳硶瀹氫綅鐨勫湴鐐癸細</label>
-                <div class="col-sm-8">
-                    <input name="position" th:field="*{position}" class="form-control" type="text"  disabled="disabled">
-                </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="locateTime" th:value="${#dates.format(hole.locateTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text"  disabled="disabled">
-                    </div>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鏃犳硶瀹氫綅鐨勫師鍥狅細</label>
-                <div class="col-sm-8">
-                    <input name="reason" th:field="*{reason}" class="form-control" type="text"  disabled="disabled">
+                    <input name="latitude" th:field="*{latitude}" 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="radio-box" th:each="dict : ${@dict.getType('hole_status')}">
-                        <input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:field="*{status}" disabled="disabled">
+                        <input type="radio" th:id="${'status_' + dict.dictCode}" name="status" th:value="${dict.dictValue}" th:field="*{status}" >
                         <label th:for="${'status_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
                     </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収1锛�</label>
+                <label class="col-sm-3 control-label">杩涘害锛�</label>
                 <div class="col-sm-8">
-                    <img border="0" th:src="*{pic1}" />
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収2锛�</label>
-                <div class="col-sm-8">
-                    <img border="0" th:src="*{pic2}" />
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">鐜板満鎷嶇収3锛�</label>
-                <div class="col-sm-8">
-                    <img border="0" th:src="*{pic3}" />
+                    <input name="pic1" th:field="*{pic1}" class="form-control" type="text" placeholder="璇疯緭鍏ヨ繘搴︽暟瀛楋紙渚嬶細10浠h〃10%锛�">
                 </div>
             </div>
         </form>
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/hole.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/hole.html
index c1b5faa..d8f0e22 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/hole.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/hole/hole.html
@@ -16,14 +16,7 @@
                     <div class="select-list">
                         <ul>
                             <li>
-                                <p>鍕樻帰鐐圭被鍨嬶細</p>
-                                <select name="type" th:with="type=${@dict.getType('hole_type')}">
-                                    <option value="">鎵�鏈�</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <p>鍕樻帰鐐圭紪鍙凤細</p>
+                                <p>閽诲瓟缂栧彿锛�</p>
                                 <input type="text" name="code"/>
                             </li>
                             <li>
@@ -43,6 +36,12 @@
             </div>
 
              <div class="btn-group-sm" id="toolbar" role="group">
+                 <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="geo:hole:add">
+                     <i class="fa fa-plus"></i> 娣诲姞
+                 </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="geo:hole:edit">
+                     <i class="fa fa-edit"></i> 淇敼
+                 </a>
                  <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:hole:remove">
                      <i class="fa fa-remove"></i> 鍒犻櫎
                  </a>
@@ -60,10 +59,11 @@
         var statusDatas = [[${@dict.getType('hole_status')}]];
         var prefix = ctx + "geo/hole";
         var projectId=[[${projectId}]];
+
         $(function() {
             var options = {
                 url: prefix + "/list?projectId="+projectId,
-                createUrl: prefix + "/add",
+                createUrl: prefix + "/add?projectId="+projectId,
                 updateUrl: prefix + "/edit/{id}",
                 removeUrl: prefix + "/remove",
                 exportUrl: prefix + "/export",
@@ -78,19 +78,7 @@
                 },
                 {
                     field : 'code', 
-                    title : '鍕樻帰鐐圭紪鍙�'
-                },
-                {
-                    field : 'description', 
-                    title : '鎻忚堪銆佹妧鏈姹�',
-                    visible: false
-                },
-                {
-                    field : 'type', 
-                    title : '鍕樻帰鐐圭被鍨�',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(typeDatas, value);
-                    }
+                    title : '閽诲瓟缂栧彿'
                 },
                 {
                     field : 'elevation', 
@@ -102,65 +90,12 @@
                 },
                 {
                     field : 'longitude',
-                    title : '鍕樻帰鐐圭粡搴�',
+                    title : '閽诲瓟缁忓害',
                     visible: false
                 },
                 {
                     field : 'latitude', 
-                    title : '鍕樻帰鐐圭含搴�',
-                    visible: false
-                },
-                {
-                    field : 'surveyX', 
-                    title : '鐩稿鍧愭爣X',
-                    visible: false
-                },
-                {
-                    field : 'surveyY', 
-                    title : '鐩稿鍧愭爣Y',
-                    visible: false
-                },
-                {
-                    field : 'surveyZ', 
-                    title : '鐩稿鍧愭爣Z',
-                    visible: false
-                },
-                {
-                    field : 'surveyLatitude', 
-                    title : '娴嬮噺鍧愭爣绾害',
-                    visible: false
-                },
-                {
-                    field : 'surveyLongitude', 
-                    title : '娴嬮噺鍧愭爣缁忓害',
-                    visible: false
-                },
-                {
-                    field : 'mapLatitude', 
-                    title : '閽诲瓟瀹氫綅绾害'
-                },
-                {
-                    field : 'mapLongitude', 
-                    title : '閽诲瓟瀹氫綅缁忓害'
-                },
-                {
-                    field : 'mapTime', 
-                    title : '閽诲瓟瀹氫綅鏃堕棿',
-                    visible: false
-                },
-                {
-                    field : 'position', 
-                    title : '鏃犳硶瀹氫綅鐨勫湴鐐�',
-                    visible: false
-                },
-                {
-                    field : 'locateTime', 
-                    title : '鏃犳硶瀹氫綅鐨勬椂闂�',
-                    visible: false
-                },
-                {
-                    field : 'reason', 
-                    title : '鏃犳硶瀹氫綅鐨勫師鍥�',
+                    title : '閽诲瓟绾害',
                     visible: false
                 },
                 {
@@ -170,12 +105,16 @@
                         return $.table.selectDictLabel(statusDatas, value);
                     }
                 },
+                    {
+                        field : 'pic1',
+                        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.ids + '\')"><i class="fa fa-edit"></i>璇︽儏</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.ids + '\')"><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.ids + '\')"><i class="fa fa-remove"></i>鍒犻櫎</a>');
                         return actions.join('');
                     }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
index 40d1431..df294da 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
-    <th:block th:include="include :: header('鏂板椤圭洰')" />
+    <th:block th:include="include :: header('鏂板鍦哄湴')" />
     <th:block th:include="include :: select2-css" />
     <th:block th:include="include :: datetimepicker-css" />
 </head>
@@ -9,14 +9,14 @@
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-project-add">
             <div class="form-group">
-                <label class="col-sm-3 control-label">椤圭洰缂栧彿锛�</label>
+                <label class="col-sm-3 control-label">鍦哄湴缂栧彿锛�</label>
                 <div class="col-sm-8">
                     <input name="code" class="form-control" required type="text">
                 </div>
             </div>
 
             <div class="form-group">
-                <label class="col-sm-3 control-label">椤圭洰鍚嶇О锛�</label>
+                <label class="col-sm-3 control-label">鍦哄湴鍚嶇О锛�</label>
                 <div class="col-sm-8">
                     <input name="fullName" class="form-control" required type="text">
                 </div>
@@ -46,7 +46,7 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">椤圭洰璐熻矗浜猴細</label>
+                <label class="col-sm-3 control-label">鍦哄湴璐熻矗浜猴細</label>
                 <div class="col-sm-8">
                     <input name="leader" class="form-control" type="text">
                 </div>
@@ -67,14 +67,14 @@
             <div class="form-group">
                 <label class="col-sm-3 control-label">寮�濮嬫椂闂达細</label>
                 <div class="col-sm-8">
-                    <input name="startTime" type="text" class="form-control" id="start-time"  placeholder="閫夋嫨椤圭洰璧峰鏃堕棿">
+                    <input name="startTime" type="text" class="form-control" id="start-time"  placeholder="閫夋嫨鍦哄湴璧峰鏃堕棿">
                 </div>
             </div>
 
             <div class="form-group">
                 <label class="col-sm-3 control-label">缁撴潫鏃堕棿锛�</label>
                 <div class="col-sm-8">
-                    <input name="endTime" type="text" class="form-control" id="end-time"  placeholder="閫夋嫨椤圭洰缁撴潫鏃堕棿">
+                    <input name="endTime" type="text" class="form-control" id="end-time"  placeholder="閫夋嫨鍦哄湴缁撴潫鏃堕棿">
                 </div>
             </div>
 
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
index ba3a6f5..ef256ce 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
-    <th:block th:include="include :: header('淇敼椤圭洰')" />
+    <th:block th:include="include :: header('淇敼鍦哄湴')" />
     <th:block th:include="include :: select2-css" />
     <th:block th:include="include :: datetimepicker-css" />
 </head>
@@ -10,13 +10,13 @@
         <form class="form-horizontal m" id="form-project-edit" th:object="${project}">
             <input name="ids" th:field="*{ids}" type="hidden">
             <div class="form-group">
-                <label class="col-sm-3 control-label">椤圭洰缂栧彿锛�</label>
+                <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>
+                <label class="col-sm-3 control-label">鍦哄湴鍚嶇О锛�</label>
                 <div class="col-sm-8">
                     <input name="fullName" th:field="*{fullName}" class="form-control" type="text">
                 </div>
@@ -42,7 +42,7 @@
                 </div>
             </div>
             <div class="form-group">
-                <label class="col-sm-3 control-label">椤圭洰璐熻矗浜猴細</label>
+                <label class="col-sm-3 control-label">鍦哄湴璐熻矗浜猴細</label>
                 <div class="col-sm-8">
                     <input name="leader" th:field="*{leader}" class="form-control" type="text">
                 </div>
@@ -64,14 +64,14 @@
             <div class="form-group">
                 <label class="col-sm-3 control-label">寮�濮嬫椂闂达細</label>
                 <div class="col-sm-8">
-                    <input name="startTime"  th:field="*{startTime}" type="text" class="form-control" id="start-time" placeholder="閫夋嫨椤圭洰璧峰鏃堕棿">
+                    <input name="startTime"  th:field="*{startTime}" type="text" class="form-control" id="start-time" placeholder="閫夋嫨鍦哄湴璧峰鏃堕棿">
                 </div>
             </div>
 
             <div class="form-group">
                 <label class="col-sm-3 control-label">缁撴潫鏃堕棿锛�</label>
                 <div class="col-sm-8">
-                    <input name="endTime"  th:field="*{endTime}" type="text" class="form-control" id="end-time" placeholder="閫夋嫨椤圭洰缁撴潫鏃堕棿">
+                    <input name="endTime"  th:field="*{endTime}" type="text" class="form-control" id="end-time" placeholder="閫夋嫨鍦哄湴缁撴潫鏃堕棿">
                 </div>
             </div>
 
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 b07c8c4..23dd7ae 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
@@ -21,13 +21,13 @@
  
             <div class="box-header active">
                 <div class="box-title">
-                    <i class="fa fa-desktop"></i> <a class="afont" th:href="@{/geo/project/info(id=${project.ids})}" target="mainFrame" onclick="selected(this)">椤圭洰璇︽儏</a>                    
+                    <i class="fa fa-desktop"></i> <a class="afont" th:href="@{/geo/project/info(id=${project.ids})}" target="mainFrame" onclick="selected(this)">鍦哄湴璇︽儏</a>
                 </div> 
             </div>
             <div class="box-header ">
                 <div class="box-title">
-                    <i class="glyphicon glyphicon-map-marker"></i> <a class="afont" th:href="@{/geo/hole(id=${project.ids})}" target="mainFrame" onclick="selected(this)">鍕樻帰鐐�</a>                    
-                </div> 
+                    <i class="glyphicon glyphicon-map-marker"></i> <a class="afont" th:href="@{/geo/hole(id=${project.ids})}" target="mainFrame" onclick="selected(this)">閽诲瓟</a>
+                </div>
             </div>
             <div class="box-header ">
                 <div class="box-title">
@@ -51,32 +51,12 @@
             </div>
             <div class="box-header ">
                 <div class="box-title">
-                    <i class="glyphicon glyphicon-th-list"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='3')}" target="mainFrame" onclick="selected(this)">娴嬩簳</a>
+                    <i class="glyphicon glyphicon-th-list"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='3')}" target="mainFrame" onclick="selected(this)">鏂藉伐鐜板満绠$悊</a>
                 </div>
             </div>
             <div class="box-header ">
                 <div class="box-title">
-                    <i class="glyphicon glyphicon-align-justify"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='4')}" target="mainFrame" onclick="selected(this)">鏂滄祴</a>
-                </div>
-            </div>
-            <div class="box-header ">
-                <div class="box-title">
-                    <i class="glyphicon glyphicon-home"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='5')}" target="mainFrame" onclick="selected(this)">瀹ゅ唴璇曢獙</a>
-                </div>
-            </div>
-            <div class="box-header ">
-                <div class="box-title">
-                    <i class="glyphicon glyphicon-object-align-left"></i> <a class="afont" th:href="@{/geo/projectData(id=${project.ids},type='6')}" target="mainFrame" onclick="selected(this)">宸ョ▼娴嬬粯</a>
-                </div>
-            </div>
-            <div class="box-header ">
-                <div class="box-title">
-                    <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>
+                    <i class="glyphicon glyphicon-facetime-video"></i> <a class="afont" th:href="@{/geo/projectCamera(id=${project.ids})}" target="mainFrame" onclick="selected(this)">鐜板満鐩戞帶璁惧</a>
                 </div>
             </div>
         </div>
@@ -86,8 +66,8 @@
         <iframe id="mainFrame" name="mainFrame" class="ui-layout-content p0"
         th:src="@{/geo/project/info(id=${project.ids})}"></iframe>
     </div>
- 
-    
+
+
     <th:block th:include="include :: footer" />
     <th:block th:include="include :: layout-latest-js" />
     <th:block th:include="include :: ztree-js" />
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
index 27e3e93..81b12f8 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
@@ -1,7 +1,7 @@
 <!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('椤圭洰鍒楄〃')" />
+    <th:block th:include="include :: header('鍦哄湴鍒楄〃')" />
 </head>
 <body class="gray-bg">
      <div class="container-div">
@@ -12,11 +12,11 @@
                         <ul>
        
                             <li>
-                                <p>椤圭洰鍚嶇О锛�</p>
+                                <p>鍦哄湴鍚嶇О锛�</p>
                                 <input type="text" name="fullName"/>
                             </li>
                             <li>
-                                <p>椤圭洰缂栧彿锛�</p>
+                                <p>鍦哄湴缂栧彿锛�</p>
                                 <input type="text" name="code"/>
                             </li>
                             <li>
@@ -57,18 +57,18 @@
                 updateUrl: prefix + "/edit/{id}",
                 removeUrl: prefix + "/remove",
                 exportUrl: prefix + "/export",
-                modalName: "椤圭洰",
+                modalName: "鍦哄湴",
                 columns: [{
                     checkbox: true
                 },
                 {
                         field : 'code',
-                        title : '椤圭洰缂栧彿',
+                        title : '鍦哄湴缂栧彿',
                         sortable:true
                 },
                 {
                     field : 'fullName', 
-                    title : '椤圭洰鍚嶇О',
+                    title : '鍦哄湴鍚嶇О',
                     formatter: function(value, row, index) {
                       return '<a onclick="navigate(\'' + row.ids + '\')">'+row.fullName+'</a>'                    
                    },           
@@ -84,7 +84,7 @@
                 },
                 {
                     field : 'leaderName',
-                    title : '椤圭洰璐熻矗浜�'
+                    title : '鍦哄湴璐熻矗浜�'
                 },
                 {
                     field : 'createTime', 
@@ -92,7 +92,7 @@
                 },
                 {
                     field : 'status', 
-                    title : '椤圭洰鐘舵��',
+                    title : '鍦哄湴鐘舵��',
                     formatter: function(value, row, index) {
                        if(row.status =='0'){
                            return "鏈獙鏀�";
@@ -118,7 +118,7 @@
         
        function navigate(id){   
             
-            $.modal.openTab("椤圭洰瀵艰埅",ctx+"/geo/project/navigate?ids="+id);
+            $.modal.openTab("鍦哄湴瀵艰埅",ctx+"/geo/project/navigate?ids="+id);
         }
     </script>
 </body>
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 e6eb55f..ef289a1 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
@@ -8,21 +8,16 @@
         <div class="row">
             <div class="col-sm-12 search-collapse">
                 <form id="formId">
-                    <div class="select-list">
+
+                    <!--        鏉′欢琛ㄨ揪寮�            -->
+                    <div th:if="${type}=='3'" class="select-list">
                         <ul>
                             <li>
                                 <p>璧勬枡鍚嶇О锛�</p>
                                 <input type="text" name="name"/>
                             </li>
                             <li>
-                                <p>璧勬枡绫诲瀷锛�</p>
-                                <select name="dataType" th:with="type=${@dict.getType('project_data_type')}">
-                                    <option value="">鎵�鏈�</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <p>鏂囦欢绫诲瀷锛�</p>
+                                <p>涓氬姟绫诲瀷锛�</p>
                                 <select name="fileType" th:with="type=${@dict.getType('project_data_file_type')}">
                                     <option value="">鎵�鏈�</option>
                                     <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
@@ -38,6 +33,24 @@
                             </li>
                         </ul>
                     </div>
+                    <!--        鏉′欢琛ㄨ揪寮�            -->
+                    <div th:if="${type}!='3'" class="select-list">
+                        <ul>
+                            <li>
+                                <p>璧勬枡鍚嶇О锛�</p>
+                                <input type="text" name="name"/>
+                            </li>
+                            <li>
+                                <p>鏍囩锛�</p>
+                                <input type="text" name="labels"/>
+                            </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>
 
@@ -90,13 +103,6 @@
                 {
                     field : 'name', 
                     title : '璧勬枡鍚嶇О'
-                },
-                {
-                    field : 'dataType', 
-                    title : '璧勬枡绫诲瀷',
-                    formatter: function(value, row, index) {
-                       return $.table.selectDictLabel(dataTypeDatas, value);
-                    }
                 },
                 {
                     field : 'fileType', 

--
Gitblit v1.9.1