From 5b9a929970f14af2149dbea6140107c316bd7088 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 12 七月 2022 17:59:19 +0800
Subject: [PATCH] 应急演练计划 + 实施

---
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanInfoMapper.xml                                           |  131 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfoDO.java                               |   63 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanUserRespDTO.java                      |   56 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java                    |   26 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteUserReqDTO.java                     |   44 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoDetailDO.java                          |  139 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyDrillPlanStatus.java                                    |   35 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfo.java                                     |  250 +++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanFileInfoService.java             |   19 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanFileInfoRepository.java                   |   23 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanFileRespDTO.java                      |   55 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillPlanService.java                                 |   24 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteReqDTO.java                         |   91 +
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml                                        |   88 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfo.java                                 |  117 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillExecuteQuery.java                                  |    5 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanPageRespDTO.java                      |   93 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanInfoRepository.java                       |   26 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillPlanController.java                           |   66 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillPlanDBQuery.java                                |    5 
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteUserInfoMapper.xml                                    |   52 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanFileReqDTO.java                        |   55 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java     |   48 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanInfoService.java                 |   24 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java              |   24 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteDetailRespDTO.java                 |   94 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanUserInfoRepository.java                   |   23 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java                        |  291 ++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyResultCodes.java                                        |    4 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoPageDO.java                            |  139 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfo.java                              |  107 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillPlanQuery.java                                     |    5 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteUserInfoServiceImpl.java |   40 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanFileInfoServiceImpl.java    |   40 
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanUserInfoMapper.xml                                       |   55 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanUserInfoServiceImpl.java    |   40 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfoDO.java                            |   49 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfo.java                                  |  139 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java                     |  223 +++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfoDO.java                               |   62 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillExecuteController.java                        |   66 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanInfoServiceImpl.java        |   48 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanDetailRespDTO.java                    |  228 +++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillExecuteService.java                              |   24 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoDetailDO.java                             |  206 ++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteUserInfoRepository.java                |   23 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanUserInfoService.java             |   19 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteUserRespDTO.java                   |   44 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfo.java                                 |  117 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecutePageRespDTO.java                   |   84 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoPageDO.java                               |   95 +
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteUserInfoService.java          |   19 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanReqDTO.java                            |  212 +++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillExecuteDBQuery.java                             |    5 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanUserReqDTO.java                        |   56 
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanFileInfoMapper.xml                                       |   55 
 56 files changed, 4,171 insertions(+), 0 deletions(-)

diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillExecuteController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillExecuteController.java
new file mode 100644
index 0000000..0ffb6b8
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillExecuteController.java
@@ -0,0 +1,66 @@
+package com.gkhy.safePlatform.emergency.controller;
+
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.utils.PageUtils;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery;
+import com.gkhy.safePlatform.emergency.service.EmergencyDrillExecuteService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.security.Principal;
+import java.util.List;
+
+@RestController
+@RequestMapping("/emergencyDrillExecute")
+public class EmergencyDrillExecuteController {
+
+    @Autowired
+    private EmergencyDrillExecuteService emergencyDrillExecuteService;
+
+    /**
+     * 应急演练实施列表
+     */
+    @RequestMapping(value = "/page/list" ,method = RequestMethod.POST)
+    private ResultVO<List<EmergencyDrillExecutePageRespDTO>> list (@RequestBody PageQuery<EmergencyDrillExecuteQuery> pageQuery){
+        PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+        return  emergencyDrillExecuteService.selectEmergencyDrillExecuteList(pageQuery);
+    }
+
+    /**
+     * 应急演练实施新增
+     */
+    @RequestMapping(value = "/add",method = RequestMethod.POST)
+    public ResultVO addEmergencyDrillExecute(Principal principal, @RequestBody EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO) {
+        String uid = principal.getName();
+        return emergencyDrillExecuteService.addEmergencyDrillExecute(Long.valueOf(uid), emergencyDrillExecuteReqDTO);
+    }
+
+    /**
+     * 应急演练实施详情
+     */
+    @RequestMapping(value = "/info/{id}",method = RequestMethod.GET)
+    public ResultVO<EmergencyDrillExecuteDetailRespDTO> getEmergencyDrillExecuteById(@PathVariable("id")Long id){
+        return emergencyDrillExecuteService.getEmergencyDrillExecuteById(id);
+    }
+
+    /**
+     * 应急演练实施修改
+     */
+    @RequestMapping(value = "/update",method = RequestMethod.POST)
+    public ResultVO updateEmergencyDrillExecute(Principal principal, @RequestBody EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO) {
+        String uid = principal.getName();
+        return emergencyDrillExecuteService.updateEmergencyDrillExecute(Long.valueOf(uid), emergencyDrillExecuteReqDTO);
+    }
+
+    /**
+     * 应急演练实施删除/批量删除
+     */
+    @RequestMapping(value = "/batchDelete/{ids}",method = RequestMethod.GET)
+    public ResultVO batchDeleteEmergencyDrillExecute(@PathVariable("ids")String ids){
+        return emergencyDrillExecuteService.batchDeleteEmergencyDrillExecute(ids);
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillPlanController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillPlanController.java
new file mode 100644
index 0000000..08443a2
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyDrillPlanController.java
@@ -0,0 +1,66 @@
+package com.gkhy.safePlatform.emergency.controller;
+
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.utils.PageUtils;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillPlanReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillPlanDetailRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillPlanPageRespDTO;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillPlanQuery;
+import com.gkhy.safePlatform.emergency.service.EmergencyDrillPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.security.Principal;
+import java.util.List;
+
+@RestController
+@RequestMapping("/emergencyDrillPlan")
+public class EmergencyDrillPlanController {
+
+    @Autowired
+    private EmergencyDrillPlanService emergencyDrillPlanService;
+
+    /**
+     * 应急演练计划列表
+     */
+    @RequestMapping(value = "/page/list" ,method = RequestMethod.POST)
+    private ResultVO<List<EmergencyDrillPlanPageRespDTO>> list (@RequestBody PageQuery<EmergencyDrillPlanQuery> pageQuery){
+        PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+        return  emergencyDrillPlanService.selectEmergencyDrillPlanList(pageQuery);
+    }
+
+    /**
+     * 应急演练计划新增
+     */
+    @RequestMapping(value = "/add",method = RequestMethod.POST)
+    public ResultVO addEmergencyDrillPlan(Principal principal, @RequestBody EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        String uid = principal.getName();
+        return emergencyDrillPlanService.addEmergencyDrillPlan(Long.valueOf(uid), emergencyDrillPlanReqDTO);
+    }
+
+    /**
+     * 应急演练计划详情
+     */
+    @RequestMapping(value = "/info/{id}",method = RequestMethod.GET)
+    public ResultVO<EmergencyDrillPlanDetailRespDTO> getEmergencyDrillPlanById(@PathVariable("id")Long id){
+        return emergencyDrillPlanService.getEmergencyDrillPlanById(id);
+    }
+
+    /**
+     * 应急演练计划修改
+     */
+    @RequestMapping(value = "/update",method = RequestMethod.POST)
+    public ResultVO updateEmergencyDrillPlan(Principal principal, @RequestBody EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        String uid = principal.getName();
+        return emergencyDrillPlanService.updateEmergencyDrillPlan(Long.valueOf(uid), emergencyDrillPlanReqDTO);
+    }
+
+    /**
+     * 应急演练计划删除/批量删除
+     */
+    @RequestMapping(value = "/batchDelete/{ids}",method = RequestMethod.GET)
+    public ResultVO batchDeleteEmergencyDrillPlan(@PathVariable("ids")String ids){
+        return emergencyDrillPlanService.batchDeleteEmergencyDrillPlan(ids);
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfo.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfo.java
new file mode 100644
index 0000000..79b8845
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfo.java
@@ -0,0 +1,139 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_execute")
+public class EmergencyDrillExecuteInfo {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Boolean status;
+
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoDetailDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoDetailDO.java
new file mode 100644
index 0000000..29d5b99
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoDetailDO.java
@@ -0,0 +1,139 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_execute")
+public class EmergencyDrillExecuteInfoDetailDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Boolean status;
+
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoPageDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoPageDO.java
new file mode 100644
index 0000000..872169a
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteInfoPageDO.java
@@ -0,0 +1,139 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_execute")
+public class EmergencyDrillExecuteInfoPageDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Boolean status;
+
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfo.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfo.java
new file mode 100644
index 0000000..0fd767a
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfo.java
@@ -0,0 +1,107 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_execute_user")
+public class EmergencyDrillExecuteUserInfo {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Long drillExecuteId;
+
+    private Long userUid;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Long getDrillExecuteId() {
+        return drillExecuteId;
+    }
+
+    public void setDrillExecuteId(Long drillExecuteId) {
+        this.drillExecuteId = drillExecuteId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteUserInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", drillExecuteId=" + drillExecuteId +
+                ", userUid=" + userUid +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfoDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfoDO.java
new file mode 100644
index 0000000..e7b9206
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillExecuteUserInfoDO.java
@@ -0,0 +1,49 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+@TableName("emergency_drill_execute_user")
+public class EmergencyDrillExecuteUserInfoDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Long drillExecuteId;
+
+    private Long userUid;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillExecuteId() {
+        return drillExecuteId;
+    }
+
+    public void setDrillExecuteId(Long drillExecuteId) {
+        this.drillExecuteId = drillExecuteId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteUserInfo{" +
+                "id=" + id +
+                ", drillExecuteId=" + drillExecuteId +
+                ", userUid=" + userUid +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfo.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfo.java
new file mode 100644
index 0000000..e914b4d
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfo.java
@@ -0,0 +1,117 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_plan_file")
+public class EmergencyDrillPlanFileInfo {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Long drillPlanId;
+
+    private String fileUrl;
+
+    private String fileName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanFileInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", drillPlanId=" + drillPlanId +
+                ", fileUrl='" + fileUrl + '\'' +
+                ", fileName='" + fileName + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfoDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfoDO.java
new file mode 100644
index 0000000..aa2d782
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanFileInfoDO.java
@@ -0,0 +1,63 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_plan_file")
+public class EmergencyDrillPlanFileInfoDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+
+    private Long drillPlanId;
+
+    private String fileUrl;
+
+    private String fileName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanFileInfo{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", fileUrl='" + fileUrl + '\'' +
+                ", fileName='" + fileName + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfo.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfo.java
new file mode 100644
index 0000000..4ca7176
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfo.java
@@ -0,0 +1,250 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@TableName("emergency_drill_plan")
+public class EmergencyDrillPlanInfo {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Integer status;
+
+    private Date makingPlanDate;
+
+    private Date drillPlanDate;
+
+    private Long makingUserUid;
+
+    private Long makingDepartmentId;
+
+    private Long planId;
+
+    private Long departmentId;
+
+    private BigDecimal drillExpense;
+
+    private String drillLevel;
+
+    private String drillAddress;
+
+    private String drillName;
+
+    private String drillWay;
+
+    private String insuranceMeasures;
+
+    private String remark;
+
+    private String purpose;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Date getMakingPlanDate() {
+        return makingPlanDate;
+    }
+
+    public void setMakingPlanDate(Date makingPlanDate) {
+        this.makingPlanDate = makingPlanDate;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Long getMakingUserUid() {
+        return makingUserUid;
+    }
+
+    public void setMakingUserUid(Long makingUserUid) {
+        this.makingUserUid = makingUserUid;
+    }
+
+    public Long getMakingDepartmentId() {
+        return makingDepartmentId;
+    }
+
+    public void setMakingDepartmentId(Long makingDepartmentId) {
+        this.makingDepartmentId = makingDepartmentId;
+    }
+
+    public Long getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(Long planId) {
+        this.planId = planId;
+    }
+
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+
+    public BigDecimal getDrillExpense() {
+        return drillExpense;
+    }
+
+    public void setDrillExpense(BigDecimal drillExpense) {
+        this.drillExpense = drillExpense;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getInsuranceMeasures() {
+        return insuranceMeasures;
+    }
+
+    public void setInsuranceMeasures(String insuranceMeasures) {
+        this.insuranceMeasures = insuranceMeasures;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getPurpose() {
+        return purpose;
+    }
+
+    public void setPurpose(String purpose) {
+        this.purpose = purpose;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", status=" + status +
+                ", makingPlanDate=" + makingPlanDate +
+                ", drillPlanDate=" + drillPlanDate +
+                ", makingUserUid=" + makingUserUid +
+                ", makingDepartmentId=" + makingDepartmentId +
+                ", planId=" + planId +
+                ", departmentId=" + departmentId +
+                ", drillExpense=" + drillExpense +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillName='" + drillName + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", insuranceMeasures='" + insuranceMeasures + '\'' +
+                ", remark='" + remark + '\'' +
+                ", purpose='" + purpose + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoDetailDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoDetailDO.java
new file mode 100644
index 0000000..9771637
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoDetailDO.java
@@ -0,0 +1,206 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@TableName("emergency_drill_plan")
+public class EmergencyDrillPlanInfoDetailDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Date gmtModitify;
+
+    private Integer status;
+
+    private Date makingPlanDate;
+
+    private Date drillPlanDate;
+
+    private Long makingUserUid;
+
+    private Long makingDepartmentId;
+
+    private Long planId;
+
+    private Long departmentId;
+
+    private BigDecimal drillExpense;
+
+    private String drillLevel;
+
+    private String drillAddress;
+
+    private String drillName;
+
+    private String drillWay;
+
+    private String insuranceMeasures;
+
+    private String remark;
+
+    private String purpose;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Date getMakingPlanDate() {
+        return makingPlanDate;
+    }
+
+    public void setMakingPlanDate(Date makingPlanDate) {
+        this.makingPlanDate = makingPlanDate;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Long getMakingUserUid() {
+        return makingUserUid;
+    }
+
+    public void setMakingUserUid(Long makingUserUid) {
+        this.makingUserUid = makingUserUid;
+    }
+
+    public Long getMakingDepartmentId() {
+        return makingDepartmentId;
+    }
+
+    public void setMakingDepartmentId(Long makingDepartmentId) {
+        this.makingDepartmentId = makingDepartmentId;
+    }
+
+    public Long getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(Long planId) {
+        this.planId = planId;
+    }
+
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+
+    public BigDecimal getDrillExpense() {
+        return drillExpense;
+    }
+
+    public void setDrillExpense(BigDecimal drillExpense) {
+        this.drillExpense = drillExpense;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getInsuranceMeasures() {
+        return insuranceMeasures;
+    }
+
+    public void setInsuranceMeasures(String insuranceMeasures) {
+        this.insuranceMeasures = insuranceMeasures;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getPurpose() {
+        return purpose;
+    }
+
+    public void setPurpose(String purpose) {
+        this.purpose = purpose;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanInfoDetailDO{" +
+                "id=" + id +
+                ", gmtModitify=" + gmtModitify +
+                ", status=" + status +
+                ", makingPlanDate=" + makingPlanDate +
+                ", drillPlanDate=" + drillPlanDate +
+                ", makingUserUid=" + makingUserUid +
+                ", makingDepartmentId=" + makingDepartmentId +
+                ", planId=" + planId +
+                ", departmentId=" + departmentId +
+                ", drillExpense=" + drillExpense +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillName='" + drillName + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", insuranceMeasures='" + insuranceMeasures + '\'' +
+                ", remark='" + remark + '\'' +
+                ", purpose='" + purpose + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoPageDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoPageDO.java
new file mode 100644
index 0000000..4996c06
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanInfoPageDO.java
@@ -0,0 +1,95 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_plan")
+public class EmergencyDrillPlanInfoPageDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private String drillName;
+
+    private String drillAddress;
+
+    private String drillWay;
+
+    private String drillLevel;
+
+    private Date drillPlanDate;
+
+    private Date gmtModitify;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanPageRespDTO{" +
+                "id=" + id +
+                ", drillName='" + drillName + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillPlanDate=" + drillPlanDate +
+                ", gmtModitify=" + gmtModitify +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfo.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfo.java
new file mode 100644
index 0000000..8bfafc8
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfo.java
@@ -0,0 +1,117 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_plan_user")
+public class EmergencyDrillPlanUserInfo {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Boolean delFlag;
+
+    private Date gmtCreate;
+
+    private Date gmtModitify;
+
+    private Long createUid;
+
+    private Long updateUid;
+
+    private Long drillPlanId;
+
+    private Long userUid;
+
+    private Integer type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Long getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Long createUid) {
+        this.createUid = createUid;
+    }
+
+    public Long getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Long updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanUserInfo{" +
+                "id=" + id +
+                ", delFlag=" + delFlag +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModitify=" + gmtModitify +
+                ", createUid=" + createUid +
+                ", updateUid=" + updateUid +
+                ", drillPlanId=" + drillPlanId +
+                ", userUid=" + userUid +
+                ", type=" + type +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfoDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfoDO.java
new file mode 100644
index 0000000..59f7e5f
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyDrillPlanUserInfoDO.java
@@ -0,0 +1,62 @@
+package com.gkhy.safePlatform.emergency.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+@TableName("emergency_drill_plan_user")
+public class EmergencyDrillPlanUserInfoDO {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Long drillPlanId;
+
+    private Long userUid;
+
+    private Integer type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanUserInfo{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", userUid=" + userUid +
+                ", type=" + type +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyDrillPlanStatus.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyDrillPlanStatus.java
new file mode 100644
index 0000000..4b0fa29
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyDrillPlanStatus.java
@@ -0,0 +1,35 @@
+package com.gkhy.safePlatform.emergency.enums;
+
+public enum EmergencyDrillPlanStatus {
+
+    START(1,"开始"),
+    FIRST_LEVEL_APPROEAL(2,"一级审批"),
+    SECOND_LEVEL_APPROEAL(3,"二级审批"),
+    THIRD_LEVEL_APPROEAL(4,"三级审批"),
+    END(5,"结束");
+
+    private Integer status;
+
+    private String desc;
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    EmergencyDrillPlanStatus(Integer status, String desc) {
+        this.status = status;
+        this.desc = desc;
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyResultCodes.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyResultCodes.java
index a0a7ff8..6c0e12e 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyResultCodes.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/enums/EmergencyResultCodes.java
@@ -36,7 +36,11 @@
 
     PLAN_LOG_NOT_EXIST("P1003" , "应急预案启动记录不存在"),
 
+    DRILL_PLAN_NOT_EXIST("D1001" , "应急演练计划不存在"),
 
+    DRILL_PLAN_NULL("D1002" , "应急演练计划不可为空"),
+
+    DRILL_EXECUTE_NOT_EXIST("D1001" , "应急演练实施不存在"),
 
     ERROR("A3000", "未知错误");
 
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteReqDTO.java
new file mode 100644
index 0000000..b6e3ef9
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteReqDTO.java
@@ -0,0 +1,91 @@
+package com.gkhy.safePlatform.emergency.model.dto.req;
+
+
+import java.util.Date;
+import java.util.List;
+
+public class EmergencyDrillExecuteReqDTO {
+
+    private Long id;
+
+    private Boolean status;
+
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    private List<EmergencyDrillExecuteUserReqDTO> userList;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+    public List<EmergencyDrillExecuteUserReqDTO> getUserList() {
+        return userList;
+    }
+
+    public void setUserList(List<EmergencyDrillExecuteUserReqDTO> userList) {
+        this.userList = userList;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteReqDTO{" +
+                "id=" + id +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                ", userList=" + userList +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteUserReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteUserReqDTO.java
new file mode 100644
index 0000000..0ddce80
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillExecuteUserReqDTO.java
@@ -0,0 +1,44 @@
+package com.gkhy.safePlatform.emergency.model.dto.req;
+
+
+public class EmergencyDrillExecuteUserReqDTO {
+
+    private Long id;
+
+    private Long drillExecuteId;
+
+    private Long userUid;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillExecuteId() {
+        return drillExecuteId;
+    }
+
+    public void setDrillExecuteId(Long drillExecuteId) {
+        this.drillExecuteId = drillExecuteId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteUserReqDTO{" +
+                "id=" + id +
+                ", drillExecuteId=" + drillExecuteId +
+                ", userUid=" + userUid +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanFileReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanFileReqDTO.java
new file mode 100644
index 0000000..ae0c8b0
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanFileReqDTO.java
@@ -0,0 +1,55 @@
+package com.gkhy.safePlatform.emergency.model.dto.req;
+
+
+public class EmergencyDrillPlanFileReqDTO {
+
+    private Long id;
+
+    private Long drillPlanId;
+
+    private String fileUrl;
+
+    private String fileName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanFileReqDTO{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", fileUrl='" + fileUrl + '\'' +
+                ", fileName='" + fileName + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanReqDTO.java
new file mode 100644
index 0000000..7ec32da
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanReqDTO.java
@@ -0,0 +1,212 @@
+package com.gkhy.safePlatform.emergency.model.dto.req;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+public class EmergencyDrillPlanReqDTO {
+
+    private Long id;
+
+    private Integer status;
+
+    private Date makingPlanDate;
+
+    private Date drillPlanDate;
+
+    private Long makingUserUid;
+
+    private Long makingDepartmentId;
+
+    private Long planId;
+
+    private Long departmentId;
+
+    private BigDecimal drillExpense;
+
+    private String drillLevel;
+
+    private String drillAddress;
+
+    private String drillName;
+
+    private String drillWay;
+
+    private String insuranceMeasures;
+
+    private String remark;
+
+    private String purpose;
+
+    private List<EmergencyDrillPlanFileReqDTO> fileList;
+
+    private List<EmergencyDrillPlanUserReqDTO> userList;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Date getMakingPlanDate() {
+        return makingPlanDate;
+    }
+
+    public void setMakingPlanDate(Date makingPlanDate) {
+        this.makingPlanDate = makingPlanDate;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Long getMakingUserUid() {
+        return makingUserUid;
+    }
+
+    public void setMakingUserUid(Long makingUserUid) {
+        this.makingUserUid = makingUserUid;
+    }
+
+    public Long getMakingDepartmentId() {
+        return makingDepartmentId;
+    }
+
+    public void setMakingDepartmentId(Long makingDepartmentId) {
+        this.makingDepartmentId = makingDepartmentId;
+    }
+
+    public Long getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(Long planId) {
+        this.planId = planId;
+    }
+
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+
+    public BigDecimal getDrillExpense() {
+        return drillExpense;
+    }
+
+    public void setDrillExpense(BigDecimal drillExpense) {
+        this.drillExpense = drillExpense;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getInsuranceMeasures() {
+        return insuranceMeasures;
+    }
+
+    public void setInsuranceMeasures(String insuranceMeasures) {
+        this.insuranceMeasures = insuranceMeasures;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getPurpose() {
+        return purpose;
+    }
+
+    public void setPurpose(String purpose) {
+        this.purpose = purpose;
+    }
+
+    public List<EmergencyDrillPlanFileReqDTO> getFileList() {
+        return fileList;
+    }
+
+    public void setFileList(List<EmergencyDrillPlanFileReqDTO> fileList) {
+        this.fileList = fileList;
+    }
+
+    public List<EmergencyDrillPlanUserReqDTO> getUserList() {
+        return userList;
+    }
+
+    public void setUserList(List<EmergencyDrillPlanUserReqDTO> userList) {
+        this.userList = userList;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanReqDTO{" +
+                "id=" + id +
+                ", status=" + status +
+                ", makingPlanDate=" + makingPlanDate +
+                ", drillPlanDate=" + drillPlanDate +
+                ", makingUserUid=" + makingUserUid +
+                ", makingDepartmentId=" + makingDepartmentId +
+                ", planId=" + planId +
+                ", departmentId=" + departmentId +
+                ", drillExpense=" + drillExpense +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillName='" + drillName + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", insuranceMeasures='" + insuranceMeasures + '\'' +
+                ", remark='" + remark + '\'' +
+                ", purpose='" + purpose + '\'' +
+                ", fileList=" + fileList +
+                ", userList=" + userList +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanUserReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanUserReqDTO.java
new file mode 100644
index 0000000..48f0c56
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyDrillPlanUserReqDTO.java
@@ -0,0 +1,56 @@
+package com.gkhy.safePlatform.emergency.model.dto.req;
+
+
+public class EmergencyDrillPlanUserReqDTO {
+
+    private Long id;
+
+    private Long drillPlanId;
+
+    private Long userUid;
+
+    // 1 人员 ;2 负责人
+    private Integer type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanUserReqDTO{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", userUid=" + userUid +
+                ", type=" + type +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteDetailRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteDetailRespDTO.java
new file mode 100644
index 0000000..b8aa3d8
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteDetailRespDTO.java
@@ -0,0 +1,94 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteUserReqDTO;
+
+import java.util.Date;
+import java.util.List;
+
+public class EmergencyDrillExecuteDetailRespDTO {
+
+    private Long id;
+
+    private Boolean status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    private List<EmergencyDrillExecuteUserRespDTO> userList;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+    public List<EmergencyDrillExecuteUserRespDTO> getUserList() {
+        return userList;
+    }
+
+    public void setUserList(List<EmergencyDrillExecuteUserRespDTO> userList) {
+        this.userList = userList;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteReqDTO{" +
+                "id=" + id +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                ", userList=" + userList +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecutePageRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecutePageRespDTO.java
new file mode 100644
index 0000000..879264c
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecutePageRespDTO.java
@@ -0,0 +1,84 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteUserReqDTO;
+
+import java.util.Date;
+import java.util.List;
+
+public class EmergencyDrillExecutePageRespDTO {
+
+    private Long id;
+
+    private Boolean status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date drillRecordDate;
+
+    private Long drillPlanId;
+
+    private Long recordUserUid;
+
+    private String processDesc;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public Date getDrillRecordDate() {
+        return drillRecordDate;
+    }
+
+    public void setDrillRecordDate(Date drillRecordDate) {
+        this.drillRecordDate = drillRecordDate;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getRecordUserUid() {
+        return recordUserUid;
+    }
+
+    public void setRecordUserUid(Long recordUserUid) {
+        this.recordUserUid = recordUserUid;
+    }
+
+    public String getProcessDesc() {
+        return processDesc;
+    }
+
+    public void setProcessDesc(String processDesc) {
+        this.processDesc = processDesc;
+    }
+
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteReqDTO{" +
+                "id=" + id +
+                ", status=" + status +
+                ", drillRecordDate=" + drillRecordDate +
+                ", drillPlanId=" + drillPlanId +
+                ", recordUserUid=" + recordUserUid +
+                ", processDesc='" + processDesc + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteUserRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteUserRespDTO.java
new file mode 100644
index 0000000..7d507e8
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillExecuteUserRespDTO.java
@@ -0,0 +1,44 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+
+public class EmergencyDrillExecuteUserRespDTO {
+
+    private Long id;
+
+    private Long drillExecuteId;
+
+    private Long userUid;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillExecuteId() {
+        return drillExecuteId;
+    }
+
+    public void setDrillExecuteId(Long drillExecuteId) {
+        this.drillExecuteId = drillExecuteId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillExecuteUserRespDTO{" +
+                "id=" + id +
+                ", drillExecuteId=" + drillExecuteId +
+                ", userUid=" + userUid +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanDetailRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanDetailRespDTO.java
new file mode 100644
index 0000000..c21c1da
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanDetailRespDTO.java
@@ -0,0 +1,228 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+public class EmergencyDrillPlanDetailRespDTO {
+
+    private Long id;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date gmtModitify;
+
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date makingPlanDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date drillPlanDate;
+
+    private Long makingUserUid;
+
+    private Long makingDepartmentId;
+
+    private Long planId;
+
+    private Long departmentId;
+
+    private BigDecimal drillExpense;
+
+    private String drillLevel;
+
+    private String drillAddress;
+
+    private String drillName;
+
+    private String drillWay;
+
+    private String insuranceMeasures;
+
+    private String remark;
+
+    private String purpose;
+
+    private List<EmergencyDrillPlanFileRespDTO> fileList;
+
+    private List<EmergencyDrillPlanUserRespDTO> userList;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Date getMakingPlanDate() {
+        return makingPlanDate;
+    }
+
+    public void setMakingPlanDate(Date makingPlanDate) {
+        this.makingPlanDate = makingPlanDate;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Long getMakingUserUid() {
+        return makingUserUid;
+    }
+
+    public void setMakingUserUid(Long makingUserUid) {
+        this.makingUserUid = makingUserUid;
+    }
+
+    public Long getMakingDepartmentId() {
+        return makingDepartmentId;
+    }
+
+    public void setMakingDepartmentId(Long makingDepartmentId) {
+        this.makingDepartmentId = makingDepartmentId;
+    }
+
+    public Long getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(Long planId) {
+        this.planId = planId;
+    }
+
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+
+    public BigDecimal getDrillExpense() {
+        return drillExpense;
+    }
+
+    public void setDrillExpense(BigDecimal drillExpense) {
+        this.drillExpense = drillExpense;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getInsuranceMeasures() {
+        return insuranceMeasures;
+    }
+
+    public void setInsuranceMeasures(String insuranceMeasures) {
+        this.insuranceMeasures = insuranceMeasures;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getPurpose() {
+        return purpose;
+    }
+
+    public void setPurpose(String purpose) {
+        this.purpose = purpose;
+    }
+
+    public List<EmergencyDrillPlanFileRespDTO> getFileList() {
+        return fileList;
+    }
+
+    public void setFileList(List<EmergencyDrillPlanFileRespDTO> fileList) {
+        this.fileList = fileList;
+    }
+
+    public List<EmergencyDrillPlanUserRespDTO> getUserList() {
+        return userList;
+    }
+
+    public void setUserList(List<EmergencyDrillPlanUserRespDTO> userList) {
+        this.userList = userList;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanDetailRespDTO{" +
+                "id=" + id +
+                ", gmtModitify=" + gmtModitify +
+                ", status=" + status +
+                ", makingPlanDate=" + makingPlanDate +
+                ", drillPlanDate=" + drillPlanDate +
+                ", makingUserUid=" + makingUserUid +
+                ", makingDepartmentId=" + makingDepartmentId +
+                ", planId=" + planId +
+                ", departmentId=" + departmentId +
+                ", drillExpense=" + drillExpense +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillName='" + drillName + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", insuranceMeasures='" + insuranceMeasures + '\'' +
+                ", remark='" + remark + '\'' +
+                ", purpose='" + purpose + '\'' +
+                ", fileList=" + fileList +
+                ", userList=" + userList +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanFileRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanFileRespDTO.java
new file mode 100644
index 0000000..8cd609d
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanFileRespDTO.java
@@ -0,0 +1,55 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+
+public class EmergencyDrillPlanFileRespDTO {
+
+    private Long id;
+
+    private Long drillPlanId;
+
+    private String fileUrl;
+
+    private String fileName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanFileRespDTO{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", fileUrl='" + fileUrl + '\'' +
+                ", fileName='" + fileName + '\'' +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanPageRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanPageRespDTO.java
new file mode 100644
index 0000000..76220b5
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanPageRespDTO.java
@@ -0,0 +1,93 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+public class EmergencyDrillPlanPageRespDTO {
+
+    private Long id;
+
+    private String drillName;
+
+    private String drillAddress;
+
+    private String drillWay;
+
+    private String drillLevel;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date drillPlanDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date gmtModitify;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getDrillName() {
+        return drillName;
+    }
+
+    public void setDrillName(String drillName) {
+        this.drillName = drillName;
+    }
+
+    public String getDrillAddress() {
+        return drillAddress;
+    }
+
+    public void setDrillAddress(String drillAddress) {
+        this.drillAddress = drillAddress;
+    }
+
+    public String getDrillWay() {
+        return drillWay;
+    }
+
+    public void setDrillWay(String drillWay) {
+        this.drillWay = drillWay;
+    }
+
+    public String getDrillLevel() {
+        return drillLevel;
+    }
+
+    public void setDrillLevel(String drillLevel) {
+        this.drillLevel = drillLevel;
+    }
+
+    public Date getDrillPlanDate() {
+        return drillPlanDate;
+    }
+
+    public void setDrillPlanDate(Date drillPlanDate) {
+        this.drillPlanDate = drillPlanDate;
+    }
+
+    public Date getGmtModitify() {
+        return gmtModitify;
+    }
+
+    public void setGmtModitify(Date gmtModitify) {
+        this.gmtModitify = gmtModitify;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanPageRespDTO{" +
+                "id=" + id +
+                ", drillName='" + drillName + '\'' +
+                ", drillAddress='" + drillAddress + '\'' +
+                ", drillWay='" + drillWay + '\'' +
+                ", drillLevel='" + drillLevel + '\'' +
+                ", drillPlanDate=" + drillPlanDate +
+                ", gmtModitify=" + gmtModitify +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanUserRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanUserRespDTO.java
new file mode 100644
index 0000000..72fdc49
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyDrillPlanUserRespDTO.java
@@ -0,0 +1,56 @@
+package com.gkhy.safePlatform.emergency.model.dto.resp;
+
+
+public class EmergencyDrillPlanUserRespDTO {
+
+    private Long id;
+
+    private Long drillPlanId;
+
+    private Long userUid;
+
+    // 1 人员 ;2 负责人
+    private Integer type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getDrillPlanId() {
+        return drillPlanId;
+    }
+
+    public void setDrillPlanId(Long drillPlanId) {
+        this.drillPlanId = drillPlanId;
+    }
+
+    public Long getUserUid() {
+        return userUid;
+    }
+
+    public void setUserUid(Long userUid) {
+        this.userUid = userUid;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    @Override
+    public String toString() {
+        return "EmergencyDrillPlanUserReqDTO{" +
+                "id=" + id +
+                ", drillPlanId=" + drillPlanId +
+                ", userUid=" + userUid +
+                ", type=" + type +
+                '}';
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillExecuteQuery.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillExecuteQuery.java
new file mode 100644
index 0000000..38090a6
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillExecuteQuery.java
@@ -0,0 +1,5 @@
+package com.gkhy.safePlatform.emergency.query;
+
+public class EmergencyDrillExecuteQuery {
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillPlanQuery.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillPlanQuery.java
new file mode 100644
index 0000000..120a25c
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/EmergencyDrillPlanQuery.java
@@ -0,0 +1,5 @@
+package com.gkhy.safePlatform.emergency.query;
+
+public class EmergencyDrillPlanQuery {
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillExecuteDBQuery.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillExecuteDBQuery.java
new file mode 100644
index 0000000..e3551c2
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillExecuteDBQuery.java
@@ -0,0 +1,5 @@
+package com.gkhy.safePlatform.emergency.query.db;
+
+public class EmergencyDrillExecuteDBQuery {
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillPlanDBQuery.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillPlanDBQuery.java
new file mode 100644
index 0000000..76c01dc
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/query/db/EmergencyDrillPlanDBQuery.java
@@ -0,0 +1,5 @@
+package com.gkhy.safePlatform.emergency.query.db;
+
+public class EmergencyDrillPlanDBQuery {
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
new file mode 100644
index 0000000..29c8e2c
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteInfoRepository.java
@@ -0,0 +1,26 @@
+package com.gkhy.safePlatform.emergency.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface EmergencyDrillExecuteInfoRepository extends BaseMapper<EmergencyDrillExecuteInfo> {
+
+    List<EmergencyDrillExecuteInfoPageDO> selectEmergencyDrillExecuteList(Page<EmergencyDrillExecuteInfoPageDO> page, @Param("query") EmergencyDrillExecuteDBQuery emergencyDrillExecuteDBQuery);
+
+    void addEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo);
+
+    EmergencyDrillExecuteInfoDetailDO selectEmergencyDrillExecuteById(@Param("id") Long id);
+
+    void updateEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo);
+
+    void deleteEmergencyDrillExecute(@Param("id") Long id);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteUserInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteUserInfoRepository.java
new file mode 100644
index 0000000..45b9600
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillExecuteUserInfoRepository.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.emergency.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfoDO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface EmergencyDrillExecuteUserInfoRepository extends BaseMapper<EmergencyDrillExecuteUserInfo> {
+
+    void addEmergencyDrillExecuteUser(EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo);
+
+    List<EmergencyDrillExecuteUserInfoDO> selectEmergencyDrillExecuteUserByDrillExecuteId(@Param("drillExecuteId") Long drillExecuteId);
+
+    void deleteEmergencyDrillExecuteUserByIds(List<Long> ids);
+
+    void deleteEmergencyDrillExecuteUserByDrillExecuteId(@Param("drillExecuteId") Long drillExecuteId);
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanFileInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanFileInfoRepository.java
new file mode 100644
index 0000000..f550bfb
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanFileInfoRepository.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.emergency.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfoDO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface EmergencyDrillPlanFileInfoRepository extends BaseMapper<EmergencyDrillPlanFileInfo> {
+
+    void addEmergencyDrillPlanFile(EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo);
+
+    List<EmergencyDrillPlanFileInfoDO> selectEmergencyDrillPlanFileByDrillPlanId(@Param("drillPlanId") Long drillPlanId);
+
+    void deleteEmergencyDrillPlanFileByIds(List<Long> ids);
+
+    void deleteEmergencyDrillPlanFileByDrillPlanId(@Param("drillPlanId") Long drillPlanId);
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanInfoRepository.java
new file mode 100644
index 0000000..c730e8b
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanInfoRepository.java
@@ -0,0 +1,26 @@
+package com.gkhy.safePlatform.emergency.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillPlanDBQuery;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface EmergencyDrillPlanInfoRepository extends BaseMapper<EmergencyDrillPlanInfo> {
+
+    List<EmergencyDrillPlanInfoPageDO> selectEmergencyDrillPlanList(Page<EmergencyDrillPlanInfoPageDO> page, @Param("query") EmergencyDrillPlanDBQuery emergencyDrillPlanDBQuery);
+
+    void addEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo);
+
+    EmergencyDrillPlanInfoDetailDO selectEmergencyDrillPlanById(@Param("id") Long id);
+
+    void updateEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo);
+
+    void deleteEmergencyDrillPlan(@Param("id") Long id);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanUserInfoRepository.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanUserInfoRepository.java
new file mode 100644
index 0000000..bdcb3e9
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/repository/EmergencyDrillPlanUserInfoRepository.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.emergency.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfoDO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface EmergencyDrillPlanUserInfoRepository extends BaseMapper<EmergencyDrillPlanUserInfo> {
+
+    void addEmergencyDrillPlanUser(EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo);
+
+    List<EmergencyDrillPlanUserInfoDO> selectEmergencyDrillPlanUserByDrillPlanId(@Param("drillPlanId") Long drillPlanId);
+
+    void deleteEmergencyDrillPlanUserByIds(List<Long> ids);
+
+    void deleteEmergencyDrillPlanUserByDrillPlanId(@Param("drillPlanId") Long drillPlanId);
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillExecuteService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillExecuteService.java
new file mode 100644
index 0000000..c523658
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillExecuteService.java
@@ -0,0 +1,24 @@
+package com.gkhy.safePlatform.emergency.service;
+
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery;
+
+import java.util.List;
+
+public interface EmergencyDrillExecuteService {
+
+    SearchResultVO<List<EmergencyDrillExecutePageRespDTO>> selectEmergencyDrillExecuteList(PageQuery<EmergencyDrillExecuteQuery> query);
+
+    ResultVO addEmergencyDrillExecute(Long uid, EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO);
+
+    ResultVO<EmergencyDrillExecuteDetailRespDTO> getEmergencyDrillExecuteById(Long id);
+
+    ResultVO updateEmergencyDrillExecute(Long uid, EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO);
+
+    ResultVO batchDeleteEmergencyDrillExecute(String ids);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillPlanService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillPlanService.java
new file mode 100644
index 0000000..dae9662
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyDrillPlanService.java
@@ -0,0 +1,24 @@
+package com.gkhy.safePlatform.emergency.service;
+
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillPlanReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillPlanDetailRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillPlanPageRespDTO;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillPlanQuery;
+
+import java.util.List;
+
+public interface EmergencyDrillPlanService {
+
+    SearchResultVO<List<EmergencyDrillPlanPageRespDTO>> selectEmergencyDrillPlanList(PageQuery<EmergencyDrillPlanQuery> query);
+
+    ResultVO addEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO);
+
+    ResultVO<EmergencyDrillPlanDetailRespDTO> getEmergencyDrillPlanById(Long id);
+
+    ResultVO updateEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO);
+
+    ResultVO batchDeleteEmergencyDrillPlan(String ids);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
new file mode 100644
index 0000000..2d546f3
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteInfoService.java
@@ -0,0 +1,24 @@
+package com.gkhy.safePlatform.emergency.service.baseService;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery;
+
+import java.util.List;
+
+
+public interface EmergencyDrillExecuteInfoService extends IService<EmergencyDrillExecuteInfo> {
+
+    List<EmergencyDrillExecuteInfoPageDO> selectEmergencyDrillExecuteList(Page<EmergencyDrillExecuteInfoPageDO> page, EmergencyDrillExecuteDBQuery emergencyDrillExecuteDBQuery);
+
+    void addEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo);
+
+    EmergencyDrillExecuteInfoDetailDO selectEmergencyDrillExecuteById(Long id);
+
+    void updateEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo);
+
+    void deleteEmergencyDrillExecute(Long DrillExecuteId);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteUserInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteUserInfoService.java
new file mode 100644
index 0000000..5b6005b
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillExecuteUserInfoService.java
@@ -0,0 +1,19 @@
+package com.gkhy.safePlatform.emergency.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfoDO;
+
+import java.util.List;
+
+
+public interface EmergencyDrillExecuteUserInfoService extends IService<EmergencyDrillExecuteUserInfo> {
+
+    void addEmergencyDrillExecuteUser(EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo);
+
+    List<EmergencyDrillExecuteUserInfoDO> selectEmergencyDrillExecuteUserByDrillExecuteId(Long id);
+
+    void deleteEmergencyDrillExecuteUserByIds(List<Long> deleteList);
+
+    void deleteEmergencyDrillExecuteUserByDrillExecuteId(Long DrillExecuteId);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanFileInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanFileInfoService.java
new file mode 100644
index 0000000..c7a8549
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanFileInfoService.java
@@ -0,0 +1,19 @@
+package com.gkhy.safePlatform.emergency.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfoDO;
+
+import java.util.List;
+
+
+public interface EmergencyDrillPlanFileInfoService extends IService<EmergencyDrillPlanFileInfo> {
+
+    void addEmergencyDrillPlanFile(EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo);
+
+    List<EmergencyDrillPlanFileInfoDO> selectEmergencyDrillPlanFileByDrillPlanId(Long id);
+
+    void deleteEmergencyDrillPlanFileByIds(List<Long> deleteList);
+
+    void deleteEmergencyDrillPlanFileByDrillPlanId(Long DrillPlanId);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanInfoService.java
new file mode 100644
index 0000000..bed956b
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanInfoService.java
@@ -0,0 +1,24 @@
+package com.gkhy.safePlatform.emergency.service.baseService;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillPlanDBQuery;
+
+import java.util.List;
+
+
+public interface EmergencyDrillPlanInfoService extends IService<EmergencyDrillPlanInfo> {
+
+    List<EmergencyDrillPlanInfoPageDO> selectEmergencyDrillPlanList(Page<EmergencyDrillPlanInfoPageDO> page, EmergencyDrillPlanDBQuery emergencyDrillPlanDBQuery);
+
+    void addEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo);
+
+    EmergencyDrillPlanInfoDetailDO selectEmergencyDrillPlanById(Long id);
+
+    void updateEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo);
+
+    void deleteEmergencyDrillPlan(Long DrillPlanId);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanUserInfoService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanUserInfoService.java
new file mode 100644
index 0000000..604998c
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/EmergencyDrillPlanUserInfoService.java
@@ -0,0 +1,19 @@
+package com.gkhy.safePlatform.emergency.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfoDO;
+
+import java.util.List;
+
+
+public interface EmergencyDrillPlanUserInfoService extends IService<EmergencyDrillPlanUserInfo> {
+
+    void addEmergencyDrillPlanUser(EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo);
+
+    List<EmergencyDrillPlanUserInfoDO> selectEmergencyDrillPlanUserByDrillPlanId(Long id);
+
+    void deleteEmergencyDrillPlanUserByIds(List<Long> deleteList);
+
+    void deleteEmergencyDrillPlanUserByDrillPlanId(Long DrillPlanId);
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
new file mode 100644
index 0000000..f3f8f4a
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteInfoServiceImpl.java
@@ -0,0 +1,48 @@
+package com.gkhy.safePlatform.emergency.service.baseService.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery;
+import com.gkhy.safePlatform.emergency.repository.EmergencyDrillExecuteInfoRepository;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("emergencyDrillExecuteInfoService")
+public class EmergencyDrillExecuteInfoServiceImpl extends ServiceImpl<EmergencyDrillExecuteInfoRepository, EmergencyDrillExecuteInfo> implements EmergencyDrillExecuteInfoService {
+
+    @Autowired
+    private EmergencyDrillExecuteInfoRepository emergencyDrillExecuteInfoRepository;
+
+    @Override
+    public List<EmergencyDrillExecuteInfoPageDO> selectEmergencyDrillExecuteList(Page<EmergencyDrillExecuteInfoPageDO> page, EmergencyDrillExecuteDBQuery emergencyDrillExecuteDBQuery) {
+        return emergencyDrillExecuteInfoRepository.selectEmergencyDrillExecuteList(page,emergencyDrillExecuteDBQuery);
+    }
+
+    @Override
+    public void addEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo) {
+        emergencyDrillExecuteInfoRepository.addEmergencyDrillExecute(emergencyDrillExecuteInfo);
+    }
+
+    @Override
+    public EmergencyDrillExecuteInfoDetailDO selectEmergencyDrillExecuteById(Long id) {
+        return emergencyDrillExecuteInfoRepository.selectEmergencyDrillExecuteById(id);
+    }
+
+    @Override
+    public void updateEmergencyDrillExecute(EmergencyDrillExecuteInfo emergencyDrillExecuteInfo) {
+        emergencyDrillExecuteInfoRepository.updateEmergencyDrillExecute(emergencyDrillExecuteInfo);
+    }
+
+    @Override
+    public void deleteEmergencyDrillExecute(Long DrillExecuteId) {
+        emergencyDrillExecuteInfoRepository.deleteEmergencyDrillExecute(DrillExecuteId);
+    }
+
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteUserInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteUserInfoServiceImpl.java
new file mode 100644
index 0000000..634fd49
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillExecuteUserInfoServiceImpl.java
@@ -0,0 +1,40 @@
+package com.gkhy.safePlatform.emergency.service.baseService.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfoDO;
+import com.gkhy.safePlatform.emergency.repository.EmergencyDrillExecuteUserInfoRepository;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteUserInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("emergencyDrillExecuteUserInfoService")
+public class EmergencyDrillExecuteUserInfoServiceImpl extends ServiceImpl<EmergencyDrillExecuteUserInfoRepository, EmergencyDrillExecuteUserInfo> implements EmergencyDrillExecuteUserInfoService {
+
+    @Autowired
+    private EmergencyDrillExecuteUserInfoRepository emergencyDrillExecuteUserInfoRepository;
+
+
+    @Override
+    public void addEmergencyDrillExecuteUser(EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo) {
+        emergencyDrillExecuteUserInfoRepository.addEmergencyDrillExecuteUser(emergencyDrillExecuteUserInfo);
+    }
+
+    @Override
+    public List<EmergencyDrillExecuteUserInfoDO> selectEmergencyDrillExecuteUserByDrillExecuteId(Long id) {
+        return emergencyDrillExecuteUserInfoRepository.selectEmergencyDrillExecuteUserByDrillExecuteId(id);
+    }
+
+    @Override
+    public void deleteEmergencyDrillExecuteUserByIds(List<Long> ids) {
+        emergencyDrillExecuteUserInfoRepository.deleteEmergencyDrillExecuteUserByIds(ids);
+    }
+
+    @Override
+    public void deleteEmergencyDrillExecuteUserByDrillExecuteId(Long DrillExecuteId) {
+        emergencyDrillExecuteUserInfoRepository.deleteEmergencyDrillExecuteUserByDrillExecuteId(DrillExecuteId);
+    }
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanFileInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanFileInfoServiceImpl.java
new file mode 100644
index 0000000..ebffffe
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanFileInfoServiceImpl.java
@@ -0,0 +1,40 @@
+package com.gkhy.safePlatform.emergency.service.baseService.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfoDO;
+import com.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanFileInfoRepository;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanFileInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("emergencyDrillPlanFileInfoService")
+public class EmergencyDrillPlanFileInfoServiceImpl extends ServiceImpl<EmergencyDrillPlanFileInfoRepository, EmergencyDrillPlanFileInfo> implements EmergencyDrillPlanFileInfoService {
+
+    @Autowired
+    private EmergencyDrillPlanFileInfoRepository emergencyDrillPlanFileInfoRepository;
+
+
+    @Override
+    public void addEmergencyDrillPlanFile(EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo) {
+        emergencyDrillPlanFileInfoRepository.addEmergencyDrillPlanFile(emergencyDrillPlanFileInfo);
+    }
+
+    @Override
+    public List<EmergencyDrillPlanFileInfoDO> selectEmergencyDrillPlanFileByDrillPlanId(Long id) {
+        return emergencyDrillPlanFileInfoRepository.selectEmergencyDrillPlanFileByDrillPlanId(id);
+    }
+
+    @Override
+    public void deleteEmergencyDrillPlanFileByIds(List<Long> ids) {
+        emergencyDrillPlanFileInfoRepository.deleteEmergencyDrillPlanFileByIds(ids);
+    }
+
+    @Override
+    public void deleteEmergencyDrillPlanFileByDrillPlanId(Long DrillPlanId) {
+        emergencyDrillPlanFileInfoRepository.deleteEmergencyDrillPlanFileByDrillPlanId(DrillPlanId);
+    }
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanInfoServiceImpl.java
new file mode 100644
index 0000000..9b958b7
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanInfoServiceImpl.java
@@ -0,0 +1,48 @@
+package com.gkhy.safePlatform.emergency.service.baseService.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoDetailDO;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoPageDO;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillPlanDBQuery;
+import com.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanInfoRepository;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("emergencyDrillPlanInfoService")
+public class EmergencyDrillPlanInfoServiceImpl extends ServiceImpl<EmergencyDrillPlanInfoRepository, EmergencyDrillPlanInfo> implements EmergencyDrillPlanInfoService {
+
+    @Autowired
+    private EmergencyDrillPlanInfoRepository emergencyDrillPlanInfoRepository;
+
+    @Override
+    public List<EmergencyDrillPlanInfoPageDO> selectEmergencyDrillPlanList(Page<EmergencyDrillPlanInfoPageDO> page, EmergencyDrillPlanDBQuery emergencyDrillPlanDBQuery) {
+        return emergencyDrillPlanInfoRepository.selectEmergencyDrillPlanList(page,emergencyDrillPlanDBQuery);
+    }
+
+    @Override
+    public void addEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo) {
+        emergencyDrillPlanInfoRepository.addEmergencyDrillPlan(emergencyDrillPlanInfo);
+    }
+
+    @Override
+    public EmergencyDrillPlanInfoDetailDO selectEmergencyDrillPlanById(Long id) {
+        return emergencyDrillPlanInfoRepository.selectEmergencyDrillPlanById(id);
+    }
+
+    @Override
+    public void updateEmergencyDrillPlan(EmergencyDrillPlanInfo emergencyDrillPlanInfo) {
+        emergencyDrillPlanInfoRepository.updateEmergencyDrillPlan(emergencyDrillPlanInfo);
+    }
+
+    @Override
+    public void deleteEmergencyDrillPlan(Long DrillPlanId) {
+        emergencyDrillPlanInfoRepository.deleteEmergencyDrillPlan(DrillPlanId);
+    }
+
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanUserInfoServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanUserInfoServiceImpl.java
new file mode 100644
index 0000000..baf897f
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/baseService/impl/EmergencyDrillPlanUserInfoServiceImpl.java
@@ -0,0 +1,40 @@
+package com.gkhy.safePlatform.emergency.service.baseService.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfo;
+import com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfoDO;
+import com.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanUserInfoRepository;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanUserInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("emergencyDrillPlanUserInfoService")
+public class EmergencyDrillPlanUserInfoServiceImpl extends ServiceImpl<EmergencyDrillPlanUserInfoRepository, EmergencyDrillPlanUserInfo> implements EmergencyDrillPlanUserInfoService {
+
+    @Autowired
+    private EmergencyDrillPlanUserInfoRepository emergencyDrillPlanUserInfoRepository;
+
+
+    @Override
+    public void addEmergencyDrillPlanUser(EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo) {
+        emergencyDrillPlanUserInfoRepository.addEmergencyDrillPlanUser(emergencyDrillPlanUserInfo);
+    }
+
+    @Override
+    public List<EmergencyDrillPlanUserInfoDO> selectEmergencyDrillPlanUserByDrillPlanId(Long id) {
+        return emergencyDrillPlanUserInfoRepository.selectEmergencyDrillPlanUserByDrillPlanId(id);
+    }
+
+    @Override
+    public void deleteEmergencyDrillPlanUserByIds(List<Long> ids) {
+        emergencyDrillPlanUserInfoRepository.deleteEmergencyDrillPlanUserByIds(ids);
+    }
+
+    @Override
+    public void deleteEmergencyDrillPlanUserByDrillPlanId(Long DrillPlanId) {
+        emergencyDrillPlanUserInfoRepository.deleteEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
+    }
+
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java
new file mode 100644
index 0000000..5e12146
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java
@@ -0,0 +1,223 @@
+package com.gkhy.safePlatform.emergency.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import com.gkhy.safePlatform.commons.utils.StringUtils;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.emergency.entity.*;
+import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteUserReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteUserRespDTO;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery;
+import com.gkhy.safePlatform.emergency.service.EmergencyDrillExecuteService;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteUserInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanInfoService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service("emergencyDrillExecuteService")
+public class EmergencyDrillExecuteServiceImpl implements EmergencyDrillExecuteService {
+
+    @Autowired
+    private EmergencyDrillExecuteInfoService emergencyDrillExecuteInfoService;
+
+    @Autowired
+    private EmergencyDrillExecuteUserInfoService emergencyDrillExecuteUserInfoService;
+
+    @Autowired
+    private EmergencyDrillPlanInfoService emergencyDrillPlanInfoService;
+
+
+    @Override
+    public SearchResultVO<List<EmergencyDrillExecutePageRespDTO>> selectEmergencyDrillExecuteList(PageQuery<EmergencyDrillExecuteQuery> query) {
+        Long pageIndex = query.getPageIndex();
+        Long pageSize = query.getPageSize();
+        Page<EmergencyDrillExecuteInfoPageDO> page = new Page<>(pageIndex, pageSize);
+
+        EmergencyDrillExecuteDBQuery emergencyDrillExecuteDBQuery = new EmergencyDrillExecuteDBQuery();
+        if (query.getSearchParams() != null) {
+            BeanUtils.copyProperties(query.getSearchParams(), emergencyDrillExecuteDBQuery);
+        }
+        List<EmergencyDrillExecuteInfoPageDO> emergencyDrillExecuteListDoInfoList = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteList(page, emergencyDrillExecuteDBQuery);
+        List<EmergencyDrillExecutePageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyDrillExecuteListDoInfoList, EmergencyDrillExecutePageRespDTO.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+    @Override
+    public ResultVO addEmergencyDrillExecute(Long uid, EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO) {
+        // 判断请求中是否存在演练计划id
+        if (emergencyDrillExecuteReqDTO.getDrillPlanId() == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NULL);
+        } else {
+            EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillExecuteReqDTO.getDrillPlanId());
+            // 判断是否存在该演练计划
+            if (emergencyDrillPlanInfoDetailDO == null) {
+                throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+            } else {
+                Date nowDate = new Date();
+                // 新增应急演练计划实施
+                EmergencyDrillExecuteInfo emergencyDrillExecuteInfo = new EmergencyDrillExecuteInfo();
+                BeanUtils.copyProperties(emergencyDrillExecuteReqDTO, emergencyDrillExecuteInfo);
+                emergencyDrillExecuteInfo.setDelFlag(false);
+                emergencyDrillExecuteInfo.setCreateUid(uid);
+                emergencyDrillExecuteInfo.setGmtCreate(nowDate);
+                emergencyDrillExecuteInfo.setStatus(true);
+                emergencyDrillExecuteInfoService.addEmergencyDrillExecute(emergencyDrillExecuteInfo);
+
+                // 新增应急演练计划实施实际到场人员表
+                if (!CollectionUtils.isEmpty(emergencyDrillExecuteReqDTO.getUserList())) {
+                    addEmergencyDrillExecuteUser(uid, emergencyDrillExecuteInfo.getId(), nowDate, emergencyDrillExecuteReqDTO.getUserList());
+
+                }
+                return new ResultVO<>(ResultCodes.OK);
+            }
+        }
+    }
+
+    private void addEmergencyDrillExecuteUser(Long uid, Long DrillExecuteId, Date nowDate, List<EmergencyDrillExecuteUserReqDTO> emergencyDrillExecuteUserReqDTOList) {
+        List<EmergencyDrillExecuteUserInfo> emergencyDrillExecuteUserInfoList = BeanCopyUtils.copyBeanList(emergencyDrillExecuteUserReqDTOList, EmergencyDrillExecuteUserInfo.class);
+        emergencyDrillExecuteUserInfoList.forEach(EmergencyDrillExecuteUserInfo -> {
+            EmergencyDrillExecuteUserInfo.setDelFlag(false);
+            EmergencyDrillExecuteUserInfo.setCreateUid(uid);
+            EmergencyDrillExecuteUserInfo.setGmtCreate(nowDate);
+            EmergencyDrillExecuteUserInfo.setDrillExecuteId(DrillExecuteId);
+        });
+        for (EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo : emergencyDrillExecuteUserInfoList) {
+            emergencyDrillExecuteUserInfoService.addEmergencyDrillExecuteUser(emergencyDrillExecuteUserInfo);
+        }
+    }
+
+    @Override
+    public ResultVO<EmergencyDrillExecuteDetailRespDTO> getEmergencyDrillExecuteById(Long id) {
+        EmergencyDrillExecuteDetailRespDTO emergencyDrillExecuteDetailRespDTO = new EmergencyDrillExecuteDetailRespDTO();
+        // 查询是否存在应急演练计划实施
+        EmergencyDrillExecuteInfoDetailDO emergencyDrillExecuteInfoDetailDO = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteById(id);
+        if (emergencyDrillExecuteInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NOT_EXIST);
+        } else {
+            BeanUtils.copyProperties(emergencyDrillExecuteInfoDetailDO, emergencyDrillExecuteDetailRespDTO);
+
+            // 查找对应的人员
+            List<EmergencyDrillExecuteUserInfoDO> emergencyDrillExecuteUserInfoDOList = emergencyDrillExecuteUserInfoService.selectEmergencyDrillExecuteUserByDrillExecuteId(id);
+            if (!CollectionUtils.isEmpty(emergencyDrillExecuteUserInfoDOList)) {
+                List<EmergencyDrillExecuteUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillExecuteUserInfoDOList, EmergencyDrillExecuteUserRespDTO.class);
+                emergencyDrillExecuteDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
+            }
+            return new ResultVO<>(ResultCodes.OK, emergencyDrillExecuteDetailRespDTO);
+        }
+    }
+
+    @Override
+    public ResultVO updateEmergencyDrillExecute(Long uid, EmergencyDrillExecuteReqDTO emergencyDrillExecuteReqDTO) {
+        Date nowDate = new Date();
+        // 查询是否存在应急演练计划实施
+        EmergencyDrillExecuteInfoDetailDO emergencyDrillExecuteInfoDetailDO = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteById(emergencyDrillExecuteReqDTO.getId());
+        if (emergencyDrillExecuteInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NOT_EXIST);
+        } else {
+            EmergencyDrillExecuteInfo emergencyDrillExecuteInfo = new EmergencyDrillExecuteInfo();
+            BeanUtils.copyProperties(emergencyDrillExecuteReqDTO, emergencyDrillExecuteInfo);
+            emergencyDrillExecuteInfo.setUpdateUid(uid);
+            emergencyDrillExecuteInfo.setGmtModitify(nowDate);
+            emergencyDrillExecuteInfoService.updateEmergencyDrillExecute(emergencyDrillExecuteInfo);
+
+            // 更新急演练计划应急队伍表
+            if (!CollectionUtils.isEmpty(emergencyDrillExecuteReqDTO.getUserList())) {
+                updateEmergencyDrillExecuteUser(uid, emergencyDrillExecuteInfo.getId(), nowDate, emergencyDrillExecuteReqDTO.getUserList());
+            }
+
+            return new ResultVO<>(ResultCodes.OK);
+        }
+    }
+
+    private void updateEmergencyDrillExecuteUser(Long uid, Long DrillExecuteId, Date
+            nowDate, List<EmergencyDrillExecuteUserReqDTO> UserReqDTOList) {
+        List<EmergencyDrillExecuteUserInfoDO> emergencyDrillExecuteUserInfoDOList = emergencyDrillExecuteUserInfoService.selectEmergencyDrillExecuteUserByDrillExecuteId(DrillExecuteId);
+        List<Long> oldIdsList = emergencyDrillExecuteUserInfoDOList.stream().map(EmergencyDrillExecuteUserInfoDO::getId).collect(Collectors.toList());
+        List<Long> newIdsList = new ArrayList<>();
+
+        //新增的区域集合
+        List<EmergencyDrillExecuteUserInfo> addList = new ArrayList<>();
+        //删除的区域集合(id)
+        List<Long> deleteList = new ArrayList<>();
+        for (EmergencyDrillExecuteUserReqDTO emergencyDrillExecuteUserReqDTO : UserReqDTOList) {
+            //如果不存在id则表示页面新增的附件
+            if (emergencyDrillExecuteUserReqDTO.getId() == null) {
+                EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo = new EmergencyDrillExecuteUserInfo();
+                BeanUtils.copyProperties(emergencyDrillExecuteUserReqDTO, emergencyDrillExecuteUserInfo);
+                emergencyDrillExecuteUserInfo.setDelFlag(false);
+                emergencyDrillExecuteUserInfo.setGmtCreate(nowDate);
+                emergencyDrillExecuteUserInfo.setCreateUid(uid);
+                emergencyDrillExecuteUserInfo.setDrillExecuteId(DrillExecuteId);
+                addList.add(emergencyDrillExecuteUserInfo);
+            }
+            //如果存在id则判断页面是否删除
+            else {
+                newIdsList.add(emergencyDrillExecuteUserReqDTO.getId());
+            }
+        }
+        for (Long oldId : oldIdsList) {
+            if (!newIdsList.contains(oldId)) {
+                deleteList.add(oldId);
+            }
+        }
+        if (!CollectionUtils.isEmpty(addList)) {
+            for (EmergencyDrillExecuteUserInfo emergencyDrillExecuteUserInfo : addList) {
+                emergencyDrillExecuteUserInfoService.addEmergencyDrillExecuteUser(emergencyDrillExecuteUserInfo);
+            }
+        }
+        if (!CollectionUtils.isEmpty(deleteList)) {
+            emergencyDrillExecuteUserInfoService.deleteEmergencyDrillExecuteUserByIds(deleteList);
+        }
+    }
+
+    @Override
+    public ResultVO batchDeleteEmergencyDrillExecute(String ids) {
+        if (StringUtils.isBlank(ids)) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NOT_EXIST);
+        } else {
+            String[] idArr = ids.split(",");
+            for (String id : idArr) {
+                deleteEmergencyDrillExecute(Long.valueOf(id));
+            }
+            return new ResultVO(ResultCodes.OK);
+        }
+    }
+
+    private void deleteEmergencyDrillExecute(Long id) {
+        //查询是否存在
+        EmergencyDrillExecuteInfoDetailDO emergencyDrillExecuteInfoDetailDO = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteById(id);
+        if (emergencyDrillExecuteInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NOT_EXIST);
+        } else {
+            Long DrillExecuteId = emergencyDrillExecuteInfoDetailDO.getId();
+            emergencyDrillExecuteInfoService.deleteEmergencyDrillExecute(DrillExecuteId);
+            //删除人员
+            emergencyDrillExecuteUserInfoService.deleteEmergencyDrillExecuteUserByDrillExecuteId(DrillExecuteId);
+        }
+    }
+}
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
new file mode 100644
index 0000000..208090e
--- /dev/null
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
@@ -0,0 +1,291 @@
+package com.gkhy.safePlatform.emergency.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import com.gkhy.safePlatform.commons.utils.StringUtils;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.emergency.entity.*;
+import com.gkhy.safePlatform.emergency.enums.EmergencyDrillPlanStatus;
+import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
+import com.gkhy.safePlatform.emergency.model.dto.req.*;
+import com.gkhy.safePlatform.emergency.model.dto.resp.*;
+import com.gkhy.safePlatform.emergency.query.EmergencyDrillPlanQuery;
+import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillPlanDBQuery;
+import com.gkhy.safePlatform.emergency.service.EmergencyDrillPlanService;
+import com.gkhy.safePlatform.emergency.service.baseService.*;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service("emergencyDrillPlanService")
+public class EmergencyDrillPlanServiceImpl implements EmergencyDrillPlanService {
+
+    @Autowired
+    private EmergencyDrillPlanInfoService emergencyDrillPlanInfoService;
+
+    @Autowired
+    private EmergencyDrillPlanFileInfoService emergencyDrillPlanFileInfoService;
+
+    @Autowired
+    private EmergencyDrillPlanUserInfoService emergencyDrillPlanUserInfoService;
+
+    @Autowired
+    private EmergencyPlanInfoService emergencyPlanInfoService;
+
+
+    @Override
+    public SearchResultVO<List<EmergencyDrillPlanPageRespDTO>> selectEmergencyDrillPlanList(PageQuery<EmergencyDrillPlanQuery> query) {
+        Long pageIndex = query.getPageIndex();
+        Long pageSize = query.getPageSize();
+        Page<EmergencyDrillPlanInfoPageDO> page = new Page<>(pageIndex, pageSize);
+
+        EmergencyDrillPlanDBQuery emergencyDrillPlanDBQuery = new EmergencyDrillPlanDBQuery();
+        if (query.getSearchParams() != null) {
+            BeanUtils.copyProperties(query.getSearchParams(), emergencyDrillPlanDBQuery);
+        }
+        List<EmergencyDrillPlanInfoPageDO> emergencyDrillPlanListDoInfoList = emergencyDrillPlanInfoService.selectEmergencyDrillPlanList(page, emergencyDrillPlanDBQuery);
+        List<EmergencyDrillPlanPageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyDrillPlanListDoInfoList, EmergencyDrillPlanPageRespDTO.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+    @Override
+    public ResultVO addEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        // 判断请求中是否存在应急预案id
+        if (emergencyDrillPlanReqDTO.getPlanId() == null) {
+            throw new EmergencyException(EmergencyResultCodes.PLAN_NULL);
+        } else {
+            EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(emergencyDrillPlanReqDTO.getPlanId());
+            // 判断是否存在该应急预案
+            if (emergencyPlanInfoDetailDO == null) {
+                throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST);
+            } else {
+                Date nowDate = new Date();
+                // 新增应急演练计划
+                EmergencyDrillPlanInfo emergencyDrillPlanInfo = new EmergencyDrillPlanInfo();
+                BeanUtils.copyProperties(emergencyDrillPlanReqDTO, emergencyDrillPlanInfo);
+                emergencyDrillPlanInfo.setDelFlag(false);
+                emergencyDrillPlanInfo.setCreateUid(uid);
+                emergencyDrillPlanInfo.setGmtCreate(nowDate);
+                emergencyDrillPlanInfo.setStatus(EmergencyDrillPlanStatus.START.getStatus());
+                emergencyDrillPlanInfoService.addEmergencyDrillPlan(emergencyDrillPlanInfo);
+                // 新增急演练计划附件表
+                if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
+                    addEmergencyDrillPlanFile(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getFileList());
+                }
+                // 新增急演练计划应急人员表
+                if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getUserList())) {
+                    addEmergencyDrillPlanUser(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getUserList());
+
+                }
+                return new ResultVO<>(ResultCodes.OK);
+            }
+        }
+    }
+
+    private void addEmergencyDrillPlanFile(Long uid, Long DrillPlanId, Date nowDate, List<EmergencyDrillPlanFileReqDTO> emergencyDrillPlanFileReqDTOList) {
+        List<EmergencyDrillPlanFileInfo> emergencyDrillPlanFileInfoList = BeanCopyUtils.copyBeanList(emergencyDrillPlanFileReqDTOList, EmergencyDrillPlanFileInfo.class);
+        emergencyDrillPlanFileInfoList.forEach(EmergencyDrillPlanFileInfo -> {
+            EmergencyDrillPlanFileInfo.setDelFlag(false);
+            EmergencyDrillPlanFileInfo.setCreateUid(uid);
+            EmergencyDrillPlanFileInfo.setGmtCreate(nowDate);
+            EmergencyDrillPlanFileInfo.setDrillPlanId(DrillPlanId);
+        });
+        for (EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo : emergencyDrillPlanFileInfoList) {
+            emergencyDrillPlanFileInfoService.addEmergencyDrillPlanFile(emergencyDrillPlanFileInfo);
+        }
+    }
+
+    private void addEmergencyDrillPlanUser(Long uid, Long DrillPlanId, Date nowDate, List<EmergencyDrillPlanUserReqDTO> emergencyDrillPlanUserReqDTOList) {
+        List<EmergencyDrillPlanUserInfo> emergencyDrillPlanUserInfoList = BeanCopyUtils.copyBeanList(emergencyDrillPlanUserReqDTOList, EmergencyDrillPlanUserInfo.class);
+        emergencyDrillPlanUserInfoList.forEach(EmergencyDrillPlanUserInfo -> {
+            EmergencyDrillPlanUserInfo.setDelFlag(false);
+            EmergencyDrillPlanUserInfo.setCreateUid(uid);
+            EmergencyDrillPlanUserInfo.setGmtCreate(nowDate);
+            EmergencyDrillPlanUserInfo.setDrillPlanId(DrillPlanId);
+        });
+        for (EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo : emergencyDrillPlanUserInfoList) {
+            emergencyDrillPlanUserInfoService.addEmergencyDrillPlanUser(emergencyDrillPlanUserInfo);
+        }
+    }
+
+    @Override
+    public ResultVO<EmergencyDrillPlanDetailRespDTO> getEmergencyDrillPlanById(Long id) {
+        EmergencyDrillPlanDetailRespDTO emergencyDrillPlanDetailRespDTO = new EmergencyDrillPlanDetailRespDTO();
+        // 查询是否存在
+        EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(id);
+        if (emergencyDrillPlanInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+        } else {
+            BeanUtils.copyProperties(emergencyDrillPlanInfoDetailDO, emergencyDrillPlanDetailRespDTO);
+
+            // 查找对应的人员
+            List<EmergencyDrillPlanUserInfoDO> emergencyDrillPlanUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyDrillPlanUserInfoDOList)) {
+                List<EmergencyDrillPlanUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillPlanUserInfoDOList, EmergencyDrillPlanUserRespDTO.class);
+                emergencyDrillPlanDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
+            }
+            // 查找对应的附件
+            List<EmergencyDrillPlanFileInfoDO> emergencyDrillPlanFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyDrillPlanFileInfoDOList)) {
+                List<EmergencyDrillPlanFileRespDTO> emergencyUserFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillPlanFileInfoDOList, EmergencyDrillPlanFileRespDTO.class);
+                emergencyDrillPlanDetailRespDTO.setFileList(emergencyUserFileRespDTOList);
+            }
+            return new ResultVO<>(ResultCodes.OK, emergencyDrillPlanDetailRespDTO);
+        }
+    }
+
+    @Override
+    public ResultVO updateEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        Date nowDate = new Date();
+        // 查询是否存在
+        EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillPlanReqDTO.getId());
+        if (emergencyDrillPlanInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+        } else {
+            EmergencyDrillPlanInfo emergencyDrillPlanInfo = new EmergencyDrillPlanInfo();
+            BeanUtils.copyProperties(emergencyDrillPlanReqDTO, emergencyDrillPlanInfo);
+            emergencyDrillPlanInfo.setUpdateUid(uid);
+            emergencyDrillPlanInfo.setGmtModitify(nowDate);
+            emergencyDrillPlanInfoService.updateEmergencyDrillPlan(emergencyDrillPlanInfo);
+
+            // 更新急演练计划附件表
+            if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
+                updateEmergencyDrillPlanFile(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getFileList());
+            }
+            // 更新急演练计划应急队伍表
+            if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getUserList())) {
+                updateEmergencyDrillPlanUser(uid, emergencyDrillPlanInfo.getId(), nowDate, emergencyDrillPlanReqDTO.getUserList());
+            }
+
+            return new ResultVO<>(ResultCodes.OK);
+        }
+    }
+
+    private void updateEmergencyDrillPlanFile(Long uid, Long DrillPlanId, Date
+            nowDate, List<EmergencyDrillPlanFileReqDTO> fileReqDTOList) {
+        List<EmergencyDrillPlanFileInfoDO> emergencyDrillPlanFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(DrillPlanId);
+        List<Long> oldIdsList = emergencyDrillPlanFileInfoDOList.stream().map(EmergencyDrillPlanFileInfoDO::getId).collect(Collectors.toList());
+        List<Long> newIdsList = new ArrayList<>();
+
+        //新增的区域集合
+        List<EmergencyDrillPlanFileInfo> addList = new ArrayList<>();
+        //删除的区域集合(id)
+        List<Long> deleteList = new ArrayList<>();
+        for (EmergencyDrillPlanFileReqDTO emergencyDrillPlanFileReqDTO : fileReqDTOList) {
+            //如果不存在id则表示页面新增的附件
+            if (emergencyDrillPlanFileReqDTO.getId() == null) {
+                EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo = new EmergencyDrillPlanFileInfo();
+                BeanUtils.copyProperties(emergencyDrillPlanFileReqDTO, emergencyDrillPlanFileInfo);
+                emergencyDrillPlanFileInfo.setDelFlag(false);
+                emergencyDrillPlanFileInfo.setGmtCreate(nowDate);
+                emergencyDrillPlanFileInfo.setCreateUid(uid);
+                emergencyDrillPlanFileInfo.setDrillPlanId(DrillPlanId);
+                addList.add(emergencyDrillPlanFileInfo);
+            }
+            //如果存在id则判断页面是否删除
+            else {
+                newIdsList.add(emergencyDrillPlanFileReqDTO.getId());
+            }
+        }
+        for (Long oldId : oldIdsList) {
+            if (!newIdsList.contains(oldId)) {
+                deleteList.add(oldId);
+            }
+        }
+        if (!CollectionUtils.isEmpty(addList)) {
+            for (EmergencyDrillPlanFileInfo emergencyDrillPlanFileInfo : addList) {
+                emergencyDrillPlanFileInfoService.addEmergencyDrillPlanFile(emergencyDrillPlanFileInfo);
+            }
+        }
+        if (!CollectionUtils.isEmpty(deleteList)) {
+            emergencyDrillPlanFileInfoService.deleteEmergencyDrillPlanFileByIds(deleteList);
+        }
+    }
+
+    private void updateEmergencyDrillPlanUser(Long uid, Long DrillPlanId, Date
+            nowDate, List<EmergencyDrillPlanUserReqDTO> UserReqDTOList) {
+        List<EmergencyDrillPlanUserInfoDO> emergencyDrillPlanUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
+        List<Long> oldIdsList = emergencyDrillPlanUserInfoDOList.stream().map(EmergencyDrillPlanUserInfoDO::getId).collect(Collectors.toList());
+        List<Long> newIdsList = new ArrayList<>();
+
+        //新增的区域集合
+        List<EmergencyDrillPlanUserInfo> addList = new ArrayList<>();
+        //删除的区域集合(id)
+        List<Long> deleteList = new ArrayList<>();
+        for (EmergencyDrillPlanUserReqDTO emergencyDrillPlanUserReqDTO : UserReqDTOList) {
+            //如果不存在id则表示页面新增的附件
+            if (emergencyDrillPlanUserReqDTO.getId() == null) {
+                EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo = new EmergencyDrillPlanUserInfo();
+                BeanUtils.copyProperties(emergencyDrillPlanUserReqDTO, emergencyDrillPlanUserInfo);
+                emergencyDrillPlanUserInfo.setDelFlag(false);
+                emergencyDrillPlanUserInfo.setGmtCreate(nowDate);
+                emergencyDrillPlanUserInfo.setCreateUid(uid);
+                emergencyDrillPlanUserInfo.setDrillPlanId(DrillPlanId);
+                addList.add(emergencyDrillPlanUserInfo);
+            }
+            //如果存在id则判断页面是否删除
+            else {
+                newIdsList.add(emergencyDrillPlanUserReqDTO.getId());
+            }
+        }
+        for (Long oldId : oldIdsList) {
+            if (!newIdsList.contains(oldId)) {
+                deleteList.add(oldId);
+            }
+        }
+        if (!CollectionUtils.isEmpty(addList)) {
+            for (EmergencyDrillPlanUserInfo emergencyDrillPlanUserInfo : addList) {
+                emergencyDrillPlanUserInfoService.addEmergencyDrillPlanUser(emergencyDrillPlanUserInfo);
+            }
+        }
+        if (!CollectionUtils.isEmpty(deleteList)) {
+            emergencyDrillPlanUserInfoService.deleteEmergencyDrillPlanUserByIds(deleteList);
+        }
+    }
+
+    @Override
+    public ResultVO batchDeleteEmergencyDrillPlan(String ids) {
+        if (StringUtils.isBlank(ids)) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+        } else {
+            String[] idArr = ids.split(",");
+            for (String id : idArr) {
+                deleteEmergencyDrillPlan(Long.valueOf(id));
+            }
+            return new ResultVO(ResultCodes.OK);
+        }
+    }
+
+    private void deleteEmergencyDrillPlan(Long id) {
+        //查询是否存在
+        EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(id);
+        if (emergencyDrillPlanInfoDetailDO == null) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+        } else {
+            Long DrillPlanId = emergencyDrillPlanInfoDetailDO.getId();
+            emergencyDrillPlanInfoService.deleteEmergencyDrillPlan(DrillPlanId);
+            //删除附件
+            emergencyDrillPlanFileInfoService.deleteEmergencyDrillPlanFileByDrillPlanId(DrillPlanId);
+            //删除应急队伍
+            emergencyDrillPlanUserInfoService.deleteEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
+        }
+    }
+}
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
new file mode 100644
index 0000000..38e2261
--- /dev/null
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -0,0 +1,88 @@
+<?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.gkhy.safePlatform.emergency.repository.EmergencyDrillExecuteInfoRepository">
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoPageDO"
+               id="emergencyDrillExecuteInfoPageDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="status" property="status"/>
+        <result column="drill_record_date" property="drillRecordDate"/>
+        <result column="drill_plan_id" property="drillPlanId"/>
+        <result column="record_user_uid" property="recordUserUid"/>
+        <result column="process_desc" property="processDesc"/>
+    </resultMap>
+
+    <select id="selectEmergencyDrillExecuteList" resultMap="emergencyDrillExecuteInfoPageDOResult">
+        select id,`status`,`drill_record_date`,`drill_plan_id`,`record_user_uid`,process_desc  from emergency_drill_execute where del_flag = 0
+    </select>
+
+    <insert id="addEmergencyDrillExecute" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo"
+            keyProperty="id" useGeneratedKeys="true">
+        insert into emergency_drill_execute
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="delFlag != null ">del_flag,</if>
+            <if test="gmtCreate != null ">gmt_create,</if>
+            <if test="gmtModitify != null ">gmt_moditify,</if>
+            <if test="createUid != null ">create_uid,</if>
+            <if test="updateUid != null ">update_uid,</if>
+            <if test="status != null ">status,</if>
+            <if test="drillRecordDate != null ">drill_record_date,</if>
+            <if test="drillPlanId != null ">drill_plan_id,</if>
+            <if test="recordUserUid != null ">record_user_uid,</if>
+            <if test="processDesc != null and processDesc != ''">`process_desc`,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="delFlag != null ">#{delFlag},</if>
+            <if test="gmtCreate != null ">#{gmtCreate},</if>
+            <if test="gmtModitify != null ">#{gmtModitify},</if>
+            <if test="createUid != null ">#{createUid},</if>
+            <if test="updateUid != null ">#{updateUid},</if>
+            <if test="status != null ">#{status},</if>
+            <if test="drillRecordDate != null ">#{drillRecordDate},</if>
+            <if test="drillPlanId != null ">#{drillPlanId},</if>
+            <if test="recordUserUid != null ">#{recordUserUid},</if>
+            <if test="processDesc != null and processDesc != ''">#{processDesc},</if>
+        </trim>
+    </insert>
+
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfoDetailDO"
+               id="emergencyDrillExecuteInfoDetailDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="status" property="status"/>
+        <result column="drill_record_date" property="drillRecordDate"/>
+        <result column="drill_plan_id" property="drillPlanId"/>
+        <result column="record_user_uid" property="recordUserUid"/>
+        <result column="process_desc" property="processDesc"/>
+    </resultMap>
+
+    <select id="selectEmergencyDrillExecuteById" resultMap="emergencyDrillExecuteInfoDetailDOResult">
+        select id,`status`,`drill_record_date`,`drill_plan_id`,`record_user_uid`,process_desc  from emergency_drill_execute
+        where del_flag = 0 and id = #{id}
+    </select>
+
+    <update id="updateEmergencyDrillExecute" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo">
+        update emergency_drill_execute
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="gmtCreate != null ">gmt_create = #{gmtCreate},</if>
+            <if test="gmtModitify != null ">gmt_moditify = #{gmtModitify},</if>
+            <if test="createUid != null ">create_uid = #{createUid},</if>
+            <if test="updateUid != null ">update_uid = #{updateUid},</if>
+            <if test="status != null ">status = #{status},</if>
+            <if test="drillRecordDate != null ">drill_record_date=#{drillRecordDate},</if>
+            <if test="drillPlanId != null ">drill_plan_id=#{drillPlanId},</if>
+            <if test="recordUserUid != null ">record_user_uid=#{recordUserUid},</if>
+            <if test="processDesc != null and processDesc != ''">process_desc=#{processDesc},</if>
+
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteEmergencyDrillExecute">
+        update emergency_drill_execute set del_flag = 1 where id = #{id}
+    </update>
+</mapper>
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteUserInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteUserInfoMapper.xml
new file mode 100644
index 0000000..95f0b46
--- /dev/null
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteUserInfoMapper.xml
@@ -0,0 +1,52 @@
+<?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.gkhy.safePlatform.emergency.repository.EmergencyDrillExecuteUserInfoRepository">
+
+    <insert id="addEmergencyDrillExecuteUser">
+        insert into emergency_drill_execute_user
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="delFlag != null ">del_flag,</if>
+            <if test="gmtCreate != null ">gmt_create,</if>
+            <if test="gmtModitify != null ">gmt_moditify,</if>
+            <if test="createUid != null ">create_uid,</if>
+            <if test="updateUid != null ">update_uid,</if>
+            <if test="drillExecuteId != null ">drill_execute_id,</if>
+            <if test="userUid != null ">user_uid,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="delFlag != null ">#{delFlag},</if>
+            <if test="gmtCreate != null ">#{gmtCreate},</if>
+            <if test="gmtModitify != null ">#{gmtModitify},</if>
+            <if test="createUid != null ">#{createUid},</if>
+            <if test="updateUid != null ">#{updateUid},</if>
+            <if test="drillExecuteId != null ">#{drillExecuteId},</if>
+            <if test="userUid != null ">#{userUid},</if>
+        </trim>
+    </insert>
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteUserInfoDO" id="emergencyDrillExecuteUserInfoDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="drill_execute_id" property="drillExecuteId" />
+        <result column="user_uid" property="userUid" />
+    </resultMap>
+
+    <select id="selectEmergencyDrillExecuteUserByDrillExecuteId" resultMap="emergencyDrillExecuteUserInfoDOResult">
+        select id,`drill_execute_id`,`user_uid` from emergency_drill_execute_user where del_flag = 0 and drill_execute_id = #{drillExecuteId}
+    </select>
+
+    <update id = "deleteEmergencyDrillExecuteUserByIds" >
+        update emergency_drill_execute_user set del_flag = 1 where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <update id="deleteEmergencyDrillExecuteUserByDrillExecuteId">
+        update emergency_drill_execute_user set del_flag = 1 where drill_execute_id = #{drillExecuteId}
+    </update>
+
+</mapper>
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanFileInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanFileInfoMapper.xml
new file mode 100644
index 0000000..d612f9b
--- /dev/null
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanFileInfoMapper.xml
@@ -0,0 +1,55 @@
+<?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.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanFileInfoRepository">
+
+    <insert id="addEmergencyDrillPlanFile">
+        insert into emergency_drill_plan_file
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="delFlag != null ">del_flag,</if>
+            <if test="gmtCreate != null ">gmt_create,</if>
+            <if test="gmtModitify != null ">gmt_moditify,</if>
+            <if test="createUid != null ">create_uid,</if>
+            <if test="updateUid != null ">update_uid,</if>
+            <if test="drillPlanId != null ">drill_plan_id,</if>
+            <if test="fileUrl != null and fileUrl != ''">file_url,</if>
+            <if test="fileName != null and fileName != ''">file_name</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="delFlag != null ">#{delFlag},</if>
+            <if test="gmtCreate != null ">#{gmtCreate},</if>
+            <if test="gmtModitify != null ">#{gmtModitify},</if>
+            <if test="createUid != null ">#{createUid},</if>
+            <if test="updateUid != null ">#{updateUid},</if>
+            <if test="drillPlanId != null ">#{drillPlanId},</if>
+            <if test="fileUrl != null and fileUrl != ''">#{fileUrl},</if>
+            <if test="fileName != null and fileName != ''">#{fileName}</if>
+        </trim>
+    </insert>
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanFileInfoDO" id="emergencyDrillPlanFileInfoDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="drill_plan_id" property="drillPlanId" />
+        <result column="file_url" property="fileUrl" />
+        <result column="file_name" property="fileName" />
+    </resultMap>
+
+    <select id="selectEmergencyDrillPlanFileByDrillPlanId" resultMap="emergencyDrillPlanFileInfoDOResult">
+        select id,`drill_plan_id`,`file_url`,`file_name` from emergency_drill_plan_file where del_flag = 0 and drill_plan_id = #{drillPlanId}
+    </select>
+
+    <update id = "deleteEmergencyDrillPlanFileByIds" >
+        update emergency_drill_plan_file set del_flag = 1 where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <update id="deleteEmergencyDrillPlanFileByDrillPlanId">
+        update emergency_drill_plan_file set del_flag = 1 where drill_plan_id = #{drillPlanId}
+    </update>
+
+</mapper>
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanInfoMapper.xml
new file mode 100644
index 0000000..5c6c409
--- /dev/null
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanInfoMapper.xml
@@ -0,0 +1,131 @@
+<?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.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanInfoRepository">
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoPageDO"
+               id="emergencyDrillPlanInfoPageDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="drill_name" property="drillName"/>
+        <result column="drill_address" property="drillAddress"/>
+        <result column="drill_way" property="drillWay"/>
+        <result column="drill_level" property="drillLevel"/>
+        <result column="drill_plan_date" property="drillPlanDate"/>
+        <result column="gmt_moditify" property="gmtModitify"/>
+    </resultMap>
+
+    <select id="selectEmergencyDrillPlanList" resultMap="emergencyDrillPlanInfoPageDOResult">
+        select id,`drill_name`,`drill_address`,`drill_way`,`drill_level`,drill_plan_date ,gmt_moditify  from emergency_drill_plan where del_flag = 0
+    </select>
+
+    <insert id="addEmergencyDrillPlan" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfo"
+            keyProperty="id" useGeneratedKeys="true">
+        insert into emergency_drill_plan
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="delFlag != null ">del_flag,</if>
+            <if test="gmtCreate != null ">gmt_create,</if>
+            <if test="gmtModitify != null ">gmt_moditify,</if>
+            <if test="createUid != null ">create_uid,</if>
+            <if test="updateUid != null ">update_uid,</if>
+            <if test="status != null ">status,</if>
+            <if test="makingPlanDate != null ">making_plan_date,</if>
+            <if test="drillPlanDate != null ">drill_plan_date,</if>
+            <if test="makingUserUid != null ">making_user_uid,</if>
+            <if test="makingDepartmentId != null ">making_department_id,</if>
+            <if test="planId != null ">plan_id,</if>
+            <if test="departmentId != null ">department_id,</if>
+            <if test="drillExpense != null ">drill_expense,</if>
+            <if test="drillLevel != null and drillLevel != ''">`drill_level`,</if>
+            <if test="drillAddress != null and drillAddress != ''">`drill_address`,</if>
+            <if test="drillName != null and drillName != ''">`drill_name`,</if>
+            <if test="drillWay != null and drillWay != ''">`drill_way`,</if>
+            <if test="insuranceMeasures != null and insuranceMeasures != ''">`insurance_measures`,</if>
+            <if test="remark != null and remark != ''">`remark`,</if>
+            <if test="purpose != null and purpose != ''">`purpose`,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="delFlag != null ">#{delFlag},</if>
+            <if test="gmtCreate != null ">#{gmtCreate},</if>
+            <if test="gmtModitify != null ">#{gmtModitify},</if>
+            <if test="createUid != null ">#{createUid},</if>
+            <if test="updateUid != null ">#{updateUid},</if>
+            <if test="status != null ">#{status},</if>
+            <if test="makingPlanDate != null ">#{makingPlanDate},</if>
+            <if test="drillPlanDate != null ">#{drillPlanDate},</if>
+            <if test="makingUserUid != null ">#{makingUserUid},</if>
+            <if test="makingDepartmentId != null ">#{makingDepartmentId},</if>
+            <if test="planId != null ">#{planId},</if>
+            <if test="departmentId != null ">#{departmentId},</if>
+            <if test="drillExpense != null ">#{drillExpense},</if>
+            <if test="drillLevel != null and drillLevel != ''">#{drillLevel},</if>
+            <if test="drillAddress != null and drillAddress != ''">#{drillAddress},</if>
+            <if test="drillName != null and drillName != ''">#{drillName},</if>
+            <if test="drillWay != null and drillWay != ''">#{drillWay},</if>
+            <if test="insuranceMeasures != null and insuranceMeasures != ''">#{insuranceMeasures},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+            <if test="purpose != null and purpose != ''">#{purpose},</if>
+        </trim>
+    </insert>
+
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfoDetailDO"
+               id="emergencyDrillPlanInfoDetailDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="status" property="status"/>
+        <result column="gmt_moditify" property="gmtModitify"/>
+        <result column="making_plan_date" property="makingPlanDate"/>
+        <result column="drill_plan_date" property="drillPlanDate"/>
+        <result column="making_user_uid" property="makingUserUid"/>
+        <result column="making_department_id" property="makingDepartmentId"/>
+        <result column="plan_id" property="planId"/>
+        <result column="department_id" property="departmentId"/>
+        <result column="drill_expense" property="drillExpense"/>
+        <result column="drill_name" property="drillName"/>
+        <result column="drill_address" property="drillAddress"/>
+        <result column="drill_way" property="drillWay"/>
+        <result column="drill_level" property="drillLevel"/>
+        <result column="insurance_measures" property="insuranceMeasures"/>
+        <result column="remark" property="remark"/>
+        <result column="purpose" property="purpose"/>
+    </resultMap>
+
+    <select id="selectEmergencyDrillPlanById" resultMap="emergencyDrillPlanInfoDetailDOResult">
+        select id ,`status`,`gmt_moditify`,`making_plan_date`,`drill_plan_date`,making_user_uid ,making_department_id ,plan_id ,department_id,
+         drill_expense ,drill_name ,drill_address ,drill_way ,drill_level ,insurance_measures ,remark ,purpose
+        from emergency_drill_plan
+        where del_flag = 0 and id = #{id}
+    </select>
+
+    <update id="updateEmergencyDrillPlan" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanInfo">
+        update emergency_drill_plan
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="gmtCreate != null ">gmt_create = #{gmtCreate},</if>
+            <if test="gmtModitify != null ">gmt_moditify = #{gmtModitify},</if>
+            <if test="createUid != null ">create_uid = #{createUid},</if>
+            <if test="updateUid != null ">update_uid = #{updateUid},</if>
+            <if test="status != null ">status = #{status},</if>
+            <if test="makingPlanDate != null ">making_plan_date=#{makingPlanDate},</if>
+            <if test="drillPlanDate != null ">drill_plan_date=#{drillPlanDate},</if>
+            <if test="makingUserUid != null ">making_user_uid=#{makingUserUid},</if>
+            <if test="makingDepartmentId != null ">making_department_id=#{makingDepartmentId},</if>
+            <if test="planId != null ">plan_id=#{planId},</if>
+            <if test="departmentId != null ">department_id=#{departmentId},</if>
+            <if test="drillExpense != null ">drill_expense=#{drillExpense},</if>
+            <if test="drillLevel != null and drillLevel != ''">drill_level=#{drillLevel},</if>
+            <if test="drillAddress != null and drillAddress != ''">drill_address=#{drillAddress},</if>
+            <if test="drillName != null and drillName != ''">drill_name=#{drillName},</if>
+            <if test="drillWay != null and drillWay != ''">drill_way=#{drillWay},</if>
+            <if test="insuranceMeasures != null and insuranceMeasures != ''">insurance_measures=#{insuranceMeasures},</if>
+            <if test="remark != null and remark != ''">remark=#{remark},</if>
+            <if test="purpose != null and purpose != ''">purpose=#{purpose},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteEmergencyDrillPlan">
+        update emergency_drill_plan set del_flag = 1 where id = #{id}
+    </update>
+</mapper>
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanUserInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanUserInfoMapper.xml
new file mode 100644
index 0000000..df9dff5
--- /dev/null
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillPlanUserInfoMapper.xml
@@ -0,0 +1,55 @@
+<?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.gkhy.safePlatform.emergency.repository.EmergencyDrillPlanUserInfoRepository">
+
+    <insert id="addEmergencyDrillPlanUser">
+        insert into emergency_drill_plan_user
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="delFlag != null ">del_flag,</if>
+            <if test="gmtCreate != null ">gmt_create,</if>
+            <if test="gmtModitify != null ">gmt_moditify,</if>
+            <if test="createUid != null ">create_uid,</if>
+            <if test="updateUid != null ">update_uid,</if>
+            <if test="drillPlanId != null ">drill_plan_id,</if>
+            <if test="userUid != null ">user_uid,</if>
+            <if test="type != null ">type</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="delFlag != null ">#{delFlag},</if>
+            <if test="gmtCreate != null ">#{gmtCreate},</if>
+            <if test="gmtModitify != null ">#{gmtModitify},</if>
+            <if test="createUid != null ">#{createUid},</if>
+            <if test="updateUid != null ">#{updateUid},</if>
+            <if test="drillPlanId != null ">#{drillPlanId},</if>
+            <if test="userUid != null ">#{userUid},</if>
+            <if test="type != null ">#{type}</if>
+        </trim>
+    </insert>
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillPlanUserInfoDO" id="emergencyDrillPlanUserInfoDOResult">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="drill_plan_id" property="drillPlanId" />
+        <result column="user_uid" property="userUid" />
+        <result column="type" property="type" />
+    </resultMap>
+
+    <select id="selectEmergencyDrillPlanUserByDrillPlanId" resultMap="emergencyDrillPlanUserInfoDOResult">
+        select id,`drill_plan_id`,`user_uid`,`type` from emergency_drill_plan_user where del_flag = 0 and drill_plan_id = #{drillPlanId}
+    </select>
+
+    <update id = "deleteEmergencyDrillPlanUserByIds" >
+        update emergency_drill_plan_user set del_flag = 1 where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <update id="deleteEmergencyDrillPlanUserByDrillPlanId">
+        update emergency_drill_plan_user set del_flag = 1 where drill_plan_id = #{drillPlanId}
+    </update>
+
+</mapper>

--
Gitblit v1.9.2