Bläddra i källkod

建设工程规划许可

gushoubang 2 månader sedan
förälder
incheckning
9b834dda65

+ 35 - 12
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/JsgcghxkController.java

@@ -1,12 +1,16 @@
 package com.siwei.apply.controller;
 
-import com.siwei.apply.domain.Jsgcghxk;
+import com.siwei.apply.domain.res.JsgcghxkRes;
+import com.siwei.apply.domain.vo.JsgcghxkUpdateVo;
+import com.siwei.apply.domain.vo.JsgcghxkVo;
 import com.siwei.apply.service.JsgcghxkService;
 import com.siwei.common.core.domain.R;
+import com.siwei.common.core.web.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -16,15 +20,23 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/jsgcghxk")
-public class JsgcghxkController {
+public class JsgcghxkController extends BaseController {
 
     @Autowired
     private JsgcghxkService jsgcghxkService;
 
-    @PostMapping("/add")
-    public R<Map> add(@RequestBody Jsgcghxk jsgcghxk) {
+    /**
+     * 添加建设工程规划许可
+     */
+    @PostMapping()
+    public R<Map> Add(@RequestBody JsgcghxkVo jsgcghxkVo) {
         try {
-            String id = jsgcghxkService.add(jsgcghxk);
+            // Boolean b = jsgcghxkService.isExit(jsgcghxkVo.getProjectId());
+            // if (b == true) {
+            //     return R.fail("此项目已添加建设工程规划许可");
+            // }
+            // TODO 这里可以添加多个
+            String id = jsgcghxkService.add(jsgcghxkVo);
             Map<String, String> map = new HashMap<>();
             map.put("id", id);
             return R.ok(map);
@@ -33,20 +45,31 @@ public class JsgcghxkController {
         }
     }
 
-    @GetMapping("/get/{id}")
-    public R<Jsgcghxk> get(@PathVariable String id) {
+    /**
+     * 获取建设工程规划许可列表
+     *
+     * @param projectId 项目ID
+     * @return 建设工程规划许可列表
+     */
+    @GetMapping("/{projectId}")
+    public R<List<JsgcghxkRes>> Get(@PathVariable String projectId) {
         try {
-            Jsgcghxk jsgcghxk = jsgcghxkService.get(id);
-            return R.ok(jsgcghxk);
+            return R.ok(jsgcghxkService.get(projectId));
         } catch (Exception e) {
             return R.fail(e.getMessage());
         }
     }
 
-    @PostMapping("/update")
-    public R<Void> update(@RequestBody Jsgcghxk jsgcghxk) {
+    /**
+     * 更新建设工程规划许可
+     *
+     * @param jsgcghxkUpdateVo 建设工程规划许可
+     * @return 操作结果
+     */
+    @PutMapping()
+    public R<Void> Update(@RequestBody JsgcghxkUpdateVo jsgcghxkUpdateVo) {
         try {
-            jsgcghxkService.update(jsgcghxk);
+            jsgcghxkService.update(jsgcghxkUpdateVo);
             return R.ok();
         } catch (Exception e) {
             return R.fail(e.getMessage());

+ 3 - 3
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/Jsgcghxk.java

@@ -13,13 +13,13 @@ public class Jsgcghxk {
     private String id; // 主键
     private String projectId; // 项目ID
     private String ydwz; // 用地位置
-    private String qs; // 期数
+    private Integer qs; // 期数
+    private Integer djq; // 第几期
     private String jsgm; // 建设规模
     private String zsbh; // 证书编号
     private String fzjg; // 发证机关
 
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date fzDate; // 发证日期
+    private String fzDate; // 发证日期
     private String attachment; // 附件
     private Boolean hasOnchain; // 是否上链
     private String creatorId; // 创建人ID

+ 13 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/res/JsgcghxkRes.java

@@ -0,0 +1,13 @@
+package com.siwei.apply.domain.res;
+
+import com.siwei.apply.domain.Jsgcghxk;
+import lombok.Data;
+
+/**
+ * 建设工程规划许可 结果对象
+ */
+@Data
+public class JsgcghxkRes extends Jsgcghxk {
+    String projectName;// 项目名称
+    String projectCode;// 项目代码
+}

+ 12 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/vo/JsgcghxkUpdateVo.java

@@ -0,0 +1,12 @@
+package com.siwei.apply.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 建设工程规划许可 更新对象
+ */
+@Data
+public class JsgcghxkUpdateVo extends JsgcghxkVo {
+    private String id;
+    private Boolean hasOnchain;    // 是否上链
+}

+ 18 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/vo/JsgcghxkVo.java

@@ -0,0 +1,18 @@
+package com.siwei.apply.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 建设工程规划许可 视图对象
+ */
+@Data
+public class JsgcghxkVo {
+    private String projectId; // 项目ID
+    private String ydwz; // 用地位置
+    private Integer qs; // 期数
+    private Integer djq; // 第几期
+    private String jsgm; // 建设规模
+    private String zsbh; // 证书编号
+    private String fzjg; // 发证机关
+    private String fzDate; // 发证日期
+}

+ 28 - 7
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/JsgcghxkMapper.java

@@ -1,17 +1,38 @@
 package com.siwei.apply.mapper;
 
 import com.siwei.apply.domain.Jsgcghxk;
+import com.siwei.apply.domain.vo.JsgcghxkUpdateVo;
 import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
 
-/**
- * 建设工程规划许可 Mapper接口
- */
+import java.util.List;
+
+// 建设工程规划许可 Mapper 接口
 @Mapper
 public interface JsgcghxkMapper {
-    String add(Jsgcghxk jsgcghxk);
+    /**
+     * 根据项目id查询是否存在
+     */
+    Boolean isExit(String projectId);
+
+    /**
+     * 添加建设工程规划许可信息
+     *
+     * @param jsgcghxk
+     */
+    void add(Jsgcghxk jsgcghxk);
 
-    Jsgcghxk get(@Param("id") String id);
+    /**
+     * 获取建设工程规划许可信息列表
+     *
+     * @param projectId
+     * @return
+     */
+    List<Jsgcghxk> get(String projectId);
 
-    void update(Jsgcghxk jsgcghxk);
+    /**
+     * 更新建设工程规划许可信息
+     *
+     * @param jsgcghxkUpdateVo
+     */
+    void update(JsgcghxkUpdateVo jsgcghxkUpdateVo);
 }

+ 30 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/JsgcghxkService.java

@@ -1,14 +1,40 @@
 package com.siwei.apply.service;
 
-import com.siwei.apply.domain.Jsgcghxk;
+import com.siwei.apply.domain.res.JsgcghxkRes;
+import com.siwei.apply.domain.vo.JsgcghxkUpdateVo;
+import com.siwei.apply.domain.vo.JsgcghxkVo;
+
+import java.util.List;
 
 /**
  * 建设工程规划许可 服务接口
  */
 public interface JsgcghxkService {
-    String add(Jsgcghxk jsgcghxk);
+    /**
+     * 根据项目projectId查询是否存在
+     */
+    Boolean isExit(String projectId);
+
+    /**
+     * 添加建设工程规划许可信息
+     *
+     * @param jsgcghxkVo 建设工程规划许可视图对象
+     * @return 建设工程规划许可ID
+     */
+    String add(JsgcghxkVo jsgcghxkVo);
 
-    Jsgcghxk get(String id);
+    /**
+     * 获取建设工程规划许可信息列表
+     *
+     * @param projectId 项目ID
+     * @return 建设工程规划许可结果对象列表
+     */
+    List<JsgcghxkRes> get(String projectId);
 
-    void update(Jsgcghxk jsgcghxk);
+    /**
+     * 更新建设工程规划许可信息
+     *
+     * @param jsgcghxkUpdateVo 建设工程规划许可更新视图对象
+     */
+    void update(JsgcghxkUpdateVo jsgcghxkUpdateVo);
 }

+ 34 - 6
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/JsgcghxkServiceImpl.java

@@ -1,11 +1,20 @@
 package com.siwei.apply.service.impl;
 
 import com.siwei.apply.domain.Jsgcghxk;
+import com.siwei.apply.domain.Project;
+import com.siwei.apply.domain.res.JsgcghxkRes;
+import com.siwei.apply.domain.vo.JsgcghxkUpdateVo;
+import com.siwei.apply.domain.vo.JsgcghxkVo;
 import com.siwei.apply.mapper.JsgcghxkMapper;
+import com.siwei.apply.mapper.ProjectMapper;
 import com.siwei.apply.service.JsgcghxkService;
+import com.siwei.common.core.utils.bean.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import static com.siwei.apply.common.Common.UserId;
 
 /**
@@ -13,12 +22,20 @@ import static com.siwei.apply.common.Common.UserId;
  */
 @Service
 public class JsgcghxkServiceImpl implements JsgcghxkService {
-
     @Autowired
     private JsgcghxkMapper jsgcghxkMapper;
+    @Autowired
+    private ProjectMapper projectMapper;
 
     @Override
-    public String add(Jsgcghxk jsgcghxk) {
+    public Boolean isExit(String projectId) {
+        return jsgcghxkMapper.isExit(projectId);
+    }
+
+    @Override
+    public String add(JsgcghxkVo jsgcghxkVo) {
+        Jsgcghxk jsgcghxk = new Jsgcghxk();
+        BeanUtils.copyProperties(jsgcghxkVo, jsgcghxk);
         jsgcghxk.generateId();
         jsgcghxk.setCreatorId(UserId);
         jsgcghxkMapper.add(jsgcghxk);
@@ -26,12 +43,23 @@ public class JsgcghxkServiceImpl implements JsgcghxkService {
     }
 
     @Override
-    public Jsgcghxk get(String id) {
-        return jsgcghxkMapper.get(id);
+    public List<JsgcghxkRes> get(String projectId) {
+        List<Jsgcghxk> jsgcghxkList = jsgcghxkMapper.get(projectId);
+        Project project = projectMapper.get(projectId);
+
+        List<JsgcghxkRes> jsgcghxkResList = new ArrayList<>();
+        for (Jsgcghxk jsgcghxk : jsgcghxkList) {
+            JsgcghxkRes jsgcghxkRes = new JsgcghxkRes();
+            BeanUtils.copyProperties(jsgcghxk, jsgcghxkRes);
+            jsgcghxkRes.setProjectName(project.getName());
+            jsgcghxkRes.setProjectCode(project.getCode());
+            jsgcghxkResList.add(jsgcghxkRes);
+        }
+        return jsgcghxkResList;
     }
 
     @Override
-    public void update(Jsgcghxk jsgcghxk) {
-        jsgcghxkMapper.update(jsgcghxk);
+    public void update(JsgcghxkUpdateVo jsgcghxkUpdateVo) {
+        jsgcghxkMapper.update(jsgcghxkUpdateVo);
     }
 }

+ 16 - 10
siwei-modules/siwei-apply/src/main/resources/mapper/JsgcghxkMapper.xml

@@ -11,6 +11,7 @@
         <result property="projectId" column="project_id"/>
         <result property="ydwz" column="ydwz"/>
         <result property="qs" column="qs"/>
+        <result property="djq" column="djq"/>
         <result property="jsgm" column="jsgm"/>
         <result property="zsbh" column="zsbh"/>
         <result property="fzjg" column="fzjg"/>
@@ -22,35 +23,40 @@
         <result property="updatedAt" column="updated_at"/>
     </resultMap>
 
+    <select id="isExit" resultType="Boolean">
+        SELECT COUNT(1) > 0
+        FROM t_jsgcghxk
+        WHERE project_id = #{projectId}
+    </select>
+
     <!-- 新增 -->
     <insert id="add" parameterType="com.siwei.apply.domain.Jsgcghxk">
-        INSERT INTO t_jsgcghxk (id, project_id, ydwz, qs, jsgm, zsbh, fzjg, fz_date, has_onchain,
+        INSERT INTO t_jsgcghxk (id, project_id, ydwz, qs, djq, jsgm, zsbh, fzjg, fz_date, has_onchain,
                                 creator_id, created_at, updated_at)
-        VALUES (#{id}, #{projectId}, #{ydwz}, #{qs}, #{jsgm}, #{zsbh}, #{fzjg}, #{fzDate},
-                #{hasOnchain}, #{creatorId}, #{createdAt}, #{updatedAt})
+        VALUES (#{id}, #{projectId}, #{ydwz}, #{qs}, #{djq}, #{jsgm}, #{zsbh}, #{fzjg}, #{fzDate},
+                false, #{creatorId}, now(), now())
     </insert>
 
-    <!-- 查询 -->
-    <select id="get" resultMap="JsgcghxkResultMap">
+    <!-- 根据项目ID获取记录 -->
+    <select id="get" resultMap="JsgcghxkResultMap" parameterType="String">
         SELECT *
         FROM t_jsgcghxk
-        WHERE id = #{id}
+        WHERE project_id = #{projectId}
     </select>
 
-    <!-- 更新 -->
-    <update id="update" parameterType="com.siwei.apply.domain.Jsgcghxk">
+    <!-- 更新记录 -->
+    <update id="update" parameterType="com.siwei.apply.domain.vo.JsgcghxkUpdateVo">
         UPDATE t_jsgcghxk
         <set>
             <if test="projectId != null">project_id = #{projectId},</if>
             <if test="ydwz != null">ydwz = #{ydwz},</if>
             <if test="qs != null">qs = #{qs},</if>
+            <if test="djq != null">djq = #{djq},</if>
             <if test="jsgm != null">jsgm = #{jsgm},</if>
             <if test="zsbh != null">zsbh = #{zsbh},</if>
             <if test="fzjg != null">fzjg = #{fzjg},</if>
             <if test="fzDate != null">fz_date = #{fzDate},</if>
             <if test="hasOnchain != null">has_onchain = #{hasOnchain},</if>
-            <if test="creatorId != null">creator_id = #{creatorId},</if>
-            <if test="createdAt != null">created_at = #{createdAt},</if>
             updated_at = now()
         </set>
         WHERE id = #{id}