package com.openhis.web.check.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 检查套餐DTO
 * 
 * @author system
 * @date 2025-11-26
 */
@Data
@Accessors(chain = true)
public class CheckPackageDto {

    /** 检查套餐ID */
    private Long id;

    /** 套餐名称 */
    @NotBlank(message = "套餐名称不能为空")
    private String packageName;

    /** 套餐编码 */
    private String code;

    /** 套餐类别 */
    @NotBlank(message = "套餐类别不能为空")
    private String packageType;

    /** 套餐级别 */
    @NotBlank(message = "套餐级别不能为空")
    private String packageLevel;

    /** 适用科室 */
    private String department;

    /** 适用用户 */
    private String user;

    /** 卫生机构 */
    private String organization;

    /** 套餐金额 */
    private BigDecimal packagePrice;

    /** 折扣 */
    private BigDecimal discount;

    /** 制单人 */
    private String creator;

    /** 是否停用 */
    private Integer isDisabled;

    /** 显示套餐名 */
    private Integer showPackageName;

    /** 生成服务费 */
    private Integer generateServiceFee;

    /** 套餐价格启用状态 */
    private Integer packagePriceEnabled;

    /** 服务费 */
    private BigDecimal serviceFee;

    /** 备注 */
    private String remark;

    /** 描述 */
    private String description;

    /** 套餐维护日期 */
    private LocalDate createDate;

    /** 套餐明细列表 */
    @NotNull(message = "套餐明细不能为空")
    private List<CheckPackageDetailDto> items;
}

