From cfcfbf068acf9b9d509a99498346dcbcf101cdf9 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 14 十一月 2024 16:37:46 +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