|
@ -206,7 +206,7 @@ public class PatientRecordService {
|
|
|
/**
|
|
|
* 获取检查检验列表
|
|
|
*/
|
|
|
public List<Map<String, String>> getExamAndLabReport(String patientCode, String page, String pageSize) throws Exception {
|
|
|
public List<Map<String, String>> getExamAndLabReport(String patientCode, String page, String pageSize, String lastTime) throws Exception {
|
|
|
List<Map<String, String>> re = new ArrayList<>();
|
|
|
|
|
|
//获取患者
|
|
@ -227,12 +227,22 @@ public class PatientRecordService {
|
|
|
|
|
|
List<Map<String, Object>> appList = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
if (!StringUtils.isEmpty(response)) {
|
|
|
if (!StringUtils.isEmpty(response) && !"[{}]".equals(response)) {
|
|
|
JSONArray array = new JSONArray(response);
|
|
|
String max = "";
|
|
|
String min = "";
|
|
|
|
|
|
for (int i = 0; i < array.length(); i++) {
|
|
|
JSONObject item = array.getJSONObject(i);
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
if (i == 0) //最大值
|
|
|
{
|
|
|
max = item.optString("END_TIME");
|
|
|
} else if (i == array.length() - 1) //最小值
|
|
|
{
|
|
|
min = item.optString("END_TIME");
|
|
|
}
|
|
|
|
|
|
map.put("id", item.optString("EVENT"));
|
|
|
map.put("patient", patientCode);
|
|
|
map.put("eventDate", item.optString("END_TIME"));
|
|
@ -257,46 +267,72 @@ public class PatientRecordService {
|
|
|
|
|
|
//过滤
|
|
|
for (Map<String, Object> item : appList) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("id", item.get("id").toString());
|
|
|
map.put("patient", patientCode);
|
|
|
map.put("eventDate", DateUtil.dateToStrLong((Date) item.get("event_date")));
|
|
|
String type = "";
|
|
|
if ("检验报告".equals(item.get("catalog"))) {
|
|
|
type = "检验";
|
|
|
} else if ("检查报告".equals(item.get("catalog"))) {
|
|
|
type = "检查";
|
|
|
String eventDate = DateUtil.dateToStrLong((Date) item.get("event_date"));
|
|
|
int maxCompare = eventDate.compareTo(max);
|
|
|
int minCompare = eventDate.compareTo(min);
|
|
|
Boolean contain = false;
|
|
|
if (maxCompare < 0 && minCompare >= 0) //时间范围内
|
|
|
{
|
|
|
contain = true;
|
|
|
}
|
|
|
|
|
|
//第一页特殊处理
|
|
|
if ("1".equals(page) && maxCompare >= 0) {
|
|
|
contain = true;
|
|
|
}
|
|
|
|
|
|
//最后一页特殊处理
|
|
|
if (!"1".equals(page) && (array.length() == 0 || "[{}]".equals(response)) && !StringUtils.isEmpty(lastTime)) {
|
|
|
int lastTimeCompare = eventDate.compareTo(lastTime);
|
|
|
if (lastTimeCompare < 0) {
|
|
|
contain = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (contain) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("id", item.get("id").toString());
|
|
|
map.put("patient", patientCode);
|
|
|
map.put("eventDate", eventDate);
|
|
|
String type = "";
|
|
|
if ("检验报告".equals(item.get("catalog"))) {
|
|
|
type = "检验";
|
|
|
} else if ("检查报告".equals(item.get("catalog"))) {
|
|
|
type = "检查";
|
|
|
}
|
|
|
map.put("type", type);
|
|
|
map.put("catalogCode", "");
|
|
|
map.put("serial", "");
|
|
|
map.put("orgName", String.valueOf(item.get("org_name")));
|
|
|
map.put("label", String.valueOf(item.get("label"))); //检测项目
|
|
|
map.put("dataFrom", "2");//基卫数据
|
|
|
re.add(map);
|
|
|
}
|
|
|
map.put("type", type);
|
|
|
map.put("catalogCode", "");
|
|
|
map.put("serial", "");
|
|
|
map.put("orgName", String.valueOf(item.get("org_name")));
|
|
|
map.put("label", String.valueOf(item.get("label"))); //检测项目
|
|
|
map.put("dataFrom", "2");//基卫数据
|
|
|
re.add(map);
|
|
|
}
|
|
|
|
|
|
//排序
|
|
|
re = sortMapList(re, "eventDate", "DESC");
|
|
|
} else {
|
|
|
for (Map<String, Object> item : appList) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("id", String.valueOf(item.get("id")));
|
|
|
map.put("patient", patientCode);
|
|
|
map.put("eventDate", DateUtil.dateToStrLong((Date) item.get("event_date")));
|
|
|
String type = "";
|
|
|
if ("检验报告".equals(item.get("catalog"))) {
|
|
|
type = "检验";
|
|
|
} else if ("检查报告".equals(item.get("catalog"))) {
|
|
|
type = "检查";
|
|
|
if ("1".equals(page)) {
|
|
|
for (Map<String, Object> item : appList) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("id", String.valueOf(item.get("id")));
|
|
|
map.put("patient", patientCode);
|
|
|
map.put("eventDate", DateUtil.dateToStrLong((Date) item.get("event_date")));
|
|
|
String type = "";
|
|
|
if ("检验报告".equals(item.get("catalog"))) {
|
|
|
type = "检验";
|
|
|
} else if ("检查报告".equals(item.get("catalog"))) {
|
|
|
type = "检查";
|
|
|
}
|
|
|
map.put("type", type);
|
|
|
map.put("catalogCode", "");
|
|
|
map.put("serial", "");
|
|
|
map.put("orgName", String.valueOf(item.get("org_name")));
|
|
|
map.put("label", String.valueOf(item.get("label"))); //检测项目
|
|
|
map.put("dataFrom", "2");//基卫数据
|
|
|
re.add(map);
|
|
|
}
|
|
|
map.put("type", type);
|
|
|
map.put("catalogCode", "");
|
|
|
map.put("serial", "");
|
|
|
map.put("orgName", String.valueOf(item.get("org_name")));
|
|
|
map.put("label", String.valueOf(item.get("label"))); //检测项目
|
|
|
map.put("dataFrom", "2");//基卫数据
|
|
|
re.add(map);
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -310,7 +346,12 @@ public class PatientRecordService {
|
|
|
public String getDrugsListPage(String patientCode, String page, String pageSize) throws Exception {
|
|
|
//获取患者
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
return jwSmjkService.getDrugsListPage(patient.getSsc(), page, pageSize);
|
|
|
String response = jwSmjkService.getDrugsListPage(patient.getSsc(), page, pageSize);
|
|
|
if ("[{}]".equals(response)) {
|
|
|
response = "[]";
|
|
|
}
|
|
|
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
|