Forráskód Böngészése

内蒙山洪运维系统-应急系统功能开发,危险区群众注册、转移记录、巡查巡检上报

dylan1030 2 éve
szülő
commit
aae0300cfa

+ 103 - 0
src/main/java/org/springblade/enums/DangerAreaResidentHouseHolderEnum.java

@@ -0,0 +1,103 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/7
+ */
+package org.springblade.enums;
+
+/***
+ * Date:2022/3/7
+ * Title:应急巡查种类
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author admin
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public enum DangerAreaResidentHouseHolderEnum {
+
+    /** 否 */
+    TYPE_NO(0, "否"),
+
+    /** 是户主 */
+    TYPE_YES(1, "是户主");
+
+    private int code;
+
+    private String name;
+
+	private DangerAreaResidentHouseHolderEnum(int code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    /**
+     * Function:根据code来获取对应的name
+     * Author: Admin
+     * Date:2021/6/26
+      * @param code
+     * @return java.lang.String
+     * @throws Exception
+     */
+    public static String getName(int code) {
+        for (DangerAreaResidentHouseHolderEnum type : DangerAreaResidentHouseHolderEnum.values()) {
+            if (type.code == code) {
+                return type.name;
+            }
+        }
+        return "";
+    }
+
+    /**
+     * Function:根据code来获取对应的枚举常量
+     * Author: Admin
+     * Date:2021/6/26
+      * @param code
+     * @return com.zhgzjg.web.enums.IsValid
+     * @throws Exception
+     */
+    public static DangerAreaResidentHouseHolderEnum getEnumByCode(int code) {
+        for (DangerAreaResidentHouseHolderEnum type : DangerAreaResidentHouseHolderEnum.values()) {
+			if (type.code == code) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static DangerAreaResidentHouseHolderEnum getEnumByName(String name) {
+		for (DangerAreaResidentHouseHolderEnum type : DangerAreaResidentHouseHolderEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+    public Integer getCode() {
+    return code;
+}
+
+    public void setCode(int code) {
+    this.code = code;
+}
+
+    public String getName() {
+    return name;
+}
+
+    public void setName(String name) {
+    this.name = name;
+}
+
+}

+ 90 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/controller/DangerAreaResidentController.java

@@ -0,0 +1,90 @@
+package org.springblade.modules.yjxt.business.resident.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+
+import org.springblade.core.tool.utils.Func;
+import org.springblade.enums.DanagerAreaCehckTypeEnum;
+import org.springblade.enums.DangerAreaResidentHouseHolderEnum;
+import org.springblade.modules.yjxt.business.check.entity.DangerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.resident.dto.DangerAreaResidentInfoDTO;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+import org.springblade.modules.yjxt.business.resident.service.IDangerAreaResidentService;
+import org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("galaxy-business/yj/resident")
+@AllArgsConstructor
+@Api(value = "应急系统危险区居民管理接口", tags = "增、删、改、查")
+public class DangerAreaResidentController extends BladeController {
+
+    private final IDangerAreaResidentService dangerAreaResidentService;
+
+
+    @GetMapping("/page")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "adCode", value = "行政区", paramType = "query", dataType = "string"),
+    })
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "分页")
+    public R<IPage<DangerAreaResidentInfoVO>> page(@ApiIgnore DangerAreaResidentInfoDTO dto, Query query) {
+        BladeUser user = AuthUtil.getUser();
+        IPage<DangerAreaResidentInfoVO> pages = dangerAreaResidentService.selectPage(Condition.getPage(query), dto);
+        return R.data(pages);
+    }
+
+
+    /**
+     * 注册
+     */
+    @PostMapping("/record")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "")
+    public R report(@RequestBody DangerAreaResidentInfoDTO dto) {
+        if (Func.isNull(dto.getPersonId())) {
+            return R.fail("参数错误");
+        }
+        LambdaQueryWrapper<DangerAreaResidentInfoEntity> wrapper = Wrappers.<DangerAreaResidentInfoEntity>query().lambda();
+        wrapper.eq(DangerAreaResidentInfoEntity::getIsDeleted, 0);
+        wrapper.eq(DangerAreaResidentInfoEntity::getPersonId, dto.getPersonId());
+
+        long count = dangerAreaResidentService.count(wrapper);
+        if(count >0){
+            return R.fail("此人员已注册");
+        }
+        dangerAreaResidentService.save(dto);
+        if (!Func.isNull(dto.getIsHouseholder())){
+            if (dto.getIsHouseholder().intValue() == DangerAreaResidentHouseHolderEnum.TYPE_YES.getCode().intValue()){
+                //户主
+                List<DangerAreaResidentInfoEntity>familyMembers = dto.getFamilyMembers();
+                if (!Func.isNull(familyMembers)){
+                    for (DangerAreaResidentInfoEntity residentInfoEntity:familyMembers){
+                        residentInfoEntity.setIsHouseholder(DangerAreaResidentHouseHolderEnum.TYPE_NO.getCode());
+                        residentInfoEntity.setHouseholderId(dto.getPersonId());
+                        dangerAreaResidentService.save(residentInfoEntity);
+                    }
+                }
+            }
+        }
+
+        return R.status(true);
+    }
+}

+ 16 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/dto/DangerAreaResidentInfoDTO.java

@@ -0,0 +1,16 @@
+package org.springblade.modules.yjxt.business.resident.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DangerAreaResidentInfoDTO extends DangerAreaResidentInfoEntity {
+
+    @ApiModelProperty("租户ID")
+    private List<DangerAreaResidentInfoEntity> familyMembers;
+}

+ 57 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/entity/DangerAreaResidentInfoEntity.java

@@ -0,0 +1,57 @@
+package org.springblade.modules.yjxt.business.resident.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("yjxt_danger_area_resident_info")
+public class DangerAreaResidentInfoEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 身份证id
+     */
+    @ApiModelProperty("身份证id")
+    private String personId;
+
+    /**
+     * 姓名
+     */
+    @ApiModelProperty("姓名")
+    private String personName;
+
+
+    /**
+     * 是否户主 ,0 否 1 是
+     */
+    @ApiModelProperty("是否户主")
+    private Integer isHouseholder;
+
+    /**
+     * 户主身份证id
+     */
+    @ApiModelProperty("户主身份证id")
+    private String householderId;
+
+    /**
+     * 行政区编码
+     */
+    @ApiModelProperty("行政区编码")
+    private String adCode;
+
+    /**
+     * 危险区编码
+     */
+    @ApiModelProperty("危险区编码")
+    private String dangerAreaCode;
+}

+ 37 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/mapper/DangerAreaResidentInfoMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.resident.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+import org.springblade.modules.yjxt.business.resident.dto.DangerAreaResidentInfoDTO;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+import org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO;
+
+
+import java.util.List;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface DangerAreaResidentInfoMapper extends BaseMapper<DangerAreaResidentInfoEntity> {
+    List<DangerAreaResidentInfoVO> selectPage(IPage page, @Param("dto") DangerAreaResidentInfoDTO dto);
+
+    long residentCount(@Param("dto") DangerAreaResidentInfoDTO dto);
+
+    List<DangerAreaResidentInfoEntity> getFamilyMembers(@Param("dto") DangerAreaResidentInfoDTO dto);
+
+}

+ 83 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/mapper/DangerAreaResidentInfoMapper.xml

@@ -0,0 +1,83 @@
+<?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="org.springblade.modules.yjxt.business.resident.mapper.DangerAreaResidentInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="desidentResultMap" type="org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity">
+
+        <result column="person_id" property="personId"/>
+        <result column="person_name" property="personName"/>
+        <result column="is_householder" property="isHouseholder"/>
+        <result column="householder_id" property="householderId"/>
+        <result column="ad_code" property="adCode"/>
+        <result column="danger_area_code" property="dangerAreaCode"/>
+
+
+    </resultMap>
+
+    <resultMap id="residentVOResultMap" type="org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO">
+
+        <result column="person_id" property="personId"/>
+        <result column="person_name" property="personName"/>
+        <result column="is_householder" property="isHouseholder"/>
+        <result column="householder_id" property="householderId"/>
+        <result column="ad_code" property="adCode"/>
+        <result column="danger_area_code" property="dangerAreaCode"/>
+
+
+    </resultMap>
+
+    <select id="selectPage" resultMap="residentVOResultMap">
+
+        SELECT
+        p.*
+        FROM
+        yjxt_danger_area_resident_info p
+        WHERE
+        p.is_deleted = 0
+        <if test="dto.householderId!=null">
+            and (n.householder_id = #{dto.householderId} || n.person_id = #{dto.householderId})
+        </if>
+        <if test="dto.adCode!=null">
+            n.ad_code = #{dto.adCode}
+        </if>
+        <if test="dto.dangerAreaCode!=null">
+            n.danger_area_code = #{dto.dangerAreaCode}
+        </if>
+        ORDER BY
+        p.person_id
+    </select>
+
+    <select id="residentCount" resultType="java.lang.Long">
+        SELECT
+        count(n.person_id)
+        FROM
+        yjxt_danger_area_resident_info n
+        WHERE
+        n.is_deleted = 0
+        <if test="dto.householderId != null">
+            and (n.householder_id = #{dto.householderId} || n.person_id = #{dto.householderId})
+        </if>
+        <if test="dto.adCode!=null">
+            n.ad_code = #{dto.adCode}
+        </if>
+        <if test="dto.dangerAreaCode!=null">
+            n.danger_area_code = #{dto.dangerAreaCode}
+        </if>
+    </select>
+
+    <select id="getFamilyMembers" resultMap="desidentResultMap">
+
+        SELECT
+        n.*
+        FROM
+        yjxt_danger_area_resident_info n
+        WHERE
+        n.is_deleted = 0
+        <if test="dto.personId!=null">
+            and (n.person_id =  #{dto.personId} or n.householder_id = #{dto.personId})
+        </if>
+        ORDER BY
+        n.person_id
+    </select>
+</mapper>

+ 34 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/service/IDangerAreaResidentService.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.resident.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+import org.springblade.modules.yjxt.business.resident.dto.DangerAreaResidentInfoDTO;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+import org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO;
+
+
+import java.util.List;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IDangerAreaResidentService extends BaseService<DangerAreaResidentInfoEntity> {
+    IPage<DangerAreaResidentInfoVO> selectPage(IPage page, DangerAreaResidentInfoDTO dto);
+
+    long residentCount(DangerAreaResidentInfoDTO dto);
+
+    List<DangerAreaResidentInfoEntity> getFamilyMembers(DangerAreaResidentInfoDTO dto);
+
+}

+ 45 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/service/impl/DangerAreaResidentServiceImpl.java

@@ -0,0 +1,45 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.resident.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+
+import org.springblade.modules.yjxt.business.resident.dto.DangerAreaResidentInfoDTO;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+import org.springblade.modules.yjxt.business.resident.mapper.DangerAreaResidentInfoMapper;
+import org.springblade.modules.yjxt.business.resident.service.IDangerAreaResidentService;
+import org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class DangerAreaResidentServiceImpl extends BaseServiceImpl<DangerAreaResidentInfoMapper, DangerAreaResidentInfoEntity> implements IDangerAreaResidentService {
+    @Override
+    public IPage<DangerAreaResidentInfoVO> selectPage(IPage page, DangerAreaResidentInfoDTO dto) {
+        return page.setRecords(baseMapper.selectPage(page,dto));
+    }
+
+    @Override
+    public long residentCount(DangerAreaResidentInfoDTO dto) {
+        return baseMapper.residentCount(dto);
+    }
+
+    @Override
+    public List<DangerAreaResidentInfoEntity> getFamilyMembers(DangerAreaResidentInfoDTO dto) {
+        return null;
+    }
+}

+ 11 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/vo/DangerAreaResidentInfoVO.java

@@ -0,0 +1,11 @@
+package org.springblade.modules.yjxt.business.resident.vo;
+
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DangerAreaResidentInfoVO extends DangerAreaResidentInfoEntity {
+}

+ 35 - 0
src/main/java/org/springblade/modules/yjxt/business/resident/wrapper/DanagerAreaResidentWrapper.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.resident.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
+import org.springblade.modules.yjxt.business.resident.vo.DangerAreaResidentInfoVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class DanagerAreaResidentWrapper extends BaseEntityWrapper<DangerAreaResidentInfoEntity, DangerAreaResidentInfoVO> {
+    public static DanagerAreaResidentWrapper build() {
+        return new DanagerAreaResidentWrapper();
+    }
+
+    @Override
+    public DangerAreaResidentInfoVO entityVO(DangerAreaResidentInfoEntity entity) {
+        DangerAreaResidentInfoVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DangerAreaResidentInfoVO.class));
+        return vo;
+    }
+}