From 9a9c26713098222d40c729205ac909a4909c74ab Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 15 十一月 2024 11:37:08 +0800
Subject: [PATCH] 白名单基础增删改查
---
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderWhiteMapper.java | 11 +-
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 21 +++++
ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml | 21 ++++-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 97 ++++++++++++++----------
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderWhite.java | 17 ++--
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 4 +
ycl-common/src/main/java/enumeration/ErrorType.java | 12 +++
7 files changed, 125 insertions(+), 58 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java
index 43630c1..c8d83da 100644
--- a/ycl-common/src/main/java/enumeration/ErrorType.java
+++ b/ycl-common/src/main/java/enumeration/ErrorType.java
@@ -69,4 +69,16 @@
.filter(errorType -> errorType.getCategory() == category)
.collect(Collectors.toList());
}
+
+ // 鏍规嵁value鑾峰彇desc
+ public static String getDescriptionByValue(String value) {
+ for (ErrorType errorType : ErrorType.values()) {
+ if (errorType.getValue().equals(value)) {
+ return errorType.getDesc();
+ }
+ }
+ // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨剉alue锛岃繑鍥瀗ull鎴栬�呮姏鍑轰竴涓紓甯�
+ // 杩欓噷杩斿洖null
+ return null;
+ }
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderWhite.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderWhite.java
index 6b7243a..c290279 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderWhite.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderWhite.java
@@ -7,9 +7,11 @@
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+
/**
* 宸ュ崟鐢熸垚鐧藉悕鍗曞璞� t_work_order_white
- *
+ *
* @author ruoyi
* @date 2024-10-22
*/
@@ -30,9 +32,12 @@
private String serialNumber;
/** 鐐逛綅鍚嶇О */
- @TableField("point_name")
+ @TableField("error_type")
+ private String errorType;
+ @TableField(exist = false)
+ private List<String> errorTypeList;
+ @TableField(exist = false)
private String pointName;
-
/** 鍒涘缓浜� */
@TableField("create_by")
private String createBy;
@@ -41,9 +46,5 @@
@TableField("remark")
private String remark;
- public WorkOrderWhite(String serialNumber, String pointName, String createBy) {
- this.serialNumber = serialNumber;
- this.pointName = pointName;
- this.createBy = createBy;
- }
+
}
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 3b1c71d..81d8c57 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
@@ -210,6 +210,15 @@
}
/**
+ * 宸ュ崟鐧藉悕鍗曡鎯�
+ */
+ @GetMapping("/white/{id}")
+ @ApiOperation(value = "宸ュ崟鐧藉悕鍗曡鎯�", notes = "宸ュ崟鐧藉悕鍗曡鎯�")
+ public Result whiteDetail(@PathVariable Integer id)
+ {
+ return workOrderService.selectWorkOrderWhiteDetail(id);
+ }
+ /**
* 娣诲姞宸ュ崟鐧藉悕鍗�
*
* @param workOrderWhite 鐧借壊宸ュ崟
@@ -223,6 +232,18 @@
}
/**
+ * 淇敼宸ュ崟鐧藉悕鍗�
+ *
+ * @param workOrderWhite 鐧借壊宸ュ崟
+ * @return {@link Result }
+ * @author
+ */
+ @PostMapping("/white/update")
+ @ApiOperation(value = "淇敼宸ュ崟鐧藉悕鍗�", notes = "淇敼宸ュ崟鐧藉悕鍗�")
+ public Result updateWorkOrderWhite(@RequestBody WorkOrderWhite workOrderWhite) {
+ return workOrderService.updateWorkOrderWhite(workOrderWhite);
+ }
+ /**
* 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�
*
* @param ids 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 b3b1859..3f02aaf 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
@@ -1,6 +1,7 @@
package com.ycl.platform.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.platform.domain.entity.WorkOrderWhite;
import com.ycl.platform.domain.query.WorkOrderWhiteQuery;
@@ -10,11 +11,11 @@
/**
* 宸ュ崟鐢熸垚鐧藉悕鍗昅apper鎺ュ彛
- *
+ *
* @author ruoyi
* @date 2024-10-22
*/
-public interface WorkOrderWhiteMapper
+public interface WorkOrderWhiteMapper extends BaseMapper<WorkOrderWhite>
{
/**
@@ -29,7 +30,7 @@
/**
* 鏂板宸ュ崟鐢熸垚鐧藉悕鍗�
- *
+ *
* @param workOrderWhite 宸ュ崟鐢熸垚鐧藉悕鍗�
* @return 缁撴灉
*/
@@ -37,7 +38,7 @@
/**
* 鎵归噺鍒犻櫎宸ュ崟鐢熸垚鐧藉悕鍗�
- *
+ *
* @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
* @return 缁撴灉
*/
@@ -68,4 +69,6 @@
* @author
*/
void updateBySerialNumber(WorkOrderWhite white);
+
+ WorkOrderWhite getById(Integer id);
}
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 c816ad0..42e27c0 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
@@ -282,4 +282,8 @@
Result errorAll();
+ Result selectWorkOrderWhiteDetail(Integer id);
+
+ Result updateWorkOrderWhite(WorkOrderWhite workOrderWhite);
+
}
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 292d416..1657856 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
@@ -1,9 +1,8 @@
package com.ycl.platform.service.impl;
-import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
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;
@@ -11,7 +10,6 @@
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.config.PlatformConfig;
-import com.ycl.config.ServerConfig;
import com.ycl.exception.ServiceException;
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.excel.PointExport;
@@ -26,13 +24,11 @@
import com.ycl.platform.service.WorkOrderAuditingRecordService;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.platform.service.YwPointService;
-import com.ycl.platform.wvp.StreamContent;
import com.ycl.platform.wvp.WVPResult;
import com.ycl.system.Result;
import com.ycl.system.domain.SysConfig;
import com.ycl.system.entity.SysDictData;
import com.ycl.system.mapper.SysConfigMapper;
-import com.ycl.system.mapper.SysDictDataMapper;
import com.ycl.system.model.LoginUser;
import com.ycl.system.page.PageUtil;
import com.ycl.utils.DateUtils;
@@ -40,8 +36,6 @@
import com.ycl.utils.http.HttpUtils;
import com.ycl.utils.redis.RedisCache;
import com.ycl.utils.uuid.IdUtils;
-import constant.ApiConstants;
-import constant.CheckConstants;
import constant.Constants;
import constant.RedisConstant;
import enumeration.ErrorType;
@@ -49,14 +43,16 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
-import org.bytedeco.javacv.*;
+import org.bytedeco.javacv.FFmpegFrameGrabber;
+import org.bytedeco.javacv.Frame;
+import org.bytedeco.javacv.FrameGrabber;
+import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.opencv_core.Mat;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
-import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -65,17 +61,6 @@
import org.springframework.util.StringUtils;
import pojo.CascadeOption;
-import javax.imageio.ImageIO;
-import javax.swing.*;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -1080,7 +1065,17 @@
public Result selectWorkOrderWhiteList(WorkOrderWhiteQuery query) {
IPage<WorkOrderWhite> page = PageUtil.getPage(query, WorkOrderWhite.class);
workOrderWhiteMapper.page(page, query);
- return Result.ok().data(page.getRecords()).total(page.getTotal());
+ List<WorkOrderWhite> records = page.getRecords();
+ records.forEach(white-> {
+ List<String> errorTextList = new ArrayList<>();
+ List<String> errorTypeList = JSONArray.parseArray(white.getErrorType(), String.class);
+ errorTypeList.forEach(error->{
+ String errorText = ErrorType.getDescriptionByValue(error);
+ errorTextList.add(errorText);
+ });
+ white.setErrorType(String.join(",", errorTextList));
+ });
+ return Result.ok().data(records).total(page.getTotal());
}
/**
@@ -1092,24 +1087,34 @@
*/
@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());
+ List<String> errorTypeList = workOrderWhite.getErrorTypeList();
+ workOrderWhite.setErrorType(JSONArray.toJSONString(errorTypeList));
workOrderWhite.setCreateBy(SecurityUtils.getUsername());
workOrderWhiteMapper.insert(workOrderWhite);
return Result.ok();
}
}
-
+ /**
+ * 淇敼宸ュ崟鐧藉悕鍗�
+ *
+ * @param workOrderWhite 鐧借壊宸ュ崟
+ * @return {@link Result }
+ * @author
+ */
+ @Override
+ public Result updateWorkOrderWhite(WorkOrderWhite workOrderWhite) {
+ WorkOrderWhite white = workOrderWhiteMapper.selectBySerialNumber(workOrderWhite.getSerialNumber());
+ workOrderWhite.setId(white.getId());
+ List<String> errorTypeList = workOrderWhite.getErrorTypeList();
+ workOrderWhite.setErrorType(JSONArray.toJSONString(errorTypeList));
+ workOrderWhiteMapper.updateById(workOrderWhite);
+ return Result.ok();
+ }
/**
* 鎵归噺鍒犻櫎宸ュ崟鐧藉悕鍗�
*
@@ -1130,18 +1135,18 @@
*/
@Override
public void batchImportWhite(List<PointExport> dataList) {
- // 鑾峰緱鎵�鏈夐渶瑕佹柊澧炵殑鐧藉悕鍗曞璞�
- List<WorkOrderWhite> whitelist = dataList.stream().map(pointExport ->
- new WorkOrderWhite(pointExport.getSerialNumber(), pointExport.getPointName(), SecurityUtils.getUsername()))
- .collect(Collectors.toList());
- // 鑾峰緱鎵�鏈夊凡瀛樺湪鐨勭櫧鍚嶅崟璁惧缂栫爜
- List<String> serialNumbers = workOrderWhiteMapper.selectList().stream().map(WorkOrderWhite::getSerialNumber).collect(Collectors.toList());
- // 绛涢�夊嚭鏂板銆佷慨鏀圭殑鐧藉悕鍗曞璞�
- List<WorkOrderWhite> updateWhiteList = whitelist.stream().filter(white -> serialNumbers.contains(white.getSerialNumber())).collect(Collectors.toList());
- List<WorkOrderWhite> insertWhiteList = whitelist.stream().filter(white ->!serialNumbers.contains(white.getSerialNumber())).collect(Collectors.toList());
- // 鏂板/淇敼鐧藉悕鍗曡澶囪褰�
- updateWhiteList.stream().forEach(white -> workOrderWhiteMapper.updateBySerialNumber(white));
- insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white));
+// // 鑾峰緱鎵�鏈夐渶瑕佹柊澧炵殑鐧藉悕鍗曞璞�
+// List<WorkOrderWhite> whitelist = dataList.stream().map(pointExport ->
+// new WorkOrderWhite(pointExport.getSerialNumber(), pointExport.getPointName(), SecurityUtils.getUsername()))
+// .collect(Collectors.toList());
+// // 鑾峰緱鎵�鏈夊凡瀛樺湪鐨勭櫧鍚嶅崟璁惧缂栫爜
+// List<String> serialNumbers = workOrderWhiteMapper.selectList().stream().map(WorkOrderWhite::getSerialNumber).collect(Collectors.toList());
+// // 绛涢�夊嚭鏂板銆佷慨鏀圭殑鐧藉悕鍗曞璞�
+// List<WorkOrderWhite> updateWhiteList = whitelist.stream().filter(white -> serialNumbers.contains(white.getSerialNumber())).collect(Collectors.toList());
+// List<WorkOrderWhite> insertWhiteList = whitelist.stream().filter(white ->!serialNumbers.contains(white.getSerialNumber())).collect(Collectors.toList());
+// // 鏂板/淇敼鐧藉悕鍗曡澶囪褰�
+// updateWhiteList.stream().forEach(white -> workOrderWhiteMapper.updateBySerialNumber(white));
+// insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white));
}
/**
@@ -1242,4 +1247,14 @@
results.add(face);
return Result.ok().data(results);
}
+
+ @Override
+ public Result selectWorkOrderWhiteDetail(Integer id) {
+ WorkOrderWhite workOrderWhite = workOrderWhiteMapper.getById(id);
+ List<String> errorList = JSONArray.parseArray(workOrderWhite.getErrorType(), String.class);
+ workOrderWhite.setErrorTypeList(errorList);
+ return Result.ok().data(workOrderWhite);
+ }
+
+
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
index 810fadd..8220c64 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderWhiteMapper.xml
@@ -7,13 +7,14 @@
<resultMap type="WorkOrderWhite" id="WorkOrderWhiteResult">
<result property="id" column="id" />
<result property="serialNumber" column="serial_number" />
- <result property="pointName" column="point_name" />
+ <result property="pointName" column="pointName" />
+ <result property="errorType" column="error_type" />
<result property="createBy" column="create_by" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectWorkOrderWhiteVo">
- select id, serial_number, point_name, create_by, remark from t_work_order_white
+ select id, serial_number, error_type, create_by, remark from t_work_order_white
</sql>
<update id="updateBySerialNumber">
update t_work_order_white
@@ -26,11 +27,21 @@
</update>
<select id="page" parameterType="com.ycl.platform.domain.query.WorkOrderWhiteQuery" resultMap="WorkOrderWhiteResult">
- <include refid="selectWorkOrderWhiteVo"/>
+ select wow.id, wow.serial_number,m.name as pointName, wow.error_type, wow.create_by, wow.remark
+ from t_work_order_white wow
+ left join t_monitor m on wow.serial_number = m.serial_number
<where>
<if test="query.keyword != null and query.keyword != ''">
and (serial_number like concat('%',#{query.keyword},'%') or point_name like concat('%', #{query.keyword}, '%'))
</if>
+ </where>
+ </select>
+ <select id="getById" resultMap="WorkOrderWhiteResult">
+ select wow.id, wow.serial_number,m.name as pointName, wow.error_type, wow.create_by, wow.remark
+ from t_work_order_white wow
+ left join t_monitor m on wow.serial_number = m.serial_number
+ <where>
+ wow.id = #{id}
</where>
</select>
<select id="selectBySerialNumber" resultType="com.ycl.platform.domain.entity.WorkOrderWhite">
@@ -45,13 +56,13 @@
insert into t_work_order_white
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="serialNumber != null and serialNumber != ''">serial_number,</if>
- <if test="pointName != null and pointName != ''">point_name,</if>
+ <if test="errorType != null and errorType != ''">error_type,</if>
<if test="createBy != null">create_by,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
- <if test="pointName != null and pointName != ''">#{pointName},</if>
+ <if test="errorType != null and errorType != ''">#{errorType},</if>
<if test="createBy != null">#{createBy},</if>
<if test="remark != null">#{remark},</if>
</trim>
--
Gitblit v1.8.0