package com.qmth.distributed.print.business.enums;

import com.qmth.teachcloud.common.enums.EnumResult;

import java.util.ArrayList;
import java.util.List;

/**
 * 专业认证毕业要求
 */
public enum CultureProgramRequirementEnum {
    GCZS("工程知识", "能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题"),
    WTFX("问题分析", "能够应用数学、自然科学和工程科学的基本原理，识别、表达、并通过文献研究分析复杂工程问题，以获得有效结论"),
    SJKFJJFA("设计/开发解决方案", "能够设计针对复杂工程问题的解决方案，设计满足特定需求的系统、单元（部件）或工艺流程，并能够在设计环节中体现创新意识，考虑社会、健康、安全、法律、文化以及环境等因素"),
    YJ("研究", "能够基于科学原理并采用科学方法对复杂工程问题进行研究，包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论"),
    SYGJ("使用工具", "能够针对复杂工程问题，开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具，包括对复杂工程问题的预测与模拟，并能够理解其局限性"),
    GCYSH("工程与社会", "能够基于工程相关背景知识进行合理分析，评价专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响，并理解应承担的责任"),
    HJHKCXFZ("环境和可持续发展", "能够理解和评价针对复杂工程问题的工程实践对环境、社会可持续发展的影响"),
    ZYGF("职业规范", "具有人文社会科学素养、社会责任感，能够在工程实践中理解并遵守工程职业道德和规范，履行责任"),
    GRYTD("个人与团队", "能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色"),
    GT("沟通", "能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流，包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备一定的国际视野，能够在跨文化背景下进行沟通和交流"),
    XMGL("项目管理", "理解并掌握工程管理原理与经济决策方法，并能在多学科环境中应用"),
    ZSXX("终身学习", "具有自主学习和终身学习的意识，有不断学习和适应发展的能力");

    CultureProgramRequirementEnum(String name, String content) {
        this.name = name;
        this.content = content;
    }

    private String name;

    private String content;

    public String getName() {
        return name;
    }

    public String getContent() {
        return content;
    }

    /**
     * @return
     */
    public static List<EnumResult> listTypes() {
        List<EnumResult> list = new ArrayList<EnumResult>();
        for (CultureProgramRequirementEnum value : CultureProgramRequirementEnum.values()) {
            EnumResult result = new EnumResult();
            result.setCode(value.name());
            result.setName(value.getName());
            result.setOrdinal(value.ordinal());
            list.add(result);
        }
        return list;
    }

}
