소스 검색

病案质控驳回时发送企业微信消息给医生

lighter 1 년 전
부모
커밋
63f4deb2d8
1개의 변경된 파일12개의 추가작업 그리고 3개의 파일을 삭제
  1. 12 3
      src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/CaseFrontSheetMainService.java

+ 12 - 3
src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/CaseFrontSheetMainService.java

@@ -36,6 +36,7 @@ import thyyxxk.webserver.entity.socketmessage.ApiMessageBody;
 import thyyxxk.webserver.entity.socketmessage.SendUserList;
 import thyyxxk.webserver.service.externalhttp.PowersiSrvc;
 import thyyxxk.webserver.service.externalhttp.WebSocketService;
+import thyyxxk.webserver.service.outpatient.wxapi.SendWxInfoService;
 import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrServer;
 import thyyxxk.webserver.utils.*;
@@ -58,9 +59,10 @@ public class CaseFrontSheetMainService {
     private final EmrServer emrService;
     private final RedisLikeService redis;
     private final WebSocketService socketService;
+    private final SendWxInfoService sendWxInfoService;
 
     public CaseFrontSheetMainService(SheetCreatedDao createdDao, CaseFrontSheetDao dao, BasSelectOverviewDao basDao,
-                                     LoginDao userDao, QualityVerificationDao qualityVerificationDao, PowersiSrvc srvc, EmrServer emrService, RedisLikeService redis, WebSocketService socketService) {
+                                     LoginDao userDao, QualityVerificationDao qualityVerificationDao, PowersiSrvc srvc, EmrServer emrService, RedisLikeService redis, WebSocketService socketService, SendWxInfoService sendWxInfoService) {
         this.dao = dao;
         this.createdDao = createdDao;
         this.basDao = basDao;
@@ -70,6 +72,7 @@ public class CaseFrontSheetMainService {
         this.emrService = emrService;
         this.redis = redis;
         this.socketService = socketService;
+        this.sendWxInfoService = sendWxInfoService;
         if (allDictionary == null) {
             allDictionary = new ConcurrentHashMap<>();
         }
@@ -1219,12 +1222,18 @@ public class CaseFrontSheetMainService {
             String message;
             if (request.getAuditState() == AuditState.APPROVED) {
                 insertSheetAfterPrint(request.getSheet());
-                message = StrUtil.format("【患者:{}-{}】病案首页质控审核已通过。");
+                message = StrUtil.format("【患者:{}-{}】病案首页质控审核已通过。",
+                        request.getPatNo(), request.getTimes());
             } else {
-                message = StrUtil.format("【患者:{}-{}】病案首页质控审核已驳回,请前往【审核记录】查看。");
+                message = StrUtil.format("【患者:{}-{}】病案首页质控审核已驳回。原因:{}",
+                        request.getPatNo(), request.getTimes(), request.getAuditRemark());
             }
             ApiMessageBody apiMessageBody = new ApiMessageBody(request.getDoctorCode(), message);
             socketService.sendMessageByUserCode(apiMessageBody);
+            String codeRs = redis.getCodeRs(request.getDoctorCode());
+            if (StringUtil.notBlank(codeRs)) {
+                sendWxInfoService.sendCorpWxMsg(codeRs, message);
+            }
             return "OK";
         }
         return "数据库错误,请联系管理员。";