Bläddra i källkod

获取日志相关信息

chenendian 3 månader sedan
förälder
incheckning
30fa97ca3c

+ 77 - 10
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/CadastreManageController.java

@@ -1,18 +1,27 @@
 package com.siwei.apply.controller.cadastre;
 
+import com.siwei.apply.domain.FzssFxrwrz;
 import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
 import com.siwei.apply.domain.vo.IdsVo;
-import com.siwei.apply.domain.vo.ProjectFilterVo;
 import com.siwei.apply.service.cadastre.CadastreManageService;
+import com.siwei.apply.service.cadastre.impl.FzssFxrwrzHandleService;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.web.controller.BaseController;
 import org.gdal.ogr.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.ByteArrayResource;
 
 import java.util.*;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
 
 @RestController
 @RequestMapping("/cadastre/manage")
@@ -23,14 +32,16 @@ public class CadastreManageController extends BaseController {
 
     @Autowired
     private CadastreManageService cadastreManageService;
+    @Autowired
+    private FzssFxrwrzHandleService fzssFxrwrzHandleService;
 
 
     /**
      *
-     *             //1.先获取相关信息,进行入库
-     *             //2.日志记录写入
-     *             //3.读取文件进行录入
-     *             //4.质量进行检查
+     * //1.先获取相关信息,进行入库
+     * //2.日志记录写入
+     * //3.读取文件进行录入
+     * //4.质量进行检查
      *
      * @param theFileName
      * @param theFilePath
@@ -39,9 +50,9 @@ public class CadastreManageController extends BaseController {
      * @return
      */
     @PostMapping("/checkUploadDquality")
-    public R<CheckInfoResultVo> checkData(String theFileName, String theFilePath, String fileType,String updateType) {
+    public R<CheckInfoResultVo> checkData(String theFileName, String theFilePath, String fileType, String updateType) {
         try {
-            CheckInfoResultVo res = cadastreManageService.checkFileData(theFileName, theFilePath, fileType,updateType);
+            CheckInfoResultVo res = cadastreManageService.checkFileData(theFileName, theFilePath, fileType, updateType);
             return R.ok(res);
         } catch (Exception e) {
             e.printStackTrace();
@@ -49,7 +60,6 @@ public class CadastreManageController extends BaseController {
         }
     }
 
-
     @PostMapping("/getCompareData")
     public R<CompareResultVo> compareData(String uploadId) {
         try {
@@ -61,7 +71,6 @@ public class CadastreManageController extends BaseController {
         }
     }
 
-
     @PostMapping("/addBatchGdbData")
     public R<String> addBatchGdbData(String uploadId) {
         try {
@@ -74,7 +83,6 @@ public class CadastreManageController extends BaseController {
     }
 
 
-
     /**
      * 获取列表
      *
@@ -109,6 +117,65 @@ public class CadastreManageController extends BaseController {
         }
     }
 
+    /**
+     * 获取任务日志
+     *
+     * @param bsm
+     * @return
+     */
+    @GetMapping("/GetLog")
+    public R<List<FzssFxrwrz>> GetLog(String bsm) {
+        try {
+            List<FzssFxrwrz> list = fzssFxrwrzHandleService.getLog(bsm);
+            return R.ok(list);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 获取任务日志文件,最终前端可以下载成txt内容,每一条数据作为txt的一行记录
+     *
+     * @param rwbsm
+     * @return
+     */
+    @GetMapping("/GetLogFile")
+    public ResponseEntity<Resource> GetLogFile(String rwbsm) {
+        List<FzssFxrwrz> list = fzssFxrwrzHandleService.getLog(rwbsm);
+        StringBuilder sb = new StringBuilder();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (FzssFxrwrz item : list) {
+            String time = item.getRzsj() != null ? sdf.format(item.getRzsj()) : "";
+            String line = String.join(" | ",
+                    time,
+                    Optional.ofNullable(item.getRwlx()).orElse(""),
+                    Optional.ofNullable(item.getRzlx()).orElse(""),
+                    Optional.ofNullable(item.getRzlr()).orElse(""));
+            sb.append(line).append("\n");
+        }
+        byte[] data = sb.toString().getBytes(StandardCharsets.UTF_8);
+        ByteArrayResource resource = new ByteArrayResource(data);
+        String fileName = "log_" + rwbsm + ".txt";
+        String encName;
+        try {
+            encName = URLEncoder.encode(fileName, "UTF-8");
+        } catch (Exception e) {
+            encName = fileName;
+        }
+        HttpHeaders headers = new HttpHeaders();
+        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + encName);
+        headers.setContentType(new MediaType("text", "plain", StandardCharsets.UTF_8));
+        return ResponseEntity
+                .ok()
+                .headers(headers)
+                .contentLength(data.length)
+                .body(resource);
+    }
+
+
+
+
 
 
 

+ 3 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/CadastreManageService.java

@@ -1,6 +1,7 @@
 package com.siwei.apply.service.cadastre;
 
 import com.siwei.apply.domain.CadastreFile;
+import com.siwei.apply.domain.FzssFxrwrz;
 import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
@@ -29,4 +30,6 @@ public interface CadastreManageService {
      */
     void batchDelete(List<String> ids);
 
+
+
 }

+ 8 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/CadastreManageServiceImpl.java

@@ -1,8 +1,10 @@
 package com.siwei.apply.service.cadastre.impl;
 
 import com.siwei.apply.domain.CadastreFile;
+import com.siwei.apply.domain.FzssFxrwrz;
 import com.siwei.apply.domain.vo.*;
 import com.siwei.apply.mapper.CadastreFileMapper;
+import com.siwei.apply.mapper.FzssFxrwrzMapper;
 import com.siwei.apply.service.cadastre.CadastreManageService;
 
 import com.siwei.apply.utils.FileExtractUtil;
@@ -39,6 +41,10 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     @Autowired
     private FzssFxrwrzHandleService fzssFxrwrzHandleService;
 
+    @Autowired
+    private FzssFxrwrzMapper fzssFxrwrzMapper;
+
+
 
     /**
      *
@@ -570,4 +576,6 @@ public class CadastreManageServiceImpl implements CadastreManageService {
         cadastreFileMapper.batchDelete(ids);
     }
 
+
+
 }

+ 18 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/FzssFxrwrzHandleService.java

@@ -2,14 +2,17 @@ package com.siwei.apply.service.cadastre.impl;
 
 import com.siwei.apply.domain.FzssFxrwrz;
 import com.siwei.apply.mapper.FzssFxrwrzMapper;
+import com.siwei.common.core.exception.ServiceException;
 import com.siwei.common.core.utils.StringUtils;
 import com.siwei.common.core.utils.uuid.IdUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 
 import java.util.*;
 
+@Slf4j
 @Service
 public class FzssFxrwrzHandleService {
 
@@ -35,4 +38,19 @@ public class FzssFxrwrzHandleService {
         fzssFxrwrzMapper.add(fzssFxrwrz);
     }
 
+
+    public  List<FzssFxrwrz> getLog(String bsm) {
+        List<FzssFxrwrz> list = null;
+        if (org.apache.commons.lang3.StringUtils.isEmpty(bsm)) {
+            log.warn("参数为空: {}", bsm);
+            throw new ServiceException("参数为空bsm:");
+        }
+        FzssFxrwrz fzssFxrwrz = new FzssFxrwrz();
+        fzssFxrwrz.setRwbsm(bsm);
+        list = fzssFxrwrzMapper.getList(fzssFxrwrz);
+        return list;
+    }
+
+
+
 }

+ 0 - 1
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/ProjectImpl.java

@@ -9,7 +9,6 @@ import com.siwei.apply.domain.vo.ProjectFilterVo;
 import com.siwei.apply.domain.vo.ProjectUpdateVo;
 import com.siwei.apply.domain.vo.ProjectVo;
 import com.siwei.apply.enums.AloneWorkFlowEnum;
-import com.siwei.apply.enums.ProjectType;
 import com.siwei.apply.mapper.*;
 import com.siwei.apply.service.NodeAttachmentService;
 import com.siwei.apply.service.NodeLandService;

+ 1 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/cadastre/FzssFxrwrzMapper.xml

@@ -45,5 +45,6 @@
                 AND rwbsm = #{rwbsm}
             </if>
         </where>
+        ORDER BY rzsj
     </select>
 </mapper>