Browse Source

设备完整性工业炉、压缩机台账
设备巡查记录,区域巡查记录

jiangbiao 3 years ago
parent
commit
bb89288ede
32 changed files with 7288 additions and 0 deletions
  1. 108 0
      master/src/main/java/com/ruoyi/project/inspection/controller/TInspectionRecordController.java
  2. 181 0
      master/src/main/java/com/ruoyi/project/inspection/controller/TInspectionRecordRegionController.java
  3. 281 0
      master/src/main/java/com/ruoyi/project/inspection/domain/TInspectionRecord.java
  4. 268 0
      master/src/main/java/com/ruoyi/project/inspection/domain/TInspectionRecordRegion.java
  5. 86 0
      master/src/main/java/com/ruoyi/project/inspection/mapper/TInspectionRecordMapper.java
  6. 63 0
      master/src/main/java/com/ruoyi/project/inspection/mapper/TInspectionRecordRegionMapper.java
  7. 61 0
      master/src/main/java/com/ruoyi/project/inspection/service/ITInspectionRecordRegionService.java
  8. 85 0
      master/src/main/java/com/ruoyi/project/inspection/service/ITInspectionRecordService.java
  9. 93 0
      master/src/main/java/com/ruoyi/project/inspection/service/impl/TInspectionRecordRegionServiceImpl.java
  10. 113 0
      master/src/main/java/com/ruoyi/project/inspection/service/impl/TInspectionRecordServiceImpl.java
  11. 108 0
      master/src/main/java/com/ruoyi/project/intact/controller/TIntactGylController.java
  12. 108 0
      master/src/main/java/com/ruoyi/project/intact/controller/TIntactYsjController.java
  13. 763 0
      master/src/main/java/com/ruoyi/project/intact/domain/TIntactGyl.java
  14. 366 0
      master/src/main/java/com/ruoyi/project/intact/domain/TIntactYsj.java
  15. 63 0
      master/src/main/java/com/ruoyi/project/intact/mapper/TIntactGylMapper.java
  16. 63 0
      master/src/main/java/com/ruoyi/project/intact/mapper/TIntactYsjMapper.java
  17. 61 0
      master/src/main/java/com/ruoyi/project/intact/service/ITIntactGylService.java
  18. 61 0
      master/src/main/java/com/ruoyi/project/intact/service/ITIntactYsjService.java
  19. 93 0
      master/src/main/java/com/ruoyi/project/intact/service/impl/TIntactGylServiceImpl.java
  20. 93 0
      master/src/main/java/com/ruoyi/project/intact/service/impl/TIntactYsjServiceImpl.java
  21. 156 0
      master/src/main/resources/mybatis/inspection/TInspectionRecordMapper.xml
  22. 136 0
      master/src/main/resources/mybatis/inspection/TInspectionRecordRegionMapper.xml
  23. 311 0
      master/src/main/resources/mybatis/intact/TIntactGylMapper.xml
  24. 175 0
      master/src/main/resources/mybatis/intact/TIntactYsjMapper.xml
  25. 53 0
      ui/src/api/inspection/record.js
  26. 53 0
      ui/src/api/inspection/region.js
  27. 53 0
      ui/src/api/intact/gyl.js
  28. 53 0
      ui/src/api/intact/ysj.js
  29. 593 0
      ui/src/views/inspection/record/index.vue
  30. 594 0
      ui/src/views/inspection/region/index.vue
  31. 1227 0
      ui/src/views/intact/gyl/index.vue
  32. 766 0
      ui/src/views/intact/ysj/index.vue

+ 108 - 0
master/src/main/java/com/ruoyi/project/inspection/controller/TInspectionRecordController.java

@@ -0,0 +1,108 @@
+package com.ruoyi.project.inspection.controller;
+
+import java.util.Date;
+import java.util.List;
+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.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.inspection.domain.TInspectionRecord;
+import com.ruoyi.project.inspection.service.ITInspectionRecordService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 巡检记录Controller
+ *
+ * @author ruoyi
+ * @date 2022-06-22
+ */
+@RestController
+@RequestMapping("/inspection/record")
+public class TInspectionRecordController extends BaseController
+{
+    @Autowired
+    private ITInspectionRecordService tInspectionRecordService;
+
+    /**
+     * 查询巡检记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TInspectionRecord tInspectionRecord)
+    {
+        startPage();
+        List<TInspectionRecord> list = tInspectionRecordService.selectTInspectionRecordList(tInspectionRecord);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出巡检记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:export')")
+    @Log(title = "巡检记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TInspectionRecord tInspectionRecord)
+    {
+        List<TInspectionRecord> list = tInspectionRecordService.selectTInspectionRecordList(tInspectionRecord);
+        ExcelUtil<TInspectionRecord> util = new ExcelUtil<TInspectionRecord>(TInspectionRecord.class);
+        return util.exportExcel(list, "record");
+    }
+
+    /**
+     * 获取巡检记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tInspectionRecordService.selectTInspectionRecordById(id));
+    }
+
+    /**
+     * 新增巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:add')")
+    @Log(title = "巡检记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TInspectionRecord tInspectionRecord)
+    {
+        //获取操作人员ID
+        Long userId = getUserId();
+        tInspectionRecord.setCreaterCode(userId.toString());
+        tInspectionRecord.setCreatedate(new Date());
+        return toAjax(tInspectionRecordService.insertTInspectionRecord(tInspectionRecord));
+    }
+
+    /**
+     * 修改巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:edit')")
+    @Log(title = "巡检记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TInspectionRecord tInspectionRecord)
+    {
+        return toAjax(tInspectionRecordService.updateTInspectionRecord(tInspectionRecord));
+    }
+
+    /**
+     * 删除巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:record:remove')")
+    @Log(title = "巡检记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tInspectionRecordService.deleteTInspectionRecordByIds(ids));
+    }
+}

+ 181 - 0
master/src/main/java/com/ruoyi/project/inspection/controller/TInspectionRecordRegionController.java

@@ -0,0 +1,181 @@
+package com.ruoyi.project.inspection.controller;
+
+import java.util.Date;
+
+import com.google.common.collect.Maps;
+
+import java.util.List;
+
+import com.ruoyi.project.inspection.domain.TInspectionRecord;
+import com.ruoyi.project.inspection.service.ITInspectionRecordService;
+import com.ruoyi.project.intact.domain.TIntactGyl;
+import com.ruoyi.project.intact.domain.TIntactYsj;
+import com.ruoyi.project.intact.service.ITIntactGylService;
+import com.ruoyi.project.intact.service.ITIntactYsjService;
+import org.apache.commons.collections4.CollectionUtils;
+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.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.inspection.domain.TInspectionRecordRegion;
+import com.ruoyi.project.inspection.service.ITInspectionRecordRegionService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 区域巡检记录Controller
+ *
+ * @author ruoyi
+ * @date 2022-06-23
+ */
+@RestController
+@RequestMapping("/inspection/region")
+public class TInspectionRecordRegionController extends BaseController {
+    @Autowired
+    private ITInspectionRecordRegionService tInspectionRecordRegionService;
+
+    @Autowired
+    private ITIntactGylService tIntactGylService;
+
+    @Autowired
+    private ITIntactYsjService tIntactYsjService;
+
+    @Autowired
+    private ITInspectionRecordService recordService;
+
+    /**
+     * 查询区域巡检记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TInspectionRecordRegion tInspectionRecordRegion) {
+        startPage();
+        List<TInspectionRecordRegion> list = tInspectionRecordRegionService.selectTInspectionRecordRegionList(tInspectionRecordRegion);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出区域巡检记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:export')")
+    @Log(title = "区域巡检记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TInspectionRecordRegion tInspectionRecordRegion) {
+        List<TInspectionRecordRegion> list = tInspectionRecordRegionService.selectTInspectionRecordRegionList(tInspectionRecordRegion);
+        ExcelUtil<TInspectionRecordRegion> util = new ExcelUtil<TInspectionRecordRegion>(TInspectionRecordRegion.class);
+        return util.exportExcel(list, "region");
+    }
+
+    /**
+     * 获取区域巡检记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(tInspectionRecordRegionService.selectTInspectionRecordRegionById(id));
+    }
+
+    /**
+     * 新增区域巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:add')")
+    @Log(title = "区域巡检记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TInspectionRecordRegion tInspectionRecordRegion) {
+        //获取操作人员ID
+        Long userId = getUserId();
+        tInspectionRecordRegion.setCreaterCode(userId.toString());
+        tInspectionRecordRegion.setCreatedate(new Date());
+        // 新增区域巡检记录
+        int i = tInspectionRecordRegionService.insertTInspectionRecordRegion(tInspectionRecordRegion);
+
+        // 新增设备巡检记录
+        TInspectionRecord record = new TInspectionRecord();
+        record.setRegion(tInspectionRecordRegion.getRegion());
+        record.setReason(tInspectionRecordRegion.getReason());
+        record.setInspectionTime(tInspectionRecordRegion.getInspectionTime());
+        record.setPastTime(tInspectionRecordRegion.getPastTime());
+        record.setPasterCode(tInspectionRecordRegion.getPasterCode());
+        record.setTreatment(tInspectionRecordRegion.getTreatment());
+        record.setDeptId(tInspectionRecordRegion.getDeptId());
+        record.setCreaterCode(userId.toString());
+        record.setCreatedate(new Date());
+        record.setRemarks(tInspectionRecordRegion.getRemarks());
+        record.setDeptName(tInspectionRecordRegion.getDeptName());
+        record.setRegionId(tInspectionRecordRegion.getId());
+
+        // 根据区域查询该区域下的所有工业炉设备
+        TIntactGyl gyl = new TIntactGyl();
+        gyl.setPosition(tInspectionRecordRegion.getRegion());
+        List<TIntactGyl> gyls = tIntactGylService.selectTIntactGylList(gyl);
+        gyls.forEach(item -> {
+            record.setDevname(item.getDevname());
+            record.setDevno(item.getDevno());
+            // 为该设备添加巡查记录
+            recordService.insertTInspectionRecord(record);
+        });
+
+        // 根据区域查询该区域下的所有压缩机设备
+        TIntactYsj ysj = new TIntactYsj();
+        ysj.setPosition(tInspectionRecordRegion.getRegion());
+        List<TIntactYsj> ysjs = tIntactYsjService.selectTIntactYsjList(ysj);
+        ysjs.forEach(item -> {
+            record.setDevname(item.getDevname());
+            record.setDevno(item.getDevno());
+            // 为该设备添加巡查记录
+            recordService.insertTInspectionRecord(record);
+        });
+
+        return toAjax(i);
+    }
+
+    /**
+     * 修改区域巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:edit')")
+    @Log(title = "区域巡检记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TInspectionRecordRegion tInspectionRecordRegion) {
+        //获取操作人员ID
+        Long userId = getUserId();
+        // 根据区域id查询该区域下的所有已巡查的设备
+        List<TInspectionRecord> records = recordService.selectByRegionId(tInspectionRecordRegion.getId());
+        for (TInspectionRecord record : records) {
+            record.setUpdatedate(new Date());
+            record.setUpdaterCode(userId);
+            record.setReason(tInspectionRecordRegion.getReason());
+            record.setInspectionTime(tInspectionRecordRegion.getInspectionTime());
+            record.setPastTime(tInspectionRecordRegion.getPastTime());
+            record.setPasterCode(tInspectionRecordRegion.getPasterCode());
+            record.setTreatment(tInspectionRecordRegion.getTreatment());
+            record.setDeptId(tInspectionRecordRegion.getDeptId());
+            record.setRemarks(tInspectionRecordRegion.getRemarks());
+            // 修改该区域下的设备巡查信息
+            recordService.updateTInspectionRecord(record);
+        }
+        return toAjax(tInspectionRecordRegionService.updateTInspectionRecordRegion(tInspectionRecordRegion));
+    }
+
+    /**
+     * 删除区域巡检记录
+     */
+    @PreAuthorize("@ss.hasPermi('inspection:region:remove')")
+    @Log(title = "区域巡检记录", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        // 删除该区域下所有设备的巡查记录
+        recordService.deleteTInspectionRecordByRegionIds(ids);
+        // 删除该条记录
+        return toAjax(tInspectionRecordRegionService.deleteTInspectionRecordRegionByIds(ids));
+    }
+}

+ 281 - 0
master/src/main/java/com/ruoyi/project/inspection/domain/TInspectionRecord.java

@@ -0,0 +1,281 @@
+package com.ruoyi.project.inspection.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 巡检记录对象 t_inspection_record
+ *
+ * @author ruoyi
+ * @date 2022-06-22
+ */
+public class TInspectionRecord extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String devname;
+
+    /** 设备位号 */
+    @Excel(name = "设备位号")
+    private String devno;
+
+    /** 区域 */
+    @Excel(name = "区域")
+    private String region;
+
+    /** 原因 */
+    @Excel(name = "原因")
+    private String reason;
+
+    /** 巡检时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "巡检时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date inspectionTime;
+
+    /** 消故时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "消故时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date pastTime;
+
+    /** 消故人 */
+    @Excel(name = "消故人")
+    private String pasterCode;
+
+    /** 处理情况 */
+    @Excel(name = "处理情况")
+    private String treatment;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    /** 部门名称 */
+    //@Excel(name = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
+    /** 状态 1 :正常 ;0:删除 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private Long updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 备注 */
+    @Excel(name = "区域巡检id")
+    private Long regionId;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setDevname(String devname)
+    {
+        this.devname = devname;
+    }
+
+    public String getDevname()
+    {
+        return devname;
+    }
+    public void setDevno(String devno)
+    {
+        this.devno = devno;
+    }
+
+    public String getDevno()
+    {
+        return devno;
+    }
+    public void setRegion(String region)
+    {
+        this.region = region;
+    }
+
+    public String getRegion()
+    {
+        return region;
+    }
+    public void setReason(String reason)
+    {
+        this.reason = reason;
+    }
+
+    public String getReason()
+    {
+        return reason;
+    }
+    public void setInspectionTime(Date inspectionTime)
+    {
+        this.inspectionTime = inspectionTime;
+    }
+
+    public Date getInspectionTime()
+    {
+        return inspectionTime;
+    }
+    public void setPastTime(Date pastTime)
+    {
+        this.pastTime = pastTime;
+    }
+
+    public Date getPastTime()
+    {
+        return pastTime;
+    }
+    public void setPasterCode(String pasterCode)
+    {
+        this.pasterCode = pasterCode;
+    }
+
+    public String getPasterCode()
+    {
+        return pasterCode;
+    }
+    public void setTreatment(String treatment)
+    {
+        this.treatment = treatment;
+    }
+
+    public String getTreatment()
+    {
+        return treatment;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(Long updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public Long getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("devname", getDevname())
+            .append("devno", getDevno())
+            .append("region", getRegion())
+            .append("reason", getReason())
+            .append("inspectionTime", getInspectionTime())
+            .append("pastTime", getPastTime())
+            .append("pasterCode", getPasterCode())
+            .append("treatment", getTreatment())
+            .append("deptId", getDeptId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptName", getDeptName())
+            .append("regionId", getRegionId())
+            .toString();
+    }
+}

+ 268 - 0
master/src/main/java/com/ruoyi/project/inspection/domain/TInspectionRecordRegion.java

@@ -0,0 +1,268 @@
+package com.ruoyi.project.inspection.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 区域巡检记录对象 t_inspection_record_region
+ *
+ * @author ruoyi
+ * @date 2022-06-23
+ */
+public class TInspectionRecordRegion extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String devname;
+
+    /** 设备位号 */
+    @Excel(name = "设备位号")
+    private String devno;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    /** 部门名称 */
+    //@Excel(name = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
+    /** 状态 1 :正常 ;0:删除 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private Long updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 区域 */
+    @Excel(name = "区域")
+    private String region;
+
+    /** 原因 */
+    @Excel(name = "原因")
+    private String reason;
+
+    /** 巡检时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "巡检时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date inspectionTime;
+
+    /** 消故时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "消故时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date pastTime;
+
+    /** 消故人 */
+    @Excel(name = "消故人")
+    private String pasterCode;
+
+    /** 处理情况 */
+    @Excel(name = "处理情况")
+    private String treatment;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setDevname(String devname)
+    {
+        this.devname = devname;
+    }
+
+    public String getDevname()
+    {
+        return devname;
+    }
+    public void setDevno(String devno)
+    {
+        this.devno = devno;
+    }
+
+    public String getDevno()
+    {
+        return devno;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(Long updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public Long getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setRegion(String region)
+    {
+        this.region = region;
+    }
+
+    public String getRegion()
+    {
+        return region;
+    }
+    public void setReason(String reason)
+    {
+        this.reason = reason;
+    }
+
+    public String getReason()
+    {
+        return reason;
+    }
+    public void setInspectionTime(Date inspectionTime)
+    {
+        this.inspectionTime = inspectionTime;
+    }
+
+    public Date getInspectionTime()
+    {
+        return inspectionTime;
+    }
+    public void setPastTime(Date pastTime)
+    {
+        this.pastTime = pastTime;
+    }
+
+    public Date getPastTime()
+    {
+        return pastTime;
+    }
+    public void setPasterCode(String pasterCode)
+    {
+        this.pasterCode = pasterCode;
+    }
+
+    public String getPasterCode()
+    {
+        return pasterCode;
+    }
+    public void setTreatment(String treatment)
+    {
+        this.treatment = treatment;
+    }
+
+    public String getTreatment()
+    {
+        return treatment;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("devname", getDevname())
+            .append("devno", getDevno())
+            .append("deptId", getDeptId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("region", getRegion())
+            .append("reason", getReason())
+            .append("inspectionTime", getInspectionTime())
+            .append("pastTime", getPastTime())
+            .append("paster", getPasterCode())
+            .append("treatment", getTreatment())
+            .append("deptName", getDeptName())
+            .toString();
+    }
+}

+ 86 - 0
master/src/main/java/com/ruoyi/project/inspection/mapper/TInspectionRecordMapper.java

@@ -0,0 +1,86 @@
+package com.ruoyi.project.inspection.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.inspection.domain.TInspectionRecord;
+
+/**
+ * 巡检记录Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-22
+ */
+public interface TInspectionRecordMapper 
+{
+    /**
+     * 查询巡检记录
+     * 
+     * @param id 巡检记录ID
+     * @return 巡检记录
+     */
+    public TInspectionRecord selectTInspectionRecordById(Long id);
+
+    /**
+     * 查询巡检记录列表
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 巡检记录集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TInspectionRecord> selectTInspectionRecordList(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 新增巡检记录
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    public int insertTInspectionRecord(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 修改巡检记录
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    public int updateTInspectionRecord(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 删除巡检记录
+     * 
+     * @param id 巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordById(Long id);
+
+    /**
+     * 批量删除巡检记录
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByIds(Long[] ids);
+
+    /**
+     * 根据区域巡查记录id查询设备巡查记录
+     * @param regionId
+     * @return
+     */
+    public List<TInspectionRecord> selectByRegionId(Long regionId);
+
+    /**
+     * 批量删除巡检记录
+     *
+     * @param regionIds 需要删除的巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByRegionIds(Long[] regionIds);
+
+    /**
+     * 删除巡检记录信息
+     *
+     * @param regionId 巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByRegionId(Long regionId);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/inspection/mapper/TInspectionRecordRegionMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.inspection.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.inspection.domain.TInspectionRecordRegion;
+
+/**
+ * 区域巡检记录Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-23
+ */
+public interface TInspectionRecordRegionMapper 
+{
+    /**
+     * 查询区域巡检记录
+     * 
+     * @param id 区域巡检记录ID
+     * @return 区域巡检记录
+     */
+    public TInspectionRecordRegion selectTInspectionRecordRegionById(Long id);
+
+    /**
+     * 查询区域巡检记录列表
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 区域巡检记录集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TInspectionRecordRegion> selectTInspectionRecordRegionList(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 新增区域巡检记录
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    public int insertTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 修改区域巡检记录
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    public int updateTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 删除区域巡检记录
+     * 
+     * @param id 区域巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordRegionById(Long id);
+
+    /**
+     * 批量删除区域巡检记录
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordRegionByIds(Long[] ids);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/inspection/service/ITInspectionRecordRegionService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.inspection.service;
+
+import java.util.List;
+import com.ruoyi.project.inspection.domain.TInspectionRecordRegion;
+
+/**
+ * 区域巡检记录Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-23
+ */
+public interface ITInspectionRecordRegionService 
+{
+    /**
+     * 查询区域巡检记录
+     * 
+     * @param id 区域巡检记录ID
+     * @return 区域巡检记录
+     */
+    public TInspectionRecordRegion selectTInspectionRecordRegionById(Long id);
+
+    /**
+     * 查询区域巡检记录列表
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 区域巡检记录集合
+     */
+    public List<TInspectionRecordRegion> selectTInspectionRecordRegionList(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 新增区域巡检记录
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    public int insertTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 修改区域巡检记录
+     * 
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    public int updateTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion);
+
+    /**
+     * 批量删除区域巡检记录
+     * 
+     * @param ids 需要删除的区域巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordRegionByIds(Long[] ids);
+
+    /**
+     * 删除区域巡检记录信息
+     * 
+     * @param id 区域巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordRegionById(Long id);
+}

+ 85 - 0
master/src/main/java/com/ruoyi/project/inspection/service/ITInspectionRecordService.java

@@ -0,0 +1,85 @@
+package com.ruoyi.project.inspection.service;
+
+import java.util.List;
+import com.ruoyi.project.inspection.domain.TInspectionRecord;
+
+/**
+ * 巡检记录Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-22
+ */
+public interface ITInspectionRecordService 
+{
+    /**
+     * 查询巡检记录
+     * 
+     * @param id 巡检记录ID
+     * @return 巡检记录
+     */
+    public TInspectionRecord selectTInspectionRecordById(Long id);
+
+    /**
+     * 查询巡检记录列表
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 巡检记录集合
+     */
+    public List<TInspectionRecord> selectTInspectionRecordList(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 新增巡检记录
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    public int insertTInspectionRecord(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 修改巡检记录
+     * 
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    public int updateTInspectionRecord(TInspectionRecord tInspectionRecord);
+
+    /**
+     * 批量删除巡检记录
+     * 
+     * @param ids 需要删除的巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByIds(Long[] ids);
+
+    /**
+     * 删除巡检记录信息
+     * 
+     * @param id 巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordById(Long id);
+
+    /**
+     * 根据区域巡查记录id查询设备巡查记录
+     * @param regionId
+     * @return
+     */
+    public List<TInspectionRecord> selectByRegionId(Long regionId);
+
+
+    /**
+     * 批量删除巡检记录
+     *
+     * @param regionIds 需要删除的巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByRegionIds(Long[] regionIds);
+
+    /**
+     * 删除巡检记录信息
+     *
+     * @param regionId 巡检记录ID
+     * @return 结果
+     */
+    public int deleteTInspectionRecordByRegionId(Long regionId);
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/inspection/service/impl/TInspectionRecordRegionServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.inspection.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.inspection.mapper.TInspectionRecordRegionMapper;
+import com.ruoyi.project.inspection.domain.TInspectionRecordRegion;
+import com.ruoyi.project.inspection.service.ITInspectionRecordRegionService;
+
+/**
+ * 区域巡检记录Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-06-23
+ */
+@Service
+public class TInspectionRecordRegionServiceImpl implements ITInspectionRecordRegionService
+{
+    @Autowired
+    private TInspectionRecordRegionMapper tInspectionRecordRegionMapper;
+
+    /**
+     * 查询区域巡检记录
+     *
+     * @param id 区域巡检记录ID
+     * @return 区域巡检记录
+     */
+    @Override
+    public TInspectionRecordRegion selectTInspectionRecordRegionById(Long id)
+    {
+        return tInspectionRecordRegionMapper.selectTInspectionRecordRegionById(id);
+    }
+
+    /**
+     * 查询区域巡检记录列表
+     *
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 区域巡检记录
+     */
+    @Override
+    public List<TInspectionRecordRegion> selectTInspectionRecordRegionList(TInspectionRecordRegion tInspectionRecordRegion)
+    {
+        return tInspectionRecordRegionMapper.selectTInspectionRecordRegionList(tInspectionRecordRegion);
+    }
+
+    /**
+     * 新增区域巡检记录
+     *
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    @Override
+    public int insertTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion)
+    {
+        return tInspectionRecordRegionMapper.insertTInspectionRecordRegion(tInspectionRecordRegion);
+    }
+
+    /**
+     * 修改区域巡检记录
+     *
+     * @param tInspectionRecordRegion 区域巡检记录
+     * @return 结果
+     */
+    @Override
+    public int updateTInspectionRecordRegion(TInspectionRecordRegion tInspectionRecordRegion)
+    {
+        return tInspectionRecordRegionMapper.updateTInspectionRecordRegion(tInspectionRecordRegion);
+    }
+
+    /**
+     * 批量删除区域巡检记录
+     *
+     * @param ids 需要删除的区域巡检记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTInspectionRecordRegionByIds(Long[] ids)
+    {
+        return tInspectionRecordRegionMapper.deleteTInspectionRecordRegionByIds(ids);
+    }
+
+    /**
+     * 删除区域巡检记录信息
+     *
+     * @param id 区域巡检记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTInspectionRecordRegionById(Long id)
+    {
+        return tInspectionRecordRegionMapper.deleteTInspectionRecordRegionById(id);
+    }
+}

+ 113 - 0
master/src/main/java/com/ruoyi/project/inspection/service/impl/TInspectionRecordServiceImpl.java

@@ -0,0 +1,113 @@
+package com.ruoyi.project.inspection.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.inspection.mapper.TInspectionRecordMapper;
+import com.ruoyi.project.inspection.domain.TInspectionRecord;
+import com.ruoyi.project.inspection.service.ITInspectionRecordService;
+
+/**
+ * 巡检记录Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-06-22
+ */
+@Service
+public class TInspectionRecordServiceImpl implements ITInspectionRecordService
+{
+    @Autowired
+    private TInspectionRecordMapper tInspectionRecordMapper;
+
+    /**
+     * 查询巡检记录
+     *
+     * @param id 巡检记录ID
+     * @return 巡检记录
+     */
+    @Override
+    public TInspectionRecord selectTInspectionRecordById(Long id)
+    {
+        return tInspectionRecordMapper.selectTInspectionRecordById(id);
+    }
+
+    /**
+     * 查询巡检记录列表
+     *
+     * @param tInspectionRecord 巡检记录
+     * @return 巡检记录
+     */
+    @Override
+    public List<TInspectionRecord> selectTInspectionRecordList(TInspectionRecord tInspectionRecord)
+    {
+        return tInspectionRecordMapper.selectTInspectionRecordList(tInspectionRecord);
+    }
+
+    /**
+     * 新增巡检记录
+     *
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    @Override
+    public int insertTInspectionRecord(TInspectionRecord tInspectionRecord)
+    {
+        return tInspectionRecordMapper.insertTInspectionRecord(tInspectionRecord);
+    }
+
+    /**
+     * 修改巡检记录
+     *
+     * @param tInspectionRecord 巡检记录
+     * @return 结果
+     */
+    @Override
+    public int updateTInspectionRecord(TInspectionRecord tInspectionRecord)
+    {
+        return tInspectionRecordMapper.updateTInspectionRecord(tInspectionRecord);
+    }
+
+    /**
+     * 批量删除巡检记录
+     *
+     * @param ids 需要删除的巡检记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTInspectionRecordByIds(Long[] ids)
+    {
+        return tInspectionRecordMapper.deleteTInspectionRecordByIds(ids);
+    }
+
+    /**
+     * 删除巡检记录信息
+     *
+     * @param id 巡检记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTInspectionRecordById(Long id)
+    {
+        return tInspectionRecordMapper.deleteTInspectionRecordById(id);
+    }
+
+    /**
+     * 根据区域巡查记录id查询设备巡查记录
+     * @param regionId
+     * @return
+     */
+    @Override
+    public List<TInspectionRecord> selectByRegionId(Long regionId) {
+        return tInspectionRecordMapper.selectByRegionId(regionId);
+    }
+
+    @Override
+    public int deleteTInspectionRecordByRegionIds(Long[] regionIds) {
+        return tInspectionRecordMapper.deleteTInspectionRecordByRegionIds(regionIds);
+    }
+
+    @Override
+    public int deleteTInspectionRecordByRegionId(Long regionId) {
+        return tInspectionRecordMapper.deleteTInspectionRecordByRegionId(regionId);
+    }
+}

+ 108 - 0
master/src/main/java/com/ruoyi/project/intact/controller/TIntactGylController.java

@@ -0,0 +1,108 @@
+package com.ruoyi.project.intact.controller;
+
+import java.util.Date;
+import java.util.List;
+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.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.intact.domain.TIntactGyl;
+import com.ruoyi.project.intact.service.ITIntactGylService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 设备完整性工业炉台账Controller
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+@RestController
+@RequestMapping("/intact/gyl")
+public class TIntactGylController extends BaseController
+{
+    @Autowired
+    private ITIntactGylService tIntactGylService;
+
+    /**
+     * 查询设备完整性工业炉台账列表
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TIntactGyl tIntactGyl)
+    {
+        startPage();
+        List<TIntactGyl> list = tIntactGylService.selectTIntactGylList(tIntactGyl);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出设备完整性工业炉台账列表
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:export')")
+    @Log(title = "设备完整性工业炉台账", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TIntactGyl tIntactGyl)
+    {
+        List<TIntactGyl> list = tIntactGylService.selectTIntactGylList(tIntactGyl);
+        ExcelUtil<TIntactGyl> util = new ExcelUtil<TIntactGyl>(TIntactGyl.class);
+        return util.exportExcel(list, "gyl");
+    }
+
+    /**
+     * 获取设备完整性工业炉台账详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tIntactGylService.selectTIntactGylById(id));
+    }
+
+    /**
+     * 新增设备完整性工业炉台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:add')")
+    @Log(title = "设备完整性工业炉台账", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TIntactGyl tIntactGyl)
+    {
+        //获取操作人员ID
+        Long userId = getUserId();
+        tIntactGyl.setCreaterCode(userId.toString());
+        tIntactGyl.setCreatedate(new Date());
+        return toAjax(tIntactGylService.insertTIntactGyl(tIntactGyl));
+    }
+
+    /**
+     * 修改设备完整性工业炉台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:edit')")
+    @Log(title = "设备完整性工业炉台账", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TIntactGyl tIntactGyl)
+    {
+        return toAjax(tIntactGylService.updateTIntactGyl(tIntactGyl));
+    }
+
+    /**
+     * 删除设备完整性工业炉台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:gyl:remove')")
+    @Log(title = "设备完整性工业炉台账", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tIntactGylService.deleteTIntactGylByIds(ids));
+    }
+}

+ 108 - 0
master/src/main/java/com/ruoyi/project/intact/controller/TIntactYsjController.java

@@ -0,0 +1,108 @@
+package com.ruoyi.project.intact.controller;
+
+import java.util.Date;
+import java.util.List;
+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.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.intact.domain.TIntactYsj;
+import com.ruoyi.project.intact.service.ITIntactYsjService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 设备完整性压缩机台账Controller
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+@RestController
+@RequestMapping("/intact/ysj")
+public class TIntactYsjController extends BaseController
+{
+    @Autowired
+    private ITIntactYsjService tIntactYsjService;
+
+    /**
+     * 查询设备完整性压缩机台账列表
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TIntactYsj tIntactYsj)
+    {
+        startPage();
+        List<TIntactYsj> list = tIntactYsjService.selectTIntactYsjList(tIntactYsj);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出设备完整性压缩机台账列表
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:export')")
+    @Log(title = "设备完整性压缩机台账", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TIntactYsj tIntactYsj)
+    {
+        List<TIntactYsj> list = tIntactYsjService.selectTIntactYsjList(tIntactYsj);
+        ExcelUtil<TIntactYsj> util = new ExcelUtil<TIntactYsj>(TIntactYsj.class);
+        return util.exportExcel(list, "ysj");
+    }
+
+    /**
+     * 获取设备完整性压缩机台账详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tIntactYsjService.selectTIntactYsjById(id));
+    }
+
+    /**
+     * 新增设备完整性压缩机台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:add')")
+    @Log(title = "设备完整性压缩机台账", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TIntactYsj tIntactYsj)
+    {
+        //获取操作人员ID
+        Long userId = getUserId();
+        tIntactYsj.setCreaterCode(userId.toString());
+        tIntactYsj.setCreatedate(new Date());
+        return toAjax(tIntactYsjService.insertTIntactYsj(tIntactYsj));
+    }
+
+    /**
+     * 修改设备完整性压缩机台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:edit')")
+    @Log(title = "设备完整性压缩机台账", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TIntactYsj tIntactYsj)
+    {
+        return toAjax(tIntactYsjService.updateTIntactYsj(tIntactYsj));
+    }
+
+    /**
+     * 删除设备完整性压缩机台账
+     */
+    @PreAuthorize("@ss.hasPermi('intact:ysj:remove')")
+    @Log(title = "设备完整性压缩机台账", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tIntactYsjService.deleteTIntactYsjByIds(ids));
+    }
+}

+ 763 - 0
master/src/main/java/com/ruoyi/project/intact/domain/TIntactGyl.java

@@ -0,0 +1,763 @@
+package com.ruoyi.project.intact.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 设备完整性工业炉台账对象 t_intact_gyl
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public class TIntactGyl extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 装置名称 */
+    @Excel(name = "装置名称")
+    private String plantCode;
+
+    /** 单元 */
+    @Excel(name = "单元")
+    private String unit;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String devname;
+
+    /** 设备位号 */
+    @Excel(name = "设备位号")
+    private String devno;
+
+    /** 提交日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "提交日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date submitdate;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private Long status;
+
+    /** 状态 1 :正常 ;0:删除 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private Long updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 审核状态 */
+    @Excel(name = "审核状态")
+    private Long approveStatus;
+
+    /** 注册代码 */
+    @Excel(name = "注册代码")
+    private String regno;
+
+    /** 使用证编号 */
+    @Excel(name = "使用证编号")
+    private String useno;
+
+    /** 上次年检时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "上次年检时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date warnDate;
+
+    /** 检测周期 */
+    @Excel(name = "检测周期")
+    private Long warnCycle;
+
+    /** 下次年检时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "下次年检时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date nextWarnDate;
+
+    /** 预警标识 */
+    @Excel(name = "预警标识")
+    private Long warnFlag;
+
+    /** 制造单位 */
+    @Excel(name = "制造单位")
+    private String createUnit;
+
+    /** 燃烧方式 */
+    @Excel(name = "燃烧方式")
+    private String burnMode;
+
+    /** 燃烧种类 */
+    @Excel(name = "燃烧种类")
+    private String burnKind;
+
+    /** 额度出力 */
+    @Excel(name = "额度出力")
+    private String ratedPower;
+
+    /** 设计压力 */
+    @Excel(name = "设计压力")
+    private String desPressure;
+
+    /** 设计温度 */
+    @Excel(name = "设计温度")
+    private String desTemp;
+
+    /** 操作压力 */
+    @Excel(name = "操作压力")
+    private String optPressure;
+
+    /** 操作温度 */
+    @Excel(name = "操作温度")
+    private String optTemp;
+
+    /** 检测单位 */
+    @Excel(name = "检测单位")
+    private String checkUnit;
+
+    /** 检查结论 */
+    @Excel(name = "检查结论")
+    private String checkConclusion;
+
+    /** 型号 */
+    @Excel(name = "型号")
+    private String model;
+
+    /** 水处理方式 */
+    @Excel(name = "水处理方式")
+    private String waterMode;
+
+    /** 报告编号 */
+    @Excel(name = "报告编号")
+    private String reportNo;
+
+    /** 最新申请时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "最新申请时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date approveTime;
+
+    /** 状态修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "状态修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date changeTime;
+
+    /** 装置维修组 */
+    @Excel(name = "装置维修组")
+    private String plantMaint;
+
+    /** 本次外部检测日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "本次外部检测日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date outWarnDate;
+
+    /** 下次外部检测日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "下次外部检测日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date outNextWarnDate;
+
+    /** 外部检验结论 */
+    @Excel(name = "外部检验结论")
+    private String outCheckConclusion;
+
+    /** 外部检验编号 */
+    @Excel(name = "外部检验编号")
+    private String outReportNo;
+
+    /** 装置维修工程师 */
+    @Excel(name = "装置维修工程师")
+    private String engineer;
+
+    /** 种类 */
+    @Excel(name = "种类")
+    private Long type;
+
+    /** 是否重复 */
+    @Excel(name = "是否重复")
+    private Long isRepeat;
+
+    /** 安装位置 */
+    @Excel(name = "安装位置")
+    private String position;
+
+    /** 尺寸 */
+    @Excel(name = "尺寸")
+    private String deviceSize;
+
+    /** 介质 */
+    @Excel(name = "介质")
+    private String medium;
+
+    /** 泄空方式 */
+    @Excel(name = "泄空方式")
+    private String leakageMode;
+
+    /** 数据表文件号 */
+    @Excel(name = "数据表文件号")
+    private String dataNo;
+
+    /** 计算书文件号 */
+    @Excel(name = "计算书文件号")
+    private String bookNo;
+
+    /** 厂家 */
+    @Excel(name = "厂家")
+    private String manufactor;
+
+    /** 部门名称 */
+    //@Excel(name = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setPlantCode(String plantCode)
+    {
+        this.plantCode = plantCode;
+    }
+
+    public String getPlantCode()
+    {
+        return plantCode;
+    }
+    public void setUnit(String unit)
+    {
+        this.unit = unit;
+    }
+
+    public String getUnit()
+    {
+        return unit;
+    }
+    public void setDevname(String devname)
+    {
+        this.devname = devname;
+    }
+
+    public String getDevname()
+    {
+        return devname;
+    }
+    public void setDevno(String devno)
+    {
+        this.devno = devno;
+    }
+
+    public String getDevno()
+    {
+        return devno;
+    }
+    public void setSubmitdate(Date submitdate)
+    {
+        this.submitdate = submitdate;
+    }
+
+    public Date getSubmitdate()
+    {
+        return submitdate;
+    }
+    public void setStatus(Long status)
+    {
+        this.status = status;
+    }
+
+    public Long getStatus()
+    {
+        return status;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(Long updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public Long getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setApproveStatus(Long approveStatus)
+    {
+        this.approveStatus = approveStatus;
+    }
+
+    public Long getApproveStatus()
+    {
+        return approveStatus;
+    }
+    public void setRegno(String regno)
+    {
+        this.regno = regno;
+    }
+
+    public String getRegno()
+    {
+        return regno;
+    }
+    public void setUseno(String useno)
+    {
+        this.useno = useno;
+    }
+
+    public String getUseno()
+    {
+        return useno;
+    }
+    public void setWarnDate(Date warnDate)
+    {
+        this.warnDate = warnDate;
+    }
+
+    public Date getWarnDate()
+    {
+        return warnDate;
+    }
+    public void setWarnCycle(Long warnCycle)
+    {
+        this.warnCycle = warnCycle;
+    }
+
+    public Long getWarnCycle()
+    {
+        return warnCycle;
+    }
+    public void setNextWarnDate(Date nextWarnDate)
+    {
+        this.nextWarnDate = nextWarnDate;
+    }
+
+    public Date getNextWarnDate()
+    {
+        return nextWarnDate;
+    }
+    public void setWarnFlag(Long warnFlag)
+    {
+        this.warnFlag = warnFlag;
+    }
+
+    public Long getWarnFlag()
+    {
+        return warnFlag;
+    }
+    public void setCreateUnit(String createUnit)
+    {
+        this.createUnit = createUnit;
+    }
+
+    public String getCreateUnit()
+    {
+        return createUnit;
+    }
+    public void setBurnMode(String burnMode)
+    {
+        this.burnMode = burnMode;
+    }
+
+    public String getBurnMode()
+    {
+        return burnMode;
+    }
+    public void setBurnKind(String burnKind)
+    {
+        this.burnKind = burnKind;
+    }
+
+    public String getBurnKind()
+    {
+        return burnKind;
+    }
+    public void setRatedPower(String ratedPower)
+    {
+        this.ratedPower = ratedPower;
+    }
+
+    public String getRatedPower()
+    {
+        return ratedPower;
+    }
+    public void setDesPressure(String desPressure)
+    {
+        this.desPressure = desPressure;
+    }
+
+    public String getDesPressure()
+    {
+        return desPressure;
+    }
+    public void setDesTemp(String desTemp)
+    {
+        this.desTemp = desTemp;
+    }
+
+    public String getDesTemp()
+    {
+        return desTemp;
+    }
+    public void setOptPressure(String optPressure)
+    {
+        this.optPressure = optPressure;
+    }
+
+    public String getOptPressure()
+    {
+        return optPressure;
+    }
+    public void setOptTemp(String optTemp)
+    {
+        this.optTemp = optTemp;
+    }
+
+    public String getOptTemp()
+    {
+        return optTemp;
+    }
+    public void setCheckUnit(String checkUnit)
+    {
+        this.checkUnit = checkUnit;
+    }
+
+    public String getCheckUnit()
+    {
+        return checkUnit;
+    }
+    public void setCheckConclusion(String checkConclusion)
+    {
+        this.checkConclusion = checkConclusion;
+    }
+
+    public String getCheckConclusion()
+    {
+        return checkConclusion;
+    }
+    public void setModel(String model)
+    {
+        this.model = model;
+    }
+
+    public String getModel()
+    {
+        return model;
+    }
+    public void setWaterMode(String waterMode)
+    {
+        this.waterMode = waterMode;
+    }
+
+    public String getWaterMode()
+    {
+        return waterMode;
+    }
+    public void setReportNo(String reportNo)
+    {
+        this.reportNo = reportNo;
+    }
+
+    public String getReportNo()
+    {
+        return reportNo;
+    }
+    public void setApproveTime(Date approveTime)
+    {
+        this.approveTime = approveTime;
+    }
+
+    public Date getApproveTime()
+    {
+        return approveTime;
+    }
+    public void setChangeTime(Date changeTime)
+    {
+        this.changeTime = changeTime;
+    }
+
+    public Date getChangeTime()
+    {
+        return changeTime;
+    }
+    public void setPlantMaint(String plantMaint)
+    {
+        this.plantMaint = plantMaint;
+    }
+
+    public String getPlantMaint()
+    {
+        return plantMaint;
+    }
+    public void setOutWarnDate(Date outWarnDate)
+    {
+        this.outWarnDate = outWarnDate;
+    }
+
+    public Date getOutWarnDate()
+    {
+        return outWarnDate;
+    }
+    public void setOutNextWarnDate(Date outNextWarnDate)
+    {
+        this.outNextWarnDate = outNextWarnDate;
+    }
+
+    public Date getOutNextWarnDate()
+    {
+        return outNextWarnDate;
+    }
+    public void setOutCheckConclusion(String outCheckConclusion)
+    {
+        this.outCheckConclusion = outCheckConclusion;
+    }
+
+    public String getOutCheckConclusion()
+    {
+        return outCheckConclusion;
+    }
+    public void setOutReportNo(String outReportNo)
+    {
+        this.outReportNo = outReportNo;
+    }
+
+    public String getOutReportNo()
+    {
+        return outReportNo;
+    }
+    public void setEngineer(String engineer)
+    {
+        this.engineer = engineer;
+    }
+
+    public String getEngineer()
+    {
+        return engineer;
+    }
+    public void setType(Long type)
+    {
+        this.type = type;
+    }
+
+    public Long getType()
+    {
+        return type;
+    }
+    public void setIsRepeat(Long isRepeat)
+    {
+        this.isRepeat = isRepeat;
+    }
+
+    public Long getIsRepeat()
+    {
+        return isRepeat;
+    }
+    public void setPosition(String position)
+    {
+        this.position = position;
+    }
+
+    public String getPosition()
+    {
+        return position;
+    }
+    public void setDeviceSize(String deviceSize)
+    {
+        this.deviceSize = deviceSize;
+    }
+
+    public String getDeviceSize()
+    {
+        return deviceSize;
+    }
+    public void setMedium(String medium)
+    {
+        this.medium = medium;
+    }
+
+    public String getMedium()
+    {
+        return medium;
+    }
+    public void setLeakageMode(String leakageMode)
+    {
+        this.leakageMode = leakageMode;
+    }
+
+    public String getLeakageMode()
+    {
+        return leakageMode;
+    }
+    public void setDataNo(String dataNo)
+    {
+        this.dataNo = dataNo;
+    }
+
+    public String getDataNo()
+    {
+        return dataNo;
+    }
+    public void setBookNo(String bookNo)
+    {
+        this.bookNo = bookNo;
+    }
+
+    public String getBookNo()
+    {
+        return bookNo;
+    }
+    public void setManufactor(String manufactor)
+    {
+        this.manufactor = manufactor;
+    }
+
+    public String getManufactor()
+    {
+        return manufactor;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("plantCode", getPlantCode())
+            .append("unit", getUnit())
+            .append("devname", getDevname())
+            .append("devno", getDevno())
+            .append("submitdate", getSubmitdate())
+            .append("status", getStatus())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("deptId", getDeptId())
+            .append("remarks", getRemarks())
+            .append("approveStatus", getApproveStatus())
+            .append("regno", getRegno())
+            .append("useno", getUseno())
+            .append("warnDate", getWarnDate())
+            .append("warnCycle", getWarnCycle())
+            .append("nextWarnDate", getNextWarnDate())
+            .append("warnFlag", getWarnFlag())
+            .append("createUnit", getCreateUnit())
+            .append("burnMode", getBurnMode())
+            .append("burnKind", getBurnKind())
+            .append("ratedPower", getRatedPower())
+            .append("desPressure", getDesPressure())
+            .append("desTemp", getDesTemp())
+            .append("optPressure", getOptPressure())
+            .append("optTemp", getOptTemp())
+            .append("checkUnit", getCheckUnit())
+            .append("checkConclusion", getCheckConclusion())
+            .append("model", getModel())
+            .append("waterMode", getWaterMode())
+            .append("reportNo", getReportNo())
+            .append("approveTime", getApproveTime())
+            .append("changeTime", getChangeTime())
+            .append("plantMaint", getPlantMaint())
+            .append("outWarnDate", getOutWarnDate())
+            .append("outNextWarnDate", getOutNextWarnDate())
+            .append("outCheckConclusion", getOutCheckConclusion())
+            .append("outReportNo", getOutReportNo())
+            .append("engineer", getEngineer())
+            .append("type", getType())
+            .append("isRepeat", getIsRepeat())
+            .append("position", getPosition())
+            .append("deviceSize", getDeviceSize())
+            .append("medium", getMedium())
+            .append("leakageMode", getLeakageMode())
+            .append("dataNo", getDataNo())
+            .append("bookNo", getBookNo())
+            .append("manufactor", getManufactor())
+            .append("deptName", getDeptName())
+            .toString();
+    }
+}

+ 366 - 0
master/src/main/java/com/ruoyi/project/intact/domain/TIntactYsj.java

@@ -0,0 +1,366 @@
+package com.ruoyi.project.intact.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 设备完整性压缩机台账对象 t_intact_ysj
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public class TIntactYsj extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 种类 */
+    @Excel(name = "种类")
+    private Long type;
+
+    /** 装置名称 */
+    @Excel(name = "装置名称")
+    private String plantCode;
+
+    /** 单元 */
+    @Excel(name = "单元")
+    private String unit;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String devname;
+
+    /** 设备位号 */
+    @Excel(name = "设备位号")
+    private String devno;
+
+    /** 安装位置 */
+    @Excel(name = "安装位置")
+    private String position;
+
+    /** 尺寸 */
+    @Excel(name = "尺寸")
+    private String deviceSize;
+
+    /** 设计压力 */
+    @Excel(name = "设计压力")
+    private String desPressure;
+
+    /** 设计温度 */
+    @Excel(name = "设计温度")
+    private String desTemp;
+
+    /** 操作压力 */
+    @Excel(name = "操作压力")
+    private String optPressure;
+
+    /** 操作温度 */
+    @Excel(name = "操作温度")
+    private String optTemp;
+
+    /** 介质 */
+    @Excel(name = "介质")
+    private String medium;
+
+    /** 泄空方式 */
+    @Excel(name = "泄空方式")
+    private String leakageMode;
+
+    /** 数据表文件号 */
+    @Excel(name = "数据表文件号")
+    private String dataNo;
+
+    /** 计算书文件号 */
+    @Excel(name = "计算书文件号")
+    private String bookNo;
+
+    /** 厂家 */
+    @Excel(name = "厂家")
+    private String manufactor;
+
+    /** 删除标识 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private Long updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    /** 部门名称 */
+    //@Excel(name = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setType(Long type)
+    {
+        this.type = type;
+    }
+
+    public Long getType()
+    {
+        return type;
+    }
+    public void setPlantCode(String plantCode)
+    {
+        this.plantCode = plantCode;
+    }
+
+    public String getPlantCode()
+    {
+        return plantCode;
+    }
+    public void setUnit(String unit)
+    {
+        this.unit = unit;
+    }
+
+    public String getUnit()
+    {
+        return unit;
+    }
+    public void setDevname(String devname)
+    {
+        this.devname = devname;
+    }
+
+    public String getDevname()
+    {
+        return devname;
+    }
+    public void setDevno(String devno)
+    {
+        this.devno = devno;
+    }
+
+    public String getDevno()
+    {
+        return devno;
+    }
+    public void setPosition(String position)
+    {
+        this.position = position;
+    }
+
+    public String getPosition()
+    {
+        return position;
+    }
+    public void setDeviceSize(String deviceSize)
+    {
+        this.deviceSize = deviceSize;
+    }
+
+    public String getDeviceSize()
+    {
+        return deviceSize;
+    }
+    public void setDesPressure(String desPressure)
+    {
+        this.desPressure = desPressure;
+    }
+
+    public String getDesPressure()
+    {
+        return desPressure;
+    }
+    public void setDesTemp(String desTemp)
+    {
+        this.desTemp = desTemp;
+    }
+
+    public String getDesTemp()
+    {
+        return desTemp;
+    }
+    public void setOptPressure(String optPressure)
+    {
+        this.optPressure = optPressure;
+    }
+
+    public String getOptPressure()
+    {
+        return optPressure;
+    }
+    public void setOptTemp(String optTemp)
+    {
+        this.optTemp = optTemp;
+    }
+
+    public String getOptTemp()
+    {
+        return optTemp;
+    }
+    public void setMedium(String medium)
+    {
+        this.medium = medium;
+    }
+
+    public String getMedium()
+    {
+        return medium;
+    }
+    public void setLeakageMode(String leakageMode)
+    {
+        this.leakageMode = leakageMode;
+    }
+
+    public String getLeakageMode()
+    {
+        return leakageMode;
+    }
+    public void setDataNo(String dataNo)
+    {
+        this.dataNo = dataNo;
+    }
+
+    public String getDataNo()
+    {
+        return dataNo;
+    }
+    public void setBookNo(String bookNo)
+    {
+        this.bookNo = bookNo;
+    }
+
+    public String getBookNo()
+    {
+        return bookNo;
+    }
+    public void setManufactor(String manufactor)
+    {
+        this.manufactor = manufactor;
+    }
+
+    public String getManufactor()
+    {
+        return manufactor;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(Long updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public Long getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("type", getType())
+            .append("plantCode", getPlantCode())
+            .append("unit", getUnit())
+            .append("devname", getDevname())
+            .append("devno", getDevno())
+            .append("position", getPosition())
+            .append("deviceSize", getDeviceSize())
+            .append("desPressure", getDesPressure())
+            .append("desTemp", getDesTemp())
+            .append("optPressure", getOptPressure())
+            .append("optTemp", getOptTemp())
+            .append("medium", getMedium())
+            .append("leakageMode", getLeakageMode())
+            .append("dataNo", getDataNo())
+            .append("bookNo", getBookNo())
+            .append("manufactor", getManufactor())
+            .append("remark", getRemark())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("deptId", getDeptId())
+            .append("deptName", getDeptName())
+            .toString();
+    }
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/intact/mapper/TIntactGylMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.intact.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.intact.domain.TIntactGyl;
+
+/**
+ * 设备完整性工业炉台账Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public interface TIntactGylMapper 
+{
+    /**
+     * 查询设备完整性工业炉台账
+     * 
+     * @param id 设备完整性工业炉台账ID
+     * @return 设备完整性工业炉台账
+     */
+    public TIntactGyl selectTIntactGylById(Long id);
+
+    /**
+     * 查询设备完整性工业炉台账列表
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 设备完整性工业炉台账集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TIntactGyl> selectTIntactGylList(TIntactGyl tIntactGyl);
+
+    /**
+     * 新增设备完整性工业炉台账
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    public int insertTIntactGyl(TIntactGyl tIntactGyl);
+
+    /**
+     * 修改设备完整性工业炉台账
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    public int updateTIntactGyl(TIntactGyl tIntactGyl);
+
+    /**
+     * 删除设备完整性工业炉台账
+     * 
+     * @param id 设备完整性工业炉台账ID
+     * @return 结果
+     */
+    public int deleteTIntactGylById(Long id);
+
+    /**
+     * 批量删除设备完整性工业炉台账
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTIntactGylByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/intact/mapper/TIntactYsjMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.intact.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.intact.domain.TIntactYsj;
+
+/**
+ * 设备完整性压缩机台账Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public interface TIntactYsjMapper 
+{
+    /**
+     * 查询设备完整性压缩机台账
+     * 
+     * @param id 设备完整性压缩机台账ID
+     * @return 设备完整性压缩机台账
+     */
+    public TIntactYsj selectTIntactYsjById(Long id);
+
+    /**
+     * 查询设备完整性压缩机台账列表
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 设备完整性压缩机台账集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TIntactYsj> selectTIntactYsjList(TIntactYsj tIntactYsj);
+
+    /**
+     * 新增设备完整性压缩机台账
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    public int insertTIntactYsj(TIntactYsj tIntactYsj);
+
+    /**
+     * 修改设备完整性压缩机台账
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    public int updateTIntactYsj(TIntactYsj tIntactYsj);
+
+    /**
+     * 删除设备完整性压缩机台账
+     * 
+     * @param id 设备完整性压缩机台账ID
+     * @return 结果
+     */
+    public int deleteTIntactYsjById(Long id);
+
+    /**
+     * 批量删除设备完整性压缩机台账
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTIntactYsjByIds(Long[] ids);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/intact/service/ITIntactGylService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.intact.service;
+
+import java.util.List;
+import com.ruoyi.project.intact.domain.TIntactGyl;
+
+/**
+ * 设备完整性工业炉台账Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public interface ITIntactGylService 
+{
+    /**
+     * 查询设备完整性工业炉台账
+     * 
+     * @param id 设备完整性工业炉台账ID
+     * @return 设备完整性工业炉台账
+     */
+    public TIntactGyl selectTIntactGylById(Long id);
+
+    /**
+     * 查询设备完整性工业炉台账列表
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 设备完整性工业炉台账集合
+     */
+    public List<TIntactGyl> selectTIntactGylList(TIntactGyl tIntactGyl);
+
+    /**
+     * 新增设备完整性工业炉台账
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    public int insertTIntactGyl(TIntactGyl tIntactGyl);
+
+    /**
+     * 修改设备完整性工业炉台账
+     * 
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    public int updateTIntactGyl(TIntactGyl tIntactGyl);
+
+    /**
+     * 批量删除设备完整性工业炉台账
+     * 
+     * @param ids 需要删除的设备完整性工业炉台账ID
+     * @return 结果
+     */
+    public int deleteTIntactGylByIds(Long[] ids);
+
+    /**
+     * 删除设备完整性工业炉台账信息
+     * 
+     * @param id 设备完整性工业炉台账ID
+     * @return 结果
+     */
+    public int deleteTIntactGylById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/intact/service/ITIntactYsjService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.intact.service;
+
+import java.util.List;
+import com.ruoyi.project.intact.domain.TIntactYsj;
+
+/**
+ * 设备完整性压缩机台账Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+public interface ITIntactYsjService 
+{
+    /**
+     * 查询设备完整性压缩机台账
+     * 
+     * @param id 设备完整性压缩机台账ID
+     * @return 设备完整性压缩机台账
+     */
+    public TIntactYsj selectTIntactYsjById(Long id);
+
+    /**
+     * 查询设备完整性压缩机台账列表
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 设备完整性压缩机台账集合
+     */
+    public List<TIntactYsj> selectTIntactYsjList(TIntactYsj tIntactYsj);
+
+    /**
+     * 新增设备完整性压缩机台账
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    public int insertTIntactYsj(TIntactYsj tIntactYsj);
+
+    /**
+     * 修改设备完整性压缩机台账
+     * 
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    public int updateTIntactYsj(TIntactYsj tIntactYsj);
+
+    /**
+     * 批量删除设备完整性压缩机台账
+     * 
+     * @param ids 需要删除的设备完整性压缩机台账ID
+     * @return 结果
+     */
+    public int deleteTIntactYsjByIds(Long[] ids);
+
+    /**
+     * 删除设备完整性压缩机台账信息
+     * 
+     * @param id 设备完整性压缩机台账ID
+     * @return 结果
+     */
+    public int deleteTIntactYsjById(Long id);
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/intact/service/impl/TIntactGylServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.intact.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.intact.mapper.TIntactGylMapper;
+import com.ruoyi.project.intact.domain.TIntactGyl;
+import com.ruoyi.project.intact.service.ITIntactGylService;
+
+/**
+ * 设备完整性工业炉台账Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+@Service
+public class TIntactGylServiceImpl implements ITIntactGylService
+{
+    @Autowired
+    private TIntactGylMapper tIntactGylMapper;
+
+    /**
+     * 查询设备完整性工业炉台账
+     *
+     * @param id 设备完整性工业炉台账ID
+     * @return 设备完整性工业炉台账
+     */
+    @Override
+    public TIntactGyl selectTIntactGylById(Long id)
+    {
+        return tIntactGylMapper.selectTIntactGylById(id);
+    }
+
+    /**
+     * 查询设备完整性工业炉台账列表
+     *
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 设备完整性工业炉台账
+     */
+    @Override
+    public List<TIntactGyl> selectTIntactGylList(TIntactGyl tIntactGyl)
+    {
+        return tIntactGylMapper.selectTIntactGylList(tIntactGyl);
+    }
+
+    /**
+     * 新增设备完整性工业炉台账
+     *
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    @Override
+    public int insertTIntactGyl(TIntactGyl tIntactGyl)
+    {
+        return tIntactGylMapper.insertTIntactGyl(tIntactGyl);
+    }
+
+    /**
+     * 修改设备完整性工业炉台账
+     *
+     * @param tIntactGyl 设备完整性工业炉台账
+     * @return 结果
+     */
+    @Override
+    public int updateTIntactGyl(TIntactGyl tIntactGyl)
+    {
+        return tIntactGylMapper.updateTIntactGyl(tIntactGyl);
+    }
+
+    /**
+     * 批量删除设备完整性工业炉台账
+     *
+     * @param ids 需要删除的设备完整性工业炉台账ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTIntactGylByIds(Long[] ids)
+    {
+        return tIntactGylMapper.deleteTIntactGylByIds(ids);
+    }
+
+    /**
+     * 删除设备完整性工业炉台账信息
+     *
+     * @param id 设备完整性工业炉台账ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTIntactGylById(Long id)
+    {
+        return tIntactGylMapper.deleteTIntactGylById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/intact/service/impl/TIntactYsjServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.intact.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.intact.mapper.TIntactYsjMapper;
+import com.ruoyi.project.intact.domain.TIntactYsj;
+import com.ruoyi.project.intact.service.ITIntactYsjService;
+
+/**
+ * 设备完整性压缩机台账Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-06-21
+ */
+@Service
+public class TIntactYsjServiceImpl implements ITIntactYsjService
+{
+    @Autowired
+    private TIntactYsjMapper tIntactYsjMapper;
+
+    /**
+     * 查询设备完整性压缩机台账
+     *
+     * @param id 设备完整性压缩机台账ID
+     * @return 设备完整性压缩机台账
+     */
+    @Override
+    public TIntactYsj selectTIntactYsjById(Long id)
+    {
+        return tIntactYsjMapper.selectTIntactYsjById(id);
+    }
+
+    /**
+     * 查询设备完整性压缩机台账列表
+     *
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 设备完整性压缩机台账
+     */
+    @Override
+    public List<TIntactYsj> selectTIntactYsjList(TIntactYsj tIntactYsj)
+    {
+        return tIntactYsjMapper.selectTIntactYsjList(tIntactYsj);
+    }
+
+    /**
+     * 新增设备完整性压缩机台账
+     *
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    @Override
+    public int insertTIntactYsj(TIntactYsj tIntactYsj)
+    {
+        return tIntactYsjMapper.insertTIntactYsj(tIntactYsj);
+    }
+
+    /**
+     * 修改设备完整性压缩机台账
+     *
+     * @param tIntactYsj 设备完整性压缩机台账
+     * @return 结果
+     */
+    @Override
+    public int updateTIntactYsj(TIntactYsj tIntactYsj)
+    {
+        return tIntactYsjMapper.updateTIntactYsj(tIntactYsj);
+    }
+
+    /**
+     * 批量删除设备完整性压缩机台账
+     *
+     * @param ids 需要删除的设备完整性压缩机台账ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTIntactYsjByIds(Long[] ids)
+    {
+        return tIntactYsjMapper.deleteTIntactYsjByIds(ids);
+    }
+
+    /**
+     * 删除设备完整性压缩机台账信息
+     *
+     * @param id 设备完整性压缩机台账ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTIntactYsjById(Long id)
+    {
+        return tIntactYsjMapper.deleteTIntactYsjById(id);
+    }
+}

+ 156 - 0
master/src/main/resources/mybatis/inspection/TInspectionRecordMapper.xml

@@ -0,0 +1,156 @@
+<?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.ruoyi.project.inspection.mapper.TInspectionRecordMapper">
+    
+    <resultMap type="TInspectionRecord" id="TInspectionRecordResult">
+        <result property="id"    column="id"    />
+        <result property="devname"    column="devname"    />
+        <result property="devno"    column="devno"    />
+        <result property="region"    column="region"    />
+        <result property="reason"    column="reason"    />
+        <result property="inspectionTime"    column="inspection_time"    />
+        <result property="pastTime"    column="past_time"    />
+        <result property="pasterCode"    column="paster_code"    />
+        <result property="treatment"    column="treatment"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptName" column="dept_name" />
+        <result property="regionId" column="region_id" />
+    </resultMap>
+
+    <sql id="selectTInspectionRecordVo">
+        select d.id, d.devname, d.devno, d.region, d.reason, d.inspection_time, d.past_time, d.paster_code, d.treatment, d.dept_id, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks ,d.region_id,s.dept_name from t_inspection_record d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTInspectionRecordList" parameterType="TInspectionRecord" resultMap="TInspectionRecordResult">
+        <include refid="selectTInspectionRecordVo"/>
+        <where>  
+            <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
+            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="region != null  and region != ''"> and region = #{region}</if>
+            <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
+            <if test="inspectionTime != null "> and inspection_time = #{inspectionTime}</if>
+            <if test="pastTime != null "> and past_time = #{pastTime}</if>
+            <if test="pasterCode != null  and pasterCode != ''"> and paster_code = #{pasterCode}</if>
+            <if test="treatment != null  and treatment != ''"> and treatment = #{treatment}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null "> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTInspectionRecordById" parameterType="Long" resultMap="TInspectionRecordResult">
+        <include refid="selectTInspectionRecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTInspectionRecord" parameterType="TInspectionRecord">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_inspection_record.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_inspection_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="devname != null">devname,</if>
+            <if test="devno != null">devno,</if>
+            <if test="region != null">region,</if>
+            <if test="reason != null">reason,</if>
+            <if test="inspectionTime != null">inspection_time,</if>
+            <if test="pastTime != null">past_time,</if>
+            <if test="pasterCode != null">paster_code,</if>
+            <if test="treatment != null">treatment,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="regionId != null">region_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="devname != null">#{devname},</if>
+            <if test="devno != null">#{devno},</if>
+            <if test="region != null">#{region},</if>
+            <if test="reason != null">#{reason},</if>
+            <if test="inspectionTime != null">#{inspectionTime},</if>
+            <if test="pastTime != null">#{pastTime},</if>
+            <if test="pasterCode != null">#{pasterCode},</if>
+            <if test="treatment != null">#{treatment},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="regionId != null">#{regionId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTInspectionRecord" parameterType="TInspectionRecord">
+        update t_inspection_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="devname != null">devname = #{devname},</if>
+            <if test="devno != null">devno = #{devno},</if>
+            <if test="region != null">region = #{region},</if>
+            <if test="reason != null">reason = #{reason},</if>
+            <if test="inspectionTime != null">inspection_time = #{inspectionTime},</if>
+            <if test="pastTime != null">past_time = #{pastTime},</if>
+            <if test="pasterCode != null">paster_code = #{pasterCode},</if>
+            <if test="treatment != null">treatment = #{treatment},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="regionId != null">region_id = #{regionId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTInspectionRecordById" parameterType="Long">
+        update t_inspection_record set del_flag = -1 where id = #{id}
+    </update>
+
+    <update id="deleteTInspectionRecordByIds" parameterType="String">
+        update t_inspection_record set del_flag = -1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+    <select id="selectByRegionId" parameterType="Long" resultMap="TInspectionRecordResult">
+        <include refid="selectTInspectionRecordVo"/>
+        and d.region_id = #{regionId} and d.del_flag=0
+    </select>
+
+    <update id="deleteTInspectionRecordByRegionId" parameterType="Long">
+        update t_inspection_record set del_flag = -1 where region_id = #{regionId}
+    </update>
+
+    <update id="deleteTInspectionRecordByRegionIds" parameterType="String">
+        update t_inspection_record set del_flag = -1 where region_id in
+        <foreach item="regionId" collection="array" open="(" separator="," close=")">
+            #{regionId}
+        </foreach>
+    </update>
+</mapper>

+ 136 - 0
master/src/main/resources/mybatis/inspection/TInspectionRecordRegionMapper.xml

@@ -0,0 +1,136 @@
+<?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.ruoyi.project.inspection.mapper.TInspectionRecordRegionMapper">
+
+    <resultMap type="TInspectionRecordRegion" id="TInspectionRecordRegionResult">
+        <result property="id"    column="id"    />
+        <result property="devname"    column="devname"    />
+        <result property="devno"    column="devno"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="region"    column="region"    />
+        <result property="reason"    column="reason"    />
+        <result property="inspectionTime"    column="inspection_time"    />
+        <result property="pastTime"    column="past_time"    />
+        <result property="pasterCode"    column="paster_code"    />
+        <result property="treatment"    column="treatment"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTInspectionRecordRegionVo">
+        select d.id, d.devname, d.devno, d.dept_id, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.region, d.reason, d.inspection_time, d.past_time, d.paster_code, d.treatment ,s.dept_name from t_inspection_record_region d
+                                                                                                                                                                                                                                            left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTInspectionRecordRegionList" parameterType="TInspectionRecordRegion" resultMap="TInspectionRecordRegionResult">
+        <include refid="selectTInspectionRecordRegionVo"/>
+        <where>
+            <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
+            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null "> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="region != null  and region != ''"> and region = #{region}</if>
+            <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
+            <if test="inspectionTime != null "> and inspection_time = #{inspectionTime}</if>
+            <if test="pastTime != null "> and past_time = #{pastTime}</if>
+            <if test="pasterCode != null  and pasterCode != ''"> and paster_code = #{pasterCode}</if>
+            <if test="treatment != null  and treatment != ''"> and treatment = #{treatment}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+
+    <select id="selectTInspectionRecordRegionById" parameterType="Long" resultMap="TInspectionRecordRegionResult">
+        <include refid="selectTInspectionRecordRegionVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertTInspectionRecordRegion" parameterType="TInspectionRecordRegion">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_inspection_record_region.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_inspection_record_region
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="devname != null">devname,</if>
+            <if test="devno != null">devno,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="region != null">region,</if>
+            <if test="reason != null">reason,</if>
+            <if test="inspectionTime != null">inspection_time,</if>
+            <if test="pastTime != null">past_time,</if>
+            <if test="pasterCode != null">paster_code,</if>
+            <if test="treatment != null">treatment,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="devname != null">#{devname},</if>
+            <if test="devno != null">#{devno},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="region != null">#{region},</if>
+            <if test="reason != null">#{reason},</if>
+            <if test="inspectionTime != null">#{inspectionTime},</if>
+            <if test="pastTime != null">#{pastTime},</if>
+            <if test="pasterCode != null">#{pasterCode},</if>
+            <if test="treatment != null">#{treatment},</if>
+        </trim>
+    </insert>
+
+    <update id="updateTInspectionRecordRegion" parameterType="TInspectionRecordRegion">
+        update t_inspection_record_region
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="devname != null">devname = #{devname},</if>
+            <if test="devno != null">devno = #{devno},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="region != null">region = #{region},</if>
+            <if test="reason != null">reason = #{reason},</if>
+            <if test="inspectionTime != null">inspection_time = #{inspectionTime},</if>
+            <if test="pastTime != null">past_time = #{pastTime},</if>
+            <if test="pasterCode != null">paster_code = #{pasterCode},</if>
+            <if test="treatment != null">treatment = #{treatment},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTInspectionRecordRegionById" parameterType="Long">
+        update t_inspection_record_region set del_flag = -1 where id = #{id}
+    </update>
+
+    <update id="deleteTInspectionRecordRegionByIds" parameterType="String">
+        update t_inspection_record_region set del_flag = -1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 311 - 0
master/src/main/resources/mybatis/intact/TIntactGylMapper.xml

@@ -0,0 +1,311 @@
+<?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.ruoyi.project.intact.mapper.TIntactGylMapper">
+    
+    <resultMap type="TIntactGyl" id="TIntactGylResult">
+        <result property="id"    column="id"    />
+        <result property="plantCode"    column="plant_code"    />
+        <result property="unit"    column="unit"    />
+        <result property="devname"    column="devname"    />
+        <result property="devno"    column="devno"    />
+        <result property="submitdate"    column="submitdate"    />
+        <result property="status"    column="status"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="approveStatus"    column="approve_status"    />
+        <result property="regno"    column="regno"    />
+        <result property="useno"    column="useno"    />
+        <result property="warnDate"    column="warn_date"    />
+        <result property="warnCycle"    column="warn_cycle"    />
+        <result property="nextWarnDate"    column="next_warn_date"    />
+        <result property="warnFlag"    column="warn_flag"    />
+        <result property="createUnit"    column="create_unit"    />
+        <result property="burnMode"    column="burn_mode"    />
+        <result property="burnKind"    column="burn_kind"    />
+        <result property="ratedPower"    column="rated_power"    />
+        <result property="desPressure"    column="des_pressure"    />
+        <result property="desTemp"    column="des_temp"    />
+        <result property="optPressure"    column="opt_pressure"    />
+        <result property="optTemp"    column="opt_temp"    />
+        <result property="checkUnit"    column="check_unit"    />
+        <result property="checkConclusion"    column="check_conclusion"    />
+        <result property="model"    column="model"    />
+        <result property="waterMode"    column="water_mode"    />
+        <result property="reportNo"    column="report_no"    />
+        <result property="approveTime"    column="approve_time"    />
+        <result property="changeTime"    column="change_time"    />
+        <result property="plantMaint"    column="plant_maint"    />
+        <result property="outWarnDate"    column="out_warn_date"    />
+        <result property="outNextWarnDate"    column="out_next_warn_date"    />
+        <result property="outCheckConclusion"    column="out_check_conclusion"    />
+        <result property="outReportNo"    column="out_report_no"    />
+        <result property="engineer"    column="engineer"    />
+        <result property="type"    column="type"    />
+        <result property="isRepeat"    column="is_repeat"    />
+        <result property="position"    column="position"    />
+        <result property="deviceSize"    column="device_size"    />
+        <result property="medium"    column="medium"    />
+        <result property="leakageMode"    column="leakage_mode"    />
+        <result property="dataNo"    column="data_no"    />
+        <result property="bookNo"    column="book_no"    />
+        <result property="manufactor"    column="manufactor"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTIntactGylVo">
+        select d.id, d.plant_code, d.unit, d.devname, d.devno, d.submitdate, d.status, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.approve_status, d.regno, d.useno, d.warn_date, d.warn_cycle, d.next_warn_date, d.warn_flag, d.create_unit, d.burn_mode, d.burn_kind, d.rated_power, d.des_pressure, d.des_temp, d.opt_pressure, d.opt_temp, d.check_unit, d.check_conclusion, d.model, d.water_mode, d.report_no, d.approve_time, d.change_time, d.plant_maint, d.out_warn_date, d.out_next_warn_date, d.out_check_conclusion, d.out_report_no, d.engineer, d.type, d.is_repeat, d.position, d.device_size, d.medium, d.leakage_mode, d.data_no, d.book_no, d.manufactor ,s.dept_name from t_intact_gyl d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTIntactGylList" parameterType="TIntactGyl" resultMap="TIntactGylResult">
+        <include refid="selectTIntactGylVo"/>
+        <where>  
+            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
+            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
+            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="submitdate != null "> and submitdate = #{submitdate}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null "> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="approveStatus != null "> and approve_status = #{approveStatus}</if>
+            <if test="regno != null  and regno != ''"> and regno = #{regno}</if>
+            <if test="useno != null  and useno != ''"> and useno = #{useno}</if>
+            <if test="warnDate != null "> and warn_date = #{warnDate}</if>
+            <if test="warnCycle != null "> and warn_cycle = #{warnCycle}</if>
+            <if test="nextWarnDate != null "> and next_warn_date = #{nextWarnDate}</if>
+            <if test="warnFlag != null "> and warn_flag = #{warnFlag}</if>
+            <if test="createUnit != null  and createUnit != ''"> and create_unit = #{createUnit}</if>
+            <if test="burnMode != null  and burnMode != ''"> and burn_mode = #{burnMode}</if>
+            <if test="burnKind != null  and burnKind != ''"> and burn_kind = #{burnKind}</if>
+            <if test="ratedPower != null  and ratedPower != ''"> and rated_power = #{ratedPower}</if>
+            <if test="desPressure != null  and desPressure != ''"> and des_pressure = #{desPressure}</if>
+            <if test="desTemp != null  and desTemp != ''"> and des_temp = #{desTemp}</if>
+            <if test="optPressure != null  and optPressure != ''"> and opt_pressure = #{optPressure}</if>
+            <if test="optTemp != null  and optTemp != ''"> and opt_temp = #{optTemp}</if>
+            <if test="checkUnit != null  and checkUnit != ''"> and check_unit = #{checkUnit}</if>
+            <if test="checkConclusion != null  and checkConclusion != ''"> and check_conclusion = #{checkConclusion}</if>
+            <if test="model != null  and model != ''"> and model = #{model}</if>
+            <if test="waterMode != null  and waterMode != ''"> and water_mode = #{waterMode}</if>
+            <if test="reportNo != null  and reportNo != ''"> and report_no = #{reportNo}</if>
+            <if test="approveTime != null "> and approve_time = #{approveTime}</if>
+            <if test="changeTime != null "> and change_time = #{changeTime}</if>
+            <if test="plantMaint != null  and plantMaint != ''"> and plant_maint = #{plantMaint}</if>
+            <if test="outWarnDate != null "> and out_warn_date = #{outWarnDate}</if>
+            <if test="outNextWarnDate != null "> and out_next_warn_date = #{outNextWarnDate}</if>
+            <if test="outCheckConclusion != null  and outCheckConclusion != ''"> and out_check_conclusion = #{outCheckConclusion}</if>
+            <if test="outReportNo != null  and outReportNo != ''"> and out_report_no = #{outReportNo}</if>
+            <if test="engineer != null  and engineer != ''"> and engineer = #{engineer}</if>
+            <if test="type != null "> and type = #{type}</if>
+            <if test="isRepeat != null "> and is_repeat = #{isRepeat}</if>
+            <if test="position != null  and position != ''"> and position = #{position}</if>
+            <if test="deviceSize != null  and deviceSize != ''"> and device_size = #{deviceSize}</if>
+            <if test="medium != null  and medium != ''"> and medium = #{medium}</if>
+            <if test="leakageMode != null  and leakageMode != ''"> and leakage_mode = #{leakageMode}</if>
+            <if test="dataNo != null  and dataNo != ''"> and data_no = #{dataNo}</if>
+            <if test="bookNo != null  and bookNo != ''"> and book_no = #{bookNo}</if>
+            <if test="manufactor != null  and manufactor != ''"> and manufactor = #{manufactor}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTIntactGylById" parameterType="Long" resultMap="TIntactGylResult">
+        <include refid="selectTIntactGylVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTIntactGyl" parameterType="TIntactGyl">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_intact_gyl.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_intact_gyl
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="plantCode != null and plantCode != ''">plant_code,</if>
+            <if test="unit != null">unit,</if>
+            <if test="devname != null">devname,</if>
+            <if test="devno != null">devno,</if>
+            <if test="submitdate != null">submitdate,</if>
+            <if test="status != null">status,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="approveStatus != null">approve_status,</if>
+            <if test="regno != null">regno,</if>
+            <if test="useno != null">useno,</if>
+            <if test="warnDate != null">warn_date,</if>
+            <if test="warnCycle != null">warn_cycle,</if>
+            <if test="nextWarnDate != null">next_warn_date,</if>
+            <if test="warnFlag != null">warn_flag,</if>
+            <if test="createUnit != null">create_unit,</if>
+            <if test="burnMode != null">burn_mode,</if>
+            <if test="burnKind != null">burn_kind,</if>
+            <if test="ratedPower != null">rated_power,</if>
+            <if test="desPressure != null">des_pressure,</if>
+            <if test="desTemp != null">des_temp,</if>
+            <if test="optPressure != null">opt_pressure,</if>
+            <if test="optTemp != null">opt_temp,</if>
+            <if test="checkUnit != null">check_unit,</if>
+            <if test="checkConclusion != null">check_conclusion,</if>
+            <if test="model != null">model,</if>
+            <if test="waterMode != null">water_mode,</if>
+            <if test="reportNo != null">report_no,</if>
+            <if test="approveTime != null">approve_time,</if>
+            <if test="changeTime != null">change_time,</if>
+            <if test="plantMaint != null">plant_maint,</if>
+            <if test="outWarnDate != null">out_warn_date,</if>
+            <if test="outNextWarnDate != null">out_next_warn_date,</if>
+            <if test="outCheckConclusion != null">out_check_conclusion,</if>
+            <if test="outReportNo != null">out_report_no,</if>
+            <if test="engineer != null">engineer,</if>
+            <if test="type != null">type,</if>
+            <if test="isRepeat != null">is_repeat,</if>
+            <if test="position != null">position,</if>
+            <if test="deviceSize != null">device_size,</if>
+            <if test="medium != null">medium,</if>
+            <if test="leakageMode != null">leakage_mode,</if>
+            <if test="dataNo != null">data_no,</if>
+            <if test="bookNo != null">book_no,</if>
+            <if test="manufactor != null">manufactor,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="plantCode != null and plantCode != ''">#{plantCode},</if>
+            <if test="unit != null">#{unit},</if>
+            <if test="devname != null">#{devname},</if>
+            <if test="devno != null">#{devno},</if>
+            <if test="submitdate != null">#{submitdate},</if>
+            <if test="status != null">#{status},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="approveStatus != null">#{approveStatus},</if>
+            <if test="regno != null">#{regno},</if>
+            <if test="useno != null">#{useno},</if>
+            <if test="warnDate != null">#{warnDate},</if>
+            <if test="warnCycle != null">#{warnCycle},</if>
+            <if test="nextWarnDate != null">#{nextWarnDate},</if>
+            <if test="warnFlag != null">#{warnFlag},</if>
+            <if test="createUnit != null">#{createUnit},</if>
+            <if test="burnMode != null">#{burnMode},</if>
+            <if test="burnKind != null">#{burnKind},</if>
+            <if test="ratedPower != null">#{ratedPower},</if>
+            <if test="desPressure != null">#{desPressure},</if>
+            <if test="desTemp != null">#{desTemp},</if>
+            <if test="optPressure != null">#{optPressure},</if>
+            <if test="optTemp != null">#{optTemp},</if>
+            <if test="checkUnit != null">#{checkUnit},</if>
+            <if test="checkConclusion != null">#{checkConclusion},</if>
+            <if test="model != null">#{model},</if>
+            <if test="waterMode != null">#{waterMode},</if>
+            <if test="reportNo != null">#{reportNo},</if>
+            <if test="approveTime != null">#{approveTime},</if>
+            <if test="changeTime != null">#{changeTime},</if>
+            <if test="plantMaint != null">#{plantMaint},</if>
+            <if test="outWarnDate != null">#{outWarnDate},</if>
+            <if test="outNextWarnDate != null">#{outNextWarnDate},</if>
+            <if test="outCheckConclusion != null">#{outCheckConclusion},</if>
+            <if test="outReportNo != null">#{outReportNo},</if>
+            <if test="engineer != null">#{engineer},</if>
+            <if test="type != null">#{type},</if>
+            <if test="isRepeat != null">#{isRepeat},</if>
+            <if test="position != null">#{position},</if>
+            <if test="deviceSize != null">#{deviceSize},</if>
+            <if test="medium != null">#{medium},</if>
+            <if test="leakageMode != null">#{leakageMode},</if>
+            <if test="dataNo != null">#{dataNo},</if>
+            <if test="bookNo != null">#{bookNo},</if>
+            <if test="manufactor != null">#{manufactor},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTIntactGyl" parameterType="TIntactGyl">
+        update t_intact_gyl
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="plantCode != null and plantCode != ''">plant_code = #{plantCode},</if>
+            <if test="unit != null">unit = #{unit},</if>
+            <if test="devname != null">devname = #{devname},</if>
+            <if test="devno != null">devno = #{devno},</if>
+            <if test="submitdate != null">submitdate = #{submitdate},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+            <if test="regno != null">regno = #{regno},</if>
+            <if test="useno != null">useno = #{useno},</if>
+            <if test="warnDate != null">warn_date = #{warnDate},</if>
+            <if test="warnCycle != null">warn_cycle = #{warnCycle},</if>
+            <if test="nextWarnDate != null">next_warn_date = #{nextWarnDate},</if>
+            <if test="warnFlag != null">warn_flag = #{warnFlag},</if>
+            <if test="createUnit != null">create_unit = #{createUnit},</if>
+            <if test="burnMode != null">burn_mode = #{burnMode},</if>
+            <if test="burnKind != null">burn_kind = #{burnKind},</if>
+            <if test="ratedPower != null">rated_power = #{ratedPower},</if>
+            <if test="desPressure != null">des_pressure = #{desPressure},</if>
+            <if test="desTemp != null">des_temp = #{desTemp},</if>
+            <if test="optPressure != null">opt_pressure = #{optPressure},</if>
+            <if test="optTemp != null">opt_temp = #{optTemp},</if>
+            <if test="checkUnit != null">check_unit = #{checkUnit},</if>
+            <if test="checkConclusion != null">check_conclusion = #{checkConclusion},</if>
+            <if test="model != null">model = #{model},</if>
+            <if test="waterMode != null">water_mode = #{waterMode},</if>
+            <if test="reportNo != null">report_no = #{reportNo},</if>
+            <if test="approveTime != null">approve_time = #{approveTime},</if>
+            <if test="changeTime != null">change_time = #{changeTime},</if>
+            <if test="plantMaint != null">plant_maint = #{plantMaint},</if>
+            <if test="outWarnDate != null">out_warn_date = #{outWarnDate},</if>
+            <if test="outNextWarnDate != null">out_next_warn_date = #{outNextWarnDate},</if>
+            <if test="outCheckConclusion != null">out_check_conclusion = #{outCheckConclusion},</if>
+            <if test="outReportNo != null">out_report_no = #{outReportNo},</if>
+            <if test="engineer != null">engineer = #{engineer},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="isRepeat != null">is_repeat = #{isRepeat},</if>
+            <if test="position != null">position = #{position},</if>
+            <if test="deviceSize != null">device_size = #{deviceSize},</if>
+            <if test="medium != null">medium = #{medium},</if>
+            <if test="leakageMode != null">leakage_mode = #{leakageMode},</if>
+            <if test="dataNo != null">data_no = #{dataNo},</if>
+            <if test="bookNo != null">book_no = #{bookNo},</if>
+            <if test="manufactor != null">manufactor = #{manufactor},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTIntactGylById" parameterType="Long">
+        update t_intact_gyl set del_flag = -1 where id = #{id}
+    </update>
+
+    <update id="deleteTIntactGylByIds" parameterType="String">
+        update t_intact_gyl set del_flag = -1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 175 - 0
master/src/main/resources/mybatis/intact/TIntactYsjMapper.xml

@@ -0,0 +1,175 @@
+<?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.ruoyi.project.intact.mapper.TIntactYsjMapper">
+    
+    <resultMap type="TIntactYsj" id="TIntactYsjResult">
+        <result property="id"    column="id"    />
+        <result property="type"    column="type"    />
+        <result property="plantCode"    column="plant_code"    />
+        <result property="unit"    column="unit"    />
+        <result property="devname"    column="devname"    />
+        <result property="devno"    column="devno"    />
+        <result property="position"    column="position"    />
+        <result property="deviceSize"    column="device_size"    />
+        <result property="desPressure"    column="des_pressure"    />
+        <result property="desTemp"    column="des_temp"    />
+        <result property="optPressure"    column="opt_pressure"    />
+        <result property="optTemp"    column="opt_temp"    />
+        <result property="medium"    column="medium"    />
+        <result property="leakageMode"    column="leakage_mode"    />
+        <result property="dataNo"    column="data_no"    />
+        <result property="bookNo"    column="book_no"    />
+        <result property="manufactor"    column="manufactor"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTIntactYsjVo">
+        select d.id, d.type, d.plant_code, d.unit, d.devname, d.devno, d.position, d.device_size, d.des_pressure, d.des_temp, d.opt_pressure, d.opt_temp, d.medium, d.leakage_mode, d.data_no, d.book_no, d.manufactor, d.remark, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id ,s.dept_name from t_intact_ysj d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTIntactYsjList" parameterType="TIntactYsj" resultMap="TIntactYsjResult">
+        <include refid="selectTIntactYsjVo"/>
+        <where>  
+            <if test="type != null "> and type = #{type}</if>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
+            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
+            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="position != null  and position != ''"> and position = #{position}</if>
+            <if test="deviceSize != null  and deviceSize != ''"> and device_size = #{deviceSize}</if>
+            <if test="desPressure != null  and desPressure != ''"> and des_pressure = #{desPressure}</if>
+            <if test="desTemp != null  and desTemp != ''"> and des_temp = #{desTemp}</if>
+            <if test="optPressure != null  and optPressure != ''"> and opt_pressure = #{optPressure}</if>
+            <if test="optTemp != null  and optTemp != ''"> and opt_temp = #{optTemp}</if>
+            <if test="medium != null  and medium != ''"> and medium = #{medium}</if>
+            <if test="leakageMode != null  and leakageMode != ''"> and leakage_mode = #{leakageMode}</if>
+            <if test="dataNo != null  and dataNo != ''"> and data_no = #{dataNo}</if>
+            <if test="bookNo != null  and bookNo != ''"> and book_no = #{bookNo}</if>
+            <if test="manufactor != null  and manufactor != ''"> and manufactor = #{manufactor}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null "> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTIntactYsjById" parameterType="Long" resultMap="TIntactYsjResult">
+        <include refid="selectTIntactYsjVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTIntactYsj" parameterType="TIntactYsj">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_intact_ysj.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_intact_ysj
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="type != null">type,</if>
+            <if test="plantCode != null and plantCode != ''">plant_code,</if>
+            <if test="unit != null">unit,</if>
+            <if test="devname != null">devname,</if>
+            <if test="devno != null">devno,</if>
+            <if test="position != null">position,</if>
+            <if test="deviceSize != null">device_size,</if>
+            <if test="desPressure != null">des_pressure,</if>
+            <if test="desTemp != null">des_temp,</if>
+            <if test="optPressure != null">opt_pressure,</if>
+            <if test="optTemp != null">opt_temp,</if>
+            <if test="medium != null">medium,</if>
+            <if test="leakageMode != null">leakage_mode,</if>
+            <if test="dataNo != null">data_no,</if>
+            <if test="bookNo != null">book_no,</if>
+            <if test="manufactor != null">manufactor,</if>
+            <if test="remark != null">remark,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="deptId != null">dept_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="type != null">#{type},</if>
+            <if test="plantCode != null and plantCode != ''">#{plantCode},</if>
+            <if test="unit != null">#{unit},</if>
+            <if test="devname != null">#{devname},</if>
+            <if test="devno != null">#{devno},</if>
+            <if test="position != null">#{position},</if>
+            <if test="deviceSize != null">#{deviceSize},</if>
+            <if test="desPressure != null">#{desPressure},</if>
+            <if test="desTemp != null">#{desTemp},</if>
+            <if test="optPressure != null">#{optPressure},</if>
+            <if test="optTemp != null">#{optTemp},</if>
+            <if test="medium != null">#{medium},</if>
+            <if test="leakageMode != null">#{leakageMode},</if>
+            <if test="dataNo != null">#{dataNo},</if>
+            <if test="bookNo != null">#{bookNo},</if>
+            <if test="manufactor != null">#{manufactor},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="deptId != null">#{deptId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTIntactYsj" parameterType="TIntactYsj">
+        update t_intact_ysj
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="type != null">type = #{type},</if>
+            <if test="plantCode != null and plantCode != ''">plant_code = #{plantCode},</if>
+            <if test="unit != null">unit = #{unit},</if>
+            <if test="devname != null">devname = #{devname},</if>
+            <if test="devno != null">devno = #{devno},</if>
+            <if test="position != null">position = #{position},</if>
+            <if test="deviceSize != null">device_size = #{deviceSize},</if>
+            <if test="desPressure != null">des_pressure = #{desPressure},</if>
+            <if test="desTemp != null">des_temp = #{desTemp},</if>
+            <if test="optPressure != null">opt_pressure = #{optPressure},</if>
+            <if test="optTemp != null">opt_temp = #{optTemp},</if>
+            <if test="medium != null">medium = #{medium},</if>
+            <if test="leakageMode != null">leakage_mode = #{leakageMode},</if>
+            <if test="dataNo != null">data_no = #{dataNo},</if>
+            <if test="bookNo != null">book_no = #{bookNo},</if>
+            <if test="manufactor != null">manufactor = #{manufactor},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTIntactYsjById" parameterType="Long">
+        update t_intact_ysj set del_flag = -1 where id = #{id}
+    </update>
+
+    <update id="deleteTIntactYsjByIds" parameterType="String">
+        update t_intact_ysj set del_flag = -1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 53 - 0
ui/src/api/inspection/record.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询巡检记录列表
+export function listRecord(query) {
+  return request({
+    url: '/inspection/record/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询巡检记录详细
+export function getRecord(id) {
+  return request({
+    url: '/inspection/record/' + id,
+    method: 'get'
+  })
+}
+
+// 新增巡检记录
+export function addRecord(data) {
+  return request({
+    url: '/inspection/record',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改巡检记录
+export function updateRecord(data) {
+  return request({
+    url: '/inspection/record',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除巡检记录
+export function delRecord(id) {
+  return request({
+    url: '/inspection/record/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出巡检记录
+export function exportRecord(query) {
+  return request({
+    url: '/inspection/record/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/inspection/region.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询区域巡检记录列表
+export function listRegion(query) {
+  return request({
+    url: '/inspection/region/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询区域巡检记录详细
+export function getRegion(id) {
+  return request({
+    url: '/inspection/region/' + id,
+    method: 'get'
+  })
+}
+
+// 新增区域巡检记录
+export function addRegion(data) {
+  return request({
+    url: '/inspection/region',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改区域巡检记录
+export function updateRegion(data) {
+  return request({
+    url: '/inspection/region',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除区域巡检记录
+export function delRegion(id) {
+  return request({
+    url: '/inspection/region/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出区域巡检记录
+export function exportRegion(query) {
+  return request({
+    url: '/inspection/region/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/intact/gyl.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询设备完整性工业炉台账列表
+export function listGyl(query) {
+  return request({
+    url: '/intact/gyl/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询设备完整性工业炉台账详细
+export function getGyl(id) {
+  return request({
+    url: '/intact/gyl/' + id,
+    method: 'get'
+  })
+}
+
+// 新增设备完整性工业炉台账
+export function addGyl(data) {
+  return request({
+    url: '/intact/gyl',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改设备完整性工业炉台账
+export function updateGyl(data) {
+  return request({
+    url: '/intact/gyl',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除设备完整性工业炉台账
+export function delGyl(id) {
+  return request({
+    url: '/intact/gyl/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出设备完整性工业炉台账
+export function exportGyl(query) {
+  return request({
+    url: '/intact/gyl/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/intact/ysj.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询设备完整性压缩机台账列表
+export function listYsj(query) {
+  return request({
+    url: '/intact/ysj/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询设备完整性压缩机台账详细
+export function getYsj(id) {
+  return request({
+    url: '/intact/ysj/' + id,
+    method: 'get'
+  })
+}
+
+// 新增设备完整性压缩机台账
+export function addYsj(data) {
+  return request({
+    url: '/intact/ysj',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改设备完整性压缩机台账
+export function updateYsj(data) {
+  return request({
+    url: '/intact/ysj',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除设备完整性压缩机台账
+export function delYsj(id) {
+  return request({
+    url: '/intact/ysj/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出设备完整性压缩机台账
+export function exportYsj(query) {
+  return request({
+    url: '/intact/ysj/export',
+    method: 'get',
+    params: query
+  })
+}

+ 593 - 0
ui/src/views/inspection/record/index.vue

@@ -0,0 +1,593 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="设备名称" prop="devname">
+        <el-input
+          v-model="queryParams.devname"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备位号" prop="devno">
+        <el-input
+          v-model="queryParams.devno"
+          placeholder="请输入设备位号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="区域" prop="region">
+        <el-input
+          v-model="queryParams.region"
+          placeholder="请输入区域"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="原因" prop="reason">
+        <el-input
+          v-model="queryParams.reason"
+          placeholder="请输入原因"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="巡检时间" prop="inspectionTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.inspectionTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择巡检时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="消故时间" prop="pastTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.pastTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择消故时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="消故人" prop="pasterCode">
+        <el-input
+          v-model="queryParams.pasterCode"
+          placeholder="请输入消故人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理情况" prop="treatment">
+        <el-input
+          v-model="queryParams.treatment"
+          placeholder="请输入处理情况"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部门编号" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建人" prop="createrCode">
+        <el-input
+          v-model="queryParams.createrCode"
+          placeholder="请输入创建人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建时间" prop="createdate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.createdate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="修改人" prop="updaterCode">
+        <el-input
+          v-model="queryParams.updaterCode"
+          placeholder="请输入修改人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="修改时间" prop="updatedate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.updatedate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择修改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="备注" prop="remarks">
+        <el-input
+          v-model="queryParams.remarks"
+          placeholder="请输入备注"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" 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-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['inspection:record:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['inspection:record:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['inspection:record:remove']"
+        >删除</el-button>
+      </el-col>
+        <el-col :span="1.5">
+            <el-button
+                    type="info"
+                    icon="el-icon-upload2"
+                    size="mini"
+                    @click="handleImport"
+                    v-hasPermi="['inspection:record:edit']"
+            >导入</el-button>
+        </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['inspection:record:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+<!--      <el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+      <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
+      <el-table-column label="原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+      <el-table-column label="巡检时间" align="center" prop="inspectionTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.inspectionTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="消故时间" align="center" prop="pastTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.pastTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="消故人" align="center" prop="pasterCode" :show-overflow-tooltip="true"/>
+      <el-table-column label="处理情况" align="center" prop="treatment" :show-overflow-tooltip="true"/>
+<!--      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="修改时间" align="center" prop="updatedate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['inspection:record:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['inspection:record:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改巡检记录对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="设备名称" prop="devname">
+          <el-input v-model="form.devname" placeholder="请输入设备名称" />
+        </el-form-item>
+        <el-form-item label="设备位号" prop="devno">
+          <el-input v-model="form.devno" placeholder="请输入设备位号" />
+        </el-form-item>
+        <el-form-item label="区域" prop="region">
+          <el-input v-model="form.region" placeholder="请输入区域" />
+        </el-form-item>
+        <el-form-item label="原因" prop="reason">
+          <el-input v-model="form.reason" placeholder="请输入原因" />
+        </el-form-item>
+        <el-form-item label="巡检时间" prop="inspectionTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.inspectionTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择巡检时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="消故时间" prop="pastTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.pastTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择消故时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="消故人" prop="pasterCode">
+          <el-input v-model="form.pasterCode" placeholder="请输入消故人" />
+        </el-form-item>
+        <el-form-item label="处理情况" prop="treatment">
+          <el-input v-model="form.treatment" placeholder="请输入处理情况" />
+        </el-form-item>
+        <el-form-item label="部门编号" prop="deptId">
+          <el-input v-model="form.deptId" placeholder="请输入部门编号" />
+        </el-form-item>
+<!--        <el-form-item label="状态 1 :正常 ;0:删除" prop="delFlag">-->
+<!--          <el-input v-model="form.delFlag" placeholder="请输入状态 1 :正常 ;0:删除" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建人" prop="createrCode">-->
+<!--          <el-input v-model="form.createrCode" placeholder="请输入创建人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建时间" prop="createdate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--            v-model="form.createdate"-->
+<!--            type="date"-->
+<!--            value-format="yyyy-MM-dd"-->
+<!--            placeholder="选择创建时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改人" prop="updaterCode">-->
+<!--          <el-input v-model="form.updaterCode" placeholder="请输入修改人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改时间" prop="updatedate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--            v-model="form.updatedate"-->
+<!--            type="date"-->
+<!--            value-format="yyyy-MM-dd"-->
+<!--            placeholder="选择修改时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="请输入备注" />
+        </el-form-item>
+          <el-form-item label="归属部门" prop="deptId">
+              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" 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>
+      <!-- 用户导入对话框 -->
+      <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+          <el-upload
+                  ref="upload"
+                  :limit="1"
+                  accept=".xlsx, .xls"
+                  :headers="upload.headers"
+                  :action="upload.url + '?updateSupport=' + upload.updateSupport"
+                  :disabled="upload.isUploading"
+                  :on-progress="handleFileUploadProgress"
+                  :on-success="handleFileSuccess"
+                  :auto-upload="false"
+                  drag
+          >
+              <i class="el-icon-upload"></i>
+              <div class="el-upload__text">
+                  将文件拖到此处,或
+                  <em>点击上传</em>
+              </div>
+              <div class="el-upload__tip" slot="tip">
+                  <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
+                  <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+              </div>
+              <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+          </el-upload>
+          <div slot="footer" class="dialog-footer">
+              <el-button type="primary" @click="submitFileForm">确 定</el-button>
+              <el-button @click="upload.open = false">取 消</el-button>
+          </div>
+      </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listRecord, getRecord, delRecord, addRecord, updateRecord, exportRecord, importTemplate} from "@/api/inspection/record";
+import { treeselect } from "@/api/system/dept";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "Record",
+  components: { Treeselect },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 巡检记录表格数据
+      recordList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight:300,
+      // 是否显示弹出层
+      open: false,
+        // 用户导入参数
+        upload: {
+            // 是否显示弹出层(用户导入)
+            open: false,
+            // 弹出层标题(用户导入)
+            title: "",
+            // 是否禁用上传
+            isUploading: false,
+            // 是否更新已经存在的用户数据
+            updateSupport: 0,
+            // 设置上传的请求头部
+            headers: { Authorization: "Bearer " + getToken() },
+            // 上传的地址
+            url: process.env.VUE_APP_BASE_API + "/inspection/record/importData"
+        },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        devname: null,
+        devno: null,
+        region: null,
+        reason: null,
+        inspectionTime: null,
+        pastTime: null,
+        pasterCode: null,
+        treatment: null,
+        deptId: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  watch: {
+        // 根据名称筛选部门树
+        deptName(val) {
+            this.$refs.tree.filter(val);
+        }
+   },
+  created() {
+      //设置表格高度对应屏幕高度
+      this.$nextTick(() => {
+          this.clientHeight = document.body.clientHeight -250
+      })
+    this.getList();
+    this.getTreeselect();
+  },
+  methods: {
+    /** 查询巡检记录列表 */
+    getList() {
+      this.loading = true;
+      listRecord(this.queryParams).then(response => {
+        this.recordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+     /** 查询部门下拉树结构 */
+     getTreeselect() {
+          treeselect().then(response => {
+              this.deptOptions = response.data;
+          });
+     },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        devname: null,
+        devno: null,
+        region: null,
+        reason: null,
+        inspectionTime: null,
+        pastTime: null,
+        pasterCode: null,
+        treatment: null,
+        deptId: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: 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.title = "添加巡检记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRecord(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改巡检记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateRecord(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addRecord(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delRecord(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有巡检记录数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportRecord(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+      /** 导入按钮操作 */
+      handleImport() {
+          this.upload.title = "用户导入";
+          this.upload.open = true;
+      },
+      /** 下载模板操作 */
+      importTemplate() {
+          importTemplate().then(response => {
+              this.download(response.msg);
+          });
+      },
+      // 文件上传中处理
+      handleFileUploadProgress(event, file, fileList) {
+          this.upload.isUploading = true;
+      },
+      // 文件上传成功处理
+      handleFileSuccess(response, file, fileList) {
+          this.upload.open = false;
+          this.upload.isUploading = false;
+          this.$refs.upload.clearFiles();
+          this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+          this.getList();
+      },
+      // 提交上传文件
+      submitFileForm() {
+          this.$refs.upload.submit();
+      }
+  }
+};
+</script>

+ 594 - 0
ui/src/views/inspection/region/index.vue

@@ -0,0 +1,594 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="设备名称" prop="devname">
+        <el-input
+          v-model="queryParams.devname"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备位号" prop="devno">
+        <el-input
+          v-model="queryParams.devno"
+          placeholder="请输入设备位号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="部门编号" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建人" prop="createrCode">
+        <el-input
+          v-model="queryParams.createrCode"
+          placeholder="请输入创建人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建时间" prop="createdate">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.createdate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="修改人" prop="updaterCode">
+        <el-input
+          v-model="queryParams.updaterCode"
+          placeholder="请输入修改人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="修改时间" prop="updatedate">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.updatedate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择修改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="备注" prop="remarks">
+        <el-input
+          v-model="queryParams.remarks"
+          placeholder="请输入备注"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="区域" prop="region">
+        <el-input
+          v-model="queryParams.region"
+          placeholder="请输入区域"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="原因" prop="reason">
+        <el-input
+          v-model="queryParams.reason"
+          placeholder="请输入原因"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="巡检时间" prop="inspectionTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.inspectionTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择巡检时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="消故时间" prop="pastTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.pastTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择消故时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="消故人" prop="pasterCode">
+        <el-input
+          v-model="queryParams.pasterCode"
+          placeholder="请输入消故人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理情况" prop="treatment">
+        <el-input
+          v-model="queryParams.treatment"
+          placeholder="请输入处理情况"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" 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-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['inspection:region:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['inspection:region:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['inspection:region:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+          v-hasPermi="['inspection:region:edit']"
+        >导入</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['inspection:region:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="regionList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+<!--      <el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="修改时间" align="center" prop="updatedate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+
+      <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
+      <el-table-column label="原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+      <el-table-column label="巡检时间" align="center" prop="inspectionTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.inspectionTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="消故时间" align="center" prop="pastTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.pastTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="消故人" align="center" prop="pasterCode" :show-overflow-tooltip="true"/>
+      <el-table-column label="处理情况" align="center" prop="treatment" :show-overflow-tooltip="true"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['inspection:region:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['inspection:region:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改区域巡检记录对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+<!--        <el-form-item label="设备名称" prop="devname">-->
+<!--          <el-input v-model="form.devname" placeholder="请输入设备名称" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="设备位号" prop="devno">-->
+<!--          <el-input v-model="form.devno" placeholder="请输入设备位号" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="部门编号" prop="deptId">-->
+<!--          <el-input v-model="form.deptId" placeholder="请输入部门编号" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="状态 1 :正常 ;0:删除" prop="delFlag">-->
+<!--          <el-input v-model="form.delFlag" placeholder="请输入状态 1 :正常 ;0:删除" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建人" prop="createrCode">-->
+<!--          <el-input v-model="form.createrCode" placeholder="请输入创建人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建时间" prop="createdate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.createdate"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择创建时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改人" prop="updaterCode">-->
+<!--          <el-input v-model="form.updaterCode" placeholder="请输入修改人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改时间" prop="updatedate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.updatedate"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择修改时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+        <el-form-item label="区域" prop="region">
+          <el-input v-model="form.region" placeholder="请输入区域" />
+        </el-form-item>
+        <el-form-item label="原因" prop="reason">
+          <el-input v-model="form.reason" placeholder="请输入原因" />
+        </el-form-item>
+        <el-form-item label="巡检时间" prop="inspectionTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.inspectionTime"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择巡检时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="消故时间" prop="pastTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.pastTime"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择消故时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="消故人" prop="pasterCode">
+          <el-input v-model="form.pasterCode" placeholder="请输入消故人" />
+        </el-form-item>
+        <el-form-item label="处理情况" prop="treatment">
+          <el-input v-model="form.treatment" placeholder="请输入处理情况" />
+        </el-form-item>
+        <el-form-item label="归属部门" prop="deptId">
+          <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" 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>
+    <!-- 用户导入对话框 -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
+          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+        </div>
+        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listRegion, getRegion, delRegion, addRegion, updateRegion, exportRegion, importTemplate} from "@/api/inspection/region";
+import { treeselect } from "@/api/system/dept";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "Region",
+  components: { Treeselect },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 区域巡检记录表格数据
+      regionList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight:300,
+      // 是否显示弹出层
+      open: false,
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/inspection/region/importData"
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        devname: null,
+        devno: null,
+        deptId: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null,
+        region: null,
+        reason: null,
+        inspectionTime: null,
+        pastTime: null,
+        pasterCode: null,
+        treatment: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+      this.clientHeight = document.body.clientHeight -250
+    })
+    this.getList();
+    this.getTreeselect();
+  },
+  methods: {
+    /** 查询区域巡检记录列表 */
+    getList() {
+      this.loading = true;
+      listRegion(this.queryParams).then(response => {
+        this.regionList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        devname: null,
+        devno: null,
+        deptId: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null,
+        region: null,
+        reason: null,
+        inspectionTime: null,
+        pastTime: null,
+        pasterCode: null,
+        treatment: 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.title = "添加区域巡检记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRegion(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改区域巡检记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateRegion(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addRegion(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return delRegion(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有区域巡检记录数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return exportRegion(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      })
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.open = true;
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      importTemplate().then(response => {
+        this.download(response.msg);
+      });
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+      this.getList();
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    }
+  }
+};
+</script>

+ 1227 - 0
ui/src/views/intact/gyl/index.vue

@@ -0,0 +1,1227 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="装置名称" prop="plantCode">
+        <el-input
+          v-model="queryParams.plantCode"
+          placeholder="请输入装置名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单元" prop="unit">
+        <el-input
+          v-model="queryParams.unit"
+          placeholder="请输入单元"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备名称" prop="devname">
+        <el-input
+          v-model="queryParams.devname"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备位号" prop="devno">
+        <el-input
+          v-model="queryParams.devno"
+          placeholder="请输入设备位号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="提交日期" prop="submitdate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.submitdate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择提交日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option label="生效" value="1" />
+          <el-option label="未生效" value="2" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="创建人" prop="createrCode">
+        <el-input
+          v-model="queryParams.createrCode"
+          placeholder="请输入创建人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建时间" prop="createdate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.createdate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="修改人" prop="updaterCode">
+        <el-input
+          v-model="queryParams.updaterCode"
+          placeholder="请输入修改人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="修改时间" prop="updatedate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.updatedate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择修改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="部门编号" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="备注" prop="remarks">
+        <el-input
+          v-model="queryParams.remarks"
+          placeholder="请输入备注"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+<!--      <el-form-item label="审核状态" prop="approveStatus">-->
+<!--        <el-select v-model="queryParams.approveStatus" placeholder="请选择审核状态" clearable size="small">-->
+<!--          <el-option label="待审核" value="1" />-->
+<!--        </el-select>-->
+<!--      </el-form-item>-->
+      <el-form-item label="注册代码" prop="regno">
+        <el-input
+          v-model="queryParams.regno"
+          placeholder="请输入注册代码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="使用证编号" prop="useno">
+        <el-input
+          v-model="queryParams.useno"
+          placeholder="请输入使用证编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="上次年检时间" prop="warnDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.warnDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择上次年检时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="检测周期" prop="warnCycle">
+        <el-input
+          v-model="queryParams.warnCycle"
+          placeholder="请输入检测周期"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="下次年检时间" prop="nextWarnDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.nextWarnDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择下次年检时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="预警标识" prop="warnFlag">
+        <el-input
+          v-model="queryParams.warnFlag"
+          placeholder="请输入预警标识"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="制造单位" prop="createUnit">
+        <el-input
+          v-model="queryParams.createUnit"
+          placeholder="请输入制造单位"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="燃烧方式" prop="burnMode">
+        <el-input
+          v-model="queryParams.burnMode"
+          placeholder="请输入燃烧方式"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="燃烧种类" prop="burnKind">
+        <el-input
+          v-model="queryParams.burnKind"
+          placeholder="请输入燃烧种类"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="额度出力" prop="ratedPower">
+        <el-input
+          v-model="queryParams.ratedPower"
+          placeholder="请输入额度出力"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设计压力" prop="desPressure">
+        <el-input
+          v-model="queryParams.desPressure"
+          placeholder="请输入设计压力"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设计温度" prop="desTemp">
+        <el-input
+          v-model="queryParams.desTemp"
+          placeholder="请输入设计温度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作压力" prop="optPressure">
+        <el-input
+          v-model="queryParams.optPressure"
+          placeholder="请输入操作压力"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作温度" prop="optTemp">
+        <el-input
+          v-model="queryParams.optTemp"
+          placeholder="请输入操作温度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="检测单位" prop="checkUnit">
+        <el-input
+          v-model="queryParams.checkUnit"
+          placeholder="请输入检测单位"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="检查结论" prop="checkConclusion">
+        <el-input
+          v-model="queryParams.checkConclusion"
+          placeholder="请输入检查结论"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="型号" prop="model">
+        <el-input
+          v-model="queryParams.model"
+          placeholder="请输入型号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="水处理方式" prop="waterMode">
+        <el-input
+          v-model="queryParams.waterMode"
+          placeholder="请输入水处理方式"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="报告编号" prop="reportNo">
+        <el-input
+          v-model="queryParams.reportNo"
+          placeholder="请输入报告编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="最新申请时间" prop="approveTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.approveTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择最新申请时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="状态修改时间" prop="changeTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.changeTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择状态修改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="装置维修组" prop="plantMaint">
+        <el-input
+          v-model="queryParams.plantMaint"
+          placeholder="请输入装置维修组"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="本次外部检测日期" prop="outWarnDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.outWarnDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择本次外部检测日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="下次外部检测日期" prop="outNextWarnDate">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="queryParams.outNextWarnDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择下次外部检测日期">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="外部检验结论" prop="outCheckConclusion">
+        <el-input
+          v-model="queryParams.outCheckConclusion"
+          placeholder="请输入外部检验结论"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="外部检验编号" prop="outReportNo">
+        <el-input
+          v-model="queryParams.outReportNo"
+          placeholder="请输入外部检验编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="装置维修工程师" prop="engineer">
+        <el-input
+          v-model="queryParams.engineer"
+          placeholder="请输入装置维修工程师"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="种类" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择种类" clearable size="small">
+          <el-option label="裂解炉" value="1" />
+          <el-option label="转化炉" value="2" />
+          <el-option label="废热锅炉" value="3" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="是否重复" prop="isRepeat">
+        <el-input
+          v-model="queryParams.isRepeat"
+          placeholder="请输入是否重复"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="安装位置" prop="position">
+        <el-input
+          v-model="queryParams.position"
+          placeholder="请输入安装位置"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="尺寸" prop="deviceSize">
+        <el-input
+          v-model="queryParams.deviceSize"
+          placeholder="请输入尺寸"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="介质" prop="medium">
+        <el-input
+          v-model="queryParams.medium"
+          placeholder="请输入介质"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="泄空方式" prop="leakageMode">
+        <el-input
+          v-model="queryParams.leakageMode"
+          placeholder="请输入泄空方式"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="数据表文件号" prop="dataNo">
+        <el-input
+          v-model="queryParams.dataNo"
+          placeholder="请输入数据表文件号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计算书文件号" prop="bookNo">
+        <el-input
+          v-model="queryParams.bookNo"
+          placeholder="请输入计算书文件号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="厂家" prop="manufactor">
+        <el-input
+          v-model="queryParams.manufactor"
+          placeholder="请输入厂家"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" 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-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['intact:gyl:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['intact:gyl:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['intact:gyl:remove']"
+        >删除</el-button>
+      </el-col>
+        <el-col :span="1.5">
+            <el-button
+                    type="info"
+                    icon="el-icon-upload2"
+                    size="mini"
+                    @click="handleImport"
+                    v-hasPermi="['intact:gyl:edit']"
+            >导入</el-button>
+        </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['intact:gyl:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="gylList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+<!--      <el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="装置名称" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
+      <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+      <el-table-column label="提交日期" align="center" prop="submitdate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.submitdate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true"/>
+<!--      <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="修改时间" align="center" prop="updatedate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="部门名称" align="center" prop="deptName" :show-overflow-tooltip="true"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      <el-table-column label="审核状态" align="center" prop="approveStatus" :show-overflow-tooltip="true"/>
+      <el-table-column label="注册代码" align="center" prop="regno" :show-overflow-tooltip="true"/>
+      <el-table-column label="使用证编号" align="center" prop="useno" :show-overflow-tooltip="true"/>
+      <el-table-column label="上次年检时间" align="center" prop="warnDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.warnDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="检测周期" align="center" prop="warnCycle" :show-overflow-tooltip="true"/>
+      <el-table-column label="下次年检时间" align="center" prop="nextWarnDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.nextWarnDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="预警标识" align="center" prop="warnFlag" :show-overflow-tooltip="true"/>
+      <el-table-column label="制造单位" align="center" prop="createUnit" :show-overflow-tooltip="true"/>
+      <el-table-column label="燃烧方式" align="center" prop="burnMode" :show-overflow-tooltip="true"/>
+      <el-table-column label="燃烧种类" align="center" prop="burnKind" :show-overflow-tooltip="true"/>
+      <el-table-column label="额度出力" align="center" prop="ratedPower" :show-overflow-tooltip="true"/>
+      <el-table-column label="设计压力" align="center" prop="desPressure" :show-overflow-tooltip="true"/>
+      <el-table-column label="设计温度" align="center" prop="desTemp" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作压力" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作温度" align="center" prop="optTemp" :show-overflow-tooltip="true"/>
+      <el-table-column label="检测单位" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
+      <el-table-column label="检查结论" align="center" prop="checkConclusion" :show-overflow-tooltip="true"/>
+      <el-table-column label="型号" align="center" prop="model" :show-overflow-tooltip="true"/>
+      <el-table-column label="水处理方式" align="center" prop="waterMode" :show-overflow-tooltip="true"/>
+      <el-table-column label="报告编号" align="center" prop="reportNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="最新申请时间" align="center" prop="approveTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.approveTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态修改时间" align="center" prop="changeTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.changeTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="装置维修组" align="center" prop="plantMaint" :show-overflow-tooltip="true"/>
+      <el-table-column label="本次外部检测日期" align="center" prop="outWarnDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.outWarnDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="下次外部检测日期" align="center" prop="outNextWarnDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.outNextWarnDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="外部检验结论" align="center" prop="outCheckConclusion" :show-overflow-tooltip="true"/>
+      <el-table-column label="外部检验编号" align="center" prop="outReportNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="装置维修工程师" align="center" prop="engineer" :show-overflow-tooltip="true"/>
+      <el-table-column label="种类" align="center" prop="type" :show-overflow-tooltip="true"/>
+      <el-table-column label="是否重复" align="center" prop="isRepeat" :show-overflow-tooltip="true"/>
+      <el-table-column label="安装位置" align="center" prop="position" :show-overflow-tooltip="true"/>
+      <el-table-column label="尺寸" align="center" prop="deviceSize" :show-overflow-tooltip="true"/>
+      <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true"/>
+      <el-table-column label="泄空方式" align="center" prop="leakageMode" :show-overflow-tooltip="true"/>
+      <el-table-column label="数据表文件号" align="center" prop="dataNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="计算书文件号" align="center" prop="bookNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="厂家" align="center" prop="manufactor" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-edit"-->
+<!--            @click="handleUpdate(scope.row)"-->
+<!--            v-hasPermi="['intact:gyl:edit']"-->
+<!--          >修改</el-button>-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['intact:gyl:remove']"-->
+<!--          >删除</el-button>-->
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-document"
+            @click="toInspectionRecord(scope.row.devno,scope.row.position)"
+            v-hasPermi="['intact:gyl:query']"
+          >巡检记录</el-button>
+          <el-dialog title="巡检记录" :visible.sync="openRecord" :append-to-body="true" :before-close="cleanRecordList">
+            <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+              <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+              <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+              <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
+              <el-table-column label="原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+              <el-table-column label="巡检时间" align="center" prop="inspectionTime" width="100">
+                <template slot-scope="scope">
+                  <span>{{ parseTime(scope.row.inspectionTime, '{y}-{m}-{d}') }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="消故时间" align="center" prop="pastTime" width="100">
+                <template slot-scope="scope">
+                  <span>{{ parseTime(scope.row.pastTime, '{y}-{m}-{d}') }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="消故人" align="center" prop="pasterCode" :show-overflow-tooltip="true"/>
+              <el-table-column label="处理情况" align="center" prop="treatment" :show-overflow-tooltip="true"/>
+              <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+            </el-table>
+          </el-dialog>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改设备完整性工业炉台账对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="装置名称" prop="plantCode">
+          <el-input v-model="form.plantCode" placeholder="请输入装置名称" />
+        </el-form-item>
+        <el-form-item label="种类" prop="type">
+          <el-select v-model="form.type" placeholder="请选择种类" clearable size="small">
+            <el-option label="裂解炉" value="1" />
+            <el-option label="转化炉" value="2" />
+            <el-option label="废热锅炉" value="3" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="单元" prop="unit">
+          <el-input v-model="form.unit" placeholder="请输入单元" />
+        </el-form-item>
+        <el-form-item label="设备名称" prop="devname">
+          <el-input v-model="form.devname" placeholder="请输入设备名称" />
+        </el-form-item>
+        <el-form-item label="设备位号" prop="devno">
+          <el-input v-model="form.devno" placeholder="请输入设备位号" />
+        </el-form-item>
+        <el-form-item label="提交日期" prop="submitdate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.submitdate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择提交日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="状态">
+          <el-radio-group v-model="form.status">
+            <el-radio label="1">生效</el-radio>
+          </el-radio-group>
+          <el-radio-group v-model="form.status">
+            <el-radio label="2">未生效</el-radio>
+          </el-radio-group>
+        </el-form-item>
+<!--        <el-form-item label="状态 1 :正常 ;0:删除" prop="delFlag">-->
+<!--          <el-input v-model="form.delFlag" placeholder="请输入状态 1 :正常 ;0:删除" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建人" prop="createrCode">-->
+<!--          <el-input v-model="form.createrCode" placeholder="请输入创建人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建时间" prop="createdate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--            v-model="form.createdate"-->
+<!--            type="date"-->
+<!--            value-format="yyyy-MM-dd"-->
+<!--            placeholder="选择创建时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改人" prop="updaterCode">-->
+<!--          <el-input v-model="form.updaterCode" placeholder="请输入修改人" />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改时间" prop="updatedate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--            v-model="form.updatedate"-->
+<!--            type="date"-->
+<!--            value-format="yyyy-MM-dd"-->
+<!--            placeholder="选择修改时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="部门编号" prop="deptId">-->
+<!--          <el-input v-model="form.deptId" placeholder="请输入部门编号" />-->
+<!--        </el-form-item>-->
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="请输入备注" />
+        </el-form-item>
+<!--        <el-form-item label="审核状态">-->
+<!--          <el-radio-group v-model="form.approveStatus">-->
+<!--            <el-radio label="1">请选择字典生成</el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
+        <el-form-item label="注册代码" prop="regno">
+          <el-input v-model="form.regno" placeholder="请输入注册代码" />
+        </el-form-item>
+        <el-form-item label="使用证编号" prop="useno">
+          <el-input v-model="form.useno" placeholder="请输入使用证编号" />
+        </el-form-item>
+        <el-form-item label="上次年检时间" prop="warnDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.warnDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择上次年检时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="检测周期" prop="warnCycle">
+          <el-input v-model="form.warnCycle" placeholder="请输入检测周期" />
+        </el-form-item>
+        <el-form-item label="下次年检时间" prop="nextWarnDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.nextWarnDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择下次年检时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="预警标识" prop="warnFlag">
+          <el-input v-model="form.warnFlag" placeholder="请输入预警标识" />
+        </el-form-item>
+        <el-form-item label="制造单位" prop="createUnit">
+          <el-input v-model="form.createUnit" placeholder="请输入制造单位" />
+        </el-form-item>
+        <el-form-item label="燃烧方式" prop="burnMode">
+          <el-input v-model="form.burnMode" placeholder="请输入燃烧方式" />
+        </el-form-item>
+        <el-form-item label="燃烧种类" prop="burnKind">
+          <el-input v-model="form.burnKind" placeholder="请输入燃烧种类" />
+        </el-form-item>
+        <el-form-item label="额度出力" prop="ratedPower">
+          <el-input v-model="form.ratedPower" placeholder="请输入额度出力" />
+        </el-form-item>
+        <el-form-item label="设计压力" prop="desPressure">
+          <el-input v-model="form.desPressure" placeholder="请输入设计压力" />
+        </el-form-item>
+        <el-form-item label="设计温度" prop="desTemp">
+          <el-input v-model="form.desTemp" placeholder="请输入设计温度" />
+        </el-form-item>
+        <el-form-item label="操作压力" prop="optPressure">
+          <el-input v-model="form.optPressure" placeholder="请输入操作压力" />
+        </el-form-item>
+        <el-form-item label="操作温度" prop="optTemp">
+          <el-input v-model="form.optTemp" placeholder="请输入操作温度" />
+        </el-form-item>
+        <el-form-item label="检测单位" prop="checkUnit">
+          <el-input v-model="form.checkUnit" placeholder="请输入检测单位" />
+        </el-form-item>
+        <el-form-item label="检查结论" prop="checkConclusion">
+          <el-input v-model="form.checkConclusion" placeholder="请输入检查结论" />
+        </el-form-item>
+        <el-form-item label="型号" prop="model">
+          <el-input v-model="form.model" placeholder="请输入型号" />
+        </el-form-item>
+        <el-form-item label="水处理方式" prop="waterMode">
+          <el-input v-model="form.waterMode" placeholder="请输入水处理方式" />
+        </el-form-item>
+        <el-form-item label="报告编号" prop="reportNo">
+          <el-input v-model="form.reportNo" placeholder="请输入报告编号" />
+        </el-form-item>
+        <el-form-item label="最新申请时间" prop="approveTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.approveTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择最新申请时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="状态修改时间" prop="changeTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.changeTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择状态修改时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="装置维修组" prop="plantMaint">
+          <el-input v-model="form.plantMaint" placeholder="请输入装置维修组" />
+        </el-form-item>
+        <el-form-item label="本次外部检测日期" prop="outWarnDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.outWarnDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择本次外部检测日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="下次外部检测日期" prop="outNextWarnDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.outNextWarnDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择下次外部检测日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="外部检验结论" prop="outCheckConclusion">
+          <el-input v-model="form.outCheckConclusion" placeholder="请输入外部检验结论" />
+        </el-form-item>
+        <el-form-item label="外部检验编号" prop="outReportNo">
+          <el-input v-model="form.outReportNo" placeholder="请输入外部检验编号" />
+        </el-form-item>
+        <el-form-item label="装置维修工程师" prop="engineer">
+          <el-input v-model="form.engineer" placeholder="请输入装置维修工程师" />
+        </el-form-item>
+        <el-form-item label="是否重复" prop="isRepeat">
+          <el-input v-model="form.isRepeat" placeholder="请输入是否重复" />
+        </el-form-item>
+        <el-form-item label="安装位置" prop="position">
+          <el-input v-model="form.position" placeholder="请输入安装位置" />
+        </el-form-item>
+        <el-form-item label="尺寸" prop="deviceSize">
+          <el-input v-model="form.deviceSize" placeholder="请输入尺寸" />
+        </el-form-item>
+        <el-form-item label="介质" prop="medium">
+          <el-input v-model="form.medium" placeholder="请输入介质" />
+        </el-form-item>
+        <el-form-item label="泄空方式" prop="leakageMode">
+          <el-input v-model="form.leakageMode" placeholder="请输入泄空方式" />
+        </el-form-item>
+        <el-form-item label="数据表文件号" prop="dataNo">
+          <el-input v-model="form.dataNo" placeholder="请输入数据表文件号" />
+        </el-form-item>
+        <el-form-item label="计算书文件号" prop="bookNo">
+          <el-input v-model="form.bookNo" placeholder="请输入计算书文件号" />
+        </el-form-item>
+        <el-form-item label="厂家" prop="manufactor">
+          <el-input v-model="form.manufactor" placeholder="请输入厂家" />
+        </el-form-item>
+          <el-form-item label="归属部门" prop="deptId">
+              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" 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>
+      <!-- 用户导入对话框 -->
+      <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+          <el-upload
+                  ref="upload"
+                  :limit="1"
+                  accept=".xlsx, .xls"
+                  :headers="upload.headers"
+                  :action="upload.url + '?updateSupport=' + upload.updateSupport"
+                  :disabled="upload.isUploading"
+                  :on-progress="handleFileUploadProgress"
+                  :on-success="handleFileSuccess"
+                  :auto-upload="false"
+                  drag
+          >
+              <i class="el-icon-upload"></i>
+              <div class="el-upload__text">
+                  将文件拖到此处,或
+                  <em>点击上传</em>
+              </div>
+              <div class="el-upload__tip" slot="tip">
+                  <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
+                  <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+              </div>
+              <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+          </el-upload>
+          <div slot="footer" class="dialog-footer">
+              <el-button type="primary" @click="submitFileForm">确 定</el-button>
+              <el-button @click="upload.open = false">取 消</el-button>
+          </div>
+      </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listGyl, getGyl, delGyl, addGyl, updateGyl, exportGyl, importTemplate} from "@/api/intact/gyl";
+import { listRecord} from "@/api/inspection/record";
+import { treeselect } from "@/api/system/dept";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  name: "Gyl",
+  components: { Treeselect },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 设备完整性工业炉台账表格数据
+      gylList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight:300,
+      // 是否显示弹出层
+      open: false,
+        // 用户导入参数
+        upload: {
+            // 是否显示弹出层(用户导入)
+            open: false,
+            // 弹出层标题(用户导入)
+            title: "",
+            // 是否禁用上传
+            isUploading: false,
+            // 是否更新已经存在的用户数据
+            updateSupport: 0,
+            // 设置上传的请求头部
+            headers: { Authorization: "Bearer " + getToken() },
+            // 上传的地址
+            url: process.env.VUE_APP_BASE_API + "/intact/gyl/importData"
+        },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        plantCode: null,
+        unit: null,
+        devname: null,
+        devno: null,
+        submitdate: null,
+        status: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        deptName: null,
+        remarks: null,
+        approveStatus: null,
+        regno: null,
+        useno: null,
+        warnDate: null,
+        warnCycle: null,
+        nextWarnDate: null,
+        warnFlag: null,
+        createUnit: null,
+        burnMode: null,
+        burnKind: null,
+        ratedPower: null,
+        desPressure: null,
+        desTemp: null,
+        optPressure: null,
+        optTemp: null,
+        checkUnit: null,
+        checkConclusion: null,
+        model: null,
+        waterMode: null,
+        reportNo: null,
+        approveTime: null,
+        changeTime: null,
+        plantMaint: null,
+        outWarnDate: null,
+        outNextWarnDate: null,
+        outCheckConclusion: null,
+        outReportNo: null,
+        engineer: null,
+        type: null,
+        isRepeat: null,
+        position: null,
+        deviceSize: null,
+        medium: null,
+        leakageMode: null,
+        dataNo: null,
+        bookNo: null,
+        manufactor: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        plantCode: [
+          { required: true, message: "装置名称不能为空", trigger: "blur" }
+        ],
+        type: [
+          { required: true, message: "种类不能为空", trigger: "change" }
+        ],
+      },
+      // 巡检记录表格数据
+      recordList: [],
+      openRecord : false
+    };
+  },
+  watch: {
+        // 根据名称筛选部门树
+        deptName(val) {
+            this.$refs.tree.filter(val);
+        }
+   },
+  created() {
+      //设置表格高度对应屏幕高度
+      this.$nextTick(() => {
+          this.clientHeight = document.body.clientHeight -250
+      })
+    this.getList();
+    this.getTreeselect();
+  },
+  methods: {
+    /** 查询巡检记录 **/
+    toInspectionRecord(devno,position){
+      var data = {
+        devno:devno,
+        region:position
+      }
+      listRecord(data).then(response => {
+        this.recordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+        this.openRecord=true;
+      });
+    },
+    cleanRecordList(done){
+      this.recordList= []
+      this.openRecord=false;
+      return done(true)
+    },
+    /** 查询设备完整性工业炉台账列表 */
+    getList() {
+      this.loading = true;
+      listGyl(this.queryParams).then(response => {
+        this.gylList = response.rows;
+        this.gylList.forEach(item => {
+          if (item.type === 1) {
+            item.type="裂解炉"
+          } else if (item.type === 2) {
+            item.type="转化炉"
+          }else if (item.type === 3) {
+            item.type="废热锅炉"
+          }
+        })
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+     /** 查询部门下拉树结构 */
+     getTreeselect() {
+          treeselect().then(response => {
+              this.deptOptions = response.data;
+          });
+     },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        plantCode: null,
+        unit: null,
+        devname: null,
+        devno: null,
+        submitdate: null,
+        status: 0,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        remarks: null,
+        approveStatus: 0,
+        regno: null,
+        useno: null,
+        warnDate: null,
+        warnCycle: null,
+        nextWarnDate: null,
+        warnFlag: null,
+        createUnit: null,
+        burnMode: null,
+        burnKind: null,
+        ratedPower: null,
+        desPressure: null,
+        desTemp: null,
+        optPressure: null,
+        optTemp: null,
+        checkUnit: null,
+        checkConclusion: null,
+        model: null,
+        waterMode: null,
+        reportNo: null,
+        approveTime: null,
+        changeTime: null,
+        plantMaint: null,
+        outWarnDate: null,
+        outNextWarnDate: null,
+        outCheckConclusion: null,
+        outReportNo: null,
+        engineer: null,
+        type: null,
+        isRepeat: null,
+        position: null,
+        deviceSize: null,
+        medium: null,
+        leakageMode: null,
+        dataNo: null,
+        bookNo: null,
+        manufactor: 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.title = "添加工业炉";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getGyl(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改工业炉";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateGyl(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addGyl(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delGyl(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有工业炉数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportGyl(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+      /** 导入按钮操作 */
+      handleImport() {
+          this.upload.title = "用户导入";
+          this.upload.open = true;
+      },
+      /** 下载模板操作 */
+      importTemplate() {
+          importTemplate().then(response => {
+              this.download(response.msg);
+          });
+      },
+      // 文件上传中处理
+      handleFileUploadProgress(event, file, fileList) {
+          this.upload.isUploading = true;
+      },
+      // 文件上传成功处理
+      handleFileSuccess(response, file, fileList) {
+          this.upload.open = false;
+          this.upload.isUploading = false;
+          this.$refs.upload.clearFiles();
+          this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+          this.getList();
+      },
+      // 提交上传文件
+      submitFileForm() {
+          this.$refs.upload.submit();
+      }
+  }
+};
+</script>

+ 766 - 0
ui/src/views/intact/ysj/index.vue

@@ -0,0 +1,766 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="种类" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择种类" clearable size="small">
+          <el-option label="气体压缩机" value="1"/>
+          <el-option label="离心压缩机" value="2"/>
+          <el-option label="往复式压缩机" value="3"/>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="装置名称" prop="plantCode">
+        <el-input
+          v-model="queryParams.plantCode"
+          placeholder="请输入装置名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单元" prop="unit">
+        <el-input
+          v-model="queryParams.unit"
+          placeholder="请输入单元"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备名称" prop="devname">
+        <el-input
+          v-model="queryParams.devname"
+          placeholder="请输入设备名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设备位号" prop="devno">
+        <el-input
+          v-model="queryParams.devno"
+          placeholder="请输入设备位号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="安装位置" prop="position">
+        <el-input
+          v-model="queryParams.position"
+          placeholder="请输入安装位置"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="尺寸" prop="deviceSize">
+        <el-input
+          v-model="queryParams.deviceSize"
+          placeholder="请输入尺寸"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设计压力" prop="desPressure">
+        <el-input
+          v-model="queryParams.desPressure"
+          placeholder="请输入设计压力"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设计温度" prop="desTemp">
+        <el-input
+          v-model="queryParams.desTemp"
+          placeholder="请输入设计温度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作压力" prop="optPressure">
+        <el-input
+          v-model="queryParams.optPressure"
+          placeholder="请输入操作压力"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作温度" prop="optTemp">
+        <el-input
+          v-model="queryParams.optTemp"
+          placeholder="请输入操作温度"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="介质" prop="medium">
+        <el-input
+          v-model="queryParams.medium"
+          placeholder="请输入介质"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="泄空方式" prop="leakageMode">
+        <el-input
+          v-model="queryParams.leakageMode"
+          placeholder="请输入泄空方式"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="数据表文件号" prop="dataNo">
+        <el-input
+          v-model="queryParams.dataNo"
+          placeholder="请输入数据表文件号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计算书文件号" prop="bookNo">
+        <el-input
+          v-model="queryParams.bookNo"
+          placeholder="请输入计算书文件号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="厂家" prop="manufactor">
+        <el-input
+          v-model="queryParams.manufactor"
+          placeholder="请输入厂家"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建人" prop="createrCode">
+        <el-input
+          v-model="queryParams.createrCode"
+          placeholder="请输入创建人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建时间" prop="createdate">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.createdate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="修改人" prop="updaterCode">
+        <el-input
+          v-model="queryParams.updaterCode"
+          placeholder="请输入修改人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="修改时间" prop="updatedate">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.updatedate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择修改时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="部门编号" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入部门编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" 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-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['intact:ysj:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['intact:ysj:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['intact:ysj:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+          v-hasPermi="['intact:ysj:edit']"
+        >导入
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['intact:ysj:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="ysjList" @selection-change="handleSelectionChange" :height="clientHeight"
+              border>
+      <el-table-column type="selection" width="55" align="center"/>
+<!--      <el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="种类" align="center" prop="type" :show-overflow-tooltip="true"/>
+      <el-table-column label="装置名称" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
+      <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+      <el-table-column label="安装位置" align="center" prop="position" :show-overflow-tooltip="true"/>
+      <el-table-column label="尺寸" align="center" prop="deviceSize" :show-overflow-tooltip="true"/>
+      <el-table-column label="设计压力" align="center" prop="desPressure" :show-overflow-tooltip="true"/>
+      <el-table-column label="设计温度" align="center" prop="desTemp" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作压力" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作温度" align="center" prop="optTemp" :show-overflow-tooltip="true"/>
+      <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true"/>
+      <el-table-column label="泄空方式" align="center" prop="leakageMode" :show-overflow-tooltip="true"/>
+      <el-table-column label="数据表文件号" align="center" prop="dataNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="计算书文件号" align="center" prop="bookNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="厂家" align="center" prop="manufactor" :show-overflow-tooltip="true"/>
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/>
+<!--      <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>-->
+<!--      <el-table-column label="修改时间" align="center" prop="updatedate" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="部门名称" align="center" prop="deptName" :show-overflow-tooltip="true"/>
+      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-edit"-->
+<!--            @click="handleUpdate(scope.row)"-->
+<!--            v-hasPermi="['intact:ysj:edit']"-->
+<!--          >修改-->
+<!--          </el-button>-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['intact:ysj:remove']"-->
+<!--          >删除-->
+<!--          </el-button>-->
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-document"
+            @click="toInspectionRecord(scope.row.devno,scope.row.position)"
+            v-hasPermi="['intact:gyl:query']"
+          >巡检记录</el-button>
+          <el-dialog title="巡检记录" :visible.sync="openRecord" :before-close="cleanRecordList" :append-to-body="true">
+            <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+              <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+              <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+              <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
+              <el-table-column label="原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+              <el-table-column label="巡检时间" align="center" prop="inspectionTime" width="100">
+                <template slot-scope="scope">
+                  <span>{{ parseTime(scope.row.inspectionTime, '{y}-{m}-{d}') }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="消故时间" align="center" prop="pastTime" width="100">
+                <template slot-scope="scope">
+                  <span>{{ parseTime(scope.row.pastTime, '{y}-{m}-{d}') }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="消故人" align="center" prop="pasterCode" :show-overflow-tooltip="true"/>
+              <el-table-column label="处理情况" align="center" prop="treatment" :show-overflow-tooltip="true"/>
+              <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>
+              <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+            </el-table>
+          </el-dialog>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改设备完整性压缩机台账对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="种类" prop="type">
+          <el-select v-model="form.type" placeholder="请选择种类">
+            <el-option label="气体压缩机" value="1"/>
+            <el-option label="离心压缩机" value="2"/>
+            <el-option label="往复式压缩机" value="3"/>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="装置名称" prop="plantCode">
+          <el-input v-model="form.plantCode" placeholder="请输入装置名称"/>
+        </el-form-item>
+        <el-form-item label="单元" prop="unit">
+          <el-input v-model="form.unit" placeholder="请输入单元"/>
+        </el-form-item>
+        <el-form-item label="设备名称" prop="devname">
+          <el-input v-model="form.devname" placeholder="请输入设备名称"/>
+        </el-form-item>
+        <el-form-item label="设备位号" prop="devno">
+          <el-input v-model="form.devno" placeholder="请输入设备位号"/>
+        </el-form-item>
+        <el-form-item label="安装位置" prop="position">
+          <el-input v-model="form.position" placeholder="请输入安装位置"/>
+        </el-form-item>
+        <el-form-item label="尺寸" prop="deviceSize">
+          <el-input v-model="form.deviceSize" placeholder="请输入尺寸"/>
+        </el-form-item>
+        <el-form-item label="设计压力" prop="desPressure">
+          <el-input v-model="form.desPressure" placeholder="请输入设计压力"/>
+        </el-form-item>
+        <el-form-item label="设计温度" prop="desTemp">
+          <el-input v-model="form.desTemp" placeholder="请输入设计温度"/>
+        </el-form-item>
+        <el-form-item label="操作压力" prop="optPressure">
+          <el-input v-model="form.optPressure" placeholder="请输入操作压力"/>
+        </el-form-item>
+        <el-form-item label="操作温度" prop="optTemp">
+          <el-input v-model="form.optTemp" placeholder="请输入操作温度"/>
+        </el-form-item>
+        <el-form-item label="介质" prop="medium">
+          <el-input v-model="form.medium" placeholder="请输入介质"/>
+        </el-form-item>
+        <el-form-item label="泄空方式" prop="leakageMode">
+          <el-input v-model="form.leakageMode" placeholder="请输入泄空方式"/>
+        </el-form-item>
+        <el-form-item label="数据表文件号" prop="dataNo">
+          <el-input v-model="form.dataNo" placeholder="请输入数据表文件号"/>
+        </el-form-item>
+        <el-form-item label="计算书文件号" prop="bookNo">
+          <el-input v-model="form.bookNo" placeholder="请输入计算书文件号"/>
+        </el-form-item>
+        <el-form-item label="厂家" prop="manufactor">
+          <el-input v-model="form.manufactor" placeholder="请输入厂家"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注"/>
+        </el-form-item>
+<!--        <el-form-item label="删除标识" prop="delFlag">-->
+<!--          <el-input v-model="form.delFlag" placeholder="请输入删除标识"/>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建人" prop="createrCode">-->
+<!--          <el-input v-model="form.createrCode" placeholder="请输入创建人"/>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="创建时间" prop="createdate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.createdate"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择创建时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改人" prop="updaterCode">-->
+<!--          <el-input v-model="form.updaterCode" placeholder="请输入修改人"/>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="修改时间" prop="updatedate">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.updatedate"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择修改时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="部门编号" prop="deptId">-->
+<!--          <el-input v-model="form.deptId" placeholder="请输入部门编号"/>-->
+<!--        </el-form-item>-->
+        <el-form-item label="归属部门" prop="deptId">
+          <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" 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>
+    <!-- 用户导入对话框 -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <el-checkbox v-model="upload.updateSupport"/>
+          是否更新已经存在的用户数据
+          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+        </div>
+        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {listYsj, getYsj, delYsj, addYsj, updateYsj, exportYsj, importTemplate} from "@/api/intact/ysj";
+import {treeselect} from "@/api/system/dept";
+import {getToken} from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {listRecord} from "@/api/inspection/record";
+
+export default {
+  name: "Ysj",
+  components: {Treeselect},
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 设备完整性压缩机台账表格数据
+      ysjList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight: 300,
+      // 是否显示弹出层
+      open: false,
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: "Bearer " + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/intact/ysj/importData"
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        type: null,
+        plantCode: null,
+        unit: null,
+        devname: null,
+        devno: null,
+        position: null,
+        deviceSize: null,
+        desPressure: null,
+        desTemp: null,
+        optPressure: null,
+        optTemp: null,
+        medium: null,
+        leakageMode: null,
+        dataNo: null,
+        bookNo: null,
+        manufactor: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        deptName: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        type: [
+          {required: true, message: "种类不能为空", trigger: "change"}
+        ],
+        plantCode: [
+          {required: true, message: "装置名称不能为空", trigger: "blur"}
+        ],
+      },
+      // 巡检记录表格数据
+      recordList: [],
+      openRecord:false
+      };
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+      this.clientHeight = document.body.clientHeight - 250
+    })
+    this.getList();
+    this.getTreeselect();
+  },
+  methods: {
+    /** 查询巡检记录 **/
+    toInspectionRecord(devno, position) {
+      var data = {
+        devno: devno,
+        region: position
+      }
+      listRecord(data).then(response => {
+        this.recordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+        this.openRecord=true;
+      });
+    },
+    cleanRecordList(done) {
+      this.recordList = []
+      this.openRecord=false;
+      return done(true)
+    },
+    /** 查询设备完整性压缩机台账列表 */
+    getList() {
+      this.loading = true;
+      listYsj(this.queryParams).then(response => {
+        this.ysjList = response.rows;
+        this.ysjList.forEach(item => {
+          if (item.type === 1) {
+            item.type="气体压缩机"
+          } else if (item.type === 2) {
+            item.type="离心压缩机"
+          }else if (item.type === 3) {
+            item.type="往复式压缩机"
+          }
+        })
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        type: null,
+        plantCode: null,
+        unit: null,
+        devname: null,
+        devno: null,
+        position: null,
+        deviceSize: null,
+        desPressure: null,
+        desTemp: null,
+        optPressure: null,
+        optTemp: null,
+        medium: null,
+        leakageMode: null,
+        dataNo: null,
+        bookNo: null,
+        manufactor: null,
+        remark: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: 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.title = "添加设备完整性压缩机台账";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getYsj(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改设备完整性压缩机台账";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateYsj(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addYsj(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delYsj(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有设备完整性压缩机台账数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportYsj(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      })
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.open = true;
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      importTemplate().then(response => {
+        this.download(response.msg);
+      });
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "导入结果", {dangerouslyUseHTMLString: true});
+      this.getList();
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    }
+  }
+};
+</script>