ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java
New file @@ -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("一机一档不合格"), VIDEOORPICUNNORMAL("视频拉流、图片获取异常"), PICUNUSEFUL("大图不可用"); private final String value; ErrorTypeEnum(String value) { this.value = value; } } ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderErrorType.java
New file @@ -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; } 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("运维人员") ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderErrorTypeMapper.java
New file @@ -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); } 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; 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); } ycl-server/src/main/resources/mapper/zgyw/WorkOrderErrorTypeMapper.xml
New file @@ -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>