Sfoglia il codice sorgente

保存规划结果

gushoubang 10 mesi fa
parent
commit
a19d5eb4b3

+ 2 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/domain/FzxzResDTO.java

@@ -2,6 +2,7 @@ package com.onemap.analyse.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
 
 import java.util.Date;
 
@@ -9,6 +10,7 @@ import java.util.Date;
  * 辅助选址结果
  */
 @TableName("t_fzss_fzxz_res")
+@Data
 public class FzxzResDTO {
     String bsm;
     String rwbsm;

+ 10 - 0
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/mapper/FzxzResMapper.java

@@ -0,0 +1,10 @@
+package com.onemap.analyse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.analyse.domain.FzxzResDTO;
+
+/**
+ * 辅助选址结果
+ */
+public interface FzxzResMapper extends BaseMapper<FzxzResDTO> {
+}

+ 38 - 1
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/FzssServiceImpl.java

@@ -63,8 +63,10 @@ public class FzssServiceImpl implements IFzssService {
     @Autowired
     ShpFileMapper shpFileMapper;
 
-    @Resource
+    @Autowired
     private FxrwrzMapper fxrwrzMapper;
+    @Autowired
+    private FzxzResMapper fzxzResMapper;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -198,6 +200,23 @@ public class FzssServiceImpl implements IFzssService {
             saveLog(fzxzDTO.getBsm(), "辅助选址", fzxzXzyzDTO.getYxyzmc() + "因子影响分析完成", "info");
             ghdkaFilter.setIdList(ids);
         }
+
+        if (ids.size() == 0) {
+            saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
+            return RequestResult.error("条件筛选未找到符合条件数据!", null);
+        }
+
+
+        // 保存规划结果
+        Map<String, Object> resMap = new HashMap<>();
+        resMap.put("dkIds", ids);
+        resMap.put("rwbsm", fzxzDTO.getBsm());
+        resMap.put("sjyb", fzxzDTO.getSjy());
+        // TODO 用地性质待定
+        resMap.put("ydxz", fzxzDTO.getYdxz_bsm());
+        saveScheduleRes(resMap);
+
+        // 保存成功日志
         saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
         return RequestResult.success(ids);
     }
@@ -231,6 +250,24 @@ public class FzssServiceImpl implements IFzssService {
      */
     @Override
     public void saveScheduleRes(Map<String, Object> resMap) {
+        String rwbsm = (String) resMap.get("rwbsm");
+        String sjyb = (String) resMap.get("sjyb");
+        String ydxz = (String) resMap.get("ydxz");
+
+        List<Integer> dkIds = (List<Integer>) resMap.get("dkIds");
+        for (Integer dkId : dkIds) {
+            FzxzResDTO fzxzResDTO = DozerUtils.map(resMap, FzxzResDTO.class);
+            fzxzResDTO.setBsm(StringUtils.getUUID());
+            fzxzResDTO.setRwbsm(rwbsm);
+            fzxzResDTO.setSjyb(sjyb);
+            fzxzResDTO.setYdxz(ydxz);
+            fzxzResDTO.setCreateAt(new Date());
+            // fzxzResDTO.setArea();
+            // fzxzResDTO.setGeom();
+
+            fzxzResMapper.insert(fzxzResDTO);
+        }
+
 
     }