package com.njcn.process.pojo.param;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author wr
 * @description
 * @date 2023/9/1 14:32
 */
@Data
public class SupvPlanHisParam extends BaseParam {

    @ApiModelProperty(value = "监督单位",required = true)
    private String orgId;

    @Data
    public  static class insert {

        @ApiModelProperty("计划表主键")
        @NotBlank(message = "计划表编号不能为空")
        private String planId;

        @ApiModelProperty("其他要求")
        @NotBlank(message = "其他要求不能为空")
        private String otherRemark;

        @ApiModelProperty("调整原因")
        @NotBlank(message = "调整原因不能为空")
        private String applyComment;

    }

    @Data
    public  static class update extends insert{

        @ApiModelProperty("历史记录编号")
        private String id;

        @ApiModelProperty("计划名称")
        @NotBlank(message = "计划表名称不能为空")
        private String workPlanName;

        @ApiModelProperty("监督单位id 取ISC平台上的组织id")
        private String supvOrgId;

        private String supvOrgName;

        @ApiModelProperty("计划监督时间")
        private LocalDate planSupvDate;

        @ApiModelProperty("计划状态")
        private String planStatus;

        @ApiModelProperty("更新人id")
        private String updateUserId;

        private String updateUserName;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private LocalDateTime updateTime;

        @ApiModelProperty("取消标识")
        private String deleteFlag;

        @ApiModelProperty("当取消标识为1时必填")
        private LocalDate deleteTime;

        @ApiModelProperty("上次变更记录主键,	从第二次变更起为必填")
        private String parentId;

        @ApiModelProperty("调整时间,	审核通过时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private LocalDateTime adjustTime;


    }
}
