From 18c509d71b6b382aa2bf846ba7c9b6d64ade1182 Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期二, 02 七月 2024 14:39:02 +0800
Subject: [PATCH] 加上传扫描

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java |   28 +++++++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/add.html               |   41 +++++++++++++
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/TubLog.java               |   15 ++++
 javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml                 |    6 +
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/edit.html              |   43 ++++++++++++++
 javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/TubLog.html            |   12 ++++
 6 files changed, 141 insertions(+), 4 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java
index 6695b35..08a07b3 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java
@@ -2,6 +2,9 @@
 
 import java.util.List;
 
+import com.javaweb.common.config.Global;
+import com.javaweb.common.config.ServerConfig;
+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;
@@ -18,6 +21,8 @@
 import com.javaweb.common.core.page.TableDataInfo;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * 鏉愭枡鍑哄叆搴撹褰旵ontroller
  *
@@ -31,6 +36,9 @@
 
     @Autowired
     private ITubLogService tubLogService;
+
+    @Autowired
+    private ServerConfig serverConfig;
 
     @RequiresPermissions("geo:TubLog:view")
     @GetMapping()
@@ -147,4 +155,24 @@
         return tubLogService.countTubLogDate(projectId);
     }
 
+    /**
+     * 涓婁紶鍥剧墖
+     */
+    @PostMapping("/uploadTubLogFile")
+    @ResponseBody
+    public AjaxResult uploadTubLogFile(MultipartFile file){
+        try {
+            // 涓婁紶鏂囦欢璺緞
+            String filePath = Global.getUploadPath() +"/tublogfile";
+            // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
+            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/TubLog.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/TubLog.java
index 70582ed..8082787 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/TubLog.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/TubLog.java
@@ -62,6 +62,10 @@
     @Excel(name = "鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
     private Date createDate;
 
+    /** 鍥剧墖/鎵弿浠惰矾寰� */
+    @Excel(name = "鍥剧墖/鎵弿浠惰矾寰�")
+    private String fileUrl;
+
     /** 鍑哄叆搴撴暟閲忕粺璁� */
     private Double outboundNumber;
     private Double inboundNumber;
@@ -165,7 +169,16 @@
     {
         return unit;
     }
-    public void setCreateDate(Date createDate) 
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public void setCreateDate(Date createDate)
     {
         this.createDate = createDate;
     }
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml
index 650f94b..e4801e7 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml
+++ b/javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml
@@ -17,13 +17,14 @@
         <result property="number"    column="number"    />
         <result property="unit"    column="unit"    />
         <result property="createDate"    column="create_date"    />
+        <result property="fileUrl"    column="file_url"    />
         <result property="remark"    column="remark"    />
         <result property="outboundNumber"    column="outbound_number"    />
         <result property="inboundNumber"    column="inbound_number"    />
     </resultMap>
 
     <sql id="selectTubLogVo">
-        select id, code, project_id, tub_name, type, outbound_date, inbound_date, opt_user, apply_user, number, unit, create_date, remark from js_tub_log
+        select id, code, project_id, tub_name, type, outbound_date, inbound_date, opt_user, apply_user, number, unit, create_date, file_url, remark from js_tub_log
     </sql>
 
     <select id="selectTubLogList" parameterType="TubLog" resultMap="TubLogResult">
@@ -93,6 +94,7 @@
             <if test="number != null ">number,</if>
             <if test="unit != null  and unit != ''">unit,</if>
             <if test="createDate != null ">create_date,</if>
+            <if test="fileUrl != null  and fileUrl != ''">file_url,</if>
             <if test="remark != null  and remark != ''">remark,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -107,6 +109,7 @@
             <if test="number != null ">#{number},</if>
             <if test="unit != null  and unit != ''">#{unit},</if>
             <if test="createDate != null ">#{createDate},</if>
+            <if test="fileUrl != null  and fileUrl != ''">#{fileUrl},</if>
             <if test="remark != null  and remark != ''">#{remark},</if>
          </trim>
     </insert>
@@ -125,6 +128,7 @@
             <if test="number != null ">number = #{number},</if>
             <if test="unit != null  and unit != ''">unit = #{unit},</if>
             <if test="createDate != null ">create_date = #{createDate},</if>
+            <if test="fileUrl != null  and fileUrl != ''">file_url = #{fileUrl},</if>
             <if test="remark != null  and remark != ''">remark = #{remark},</if>
         </trim>
         where id = #{id}
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/TubLog.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/TubLog.html
index 434ae3e..381b34c 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/TubLog.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/TubLog.html
@@ -109,6 +109,13 @@
                     field : 'unit', 
                     title : '鏁版嵁鍗曚綅'
                 },
+                    {
+                        field : 'documentPath',
+                        title : '鍥剧墖/鎵弿浠�',
+                        formatter: function(value, row, index) {
+                            return `<a onclick="viewTubLogFile('${row.fileUrl}')" href="#">鍥剧墖/鎵弿浠�</a>`;
+                        }
+                    },
                 {
                     field : 'remark', 
                     title : '澶囨敞'
@@ -133,6 +140,11 @@
             window.location.href = ctx + "common/download?fileName=" + encodeURI(filename) + "&delete=" + false;
         }
 
+        //鏌ョ湅璇佷欢鐓х墖
+        function viewTubLogFile(path) {
+            var filepath = "/bjfw/"+path;
+            window.open(filepath)
+        }
     </script>
 </body>
 
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/add.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/add.html
index 8ce903c..a747da6 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/add.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/add.html
@@ -67,6 +67,13 @@
                     <textarea id="remark" name="remark" class="form-control"></textarea>
                 </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" />
@@ -81,6 +88,14 @@
         });
 
         function submitHandler() {
+            var result = doSubmitFile();
+            var documentFile = null;
+            if(result !=null){
+                if(result.code == web_status.SUCCESS){
+                    documentFile= result.fileName;
+                }
+            }
+
             let inboundDateValue = $("#inboundDateId").val();
             let outboundDateValue = $("#outboundDateId").val();
             if ($.common.isEmpty(inboundDateValue) && $.common.isEmpty(outboundDateValue)) {
@@ -94,11 +109,35 @@
 
             if ($.validate.form()) {
                 let formData = $('#form-TubLog-add').serialize();
-                let data = formData + "&projectId=" + projectId + "&code=" + code;
+                let data = formData + "&projectId=" + projectId + "&code=" + code  +"&fileUrl="+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/TubLog/uploadTubLogFile",
+                data: formData,
+                cache: false,
+                contentType: false,
+                processData: false,
+                type: 'POST',
+                async:false,
+                success: function (result) {
+                    data=  result;
+                }
+            });
+            return data;
+        }
+
         $("input[name='outboundDate']").datetimepicker({
             format: "yyyy-mm-dd",
             minView: "month",
diff --git a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/edit.html b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/edit.html
index d94ea29..f1e4b52 100644
--- a/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/edit.html
+++ b/javaweb-plus/javaweb-cms/src/main/resources/templates/geo/TubLog/edit.html
@@ -78,6 +78,13 @@
                 </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" />
@@ -90,6 +97,14 @@
         });
 
         function submitHandler() {
+            var result = doSubmitFile();
+            var documentFile =null;
+            if(result !=null){
+                if(result.code == web_status.SUCCESS){
+                    documentFile= result.fileName;
+                }
+            }
+
             let inboundDateValue = $("#inboundDateId").val();
             let outboundDateValue = $("#outboundDateId").val();
             if ($.common.isEmpty(inboundDateValue) && $.common.isEmpty(outboundDateValue)) {
@@ -97,10 +112,36 @@
                 return;
             }
             if ($.validate.form()) {
-                $.operate.save(prefix + "/edit", $('#form-TubLog-edit').serialize());
+                let formData = $('#form-TubLog-edit').serialize();
+                let data = formData  +"&fileUrl="+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/TubLog/uploadTubLogFile",
+                data: formData,
+                cache: false,
+                contentType: false,
+                processData: false,
+                type: 'POST',
+                async:false,
+                success: function (result) {
+                    data=  result;
+                }
+            });
+            return data;
+        }
+
         $("input[name='outboundDate']").datetimepicker({
             format: "yyyy-mm-dd",
             minView: "month",

--
Gitblit v1.9.1