Browse Source

添加闲置土地认定处置

gushoubang 9 months ago
parent
commit
182c614ac9

+ 20 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/tdgy/TdgyController.java

@@ -1,5 +1,7 @@
 package com.onemap.apply.controller.tdgy;
 
+import com.onemap.apply.domain.tdgy.vo.LandIdleConfirmVo;
+import com.onemap.apply.domain.tdgy.vo.LandIdleDisposalVo;
 import com.onemap.apply.domain.tdgy.vo.UpdateTdgyVo;
 import com.onemap.apply.service.tdgy.TdgyService;
 import com.onemap.common.core.web.domain.RequestResult;
@@ -27,6 +29,7 @@ public class TdgyController {
         RequestResult requestResult = tdgyService.updateTdgy(updateTdgyVo);
         return requestResult;
     }
+
     /**
      * 获取土地供应详情
      */
@@ -51,4 +54,21 @@ public class TdgyController {
         return requestResult;
     }
 
+    /**
+     * 闲置土地判定
+     */
+    @PostMapping("/idleLandConfirm")
+    public RequestResult idleLandConfirm(@RequestBody LandIdleConfirmVo landIdleConfirmVo) {
+        RequestResult requestResult = tdgyService.addIdleLandConfirm(landIdleConfirmVo);
+        return requestResult;
+    }
+
+    /**
+     * 闲置土地处置
+     */
+    @PostMapping("/idleLandDisposal")
+    public RequestResult idleLandDisposal(@RequestBody LandIdleDisposalVo landIdleDisposalVo) {
+        RequestResult requestResult = tdgyService.addIdleLandDisposal(landIdleDisposalVo);
+        return requestResult;
+    }
 }

+ 7 - 4
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/dto/LandIdleConfirm.java → onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/dto/LandIdleConfirmDTO.java

@@ -3,18 +3,21 @@ package com.onemap.apply.domain.tdgy.dto;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 土地闲置认定
  */
 @Data
-public class LandIdleConfirm {
+public class LandIdleConfirmDTO {
     private String id;
     // 土地id
     private String landId;
-    // 认定原因
+    // 是否闲置
+    private Boolean isIdle;
+    // 闲置原因
     private String idleReason;
-    // 认定时间
+    // 闲置时间
     private String idleTime;
     // 认定时间
     private Date confirmTime;
@@ -23,5 +26,5 @@ public class LandIdleConfirm {
     // 认定书
     private String confirmDoc;
     // 认定照片
-    private String confirmImg;
+    private List<String> confirmImgList;
 }

+ 6 - 3
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/dto/LandIdleDisposal.java → onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/dto/LandIdleDisposalDTO.java

@@ -2,18 +2,21 @@ package com.onemap.apply.domain.tdgy.dto;
 
 import lombok.Data;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 土地闲置处置
  */
 @Data
-public class LandIdleDisposal {
+public class LandIdleDisposalDTO {
     private String id;
     // 土地id
     private String landId;
     //  是否处置
     private String isDisposal;
     // 处置时间
-    private String disposalTime;
+    private Date disposalTime;
     // 处置方式
     private String disposalMethod;
     // 处置情况
@@ -21,5 +24,5 @@ public class LandIdleDisposal {
     // 处置书
     private String disposalDoc;
     // 处置照片
-    private String disposalImg;
+    private List<String> disposalImgList;
 }

+ 29 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/vo/LandIdleConfirmVo.java

@@ -0,0 +1,29 @@
+package com.onemap.apply.domain.tdgy.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class LandIdleConfirmVo {
+    // 土地id
+    @NotNull(message = "土地id不能为空")
+    private String landId;
+    private Boolean isIdle;
+    // 闲置原因
+    private String idleReason;
+    // 闲置时间
+    private String idleTime;
+    // 认定时间
+    @JsonFormat(pattern = "yyyy/MM/dd")
+    private Date confirmTime;
+    // 认定依据
+    private String confirmBasis;
+    // 认定书
+    private String confirmDoc;
+    // 认定照片
+    private List<String> confirmImgList;
+}

+ 28 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/tdgy/vo/LandIdleDisposalVo.java

@@ -0,0 +1,28 @@
+package com.onemap.apply.domain.tdgy.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class LandIdleDisposalVo {
+    // 土地id
+    @NotNull(message = "土地id不能为空")
+    private String landId;
+    //  是否处置
+    private String isDisposal;
+    // 处置时间
+    @JsonFormat(pattern = "yyyy/MM/dd")
+    private Date disposalTime;
+    // 处置方式
+    private String disposalMethod;
+    // 处置情况
+    private String disposalInfo;
+    // 处置书
+    private String disposalDoc;
+    // 处置照片
+    private List<String> disposalImgList;
+}

+ 10 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/tdgy/LandIdleConfirmMapper.java

@@ -0,0 +1,10 @@
+package com.onemap.apply.mapper.tdgy;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.tdgy.dto.LandIdleConfirmDTO;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface LandIdleConfirmMapper extends BaseMapper<LandIdleConfirmDTO> {
+
+}

+ 10 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/tdgy/LandIdleDisposalMapper.java

@@ -0,0 +1,10 @@
+package com.onemap.apply.mapper.tdgy;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.tdgy.dto.LandIdleDisposalDTO;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface LandIdleDisposalMapper extends BaseMapper<LandIdleDisposalDTO> {
+
+}

+ 88 - 3
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/tdgy/TdgyServiceImp.java

@@ -1,6 +1,14 @@
 package com.onemap.apply.service.impl.tdgy;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.onemap.apply.domain.tdgy.dto.LandIdleConfirmDTO;
+import com.onemap.apply.domain.tdgy.dto.LandIdleDisposalDTO;
+import com.onemap.apply.domain.tdgy.vo.LandIdleConfirmVo;
+import com.onemap.apply.domain.tdgy.vo.LandIdleDisposalVo;
+import com.onemap.apply.mapper.tdgy.LandIdleConfirmMapper;
+import com.onemap.apply.mapper.tdgy.LandIdleDisposalMapper;
+import com.onemap.common.core.utils.uuid.IdUtils;
+import com.onemap.common.datasource.annotation.Master;
 import org.dozer.DozerBeanMapper;
 import com.onemap.apply.domain.tdgy.dto.TdgySjDTO;
 import com.onemap.apply.domain.tdgy.res.TdgySjRes;
@@ -21,9 +29,21 @@ import java.util.Map;
 @Service
 public class TdgyServiceImp implements TdgyService {
     @Resource
-    private TdgyMapper tdgyMapper;
+    DozerBeanMapper dozerMapper;
 
+    @Resource
+    private TdgyMapper tdgyMapper;
+    @Resource
+    private LandIdleConfirmMapper landIdleConfirmMapper;
+    @Resource
+    private LandIdleDisposalMapper landIdleDisposalMapper;
 
+    /**
+     * 修改土地供应
+     *
+     * @param updateTdgyVo
+     * @return
+     */
     @Slave
     @Override
     public RequestResult updateTdgy(UpdateTdgyVo updateTdgyVo) {
@@ -52,24 +72,89 @@ public class TdgyServiceImp implements TdgyService {
         return RequestResult.success();
     }
 
+    /**
+     * 获取土地供应详情
+     *
+     * @param id
+     * @return
+     */
     @Slave
     @Override
     public RequestResult getTdgyDetail(Integer id) {
-        DozerBeanMapper mapper = new DozerBeanMapper();
+        // DozerBeanMapper mapper = new DozerBeanMapper();
 
         TdgySjDTO tdgySjDTO = tdgyMapper.selectById(id);
         if (tdgySjDTO == null) {
             return RequestResult.error("地块不存在");
         }
 
-        TdgySjRes tdgySjRes = mapper.map(tdgySjDTO, TdgySjRes.class);
+        TdgySjRes tdgySjRes = dozerMapper.map(tdgySjDTO, TdgySjRes.class);
         return RequestResult.success(tdgySjRes);
     }
 
+    /**
+     * 获取疑似闲置土地
+     *
+     * @param key
+     * @param xzqh
+     * @param limit
+     * @param offset
+     * @return
+     */
     @Slave
     @Override
     public RequestResult getSuspectedIdleLand(String key, String xzqh, Integer limit, Integer offset) {
         List<Map<String, Object>> list = tdgyMapper.getSuspectedIdleLand(key, xzqh, limit, offset);
         return RequestResult.success(list);
     }
+
+    /**
+     * 添加闲置土地认定
+     *
+     * @param landIdleConfirmVo
+     * @return
+     */
+    @Master
+    @Override
+    public RequestResult addIdleLandConfirm(LandIdleConfirmVo landIdleConfirmVo) {
+        String landId = landIdleConfirmVo.getLandId();
+        // 查询认定信息是否存在
+        LandIdleConfirmDTO landIdleConfirmDTO = landIdleConfirmMapper.selectById(landId);
+        if (landIdleConfirmDTO != null) {
+            return RequestResult.error("认定信息已存在");
+        }
+
+        // 添加认定信息
+        landIdleConfirmDTO = new LandIdleConfirmDTO();
+        dozerMapper.map(landIdleConfirmVo, landIdleConfirmDTO);
+
+        String uuid = IdUtils.simpleUUID();
+        landIdleConfirmDTO.setId(uuid);
+        landIdleConfirmMapper.insert(landIdleConfirmDTO);
+        return RequestResult.success();
+    }
+
+    /**
+     * 添加闲置土地处置
+     *
+     * @param landIdleDisposalVo
+     * @return
+     */
+    @Override
+    public RequestResult addIdleLandDisposal(LandIdleDisposalVo landIdleDisposalVo) {
+        String landId = landIdleDisposalVo.getLandId();
+        // 查询处置信息是否存在
+        LandIdleDisposalDTO landIdleDisposalDTO = landIdleDisposalMapper.selectById(landId);
+        if (landIdleDisposalDTO != null) {
+            return RequestResult.error("认定信息已存在");
+        }
+        // 添加处置信息
+        landIdleDisposalDTO = new LandIdleDisposalDTO();
+        dozerMapper.map(landIdleDisposalVo, landIdleDisposalDTO);
+        String uuid = IdUtils.simpleUUID();
+        landIdleDisposalDTO.setId(uuid);
+        landIdleDisposalMapper.insert(landIdleDisposalDTO);
+
+        return RequestResult.success();
+    }
 }

+ 6 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/tdgy/TdgyService.java

@@ -1,5 +1,7 @@
 package com.onemap.apply.service.tdgy;
 
+import com.onemap.apply.domain.tdgy.vo.LandIdleConfirmVo;
+import com.onemap.apply.domain.tdgy.vo.LandIdleDisposalVo;
 import com.onemap.apply.domain.tdgy.vo.UpdateTdgyVo;
 import com.onemap.common.core.web.domain.RequestResult;
 
@@ -9,4 +11,8 @@ public interface TdgyService {
     RequestResult getTdgyDetail(Integer id);
 
     RequestResult getSuspectedIdleLand(String key, String xzqh, Integer limit, Integer offset);
+
+    RequestResult addIdleLandConfirm(LandIdleConfirmVo landIdleConfirmVo);
+
+    RequestResult addIdleLandDisposal(LandIdleDisposalVo landIdleDisposalVo);
 }

+ 25 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/tdgy/LandIdelConfirmMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.onemap.apply.mapper.tdgy.LandIdleConfirmMapper">
+
+<!--    <select id="getSuspectedIdleLand" resultType="map">-->
+<!--        SELECT id, xmmc, crmj, ydkgsj-->
+<!--        from tdgy_sj-->
+<!--        WHERE (sfjg!=true or sfjg is null)-->
+<!--        and (NOW() - sjkgsj > INTERVAL '365 days')-->
+<!--        <if test="key != null and key != ''">-->
+<!--            and (xmmc like '%'||#{key}||'%' or srf like '%'||#{key}||'%')-->
+<!--        </if>-->
+<!--        <if test="xzqh != null and xzqh != ''">-->
+<!--            and xzqh = #{xzqh}-->
+<!--        </if>-->
+<!--        limit #{limit} offset #{offset};-->
+<!--    </select>-->
+
+<!--    <select id="getLandGeometry" resultType="String">-->
+<!--        public.st_asewkt(public.st_union(geom))-->
+<!--        from "TB_TDGY_SJ"-->
+<!--        WHERE pid=-->
+<!--        #{pid};-->
+<!--    </select>-->
+</mapper>

+ 24 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/tdgy/LandIdelDisposalMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.onemap.apply.mapper.tdgy.LandIdleDisposalMapper">
+    <select id="getSuspectedIdleLand" resultType="map">
+        SELECT id, xmmc, crmj, ydkgsj
+        from tdgy_sj
+        WHERE (sfjg!=true or sfjg is null)
+        and (NOW() - sjkgsj > INTERVAL '365 days')
+        <if test="key != null and key != ''">
+            and (xmmc like '%'||#{key}||'%' or srf like '%'||#{key}||'%')
+        </if>
+        <if test="xzqh != null and xzqh != ''">
+            and xzqh = #{xzqh}
+        </if>
+        limit #{limit} offset #{offset};
+    </select>
+
+    <select id="getLandGeometry" resultType="String">
+        public.st_asewkt(public.st_union(geom))
+        from "TB_TDGY_SJ"
+        WHERE pid=
+        #{pid};
+    </select>
+</mapper>