diff --git a/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java b/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java new file mode 100644 index 00000000..f8d8c781 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java @@ -0,0 +1,102 @@ +package com.peanut.modules.common.controller; + +import com.peanut.common.utils.R; +import lombok.extern.slf4j.Slf4j; +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.List; +import java.util.Map; + +/** + * 心身医学自评表 + */ +@Slf4j +@RestController("commonSelfEvaluationForm") +@RequestMapping("common/selfEvaluationForm") +public class SelfEvaluationFormController { + +/* +中国大陆用户 +SDS的评定结果以标准分来定: +标准分小于52分为无抑郁;标准分大于等于52分且小于62分为轻微至轻度抑郁;标准分大于等于62分且小于72分为中至重度抑郁;标准分大于等于72分为重度抑郁。 + +其它国家和地区 +标准分小于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("/calculationForm") + public R calculationForm(@RequestBody Map params) { + List list = (List) params.get("resList"); + int total = 0; + for (int i=0;i < list.size(); i++) { + //反向题 + if (i==1||i==4||i==5||i==10||i==11||i==13||i==15||i==16||i==17||i==19){ + if (list.get(i)==1){ + total += 4; + }else if(list.get(i)==2){ + total += 3; + }else if (list.get(i) == 3) { + total += 2; + }else { + total += 1; + } + }else { + total += list.get(i); + } + } + total = (int)(total*1.25); + String country = params.get("country").toString(); + if ("CN".equals(country)){ + total = total - 2; + } + String res ="无抑郁"; + if (total>=70){ + res ="重度抑郁"; + }else if (total >= 60) { + res ="中至重度抑郁"; + }else if (total >= 50) { + res ="轻微至轻度抑郁"; + } + return R.ok().put("res",res); + } + + //自评表题目列表 + @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); + } + + +}