瀏覽代碼

-维修任务录入
-复测任务

jiangbiao 2 年之前
父節點
當前提交
f4431a0011
共有 27 個文件被更改,包括 2646 次插入100 次删除
  1. 69 12
      master/src/main/java/com/ruoyi/project/check/controller/TCheckCheckpointsController.java
  2. 266 0
      master/src/main/java/com/ruoyi/project/check/controller/TCheckRepairpointsController.java
  3. 11 0
      master/src/main/java/com/ruoyi/project/check/domain/TCheckCheckpoints.java
  4. 542 0
      master/src/main/java/com/ruoyi/project/check/domain/TCheckRepairpoints.java
  5. 7 1
      master/src/main/java/com/ruoyi/project/check/mapper/TCheckCheckpointsMapper.java
  6. 71 0
      master/src/main/java/com/ruoyi/project/check/mapper/TCheckRepairpointsMapper.java
  7. 3 0
      master/src/main/java/com/ruoyi/project/check/service/ITCheckCheckpointsService.java
  8. 66 0
      master/src/main/java/com/ruoyi/project/check/service/ITCheckRepairpointsService.java
  9. 19 0
      master/src/main/java/com/ruoyi/project/check/service/impl/TCheckCheckpointsServiceImpl.java
  10. 117 0
      master/src/main/java/com/ruoyi/project/check/service/impl/TCheckRepairpointsServiceImpl.java
  11. 21 2
      master/src/main/java/com/ruoyi/project/task/controller/TTaskInspectionController.java
  12. 22 1
      master/src/main/java/com/ruoyi/project/task/controller/TTaskRepairController.java
  13. 3 1
      master/src/main/java/com/ruoyi/project/task/mapper/TTaskRepairMapper.java
  14. 3 0
      master/src/main/java/com/ruoyi/web/controller/common/CommonController.java
  15. 73 0
      master/src/main/resources/mybatis/check/TCheckCheckpointsMapper.xml
  16. 356 0
      master/src/main/resources/mybatis/check/TCheckRepairpointsMapper.xml
  17. 二進制
      master/src/main/resources/static/template/check/repairPoints.xlsx
  18. 9 0
      ui/src/api/check/checkpoints.js
  19. 61 0
      ui/src/api/check/repairpoints.js
  20. 0 12
      ui/src/views/check/inspectionCheck/index.vue
  21. 53 25
      ui/src/views/check/inspectionCheck/pointEnter.vue
  22. 12 13
      ui/src/views/check/repairCheck/index.vue
  23. 418 0
      ui/src/views/check/repairCheck/repairEnter.vue
  24. 11 0
      ui/src/views/task/inspection/dividePoint.vue
  25. 0 12
      ui/src/views/task/inspection/index.vue
  26. 54 21
      ui/src/views/task/repair/index.vue
  27. 379 0
      ui/src/views/task/repair/repairPoint.vue

+ 69 - 12
master/src/main/java/com/ruoyi/project/check/controller/TCheckCheckpointsController.java

@@ -6,19 +6,19 @@ import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.ExcelUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.project.base.domain.TBasePlant;
 import com.ruoyi.project.base.domain.TBasePoint;
-import com.ruoyi.project.base.service.ITBasePlantService;
 import com.ruoyi.project.base.service.ITBasePointService;
 import com.ruoyi.project.check.domain.TCheckCheckpoints;
 import com.ruoyi.project.check.domain.TCheckEnvironment;
 import com.ruoyi.project.check.domain.TCheckLawitems;
-import com.ruoyi.project.check.mapper.TCheckEnvironmentMapper;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
 import com.ruoyi.project.check.service.ITCheckCheckpointsService;
 import com.ruoyi.project.check.service.ITCheckEnvironmentService;
 import com.ruoyi.project.check.service.ITCheckLawitemsService;
+import com.ruoyi.project.check.service.ITCheckRepairpointsService;
 import com.ruoyi.project.task.domain.TTaskInspection;
 import com.ruoyi.project.task.service.ITTaskInspectionService;
 import org.apache.commons.collections4.CollectionUtils;
@@ -27,6 +27,7 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -68,6 +69,9 @@ public class TCheckCheckpointsController extends BaseController {
     @Autowired
     private ITCheckLawitemsService tCheckLawitemsService;
 
+    @Autowired
+    private ITCheckRepairpointsService tCheckRepairpointsService;
+
 
     /**
      * 查询检测点列表
@@ -121,6 +125,62 @@ public class TCheckCheckpointsController extends BaseController {
         return toAjax(tCheckCheckpointsService.updateTCheckCheckpointsByCheckIds(tCheckCheckpoints));
     }
 
+    @PreAuthorize("@ss.hasPermi('check:checkpoints:edit')")
+    @Log(title = "审核检测结果", businessType = BusinessType.UPDATE)
+    @PutMapping("/toApprove")
+    public AjaxResult toApprove(@RequestBody TCheckCheckpoints tCheckCheckpoints) {
+        int i = tCheckCheckpointsService.updateApproveStatusByIds(tCheckCheckpoints);
+        List<TCheckRepairpoints> tCheckRepairpoints = new ArrayList<>();
+        if (i > 0) {
+            if (2 == tCheckCheckpoints.getApproveStatus()) {
+                TTaskInspection tTaskInspection = taskInspectionService.selectTTaskInspectionById(tCheckCheckpoints.getInspectionId());
+                tTaskInspection.setTaskDoneNum(new BigDecimal(StringUtils.isNotEmpty(tTaskInspection.getTaskDoneNum()) ? tTaskInspection.getTaskDoneNum() : "0").add(new BigDecimal(tCheckCheckpoints.getCheckIds().length)).toString());
+                tTaskInspection.setTaskUndoneNum(new BigDecimal(tTaskInspection.getTaskNum()).subtract(new BigDecimal(tTaskInspection.getTaskDoneNum())).toString());
+                taskInspectionService.updateTTaskInspection(tTaskInspection);
+                for (TCheckCheckpoints point : tCheckCheckpointsService.selectPointsByIds(tCheckCheckpoints.getCheckIds())) {
+                    if (!point.getLeakageDegree().equals("1")) {
+                        TCheckRepairpoints tCheckRepairpoint = new TCheckRepairpoints();
+                        tCheckRepairpoint.setPointId(point.getPointId());
+                        tCheckRepairpoint.setNetTestValue(point.getNetTestValue());
+                        tCheckRepairpoint.setPlantName(point.getPlantName());
+                        tCheckRepairpoint.setRegionName(point.getRegionName());
+                        tCheckRepairpoint.setLayer(point.getLayer());
+                        tCheckRepairpoint.setDevName(point.getDevName());
+                        tCheckRepairpoint.setDevCode(point.getDevCode());
+                        tCheckRepairpoint.setGroupCode(point.getGroupCode());
+                        tCheckRepairpoint.setExtendCode(point.getExtendCode());
+                        tCheckRepairpoint.setPointType(point.getPointType());
+                        tCheckRepairpoint.setInstrumentCode(point.getInstrumentCode());
+                        tCheckRepairpoint.setLeakagePosition(point.getLeakagePosition());
+                        tCheckRepairpoint.setLeakageDegree(point.getLeakageDegree());
+                        tCheckRepairpoint.setApproveStatus(0L);
+                        tCheckRepairpoint.setCreaterCode(getUserId());
+                        tCheckRepairpoint.setCreatedate(new Date());
+                        tCheckRepairpoint.setUpdaterCode(getUserId());
+                        tCheckRepairpoint.setUpdatedate(new Date());
+                        tCheckRepairpoint.setPlantId(point.getPlantId());
+                        tCheckRepairpoint.setRegionId(point.getRegionId());
+                        tCheckRepairpoint.setDevId(point.getDevId());
+                        tCheckRepairpoint.setInstrumentId(point.getInstrumentId());
+                        tCheckRepairpoint.setPlantType(point.getPlantType());
+                        tCheckRepairpoint.setMediumType(point.getMediumType());
+                        tCheckRepairpoints.add(tCheckRepairpoint);
+                    }
+                    TBasePoint tBasePoint = new TBasePoint();
+                    tBasePoint.setPointId(point.getPointId());
+                    tBasePoint.setNetTestValue(point.getNetTestValue());
+                    tBasePoint.setLeakageDegree(point.getLeakageDegree());
+                    tBasePointService.updateTBasePoint(tBasePoint);// 更新密封点数据
+                }
+                if (CollectionUtils.isNotEmpty(tCheckRepairpoints)) {
+                    tCheckRepairpointsService.insertTCheckRepairpointsByList(tCheckRepairpoints);
+                }
+            }
+        } else
+            return AjaxResult.error();
+        return AjaxResult.success();
+    }
+
     /**
      * 删除检测点
      */
@@ -133,7 +193,7 @@ public class TCheckCheckpointsController extends BaseController {
 
     @Log(title = "检测数据录入", businessType = BusinessType.INSERT)
     @PostMapping("/importData/{inspectionId}")
-    public AjaxResult importData(@RequestParam("file") MultipartFile file, @PathVariable Long inspectionId) throws IOException {
+    public AjaxResult importData(@RequestParam("file") MultipartFile file, @PathVariable Long inspectionId) {
         //获取操作人员ID
         Long userId = getUserId();
         //报错行数统计
@@ -221,8 +281,8 @@ public class TCheckCheckpointsController extends BaseController {
                         entity.setInstrumentId(tCheckEnvironment.getInstrumentId());// 仪器id
                         entity.setInspectionId(inspectionId);// 任务id
                         entity.setApproveStatus(0l);// 任务id
-                        int upload = tCheckCheckpointsService.updateTCheckCheckpointsByUpload(entity); //更新检测点数据
-                        TCheckCheckpoints tCheckCheckpoint = tCheckCheckpointsService.selectTCheckCheckpointsList(entity).get(0);
+                        tCheckCheckpointsService.updateTCheckCheckpointsByUpload(entity); //更新检测点数据
+                        TCheckCheckpoints tCheckCheckpoint = tCheckCheckpointsService.selectTCheckCheckpointByEntity(entity);
                         for (TCheckLawitems tCheckLawitem : tCheckLawitems) {
                             if (tCheckLawitem.getPlantType().equals(tCheckCheckpoint.getPlantType())
                                     && tCheckLawitem.getPointType().equals(tCheckCheckpoint.getPointType())
@@ -239,13 +299,8 @@ public class TCheckCheckpointsController extends BaseController {
                                 }
                             }
                         }
-                        upload = tCheckCheckpointsService.updateTCheckCheckpointsByUpload(entity); //更新检测点数据
+                        int upload  = tCheckCheckpointsService.updateTCheckCheckpointsByUpload(entity); //更新检测点数据
                         if (upload == 1) {
-                            TBasePoint tBasePoint = new TBasePoint();
-                            tBasePoint.setPointId(tCheckCheckpoint.getPointId());
-                            tBasePoint.setNetTestValue(netTest);
-                            tBasePoint.setLeakageDegree(entity.getLeakageDegree());
-                            tBasePointService.updateTBasePoint(tBasePoint);// 更新密封点数据
                             successNumber.getAndIncrement();
                         } else {
                             logger.info("数据不存在");
@@ -275,4 +330,6 @@ public class TCheckCheckpointsController extends BaseController {
         logger.info("failRow:" + failRow);
         return AjaxResult.success(String.valueOf(successNumber.get()), failRow);
     }
+
+
 }

+ 266 - 0
master/src/main/java/com/ruoyi/project/check/controller/TCheckRepairpointsController.java

@@ -0,0 +1,266 @@
+package com.ruoyi.project.check.controller;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicInteger;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson2.JSON;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.file.ExcelUtils;
+import com.ruoyi.project.base.domain.TBasePoint;
+import com.ruoyi.project.check.domain.TCheckCheckpoints;
+import com.ruoyi.project.check.domain.TCheckEnvironment;
+import com.ruoyi.project.check.domain.TCheckLawitems;
+import com.ruoyi.project.check.service.ITCheckCheckpointsService;
+import com.ruoyi.project.task.domain.TTaskInspection;
+import com.ruoyi.project.task.domain.TTaskRepair;
+import com.ruoyi.project.task.service.ITTaskRepairService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
+import com.ruoyi.project.check.service.ITCheckRepairpointsService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 维修点Controller
+ *
+ * @author ruoyi
+ * @date 2022-12-06
+ */
+@RestController
+@RequestMapping("/check/repairpoints")
+public class TCheckRepairpointsController extends BaseController {
+    @Autowired
+    private ITCheckRepairpointsService tCheckRepairpointsService;
+
+    @Autowired
+    private ITTaskRepairService taskRepairService;
+
+    @Autowired
+    private ITCheckCheckpointsService tCheckCheckpointsService;
+
+    /**
+     * 查询维修点列表
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TCheckRepairpoints tCheckRepairpoints) {
+        startPage();
+        List<TCheckRepairpoints> list = tCheckRepairpointsService.selectTCheckRepairpointsList(tCheckRepairpoints);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出维修点列表
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:export')")
+    @Log(title = "维修点", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TCheckRepairpoints tCheckRepairpoints) {
+        List<TCheckRepairpoints> list = tCheckRepairpointsService.selectTCheckRepairpointsList(tCheckRepairpoints);
+        ExcelUtil<TCheckRepairpoints> util = new ExcelUtil<TCheckRepairpoints>(TCheckRepairpoints.class);
+        util.exportExcel(response, list, "维修点数据");
+    }
+
+    /**
+     * 获取维修点详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:query')")
+    @GetMapping(value = "/{checkId}")
+    public AjaxResult getInfo(@PathVariable("checkId") Long checkId) {
+        return AjaxResult.success(tCheckRepairpointsService.selectTCheckRepairpointsByCheckId(checkId));
+    }
+
+    @GetMapping(value = "/byInspectionId/{inspectionId}")
+    public TableDataInfo selectRepairpointsByInspectionId(@PathVariable("inspectionId") Long inspectionId) {
+        startPage();
+        List<TCheckRepairpoints> list = tCheckRepairpointsService.selectRepairpointsByInspectionId(inspectionId);
+        return getDataTable(list);
+    }
+
+    @PreAuthorize("@ss.hasPermi('check:checkpoints:edit')")
+    @Log(title = "审核检测结果", businessType = BusinessType.UPDATE)
+    @PutMapping("/toApprove")
+    public AjaxResult toApprove(@RequestBody TCheckRepairpoints tCheckRepairpoints) {
+        int i = tCheckRepairpointsService.updateApproveStatusByIds(tCheckRepairpoints);
+        List<TCheckCheckpoints> tCheckCheckpoints = new ArrayList<>();
+        if (i > 0) {
+            if (2 == tCheckRepairpoints.getApproveStatus()) {
+                TTaskRepair tTaskRepair = taskRepairService.selectTTaskRepairById(tCheckRepairpoints.getRepairId());
+                tTaskRepair.setTaskDoneNum(new BigDecimal(StringUtils.isNotEmpty(tTaskRepair.getTaskDoneNum()) ? tTaskRepair.getTaskDoneNum() : "0").add(new BigDecimal(tCheckRepairpoints.getCheckIds().length)).toString());
+                tTaskRepair.setTaskUndoneNum(new BigDecimal(tTaskRepair.getTaskNum()).subtract(new BigDecimal(tTaskRepair.getTaskDoneNum())).toString());
+                taskRepairService.updateTTaskRepair(tTaskRepair);
+                for (TCheckRepairpoints point : tCheckRepairpointsService.selectTCheckRepairpointsByIds(tCheckRepairpoints.getCheckIds())) {
+                    TCheckCheckpoints points = new TCheckCheckpoints();
+                    points.setMediumType(point.getMediumType());
+                    points.setPlantType(point.getPlantType());
+                    points.setPlantId(point.getPlantId());
+                    points.setRegionId(point.getRegionId());
+                    points.setDevId(point.getDevId());
+                    points.setPointId(point.getPointId());
+                    points.setPlantName(point.getPlantName());
+                    points.setRegionName(point.getRegionName());
+                    points.setLayer(point.getLayer());
+                    points.setDevName(point.getDevName());
+                    points.setDevCode(point.getDevCode());
+                    points.setGroupCode(point.getGroupCode());
+                    points.setExtendCode(point.getExtendCode());
+                    points.setPointType(point.getPointType());
+                    points.setCreaterCode(getUserId());
+                    points.setCreatedate(new Date());
+                    points.setUpdaterCode(getUserId());
+                    points.setUpdatedate(new Date());
+                    points.setRepairId(point.getCheckId());
+                    tCheckCheckpoints.add(points);
+                }
+                if (CollectionUtils.isNotEmpty(tCheckCheckpoints)) {
+                    tCheckCheckpointsService.insertTCheckCheckpointsByList(tCheckCheckpoints);
+                }
+            }
+        } else
+            return AjaxResult.error();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 新增维修点
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:add')")
+    @Log(title = "维修点", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TCheckRepairpoints tCheckRepairpoints) {
+        return toAjax(tCheckRepairpointsService.insertTCheckRepairpoints(tCheckRepairpoints));
+    }
+
+    /**
+     * 修改维修点
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:edit')")
+    @Log(title = "维修点", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TCheckRepairpoints tCheckRepairpoints) {
+        return toAjax(tCheckRepairpointsService.updateTCheckRepairpointsByCheckIds(tCheckRepairpoints));
+    }
+
+    /**
+     * 删除维修点
+     */
+//    @PreAuthorize("@ss.hasPermi('check:repairpoints:remove')")
+    @Log(title = "维修点", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{checkIds}")
+    public AjaxResult remove(@PathVariable Long[] checkIds) {
+        return toAjax(tCheckRepairpointsService.deleteTCheckRepairpointsByCheckIds(checkIds));
+    }
+
+    @Log(title = "维修数据录入", businessType = BusinessType.INSERT)
+    @PostMapping("/importData/{repairId}")
+    public AjaxResult importData(@RequestParam("file") MultipartFile file, @PathVariable Long repairId) {
+        //获取操作人员ID
+        Long userId = getUserId();
+        //报错行数统计
+        CopyOnWriteArrayList<Integer> failRow = new CopyOnWriteArrayList<>();
+        Workbook workbook = ExcelUtils.getWorkBook(file);
+        Sheet sheet = workbook.getSheetAt(0);
+        List<TCheckRepairpoints> list = new ArrayList<>();
+        int rowNum = sheet.getPhysicalNumberOfRows();
+        //线程池
+        ExecutorService executorService = Executors.newFixedThreadPool(1);
+        final CountDownLatch latch = new CountDownLatch(rowNum - 1); //相同线程数量的计数
+        AtomicInteger failNumber = new AtomicInteger();
+
+        AtomicInteger successNumber = new AtomicInteger();
+        for (int i = 1; i < rowNum; i++) {
+            int finalI = i;
+            executorService.execute(() -> {
+                try {
+                    logger.info("读取行数:" + finalI);
+                    Row row = sheet.getRow(finalI);
+                    int cellNum = row.getLastCellNum();
+                    TCheckRepairpoints entity = new TCheckRepairpoints();
+                    for (int j = 0; j < cellNum; j++) {
+                        Cell cell = row.getCell(j);
+                        if (cell == null) {
+                            continue;
+                        }
+                        String cellValue = ExcelUtils.getCellValue(cell);
+                        logger.info("cellValue:" + cellValue);
+                        if (j == 0) {
+                            //装置名称
+                            entity.setPlantName(cellValue);
+                        } else if (j == 1) {
+                            //群组编号
+                            entity.setGroupCode(cellValue);
+                        } else if (j == 2) {
+                            // 密封点扩展编码
+                            entity.setExtendCode(cellValue);
+                        } else if (j == 3) {
+                            //维修方法
+                            entity.setRepairFunc(cellValue);
+                        } else if (j == 4) {
+                            // 维修人员
+                            entity.setRepairer(cellValue);
+                        } else if (j == 5) {
+                            // 维修日期
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
+                            entity.setRepairDate(sdf.parse(cellValue));
+                        } else if (j == 6) {
+                            // 描述
+                            entity.setRemarks(cellValue);
+                        }
+                    }
+                    entity.setUpdatedate(new Date());
+                    entity.setUpdaterCode(userId);
+                    entity.setRepairId(repairId);// 任务id
+                    entity.setApproveStatus(0l);// 任务id
+                    int upload = tCheckRepairpointsService.updateTCheckRepairpointsByUpload(entity); //更新检测点数据
+                    if (upload == 1) {
+                        successNumber.getAndIncrement();
+                    } else {
+                        logger.info("数据不存在");
+                        failRow.add(finalI + 1);
+                        throw new InterruptedException();//中止线程
+                    }
+                } catch (InterruptedException e) {
+                    logger.info("中止线程" + Thread.currentThread().getName());
+                } catch (Exception e) {
+                    failRow.add(finalI + 1);
+                    e.printStackTrace();
+                } finally {
+                    latch.countDown(); //线程计数
+                }
+            });
+        }
+        try {
+            latch.await(); //线程计数完毕后继续执行
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        executorService.shutdown();
+        logger.info("list:" + JSON.toJSONString(list));
+        logger.info("successNumber:" + successNumber);
+        logger.info("failNumber:" + failRow.size());
+        logger.info("failRow:" + failRow);
+        return AjaxResult.success(String.valueOf(successNumber.get()), failRow);
+    }
+}

+ 11 - 0
master/src/main/java/com/ruoyi/project/check/domain/TCheckCheckpoints.java

@@ -167,6 +167,9 @@ public class TCheckCheckpoints extends BaseEntity {
     @Excel(name = "部门编号")
     private Long deptId;
 
+
+    private Long repairId;
+
     /**
      * 状态  0:正常 ;1:删除
      */
@@ -211,6 +214,14 @@ public class TCheckCheckpoints extends BaseEntity {
         return mediumType;
     }
 
+    public Long getRepairId() {
+        return repairId;
+    }
+
+    public void setRepairId(Long repairId) {
+        this.repairId = repairId;
+    }
+
     public void setMediumType(String mediumType) {
         this.mediumType = mediumType;
     }

+ 542 - 0
master/src/main/java/com/ruoyi/project/check/domain/TCheckRepairpoints.java

@@ -0,0 +1,542 @@
+package com.ruoyi.project.check.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 维修点对象 t_check_repairpoints
+ *
+ * @author ruoyi
+ * @date 2022-12-06
+ */
+public class TCheckRepairpoints extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识id */
+    private Long checkId;
+
+    /** 密封点id */
+    @Excel(name = "密封点id")
+    private Long pointId;
+
+    /** 维修任务id */
+    @Excel(name = "维修任务id")
+    private Long repairId;
+
+    /** 净检测值 */
+    @Excel(name = "净检测值")
+    private String netTestValue;
+
+    /** 维修方法 */
+    @Excel(name = "维修方法")
+    private String repairFunc;
+
+    /** 维修状态 */
+    @Excel(name = "维修状态")
+    private String repairType;
+
+    /** 维修次数 */
+    @Excel(name = "维修次数")
+    private String repairCount;
+
+    /** 装置名称 */
+    @Excel(name = "装置名称")
+    private String plantName;
+
+    /** 区域名称 */
+    @Excel(name = "区域名称")
+    private String regionName;
+
+    /** 平台 */
+    @Excel(name = "平台")
+    private String layer;
+
+    /** 设备/管线名称 */
+    @Excel(name = "设备/管线名称")
+    private String devName;
+
+    /** 设备/管线编号 */
+    @Excel(name = "设备/管线编号")
+    private String devCode;
+
+    /** 群组编码 */
+    @Excel(name = "群组编码")
+    private String groupCode;
+
+    /** 密封点扩展号编码 */
+    @Excel(name = "密封点扩展号编码")
+    private String extendCode;
+
+    /** 密封点类型 */
+    @Excel(name = "密封点类型")
+    private String pointType;
+
+    /** 仪器编号 */
+    @Excel(name = "仪器编号")
+    private String instrumentCode;
+
+    /** 泄露部位 */
+    @Excel(name = "泄露部位")
+    private String leakagePosition;
+
+    /** 维修人员 */
+    @Excel(name = "维修人员")
+    private String repairer;
+
+    /** 维修日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "维修日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date repairDate;
+
+    /** 泄漏程度 */
+    @Excel(name = "泄漏程度")
+    private String leakageDegree;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 审核状态 */
+    @Excel(name = "审核状态")
+    private Long approveStatus;
+
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date approveTime;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    /** 状态  0:正常 ;1:删除 */
+    private Integer delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private Long createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 维护人 */
+    @Excel(name = "维护人")
+    private Long updaterCode;
+
+    /** 维护时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 装置id */
+    @Excel(name = "装置id")
+    private Long plantId;
+
+    /** 区域id */
+    @Excel(name = "区域id")
+    private Long regionId;
+
+    /** 设备id */
+    @Excel(name = "设备id")
+    private Long devId;
+
+    /** 仪器id */
+    @Excel(name = "仪器id")
+    private Long instrumentId;
+
+    /** 装置类别 */
+    @Excel(name = "装置类别")
+    private String plantType;
+
+    /** 介质状态 */
+    @Excel(name = "介质状态")
+    private String mediumType;
+
+    @TableField(exist = false)
+    private Long[] checkIds;
+
+    @TableField(exist = false)
+    private String choose;
+
+    public Long[] getCheckIds() {
+        return checkIds;
+    }
+
+    public void setCheckIds(Long[] checkIds) {
+        this.checkIds = checkIds;
+    }
+
+    public String getChoose() {
+        return choose;
+    }
+
+    public void setChoose(String choose) {
+        this.choose = choose;
+    }
+
+    public void setCheckId(Long checkId)
+    {
+        this.checkId = checkId;
+    }
+
+    public Long getCheckId()
+    {
+        return checkId;
+    }
+    public void setPointId(Long pointId)
+    {
+        this.pointId = pointId;
+    }
+
+    public Long getPointId()
+    {
+        return pointId;
+    }
+    public void setRepairId(Long repairId)
+    {
+        this.repairId = repairId;
+    }
+
+    public Long getRepairId()
+    {
+        return repairId;
+    }
+    public void setNetTestValue(String netTestValue)
+    {
+        this.netTestValue = netTestValue;
+    }
+
+    public String getNetTestValue()
+    {
+        return netTestValue;
+    }
+    public void setRepairFunc(String repairFunc)
+    {
+        this.repairFunc = repairFunc;
+    }
+
+    public String getRepairFunc()
+    {
+        return repairFunc;
+    }
+    public void setRepairType(String repairType)
+    {
+        this.repairType = repairType;
+    }
+
+    public String getRepairType()
+    {
+        return repairType;
+    }
+    public void setRepairCount(String repairCount)
+    {
+        this.repairCount = repairCount;
+    }
+
+    public String getRepairCount()
+    {
+        return repairCount;
+    }
+    public void setPlantName(String plantName)
+    {
+        this.plantName = plantName;
+    }
+
+    public String getPlantName()
+    {
+        return plantName;
+    }
+    public void setRegionName(String regionName)
+    {
+        this.regionName = regionName;
+    }
+
+    public String getRegionName()
+    {
+        return regionName;
+    }
+    public void setLayer(String layer)
+    {
+        this.layer = layer;
+    }
+
+    public String getLayer()
+    {
+        return layer;
+    }
+    public void setDevName(String devName)
+    {
+        this.devName = devName;
+    }
+
+    public String getDevName()
+    {
+        return devName;
+    }
+    public void setDevCode(String devCode)
+    {
+        this.devCode = devCode;
+    }
+
+    public String getDevCode()
+    {
+        return devCode;
+    }
+    public void setGroupCode(String groupCode)
+    {
+        this.groupCode = groupCode;
+    }
+
+    public String getGroupCode()
+    {
+        return groupCode;
+    }
+    public void setExtendCode(String extendCode)
+    {
+        this.extendCode = extendCode;
+    }
+
+    public String getExtendCode()
+    {
+        return extendCode;
+    }
+    public void setPointType(String pointType)
+    {
+        this.pointType = pointType;
+    }
+
+    public String getPointType()
+    {
+        return pointType;
+    }
+    public void setInstrumentCode(String instrumentCode)
+    {
+        this.instrumentCode = instrumentCode;
+    }
+
+    public String getInstrumentCode()
+    {
+        return instrumentCode;
+    }
+    public void setLeakagePosition(String leakagePosition)
+    {
+        this.leakagePosition = leakagePosition;
+    }
+
+    public String getLeakagePosition()
+    {
+        return leakagePosition;
+    }
+    public void setRepairer(String repairer)
+    {
+        this.repairer = repairer;
+    }
+
+    public String getRepairer()
+    {
+        return repairer;
+    }
+    public void setRepairDate(Date repairDate)
+    {
+        this.repairDate = repairDate;
+    }
+
+    public Date getRepairDate()
+    {
+        return repairDate;
+    }
+    public void setLeakageDegree(String leakageDegree)
+    {
+        this.leakageDegree = leakageDegree;
+    }
+
+    public String getLeakageDegree()
+    {
+        return leakageDegree;
+    }
+    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 setApproveTime(Date approveTime)
+    {
+        this.approveTime = approveTime;
+    }
+
+    public Date getApproveTime()
+    {
+        return approveTime;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+    public void setDelFlag(Integer delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Integer getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(Long createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public Long 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 setPlantId(Long plantId)
+    {
+        this.plantId = plantId;
+    }
+
+    public Long getPlantId()
+    {
+        return plantId;
+    }
+    public void setRegionId(Long regionId)
+    {
+        this.regionId = regionId;
+    }
+
+    public Long getRegionId()
+    {
+        return regionId;
+    }
+    public void setDevId(Long devId)
+    {
+        this.devId = devId;
+    }
+
+    public Long getDevId()
+    {
+        return devId;
+    }
+    public void setInstrumentId(Long instrumentId)
+    {
+        this.instrumentId = instrumentId;
+    }
+
+    public Long getInstrumentId()
+    {
+        return instrumentId;
+    }
+    public void setPlantType(String plantType)
+    {
+        this.plantType = plantType;
+    }
+
+    public String getPlantType()
+    {
+        return plantType;
+    }
+    public void setMediumType(String mediumType)
+    {
+        this.mediumType = mediumType;
+    }
+
+    public String getMediumType()
+    {
+        return mediumType;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("checkId", getCheckId())
+            .append("pointId", getPointId())
+            .append("repairId", getRepairId())
+            .append("netTestValue", getNetTestValue())
+            .append("repairFunc", getRepairFunc())
+            .append("repairType", getRepairType())
+            .append("repairCount", getRepairCount())
+            .append("plantName", getPlantName())
+            .append("regionName", getRegionName())
+            .append("layer", getLayer())
+            .append("devName", getDevName())
+            .append("devCode", getDevCode())
+            .append("groupCode", getGroupCode())
+            .append("extendCode", getExtendCode())
+            .append("pointType", getPointType())
+            .append("instrumentCode", getInstrumentCode())
+            .append("leakagePosition", getLeakagePosition())
+            .append("repairer", getRepairer())
+            .append("repairDate", getRepairDate())
+            .append("leakageDegree", getLeakageDegree())
+            .append("remarks", getRemarks())
+            .append("approveStatus", getApproveStatus())
+            .append("approveTime", getApproveTime())
+            .append("deptId", getDeptId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("plantId", getPlantId())
+            .append("regionId", getRegionId())
+            .append("devId", getDevId())
+            .append("instrumentId", getInstrumentId())
+            .append("plantType", getPlantType())
+            .append("mediumType", getMediumType())
+            .toString();
+    }
+}

+ 7 - 1
master/src/main/java/com/ruoyi/project/check/mapper/TCheckCheckpointsMapper.java

@@ -1,6 +1,9 @@
 package com.ruoyi.project.check.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.base.domain.TBasePoint;
 import com.ruoyi.project.check.domain.TCheckCheckpoints;
 
 /**
@@ -9,7 +12,7 @@ import com.ruoyi.project.check.domain.TCheckCheckpoints;
  * @author ruoyi
  * @date 2022-12-01
  */
-public interface TCheckCheckpointsMapper
+public interface TCheckCheckpointsMapper  extends BaseMapper<TCheckCheckpoints>
 {
     /**
      * 查询检测点
@@ -26,6 +29,8 @@ public interface TCheckCheckpointsMapper
      * @return 检测点集合
      */
     public List<TCheckCheckpoints> selectTCheckCheckpointsList(TCheckCheckpoints tCheckCheckpoints);
+    public TCheckCheckpoints selectTCheckCheckpointByEntity(TCheckCheckpoints tCheckCheckpoints);
+    public List<TCheckCheckpoints> selectPointsByIds(Long[] ids);
 
     /**
      * 新增检测点
@@ -45,6 +50,7 @@ public interface TCheckCheckpointsMapper
     public int updateTCheckCheckpoints(TCheckCheckpoints tCheckCheckpoints);
     public int updateTCheckCheckpointsByCheckIds(TCheckCheckpoints tCheckCheckpoints);
     public int updateTCheckCheckpointsByUpload(TCheckCheckpoints tCheckCheckpoints);
+    public int updateApproveStatusByIds(TCheckCheckpoints tCheckCheckpoints);
 
     /**
      * 删除检测点

+ 71 - 0
master/src/main/java/com/ruoyi/project/check/mapper/TCheckRepairpointsMapper.java

@@ -0,0 +1,71 @@
+package com.ruoyi.project.check.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.check.domain.TCheckCheckpoints;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
+
+/**
+ * 维修点Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-12-06
+ */
+public interface TCheckRepairpointsMapper  extends BaseMapper<TCheckRepairpoints>
+{
+    /**
+     * 查询维修点
+     *
+     * @param checkId 维修点主键
+     * @return 维修点
+     */
+    public TCheckRepairpoints selectTCheckRepairpointsByCheckId(Long checkId);
+
+    /**
+     * 查询维修点列表
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 维修点集合
+     */
+    public List<TCheckRepairpoints> selectTCheckRepairpointsList(TCheckRepairpoints tCheckRepairpoints);
+
+    public List<TCheckRepairpoints> selectTCheckRepairpointsByIds(Long[] ids);
+    public List<TCheckRepairpoints> selectRepairpointsByInspectionId(Long inspectionId);
+
+    /**
+     * 新增维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    public int insertTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints);
+    public int insertTCheckRepairpointsByList(List<TCheckRepairpoints> tCheckRepairpoints);
+
+    /**
+     * 修改维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    public int updateTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints);
+    public int updateTCheckRepairpointsByCheckIds(TCheckRepairpoints tCheckRepairpoints);
+
+    /**
+     * 删除维修点
+     *
+     * @param checkId 维修点主键
+     * @return 结果
+     */
+    public int deleteTCheckRepairpointsByCheckId(Long checkId);
+    public int updateTCheckRepairpointsByUpload(TCheckRepairpoints tCheckRepairpoints);
+    public int updateApproveStatusByIds(TCheckRepairpoints tCheckRepairpoints);
+
+    /**
+     * 批量删除维修点
+     *
+     * @param checkIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTCheckRepairpointsByCheckIds(Long[] checkIds);
+}

+ 3 - 0
master/src/main/java/com/ruoyi/project/check/service/ITCheckCheckpointsService.java

@@ -26,6 +26,8 @@ public interface ITCheckCheckpointsService
      * @return 检测点集合
      */
     public List<TCheckCheckpoints> selectTCheckCheckpointsList(TCheckCheckpoints tCheckCheckpoints);
+    public TCheckCheckpoints selectTCheckCheckpointByEntity(TCheckCheckpoints tCheckCheckpoints);
+    public List<TCheckCheckpoints> selectPointsByIds(Long[] checkIds);
 
     /**
      * 新增检测点
@@ -46,6 +48,7 @@ public interface ITCheckCheckpointsService
     public int updateTCheckCheckpoints(TCheckCheckpoints tCheckCheckpoints);
     public int updateTCheckCheckpointsByUpload(TCheckCheckpoints tCheckCheckpoints);
     public int updateTCheckCheckpointsByCheckIds(TCheckCheckpoints tCheckCheckpoints);
+    public int updateApproveStatusByIds(TCheckCheckpoints tCheckCheckpoints);
 
     /**
      * 批量删除检测点

+ 66 - 0
master/src/main/java/com/ruoyi/project/check/service/ITCheckRepairpointsService.java

@@ -0,0 +1,66 @@
+package com.ruoyi.project.check.service;
+
+import java.util.List;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
+
+/**
+ * 维修点Service接口
+ *
+ * @author ruoyi
+ * @date 2022-12-06
+ */
+public interface ITCheckRepairpointsService
+{
+    /**
+     * 查询维修点
+     *
+     * @param checkId 维修点主键
+     * @return 维修点
+     */
+    public TCheckRepairpoints selectTCheckRepairpointsByCheckId(Long checkId);
+
+    /**
+     * 查询维修点列表
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 维修点集合
+     */
+    public List<TCheckRepairpoints> selectTCheckRepairpointsList(TCheckRepairpoints tCheckRepairpoints);
+
+    /**
+     * 新增维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    public int insertTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints);
+    public int insertTCheckRepairpointsByList(List<TCheckRepairpoints> tCheckRepairpoints);
+    public List<TCheckRepairpoints> selectTCheckRepairpointsByIds(Long[] ids);
+    public List<TCheckRepairpoints> selectRepairpointsByInspectionId(Long inspectionId);
+    /**
+     * 修改维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    public int updateTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints);
+    public int updateTCheckRepairpointsByCheckIds(TCheckRepairpoints tCheckRepairpoints);
+    public int updateTCheckRepairpointsByUpload(TCheckRepairpoints tCheckRepairpoints);
+    public int updateApproveStatusByIds(TCheckRepairpoints tCheckRepairpoints);
+
+    /**
+     * 批量删除维修点
+     *
+     * @param checkIds 需要删除的维修点主键集合
+     * @return 结果
+     */
+    public int deleteTCheckRepairpointsByCheckIds(Long[] checkIds);
+
+    /**
+     * 删除维修点信息
+     *
+     * @param checkId 维修点主键
+     * @return 结果
+     */
+    public int deleteTCheckRepairpointsByCheckId(Long checkId);
+}

+ 19 - 0
master/src/main/java/com/ruoyi/project/check/service/impl/TCheckCheckpointsServiceImpl.java

@@ -43,6 +43,18 @@ public class TCheckCheckpointsServiceImpl implements ITCheckCheckpointsService
         return tCheckCheckpointsMapper.selectTCheckCheckpointsList(tCheckCheckpoints);
     }
 
+    @Override
+    public TCheckCheckpoints selectTCheckCheckpointByEntity(TCheckCheckpoints tCheckCheckpoints)
+    {
+        return tCheckCheckpointsMapper.selectTCheckCheckpointByEntity(tCheckCheckpoints);
+    }
+
+    @Override
+    public List<TCheckCheckpoints> selectPointsByIds(Long[] checkIds)
+    {
+        return tCheckCheckpointsMapper.selectPointsByIds(checkIds);
+    }
+
     /**
      * 新增检测点
      *
@@ -76,12 +88,19 @@ public class TCheckCheckpointsServiceImpl implements ITCheckCheckpointsService
     {
         return tCheckCheckpointsMapper.updateTCheckCheckpointsByUpload(tCheckCheckpoints);
     }
+
     @Override
     public int updateTCheckCheckpointsByCheckIds(TCheckCheckpoints tCheckCheckpoints)
     {
         return tCheckCheckpointsMapper.updateTCheckCheckpointsByCheckIds(tCheckCheckpoints);
     }
 
+    @Override
+    public int updateApproveStatusByIds(TCheckCheckpoints tCheckCheckpoints)
+    {
+        return tCheckCheckpointsMapper.updateApproveStatusByIds(tCheckCheckpoints);
+    }
+
     /**
      * 批量删除检测点
      *

+ 117 - 0
master/src/main/java/com/ruoyi/project/check/service/impl/TCheckRepairpointsServiceImpl.java

@@ -0,0 +1,117 @@
+package com.ruoyi.project.check.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.check.mapper.TCheckRepairpointsMapper;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
+import com.ruoyi.project.check.service.ITCheckRepairpointsService;
+
+/**
+ * 维修点Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-12-06
+ */
+@Service
+public class TCheckRepairpointsServiceImpl implements ITCheckRepairpointsService {
+    @Autowired
+    private TCheckRepairpointsMapper tCheckRepairpointsMapper;
+
+    /**
+     * 查询维修点
+     *
+     * @param checkId 维修点主键
+     * @return 维修点
+     */
+    @Override
+    public TCheckRepairpoints selectTCheckRepairpointsByCheckId(Long checkId) {
+        return tCheckRepairpointsMapper.selectTCheckRepairpointsByCheckId(checkId);
+    }
+
+    /**
+     * 查询维修点列表
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 维修点
+     */
+    @Override
+    public List<TCheckRepairpoints> selectTCheckRepairpointsList(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.selectTCheckRepairpointsList(tCheckRepairpoints);
+    }
+
+    @Override
+    public List<TCheckRepairpoints> selectTCheckRepairpointsByIds(Long[] ids) {
+        return tCheckRepairpointsMapper.selectTCheckRepairpointsByIds(ids);
+    }
+
+    @Override
+    public List<TCheckRepairpoints> selectRepairpointsByInspectionId(Long inspectionId) {
+        return tCheckRepairpointsMapper.selectRepairpointsByInspectionId(inspectionId);
+    }
+
+    /**
+     * 新增维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    @Override
+    public int insertTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.insertTCheckRepairpoints(tCheckRepairpoints);
+    }
+
+    @Override
+    public int insertTCheckRepairpointsByList(List<TCheckRepairpoints> tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.insertTCheckRepairpointsByList(tCheckRepairpoints);
+    }
+
+    /**
+     * 修改维修点
+     *
+     * @param tCheckRepairpoints 维修点
+     * @return 结果
+     */
+    @Override
+    public int updateTCheckRepairpoints(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.updateTCheckRepairpoints(tCheckRepairpoints);
+    }
+
+    @Override
+    public int updateTCheckRepairpointsByCheckIds(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.updateTCheckRepairpointsByCheckIds(tCheckRepairpoints);
+    }
+
+    /**
+     * 批量删除维修点
+     *
+     * @param checkIds 需要删除的维修点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTCheckRepairpointsByCheckIds(Long[] checkIds) {
+        return tCheckRepairpointsMapper.deleteTCheckRepairpointsByCheckIds(checkIds);
+    }
+
+    /**
+     * 删除维修点信息
+     *
+     * @param checkId 维修点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTCheckRepairpointsByCheckId(Long checkId) {
+        return tCheckRepairpointsMapper.deleteTCheckRepairpointsByCheckId(checkId);
+    }
+
+    @Override
+    public int updateTCheckRepairpointsByUpload(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.updateTCheckRepairpointsByUpload(tCheckRepairpoints);
+    }
+
+    @Override
+    public int updateApproveStatusByIds(TCheckRepairpoints tCheckRepairpoints) {
+        return tCheckRepairpointsMapper.updateApproveStatusByIds(tCheckRepairpoints);
+    }
+}

+ 21 - 2
master/src/main/java/com/ruoyi/project/task/controller/TTaskInspectionController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.project.task.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -8,6 +9,9 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.check.domain.TCheckCheckpoints;
+import com.ruoyi.project.check.mapper.TCheckCheckpointsMapper;
+import com.ruoyi.project.check.service.ITCheckCheckpointsService;
 import com.ruoyi.project.task.domain.TTaskInspection;
 import com.ruoyi.project.task.domain.TTaskInspectionPlan;
 import com.ruoyi.project.task.service.ITTaskInspectionPlanService;
@@ -38,6 +42,9 @@ public class TTaskInspectionController extends BaseController {
     @Autowired
     private ITTaskInspectionPlanService taskInspectionPlanService;
 
+    @Autowired
+    private TCheckCheckpointsMapper tCheckCheckpointsMapper;
+
     /**
      * 查询检测任务列表
      */
@@ -55,7 +62,7 @@ public class TTaskInspectionController extends BaseController {
             if (item.getEndTime() != null) {
                 if (item.getEndTime().before(new Date()) && StringUtils.isNotEmpty(item.getTaskNum()) && !item.getTaskNum().equals(item.getTaskDoneNum())) {
                     item.setTimeOut("是");
-                }else if (item.getEndTime().before(new Date())) {
+                } else if (item.getEndTime().before(new Date())) {
                     item.setTimeOut("是");
                 } else {
                     item.setTimeOut("否");
@@ -126,6 +133,18 @@ public class TTaskInspectionController extends BaseController {
     @Log(title = "检测任务分配", businessType = BusinessType.UPDATE)
     @PutMapping("/{ids}")
     public AjaxResult divide(@PathVariable Long[] ids) {
-        return toAjax(tTaskInspectionService.updateTTaskInspectionByIds(ids));
+        QueryWrapper<TCheckCheckpoints> wrapper = new QueryWrapper<>();
+        for (Long id : ids) {
+            wrapper.clear();
+            wrapper.eq("inspection_id", id);
+            Integer count = tCheckCheckpointsMapper.selectCount(wrapper);
+            TTaskInspection tTaskInspection = new TTaskInspection();
+            tTaskInspection.setId(id);
+            tTaskInspection.setTaskNum(count.toString());
+            tTaskInspection.setTaskUndoneNum(count.toString());
+            tTaskInspection.setStatus("1");
+            tTaskInspectionService.updateTTaskInspection(tTaskInspection);
+        }
+        return AjaxResult.success();
     }
 }

+ 22 - 1
master/src/main/java/com/ruoyi/project/task/controller/TTaskRepairController.java

@@ -6,7 +6,13 @@ import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.check.domain.TCheckCheckpoints;
+import com.ruoyi.project.check.domain.TCheckRepairpoints;
+import com.ruoyi.project.check.mapper.TCheckRepairpointsMapper;
+import com.ruoyi.project.task.domain.TTaskInspection;
+import com.ruoyi.project.task.mapper.TTaskRepairMapper;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -39,6 +45,9 @@ public class TTaskRepairController extends BaseController
     @Autowired
     private ITTaskRepairService tTaskRepairService;
 
+    @Autowired
+    private TCheckRepairpointsMapper tTaskRepairpointsMapper;
+
     /**
      * 查询维修任务列表
      */
@@ -129,6 +138,18 @@ public class TTaskRepairController extends BaseController
     @Log(title = "维修任务分配", businessType = BusinessType.UPDATE)
     @PutMapping("/{ids}")
     public AjaxResult divide(@PathVariable Long[] ids) {
-        return toAjax(tTaskRepairService.updateTTaskRepairByIds(ids));
+        QueryWrapper<TCheckRepairpoints> wrapper = new QueryWrapper<>();
+        for (Long id : ids) {
+            wrapper.clear();
+            wrapper.eq("repair_id", id);
+            Integer count = tTaskRepairpointsMapper.selectCount(wrapper);
+            TTaskRepair tTaskRepair = new TTaskRepair();
+            tTaskRepair.setId(id);
+            tTaskRepair.setTaskNum(count.toString());
+            tTaskRepair.setTaskUndoneNum(count.toString());
+            tTaskRepair.setStatus("1");
+            tTaskRepairService.updateTTaskRepair(tTaskRepair);
+        }
+        return AjaxResult.success();
     }
 }

+ 3 - 1
master/src/main/java/com/ruoyi/project/task/mapper/TTaskRepairMapper.java

@@ -1,6 +1,8 @@
 package com.ruoyi.project.task.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.project.task.domain.TTaskRepair;
 
 /**
@@ -9,7 +11,7 @@ import com.ruoyi.project.task.domain.TTaskRepair;
  * @author ruoyi
  * @date 2022-11-30
  */
-public interface TTaskRepairMapper
+public interface TTaskRepairMapper extends BaseMapper<TTaskRepair>
 {
     /**
      * 查询维修任务

+ 3 - 0
master/src/main/java/com/ruoyi/web/controller/common/CommonController.java

@@ -61,6 +61,9 @@ public class CommonController
         }else if ( type.equals("checkPoint") ) {
             downloadname = "LDAR检测复测信息.xlsx";
             url = "static/template/check/checkPoints.xlsx";
+        }else if ( type.equals("repairPoint") ) {
+            downloadname = "LDAR维修数据.xlsx";
+            url = "static/template/check/repairPoints.xlsx";
         }
         InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(url);
 

+ 73 - 0
master/src/main/resources/mybatis/check/TCheckCheckpointsMapper.xml

@@ -36,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="createdate"    column="createdate"    />
         <result property="updaterCode"    column="updater_code"    />
         <result property="updatedate"    column="updatedate"    />
+        <result property="repairId"    column="repair_id"    />
     </resultMap>
 
     <sql id="selectTCheckCheckpointsVo">
@@ -76,10 +77,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="approveTime != null "> and d.approve_time = #{approveTime}</if>
             <if test="deptId != null "> and d.dept_id = #{deptId}</if>
             <if test="choose != null "> and d.inspection_id is null</if>
+            <if test="repairId == null "> and d.repair_id is null</if>
+            <if test="repairId != null "> and d.repair_id is not null</if>
         and d.del_flag = 0
         </where>
     </select>
 
+
+    <select id="selectTCheckCheckpointByEntity" parameterType="TCheckCheckpoints" resultMap="TCheckCheckpointsResult">
+        select d.* from t_check_checkpoints d
+        <where>
+            <if test="pointId != null "> and d.point_id = #{pointId}</if>
+            <if test="instrumentId != null "> and d.instrument_id = #{instrumentId}</if>
+            <if test="inspectionId != null "> and d.inspection_id = #{inspectionId}</if>
+            <if test="testValue != null  and testValue != ''"> and d.test_value = #{testValue}</if>
+            <if test="netTestValue != null  and netTestValue != ''"> and d.net_test_value = #{netTestValue}</if>
+            <if test="plantId != null  and plantId != ''"> and d.plant_id = #{plantId}</if>
+            <if test="plantName != null  and plantName != ''"> and d.plant_name like concat('%', #{plantName}, '%')</if>
+            <if test="regionId != null  and regionId != ''"> and d.region_id= #{regionId}</if>
+            <if test="regionName != null  and regionName != ''"> and d.region_name like concat('%', #{regionName}, '%')</if>
+            <if test="layer != null  and layer != ''"> and d.layer = #{layer}</if>
+            <if test="devId != null  and devId != ''"> and d.dev_id =  #{devId}</if>
+            <if test="devName != null  and devName != ''"> and d.dev_name like concat('%', #{devName}, '%')</if>
+            <if test="devCode != null  and devCode != ''"> and d.dev_code = #{devCode}</if>
+            <if test="groupCode != null  and groupCode != ''"> and d.group_code = #{groupCode}</if>
+            <if test="extendCode != null  and extendCode != ''"> and d.extend_code = #{extendCode}</if>
+            <if test="pointType != null  and pointType != ''"> and d.point_type = #{pointType}</if>
+            <if test="instrumentCode != null  and instrumentCode != ''"> and d.instrument_code = #{instrumentCode}</if>
+            <if test="leakagePosition != null  and leakagePosition != ''"> and d.leakage_position = #{leakagePosition}</if>
+            <if test="checker != null  and checker != ''"> and d.checker = #{checker}</if>
+            <if test="checkDate != null "> and d.check_date = #{checkDate}</if>
+            <if test="leakageDegree != null  and leakageDegree != ''"> and d.leakage_degree = #{leakageDegree}</if>
+            <if test="remarks != null  and remarks != ''"> and d.remarks = #{remarks}</if>
+            <if test="approveStatus != null "> and d.approve_status = #{approveStatus}</if>
+            <if test="approveTime != null "> and d.approve_time = #{approveTime}</if>
+            <if test="deptId != null "> and d.dept_id = #{deptId}</if>
+            <if test="choose != null "> and d.inspection_id is null</if>
+        and d.del_flag = 0
+        </where>
+    </select>
+
+    <select id="selectPointsByIds" parameterType="String" resultMap="TCheckCheckpointsResult">
+        select d.medium_type,d.plant_type,d.check_id,d.point_id, d.instrument_id, d.inspection_id, d.test_value, d.net_test_value, d.plant_id,d.plant_name,
+        d.region_id, d.layer, d.dev_id, d.group_code, d.extend_code, d.point_type, d.instrument_code,
+        leakage_position, d.checker, d.check_date, d.leakage_degree, d.remarks, d.approve_status, d.approve_time, d.dept_id, d.del_flag,
+        d.creater_code, d.createdate, d.updater_code, d.updatedate,br.region_name,bd.dev_code,bd.dev_describe as dev_name from t_check_checkpoints d
+        left join t_base_region br on d.region_id = br.region_id
+        left join t_base_device bd on d.dev_id = bd.dev_id where d.check_id in
+        <foreach item="checkId" collection="array" open="(" separator="," close=")">
+            #{checkId}
+        </foreach>
+    </select>
+
     <select id="selectPointsByPlantNameGroupCodeAndExtendCode" parameterType="TCheckCheckpoints" resultMap="TCheckCheckpointsResult">
         select *from t_check_checkpoints d
         <where>
@@ -209,6 +258,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             updatedate,
             plant_type,
             medium_type,
+            repair_id,
         </trim>
         values
         <foreach collection="list" index="index" separator="," item="item">
@@ -228,6 +278,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 #{item.updatedate},
                 #{item.plantType},
                 #{item.mediumType},
+                <if test="item.repairId!=null">#{item.repairId},</if>
+                <if test="item.repairId==null">null,</if>
             </trim>
         </foreach>
     </insert>
@@ -285,6 +337,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where plant_name=#{plantName} and group_code=#{groupCode} and extend_code=#{extendCode} and inspection_id=#{inspectionId} and (approve_status is null or approve_status=0)
     </update>
 
+    <update id="updateApproveStatusByIds" parameterType="TCheckCheckpoints">
+        update t_check_checkpoints
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+        </trim>
+        <where>
+            check_id in
+            <foreach item="checkId" collection="checkIds" open="(" separator="," close=")">
+                #{checkId}
+            </foreach>
+            <if test="approveStatus ==1">
+                and approve_status=0
+            </if>
+            <if test="approveStatus ==2">
+                and approve_status=1
+            </if>
+        </where>
+    </update>
+
+
+
     <delete id="deleteTCheckCheckpointsByCheckId" parameterType="Long">
         update t_check_checkpoints set del_flag=1 where check_id = #{checkId}
     </delete>

+ 356 - 0
master/src/main/resources/mybatis/check/TCheckRepairpointsMapper.xml

@@ -0,0 +1,356 @@
+<?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.check.mapper.TCheckRepairpointsMapper">
+
+    <resultMap type="TCheckRepairpoints" id="TCheckRepairpointsResult">
+        <result property="checkId"    column="check_id"    />
+        <result property="pointId"    column="point_id"    />
+        <result property="repairId"    column="repair_id"    />
+        <result property="netTestValue"    column="net_test_value"    />
+        <result property="repairFunc"    column="repair_func"    />
+        <result property="repairType"    column="repair_type"    />
+        <result property="repairCount"    column="repair_count"    />
+        <result property="plantName"    column="plant_name"    />
+        <result property="regionName"    column="region_name"    />
+        <result property="layer"    column="layer"    />
+        <result property="devName"    column="dev_name"    />
+        <result property="devCode"    column="dev_code"    />
+        <result property="groupCode"    column="group_code"    />
+        <result property="extendCode"    column="extend_code"    />
+        <result property="pointType"    column="point_type"    />
+        <result property="instrumentCode"    column="instrument_code"    />
+        <result property="leakagePosition"    column="leakage_position"    />
+        <result property="repairer"    column="repairer"    />
+        <result property="repairDate"    column="repair_date"    />
+        <result property="leakageDegree"    column="leakage_degree"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="approveStatus"    column="approve_status"    />
+        <result property="approveTime"    column="approve_time"    />
+        <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="plantId"    column="plant_id"    />
+        <result property="regionId"    column="region_id"    />
+        <result property="devId"    column="dev_id"    />
+        <result property="instrumentId"    column="instrument_id"    />
+        <result property="plantType"    column="plant_type"    />
+        <result property="mediumType"    column="medium_type"    />
+    </resultMap>
+
+    <sql id="selectTCheckRepairpointsVo">
+        select check_id, point_id, repair_id, net_test_value, repair_func, repair_type, repair_count, plant_name, region_name, layer, dev_name, dev_code, group_code, extend_code, point_type, instrument_code, leakage_position, repairer, repair_date, leakage_degree, remarks, approve_status, approve_time, dept_id, del_flag, creater_code, createdate, updater_code, updatedate, plant_id, region_id, dev_id, instrument_id, plant_type, medium_type from t_check_repairpoints
+    </sql>
+
+    <select id="selectTCheckRepairpointsList" parameterType="TCheckRepairpoints" resultMap="TCheckRepairpointsResult">
+        <include refid="selectTCheckRepairpointsVo"/>
+        <where>
+            <if test="pointId != null "> and point_id = #{pointId}</if>
+            <if test="repairId != null "> and repair_id = #{repairId}</if>
+            <if test="netTestValue != null  and netTestValue != ''"> and net_test_value = #{netTestValue}</if>
+            <if test="repairFunc != null  and repairFunc != ''"> and repair_func = #{repairFunc}</if>
+            <if test="repairType != null  and repairType != ''"> and repair_type = #{repairType}</if>
+            <if test="repairCount != null  and repairCount != ''"> and repair_count = #{repairCount}</if>
+            <if test="plantName != null  and plantName != ''"> and plant_name like concat('%', #{plantName}, '%')</if>
+            <if test="regionName != null  and regionName != ''"> and region_name like concat('%', #{regionName}, '%')</if>
+            <if test="layer != null  and layer != ''"> and layer = #{layer}</if>
+            <if test="devName != null  and devName != ''"> and dev_name like concat('%', #{devName}, '%')</if>
+            <if test="devCode != null  and devCode != ''"> and dev_code = #{devCode}</if>
+            <if test="groupCode != null  and groupCode != ''"> and group_code = #{groupCode}</if>
+            <if test="extendCode != null  and extendCode != ''"> and extend_code = #{extendCode}</if>
+            <if test="pointType != null  and pointType != ''"> and point_type = #{pointType}</if>
+            <if test="instrumentCode != null  and instrumentCode != ''"> and instrument_code = #{instrumentCode}</if>
+            <if test="leakagePosition != null  and leakagePosition != ''"> and leakage_position = #{leakagePosition}</if>
+            <if test="repairer != null  and repairer != ''"> and repairer = #{repairer}</if>
+            <if test="repairDate != null "> and repair_date = #{repairDate}</if>
+            <if test="leakageDegree != null  and leakageDegree != ''"> and leakage_degree = #{leakageDegree}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="approveStatus != null "> and approve_status = #{approveStatus}</if>
+            <if test="approveTime != null "> and approve_time = #{approveTime}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="createrCode != null "> 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="plantId != null "> and plant_id = #{plantId}</if>
+            <if test="regionId != null "> and region_id = #{regionId}</if>
+            <if test="devId != null "> and dev_id = #{devId}</if>
+            <if test="instrumentId != null "> and instrument_id = #{instrumentId}</if>
+            <if test="plantType != null  and plantType != ''"> and plant_type = #{plantType}</if>
+            <if test="mediumType != null  and mediumType != ''"> and medium_type = #{mediumType}</if>
+            <if test="choose != null "> and repair_id is null</if>
+        and del_flag = 0
+        </where>
+    </select>
+
+    <select id="selectTCheckRepairpointsByCheckId" parameterType="Long" resultMap="TCheckRepairpointsResult">
+        <include refid="selectTCheckRepairpointsVo"/>
+        where check_id = #{checkId}
+    </select>
+
+    <select id="selectRepairpointsByInspectionId" parameterType="Long" resultMap="TCheckRepairpointsResult">
+        <include refid="selectTCheckRepairpointsVo"/>
+        where check_id in (select repair_id from t_check_checkpoints where inspection_id=#{inspectionId})
+    </select>
+
+    <select id="selectTCheckRepairpointsByIds" parameterType="Long" resultMap="TCheckRepairpointsResult">
+        <include refid="selectTCheckRepairpointsVo"/> where check_id in
+        <foreach item="checkId" collection="array" open="(" separator="," close=")">
+            #{checkId}
+        </foreach>
+    </select>
+
+    <insert id="insertTCheckRepairpoints" parameterType="TCheckRepairpoints" useGeneratedKeys="true" keyProperty="checkId">
+        insert into t_check_repairpoints
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="pointId != null">point_id,</if>
+            <if test="repairId != null">repair_id,</if>
+            <if test="netTestValue != null">net_test_value,</if>
+            <if test="repairFunc != null">repair_func,</if>
+            <if test="repairType != null">repair_type,</if>
+            <if test="repairCount != null">repair_count,</if>
+            <if test="plantName != null">plant_name,</if>
+            <if test="regionName != null">region_name,</if>
+            <if test="layer != null">layer,</if>
+            <if test="devName != null">dev_name,</if>
+            <if test="devCode != null">dev_code,</if>
+            <if test="groupCode != null">group_code,</if>
+            <if test="extendCode != null">extend_code,</if>
+            <if test="pointType != null">point_type,</if>
+            <if test="instrumentCode != null">instrument_code,</if>
+            <if test="leakagePosition != null">leakage_position,</if>
+            <if test="repairer != null">repairer,</if>
+            <if test="repairDate != null">repair_date,</if>
+            <if test="leakageDegree != null">leakage_degree,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="approveStatus != null">approve_status,</if>
+            <if test="approveTime != null">approve_time,</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="plantId != null">plant_id,</if>
+            <if test="regionId != null">region_id,</if>
+            <if test="devId != null">dev_id,</if>
+            <if test="instrumentId != null">instrument_id,</if>
+            <if test="plantType != null">plant_type,</if>
+            <if test="mediumType != null">medium_type,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="pointId != null">#{pointId},</if>
+            <if test="repairId != null">#{repairId},</if>
+            <if test="netTestValue != null">#{netTestValue},</if>
+            <if test="repairFunc != null">#{repairFunc},</if>
+            <if test="repairType != null">#{repairType},</if>
+            <if test="repairCount != null">#{repairCount},</if>
+            <if test="plantName != null">#{plantName},</if>
+            <if test="regionName != null">#{regionName},</if>
+            <if test="layer != null">#{layer},</if>
+            <if test="devName != null">#{devName},</if>
+            <if test="devCode != null">#{devCode},</if>
+            <if test="groupCode != null">#{groupCode},</if>
+            <if test="extendCode != null">#{extendCode},</if>
+            <if test="pointType != null">#{pointType},</if>
+            <if test="instrumentCode != null">#{instrumentCode},</if>
+            <if test="leakagePosition != null">#{leakagePosition},</if>
+            <if test="repairer != null">#{repairer},</if>
+            <if test="repairDate != null">#{repairDate},</if>
+            <if test="leakageDegree != null">#{leakageDegree},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="approveStatus != null">#{approveStatus},</if>
+            <if test="approveTime != null">#{approveTime},</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="plantId != null">#{plantId},</if>
+            <if test="regionId != null">#{regionId},</if>
+            <if test="devId != null">#{devId},</if>
+            <if test="instrumentId != null">#{instrumentId},</if>
+            <if test="plantType != null">#{plantType},</if>
+            <if test="mediumType != null">#{mediumType},</if>
+         </trim>
+    </insert>
+
+    <insert id="insertTCheckRepairpointsByList" parameterType="TCheckRepairpoints">
+        insert into t_check_repairpoints
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            point_id,
+            net_test_value,
+            plant_name,
+            region_name,
+            layer,
+            dev_name,
+            dev_code,
+            group_code,
+            extend_code,
+            point_type,
+            instrument_code,
+            leakage_position,
+            leakage_degree,
+            approve_status,
+            creater_code,
+            createdate,
+            updater_code,
+            updatedate,
+            plant_id,
+            region_id,
+            dev_id,
+            instrument_id,
+            plant_type,
+            medium_type,
+         </trim>
+        values
+        <foreach collection="list" index="index" separator="," item="item">
+            <trim prefix="(" suffix=")" suffixOverrides=",">
+                #{item.pointId},
+                #{item.netTestValue},
+                #{item.plantName},
+                #{item.regionName},
+                #{item.layer},
+                #{item.devName},
+                #{item.devCode},
+                #{item.groupCode},
+                #{item.extendCode},
+                #{item.pointType},
+                #{item.instrumentCode},
+                #{item.leakagePosition},
+                #{item.leakageDegree},
+                #{item.approveStatus},
+                #{item.createrCode},
+                #{item.createdate},
+                #{item.updaterCode},
+                #{item.updatedate},
+                #{item.plantId},
+                #{item.regionId},
+                #{item.devId},
+                #{item.instrumentId},
+                #{item.plantType},
+                #{item.mediumType},
+            </trim>
+        </foreach>
+    </insert>
+
+    <update id="updateTCheckRepairpoints" parameterType="TCheckRepairpoints">
+        update t_check_repairpoints
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="pointId != null">point_id = #{pointId},</if>
+            <if test="repairId != null">repair_id = #{repairId},</if>
+            <if test="netTestValue != null">net_test_value = #{netTestValue},</if>
+            <if test="repairFunc != null">repair_func = #{repairFunc},</if>
+            <if test="repairType != null">repair_type = #{repairType},</if>
+            <if test="repairCount != null">repair_count = #{repairCount},</if>
+            <if test="plantName != null">plant_name = #{plantName},</if>
+            <if test="regionName != null">region_name = #{regionName},</if>
+            <if test="layer != null">layer = #{layer},</if>
+            <if test="devName != null">dev_name = #{devName},</if>
+            <if test="devCode != null">dev_code = #{devCode},</if>
+            <if test="groupCode != null">group_code = #{groupCode},</if>
+            <if test="extendCode != null">extend_code = #{extendCode},</if>
+            <if test="pointType != null">point_type = #{pointType},</if>
+            <if test="instrumentCode != null">instrument_code = #{instrumentCode},</if>
+            <if test="leakagePosition != null">leakage_position = #{leakagePosition},</if>
+            <if test="repairer != null">repairer = #{repairer},</if>
+            <if test="repairDate != null">repair_date = #{repairDate},</if>
+            <if test="leakageDegree != null">leakage_degree = #{leakageDegree},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+            <if test="approveTime != null">approve_time = #{approveTime},</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="plantId != null">plant_id = #{plantId},</if>
+            <if test="regionId != null">region_id = #{regionId},</if>
+            <if test="devId != null">dev_id = #{devId},</if>
+            <if test="instrumentId != null">instrument_id = #{instrumentId},</if>
+            <if test="plantType != null">plant_type = #{plantType},</if>
+            <if test="mediumType != null">medium_type = #{mediumType},</if>
+        </trim>
+        where check_id = #{checkId}
+    </update>
+
+    <update id="updateTCheckRepairpointsByUpload" parameterType="TCheckRepairpoints">
+        update t_check_repairpoints
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="repairer != null">repairer = #{repairer},</if>
+            <if test="repairDate != null">repair_date = #{repairDate},</if>
+            <if test="repairFunc != null">repair_func = #{repairFunc},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+        </trim>
+        where plant_name=#{plantName} and group_code=#{groupCode} and extend_code=#{extendCode} and repair_id=#{repairId} and (approve_status is null or approve_status=0)
+    </update>
+
+    <update id="updateApproveStatusByIds" parameterType="TCheckCheckpoints">
+        update t_check_repairpoints
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+        </trim>
+        <where>
+            check_id in
+            <foreach item="checkId" collection="checkIds" open="(" separator="," close=")">
+                #{checkId}
+            </foreach>
+            <if test="approveStatus ==1">
+                and approve_status=0
+            </if>
+            <if test="approveStatus ==2">
+                and approve_status=1
+            </if>
+        </where>
+    </update>
+
+
+    <delete id="deleteTCheckRepairpointsByCheckId" parameterType="Long">
+        update t_check_repairpoints set del_flag=1 where check_id = #{checkId}
+    </delete>
+
+    <delete id="deleteTCheckRepairpointsByCheckIds" parameterType="String">
+        update t_check_repairpoints set del_flag=1 where check_id in
+        <foreach item="checkId" collection="array" open="(" separator="," close=")">
+            #{checkId}
+        </foreach>
+    </delete>
+
+    <update id="updateTCheckRepairpointsByCheckIds" parameterType="TCheckRepairpoints">
+        <if test="choose == 1">
+            update t_check_repairpoints set repair_id=#{repairId} where check_id in
+            <foreach item="checkId" collection="checkIds" open="(" separator="," close=")">
+                #{checkId}
+            </foreach>
+        </if>
+        <if test="choose == 2">
+            update t_check_repairpoints set repair_id = null where check_id in
+            <foreach item="checkId" collection="checkIds" open="(" separator="," close=")">
+                #{checkId}
+            </foreach>
+        </if>
+        <if test="choose == 3">
+            update t_check_repairpoints set repair_id = #{repairId} where check_id in
+            (select t.check_id from (select check_id from t_check_repairpoints d
+            <where>
+                <if test="plantId != null  and plantId != ''">and d.plant_id = #{plantId}</if>
+                <if test="regionId != null  and regionId != ''">and d.region_id= #{regionId}</if>
+                <if test="devId != null  and devId != ''">and d.dev_id = #{devId}</if>
+                and d.repair_id is null
+            </where>
+            ) t)
+        </if>
+        <if test="choose == 4">
+            update t_check_repairpoints set repair_id = null where repair_id =#{repairId}
+        </if>
+    </update>
+</mapper>

二進制
master/src/main/resources/static/template/check/repairPoints.xlsx


+ 9 - 0
ui/src/api/check/checkpoints.js

@@ -42,3 +42,12 @@ export function delCheckpoints(checkId) {
     method: 'delete'
   })
 }
+
+//送审审核
+export function approveCheckpoints(data) {
+  return request({
+    url: '/check/checkpoints/toApprove',
+    method: 'put',
+    data: data
+  })
+}

+ 61 - 0
ui/src/api/check/repairpoints.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询维修点列表
+export function listRepairpoints(query) {
+  return request({
+    url: '/check/repairpoints/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询维修点列表
+export function byInspectionId(inspectionId) {
+  return request({
+    url: '/check/repairpoints/byInspectionId/'+inspectionId,
+    method: 'get',
+  })
+}
+
+// 查询维修点详细
+export function getRepairpoints(checkId) {
+  return request({
+    url: '/check/repairpoints/' + checkId,
+    method: 'get'
+  })
+}
+
+// 新增维修点
+export function addRepairpoints(data) {
+  return request({
+    url: '/check/repairpoints',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改维修点
+export function updateRepairpoints(data) {
+  return request({
+    url: '/check/repairpoints',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除维修点
+export function delRepairpoints(checkId) {
+  return request({
+    url: '/check/repairpoints/' + checkId,
+    method: 'delete'
+  })
+}
+
+//送审审核
+export function approveRepairpoints(data) {
+  return request({
+    url: '/check/repairpoints/toApprove',
+    method: 'put',
+    data: data
+  })
+}

+ 0 - 12
ui/src/views/check/inspectionCheck/index.vue

@@ -42,18 +42,6 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click=""
-          :disabled="single"
-          v-hasPermi="['check:inspection:export']"
-        >导出任务清单
-        </el-button>
-      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 

+ 53 - 25
ui/src/views/check/inspectionCheck/pointEnter.vue

@@ -92,11 +92,14 @@
                   @selection-change="saveLeft"
                   ref="leftData" :cell-style="tableCellStyle">
           <el-table-column type="selection" align="center" fixed="left"></el-table-column>
-          <el-table-column label="审核状态" fixed="left" align="center" prop="approveStatus" width="80" :formatter="approveStatusFormat"/>
-          <el-table-column label="检测值" align="center" prop="testValue" v-if="!checkAgain" width="80"/>
-          <el-table-column label="复测值" align="center" prop="testValue" v-else width="80"/>
-          <el-table-column label="净检测值" align="center" prop="netTestValue" width="80"/>
-          <el-table-column label="泄露程度" align="center" prop="leakageDegree" width="80" :formatter="leakageFormat"/>
+
+          <el-table-column label="检测值" fixed="left" align="center" prop="testValue" v-if="!checkAgain" width="80"/>
+          <el-table-column label="复测值" fixed="left" align="center" prop="testValue" v-else width="80"/>
+          <el-table-column label="净检测值" fixed="left" align="center" prop="netTestValue" width="80"/>
+          <el-table-column label="泄露程度" fixed="left" align="center" prop="leakageDegree" width="80"
+                           :formatter="leakageFormat"/>
+          <el-table-column label="审核状态" fixed="left" align="center" prop="approveStatus" width="80"
+                           :formatter="approveStatusFormat" v-if="!checkAgain"/>
           <el-table-column label="装置名称" align="center" prop="plantName" width="120"
                            :show-overflow-tooltip="true"/>
           <el-table-column label="区域名称" align="center" prop="regionName" width="120"
@@ -177,11 +180,10 @@
 </template>
 
 <script>
-import {
-  listCheckpoints, updateCheckpoints,
-} from "@/api/check/checkpoints";
+import {approveCheckpoints, listCheckpoints,} from "@/api/check/checkpoints";
 import {getAllPlantName} from "@/api/base/plant";
 import {getToken} from "@/utils/auth";
+import {byInspectionId} from "@/api/check/repairpoints";
 
 export default {
   name: "pointEnter",
@@ -236,7 +238,7 @@ export default {
       inspectionId: 0,
       pointOptions: [],
       plantOperation: [],
-      isEnter:false,
+      isEnter: false,
       // 用户导入参数
       upload: {
         downloadAction: process.env.VUE_APP_BASE_API + '/common/template',
@@ -259,22 +261,22 @@ export default {
   },
   methods: {
     tableCellStyle({row, column, rowIndex, columnIndex}) {
-      if (columnIndex === 1 && row.approveStatus == 2) {
+      if (columnIndex === 4 && row.approveStatus == 2 && !this.checkAgain) {
         return "color:#00ff00;";
       }
-      if (columnIndex === 1 && row.approveStatus == 1) {
+      if (columnIndex === 4 && row.approveStatus == 1 && !this.checkAgain) {
         return "color:#0000FF;";
       }
-      if (columnIndex === 1 && row.approveStatus == 0) {
+      if (columnIndex === 4 && row.approveStatus == 0 && !this.checkAgain) {
         return "color:#ff0000;";
       }
-      if (columnIndex === 4 && row.leakageDegree == 1) {
+      if (columnIndex === 3 && row.leakageDegree == 1) {
         return "color:#00ff00;font-size:200%";
       }
-      if (columnIndex === 4 && row.leakageDegree == 2) {
+      if (columnIndex === 3 && row.leakageDegree == 2) {
         return "color:#FFDF00;font-size:200%";
       }
-      if (columnIndex === 4 && row.leakageDegree == 3) {
+      if (columnIndex === 3 && row.leakageDegree == 3) {
         return "color:#ff0000;font-size:200%";
       }
     },
@@ -344,12 +346,11 @@ export default {
       this.row = row;
       this.queryParams.plantId = row.plantId;
       this.queryParams.inspectionId = row.id;
-      this.upload.url += this.upload.url.endsWith('/') ?   row.id:'';
-      if (row.isEnter&&row.status==1){
-        this.isEnter=true;
+      this.upload.url += this.upload.url.endsWith('/') ? row.id : '';
+      if (row.isEnter && row.status == 1) {
+        this.isEnter = true;
       }
       this.dialog.dialogFormVisible = true;
-      this.checkAgain = row.taskType == 2 ? true : false;
       this.getList();
       this.getDicts("point_type").then(response => {
         this.pointOptions = response.data;
@@ -364,10 +365,26 @@ export default {
     },
     /** 查询检测点列表 */
     getList() {
-      listCheckpoints(this.queryParams).then(response => {
-        this.leftData = response.rows;
-        this.leftTotal = response.total;
-      });
+      if (this.row.taskType == 2 && !this.isEnter) {// 分配页面进来
+        this.checkAgain = this.row.taskType == 2 ? true : false;
+        this.queryParams.repairId = 0;
+        byInspectionId(this.row.id).then(response => {
+          this.leftData = response.rows;
+          this.leftTotal = response.total;
+        })
+      } else {
+        this.checkAgain= false;
+        if (this.row.taskType == 2) { //录入页面进来
+          this.queryParams.repairId = 0;
+        } else {
+          this.queryParams.repairId = null;
+        }
+        listCheckpoints(this.queryParams).then(response => {
+          this.leftData = response.rows;
+          this.leftTotal = response.total;
+        });
+      }
+
     },
     saveLeft(rows) {
       this.left = [];
@@ -377,10 +394,21 @@ export default {
       }
     },
     handleToApprove() {
-      alert("功能开发中......")
+      let data = {};
+      data.checkIds = this.left;
+      data.approveStatus = 1;
+      approveCheckpoints(data).then(response => {
+        this.getList();
+      })
     },
     handleApprove() {
-      alert("功能开发中......")
+      let data = {};
+      data.checkIds = this.left;
+      data.approveStatus = 2;
+      data.inspectionId = this.row.id;
+      approveCheckpoints(data).then(response => {
+        this.getList();
+      })
     }
   }
 }

+ 12 - 13
ui/src/views/check/repairCheck/index.vue

@@ -42,18 +42,6 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :disabled="single"
-          @click=""
-          v-hasPermi="['task:repair:export']"
-        >导出任务清单
-        </el-button>
-      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -93,7 +81,7 @@
             size="mini"
             type="text"
             icon="el-icon-s-order"
-            @click=""
+            @click="openPointVisible(scope.row)"
           >维修点清单
           </el-button>
         </template>
@@ -107,6 +95,7 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
+    <repair-enter v-if="repairVisible" ref="repairList"></repair-enter>
   </div>
 </template>
 
@@ -114,11 +103,14 @@
 import {listRepair, getRepair, delRepair, addRepair, updateRepair} from "@/api/task/repair";
 import {divideInspection} from "@/api/task/inspection";
 import {getAllPlantName} from "@/api/base/plant";
+import RepairEnter from "@/views/check/repairCheck/repairEnter";
 
 export default {
   name: "Repair",
+  components: {RepairEnter},
   data() {
     return {
+      repairVisible:false,
       divideOperation: [],
       taskTypeOperation:[],
       plantOperation:[],
@@ -187,6 +179,13 @@ export default {
     });
   },
   methods: {
+    openPointVisible(row){
+      row.isEnter=true;
+      this.repairVisible = true;
+      this.$nextTick(() => {
+        this.$refs.repairList.openDialog(row)
+      })
+    },
     taskTypeFormat(row, column) {
       return this.selectDictLabel(this.taskTypeOperation, row.taskType);
     },

+ 418 - 0
ui/src/views/check/repairCheck/repairEnter.vue

@@ -0,0 +1,418 @@
+<template xmlns="http://www.w3.org/1999/html">
+  <div class="checkTable">
+    <el-dialog :visible.sync="dialog.dialogFormVisible" width="1800px" :close-on-click-modal="false"
+               title='检测点清单'>
+      <el-row>
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+          <el-form-item label="装置" prop="plantId">
+            <el-select v-model="queryParams.plantId" @change="handleQuery"
+                       placeholder="请选择装置" clearable size="small" disabled>
+              <el-option
+                v-for="plant in plantOperation"
+                :key="plant.plantId"
+                :label="plant.plantName"
+                :value="plant.plantId"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="群组编码" prop="groupCode">
+            <el-input
+              v-model="queryParams.groupCode"
+              placeholder="请输入群组编码"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="密封点类型" prop="pointType" label-width="90px">
+            <el-select v-model="queryParams.pointType" @change="handleQuery" placeholder="请选择密封点类型" clearable
+                       size="small">
+              <el-option
+                v-for="dict in pointOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExport"
+            v-hasPermi="['check:checkpoints:export']"
+          >导出检测点清单
+          </el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-upload"
+            size="mini"
+            @click="handleImport"
+            v-if="isEnter"
+            v-hasPermi="['check:checkpoints:add']"
+          >导入检测数据
+          </el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="info"
+            plain
+            icon="el-icon-position"
+            size="mini"
+            @click="handleToApprove"
+            v-if="isEnter"
+          >送审
+          </el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="info"
+            plain
+            icon="el-icon-s-check"
+            size="mini"
+            @click="handleApprove"
+            v-if="isEnter"
+          >审核
+          </el-button>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-table :data="leftData" style="width: 100%;" height="500px" border
+                  @selection-change="saveLeft"
+                  ref="leftData" :cell-style="tableCellStyle">
+          <el-table-column type="selection" align="center" fixed="left"></el-table-column>
+          <el-table-column label="审核状态" fixed="left" align="center" prop="approveStatus" width="80"
+                           :formatter="approveStatusFormat"/>
+          <el-table-column label="净检测值" align="center" prop="netTestValue" width="80"/>
+          <el-table-column label="泄漏程度" align="center" prop="leakageDegree" width="80" :formatter="leakageFormat"/>
+          <el-table-column label="泄露部位" align="center" prop="leakagePosition" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="维修方法" align="center" prop="repairFunc" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="维修状态" align="center" prop="repairType" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="维修次数" align="center" prop="repairCount" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="装置名称" align="center" prop="plantName" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="区域名称" align="center" prop="regionName" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="平台(层)" align="center" prop="layer" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="设备/管线名称" align="center" prop="devName" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="设备/管线编号" align="center" prop="devCode" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="群组编码" align="center" prop="groupCode" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="密封点扩展号编码" align="center" prop="extendCode" width="150"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="密封点类型" align="center" prop="pointType" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="仪器编号" align="center" prop="instrumentCode" width="130"
+                           :show-overflow-tooltip="true"/>
+          <el-table-column label="维修人员" align="center" prop="repairer" width="130" :show-overflow-tooltip="true"/>
+          <el-table-column label="维修日期" align="center" prop="repairDate" width="180" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.repairDate, '{y}-{m}-{d}') }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="leftTotal>0"
+          :total="leftTotal"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </el-row>
+      <div slot="footer" class="dialog-footer" style="text-align: center">
+        <el-button @click="cancel">返回</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 用户导入对话框 -->
+    <el-dialog v-dialogDrag :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"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          {{ $t('将文件拖到此处,或') }}
+          <em>{{ $t('点击上传') }}</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">{{ $t('下载模板') }}</el-link>
+        </div>
+        <form ref="downloadFileForm" :action="upload.downloadAction" target="FORMSUBMIT">
+          <input name="type" :value="upload.type" hidden/>
+        </form>
+        <div class="el-upload__tip" style="color:red" slot="tip">{{ $t('提示:仅允许导入“xls”或“xlsx”格式文件!') }}</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm" v-loading.fullscreen.lock="fullscreenLoading">{{
+            $t('确 定')
+          }}
+        </el-button>
+        <el-button @click="upload.open = false">{{ $t('取 消') }}</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getAllPlantName} from "@/api/base/plant";
+import {getToken} from "@/utils/auth";
+import {approveRepairpoints, listRepairpoints} from "@/api/check/repairpoints";
+
+export default {
+  name: "repairEnter",
+  data() {
+    return {
+      leftTotal: 0,
+      checkAgain: false,
+      fullscreenLoading: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        pointId: null,
+        repairId: null,
+        netTestValue: null,
+        repairFunc: null,
+        repairType: null,
+        repairCount: null,
+        plantName: null,
+        regionName: null,
+        layer: null,
+        devName: null,
+        devCode: null,
+        groupCode: null,
+        extendCode: null,
+        pointType: null,
+        instrumentCode: null,
+        leakagePosition: null,
+        repairer: null,
+        repairDate: null,
+        leakageDegree: null,
+        remarks: null,
+        approveStatus: null,
+        approveTime: null,
+        deptId: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        plantId: null,
+        regionId: null,
+        devId: null,
+        instrumentId: null,
+        plantType: null,
+        mediumType: null,
+        choose: null,
+      },
+      row: {},
+      leftData: [],
+      left: [],  //左边选中的数据
+      leftMultiple: true,
+      approveStatusOperation: [],
+      dialog: {
+        dialogFormVisible: false,
+      },
+      repairId: 0,
+      pointOptions: [],
+      plantOperation: [],
+      isEnter: false,
+      // 用户导入参数
+      upload: {
+        downloadAction: process.env.VUE_APP_BASE_API + '/common/template',
+        //下载模板类型
+        type: "repairPoint",
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: "Bearer " + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/check/repairpoints/importData/",
+      },
+    }
+  },
+  methods: {
+    tableCellStyle({row, column, rowIndex, columnIndex}) {
+      if (columnIndex === 1 && row.approveStatus == 2) {
+        return "color:#00ff00;";
+      }
+      if (columnIndex === 1 && row.approveStatus == 1) {
+        return "color:#0000FF;";
+      }
+      if (columnIndex === 1 && row.approveStatus == 0) {
+        return "color:#ff0000;";
+      }
+      if (columnIndex === 3 && row.leakageDegree == 1) {
+        return "color:#00ff00;font-size:200%";
+      }
+      if (columnIndex === 3 && row.leakageDegree == 2) {
+        return "color:#FFDF00;font-size:200%";
+      }
+      if (columnIndex === 3 && row.leakageDegree == 3) {
+        return "color:#ff0000;font-size:200%";
+      }
+    },
+    leakageFormat(row, column) {
+      return row.leakageDegree ? "●" : null;
+    },
+    approveStatusFormat(row, column) {
+      return this.selectDictLabel(this.approveStatusOperation, row.approveStatus);
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+      this.fullscreenLoading = true;
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = this.$t('用户导入');
+      this.upload.open = true;
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('check/checkpoints/export', {
+        ...this.queryParams
+      }, `checkpoints_${new Date().getTime()}.xlsx`)
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      this.$refs['downloadFileForm'].submit()
+    },
+    // 文件上传中处理
+    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.fullscreenLoading = false;
+      if (response.data === 0) {
+        this.$alert(this.$t('导入失败!') + response.msg, this.$t('导入结果'), {dangerouslyUseHTMLString: true});
+      } else if (response.data[0] != null) {
+        this.$alert(this.$t('成功导入') + response.msg + this.$t('条数据') + "," + this.$t('第') + response.data + this.$t('行数据出现错误导入失败') + "。", this.$t('导入结果'), {dangerouslyUseHTMLString: true});
+      } else {
+        this.$alert(this.$t('成功导入') + response.msg + this.$t('条数据'), this.$t('导入结果'), {dangerouslyUseHTMLString: true});
+      }
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    pointFormat(row, column) {
+      return this.selectDictLabel(this.pointOptions, row.pointType);
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    cancel() {
+      this.leftData = [];
+      this.dialog.dialogFormVisible = false;
+    },
+    openDialog(row) {
+      this.leftData = [];
+      this.row = row;
+      this.queryParams.plantId = row.plantId;
+      this.queryParams.repairId = row.id;
+      this.upload.url += this.upload.url.endsWith('/') ? row.id : '';
+      if (row.isEnter && row.status == 1) {
+        this.isEnter = true;
+      }
+      this.dialog.dialogFormVisible = true;
+      this.checkAgain = row.taskType == 2 ? true : false;
+      this.getList();
+      this.getDicts("point_type").then(response => {
+        this.pointOptions = response.data;
+      });
+      getAllPlantName().then(response => {
+        this.plantOperation = response.data;
+      })
+
+      this.getDicts("base_approve_status").then(response => {
+        this.approveStatusOperation = response.data;
+      });
+    },
+    /** 查询检测点列表 */
+    getList() {
+      listRepairpoints(this.queryParams).then(response => {
+        this.leftData = response.rows;
+        this.leftTotal = response.total;
+      });
+    },
+    saveLeft(rows) {
+      this.left = [];
+      if (rows) {
+        this.left = rows.map(row => row.checkId);
+        this.leftMultiple = !rows.length;
+      }
+    },
+    handleToApprove() {
+      let data = {};
+      data.checkIds = this.left;
+      data.approveStatus = 1;
+      approveRepairpoints(data).then(response => {
+        this.getList();
+      })
+    },
+    handleApprove() {
+      let data = {};
+      data.checkIds = this.left;
+      data.approveStatus = 2;
+      data.repairId = this.row.id;
+      approveRepairpoints(data).then(response => {
+        this.getList();
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.checkTable .el-scrollbar {
+  height: 100%;
+}
+
+.checkTable ::-webkit-scrollbar {
+  /* 设置竖向滚动条的宽度 */
+  width: 10px;
+  /* 设置横向滚动条的高度 */
+  height: 10px;
+}
+
+.checkTable ::-webkit-scrollbar-thumb {
+  /*滚动条的背景色*/
+  background-color: rgba(144, 147, 153, .3);
+  border-radius: 35px;
+}
+</style>

+ 11 - 0
ui/src/views/task/inspection/dividePoint.vue

@@ -205,6 +205,7 @@ export default {
         createdate: null,
         updaterCode: null,
         updatedate: null,
+        reqairId: null,
         choose: 1,
       },
       // 查询参数
@@ -296,6 +297,11 @@ export default {
     },
     /** 查询检测点列表 */
     getList() {
+      if (this.row.taskType==2){
+        this.queryParams.repairId=0;
+      }else {
+        this.queryParams.repairId = null;
+      }
       this.queryParams.inspectionId = null;
       listCheckpoints(this.queryParams).then(response => {
         this.leftData = response.rows;
@@ -304,6 +310,11 @@ export default {
       });
     },
     getRightList() {
+      if (this.row.taskType==2){
+        this.rightQueryParams.repairId=0;
+      }else {
+        this.rightQueryParams.repairId = null;
+      }
       listCheckpoints(this.rightQueryParams).then(response => {
         this.rightData = response.rows;
         this.rightTotal = response.total;

+ 0 - 12
ui/src/views/task/inspection/index.vue

@@ -90,18 +90,6 @@
         >确认分配
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click=""
-          :disabled="single"
-          v-hasPermi="['task:inspection:export']"
-        >导出任务清单
-        </el-button>
-      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 

+ 54 - 21
ui/src/views/task/repair/index.vue

@@ -10,7 +10,8 @@
         />
       </el-form-item>
       <el-form-item label="任务类型" prop="planId">
-        <el-select v-model="queryParams.taskType" @change="handleQuery" placeholder="请选择任务类型" clearable size="small" style="width: 100%">
+        <el-select v-model="queryParams.taskType" @change="handleQuery" placeholder="请选择任务类型" clearable
+                   size="small" style="width: 100%">
           <el-option
             v-for="dict in taskTypeOperation"
             :key="dict.dictValue"
@@ -89,18 +90,6 @@
         >确认分配
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click=""
-          :disabled="single"
-          v-hasPermi="['task:repair:export']"
-        >导出任务清单
-        </el-button>
-      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -112,7 +101,8 @@
       <el-table-column label="装置名称" align="center" prop="plantName" :show-overflow-tooltip="true" width="130"/>
       <el-table-column label="任务名称" align="center" prop="taskName" :show-overflow-tooltip="true" width="130"/>
       <el-table-column label="任务编号" align="center" prop="taskCode" :show-overflow-tooltip="true" width="130"/>
-      <el-table-column label="任务类型" align="center" prop="taskType" :show-overflow-tooltip="true" width="130" :formatter="taskTypeFormat"/>
+      <el-table-column label="任务类型" align="center" prop="taskType" :show-overflow-tooltip="true" width="130"
+                       :formatter="taskTypeFormat"/>
       <el-table-column label="任务起始时间" align="center" prop="startTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
@@ -141,7 +131,7 @@
             size="mini"
             type="text"
             icon="el-icon-s-order"
-            @click=""
+            @click="openCheckPoint(scope.row)"
           >维修点清单
           </el-button>
           <el-button
@@ -191,7 +181,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="任务类型" prop="planId">
+        <el-form-item label="任务类型" prop="taskType">
           <el-select v-model="form.taskType" placeholder="请选择任务类型" clearable size="small" style="width: 100%">
             <el-option
               v-for="dict in taskTypeOperation"
@@ -229,6 +219,8 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <repair-point v-if="pointVisible" ref="repairPointList"></repair-point>
+    <repair-enter v-if="enterVisible" ref="repairEnterList"></repair-enter>
   </div>
 </template>
 
@@ -236,14 +228,19 @@
 import {listRepair, getRepair, delRepair, addRepair, updateRepair, divideRepair} from "@/api/task/repair";
 import {divideInspection} from "@/api/task/inspection";
 import {getAllPlantName} from "@/api/base/plant";
+import RepairPoint from "@/views/task/repair/repairPoint";
+import RepairEnter from "@/views/check/repairCheck/repairEnter";
 
 export default {
   name: "Repair",
+  components: {RepairEnter, RepairPoint},
   data() {
     return {
+      pointVisible: false,
+      enterVisible: false,
       divideOperation: [],
-      taskTypeOperation:[],
-      plantOperation:[],
+      taskTypeOperation: [],
+      plantOperation: [],
       // 页面高度
       clientHeight: 300,
       // 遮罩层
@@ -290,7 +287,29 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {}
+      rules: {
+        plantId: [
+          {required: true, message: '请选择装置', trigger: "blur"}
+        ],
+        taskType: [
+          {required: true, message: '请选择任务类型', trigger: "blur"}
+        ],
+        taskCode: [
+          {required: true, message: '请输入任务编号', trigger: "blur"}
+        ],
+        taskName: [
+          {required: true, message: '请输入任务名称', trigger: "blur"}
+        ],
+        startTime: [
+          {required: true, message: '请选择任务开始时间', trigger: "blur"}
+        ],
+        endTime: [
+          {required: true, message: '请选择任务结束时间', trigger: "blur"}
+        ],
+        recipient: [
+          {required: true, message: '请选择接收人', trigger: "blur"}
+        ],
+      }
     };
   },
   created() {
@@ -310,6 +329,20 @@ export default {
     });
   },
   methods: {
+    openCheckPoint(row) {
+      if (row.status == 1) {
+        row.isEnter = false;
+        this.enterVisible = true;
+        this.$nextTick(() => {
+          this.$refs.repairEnterList.openDialog(row)
+        })
+      } else {
+        this.pointVisible = true;
+        this.$nextTick(() => {
+          this.$refs.repairPointList.openDialog(row)
+        })
+      }
+    },
     taskTypeFormat(row, column) {
       return this.selectDictLabel(this.taskTypeOperation, row.taskType);
     },
@@ -341,7 +374,7 @@ export default {
         }
       }
       this.reset();
-      const ids =  this.ids
+      const ids = this.ids
       this.$modal.confirm('是否确认分配?').then(function () {
         return divideRepair(ids);
       }).then(() => {
@@ -449,7 +482,7 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除维修任务编号为"' + ids + '"的数据项?').then(function () {
+      this.$modal.confirm('是否确认删除数据项?').then(function () {
         return delRepair(ids);
       }).then(() => {
         this.getList();

+ 379 - 0
ui/src/views/task/repair/repairPoint.vue

@@ -0,0 +1,379 @@
+<template xmlns="http://www.w3.org/1999/html">
+  <div>
+    <el-dialog :visible.sync="dialog.dialogFormVisible" width="1800px" :close-on-click-modal="false"
+               title='添加维修点'>
+      <el-row>
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+          <el-form-item label="装置" prop="plantId">
+            <el-select v-model="queryParams.plantId" @change="handleQuery"
+                       placeholder="请选择装置" clearable size="small" disabled>
+              <el-option
+                v-for="plant in plantOperation"
+                :key="plant.plantId"
+                :label="plant.plantName"
+                :value="plant.plantId"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="群组编码" prop="groupCode">
+            <el-input
+              v-model="queryParams.groupCode"
+              placeholder="请输入群组编码"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="密封点类型" prop="pointType" label-width="90px">
+            <el-select v-model="queryParams.pointType" @change="handleQuery" placeholder="请选择密封点类型" clearable
+                       size="small">
+              <el-option
+                v-for="dict in pointOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+      <el-row>
+
+        <el-col :span="11" style="padding-right: 5px;text-align: center">
+          <el-table :data="leftData" style="width: 100%;" height="530px" border @selection-change="saveLeft"
+                    ref="leftData" :cell-style="tableCellStyle">
+            <el-table-column type="selection" align="center" fixed="left"></el-table-column>
+            <el-table-column label="净检测值" align="center" prop="netTestValue" width="80"/>
+            <el-table-column label="泄漏程度" align="center" prop="leakageDegree" :formatter="leakageFormat" width="100"/>
+            <el-table-column label="装置名称" align="center" prop="plantName" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="区域名称" align="center" prop="regionName" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="平台" align="center" prop="layer" width="100" :show-overflow-tooltip="true"/>
+            <el-table-column label="设备/管线名称" align="center" prop="devName" width="130"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="设备/管线编号" align="center" prop="devCode" width="130"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="群组编码" align="center" prop="groupCode" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="密封点扩展号编码" align="center" prop="extendCode" width="150"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="密封点类型" align="center" prop="pointType" width="100"
+                             :show-overflow-tooltip="true"/>
+          </el-table>
+          <pagination
+            v-show="leftTotal>0"
+            :total="leftTotal"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
+        </el-col>
+
+        <el-col :span="2" style="margin-top: 10%;text-align: center">
+          <el-tooltip class="item" effect="dark" content="添加检查点" placement="right">
+            <el-button type="primary" icon="el-icon-arrow-right" :disabled="leftMultiple" @click="add"
+                       style="margin-bottom: 10px;width: 80%"
+                       size="large"></el-button>
+          </el-tooltip>
+          <br>
+          <el-tooltip class="item" effect="dark" content="移除检查点" placement="right">
+            <el-button type="primary" icon="el-icon-arrow-left" :disabled="rightMultiple" @click="remove"
+                       style="margin-top: 10px;margin-bottom: 10px;width: 80%"
+                       size="large"></el-button>
+          </el-tooltip>
+          <br>
+          <el-tooltip class="item" effect="dark" content="添加所有检查点" placement="right">
+            <el-button type="primary" icon="el-icon-d-arrow-right" :disabled="leftAll" @click="addAll"
+                       style="margin-top: 10px;margin-bottom: 10px;width: 80%"
+                       size="large"></el-button>
+          </el-tooltip>
+          <br>
+          <el-tooltip class="item" effect="dark" content="移除所有检查点" placement="right">
+            <el-button type="primary" icon="el-icon-d-arrow-left" :disabled="rightAll" @click="removeAll"
+                       style="margin-top: 10px;width: 80%"
+                       size="large"></el-button>
+          </el-tooltip>
+        </el-col>
+
+        <el-col :span="11" style="padding-left: 5px;text-align: center">
+          <el-table :data="rightData" style="width: 100%" height="530px" border ref="rightData"
+                    @selection-change="saveRight" :cell-style="tableCellStyle">
+            <el-table-column type="selection" align="center" fixed="left"></el-table-column>
+            <el-table-column label="净检测值" align="center" prop="netTestValue" width="80"/>
+            <el-table-column label="泄漏程度" align="center" prop="leakageDegree" width="80" :formatter="leakageFormat"/>
+            <el-table-column label="装置名称" align="center" prop="plantName" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="区域名称" align="center" prop="regionName" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="平台" align="center" prop="layer" width="100" :show-overflow-tooltip="true"/>
+            <el-table-column label="设备/管线名称" align="center" prop="devName" width="130"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="设备/管线编号" align="center" prop="devCode" width="130"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="群组编码" align="center" prop="groupCode" width="100"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="密封点扩展号编码" align="center" prop="extendCode" width="150"
+                             :show-overflow-tooltip="true"/>
+            <el-table-column label="密封点类型" align="center" prop="pointType" width="100"
+                             :show-overflow-tooltip="true"/>
+          </el-table>
+          <pagination
+            v-show="rightTotal>0"
+            :total="rightTotal"
+            :page.sync="rightQueryParams.pageNum"
+            :limit.sync="rightQueryParams.pageSize"
+            @pagination="getRightList"
+          />
+        </el-col>
+
+      </el-row>
+
+      <div slot="footer" class="dialog-footer" style="text-align: center">
+        <el-button @click="cancel">返回</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getAllPlantName} from "@/api/base/plant";
+import {listRepairpoints, updateRepairpoints} from "@/api/check/repairpoints";
+
+export default {
+  name: "repairPoint",
+  data() {
+    return {
+      leftTotal: 0,
+      rightTotal: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        pointId: null,
+        repairId: null,
+        netTestValue: null,
+        repairFunc: null,
+        repairType: null,
+        repairCount: null,
+        plantName: null,
+        regionName: null,
+        layer: null,
+        devName: null,
+        devCode: null,
+        groupCode: null,
+        extendCode: null,
+        pointType: null,
+        instrumentCode: null,
+        leakagePosition: null,
+        repairer: null,
+        repairDate: null,
+        leakageDegree: null,
+        remarks: null,
+        approveStatus: null,
+        approveTime: null,
+        deptId: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        plantId: null,
+        regionId: null,
+        devId: null,
+        instrumentId: null,
+        plantType: null,
+        mediumType: null,
+        choose: 1,
+      },
+      // 查询参数
+      rightQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        pointId: null,
+        repairId: null,
+        netTestValue: null,
+        repairFunc: null,
+        repairType: null,
+        repairCount: null,
+        plantName: null,
+        regionName: null,
+        layer: null,
+        devName: null,
+        devCode: null,
+        groupCode: null,
+        extendCode: null,
+        pointType: null,
+        instrumentCode: null,
+        leakagePosition: null,
+        repairer: null,
+        repairDate: null,
+        leakageDegree: null,
+        remarks: null,
+        approveStatus: null,
+        approveTime: null,
+        deptId: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        plantId: null,
+        regionId: null,
+        devId: null,
+        instrumentId: null,
+        plantType: null,
+        mediumType: null,
+        choose: null,
+      },
+      row: {},
+      rightData: [],
+      leftData: [],
+      right: [],   //右边选中的数据
+      left: [],  //左边选中的数据
+      leftMultiple: true,
+      rightMultiple: true,
+      leftAll: this.leftData == undefined || this.leftData == null || this.leftData.length <= 0,
+      rightAll: this.rightData == undefined || this.rightData == null || this.rightData.length <= 0,
+      dialog: {
+        dialogFormVisible: false,
+      },
+      repairId: null,
+      pointOptions: [],
+      plantOperation: [],
+    }
+  },
+  methods: {
+    tableCellStyle({row, column, rowIndex, columnIndex}) {
+
+      if (columnIndex === 2 && row.leakageDegree == 1) {
+        return "color:#00ff00;font-size:200%";
+      }
+      if (columnIndex === 2 && row.leakageDegree == 2) {
+        return "color:#FFDF00;font-size:200%";
+      }
+      if (columnIndex === 2 && row.leakageDegree == 3) {
+        return "color:#ff0000;font-size:200%";
+      }
+    },
+    leakageFormat(row, column) {
+      return row.leakageDegree ? "●" : null;
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    pointFormat(row, column) {
+      return this.selectDictLabel(this.pointOptions, row.pointType);
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    cancel() {
+      this.leftData = [];
+      this.rightData = [];
+      this.dialog.dialogFormVisible = false;
+    },
+    openDialog(row) {
+      this.leftData = [];
+      this.rightData = [];
+      this.row = row;
+      this.rightQueryParams.repairId = row.id;
+      this.queryParams.plantId = row.plantId;
+      this.dialog.dialogFormVisible = true;
+      this.getList();
+      this.getRightList();
+      this.getDicts("point_type").then(response => {
+        this.pointOptions = response.data;
+      });
+      getAllPlantName().then(response => {
+        this.plantOperation = response.data;
+      })
+    },
+    /** 查询检测点列表 */
+    getList() {
+      this.queryParams.repairId = null;
+      listRepairpoints(this.queryParams).then(response => {
+        this.leftData = response.rows;
+        this.leftTotal = response.total;
+        this.leftAll = this.leftData == undefined || this.leftData == null || this.leftData.length <= 0;
+      });
+    },
+    getRightList() {
+      listRepairpoints(this.rightQueryParams).then(response => {
+        this.rightData = response.rows;
+        this.rightTotal = response.total;
+        this.rightAll = this.rightData == undefined || this.rightData == null || this.rightData.length <= 0;
+      });
+    },
+    saveLeft(rows) {
+      this.left = [];
+      console.log(rows)
+      if (rows) {
+        this.left = rows.map(row => row.checkId);
+        this.leftMultiple = !rows.length;
+      }
+    },
+    saveRight(rows) {
+      this.right = [];
+      if (rows) {
+        this.right = rows.map(row => row.checkId);
+        this.rightMultiple = !rows.length;
+      }
+    },
+    // 左边表格选择项移到右边
+    add() {
+      let data = {};
+      data.repairId = this.rightQueryParams.repairId;
+      data.checkIds = this.left;
+      data.choose = 1;
+      console.log(data)
+      updateRepairpoints(data).then(response => {
+        this.getList();
+        this.getRightList();
+      })
+    },
+    addAll() {
+      if (this.leftData) {
+        let data = this.queryParams;
+        data.repairId = this.rightQueryParams.repairId;
+        data.choose = 3;
+        console.log(data)
+        updateRepairpoints(data).then(response => {
+          this.getList();
+          this.getRightList();
+        })
+      }
+    },
+    // 右边表格选择项移到左边
+    remove() {
+      let data = {};
+      data.repairId = this.rightQueryParams.repairId;
+      data.checkIds = this.right;
+      data.choose = 2;
+      console.log(data)
+      updateRepairpoints(data).then(response => {
+        this.getList();
+        this.getRightList();
+      })
+    },
+    removeAll() {
+      if (this.rightData !== []) {
+        let data = {};
+        data.repairId = this.rightQueryParams.repairId;
+        data.choose = 4;
+        console.log(data)
+        updateRepairpoints(data).then(response => {
+          console.log("this.queryParams")
+          console.log(this.queryParams)
+          this.getList();
+          this.getRightList();
+        })
+      }
+    }
+  }
+}
+</script>