获取患者历史数据图表代码放在业务层

master
chenfei 2 years ago
parent 63fe4e8b80
commit 31c39c5abf

@ -127,52 +127,6 @@ public class TRecordController extends BaseController
@GetMapping("getHistoryList") @GetMapping("getHistoryList")
@ApiOperation("查询患者历史数据图表") @ApiOperation("查询患者历史数据图表")
public AjaxResult getHistoryList(TRecord tRecord){ public AjaxResult getHistoryList(TRecord tRecord){
List<TRecord> tRecords = tRecordService.selectTRecordList(tRecord); return tRecordService.getHistoryList(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;
} }
} }

@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.TPatientHospitalDoctor; import com.ruoyi.system.domain.TPatientHospitalDoctor;
import com.ruoyi.system.domain.TRecord; import com.ruoyi.system.domain.TRecord;
import com.ruoyi.system.domain.req.TRecordResultReq; import com.ruoyi.system.domain.req.TRecordResultReq;
@ -86,4 +87,6 @@ public interface ITRecordService
* @return {@code List<TRecord>} * @return {@code List<TRecord>}
*/ */
public List<TRecordResp> queryRecordListByPHDids(TPatientHospitalDoctor tPatientHospitalDoctor); public List<TRecordResp> queryRecordListByPHDids(TPatientHospitalDoctor tPatientHospitalDoctor);
AjaxResult getHistoryList(TRecord tRecord);
} }

@ -1,10 +1,17 @@
package com.ruoyi.system.service.impl; 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.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.TPatientHospitalDoctor; import com.ruoyi.system.domain.TPatientHospitalDoctor;
import com.ruoyi.system.domain.req.TRecordResultReq; import com.ruoyi.system.domain.req.TRecordResultReq;
import com.ruoyi.system.domain.resp.RecordHistoryDataResp;
import com.ruoyi.system.domain.resp.TRecordResp; import com.ruoyi.system.domain.resp.TRecordResp;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TRecordMapper; import com.ruoyi.system.mapper.TRecordMapper;
@ -114,4 +121,56 @@ public class TRecordServiceImpl implements ITRecordService
{ {
return tRecordMapper.queryRecordListByPHDids(tPatientHospitalDoctor); 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;
}
} }

Loading…
Cancel
Save