From 32da2384eb71a24ce325cc21e893db847ea450be Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期一, 25 七月 2022 15:16:39 +0800
Subject: [PATCH] 设备管理

---
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/KeypointEquipmentInfoService.java                       |   28 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentCheckStandardDetailQueryCriteria.java    |  129 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTestDetailQueryCriteria.java             |  129 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareDetail.java                             |   91 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareStardardDetailDto.java          |   68 
 equipment/pom.xml                                                                                                                         |   38 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentCheckStandardDetailDto.java             |  119 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java                    |  319 ++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipMinioAccessService.java                            |  161 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareDetailQueryCriteria.java         |  107 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTypeMngDto.java                         |  131 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/utils/QueryHelpPlus.java                                        |  178 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareDetailRepository.java               |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentInfo.java                                       |  501 ++++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentCheckStandardDetailRepository.java          |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareStardardDetailService.java             |   23 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentStatisticsDto.java                      |   31 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentCheckStandardDetailServiceImpl.java       |   61 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareDetailServiceImpl.java            |   61 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTypeMngServiceImpl.java                   |   81 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTestDetailRepository.java                   |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java              |  233 ++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/MetaHandler.java                                         |   83 
 equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/EquipmentDemoRpcAPi.java                                |    8 
 equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/model/User.java                                         |   24 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentRepairDetailServiceImpl.java              |   61 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoSaveOrUpdate.java                    |  637 +++++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareStardardDetail.java                     |   59 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentRepairDetailRepository.java                 |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentTypeMngController.java                      |  100 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentInfoRepository.java                         |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareDetailService.java                     |   23 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/PublicFileUrlConfig.java                                 |   39 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/KeypointEquipmentInfoRepository.java                 |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/KeypointEquipmentInfo.java                               |  179 +
 equipment/equipment-rpc-provider/pom.xml                                                                                                  |   29 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/excepiton/EquipmentException.java                               |    0 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentInfoService.java                               |   31 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareStardardDetailServiceImpl.java    |   61 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/KeypointEquipmentInfoQueryCriteria.java           |   17 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoQueryCriteria.java                   |   39 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTypeMng.java                                    |   89 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/annotation/Query.java                                           |   59 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTypeMngRepository.java                      |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareStardardDetailRepository.java       |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTestDetailService.java                         |   23 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentRepairDetailService.java                       |   23 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/BaseDomain.java                                          |   51 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentCheckStandardDetail.java                        |  109 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java                 |  172 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTestDetailDto.java                      |  118 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTypeMngService.java                            |   25 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java                      |  248 ++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareStardardDetailQueryCriteria.java |   74 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTypeMngQueryCriteria.java                |   16 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentRepairDetailQueryCriteria.java           |  140 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentRepairDetail.java                               |  121 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java                         |  224 ++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTestDetailServiceImpl.java                |   61 
 equipment/equipment-rpc-api/pom.xml                                                                                                       |   79 
 equipment/equipment-service/pom.xml                                                                                                       |   29 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentRepairDetailDto.java                    |  128 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentInfoDto.java                            |  582 +++++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentCheckStandardDetailService.java                |   23 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareDetailDto.java                  |   98 
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTestDetail.java                                 |  111 +
 66 files changed, 6,610 insertions(+), 0 deletions(-)

diff --git a/equipment/equipment-rpc-api/pom.xml b/equipment/equipment-rpc-api/pom.xml
new file mode 100644
index 0000000..5fec604
--- /dev/null
+++ b/equipment/equipment-rpc-api/pom.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<!--    <parent>
+        <artifactId>equipment</artifactId>
+        <groupId>com.gkhy.safePlatfrom</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>-->
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+
+    <groupId>com.gkhy.safePlatfrom</groupId>
+    <artifactId>equipment-rpc-api</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+
+    <distributionManagement>
+        <!--稳定版本的仓库地址,必须是允许上传的私服地址-->
+        <repository>
+            <id>nexus-gkhy-releases</id>
+            <url>http://121.239.169.27:28080/repository/guotai-release/</url>
+        </repository>
+        <!--开发版本的仓库地址,必须是允许上传的私服地址-->
+        <snapshotRepository>
+            <id>nexus-gkhy-snapshots</id>
+            <url>http://121.239.169.27:28080/repository/guotai-snapshot/</url>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <build>
+        <extensions>
+            <extension>
+                <groupId>kr.motd.maven</groupId>
+                <artifactId>os-maven-plugin</artifactId>
+            </extension>
+        </extensions>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>3.3.0</version>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>src/main/java</source>
+                                <!--                                <source>build/generated/source/proto/main/java</source>-->
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- 上传源码 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>3.2.1</version>
+                <configuration>
+                    <attach>true</attach>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+
+</project>
diff --git a/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/EquipmentDemoRpcAPi.java b/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/EquipmentDemoRpcAPi.java
new file mode 100644
index 0000000..7d472af
--- /dev/null
+++ b/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/EquipmentDemoRpcAPi.java
@@ -0,0 +1,8 @@
+package com.gkhy.safePlatform.equipment.rpc.api;
+
+import com.gkhy.safePlatform.equipment.rpc.api.model.User;
+
+public interface EquipmentDemoRpcAPi {
+
+    String sayHello(User user);
+}
diff --git a/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/model/User.java b/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/model/User.java
new file mode 100644
index 0000000..eac48c2
--- /dev/null
+++ b/equipment/equipment-rpc-api/src/main/java/com/gkhy/safePlatform/equipment/rpc/api/model/User.java
@@ -0,0 +1,24 @@
+package com.gkhy.safePlatform.equipment.rpc.api.model;
+
+public class User {
+
+    private String name;
+
+    private String email;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+}
diff --git a/equipment/equipment-rpc-provider/pom.xml b/equipment/equipment-rpc-provider/pom.xml
new file mode 100644
index 0000000..5362e3f
--- /dev/null
+++ b/equipment/equipment-rpc-provider/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>equipment</artifactId>
+        <groupId>com.gkhy.safePlatfrom</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+
+    <artifactId>equipment-rpc-provider</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.gkhy.safePlatfrom</groupId>
+            <artifactId>equipment-rpc-api</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.gkhy.safePlatfrom</groupId>
+            <artifactId>equipment-service</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+
+</project>
diff --git a/equipment/equipment-service/pom.xml b/equipment/equipment-service/pom.xml
new file mode 100644
index 0000000..2aa5b3b
--- /dev/null
+++ b/equipment/equipment-service/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>equipment</artifactId>
+        <groupId>com.gkhy.safePlatfrom</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+
+
+    <artifactId>equipment-service</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.gkhy.safePlatfrom</groupId>
+            <artifactId>equipment-rpc-api</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.gkhy.safePlatfrom</groupId>
+            <artifactId>account-rpc-api</artifactId>
+        </dependency>
+    </dependencies>
+
+
+</project>
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/annotation/Query.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/annotation/Query.java
new file mode 100644
index 0000000..dc36f72
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/annotation/Query.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (C) 2018-2022
+ * All rights reserved, Designed By www.yixiang.co
+ * 注意:
+ * 本软件为www.yixiang.co开发研制
+ */
+package com.gkhy.safePlatform.equipment.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Query {
+
+    // Dong ZhaoYang 2017/8/7 基本对象的属性名
+    String propName() default "";
+
+    // Dong ZhaoYang 2017/8/7 查询方式
+    Type type() default Type.EQUAL;
+
+    /**
+     * 多字段模糊搜索,仅支持String类型字段,多个用逗号隔开, 如@Query(blurry = "email,username")
+     */
+    String blurry() default "";
+
+    enum Type {
+        // jie 2019/6/4 相等
+        EQUAL
+        // Dong ZhaoYang 2017/8/7 大于等于
+        , GREATER_THAN
+        // Dong ZhaoYang 2017/8/7 小于等于
+        , LESS_THAN
+        // Dong ZhaoYang 2017/8/7 中模糊查询
+        , INNER_LIKE
+        // Dong ZhaoYang 2017/8/7 左模糊查询
+        , LEFT_LIKE
+        // Dong ZhaoYang 2017/8/7 右模糊查询
+        , RIGHT_LIKE
+        // Dong ZhaoYang 2017/8/7 小于
+        , LESS_THAN_NQ
+        // jie 2019/6/4 包含
+        , IN
+        // 不等于
+        , NOT_EQUAL
+        // between
+        , BETWEEN
+        // 不为空
+        , NOT_NULL
+        // 查询时间
+        , UNIX_TIMESTAMP
+    }
+
+}
+
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/MetaHandler.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/MetaHandler.java
new file mode 100644
index 0000000..4628b06
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/MetaHandler.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright (C) 2018-2022
+ * All rights reserved, Designed By www.yixiang.co
+ * 注意:
+ * 本软件为www.yixiang.co开发研制
+ */
+package com.gkhy.safePlatform.equipment.config;
+
+/**
+ * @date :Created in 2020-04-10 15:47
+ * @description:自动注入时间处理
+ * @modified By:
+ * @version:
+ */
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import org.apache.ibatis.reflection.MetaObject;
+
+import java.sql.Timestamp;
+
+/**
+ * 处理新增和更新的基础数据填充,配合BaseEntity和MyBatisPlusConfig使用
+ */
+//@Component
+public class MetaHandler implements MetaObjectHandler {
+
+
+    /**
+     * 新增数据执行
+     *
+     * @param metaObject
+     */
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        try {
+            Timestamp time = new Timestamp(System.currentTimeMillis());
+            if (metaObject.hasSetter("createTime")) {
+                this.setFieldValByName("createTime", time, metaObject);
+            }
+            if (metaObject.hasSetter("updateTime")) {
+                this.setFieldValByName("updateTime", time, metaObject);
+            }
+            if (metaObject.hasSetter("createDate")) {
+                this.setFieldValByName("createDate", time, metaObject);
+            }
+            if (metaObject.hasSetter("updateDate")) {
+                this.setFieldValByName("updateDate", time, metaObject);
+            }
+            if (metaObject.hasSetter("delFlag")) {
+                this.setFieldValByName("delFlag", false, metaObject);
+            }
+        } catch (Exception e) {
+            System.out.println("自动注入失败:"+e.getMessage());
+        }
+    }
+
+    /**
+     * 更新数据执行
+     *
+     * @param metaObject
+     */
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        try {
+            Timestamp time = new Timestamp(System.currentTimeMillis());
+            if (metaObject.hasSetter("updateTime")) {
+                this.setFieldValByName("updateTime", time, metaObject);
+            }
+            if (metaObject.hasSetter("updateDate")) {
+                this.setFieldValByName("updateDate", time, metaObject);
+            }
+            if (metaObject.hasSetter("delFlag")) {
+                this.setFieldValByName("delFlag", null, metaObject);
+            }
+            if (metaObject.hasSetter("createTime")) {
+                this.setFieldValByName("createTime", null, metaObject);
+            }
+        } catch (Exception e) {
+            System.out.println("自动注入失败:"+e.getMessage());
+        }
+    }
+
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/PublicFileUrlConfig.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/PublicFileUrlConfig.java
new file mode 100644
index 0000000..5365aaa
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/config/PublicFileUrlConfig.java
@@ -0,0 +1,39 @@
+package com.gkhy.safePlatform.equipment.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 公共文件的配置
+ */
+
+@Configuration
+@ConfigurationProperties(prefix = "public-file")
+public class PublicFileUrlConfig {
+
+    /**
+     * 上传的地址
+     */
+    private static String uploadUrl;
+
+    public void setUploadUrl(String uploadUrl) {
+        PublicFileUrlConfig.uploadUrl = uploadUrl;
+    }
+
+    public static String getUploadUrl() {
+        return uploadUrl;
+    }
+
+    /**
+     * 资源的域名
+     */
+    private static String domain;
+
+    public void setDomain(String domain) {
+        PublicFileUrlConfig.domain = domain;
+    }
+
+    public static String getDomain() {
+        return domain;
+    }
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java
new file mode 100644
index 0000000..fe40613
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java
@@ -0,0 +1,224 @@
+package com.gkhy.safePlatform.equipment.controller;
+import com.alibaba.fastjson.JSONObject;
+import com.gkhy.safePlatform.equipment.entity.*;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoSaveOrUpdate;
+import com.google.common.collect.Lists;
+import java.sql.Timestamp;
+
+
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto;
+import com.gkhy.safePlatform.equipment.service.EquipmentInfoService;
+import org.springframework.web.bind.annotation.*;
+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.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoQueryCriteria;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 设备设施详细信息(EquipmentInfo)表控制层
+ *
+ * @author xurui
+ * @since 2022-07-19 14:02:50
+ */
+@RestController
+@RequestMapping("equipmentInfo")
+public class EquipmentInfoController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private EquipmentInfoService equipmentInfoService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param pageQuery 查询实体
+     * @return 所有数据
+     */
+    @PostMapping(value = "/page/list")
+    public ResultVO selectAll(@RequestBody PageQuery<EquipmentInfoQueryCriteria> pageQuery){
+        if(pageQuery.getSearchParams().getInfoType() == null){
+            return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少infoType");
+        }
+
+		PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+		return this.equipmentInfoService.queryAll(pageQuery);
+    }
+
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping(value = "/selectOne/{id}")
+    public ResultVO selectOne(@PathVariable Serializable id) {
+        return new ResultVO<>(ResultCodes.OK,this.equipmentInfoService.selectOne(id));
+    }
+
+	/**
+     * 新增或者修改数据
+     *
+     * @param infoDto 实体对象
+     * @return 修改结果
+     */
+    @PostMapping(value = "/addOrUpdate")
+    public ResultVO update(@RequestBody EquipmentInfoSaveOrUpdate infoDto) {
+        if(infoDto.getInfoType() == null || infoDto.getEquipmentTypeId() == null){
+            return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少infoType或者equipmentTypeId");
+        }
+        if(infoDto.getInfoType() == 3){
+            return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"infoType值异常");
+        }
+
+        equipmentInfoService.addOrUpdate(infoDto);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param ids 主键结合
+     * @return 删除结果
+     */
+    @GetMapping(value = "/delete")
+    public ResultVO delete(String ids) {
+	List<String> idList = Arrays.stream(ids.split(","))
+                .collect(Collectors.toList());
+        this.equipmentInfoService.removeByIds(idList);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+    /**
+     * 统计
+     *
+     * @return 删除结果
+     */
+    @GetMapping(value = "/statistics")
+    public ResultVO statistics() {
+
+        return new ResultVO<>(ResultCodes.OK,this.equipmentInfoService.statistics());
+    }
+
+    public static void main(String[] args) {
+        EquipmentInfoDto infoDto = new EquipmentInfoDto();
+        List<EquipmentRepairDetail> repairDetails = Lists.newArrayList();
+        EquipmentRepairDetail repairDetail = new EquipmentRepairDetail();
+        repairDetail.setInfoTpe(0);
+        repairDetail.setRepairPersonId(0L);
+        repairDetail.setRepairStartDate(new Timestamp(new java.util.Date().getTime()));
+        repairDetail.setRepairEndDate(new Timestamp(new java.util.Date().getTime()));
+        repairDetail.setRepairPersonDepartmentId(0L);
+        repairDetail.setRepairMemo("");
+        repairDetail.setRepairStatus(0);
+        repairDetail.setExceptionInfo("");
+        repairDetails.add(repairDetail);
+        infoDto.setRepaireDetailList(repairDetails);
+
+        //
+        infoDto.setCheckDetailList(new ArrayList());
+
+        //
+        List<EquipmentTestDetail> testDetails = Lists.newArrayList();
+        EquipmentTestDetail equipmentTestDetail = new EquipmentTestDetail();
+        equipmentTestDetail.setTestPersonId(0L);
+        equipmentTestDetail.setTestDate(new Timestamp(new java.util.Date().getTime()));
+        equipmentTestDetail.setTestPersonDepartmentId(0L);
+        equipmentTestDetail.setTestMemo("");
+        equipmentTestDetail.setTestResult(0);
+        equipmentTestDetail.setTestStatus("");
+        testDetails.add(equipmentTestDetail);
+        infoDto.setTestDetailList(testDetails);
+
+        List<EquipmentTakecareDetail> takecareDetails = Lists.newArrayList();
+        EquipmentTakecareDetail takecareDetail = new EquipmentTakecareDetail();
+        takecareDetail.setEquipmentId(0L);
+        takecareDetail.setTakecareMemo("");
+        takecareDetail.setLeadingPersonId(0L);
+        takecareDetail.setTakecareDate(new Timestamp(new java.util.Date().getTime()));
+        takecareDetail.setLeadingPersonDepartmentId(0L);
+        takecareDetails.add(takecareDetail);
+        infoDto.setTakecareDetailList(takecareDetails);
+
+        List<EquipmentTakecareStardardDetail> takecareStardardDetails = Lists.newArrayList();
+        EquipmentTakecareStardardDetail takecareStardardDetail = new EquipmentTakecareStardardDetail();
+        takecareStardardDetail.setFilePath("123");
+        takecareStardardDetails.add(takecareStardardDetail);
+        infoDto.setTakecareStardardeDetailList(takecareStardardDetails);
+
+
+        List<EquipmentCheckStandardDetail> theckStandardeDetails = Lists.newArrayList();
+        EquipmentCheckStandardDetail theckStandardeDetail = new EquipmentCheckStandardDetail();
+        theckStandardeDetail.setIndexNum("1");
+        theckStandardeDetail.setCheckContent("2");
+        theckStandardeDetail.setCheckTarget("3");
+        theckStandardeDetail.setUnit("4");
+        theckStandardeDetail.setCheckPart("5");
+        theckStandardeDetail.setRate("6");
+        theckStandardeDetails.add(theckStandardeDetail);
+        infoDto.setCheckStandardeDetailList(theckStandardeDetails);
+
+
+
+
+        infoDto.setEquipmentTypeId(0L);
+        infoDto.setInfoType(0);
+        infoDto.setqName("");
+        infoDto.setPositionNum("");
+        infoDto.setqUsage("");
+        infoDto.setModel("");
+        infoDto.setDepartmentId(0L);
+        infoDto.setSetPart("");
+        infoDto.setProduceTime(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setUseEndDay("");
+        infoDto.setLifeCycle(0);
+        infoDto.setUseDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setRepairStatus(0);
+        infoDto.setStopStatus(0);
+        infoDto.setPreviousCheckDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setPreviousTestDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setPreviousTakecareDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setNextCheckDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setNextTestDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setNextTakecareDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setLeadingPersonId(0L);
+        infoDto.setLeadingPersonDepartmentId(0L);
+        infoDto.setSupplyName("");
+        infoDto.setUseMemo("");
+        infoDto.setIsNeedCheck(0);
+        infoDto.setCheckCycle("");
+        infoDto.setCheckWarn("");
+        infoDto.setIsNeedTest(0);
+        infoDto.setTestCycle("");
+        infoDto.setTestWarn("");
+        infoDto.setIsNeedTakecare(0);
+        infoDto.setCheckContent("");
+        infoDto.setLeadingDepartmentId(0L);
+        infoDto.setCheckPoint("");
+        infoDto.setAlertNum("");
+        infoDto.setLockNum("");
+        infoDto.setStopReason("");
+        infoDto.setAfterStopStep("");
+        infoDto.setActualStopDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setStopSubmitPersonId(0L);
+        infoDto.setStopSubmitDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setRecoveryReason("");
+        infoDto.setRecoverySubmitDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setActualRecoveryDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setDestoryReason("");
+        infoDto.setDestorySubmitDate(new Timestamp(new java.util.Date().getTime()));
+        infoDto.setActualDestoryDate(new Timestamp(new java.util.Date().getTime()));
+        System.out.println(JSONObject.toJSONString(infoDto));
+
+
+    }
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentTypeMngController.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentTypeMngController.java
new file mode 100644
index 0000000..15dcf11
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentTypeMngController.java
@@ -0,0 +1,100 @@
+package com.gkhy.safePlatform.equipment.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
+import com.gkhy.safePlatform.equipment.service.EquipmentTypeMngService;
+import org.springframework.web.bind.annotation.*;
+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.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTypeMngQueryCriteria;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 设备设施类型管理(EquipmentTypeMng)表控制层
+ *
+ * @author xurui
+ * @since 2022-07-19 08:35:02
+ */
+@RestController
+@RequestMapping("equipmentTypeMng")
+public class EquipmentTypeMngController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private EquipmentTypeMngService equipmentTypeMngService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param pageQuery 查询实体
+     * @return 所有数据
+     */
+    @PostMapping(value = "/page/list")
+    public ResultVO selectAll(@RequestBody PageQuery<EquipmentTypeMngQueryCriteria> pageQuery){
+		PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+		return this.equipmentTypeMngService.queryAll(pageQuery);
+    }
+
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping(value = "/selectOne/{id}")
+    public ResultVO selectOne(@PathVariable Serializable id) {
+        return new ResultVO<>(ResultCodes.OK,this.equipmentTypeMngService.getById(id));
+    }
+
+	/**
+     * 新增或者修改数据
+     *
+     * @param equipmentTypeMng 实体对象
+     * @return 修改结果
+     */
+    @PostMapping(value = "/addOrUpdate")
+    public ResultVO update(@RequestBody EquipmentTypeMng equipmentTypeMng) {
+        if (equipmentTypeMng.getId() == null) {
+            return new ResultVO<>(ResultCodes.OK,equipmentTypeMngService.save(equipmentTypeMng));
+        } else {
+            equipmentTypeMngService.update(equipmentTypeMng,new UpdateWrapper<EquipmentTypeMng>().eq("id",equipmentTypeMng.getId()));
+            return new ResultVO<>(ResultCodes.OK);
+        }
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param ids 主键结合
+     * @return 删除结果
+     */
+    @GetMapping(value = "/delete")
+    public ResultVO delete(String ids) {
+	List<String> idList = Arrays.stream(ids.split(","))
+                .collect(Collectors.toList());
+        this.equipmentTypeMngService.removeByIds(idList);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+
+    /**
+     * 设备设施类型-树状数据结构
+     *
+     * @return 所有数据
+     */
+    @GetMapping(value = "/treeData")
+    public ResultVO treeData(){
+        return new ResultVO<>(ResultCodes.OK,this.equipmentTypeMngService.treeData(0L));
+    }
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java
new file mode 100644
index 0000000..b3b561c
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java
@@ -0,0 +1,172 @@
+package com.gkhy.safePlatform.equipment.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gkhy.safePlatform.equipment.entity.*;
+import com.gkhy.safePlatform.equipment.model.dto.resp.KeypointEquipmentInfoDto;
+import com.gkhy.safePlatform.equipment.service.KeypointEquipmentInfoService;
+import com.google.common.collect.Lists;
+import org.springframework.web.bind.annotation.*;
+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.commons.enums.ResultCodes;
+import com.gkhy.safePlatform.equipment.model.dto.req.KeypointEquipmentInfoQueryCriteria;
+
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表控制层
+ *
+ * @author xurui
+ * @since 2022-07-19 13:36:27
+ */
+@RestController
+@RequestMapping("keypointEquipmentInfo")
+public class KeypointEquipmentInfoController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private KeypointEquipmentInfoService keypointEquipmentInfoService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param pageQuery 查询实体
+     * @return 所有数据
+     */
+    @PostMapping(value = "/page/list")
+    public ResultVO selectAll(@RequestBody PageQuery<KeypointEquipmentInfoQueryCriteria> pageQuery){
+		PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+		return this.keypointEquipmentInfoService.queryAll(pageQuery);
+    }
+	
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping(value = "/selectOne/{id}")
+    public ResultVO selectOne(@PathVariable Serializable id) {
+        return new ResultVO<>(ResultCodes.OK,this.keypointEquipmentInfoService.selectOne(id));
+    }
+
+	/**
+     * 新增或者修改数据
+     *
+     * @param infoDto 实体对象
+     * @return 修改结果
+     */
+    @PostMapping(value = "/addOrUpdate")
+    public ResultVO update(@RequestBody KeypointEquipmentInfoDto infoDto) {
+        if(infoDto.getEquipmentTypeId() == null){
+            return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少equipmentTypeId");
+        }
+        keypointEquipmentInfoService.addOrUpdate(infoDto);
+        return new ResultVO<>(ResultCodes.OK);
+
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param ids 主键结合
+     * @return 删除结果
+     */
+    @GetMapping(value = "/delete")
+    public ResultVO delete(String ids) {
+	List<String> idList = Arrays.stream(ids.split(","))
+                .collect(Collectors.toList());
+        this.keypointEquipmentInfoService.removeByIds(idList);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+
+
+    public static void main(String[] args) {
+        KeypointEquipmentInfoDto infoDto = new KeypointEquipmentInfoDto();
+        List<EquipmentRepairDetail> repairDetails = Lists.newArrayList();
+        EquipmentRepairDetail repairDetail = new EquipmentRepairDetail();
+        repairDetail.setInfoTpe(0);
+        repairDetail.setRepairPersonId(0L);
+        repairDetail.setRepairStartDate(new Timestamp(new java.util.Date().getTime()));
+        repairDetail.setRepairEndDate(new Timestamp(new java.util.Date().getTime()));
+        repairDetail.setRepairPersonDepartmentId(0L);
+        repairDetail.setRepairMemo("");
+        repairDetail.setRepairStatus(0);
+        repairDetail.setExceptionInfo("");
+        repairDetails.add(repairDetail);
+        infoDto.setRepaireDetailList(repairDetails);
+
+        //
+        infoDto.setCheckDetailList(new ArrayList());
+
+        //
+        List<EquipmentTestDetail> testDetails = Lists.newArrayList();
+        EquipmentTestDetail equipmentTestDetail = new EquipmentTestDetail();
+        equipmentTestDetail.setTestPersonId(0L);
+        equipmentTestDetail.setTestDate(new Timestamp(new java.util.Date().getTime()));
+        equipmentTestDetail.setTestPersonDepartmentId(0L);
+        equipmentTestDetail.setTestMemo("");
+        equipmentTestDetail.setTestResult(0);
+        equipmentTestDetail.setTestStatus("");
+        testDetails.add(equipmentTestDetail);
+        infoDto.setTestDetailList(testDetails);
+
+        List<EquipmentTakecareDetail> takecareDetails = Lists.newArrayList();
+        EquipmentTakecareDetail takecareDetail = new EquipmentTakecareDetail();
+        takecareDetail.setEquipmentId(0L);
+        takecareDetail.setTakecareMemo("");
+        takecareDetail.setLeadingPersonId(0L);
+        takecareDetail.setTakecareDate(new Timestamp(new java.util.Date().getTime()));
+        takecareDetail.setLeadingPersonDepartmentId(0L);
+        takecareDetails.add(takecareDetail);
+        infoDto.setTakecareDetailList(takecareDetails);
+
+        List<EquipmentTakecareStardardDetail> takecareStardardDetails = Lists.newArrayList();
+        EquipmentTakecareStardardDetail takecareStardardDetail = new EquipmentTakecareStardardDetail();
+        takecareStardardDetail.setFilePath("123");
+        takecareStardardDetails.add(takecareStardardDetail);
+        infoDto.setTakecareStardardeDetailList(takecareStardardDetails);
+
+
+        List<EquipmentCheckStandardDetail> theckStandardeDetails = Lists.newArrayList();
+        EquipmentCheckStandardDetail theckStandardeDetail = new EquipmentCheckStandardDetail();
+        theckStandardeDetail.setIndexNum("1");
+        theckStandardeDetail.setCheckContent("2");
+        theckStandardeDetail.setCheckTarget("3");
+        theckStandardeDetail.setUnit("4");
+        theckStandardeDetail.setCheckPart("5");
+        theckStandardeDetail.setRate("6");
+        theckStandardeDetails.add(theckStandardeDetail);
+        infoDto.setCheckStandardeDetailList(theckStandardeDetails);
+
+
+        infoDto.setName("3123");
+        infoDto.setDepartmentId(0L);
+        infoDto.setPosition("312");
+        infoDto.setLeadingPersonName("312");
+        infoDto.setConnectPersonId(0L);
+        infoDto.setInputPersonId(0L);
+        infoDto.setResponsibilityPersonId(0L);
+        infoDto.setPartType(0);
+        infoDto.setCheckCycle("");
+        infoDto.setEmergencePlanId(0L);
+        infoDto.setDangerousElement("");
+        infoDto.setToDangerous("份12");
+        infoDto.setTreatment("发生的");
+        infoDto.setScenePic("");
+        System.out.println(JSONObject.toJSONString(infoDto));
+
+
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/BaseDomain.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/BaseDomain.java
new file mode 100644
index 0000000..9be3a5d
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/BaseDomain.java
@@ -0,0 +1,51 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * @ClassName 公共模型
+ **/
+public class BaseDomain implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+
+//    @TableLogic
+//    @JsonIgnore
+//    private Integer isDel;
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentCheckStandardDetail.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentCheckStandardDetail.java
new file mode 100644
index 0000000..d127a14
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentCheckStandardDetail.java
@@ -0,0 +1,109 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备检查标准设置(EquipmentCheckStandardDetail)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-20 09:24:14
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_check_standard_detail")
+public class EquipmentCheckStandardDetail extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
+    private Integer infoTpe;
+        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+                //设备ID/外键
+    private Long equipmentId;
+        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+                //序号
+    private String indexNum;
+        
+    public String getIndexNum() {
+        return indexNum;
+    }
+
+    public void setIndexNum(String indexNum) {
+        this.indexNum = indexNum;
+    }
+                //检查内容
+    private String checkContent;
+        
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+                //检查指标
+    private String checkTarget;
+        
+    public String getCheckTarget() {
+        return checkTarget;
+    }
+
+    public void setCheckTarget(String checkTarget) {
+        this.checkTarget = checkTarget;
+    }
+                //单位
+    private String unit;
+        
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+                //巡检部位
+    private String checkPart;
+        
+    public String getCheckPart() {
+        return checkPart;
+    }
+
+    public void setCheckPart(String checkPart) {
+        this.checkPart = checkPart;
+    }
+                //频次
+    private String rate;
+        
+    public String getRate() {
+        return rate;
+    }
+
+    public void setRate(String rate) {
+        this.rate = rate;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentInfo.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentInfo.java
new file mode 100644
index 0000000..edf71e4
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentInfo.java
@@ -0,0 +1,501 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import java.sql.Timestamp;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备设施详细信息(EquipmentInfo)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-20 09:19:29
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_info")
+public class EquipmentInfo extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //类型/类别外键
+    private Long equipmentTypeId;
+        
+    public Long getEquipmentTypeId() {
+        return equipmentTypeId;
+    }
+
+    public void setEquipmentTypeId(Long equipmentTypeId) {
+        this.equipmentTypeId = equipmentTypeId;
+    }
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 
+    private Integer infoType;
+        
+    public Integer getInfoType() {
+        return infoType;
+    }
+
+    public void setInfoType(Integer infoType) {
+        this.infoType = infoType;
+    }
+                //名称
+    private String qName;
+        
+    public String getQName() {
+        return qName;
+    }
+
+    public void setQName(String qName) {
+        this.qName = qName;
+    }
+                //位号
+    private String positionNum;
+        
+    public String getPositionNum() {
+        return positionNum;
+    }
+
+    public void setPositionNum(String positionNum) {
+        this.positionNum = positionNum;
+    }
+                //用途
+    private String qUsage;
+        
+    public String getQUsage() {
+        return qUsage;
+    }
+
+    public void setQUsage(String qUsage) {
+        this.qUsage = qUsage;
+    }
+                //型号
+    private String model;
+        
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+                //单位部门外键
+    private Long departmentId;
+        
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+                //设置部位
+    private String setPart;
+        
+    public String getSetPart() {
+        return setPart;
+    }
+
+    public void setSetPart(String setPart) {
+        this.setPart = setPart;
+    }
+                //生产日期
+    private Timestamp produceTime;
+        
+    public Timestamp getProduceTime() {
+        return produceTime;
+    }
+
+    public void setProduceTime(Timestamp produceTime) {
+        this.produceTime = produceTime;
+    }
+                //使用期限(天)
+    private String useEndDay;
+        
+    public String getUseEndDay() {
+        return useEndDay;
+    }
+
+    public void setUseEndDay(String useEndDay) {
+        this.useEndDay = useEndDay;
+    }
+                //生命周期 1:已使用 2:库存中 3:报废
+    private Integer lifeCycle;
+        
+    public Integer getLifeCycle() {
+        return lifeCycle;
+    }
+
+    public void setLifeCycle(Integer lifeCycle) {
+        this.lifeCycle = lifeCycle;
+    }
+                //投用日期
+    private Timestamp useDate;
+        
+    public Timestamp getUseDate() {
+        return useDate;
+    }
+
+    public void setUseDate(Timestamp useDate) {
+        this.useDate = useDate;
+    }
+                //维修状态 1:维修中 2:已修好
+    private Integer repairStatus;
+        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+                //停用状态 1:停用 2.在用 3.维修 4.报废
+    private Integer stopStatus;
+        
+    public Integer getStopStatus() {
+        return stopStatus;
+    }
+
+    public void setStopStatus(Integer stopStatus) {
+        this.stopStatus = stopStatus;
+    }
+                //上次检查日期
+    private Timestamp previousCheckDate;
+        
+    public Timestamp getPreviousCheckDate() {
+        return previousCheckDate;
+    }
+
+    public void setPreviousCheckDate(Timestamp previousCheckDate) {
+        this.previousCheckDate = previousCheckDate;
+    }
+                //上次检测日期
+    private Timestamp previousTestDate;
+        
+    public Timestamp getPreviousTestDate() {
+        return previousTestDate;
+    }
+
+    public void setPreviousTestDate(Timestamp previousTestDate) {
+        this.previousTestDate = previousTestDate;
+    }
+                //上次保养日期
+    private Timestamp previousTakecareDate;
+        
+    public Timestamp getPreviousTakecareDate() {
+        return previousTakecareDate;
+    }
+
+    public void setPreviousTakecareDate(Timestamp previousTakecareDate) {
+        this.previousTakecareDate = previousTakecareDate;
+    }
+                //下次检查日期
+    private Timestamp nextCheckDate;
+        
+    public Timestamp getNextCheckDate() {
+        return nextCheckDate;
+    }
+
+    public void setNextCheckDate(Timestamp nextCheckDate) {
+        this.nextCheckDate = nextCheckDate;
+    }
+                //下次检测日期
+    private Timestamp nextTestDate;
+        
+    public Timestamp getNextTestDate() {
+        return nextTestDate;
+    }
+
+    public void setNextTestDate(Timestamp nextTestDate) {
+        this.nextTestDate = nextTestDate;
+    }
+                //下次保养日期
+    private Timestamp nextTakecareDate;
+        
+    public Timestamp getNextTakecareDate() {
+        return nextTakecareDate;
+    }
+
+    public void setNextTakecareDate(Timestamp nextTakecareDate) {
+        this.nextTakecareDate = nextTakecareDate;
+    }
+                //负责人ID外键
+    private Long leadingPersonId;
+        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+                //负责人部门外键
+    private Long leadingPersonDepartmentId;
+        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+                //供应商
+    private String supplyName;
+        
+    public String getSupplyName() {
+        return supplyName;
+    }
+
+    public void setSupplyName(String supplyName) {
+        this.supplyName = supplyName;
+    }
+                //使用说明
+    private String useMemo;
+        
+    public String getUseMemo() {
+        return useMemo;
+    }
+
+    public void setUseMemo(String useMemo) {
+        this.useMemo = useMemo;
+    }
+                //是否检查 1:是 2:否
+    private Integer isNeedCheck;
+        
+    public Integer getIsNeedCheck() {
+        return isNeedCheck;
+    }
+
+    public void setIsNeedCheck(Integer isNeedCheck) {
+        this.isNeedCheck = isNeedCheck;
+    }
+                //检查周期
+    private String checkCycle;
+        
+    public String getCheckCycle() {
+        return checkCycle;
+    }
+
+    public void setCheckCycle(String checkCycle) {
+        this.checkCycle = checkCycle;
+    }
+                //检查提前提醒
+    private String checkWarn;
+        
+    public String getCheckWarn() {
+        return checkWarn;
+    }
+
+    public void setCheckWarn(String checkWarn) {
+        this.checkWarn = checkWarn;
+    }
+                //是否检测 1:是 2:否
+    private Integer isNeedTest;
+        
+    public Integer getIsNeedTest() {
+        return isNeedTest;
+    }
+
+    public void setIsNeedTest(Integer isNeedTest) {
+        this.isNeedTest = isNeedTest;
+    }
+                //检测周期
+    private String testCycle;
+        
+    public String getTestCycle() {
+        return testCycle;
+    }
+
+    public void setTestCycle(String testCycle) {
+        this.testCycle = testCycle;
+    }
+                //检测提前提醒
+    private String testWarn;
+        
+    public String getTestWarn() {
+        return testWarn;
+    }
+
+    public void setTestWarn(String testWarn) {
+        this.testWarn = testWarn;
+    }
+                //是否保养 1:是 2:否
+    private Integer isNeedTakecare;
+        
+    public Integer getIsNeedTakecare() {
+        return isNeedTakecare;
+    }
+
+    public void setIsNeedTakecare(Integer isNeedTakecare) {
+        this.isNeedTakecare = isNeedTakecare;
+    }
+                //检查内容
+    private String checkContent;
+        
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+                //负责部门/外键
+    private Long leadingDepartmentId;
+        
+    public Long getLeadingDepartmentId() {
+        return leadingDepartmentId;
+    }
+
+    public void setLeadingDepartmentId(Long leadingDepartmentId) {
+        this.leadingDepartmentId = leadingDepartmentId;
+    }
+                //检查指标
+    private String checkPoint;
+        
+    public String getCheckPoint() {
+        return checkPoint;
+    }
+
+    public void setCheckPoint(String checkPoint) {
+        this.checkPoint = checkPoint;
+    }
+                //预警值
+    private String alertNum;
+        
+    public String getAlertNum() {
+        return alertNum;
+    }
+
+    public void setAlertNum(String alertNum) {
+        this.alertNum = alertNum;
+    }
+                //联锁值
+    private String lockNum;
+        
+    public String getLockNum() {
+        return lockNum;
+    }
+
+    public void setLockNum(String lockNum) {
+        this.lockNum = lockNum;
+    }
+                //停用理由
+    private String stopReason;
+        
+    public String getStopReason() {
+        return stopReason;
+    }
+
+    public void setStopReason(String stopReason) {
+        this.stopReason = stopReason;
+    }
+                //停用后措施
+    private String afterStopStep;
+        
+    public String getAfterStopStep() {
+        return afterStopStep;
+    }
+
+    public void setAfterStopStep(String afterStopStep) {
+        this.afterStopStep = afterStopStep;
+    }
+                //实际停用日期
+    private Timestamp actualStopDate;
+        
+    public Timestamp getActualStopDate() {
+        return actualStopDate;
+    }
+
+    public void setActualStopDate(Timestamp actualStopDate) {
+        this.actualStopDate = actualStopDate;
+    }
+                //停用提交人/外键
+    private Long stopSubmitPersonId;
+        
+    public Long getStopSubmitPersonId() {
+        return stopSubmitPersonId;
+    }
+
+    public void setStopSubmitPersonId(Long stopSubmitPersonId) {
+        this.stopSubmitPersonId = stopSubmitPersonId;
+    }
+                //停用提交日期
+    private Timestamp stopSubmitDate;
+        
+    public Timestamp getStopSubmitDate() {
+        return stopSubmitDate;
+    }
+
+    public void setStopSubmitDate(Timestamp stopSubmitDate) {
+        this.stopSubmitDate = stopSubmitDate;
+    }
+                //恢复理由
+    private String recoveryReason;
+        
+    public String getRecoveryReason() {
+        return recoveryReason;
+    }
+
+    public void setRecoveryReason(String recoveryReason) {
+        this.recoveryReason = recoveryReason;
+    }
+                //恢复填报日期
+    private Timestamp recoverySubmitDate;
+        
+    public Timestamp getRecoverySubmitDate() {
+        return recoverySubmitDate;
+    }
+
+    public void setRecoverySubmitDate(Timestamp recoverySubmitDate) {
+        this.recoverySubmitDate = recoverySubmitDate;
+    }
+                //实际恢复日期
+    private Timestamp actualRecoveryDate;
+        
+    public Timestamp getActualRecoveryDate() {
+        return actualRecoveryDate;
+    }
+
+    public void setActualRecoveryDate(Timestamp actualRecoveryDate) {
+        this.actualRecoveryDate = actualRecoveryDate;
+    }
+                //报废理由
+    private String destoryReason;
+        
+    public String getDestoryReason() {
+        return destoryReason;
+    }
+
+    public void setDestoryReason(String destoryReason) {
+        this.destoryReason = destoryReason;
+    }
+                //报废填报日期
+    private Timestamp destorySubmitDate;
+        
+    public Timestamp getDestorySubmitDate() {
+        return destorySubmitDate;
+    }
+
+    public void setDestorySubmitDate(Timestamp destorySubmitDate) {
+        this.destorySubmitDate = destorySubmitDate;
+    }
+                //实际报废日期
+    private Timestamp actualDestoryDate;
+        
+    public Timestamp getActualDestoryDate() {
+        return actualDestoryDate;
+    }
+
+    public void setActualDestoryDate(Timestamp actualDestoryDate) {
+        this.actualDestoryDate = actualDestoryDate;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentRepairDetail.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentRepairDetail.java
new file mode 100644
index 0000000..cb6781e
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentRepairDetail.java
@@ -0,0 +1,121 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import java.sql.Timestamp;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备维修明细(EquipmentRepairDetail)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:10:57
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_repair_detail")
+public class EquipmentRepairDetail extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
+    private Integer infoTpe;
+        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+                //设备ID/外键
+    private Long equipmentId;
+        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+                //维修负责人/外键
+    private Long repairPersonId;
+        
+    public Long getRepairPersonId() {
+        return repairPersonId;
+    }
+
+    public void setRepairPersonId(Long repairPersonId) {
+        this.repairPersonId = repairPersonId;
+    }
+                //维修开始日期
+    private Timestamp repairStartDate;
+        
+    public Timestamp getRepairStartDate() {
+        return repairStartDate;
+    }
+
+    public void setRepairStartDate(Timestamp repairStartDate) {
+        this.repairStartDate = repairStartDate;
+    }
+                //维修结束日期
+    private Timestamp repairEndDate;
+        
+    public Timestamp getRepairEndDate() {
+        return repairEndDate;
+    }
+
+    public void setRepairEndDate(Timestamp repairEndDate) {
+        this.repairEndDate = repairEndDate;
+    }
+                //维修负责人单位/外键
+    private Long repairPersonDepartmentId;
+        
+    public Long getRepairPersonDepartmentId() {
+        return repairPersonDepartmentId;
+    }
+
+    public void setRepairPersonDepartmentId(Long repairPersonDepartmentId) {
+        this.repairPersonDepartmentId = repairPersonDepartmentId;
+    }
+                //维修情况
+    private String repairMemo;
+        
+    public String getRepairMemo() {
+        return repairMemo;
+    }
+
+    public void setRepairMemo(String repairMemo) {
+        this.repairMemo = repairMemo;
+    }
+                //维修状态  1:维修中 2:已修好
+    private Integer repairStatus;
+        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+                //设施异常项
+    private String exceptionInfo;
+        
+    public String getExceptionInfo() {
+        return exceptionInfo;
+    }
+
+    public void setExceptionInfo(String exceptionInfo) {
+        this.exceptionInfo = exceptionInfo;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareDetail.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareDetail.java
new file mode 100644
index 0000000..458cd52
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareDetail.java
@@ -0,0 +1,91 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import java.sql.Timestamp;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备保养明细(EquipmentTakecareDetail)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 14:40:28
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_takecare_detail")
+public class EquipmentTakecareDetail extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
+    private Integer infoTpe;
+        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+                //设备ID/外键
+    private Long equipmentId;
+        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+                //保养内容
+    private String takecareMemo;
+        
+    public String getTakecareMemo() {
+        return takecareMemo;
+    }
+
+    public void setTakecareMemo(String takecareMemo) {
+        this.takecareMemo = takecareMemo;
+    }
+                //保养负责人/外键
+    private Long leadingPersonId;
+        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+                //保养日期
+    private Timestamp takecareDate;
+        
+    public Timestamp getTakecareDate() {
+        return takecareDate;
+    }
+
+    public void setTakecareDate(Timestamp takecareDate) {
+        this.takecareDate = takecareDate;
+    }
+                //保养负责人单位
+    private Long leadingPersonDepartmentId;
+        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareStardardDetail.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareStardardDetail.java
new file mode 100644
index 0000000..dcd112b
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTakecareStardardDetail.java
@@ -0,0 +1,59 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备保养明细(EquipmentTakecareStardardDetail)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:22:05
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_takecare_stardard_detail")
+public class EquipmentTakecareStardardDetail extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
+    private Integer infoTpe;
+        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+                //设备ID/外键
+    private Long equipmentId;
+        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+                //文件路径
+    private String filePath;
+        
+    public String getFilePath() {
+        return filePath;
+    }
+
+    public void setFilePath(String filePath) {
+        this.filePath = filePath;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTestDetail.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTestDetail.java
new file mode 100644
index 0000000..038d1ef
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTestDetail.java
@@ -0,0 +1,111 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import java.sql.Timestamp;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备检测明细(EquipmentTestDetail)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:08:23
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_test_detail")
+public class EquipmentTestDetail extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
+    private Integer infoTpe;
+        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+                //设备ID/外键
+    private Long equipmentId;
+        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+                //检测人/外键
+    private Long testPersonId;
+        
+    public Long getTestPersonId() {
+        return testPersonId;
+    }
+
+    public void setTestPersonId(Long testPersonId) {
+        this.testPersonId = testPersonId;
+    }
+                //检测日期
+    private Timestamp testDate;
+        
+    public Timestamp getTestDate() {
+        return testDate;
+    }
+
+    public void setTestDate(Timestamp testDate) {
+        this.testDate = testDate;
+    }
+                //检测人单位/外键
+    private Long testPersonDepartmentId;
+        
+    public Long getTestPersonDepartmentId() {
+        return testPersonDepartmentId;
+    }
+
+    public void setTestPersonDepartmentId(Long testPersonDepartmentId) {
+        this.testPersonDepartmentId = testPersonDepartmentId;
+    }
+                //检测内容
+    private String testMemo;
+        
+    public String getTestMemo() {
+        return testMemo;
+    }
+
+    public void setTestMemo(String testMemo) {
+        this.testMemo = testMemo;
+    }
+                //检测结果  1:正常 2:异常
+    private Integer testResult;
+        
+    public Integer getTestResult() {
+        return testResult;
+    }
+
+    public void setTestResult(Integer testResult) {
+        this.testResult = testResult;
+    }
+                //检测状态
+    private String testStatus;
+        
+    public String getTestStatus() {
+        return testStatus;
+    }
+
+    public void setTestStatus(String testStatus) {
+        this.testStatus = testStatus;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTypeMng.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTypeMng.java
new file mode 100644
index 0000000..d13e5ce
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/EquipmentTypeMng.java
@@ -0,0 +1,89 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 设备设施类型管理(EquipmentTypeMng)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 08:35:02
+ */
+@SuppressWarnings("serial")
+@TableName("equipment_type_mng")
+public class EquipmentTypeMng extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //类别名称
+    private String typeName;
+        
+    public String getTypeName() {
+        return typeName;
+    }
+
+    public void setTypeName(String typeName) {
+        this.typeName = typeName;
+    }
+                //是否为设备内容  1:是 2:否
+    private Integer isContent;
+        
+    public Integer getIsContent() {
+        return isContent;
+    }
+
+    public void setIsContent(Integer isContent) {
+        this.isContent = isContent;
+    }
+                //父级ID,如果没有父级,为0
+    private Long parentId;
+        
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+                //排序号
+    private Integer sortNum;
+        
+    public Integer getSortNum() {
+        return sortNum;
+    }
+
+    public void setSortNum(Integer sortNum) {
+        this.sortNum = sortNum;
+    }
+                //是否巡检 1:是 2:否
+    private Integer isVisit;
+        
+    public Integer getIsVisit() {
+        return isVisit;
+    }
+
+    public void setIsVisit(Integer isVisit) {
+        this.isVisit = isVisit;
+    }
+                //是否检测  1:是 2:否
+    private Integer isCheck;
+        
+    public Integer getIsCheck() {
+        return isCheck;
+    }
+
+    public void setIsCheck(Integer isCheck) {
+        this.isCheck = isCheck;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/KeypointEquipmentInfo.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/KeypointEquipmentInfo.java
new file mode 100644
index 0000000..4b1c0bc
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/KeypointEquipmentInfo.java
@@ -0,0 +1,179 @@
+package com.gkhy.safePlatform.equipment.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表实体类
+ *
+ * @author xurui
+ * @since 2022-07-19 13:36:27
+ */
+@SuppressWarnings("serial")
+@TableName("keypoint_equipment_info")
+public class KeypointEquipmentInfo extends BaseDomain {
+	
+	
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+                //类型/类别外键
+    private Long equipmentTypeId;
+        
+    public Long getEquipmentTypeId() {
+        return equipmentTypeId;
+    }
+
+    public void setEquipmentTypeId(Long equipmentTypeId) {
+        this.equipmentTypeId = equipmentTypeId;
+    }
+                //名称
+    private String name;
+        
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+                //单位部门外键
+    private Long departmentId;
+        
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+                //具体位置
+    private String position;
+        
+    public String getPosition() {
+        return position;
+    }
+
+    public void setPosition(String position) {
+        this.position = position;
+    }
+                //负责人姓名
+    private String leadingPersonName;
+        
+    public String getLeadingPersonName() {
+        return leadingPersonName;
+    }
+
+    public void setLeadingPersonName(String leadingPersonName) {
+        this.leadingPersonName = leadingPersonName;
+    }
+                //联系人/外键
+    private Long connectPersonId;
+        
+    public Long getConnectPersonId() {
+        return connectPersonId;
+    }
+
+    public void setConnectPersonId(Long connectPersonId) {
+        this.connectPersonId = connectPersonId;
+    }
+                //录入人/外键
+    private Long inputPersonId;
+        
+    public Long getInputPersonId() {
+        return inputPersonId;
+    }
+
+    public void setInputPersonId(Long inputPersonId) {
+        this.inputPersonId = inputPersonId;
+    }
+                //责任人/外键
+    private Long responsibilityPersonId;
+        
+    public Long getResponsibilityPersonId() {
+        return responsibilityPersonId;
+    }
+
+    public void setResponsibilityPersonId(Long responsibilityPersonId) {
+        this.responsibilityPersonId = responsibilityPersonId;
+    }
+                //装置部位分类 1:关键装置 2:重点部位
+    private Integer partType;
+        
+    public Integer getPartType() {
+        return partType;
+    }
+
+    public void setPartType(Integer partType) {
+        this.partType = partType;
+    }
+                //检查周期
+    private String checkCycle;
+        
+    public String getCheckCycle() {
+        return checkCycle;
+    }
+
+    public void setCheckCycle(String checkCycle) {
+        this.checkCycle = checkCycle;
+    }
+                //应急预案/外键
+    private Long emergencePlanId;
+        
+    public Long getEmergencePlanId() {
+        return emergencePlanId;
+    }
+
+    public void setEmergencePlanId(Long emergencePlanId) {
+        this.emergencePlanId = emergencePlanId;
+    }
+                //主要危险有害因素
+    private String dangerousElement;
+        
+    public String getDangerousElement() {
+        return dangerousElement;
+    }
+
+    public void setDangerousElement(String dangerousElement) {
+        this.dangerousElement = dangerousElement;
+    }
+                //易导致风险
+    private String toDangerous;
+        
+    public String getToDangerous() {
+        return toDangerous;
+    }
+
+    public void setToDangerous(String toDangerous) {
+        this.toDangerous = toDangerous;
+    }
+                //应急处置措施
+    private String treatment;
+        
+    public String getTreatment() {
+        return treatment;
+    }
+
+    public void setTreatment(String treatment) {
+        this.treatment = treatment;
+    }
+                //现场图片
+    private String scenePic;
+        
+    public String getScenePic() {
+        return scenePic;
+    }
+
+    public void setScenePic(String scenePic) {
+        this.scenePic = scenePic;
+    }
+            
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/excepiton/EquipmentException.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/excepiton/EquipmentException.java
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/excepiton/EquipmentException.java
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentCheckStandardDetailQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentCheckStandardDetailQueryCriteria.java
new file mode 100644
index 0000000..c4588d2
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentCheckStandardDetailQueryCriteria.java
@@ -0,0 +1,129 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import java.sql.Timestamp;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentCheckStandardDetailQueryCriteria {
+        
+    @Query()
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    @Query()
+    private Integer infoTpe;
+    //设备ID/外键    
+    @Query()
+    private Long equipmentId;
+    //序号    
+    @Query()
+    private String index;
+    //检查内容    
+    @Query()
+    private String checkContent;
+    //检查指标    
+    @Query()
+    private String checkTarget;
+    //单位    
+    @Query()
+    private String unit;
+    //巡检部位    
+    @Query()
+    private String checkPart;
+    //频次    
+    @Query()
+    private String rate;
+    //创建日期    
+    @Query()
+    private Timestamp createTime;
+    //更新日期    
+    @Query()
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //序号        
+    public String getIndex() {
+        return index;
+    }
+
+    public void setIndex(String index) {
+        this.index = index;
+    }
+    //检查内容        
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+    //检查指标        
+    public String getCheckTarget() {
+        return checkTarget;
+    }
+
+    public void setCheckTarget(String checkTarget) {
+        this.checkTarget = checkTarget;
+    }
+    //单位        
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+    //巡检部位        
+    public String getCheckPart() {
+        return checkPart;
+    }
+
+    public void setCheckPart(String checkPart) {
+        this.checkPart = checkPart;
+    }
+    //频次        
+    public String getRate() {
+        return rate;
+    }
+
+    public void setRate(String rate) {
+        this.rate = rate;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoQueryCriteria.java
new file mode 100644
index 0000000..bee8e08
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoQueryCriteria.java
@@ -0,0 +1,39 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentInfoQueryCriteria {
+    //名称
+    @Query(type = Query.Type.INNER_LIKE)
+    private String qName;
+    //位号
+    @Query(type = Query.Type.INNER_LIKE)
+    private String positionNum;
+
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
+    private Integer infoType;
+
+    public Integer getInfoType() {
+        return infoType;
+    }
+
+    public void setInfoType(Integer infoType) {
+        this.infoType = infoType;
+    }
+
+    public String getqName() {
+        return qName;
+    }
+
+    public void setqName(String qName) {
+        this.qName = qName;
+    }
+    //位号
+    public String getPositionNum() {
+        return positionNum;
+    }
+
+    public void setPositionNum(String positionNum) {
+        this.positionNum = positionNum;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoSaveOrUpdate.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoSaveOrUpdate.java
new file mode 100644
index 0000000..753f8d3
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentInfoSaveOrUpdate.java
@@ -0,0 +1,637 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import com.gkhy.safePlatform.equipment.entity.*;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class EquipmentInfoSaveOrUpdate implements Serializable {
+    //ID    
+    private Long id;
+    //类型/类别外键    
+    private Long equipmentTypeId;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施     
+    private Integer infoType;
+    //名称    
+    private String qName;
+    //位号    
+    private String positionNum;
+    //用途    
+    private String qUsage;
+    //型号    
+    private String model;
+    //单位部门外键    
+    private Long departmentId;
+    //设置部位    
+    private String setPart;
+    //生产日期    
+    private Timestamp produceTime;
+    //使用期限(天)    
+    private String useEndDay;
+    //生命周期 1:已使用 2:库存中 3:报废    
+    private Integer lifeCycle;
+    //投用日期    
+    private Timestamp useDate;
+    //维修状态 1:维修中 2:已修好    
+    private Integer repairStatus;
+    //停用状态 1:停用 2.在用 3.维修 4.报废    
+    private Integer stopStatus;
+    //上次检查日期    
+    private Timestamp previousCheckDate;
+    //上次检测日期    
+    private Timestamp previousTestDate;
+    //上次保养日期    
+    private Timestamp previousTakecareDate;
+    //下次检查日期    
+    private Timestamp nextCheckDate;
+    //下次检测日期    
+    private Timestamp nextTestDate;
+    //下次保养日期    
+    private Timestamp nextTakecareDate;
+    //负责人ID外键    
+    private Long leadingPersonId;
+    //负责人部门外键    
+    private Long leadingPersonDepartmentId;
+    //供应商    
+    private String supplyName;
+    //使用说明    
+    private String useMemo;
+    //是否检查 1:是 2:否    
+    private Integer isNeedCheck;
+    //检查周期    
+    private String checkCycle;
+    //检查提前提醒    
+    private String checkWarn;
+    //是否检测 1:是 2:否    
+    private Integer isNeedTest;
+    //检测周期    
+    private String testCycle;
+    //检测提前提醒    
+    private String testWarn;
+    //是否保养 1:是 2:否    
+    private Integer isNeedTakecare;
+    //检查内容    
+    private String checkContent;
+    //负责部门/外键    
+    private Long leadingDepartmentId;
+    //检查指标    
+    private String checkPoint;
+    //预警值    
+    private String alertNum;
+    //联锁值    
+    private String lockNum;
+    //停用理由    
+    private String stopReason;
+    //停用后措施    
+    private String afterStopStep;
+    //实际停用日期    
+    private Timestamp actualStopDate;
+    //停用提交人/外键    
+    private Long stopSubmitPersonId;
+    //停用提交日期    
+    private Timestamp stopSubmitDate;
+    //恢复理由    
+    private String recoveryReason;
+    //恢复填报日期    
+    private Timestamp recoverySubmitDate;
+    //实际恢复日期    
+    private Timestamp actualRecoveryDate;
+    //报废理由    
+    private String destoryReason;
+    //报废填报日期    
+    private Timestamp destorySubmitDate;
+    //实际报废日期    
+    private Timestamp actualDestoryDate;
+        
+    private Timestamp createTime;
+        
+    private Timestamp updateTime;
+
+    //设备保养
+    private List<EquipmentTakecareDetail> takecareDetailList = new ArrayList<>();
+
+    //设备检测
+    private List<EquipmentTestDetail> testDetailList = new ArrayList<>();
+
+    //设备检查
+    private List checkDetailList = new ArrayList<>();
+
+    //设备维修
+    private List<EquipmentRepairDetail> repaireDetailList = new ArrayList<>();
+
+    //保养标准
+    private List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = new ArrayList<>();
+
+    //检查标准
+    private List<EquipmentCheckStandardDetail> checkStandardeDetailList = new ArrayList<>();
+
+
+
+
+    //要删除的设备保养
+    private String delTakecareDetails;
+
+    //要删除的设备检测
+    private String delTestDetails;
+
+    //要删除的设备维修
+    private String delRepaireDetails;
+
+    //要删除的保养标准
+    private String delTakecareStardardeDetails;
+
+    //要删除的检查标准
+    private String delCheckStandardeDetails;
+
+    public String getDelTakecareDetails() {
+        return delTakecareDetails;
+    }
+
+    public void setDelTakecareDetails(String delTakecareDetails) {
+        this.delTakecareDetails = delTakecareDetails;
+    }
+
+    public String getDelTestDetails() {
+        return delTestDetails;
+    }
+
+    public void setDelTestDetails(String delTestDetails) {
+        this.delTestDetails = delTestDetails;
+    }
+
+    public String getDelRepaireDetails() {
+        return delRepaireDetails;
+    }
+
+    public void setDelRepaireDetails(String delRepaireDetails) {
+        this.delRepaireDetails = delRepaireDetails;
+    }
+
+    public String getDelTakecareStardardeDetails() {
+        return delTakecareStardardeDetails;
+    }
+
+    public void setDelTakecareStardardeDetails(String delTakecareStardardeDetails) {
+        this.delTakecareStardardeDetails = delTakecareStardardeDetails;
+    }
+
+    public String getDelCheckStandardeDetails() {
+        return delCheckStandardeDetails;
+    }
+
+    public void setDelCheckStandardeDetails(String delCheckStandardeDetails) {
+        this.delCheckStandardeDetails = delCheckStandardeDetails;
+    }
+
+    public List<EquipmentRepairDetail> getRepaireDetailList() {
+        return repaireDetailList;
+    }
+
+    public void setRepaireDetailList(List<EquipmentRepairDetail> repaireDetailList) {
+        this.repaireDetailList = repaireDetailList;
+    }
+
+    public List getCheckDetailList() {
+        return checkDetailList;
+    }
+
+    public void setCheckDetailList(List checkDetailList) {
+        this.checkDetailList = checkDetailList;
+    }
+
+    public List<EquipmentTestDetail> getTestDetailList() {
+        return testDetailList;
+    }
+
+    public void setTestDetailList(List<EquipmentTestDetail> testDetailList) {
+        this.testDetailList = testDetailList;
+    }
+
+    public List<EquipmentTakecareDetail> getTakecareDetailList() {
+        return takecareDetailList;
+    }
+
+    public void setTakecareDetailList(List<EquipmentTakecareDetail> takecareDetailList) {
+        this.takecareDetailList = takecareDetailList;
+    }
+
+    //ID
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //类型/类别外键        
+    public Long getEquipmentTypeId() {
+        return equipmentTypeId;
+    }
+
+    public void setEquipmentTypeId(Long equipmentTypeId) {
+        this.equipmentTypeId = equipmentTypeId;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施         
+    public Integer getInfoType() {
+        return infoType;
+    }
+
+    public void setInfoType(Integer infoType) {
+        this.infoType = infoType;
+    }
+    //位号
+    public String getPositionNum() {
+        return positionNum;
+    }
+
+    public void setPositionNum(String positionNum) {
+        this.positionNum = positionNum;
+    }
+
+    public String getqName() {
+        return qName;
+    }
+
+    public void setqName(String qName) {
+        this.qName = qName;
+    }
+
+    public String getqUsage() {
+        return qUsage;
+    }
+
+    public void setqUsage(String qUsage) {
+        this.qUsage = qUsage;
+    }
+
+    //型号
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+    //单位部门外键        
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+    //设置部位        
+    public String getSetPart() {
+        return setPart;
+    }
+
+    public void setSetPart(String setPart) {
+        this.setPart = setPart;
+    }
+    //生产日期        
+    public Timestamp getProduceTime() {
+        return produceTime;
+    }
+
+    public void setProduceTime(Timestamp produceTime) {
+        this.produceTime = produceTime;
+    }
+    //使用期限(天)        
+    public String getUseEndDay() {
+        return useEndDay;
+    }
+
+    public void setUseEndDay(String useEndDay) {
+        this.useEndDay = useEndDay;
+    }
+    //生命周期 1:已使用 2:库存中 3:报废        
+    public Integer getLifeCycle() {
+        return lifeCycle;
+    }
+
+    public void setLifeCycle(Integer lifeCycle) {
+        this.lifeCycle = lifeCycle;
+    }
+    //投用日期        
+    public Timestamp getUseDate() {
+        return useDate;
+    }
+
+    public void setUseDate(Timestamp useDate) {
+        this.useDate = useDate;
+    }
+    //维修状态 1:维修中 2:已修好        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+    //停用状态 1:停用 2.在用 3.维修 4.报废        
+    public Integer getStopStatus() {
+        return stopStatus;
+    }
+
+    public void setStopStatus(Integer stopStatus) {
+        this.stopStatus = stopStatus;
+    }
+    //上次检查日期        
+    public Timestamp getPreviousCheckDate() {
+        return previousCheckDate;
+    }
+
+    public void setPreviousCheckDate(Timestamp previousCheckDate) {
+        this.previousCheckDate = previousCheckDate;
+    }
+    //上次检测日期        
+    public Timestamp getPreviousTestDate() {
+        return previousTestDate;
+    }
+
+    public void setPreviousTestDate(Timestamp previousTestDate) {
+        this.previousTestDate = previousTestDate;
+    }
+    //上次保养日期        
+    public Timestamp getPreviousTakecareDate() {
+        return previousTakecareDate;
+    }
+
+    public void setPreviousTakecareDate(Timestamp previousTakecareDate) {
+        this.previousTakecareDate = previousTakecareDate;
+    }
+    //下次检查日期        
+    public Timestamp getNextCheckDate() {
+        return nextCheckDate;
+    }
+
+    public void setNextCheckDate(Timestamp nextCheckDate) {
+        this.nextCheckDate = nextCheckDate;
+    }
+    //下次检测日期        
+    public Timestamp getNextTestDate() {
+        return nextTestDate;
+    }
+
+    public void setNextTestDate(Timestamp nextTestDate) {
+        this.nextTestDate = nextTestDate;
+    }
+    //下次保养日期        
+    public Timestamp getNextTakecareDate() {
+        return nextTakecareDate;
+    }
+
+    public void setNextTakecareDate(Timestamp nextTakecareDate) {
+        this.nextTakecareDate = nextTakecareDate;
+    }
+    //负责人ID外键        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+    //负责人部门外键        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+    //供应商        
+    public String getSupplyName() {
+        return supplyName;
+    }
+
+    public void setSupplyName(String supplyName) {
+        this.supplyName = supplyName;
+    }
+    //使用说明        
+    public String getUseMemo() {
+        return useMemo;
+    }
+
+    public void setUseMemo(String useMemo) {
+        this.useMemo = useMemo;
+    }
+    //是否检查 1:是 2:否        
+    public Integer getIsNeedCheck() {
+        return isNeedCheck;
+    }
+
+    public void setIsNeedCheck(Integer isNeedCheck) {
+        this.isNeedCheck = isNeedCheck;
+    }
+    //检查周期        
+    public String getCheckCycle() {
+        return checkCycle;
+    }
+
+    public void setCheckCycle(String checkCycle) {
+        this.checkCycle = checkCycle;
+    }
+    //检查提前提醒        
+    public String getCheckWarn() {
+        return checkWarn;
+    }
+
+    public void setCheckWarn(String checkWarn) {
+        this.checkWarn = checkWarn;
+    }
+    //是否检测 1:是 2:否        
+    public Integer getIsNeedTest() {
+        return isNeedTest;
+    }
+
+    public void setIsNeedTest(Integer isNeedTest) {
+        this.isNeedTest = isNeedTest;
+    }
+    //检测周期        
+    public String getTestCycle() {
+        return testCycle;
+    }
+
+    public void setTestCycle(String testCycle) {
+        this.testCycle = testCycle;
+    }
+    //检测提前提醒        
+    public String getTestWarn() {
+        return testWarn;
+    }
+
+    public void setTestWarn(String testWarn) {
+        this.testWarn = testWarn;
+    }
+    //是否保养 1:是 2:否        
+    public Integer getIsNeedTakecare() {
+        return isNeedTakecare;
+    }
+
+    public void setIsNeedTakecare(Integer isNeedTakecare) {
+        this.isNeedTakecare = isNeedTakecare;
+    }
+    //检查内容        
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+    //负责部门/外键        
+    public Long getLeadingDepartmentId() {
+        return leadingDepartmentId;
+    }
+
+    public void setLeadingDepartmentId(Long leadingDepartmentId) {
+        this.leadingDepartmentId = leadingDepartmentId;
+    }
+    //检查指标        
+    public String getCheckPoint() {
+        return checkPoint;
+    }
+
+    public void setCheckPoint(String checkPoint) {
+        this.checkPoint = checkPoint;
+    }
+    //预警值        
+    public String getAlertNum() {
+        return alertNum;
+    }
+
+    public void setAlertNum(String alertNum) {
+        this.alertNum = alertNum;
+    }
+    //联锁值        
+    public String getLockNum() {
+        return lockNum;
+    }
+
+    public void setLockNum(String lockNum) {
+        this.lockNum = lockNum;
+    }
+    //停用理由        
+    public String getStopReason() {
+        return stopReason;
+    }
+
+    public void setStopReason(String stopReason) {
+        this.stopReason = stopReason;
+    }
+    //停用后措施        
+    public String getAfterStopStep() {
+        return afterStopStep;
+    }
+
+    public void setAfterStopStep(String afterStopStep) {
+        this.afterStopStep = afterStopStep;
+    }
+    //实际停用日期        
+    public Timestamp getActualStopDate() {
+        return actualStopDate;
+    }
+
+    public void setActualStopDate(Timestamp actualStopDate) {
+        this.actualStopDate = actualStopDate;
+    }
+    //停用提交人/外键        
+    public Long getStopSubmitPersonId() {
+        return stopSubmitPersonId;
+    }
+
+    public void setStopSubmitPersonId(Long stopSubmitPersonId) {
+        this.stopSubmitPersonId = stopSubmitPersonId;
+    }
+    //停用提交日期        
+    public Timestamp getStopSubmitDate() {
+        return stopSubmitDate;
+    }
+
+    public void setStopSubmitDate(Timestamp stopSubmitDate) {
+        this.stopSubmitDate = stopSubmitDate;
+    }
+    //恢复理由        
+    public String getRecoveryReason() {
+        return recoveryReason;
+    }
+
+    public void setRecoveryReason(String recoveryReason) {
+        this.recoveryReason = recoveryReason;
+    }
+    //恢复填报日期        
+    public Timestamp getRecoverySubmitDate() {
+        return recoverySubmitDate;
+    }
+
+    public void setRecoverySubmitDate(Timestamp recoverySubmitDate) {
+        this.recoverySubmitDate = recoverySubmitDate;
+    }
+    //实际恢复日期        
+    public Timestamp getActualRecoveryDate() {
+        return actualRecoveryDate;
+    }
+
+    public void setActualRecoveryDate(Timestamp actualRecoveryDate) {
+        this.actualRecoveryDate = actualRecoveryDate;
+    }
+    //报废理由        
+    public String getDestoryReason() {
+        return destoryReason;
+    }
+
+    public void setDestoryReason(String destoryReason) {
+        this.destoryReason = destoryReason;
+    }
+    //报废填报日期        
+    public Timestamp getDestorySubmitDate() {
+        return destorySubmitDate;
+    }
+
+    public void setDestorySubmitDate(Timestamp destorySubmitDate) {
+        this.destorySubmitDate = destorySubmitDate;
+    }
+    //实际报废日期        
+    public Timestamp getActualDestoryDate() {
+        return actualDestoryDate;
+    }
+
+    public void setActualDestoryDate(Timestamp actualDestoryDate) {
+        this.actualDestoryDate = actualDestoryDate;
+    }
+            
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+            
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public void setTakecareStardardeDetailList(List<EquipmentTakecareStardardDetail> takecareStardardeDetailList) {
+        this.takecareStardardeDetailList = takecareStardardeDetailList;
+    }
+
+    public List<EquipmentTakecareStardardDetail> getTakecareStardardeDetailList() {
+        return takecareStardardeDetailList;
+    }
+
+    public void setCheckStandardeDetailList(List<EquipmentCheckStandardDetail> checkStandardeDetailList) {
+        this.checkStandardeDetailList = checkStandardeDetailList;
+    }
+
+    public List<EquipmentCheckStandardDetail> getCheckStandardeDetailList() {
+        return checkStandardeDetailList;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentRepairDetailQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentRepairDetailQueryCriteria.java
new file mode 100644
index 0000000..ceed9a3
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentRepairDetailQueryCriteria.java
@@ -0,0 +1,140 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import java.sql.Timestamp;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentRepairDetailQueryCriteria {
+        
+    @Query()
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    @Query()
+    private Integer infoTpe;
+    //设备ID/外键    
+    @Query()
+    private Long equipmentId;
+    //维修负责人/外键    
+    @Query()
+    private Long repairPersonId;
+    //维修开始日期    
+    @Query()
+    private Timestamp repairStartDate;
+    //维修结束日期    
+    @Query()
+    private Timestamp repairEndDate;
+    //维修负责人单位/外键    
+    @Query()
+    private Long repairPersonDepartmentId;
+    //维修情况    
+    @Query()
+    private String repairMemo;
+    //维修状态  1:维修中 2:已修好    
+    @Query()
+    private Integer repairStatus;
+    //设施异常项    
+    @Query()
+    private String exceptionInfo;
+    //创建日期    
+    @Query()
+    private Timestamp createTime;
+    //更新日期    
+    @Query()
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //维修负责人/外键        
+    public Long getRepairPersonId() {
+        return repairPersonId;
+    }
+
+    public void setRepairPersonId(Long repairPersonId) {
+        this.repairPersonId = repairPersonId;
+    }
+    //维修开始日期        
+    public Timestamp getRepairStartDate() {
+        return repairStartDate;
+    }
+
+    public void setRepairStartDate(Timestamp repairStartDate) {
+        this.repairStartDate = repairStartDate;
+    }
+    //维修结束日期        
+    public Timestamp getRepairEndDate() {
+        return repairEndDate;
+    }
+
+    public void setRepairEndDate(Timestamp repairEndDate) {
+        this.repairEndDate = repairEndDate;
+    }
+    //维修负责人单位/外键        
+    public Long getRepairPersonDepartmentId() {
+        return repairPersonDepartmentId;
+    }
+
+    public void setRepairPersonDepartmentId(Long repairPersonDepartmentId) {
+        this.repairPersonDepartmentId = repairPersonDepartmentId;
+    }
+    //维修情况        
+    public String getRepairMemo() {
+        return repairMemo;
+    }
+
+    public void setRepairMemo(String repairMemo) {
+        this.repairMemo = repairMemo;
+    }
+    //维修状态  1:维修中 2:已修好        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+    //设施异常项        
+    public String getExceptionInfo() {
+        return exceptionInfo;
+    }
+
+    public void setExceptionInfo(String exceptionInfo) {
+        this.exceptionInfo = exceptionInfo;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareDetailQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareDetailQueryCriteria.java
new file mode 100644
index 0000000..7b43dea
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareDetailQueryCriteria.java
@@ -0,0 +1,107 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import java.sql.Timestamp;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentTakecareDetailQueryCriteria {
+        
+    @Query()
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    @Query()
+    private Integer infoTpe;
+    //设备ID/外键    
+    @Query()
+    private Long equipmentId;
+    //保养内容    
+    @Query()
+    private String takecareMemo;
+    //保养负责人/外键    
+    @Query()
+    private Long leadingPersonId;
+    //保养日期    
+    @Query()
+    private Timestamp takecareDate;
+    //保养负责人单位    
+    @Query()
+    private Long leadingPersonDepartmentId;
+    //创建日期    
+    @Query()
+    private Timestamp createTime;
+    //更新日期    
+    @Query()
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //保养内容        
+    public String getTakecareMemo() {
+        return takecareMemo;
+    }
+
+    public void setTakecareMemo(String takecareMemo) {
+        this.takecareMemo = takecareMemo;
+    }
+    //保养负责人/外键        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+    //保养日期        
+    public Timestamp getTakecareDate() {
+        return takecareDate;
+    }
+
+    public void setTakecareDate(Timestamp takecareDate) {
+        this.takecareDate = takecareDate;
+    }
+    //保养负责人单位        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareStardardDetailQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareStardardDetailQueryCriteria.java
new file mode 100644
index 0000000..9413a97
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTakecareStardardDetailQueryCriteria.java
@@ -0,0 +1,74 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import java.sql.Timestamp;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentTakecareStardardDetailQueryCriteria {
+        
+    @Query()
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    @Query()
+    private Integer infoTpe;
+    //设备ID/外键    
+    @Query()
+    private Long equipmentId;
+    //文件路径    
+    @Query()
+    private String filePath;
+    //创建日期    
+    @Query()
+    private Timestamp createTime;
+    //更新日期    
+    @Query()
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //文件路径        
+    public String getFilePath() {
+        return filePath;
+    }
+
+    public void setFilePath(String filePath) {
+        this.filePath = filePath;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTestDetailQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTestDetailQueryCriteria.java
new file mode 100644
index 0000000..16b768d
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTestDetailQueryCriteria.java
@@ -0,0 +1,129 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import java.sql.Timestamp;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentTestDetailQueryCriteria {
+        
+    @Query()
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    @Query()
+    private Integer infoTpe;
+    //设备ID/外键    
+    @Query()
+    private Long equipmentId;
+    //检测人/外键    
+    @Query()
+    private Long testPersonId;
+    //检测日期    
+    @Query()
+    private Timestamp testDate;
+    //检测人单位/外键    
+    @Query()
+    private Long testPersonDepartmentId;
+    //检测内容    
+    @Query()
+    private String testMemo;
+    //检测结果  1:正常 2:异常    
+    @Query()
+    private Integer testResult;
+    //检测状态    
+    @Query()
+    private String testStatus;
+    //创建日期    
+    @Query()
+    private Timestamp createTime;
+    //更新日期    
+    @Query()
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //检测人/外键        
+    public Long getTestPersonId() {
+        return testPersonId;
+    }
+
+    public void setTestPersonId(Long testPersonId) {
+        this.testPersonId = testPersonId;
+    }
+    //检测日期        
+    public Timestamp getTestDate() {
+        return testDate;
+    }
+
+    public void setTestDate(Timestamp testDate) {
+        this.testDate = testDate;
+    }
+    //检测人单位/外键        
+    public Long getTestPersonDepartmentId() {
+        return testPersonDepartmentId;
+    }
+
+    public void setTestPersonDepartmentId(Long testPersonDepartmentId) {
+        this.testPersonDepartmentId = testPersonDepartmentId;
+    }
+    //检测内容        
+    public String getTestMemo() {
+        return testMemo;
+    }
+
+    public void setTestMemo(String testMemo) {
+        this.testMemo = testMemo;
+    }
+    //检测结果  1:正常 2:异常        
+    public Integer getTestResult() {
+        return testResult;
+    }
+
+    public void setTestResult(Integer testResult) {
+        this.testResult = testResult;
+    }
+    //检测状态        
+    public String getTestStatus() {
+        return testStatus;
+    }
+
+    public void setTestStatus(String testStatus) {
+        this.testStatus = testStatus;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTypeMngQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTypeMngQueryCriteria.java
new file mode 100644
index 0000000..de9ba35
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/EquipmentTypeMngQueryCriteria.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class EquipmentTypeMngQueryCriteria {
+    @Query()
+    private Long parentId;
+    //父级ID,如果没有父级,为0
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/KeypointEquipmentInfoQueryCriteria.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/KeypointEquipmentInfoQueryCriteria.java
new file mode 100644
index 0000000..eef86af
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/KeypointEquipmentInfoQueryCriteria.java
@@ -0,0 +1,17 @@
+package com.gkhy.safePlatform.equipment.model.dto.req;
+
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+public class KeypointEquipmentInfoQueryCriteria {
+    //名称
+    @Query(type = Query.Type.INNER_LIKE)
+    private String name;
+    //名称
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentCheckStandardDetailDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentCheckStandardDetailDto.java
new file mode 100644
index 0000000..6164585
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentCheckStandardDetailDto.java
@@ -0,0 +1,119 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+public class EquipmentCheckStandardDetailDto implements Serializable {
+        
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    private Integer infoTpe;
+    //设备ID/外键    
+    private Long equipmentId;
+    //序号    
+    private String indexNum;
+    //检查内容    
+    private String checkContent;
+    //检查指标    
+    private String checkTarget;
+    //单位    
+    private String unit;
+    //巡检部位    
+    private String checkPart;
+    //频次    
+    private String rate;
+    //创建日期    
+    private Timestamp createTime;
+    //更新日期    
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+
+    public String getIndexNum() {
+        return indexNum;
+    }
+
+    public void setIndexNum(String indexNum) {
+        this.indexNum = indexNum;
+    }
+
+    //检查内容
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+    //检查指标        
+    public String getCheckTarget() {
+        return checkTarget;
+    }
+
+    public void setCheckTarget(String checkTarget) {
+        this.checkTarget = checkTarget;
+    }
+    //单位        
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+    //巡检部位        
+    public String getCheckPart() {
+        return checkPart;
+    }
+
+    public void setCheckPart(String checkPart) {
+        this.checkPart = checkPart;
+    }
+    //频次        
+    public String getRate() {
+        return rate;
+    }
+
+    public void setRate(String rate) {
+        this.rate = rate;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentInfoDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentInfoDto.java
new file mode 100644
index 0000000..ce9eb14
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentInfoDto.java
@@ -0,0 +1,582 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import com.gkhy.safePlatform.equipment.entity.*;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class EquipmentInfoDto implements Serializable {
+    //ID    
+    private Long id;
+    //类型/类别外键    
+    private Long equipmentTypeId;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施     
+    private Integer infoType;
+    //名称    
+    private String qName;
+    //位号    
+    private String positionNum;
+    //用途    
+    private String qUsage;
+    //型号    
+    private String model;
+    //单位部门外键    
+    private Long departmentId;
+    //设置部位    
+    private String setPart;
+    //生产日期    
+    private Timestamp produceTime;
+    //使用期限(天)    
+    private String useEndDay;
+    //生命周期 1:已使用 2:库存中 3:报废    
+    private Integer lifeCycle;
+    //投用日期    
+    private Timestamp useDate;
+    //维修状态 1:维修中 2:已修好    
+    private Integer repairStatus;
+    //停用状态 1:停用 2.在用 3.维修 4.报废    
+    private Integer stopStatus;
+    //上次检查日期    
+    private Timestamp previousCheckDate;
+    //上次检测日期    
+    private Timestamp previousTestDate;
+    //上次保养日期    
+    private Timestamp previousTakecareDate;
+    //下次检查日期    
+    private Timestamp nextCheckDate;
+    //下次检测日期    
+    private Timestamp nextTestDate;
+    //下次保养日期    
+    private Timestamp nextTakecareDate;
+    //负责人ID外键    
+    private Long leadingPersonId;
+    //负责人部门外键    
+    private Long leadingPersonDepartmentId;
+    //供应商    
+    private String supplyName;
+    //使用说明    
+    private String useMemo;
+    //是否检查 1:是 2:否    
+    private Integer isNeedCheck;
+    //检查周期    
+    private String checkCycle;
+    //检查提前提醒    
+    private String checkWarn;
+    //是否检测 1:是 2:否    
+    private Integer isNeedTest;
+    //检测周期    
+    private String testCycle;
+    //检测提前提醒    
+    private String testWarn;
+    //是否保养 1:是 2:否    
+    private Integer isNeedTakecare;
+    //检查内容    
+    private String checkContent;
+    //负责部门/外键    
+    private Long leadingDepartmentId;
+    //检查指标    
+    private String checkPoint;
+    //预警值    
+    private String alertNum;
+    //联锁值    
+    private String lockNum;
+    //停用理由    
+    private String stopReason;
+    //停用后措施    
+    private String afterStopStep;
+    //实际停用日期    
+    private Timestamp actualStopDate;
+    //停用提交人/外键    
+    private Long stopSubmitPersonId;
+    //停用提交日期    
+    private Timestamp stopSubmitDate;
+    //恢复理由    
+    private String recoveryReason;
+    //恢复填报日期    
+    private Timestamp recoverySubmitDate;
+    //实际恢复日期    
+    private Timestamp actualRecoveryDate;
+    //报废理由    
+    private String destoryReason;
+    //报废填报日期    
+    private Timestamp destorySubmitDate;
+    //实际报废日期    
+    private Timestamp actualDestoryDate;
+        
+    private Timestamp createTime;
+        
+    private Timestamp updateTime;
+
+    //设备保养
+    private List<EquipmentTakecareDetail> takecareDetailList = new ArrayList<>();
+
+    //设备检测
+    private List<EquipmentTestDetail> testDetailList = new ArrayList<>();
+
+    //设备检查
+    private List checkDetailList = new ArrayList<>();
+
+    //设备维修
+    private List<EquipmentRepairDetail> repaireDetailList = new ArrayList<>();
+
+    //保养标准
+    private List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = new ArrayList<>();
+
+    //检查标准
+    private List<EquipmentCheckStandardDetail> checkStandardeDetailList = new ArrayList<>();
+
+
+
+
+    public List<EquipmentRepairDetail> getRepaireDetailList() {
+        return repaireDetailList;
+    }
+
+    public void setRepaireDetailList(List<EquipmentRepairDetail> repaireDetailList) {
+        this.repaireDetailList = repaireDetailList;
+    }
+
+    public List getCheckDetailList() {
+        return checkDetailList;
+    }
+
+    public void setCheckDetailList(List checkDetailList) {
+        this.checkDetailList = checkDetailList;
+    }
+
+    public List<EquipmentTestDetail> getTestDetailList() {
+        return testDetailList;
+    }
+
+    public void setTestDetailList(List<EquipmentTestDetail> testDetailList) {
+        this.testDetailList = testDetailList;
+    }
+
+    public List<EquipmentTakecareDetail> getTakecareDetailList() {
+        return takecareDetailList;
+    }
+
+    public void setTakecareDetailList(List<EquipmentTakecareDetail> takecareDetailList) {
+        this.takecareDetailList = takecareDetailList;
+    }
+
+    //ID
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //类型/类别外键        
+    public Long getEquipmentTypeId() {
+        return equipmentTypeId;
+    }
+
+    public void setEquipmentTypeId(Long equipmentTypeId) {
+        this.equipmentTypeId = equipmentTypeId;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施         
+    public Integer getInfoType() {
+        return infoType;
+    }
+
+    public void setInfoType(Integer infoType) {
+        this.infoType = infoType;
+    }
+    //位号
+    public String getPositionNum() {
+        return positionNum;
+    }
+
+    public void setPositionNum(String positionNum) {
+        this.positionNum = positionNum;
+    }
+
+    public String getqName() {
+        return qName;
+    }
+
+    public void setqName(String qName) {
+        this.qName = qName;
+    }
+
+    public String getqUsage() {
+        return qUsage;
+    }
+
+    public void setqUsage(String qUsage) {
+        this.qUsage = qUsage;
+    }
+
+    //型号
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+    //单位部门外键        
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+    //设置部位        
+    public String getSetPart() {
+        return setPart;
+    }
+
+    public void setSetPart(String setPart) {
+        this.setPart = setPart;
+    }
+    //生产日期        
+    public Timestamp getProduceTime() {
+        return produceTime;
+    }
+
+    public void setProduceTime(Timestamp produceTime) {
+        this.produceTime = produceTime;
+    }
+    //使用期限(天)        
+    public String getUseEndDay() {
+        return useEndDay;
+    }
+
+    public void setUseEndDay(String useEndDay) {
+        this.useEndDay = useEndDay;
+    }
+    //生命周期 1:已使用 2:库存中 3:报废        
+    public Integer getLifeCycle() {
+        return lifeCycle;
+    }
+
+    public void setLifeCycle(Integer lifeCycle) {
+        this.lifeCycle = lifeCycle;
+    }
+    //投用日期        
+    public Timestamp getUseDate() {
+        return useDate;
+    }
+
+    public void setUseDate(Timestamp useDate) {
+        this.useDate = useDate;
+    }
+    //维修状态 1:维修中 2:已修好        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+    //停用状态 1:停用 2.在用 3.维修 4.报废        
+    public Integer getStopStatus() {
+        return stopStatus;
+    }
+
+    public void setStopStatus(Integer stopStatus) {
+        this.stopStatus = stopStatus;
+    }
+    //上次检查日期        
+    public Timestamp getPreviousCheckDate() {
+        return previousCheckDate;
+    }
+
+    public void setPreviousCheckDate(Timestamp previousCheckDate) {
+        this.previousCheckDate = previousCheckDate;
+    }
+    //上次检测日期        
+    public Timestamp getPreviousTestDate() {
+        return previousTestDate;
+    }
+
+    public void setPreviousTestDate(Timestamp previousTestDate) {
+        this.previousTestDate = previousTestDate;
+    }
+    //上次保养日期        
+    public Timestamp getPreviousTakecareDate() {
+        return previousTakecareDate;
+    }
+
+    public void setPreviousTakecareDate(Timestamp previousTakecareDate) {
+        this.previousTakecareDate = previousTakecareDate;
+    }
+    //下次检查日期        
+    public Timestamp getNextCheckDate() {
+        return nextCheckDate;
+    }
+
+    public void setNextCheckDate(Timestamp nextCheckDate) {
+        this.nextCheckDate = nextCheckDate;
+    }
+    //下次检测日期        
+    public Timestamp getNextTestDate() {
+        return nextTestDate;
+    }
+
+    public void setNextTestDate(Timestamp nextTestDate) {
+        this.nextTestDate = nextTestDate;
+    }
+    //下次保养日期        
+    public Timestamp getNextTakecareDate() {
+        return nextTakecareDate;
+    }
+
+    public void setNextTakecareDate(Timestamp nextTakecareDate) {
+        this.nextTakecareDate = nextTakecareDate;
+    }
+    //负责人ID外键        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+    //负责人部门外键        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+    //供应商        
+    public String getSupplyName() {
+        return supplyName;
+    }
+
+    public void setSupplyName(String supplyName) {
+        this.supplyName = supplyName;
+    }
+    //使用说明        
+    public String getUseMemo() {
+        return useMemo;
+    }
+
+    public void setUseMemo(String useMemo) {
+        this.useMemo = useMemo;
+    }
+    //是否检查 1:是 2:否        
+    public Integer getIsNeedCheck() {
+        return isNeedCheck;
+    }
+
+    public void setIsNeedCheck(Integer isNeedCheck) {
+        this.isNeedCheck = isNeedCheck;
+    }
+    //检查周期        
+    public String getCheckCycle() {
+        return checkCycle;
+    }
+
+    public void setCheckCycle(String checkCycle) {
+        this.checkCycle = checkCycle;
+    }
+    //检查提前提醒        
+    public String getCheckWarn() {
+        return checkWarn;
+    }
+
+    public void setCheckWarn(String checkWarn) {
+        this.checkWarn = checkWarn;
+    }
+    //是否检测 1:是 2:否        
+    public Integer getIsNeedTest() {
+        return isNeedTest;
+    }
+
+    public void setIsNeedTest(Integer isNeedTest) {
+        this.isNeedTest = isNeedTest;
+    }
+    //检测周期        
+    public String getTestCycle() {
+        return testCycle;
+    }
+
+    public void setTestCycle(String testCycle) {
+        this.testCycle = testCycle;
+    }
+    //检测提前提醒        
+    public String getTestWarn() {
+        return testWarn;
+    }
+
+    public void setTestWarn(String testWarn) {
+        this.testWarn = testWarn;
+    }
+    //是否保养 1:是 2:否        
+    public Integer getIsNeedTakecare() {
+        return isNeedTakecare;
+    }
+
+    public void setIsNeedTakecare(Integer isNeedTakecare) {
+        this.isNeedTakecare = isNeedTakecare;
+    }
+    //检查内容        
+    public String getCheckContent() {
+        return checkContent;
+    }
+
+    public void setCheckContent(String checkContent) {
+        this.checkContent = checkContent;
+    }
+    //负责部门/外键        
+    public Long getLeadingDepartmentId() {
+        return leadingDepartmentId;
+    }
+
+    public void setLeadingDepartmentId(Long leadingDepartmentId) {
+        this.leadingDepartmentId = leadingDepartmentId;
+    }
+    //检查指标        
+    public String getCheckPoint() {
+        return checkPoint;
+    }
+
+    public void setCheckPoint(String checkPoint) {
+        this.checkPoint = checkPoint;
+    }
+    //预警值        
+    public String getAlertNum() {
+        return alertNum;
+    }
+
+    public void setAlertNum(String alertNum) {
+        this.alertNum = alertNum;
+    }
+    //联锁值        
+    public String getLockNum() {
+        return lockNum;
+    }
+
+    public void setLockNum(String lockNum) {
+        this.lockNum = lockNum;
+    }
+    //停用理由        
+    public String getStopReason() {
+        return stopReason;
+    }
+
+    public void setStopReason(String stopReason) {
+        this.stopReason = stopReason;
+    }
+    //停用后措施        
+    public String getAfterStopStep() {
+        return afterStopStep;
+    }
+
+    public void setAfterStopStep(String afterStopStep) {
+        this.afterStopStep = afterStopStep;
+    }
+    //实际停用日期        
+    public Timestamp getActualStopDate() {
+        return actualStopDate;
+    }
+
+    public void setActualStopDate(Timestamp actualStopDate) {
+        this.actualStopDate = actualStopDate;
+    }
+    //停用提交人/外键        
+    public Long getStopSubmitPersonId() {
+        return stopSubmitPersonId;
+    }
+
+    public void setStopSubmitPersonId(Long stopSubmitPersonId) {
+        this.stopSubmitPersonId = stopSubmitPersonId;
+    }
+    //停用提交日期        
+    public Timestamp getStopSubmitDate() {
+        return stopSubmitDate;
+    }
+
+    public void setStopSubmitDate(Timestamp stopSubmitDate) {
+        this.stopSubmitDate = stopSubmitDate;
+    }
+    //恢复理由        
+    public String getRecoveryReason() {
+        return recoveryReason;
+    }
+
+    public void setRecoveryReason(String recoveryReason) {
+        this.recoveryReason = recoveryReason;
+    }
+    //恢复填报日期        
+    public Timestamp getRecoverySubmitDate() {
+        return recoverySubmitDate;
+    }
+
+    public void setRecoverySubmitDate(Timestamp recoverySubmitDate) {
+        this.recoverySubmitDate = recoverySubmitDate;
+    }
+    //实际恢复日期        
+    public Timestamp getActualRecoveryDate() {
+        return actualRecoveryDate;
+    }
+
+    public void setActualRecoveryDate(Timestamp actualRecoveryDate) {
+        this.actualRecoveryDate = actualRecoveryDate;
+    }
+    //报废理由        
+    public String getDestoryReason() {
+        return destoryReason;
+    }
+
+    public void setDestoryReason(String destoryReason) {
+        this.destoryReason = destoryReason;
+    }
+    //报废填报日期        
+    public Timestamp getDestorySubmitDate() {
+        return destorySubmitDate;
+    }
+
+    public void setDestorySubmitDate(Timestamp destorySubmitDate) {
+        this.destorySubmitDate = destorySubmitDate;
+    }
+    //实际报废日期        
+    public Timestamp getActualDestoryDate() {
+        return actualDestoryDate;
+    }
+
+    public void setActualDestoryDate(Timestamp actualDestoryDate) {
+        this.actualDestoryDate = actualDestoryDate;
+    }
+            
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+            
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public void setTakecareStardardeDetailList(List<EquipmentTakecareStardardDetail> takecareStardardeDetailList) {
+        this.takecareStardardeDetailList = takecareStardardeDetailList;
+    }
+
+    public List<EquipmentTakecareStardardDetail> getTakecareStardardeDetailList() {
+        return takecareStardardeDetailList;
+    }
+
+    public void setCheckStandardeDetailList(List<EquipmentCheckStandardDetail> checkStandardeDetailList) {
+        this.checkStandardeDetailList = checkStandardeDetailList;
+    }
+
+    public List<EquipmentCheckStandardDetail> getCheckStandardeDetailList() {
+        return checkStandardeDetailList;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentRepairDetailDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentRepairDetailDto.java
new file mode 100644
index 0000000..f27d47d
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentRepairDetailDto.java
@@ -0,0 +1,128 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+public class EquipmentRepairDetailDto implements Serializable {
+        
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    private Integer infoTpe;
+    //设备ID/外键    
+    private Long equipmentId;
+    //维修负责人/外键    
+    private Long repairPersonId;
+    //维修开始日期    
+    private Timestamp repairStartDate;
+    //维修结束日期    
+    private Timestamp repairEndDate;
+    //维修负责人单位/外键    
+    private Long repairPersonDepartmentId;
+    //维修情况    
+    private String repairMemo;
+    //维修状态  1:维修中 2:已修好    
+    private Integer repairStatus;
+    //设施异常项    
+    private String exceptionInfo;
+    //创建日期    
+    private Timestamp createTime;
+    //更新日期    
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //维修负责人/外键        
+    public Long getRepairPersonId() {
+        return repairPersonId;
+    }
+
+    public void setRepairPersonId(Long repairPersonId) {
+        this.repairPersonId = repairPersonId;
+    }
+    //维修开始日期        
+    public Timestamp getRepairStartDate() {
+        return repairStartDate;
+    }
+
+    public void setRepairStartDate(Timestamp repairStartDate) {
+        this.repairStartDate = repairStartDate;
+    }
+    //维修结束日期        
+    public Timestamp getRepairEndDate() {
+        return repairEndDate;
+    }
+
+    public void setRepairEndDate(Timestamp repairEndDate) {
+        this.repairEndDate = repairEndDate;
+    }
+    //维修负责人单位/外键        
+    public Long getRepairPersonDepartmentId() {
+        return repairPersonDepartmentId;
+    }
+
+    public void setRepairPersonDepartmentId(Long repairPersonDepartmentId) {
+        this.repairPersonDepartmentId = repairPersonDepartmentId;
+    }
+    //维修情况        
+    public String getRepairMemo() {
+        return repairMemo;
+    }
+
+    public void setRepairMemo(String repairMemo) {
+        this.repairMemo = repairMemo;
+    }
+    //维修状态  1:维修中 2:已修好        
+    public Integer getRepairStatus() {
+        return repairStatus;
+    }
+
+    public void setRepairStatus(Integer repairStatus) {
+        this.repairStatus = repairStatus;
+    }
+    //设施异常项        
+    public String getExceptionInfo() {
+        return exceptionInfo;
+    }
+
+    public void setExceptionInfo(String exceptionInfo) {
+        this.exceptionInfo = exceptionInfo;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentStatisticsDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentStatisticsDto.java
new file mode 100644
index 0000000..825b5e4
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentStatisticsDto.java
@@ -0,0 +1,31 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import com.gkhy.safePlatform.equipment.entity.*;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class EquipmentStatisticsDto implements Serializable {
+    //停用状态 1:停用 2.在用 3.维修 4.报废
+    private String stopStatus;
+    //总数
+    private String count;
+
+    public String getStopStatus() {
+        return stopStatus;
+    }
+
+    public void setStopStatus(String stopStatus) {
+        this.stopStatus = stopStatus;
+    }
+
+    public String getCount() {
+        return count;
+    }
+
+    public void setCount(String count) {
+        this.count = count;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareDetailDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareDetailDto.java
new file mode 100644
index 0000000..fb43f0e
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareDetailDto.java
@@ -0,0 +1,98 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+public class EquipmentTakecareDetailDto implements Serializable {
+        
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    private Integer infoTpe;
+    //设备ID/外键    
+    private Long equipmentId;
+    //保养内容    
+    private String takecareMemo;
+    //保养负责人/外键    
+    private Long leadingPersonId;
+    //保养日期    
+    private Timestamp takecareDate;
+    //保养负责人单位    
+    private Long leadingPersonDepartmentId;
+    //创建日期    
+    private Timestamp createTime;
+    //更新日期    
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //保养内容        
+    public String getTakecareMemo() {
+        return takecareMemo;
+    }
+
+    public void setTakecareMemo(String takecareMemo) {
+        this.takecareMemo = takecareMemo;
+    }
+    //保养负责人/外键        
+    public Long getLeadingPersonId() {
+        return leadingPersonId;
+    }
+
+    public void setLeadingPersonId(Long leadingPersonId) {
+        this.leadingPersonId = leadingPersonId;
+    }
+    //保养日期        
+    public Timestamp getTakecareDate() {
+        return takecareDate;
+    }
+
+    public void setTakecareDate(Timestamp takecareDate) {
+        this.takecareDate = takecareDate;
+    }
+    //保养负责人单位        
+    public Long getLeadingPersonDepartmentId() {
+        return leadingPersonDepartmentId;
+    }
+
+    public void setLeadingPersonDepartmentId(Long leadingPersonDepartmentId) {
+        this.leadingPersonDepartmentId = leadingPersonDepartmentId;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareStardardDetailDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareStardardDetailDto.java
new file mode 100644
index 0000000..35aaea8
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTakecareStardardDetailDto.java
@@ -0,0 +1,68 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+public class EquipmentTakecareStardardDetailDto implements Serializable {
+        
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    private Integer infoTpe;
+    //设备ID/外键    
+    private Long equipmentId;
+    //文件路径    
+    private String filePath;
+    //创建日期    
+    private Timestamp createTime;
+    //更新日期    
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //文件路径        
+    public String getFilePath() {
+        return filePath;
+    }
+
+    public void setFilePath(String filePath) {
+        this.filePath = filePath;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTestDetailDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTestDetailDto.java
new file mode 100644
index 0000000..93d0cd1
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTestDetailDto.java
@@ -0,0 +1,118 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+public class EquipmentTestDetailDto implements Serializable {
+        
+    private Long id;
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备    
+    private Integer infoTpe;
+    //设备ID/外键    
+    private Long equipmentId;
+    //检测人/外键    
+    private Long testPersonId;
+    //检测日期    
+    private Timestamp testDate;
+    //检测人单位/外键    
+    private Long testPersonDepartmentId;
+    //检测内容    
+    private String testMemo;
+    //检测结果  1:正常 2:异常    
+    private Integer testResult;
+    //检测状态    
+    private String testStatus;
+    //创建日期    
+    private Timestamp createTime;
+    //更新日期    
+    private Timestamp updateTime;
+
+            
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备        
+    public Integer getInfoTpe() {
+        return infoTpe;
+    }
+
+    public void setInfoTpe(Integer infoTpe) {
+        this.infoTpe = infoTpe;
+    }
+    //设备ID/外键        
+    public Long getEquipmentId() {
+        return equipmentId;
+    }
+
+    public void setEquipmentId(Long equipmentId) {
+        this.equipmentId = equipmentId;
+    }
+    //检测人/外键        
+    public Long getTestPersonId() {
+        return testPersonId;
+    }
+
+    public void setTestPersonId(Long testPersonId) {
+        this.testPersonId = testPersonId;
+    }
+    //检测日期        
+    public Timestamp getTestDate() {
+        return testDate;
+    }
+
+    public void setTestDate(Timestamp testDate) {
+        this.testDate = testDate;
+    }
+    //检测人单位/外键        
+    public Long getTestPersonDepartmentId() {
+        return testPersonDepartmentId;
+    }
+
+    public void setTestPersonDepartmentId(Long testPersonDepartmentId) {
+        this.testPersonDepartmentId = testPersonDepartmentId;
+    }
+    //检测内容        
+    public String getTestMemo() {
+        return testMemo;
+    }
+
+    public void setTestMemo(String testMemo) {
+        this.testMemo = testMemo;
+    }
+    //检测结果  1:正常 2:异常        
+    public Integer getTestResult() {
+        return testResult;
+    }
+
+    public void setTestResult(Integer testResult) {
+        this.testResult = testResult;
+    }
+    //检测状态        
+    public String getTestStatus() {
+        return testStatus;
+    }
+
+    public void setTestStatus(String testStatus) {
+        this.testStatus = testStatus;
+    }
+    //创建日期        
+    public Timestamp getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Timestamp createTime) {
+        this.createTime = createTime;
+    }
+    //更新日期        
+    public Timestamp getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Timestamp updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTypeMngDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTypeMngDto.java
new file mode 100644
index 0000000..a2a7249
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/EquipmentTypeMngDto.java
@@ -0,0 +1,131 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.io.Serializable;
+import java.util.List;
+
+public class EquipmentTypeMngDto implements Serializable {
+        
+    private Long id;
+    //类别名称    
+    private String typeName;
+    //是否为设备内容  1:是 2:否    
+    private Integer isContent;
+    //父级ID,如果没有父级,为0    
+    private Long parentId;
+    //排序号    
+    private Integer sortNum;
+    //是否巡检 1:是 2:否    
+    private Integer isVisit;
+    //是否检测  1:是 2:否    
+    private Integer isCheck;
+        
+    private Date createTime;
+        
+    private Date updateTime;
+
+    /**
+     * 孩子列表
+     */
+    @JSONField(name="children",serialzeFeatures= SerializerFeature.WriteMapNullValue)
+    private List<EquipmentTypeMngDto> childList = new ArrayList<>();
+
+
+    public EquipmentTypeMngDto() {
+    }
+
+    public EquipmentTypeMngDto(EquipmentTypeMng typeMng) {
+        this.id = typeMng.getId();
+        this.typeName = typeMng.getTypeName();
+        this.isContent = typeMng.getIsContent();
+        this.parentId = typeMng.getParentId();
+        this.sortNum = typeMng.getSortNum();
+        this.isVisit = typeMng.getIsVisit();
+        this.isCheck = typeMng.getIsCheck();
+    }
+
+    public List<EquipmentTypeMngDto> getChildList() {
+        return childList;
+    }
+
+    public void setChildList(List<EquipmentTypeMngDto> childList) {
+        this.childList = childList;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //类别名称        
+    public String getTypeName() {
+        return typeName;
+    }
+
+    public void setTypeName(String typeName) {
+        this.typeName = typeName;
+    }
+    //是否为设备内容  1:是 2:否        
+    public Integer getIsContent() {
+        return isContent;
+    }
+
+    public void setIsContent(Integer isContent) {
+        this.isContent = isContent;
+    }
+    //父级ID,如果没有父级,为0        
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+    //排序号        
+    public Integer getSortNum() {
+        return sortNum;
+    }
+
+    public void setSortNum(Integer sortNum) {
+        this.sortNum = sortNum;
+    }
+    //是否巡检 1:是 2:否        
+    public Integer getIsVisit() {
+        return isVisit;
+    }
+
+    public void setIsVisit(Integer isVisit) {
+        this.isVisit = isVisit;
+    }
+    //是否检测  1:是 2:否        
+    public Integer getIsCheck() {
+        return isCheck;
+    }
+
+    public void setIsCheck(Integer isCheck) {
+        this.isCheck = isCheck;
+    }
+            
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+            
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java
new file mode 100644
index 0000000..b89562c
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java
@@ -0,0 +1,319 @@
+package com.gkhy.safePlatform.equipment.model.dto.resp;
+
+import com.gkhy.safePlatform.equipment.entity.*;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.io.Serializable;
+import java.util.List;
+
+public class KeypointEquipmentInfoDto implements Serializable {
+    //ID    
+    private Long id;
+    //类型/类别外键    
+    private Long equipmentTypeId;
+    //名称    
+    private String name;
+    //单位部门外键    
+    private Long departmentId;
+    //具体位置    
+    private String position;
+    //负责人姓名    
+    private String leadingPersonName;
+    //联系人/外键    
+    private Long connectPersonId;
+    //录入人/外键    
+    private Long inputPersonId;
+    //责任人/外键    
+    private Long responsibilityPersonId;
+    //装置部位分类 1:关键装置 2:重点部位    
+    private Integer partType;
+    //检查周期    
+    private String checkCycle;
+    //应急预案/外键    
+    private Long emergencePlanId;
+    //主要危险有害因素    
+    private String dangerousElement;
+    //易导致风险    
+    private String toDangerous;
+    //应急处置措施    
+    private String treatment;
+    //现场图片    
+    private String scenePic;
+        
+    private Date createTime;
+        
+    private Date updateTime;
+
+
+    //设备保养
+    private List<EquipmentTakecareDetail> takecareDetailList = new ArrayList<>();
+
+    //设备检测
+    private List<EquipmentTestDetail> testDetailList = new ArrayList<>();
+
+    //设备检查
+    private List checkDetailList = new ArrayList<>();
+
+    //设备维修
+    private List<EquipmentRepairDetail> repaireDetailList = new ArrayList<>();
+
+    //保养标准
+    private List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = new ArrayList<>();
+
+    //检查标准
+    private List<EquipmentCheckStandardDetail> checkStandardeDetailList = new ArrayList<>();
+
+
+
+    //要删除的设备保养
+    private String delTakecareDetails;
+
+    //要删除的设备检测
+    private String delTestDetails;
+
+    //要删除的设备维修
+    private String delRepaireDetails;
+
+    //要删除的保养标准
+    private String delTakecareStardardeDetails;
+
+    //要删除的检查标准
+    private String delCheckStandardeDetails;
+
+    public String getDelTakecareDetails() {
+        return delTakecareDetails;
+    }
+
+    public void setDelTakecareDetails(String delTakecareDetails) {
+        this.delTakecareDetails = delTakecareDetails;
+    }
+
+    public String getDelTestDetails() {
+        return delTestDetails;
+    }
+
+    public void setDelTestDetails(String delTestDetails) {
+        this.delTestDetails = delTestDetails;
+    }
+
+    public String getDelRepaireDetails() {
+        return delRepaireDetails;
+    }
+
+    public void setDelRepaireDetails(String delRepaireDetails) {
+        this.delRepaireDetails = delRepaireDetails;
+    }
+
+    public String getDelTakecareStardardeDetails() {
+        return delTakecareStardardeDetails;
+    }
+
+    public void setDelTakecareStardardeDetails(String delTakecareStardardeDetails) {
+        this.delTakecareStardardeDetails = delTakecareStardardeDetails;
+    }
+
+    public String getDelCheckStandardeDetails() {
+        return delCheckStandardeDetails;
+    }
+
+    public void setDelCheckStandardeDetails(String delCheckStandardeDetails) {
+        this.delCheckStandardeDetails = delCheckStandardeDetails;
+    }
+
+
+
+
+    public List<EquipmentTakecareDetail> getTakecareDetailList() {
+        return takecareDetailList;
+    }
+
+    public void setTakecareDetailList(List<EquipmentTakecareDetail> takecareDetailList) {
+        this.takecareDetailList = takecareDetailList;
+    }
+
+    public List<EquipmentTestDetail> getTestDetailList() {
+        return testDetailList;
+    }
+
+    public void setTestDetailList(List<EquipmentTestDetail> testDetailList) {
+        this.testDetailList = testDetailList;
+    }
+
+    public List getCheckDetailList() {
+        return checkDetailList;
+    }
+
+    public void setCheckDetailList(List checkDetailList) {
+        this.checkDetailList = checkDetailList;
+    }
+
+    public List<EquipmentRepairDetail> getRepaireDetailList() {
+        return repaireDetailList;
+    }
+
+    public void setRepaireDetailList(List<EquipmentRepairDetail> repaireDetailList) {
+        this.repaireDetailList = repaireDetailList;
+    }
+
+    public List<EquipmentTakecareStardardDetail> getTakecareStardardeDetailList() {
+        return takecareStardardeDetailList;
+    }
+
+    public void setTakecareStardardeDetailList(List<EquipmentTakecareStardardDetail> takecareStardardeDetailList) {
+        this.takecareStardardeDetailList = takecareStardardeDetailList;
+    }
+
+    public List<EquipmentCheckStandardDetail> getCheckStandardeDetailList() {
+        return checkStandardeDetailList;
+    }
+
+    public void setCheckStandardeDetailList(List<EquipmentCheckStandardDetail> checkStandardeDetailList) {
+        this.checkStandardeDetailList = checkStandardeDetailList;
+    }
+
+    //ID
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    //类型/类别外键        
+    public Long getEquipmentTypeId() {
+        return equipmentTypeId;
+    }
+
+    public void setEquipmentTypeId(Long equipmentTypeId) {
+        this.equipmentTypeId = equipmentTypeId;
+    }
+    //名称        
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    //单位部门外键        
+    public Long getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(Long departmentId) {
+        this.departmentId = departmentId;
+    }
+    //具体位置        
+    public String getPosition() {
+        return position;
+    }
+
+    public void setPosition(String position) {
+        this.position = position;
+    }
+    //负责人姓名        
+    public String getLeadingPersonName() {
+        return leadingPersonName;
+    }
+
+    public void setLeadingPersonName(String leadingPersonName) {
+        this.leadingPersonName = leadingPersonName;
+    }
+    //联系人/外键        
+    public Long getConnectPersonId() {
+        return connectPersonId;
+    }
+
+    public void setConnectPersonId(Long connectPersonId) {
+        this.connectPersonId = connectPersonId;
+    }
+    //录入人/外键        
+    public Long getInputPersonId() {
+        return inputPersonId;
+    }
+
+    public void setInputPersonId(Long inputPersonId) {
+        this.inputPersonId = inputPersonId;
+    }
+    //责任人/外键        
+    public Long getResponsibilityPersonId() {
+        return responsibilityPersonId;
+    }
+
+    public void setResponsibilityPersonId(Long responsibilityPersonId) {
+        this.responsibilityPersonId = responsibilityPersonId;
+    }
+    //装置部位分类 1:关键装置 2:重点部位        
+    public Integer getPartType() {
+        return partType;
+    }
+
+    public void setPartType(Integer partType) {
+        this.partType = partType;
+    }
+    //检查周期        
+    public String getCheckCycle() {
+        return checkCycle;
+    }
+
+    public void setCheckCycle(String checkCycle) {
+        this.checkCycle = checkCycle;
+    }
+    //应急预案/外键        
+    public Long getEmergencePlanId() {
+        return emergencePlanId;
+    }
+
+    public void setEmergencePlanId(Long emergencePlanId) {
+        this.emergencePlanId = emergencePlanId;
+    }
+    //主要危险有害因素        
+    public String getDangerousElement() {
+        return dangerousElement;
+    }
+
+    public void setDangerousElement(String dangerousElement) {
+        this.dangerousElement = dangerousElement;
+    }
+    //易导致风险        
+    public String getToDangerous() {
+        return toDangerous;
+    }
+
+    public void setToDangerous(String toDangerous) {
+        this.toDangerous = toDangerous;
+    }
+    //应急处置措施        
+    public String getTreatment() {
+        return treatment;
+    }
+
+    public void setTreatment(String treatment) {
+        this.treatment = treatment;
+    }
+    //现场图片        
+    public String getScenePic() {
+        return scenePic;
+    }
+
+    public void setScenePic(String scenePic) {
+        this.scenePic = scenePic;
+    }
+            
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+            
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentCheckStandardDetailRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentCheckStandardDetailRepository.java
new file mode 100644
index 0000000..e00c11d
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentCheckStandardDetailRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentCheckStandardDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备检查标准设置(EquipmentCheckStandardDetail)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 15:21:54
+ */
+@Repository
+public interface EquipmentCheckStandardDetailRepository extends BaseMapper<EquipmentCheckStandardDetail> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentInfoRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentInfoRepository.java
new file mode 100644
index 0000000..41cf464
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentInfoRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentInfo;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备设施详细信息(EquipmentInfo)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 14:02:50
+ */
+@Repository
+public interface EquipmentInfoRepository extends BaseMapper<EquipmentInfo> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentRepairDetailRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentRepairDetailRepository.java
new file mode 100644
index 0000000..10a8c9b
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentRepairDetailRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentRepairDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备维修明细(EquipmentRepairDetail)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 15:10:57
+ */
+@Repository
+public interface EquipmentRepairDetailRepository extends BaseMapper<EquipmentRepairDetail> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareDetailRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareDetailRepository.java
new file mode 100644
index 0000000..b6b4f90
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareDetailRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备保养明细(EquipmentTakecareDetail)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 14:40:28
+ */
+@Repository
+public interface EquipmentTakecareDetailRepository extends BaseMapper<EquipmentTakecareDetail> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareStardardDetailRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareStardardDetailRepository.java
new file mode 100644
index 0000000..8bd6b2d
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTakecareStardardDetailRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareStardardDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备保养明细(EquipmentTakecareStardardDetail)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 15:22:05
+ */
+@Repository
+public interface EquipmentTakecareStardardDetailRepository extends BaseMapper<EquipmentTakecareStardardDetail> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTestDetailRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTestDetailRepository.java
new file mode 100644
index 0000000..5755b38
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTestDetailRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTestDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备检测明细(EquipmentTestDetail)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 15:08:23
+ */
+@Repository
+public interface EquipmentTestDetailRepository extends BaseMapper<EquipmentTestDetail> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTypeMngRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTypeMngRepository.java
new file mode 100644
index 0000000..1161b4e
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/EquipmentTypeMngRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 设备设施类型管理(EquipmentTypeMng)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 08:35:02
+ */
+@Repository
+public interface EquipmentTypeMngRepository extends BaseMapper<EquipmentTypeMng> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/KeypointEquipmentInfoRepository.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/KeypointEquipmentInfoRepository.java
new file mode 100644
index 0000000..751160f
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/KeypointEquipmentInfoRepository.java
@@ -0,0 +1,16 @@
+package com.gkhy.safePlatform.equipment.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.safePlatform.equipment.entity.KeypointEquipmentInfo;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表数据库访问层
+ *
+ * @author xurui
+ * @since 2022-07-19 13:36:27
+ */
+@Repository
+public interface KeypointEquipmentInfoRepository extends BaseMapper<KeypointEquipmentInfo> {
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipMinioAccessService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipMinioAccessService.java
new file mode 100644
index 0000000..b312d1e
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipMinioAccessService.java
@@ -0,0 +1,161 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import io.minio.*;
+import io.minio.errors.*;
+import io.minio.http.Method;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class EquipMinioAccessService {
+
+   /* @Resource
+    private MinioConfig minioConfig;
+
+    @Autowired
+    private MinioClient minioClient;
+
+    public Object uploadStream(InputStream inputStream,String objectName){
+        try {
+            boolean bucketCheck =
+                    minioClient.bucketExists(BucketExistsArgs.builder()
+                            .bucket(minioConfig.getBucketName()).build());
+            if(bucketCheck == true){
+                // 上传流
+                minioClient.putObject(
+                        PutObjectArgs.builder()
+                                .bucket(minioConfig.getBucketName())
+                                .object(objectName).stream(inputStream, inputStream.available(), -1)
+                                .build());
+                inputStream.close();
+                System.out.println("上传成功");
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        }
+        return "1";
+    }
+    public Object uploadFile(){
+        try {
+            boolean bucketCheck =
+                    minioClient.bucketExists(BucketExistsArgs.builder()
+                            .bucket(minioConfig.getBucketName()).build());
+            if(bucketCheck == true){
+                minioClient.uploadObject(UploadObjectArgs.builder().bucket(minioConfig.getBucketName())
+                        .object("1.b3dm")
+                        .filename("G:\\b3dm\\b3dm60\\Tile_+000_+004\\Tile_+000_+004.b3dm")
+                        .build());
+                System.out.println("上传成功");
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        }
+        return "1";
+    }
+
+    public String getObjectUrl(String objectName){
+        String url = null;
+        try {
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.GET)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objectName)
+                    .expiry(60).build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }
+
+    public String getPutUrl(String objName){
+        String url = null;
+        try {
+            Map<String, String> reqParams = new HashMap<>();
+            reqParams.put("response-content-type", "application/json");
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.PUT)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objName)
+                    .expiry(60*2)
+                    .extraQueryParams(reqParams)
+                    .build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }*/
+
+
+}
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentCheckStandardDetailService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentCheckStandardDetailService.java
new file mode 100644
index 0000000..831506c
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentCheckStandardDetailService.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentCheckStandardDetail;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentCheckStandardDetailQueryCriteria;
+
+import java.util.List;
+
+
+/**
+ * 设备检查标准设置(EquipmentCheckStandardDetail)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 15:21:54
+ */
+public interface EquipmentCheckStandardDetailService extends IService<EquipmentCheckStandardDetail> {
+    ResultVO queryAll(PageQuery<EquipmentCheckStandardDetailQueryCriteria> pageQuery);
+    
+    List<EquipmentCheckStandardDetail> queryAll(EquipmentCheckStandardDetailQueryCriteria criteria);
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentInfoService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentInfoService.java
new file mode 100644
index 0000000..2a36794
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentInfoService.java
@@ -0,0 +1,31 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentInfo;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoSaveOrUpdate;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 设备设施详细信息(EquipmentInfo)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 14:02:50
+ */
+public interface EquipmentInfoService extends IService<EquipmentInfo> {
+    ResultVO queryAll(PageQuery<EquipmentInfoQueryCriteria> pageQuery);
+    
+    List<EquipmentInfo> queryAll(EquipmentInfoQueryCriteria criteria);
+
+    EquipmentInfoDto selectOne(Serializable id);
+
+    void addOrUpdate(EquipmentInfoSaveOrUpdate infoDto);
+
+    Object statistics();
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentRepairDetailService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentRepairDetailService.java
new file mode 100644
index 0000000..034357a
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentRepairDetailService.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentRepairDetail;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentRepairDetailQueryCriteria;
+
+import java.util.List;
+
+
+/**
+ * 设备维修明细(EquipmentRepairDetail)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 15:10:57
+ */
+public interface EquipmentRepairDetailService extends IService<EquipmentRepairDetail> {
+    ResultVO queryAll(PageQuery<EquipmentRepairDetailQueryCriteria> pageQuery);
+    
+    List<EquipmentRepairDetail> queryAll(EquipmentRepairDetailQueryCriteria criteria);
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareDetailService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareDetailService.java
new file mode 100644
index 0000000..d199769
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareDetailService.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareDetail;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTakecareDetailQueryCriteria;
+
+import java.util.List;
+
+
+/**
+ * 设备保养明细(EquipmentTakecareDetail)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 14:40:28
+ */
+public interface EquipmentTakecareDetailService extends IService<EquipmentTakecareDetail> {
+    ResultVO queryAll(PageQuery<EquipmentTakecareDetailQueryCriteria> pageQuery);
+    
+    List<EquipmentTakecareDetail> queryAll(EquipmentTakecareDetailQueryCriteria criteria);
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareStardardDetailService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareStardardDetailService.java
new file mode 100644
index 0000000..3bc0610
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTakecareStardardDetailService.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareStardardDetail;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTakecareStardardDetailQueryCriteria;
+
+import java.util.List;
+
+
+/**
+ * 设备保养明细(EquipmentTakecareStardardDetail)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 15:22:05
+ */
+public interface EquipmentTakecareStardardDetailService extends IService<EquipmentTakecareStardardDetail> {
+    ResultVO queryAll(PageQuery<EquipmentTakecareStardardDetailQueryCriteria> pageQuery);
+    
+    List<EquipmentTakecareStardardDetail> queryAll(EquipmentTakecareStardardDetailQueryCriteria criteria);
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTestDetailService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTestDetailService.java
new file mode 100644
index 0000000..7cd58bc
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTestDetailService.java
@@ -0,0 +1,23 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTestDetail;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTestDetailQueryCriteria;
+
+import java.util.List;
+
+
+/**
+ * 设备检测明细(EquipmentTestDetail)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 15:08:23
+ */
+public interface EquipmentTestDetailService extends IService<EquipmentTestDetail> {
+    ResultVO queryAll(PageQuery<EquipmentTestDetailQueryCriteria> pageQuery);
+    
+    List<EquipmentTestDetail> queryAll(EquipmentTestDetailQueryCriteria criteria);
+
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTypeMngService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTypeMngService.java
new file mode 100644
index 0000000..7d755de
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/EquipmentTypeMngService.java
@@ -0,0 +1,25 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTypeMngQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTypeMngDto;
+
+import java.util.List;
+
+
+/**
+ * 设备设施类型管理(EquipmentTypeMng)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 08:35:02
+ */
+public interface EquipmentTypeMngService extends IService<EquipmentTypeMng> {
+    ResultVO queryAll(PageQuery<EquipmentTypeMngQueryCriteria> pageQuery);
+    
+    List<EquipmentTypeMng> queryAll(EquipmentTypeMngQueryCriteria criteria);
+
+    List<EquipmentTypeMngDto> treeData(Long parentId);
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/KeypointEquipmentInfoService.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/KeypointEquipmentInfoService.java
new file mode 100644
index 0000000..5a32838
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/KeypointEquipmentInfoService.java
@@ -0,0 +1,28 @@
+package com.gkhy.safePlatform.equipment.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.safePlatform.equipment.entity.KeypointEquipmentInfo;
+import com.gkhy.safePlatform.commons.vo.ResultVO;
+import com.gkhy.safePlatform.commons.query.PageQuery;
+import com.gkhy.safePlatform.equipment.model.dto.req.KeypointEquipmentInfoQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.KeypointEquipmentInfoDto;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表服务接口
+ *
+ * @author xurui
+ * @since 2022-07-19 13:36:27
+ */
+public interface KeypointEquipmentInfoService extends IService<KeypointEquipmentInfo> {
+    ResultVO queryAll(PageQuery<KeypointEquipmentInfoQueryCriteria> pageQuery);
+    
+    List<KeypointEquipmentInfo> queryAll(KeypointEquipmentInfoQueryCriteria criteria);
+
+    KeypointEquipmentInfoDto selectOne(Serializable id);
+
+    void addOrUpdate(KeypointEquipmentInfoDto infoDto);
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentCheckStandardDetailServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentCheckStandardDetailServiceImpl.java
new file mode 100644
index 0000000..8a3800c
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentCheckStandardDetailServiceImpl.java
@@ -0,0 +1,61 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.repository.EquipmentCheckStandardDetailRepository;
+import com.gkhy.safePlatform.equipment.entity.EquipmentCheckStandardDetail;
+import com.gkhy.safePlatform.equipment.service.EquipmentCheckStandardDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.req.EquipmentCheckStandardDetailQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentCheckStandardDetailDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+
+import java.util.List;
+
+/**
+ * 设备检查标准设置(EquipmentCheckStandardDetail)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:21:54
+ */
+@Service("equipmentCheckStandardDetailService")
+public class EquipmentCheckStandardDetailServiceImpl extends ServiceImpl<EquipmentCheckStandardDetailRepository, EquipmentCheckStandardDetail> implements EquipmentCheckStandardDetailService {
+
+    @Autowired
+    private EquipmentCheckStandardDetailRepository equipmentCheckStandardDetailRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentCheckStandardDetailQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentCheckStandardDetail> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentCheckStandardDetail.class, pageQuery.getSearchParams()));
+        List<EquipmentCheckStandardDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentCheckStandardDetailDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentCheckStandardDetail> queryAll(EquipmentCheckStandardDetailQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentCheckStandardDetail.class, criteria));
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
new file mode 100644
index 0000000..6124c5e
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java
@@ -0,0 +1,248 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.equipment.entity.*;
+import com.gkhy.safePlatform.equipment.model.dto.req.*;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto;
+import com.gkhy.safePlatform.equipment.repository.EquipmentInfoRepository;
+import com.gkhy.safePlatform.equipment.service.*;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 设备设施详细信息(EquipmentInfo)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 14:02:50
+ */
+@Service("equipmentInfoService")
+public class EquipmentInfoServiceImpl extends ServiceImpl<EquipmentInfoRepository, EquipmentInfo> implements EquipmentInfoService {
+
+    @Autowired
+    private EquipmentInfoRepository equipmentInfoRepository;
+
+    @Autowired
+    private EquipmentTakecareDetailService equipmentTakecareDetailService;
+
+    @Autowired
+    private EquipmentTestDetailService equipmentTestDetailService;
+
+    @Autowired
+    private EquipmentRepairDetailService equipmentRepairDetailService;
+
+    @Autowired
+    private EquipmentTakecareStardardDetailService equipmentTakecareStardardDetailService;
+
+    @Autowired
+    private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService;
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentInfoQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentInfo> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentInfo.class, pageQuery.getSearchParams()));
+        List<EquipmentInfoDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentInfoDto.class);
+
+        //获取额外信息
+        respList.forEach(f->{
+            //设备保养
+            EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria();
+            criteria.setEquipmentId(f.getId());
+            criteria.setInfoTpe(pageQuery.getSearchParams().getInfoType());
+            List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria);
+            f.setTakecareDetailList(takecareDetailList);
+
+            //设备检测
+            EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria();
+            criteria1.setEquipmentId(f.getId());
+            criteria1.setInfoTpe(pageQuery.getSearchParams().getInfoType());
+            List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1);
+            f.setCheckDetailList(checkDetailList);
+
+            //设备检查 TODO
+
+
+            //设备维修
+            EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria();
+            criteria2.setEquipmentId(f.getId());
+            criteria2.setInfoTpe(pageQuery.getSearchParams().getInfoType());
+            List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2);
+            f.setRepaireDetailList(repairDetailList);
+        });
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentInfo> queryAll(EquipmentInfoQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentInfo.class, criteria));
+    }
+
+    @Override
+    public EquipmentInfoDto selectOne(Serializable id) {
+        EquipmentInfo equipmentInfo = baseMapper.selectById(id);
+        if(equipmentInfo == null){
+            return null;
+        }
+        EquipmentInfoDto infoDto = BeanCopyUtils.copyBean(equipmentInfo, EquipmentInfoDto.class);
+
+        //设备保养
+        EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria();
+        criteria.setEquipmentId(infoDto.getId());
+        criteria.setInfoTpe(infoDto.getInfoType());
+        List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria);
+        infoDto.setTakecareDetailList(takecareDetailList);
+
+        //设备检测
+        EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria();
+        criteria1.setEquipmentId(infoDto.getId());
+        criteria1.setInfoTpe(infoDto.getInfoType());
+        List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1);
+        infoDto.setCheckDetailList(checkDetailList);
+
+        //设备检查 TODO
+
+
+        //设备维修
+        EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria();
+        criteria2.setEquipmentId(infoDto.getId());
+        criteria2.setInfoTpe(infoDto.getInfoType());
+        List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2);
+        infoDto.setRepaireDetailList(repairDetailList);
+
+        //检查标准
+        EquipmentCheckStandardDetailQueryCriteria criteria3 = new EquipmentCheckStandardDetailQueryCriteria();
+        criteria3.setEquipmentId(infoDto.getId());
+        criteria3.setInfoTpe(infoDto.getInfoType());
+        List<EquipmentCheckStandardDetail> checkStandardDetailList = equipmentCheckStandardDetailService.queryAll(criteria3);
+        infoDto.setCheckStandardeDetailList(checkStandardDetailList);
+
+        //保养标准
+        EquipmentTakecareStardardDetailQueryCriteria criteria4 = new EquipmentTakecareStardardDetailQueryCriteria();
+        criteria4.setEquipmentId(infoDto.getId());
+        criteria4.setInfoTpe(infoDto.getInfoType());
+        List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailService.queryAll(criteria4);
+        infoDto.setTakecareStardardeDetailList(takecareStardardDetailList);
+
+        return infoDto;
+    }
+
+    @Override
+    public void addOrUpdate(EquipmentInfoSaveOrUpdate infoDto) {
+        EquipmentInfo equipmentInfo = BeanCopyUtils.copyBean(infoDto, EquipmentInfo.class);
+        //保存主数据
+        if (infoDto.getId() == null) { //新增
+            this.save(equipmentInfo);
+        } else {
+            this.update(equipmentInfo,new UpdateWrapper<EquipmentInfo>().eq("id",infoDto.getId()));
+        }
+
+
+        //保存设备保养
+        List<EquipmentTakecareDetail> takecareDetailList = infoDto.getTakecareDetailList();
+        takecareDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(equipmentInfo.getInfoType());
+        });
+        equipmentTakecareDetailService.saveOrUpdateBatch(takecareDetailList);
+        if(StringUtils.hasText(infoDto.getDelTakecareDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTakecareDetailService.removeByIds(idList);
+        }
+
+
+
+        //保存设备检测
+        List<EquipmentTestDetail> testDetailList = infoDto.getTestDetailList();
+        testDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(equipmentInfo.getInfoType());
+        });
+        equipmentTestDetailService.saveOrUpdateBatch(testDetailList);
+        if(StringUtils.hasText(infoDto.getDelTestDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTestDetailService.removeByIds(idList);
+        }
+
+        //设备检查 TODO
+
+
+        //保存设备维修
+        List<EquipmentRepairDetail> repaireDetailList = infoDto.getRepaireDetailList();
+        repaireDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(equipmentInfo.getInfoType());
+        });
+        equipmentRepairDetailService.saveOrUpdateBatch(repaireDetailList);
+        if(StringUtils.hasText(infoDto.getDelRepaireDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentRepairDetailService.removeByIds(idList);
+        }
+
+        //保存检查标准
+        List<EquipmentCheckStandardDetail> checkStandardeDetailList = infoDto.getCheckStandardeDetailList();
+        checkStandardeDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(equipmentInfo.getInfoType());
+        });
+        equipmentCheckStandardDetailService.saveOrUpdateBatch(checkStandardeDetailList);
+        if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentCheckStandardDetailService.removeByIds(idList);
+        }
+
+        //保存保养标准
+        List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = infoDto.getTakecareStardardeDetailList();
+        takecareStardardeDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(equipmentInfo.getInfoType());
+        });
+        equipmentTakecareStardardDetailService.saveOrUpdateBatch(takecareStardardeDetailList);
+        if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTakecareStardardDetailService.removeByIds(idList);
+        }
+
+
+    }
+
+    @Override
+    public Object statistics() {
+        QueryWrapper<EquipmentInfo> wrapper = new QueryWrapper<EquipmentInfo>()
+                .select("stop_status as stopStatus,count(0) as count")
+                .groupBy("stop_status");
+
+        return this.listMaps(wrapper);
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentRepairDetailServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentRepairDetailServiceImpl.java
new file mode 100644
index 0000000..0ad98d8
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentRepairDetailServiceImpl.java
@@ -0,0 +1,61 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.repository.EquipmentRepairDetailRepository;
+import com.gkhy.safePlatform.equipment.entity.EquipmentRepairDetail;
+import com.gkhy.safePlatform.equipment.service.EquipmentRepairDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.req.EquipmentRepairDetailQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentRepairDetailDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+
+import java.util.List;
+
+/**
+ * 设备维修明细(EquipmentRepairDetail)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:10:57
+ */
+@Service("equipmentRepairDetailService")
+public class EquipmentRepairDetailServiceImpl extends ServiceImpl<EquipmentRepairDetailRepository, EquipmentRepairDetail> implements EquipmentRepairDetailService {
+
+    @Autowired
+    private EquipmentRepairDetailRepository equipmentRepairDetailRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentRepairDetailQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentRepairDetail> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentRepairDetail.class, pageQuery.getSearchParams()));
+        List<EquipmentRepairDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentRepairDetailDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentRepairDetail> queryAll(EquipmentRepairDetailQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentRepairDetail.class, criteria));
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareDetailServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareDetailServiceImpl.java
new file mode 100644
index 0000000..f32510f
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareDetailServiceImpl.java
@@ -0,0 +1,61 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.repository.EquipmentTakecareDetailRepository;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareDetail;
+import com.gkhy.safePlatform.equipment.service.EquipmentTakecareDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.req.EquipmentTakecareDetailQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTakecareDetailDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+
+import java.util.List;
+
+/**
+ * 设备保养明细(EquipmentTakecareDetail)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 14:40:28
+ */
+@Service("equipmentTakecareDetailService")
+public class EquipmentTakecareDetailServiceImpl extends ServiceImpl<EquipmentTakecareDetailRepository, EquipmentTakecareDetail> implements EquipmentTakecareDetailService {
+
+    @Autowired
+    private EquipmentTakecareDetailRepository equipmentTakecareDetailRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentTakecareDetailQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentTakecareDetail> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentTakecareDetail.class, pageQuery.getSearchParams()));
+        List<EquipmentTakecareDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentTakecareDetailDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentTakecareDetail> queryAll(EquipmentTakecareDetailQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentTakecareDetail.class, criteria));
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareStardardDetailServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareStardardDetailServiceImpl.java
new file mode 100644
index 0000000..b4133b9
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTakecareStardardDetailServiceImpl.java
@@ -0,0 +1,61 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.repository.EquipmentTakecareStardardDetailRepository;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTakecareStardardDetail;
+import com.gkhy.safePlatform.equipment.service.EquipmentTakecareStardardDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.req.EquipmentTakecareStardardDetailQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTakecareStardardDetailDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+
+import java.util.List;
+
+/**
+ * 设备保养明细(EquipmentTakecareStardardDetail)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:22:05
+ */
+@Service("equipmentTakecareStardardDetailService")
+public class EquipmentTakecareStardardDetailServiceImpl extends ServiceImpl<EquipmentTakecareStardardDetailRepository, EquipmentTakecareStardardDetail> implements EquipmentTakecareStardardDetailService {
+
+    @Autowired
+    private EquipmentTakecareStardardDetailRepository equipmentTakecareStardardDetailRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentTakecareStardardDetailQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentTakecareStardardDetail> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentTakecareStardardDetail.class, pageQuery.getSearchParams()));
+        List<EquipmentTakecareStardardDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentTakecareStardardDetailDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentTakecareStardardDetail> queryAll(EquipmentTakecareStardardDetailQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentTakecareStardardDetail.class, criteria));
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTestDetailServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTestDetailServiceImpl.java
new file mode 100644
index 0000000..57f31f5
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTestDetailServiceImpl.java
@@ -0,0 +1,61 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.repository.EquipmentTestDetailRepository;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTestDetail;
+import com.gkhy.safePlatform.equipment.service.EquipmentTestDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.req.EquipmentTestDetailQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTestDetailDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+
+import java.util.List;
+
+/**
+ * 设备检测明细(EquipmentTestDetail)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 15:08:23
+ */
+@Service("equipmentTestDetailService")
+public class EquipmentTestDetailServiceImpl extends ServiceImpl<EquipmentTestDetailRepository, EquipmentTestDetail> implements EquipmentTestDetailService {
+
+    @Autowired
+    private EquipmentTestDetailRepository equipmentTestDetailRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentTestDetailQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<EquipmentTestDetail> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentTestDetail.class, pageQuery.getSearchParams()));
+        List<EquipmentTestDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentTestDetailDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentTestDetail> queryAll(EquipmentTestDetailQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentTestDetail.class, criteria));
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTypeMngServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTypeMngServiceImpl.java
new file mode 100644
index 0000000..2e63620
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentTypeMngServiceImpl.java
@@ -0,0 +1,81 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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.vo.ResultVO;
+import com.gkhy.safePlatform.commons.vo.SearchResultVO;
+import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
+import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTypeMngQueryCriteria;
+import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTypeMngDto;
+import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository;
+import com.gkhy.safePlatform.equipment.service.EquipmentTypeMngService;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 设备设施类型管理(EquipmentTypeMng)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 08:35:02
+ */
+@Service("equipmentTypeMngService")
+public class EquipmentTypeMngServiceImpl extends ServiceImpl<EquipmentTypeMngRepository, EquipmentTypeMng> implements EquipmentTypeMngService {
+
+    @Autowired
+    private EquipmentTypeMngRepository equipmentTypeMngRepository;
+    
+    
+	
+	@Override
+    public ResultVO queryAll(PageQuery<EquipmentTypeMngQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        Page<EquipmentTypeMng> page = new Page<>(pageIndex, pageSize);
+        page.addOrder(OrderItem.asc("sort_num"));
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(EquipmentTypeMng.class, pageQuery.getSearchParams()));
+        List<EquipmentTypeMngDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentTypeMngDto.class);
+
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<EquipmentTypeMng> queryAll(EquipmentTypeMngQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentTypeMng.class, criteria).orderBy(true,true,"sort_num"));
+    }
+
+    @Override
+    public List<EquipmentTypeMngDto> treeData(Long parentId) {
+        EquipmentTypeMngQueryCriteria criteria = new EquipmentTypeMngQueryCriteria();
+        criteria.setParentId(parentId);
+        List<EquipmentTypeMng> list = queryAll(criteria);
+        List<EquipmentTypeMngDto> rsList = list.stream().map(f->{
+            EquipmentTypeMngDto response = new EquipmentTypeMngDto(f);
+            return response;
+        }).collect(Collectors.toList());
+        for(EquipmentTypeMngDto info: rsList){
+            List<EquipmentTypeMngDto> children = treeData(info.getId());
+            if(!children.isEmpty()){
+                info.setChildList(children);
+            }
+        }
+        return rsList;
+    }
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java
new file mode 100644
index 0000000..a012d3a
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java
@@ -0,0 +1,233 @@
+package com.gkhy.safePlatform.equipment.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.safePlatform.equipment.entity.*;
+import com.gkhy.safePlatform.equipment.model.dto.req.*;
+import com.gkhy.safePlatform.equipment.repository.KeypointEquipmentInfoRepository;
+import com.gkhy.safePlatform.equipment.service.*;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.gkhy.safePlatform.commons.enums.ResultCodes;
+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.equipment.model.dto.resp.KeypointEquipmentInfoDto;
+import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
+import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import org.springframework.util.StringUtils;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表服务实现类
+ *
+ * @author xurui
+ * @since 2022-07-19 13:36:27
+ */
+@Service("keypointEquipmentInfoService")
+public class KeypointEquipmentInfoServiceImpl extends ServiceImpl<KeypointEquipmentInfoRepository, KeypointEquipmentInfo> implements KeypointEquipmentInfoService {
+
+    @Autowired
+    private KeypointEquipmentInfoRepository keypointEquipmentInfoRepository;
+
+
+    @Autowired
+    private EquipmentTakecareDetailService equipmentTakecareDetailService;
+
+    @Autowired
+    private EquipmentTestDetailService equipmentTestDetailService;
+
+    @Autowired
+    private EquipmentRepairDetailService equipmentRepairDetailService;
+
+    @Autowired
+    private EquipmentTakecareStardardDetailService equipmentTakecareStardardDetailService;
+
+    @Autowired
+    private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService;
+	
+	@Override
+    public ResultVO queryAll(PageQuery<KeypointEquipmentInfoQueryCriteria> pageQuery) {
+        Long pageIndex = pageQuery.getPageIndex();
+        Long pageSize = pageQuery.getPageSize();
+        IPage<KeypointEquipmentInfo> page = new Page<>(pageIndex, pageSize);
+
+        page = baseMapper.selectPage(page,
+                QueryHelpPlus.getPredicate(KeypointEquipmentInfo.class, pageQuery.getSearchParams()));
+        List<KeypointEquipmentInfoDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), KeypointEquipmentInfoDto.class);
+
+        //获取额外信息
+        respList.forEach(f->{
+            //设备保养
+            EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria();
+            criteria.setEquipmentId(f.getId());
+            criteria.setInfoTpe(3);
+            List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria);
+            f.setTakecareDetailList(takecareDetailList);
+
+            //设备检测
+            EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria();
+            criteria1.setEquipmentId(f.getId());
+            criteria1.setInfoTpe(3);
+            List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1);
+            f.setCheckDetailList(checkDetailList);
+
+            //设备检查 TODO
+
+
+            //设备维修
+            EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria();
+            criteria2.setEquipmentId(f.getId());
+            criteria2.setInfoTpe(3);
+            List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2);
+            f.setRepaireDetailList(repairDetailList);
+        });
+        return new SearchResultVO<>(
+                true,
+                pageIndex,
+                pageSize,
+                page.getTotal(),
+                respList,
+                ResultCodes.OK
+        );
+    }
+
+
+    @Override
+    public List<KeypointEquipmentInfo> queryAll(KeypointEquipmentInfoQueryCriteria criteria) {
+        return baseMapper.selectList(QueryHelpPlus.getPredicate(KeypointEquipmentInfo.class, criteria));
+    }
+
+    @Override
+    public KeypointEquipmentInfoDto selectOne(Serializable id) {
+        KeypointEquipmentInfo keypointEquipmentInfo = baseMapper.selectById(id);
+        if(keypointEquipmentInfo == null){
+            return null;
+        }
+
+        KeypointEquipmentInfoDto infoDto = BeanCopyUtils.copyBean(keypointEquipmentInfo, KeypointEquipmentInfoDto.class);
+
+        //设备保养
+        EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria();
+        criteria.setEquipmentId(infoDto.getId());
+        criteria.setInfoTpe(3);
+        List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria);
+        infoDto.setTakecareDetailList(takecareDetailList);
+
+        //设备检测
+        EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria();
+        criteria1.setEquipmentId(infoDto.getId());
+        criteria1.setInfoTpe(3);
+        List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1);
+        infoDto.setCheckDetailList(checkDetailList);
+
+        //设备检查 TODO
+
+
+        //设备维修
+        EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria();
+        criteria2.setEquipmentId(infoDto.getId());
+        criteria2.setInfoTpe(3);
+        List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2);
+        infoDto.setRepaireDetailList(repairDetailList);
+
+        //检查标准
+        EquipmentCheckStandardDetailQueryCriteria criteria3 = new EquipmentCheckStandardDetailQueryCriteria();
+        criteria3.setEquipmentId(infoDto.getId());
+        criteria3.setInfoTpe(3);
+        List<EquipmentCheckStandardDetail> checkStandardDetailList = equipmentCheckStandardDetailService.queryAll(criteria3);
+        infoDto.setCheckStandardeDetailList(checkStandardDetailList);
+
+        //保养标准
+        EquipmentTakecareStardardDetailQueryCriteria criteria4 = new EquipmentTakecareStardardDetailQueryCriteria();
+        criteria4.setEquipmentId(infoDto.getId());
+        criteria4.setInfoTpe(3);
+        List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailService.queryAll(criteria4);
+        infoDto.setTakecareStardardeDetailList(takecareStardardDetailList);
+
+        return infoDto;
+    }
+
+    @Override
+    public void addOrUpdate(KeypointEquipmentInfoDto infoDto) {
+        KeypointEquipmentInfo equipmentInfo = BeanCopyUtils.copyBean(infoDto, KeypointEquipmentInfo.class);
+        //保存主数据
+        if (infoDto.getId() == null) { //新增
+            this.save(equipmentInfo);
+        } else {
+            this.update(equipmentInfo,new UpdateWrapper<KeypointEquipmentInfo>().eq("id",infoDto.getId()));
+        }
+
+
+        //保存设备保养
+        List<EquipmentTakecareDetail> takecareDetailList = infoDto.getTakecareDetailList();
+        takecareDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(3);
+        });
+        equipmentTakecareDetailService.saveOrUpdateBatch(takecareDetailList);
+        if(StringUtils.hasText(infoDto.getDelTakecareDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTakecareDetailService.removeByIds(idList);
+        }
+
+        //保存设备检测
+        List<EquipmentTestDetail> testDetailList = infoDto.getTestDetailList();
+        testDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(3);
+        });
+        equipmentTestDetailService.saveOrUpdateBatch(testDetailList);
+        if(StringUtils.hasText(infoDto.getDelTestDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTestDetailService.removeByIds(idList);
+        }
+        //设备检查 TODO
+
+
+        //保存设备维修
+        List<EquipmentRepairDetail> repaireDetailList = infoDto.getRepaireDetailList();
+        repaireDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(3);
+        });
+        equipmentRepairDetailService.saveOrUpdateBatch(repaireDetailList);
+        if(StringUtils.hasText(infoDto.getDelRepaireDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentRepairDetailService.removeByIds(idList);
+        }
+        //保存检查标准
+        List<EquipmentCheckStandardDetail> checkStandardeDetailList = infoDto.getCheckStandardeDetailList();
+        checkStandardeDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(3);
+        });
+        equipmentCheckStandardDetailService.saveOrUpdateBatch(checkStandardeDetailList);
+        if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentCheckStandardDetailService.removeByIds(idList);
+        }
+        //保存保养标准
+        List<EquipmentTakecareStardardDetail> takecareStardardeDetailList = infoDto.getTakecareStardardeDetailList();
+        takecareStardardeDetailList.forEach(f->{
+            f.setEquipmentId(equipmentInfo.getId());
+            f.setInfoTpe(3);
+        });
+        equipmentTakecareStardardDetailService.saveOrUpdateBatch(takecareStardardeDetailList);
+        if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){
+            List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim()))
+                    .collect(Collectors.toList());
+            equipmentTakecareStardardDetailService.removeByIds(idList);
+        }
+	}
+}
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/utils/QueryHelpPlus.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/utils/QueryHelpPlus.java
new file mode 100644
index 0000000..fe4fff7
--- /dev/null
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/utils/QueryHelpPlus.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright (C) 2018-2022
+ * All rights reserved, Designed By www.yixiang.co
+ * 注意:
+ * 本软件为www.yixiang.co开发研制
+ */
+package com.gkhy.safePlatform.equipment.utils;
+
+import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.alibaba.nacos.common.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gkhy.safePlatform.equipment.annotation.Query;
+
+import java.lang.reflect.Field;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ */
+@SuppressWarnings({"unchecked", "all"})
+public class QueryHelpPlus {
+
+    public static <R, Q> QueryWrapper getPredicate(R obj, Q query) {
+        QueryWrapper<R> queryWrapper = new QueryWrapper<R>();
+        if (query == null) {
+            return queryWrapper;
+        }
+        try {
+            List<Field> fields = getAllFields(query.getClass(), new ArrayList<>());
+            for (Field field : fields) {
+                boolean accessible = field.isAccessible();
+                field.setAccessible(true);
+                Query q = field.getAnnotation(Query.class);
+                if (q != null) {
+                    String propName = q.propName();
+                    String blurry = q.blurry();
+                    String attributeName = isBlank(propName) ? field.getName() : propName;
+                    attributeName = humpToUnderline(attributeName);
+                    Class<?> fieldType = field.getType();
+                    Object val = field.get(query);
+                    if (val == null || "".equals(val)) {
+                        continue;
+                    }
+                    // 模糊多字段
+                    if ( StringUtils.hasText(blurry)) {
+                        String[] blurrys = blurry.split(",");
+                        //queryWrapper.or();
+                        queryWrapper.and(wrapper -> {
+                            for (int i = 0; i < blurrys.length; i++) {
+                                String column = humpToUnderline(blurrys[i]);
+                                //if(i!=0){
+                                wrapper.or();
+                                //}
+                                wrapper.like(column, val.toString());
+                            }
+                        });
+                        continue;
+                    }
+                    String finalAttributeName = attributeName;
+                    switch (q.type()) {
+                        case EQUAL:
+                            //queryWrapper.and(wrapper -> wrapper.eq(finalAttributeName, val));
+                            queryWrapper.eq(attributeName, val);
+                            break;
+                        case GREATER_THAN:
+                            queryWrapper.ge(finalAttributeName, val);
+                            break;
+                        case LESS_THAN:
+                            queryWrapper.le(finalAttributeName, val);
+                            break;
+                        case LESS_THAN_NQ:
+                            queryWrapper.lt(finalAttributeName, val);
+                            break;
+                        case INNER_LIKE:
+                            queryWrapper.like(finalAttributeName, val);
+                            break;
+                        case LEFT_LIKE:
+                            queryWrapper.likeLeft(finalAttributeName, val);
+                            break;
+                        case RIGHT_LIKE:
+                            queryWrapper.likeRight(finalAttributeName, val);
+                            break;
+                        case IN:
+                            if (!CollectionUtils.isEmpty((Collection<Long>) val)) {
+                                queryWrapper.in(finalAttributeName, (Collection<Long>) val);
+                            }
+                            break;
+                        case NOT_EQUAL:
+                            queryWrapper.ne(finalAttributeName, val);
+                            break;
+                        case NOT_NULL:
+                            queryWrapper.isNotNull(finalAttributeName);
+                            break;
+                        case BETWEEN:
+                            List<Object> between = new ArrayList<>((List<Object>) val);
+                            queryWrapper.between(finalAttributeName, between.get(0), between.get(1));
+                            break;
+                        case UNIX_TIMESTAMP:
+                            List<Object> UNIX_TIMESTAMP = new ArrayList<>((List<Object>) val);
+                            if (!UNIX_TIMESTAMP.isEmpty()) {
+                                SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                                long time1 = fm.parse(UNIX_TIMESTAMP.get(0).toString()).getTime() / 1000;
+                                long time2 = fm.parse(UNIX_TIMESTAMP.get(1).toString()).getTime() / 1000;
+                                queryWrapper.between(finalAttributeName, time1, time2);
+                            }
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                field.setAccessible(accessible);
+            }
+        } catch (Exception e) {
+            System.out.println("自动注入失败:"+e.getMessage());
+        }
+
+        return queryWrapper;
+    }
+
+
+    private static boolean isBlank(final CharSequence cs) {
+        int strLen;
+        if (cs == null || (strLen = cs.length()) == 0) {
+            return true;
+        }
+        for (int i = 0; i < strLen; i++) {
+            if (!Character.isWhitespace(cs.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    private static List<Field> getAllFields(Class clazz, List<Field> fields) {
+        if (clazz != null) {
+            fields.addAll(Arrays.asList(clazz.getDeclaredFields()));
+            getAllFields(clazz.getSuperclass(), fields);
+        }
+        return fields;
+    }
+
+    /***
+     * 驼峰命名转为下划线命名
+     *
+     * @param para
+     *        驼峰命名的字符串
+     */
+
+    public static String humpToUnderline(String para) {
+        StringBuilder sb = new StringBuilder(para);
+        int temp = 0;//定位
+        if (!para.contains("_")) {
+            for (int i = 0; i < para.length(); i++) {
+                if (Character.isUpperCase(para.charAt(i))) {
+                    sb.insert(i + temp, "_");
+                    temp += 1;
+                }
+            }
+        }
+        return sb.toString();
+    }
+
+//    public static void main(String[] args) {
+//        QueryWrapper<Paging> query = new QueryWrapper<Paging>();
+//        //query.or();
+//        query.or(wrapper -> wrapper.eq("store_id", 1).or().eq("store_id", 2));
+//        //query.like("a",1);
+//        //query.or();
+//        //query.like("b",2);
+//        //query.and(wrapper->wrapper.eq("c",1));
+//        query.eq("1", 1);
+//
+//        System.out.println(query.getSqlSegment());
+//    }
+}
diff --git a/equipment/pom.xml b/equipment/pom.xml
new file mode 100644
index 0000000..2b43268
--- /dev/null
+++ b/equipment/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>safe-platform</artifactId>
+        <groupId>com.gkhy.safePlatfrom</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>equipment</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>equipment-service</module>
+        <module>equipment-rpc-api</module>
+        <module>equipment-rpc-provider</module>
+    </modules>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.gkhy.safePlatfrom</groupId>
+                <artifactId>account-rpc-api</artifactId>
+                <version>1.0-SNAPSHOT</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.gkhy.safePlatfrom</groupId>
+            <artifactId>account-rpc-api</artifactId>
+        </dependency>
+    </dependencies>
+
+
+</project>

--
Gitblit v1.9.2