浏览代码

日志单独拆分

gushoubang 1 年之前
父节点
当前提交
51b323482d

+ 0 - 2
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/IFzssService.java

@@ -15,8 +15,6 @@ public interface IFzssService {
 
     RequestResult startSchedule(FzxzCalc fzxzCalc);
 
-    void saveLog(String rwbsm, String rwlx, String rzlr, String rzlx);
-
     void saveScheduleRes(Map<String, Object> resMap);
 
     RequestResult GetXzjg(String bsm);

+ 10 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/ILogService.java

@@ -0,0 +1,10 @@
+package com.onemap.analyse.service;
+
+import com.onemap.common.datasource.annotation.Slave;
+
+/**
+ * 规划,合规分析日志
+ */
+public interface ILogService {
+    void saveLog(String rwbsm, String rwlx, String rzlr, String rzlx);
+}

+ 26 - 45
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/FzssServiceImpl.java

@@ -12,6 +12,7 @@ import com.onemap.analyse.mapper.base.FzxzResMapper;
 import com.onemap.analyse.mapper.base.ShpFileMapper;
 import com.onemap.analyse.mapper.vector.GhdkaMapper;
 import com.onemap.analyse.service.IFzssService;
+import com.onemap.analyse.service.ILogService;
 import com.onemap.analyse.service.IReportService;
 import com.onemap.analyse.task.FzxzSchedule;
 import com.onemap.analyse.utils.DozerUtils;
@@ -52,9 +53,6 @@ public class FzssServiceImpl implements IFzssService {
 
     @Autowired
     ShpFileMapper shpFileMapper;
-
-    @Autowired
-    private FxrwrzMapper fxrwrzMapper;
     @Autowired
     private FzxzResMapper fzxzResMapper;
     // 选址任务
@@ -68,6 +66,10 @@ public class FzssServiceImpl implements IFzssService {
     @Autowired
     private IReportService iReportService;
 
+    // 日志服务
+    @Autowired
+    private ILogService iLogService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public RequestResult AddHgxfx(HgxfxEntityDTO hgxfxEntityDTO) throws IOException {
@@ -164,25 +166,25 @@ public class FzssServiceImpl implements IFzssService {
         }
 
         // 开始分析
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "开始分析", "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "开始分析", "info");
         List<String> yzs = new ArrayList<>();
         for (FzxzXzyzDTO fzxzXzyzDTO : fzxzCalc.getXzyxList()) {
             yzs.add(fzxzXzyzDTO.getYzbsm());
         }
         String logs = "选址参数:数据源=" + sjyName + ",用地面积=" + fzxzDTO.getYdmjbegin() + "-" + fzxzDTO.getYdmjend() + ",影响因子=" + String.join(", ", yzs);
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "选址参数", "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "选址参数", "info");
 
         // 1.区域筛选
         GeomRes geomRes = shpFileMapper.getOne(fzxzDTO.getGeomId());
 
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "载入选址范围完成", "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "载入选址范围完成", "info");
 
         Map<String, String> paramMap = new HashMap<>();
         paramMap.put("geom", geomRes.getGeom());
         paramMap.put("sjy", fzxzDTO.getSjy());
         List<Integer> ids = ghdkaMapper.getIdByGeom(paramMap);
 
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "相交裁剪" + sjyName, "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "相交裁剪" + sjyName, "info");
         // 2.面积筛选
         Map<String, Object> areaMap = new HashMap<>();
         areaMap.put("sjy", fzxzDTO.getSjy());
@@ -191,7 +193,7 @@ public class FzssServiceImpl implements IFzssService {
         areaMap.put("idList", ids);
         ids = ghdkaMapper.getIdByArea(areaMap);
 
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "地块面积分析完成", "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "地块面积分析完成", "info");
         // 3.条件筛选
         GhdkaFilter ghdkaFilter = new GhdkaFilter();
         ghdkaFilter.setSjy(fzxzDTO.getSjy());
@@ -200,61 +202,40 @@ public class FzssServiceImpl implements IFzssService {
             ghdkaFilter.setFzxzXzyzDTO(fzxzXzyzDTO);
             ids = ghdkaMapper.getIdByFilter(ghdkaFilter);
             if (ids.size() == 0) {
-                saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
+                iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
                 return RequestResult.error("条件筛选未找到符合条件数据!", null);
             }
-            saveLog(fzxzDTO.getBsm(), "辅助选址", fzxzXzyzDTO.getYxyzmc() + "因子影响分析完成", "info");
+            iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", fzxzXzyzDTO.getYxyzmc() + "因子影响分析完成", "info");
             ghdkaFilter.setIdList(ids);
         }
 
         if (ids.size() == 0) {
-            saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
+            iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
             return RequestResult.error("条件筛选未找到符合条件数据!", null);
         }
 
-
         // 4.保存规划结果
-        Map<String, Object> resMap = new HashMap<>();
-        resMap.put("dkIds", ids);
-        resMap.put("rwbsm", fzxzDTO.getBsm());
-        resMap.put("sjyb", fzxzDTO.getSjy());
+        Map<String, Object> scheduleResMap = new HashMap<>();
+        scheduleResMap.put("dkIds", ids);
+        scheduleResMap.put("rwbsm", fzxzDTO.getBsm());
+        scheduleResMap.put("sjyb", fzxzDTO.getSjy());
         // TODO 用地性质待定
-        resMap.put("ydxz", fzxzDTO.getYdxz_bsm());
-        saveScheduleRes(resMap);
+        scheduleResMap.put("ydxz", fzxzDTO.getYdxz_bsm());
+        saveScheduleRes(scheduleResMap);
 
         // 保存成功日志
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
 
-        // 5.生成报告
-        // 保存生成报告日志
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "开始生成选址报告", "info");
-        // 生成world文件
+        // 5.生成报告,生成world文件
         iReportService.createReport(fzxzDTO.getBsm(), null);
-        return RequestResult.success(ids);
-    }
 
-    /**
-     * 保存选址日志
-     *
-     * @param rwbsm 任务标识码
-     * @param rwlx  任务类型:辅助选址
-     * @param rzlr  日志内容:载入选址范围完成
-     * @param rzlx  信息类型 info:信息日志 error:错误日志
-     */
-    @Override
-    @Slave
-    public void saveLog(String rwbsm, String rwlx, String rzlr, String rzlx) {
-        // 插入成功日志
-        FxrwrzDTO successDto = new FxrwrzDTO();
-        successDto.setBsm(StringUtils.getUUID());
-        successDto.setRwbsm(rwbsm);
-        successDto.setRwlx(rwlx);
-        successDto.setRzlr(rzlr);
-        successDto.setRzlx(rzlx);
-        successDto.setRzsj(new Date());
-        fxrwrzMapper.insert(successDto);
+        Map<String, Object> resMap = new HashMap<>();
+        resMap.put("rwbsm", fzxzDTO.getBsm());
+        resMap.put("dkIds", ids);
+        return RequestResult.success(resMap);
     }
 
+
     /**
      * 保存选址结果
      *

+ 38 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/LogServiceImpl.java

@@ -0,0 +1,38 @@
+package com.onemap.analyse.service.impl;
+
+import com.onemap.analyse.domain.FxrwrzDTO;
+import com.onemap.analyse.mapper.FxrwrzMapper;
+import com.onemap.analyse.service.ILogService;
+import com.onemap.common.core.utils.StringUtils;
+import com.onemap.common.datasource.annotation.Slave;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+@Service
+public class LogServiceImpl implements ILogService {
+    @Autowired
+    private FxrwrzMapper fxrwrzMapper;
+
+    /**
+     * 保存选址日志
+     *
+     * @param rwbsm 任务标识码
+     * @param rwlx  任务类型:辅助选址
+     * @param rzlr  日志内容:载入选址范围完成
+     * @param rzlx  信息类型 info:信息日志 error:错误日志
+     */
+    @Override
+    public void saveLog(String rwbsm, String rwlx, String rzlr, String rzlx) {
+        // 插入成功日志
+        FxrwrzDTO successDto = new FxrwrzDTO();
+        successDto.setBsm(StringUtils.getUUID());
+        successDto.setRwbsm(rwbsm);
+        successDto.setRwlx(rwlx);
+        successDto.setRzlr(rzlr);
+        successDto.setRzlx(rzlx);
+        successDto.setRzsj(new Date());
+        fxrwrzMapper.insert(successDto);
+    }
+}

+ 12 - 32
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/ReportServiceImpl.java

@@ -3,13 +3,12 @@ package com.onemap.analyse.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.base.Joiner;
 import com.onemap.analyse.domain.*;
-import com.onemap.analyse.mapper.FxrwrzMapper;
 import com.onemap.analyse.mapper.FzxzMapper;
 import com.onemap.analyse.mapper.FzxzTbMapper;
 import com.onemap.analyse.mapper.FzxzXzyzMapper;
 import com.onemap.analyse.mapper.base.FzxzResMapper;
+import com.onemap.analyse.service.ILogService;
 import com.onemap.analyse.service.IReportService;
-import com.onemap.analyse.task.PythonExecute;
 import com.onemap.analyse.utils.NpoiHelper;
 import com.onemap.analyse.utils.NumberUtil;
 import com.onemap.common.core.utils.StringUtils;
@@ -42,8 +41,10 @@ public class ReportServiceImpl implements IReportService {
     private FzxzMapper fzxzMapper;
     @Autowired
     private FzxzResMapper fzxzResMapper;
+    // 日志服务
     @Autowired
-    private FxrwrzMapper fxrwrzMapper;
+    private ILogService iLogService;
+
     @Autowired
     private FzxzTbMapper fzxzTbMapper;
     @Resource
@@ -56,6 +57,9 @@ public class ReportServiceImpl implements IReportService {
 
     // 根据选址任务生成报告
     public FzxzReport createReport(String bsm, List<String> xzbsmList) {
+        // 保存生成报告日志
+        iLogService.saveLog(bsm, "辅助选址", "开始生成选址报告", "info");
+
         FzxzEntityDTO res = fzxzMapper.GetFzxzByBsm(bsm);
         FzxzReport fzxzReport = new FzxzReport();
         if (res != null) {
@@ -91,13 +95,7 @@ public class ReportServiceImpl implements IReportService {
             fzxzReport.setItems(gisinfo);
         }
         // 插入开始生成报告日志
-        FxrwrzDTO successDto2 = new FxrwrzDTO();
-        successDto2.setRwbsm(bsm);
-        successDto2.setRwlx("辅助选址");
-        successDto2.setRzlr("选址报告生成结束");
-        successDto2.setRzlx("info");
-        successDto2.setRzsj(new Date());
-        fxrwrzMapper.insert(successDto2);
+        iLogService.saveLog(bsm, "辅助选址", "选址报告生成开始", "info");
         return fzxzReport;
     }
 
@@ -128,7 +126,7 @@ public class ReportServiceImpl implements IReportService {
                 ydmj = "≤" + res.getYdmjend();
             else if (StringUtils.isEmpty(res.getYdmjend()) || Double.parseDouble(res.getYdmjend()) == 0)
                 ydmj = "≥" + res.getYdmjbegin();
-            List<String> listTemp = new ArrayList<String>();
+            List<String> listTemp = new ArrayList<>();
             listTemp.add("\t项目名称:" + res.getXmmc());
             listTemp.add("\t建设单位:" + res.getJsdw());
             listTemp.add("\t用地面积:" + ydmj + "平方米");
@@ -426,13 +424,7 @@ public class ReportServiceImpl implements IReportService {
         } catch (Exception e) {
             e.printStackTrace();
             // 插入任务日志
-            FxrwrzDTO errorDto = new FxrwrzDTO();
-            errorDto.setRwbsm(res.getBsm());
-            errorDto.setRwlx("辅助选址");
-            errorDto.setRzlr("生成选址报告错误:" + e.getMessage());
-            errorDto.setRzsj(new Date());
-            errorDto.setRzlx("error");
-            fxrwrzMapper.insert(errorDto);
+            iLogService.saveLog(res.getBsm(), "辅助选址", "生成选址报告错误:" + e.getMessage(), "error");
         } finally {
             if (document != null) {
                 try {
@@ -635,13 +627,7 @@ public class ReportServiceImpl implements IReportService {
             e.printStackTrace();
             System.out.println(e.toString());
             // 插入任务日志
-            FxrwrzDTO errorDto = new FxrwrzDTO();
-            errorDto.setRwbsm(res.getBsm());
-            errorDto.setRwlx("辅助选址");
-            errorDto.setRzlr("生成选址简报错误:" + e.getMessage());
-            errorDto.setRzsj(new Date());
-            errorDto.setRzlx("error");
-            fxrwrzMapper.insert(errorDto);
+            iLogService.saveLog(res.getBsm(), "辅助选址", "生成选址简报错误:" + e.getMessage(), "error");
         } finally {
             if (document != null) {
                 try {
@@ -694,13 +680,7 @@ public class ReportServiceImpl implements IReportService {
             } catch (ZipException e) {
                 System.out.println(e.toString());
                 // 插入任务日志
-                FxrwrzDTO errorDto = new FxrwrzDTO();
-                errorDto.setRwbsm(res.getBsm());
-                errorDto.setRwlx("辅助选址");
-                errorDto.setRzlr("生成选址报告zip打包错误:" + e.getMessage());
-                errorDto.setRzsj(new Date());
-                errorDto.setRzlx("error");
-                fxrwrzMapper.insert(errorDto);
+                iLogService.saveLog(res.getBsm(), "辅助选址", "生成选址报告zip打包错误:" + e.getMessage(), "error");
             }
         }
     }