package com.zcloud.basic.info.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2025-10-30 10:10:49
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DepartmentUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id", required = true)
    @NotNull(message = "主键不能为空")
    private Long id;
    @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
    private String departmentId;
    @ApiModelProperty(value = "名称,汉字30以内", name = "name", required = true)
    @NotEmpty(message = "名称不能为空")
    private String name;
    @ApiModelProperty(value = "父部门id", name = "parentId", required = true)
    private Long parentId;

    @ApiModelProperty(value = "所属企业", name = "corpinfoId", required = true)
    private Long corpinfoId;
    @ApiModelProperty(value = "部门级别编码", name = "level", required = true)
    private String level;
    @ApiModelProperty(value = "部门级别名称,汉字30以内", name = "levelName", required = true)
    private String levelName;
    @ApiModelProperty(value = "部门排序", name = "depOrder", required = true)
    private Integer depOrder;
    @ApiModelProperty(value = "是否监管部门 0-否  1-是", name = "superviseFlag")
    private Integer superviseFlag;
    @ApiModelProperty(value = "是否安全管理部门 0-否  1-是", name = "securityFlag")
    private Integer securityFlag;
    @ApiModelProperty(value = "部门职能")
    private String departmentFunction;
    @ApiModelProperty(value = "备注", name = "remarks")
    private String remarks;
    @ApiModelProperty(value = "监管部门权限", name = "departmentIdsString")
    private List<Long> departmentIdsList;
}

