feat(ops): 巡检记录新增快捷标签字段
巡检主记录和明细项新增 tags 字段(JSON 数组),支持巡检员在提交时 选择预设的快捷标签(如"地面污渍"、"垃圾未清理"),便于后续统计分析。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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数组';
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user