Browse Source

优化住院信息查找

lighter 2 years ago
parent
commit
67818d2f07

+ 3 - 0
src/main/java/thyyxxk/wxservice_server/dao/InpatientDao.java

@@ -35,6 +35,9 @@ public interface InpatientDao {
 
     @Select("select rtrim(inpatient_no) from a_patient_mi where social_no=" +
             "(select social_no from mz_patient_mi where patient_id=#{patientId})")
+    String selectInpatientNoBySocialNo(@Param("patientId") String patientId);
+
+    @Select("select rtrim(inpatient_no) from a_patient_mi where mz_no=#{patientId}")
     String selectInpatientNoByPatientId(@Param("patientId") String patientId);
 
     @Update("execute zy_receive_drug #{inpatientNo} , #{admissTimes} , 1 , '0'")

+ 8 - 2
src/main/java/thyyxxk/wxservice_server/service/InpatientService.java

@@ -32,7 +32,10 @@ public class InpatientService {
     public ResultVo<InpatientInfo> getInpatientInfo(String patientId) {
         String inpatientNo = dao.selectInpatientNoByPatientId(patientId);
         if (StringUtil.isBlank(inpatientNo)) {
-            return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到此卡号对应的住院号。");
+            inpatientNo = dao.selectInpatientNoBySocialNo(patientId);
+            if (StringUtil.isBlank(inpatientNo)) {
+                return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到此卡号对应的住院号。");
+            }
         }
         InpatientInfo info = dao.getInpatientInfo(inpatientNo);
         if (null == info) {
@@ -58,7 +61,10 @@ public class InpatientService {
     public ResultVo<Map<String, Object>> getPrepaidHistory(String patientId) {
         String inpatientNo = dao.selectInpatientNoByPatientId(patientId);
         if (StringUtil.isBlank(inpatientNo)) {
-            return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到此卡号对应的住院号。");
+            inpatientNo = dao.selectInpatientNoBySocialNo(patientId);
+            if (StringUtil.isBlank(inpatientNo)) {
+                return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有找到此卡号对应的住院号。");
+            }
         }
         InpatientInfo info = dao.getInpatientInfo(inpatientNo);
         if (null == info) {