|
|
|
@ -1,13 +1,19 @@
|
|
|
|
|
package com.ruoyi.web.controller.pc;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
|
|
import com.ruoyi.system.domain.TPatientHospitalDoctor;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
import com.ruoyi.system.domain.req.TRecordResultReq;
|
|
|
|
|
import com.ruoyi.system.domain.resp.RecordHistoryDataResp;
|
|
|
|
|
import com.ruoyi.system.domain.resp.TRecordResp;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
@ -121,6 +127,54 @@ public class TRecordController extends BaseController
|
|
|
|
|
@GetMapping("getHistoryList")
|
|
|
|
|
@ApiOperation("查询患者历史数据图表")
|
|
|
|
|
public AjaxResult getHistoryList(TRecord tRecord){
|
|
|
|
|
return null;
|
|
|
|
|
List<TRecord> tRecords = tRecordService.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<String> dateList = records.stream().map(tRecord -> DateUtils.parseDateToStr("dd/MM/yyyy",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());
|
|
|
|
|
Map<String,List<Integer>> dataMap = new HashMap<>();
|
|
|
|
|
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));
|
|
|
|
|
});
|
|
|
|
|
dataMap.put("shezhi",shezhiList);
|
|
|
|
|
dataMap.put("shetai",shetaiList);
|
|
|
|
|
dataMap.put("shexia",shexiaList);
|
|
|
|
|
}
|
|
|
|
|
recordHistoryDataResp.setDataMap(dataMap);
|
|
|
|
|
return recordHistoryDataResp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|