package com.ruoyi.mxjb.domain;

import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

// 多元升学路径测评表单
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MultipleWayData {
    MultipleWayForm form;
    List<MultipleWayConclusion> conclusionList;

    @Data
    public static class MultipleWayForm {
        /* page 1 */
        private Long formId;
        // 性别
        // dictType: sys_user_sex
        private String gender;

        // 年龄
        private Integer age;

        // 民族
        // dictType: multiple_way_nation
        private String nation;

        // 科类
        // dictType: multiple_way_course0
        private String course0;

        // 成绩
        // dictType: multiple_way_score
        private String score;

        // 外语语种
        // dictType: multiple_way_foreign_language
        private String foreignL;

        // 外语成绩
        private Integer foreignLScore;

        // 外语口语考试
        // dictType: multiple_way_foreign_language_spoken
        private String foreignLSpoken;

        // 身高
        private Integer height;

        // 体重
        private Integer weight;

        // 视力左
        private Double eyesightL;

        // 视力右
        private Double eyesightR;

        // 疾病情况
        // dictType: multiple_way_disease
        // multiple choices
        private String disease;

        /* page 2 */
        // 户籍省
        private String province;
        private String provinceName;

        // 户籍市
        private String city;
        private String cityName;

        // 户籍区
        private String district;
        private String districtName;

        // 户籍类型
        // dictType: multiple_way_native_type
        private String nativeType;

        // 户籍与父母一致 same with parent
        // dictType: sys_yes_no
        private String nativeSWP;

        // 户籍、学籍高中是否在本地
        // dictType: sys_yes_no
        private String nativeLocal;

        // 可接受学费范围
        // dictType: multiple_way_fee_expectable
        private String feeExpectable;

        // 直系3代是否有刑事记录
        // dictType: sys_yes_no
        private String criminalRecords;

        // 是否为边防子女
        // dictType: sys_yes_no
        private String frontierChildren;

        /* page 3 */

        // 师范生意向
        // dictType: sys_yes_no
        private String toBeTeacher;

        // 考研意向
        // dictType: sys_yes_no
        private String toBeGraduate;

        // 奖项/荣誉情况
        // dictType: multiple_way_awards
        // multiple choices
        private String awards;
    }

    @Data
    public static class MultipleWayConclusion {
        // 多元升学路方向（项目）
        // dictType: multiple_way_direction
        public String direction;

        // 是否满足条件
        public Boolean valid;

        // 未匹配条件提示
        public List<String> failures = Lists.newArrayList();
    }
}