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