|
|
|
@ -1,10 +1,17 @@
|
|
|
|
|
package com.ruoyi.system.service.impl;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
import com.ruoyi.system.domain.TPatientHospitalDoctor;
|
|
|
|
|
import com.ruoyi.system.domain.req.TRecordResultReq;
|
|
|
|
|
import com.ruoyi.system.domain.resp.RecordHistoryDataResp;
|
|
|
|
|
import com.ruoyi.system.domain.resp.TRecordResp;
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import com.ruoyi.system.mapper.TRecordMapper;
|
|
|
|
@ -114,4 +121,56 @@ public class TRecordServiceImpl implements ITRecordService
|
|
|
|
|
{
|
|
|
|
|
return tRecordMapper.queryRecordListByPHDids(tPatientHospitalDoctor);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public AjaxResult getHistoryList(TRecord tRecord)
|
|
|
|
|
{
|
|
|
|
|
List<TRecord> tRecords = tRecordMapper.selectTRecordList(tRecord);
|
|
|
|
|
tRecords.removeIf(o->"0".equals(o.getStatus()));
|
|
|
|
|
if (CollectionUtils.isEmpty(tRecords)){
|
|
|
|
|
return AjaxResult.success();
|
|
|
|
|
}
|
|
|
|
|
List<TRecord> records = tRecords.stream().sorted(Comparator.comparing(TRecord::getCreateTime)).collect(Collectors.toList());
|
|
|
|
|
List<String> jsonKeyList = new ArrayList<String>(){{
|
|
|
|
|
add("shemian-sz_avg_red");
|
|
|
|
|
add("st_avg_yellow");
|
|
|
|
|
add("sx_vein_color");
|
|
|
|
|
}};
|
|
|
|
|
RecordHistoryDataResp recordHistoryDataRespMap = getDataList(records,jsonKeyList);
|
|
|
|
|
return AjaxResult.success(recordHistoryDataRespMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private RecordHistoryDataResp getDataList(List<TRecord> records, List<String> jsonKeyList)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
RecordHistoryDataResp recordHistoryDataResp = new RecordHistoryDataResp();
|
|
|
|
|
List<Date> dateList = records.stream().map(TRecord::getCreateTime).collect(Collectors.toList());
|
|
|
|
|
recordHistoryDataResp.setDateList(dateList);
|
|
|
|
|
List<JSONObject> result = records.stream().map(tRecord -> {
|
|
|
|
|
JSONObject jsonObject;
|
|
|
|
|
if(StringUtils.isEmpty(tRecord.getUpdateResult2())){
|
|
|
|
|
jsonObject = JSONObject.parseObject(tRecord.getAiResult2());
|
|
|
|
|
}else {
|
|
|
|
|
jsonObject = JSONObject.parseObject(tRecord.getUpdateResult2());
|
|
|
|
|
}
|
|
|
|
|
return jsonObject;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
if (!CollectionUtils.isEmpty(result)){
|
|
|
|
|
List<Integer> shezhiList = new LinkedList<>();
|
|
|
|
|
List<Integer> shetaiList = new LinkedList<>();
|
|
|
|
|
List<Integer> shexiaList = new LinkedList<>();
|
|
|
|
|
String[] keys0 = jsonKeyList.get(0).split("-");
|
|
|
|
|
String key1 = jsonKeyList.get(1);
|
|
|
|
|
String key2 = jsonKeyList.get(2);
|
|
|
|
|
result.forEach(jsonObject -> {
|
|
|
|
|
shezhiList.add(jsonObject.getJSONObject("data").getJSONObject("shezhi").getJSONObject(keys0[0]).getInteger(keys0[1]));
|
|
|
|
|
shetaiList.add(jsonObject.getJSONObject("data").getJSONObject("shetai").getInteger(key1));
|
|
|
|
|
shexiaList.add(jsonObject.getJSONObject("data").getJSONObject("shexia").getInteger(key2));
|
|
|
|
|
});
|
|
|
|
|
recordHistoryDataResp.setShezhiList(shezhiList);
|
|
|
|
|
recordHistoryDataResp.setShetaiList(shetaiList);
|
|
|
|
|
recordHistoryDataResp.setShexiaList(shexiaList);
|
|
|
|
|
}
|
|
|
|
|
return recordHistoryDataResp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|