package cn.ibizlab.demoapi.dto;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.math.BigInteger;
import java.util.Map;
import java.util.HashMap;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.alibaba.fastjson.annotation.JSONField;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import cn.ibizlab.util.domain.DTOBase;
import cn.ibizlab.util.domain.DTOClient;
import lombok.*;
import lombok.experimental.Accessors;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 服务DTO对象[IBIZSample0021DTO]
 */
@Getter
@Setter
@NoArgsConstructor
@ApiModel("订单")
public class IBIZSample0021DTO extends DTOBase implements Serializable {

	private static final long serialVersionUID = 1L;

    /**
     * 总计
     */
    @JsonProperty("amount")
    @JSONField(name = "amount")
    @ApiModelProperty("总计")
    private BigDecimal amount;

    /**
     * 建立时间
     */
    @JsonProperty("createdate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    @JSONField(name = "createdate" , format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("建立时间")
    private Timestamp createDate;

    /**
     * 建立人
     */
    @JsonProperty("createman")
    @JSONField(name = "createman")
    @ApiModelProperty("建立人")
    private String createMan;

    /**
     * CURDEPTID
     */
    @JsonProperty("curdeptid")
    @JSONField(name = "curdeptid")
    @ApiModelProperty("CURDEPTID")
    private String curdeptid;

    /**
     * CURORGID
     */
    @JsonProperty("curorgid")
    @JSONField(name = "curorgid")
    @ApiModelProperty("CURORGID")
    private String curorgid;

    /**
     * 部门领导
     */
    @JsonProperty("deptheads")
    @JSONField(name = "deptheads")
    @ApiModelProperty("部门领导")
    private String deptHeads;

    /**
     * 部门领导
     */
    @JsonProperty("deptheadsid")
    @JSONField(name = "deptheadsid")
    @ApiModelProperty("部门领导")
    private String deptHeadsId;

    /**
     * 订单标识
     */
    @JsonProperty("ibizsample0021id")
    @JSONField(name = "ibizsample0021id")
    @ApiModelProperty("订单标识")
    private String ibizSample0021Id;

    /**
     * 订单名称
     */
    @JsonProperty("ibizsample0021name")
    @JSONField(name = "ibizsample0021name")
    @ApiModelProperty("订单名称")
    private String ibizSample0021Name;

    /**
     * 备注
     */
    @JsonProperty("memo")
    @JSONField(name = "memo")
    @ApiModelProperty("备注")
    private String memo;

    /**
     * 订单状态
     */
    @JsonProperty("orderstate")
    @JSONField(name = "orderstate")
    @ApiModelProperty("订单状态")
    private String orderState;

    /**
     * 订单时间
     */
    @JsonProperty("ordertime")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    @JSONField(name = "ordertime" , format = "yyyy-MM-dd")
    @ApiModelProperty("订单时间")
    private Timestamp orderTime;

    /**
     * 更新时间
     */
    @JsonProperty("updatedate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    @JSONField(name = "updatedate" , format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Timestamp updateDate;

    /**
     * 更新人
     */
    @JsonProperty("updateman")
    @JSONField(name = "updateman")
    @ApiModelProperty("更新人")
    private String updateMan;


    /**
     * 设置 [总计]
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
        this.modify("amount", amount);
    }

    /**
     * 设置 [CURDEPTID]
     */
    public void setCurdeptid(String curdeptid) {
        this.curdeptid = curdeptid;
        this.modify("curdeptid", curdeptid);
    }

    /**
     * 设置 [CURORGID]
     */
    public void setCurorgid(String curorgid) {
        this.curorgid = curorgid;
        this.modify("curorgid", curorgid);
    }

    /**
     * 设置 [部门领导]
     */
    public void setDeptHeads(String deptHeads) {
        this.deptHeads = deptHeads;
        this.modify("deptheads", deptHeads);
    }

    /**
     * 设置 [部门领导]
     */
    public void setDeptHeadsId(String deptHeadsId) {
        this.deptHeadsId = deptHeadsId;
        this.modify("deptheadsid", deptHeadsId);
    }

    /**
     * 设置 [订单名称]
     */
    public void setIbizSample0021Name(String ibizSample0021Name) {
        this.ibizSample0021Name = ibizSample0021Name;
        this.modify("ibizsample0021name", ibizSample0021Name);
    }

    /**
     * 设置 [备注]
     */
    public void setMemo(String memo) {
        this.memo = memo;
        this.modify("memo", memo);
    }

    /**
     * 设置 [订单状态]
     */
    public void setOrderState(String orderState) {
        this.orderState = orderState;
        this.modify("orderstate", orderState);
    }

    /**
     * 设置 [订单时间]
     */
    public void setOrderTime(Timestamp orderTime) {
        this.orderTime = orderTime;
        this.modify("ordertime", orderTime);
    }


}
