|
@@ -20,6 +20,7 @@ import thyyxxk.webserver.entity.casefrontsheet.state.State;
|
|
|
import thyyxxk.webserver.entity.dictionary.CodeName;
|
|
|
import thyyxxk.webserver.entity.socketmessage.ApiMessageBody;
|
|
|
import thyyxxk.webserver.entity.socketmessage.SendUserList;
|
|
|
+import thyyxxk.webserver.entity.socketmessage.SocketMessage;
|
|
|
import thyyxxk.webserver.service.externalhttp.WebSocketService;
|
|
|
import thyyxxk.webserver.service.outpatient.wxapi.SendWxInfoService;
|
|
|
import thyyxxk.webserver.service.redislike.RedisLikeService;
|
|
@@ -28,10 +29,8 @@ import thyyxxk.webserver.utils.SnowFlakeId;
|
|
|
import thyyxxk.webserver.utils.StringUtil;
|
|
|
import thyyxxk.webserver.utils.TokenUtil;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -237,21 +236,47 @@ public class FrontsheetAuditService {
|
|
|
}
|
|
|
dao.insertLeaderAudit(request);
|
|
|
if (request.getAuditState() == AuditState.REJECTED) {
|
|
|
+ String patId = request.getPatNo() + "-" + request.getTimes();
|
|
|
+ String message = "患者 " + request.getPatName() + "(" + patId + ")编码组长审核未通过。";
|
|
|
+
|
|
|
+ SocketMessage socketMessage = new SocketMessage();
|
|
|
+ socketMessage.setId(SnowFlakeId.instance().nextId());
|
|
|
+ socketMessage.setLevel(0);
|
|
|
+ socketMessage.setSender(auditCode);
|
|
|
+ socketMessage.setTitle("编码组长审核不通过");
|
|
|
+ socketMessage.setContent(message);
|
|
|
+ socketMessage.setPatId(patId);
|
|
|
+ dao.insertNewMessage(socketMessage);
|
|
|
+
|
|
|
JSONObject messageWrapper = new JSONObject();
|
|
|
messageWrapper.put("name", "systemNotification");
|
|
|
JSONObject messageBody = new JSONObject();
|
|
|
messageBody.put("title", "提示");
|
|
|
- String c = "患者 " + request.getPatName() + "(" + request.getPatNo() +
|
|
|
- "-" + request.getTimes() + ")";
|
|
|
- messageBody.put("message", c + "编码组长审核未通过。");
|
|
|
+ messageBody.put("message", message);
|
|
|
messageWrapper.put("message", messageBody);
|
|
|
ApiMessageBody body = new ApiMessageBody();
|
|
|
body.setMessageContent(messageWrapper.toJSONString());
|
|
|
String[] coder = request.getCoderCode().split(",");
|
|
|
- for (String userCode : coder) {
|
|
|
+
|
|
|
+ List<SocketMessage> socketMessageList = new ArrayList<>();
|
|
|
+ for (int i = 0; i < coder.length; i++) {
|
|
|
+ String userCode = coder[i];
|
|
|
+ SocketMessage consumerMessage = new SocketMessage();
|
|
|
+ consumerMessage.setMsgId(socketMessage.getId());
|
|
|
+ consumerMessage.setSender(auditCode);
|
|
|
+ consumerMessage.setReceiver(userCode);
|
|
|
+ socketMessageList.add(consumerMessage);
|
|
|
body.setUserCode(userCode);
|
|
|
socketService.sendMessageByUserCode(body);
|
|
|
+ if (i != coder.length - 1) {
|
|
|
+ try {
|
|
|
+ TimeUnit.SECONDS.sleep(1);
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ dao.insertMessageConsumer(socketMessageList);
|
|
|
}
|
|
|
return request.getId();
|
|
|
}
|