/*
 * Copyright ©2023 CJB-CNIT Team. All rights reserved
 */
package com.openhis.web.pharmacymanage.dto;

import java.util.List;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.openhis.administration.domain.Practitioner;

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

/**
 * 住院发药初期dto
 *
 * @author yuxj
 * @date 2025-06-03
 */
@Data
@Accessors(chain = true)
public class MedicineSummaryInitDto {

    /** 科室列表 */
    private List<LongOptions> departmentOptions;
    /** 领药人列表 */
    private List<Practitioner> applicantOptions;

    /** 发药状态 */
    private List<IntegerOptions> dispenseStatusOptions;

    /** 未发药原因 */
    private List<IntegerOptions> notPerformedReasonOptions;

    @Data
    public static class LongOptions {
        @JsonSerialize(using = ToStringSerializer.class)
        private Long value;
        private String label;

        public LongOptions(Long value, String label) {
            this.value = value;
            this.label = label;
        }
    }

    @Data
    public static class IntegerOptions {
        private Integer value;
        private String label;

        public IntegerOptions(Integer value, String label) {
            this.value = value;
            this.label = label;
        }
    }
}
