| 
					
				 | 
			
			
				@@ -6,8 +6,10 @@ import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.serializer.SerializerFeature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.dynamic.datasource.annotation.DS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RequestParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.client.RestTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.config.exception.ExceptionEnum; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17,6 +19,7 @@ import thyyxxk.webserver.dao.his.zhuyuanyisheng.EmrPatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.ResultVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.dictionary.CodeName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.drg.AuxiliaryFillingOfDiagnosis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.entity.zhuyuanyisheng.emr.DischargedEmrModifyApply; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.emr.EmrDataElement; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.emr.EmrDataExtract; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import thyyxxk.webserver.entity.zhuyuanyisheng.emr.EmrPatientData; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -438,4 +441,101 @@ public class EmrServer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询出院患者的申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param flag 1 只查询自己的 2 查询审核的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<List<DischargedEmrModifyApply>> getDisReqEmr(Integer flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QueryWrapper<?> qw = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (flag == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qw.eq("req_id", TokenUtil.getTokenUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (flag == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            qw.eq("req_status", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qw.ge("edit_date", DateUtil.formatDatetime(new Date(), DateUtil.DATE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.success(dao.getDisReqEmr(qw)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 申请出院患者修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param param 参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<String> saveDisEmrReq(DischargedEmrModifyApply param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        param.setReqId(TokenUtil.getTokenUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("申请出院患者修改病历:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int num = dao.deleteRequest(param.getPatNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dao.insertApplicationEmrDis(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (num > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "修改原申请成功。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "申请成功。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 删除申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param patNo 住院号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<String> deleteDisEmrDis(String patNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dao.deleteRequest(patNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 通过申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param patNo 住院号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<String> adoptEmrDisReq(String patNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int num = dao.adoptEmrDisReq(patNo, null, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (num > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,原申请可能已经被删除了。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 拒绝出院患者申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param patNo       住院号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param reviewNotes 审核信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<String> refuseEmrDisReq(String patNo, String reviewNotes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int num = dao.adoptEmrDisReq(patNo, reviewNotes, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (num > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,原申请可能已经被删除了。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询出院患者是否已经通过了编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param patNo 住院号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return Boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<Boolean> isDisReqEdit(String patNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        QueryWrapper<?> qw = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qw.eq("pat_no", patNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qw.eq("req_status", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qw.ge("edit_date", DateUtil.formatDatetime(new Date(), DateUtil.DATE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<DischargedEmrModifyApply> list = dao.getDisReqEmr(qw); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ListUtil.isBlank(list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |