From 58c5c6e49c8b4d67cd9d1637beea4706f9b5ae83 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 22 八月 2024 16:52:18 +0800
Subject: [PATCH] feat:新增工单故障类型记录、支持多个
---
ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml | 85 +++++++++++++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java | 21 ++-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 8 +
ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java | 39 +++++++
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java | 72 ++++++++++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java | 31 ++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 17 +--
7 files changed, 251 insertions(+), 22 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java b/ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java
new file mode 100644
index 0000000..81d3c21
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java
@@ -0,0 +1,39 @@
+package enumeration.general;
+
+import lombok.Getter;
+
+/**
+ * @author gonghl
+ * @since 2024/8/22 涓嬪崍 2:44
+ */
+@Getter
+public enum ErrorTypeEnum {
+
+ VIDEOMISS("褰曞儚缂哄け"),
+ NOVIDEO("鏃犲綍鍍�"),
+ PLATFORMOFFLINE("骞冲彴绂荤嚎"),
+ SEVERINTERRUPT("鏈嶅姟涓柇"),
+ POINTINFOERRO("鐐逛綅淇℃伅閿欒"),
+ POINTINFOMISS("鐐逛綅淇℃伅涓嶅叏"),
+ SIGNALMISS("淇″彿缂哄け"),
+ SCREENCOLOR("鐢婚潰鍋忚壊"),
+ SCREENSNOW("闆姳骞叉壈"),
+ SCREENSTRIP("鏉$汗骞叉壈,"),
+ SCREENSHADE("鐢婚潰閬尅"),
+ SCREENBLUR("娓呮櫚搴﹀紓甯�"),
+ SCREENLIGHT("浜害寮傚父"),
+ DEVICEOFFLINE("璁惧绂荤嚎"),
+ UNKNOWN("鏈煡"),
+ CLOCKSKEW("鏃堕挓鍋忓樊"),
+ OSD("OSD寮傚父"),
+ MONITORUNQUALIFY("涓�鏈轰竴妗d笉鍚堟牸"),
+ VIDEOORPICUNNORMAL("瑙嗛鎷夋祦銆佸浘鐗囪幏鍙栧紓甯�"),
+ PICUNUSEFUL("澶у浘涓嶅彲鐢�");
+
+ private final String value;
+
+ ErrorTypeEnum(String value) {
+ this.value = value;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java
new file mode 100644
index 0000000..8fd7185
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java
@@ -0,0 +1,31 @@
+package com.ycl.platform.domain.entity;
+
+
+import com.ycl.platform.base.AbsEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author gonghl
+ * @since 2024-08-22
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class WorkOrderErrorType extends AbsEntity {
+
+ /**
+ * 宸ュ崟鍙�
+ */
+ private String workOrderNo;
+
+ /**
+ * 鏁呴殰鍚�
+ */
+ private String errorName;
+
+}
+
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java
index 156a6c0..077fa1f 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java
@@ -1,19 +1,22 @@
package com.ycl.platform.domain.form;
-import com.ycl.system.domain.group.Update;
-import com.ycl.system.domain.group.Add;
import com.ycl.platform.base.AbsForm;
import com.ycl.platform.domain.entity.WorkOrder;
-import org.springframework.beans.BeanUtils;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import org.springframework.lang.NonNull;
+import com.ycl.system.domain.group.Add;
+import com.ycl.system.domain.group.Update;
+import enumeration.general.ErrorTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;
+import org.springframework.beans.BeanUtils;
+import org.springframework.lang.NonNull;
import java.time.LocalDateTime;
+import java.util.List;
/**
* 宸ュ崟琛ㄥ崟
@@ -40,11 +43,11 @@
@NotNull(message = "鐐逛綅涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("璁惧缂栧彿")
- private Integer serialNumber;
+ private String serialNumber;
- @NotNull(message = "鏁呴殰绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @NotEmpty(message = "鏁呴殰绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("鏁呴殰绫诲瀷")
- private String errorType;
+ private List<ErrorTypeEnum> errorType;
// @NotNull(message = "杩愮淮浜哄憳涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("杩愮淮浜哄憳")
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
new file mode 100644
index 0000000..650e14a
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
@@ -0,0 +1,72 @@
+package com.ycl.platform.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.platform.domain.entity.WorkOrderErrorType;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author gonghl
+ * @since 2024-08-22
+ */
+@Repository
+public interface WorkOrderErrorTypeMapper extends BaseMapper<WorkOrderErrorType> {
+
+ /**
+ * 鏌ヨ宸ュ崟鏁呴殰
+ *
+ * @param id 宸ュ崟鏁呴殰涓婚敭
+ * @return 宸ュ崟鏁呴殰
+ */
+ WorkOrderErrorType selectWorkOrderErrorTypeById(Long id);
+
+ /**
+ * 鏌ヨ宸ュ崟鏁呴殰鍒楄〃
+ *
+ * @param workOrderErrorType 宸ュ崟鏁呴殰
+ * @return 宸ュ崟鏁呴殰闆嗗悎
+ */
+ List<WorkOrderErrorType> selectWorkOrderErrorTypeList(WorkOrderErrorType workOrderErrorType);
+
+ /**
+ * 鏂板宸ュ崟鏁呴殰
+ *
+ * @param workOrderErrorType 宸ュ崟鏁呴殰
+ * @return 缁撴灉
+ */
+ int insertWorkOrderErrorType(WorkOrderErrorType workOrderErrorType);
+
+ /**
+ * 淇敼宸ュ崟鏁呴殰
+ *
+ * @param workOrderErrorType 宸ュ崟鏁呴殰
+ * @return 缁撴灉
+ */
+ int updateWorkOrderErrorType(WorkOrderErrorType workOrderErrorType);
+
+ /**
+ * 鍒犻櫎宸ュ崟鏁呴殰
+ *
+ * @param id 宸ュ崟鏁呴殰涓婚敭
+ * @return 缁撴灉
+ */
+ int deleteWorkOrderErrorTypeById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎宸ュ崟鏁呴殰
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ int deleteWorkOrderErrorTypeByIds(Long[] ids);
+
+ /**
+ * 鎵归噺鏂板宸ュ崟鏁呴殰
+ *
+ * @param workOrderErrorTypeList 宸ュ崟鏁呴殰闆嗗悎
+ * @return 缁撴灉
+ */
+ int insertWorkOrderErrorTypeList(List<WorkOrderErrorType> workOrderErrorTypeList);
+
+}
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 13a982c..6e8b5db 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
@@ -59,6 +59,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -79,7 +80,7 @@
private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
private final NotifyService notifyService;
private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper;
- private final TMonitorMapper monitorMapper;
+ private final WorkOrderErrorTypeMapper workOrderErrorTypeMapper;
private final SysConfigMapper configMapper;
private final ServerConfig serverConfig;
private final ReportMapper reportMapper;
@@ -214,6 +215,9 @@
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
+ entity.setErrorType(form.getErrorType().stream().map(ErrorTypeEnum::getValue).collect(Collectors.joining(",")));
+ List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType.getValue())).toList();
+ workOrderErrorTypeMapper.insertWorkOrderErrorTypeList(workOrderErrorTypes);
if(baseMapper.insert(entity) > 0) {
return Result.ok("娣诲姞鎴愬姛");
}
@@ -500,7 +504,7 @@
*/
public synchronized Boolean getDistributeLock() {
if (Objects.isNull(redisCache.getCacheObject(DISTRIBUTE_LOCK_KEY))) {
- redisCache.setCacheObject(DISTRIBUTE_LOCK_KEY, "1");
+ redisCache.setCacheObject(DISTRIBUTE_LOCK_KEY, "1", 30, TimeUnit.SECONDS);
return true;
} else {
return false;
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 0d8ccb3..d5c04a7 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
@@ -6,16 +6,13 @@
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.dataListener.CurrencyDataListener;
-import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.domain.entity.YwPeople;
import com.ycl.platform.domain.entity.YwPoint;
-import com.ycl.platform.domain.entity.YwUnit;
+import com.ycl.platform.domain.excel.PointExport;
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.query.YwPointQuery;
import com.ycl.platform.domain.vo.YwPointVO;
-import com.ycl.platform.domain.excel.PointExport;
-import com.ycl.platform.domain.excel.PointSelectHandler;
import com.ycl.platform.mapper.YwPeopleMapper;
import com.ycl.platform.mapper.YwPointMapper;
import com.ycl.platform.service.YwPointService;
@@ -29,12 +26,10 @@
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@@ -219,11 +214,11 @@
.eq(YwPoint::getUnitId, unitId)
.like(YwPoint::getPointName, keyword)
.list();
- List<BaseSelect> data = list.stream().map(item -> {
- BaseSelect baseSelect = new BaseSelect();
- baseSelect.setId(item.getId());
- baseSelect.setValue(item.getPointName());
- return baseSelect;
+ List data = list.stream().map(item -> {
+ Map map = new HashMap<String, Object>();
+ map.put("id", item.getSerialNumber());
+ map.put("value", item.getPointName());
+ return map;
}).collect(Collectors.toList());
return Result.ok().data(data);
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml
new file mode 100644
index 0000000..5c80034
--- /dev/null
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml
@@ -0,0 +1,85 @@
+<?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.ycl.platform.mapper.WorkOrderErrorTypeMapper">
+
+ <resultMap type="WorkOrderErrorType" id="WorkOrderErrorTypeResult">
+ <result property="id" column="id"/>
+ <result property="workOrderNo" column="work_order_no"/>
+ <result property="errorName" column="error_name"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="deleted" column="deleted"/>
+ </resultMap>
+
+ <sql id="selectWorkOrderErrorTypeVo">
+ SELECT id, work_order_no, error_name, create_time, update_time, deleted
+ FROM t_work_order_error_type
+ </sql>
+
+ <select id="selectWorkOrderErrorTypeList" parameterType="WorkOrderErrorType" resultMap="WorkOrderErrorTypeResult">
+ <include refid="selectWorkOrderErrorTypeVo"/>
+ <where>
+ <if test="workOrderNo != null and workOrderNo != ''">and work_order_no = #{workOrderNo}</if>
+ <if test="errorName != null and errorName != ''">and error_name like concat('%', #{errorName}, '%')</if>
+ <if test="deleted != null ">and deleted = #{deleted}</if>
+ </where>
+ </select>
+
+ <select id="selectWorkOrderErrorTypeById" parameterType="Long" resultMap="WorkOrderErrorTypeResult">
+ <include refid="selectWorkOrderErrorTypeVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertWorkOrderErrorType" parameterType="WorkOrderErrorType" useGeneratedKeys="true" keyProperty="id">
+ insert into t_work_order_error_type
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if>
+ <if test="errorName != null and errorName != ''">error_name,</if>
+ <if test="createTime != null">create_time,</if>
+ <if test="updateTime != null">update_time,</if>
+ <if test="deleted != null">deleted,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if>
+ <if test="errorName != null and errorName != ''">#{errorName},</if>
+ <if test="createTime != null">#{createTime},</if>
+ <if test="updateTime != null">#{updateTime},</if>
+ <if test="deleted != null">#{deleted},</if>
+ </trim>
+ </insert>
+
+ <update id="updateWorkOrderErrorType" parameterType="WorkOrderErrorType">
+ update t_work_order_error_type
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if>
+ <if test="errorName != null and errorName != ''">error_name = #{errorName},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="deleted != null">deleted = #{deleted},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteWorkOrderErrorTypeById" parameterType="Long">
+ DELETE
+ FROM t_work_order_error_type
+ WHERE id = #{id}
+ </delete>
+
+ <delete id="deleteWorkOrderErrorTypeByIds" parameterType="String">
+ delete from t_work_order_error_type where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+ <insert id="insertWorkOrderErrorTypeList">
+ INSERT INTO t_work_order_error_type(work_order_no, error_name, create_time, update_time) VALUES
+ <foreach item="item" index="index" collection="list" separator=",">
+ (#{item.workOrderNo}, #{item.errorName}, NOW(), NOW())
+ </foreach>
+ </insert>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0