|  | @@ -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);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |