Kaynağa Gözat

Merge branch 'f-xiaogu' into dev

gushoubang 10 ay önce
ebeveyn
işleme
0311e2f571

+ 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);

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

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

+ 46 - 53
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 {
@@ -143,6 +145,18 @@ public class FzssServiceImpl implements IFzssService {
         return fzxzCalc;
     }
 
+    /**
+     * 更新辅助选任务状态
+     *
+     * @param bsm
+     * @param rwzt
+     */
+    private void updateFzxzStatus(String bsm, Integer rwzt) {
+        UpdateWrapper<FzxzDTO> wrapper = new UpdateWrapper<>();
+        wrapper.eq("bsm", bsm).set("rwzt", Rwzt.getRun());
+        fzxzMapper.update(null, wrapper);
+    }
+
     /**
      * 规划选址逻辑在这里
      *
@@ -152,10 +166,8 @@ public class FzssServiceImpl implements IFzssService {
     @Override
     public RequestResult startSchedule(FzxzCalc fzxzCalc) {
         FzxzDTO fzxzDTO = fzxzCalc.getFzxzDTO();
-        // 0.开始规划
-        UpdateWrapper<FzxzDTO> wrapper = new UpdateWrapper<>();
-        wrapper.eq("bsm", fzxzDTO.getBsm()).set("rwzt", Rwzt.getRun());
-        fzxzMapper.update(null, wrapper);
+        // 0.开始规划,更新任务状态
+        updateFzxzStatus(fzxzDTO.getBsm(), Rwzt.getRun());
 
         // TODO 数据源
         String sjyName = "";
@@ -164,25 +176,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 +203,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 +212,43 @@ 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");
-
-        // 5.生成报告
-        // 保存生成报告日志
-        saveLog(fzxzDTO.getBsm(), "辅助选址", "开始生成选址报告", "info");
-        // 生成world文件
-        iReportService.createReport(fzxzDTO.getBsm(), null);
-        return RequestResult.success(ids);
-    }
+        iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
 
-    /**
-     * 保存选址日志
-     *
-     * @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);
+        // 5.生成报告,生成world文件
+        FzxzReport fzxzReport = iReportService.createReport(fzxzDTO.getBsm(), null);
+
+        // 6.开始规划,更新任务状态
+        updateFzxzStatus(fzxzDTO.getBsm(), Rwzt.getComplete());
+
+        Map<String, Object> resMap = new HashMap<>();
+        resMap.put("rwbsm", fzxzDTO.getBsm());
+        resMap.put("dkIds", ids);
+        return RequestResult.success(resMap);
     }
 
+
     /**
      * 保存选址结果
      *
@@ -306,7 +300,7 @@ public class FzssServiceImpl implements IFzssService {
             return RequestResult.error("标识码参数未传递!", null);
         }
         // 查询辅助选址基本信息
-        QueryWrapper<FzxzDTO> fzxzwrapper = new QueryWrapper<FzxzDTO>();
+        QueryWrapper<FzxzDTO> fzxzwrapper = new QueryWrapper<>();
         fzxzwrapper.eq("bsm", bsm);
         FzxzDTO fzxzinfo = fzxzMapper.selectOne(fzxzwrapper);
         if (fzxzinfo == null) {
@@ -323,7 +317,6 @@ public class FzssServiceImpl implements IFzssService {
         xzyzWrapper.eq("rwbsm", result.getBsm());
         List<FzxzXzyzDTO> fzxzXzyzDTOS = fzxzXzyzMapper.selectList(xzyzWrapper);
         result.setXzyz(fzxzXzyzDTOS);
-
         return RequestResult.success("查询成功!", result);
     }
 

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

@@ -0,0 +1,37 @@
+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 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");
             }
         }
     }