| 
					
				 | 
			
			
				@@ -1,36 +1,35 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package thyyxxk.webserver.service.zhuyuanyisheng; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import cn.hutool.extra.spring.SpringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.dynamic.datasource.annotation.DS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.baomidou.mybatisplus.core.metadata.OrderItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.aspectj.lang.annotation.Pointcut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.config.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.config.exception.ExceptionEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.constants.Capacity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.constants.Message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.dao.his.zhuyuanyisheng.CheckTheCallbackDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.dao.his.zhuyuanyisheng.JianYanJianChaDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.dao.his.zhuyuanyisheng.YiZhuLuRuDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.ResultVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.datamodify.GetDropdownBox; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.login.UserInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.entity.socketmessage.ApiMessageBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.jianyanjiancha.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.query.ChaXunJianChaHeJianYan; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.PatientTemp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYiZhu; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.service.PublicServer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.service.externalhttp.WebSocketService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.service.redislike.RedisLikeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.utils.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.lang.reflect.Field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.nio.channels.NonWritableChannelException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.security.cert.TrustAnchor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,12 +48,16 @@ public class JianYanJianChaShenQingService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final PublicServer publicServer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final YiZhuLuRuDao yiZhuLuRuDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final RedisLikeService realtimeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final CheckTheCallbackDao checkTheCallbackDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final WebSocketService webSocketService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public JianYanJianChaShenQingService(JianYanJianChaDao dao, PublicServer publicServer, YiZhuLuRuDao yiZhuLuRuDao, RedisLikeService realtimeService) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public JianYanJianChaShenQingService(JianYanJianChaDao dao, PublicServer publicServer, YiZhuLuRuDao yiZhuLuRuDao, RedisLikeService realtimeService, CheckTheCallbackDao checkTheCallbackDao, WebSocketService webSocketService) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.dao = dao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.publicServer = publicServer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.yiZhuLuRuDao = yiZhuLuRuDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.realtimeService = realtimeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.checkTheCallbackDao = checkTheCallbackDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.webSocketService = webSocketService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*-------------------------------------------------------------- 下面是检查的逻辑 -----------------------------------------------------------------------------------------------------*/ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -688,6 +691,42 @@ public class JianYanJianChaShenQingService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResultVoUtil.success(dao.getAncillaryInformation(patNo, times)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<String> checkTheCallbacks(CheckTheCallbacks param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QueryWrapper<CheckTheCallbacks> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq("req_no", param.getReqNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq("patient_from", param.getPatientFrom()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean exist = checkTheCallbackDao.selectCount(queryWrapper) > 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (exist) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                checkTheCallbackDao.update(param, queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                checkTheCallbackDao.insert(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "数据库执行错误:" + e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        final CheckTheCallbacks temp = new CheckTheCallbacks() {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setPatientName(param.getPatientName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setReportTime(param.getReportTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setReqNo(param.getReqNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setReqName(param.getReqName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setCheckDoctorName(param.getCheckDoctorName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        JSONObject js = new JSONObject() {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            put("data", temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            put("isAdd", !exist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SocketMsg.sendMessageByUserCode(param.getReqDoctor().trim(), Message.CHECK_THE_CALLBACKS, js); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.success(exist ? "更新成功。" : "回传成功。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |