package com.zt.plat.module.qms.business.config.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import com.zt.plat.module.qms.core.aspect.annotation.Dict;

@Schema(description = "管理后台 - LiteFlow脚本配置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConfigSimpleFlowCodeRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21610")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "脚本序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("脚本序号")
    private String codeNo;

    @Schema(description = "脚本名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("脚本名称")
    private String codeName;

    @Schema(description = "脚本数据", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("脚本数据")
    private String codeData;

    @Schema(description = "脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节", example = "1")
    @ExcelProperty("脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节")
    @Dict(dicCode = "liteflow_code_type")
    private String codeType;

    @Schema(description = "脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress")
    @ExcelProperty("脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress")
    @Dict(dicCode = "liteflow_code_language")
    private String codeLanguage;

    @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("所属部门")
    private String systemDepartmentCode;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

}