修改自测表
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
package com.peanut.modules.common.controller;
|
||||
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.common.utils.ShiroUtils;
|
||||
import com.peanut.modules.common.entity.SelfEvaluationForm;
|
||||
import com.peanut.modules.common.service.SelfEvaluationFormService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -18,26 +23,54 @@ import java.util.Map;
|
||||
@RequestMapping("common/selfEvaluationForm")
|
||||
public class SelfEvaluationFormController {
|
||||
|
||||
/*
|
||||
中国大陆用户
|
||||
SDS的评定结果以标准分来定:
|
||||
标准分小于52分为无抑郁;标准分大于等于52分且小于62分为轻微至轻度抑郁;标准分大于等于62分且小于72分为中至重度抑郁;标准分大于等于72分为重度抑郁。
|
||||
@Autowired
|
||||
private SelfEvaluationFormService selfEvaluationFormService;
|
||||
|
||||
其它国家和地区
|
||||
标准分小于50分为无抑郁;标准分大于等于50分且小于60分为轻微至轻度抑郁;标准分大于等于60分且小于70分为中至重度抑郁;标准分大于等于70分为重度抑郁。
|
||||
|
||||
计分规则:
|
||||
SDS评定采用1—4制记分,评分时间为过去一周内。
|
||||
正向题,依次评为粗分1、2、3、4分 (1 3 4 7 8 9 10 13 15 19)
|
||||
反向题,依次评为粗分4、3、2、1分 (2 5 6 11 12 14 16 17 18 20)
|
||||
20项相加得到原始分,原始分分乘以1.25以后取整,得到标准分。
|
||||
//自测表列表
|
||||
@RequestMapping("/formList")
|
||||
public R formList() {
|
||||
List res = new ArrayList();
|
||||
res.add(yiyu);
|
||||
// res.add(jiaolv);
|
||||
// res.add(zibi);
|
||||
// res.add(zaokuang);
|
||||
// res.add(zilian);
|
||||
return R.ok().put("formList",res);
|
||||
}
|
||||
|
||||
*/
|
||||
//题目列表
|
||||
@RequestMapping("/formSubjectList")
|
||||
public R formSubjectList(@RequestBody Map<String,Object> params) {
|
||||
List list = null;
|
||||
if ("yiyu".equals(params.get("type").toString())){
|
||||
list = yiyuList;
|
||||
}
|
||||
return R.ok().put("list",list);
|
||||
}
|
||||
|
||||
//打分
|
||||
@RequestMapping("/calculationForm")
|
||||
public R calculationForm(@RequestBody Map<String,Object> params) {
|
||||
@RequestMapping("/countForm")
|
||||
public R countForm(@RequestBody Map<String,Object> params) {
|
||||
R res = R.error();
|
||||
List<Integer> list = (List) params.get("resList");
|
||||
String country = params.get("country").toString();
|
||||
String city = params.get("city").toString();
|
||||
if ("yiyu".equals(params.get("type").toString())){
|
||||
res = countyiyu(list,country);
|
||||
}
|
||||
SelfEvaluationForm f = new SelfEvaluationForm();
|
||||
f.setType(params.get("type").toString());
|
||||
f.setUserId(ShiroUtils.getUId());
|
||||
f.setCountry(country);
|
||||
f.setCity(city);
|
||||
f.setStatus(res.get("status").toString());
|
||||
selfEvaluationFormService.save(f);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
public R countyiyu(List<Integer> list,String country) {
|
||||
int total = 0;
|
||||
for (int i=0;i < list.size(); i++) {
|
||||
//反向题
|
||||
@@ -56,47 +89,117 @@ SDS评定采用1—4制记分,评分时间为过去一周内。
|
||||
}
|
||||
}
|
||||
total = (int)(total*1.25);
|
||||
String country = params.get("country").toString();
|
||||
if ("CN".equals(country)){
|
||||
if ("中国".equals(country)){
|
||||
total = total - 2;
|
||||
}
|
||||
String res ="无抑郁";
|
||||
String status ="无抑郁";
|
||||
if (total>=70){
|
||||
res ="重度抑郁";
|
||||
status ="重度抑郁";
|
||||
}else if (total >= 60) {
|
||||
res ="中至重度抑郁";
|
||||
status ="中至重度抑郁";
|
||||
}else if (total >= 50) {
|
||||
res ="轻微至轻度抑郁";
|
||||
status ="轻微至轻度抑郁";
|
||||
}
|
||||
return R.ok().put("res",res);
|
||||
return R.ok().put("total",total).put("status",status);
|
||||
}
|
||||
|
||||
//自评表题目列表
|
||||
@RequestMapping("/getSelfEvaluationFormList")
|
||||
public R getSelfEvaluationFormList() {
|
||||
List list = new ArrayList();
|
||||
list.add("我觉得闷闷不乐,情绪低沉");
|
||||
list.add("我觉得一天之中早晨最好");
|
||||
list.add("我一阵阵哭出来或觉得想哭");
|
||||
list.add("我晚上睡眠不好");
|
||||
list.add("我吃得跟平常一样多");
|
||||
list.add("我与异性密切接触时和以往一样感到愉快");
|
||||
list.add("我发觉我的体重下降");
|
||||
list.add("我有便秘的苦恼");
|
||||
list.add("我心跳比平时快");
|
||||
list.add("我无缘无故地感到疲乏");
|
||||
list.add("我的头脑跟平常一样清楚");
|
||||
list.add("觉得经常做的事情并没有困难");
|
||||
list.add("我觉得不安而平静不下来");
|
||||
list.add("我对将来抱有希望");
|
||||
list.add("我比平常容易生气激动");
|
||||
list.add("我觉得作出决定是容易的");
|
||||
list.add("我觉得自己是个有用的人,有人需要我");
|
||||
list.add("我的生活过得很有意思");
|
||||
list.add("我认为如果我死了别人会生活得好些");
|
||||
list.add("我平常感兴趣的事我仍然照样感兴趣");
|
||||
return R.ok().put("list",list);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private static final Map<String, Object> yiyu;
|
||||
// private static final Map<String, Object> jiaolv;
|
||||
// private static final Map<String, Object> zibi;
|
||||
// private static final Map<String, Object> zaokuang;
|
||||
// private static final Map<String, Object> zilian;
|
||||
private static final List yiyuList;
|
||||
// private static final List jiaolvList;
|
||||
// private static final List zibiList;
|
||||
// private static final List zaokuangList;
|
||||
// private static final List zilianList;
|
||||
|
||||
static {
|
||||
yiyu = new HashMap<>();
|
||||
yiyu.put("title","SDS抑郁自评量表");
|
||||
yiyu.put("des","抑郁自测量表SDS由W.K.Zung编制于1965年,为美国教育卫生福利部推荐的用于精神药理学研究的量表之一。因使用简便,能相当直观地反映病人抑郁的主观感受及其在治疗中的变化,当前已广泛应用于抑郁测试。");
|
||||
yiyu.put("num","20道题目");
|
||||
yiyu.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
|
||||
yiyu.put("cnRes","SDS的评定结果以标准分来定:\n" +
|
||||
"标准分小于52分为无抑郁;\n" +
|
||||
"标准分大于等于52分且小于62分为轻微至轻度抑郁;\n" +
|
||||
"标准分大于等于62分且小于72分为中至重度抑郁;\n" +
|
||||
"标准分大于等于72分为重度抑郁。\n" +
|
||||
"抑郁评定的临界值为T分52,分值越高,抑郁倾向越明显");
|
||||
yiyu.put("worldRes","SDS的评定结果以标准分来定:\n" +
|
||||
"标准分小于50分为无抑郁;\n" +
|
||||
"标准分大于等于50分且小于60分为轻微至轻度抑郁;\n" +
|
||||
"标准分大于等于60分且小于70分为中至重度抑郁;\n" +
|
||||
"标准分大于等于70分为重度抑郁。\n" +
|
||||
"抑郁评定的临界值为T分50,分值越高,抑郁倾向越明显。");
|
||||
yiyu.put("role","SDS评定采用1—4制记分,评分时间为过去一周内。\n" +
|
||||
"正向题,依次评为粗分1、2、3、4分 (1 3 4 7 8 9 10 13 15 19)\n" +
|
||||
"反向题,依次评为粗分4、3、2、1分 (2 5 6 11 12 14 16 17 18 20)\n" +
|
||||
"20项相加得到原始分,原始分分乘以1.25以后取整,得到标准分。");
|
||||
yiyuList = new ArrayList();
|
||||
yiyuList.add("我觉得闷闷不乐,情绪低沉");
|
||||
yiyuList.add("我觉得一天之中早晨最好");
|
||||
yiyuList.add("我一阵阵哭出来或觉得想哭");
|
||||
yiyuList.add("我晚上睡眠不好");
|
||||
yiyuList.add("我吃得跟平常一样多");
|
||||
yiyuList.add("我与异性密切接触时和以往一样感到愉快");
|
||||
yiyuList.add("我发觉我的体重下降");
|
||||
yiyuList.add("我有便秘的苦恼");
|
||||
yiyuList.add("我心跳比平时快");
|
||||
yiyuList.add("我无缘无故地感到疲乏");
|
||||
yiyuList.add("我的头脑跟平常一样清楚");
|
||||
yiyuList.add("觉得经常做的事情并没有困难");
|
||||
yiyuList.add("我觉得不安而平静不下来");
|
||||
yiyuList.add("我对将来抱有希望");
|
||||
yiyuList.add("我比平常容易生气激动");
|
||||
yiyuList.add("我觉得作出决定是容易的");
|
||||
yiyuList.add("我觉得自己是个有用的人,有人需要我");
|
||||
yiyuList.add("我的生活过得很有意思");
|
||||
yiyuList.add("我认为如果我死了别人会生活得好些");
|
||||
yiyuList.add("我平常感兴趣的事我仍然照样感兴趣");
|
||||
|
||||
// jiaolv = new HashMap<>();
|
||||
// jiaolv.put("title","焦虑量表");
|
||||
// jiaolv.put("des","你焦虑吗");
|
||||
// jiaolv.put("num","20道题目");
|
||||
// jiaolv.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
|
||||
// jiaolv.put("cnRes","否");
|
||||
// jiaolv.put("worldRes","否");
|
||||
// jiaolv.put("role","大于0就焦虑");
|
||||
|
||||
// zibi = new HashMap<>();
|
||||
// zibi.put("title","自闭量表");
|
||||
// zibi.put("des","你自闭了吗");
|
||||
// zibi.put("num","20道题目");
|
||||
// zibi.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
|
||||
// zibi.put("cnRes","否");
|
||||
// zibi.put("worldRes","否");
|
||||
// zibi.put("role","大于0就自闭");
|
||||
|
||||
// zaokuang = new HashMap<>();
|
||||
// zaokuang.put("title","躁狂量表");
|
||||
// zaokuang.put("des","不要躁狂");
|
||||
// zaokuang.put("num","20道题目");
|
||||
// zaokuang.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
|
||||
// zaokuang.put("cnRes","否");
|
||||
// zaokuang.put("worldRes","否");
|
||||
// zaokuang.put("role","大于0就躁狂");
|
||||
|
||||
// zilian = new HashMap<>();
|
||||
// zilian.put("title","自恋型人格量表");
|
||||
// zilian.put("des","我很帅");
|
||||
// zilian.put("num","20道题目");
|
||||
// zilian.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。");
|
||||
// zilian.put("cnRes","否");
|
||||
// zilian.put("worldRes","否");
|
||||
// zilian.put("role","大于0就自恋");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user