package com.rf.psychological.scale.resultBusiness.scaleResult;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.rf.psychological.dao.dto.scale.NewResultDto;
import com.rf.psychological.dao.model.AnswerEntity;
import com.rf.psychological.scale.scaleresult.ScaleConstant;
import com.rf.psychological.utils.Constant;

import java.util.*;

/**
 * @description DISC性格测试题
 */
public class DISCScale extends BaseScale {
    public DISCScale(JSONArray jsonArray, JSONObject resultJson) {
        super(jsonArray, resultJson);
    }

    public JSONObject scaleCalculate() throws Exception {

        // 自定义路径使用
        /*ScaleUtil.getScaleDll("DISCSCALE.dll");
        System.out.println("JSONArray:"+jsonArray);
        System.out.println("resultJson:"+resultJson);
        XScale xScale = new XScale(jsonArray,resultJson);
        String result = xScale.DISCScale(jsonArray.toString(), resultJson.toString());
        //System.out.println("dllresult:"+result);
        //解决排序问题
        LinkedHashMap<String, Object> jsonMap = JSON.parseObject(result,LinkedHashMap.class, Feature.OrderedField);
        JSONObject jsonObject = new JSONObject(true);
        jsonObject.putAll(jsonMap);
        System.out.println("jsonObject:"+jsonObject);
        return jsonObject;*/

        //D总分
        int scoreD = 0;
        //I总分
        int scoreI = 0;
        //S总分
        int scoreS = 0;
        //C总分
        int scoreC = 0;

        //获取答案列表
        List<AnswerEntity> answerEntities = (List<AnswerEntity>) resultJson.get("answerEntities");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject1 = jsonArray.getJSONObject(i);
            for (AnswerEntity answerEntity : answerEntities) {
                if (answerEntity.getQuestionNo().equals(String.valueOf(i + 1))) {
                    if (answerEntity.getName().equals(jsonObject1.getString("checkItems"))) {
                        switch (answerEntity.getScore()) {
                            case "D": {
                                scoreD += 1;
                                break;
                            }
                            case "I": {
                                scoreI += 1;
                                break;
                            }
                            case "S": {
                                scoreS += 1;
                                break;
                            }
                            case "C": {
                                scoreC += 1;
                                break;
                            }
                        }


                    }
                }
            }
        }


        //得分列表
        Map<String, String> resultMap = new LinkedHashMap<>();
        resultMap.put("D总分", String.valueOf(scoreD));
        resultMap.put("I总分", String.valueOf(scoreI));
        resultMap.put("S总分", String.valueOf(scoreS));
        resultMap.put("C总分", String.valueOf(scoreC));

        resultJson.put("D总分", String.valueOf(scoreD));
        resultJson.put("I总分", String.valueOf(scoreI));
        resultJson.put("S总分", String.valueOf(scoreS));
        resultJson.put("C总分", String.valueOf(scoreC));


        if (scoreD > 10) {
            resultMap.put("D结论", "支配型/控制者（高D型特质的人可以称为是“天生的领袖”）；" +
                    "在情感方面，D型人一个坚定果敢的人，酷好变化，喜欢控制，干劲十足，独立自主，超级自信。可是，由于比较不会顾及别人的感受，所以显得粗鲁、霸道、没有耐心、穷追不舍、不会放松。D型人不习惯与别人进行感情上的交流，不会恭维人，不喜欢眼泪，匮乏同情心。 " +
                    "在工作方面，D型人是一个务实和讲究效率的人，目标明确，眼光全面，组织力强，行动迅速，解决问题不过夜，果敢坚持到底，在反对声中成长。但是，因为过于强调结果， D型人往往容易忽视细节，处理问题不够细致。爱管人、喜欢支使他人的特点使得D型人能够带动团队进步，但也容易激起同事的反感。" +
                    "在人际关系方面， D型人喜欢为别人做主，虽然这样能够帮助别人做出选择，但也容易让人有强迫感。由于关注自己的目标， D型人在乎的是别人的可利用价值。喜欢控制别人，不会说对不起。" +
                    "描述性词语：积级进取、争强好胜、强势、爱追根究底、直截了当、主动的开拓者、坚持意见、自信、直率");
            resultJson.put("D结论", "支配型/控制者（高D型特质的人可以称为是“天生的领袖”）；" +
                    "在情感方面，D型人一个坚定果敢的人，酷好变化，喜欢控制，干劲十足，独立自主，超级自信。可是，由于比较不会顾及别人的感受，所以显得粗鲁、霸道、没有耐心、穷追不舍、不会放松。D型人不习惯与别人进行感情上的交流，不会恭维人，不喜欢眼泪，匮乏同情心。 " +
                    "在工作方面，D型人是一个务实和讲究效率的人，目标明确，眼光全面，组织力强，行动迅速，解决问题不过夜，果敢坚持到底，在反对声中成长。但是，因为过于强调结果， D型人往往容易忽视细节，处理问题不够细致。爱管人、喜欢支使他人的特点使得D型人能够带动团队进步，但也容易激起同事的反感。" +
                    "在人际关系方面， D型人喜欢为别人做主，虽然这样能够帮助别人做出选择，但也容易让人有强迫感。由于关注自己的目标， D型人在乎的是别人的可利用价值。喜欢控制别人，不会说对不起。" +
                    "描述性词语：积级进取、争强好胜、强势、爱追根究底、直截了当、主动的开拓者、坚持意见、自信、直率");
        }
        if (scoreI > 10) {
            resultMap.put("I结论", "活泼型/社交者(高I型的人通常是较为活泼的团队活动组织者)；" +
                    "在情感方面,I型人是一个情感丰富而外露的人，由于性格活跃，爱说，爱讲故事，幽默，彩色记忆，能抓住听众，你常常是聚会的中心人物。是一个天才的演员，天真无邪，热情诚挚，喜欢送礼和接受礼物，看重人缘。情绪化的特点使得你容易兴奋，喜欢吹牛、说大话，天真，永远长不大，富有喜剧色彩。但是，似乎也很容易生气，爱抱怨，大嗓门，不成熟。" +
                    "在工作方面，I型人是一个热情的推动者，总有新主意，色彩丰富，说干就干，能够鼓励和带领他人一起积极投入工作。可是，I型人似乎总是情绪决定一切，想哪儿说哪儿，而且说得多干得少，遇到困难容易失去信心，杂乱无章，做事不彻底，爱走神儿，爱找借口。喜欢轻松友好的环境，非常害怕被拒绝。" +
                    "在人际关系方面，I型人容易交上朋友，朋友也多。关爱朋友，也被朋友称赞。爱当主角，爱受欢迎喜欢控制谈话内容。可是，喜欢即兴表演的特点使得I型人常常不能仔细理解别人，而且健忘多变。" +
                    "描述性词语：有影响力、有说服力、友好、善于言辞、健谈、乐观积极、善于交际");
            resultJson.put("I结论", "活泼型/社交者(高I型的人通常是较为活泼的团队活动组织者)；" +
                    "在情感方面,I型人是一个情感丰富而外露的人，由于性格活跃，爱说，爱讲故事，幽默，彩色记忆，能抓住听众，你常常是聚会的中心人物。是一个天才的演员，天真无邪，热情诚挚，喜欢送礼和接受礼物，看重人缘。情绪化的特点使得你容易兴奋，喜欢吹牛、说大话，天真，永远长不大，富有喜剧色彩。但是，似乎也很容易生气，爱抱怨，大嗓门，不成熟。" +
                    "在工作方面，I型人是一个热情的推动者，总有新主意，色彩丰富，说干就干，能够鼓励和带领他人一起积极投入工作。可是，I型人似乎总是情绪决定一切，想哪儿说哪儿，而且说得多干得少，遇到困难容易失去信心，杂乱无章，做事不彻底，爱走神儿，爱找借口。喜欢轻松友好的环境，非常害怕被拒绝。" +
                    "在人际关系方面，I型人容易交上朋友，朋友也多。关爱朋友，也被朋友称赞。爱当主角，爱受欢迎喜欢控制谈话内容。可是，喜欢即兴表演的特点使得I型人常常不能仔细理解别人，而且健忘多变。" +
                    "描述性词语：有影响力、有说服力、友好、善于言辞、健谈、乐观积极、善于交际");
        }
        if (scoreS > 10) {
            resultMap.put("S结论", "稳定型/支持者（高S型的人通常较为平和，知足常乐，不愿意主动前进）；" +
                    "在情感方面，S型人是一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。 S型喜欢使用一句口头禅：“不过如此。”这个特点使得S型总是缺乏热情，不愿改变。" +
                    "在工作方面， S型能够按部就班地管理事务，胜任工作并能够持之以恒。奉行中庸之道，平和可亲，一方面习惯于避免冲突，另一方面也能处变不惊。但是， S型似乎总是慢吞吞的，很难被鼓动，懒惰，马虎，得过且过。由于害怕承担风险和责任，宁愿站在一边旁观。很多时候， S型总是焉有主意，有话不说，或折衷处理。 " +
                    "在人际关系方面， S型是一个容易相处的人，喜欢观察人、琢磨人，乐于倾听，愿意支持。可是，由于不以为然， S型也可能显得漠不关心，或者嘲讽别人。" +
                    "描述性词语：可靠、深思熟虑、亲切友好、有毅力、坚持不懈、善倾听者、全面周到、自制力强");
            resultJson.put("S结论", "稳定型/支持者（高S型的人通常较为平和，知足常乐，不愿意主动前进）；" +
                    "在情感方面，S型人是一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。 S型喜欢使用一句口头禅：“不过如此。”这个特点使得S型总是缺乏热情，不愿改变。" +
                    "在工作方面， S型能够按部就班地管理事务，胜任工作并能够持之以恒。奉行中庸之道，平和可亲，一方面习惯于避免冲突，另一方面也能处变不惊。但是， S型似乎总是慢吞吞的，很难被鼓动，懒惰，马虎，得过且过。由于害怕承担风险和责任，宁愿站在一边旁观。很多时候， S型总是焉有主意，有话不说，或折衷处理。 " +
                    "在人际关系方面， S型是一个容易相处的人，喜欢观察人、琢磨人，乐于倾听，愿意支持。可是，由于不以为然， S型也可能显得漠不关心，或者嘲讽别人。" +
                    "描述性词语：可靠、深思熟虑、亲切友好、有毅力、坚持不懈、善倾听者、全面周到、自制力强");
        }
        if (scoreC > 10) {
            resultMap.put("C结论", "完美型/服从者（高C型的人通常是喜欢追求完美的专业型人才）；" +
                    "在情感方面，C型人是一个性格深沉的人，严肃认真，目的性强，善于分析，愿意思考人生与工作的意义，喜欢美丽，对他人敏感，理想主义。但是， C型人总是习惯于记住负面的东西，容易情绪低落，过分自我反省，自我贬低，离群索居，有忧郁症倾向。" +
                    "在工作方面， C型人是一个完美主义者，高标准，计划性强，注重细节，讲究条理，整洁，能够发现问题并制订解决问题的办法，喜欢图表和清单，坚持己见，善始善终。但是， C型人也很可能是一个优柔寡断的人，习惯于收集信息资料和做分析，却很难投入到实际运作的工作中来。容易自我否定，因此需要别人的认同。同时，也习惯于挑剔别人，不能忍受别人的工作做不好。" +
                    "人际关系方面， C型人一方面在寻找理想伙伴，另一方面却交友谨慎。能够深切地关怀他人，善于倾听抱怨，帮助别人解决困难。但是， C型人似乎始终有一种不安全感，以致于感情内向，退缩，怀疑别人，喜欢批评人事，却不喜欢别人的反对。" +
                    "描述性词语：遵从、仔细、有条不紊、严谨、准确、完美主义者、逻辑性强");
            resultJson.put("C结论", "完美型/服从者（高C型的人通常是喜欢追求完美的专业型人才）；" +
                    "在情感方面，C型人是一个性格深沉的人，严肃认真，目的性强，善于分析，愿意思考人生与工作的意义，喜欢美丽，对他人敏感，理想主义。但是， C型人总是习惯于记住负面的东西，容易情绪低落，过分自我反省，自我贬低，离群索居，有忧郁症倾向。" +
                    "在工作方面， C型人是一个完美主义者，高标准，计划性强，注重细节，讲究条理，整洁，能够发现问题并制订解决问题的办法，喜欢图表和清单，坚持己见，善始善终。但是， C型人也很可能是一个优柔寡断的人，习惯于收集信息资料和做分析，却很难投入到实际运作的工作中来。容易自我否定，因此需要别人的认同。同时，也习惯于挑剔别人，不能忍受别人的工作做不好。" +
                    "人际关系方面， C型人一方面在寻找理想伙伴，另一方面却交友谨慎。能够深切地关怀他人，善于倾听抱怨，帮助别人解决困难。但是， C型人似乎始终有一种不安全感，以致于感情内向，退缩，怀疑别人，喜欢批评人事，却不喜欢别人的反对。" +
                    "描述性词语：遵从、仔细、有条不紊、严谨、准确、完美主义者、逻辑性强");
        }

        List<Map<String, String>> resultMapList = new ArrayList<>();
        resultMapList.add(resultMap);

        JSONObject returnJson = new JSONObject(true);
        returnJson.put("resultMapList", resultMapList);
        returnJson.put("scaleName", Constant.SHEET_NAME_DISC);
        returnJson.put("resultJson", resultJson);

        return returnJson;
    }

    public JSONObject scaleCalculateV2() throws Exception {

        //D总分
        int scoreD = 0;
        //I总分
        int scoreI = 0;
        //S总分
        int scoreS = 0;
        //C总分
        int scoreC = 0;

        //获取答案列表
        List<AnswerEntity> answerEntities = (List<AnswerEntity>) resultJson.get("answerEntities");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject1 = jsonArray.getJSONObject(i);
            for (AnswerEntity answerEntity : answerEntities) {
                if (answerEntity.getQuestionNo().equals(String.valueOf(i + 1))) {
                    if (answerEntity.getName().equals(jsonObject1.getString("checkItems"))) {
                        switch (answerEntity.getScore()) {
                            case "D": {
                                scoreD += 1;
                                break;
                            }
                            case "I": {
                                scoreI += 1;
                                break;
                            }
                            case "S": {
                                scoreS += 1;
                                break;
                            }
                            case "C": {
                                scoreC += 1;
                                break;
                            }
                        }


                    }
                }
            }
        }


        //得分列表
        Map<String, String> resultMap = new LinkedHashMap<>();
        resultMap.put("D总分", String.valueOf(scoreD));
        resultMap.put("I总分", String.valueOf(scoreI));
        resultMap.put("S总分", String.valueOf(scoreS));
        resultMap.put("C总分", String.valueOf(scoreC));

        resultJson.put("D总分", String.valueOf(scoreD));
        resultJson.put("I总分", String.valueOf(scoreI));
        resultJson.put("S总分", String.valueOf(scoreS));
        resultJson.put("C总分", String.valueOf(scoreC));


        //新版本数据格式
        Map<String, Object> newResult = new LinkedHashMap<>();
        JSONObject iconInfo = new JSONObject();
        //雷达图需要的维度以及最大值
        List<Map<String, Object>> indicator = new LinkedList<>();
        //雷达图需要的分数
        LinkedList<String> scoreList = new LinkedList<>();
        //返回值以及存数据库格式
        List<NewResultDto> newResultDtos = new ArrayList<>();

        newResultDtos.add(new NewResultDto("总分", String.valueOf(scoreD + scoreI + scoreS + scoreC), "无", "无", "无",
                "无", "无", "无", "是"));
        //雷达图数据
        Map<String, Object> indicatorMap = new HashMap<>();
        if (scoreD > 10) {
            //resultJson.put("D结论", "高D型特质的人可以称为是“天生的领袖”。在情感方面，D型人一个坚定果敢的人，酷好变化，喜欢控制，干劲十足，独立自主，超级自信。可是，由于比较不会顾及别人的感受，所以显得粗鲁、霸道、没有耐心、穷追不舍、不会放松。D型人不习惯与别人进行感情上的交流，不会恭维人，不喜欢眼泪，匮乏同情心。    在工作方面，D型人是一个务实和讲究效率的人，目标明确，眼光全面，组织力强，行动迅速，解决问题不过夜，果敢坚持到底，在反对声中成长。但是，因为过于强调结果， D型人往往容易忽视细节，处理问题不够细致。爱管人、喜欢支使他人的特点使得D型人能够带动团队进步，但也容易激起同事的反感。   在人际关系方面， D型人喜欢为别人做主，虽然这样" +
            //        "能够帮助别人做出选择，但也容易让人有强迫感。由于关注自己的目标， D型人在乎的是别人的可利用价值。喜欢控制别人，不会说对不起。描述性词语：积级进取、争强好胜、强势、爱追根究底、直截了当、主动的开拓者、坚持意见、自信、直率");
            //resultMap.put("D结论", "高D型特质的人可以称为是“天生的领袖”。");
            newResultDtos.add(new NewResultDto("Dominance－支配型/控制者", String.valueOf(scoreD), "高D型特质的人", "你是“天生的领袖”。在情感方面，你是一个坚定果敢的人，酷好变化，喜欢控制，干劲十足，独立自主，超级自信的人。可是，由于比较不会顾及别人的感受，所以显得粗鲁、霸道、没有耐心、穷追不舍、不会放松。你不习惯与别人进行感情上的交流，不会恭维人，不喜欢眼泪，匮乏同情心。在工作方面，你是一个务实和讲究效率的人，目标明确，眼光全面，组织力强，行动迅速，解决问题不过夜，果敢坚持到底，在反对声中成长。但是，因为过于强调结果，往往容易忽视细节，处理问题不够细致。爱管人、喜欢支使他人的特点使得你能够带动团队进步，但也容易激起同事的反感。在人际关系方面，你喜欢为别人做主，虽然这样能够帮助别人做出选择，但也容易让人有强迫感。由于关注自己的目标，你在乎的是别人的可利用价值。喜欢控制别人，不会说对不起。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。支配型/控制者倾向于步调快、直接、外向、独立、以问题为主且自尊心极高的。高D型特质的人被更多地描述为积极进取、坚持意见、自信、直率、主动的开拓者，目标明确，反应迅速。 情感方面坚定果敢、喜欢控制；工作方面务实、讲求实效，目标明确、组织力强、行动迅速；人际关系方面喜欢为别人做主。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。支配型性格的人在团队中更适合做领导者，然而这也要视乎团队中的其他人是怎样的。如果其他人倾向与服从，那么是需要一个外向型的领导者的；如果团队中成员都比较有自己的想法或者也比较倾向于控制型，那么可能就需要一个调和型的领导者了。支配型性格的人专业选择建议工商管理、管理学、哲学、数学、工程管理、经济学、财政学、新媒体、大数据，人工智能、贸易经济、人力资源等。对于职业选择建议部门主管、公司经理、哲学家、行政主管、教育系统、工程管理、经济学家、财务总监、新媒体、信息领域创业者等。", "否"));
            indicatorMap.put("text", "Dominance");
            indicatorMap.put("max", "40");
            indicator.add(indicatorMap);

        } else {
            //resultMap.put("D结论", "低D型特质的人不太适合领导；低D型的人在情感方面犹豫不决优柔寡断，善于阿谀奉承，不太有自信，但是比较理性，在人际关系方面善于听从别人的意见，工作方面注重细节。");
            newResultDtos.add(new NewResultDto("Dominance－支配型/控制者", String.valueOf(scoreD), "低D型特质的人", "你可能不擅长做领导的职务。在情感方面，你习惯与别人进行感情上的交流，偶尔会恭维人，充满同情心。但也犹豫不决优柔寡断，不擅长变通，很少会控制，善于阿谀奉承，不太有自信，比较会顾及别人的感受，所以会尊重别人的想法决定及行为，有耐心。而且比较理性。工作方面勤勤恳恳，注重细节，处理问题足够细致。但目标迷茫，不清晰，不知道自己想要什么，想达成什么目标，眼光局限，组织力较弱，行动慢吞吞，容易因为别人的反对放弃自己的坚持。在人际关系方面善于听从别人的意见，也较少对别人的事情指手画脚。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。支配型/控制者倾向于步调快、直接、外向、独立、以问题为主且自尊心极高的。高D型特质的人被更多地描述为积极进取、坚持意见、自信、直率、主动的开拓者，目标明确，反应迅速。 情感方面坚定果敢、喜欢控制；工作方面务实、讲求实效，目标明确、组织力强、行动迅速；人际关系方面喜欢为别人做主。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。支配型性格的人在团队中更适合做领导者，然而这也要视乎团队中的其他人是怎样的。如果其他人倾向与服从，那么是需要一个外向型的领导者的；如果团队中成员都比较有自己的想法或者也比较倾向于控制型，那么可能就需要一个调和型的领导者了。支配型性格的人专业选择建议工商管理、管理学、哲学、数学、工程管理、经济学、财政学、新媒体、大数据，人工智能、贸易经济、人力资源等。对于职业选择建议部门主管、公司经理、哲学家、行政主管、教育系统、工程管理、经济学家、财务总监、新媒体、信息领域创业者等。", "否"));
            indicatorMap.put("text", "Dominance");
            indicatorMap.put("max", "40");
            indicator.add(indicatorMap);
        }
        Map<String, Object> indicatorMap1 = new HashMap<>();
        if (scoreI > 10) {
            //resultMap.put("I结论", "高I型的人通常是较为活泼的团队活动组织者");
            newResultDtos.add(new NewResultDto("Influence－活泼型/社交者", String.valueOf(scoreI), "高I型特质的人", "你是较为活泼的团队活动组织者。在情感方面,你是一个情感丰富而外露的人，由于性格活跃，爱说，爱讲故事，幽默，彩色记忆，能抓住听众，你常常是聚会的中心人物。你还是一个天才的演员，天真无邪，热情诚挚，喜欢送礼和接受礼物，看重人缘。情绪化的特点使得你容易兴奋，喜欢吹牛、说大话，天真，永远长不大，富有喜剧色彩。但是，似乎也很容易生气，爱抱怨，大嗓门，不成熟。在工作方面，你是一个热情的推动者，总有新主意，色彩丰富，说干就干，能够鼓励和带领他人一起积极投入工作。但是，你似乎总是情绪决定一切，想哪儿说哪儿，而且说得多干得少，遇到困难容易失去信心，杂乱无章，做事不彻底，爱走神儿，爱找借口。喜欢轻松友好的环境，非常害怕被拒绝。在人际关系方面，你容易交上朋友，朋友也多。关爱朋友，也被朋友称赞。爱当主角，受欢迎喜欢控制谈话内容。可是，喜欢即兴表演的特点使得你常常不能仔细理解别人，而且健忘多变。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。活泼型/社交者说话幽默有创意；朋友很多，社交主动；在金钱问题上比较大方；喜欢鲜艳的衣服和各种饰物；喜欢用夸张的方式自我振奋。高I型的人通常是较为活泼的团队活动组织者。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。活泼型性格的人要管住自己的舌头, 考虑每件事情的代价, 控制自我表现的欲望, 对自己的评价不要过高, 关心自己也关心别人, 留意别人,而少看自己。活泼型性格的人专业选择建议市场营销、保险学、工商管理、广告学、表演、流行舞蹈、电影学、播音与主持艺术、教育、外交学、语言学等。对于职业选择建议销售员、保险售卖员、部门经理、广告营销策划、演员、舞蹈家、主持人、艺术行业从业者、外交部工作人员、演讲家等。", "否"));
            indicatorMap1.put("text", "Influence");
            indicatorMap1.put("max", "40");
            indicator.add(indicatorMap1);
        } else {
            //resultMap.put("I结论", "低I型的人通常不太喜欢组织参加比较活跃的活动");
            newResultDtos.add(new NewResultDto("Influence－活泼型/社交者", String.valueOf(scoreI), "低I型特质的人", "在情感方面,你是一个情感内敛，比较沉默的人，性格安静沉稳，不爱说，不爱讲故事，也不怎么幽默。你不喜欢送礼和接受礼物，不怎么看重人缘。不喜欢吹牛、说大话。可以控制自己的情绪，不容易生气抱怨，较为成熟。在工作方面，你容易拖延，做事慢慢吞吞，很少能够鼓励和带领他人一起积极投入工作，只能顾得了自己。你通常是实干家，说得少干得多，遇到困难会想办法解决，做事有章法，能专心致志，不会为失败找借口。你可以接受被拒绝。在人际关系方面，比较慢热，不容易交上朋友，朋友较少。不会主动称赞朋友。不爱当主角，共情能力强，容易理解别人。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。活泼型/社交者说话幽默有创意；朋友很多，社交主动；在金钱问题上比较大方；喜欢鲜艳的衣服和各种饰物；喜欢用夸张的方式自我振奋。高I型的人通常是较为活泼的团队活动组织者。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。活泼型性格的人要管住自己的舌头, 考虑每件事情的代价, 控制自我表现的欲望, 对自己的评价不要过高, 关心自己也关心别人, 留意别人,而少看自己。活泼型性格的人专业选择建议市场营销、保险学、工商管理、广告学、表演、流行舞蹈、电影学、播音与主持艺术、教育、外交学、语言学等。对于职业选择建议销售员、保险售卖员、部门经理、广告营销策划、演员、舞蹈家、主持人、艺术行业从业者、外交部工作人员、演讲家等。", "否"));
            indicatorMap1.put("text", "Influence");
            indicatorMap1.put("max", "40");
            indicator.add(indicatorMap1);
        }
        Map<String, Object> indicatorMap2 = new HashMap<>();
        if (scoreS > 10) {
            //resultMap.put("S结论", "高S型的人通常较为平和，知足常乐，不愿意主动前进");
            newResultDtos.add(new NewResultDto("Steadiness－稳定型/支持者", String.valueOf(scoreS), "高S型特质的人", "你通常较为平和，知足常乐，不愿意主动前进。在情感方面，你是一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。在工作方面，你能够按部就班地管理事务，胜任工作并能够持之以恒。奉行中庸之道，平和可亲，一方面习惯于避免冲突，另一方面也能处变不惊。但是，你似乎总是慢吞吞的，很难被鼓动，懒惰，马虎，得过且过。由于害怕承担风险和责任，宁愿站在一边旁观。很多时候，总是焉有主意，有话不说，或折中处理。在人际关系方面，你是一个容易相处的人，喜欢观察人、琢磨人，乐于倾听，愿意支持。可是，由于不以为然，你也可能显得漠不关心，或者嘲讽别人。你喜欢使用一句口头禅：“不过如此。”这个特点使得你总是缺乏热情，不愿改变。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。稳定型/支持者通常较为平和，知足常乐，不愿意主动前进；在情感方面，S型人是一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。稳定型支持者性格的人专业选择建议不要去报考冲击性太强的类型，更应该选择传统的专业。可以从事秘书学、公共事业管理、行政管理、会计学、艺术设计学、环境设计、公共艺术、工程审计、电气工程及其自动化、邮政工程、软件工程等。对于职业选择建议秘书、行政部主管、后勤部岗位、会计、产品设计、环境工程师、审计工程师、电气工程师、工程设计、软件工程师等。", "否"));
            indicatorMap2.put("text", "Steadiness");
            indicatorMap2.put("max", "40");
            indicator.add(indicatorMap2);
        } else {
            //resultMap.put("S结论", "低S型的人通常比较好强，希望能够取得进步");
            newResultDtos.add(new NewResultDto("Steadiness－稳定型/支持者", String.valueOf(scoreS), "低S型特质的人", "你通常不满足于现状，对自己目前的状态不满意；愿意主动前进。在情感方面，你是一个比较热烈急躁，对事情充满热情，做事比较急躁，风风火火。在工作方面，你总是注重效率，主动寻找解决事务最简便的方法，可能偏向于风险决策。你做事雷厉风行，容易被鼓动，做事勤勤恳恳，仔仔细细，会给自己制定较高的目标。遇到风险，会主动承担风险和责任。很多时候处理方式可能偏冒险。在人际关系方面，你可能不太容易相处。很少会有主动乐于助人的行为，在和别人意见相左时，容易争吵或者和对方辩论。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。稳定型/支持者通常较为平和，知足常乐，不愿意主动前进；在情感方面，S型人是一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。稳定型支持者性格的人专业选择建议不要去报考冲击性太强的类型，更应该选择传统的专业。可以从事秘书学、公共事业管理、行政管理、会计学、艺术设计学、环境设计、公共艺术、工程审计、电气工程及其自动化、邮政工程、软件工程等。对于职业选择建议秘书、行政部主管、后勤部岗位、会计、产品设计、环境工程师、审计工程师、电气工程师、工程设计、软件工程师等。", "否"));
            indicatorMap2.put("text", "Steadiness");
            indicatorMap2.put("max", "40");
            indicator.add(indicatorMap2);
        }
        Map<String, Object> indicatorMap3 = new HashMap<>();
        if (scoreC > 10) {
            //resultMap.put("C结论", "高C型的人通常是喜欢追求完美的专业型人才");
            newResultDtos.add(new NewResultDto("Compliance－完美型/服从者", String.valueOf(scoreC), "高C型特质的人", "你通常是喜欢追求完美的专业型人才。在情感方面，你是一个性格深沉的人，严肃认真，目的性强，善于分析，愿意思考人生与工作的意义，对他人敏感，理想主义者。但是，你总是习惯于记住负面的东西，容易情绪低落，过分自我反省，自我贬低，离群索居，有忧郁症倾向。在工作方面，你是一个完美主义者，高标准，计划性强，注重细节，讲究条理，整洁，能够发现问题并制订解决问题的办法，喜欢图表和清单，坚持己见，善始善终。但是，你也很可能是一个优柔寡断的人，习惯于收集信息资料和做分析，却很难投入到实际运作的工作中来。容易自我否定，因此需要别人的认同。同时，也习惯于挑剔别人，不能忍受别人的工作做不好。人际关系方面，你一方面在寻找理想伙伴，另一方面却交友谨慎。能够深切地关怀他人，善于倾听抱怨，帮助别人解决困难。但是，你似乎始终有一种不安全感，以致于感情内向，退缩，怀疑别人，喜欢批评人事，却不喜欢别人的反对。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。完美型/服从者往往作为一种保守、谨慎的类型，不需要太多的言语，他们也可以完成自己的工作。自律、高标准，喜欢服从对方的指令，具有逻辑思维能力，小心谨慎，很少犯原则上的错误。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。完美型、服从者性格的人喜欢思考，偏向于服从对方，交往有些被动，在选择专业时可以考虑内向的类别。专业选择建议语言文学、美术、影视制作、摄影、工程类、电气自动化、计算机信息技术、社会学、历史学、伦理学、哲学等。对于职业选择建议编辑、美术培训教师、制片人、摄影师、造价师、安装工程师、电路设计师、程序员、环境监察员、硬件工程师、软件研发等。", "否"));
            indicatorMap3.put("text", "Compliance");
            indicatorMap3.put("max", "40");
            indicator.add(indicatorMap3);
        } else {
            //resultMap.put("C结论", "低C型的人通常是能够接受不完美");
            newResultDtos.add(new NewResultDto("Compliance－完美型/服从者", String.valueOf(scoreC), "低C型特质的人", "你通常很少会服从别人的命令。在情感方面，你是一个性格简单的人，总是点到为止，对自己没有很高的要求，目的性不是很强，不善于分析，不愿意思考人生与工作的意义，对他人不是很敏感，现实主义者。你不容易情绪低落，不会过度自我反省，自我贬低，喜欢群体生活，和集体能很好的融为一体。在工作方面，你对自己没有很高的标准，计划性较弱，注重整体忽略细节，做事较少讲究条理，整洁，很少能够发现问题并制订解决问题的办法，容易从众、人云亦云。你不容易自我否定，因此不需要别人的认同。有自己独立的想法。也很少挑剔别人，不会对别人的工作指手画脚。人际关系方面，你很少能够深切地关怀他人，很少倾听抱怨，不会帮助别人解决困难。但是，你自己能带给自己安全感，在感情上不会退缩，怀疑别人，也较少会随意评论别人。", "无",
                    "无", "DISC个性测验是国外企业广泛应用的一种人格测验，用于测查、评估和帮助人们改善其行为方式、人际关系、工作绩效、团队合作、领导风格等。完美型/服从者往往作为一种保守、谨慎的类型，不需要太多的言语，他们也可以完成自己的工作。自律、高标准，喜欢服从对方的指令，具有逻辑思维能力，小心谨慎，很少犯原则上的错误。", "每种人格特质都有自己的特点，既有优势也有劣势，所以清楚自己性格中的长处继续保持下去，对于劣势的部分再针对性的改善。完美型、服从者性格的人喜欢思考，偏向于服从对方，交往有些被动，在选择专业时可以考虑内向的类别。专业选择建议语言文学、美术、影视制作、摄影、工程类、电气自动化、计算机信息技术、社会学、历史学、伦理学、哲学等。对于职业选择建议编辑、美术培训教师、制片人、摄影师、造价师、安装工程师、电路设计师、程序员、环境监察员、硬件工程师、软件研发等。", "否"));
            indicatorMap3.put("text", "Compliance");
            indicatorMap3.put("max", "40");
            indicator.add(indicatorMap3);
        }

        scoreList.add(String.valueOf(scoreD));
        scoreList.add(String.valueOf(scoreI));
        scoreList.add(String.valueOf(scoreS));
        scoreList.add(String.valueOf(scoreC));

        //需要图表展示的
        iconInfo.put("indicator", indicator);
        iconInfo.put("scoreList", scoreList);
        newResult.put("iconInfo", iconInfo);
        newResult.put("result", newResultDtos);

        List<Map<String, String>> resultMapList = new ArrayList<>();
        resultMapList.add(resultMap);

        JSONObject returnJson = new JSONObject(true);
        returnJson.put("resultMapList", resultMapList);
        returnJson.put("scaleName", Constant.SHEET_NAME_DISC);
        returnJson.put("resultJson", resultJson);
        returnJson.put(ScaleConstant.ResultEnum.RESULT_NEW_FIELD.getKeyword(), newResult);

        return returnJson;
    }
}
