|
@@ -966,15 +966,34 @@ public class NursingManagementService {
|
|
|
}
|
|
|
|
|
|
private void setBreatheAndPain(GraphicsParam query,List<ScdBaseInfo> types,List<YzTemperature> yzTemperatures, List<String> dateList, String[] timeList) {
|
|
|
+ // 新旧时间映射关系
|
|
|
+ Map<String, String> newToOldTimeMap = new HashMap<>();
|
|
|
+ newToOldTimeMap.put("02:00:00", "03:00:00");
|
|
|
+ newToOldTimeMap.put("06:00:00", "07:00:00");
|
|
|
+ newToOldTimeMap.put("10:00:00", "11:00:00");
|
|
|
+ newToOldTimeMap.put("14:00:00", "15:00:00");
|
|
|
+ newToOldTimeMap.put("18:00:00", "19:00:00");
|
|
|
+ newToOldTimeMap.put("22:00:00", "23:00:00");
|
|
|
+
|
|
|
for(String itemDate : dateList){
|
|
|
- for(String time : timeList){
|
|
|
- YzTemperature yzTemperature = filterYzTemperature(yzTemperatures, itemDate, time);
|
|
|
+ for(String newTime : timeList){
|
|
|
+ // 先尝试用新时间格式查找数据
|
|
|
+ YzTemperature yzTemperature = filterYzTemperature(yzTemperatures, itemDate, newTime);
|
|
|
+
|
|
|
+ // 如果没找到数据,尝试用旧时间格式查找
|
|
|
+ if (yzTemperature.getRecTime() == null) {
|
|
|
+ String oldTime = newToOldTimeMap.get(newTime);
|
|
|
+ if (oldTime != null) {
|
|
|
+ yzTemperature = filterYzTemperature(yzTemperatures, itemDate, oldTime);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//098 呼吸
|
|
|
//099 疼痛强度
|
|
|
for (int i = 0; i < 2 ; i++) {
|
|
|
ScdBaseInfo scdBaseInfo = new ScdBaseInfo();
|
|
|
scdBaseInfo.setDate(itemDate);
|
|
|
- scdBaseInfo.setTimes(time);
|
|
|
+ scdBaseInfo.setTimes(newTime); // 始终使用新时间格式显示
|
|
|
if(i == 0){
|
|
|
scdBaseInfo.setTypeCode("098");
|
|
|
if(query.getHxFlag()){
|
|
@@ -990,8 +1009,6 @@ public class NursingManagementService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@NotNull
|
|
@@ -1007,57 +1024,78 @@ public class NursingManagementService {
|
|
|
|
|
|
public List<ScdRow> getRows(GraphicsParam query,List<YzTemperature> yzTemperatures, List<String> dateList, String[] timeList) {
|
|
|
List<ScdRow> rows = new ArrayList<>();
|
|
|
+
|
|
|
+ // 新旧时间映射关系
|
|
|
+ Map<String, String> newToOldTimeMap = new HashMap<>();
|
|
|
+ newToOldTimeMap.put("02:00:00", "03:00:00");
|
|
|
+ newToOldTimeMap.put("06:00:00", "07:00:00");
|
|
|
+ newToOldTimeMap.put("10:00:00", "11:00:00");
|
|
|
+ newToOldTimeMap.put("14:00:00", "15:00:00");
|
|
|
+ newToOldTimeMap.put("18:00:00", "19:00:00");
|
|
|
+ newToOldTimeMap.put("22:00:00", "23:00:00");
|
|
|
+
|
|
|
for(String itemDate : dateList){
|
|
|
- for(String time : timeList){
|
|
|
+ for(String newTime : timeList){
|
|
|
ScdRow scdRow = new ScdRow();
|
|
|
List<ScdBaseInfo> scdBaseInfos = new ArrayList<>();
|
|
|
- //003 腋表
|
|
|
- //015 肛表
|
|
|
- //014 心率
|
|
|
- //002 脉搏
|
|
|
- //012 特殊标记
|
|
|
- //001 口表
|
|
|
- YzTemperature yzTemperature = filterYzTemperature(yzTemperatures, itemDate, time);
|
|
|
+
|
|
|
+ // 先尝试用新时间格式查找数据
|
|
|
+ YzTemperature yzTemperature = filterYzTemperature(yzTemperatures, itemDate, newTime);
|
|
|
+
|
|
|
+ // 如果没找到数据,尝试用旧时间格式查找
|
|
|
+ if (yzTemperature.getRecTime() == null) {
|
|
|
+ String oldTime = newToOldTimeMap.get(newTime);
|
|
|
+ if (oldTime != null) {
|
|
|
+ yzTemperature = filterYzTemperature(yzTemperatures, itemDate, oldTime);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //003 腋表
|
|
|
+ //015 肛表
|
|
|
+ //014 心率
|
|
|
+ //002 脉搏
|
|
|
+ //012 特殊标记
|
|
|
+ //001 口表
|
|
|
for (int i = 0; i < 6; i++) {
|
|
|
- ScdBaseInfo scdBaseInfo = new ScdBaseInfo();
|
|
|
- scdBaseInfo.setDate(itemDate);
|
|
|
- scdBaseInfo.setTimes(time);
|
|
|
- switch (i){
|
|
|
- case 0:
|
|
|
- scdBaseInfo.setTypeCode("003");
|
|
|
- scdBaseInfo.setTypeValue("2".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- scdBaseInfo.setTypeCode("015");
|
|
|
- scdBaseInfo.setTypeValue("3".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- scdBaseInfo.setTypeCode("001");
|
|
|
- scdBaseInfo.setTypeValue("1".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- scdBaseInfo.setTypeCode("014");
|
|
|
- scdBaseInfo.setTypeValue(Convert.toStr(yzTemperature.getHeart(),null));
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- scdBaseInfo.setTypeCode("002");
|
|
|
- if(query.getMbFlag()){
|
|
|
- scdBaseInfo.setTypeValue(Convert.toStr(yzTemperature.getPulse(),null));
|
|
|
- }
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- scdBaseInfo.setTypeCode("012");
|
|
|
- String str ="";
|
|
|
- if(yzTemperature.getSpecialtextTime() != null){
|
|
|
- String format = DateUtil.format(yzTemperature.getSpecialtextTime(), "HH:mm");
|
|
|
- str = StrUtil.format("{}时{}分",Convert.numberToChinese(Convert.toDouble(format.split(":")[0]),false),Convert.numberToChinese(Convert.toDouble(format.split(":")[1]),false));
|
|
|
- }
|
|
|
- scdBaseInfo.setTypeValue(StrUtil.isBlank(yzTemperature.getScdSpecialtext()) ? "" : "手术".equals(yzTemperature.getScdSpecialtext()) ? "手术" : yzTemperature.getScdSpecialtext()+str);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- scdBaseInfos.add(scdBaseInfo);
|
|
|
+ ScdBaseInfo scdBaseInfo = new ScdBaseInfo();
|
|
|
+ scdBaseInfo.setDate(itemDate);
|
|
|
+ scdBaseInfo.setTimes(newTime); // 始终使用新时间格式显示
|
|
|
+ switch (i){
|
|
|
+ case 0:
|
|
|
+ scdBaseInfo.setTypeCode("003");
|
|
|
+ scdBaseInfo.setTypeValue("2".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ scdBaseInfo.setTypeCode("015");
|
|
|
+ scdBaseInfo.setTypeValue("3".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ scdBaseInfo.setTypeCode("001");
|
|
|
+ scdBaseInfo.setTypeValue("1".equals(yzTemperature.getTemperatureType()) ? Convert.toStr(yzTemperature.getTemperature(),null) : null);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ scdBaseInfo.setTypeCode("014");
|
|
|
+ scdBaseInfo.setTypeValue(Convert.toStr(yzTemperature.getHeart(),null));
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ scdBaseInfo.setTypeCode("002");
|
|
|
+ if(query.getMbFlag()){
|
|
|
+ scdBaseInfo.setTypeValue(Convert.toStr(yzTemperature.getPulse(),null));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ scdBaseInfo.setTypeCode("012");
|
|
|
+ String str ="";
|
|
|
+ if(yzTemperature.getSpecialtextTime() != null){
|
|
|
+ String format = DateUtil.format(yzTemperature.getSpecialtextTime(), "HH:mm");
|
|
|
+ str = StrUtil.format("{}时{}分",Convert.numberToChinese(Convert.toDouble(format.split(":")[0]),false),Convert.numberToChinese(Convert.toDouble(format.split(":")[1]),false));
|
|
|
+ }
|
|
|
+ scdBaseInfo.setTypeValue(StrUtil.isBlank(yzTemperature.getScdSpecialtext()) ? "" : "手术".equals(yzTemperature.getScdSpecialtext()) ? "手术" : yzTemperature.getScdSpecialtext()+str);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ scdBaseInfos.add(scdBaseInfo);
|
|
|
}
|
|
|
scdRow.setRowBOS(scdBaseInfos);
|
|
|
rows.add(scdRow);
|