package com.changhu.pojo.dto;

import com.changhu.common.db.enums.IsOrNot;
import com.changhu.common.db.enums.ServiceProjectTwoType;
import com.changhu.common.db.enums.ServiceProjectType;
import com.changhu.pojo.model.LegalPersonInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author 20252
 * @createTime 2024/11/18 上午10:32
 * @desc SecurityUnitUseStatisticsDTO...
 */
@Data
public class SecurityUnitUseStatisticsDTO {
    @Schema(description = "事业单位id")
    private Long enterprisesUnitId;
    @Schema(description = "事业单位名称")
    private String enterprisesUnitName;
    @Schema(description = "省编码")
    private String province;
    @Schema(description = "省")
    private String provinceName;
    @Schema(description = "市编码")
    private String city;
    @Schema(description = "市")
    private String cityName;
    @Schema(description = "区/县编码")
    private String districts;
    @Schema(description = "区/县")
    private String districtsName;
    @Schema(description = "街道编码")
    private String street;
    @Schema(description = "街道")
    private String streetName;
    @Schema(description = "事业单位详细地址")
    private String address;
    @Schema(description = "服务项目列表")
    List<_ServiceProjectVo> serviceProjectList;

    @Schema(description = "公安单位id")
    private Long policeUnitId;
    @Schema(description = "公安代为代码")
    private String policeUnitCode;
    @Schema(description = "公安单位名称")
    private String policeUnitName;

    @Data
    static class _ServiceProjectVo {
        @Schema(description = "服务项目id")
        private Long snowFlakeId;
        @Schema(description = "服务项目名称")
        private String name;
        @Schema(description = "保安服务类别")
        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 Integer securityUserTotal;
        @Schema(description = "持证保安数量")
        private Integer haveCardSecurityUserCount;

        @Schema(description = "保安单位id")
        private Long securityUnitId;
        @Schema(description = "保安单位名称")
        private String securityUnitName;
        @Schema(description = "保安单位法人信息")
        private LegalPersonInfo securityUnitLegalPersonInfo;

        @Schema(description = "项目经理")
        private String serviceProjectManager;
        @Schema(description = "项目经理联系方式")
        private String serviceProjectManagerTelephone;

    }

}
