From 38b15031cc02a746bef74993da828ec441b040d5 Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期六, 09 三月 2024 13:30:07 +0800
Subject: [PATCH] 设备点检保养

---
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/impl/EmInspectionPlanServiceImpl.java   |   96 ++
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/mapper/EmInspectionItemsMapper.java            |   61 +
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/controller/EmInspectionItemsController.java    |  104 ++
 jcdm-ui/src/views/main/em/inspectionItems/index.vue                                                     |  356 +++++++++
 jcdm-main/src/main/resources/mapper/em/inspectionPlan/EmInspectionPlanMapper.xml                        |  139 +++
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/domain/EmInspectionPlan.java                    |  285 +++++++
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/domain/EmInspectionItems.java                  |  178 ++++
 jcdm-ui/src/api/main/em/inspectionPlan/inspectionPlan.js                                                |   44 +
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/IEmInspectionItemsService.java         |   61 +
 jcdm-ui/src/views/main/em/inspectionPlan/index.vue                                                      |  381 ++++++++++
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/controller/EmInspectionPlanController.java      |  104 ++
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/mapper/EmInspectionPlanMapper.java              |   61 +
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/IEmInspectionPlanService.java           |   61 +
 jcdm-main/src/main/resources/mapper/em/inspectionItems/EmInspectionItemsMapper.xml                      |  107 ++
 jcdm-ui/src/api/main/em/inspectionItems/inspectionItems.js                                              |   44 +
 jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/impl/EmInspectionItemsServiceImpl.java |   96 ++
 16 files changed, 2,178 insertions(+), 0 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/controller/EmInspectionItemsController.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/controller/EmInspectionItemsController.java
new file mode 100644
index 0000000..0b394ec
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/controller/EmInspectionItemsController.java
@@ -0,0 +1,104 @@
+package com.jcdm.main.em.inspectionItems.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jcdm.common.annotation.Log;
+import com.jcdm.common.core.controller.BaseController;
+import com.jcdm.common.core.domain.AjaxResult;
+import com.jcdm.common.enums.BusinessType;
+import com.jcdm.main.em.inspectionItems.domain.EmInspectionItems;
+import com.jcdm.main.em.inspectionItems.service.IEmInspectionItemsService;
+import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.common.core.page.TableDataInfo;
+
+/**
+ * 鐐规淇濆吇椤圭洰Controller
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+@RestController
+@RequestMapping("/em/inspectionItems")
+public class EmInspectionItemsController extends BaseController
+{
+    @Autowired
+    private IEmInspectionItemsService emInspectionItemsService;
+
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(EmInspectionItems emInspectionItems)
+    {
+        startPage();
+        List<EmInspectionItems> list = emInspectionItemsService.selectEmInspectionItemsList(emInspectionItems);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鐐规淇濆吇椤圭洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:export')")
+    @Log(title = "鐐规淇濆吇椤圭洰", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EmInspectionItems emInspectionItems)
+    {
+        List<EmInspectionItems> list = emInspectionItemsService.selectEmInspectionItemsList(emInspectionItems);
+        ExcelUtil<EmInspectionItems> util = new ExcelUtil<EmInspectionItems>(EmInspectionItems.class);
+        util.exportExcel(response, list, "鐐规淇濆吇椤圭洰鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鐐规淇濆吇椤圭洰璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(emInspectionItemsService.selectEmInspectionItemsById(id));
+    }
+
+    /**
+     * 鏂板鐐规淇濆吇椤圭洰
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:add')")
+    @Log(title = "鐐规淇濆吇椤圭洰", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EmInspectionItems emInspectionItems)
+    {
+        return toAjax(emInspectionItemsService.insertEmInspectionItems(emInspectionItems));
+    }
+
+    /**
+     * 淇敼鐐规淇濆吇椤圭洰
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:edit')")
+    @Log(title = "鐐规淇濆吇椤圭洰", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EmInspectionItems emInspectionItems)
+    {
+        return toAjax(emInspectionItemsService.updateEmInspectionItems(emInspectionItems));
+    }
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇椤圭洰
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionItems:remove')")
+    @Log(title = "鐐规淇濆吇椤圭洰", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(emInspectionItemsService.deleteEmInspectionItemsByIds(ids));
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/domain/EmInspectionItems.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/domain/EmInspectionItems.java
new file mode 100644
index 0000000..05f2b8d
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/domain/EmInspectionItems.java
@@ -0,0 +1,178 @@
+package com.jcdm.main.em.inspectionItems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jcdm.common.annotation.Excel;
+import com.jcdm.common.core.domain.BaseEntity;
+
+/**
+ * 鐐规淇濆吇椤圭洰瀵硅薄 em_inspection_items
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public class EmInspectionItems extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** 椤圭洰缂栧彿 */
+    @Excel(name = "椤圭洰缂栧彿")
+    private String itemsCode;
+
+    /** 椤圭洰鍚嶇О */
+    @Excel(name = "椤圭洰鍚嶇О")
+    private String itemsName;
+
+    /** 椤圭洰绫诲瀷 */
+    @Excel(name = "椤圭洰绫诲瀷")
+    private String itemsType;
+
+    /** 鏄惁鍚敤 */
+    @Excel(name = "鏄惁鍚敤")
+    private String status;
+
+    /** 鏍囧噯 */
+    @Excel(name = "鏍囧噯")
+    private String standard;
+
+    /** 椤圭洰鍐呭 */
+    @Excel(name = "椤圭洰鍐呭")
+    private String itemsContent;
+
+    /** 鍒涘缓浜� */
+    @Excel(name = "鍒涘缓浜�")
+    private String createUser;
+
+    /** 鏇存柊浜� */
+    @Excel(name = "鏇存柊浜�")
+    private String updateUser;
+
+    /** 棰勭暀瀛楁1 */
+    private String spareField1;
+
+    /** 棰勭暀瀛楁2 */
+    private String spareField2;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setItemsCode(String itemsCode) 
+    {
+        this.itemsCode = itemsCode;
+    }
+
+    public String getItemsCode() 
+    {
+        return itemsCode;
+    }
+    public void setItemsName(String itemsName) 
+    {
+        this.itemsName = itemsName;
+    }
+
+    public String getItemsName() 
+    {
+        return itemsName;
+    }
+    public void setItemsType(String itemsType) 
+    {
+        this.itemsType = itemsType;
+    }
+
+    public String getItemsType() 
+    {
+        return itemsType;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setStandard(String standard) 
+    {
+        this.standard = standard;
+    }
+
+    public String getStandard() 
+    {
+        return standard;
+    }
+    public void setItemsContent(String itemsContent) 
+    {
+        this.itemsContent = itemsContent;
+    }
+
+    public String getItemsContent() 
+    {
+        return itemsContent;
+    }
+    public void setCreateUser(String createUser) 
+    {
+        this.createUser = createUser;
+    }
+
+    public String getCreateUser() 
+    {
+        return createUser;
+    }
+    public void setUpdateUser(String updateUser) 
+    {
+        this.updateUser = updateUser;
+    }
+
+    public String getUpdateUser() 
+    {
+        return updateUser;
+    }
+    public void setSpareField1(String spareField1) 
+    {
+        this.spareField1 = spareField1;
+    }
+
+    public String getSpareField1() 
+    {
+        return spareField1;
+    }
+    public void setSpareField2(String spareField2) 
+    {
+        this.spareField2 = spareField2;
+    }
+
+    public String getSpareField2() 
+    {
+        return spareField2;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("itemsCode", getItemsCode())
+            .append("itemsName", getItemsName())
+            .append("itemsType", getItemsType())
+            .append("status", getStatus())
+            .append("standard", getStandard())
+            .append("itemsContent", getItemsContent())
+            .append("remark", getRemark())
+            .append("createUser", getCreateUser())
+            .append("createTime", getCreateTime())
+            .append("updateUser", getUpdateUser())
+            .append("updateTime", getUpdateTime())
+            .append("spareField1", getSpareField1())
+            .append("spareField2", getSpareField2())
+            .toString();
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/mapper/EmInspectionItemsMapper.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/mapper/EmInspectionItemsMapper.java
new file mode 100644
index 0000000..c989e8c
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/mapper/EmInspectionItemsMapper.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.em.inspectionItems.mapper;
+
+import java.util.List;
+import com.jcdm.main.em.inspectionItems.domain.EmInspectionItems;
+
+/**
+ * 鐐规淇濆吇椤圭洰Mapper鎺ュ彛
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public interface EmInspectionItemsMapper 
+{
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 鐐规淇濆吇椤圭洰
+     */
+    public EmInspectionItems selectEmInspectionItemsById(Long id);
+
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 鐐规淇濆吇椤圭洰闆嗗悎
+     */
+    public List<EmInspectionItems> selectEmInspectionItemsList(EmInspectionItems emInspectionItems);
+
+    /**
+     * 鏂板鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    public int insertEmInspectionItems(EmInspectionItems emInspectionItems);
+
+    /**
+     * 淇敼鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    public int updateEmInspectionItems(EmInspectionItems emInspectionItems);
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇椤圭洰
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionItemsById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇椤圭洰
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionItemsByIds(Long[] ids);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/IEmInspectionItemsService.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/IEmInspectionItemsService.java
new file mode 100644
index 0000000..3cb1152
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/IEmInspectionItemsService.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.em.inspectionItems.service;
+
+import java.util.List;
+import com.jcdm.main.em.inspectionItems.domain.EmInspectionItems;
+
+/**
+ * 鐐规淇濆吇椤圭洰Service鎺ュ彛
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public interface IEmInspectionItemsService 
+{
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 鐐规淇濆吇椤圭洰
+     */
+    public EmInspectionItems selectEmInspectionItemsById(Long id);
+
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 鐐规淇濆吇椤圭洰闆嗗悎
+     */
+    public List<EmInspectionItems> selectEmInspectionItemsList(EmInspectionItems emInspectionItems);
+
+    /**
+     * 鏂板鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    public int insertEmInspectionItems(EmInspectionItems emInspectionItems);
+
+    /**
+     * 淇敼鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    public int updateEmInspectionItems(EmInspectionItems emInspectionItems);
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇椤圭洰
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐐规淇濆吇椤圭洰涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionItemsByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇椤圭洰淇℃伅
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionItemsById(Long id);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/impl/EmInspectionItemsServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/impl/EmInspectionItemsServiceImpl.java
new file mode 100644
index 0000000..a112240
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionItems/service/impl/EmInspectionItemsServiceImpl.java
@@ -0,0 +1,96 @@
+package com.jcdm.main.em.inspectionItems.service.impl;
+
+import java.util.List;
+import com.jcdm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.jcdm.main.em.inspectionItems.mapper.EmInspectionItemsMapper;
+import com.jcdm.main.em.inspectionItems.domain.EmInspectionItems;
+import com.jcdm.main.em.inspectionItems.service.IEmInspectionItemsService;
+
+/**
+ * 鐐规淇濆吇椤圭洰Service涓氬姟灞傚鐞�
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+@Service
+public class EmInspectionItemsServiceImpl implements IEmInspectionItemsService 
+{
+    @Autowired
+    private EmInspectionItemsMapper emInspectionItemsMapper;
+
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 鐐规淇濆吇椤圭洰
+     */
+    @Override
+    public EmInspectionItems selectEmInspectionItemsById(Long id)
+    {
+        return emInspectionItemsMapper.selectEmInspectionItemsById(id);
+    }
+
+    /**
+     * 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 鐐规淇濆吇椤圭洰
+     */
+    @Override
+    public List<EmInspectionItems> selectEmInspectionItemsList(EmInspectionItems emInspectionItems)
+    {
+        return emInspectionItemsMapper.selectEmInspectionItemsList(emInspectionItems);
+    }
+
+    /**
+     * 鏂板鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertEmInspectionItems(EmInspectionItems emInspectionItems)
+    {
+        emInspectionItems.setCreateTime(DateUtils.getNowDate());
+        return emInspectionItemsMapper.insertEmInspectionItems(emInspectionItems);
+    }
+
+    /**
+     * 淇敼鐐规淇濆吇椤圭洰
+     * 
+     * @param emInspectionItems 鐐规淇濆吇椤圭洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateEmInspectionItems(EmInspectionItems emInspectionItems)
+    {
+        emInspectionItems.setUpdateTime(DateUtils.getNowDate());
+        return emInspectionItemsMapper.updateEmInspectionItems(emInspectionItems);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇椤圭洰
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐐规淇濆吇椤圭洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteEmInspectionItemsByIds(Long[] ids)
+    {
+        return emInspectionItemsMapper.deleteEmInspectionItemsByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇椤圭洰淇℃伅
+     * 
+     * @param id 鐐规淇濆吇椤圭洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteEmInspectionItemsById(Long id)
+    {
+        return emInspectionItemsMapper.deleteEmInspectionItemsById(id);
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/controller/EmInspectionPlanController.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/controller/EmInspectionPlanController.java
new file mode 100644
index 0000000..a603a6d
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/controller/EmInspectionPlanController.java
@@ -0,0 +1,104 @@
+package com.jcdm.main.em.inspectionPlan.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jcdm.common.annotation.Log;
+import com.jcdm.common.core.controller.BaseController;
+import com.jcdm.common.core.domain.AjaxResult;
+import com.jcdm.common.enums.BusinessType;
+import com.jcdm.main.em.inspectionPlan.domain.EmInspectionPlan;
+import com.jcdm.main.em.inspectionPlan.service.IEmInspectionPlanService;
+import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.common.core.page.TableDataInfo;
+
+/**
+ * 鐐规淇濆吇璁″垝Controller
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+@RestController
+@RequestMapping("/em/inspectionPlan")
+public class EmInspectionPlanController extends BaseController
+{
+    @Autowired
+    private IEmInspectionPlanService emInspectionPlanService;
+
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(EmInspectionPlan emInspectionPlan)
+    {
+        startPage();
+        List<EmInspectionPlan> list = emInspectionPlanService.selectEmInspectionPlanList(emInspectionPlan);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鐐规淇濆吇璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:export')")
+    @Log(title = "鐐规淇濆吇璁″垝", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EmInspectionPlan emInspectionPlan)
+    {
+        List<EmInspectionPlan> list = emInspectionPlanService.selectEmInspectionPlanList(emInspectionPlan);
+        ExcelUtil<EmInspectionPlan> util = new ExcelUtil<EmInspectionPlan>(EmInspectionPlan.class);
+        util.exportExcel(response, list, "鐐规淇濆吇璁″垝鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鐐规淇濆吇璁″垝璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(emInspectionPlanService.selectEmInspectionPlanById(id));
+    }
+
+    /**
+     * 鏂板鐐规淇濆吇璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:add')")
+    @Log(title = "鐐规淇濆吇璁″垝", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EmInspectionPlan emInspectionPlan)
+    {
+        return toAjax(emInspectionPlanService.insertEmInspectionPlan(emInspectionPlan));
+    }
+
+    /**
+     * 淇敼鐐规淇濆吇璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:edit')")
+    @Log(title = "鐐规淇濆吇璁″垝", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EmInspectionPlan emInspectionPlan)
+    {
+        return toAjax(emInspectionPlanService.updateEmInspectionPlan(emInspectionPlan));
+    }
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('em:inspectionPlan:remove')")
+    @Log(title = "鐐规淇濆吇璁″垝", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(emInspectionPlanService.deleteEmInspectionPlanByIds(ids));
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/domain/EmInspectionPlan.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/domain/EmInspectionPlan.java
new file mode 100644
index 0000000..cec5697
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/domain/EmInspectionPlan.java
@@ -0,0 +1,285 @@
+package com.jcdm.main.em.inspectionPlan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jcdm.common.annotation.Excel;
+import com.jcdm.common.core.domain.BaseEntity;
+
+/**
+ * 鐐规淇濆吇璁″垝瀵硅薄 em_inspection_plan
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public class EmInspectionPlan extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** 璁″垝缂栧彿 */
+    @Excel(name = "璁″垝缂栧彿")
+    private String planCode;
+
+    /** 璁″垝鍚嶇О */
+    @Excel(name = "璁″垝鍚嶇О")
+    private String planName;
+
+    /** 璁″垝绫诲瀷 */
+    @Excel(name = "璁″垝绫诲瀷")
+    private String planType;
+
+    /** 鐘舵�� */
+    @Excel(name = "鐘舵��")
+    private String state;
+
+    /** 棰戠巼 */
+    @Excel(name = "棰戠巼")
+    private String frequency;
+
+    /** 缁村害 */
+    @Excel(name = "缁村害")
+    private String dimension;
+
+    /** 涓婃鐢熸垚鏃堕棿 */
+    @Excel(name = "涓婃鐢熸垚鏃堕棿")
+    private String lastGenerationTime;
+
+    /** 寮�濮嬫椂闂� */
+    @Excel(name = "寮�濮嬫椂闂�")
+    private String startTime;
+
+    /** 缁撴潫鏃堕棿 */
+    @Excel(name = "缁撴潫鏃堕棿")
+    private String endTime;
+
+    /** 璁惧娓呭崟 */
+    private String devices;
+
+    /** 鐐规椤圭洰 */
+    private String inspectionItems;
+
+    /** 澶囨敞 */
+    @Excel(name = "澶囨敞")
+    private String remarks;
+
+    /** 鍒涘缓浜� */
+    @Excel(name = "鍒涘缓浜�")
+    private String createUser;
+
+    /** 淇敼浜� */
+    @Excel(name = "淇敼浜�")
+    private String updateUser;
+
+    /** 棰勭暀瀛楁1 */
+    private String spareField1;
+
+    /** 棰勭暀瀛楁2 */
+    private String spareField2;
+
+    /** 棰勭暀瀛楁3 */
+    private String spareField3;
+
+    /** 棰勭暀瀛楁4 */
+    private String spareField4;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setPlanCode(String planCode) 
+    {
+        this.planCode = planCode;
+    }
+
+    public String getPlanCode() 
+    {
+        return planCode;
+    }
+    public void setPlanName(String planName) 
+    {
+        this.planName = planName;
+    }
+
+    public String getPlanName() 
+    {
+        return planName;
+    }
+    public void setPlanType(String planType) 
+    {
+        this.planType = planType;
+    }
+
+    public String getPlanType() 
+    {
+        return planType;
+    }
+    public void setState(String state) 
+    {
+        this.state = state;
+    }
+
+    public String getState() 
+    {
+        return state;
+    }
+    public void setFrequency(String frequency) 
+    {
+        this.frequency = frequency;
+    }
+
+    public String getFrequency() 
+    {
+        return frequency;
+    }
+    public void setDimension(String dimension) 
+    {
+        this.dimension = dimension;
+    }
+
+    public String getDimension() 
+    {
+        return dimension;
+    }
+    public void setLastGenerationTime(String lastGenerationTime) 
+    {
+        this.lastGenerationTime = lastGenerationTime;
+    }
+
+    public String getLastGenerationTime() 
+    {
+        return lastGenerationTime;
+    }
+    public void setStartTime(String startTime) 
+    {
+        this.startTime = startTime;
+    }
+
+    public String getStartTime() 
+    {
+        return startTime;
+    }
+    public void setEndTime(String endTime) 
+    {
+        this.endTime = endTime;
+    }
+
+    public String getEndTime() 
+    {
+        return endTime;
+    }
+    public void setDevices(String devices) 
+    {
+        this.devices = devices;
+    }
+
+    public String getDevices() 
+    {
+        return devices;
+    }
+    public void setInspectionItems(String inspectionItems) 
+    {
+        this.inspectionItems = inspectionItems;
+    }
+
+    public String getInspectionItems() 
+    {
+        return inspectionItems;
+    }
+    public void setRemarks(String remarks) 
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks() 
+    {
+        return remarks;
+    }
+    public void setCreateUser(String createUser) 
+    {
+        this.createUser = createUser;
+    }
+
+    public String getCreateUser() 
+    {
+        return createUser;
+    }
+    public void setUpdateUser(String updateUser) 
+    {
+        this.updateUser = updateUser;
+    }
+
+    public String getUpdateUser() 
+    {
+        return updateUser;
+    }
+    public void setSpareField1(String spareField1) 
+    {
+        this.spareField1 = spareField1;
+    }
+
+    public String getSpareField1() 
+    {
+        return spareField1;
+    }
+    public void setSpareField2(String spareField2) 
+    {
+        this.spareField2 = spareField2;
+    }
+
+    public String getSpareField2() 
+    {
+        return spareField2;
+    }
+    public void setSpareField3(String spareField3) 
+    {
+        this.spareField3 = spareField3;
+    }
+
+    public String getSpareField3() 
+    {
+        return spareField3;
+    }
+    public void setSpareField4(String spareField4) 
+    {
+        this.spareField4 = spareField4;
+    }
+
+    public String getSpareField4() 
+    {
+        return spareField4;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("planCode", getPlanCode())
+            .append("planName", getPlanName())
+            .append("planType", getPlanType())
+            .append("state", getState())
+            .append("frequency", getFrequency())
+            .append("dimension", getDimension())
+            .append("lastGenerationTime", getLastGenerationTime())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("devices", getDevices())
+            .append("inspectionItems", getInspectionItems())
+            .append("remarks", getRemarks())
+            .append("createTime", getCreateTime())
+            .append("createUser", getCreateUser())
+            .append("updateTime", getUpdateTime())
+            .append("updateUser", getUpdateUser())
+            .append("spareField1", getSpareField1())
+            .append("spareField2", getSpareField2())
+            .append("spareField3", getSpareField3())
+            .append("spareField4", getSpareField4())
+            .toString();
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/mapper/EmInspectionPlanMapper.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/mapper/EmInspectionPlanMapper.java
new file mode 100644
index 0000000..3651c39
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/mapper/EmInspectionPlanMapper.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.em.inspectionPlan.mapper;
+
+import java.util.List;
+import com.jcdm.main.em.inspectionPlan.domain.EmInspectionPlan;
+
+/**
+ * 鐐规淇濆吇璁″垝Mapper鎺ュ彛
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public interface EmInspectionPlanMapper 
+{
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 鐐规淇濆吇璁″垝
+     */
+    public EmInspectionPlan selectEmInspectionPlanById(Long id);
+
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 鐐规淇濆吇璁″垝闆嗗悎
+     */
+    public List<EmInspectionPlan> selectEmInspectionPlanList(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 鏂板鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    public int insertEmInspectionPlan(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 淇敼鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    public int updateEmInspectionPlan(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇璁″垝
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionPlanById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionPlanByIds(Long[] ids);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/IEmInspectionPlanService.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/IEmInspectionPlanService.java
new file mode 100644
index 0000000..7695bc7
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/IEmInspectionPlanService.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.em.inspectionPlan.service;
+
+import java.util.List;
+import com.jcdm.main.em.inspectionPlan.domain.EmInspectionPlan;
+
+/**
+ * 鐐规淇濆吇璁″垝Service鎺ュ彛
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+public interface IEmInspectionPlanService 
+{
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 鐐规淇濆吇璁″垝
+     */
+    public EmInspectionPlan selectEmInspectionPlanById(Long id);
+
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 鐐规淇濆吇璁″垝闆嗗悎
+     */
+    public List<EmInspectionPlan> selectEmInspectionPlanList(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 鏂板鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    public int insertEmInspectionPlan(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 淇敼鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    public int updateEmInspectionPlan(EmInspectionPlan emInspectionPlan);
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐐规淇濆吇璁″垝涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionPlanByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇璁″垝淇℃伅
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteEmInspectionPlanById(Long id);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/impl/EmInspectionPlanServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/impl/EmInspectionPlanServiceImpl.java
new file mode 100644
index 0000000..c5c0cea
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/em/inspectionPlan/service/impl/EmInspectionPlanServiceImpl.java
@@ -0,0 +1,96 @@
+package com.jcdm.main.em.inspectionPlan.service.impl;
+
+import java.util.List;
+import com.jcdm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.jcdm.main.em.inspectionPlan.mapper.EmInspectionPlanMapper;
+import com.jcdm.main.em.inspectionPlan.domain.EmInspectionPlan;
+import com.jcdm.main.em.inspectionPlan.service.IEmInspectionPlanService;
+
+/**
+ * 鐐规淇濆吇璁″垝Service涓氬姟灞傚鐞�
+ * 
+ * @author Yi
+ * @date 2024-03-08
+ */
+@Service
+public class EmInspectionPlanServiceImpl implements IEmInspectionPlanService 
+{
+    @Autowired
+    private EmInspectionPlanMapper emInspectionPlanMapper;
+
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 鐐规淇濆吇璁″垝
+     */
+    @Override
+    public EmInspectionPlan selectEmInspectionPlanById(Long id)
+    {
+        return emInspectionPlanMapper.selectEmInspectionPlanById(id);
+    }
+
+    /**
+     * 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 鐐规淇濆吇璁″垝
+     */
+    @Override
+    public List<EmInspectionPlan> selectEmInspectionPlanList(EmInspectionPlan emInspectionPlan)
+    {
+        return emInspectionPlanMapper.selectEmInspectionPlanList(emInspectionPlan);
+    }
+
+    /**
+     * 鏂板鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertEmInspectionPlan(EmInspectionPlan emInspectionPlan)
+    {
+        emInspectionPlan.setCreateTime(DateUtils.getNowDate());
+        return emInspectionPlanMapper.insertEmInspectionPlan(emInspectionPlan);
+    }
+
+    /**
+     * 淇敼鐐规淇濆吇璁″垝
+     * 
+     * @param emInspectionPlan 鐐规淇濆吇璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateEmInspectionPlan(EmInspectionPlan emInspectionPlan)
+    {
+        emInspectionPlan.setUpdateTime(DateUtils.getNowDate());
+        return emInspectionPlanMapper.updateEmInspectionPlan(emInspectionPlan);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鐐规淇濆吇璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鐐规淇濆吇璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteEmInspectionPlanByIds(Long[] ids)
+    {
+        return emInspectionPlanMapper.deleteEmInspectionPlanByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鐐规淇濆吇璁″垝淇℃伅
+     * 
+     * @param id 鐐规淇濆吇璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteEmInspectionPlanById(Long id)
+    {
+        return emInspectionPlanMapper.deleteEmInspectionPlanById(id);
+    }
+}
diff --git a/jcdm-main/src/main/resources/mapper/em/inspectionItems/EmInspectionItemsMapper.xml b/jcdm-main/src/main/resources/mapper/em/inspectionItems/EmInspectionItemsMapper.xml
new file mode 100644
index 0000000..65943b5
--- /dev/null
+++ b/jcdm-main/src/main/resources/mapper/em/inspectionItems/EmInspectionItemsMapper.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jcdm.main.em.inspectionItems.mapper.EmInspectionItemsMapper">
+    
+    <resultMap type="EmInspectionItems" id="EmInspectionItemsResult">
+        <result property="id"    column="id"    />
+        <result property="itemsCode"    column="items_code"    />
+        <result property="itemsName"    column="items_name"    />
+        <result property="itemsType"    column="items_type"    />
+        <result property="status"    column="status"    />
+        <result property="standard"    column="standard"    />
+        <result property="itemsContent"    column="items_content"    />
+        <result property="remark"    column="remark"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="spareField1"    column="spare_field_1"    />
+        <result property="spareField2"    column="spare_field_2"    />
+    </resultMap>
+
+    <sql id="selectEmInspectionItemsVo">
+        select id, items_code, items_name, items_type, status, standard, items_content, remark, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2 from em_inspection_items
+    </sql>
+
+    <select id="selectEmInspectionItemsList" parameterType="EmInspectionItems" resultMap="EmInspectionItemsResult">
+        <include refid="selectEmInspectionItemsVo"/>
+        <where>  
+            <if test="itemsCode != null  and itemsCode != ''"> and items_code like concat('%', #{itemsCode}, '%')</if>
+            <if test="itemsName != null  and itemsName != ''"> and items_name like concat('%', #{itemsName}, '%')</if>
+            <if test="itemsType != null  and itemsType != ''"> and items_type = #{itemsType}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmInspectionItemsById" parameterType="Long" resultMap="EmInspectionItemsResult">
+        <include refid="selectEmInspectionItemsVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmInspectionItems" parameterType="EmInspectionItems" useGeneratedKeys="true" keyProperty="id">
+        insert into em_inspection_items
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="itemsCode != null">items_code,</if>
+            <if test="itemsName != null">items_name,</if>
+            <if test="itemsType != null">items_type,</if>
+            <if test="status != null">status,</if>
+            <if test="standard != null">standard,</if>
+            <if test="itemsContent != null">items_content,</if>
+            <if test="remark != null">remark,</if>
+            <if test="createUser != null">create_user,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateUser != null">update_user,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="spareField1 != null">spare_field_1,</if>
+            <if test="spareField2 != null">spare_field_2,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="itemsCode != null">#{itemsCode},</if>
+            <if test="itemsName != null">#{itemsName},</if>
+            <if test="itemsType != null">#{itemsType},</if>
+            <if test="status != null">#{status},</if>
+            <if test="standard != null">#{standard},</if>
+            <if test="itemsContent != null">#{itemsContent},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="createUser != null">#{createUser},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateUser != null">#{updateUser},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="spareField1 != null">#{spareField1},</if>
+            <if test="spareField2 != null">#{spareField2},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmInspectionItems" parameterType="EmInspectionItems">
+        update em_inspection_items
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="itemsCode != null">items_code = #{itemsCode},</if>
+            <if test="itemsName != null">items_name = #{itemsName},</if>
+            <if test="itemsType != null">items_type = #{itemsType},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="standard != null">standard = #{standard},</if>
+            <if test="itemsContent != null">items_content = #{itemsContent},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="createUser != null">create_user = #{createUser},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateUser != null">update_user = #{updateUser},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmInspectionItemsById" parameterType="Long">
+        delete from em_inspection_items where id = #{id}
+    </delete>
+
+    <delete id="deleteEmInspectionItemsByIds" parameterType="String">
+        delete from em_inspection_items where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/jcdm-main/src/main/resources/mapper/em/inspectionPlan/EmInspectionPlanMapper.xml b/jcdm-main/src/main/resources/mapper/em/inspectionPlan/EmInspectionPlanMapper.xml
new file mode 100644
index 0000000..da4829c
--- /dev/null
+++ b/jcdm-main/src/main/resources/mapper/em/inspectionPlan/EmInspectionPlanMapper.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jcdm.main.em.inspectionPlan.mapper.EmInspectionPlanMapper">
+    
+    <resultMap type="EmInspectionPlan" id="EmInspectionPlanResult">
+        <result property="id"    column="id"    />
+        <result property="planCode"    column="plan_code"    />
+        <result property="planName"    column="plan_name"    />
+        <result property="planType"    column="plan_type"    />
+        <result property="state"    column="state"    />
+        <result property="frequency"    column="frequency"    />
+        <result property="dimension"    column="dimension"    />
+        <result property="lastGenerationTime"    column="last_generation_time"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="devices"    column="devices"    />
+        <result property="inspectionItems"    column="Inspection_items"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <result property="spareField1"    column="spare_field_1"    />
+        <result property="spareField2"    column="spare_field_2"    />
+        <result property="spareField3"    column="spare_field_3"    />
+        <result property="spareField4"    column="spare_field_4"    />
+    </resultMap>
+
+    <sql id="selectEmInspectionPlanVo">
+        select id, plan_code, plan_name, plan_type, state, frequency, dimension, last_generation_time, start_time, end_time, devices, Inspection_items, remarks, create_time, create_user, update_time, update_user, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from em_inspection_plan
+    </sql>
+
+    <select id="selectEmInspectionPlanList" parameterType="EmInspectionPlan" resultMap="EmInspectionPlanResult">
+        <include refid="selectEmInspectionPlanVo"/>
+        <where>  
+            <if test="planCode != null  and planCode != ''"> and plan_code like concat('%', #{planCode}, '%')</if>
+            <if test="planName != null  and planName != ''"> and plan_name like concat('%', #{planName}, '%')</if>
+            <if test="planType != null  and planType != ''"> and plan_type = #{planType}</if>
+            <if test="state != null  and state != ''"> and state = #{state}</if>
+            <if test="frequency != null  and frequency != ''"> and frequency = #{frequency}</if>
+            <if test="dimension != null  and dimension != ''"> and dimension = #{dimension}</if>
+            <if test="startTime != null  and startTime != ''"> and start_time = #{startTime}</if>
+            <if test="endTime != null  and endTime != ''"> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmInspectionPlanById" parameterType="Long" resultMap="EmInspectionPlanResult">
+        <include refid="selectEmInspectionPlanVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmInspectionPlan" parameterType="EmInspectionPlan" useGeneratedKeys="true" keyProperty="id">
+        insert into em_inspection_plan
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="planCode != null">plan_code,</if>
+            <if test="planName != null">plan_name,</if>
+            <if test="planType != null">plan_type,</if>
+            <if test="state != null">state,</if>
+            <if test="frequency != null">frequency,</if>
+            <if test="dimension != null">dimension,</if>
+            <if test="lastGenerationTime != null">last_generation_time,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="devices != null">devices,</if>
+            <if test="inspectionItems != null">Inspection_items,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="createUser != null">create_user,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="updateUser != null">update_user,</if>
+            <if test="spareField1 != null">spare_field_1,</if>
+            <if test="spareField2 != null">spare_field_2,</if>
+            <if test="spareField3 != null">spare_field_3,</if>
+            <if test="spareField4 != null">spare_field_4,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="planCode != null">#{planCode},</if>
+            <if test="planName != null">#{planName},</if>
+            <if test="planType != null">#{planType},</if>
+            <if test="state != null">#{state},</if>
+            <if test="frequency != null">#{frequency},</if>
+            <if test="dimension != null">#{dimension},</if>
+            <if test="lastGenerationTime != null">#{lastGenerationTime},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="devices != null">#{devices},</if>
+            <if test="inspectionItems != null">#{inspectionItems},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="createUser != null">#{createUser},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="updateUser != null">#{updateUser},</if>
+            <if test="spareField1 != null">#{spareField1},</if>
+            <if test="spareField2 != null">#{spareField2},</if>
+            <if test="spareField3 != null">#{spareField3},</if>
+            <if test="spareField4 != null">#{spareField4},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmInspectionPlan" parameterType="EmInspectionPlan">
+        update em_inspection_plan
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="planCode != null">plan_code = #{planCode},</if>
+            <if test="planName != null">plan_name = #{planName},</if>
+            <if test="planType != null">plan_type = #{planType},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="frequency != null">frequency = #{frequency},</if>
+            <if test="dimension != null">dimension = #{dimension},</if>
+            <if test="lastGenerationTime != null">last_generation_time = #{lastGenerationTime},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="devices != null">devices = #{devices},</if>
+            <if test="inspectionItems != null">Inspection_items = #{inspectionItems},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="createUser != null">create_user = #{createUser},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="updateUser != null">update_user = #{updateUser},</if>
+            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
+            <if test="spareField3 != null">spare_field_3 = #{spareField3},</if>
+            <if test="spareField4 != null">spare_field_4 = #{spareField4},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmInspectionPlanById" parameterType="Long">
+        delete from em_inspection_plan where id = #{id}
+    </delete>
+
+    <delete id="deleteEmInspectionPlanByIds" parameterType="String">
+        delete from em_inspection_plan where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/jcdm-ui/src/api/main/em/inspectionItems/inspectionItems.js b/jcdm-ui/src/api/main/em/inspectionItems/inspectionItems.js
new file mode 100644
index 0000000..7b618e4
--- /dev/null
+++ b/jcdm-ui/src/api/main/em/inspectionItems/inspectionItems.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃
+export function listInspectionItems(query) {
+  return request({
+    url: '/em/inspectionItems/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鐐规淇濆吇椤圭洰璇︾粏
+export function getInspectionItems(id) {
+  return request({
+    url: '/em/inspectionItems/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鐐规淇濆吇椤圭洰
+export function addInspectionItems(data) {
+  return request({
+    url: '/em/inspectionItems',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鐐规淇濆吇椤圭洰
+export function updateInspectionItems(data) {
+  return request({
+    url: '/em/inspectionItems',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鐐规淇濆吇椤圭洰
+export function delInspectionItems(id) {
+  return request({
+    url: '/em/inspectionItems/' + id,
+    method: 'delete'
+  })
+}
diff --git a/jcdm-ui/src/api/main/em/inspectionPlan/inspectionPlan.js b/jcdm-ui/src/api/main/em/inspectionPlan/inspectionPlan.js
new file mode 100644
index 0000000..4f55340
--- /dev/null
+++ b/jcdm-ui/src/api/main/em/inspectionPlan/inspectionPlan.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃
+export function listInspectionPlan(query) {
+  return request({
+    url: '/em/inspectionPlan/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鐐规淇濆吇璁″垝璇︾粏
+export function getInspectionPlan(id) {
+  return request({
+    url: '/em/inspectionPlan/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鐐规淇濆吇璁″垝
+export function addInspectionPlan(data) {
+  return request({
+    url: '/em/inspectionPlan',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鐐规淇濆吇璁″垝
+export function updateInspectionPlan(data) {
+  return request({
+    url: '/em/inspectionPlan',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鐐规淇濆吇璁″垝
+export function delInspectionPlan(id) {
+  return request({
+    url: '/em/inspectionPlan/' + id,
+    method: 'delete'
+  })
+}
diff --git a/jcdm-ui/src/views/main/em/inspectionItems/index.vue b/jcdm-ui/src/views/main/em/inspectionItems/index.vue
new file mode 100644
index 0000000..0530345
--- /dev/null
+++ b/jcdm-ui/src/views/main/em/inspectionItems/index.vue
@@ -0,0 +1,356 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="椤圭洰缂栧彿" prop="itemsCode">
+            <el-input
+              v-model="queryParams.itemsCode"
+              placeholder="璇疯緭鍏ラ」鐩紪鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="椤圭洰鍚嶇О" prop="itemsName">
+            <el-input
+              v-model="queryParams.itemsName"
+              placeholder="璇疯緭鍏ラ」鐩悕绉�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+<!--          <el-form-item label="椤圭洰绫诲瀷" prop="itemsType">-->
+<!--            <el-select v-model="queryParams.itemsType" placeholder="璇烽�夋嫨椤圭洰绫诲瀷" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="鏄惁鍚敤" prop="status">-->
+<!--            <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨鏄惁鍚敤" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item style="float: right">
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+          </el-form-item>
+        </el-form>
+    </el-card>
+
+    <el-card style="margin-top: 10px" class="box-card">
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['em:inspectionItems:add']"
+            >鏂板</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['em:inspectionItems:edit']"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['em:inspectionItems:remove']"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['em:inspectionItems:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+
+        <el-table border v-loading="loading" :data="inspectionItemsList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="ID" align="center" prop="id" />
+          <el-table-column label="椤圭洰缂栧彿" align="center" prop="itemsCode">
+          </el-table-column>
+          <el-table-column label="椤圭洰鍚嶇О" align="center" prop="itemsName">
+          </el-table-column>
+          <el-table-column label="椤圭洰绫诲瀷" align="center" prop="itemsType">
+          </el-table-column>
+          <el-table-column label="鏄惁鍚敤" align="center" prop="status">
+          </el-table-column>
+          <el-table-column label="鏍囧噯" align="center" prop="standard">
+          </el-table-column>
+          <el-table-column label="椤圭洰鍐呭" align="center" prop="itemsContent">
+          </el-table-column>
+          <el-table-column label="澶囨敞" align="center" prop="remark">
+          </el-table-column>
+          <el-table-column label="鍒涘缓浜�" align="center" prop="createUser">
+          </el-table-column>
+          <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
+          </el-table-column>
+          <el-table-column label="鏇存柊浜�" align="center" prop="updateUser">
+          </el-table-column>
+          <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime">
+          </el-table-column>
+          <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="success"
+                plain
+                style="width: 72px"
+                icon="el-icon-edit"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['em:inspectionItems:edit']"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                plain
+                style="width: 72px"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['em:inspectionItems:remove']"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+    </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀圭偣妫�淇濆吇椤圭洰瀵硅瘽妗� -->
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="椤圭洰缂栧彿" prop="itemsCode">
+          <el-input v-model="form.itemsCode" placeholder="璇疯緭鍏ラ」鐩紪鍙�" />
+        </el-form-item>
+        <el-form-item label="椤圭洰鍚嶇О" prop="itemsName">
+          <el-input v-model="form.itemsName" placeholder="璇疯緭鍏ラ」鐩悕绉�" />
+        </el-form-item>
+        <el-form-item label="椤圭洰绫诲瀷" prop="itemsType">
+<!--          <el-select v-model="form.itemsType" placeholder="璇烽�夋嫨椤圭洰绫诲瀷">-->
+<!--            <el-option-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.label"-->
+<!--              :value="dict.value"-->
+<!--            ></el-option>-->
+<!--          </el-select>-->
+        </el-form-item>
+        <el-form-item label="鏄惁鍚敤" prop="status">
+<!--          <el-radio-group v-model="form.status">-->
+<!--            <el-radio-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.value"-->
+<!--            >{{dict.label}}</el-radio>-->
+<!--          </el-radio-group>-->
+        </el-form-item>
+        <el-form-item label="鏍囧噯" prop="standard">
+          <el-input v-model="form.standard" placeholder="璇疯緭鍏ユ爣鍑�" />
+        </el-form-item>
+        <el-form-item label="椤圭洰鍐呭">
+          <editor v-model="form.itemsContent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listInspectionItems, getInspectionItems, delInspectionItems, addInspectionItems, updateInspectionItems } from "@/api/main/em/inspectionItems/inspectionItems";
+
+export default {
+  name: "InspectionItems",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      titleName: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐐规淇濆吇椤圭洰琛ㄦ牸鏁版嵁
+      inspectionItemsList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        itemsCode: null,
+        itemsName: null,
+        itemsType: null,
+        status: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鐐规淇濆吇椤圭洰鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listInspectionItems(this.queryParams).then(response => {
+        this.inspectionItemsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        itemsCode: null,
+        itemsName: null,
+        itemsType: null,
+        status: null,
+        standard: null,
+        itemsContent: null,
+        remark: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        spareField1: null,
+        spareField2: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.titleName = "娣诲姞鐐规淇濆吇椤圭洰";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInspectionItems(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.titleName = "淇敼鐐规淇濆吇椤圭洰";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInspectionItems(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInspectionItems(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鐐规淇濆吇椤圭洰缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delInspectionItems(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('em/inspectionItems/export', {
+        ...this.queryParams
+      }, `inspectionItems_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/jcdm-ui/src/views/main/em/inspectionPlan/index.vue b/jcdm-ui/src/views/main/em/inspectionPlan/index.vue
new file mode 100644
index 0000000..5d62c7a
--- /dev/null
+++ b/jcdm-ui/src/views/main/em/inspectionPlan/index.vue
@@ -0,0 +1,381 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="璁″垝缂栧彿" prop="planCode">
+            <el-input
+              v-model="queryParams.planCode"
+              placeholder="璇疯緭鍏ヨ鍒掔紪鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="璁″垝鍚嶇О" prop="planName">
+            <el-input
+              v-model="queryParams.planName"
+              placeholder="璇疯緭鍏ヨ鍒掑悕绉�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+<!--          <el-form-item label="璁″垝绫诲瀷" prop="planType">-->
+<!--            <el-select v-model="queryParams.planType" placeholder="璇烽�夋嫨璁″垝绫诲瀷" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="鐘舵��" prop="state">
+            <el-input
+              v-model="queryParams.state"
+              placeholder="璇疯緭鍏ョ姸鎬�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="棰戠巼" prop="frequency">
+            <el-input
+              v-model="queryParams.frequency"
+              placeholder="璇疯緭鍏ラ鐜�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="缁村害" prop="dimension">
+            <el-input
+              v-model="queryParams.dimension"
+              placeholder="璇疯緭鍏ョ淮搴�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="float: right">
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+          </el-form-item>
+        </el-form>
+    </el-card>
+
+    <el-card style="margin-top: 10px" class="box-card">
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['em:inspectionPlan:add']"
+            >鏂板</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['em:inspectionPlan:edit']"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['em:inspectionPlan:remove']"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['em:inspectionPlan:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+
+        <el-table border v-loading="loading" :data="inspectionPlanList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="ID" align="center" prop="id" />
+          <el-table-column label="璁″垝缂栧彿" align="center" prop="planCode">
+          </el-table-column>
+          <el-table-column label="璁″垝鍚嶇О" align="center" prop="planName">
+          </el-table-column>
+          <el-table-column label="璁″垝绫诲瀷" align="center" prop="planType">
+          </el-table-column>
+          <el-table-column label="鐘舵��" align="center" prop="state">
+          </el-table-column>
+          <el-table-column label="棰戠巼" align="center" prop="frequency">
+          </el-table-column>
+          <el-table-column label="缁村害" align="center" prop="dimension">
+          </el-table-column>
+          <el-table-column label="涓婃鐢熸垚鏃堕棿" align="center" prop="lastGenerationTime">
+          </el-table-column>
+          <el-table-column label="寮�濮嬫椂闂�" align="center" prop="startTime">
+          </el-table-column>
+          <el-table-column label="缁撴潫鏃堕棿" align="center" prop="endTime">
+          </el-table-column>
+          <el-table-column label="澶囨敞" align="center" prop="remarks">
+          </el-table-column>
+          <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
+          </el-table-column>
+          <el-table-column label="鍒涘缓浜�" align="center" prop="createUser">
+          </el-table-column>
+          <el-table-column label="淇敼鏃堕棿" align="center" prop="updateTime">
+          </el-table-column>
+          <el-table-column label="淇敼浜�" align="center" prop="updateUser">
+          </el-table-column>
+          <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="success"
+                plain
+                style="width: 72px"
+                icon="el-icon-edit"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['em:inspectionPlan:edit']"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                plain
+                style="width: 72px"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['em:inspectionPlan:remove']"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+    </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀圭偣妫�淇濆吇璁″垝瀵硅瘽妗� -->
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="璁″垝缂栧彿" prop="planCode">
+          <el-input v-model="form.planCode" placeholder="璇疯緭鍏ヨ鍒掔紪鍙�" />
+        </el-form-item>
+        <el-form-item label="璁″垝鍚嶇О" prop="planName">
+          <el-input v-model="form.planName" placeholder="璇疯緭鍏ヨ鍒掑悕绉�" />
+        </el-form-item>
+<!--        <el-form-item label="璁″垝绫诲瀷" prop="planType">-->
+<!--          <el-select v-model="form.planType" placeholder="璇烽�夋嫨璁″垝绫诲瀷">-->
+<!--            <el-option-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.label"-->
+<!--              :value="dict.value"-->
+<!--            ></el-option>-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
+        <el-form-item label="鐘舵��" prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
+        </el-form-item>
+        <el-form-item label="棰戠巼" prop="frequency">
+          <el-input v-model="form.frequency" placeholder="璇疯緭鍏ラ鐜�" />
+        </el-form-item>
+        <el-form-item label="缁村害" prop="dimension">
+          <el-input v-model="form.dimension" placeholder="璇疯緭鍏ョ淮搴�" />
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listInspectionPlan, getInspectionPlan, delInspectionPlan, addInspectionPlan, updateInspectionPlan } from "@/api/main/em/inspectionPlan/inspectionPlan";
+
+export default {
+  name: "InspectionPlan",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      titleName: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐐规淇濆吇璁″垝琛ㄦ牸鏁版嵁
+      inspectionPlanList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        planCode: null,
+        planName: null,
+        planType: null,
+        state: null,
+        frequency: null,
+        dimension: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鐐规淇濆吇璁″垝鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listInspectionPlan(this.queryParams).then(response => {
+        this.inspectionPlanList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        planCode: null,
+        planName: null,
+        planType: null,
+        state: null,
+        frequency: null,
+        dimension: null,
+        lastGenerationTime: null,
+        startTime: null,
+        endTime: null,
+        devices: null,
+        inspectionItems: null,
+        remarks: null,
+        createTime: null,
+        createUser: null,
+        updateTime: null,
+        updateUser: null,
+        spareField1: null,
+        spareField2: null,
+        spareField3: null,
+        spareField4: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.titleName = "娣诲姞鐐规淇濆吇璁″垝";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInspectionPlan(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.titleName = "淇敼鐐规淇濆吇璁″垝";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInspectionPlan(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInspectionPlan(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鐐规淇濆吇璁″垝缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delInspectionPlan(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('em/inspectionPlan/export', {
+        ...this.queryParams
+      }, `inspectionPlan_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

--
Gitblit v1.9.3