Browse Source

查询中医体质辨识答题情况接口完成

lhqzyy
ccsens_zhengzhichuan 2 months ago
parent
commit
ff0a473467
  1. 9
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/ClientEvaVo.java
  2. 1
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/ClientEvaDao.java
  3. 12
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/RmsDao.java
  4. 10
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java
  5. 6
      ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/ClientEvaDao.xml
  6. 54
      ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/RmsDao.xml

9
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/ClientEvaVo.java

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ -396,4 +397,12 @@ public class ClientEvaVo {
return result.toString();
}
}
@Data
public static class CongnitiveQuestion{
@ApiModelProperty("认知域CODE")
private String constiCode;
@ApiModelProperty("题目CODE")
private List<String> questionList;
}
}

1
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/ClientEvaDao.java

@ -4,6 +4,7 @@ import com.ccsens.system.domain.po.TzbsRmsReportResult;
import com.ccsens.system.domain.po.TzbsRmsReportYsjy;
import com.ccsens.system.domain.vo.ClientEvaVo;
import com.ccsens.system.domain.vo.ReportVo;
import com.ccsens.system.domain.vo.RmsVo;
import org.apache.ibatis.annotations.Param;
import java.util.Date;

12
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/RmsDao.java

@ -51,6 +51,14 @@ public interface RmsDao {
@Param("evaluationCode") String evaluationCode,
@Param("sex") Byte sex);
/**
* 查询中医体质辨识量表详情
* @param scaleCode
* @return
*/
List<RmsVo.ReportDetailAnswer> queryZytzbsScaleAnswer(@Param("evaluationId") Long evaluationId,
@Param("scaleCode") String scaleCode,
@Param("sex") Byte sex);
List<RmsVo.QuestionAndAnswer> queryQuestionAndScore(@Param("evaluationId") Long evaluationId, @Param("scaleCode") String scaleCode);
@ -100,6 +108,10 @@ public interface RmsDao {
List<ReportDetailVo.QuestionInfo> queryReportQuestionAndAnswer(@Param("evaluationId") Long evaluationId,
@Param("scaleCode") String scaleCode);
List<ReportDetailVo.QuestionInfo> queryReportQuestionAndAnswer1(@Param("evaluationId") Long evaluationId,
@Param("questionCodeList") List<String> questionCodeList,
@Param("sex") Byte sex);
List<ReportDetailVo.GroupCognitive> queryReportGroupCognitiveAndAnswer(@Param("evaluationId") Long evaluationId,
@Param("scaleCode") String scaleCode);

10
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/RmsServiceImpl.java

@ -1555,7 +1555,8 @@ public class RmsServiceImpl implements IRmsService {
}
// List<RmsVo.ReportDetailAnswer> r = rmsDao.queryReportAnswer(report.getEvaluationId(), dto.getEvaluationCode());
//查询患者性别
List<RmsVo.ReportDetailAnswer> r = rmsDao.queryReportAnswer1(report.getEvaluationId(), dto.getEvaluationCode(), rmsDao.querySexByEvaluationId(report.getEvaluationId()));
Byte aByte = rmsDao.querySexByEvaluationId(report.getEvaluationId());
List<RmsVo.ReportDetailAnswer> r = rmsDao.queryReportAnswer1(report.getEvaluationId(), dto.getEvaluationCode(), aByte);
//特殊处理ADAS-Cog 14 第27题,数字划销
//前端优先使用otherValueList,如果为空则使用otherValue
for (RmsVo.ReportDetailAnswer rda : r) {
@ -1576,6 +1577,13 @@ public class RmsServiceImpl implements IRmsService {
.collect(Collectors.toList()));
r = CollectionUtil.newArrayList(zbi);
}
//特殊处理中医体质辨识 多对多关系 tzbs_qms_scale_cognitive
if ("TZBS_BZ".equalsIgnoreCase(dto.getEvaluationCode()) || "TZBS_LN".equalsIgnoreCase(dto.getEvaluationCode())) {
//查询量表关联认知域及认知域关联题目信息
r = rmsDao.queryZytzbsScaleAnswer(report.getEvaluationId(), dto.getEvaluationCode(), aByte);
}
return r;
}

6
ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/ClientEvaDao.xml

@ -109,4 +109,10 @@
ORDER BY
res.result_id
</select>
<resultMap id="ResultMap" type="com.ccsens.system.domain.vo.ClientEvaVo$CongnitiveQuestion">
<result column="constiCode" property="constiCode"/>
<collection property="questionList" ofType="java.lang.String">
</collection>
</resultMap>
</mapper>

54
ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/RmsDao.xml

@ -765,6 +765,35 @@ group by ee.id
ORDER BY a.qsort,a.sort
</select>
<select id="queryZytzbsScaleAnswer" resultMap="queryReportAnswer">
SELECT
cst.consti_name AS parentCode,
q.type,
q.operate_type AS operateType,
q.question AS questionName,
o.display AS answer,
a.option_id AS optionId,
q.id as questionId,
a.score,
(select path from ems_patient_recording where question_id = q.id and evaluation_id = #{evaluationId}) AS recordingPath
FROM
qms_scale s
LEFT JOIN tzbs_qms_scale_consti cst ON s.CODE = cst.scale_code
LEFT JOIN tzbs_qms_scale_cognitive rel ON cst.consti_code = rel.consti_code
LEFT JOIN qms_question q ON rel.ques_code = q.question_code
LEFT JOIN (select * from ams_patient_answer_score where evaluation_id = #{evaluationId}) a ON a.question_id = q.id
LEFT JOIN qms_question_option o ON a.option_id = o.id
WHERE
s.del_flag = 0
AND s.`code` = #{scaleCode}
AND (q.sex = #{sex} OR q.sex IS NULL)
ORDER BY
cst.consti_code
</select>
<resultMap id="QuestionMap" type="com.ccsens.system.domain.vo.RmsVo$QuestionAndAnswer">
<id column="id" property="id"/>
<result column="question" property="question"/>
@ -1489,6 +1518,31 @@ group by ee.id
GROUP BY qq.id
ORDER BY qq.sort
</select>
<select id="queryReportQuestionAndAnswer1"
resultType="com.ccsens.system.domain.vo.ReportDetailVo$QuestionInfo">
SELECT
cst.consti_name as parentCode,
q.question as questionName,
a.answer,
a.score
FROM
qms_scale s
LEFT JOIN tzbs_qms_scale_consti cst ON s.CODE = cst.scale_code
AND cst.del_flag = 0
LEFT JOIN tzbs_qms_scale_cognitive rel ON cst.consti_code = rel.consti_code
AND rel.del_flag = 0
LEFT JOIN qms_question q ON rel.ques_code = q.question_code and q.del_flag = 0
LEFT JOIN ams_patient_answer_score a ON a.question_id = q.id and a.del_flag = 0
where
s.del_flag = 0 and
a.evaluation_id = 2013641875419959296 and s.`code` = "TZBS_BZ"
-- and q.sex = #{sex} or q.sex is null
ORDER BY
cst.consti_code
</select>
<select id="queryReportGroupCognitiveAndAnswer"
resultType="com.ccsens.system.domain.vo.ReportDetailVo$GroupCognitive">
WITH RECURSIVE t as (

Loading…
Cancel
Save