From 3dfc4c2331ddfeeee0214be8b2e66bba0902c7ff Mon Sep 17 00:00:00 2001 From: yy <2@2.com> Date: Wed, 5 Jun 2024 09:06:08 +0800 Subject: [PATCH] =?UTF-8?q?mongo=E6=A0=B9=E6=8D=AE=E4=B8=80=E6=9C=9F?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysMenuServiceImpl.java | 36 +++++----- .../com/rax/vital/config/WebSocketConfig.java | 12 ++-- .../rax/vital/handler/AddMedicineHandler.java | 69 +++++++++++++----- .../com/rax/vital/handler/ChatHandler.java | 62 ++++++++++++---- .../vital/handler/MachineFeedbackHandler.java | 70 ++++++++++++++----- .../rax/vital/handler/MedicineHandler.java | 66 ++++++++++------- .../vital/handler/mysql/MedicineHandler.java | 2 - .../service/impl/AIMedicineServiceImpl.java | 24 ++++++- .../com/rax/vital/timer/VitalSignTimerWS.java | 4 +- .../src/main/resources/application.yml | 4 +- 10 files changed, 245 insertions(+), 104 deletions(-) diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMenuServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMenuServiceImpl.java index e304479..d1657e5 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMenuServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMenuServiceImpl.java @@ -28,10 +28,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -80,6 +77,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl /** * 构建树查询 1. 不是懒加载情况,查询全部 2. 是懒加载,根据parentId 查询 2.1 父节点为空,则查询ID -1 + * * @param parentId 父节点ID * @param menuName 菜单名称 * @return @@ -89,13 +87,13 @@ public class SysMenuServiceImpl extends ServiceImpl impl Long parent = parentId == null ? CommonConstants.MENU_TREE_ROOT_ID : parentId; List> collect = baseMapper - .selectList(Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(menuName), SysMenu::getName, menuName) - .eq(StrUtil.isNotBlank(type), SysMenu::getMenuType, type) - .orderByAsc(SysMenu::getSortOrder)) - .stream() - .map(getNodeFunction()) - .collect(Collectors.toList()); + .selectList(Wrappers.lambdaQuery() + .like(StrUtil.isNotBlank(menuName), SysMenu::getName, menuName) + .eq(StrUtil.isNotBlank(type), SysMenu::getMenuType, type) + .orderByAsc(SysMenu::getSortOrder)) + .stream() + .map(getNodeFunction()) + .collect(Collectors.toList()); // 模糊查询 不组装树结构 直接返回 表格方便编辑 if (StrUtil.isNotBlank(menuName)) { @@ -112,17 +110,22 @@ public class SysMenuServiceImpl extends ServiceImpl impl /** * 查询菜单 - * @param all 全部菜单 - * @param type 类型 + * + * @param all 全部菜单 + * @param type 类型 * @param parentId 父节点ID * @return */ @Override public List> filterMenu(Set all, String type, Long parentId) { List> collect = all.stream() - .filter(menuTypePredicate(type)) - .map(getNodeFunction()) - .collect(Collectors.toList()); + .filter(menuTypePredicate(type)) + .map(getNodeFunction()) + .sorted((p1, p2) -> { + int ageCompare = Integer.compare((Integer) p1.getExtra().get("sortOrder"), (Integer) p2.getExtra().get("sortOrder")); + return ageCompare; + }) + .collect(Collectors.toList()); Long parent = parentId == null ? CommonConstants.MENU_TREE_ROOT_ID : parentId; return TreeUtil.build(collect, parent); @@ -165,6 +168,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl /** * menu 类型断言 + * * @param type 类型 * @return Predicate */ diff --git a/upms/upms-biz/src/main/java/com/rax/vital/config/WebSocketConfig.java b/upms/upms-biz/src/main/java/com/rax/vital/config/WebSocketConfig.java index 23017d6..2156267 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/config/WebSocketConfig.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/config/WebSocketConfig.java @@ -1,9 +1,9 @@ package com.rax.vital.config; -import com.rax.vital.handler.mysql.AddMedicineHandler; -import com.rax.vital.handler.mysql.ChatHandler; -import com.rax.vital.handler.mysql.MachineFeedbackHandler; -import com.rax.vital.handler.mysql.MedicineHandler; +import com.rax.vital.handler.AddMedicineHandler; +import com.rax.vital.handler.ChatHandler; +import com.rax.vital.handler.MachineFeedbackHandler; +import com.rax.vital.handler.MedicineHandler; import com.rax.vital.interceptor.WebSocketInterceptors; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -31,25 +31,21 @@ public class WebSocketConfig implements WebSocketConfigurer { @Bean public WebSocketHandler medicineHandler() { return new MedicineHandler(); -// return new MedicineHandler(); } @Bean public WebSocketHandler chatHandler() { return new ChatHandler(); -// return new ChatHandler(); } @Bean public WebSocketHandler addMedicineHandler() { return new AddMedicineHandler(); -// return new AddMedicineHandler(); } @Bean public WebSocketHandler machineHandler() { return new MachineFeedbackHandler(); -// return new MachineFeedbackHandler(); } @Bean diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java index dfe4c6d..6ad4dae 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/AddMedicineHandler.java @@ -8,13 +8,14 @@ import jakarta.annotation.Resource; import org.springframework.security.oauth2.server.authorization.OAuth2Authorization; import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService; import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; -import org.springframework.web.socket.CloseStatus; -import org.springframework.web.socket.WebSocketHandler; -import org.springframework.web.socket.WebSocketMessage; -import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.*; import java.net.URLDecoder; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * 网站发送给仪器给药信息 @@ -26,9 +27,12 @@ public class AddMedicineHandler implements WebSocketHandler { @Resource private OAuth2AuthorizationService authorizationService; + private Map timerTaskMap = new ConcurrentHashMap(); + @Override - public void afterConnectionEstablished(WebSocketSession session) throws Exception { + public void afterConnectionEstablished(WebSocketSession session) { vitalSignTimerWS.setWSAIFlagSession(session); + startHeartbeat(session); } @Override @@ -40,24 +44,27 @@ public class AddMedicineHandler implements WebSocketHandler { String username = authorization.getPrincipalName(); JSONObject jsonObject = JSONObject.parseObject((String) message.getPayload()); - // 病人名 - String patientName = jsonObject.getString("patientName"); - // 病人身份证 - String idNum = jsonObject.getString("idNum"); - // yyyyMMdd - String date = jsonObject.getString("date"); - String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; - vitalSignTimerWS.changeWSAIFlag(databaseName, username, session, jsonObject.getString("flag"), - jsonObject.getString("medicine"), jsonObject.getString("value")); + + if (!"heartbeat".equals(jsonObject.getString("msgType"))) { + // 病人名 + String patientName = jsonObject.getString("patientName"); + // 病人身份证 + String idNum = jsonObject.getString("idNum"); + // yyyyMMdd + String date = jsonObject.getString("date"); + String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; + vitalSignTimerWS.changeWSAIFlag(databaseName, username, session, jsonObject.getString("flag"), + jsonObject.getString("medicine"), jsonObject.getString("value")); + } } @Override - public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { - + public void handleTransportError(WebSocketSession session, Throwable exception) { } @Override - public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { + public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) { + stopHeartbeat(session); vitalSignTimerWS.removeWSAIFlagSession(session); System.out.println(this.getClass().getName() + " Connection closed:" + closeStatus.getReason()); } @@ -66,4 +73,32 @@ public class AddMedicineHandler implements WebSocketHandler { public boolean supportsPartialMessages() { return false; } + + private void startHeartbeat(WebSocketSession session) { + if (!timerTaskMap.containsKey(session.getId())) { + ScheduledExecutorService heartbeatExecutor = Executors.newScheduledThreadPool(1); + heartbeatExecutor.scheduleAtFixedRate(() -> { + try { + if (session.isOpen()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("msgType", "heartbeat"); + session.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); + } else { + stopHeartbeat(session); + vitalSignTimerWS.removeWSAIFlagSession(session); + session.close(); + } + } catch (Exception e) { + e.printStackTrace(); + stopHeartbeat(session); + } + }, 0, 10, TimeUnit.SECONDS); + timerTaskMap.put(session.getId(), heartbeatExecutor); + } + } + + private void stopHeartbeat(WebSocketSession session) { + ScheduledExecutorService heartbeatExecutor = timerTaskMap.get(session.getId()); + heartbeatExecutor.shutdownNow(); + } } diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/ChatHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/ChatHandler.java index 4548e0e..97cacd6 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/ChatHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/ChatHandler.java @@ -7,13 +7,14 @@ import jakarta.annotation.Resource; import org.springframework.security.oauth2.server.authorization.OAuth2Authorization; import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService; import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; -import org.springframework.web.socket.CloseStatus; -import org.springframework.web.socket.WebSocketHandler; -import org.springframework.web.socket.WebSocketMessage; -import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.*; import java.net.URLDecoder; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; public class ChatHandler implements WebSocketHandler { @Resource @@ -22,8 +23,11 @@ public class ChatHandler implements WebSocketHandler { @Resource private ChatService chatService; + private Map timerTaskMap = new ConcurrentHashMap(); + @Override - public void afterConnectionEstablished(WebSocketSession session) throws Exception { + public void afterConnectionEstablished(WebSocketSession session) { + startHeartbeat(session); } @Override @@ -37,21 +41,25 @@ public class ChatHandler implements WebSocketHandler { String payload = (String) message.getPayload(); JSONObject jsonObject = JSONObject.parseObject(payload); - String patientName = jsonObject.getString("patientName"); - String idNum = jsonObject.getString("idNum"); - String date = jsonObject.getString("date"); - // 消息内容 - String msg = jsonObject.getString("msg"); - chatService.sendMessage(username, patientName, idNum, date, session, msg); + if (!"heartbeat".equals(jsonObject.getString("msgType"))) { + String patientName = jsonObject.getString("patientName"); + String idNum = jsonObject.getString("idNum"); + String date = jsonObject.getString("date"); + // 消息内容 + String msg = jsonObject.getString("msg"); + chatService.sendMessage(username, patientName, idNum, date, session, msg); + } } } @Override - public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { + public void handleTransportError(WebSocketSession session, Throwable exception) { + System.out.println("Error: " + exception.getMessage()); } @Override - public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { + public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) { + stopHeartbeat(session); chatService.stopTask(session.getId()); } @@ -59,4 +67,32 @@ public class ChatHandler implements WebSocketHandler { public boolean supportsPartialMessages() { return false; } + + private void startHeartbeat(WebSocketSession session) { + if (!timerTaskMap.containsKey(session.getId())) { + ScheduledExecutorService heartbeatExecutor = Executors.newScheduledThreadPool(1); + heartbeatExecutor.scheduleAtFixedRate(() -> { + try { + if (session.isOpen()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("msgType", "heartbeat"); + session.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); + } else { + stopHeartbeat(session); + chatService.stopTask(session.getId()); + session.close(); + } + } catch (Exception e) { + e.printStackTrace(); + stopHeartbeat(session); + } + }, 0, 10, TimeUnit.SECONDS); + timerTaskMap.put(session.getId(), heartbeatExecutor); + } + } + + private void stopHeartbeat(WebSocketSession session) { + ScheduledExecutorService heartbeatExecutor = timerTaskMap.get(session.getId()); + heartbeatExecutor.shutdownNow(); + } } diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java index 30b79aa..c7bfb26 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/MachineFeedbackHandler.java @@ -5,10 +5,13 @@ import com.rax.vital.timer.VitalSignTimerWS; import com.rax.vital.util.DatabaseNameUtil; import jakarta.annotation.Resource; import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService; -import org.springframework.web.socket.CloseStatus; -import org.springframework.web.socket.WebSocketHandler; -import org.springframework.web.socket.WebSocketMessage; -import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.*; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * 仪器获取网站给药信息 @@ -20,32 +23,39 @@ public class MachineFeedbackHandler implements WebSocketHandler { @Resource private VitalSignTimerWS vitalSignTimerWS; + private Map timerTaskMap = new ConcurrentHashMap(); + @Override - public void afterConnectionEstablished(WebSocketSession session) throws Exception { + public void afterConnectionEstablished(WebSocketSession session) { vitalSignTimerWS.setMachineSessionMap(session); + startHeartbeat(session); } @Override public void handleMessage(WebSocketSession session, WebSocketMessage message) throws Exception { JSONObject jsonObject = JSONObject.parseObject((String) message.getPayload()); - // 病人名 - String patientName = jsonObject.getString("patientName"); - // 病人身份证住院号 - String idNum = jsonObject.getString("idNum"); - // yyyyMMdd - String date = jsonObject.getString("date"); - String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; - String code = jsonObject.getString("code"); - vitalSignTimerWS.sendMachineFlag(databaseName, code, session); + if (!"heartbeat".equals(jsonObject.getString("msgType"))) { + // 病人名 + String patientName = jsonObject.getString("patientName"); + // 病人身份证住院号 + String idNum = jsonObject.getString("idNum"); + // yyyyMMdd + String date = jsonObject.getString("date"); + String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; + String code = jsonObject.getString("code"); + + vitalSignTimerWS.sendMachineFlag(databaseName, code, session); + } } @Override - public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { + public void handleTransportError(WebSocketSession session, Throwable exception) { } @Override - public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { + public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) { + stopHeartbeat(session); vitalSignTimerWS.removeMachineSessionMap(session); System.out.println(this.getClass().getName() + " Connection closed:" + closeStatus.getReason()); } @@ -54,4 +64,32 @@ public class MachineFeedbackHandler implements WebSocketHandler { public boolean supportsPartialMessages() { return false; } + + private void startHeartbeat(WebSocketSession session) { + if (!timerTaskMap.containsKey(session.getId())) { + ScheduledExecutorService heartbeatExecutor = Executors.newScheduledThreadPool(1); + heartbeatExecutor.scheduleAtFixedRate(() -> { + try { + if (session.isOpen()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("msgType", "heartbeat"); + session.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); + } else { + stopHeartbeat(session); + vitalSignTimerWS.removeMachineSessionMap(session); + session.close(); + } + } catch (Exception e) { + e.printStackTrace(); + stopHeartbeat(session); + } + }, 0, 10, TimeUnit.SECONDS); + timerTaskMap.put(session.getId(), heartbeatExecutor); + } + } + + private void stopHeartbeat(WebSocketSession session) { + ScheduledExecutorService heartbeatExecutor = timerTaskMap.get(session.getId()); + heartbeatExecutor.shutdownNow(); + } } diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/MedicineHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/MedicineHandler.java index 2e65cbb..1ce80cb 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/MedicineHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/MedicineHandler.java @@ -13,10 +13,7 @@ import org.springframework.web.socket.*; import java.io.IOException; import java.net.URLDecoder; import java.util.Map; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; /** * 生命体征和标志位信息 @@ -29,18 +26,15 @@ public class MedicineHandler implements WebSocketHandler { @Resource private OAuth2AuthorizationService authorizationService; - private static final long HEARTBEAT_INTERVAL = 30; // 心跳间隔秒数 - private ScheduledExecutorService scheduler; - private ScheduledFuture heartbeatTask; + private Map timerTaskMap = new ConcurrentHashMap(); @Override - public void afterConnectionEstablished(WebSocketSession session) throws Exception { - scheduler = Executors.newScheduledThreadPool(1); - heartbeatTask = scheduler.scheduleAtFixedRate(() -> sendPing(session), 0, HEARTBEAT_INTERVAL, TimeUnit.SECONDS); + public void afterConnectionEstablished(WebSocketSession session) { + startHeartbeat(session); } @Override - public void handleMessage(WebSocketSession session, WebSocketMessage message) throws Exception { + public void handleMessage(WebSocketSession session, WebSocketMessage message) { String decode = URLDecoder.decode(session.getUri().getQuery()); Map params = GetHttpParamUtil.getParams(decode); String token = (String) params.get("token"); @@ -49,11 +43,14 @@ public class MedicineHandler implements WebSocketHandler { String payload = (String) message.getPayload(); JSONObject jsonObject = JSONObject.parseObject(payload); - String patientName = jsonObject.getString("patientName"); - String idNum = jsonObject.getString("idNum"); - String date = jsonObject.getString("date"); - String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; - vitalSignTimerWS.createAndSendWSMessageMongo(databaseName, username, session); + + if (!"heartbeat".equals(jsonObject.getString("msgType"))) { + String patientName = jsonObject.getString("patientName"); + String idNum = jsonObject.getString("idNum"); + String date = jsonObject.getString("date"); + String databaseName = DatabaseNameUtil.encrypt(patientName) + "_" + DatabaseNameUtil.encrypt(idNum) + "_" + date; + vitalSignTimerWS.createAndSendWSMessageMongo(databaseName, username, session); + } } @Override @@ -64,12 +61,7 @@ public class MedicineHandler implements WebSocketHandler { @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { System.out.println("MedicineHandler Connection closed:" + closeStatus.getReason()); - if (heartbeatTask != null) { - heartbeatTask.cancel(true); - } - if (scheduler != null) { - scheduler.shutdown(); - } + stopHeartbeat(session); vitalSignTimerWS.stopTimerTask(session.getId()); } @@ -78,11 +70,31 @@ public class MedicineHandler implements WebSocketHandler { return false; } - private void sendPing(WebSocketSession session) { - try { - session.sendMessage(new PingMessage()); - } catch (IOException e) { - e.printStackTrace(); + private void startHeartbeat(WebSocketSession session) { + if (!timerTaskMap.containsKey(session.getId())) { + ScheduledExecutorService heartbeatExecutor = Executors.newScheduledThreadPool(1); + heartbeatExecutor.scheduleAtFixedRate(() -> { + try { + if (session.isOpen()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("msgType", "heartbeat"); + session.sendMessage(new TextMessage(jsonObject.toJSONString().getBytes())); + } else { + session.close(); + stopHeartbeat(session); + vitalSignTimerWS.stopTimerTask(session.getId()); + } + } catch (Exception e) { + e.printStackTrace(); + stopHeartbeat(session); + } + }, 0, 10, TimeUnit.SECONDS); + timerTaskMap.put(session.getId(), heartbeatExecutor); } } + + private void stopHeartbeat(WebSocketSession session) { + ScheduledExecutorService heartbeatExecutor = timerTaskMap.get(session.getId()); + heartbeatExecutor.shutdownNow(); + } } diff --git a/upms/upms-biz/src/main/java/com/rax/vital/handler/mysql/MedicineHandler.java b/upms/upms-biz/src/main/java/com/rax/vital/handler/mysql/MedicineHandler.java index fc05935..d4e9613 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/handler/mysql/MedicineHandler.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/handler/mysql/MedicineHandler.java @@ -24,8 +24,6 @@ public class MedicineHandler implements WebSocketHandler { @Resource private OAuth2AuthorizationService authorizationService; -// private Map timerTaskMap = new ConcurrentHashMap(); - private Map timerTaskMap = new ConcurrentHashMap(); @Override diff --git a/upms/upms-biz/src/main/java/com/rax/vital/medicine/service/impl/AIMedicineServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/vital/medicine/service/impl/AIMedicineServiceImpl.java index 7bb8f21..3152278 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/medicine/service/impl/AIMedicineServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/medicine/service/impl/AIMedicineServiceImpl.java @@ -46,7 +46,29 @@ public class AIMedicineServiceImpl implements AIMedicineService { Query query = new Query(); query.limit(1); query.with(Sort.by(Sort.Order.desc("Time"))); - List aiMedicines = template.find(query, Map.class, "aimedicinetable"); + List aiMedicines = template.find(query, Map.class, "fktable"); + Map medicine = new HashMap(); + for (Map map : aiMedicines) { + medicine.put("丙泊酚", map.get("rate_1")); + medicine.put("丙泊酚sum", map.get("cumu_1")); + medicine.put("舒芬太尼", map.get("rate_2")); + medicine.put("舒芬太尼sum", map.get("cumu_2")); + medicine.put("瑞芬太尼", map.get("rate_3")); + medicine.put("瑞芬太尼sum", map.get("cumu_3")); + medicine.put("顺阿曲库胺", map.get("rate_4")); + medicine.put("顺阿曲库胺sum", map.get("cumu_4")); + medicine.put("尼卡地平", map.get("rate_5")); + medicine.put("尼卡地平sum", map.get("cumu_5")); + medicine.put("艾司洛尔", map.get("rate_6")); + medicine.put("艾司洛尔sum", map.get("cumu_6")); + medicine.put("麻黄素", map.get("rate_7")); + medicine.put("麻黄素sum", map.get("cumu_7")); + medicine.put("阿托品", map.get("rate_8")); + medicine.put("阿托品sum", map.get("cumu_8")); + medicine.put("Time", map.get("Time")); + } + aiMedicines.remove(0); + aiMedicines.add(medicine); return aiMedicines; } diff --git a/upms/upms-biz/src/main/java/com/rax/vital/timer/VitalSignTimerWS.java b/upms/upms-biz/src/main/java/com/rax/vital/timer/VitalSignTimerWS.java index 7c109be..70b9688 100644 --- a/upms/upms-biz/src/main/java/com/rax/vital/timer/VitalSignTimerWS.java +++ b/upms/upms-biz/src/main/java/com/rax/vital/timer/VitalSignTimerWS.java @@ -115,8 +115,8 @@ public class VitalSignTimerWS { jsonObject.put("vitalSignsList", vitalSignsList); List aiMedicineList = aiMedicineService.getAIMedicine(template); jsonObject.put("aiMedicineList", aiMedicineList); - List docMedicineList = doctorMedicineService.getDocMedicine(template); - jsonObject.put("docMedicineList", docMedicineList); +// List docMedicineList = doctorMedicineService.getDocMedicine(template); +// jsonObject.put("docMedicineList", docMedicineList); List revulsionList = revulsionService.getRevulsionServiceList(template); jsonObject.put("revulsionList", revulsionList); Map flags = flagService.getFlags(template); diff --git a/upms/upms-biz/src/main/resources/application.yml b/upms/upms-biz/src/main/resources/application.yml index 6cb7274..0c2205f 100644 --- a/upms/upms-biz/src/main/resources/application.yml +++ b/upms/upms-biz/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod + active: dev application: name: @project.artifactId@ # 定时任务属性配置 @@ -137,7 +137,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root - url: jdbc:mysql://192.168.65.130:3306/rax_backend?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&nullCatalogMeansCurrent=true + url: jdbc:mysql://192.168.65.130:3306/rax_backend2?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&nullCatalogMeansCurrent=true server: port: 9999