Browse Source

Merge branch 'master' into hnsdlyy

hnsdlyy
zhangye 2 months ago
parent
commit
546cbe1e22
  1. 2
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/RmsVo.java
  2. 10
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/RmsDao.java
  3. 60
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java
  4. 19
      ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/RmsDao.xml
  5. 15
      web_client/src/views/Patient/Info.vue
  6. 6
      web_client/vue.config.js
  7. BIN
      web_client/web_client-1.zip

2
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/RmsVo.java

@ -1067,6 +1067,8 @@ public class RmsVo {
private String recordName;
@ApiModelProperty("答案")
private String answer;
@ApiModelProperty("题目id")
private Long questionId;
}
@ApiModel("病友的答案")

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

@ -140,4 +140,14 @@ public interface RmsDao {
List<RmsVo.ExportInfo> queryReportExportInfo(@Param("evaluationId") Long evaluationId);
/**
* 查询量表的所有record_desc数据不受qo.id IS NULL限制
* 用于DCYY-TP等无得分量表的记录数据查询
* @param evaluationId 测评id
* @param scaleCode 量表code
* @return record_desc列表
*/
List<RmsVo.RecordDesc> queryScaleRecordDesc(@Param("evaluationId") Long evaluationId,
@Param("scaleCode") String scaleCode);
}

60
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/AmsReportServiceImpl.java

@ -2324,6 +2324,20 @@ public class AmsReportServiceImpl implements AmsReportService {
if (StrUtil.isNotEmpty(answers)) {
answers = answers.substring(0, answers.length() - 1);
}
//DCYY-TP特殊处理:无得分量表,答案存于record_desc中
if ((StrUtil.isEmpty(answers) || "null".equals(answers)) && "DCYY-TP".equals(exportInfos.get(i).getScaleCode())) {
if (CollUtil.isNotEmpty(detail.getScores())) {
for (RmsVo.ReportScore reportScore : detail.getScores()) {
if ("DCYY-TP".equals(reportScore.getCode()) && CollUtil.isNotEmpty(reportScore.getRecordDescMap())) {
String descAnswer = reportScore.getRecordDescMap().get(questionInfo.getQuestionId().toString());
if (StrUtil.isNotEmpty(descAnswer)) {
answers = descAnswer;
}
break;
}
}
}
}
questionTable.setResult(StrUtil.isEmpty(answers) || "null".equals(answers) ? "" : answers);
questionTableList.add(questionTable);
}
@ -2406,6 +2420,52 @@ public class AmsReportServiceImpl implements AmsReportService {
RmsDto.QueryDetail queryDetail = new RmsDto.QueryDetail();
queryDetail.setEvaluationId(report.getEvaluationId());
RmsVo.ReportDetail detail = rmsService.queryReport(queryDetail);
//填充DCYY-TP量表的recordDescMap(无得分量表,数据存于record_desc中)
if (CollUtil.isNotEmpty(detail.getScores())) {
for (RmsVo.ReportScore score : detail.getScores()) {
if ("DCYY-TP".equals(score.getCode())) {
List<RmsVo.RecordDesc> descList = rmsDao.queryScaleRecordDesc(report.getEvaluationId(), "DCYY-TP");
if (CollUtil.isNotEmpty(descList)) {
Map<Long, List<RmsVo.RecordDesc>> groupedByQuestion = descList.stream()
.filter(d -> d.getQuestionId() != null)
.collect(Collectors.groupingBy(RmsVo.RecordDesc::getQuestionId));
for (Map.Entry<Long, List<RmsVo.RecordDesc>> entry : groupedByQuestion.entrySet()) {
StringBuilder sb = new StringBuilder();
for (RmsVo.RecordDesc desc : entry.getValue()) {
if (StrUtil.isNotEmpty(desc.getAnswer()) && desc.getAnswer().trim().startsWith("[")) {
try {
com.alibaba.fastjson2.JSONArray drugArray = com.alibaba.fastjson2.JSON.parseArray(desc.getAnswer());
for (int idx = 0; idx < drugArray.size(); idx++) {
com.alibaba.fastjson2.JSONObject drug = drugArray.getJSONObject(idx);
if (sb.length() > 0) {
sb.append("\n");
}
sb.append("药物").append(idx + 1).append(":")
.append(drug.getString("drugName"))
.append(" 剂量:").append(drug.getString("dose"))
.append(" 单位:").append(drug.getString("unit"))
.append(" 频率:").append(drug.getString("frequency"));
}
} catch (Exception e) {
if (sb.length() > 0) {
sb.append("; ");
}
sb.append(desc.getRecordName()).append(":").append(desc.getAnswer());
}
} else if (StrUtil.isNotEmpty(desc.getAnswer())) {
if (sb.length() > 0) {
sb.append("; ");
}
sb.append(desc.getRecordName()).append(":").append(desc.getAnswer());
}
}
score.getRecordDescMap().put(entry.getKey().toString(), sb.toString());
}
}
break;
}
}
}
//查询分数
List<RmsVo.ReportScore> scores = rmsDao.queryReportScore(dto.getReportId(), null);
if (CollUtil.isNotEmpty(scores)) {

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

@ -1897,4 +1897,23 @@
rr.del_flag = 0 and rr.evaluation_id = #{evaluationId}
order by r.sort asc
</select>
<select id="queryScaleRecordDesc" resultType="com.ccsens.system.domain.vo.RmsVo$RecordDesc">
SELECT
r.id as recordId,
r.show_title as recordName,
rd.answer as answer,
r.question_id as questionId
FROM
ams_patient_question_record_desc rd
JOIN qms_question_record r ON rd.record_id = r.id
JOIN qms_question q ON r.question_id = q.id
WHERE
rd.del_flag = 0
AND rd.evaluation_id = #{evaluationId}
AND q.scale_code = #{scaleCode}
AND r.del_flag = 0
AND q.del_flag = 0
ORDER BY r.question_id, r.id, rd.id
</select>
</mapper>

15
web_client/src/views/Patient/Info.vue

@ -639,9 +639,18 @@ export default {
return;
}
//
const year = this.base.idcard.substring(6, 10);
const month = this.base.idcard.substring(10, 12);
const day = this.base.idcard.substring(12, 14);
let year, month, day;
if (this.base.idcard.length === 15) {
// 151900
year = "19" + this.base.idcard.substring(6, 8);
month = this.base.idcard.substring(8, 10);
day = this.base.idcard.substring(10, 12);
} else {
// 18
year = this.base.idcard.substring(6, 10);
month = this.base.idcard.substring(10, 12);
day = this.base.idcard.substring(12, 14);
}
this.base.birthday = `${year}-${month}-${day}`;
const res = await getRoleList({

6
web_client/vue.config.js

@ -35,10 +35,10 @@ module.exports = {
},
proxy: {
[settings.proxyUrl]: {
// target: "https://www.ylinno.com/cga/v2/api/client/",
target: "http://113.45.159.249:59001/cga/v2/api/client/",
target: "https://www.ylinno.com/cga/v2/api/client/",
// target: "http://113.45.159.249:59001/cga/v2/api/client/",
// target: "http://127.0.0.1:19331",
// target: "http://192.168.1.116:19331",
// target: "http://192.168.1.136:19331",
changeOrigin: true,
pathRewrite: {
["^" + settings.proxyUrl]: "",

BIN
web_client/web_client-1.zip

Binary file not shown.
Loading…
Cancel
Save