package com.pusong.business.domain.bo;

import com.pusong.common.core.validate.AddGroup;
import com.pusong.common.core.validate.EditGroup;
import com.pusong.common.core.validate.QueryGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import java.util.List;

/**
 * 主任务业务对象 ps_task_main
 *
 * @author wls
 * @date 2024-08-07
 */
@Data
@EqualsAndHashCode
public class PsTaskQueryBo {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 纳税人识别号
     */
    private String customerNum;

    /**
     * 纳税人资格
     */
    private String customerCert;

    /**
     * 销售经理姓名
     */
    private String  customManagerName;
    /**
     * 服务项目编码集合
     */
    private List<String> serviceProjectCode;
    /**
     * 执行者姓名
     */
    private String  executor;
    /**
     * 所属区域（公司地址）
     */
    private String  companyAdress;

    /**
     * 法人手机号
     */
    private String  mobile;
    /**
     * 法人身份证号
     */
    private String  idNo;
    /**
     * 法人身份证号
     */
    private String  name;

    /**
     * 任务委派类型（1内勤,2外勤,3特勤） 查询子任务列表时使用
     */
    @NotBlank(message = "任务委派类型不能为空", groups = {QueryGroup.class})
    private String  appointType;
    /**
     * 任务类型
     */
    private String type;

    /**
     * 客户姓名
     */
    private String customName;

    /**
     * 客户电话
     */
    private String customMobile;
    /**
     * 客户是否到达现场1是0否
     */
    private String customScene;
    /**
     * 是否代账1是0否
     */
    private String isProxy;


    /**
     * 合同编码
     */
    private String contractCode;

    /**
     * 主任务状态
     */
    private String taskStatus;

    /**
     * 子任务状态
     */
    private String appointStatus;

}
