feat(ops): 巡检记录新增快捷标签字段

巡检主记录和明细项新增 tags 字段(JSON 数组),支持巡检员在提交时
选择预设的快捷标签(如"地面污渍"、"垃圾未清理"),便于后续统计分析。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
lzh
2026-03-19 09:22:25 +08:00
parent 5ce1561437
commit c20a42f68a
5 changed files with 40 additions and 2 deletions

View File

@@ -37,6 +37,7 @@ CREATE TABLE `ops_inspection_record` (
`stay_duration` int COMMENT '归属判定-保洁员停留时长(秒)',
`attribution_result` tinyint COMMENT '归属判定结果1个人责任 2突发状况 3正常',
`generated_order_id` bigint COMMENT '整改工单ID',
`tags` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快捷标签JSON数组',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '更新者',
@@ -59,6 +60,7 @@ CREATE TABLE `ops_inspection_record_item` (
`template_id` bigint NOT NULL COMMENT '模板检查项ID',
`is_passed` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否合格',
`remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '备注',
`tags` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快捷标签JSON数组',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '更新者',
@@ -69,3 +71,9 @@ CREATE TABLE `ops_inspection_record_item` (
KEY `idx_record_id` (`record_id`),
KEY `idx_template_id` (`template_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检明细';
-- ----------------------------
-- 增量变更:新增快捷标签字段
-- ----------------------------
ALTER TABLE `ops_inspection_record` ADD COLUMN `tags` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快捷标签JSON数组';
ALTER TABLE `ops_inspection_record_item` ADD COLUMN `tags` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '快捷标签JSON数组';

View File

@@ -2,8 +2,11 @@ package com.viewsh.module.ops.environment.controller.admin.inspection.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 巡检提交明细项 VO")
@Data
public class InspectionSubmitItemVO {
@@ -19,4 +22,8 @@ public class InspectionSubmitItemVO {
@Schema(description = "备注", example = "地面有明显污渍")
private String remark;
@Schema(description = "快捷标签", example = "[\"地面污渍\",\"垃圾未清理\"]")
@Size(max = 10, message = "标签数量不能超过10个")
private List<@Size(max = 32, message = "单个标签长度不能超过32") String> tags;
}

View File

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.List;
@@ -23,6 +24,10 @@ public class InspectionSubmitReqVO {
@Schema(description = "备注", example = "卫生间地面有污渍")
private String remark;
@Schema(description = "快捷标签", example = "[\"地面污渍\",\"垃圾未清理\"]")
@Size(max = 10, message = "标签数量不能超过10个")
private List<@Size(max = 32, message = "单个标签长度不能超过32") String> tags;
@Schema(description = "巡检明细项列表", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "巡检明细项不能为空")
@Valid

View File

@@ -2,14 +2,18 @@ package com.viewsh.module.ops.environment.dal.dataobject.inspection;
import com.viewsh.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import java.util.List;
/**
* 巡检主记录 DO
*/
@TableName("ops_inspection_record")
@TableName(value = "ops_inspection_record", autoResultMap = true)
@KeySequence("ops_inspection_record_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@@ -60,5 +64,10 @@ public class OpsInspectionRecordDO extends BaseDO {
* 整改工单ID
*/
private Long generatedOrderId;
/**
* 快捷标签
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<String> tags;
}

View File

@@ -2,14 +2,18 @@ package com.viewsh.module.ops.environment.dal.dataobject.inspection;
import com.viewsh.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import java.util.List;
/**
* 巡检明细 DO
*/
@TableName("ops_inspection_record_item")
@TableName(value = "ops_inspection_record_item", autoResultMap = true)
@KeySequence("ops_inspection_record_item_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@@ -40,5 +44,10 @@ public class OpsInspectionRecordItemDO extends BaseDO {
* 备注
*/
private String remark;
/**
* 快捷标签
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<String> tags;
}