package com.changhu.module.securityManagement.pojo.params;

import com.changhu.common.db.enums.IsOrNot;
import com.changhu.common.db.enums.ServiceProjectTwoType;
import com.changhu.common.db.enums.ServiceProjectType;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * @author 20252
 * @createTime 2024/9/5 上午11:36
 * @desc ServiceProjectSaveOrUpdateParams...
 */
@Data
public class ServiceProjectSaveOrUpdateParams {

    @Schema(description = "id")
    private Long snowFlakeId;

    @Schema(description = "企事业单位id")
    @NotNull(message = "企事业单位不能为空")
    private Long enterprisesUnitId;

    @Schema(description = "项目经理小程序用户id")
    private Long projectManagerMiniProgramUserId;

    @Schema(description = "名称")
    @NotNull(message = "名称不能为空")
    private String name;

    @Schema(description = "服务类型")
    @NotNull(message = "服务类型不能为空")
    private ServiceProjectType type;

    @Schema(description = "二级类型")
    private ServiceProjectTwoType twoType;

    @Schema(description = "外包公司名称")
    private String outsourceName;

    @Schema(description = "是否备案")
    private IsOrNot isFiling;

    @Schema(description = "证件号(保安服务许可证/备案证)")
    private String idNumber;

    @Schema(description = "保安服务合同")
    private String securityServiceContract;

    @Schema(description = "服务区域面积")
    private Double serviceArea;

    @Schema(description = "楼栋数量")
    private Integer buildingTotal;

    @Schema(description = "户数")
    private Integer houseTotal;

    @Schema(description = "工作人员数量")
    private Integer staffTotal;

    @Schema(description = "保安人员数量")
    private Integer securityUserTotal;

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