package com.zcloud.basic.info.dto;

import com.alibaba.cola.dto.Command;
import com.fasterxml.jackson.annotation.JsonFormat;
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.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2025-10-31 10:52:09
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CorpInfoXgfUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id", required = true)
    @NotNull(message = "主键不能为空")
    private Long id;
    @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
    private String corpinfoId;
    @ApiModelProperty(value = "企业名称", name = "corpName", required = true)
    @NotEmpty(message = "企业名称不能为空")
    private String corpName;
    @ApiModelProperty(value = "企业类型(0-普通企业，1-集团单位，2-股份单位，3-相关方企业，4-货主单位，5-驻港单位)", name = "type", required = true)
    private Integer type;
    @ApiModelProperty(value = "相关方等级，1 一级相关方,2 二级相关方", name = "xgfLevel", required = true)
    private Integer xgfLevel;
    @ApiModelProperty(value = "企业再列表中的排序", name = "corpOrder", required = true)
    private Integer corpOrder;
    @ApiModelProperty(value = "是否启用，1:启用,0:关闭", name = "useFlag", required = true)
    private Integer useFlag;
    @ApiModelProperty(value = "统一社会信用代码", name = "code", required = true)
    private String code;
    @ApiModelProperty(value = "通讯地址", name = "address", required = true)
    private String address;
    @ApiModelProperty(value = "邮编", name = "postalCode", required = true)
    private String postalCode;
    @ApiModelProperty(value = "所属区域", name = "companyArea", required = true)
    private String companyArea;
    @ApiModelProperty(value = "规模", name = "scale", required = true)
    private String scale;
    @ApiModelProperty(value = "规模名称", name = "scaleName", required = true)
    private String scaleName;
    @ApiModelProperty(value = "成立时间", name = "createDate", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate createDate;
    @ApiModelProperty(value = "企业状态", name = "corpState", required = true)
    private String corpState;
    @ApiModelProperty(value = "企业状态名称", name = "corpStateName", required = true)
    private String corpStateName;
    @ApiModelProperty(value = "资产总额（万元）", name = "totalassets", required = true)
    private BigDecimal totalAssets;
    @ApiModelProperty(value = "注册资金（万元）", name = "regcapital", required = true)
    private BigDecimal regcapital;
    @ApiModelProperty(value = "企事业单位经营地址", name = "addressBusiness", required = true)
    private String addressBusiness;
    @ApiModelProperty(value = "企事业单位办公地址", name = "addressOffice", required = true)
    private String addressOffice;
    @ApiModelProperty(value = "经济类型", name = "ecoType", required = true)
    private String ecoType;
    @ApiModelProperty(value = "经济类型名称", name = "ecoTypeName", required = true)
    private String ecoTypeName;
    @ApiModelProperty(value = "主要负责人", name = "contacts", required = true)
    private String contacts;
    @ApiModelProperty(value = "主要负责人手机号", name = "contactsPhone", required = true)
    private String contactsPhone;
    @ApiModelProperty(value = "安全负责人", name = "safetyName", required = true)
    private String safetyName;
    @ApiModelProperty(value = "安全负责人手机号", name = "safetyPhone", required = true)
    private String safetyPhone;
    @ApiModelProperty(value = "是否规模以上,1:是,0:否", name = "scaleType", required = true)
    private Integer scaleType;
    @ApiModelProperty(value = "占地面积", name = "areaCovered", required = true)
    private BigDecimal areaCovered;
    @ApiModelProperty(value = "职工人数", name = "employees", required = true)
    private Integer employees;
    @ApiModelProperty(value = "经度", name = "longitude", required = true)
    private String longitude;
    @ApiModelProperty(value = "纬度", name = "latitude", required = true)
    private String latitude;
    @ApiModelProperty(value = "所属区域名称")
    private String areaName;
    @ApiModelProperty(value = "所属区域编码")
    private String areaCode;
    @ApiModelProperty(value = "法定代表人", name = "lrName", required = true)
    private String lrName;
    @ApiModelProperty(value = "法人手机号", name = "lrMobile", required = true)
    private String lrMobile;
    @ApiModelProperty(value = "行业分类", name = "corpType", required = true)
    private String corpType;
    @ApiModelProperty(value = "行业分类名称", name = "corpTypeName", required = true)
    private String corpTypeName;
    @ApiModelProperty(value = "行业分类", name = "corpType2", required = true)
    private String corpType2;
    @ApiModelProperty(value = "行业分类名称", name = "corpType2Name", required = true)
    private String corpType2Name;
    @ApiModelProperty(value = "行业分类", name = "corpType3", required = true)
    private String corpType3;
    @ApiModelProperty(value = "行业分类名称", name = "corpType3Name", required = true)
    private String corpType3Name;
    @ApiModelProperty(value = "行业分类", name = "corpType4", required = true)
    private String corpType4;
    @ApiModelProperty(value = "行业分类名称", name = "corpType4Name", required = true)
    private String corpType4Name;
    @ApiModelProperty(value = "所属省名称", name = "provinceName", required = true)
    private String provinceName;
    @ApiModelProperty(value = "所属省编码", name = "province", required = true)
    private String province;
    @ApiModelProperty(value = "所属市级名称", name = "cityName", required = true)
    private String cityName;
    @ApiModelProperty(value = "所属市级编码", name = "city", required = true)
    private String city;
    @ApiModelProperty(value = "所属区县名称", name = "countryName", required = true)
    private String countryName;
    @ApiModelProperty(value = "所属区县编码", name = "country", required = true)
    private String country;
    @ApiModelProperty(value = "所属乡镇街道名称", name = "streetName", required = true)
    private String streetName;
    @ApiModelProperty(value = "所属乡镇街道编码", name = "street", required = true)
    private String street;
    @ApiModelProperty(value = "所属村居委会名称", name = "villageName", required = true)
    private String villageName;
    @ApiModelProperty(value = "所属村居委会编码", name = "village", required = true)
    private String village;

    @ApiModelProperty(value = "营业执照开始时间", name = "licenseStart", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate licenseStart;

    @ApiModelProperty(value = "营业执照结束时间", name = "licenseEnd", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate licenseEnd;
    @ApiModelProperty(value = "有无职业卫生信息,1:是,0:否", name = "whetherHygiene", required = true)
    private Integer whetherHygieneFlag;
    @ApiModelProperty(value = "有无重大危险源,1:是,0:否", name = "whetherHazards", required = true)
    private Integer whetherHazardsFlag;
    @ApiModelProperty(value = "是否有稀缺大型应急物资或设施,1:是,0:否", name = "whetherScarce", required = true)
    private Integer whetherScarceFlag;
    @ApiModelProperty(value = "是否涉及危化品,1:是,0:否", name = "whetherChemicals", required = true)
    private Integer whetherChemicalsFlag;
    @ApiModelProperty(value = "有无特种设备,1:是,0:否", name = "whetherSpecialequipment", required = true)
    private Integer whetherSpecialequipmentFlag;
    @ApiModelProperty(value = "有无特存种作业人员,1:是,0:否", name = "whetherSpecialpeople", required = true)
    private Integer whetherSpecialpeopleFlag;
    @ApiModelProperty(value = "是否涉及煤气,1:是,0:否", name = "whetherCoalgas", required = true)
    private Integer whetherCoalgasFlag;
    @ApiModelProperty(value = "是否属于消防重点单位,1:是,0:否", name = "whetherFire", required = true)
    private Integer whetherFireFlag;
    @ApiModelProperty(value = "是否在有限空间作业,1:是,0:否", name = "whetherConfined", required = true)
    private Integer whetherConfinedFlag;
    @ApiModelProperty(value = "是否存在涉爆粉尘作业,1:是,0:否", name = "whetherPowder", required = true)
    private Integer whetherPowderFlag;
    @ApiModelProperty(value = "是否涉及防雷防静电,1:是,0:否", name = "whetherLightning", required = true)
    private Integer whetherLightningFlag;
    @ApiModelProperty(value = "是否涉及危化品管道,1:是,0:否", name = "whetherPipeline", required = true)
    private Integer whetherPipelineFlag;
    @ApiModelProperty(value = "是否持有放射源,1:是,0:否", name = "whetherActinogen", required = true)
    private Integer whetherActinogenFlag;
    @ApiModelProperty(value = "是否涉及液氨制冷,1:是,0:否", name = "whetherLiquidammonia", required = true)
    private Integer whetherLiquidammoniaFlag;
/*    @ApiModelProperty(value = "用工形式", name = "employmentformList", required = true)
    private List<CorpInfoXgfItemCmd> employmentformList;
    @ApiModelProperty(value = "选取形式", name = "selectfromList", required = true)
    private List<CorpInfoXgfItemCmd> selectfromList;
    @ApiModelProperty(value = "股份监管部门", name = "managerDepartmentList", required = true)
    private List<CorpInfoXgfItemCmd> managerDepartmentList;
    @ApiModelProperty(value = "股份主管部门", name = "mainDepartmentList", required = true)
    private List<CorpInfoXgfItemCmd> mainDepartmentList;
    @ApiModelProperty(value = "基层单位监管部门", name = "competentDeptList", required = true)
    private List<CorpInfoXgfItemCmd> competentDeptList;
    @ApiModelProperty(value = "基层单位主管部门", name = "superVisecorpDeptList", required = true)
    private List<CorpInfoXgfItemCmd> superVisecorpDeptList;
    @ApiModelProperty(value = "集团单位", name = "corpTypeList", required = true)
    private List<CorpInfoXgfItemCmd> corpTypeList;*/
    @ApiModelProperty(value = "密码", name = "passWord", required = true)
    private String passWord;
}

