From da426ecaf4fd047c6cb43cd9a0c1288e39c4e91d Mon Sep 17 00:00:00 2001
From: lohir <3399054449@qq.com>
Date: 星期三, 23 十月 2024 11:24:57 +0800
Subject: [PATCH] 完成运维考核-工单白名单-新增、删除

---
 ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java       |   12 +++
 ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java    |   29 +++++++++
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml               |   12 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   40 +++++++++++++
 ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java          |   17 +++++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java   |   13 ++++
 ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java            |    9 +++
 7 files changed, 129 insertions(+), 3 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index b1ab424..4b71e63 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -185,11 +185,38 @@
     }
 
     /**
-     * 鏌ヨ宸ュ崟鐢熸垚鐧藉悕鍗曞垪琛�
+     * 宸ュ崟鐧藉悕鍗曞垪琛�
      */
     @PostMapping("/white/page")
+    @ApiOperation(value = "宸ュ崟鐧藉悕鍗曞垪琛�", notes = "宸ュ崟鐧藉悕鍗曞垪琛�")
     public Result whitePage(@RequestBody WorkOrderWhiteQuery workOrderWhiteQuery)
     {
         return workOrderService.selectWorkOrderWhiteList(workOrderWhiteQuery);
     }
+
+    /**
+     * 娣诲姞宸ュ崟鐧藉悕鍗�
+     *
+     * @param workOrderWhite 鐧借壊宸ュ崟
+     * @return {@link Result }
+     * @author
+     */
+    @PostMapping("/white/add")
+    @ApiOperation(value = "鏂板宸ュ崟鐧藉悕鍗�", notes = "鏂板宸ュ崟鐧藉悕鍗�")
+    public Result addWorkOrderWhite(@RequestBody WorkOrderWhite workOrderWhite) {
+        return workOrderService.addWorkOrderWhite(workOrderWhite);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�
+     *
+     * @param ids ids
+     * @return {@link Result }
+     * @author
+     */
+    @DeleteMapping("/white/batchDelete")
+    @ApiOperation(value = "鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�", notes = "鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�")
+    public Result batchDeleteWorkOrderWhite(@RequestBody List<String> ids) {
+        return workOrderService.batchDeleteWorkOrderWhite(ids);
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java
index b36301b..2f9315f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java
@@ -33,7 +33,7 @@
      * @param workOrderWhite 宸ュ崟鐢熸垚鐧藉悕鍗�
      * @return 缁撴灉
      */
-    public int insertWorkOrderWhite(WorkOrderWhite workOrderWhite);
+    public int insert(WorkOrderWhite workOrderWhite);
 
     /**
      * 鎵归噺鍒犻櫎宸ュ崟鐢熸垚鐧藉悕鍗�
@@ -42,4 +42,14 @@
      * @return 缁撴灉
      */
     public int deleteWorkOrderWhiteByIds(Long[] ids);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids ids
+     * @author
+     */
+    void batchDelete(@Param("ids") List<String> ids);
+
+    WorkOrderWhite selectBySerialNumber(String serialNumber);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index 6763898..a1ad176 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -244,4 +244,21 @@
      * @author
      */
     Result selectWorkOrderWhiteList(WorkOrderWhiteQuery workOrderWhiteQuery);
+
+    /**
+     * 娣诲姞宸ュ崟鐧藉悕鍗�
+     *
+     * @param workOrderWhite 鐧借壊宸ュ崟
+     * @return {@link Result }
+     * @author
+     */
+    Result addWorkOrderWhite(WorkOrderWhite workOrderWhite);
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�
+     *
+     * @param ids ids
+     * @author
+     */
+    Result batchDeleteWorkOrderWhite(List<String> ids);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index 803e4d6..9776ebd 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -155,4 +155,13 @@
     void updatePoint(List<PointExport> dataList, Integer unitId, Date startTime, Date endTime, Boolean needUpdateUnit) throws ExecutionException, InterruptedException;
 
     void updateDynamic(List<PointExport> dataList);
+
+    /**
+     * 鏍规嵁璁惧缂栫爜鏌ヨ鐐逛綅淇℃伅
+     *
+     * @param serialNumber 搴忓垪鍙�
+     * @return {@link YwPoint }
+     * @author
+     */
+    YwPoint selectBySerialNumber(String serialNumber);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 213bdf1..aa99ac7 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.annotation.format.DateTimeFormat;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -1001,4 +1002,43 @@
         workOrderWhiteMapper.page(page, query);
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
+
+    /**
+     * 娣诲姞宸ュ崟鐧藉悕鍗�
+     *
+     * @param workOrderWhite 鐧借壊宸ュ崟
+     * @return {@link Result }
+     * @author
+     */
+    @Override
+    public Result addWorkOrderWhite(WorkOrderWhite workOrderWhite) {
+        // 閫氳繃璁惧缂栫爜鏌ヨ璁惧淇℃伅
+        YwPoint ywPoint = ywPointService.selectBySerialNumber(workOrderWhite.getSerialNumber());
+        // 鏂板鐧藉悕鍗曡澶囪褰�
+        if (ywPoint == null){
+            return Result.error("璁惧涓嶅瓨鍦�");
+        }
+        // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄨ鐧藉悕鍗�
+        WorkOrderWhite flag = workOrderWhiteMapper.selectBySerialNumber(workOrderWhite.getSerialNumber());
+        if (flag != null) {
+            return Result.error("璇ヨ澶囧凡瀛樺湪鐧藉悕鍗�");
+        } else {
+            workOrderWhite.setPointName(ywPoint.getPointName());
+            workOrderWhite.setCreateBy(SecurityUtils.getUsername());
+            workOrderWhiteMapper.insert(workOrderWhite);
+            return Result.ok();
+        }
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�
+     *
+     * @param ids ids
+     * @author
+     */
+    @Override
+    public Result batchDeleteWorkOrderWhite(List<String> ids) {
+        workOrderWhiteMapper.batchDelete(ids);
+        return Result.ok();
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 480e5af..0ca6f0a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@@ -461,6 +462,18 @@
         if(!CollectionUtils.isEmpty(deleteList)) dynamicColumnMapper.deleteBatch(deleteList);
     }
 
+    /**
+     * 鏍规嵁璁惧缂栫爜鏌ヨ鐐逛綅淇℃伅
+     *
+     * @param serialNumber 搴忓垪鍙�
+     * @return {@link YwPoint }
+     * @author
+     */
+    @Override
+    public YwPoint selectBySerialNumber(String serialNumber) {
+        return baseMapper.selectOne(new LambdaQueryWrapper<>(YwPoint.class).eq(YwPoint::getSerialNumber, serialNumber).eq(YwPoint::getDeleted, "0"));
+    }
+
     public void waitAllFinishAndGetResult(List<YwPoint> dataList) {
         Date startTime = new Date();
         this.baseMapper.updatePoint(dataList);
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
index b9dc12e..0d90f18 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
@@ -23,8 +23,12 @@
             <if test="query.pointName != null  and query.pointName != ''"> and point_name like concat('%', #{query.pointName}, '%')</if>
         </where>
     </select>
+    <select id="selectBySerialNumber" resultType="com.ycl.platform.domain.entity.WorkOrderWhite">
+        <include refid="selectWorkOrderWhiteVo"/>
+        where serial_number = #{serialNumber}
+    </select>
 
-    <insert id="insertWorkOrderWhite" parameterType="WorkOrderWhite" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insert" parameterType="WorkOrderWhite" useGeneratedKeys="true" keyProperty="id">
         insert into t_work_order_white
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="serialNumber != null and serialNumber != ''">serial_number,</if>
@@ -46,4 +50,10 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="batchDelete">
+        delete from t_work_order_white where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0