龚焕茏
2024-08-22 1b299b7a0ff1186efc9c62a52a3822d07b07deab
fix:解决大屏报错、故障类型存储枚举值
7个文件已修改
102 ■■■■■ 已修改文件
ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/enumeration/general/ErrorTypeEnum.java
@@ -36,4 +36,17 @@
        this.value = value;
    }
    public static String getEnumValue(String value) {
        String[] values = value.split(",");
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < values.length; i++) {
            sb.append(ErrorTypeEnum.valueOf(values[i]).getValue());
            if (i != values.length - 1) {
                sb.append(",");
            }
        }
        return sb.toString();
    }
}
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java
@@ -4,7 +4,6 @@
import com.ycl.platform.domain.entity.WorkOrder;
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;
@@ -47,7 +46,7 @@
    @NotEmpty(message = "故障类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("故障类型")
    private List<ErrorTypeEnum> errorType;
    private List<String> errorType;
    // @NotNull(message = "运维人员不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("运维人员")
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -215,8 +215,8 @@
        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();
        entity.setErrorType(String.join(",", form.getErrorType()));
        List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList();
        workOrderErrorTypeMapper.insertWorkOrderErrorTypeList(workOrderErrorTypes);
        if(baseMapper.insert(entity) > 0) {
            return Result.ok("添加成功");
@@ -402,6 +402,7 @@
    public Result page(WorkOrderQuery query) {
        IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
        baseMapper.page(page, query);
        page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType())));
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
@@ -409,6 +410,7 @@
    public Result distributePage(DistributeWorkOrderQuery query) {
        IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
        baseMapper.distributePage(page, query);
        page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType())));
        return Result.ok().data(page).total(page.getTotal());
    }
ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -127,16 +127,16 @@
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexCar">
        SELECT
            IFNULL(ROUND(AVG(view_connect_stability * 100), 2), 0) AS view_connect_stability,
            IFNULL(ROUND(AVG(site_online * 100), 2), 0) AS site_online,
            IFNULL(ROUND(AVG(device_directory_consistent * 100), 2), 0) AS device_directory_consistent,
            IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 2), 0) AS vehicle_information_collection_accuracy,
            IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 2), 0) AS vehicle_capture_integrity,
            IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 2), 0) AS vehicle_capture_accuracy,
            IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 2), 0) AS vehicle_timing_accuracy,
            IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 2), 0) AS vehicle_upload_timeliness,
            IFNULL(ROUND(AVG(vehicle_url_availability * 100), 2), 0) AS vehicle_url_availability,
            IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 2), 0) AS vehicle_picture_availability
            IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,
            IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,
            IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,
            IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,
            IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,
            IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,
            IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,
            IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,
            IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,
            IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability
        FROM
            t_check_index_car
        <where>
ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
@@ -117,14 +117,14 @@
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexFace">
        SELECT
        IFNULL(ROUND(AVG(view_connect_stability * 100), 2), 0) AS view_connect_stability,
        IFNULL(ROUND(AVG(site_online * 100), 2), 0) AS site_online,
        IFNULL(ROUND(AVG(device_directory_consistent * 100), 2), 0) AS device_directory_consistent,
        IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 2), 0) AS face_information_collection_accuracy,
        IFNULL(ROUND(AVG(face_picture_qualification * 100), 2), 0) AS face_picture_qualification,
        IFNULL(ROUND(AVG(face_timing_accuracy * 100), 2), 0) AS face_timing_accuracy,
        IFNULL(ROUND(AVG(face_upload_timeliness * 100), 2), 0) AS face_upload_timeliness,
        IFNULL(ROUND(AVG(face_picture_availability * 100), 2), 0) AS face_picture_availability
        IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,
        IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,
        IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,
        IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy,
        IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification,
        IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy,
        IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness,
        IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability
        FROM
        t_check_index_face
        <where>
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -178,27 +178,27 @@
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
        SELECT
        IFNULL(ROUND(AVG(platform_online * 100), 2), 0) AS platform_online,
        IFNULL(ROUND(AVG(monitor_qualification * 100), 2), 0) AS monitor_qualification,
        IFNULL(ROUND(AVG(monitor_registration * 100), 2), 0) AS monitor_registration,
        IFNULL(ROUND(AVG(archives_rate * 100), 2), 0) AS archives_rate,
        IFNULL(ROUND(AVG(site_online * 100), 2), 0) AS site_online,
        IFNULL(ROUND(AVG(video_available * 100), 2), 0) AS video_available,
        IFNULL(ROUND(AVG(annotation_accuracy * 100), 2), 0) AS annotation_accuracy,
        IFNULL(ROUND(AVG(timing_accuracy * 100), 2), 0) AS timing_accuracy,
        IFNULL(ROUND(AVG(key_site_online * 100), 2), 0) AS key_site_online,
        IFNULL(ROUND(AVG(key_video_available * 100), 2), 0) AS key_video_available,
        IFNULL(ROUND(AVG(key_annotation_accuracy * 100), 2), 0) AS key_annotation_accuracy,
        IFNULL(ROUND(AVG(key_timing_accuracy * 100), 2), 0) AS key_timing_accuracy,
        IFNULL(ROUND(AVG(key_command_image_inspection * 100), 2), 0) AS key_command_image_inspection,
        IFNULL(ROUND(AVG(key_command_image_directory_tree * 100), 2), 0) AS key_command_image_directory_tree,
        IFNULL(ROUND(AVG(online_inspection_platform * 100), 2), 0) AS online_inspection_platform,
        IFNULL(ROUND(AVG(video_transmission_assets_accuracy * 100), 2), 0) AS video_transmission_assets_accuracy,
        IFNULL(ROUND(AVG(video_transmission_assets_weak_password_score * 100), 2), 0) AS video_transmission_assets_weak_password_score,
        IFNULL(ROUND(AVG(video_transmission_dangerous_assets_score * 100), 2), 0) AS video_transmission_dangerous_assets_score,
        IFNULL(ROUND(AVG(video_transmission_boundary_integrity_detection * 100), 2), 0) AS video_transmission_boundary_integrity_detection,
        IFNULL(ROUND(AVG(operating_rate * 100), 2), 0) AS operating_rate,
        IFNULL(ROUND(AVG(key_command_image_online * 100), 2), 0) AS key_command_image_online
        IFNULL(ROUND(AVG(platform_online * 100), 0), 0) AS platform_online,
        IFNULL(ROUND(AVG(monitor_qualification * 100), 0), 0) AS monitor_qualification,
        IFNULL(ROUND(AVG(monitor_registration * 100), 0), 0) AS monitor_registration,
        IFNULL(ROUND(AVG(archives_rate * 100), 0), 0) AS archives_rate,
        IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,
        IFNULL(ROUND(AVG(video_available * 100), 0), 0) AS video_available,
        IFNULL(ROUND(AVG(annotation_accuracy * 100), 0), 0) AS annotation_accuracy,
        IFNULL(ROUND(AVG(timing_accuracy * 100), 0), 0) AS timing_accuracy,
        IFNULL(ROUND(AVG(key_site_online * 100), 0), 0) AS key_site_online,
        IFNULL(ROUND(AVG(key_video_available * 100), 0), 0) AS key_video_available,
        IFNULL(ROUND(AVG(key_annotation_accuracy * 100), 0), 0) AS key_annotation_accuracy,
        IFNULL(ROUND(AVG(key_timing_accuracy * 100), 0), 0) AS key_timing_accuracy,
        IFNULL(ROUND(AVG(key_command_image_inspection * 100), 0), 0) AS key_command_image_inspection,
        IFNULL(ROUND(AVG(key_command_image_directory_tree * 100), 0), 0) AS key_command_image_directory_tree,
        IFNULL(ROUND(AVG(online_inspection_platform * 100), 0), 0) AS online_inspection_platform,
        IFNULL(ROUND(AVG(video_transmission_assets_accuracy * 100), 0), 0) AS video_transmission_assets_accuracy,
        IFNULL(ROUND(AVG(video_transmission_assets_weak_password_score * 100), 0), 0) AS video_transmission_assets_weak_password_score,
        IFNULL(ROUND(AVG(video_transmission_dangerous_assets_score * 100), 0), 0) AS video_transmission_dangerous_assets_score,
        IFNULL(ROUND(AVG(video_transmission_boundary_integrity_detection * 100), 0), 0) AS video_transmission_boundary_integrity_detection,
        IFNULL(ROUND(AVG(operating_rate * 100), 0), 0) AS operating_rate,
        IFNULL(ROUND(AVG(key_command_image_online * 100), 0), 0) AS key_command_image_online
        FROM
        t_check_index_video
        <where>
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -167,7 +167,7 @@
        LEFT JOIN t_work_order w ON w.serial_number = p.serial_number AND w.deleted = 0
        WHERE d.del_flag = 0 AND d.area IS NOT NULL
        <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
        <if test="deptId != null"> /*AND p.dept_id = #{deptId}*/ </if>
        <!-- <if test="deptId != null"> AND p.dept_id = #{deptId} </if> -->
        GROUP BY d.area, d.dept_id
        ORDER BY d.dept_id
    </select>