소스 검색

满意度调查要看患者基本信息

lighter 1 년 전
부모
커밋
389d5f3afe

+ 12 - 0
src/main/java/thyyxxk/webserver/controller/outpatient/interactive/clinicsatisfied/ClinicSatisfiedController.java

@@ -2,13 +2,16 @@ package thyyxxk.webserver.controller.outpatient.interactive.clinicsatisfied;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.inpatient.nursemodule.response.PatientBriefInfo;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.ClinicSatisfiedInquiry;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.ModifyStatus;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.response.AnalyzeResult;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.response.SatisfiedBody;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.response.SatisfiedResponse;
 import thyyxxk.webserver.service.outpatient.interactive.clinicsatisfied.ClinicSatisfiedService;
+import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.List;
 
@@ -41,4 +44,13 @@ public class ClinicSatisfiedController {
     public ResultVo<String> updateAssessmentStatus(@RequestBody ModifyStatus modifyStatus) {
         return service.updateAssessmentStatus(modifyStatus);
     }
+
+    @GetMapping("/getPatientBriefInfo")
+    public ResultVo<PatientBriefInfo> getPatientBriefInfo(@RequestParam("patNo") String patNo) {
+        PatientBriefInfo info = service.getPatientBriefInfo(patNo);
+        if (null == info) {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有找到患者的基础数据。");
+        }
+        return ResultVoUtil.success(info);
+    }
 }

+ 9 - 0
src/main/java/thyyxxk/webserver/dao/his/outpatient/interactive/ClinicSatisfiedDao.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
+import thyyxxk.webserver.entity.inpatient.nursemodule.response.PatientBriefInfo;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.ModifyStatus;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.response.BriefSuggestion;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.response.SatisfiedBody;
@@ -54,4 +55,12 @@ public interface ClinicSatisfiedDao {
             "from t_inpatient_satisfied_assessment a ${ew.customSqlSegment} " +
             "and suggestion is not null and LEN(suggestion)>5 order by id")
     List<BriefSuggestion> selectInpatientSuggestions(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
+
+    @Select("select rtrim(name) as patName,isnull(home_tel,employer_tel) as phoneNo " +
+            "from a_patient_mi where inpatient_no=#{patNo}")
+    PatientBriefInfo selectInpatientBriefInfo(String patNo);
+
+    @Select("select rtrim(name) as patName,rtrim(phone_no) as phoneNo " +
+            "from mz_patient_mi where patient_id=#{patNo}")
+    PatientBriefInfo selectOutpatientBriefInfo(String patNo);
 }

+ 1 - 0
src/main/java/thyyxxk/webserver/entity/inpatient/nursemodule/response/PatientBriefInfo.java

@@ -12,4 +12,5 @@ public class PatientBriefInfo {
     private Integer ageDays;
     private String ageLabel;
     private String bedNo;
+    private String phoneNo;
 }

+ 10 - 0
src/main/java/thyyxxk/webserver/service/outpatient/interactive/clinicsatisfied/ClinicSatisfiedService.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.dao.his.outpatient.interactive.ClinicSatisfiedDao;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.inpatient.nursemodule.response.PatientBriefInfo;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.ClinicSatisfiedInquiry;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.ModifyStatus;
 import thyyxxk.webserver.entity.outpatient.interactive.clinicsatisfied.request.VisitType;
@@ -195,6 +196,15 @@ public class ClinicSatisfiedService {
         return builder + input;
     }
 
+    public PatientBriefInfo getPatientBriefInfo(String patNo) {
+        PatientBriefInfo info = patNo.contains("-") ?
+                dao.selectOutpatientBriefInfo(patNo) : dao.selectInpatientBriefInfo(patNo);
+        if (null != info) {
+            info.setPatNo(patNo);
+        }
+        return info;
+    }
+
     public ResultVo<String> updateAssessmentStatus(ModifyStatus modifyStatus) {
         String table = modifyStatus.getVisitType() == VisitType.INPATIENT ?
                 "t_inpatient_satisfied_assessment" : "t_clinic_satisfied_assessment";